OSDN Git Service

versoin1.1.9 (#594) master v1.1.9
authoryzb <335357057@qq.com>
Thu, 19 Aug 2021 02:36:56 +0000 (10:36 +0800)
committerGitHub <noreply@github.com>
Thu, 19 Aug 2021 02:36:56 +0000 (10:36 +0800)
Co-authored-by: yzb@example.cn <yzb@example.cn>
520 files changed:
.travis.yml
Makefile
README.md
accesstoken/accesstoken.go
accesstoken/accesstoken_test.go
account/accounts.go
account/builder.go
account/builder_test.go
account/indexer.go
account/store.go
account/utxo_keeper.go
account/utxo_keeper_test.go
api/accounts.go
api/api.go
api/api_test.go
api/bbft.go
api/block_retrieve.go
api/compile.go
api/errors.go
api/hsm.go
api/message.go
api/miner.go
api/nodeinfo.go
api/program.go
api/query.go
api/receivers.go
api/request.go
api/transact.go
api/wallet.go
api/websocket.go
application/mov/common/type.go
application/mov/common/type_test.go [new file with mode: 0644]
application/mov/common/util.go [new file with mode: 0644]
application/mov/contract/contract.go [new file with mode: 0644]
application/mov/database/mov_iterator.go [new file with mode: 0644]
application/mov/database/mov_iterator_test.go [new file with mode: 0644]
application/mov/database/mov_store.go
application/mov/database/mov_store_test.go
application/mov/match/engine.go [new file with mode: 0644]
application/mov/match/engine_test.go [new file with mode: 0644]
application/mov/match/fee_strategy.go [new file with mode: 0644]
application/mov/match/order_book.go [new file with mode: 0644]
application/mov/match/order_book_test.go [new file with mode: 0644]
application/mov/match_collector.go [new file with mode: 0644]
application/mov/mock/mock.go [new file with mode: 0644]
application/mov/mock/mock_mov_store.go [new file with mode: 0644]
application/mov/mov_core.go [new file with mode: 0644]
application/mov/mov_core_test.go [new file with mode: 0644]
asset/annotate.go
asset/asset.go
blockchain/pseudohsm/image.go
blockchain/pseudohsm/image_test.go
blockchain/pseudohsm/key.go
blockchain/pseudohsm/keycache.go
blockchain/pseudohsm/keycache_test.go
blockchain/pseudohsm/keystore_passphrase.go
blockchain/pseudohsm/keystore_passphrase_test.go
blockchain/pseudohsm/pseudohsm.go
blockchain/pseudohsm/pseudohsm_test.go
blockchain/query/annotated.go
blockchain/rpc/rpc.go
blockchain/rpc/rpc_test.go
blockchain/signers/signers.go
blockchain/txbuilder/actions.go
blockchain/txbuilder/builder.go
blockchain/txbuilder/constraint.go
blockchain/txbuilder/data_witness.go
blockchain/txbuilder/estimate.go
blockchain/txbuilder/finalize.go
blockchain/txbuilder/rawtxsig_witness.go
blockchain/txbuilder/signature_program.go
blockchain/txbuilder/signature_witness.go
blockchain/txbuilder/signing_instruction.go
blockchain/txbuilder/txbuilder.go
blockchain/txbuilder/txbuilder_test.go
blockchain/txbuilder/types.go
blockchain/txbuilder/witness.go
blockchain/txbuilder/witness_test.go
cmd/consensusreward/main.go
cmd/fedd/main.go
cmd/precognitive/main.go
cmd/utxomerge/main.go
cmd/vaporcli/commands/accesstoken.go
cmd/vaporcli/commands/account.go
cmd/vaporcli/commands/asset.go
cmd/vaporcli/commands/block.go
cmd/vaporcli/commands/key.go
cmd/vaporcli/commands/mining.go
cmd/vaporcli/commands/net.go
cmd/vaporcli/commands/program.go
cmd/vaporcli/commands/template.go
cmd/vaporcli/commands/transaction.go
cmd/vaporcli/commands/txfeed.go
cmd/vaporcli/commands/util.go
cmd/vaporcli/commands/vaporcli.go
cmd/vaporcli/commands/version.go
cmd/vaporcli/commands/wallet.go
cmd/vaporcli/main.go
cmd/vapord/commands/init.go
cmd/vapord/commands/rollback_node.go [new file with mode: 0644]
cmd/vapord/commands/root.go
cmd/vapord/commands/run_node.go
cmd/vapord/commands/version.go
cmd/vapord/main.go
cmd/votereward/main.go
common/address.go
common/address_test.go
common/arithmetic/calculate.go
common/bytes.go
common/crossin_asset.go [new file with mode: 0644]
common/sort.go [deleted file]
config/config.go
config/federation_test.go
config/genesis.go
config/toml.go
consensus/general.go
consensus/segwit/segwit.go
crypto/crypto.go
crypto/csp/csp.go
crypto/ed25519/chainkd/chainkd.go
crypto/ed25519/chainkd/expanded_key.go
crypto/ed25519/chainkd/expanded_key_test.go
crypto/ed25519/chainkd/util.go
crypto/ed25519/ecmath/point.go
crypto/ed25519/ecmath/scalar.go
crypto/ed25519/ed25519.go
crypto/ed25519/ed25519_test.go
dashboard/dashboard/dashboard.go
database/account_store.go
database/account_store_test.go
database/cache.go
database/cache_test.go
database/store.go
database/store_test.go
database/utxo_view.go
database/utxo_view_test.go
database/wallet_store.go
database/wallet_store_test.go
docker/fed
docker/vapor
docker/vapord/vapord.Dockerfile
docs/federation/sql_dump/federation_shema.sql
docs/release-notes/release-notes-1.0.4.md [new file with mode: 0644]
docs/release-notes/release-notes-1.1.0.md [new file with mode: 0644]
docs/release-notes/release-notes-1.1.2.md [new file with mode: 0644]
docs/release-notes/release-notes-1.1.4.md [new file with mode: 0644]
encoding/blockchain/blockchain.go
equity/compiler/ast.go
equity/compiler/cmd/equitycmd/equitycmd.go
equity/compiler/compile.go
equity/compiler/compile_test.go
equity/equity/main.go
equity/equity/util/instance.go
equity/equity/util/shift.go
event/event.go
log/log.go
math/algorithm.go [new file with mode: 0644]
net/http/authn/authn.go
net/http/authn/authn_test.go
net/http/httperror/httperror.go
net/http/httperror/httperror_test.go
net/http/httpjson/handler_test.go
net/http/httpjson/io.go
net/websocket/wsclient.go
net/websocket/wsnotificationmaneger.go
netsync/chainmgr/block_keeper.go
netsync/chainmgr/block_keeper_test.go
netsync/chainmgr/block_process.go
netsync/chainmgr/block_process_test.go
netsync/chainmgr/fast_sync.go
netsync/chainmgr/fast_sync_test.go
netsync/chainmgr/handle.go
netsync/chainmgr/msg_fetcher.go
netsync/chainmgr/protocol_reactor.go
netsync/chainmgr/storage.go
netsync/chainmgr/storage_test.go
netsync/chainmgr/tool_test.go
netsync/chainmgr/tx_keeper.go
netsync/chainmgr/tx_keeper_test.go
netsync/consensusmgr/block_fetcher.go
netsync/consensusmgr/block_fetcher_test.go
netsync/consensusmgr/broadcast_msg.go
netsync/consensusmgr/consensus_msg.go
netsync/consensusmgr/consensus_msg_test.go
netsync/consensusmgr/handle.go
netsync/consensusmgr/handle_test.go
netsync/consensusmgr/reactor.go
netsync/messages/chain_msg.go
netsync/messages/chain_msg_test.go
netsync/peers/peer.go
netsync/peers/peer_test.go
netsync/sync_manager.go
node/node.go
node/node_test.go
p2p/base_reactor.go
p2p/connection/connection.go
p2p/connection/secret_connection.go
p2p/connection/secret_connection_test.go
p2p/discover/dht/database.go
p2p/discover/dht/dns_seeds.go
p2p/discover/dht/dns_seeds_test.go
p2p/discover/dht/net.go
p2p/discover/dht/net_test.go
p2p/discover/dht/node.go
p2p/discover/dht/table.go
p2p/discover/dht/ticket.go
p2p/discover/dht/udp.go
p2p/discover/dht/udp_test.go
p2p/discover/mdns/lan_discover.go
p2p/listener.go
p2p/node_info.go
p2p/node_info_test.go
p2p/peer.go
p2p/peer_test.go
p2p/security/blacklist.go
p2p/security/security.go
p2p/signlib/chainkd.go
p2p/switch.go
p2p/switch_test.go
p2p/test_util.go
proposal/blockproposer/blockproposer.go
proposal/proposal.go
proposal/proposal_test.go
proposal/sort.go
protocol/asset_filter.go [new file with mode: 0644]
protocol/asset_filter_test.go [new file with mode: 0644]
protocol/bbft.go
protocol/bc/asset.go
protocol/bc/bc.pb.go
protocol/bc/bc.proto
protocol/bc/crosschain_input.go
protocol/bc/entry.go
protocol/bc/entry_test.go
protocol/bc/tx.go
protocol/bc/types/block.go
protocol/bc/types/block_commitment.go
protocol/bc/types/block_commitment_test.go
protocol/bc/types/block_header.go
protocol/bc/types/block_header_test.go
protocol/bc/types/block_witness.go
protocol/bc/types/block_witness_test.go
protocol/bc/types/crosschain_input.go
protocol/bc/types/crosschain_output.go
protocol/bc/types/intrachain_output.go
protocol/bc/types/map.go
protocol/bc/types/map_test.go
protocol/bc/types/merkle.go
protocol/bc/types/merkle_test.go
protocol/bc/types/output_commitment.go
protocol/bc/types/output_commitment_test.go
protocol/bc/types/spend.go
protocol/bc/types/spend_commitment.go
protocol/bc/types/spend_commitment_test.go
protocol/bc/types/spend_test.go
protocol/bc/types/transaction.go
protocol/bc/types/transaction_test.go
protocol/bc/types/txinput.go
protocol/bc/types/txinput_test.go
protocol/bc/types/txoutput.go
protocol/bc/types/txoutput_test.go
protocol/bc/types/veto_input.go
protocol/bc/types/vote_output.go
protocol/block.go
protocol/block_test.go
protocol/consensus_node_manager.go
protocol/consensus_node_manager_test.go
protocol/orphan_manage.go
protocol/orphan_manage_test.go
protocol/protocol.go
protocol/state/consensus_result.go
protocol/state/consensus_result_test.go
protocol/state/utxo_view.go
protocol/state/utxo_view_test.go
protocol/store.go
protocol/tx.go
protocol/txpool.go
protocol/txpool_test.go
protocol/validation/block.go
protocol/validation/block_test.go
protocol/validation/test/tx_ugly_test.go
protocol/validation/tx.go
protocol/validation/tx_scene_test.go
protocol/validation/tx_test.go
protocol/validation/vmcontext.go
protocol/validation/vmcontext_test.go
protocol/vm/assemble.go
protocol/vm/assemble_test.go
protocol/vm/bitwise_test.go
protocol/vm/control_test.go
protocol/vm/crypto.go
protocol/vm/crypto_test.go
protocol/vm/introspection_test.go
protocol/vm/numeric.go
protocol/vm/numeric_test.go
protocol/vm/ops.go
protocol/vm/ops_test.go
protocol/vm/pushdata_test.go
protocol/vm/splice.go
protocol/vm/splice_test.go
protocol/vm/stack.go
protocol/vm/stack_test.go
protocol/vm/vm.go
protocol/vm/vm_test.go
protocol/vm/vmutil/builder.go
protocol/vm/vmutil/builder_test.go
protocol/vm/vmutil/script.go
protocol/vm/vmutil/script_test.go
test/accounts_test.go
test/bench_blockchain_test.go
test/block_test.go
test/block_test_util.go
test/builder_test.go
test/chain_test_util.go
test/integration/run_test.go
test/integration/standard_transaction_test.go
test/mock/chain.go
test/mock/crosschain_tx.go
test/mock/mempool.go
test/performance/mining_test.go
test/performance/rpc_test.go
test/protocol_test.go
test/protocol_test_util.go
test/rollback_test.go [new file with mode: 0644]
test/subprotocol_test.go [new file with mode: 0644]
test/tx_test_util.go
test/util.go
test/utxo_view/utxo_view_test.go
test/utxo_view/utxo_view_test_util.go
test/wallet_test.go
test/wallet_test_util.go
testutil/hex.go
testutil/keys.go
toolbar/apinode/account.go
toolbar/apinode/block.go
toolbar/apinode/node.go
toolbar/apinode/node_test.go
toolbar/apinode/query.go
toolbar/apinode/transaction.go
toolbar/common/address.go
toolbar/common/consensus.go
toolbar/common/db.go
toolbar/consensusreward/consensus_reward.go
toolbar/federation/api/handler.go
toolbar/federation/api/server.go
toolbar/federation/common/util.go
toolbar/federation/config/config.go
toolbar/federation/database/asset_store.go
toolbar/federation/database/orm/asset.go
toolbar/federation/database/orm/chain.go
toolbar/federation/database/orm/cross_transaction.go
toolbar/federation/database/orm/cross_transaction_req.go
toolbar/federation/service/node.go
toolbar/federation/synchron/errors.go
toolbar/federation/synchron/mainchain_keeper.go
toolbar/federation/synchron/sidechain_keeper.go
toolbar/measure/README.md [new file with mode: 0644]
toolbar/measure/method.go [new file with mode: 0644]
toolbar/measure/timer.go [new file with mode: 0644]
toolbar/mergeutxo/merger_utxo.go
toolbar/osssync/Dockerfile [new file with mode: 0644]
toolbar/osssync/README.md [new file with mode: 0644]
toolbar/osssync/cmd/main.go [new file with mode: 0644]
toolbar/osssync/download/download.go [new file with mode: 0644]
toolbar/osssync/download/oss.go [new file with mode: 0644]
toolbar/osssync/upload/config.go [new file with mode: 0644]
toolbar/osssync/upload/oss.go [new file with mode: 0644]
toolbar/osssync/upload/upload.go [new file with mode: 0644]
toolbar/osssync/util/file.go [new file with mode: 0644]
toolbar/osssync/util/gzip.go [new file with mode: 0644]
toolbar/osssync/util/infofile.go [new file with mode: 0644]
toolbar/osssync/util/json.go [new file with mode: 0644]
toolbar/precognitive/api/handler.go
toolbar/precognitive/api/server.go
toolbar/precognitive/config/config.go
toolbar/precognitive/database/orm/node.go
toolbar/precognitive/monitor/connection.go
toolbar/precognitive/monitor/discover.go
toolbar/precognitive/monitor/mock.go
toolbar/precognitive/monitor/monitor.go
toolbar/precognitive/monitor/stats.go
toolbar/server/display.go
toolbar/server/errors.go
toolbar/server/handle.go
toolbar/server/pagination.go
toolbar/vote_reward/config/config.go
toolbar/vote_reward/settlementvotereward/settlementreward.go
toolbar/vote_reward/synchron/block_keeper.go
util/util.go
vendor/github.com/aliyun/aliyun-oss-go-sdk/.travis.yml [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/CHANGELOG.md [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/LICENSE [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/README-CN.md [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/README.md [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/auth.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket_credential_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/client.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/client_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conf.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conn.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conn_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/const.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crc.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crc_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr_cipher.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr_cipher_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/cipher.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/cipher_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_bucket.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_bucket_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_const.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_download.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multicopy.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multipart.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multipart_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_type.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_upload.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_alikms_cipher.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_alikms_cipher_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_rsa_cipher.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_rsa_cipher_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/download.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/download_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/error.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/error_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/limit_reader_1_6.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/limit_reader_1_7.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/livechannel.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/livechannel_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/mime.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/model.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multicopy.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multicopy_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multipart.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multipart_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/option.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/option_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/progress.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/progress_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/redirect_1_6.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/redirect_1_7.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_csv_objcet_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_json_object_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object_read_file_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object_type.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/transport_1_6.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/transport_1_7.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/type.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/type_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/upload.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/upload_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/utils.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/utils_test.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/BingWallpaper-2015-11-07.jpg [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/The Go Programming Language.html [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/append_object.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/archive.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_acl.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_cors.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_encryption.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_inventory.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_lifecycle.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_logging.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_policy.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_qosInfo.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_referer.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_requestpayment.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_website.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/cname_sample.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/comm.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/config.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/copy_object.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/create_bucket.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/delete_object.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/get_object.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/list_buckets.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/list_objects.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/livechannel.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/new_bucket.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_acl.go [new file with mode: 0755]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_meta.go [new file with mode: 0755]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_tagging.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/put_object.go [new file with mode: 0755]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_data.csv [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_json.json [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_json_lines.json [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/select_object.go [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sign_url.go [new file with mode: 0755]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-cpp-rsa.jpg [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-python-rsa.jpg [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-src.jpg [new file with mode: 0644]
vendor/github.com/aliyun/aliyun-oss-go-sdk/sample_crypto/sample_crypto.go [new file with mode: 0644]
vendor/github.com/miekg/dns/dnssec_keyscan.go
vendor/github.com/miekg/dns/dnssec_privkey.go
vendor/golang.org/x/time/AUTHORS [new file with mode: 0644]
vendor/golang.org/x/time/CONTRIBUTING.md [new file with mode: 0644]
vendor/golang.org/x/time/CONTRIBUTORS [new file with mode: 0644]
vendor/golang.org/x/time/LICENSE [new file with mode: 0644]
vendor/golang.org/x/time/PATENTS [new file with mode: 0644]
vendor/golang.org/x/time/README.md [new file with mode: 0644]
vendor/golang.org/x/time/go.mod [new file with mode: 0644]
vendor/golang.org/x/time/rate/rate.go [new file with mode: 0644]
vendor/golang.org/x/time/rate/rate_test.go [new file with mode: 0644]
version/version.go
wallet/annotated.go
wallet/indexer.go
wallet/mnemonic/mnemonic.go
wallet/recovery.go
wallet/recovery_test.go
wallet/store.go
wallet/unconfirmed.go
wallet/unconfirmed_test.go
wallet/utxo.go
wallet/utxo_test.go
wallet/wallet.go
wallet/wallet_test.go

index 02a340a..436a5c6 100644 (file)
@@ -1,5 +1,5 @@
 language: go
-go_import_path: github.com/vapor
+go_import_path: github.com/bytom/vapor
 dist: trusty
 sudo: false
 
@@ -11,7 +11,7 @@ branches:
     only:
         - master
         - dev
-        - v0.1
+        - mov
 
 script:
     - make ci
index 9575331..305051f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -11,7 +11,7 @@ endif
 
 PACKAGES    := $(shell go list ./... | grep -v '/vendor/' | grep -v '/crypto/ed25519/chainkd' | grep -v '/mining/tensority')
 
-BUILD_FLAGS := -ldflags "-X github.com/vapor/version.GitCommit=`git rev-parse HEAD`"
+BUILD_FLAGS := -ldflags "-X github.com/bytom/vapor/version.GitCommit=`git rev-parse HEAD`"
 
 
 VAPORD_BINARY32 := vapord-$(GOOS)_386
index 55fd282..3e8b165 100644 (file)
--- a/README.md
+++ b/README.md
@@ -12,7 +12,8 @@ Vapor
 ## Get source code
 
 ```
-$ git clone https://github.com/Bytom/vapor.git $GOPATH/src/github.com/vapor
+$ cd $GOPATH/src/github.com/bytom
+$ git clone https://github.com/Bytom/vapor.git
 ```
 
 Then, you have two ways to get vapor executable file:
@@ -23,7 +24,7 @@ Then, you have two ways to get vapor executable file:
 ## Installation
 
 ```
-$ cd $GOPATH/src/github.com/vapor
+$ cd $GOPATH/src/github.com/bytom/vapor
 $ make install
 ```
 
@@ -51,7 +52,7 @@ $ vapord node --home <vapor-data-path>
 ### Build the image
 
 ```
-$ cd $GOPATH/src/github.com/vapor
+$ cd $GOPATH/src/github.com/bytom/vapor
 $ docker build -t vapor .
 ```
 
index 640f4ae..6773635 100644 (file)
@@ -10,9 +10,9 @@ import (
        "strings"
        "time"
 
-       "github.com/vapor/crypto/sha3pool"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
 )
 
 const tokenSize = 32
index 16c470b..548d451 100644 (file)
@@ -5,8 +5,8 @@ import (
        "strings"
        "testing"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
 )
 
 func TestCreate(t *testing.T) {
index ed86cc7..d6db4e6 100644 (file)
@@ -10,18 +10,18 @@ import (
        "github.com/google/uuid"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 const (
index ca533a0..552dcc7 100644 (file)
@@ -4,23 +4,23 @@ import (
        "context"
        stdjson "encoding/json"
 
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 var (
        //chainTxUtxoNum maximum utxo quantity in a tx
        chainTxUtxoNum = 20
        //chainTxMergeGas chain tx gas
-       chainTxMergeGas = uint64(10000000)
+       chainTxMergeGas = uint64(0)
 )
 
 //DecodeSpendAction unmarshal JSON-encoded data of spend action
index c5f2cbd..66ef62e 100644 (file)
@@ -4,10 +4,10 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestMergeSpendAction(t *testing.T) {
@@ -354,56 +354,10 @@ func TestMergeSpendAction(t *testing.T) {
        }
 }
 
-func TestCalcMergeGas(t *testing.T) {
-       chainTxUtxoNum = 10
-       cases := []struct {
-               utxoNum int
-               gas     uint64
-       }{
-               {
-                       utxoNum: 0,
-                       gas:     0,
-               },
-               {
-                       utxoNum: 1,
-                       gas:     0,
-               },
-               {
-                       utxoNum: 9,
-                       gas:     chainTxMergeGas,
-               },
-               {
-                       utxoNum: 10,
-                       gas:     chainTxMergeGas,
-               },
-               {
-                       utxoNum: 11,
-                       gas:     chainTxMergeGas * 2,
-               },
-               {
-                       utxoNum: 20,
-                       gas:     chainTxMergeGas * 3,
-               },
-               {
-                       utxoNum: 21,
-                       gas:     chainTxMergeGas * 3,
-               },
-               {
-                       utxoNum: 74,
-                       gas:     chainTxMergeGas * 9,
-               },
-       }
-
-       for i, c := range cases {
-               gas := calcMergeGas(c.utxoNum)
-               if gas != c.gas {
-                       t.Fatalf("case %d got %d want %d", i, gas, c.gas)
-               }
-       }
-}
-
 func TestReserveBtmUtxoChain(t *testing.T) {
        chainTxUtxoNum = 3
+       chainTxMergeGas = uint64(10000000)
+
        utxos := []*UTXO{}
        m := mockAccountManager(t)
        for i := uint64(1); i <= 20; i++ {
index 7e8b3de..6a1be02 100644 (file)
@@ -1,7 +1,7 @@
 package account
 
 import (
-       "github.com/vapor/blockchain/query"
+       "github.com/bytom/vapor/blockchain/query"
 )
 
 //Annotated init an annotated account object
index b502980..afe233a 100644 (file)
@@ -1,8 +1,8 @@
 package account
 
 import (
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // AccountStore interface contains account storage functions.
index 4af1a5d..c9a5ea6 100644 (file)
@@ -9,8 +9,8 @@ import (
        "time"
 
        log "github.com/sirupsen/logrus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 const desireUtxoCount = 5
index 50b2d77..4738c6c 100644 (file)
@@ -8,11 +8,11 @@ import (
        "time"
 
        "github.com/golang/groupcache/lru"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestAddUnconfirmedUtxo(t *testing.T) {
index b75aa51..79e74ab 100644 (file)
@@ -7,12 +7,12 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 type CreateAccountReq struct {
index a030f39..cc54ae8 100644 (file)
@@ -11,22 +11,22 @@ import (
        log "github.com/sirupsen/logrus"
        cmn "github.com/tendermint/tmlibs/common"
 
-       "github.com/vapor/accesstoken"
-       cfg "github.com/vapor/config"
-       "github.com/vapor/dashboard/dashboard"
-       "github.com/vapor/dashboard/equity"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/net/http/authn"
-       "github.com/vapor/net/http/gzip"
-       "github.com/vapor/net/http/httpjson"
-       "github.com/vapor/net/http/static"
-       "github.com/vapor/net/websocket"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/proposal/blockproposer"
-       "github.com/vapor/protocol"
-       "github.com/vapor/wallet"
+       "github.com/bytom/vapor/accesstoken"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/dashboard/dashboard"
+       "github.com/bytom/vapor/dashboard/equity"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/net/http/authn"
+       "github.com/bytom/vapor/net/http/gzip"
+       "github.com/bytom/vapor/net/http/httpjson"
+       "github.com/bytom/vapor/net/http/static"
+       "github.com/bytom/vapor/net/websocket"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/proposal/blockproposer"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/wallet"
 )
 
 var (
index e984083..96ce970 100644 (file)
@@ -6,10 +6,10 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/accesstoken"
-       "github.com/vapor/blockchain/rpc"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/accesstoken"
+       "github.com/bytom/vapor/blockchain/rpc"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestAPIHandler(t *testing.T) {
index 0ab6fe6..02e7003 100644 (file)
@@ -3,7 +3,7 @@ package api
 import (
        "sort"
 
-       chainjson "github.com/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
 )
 
 type VoteInfo struct {
index 10b9fb0..cc2ac51 100644 (file)
@@ -3,10 +3,10 @@ package api
 import (
        set "gopkg.in/fatih/set.v0"
 
-       "github.com/vapor/blockchain/query"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/blockchain/query"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // return best block hash
index c1af857..dd5d9fa 100644 (file)
@@ -3,10 +3,10 @@ package api
 import (
        "strings"
 
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/equity/compiler"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/vm"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/equity/compiler"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // pre-define contract error types
index 0a6c38f..06102be 100644 (file)
@@ -3,18 +3,18 @@ package api
 import (
        "context"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/rpc"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/errors"
-       "github.com/vapor/net/http/httperror"
-       "github.com/vapor/net/http/httpjson"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/validation"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/rpc"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/net/http/httperror"
+       "github.com/bytom/vapor/net/http/httpjson"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/validation"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 var (
index 3158c20..bdda0e6 100644 (file)
@@ -5,8 +5,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 type CreateKeyReq struct {
index 44489be..622170b 100644 (file)
@@ -5,13 +5,13 @@ import (
        "encoding/hex"
        "strings"
 
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
 )
 
 // SignMsgResp is response for sign message
index a7029e9..1e9f6c9 100644 (file)
@@ -4,10 +4,10 @@ import (
        "context"
        "strconv"
 
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc/types"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 type CoinbaseArbitrary struct {
index ac085ff..e377944 100644 (file)
@@ -6,14 +6,14 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/common"
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto"
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/version"
+       "github.com/bytom/vapor/common"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/version"
 )
 
 type VersionInfo struct {
@@ -24,16 +24,17 @@ type VersionInfo struct {
 
 // NetInfo indicate net information
 type NetInfo struct {
-       Listening    bool         `json:"listening"`
-       Syncing      bool         `json:"syncing"`
-       Mining       bool         `json:"mining"`
-       NodeXPub     string       `json:"node_xpub"`
-       FedAddress   string       `json:"federation_address"`
-       PeerCount    int          `json:"peer_count"`
-       CurrentBlock uint64       `json:"current_block"`
-       HighestBlock uint64       `json:"highest_block"`
-       NetWorkID    string       `json:"network_id"`
-       Version      *VersionInfo `json:"version_info"`
+       Listening         bool         `json:"listening"`
+       Syncing           bool         `json:"syncing"`
+       Mining            bool         `json:"mining"`
+       NodeXPub          string       `json:"node_xpub"`
+       FedAddress        string       `json:"federation_address"`
+       PeerCount         int          `json:"peer_count"`
+       CurrentBlock      uint64       `json:"current_block"`
+       IrreversibleBlock uint64       `json:"irreversible_block"`
+       HighestBlock      uint64       `json:"highest_block"`
+       NetWorkID         string       `json:"network_id"`
+       Version           *VersionInfo `json:"version_info"`
 }
 
 // GetNodeInfo return net information
@@ -48,14 +49,15 @@ func (a *API) GetNodeInfo() *NetInfo {
        }
 
        info := &NetInfo{
-               Listening:    a.sync.IsListening(),
-               Syncing:      !a.sync.IsCaughtUp(),
-               Mining:       a.blockProposer.IsProposing(),
-               NodeXPub:     nodeXPub.String(),
-               FedAddress:   address.EncodeAddress(),
-               PeerCount:    a.sync.PeerCount(),
-               CurrentBlock: a.chain.BestBlockHeight(),
-               NetWorkID:    a.sync.GetNetwork(),
+               Listening:         a.sync.IsListening(),
+               Syncing:           !a.sync.IsCaughtUp(),
+               Mining:            a.blockProposer.IsProposing(),
+               NodeXPub:          nodeXPub.String(),
+               FedAddress:        address.EncodeAddress(),
+               PeerCount:         a.sync.PeerCount(),
+               CurrentBlock:      a.chain.BestBlockHeight(),
+               IrreversibleBlock: a.chain.LastIrreversibleHeader().Height,
+               NetWorkID:         a.sync.GetNetwork(),
                Version: &VersionInfo{
                        Version: version.Version,
                        Update:  version.Status.VersionStatus(),
index 86381d1..716bb78 100644 (file)
@@ -5,8 +5,8 @@ import (
        "encoding/hex"
        "fmt"
 
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // DecodeProgResp is response for decode program
index fba82b8..2216dd9 100644 (file)
@@ -7,18 +7,18 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/common/arithmetic"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/common/arithmetic"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // POST /list-accounts
index 28564da..730c152 100644 (file)
@@ -3,7 +3,7 @@ package api
 import (
        "context"
 
-       "github.com/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/blockchain/txbuilder"
 )
 
 type AccountFilter struct {
index 28f62b3..6e9efea 100644 (file)
@@ -4,10 +4,10 @@ import (
        "context"
        "strings"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // action error
index 67d4429..eff58a3 100644 (file)
@@ -8,11 +8,11 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var (
@@ -62,6 +62,7 @@ func (a *API) buildSingle(ctx context.Context, req *BuildRequest) (*txbuilder.Te
        }
 
        maxTime := time.Now().Add(req.TTL.Duration)
+       ctx = context.WithValue(ctx, "block_height", a.wallet.Chain.BestBlockHeight())
        tpl, err := txbuilder.Build(ctx, req.Tx, actions, maxTime, req.TimeRange)
        if errors.Root(err) == txbuilder.ErrAction {
                // append each of the inner errors contained in the data.
index c59109a..d7b1fb8 100644 (file)
@@ -3,10 +3,10 @@ package api
 import (
        "context"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
 )
 
 // POST /wallet error
index 26070c4..ba7a912 100644 (file)
@@ -6,7 +6,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/net/websocket"
+       "github.com/bytom/vapor/net/websocket"
 )
 
 // timeZeroVal is simply the zero value for a time.Time and is used to avoid
index 031e378..749eaff 100644 (file)
@@ -1,7 +1,17 @@
 package common
 
-import "github.com/vapor/protocol/bc"
+import (
+       "encoding/hex"
+       "fmt"
+       "math/big"
 
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+)
+
+// MovUtxo store the utxo information for mov order
 type MovUtxo struct {
        SourceID       *bc.Hash
        SourcePos      uint64
@@ -9,19 +19,157 @@ type MovUtxo struct {
        ControlProgram []byte
 }
 
+// Order store all the order information
 type Order struct {
-       FromAssetID *bc.AssetID
-       ToAssetID   *bc.AssetID
-       Utxo        *MovUtxo
-       Rate        float64
+       FromAssetID      *bc.AssetID
+       ToAssetID        *bc.AssetID
+       Utxo             *MovUtxo
+       RatioNumerator   int64
+       RatioDenominator int64
+       SellerProgram    []byte
+       BlockHeight      uint64
+       TxIndex          uint64
+}
+
+// Rate return the exchange represented by float64
+func (o *Order) Rate() float64 {
+       if o.RatioDenominator == 0 {
+               return 0
+       }
+       rate := big.NewRat(o.RatioNumerator, o.RatioDenominator)
+       result, _ := rate.Float64()
+       return result
+}
+
+// cmpRate compares rate of x and y and returns -1 if x <  y, 0 if x == y, +1 if x >  y
+func (o *Order) cmpRate(other *Order) int {
+       rate := big.NewRat(o.RatioNumerator, o.RatioDenominator)
+       otherRate := big.NewRat(other.RatioNumerator, other.RatioDenominator)
+       return rate.Cmp(otherRate)
+}
+
+// Cmp first compare the rate, if rate is equals, then compare the utxo hash
+func (o *Order) Cmp(other *Order) int {
+       cmp := o.cmpRate(other)
+       if cmp == 0 {
+               if hex.EncodeToString(o.UTXOHash().Bytes()) < hex.EncodeToString(other.UTXOHash().Bytes()) {
+                       return -1
+               }
+               return 1
+       }
+       return cmp
+}
+
+// OrderSlice is define for order's sort
+type OrderSlice []*Order
+
+func (o OrderSlice) Len() int      { return len(o) }
+func (o OrderSlice) Swap(i, j int) { o[i], o[j] = o[j], o[i] }
+func (o OrderSlice) Less(i, j int) bool {
+       return o[i].Cmp(o[j]) < 0
+}
+
+// NewOrderFromOutput convert txinput to order
+func NewOrderFromOutput(tx *types.Tx, outputIndex int, blockHeight, txIndex uint64) (*Order, error) {
+       outputID := tx.OutputID(outputIndex)
+       output, err := tx.IntraChainOutput(*outputID)
+       if err != nil {
+               return nil, err
+       }
+
+       contractArgs, err := segwit.DecodeP2WMCProgram(output.ControlProgram.Code)
+       if err != nil {
+               return nil, err
+       }
+
+       assetAmount := output.Source.Value
+       return &Order{
+               FromAssetID:      assetAmount.AssetId,
+               ToAssetID:        &contractArgs.RequestedAsset,
+               RatioNumerator:   contractArgs.RatioNumerator,
+               RatioDenominator: contractArgs.RatioDenominator,
+               SellerProgram:    contractArgs.SellerProgram,
+               BlockHeight:      blockHeight,
+               TxIndex:          txIndex,
+               Utxo: &MovUtxo{
+                       SourceID:       output.Source.Ref,
+                       Amount:         assetAmount.Amount,
+                       SourcePos:      uint64(outputIndex),
+                       ControlProgram: output.ControlProgram.Code,
+               },
+       }, nil
+}
+
+// NewOrderFromInput convert txoutput to order
+func NewOrderFromInput(tx *types.Tx, inputIndex int) (*Order, error) {
+       input, ok := tx.Inputs[inputIndex].TypedInput.(*types.SpendInput)
+       if !ok {
+               return nil, errors.New("input is not type of spend input")
+       }
+
+       contractArgs, err := segwit.DecodeP2WMCProgram(input.ControlProgram)
+       if err != nil {
+               return nil, err
+       }
+
+       return &Order{
+               FromAssetID:      input.AssetId,
+               ToAssetID:        &contractArgs.RequestedAsset,
+               RatioNumerator:   contractArgs.RatioNumerator,
+               RatioDenominator: contractArgs.RatioDenominator,
+               SellerProgram:    contractArgs.SellerProgram,
+               Utxo: &MovUtxo{
+                       SourceID:       &input.SourceID,
+                       Amount:         input.Amount,
+                       SourcePos:      input.SourcePosition,
+                       ControlProgram: input.ControlProgram,
+               },
+       }, nil
+}
+
+// Key return the unique key for representing this order
+func (o *Order) Key() string {
+       return fmt.Sprintf("%s:%d", o.Utxo.SourceID, o.Utxo.SourcePos)
 }
 
+// TradePair return the trade pair info
+func (o *Order) TradePair() *TradePair {
+       return &TradePair{FromAssetID: o.FromAssetID, ToAssetID: o.ToAssetID}
+}
+
+// UTXOHash calculate the utxo hash of this order
+func (o *Order) UTXOHash() *bc.Hash {
+       prog := &bc.Program{VmVersion: 1, Code: o.Utxo.ControlProgram}
+       src := &bc.ValueSource{
+               Ref:      o.Utxo.SourceID,
+               Value:    &bc.AssetAmount{AssetId: o.FromAssetID, Amount: o.Utxo.Amount},
+               Position: o.Utxo.SourcePos,
+       }
+       hash := bc.EntryID(bc.NewIntraChainOutput(src, prog, 0))
+       return &hash
+}
+
+// TradePair is the object for record trade pair info
 type TradePair struct {
        FromAssetID *bc.AssetID
        ToAssetID   *bc.AssetID
        Count       int
 }
 
+// Key return the unique key for representing this trade pair
+func (t *TradePair) Key() string {
+       return fmt.Sprintf("%s:%s", t.FromAssetID, t.ToAssetID)
+}
+
+// Reverse return the reverse trade pair object
+func (t *TradePair) Reverse() *TradePair {
+       return &TradePair{
+               FromAssetID: t.ToAssetID,
+               ToAssetID:   t.FromAssetID,
+       }
+}
+
+// MovDatabaseState is object to record DB image status
 type MovDatabaseState struct {
        Height uint64
        Hash   *bc.Hash
diff --git a/application/mov/common/type_test.go b/application/mov/common/type_test.go
new file mode 100644 (file)
index 0000000..8fe9e81
--- /dev/null
@@ -0,0 +1,27 @@
+package common
+
+import (
+       "testing"
+
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/testutil"
+)
+
+func TestCalcUTXOHash(t *testing.T) {
+       wantHash := "d94acbac0304e054569b0a2c2ab546be293552eb83d2d84af7234a013986a906"
+       controlProgram := testutil.MustDecodeHexString("0014d6f0330717170c838e6ac4c643de61e4c035e9b7")
+       sourceID := testutil.MustDecodeHash("3cada915465af2f08c93911bce7a100498fddb5738e5400269c4d5c2b2f5b261")
+       order := Order{
+               FromAssetID: consensus.BTMAssetID,
+               Utxo: &MovUtxo{
+                       SourceID:       &sourceID,
+                       SourcePos:      1,
+                       Amount:         399551000,
+                       ControlProgram: controlProgram,
+               },
+       }
+
+       if hash := order.UTXOHash(); hash.String() != wantHash {
+               t.Fatal("The function is incorrect")
+       }
+}
diff --git a/application/mov/common/util.go b/application/mov/common/util.go
new file mode 100644 (file)
index 0000000..0077eab
--- /dev/null
@@ -0,0 +1,30 @@
+package common
+
+import (
+       "github.com/bytom/vapor/application/mov/contract"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/protocol/bc/types"
+)
+
+// IsMatchedTx check if this transaction has trade mov order input
+func IsMatchedTx(tx *types.Tx) bool {
+       if len(tx.Inputs) < 2 {
+               return false
+       }
+       for _, input := range tx.Inputs {
+               if input.InputType() == types.SpendInputType && segwit.IsP2WMCScript(input.ControlProgram()) && contract.IsTradeClauseSelector(input) {
+                       return true
+               }
+       }
+       return false
+}
+
+// IsCancelOrderTx check if this transaction has cancel mov order input
+func IsCancelOrderTx(tx *types.Tx) bool {
+       for _, input := range tx.Inputs {
+               if input.InputType() == types.SpendInputType && segwit.IsP2WMCScript(input.ControlProgram()) && contract.IsCancelClauseSelector(input) {
+                       return true
+               }
+       }
+       return false
+}
diff --git a/application/mov/contract/contract.go b/application/mov/contract/contract.go
new file mode 100644 (file)
index 0000000..75cd00d
--- /dev/null
@@ -0,0 +1,41 @@
+package contract
+
+import (
+       "encoding/hex"
+
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
+)
+
+const (
+       sizeOfCancelClauseArgs       = 3
+       sizeOfPartialTradeClauseArgs = 3
+       sizeOfFullTradeClauseArgs    = 2
+)
+
+// smart contract clause select for differnet unlock method
+const (
+       PartialTradeClauseSelector int64 = iota
+       FullTradeClauseSelector
+       CancelClauseSelector
+)
+
+// IsCancelClauseSelector check if input select cancel clause
+func IsCancelClauseSelector(input *types.TxInput) bool {
+       return len(input.Arguments()) == sizeOfCancelClauseArgs && hex.EncodeToString(input.Arguments()[len(input.Arguments())-1]) == hex.EncodeToString(vm.Int64Bytes(CancelClauseSelector))
+}
+
+// IsTradeClauseSelector check if input select is partial trade clause or full trade clause
+func IsTradeClauseSelector(input *types.TxInput) bool {
+       return IsPartialTradeClauseSelector(input) || IsFullTradeClauseSelector(input)
+}
+
+// IsPartialTradeClauseSelector check if input select partial trade clause
+func IsPartialTradeClauseSelector(input *types.TxInput) bool {
+       return len(input.Arguments()) == sizeOfPartialTradeClauseArgs && hex.EncodeToString(input.Arguments()[len(input.Arguments())-1]) == hex.EncodeToString(vm.Int64Bytes(PartialTradeClauseSelector))
+}
+
+// IsFullTradeClauseSelector check if input select full trade clause
+func IsFullTradeClauseSelector(input *types.TxInput) bool {
+       return len(input.Arguments()) == sizeOfFullTradeClauseArgs && hex.EncodeToString(input.Arguments()[len(input.Arguments())-1]) == hex.EncodeToString(vm.Int64Bytes(FullTradeClauseSelector))
+}
diff --git a/application/mov/database/mov_iterator.go b/application/mov/database/mov_iterator.go
new file mode 100644 (file)
index 0000000..b06debf
--- /dev/null
@@ -0,0 +1,104 @@
+package database
+
+import (
+       log "github.com/sirupsen/logrus"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/protocol/bc"
+)
+
+// TradePairIterator wrap read trade pair from DB action
+type TradePairIterator struct {
+       movStore       MovStore
+       tradePairs     []*common.TradePair
+       tradePairIndex int
+}
+
+// NewTradePairIterator create the new TradePairIterator object
+func NewTradePairIterator(movStore MovStore) *TradePairIterator {
+       return &TradePairIterator{movStore: movStore}
+}
+
+// HasNext check if there are more trade pairs in memory or DB
+func (t *TradePairIterator) HasNext() bool {
+       tradePairSize := len(t.tradePairs)
+       if t.tradePairIndex < tradePairSize {
+               return true
+       }
+
+       var fromAssetID, toAssetID *bc.AssetID
+       if len(t.tradePairs) > 0 {
+               lastTradePair := t.tradePairs[tradePairSize-1]
+               fromAssetID, toAssetID = lastTradePair.FromAssetID, lastTradePair.ToAssetID
+       }
+
+       tradePairs, err := t.movStore.ListTradePairsWithStart(fromAssetID, toAssetID)
+       if err != nil {
+               // If the error is returned, it's an error of program itself,
+               // and cannot be recovered, so panic directly.
+               log.WithField("err", err).Fatal("fail to list trade pairs")
+       }
+
+       if len(tradePairs) == 0 {
+               return false
+       }
+
+       t.tradePairs = tradePairs
+       t.tradePairIndex = 0
+       return true
+}
+
+// Next return the next available trade pair in memory or DB
+func (t *TradePairIterator) Next() *common.TradePair {
+       if !t.HasNext() {
+               return nil
+       }
+
+       tradePair := t.tradePairs[t.tradePairIndex]
+       t.tradePairIndex++
+       return tradePair
+}
+
+// OrderIterator wrap read order from DB action
+type OrderIterator struct {
+       movStore  MovStore
+       lastOrder *common.Order
+       orders    []*common.Order
+}
+
+// NewOrderIterator create the new OrderIterator object
+func NewOrderIterator(movStore MovStore, tradePair *common.TradePair) *OrderIterator {
+       return &OrderIterator{
+               movStore:  movStore,
+               lastOrder: &common.Order{FromAssetID: tradePair.FromAssetID, ToAssetID: tradePair.ToAssetID},
+       }
+}
+
+// HasNext check if there are more orders in memory or DB
+func (o *OrderIterator) HasNext() bool {
+       if len(o.orders) == 0 {
+               orders, err := o.movStore.ListOrders(o.lastOrder)
+               if err != nil {
+                       log.WithField("err", err).Fatal("fail to list orders")
+               }
+
+               if len(orders) == 0 {
+                       return false
+               }
+
+               o.orders = orders
+               o.lastOrder = o.orders[len(o.orders)-1]
+       }
+       return true
+}
+
+// NextBatch return the next batch of orders in memory or DB
+func (o *OrderIterator) NextBatch() []*common.Order {
+       if !o.HasNext() {
+               return nil
+       }
+
+       orders := o.orders
+       o.orders = nil
+       return orders
+}
diff --git a/application/mov/database/mov_iterator_test.go b/application/mov/database/mov_iterator_test.go
new file mode 100644 (file)
index 0000000..5df84e1
--- /dev/null
@@ -0,0 +1,166 @@
+package database
+
+import (
+       "testing"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/mock"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
+)
+
+var (
+       asset1 = bc.NewAssetID([32]byte{1})
+       asset2 = bc.NewAssetID([32]byte{2})
+       asset3 = bc.NewAssetID([32]byte{3})
+       asset4 = bc.NewAssetID([32]byte{4})
+
+       order1 = &common.Order{FromAssetID: assetID1, ToAssetID: assetID2, RatioNumerator: 1, RatioDenominator: 10}
+       order2 = &common.Order{FromAssetID: assetID1, ToAssetID: assetID2, RatioNumerator: 2, RatioDenominator: 10}
+       order3 = &common.Order{FromAssetID: assetID1, ToAssetID: assetID2, RatioNumerator: 3, RatioDenominator: 10}
+       order4 = &common.Order{FromAssetID: assetID1, ToAssetID: assetID2, RatioNumerator: 4, RatioDenominator: 10}
+       order5 = &common.Order{FromAssetID: assetID1, ToAssetID: assetID2, RatioNumerator: 5, RatioDenominator: 10}
+)
+
+func TestTradePairIterator(t *testing.T) {
+       cases := []struct {
+               desc            string
+               storeTradePairs []*common.TradePair
+               wantTradePairs  []*common.TradePair
+       }{
+               {
+                       desc: "normal case",
+                       storeTradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset2,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset3,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset4,
+                               },
+                       },
+                       wantTradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset2,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset3,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset4,
+                               },
+                       },
+               },
+               {
+                       desc: "num of trade pairs more than one return",
+                       storeTradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset2,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset3,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset4,
+                               },
+                               {
+                                       FromAssetID: &asset2,
+                                       ToAssetID:   &asset1,
+                               },
+                       },
+                       wantTradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset2,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset3,
+                               },
+                               {
+                                       FromAssetID: &asset1,
+                                       ToAssetID:   &asset4,
+                               },
+                               {
+                                       FromAssetID: &asset2,
+                                       ToAssetID:   &asset1,
+                               },
+                       },
+               },
+               {
+                       desc:            "store is empty",
+                       storeTradePairs: []*common.TradePair{},
+                       wantTradePairs:  []*common.TradePair{},
+               },
+       }
+
+       for i, c := range cases {
+               store := mock.NewMovStore(c.storeTradePairs, nil)
+               var gotTradePairs []*common.TradePair
+               iterator := NewTradePairIterator(store)
+               for iterator.HasNext() {
+                       gotTradePairs = append(gotTradePairs, iterator.Next())
+               }
+               if !testutil.DeepEqual(c.wantTradePairs, gotTradePairs) {
+                       t.Errorf("#%d(%s):got trade pairs is not equals want trade pairs", i, c.desc)
+               }
+       }
+}
+
+func TestOrderIterator(t *testing.T) {
+       cases := []struct {
+               desc        string
+               tradePair   *common.TradePair
+               storeOrders []*common.Order
+               wantOrders  []*common.Order
+       }{
+               {
+                       desc:        "normal case",
+                       tradePair:   &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2},
+                       storeOrders: []*common.Order{order1, order2, order3},
+                       wantOrders:  []*common.Order{order1, order2, order3},
+               },
+               {
+                       desc:        "num of orders more than one return",
+                       tradePair:   &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2},
+                       storeOrders: []*common.Order{order1, order2, order3, order4, order5},
+                       wantOrders:  []*common.Order{order1, order2, order3, order4, order5},
+               },
+               {
+                       desc:        "only one order",
+                       tradePair:   &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2},
+                       storeOrders: []*common.Order{order1},
+                       wantOrders:  []*common.Order{order1},
+               },
+               {
+                       desc:        "store is empty",
+                       tradePair:   &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2},
+                       storeOrders: []*common.Order{},
+                       wantOrders:  []*common.Order{},
+               },
+       }
+
+       for i, c := range cases {
+               store := mock.NewMovStore(nil, c.storeOrders)
+
+               var gotOrders []*common.Order
+               iterator := NewOrderIterator(store, c.tradePair)
+               for iterator.HasNext() {
+                       gotOrders = append(gotOrders, iterator.NextBatch()...)
+               }
+               if !testutil.DeepEqual(c.wantOrders, gotOrders) {
+                       t.Errorf("#%d(%s):got orders it not equals want orders", i, c.desc)
+               }
+       }
+}
index 4aa831a..0ed5eca 100644 (file)
@@ -6,21 +6,38 @@ import (
        "errors"
        "math"
 
-       "github.com/vapor/application/mov/common"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/consensus/segwit"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
+// ErrNotInitDBState represent the database state of mov store is not initialized
+var ErrNotInitDBState = errors.New("database state of mov store is not initialized")
+
+// MovStore is the interface for mov's persistent storage
+type MovStore interface {
+       Clear()
+       GetMovDatabaseState() (*common.MovDatabaseState, error)
+       InitDBState(height uint64, hash *bc.Hash) error
+       ListOrders(orderAfter *common.Order) ([]*common.Order, error)
+       ListTradePairsWithStart(fromAssetIDAfter, toAssetIDAfter *bc.AssetID) ([]*common.TradePair, error)
+       ProcessOrders(addOrders []*common.Order, delOrders []*common.Order, blockHeader *types.BlockHeader) error
+}
+
 const (
-       order byte = iota
+       order byte = iota + 1
        tradePair
        matchStatus
 
-       tradePairsNum = 1024
-       ordersNum     = 10240
-       assetIDLen    = 32
-       rateByteLen   = 8
+       fromAssetIDPos = 0
+       toAssetIDPos   = 1
+       assetIDLen     = 32
+       rateByteLen    = 8
+
+       tradePairsNum = 32
+       ordersNum     = 128
 )
 
 var (
@@ -30,6 +47,14 @@ var (
        bestMatchStore   = append(movStore, matchStatus)
 )
 
+type orderData struct {
+       Utxo             *common.MovUtxo
+       RatioNumerator   int64
+       RatioDenominator int64
+       BlockHeight      uint64
+       TxIndex          uint64
+}
+
 func calcOrderKey(fromAssetID, toAssetID *bc.AssetID, utxoHash *bc.Hash, rate float64) []byte {
        buf := make([]byte, 8)
        binary.BigEndian.PutUint64(buf, math.Float64bits(rate))
@@ -44,27 +69,16 @@ func calcTradePairKey(fromAssetID, toAssetID *bc.AssetID) []byte {
        return append(key, toAssetID.Bytes()...)
 }
 
-func calcUTXOHash(order *common.Order) *bc.Hash {
-       prog := &bc.Program{VmVersion: 1, Code: order.Utxo.ControlProgram}
-       src := &bc.ValueSource{
-               Ref:      order.Utxo.SourceID,
-               Value:    &bc.AssetAmount{AssetId: order.FromAssetID, Amount: order.Utxo.Amount},
-               Position: order.Utxo.SourcePos,
-       }
-       hash := bc.EntryID(bc.NewIntraChainOutput(src, prog, 0))
-       return &hash
-}
-
-func getAssetIDFromTradePairKey(key []byte, prefix []byte, posIndex int) *bc.AssetID {
+func getAssetIDFromTradePairKey(key []byte, posIndex int) *bc.AssetID {
        b := [32]byte{}
-       pos := len(prefix) + assetIDLen*posIndex
+       pos := len(tradePairsPrefix) + assetIDLen*posIndex
        copy(b[:], key[pos:pos+assetIDLen])
        assetID := bc.NewAssetID(b)
        return &assetID
 }
 
-func getRateFromOrderKey(key []byte, prefix []byte) float64 {
-       ratePos := len(prefix) + assetIDLen*2
+func getRateFromOrderKey(key []byte) float64 {
+       ratePos := len(ordersPrefix) + assetIDLen*2
        return math.Float64frombits(binary.BigEndian.Uint64(key[ratePos : ratePos+rateByteLen]))
 }
 
@@ -72,24 +86,53 @@ type tradePairData struct {
        Count int
 }
 
-type MovStore struct {
+// LevelDBMovStore is the LevelDB implementation for MovStore
+type LevelDBMovStore struct {
        db dbm.DB
 }
 
-func NewMovStore(db dbm.DB, height uint64, hash *bc.Hash) (*MovStore, error) {
-       if value := db.Get(bestMatchStore); value == nil {
-               state := &common.MovDatabaseState{Height: height, Hash: hash}
-               value, err := json.Marshal(state)
-               if err != nil {
-                       return nil, err
-               }
+// NewLevelDBMovStore create a new LevelDBMovStore object
+func NewLevelDBMovStore(db dbm.DB) *LevelDBMovStore {
+       return &LevelDBMovStore{db: db}
+}
+
+// Clear will clear all the data of store
+func (m *LevelDBMovStore) Clear() {
+       batch := m.db.NewBatch()
+
+       iter := m.db.Iterator()
+       defer iter.Release()
 
-               db.Set(bestMatchStore, value)
+       for iter.Next() {
+               batch.Delete(iter.Key())
        }
-       return &MovStore{db: db}, nil
+       batch.Write()
 }
 
-func (m *MovStore) ListOrders(orderAfter *common.Order) ([]*common.Order, error) {
+// GetMovDatabaseState return the current DB's image status
+func (m *LevelDBMovStore) GetMovDatabaseState() (*common.MovDatabaseState, error) {
+       if value := m.db.Get(bestMatchStore); value != nil {
+               state := &common.MovDatabaseState{}
+               return state, json.Unmarshal(value, state)
+       }
+
+       return nil, ErrNotInitDBState
+}
+
+// InitDBState set the DB's image status
+func (m *LevelDBMovStore) InitDBState(height uint64, hash *bc.Hash) error {
+       state := &common.MovDatabaseState{Height: height, Hash: hash}
+       value, err := json.Marshal(state)
+       if err != nil {
+               return err
+       }
+
+       m.db.Set(bestMatchStore, value)
+       return nil
+}
+
+// ListOrders return n orders after the input order
+func (m *LevelDBMovStore) ListOrders(orderAfter *common.Order) ([]*common.Order, error) {
        if orderAfter.FromAssetID == nil || orderAfter.ToAssetID == nil {
                return nil, errors.New("assetID is nil")
        }
@@ -98,8 +141,8 @@ func (m *MovStore) ListOrders(orderAfter *common.Order) ([]*common.Order, error)
        orderPrefix = append(orderPrefix, orderAfter.ToAssetID.Bytes()...)
 
        var startKey []byte
-       if orderAfter.Rate > 0 {
-               startKey = calcOrderKey(orderAfter.FromAssetID, orderAfter.ToAssetID, calcUTXOHash(orderAfter), orderAfter.Rate)
+       if orderAfter.Rate() > 0 {
+               startKey = calcOrderKey(orderAfter.FromAssetID, orderAfter.ToAssetID, orderAfter.UTXOHash(), orderAfter.Rate())
        }
 
        itr := m.db.IteratorPrefixWithStart(orderPrefix, startKey, false)
@@ -107,41 +150,79 @@ func (m *MovStore) ListOrders(orderAfter *common.Order) ([]*common.Order, error)
 
        var orders []*common.Order
        for txNum := 0; txNum < ordersNum && itr.Next(); txNum++ {
-               movUtxo := &common.MovUtxo{}
-               if err := json.Unmarshal(itr.Value(), movUtxo); err != nil {
+               orderData := &orderData{}
+               if err := json.Unmarshal(itr.Value(), orderData); err != nil {
                        return nil, err
                }
 
-               order := &common.Order{
-                       FromAssetID: orderAfter.FromAssetID,
-                       ToAssetID:   orderAfter.ToAssetID,
-                       Rate:        getRateFromOrderKey(itr.Key(), ordersPrefix),
-                       Utxo:        movUtxo,
+               contractArgs, err := segwit.DecodeP2WMCProgram(orderData.Utxo.ControlProgram)
+               if err != nil {
+                       return nil, err
                }
-               orders = append(orders, order)
+
+               orders = append(orders, &common.Order{
+                       FromAssetID:      orderAfter.FromAssetID,
+                       ToAssetID:        orderAfter.ToAssetID,
+                       Utxo:             orderData.Utxo,
+                       RatioNumerator:   orderData.RatioNumerator,
+                       RatioDenominator: orderData.RatioDenominator,
+                       BlockHeight:      orderData.BlockHeight,
+                       TxIndex:          orderData.TxIndex,
+                       SellerProgram:    contractArgs.SellerProgram,
+               })
        }
        return orders, nil
 }
 
-func (m *MovStore) ProcessOrders(addOrders []*common.Order, delOreders []*common.Order, blockHeader *types.BlockHeader) error {
+// ListTradePairsWithStart return n trade pairs after the input trade pair
+func (m *LevelDBMovStore) ListTradePairsWithStart(fromAssetIDAfter, toAssetIDAfter *bc.AssetID) ([]*common.TradePair, error) {
+       var startKey []byte
+       if fromAssetIDAfter != nil && toAssetIDAfter != nil {
+               startKey = calcTradePairKey(fromAssetIDAfter, toAssetIDAfter)
+       }
+
+       itr := m.db.IteratorPrefixWithStart(tradePairsPrefix, startKey, false)
+       defer itr.Release()
+
+       var tradePairs []*common.TradePair
+       for txNum := 0; txNum < tradePairsNum && itr.Next(); txNum++ {
+               key := itr.Key()
+               fromAssetID := getAssetIDFromTradePairKey(key, fromAssetIDPos)
+               toAssetID := getAssetIDFromTradePairKey(key, toAssetIDPos)
+
+               tradePairData := &tradePairData{}
+               if err := json.Unmarshal(itr.Value(), tradePairData); err != nil {
+                       return nil, err
+               }
+
+               tradePairs = append(tradePairs, &common.TradePair{FromAssetID: fromAssetID, ToAssetID: toAssetID, Count: tradePairData.Count})
+       }
+       return tradePairs, nil
+}
+
+// ProcessOrders update the DB's image by add new orders, delete the used order
+func (m *LevelDBMovStore) ProcessOrders(addOrders []*common.Order, delOrders []*common.Order, blockHeader *types.BlockHeader) error {
        if err := m.checkMovDatabaseState(blockHeader); err != nil {
                return err
        }
 
        batch := m.db.NewBatch()
-       tradePairsCnt := make(map[common.TradePair]int)
+       tradePairsCnt := make(map[string]*common.TradePair)
        if err := m.addOrders(batch, addOrders, tradePairsCnt); err != nil {
                return err
        }
 
-       m.deleteOrders(batch, delOreders, tradePairsCnt)
-
+       m.deleteOrders(batch, delOrders, tradePairsCnt)
        if err := m.updateTradePairs(batch, tradePairsCnt); err != nil {
                return err
        }
 
-       hash := blockHeader.Hash()
-       if err := m.saveMovDatabaseState(batch, &common.MovDatabaseState{Height: blockHeader.Height, Hash: &hash}); err != nil {
+       state, err := m.calcNextDatabaseState(blockHeader)
+       if err != nil {
+               return err
+       }
+
+       if err := m.saveMovDatabaseState(batch, state); err != nil {
                return err
        }
 
@@ -149,85 +230,105 @@ func (m *MovStore) ProcessOrders(addOrders []*common.Order, delOreders []*common
        return nil
 }
 
-func (m *MovStore) addOrders(batch dbm.Batch, orders []*common.Order, tradePairsCnt map[common.TradePair]int) error {
+func (m *LevelDBMovStore) addOrders(batch dbm.Batch, orders []*common.Order, tradePairsCnt map[string]*common.TradePair) error {
        for _, order := range orders {
-               data, err := json.Marshal(order.Utxo)
+               orderData := &orderData{
+                       Utxo:             order.Utxo,
+                       RatioNumerator:   order.RatioNumerator,
+                       RatioDenominator: order.RatioDenominator,
+                       BlockHeight:      order.BlockHeight,
+                       TxIndex:          order.TxIndex,
+               }
+               data, err := json.Marshal(orderData)
                if err != nil {
                        return err
                }
 
-               key := calcOrderKey(order.FromAssetID, order.ToAssetID, calcUTXOHash(order), order.Rate)
+               key := calcOrderKey(order.FromAssetID, order.ToAssetID, order.UTXOHash(), order.Rate())
                batch.Set(key, data)
 
-               tradePair := common.TradePair{
+               tradePair := &common.TradePair{
                        FromAssetID: order.FromAssetID,
                        ToAssetID:   order.ToAssetID,
                }
-               tradePairsCnt[tradePair] += 1
+               if _, ok := tradePairsCnt[tradePair.Key()]; !ok {
+                       tradePairsCnt[tradePair.Key()] = tradePair
+               }
+               tradePairsCnt[tradePair.Key()].Count++
        }
        return nil
 }
 
-func (m *MovStore) deleteOrders(batch dbm.Batch, orders []*common.Order, tradePairsCnt map[common.TradePair]int) {
-       for _, order := range orders {
-               key := calcOrderKey(order.FromAssetID, order.ToAssetID, calcUTXOHash(order), order.Rate)
-               batch.Delete(key)
+func (m *LevelDBMovStore) calcNextDatabaseState(blockHeader *types.BlockHeader) (*common.MovDatabaseState, error) {
+       hash := blockHeader.Hash()
+       height := blockHeader.Height
 
-               tradePair := common.TradePair{
-                       FromAssetID: order.FromAssetID,
-                       ToAssetID:   order.ToAssetID,
-               }
-               tradePairsCnt[tradePair] -= 1
+       state, err := m.GetMovDatabaseState()
+       if err != nil {
+               return nil, err
        }
-}
 
-func (m *MovStore) GetMovDatabaseState() (*common.MovDatabaseState, error) {
-       if value := m.db.Get(bestMatchStore); value != nil {
-               state := &common.MovDatabaseState{}
-               return state, json.Unmarshal(value, state)
+       if *state.Hash == hash {
+               hash = blockHeader.PreviousBlockHash
+               height = blockHeader.Height - 1
        }
 
-       return nil, errors.New("don't find state of mov-database")
+       return &common.MovDatabaseState{Height: height, Hash: &hash}, nil
 }
 
-func (m *MovStore) ListTradePairsWithStart(fromAssetIDAfter, toAssetIDAfter *bc.AssetID) ([]*common.TradePair, error) {
-       var startKey []byte
-       if fromAssetIDAfter != nil && toAssetIDAfter != nil {
-               startKey = calcTradePairKey(fromAssetIDAfter, toAssetIDAfter)
+func (m *LevelDBMovStore) checkMovDatabaseState(header *types.BlockHeader) error {
+       state, err := m.GetMovDatabaseState()
+       if err != nil {
+               return err
        }
 
-       itr := m.db.IteratorPrefixWithStart(tradePairsPrefix, startKey, false)
-       defer itr.Release()
+       if (*state.Hash == header.PreviousBlockHash && (state.Height+1) == header.Height) || *state.Hash == header.Hash() {
+               return nil
+       }
 
-       var tradePairs []*common.TradePair
-       for txNum := 0; txNum < tradePairsNum && itr.Next(); txNum++ {
-               key := itr.Key()
-               fromAssetID := getAssetIDFromTradePairKey(key, tradePairsPrefix, 0)
-               toAssetID := getAssetIDFromTradePairKey(key, tradePairsPrefix, 1)
+       return errors.New("the status of the block is inconsistent with that of mov-database")
+}
 
-               tradePairData := &tradePairData{}
-               if err := json.Unmarshal(itr.Value(), tradePairData); err != nil {
-                       return nil, err
+func (m *LevelDBMovStore) deleteOrders(batch dbm.Batch, orders []*common.Order, tradePairsCnt map[string]*common.TradePair) {
+       for _, order := range orders {
+               key := calcOrderKey(order.FromAssetID, order.ToAssetID, order.UTXOHash(), order.Rate())
+               batch.Delete(key)
+
+               tradePair := &common.TradePair{
+                       FromAssetID: order.FromAssetID,
+                       ToAssetID:   order.ToAssetID,
                }
+               if _, ok := tradePairsCnt[tradePair.Key()]; !ok {
+                       tradePairsCnt[tradePair.Key()] = tradePair
+               }
+               tradePairsCnt[tradePair.Key()].Count--
+       }
+}
 
-               tradePairs = append(tradePairs, &common.TradePair{FromAssetID: fromAssetID, ToAssetID: toAssetID, Count: tradePairData.Count})
+func (m *LevelDBMovStore) saveMovDatabaseState(batch dbm.Batch, state *common.MovDatabaseState) error {
+       value, err := json.Marshal(state)
+       if err != nil {
+               return err
        }
-       return tradePairs, nil
+
+       batch.Set(bestMatchStore, value)
+       return nil
 }
 
-func (m *MovStore) updateTradePairs(batch dbm.Batch, tradePairs map[common.TradePair]int) error {
-       for k, v := range tradePairs {
-               key := calcTradePairKey(k.FromAssetID, k.ToAssetID)
+func (m *LevelDBMovStore) updateTradePairs(batch dbm.Batch, tradePairs map[string]*common.TradePair) error {
+       for _, v := range tradePairs {
+               key := calcTradePairKey(v.FromAssetID, v.ToAssetID)
                tradePairData := &tradePairData{}
                if value := m.db.Get(key); value != nil {
                        if err := json.Unmarshal(value, tradePairData); err != nil {
                                return err
                        }
-               } else if v < 0 {
-                       return errors.New("don't find trade pair")
                }
 
-               tradePairData.Count += v
+               if tradePairData.Count += v.Count; tradePairData.Count < 0 {
+                       return errors.New("negative trade count")
+               }
+
                if tradePairData.Count > 0 {
                        value, err := json.Marshal(tradePairData)
                        if err != nil {
@@ -241,27 +342,3 @@ func (m *MovStore) updateTradePairs(batch dbm.Batch, tradePairs map[common.Trade
        }
        return nil
 }
-
-func (m *MovStore) checkMovDatabaseState(header *types.BlockHeader) error {
-       state, err := m.GetMovDatabaseState()
-       if err != nil {
-               return err
-       }
-
-       blockHash := header.Hash()
-       if (state.Hash.String() == header.PreviousBlockHash.String() && (state.Height+1) == header.Height) || state.Hash.String() == blockHash.String() {
-               return nil
-       }
-
-       return errors.New("the status of the block is inconsistent with that of mov-database")
-}
-
-func (m *MovStore) saveMovDatabaseState(batch dbm.Batch, state *common.MovDatabaseState) error {
-       value, err := json.Marshal(state)
-       if err != nil {
-               return err
-       }
-
-       batch.Set(bestMatchStore, value)
-       return nil
-}
index 7f17fc7..022051f 100644 (file)
@@ -9,14 +9,12 @@ import (
 
        "github.com/stretchr/testify/require"
 
-       "github.com/vapor/application/mov/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/database/leveldb"
-       dbm "github.com/vapor/database/leveldb"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/database/leveldb"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
 )
 
 var (
@@ -28,31 +26,221 @@ var (
        assetID6 = &bc.AssetID{V0: 6}
        assetID7 = &bc.AssetID{V0: 7}
        assetID8 = &bc.AssetID{V0: 8}
-)
-
-func TestCalcUTXOHash(t *testing.T) {
-       wantHash := "7cbaf92f950f2a6bededd6cc5ec08c924505f5365b0a8af963e1d52912c99667"
-       controlProgramStr := "0014ab5acbea076f269bfdc8ededbed7d0a13e6e0b19"
-
-       var controlProgram chainjson.HexBytes
-       controlProgram.UnmarshalText([]byte(controlProgramStr))
-
-       sourceID := testutil.MustDecodeHash("ca2faf5fcbf8ee2b43560a32594f608528b12a1fe79cee85252564f886f91060")
-       order := &common.Order{
-               FromAssetID: consensus.BTMAssetID,
-               Utxo: &common.MovUtxo{
-                       SourceID:       &sourceID,
-                       SourcePos:      0,
-                       Amount:         31249300000,
-                       ControlProgram: controlProgram[:],
+       
+       orderProgram = testutil.MustDecodeHexString("0020184e1cc4ee4845023888810a79eed7a42c02c544cf2c61ceac05e176d575bd4603ed4e0e0210272200204775b9e167e2c1ffe57ae3e5088af69e518be010529b5fdadf4be97656084eec20a3e21b55f44403884457166ad5847fdb5489512ba9611eee466efb9f94319143")
+       sellerProgram = testutil.MustDecodeHexString("00204775b9e167e2c1ffe57ae3e5088af69e518be010529b5fdadf4be97656084eec")
+
+       mockOrders = []*common.Order{
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   100090,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 21},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   90,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 22},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   97,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 23},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   98,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 13},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   98,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 24},
+                               Amount:         10,
+                               SourcePos:      1,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   99,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 24},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   96,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 25},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   95,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 26},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   90,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 1},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID1,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   90,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 2},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID3,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   96,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 33},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID4,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   95,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 34},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID4,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   96,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 36},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID5,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   96,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 37},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
+               },
+               &common.Order{
+                       FromAssetID:      assetID6,
+                       ToAssetID:        assetID2,
+                       RatioNumerator:   98,
+                       RatioDenominator: 100000,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       &bc.Hash{V0: 38},
+                               Amount:         1,
+                               SourcePos:      0,
+                               ControlProgram: orderProgram,
+                       },
+                       SellerProgram: sellerProgram,
                },
        }
+)
 
-       hash := calcUTXOHash(order)
-       if hash.String() != wantHash {
-               t.Fatal("The function is incorrect")
+func TestGetAssetIDFromTradePairKey(t *testing.T) {
+       b := calcTradePairKey(assetID1, assetID2)
+       gotA := getAssetIDFromTradePairKey(b, fromAssetIDPos)
+       gotB := getAssetIDFromTradePairKey(b, toAssetIDPos)
+
+       if *gotA != *assetID1 {
+               t.Fatalf("got wrong from asset id got %s, want %s", gotA.String(), assetID1.String())
        }
 
+       if *gotB != *assetID2 {
+               t.Fatalf("got wrong to asset id got %s, want %s", gotB.String(), assetID2.String())
+       }
 }
 
 func TestSortOrderKey(t *testing.T) {
@@ -75,15 +263,16 @@ func TestSortOrderKey(t *testing.T) {
        }
 
        cases := []struct {
-               orders []common.Order
+               orders []*common.Order
                want   []expectedData
        }{
                {
-                       orders: []common.Order{
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        1.00090,
+                       orders: []*common.Order{
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   100090,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 21},
                                                Amount:         1,
@@ -91,10 +280,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00090,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   90,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 22},
                                                Amount:         1,
@@ -102,10 +292,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00097,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   97,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 23},
                                                Amount:         1,
@@ -113,10 +304,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00098,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   98,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 13},
                                                Amount:         1,
@@ -124,10 +316,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00098,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   98,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 24},
                                                Amount:         10,
@@ -135,10 +328,47 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00099,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   98,
+                                       RatioDenominator: 100000,
+                                       Utxo: &common.MovUtxo{
+                                               SourceID:       &bc.Hash{V0: 25},
+                                               Amount:         10,
+                                               SourcePos:      1,
+                                               ControlProgram: []byte("aa"),
+                                       },
+                               },
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   98,
+                                       RatioDenominator: 100000,
+                                       Utxo: &common.MovUtxo{
+                                               SourceID:       &bc.Hash{V0: 26},
+                                               Amount:         10,
+                                               SourcePos:      1,
+                                               ControlProgram: []byte("aa"),
+                                       },
+                               },
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   98,
+                                       RatioDenominator: 100000,
+                                       Utxo: &common.MovUtxo{
+                                               SourceID:       &bc.Hash{V0: 27},
+                                               Amount:         10,
+                                               SourcePos:      1,
+                                               ControlProgram: []byte("aa"),
+                                       },
+                               },
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   99,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 24},
                                                Amount:         1,
@@ -146,10 +376,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00096,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   96,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 25},
                                                Amount:         1,
@@ -157,10 +388,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00095,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   95,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 26},
                                                Amount:         1,
@@ -168,10 +400,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00091,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   91,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 26},
                                                Amount:         1,
@@ -179,10 +412,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00092,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   92,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 27},
                                                Amount:         1,
@@ -190,10 +424,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00093,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   93,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 28},
                                                Amount:         1,
@@ -201,10 +436,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00094,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   94,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 29},
                                                Amount:         1,
@@ -212,10 +448,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00077,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   77,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 30},
                                                Amount:         1,
@@ -223,10 +460,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        0.00088,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   88,
+                                       RatioDenominator: 100000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 31},
                                                Amount:         1,
@@ -234,10 +472,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        999999.9521,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   9999999521,
+                                       RatioDenominator: 10000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 32},
                                                Amount:         1,
@@ -245,10 +484,11 @@ func TestSortOrderKey(t *testing.T) {
                                                ControlProgram: []byte("aa"),
                                        },
                                },
-                               common.Order{
-                                       FromAssetID: &bc.AssetID{V0: 1},
-                                       ToAssetID:   &bc.AssetID{V0: 0},
-                                       Rate:        888888.7954,
+                               &common.Order{
+                                       FromAssetID:      &bc.AssetID{V0: 1},
+                                       ToAssetID:        &bc.AssetID{V0: 0},
+                                       RatioNumerator:   8888887954,
+                                       RatioDenominator: 10000,
                                        Utxo: &common.MovUtxo{
                                                SourceID:       &bc.Hash{V0: 33},
                                                Amount:         1,
@@ -300,10 +540,22 @@ func TestSortOrderKey(t *testing.T) {
                                },
                                expectedData{
                                        rate:     0.00098,
+                                       utxoHash: "14b51a6103f75d9cacdf0f9551467588c687ed3b029e25c646d276720569e227",
+                               },
+                               expectedData{
+                                       rate:     0.00098,
                                        utxoHash: "1fa9fae83d0a5401a4e92f80636966486e763eecca588aa11dff02b415320602",
                                },
                                expectedData{
                                        rate:     0.00098,
+                                       utxoHash: "6687d18ddbe4e7381a844e393ca3032a412285c9da6988eff182106e28ba09ca",
+                               },
+                               expectedData{
+                                       rate:     0.00098,
+                                       utxoHash: "841b1de7c871dfe6e2d1886809d9ae12ec45e570233b03879305232b096fda43",
+                               },
+                               expectedData{
+                                       rate:     0.00098,
                                        utxoHash: "a4bc534c267d35a9eafc25cd66e0cb270a2537a51186605b7f7591bc567ab4c6",
                                },
                                expectedData{
@@ -328,7 +580,7 @@ func TestSortOrderKey(t *testing.T) {
 
        for i, c := range cases {
                for _, order := range c.orders {
-                       key := calcOrderKey(order.FromAssetID, order.ToAssetID, calcUTXOHash(&order), order.Rate)
+                       key := calcOrderKey(order.FromAssetID, order.ToAssetID, order.UTXOHash(), order.Rate())
                        data, err := json.Marshal(order.Utxo)
                        if err != nil {
                                t.Fatal(err)
@@ -338,7 +590,6 @@ func TestSortOrderKey(t *testing.T) {
                }
 
                got := []expectedData{}
-
                itr := db.IteratorPrefixWithStart(nil, nil, false)
                for itr.Next() {
                        key := itr.Key()
@@ -347,9 +598,8 @@ func TestSortOrderKey(t *testing.T) {
                        copy(b[:], key[pos+8:])
                        utxoHash := bc.NewHash(b)
 
-                       rate := getRateFromOrderKey(key, ordersPrefix)
                        got = append(got, expectedData{
-                               rate:     rate,
+                               rate:     getRateFromOrderKey(key),
                                utxoHash: utxoHash.String(),
                        })
                }
@@ -358,7 +608,6 @@ func TestSortOrderKey(t *testing.T) {
                if !testutil.DeepEqual(c.want, got) {
                        t.Errorf("case %v: got recovery status, got: %v, want: %v.", i, got, c.want)
                }
-
        }
 }
 
@@ -378,1584 +627,210 @@ func TestMovStore(t *testing.T) {
                {
                        desc: "add order",
                        addOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       blockHeader: &types.BlockHeader{Height: 1, PreviousBlockHash: bc.Hash{V0: 524821139490765641, V1: 2484214155808702787, V2: 9108473449351508820, V3: 7972721253564512122}},
+                       wantOrders: []*common.Order{
+                               mockOrders[1],
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[2],
+                               mockOrders[4],
+                               mockOrders[3],
+                               mockOrders[5],
+                               mockOrders[0],
+                       },
+                       wantTradePairs: []*common.TradePair{
+                               &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 8},
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+               },
+               {
+                       desc: "del some order",
+                       beforeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       beforeTradePairs: []*common.TradePair{
+                               &common.TradePair{
                                        FromAssetID: assetID1,
                                        ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
+                                       Count:       8,
                                },
-                               &common.Order{
+                       },
+                       beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+                       delOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                       },
+                       blockHeader: &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+                       wantOrders: []*common.Order{
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[4],
+                               mockOrders[3],
+                               mockOrders[5],
+                       },
+                       wantTradePairs: []*common.TradePair{
+                               &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 5},
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
+               },
+               {
+                       desc: "del all order",
+                       beforeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       beforeTradePairs: []*common.TradePair{
+                               &common.TradePair{
                                        FromAssetID: assetID1,
                                        ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
+                                       Count:       8,
                                },
-                               &common.Order{
+                       },
+                       beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+                       delOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       blockHeader:    &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+                       wantOrders:     []*common.Order{},
+                       wantTradePairs: []*common.TradePair{},
+                       wantDBState:    &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
+               },
+               {
+                       desc: "Add and delete the same trade pair", // Add and delete different transaction pairs
+                       beforeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       beforeTradePairs: []*common.TradePair{
+                               &common.TradePair{
                                        FromAssetID: assetID1,
                                        ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
+                                       Count:       8,
                                },
                        },
-                       blockHeader: &types.BlockHeader{Height: 1, PreviousBlockHash: bc.Hash{V0: 524821139490765641, V1: 2484214155808702787, V2: 9108473449351508820, V3: 7972721253564512122}},
+                       beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+                       addOrders: []*common.Order{
+                               mockOrders[8],
+                               mockOrders[9],
+                       },
+                       delOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       blockHeader: &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
                        wantOrders: []*common.Order{
-                               &common.Order{
+                               mockOrders[9],
+                               mockOrders[8],
+                       },
+                       wantTradePairs: []*common.TradePair{
+                               &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 2},
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
+               },
+               {
+                       desc: "Add and delete different transaction pairs",
+                       beforeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                               mockOrders[10],
+                               mockOrders[11],
+                       },
+                       beforeTradePairs: []*common.TradePair{
+                               &common.TradePair{
                                        FromAssetID: assetID1,
                                        ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
+                                       Count:       8,
                                },
-                               &common.Order{
-                                       FromAssetID: assetID1,
+                               &common.TradePair{
+                                       FromAssetID: assetID3,
                                        ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
+                                       Count:       1,
                                },
-                               &common.Order{
-                                       FromAssetID: assetID1,
+                               &common.TradePair{
+                                       FromAssetID: assetID4,
                                        ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       wantTradePairs: []*common.TradePair{
-                               &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 8},
-                       },
-                       wantDBState: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-               },
-               {
-                       desc: "del some order",
-                       beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       beforeTradePairs: []*common.TradePair{
-                               &common.TradePair{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Count:       8,
+                                       Count:       1,
                                },
                        },
                        beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
+                       addOrders: []*common.Order{
+                               mockOrders[12],
+                               mockOrders[13],
+                               mockOrders[14],
+                       },
                        delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                               mockOrders[10],
                        },
                        blockHeader: &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
                        wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[11],
+                               mockOrders[12],
+                               mockOrders[13],
+                               mockOrders[14],
                        },
                        wantTradePairs: []*common.TradePair{
-                               &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 5},
+                               &common.TradePair{FromAssetID: assetID4, ToAssetID: assetID2, Count: 2},
+                               &common.TradePair{FromAssetID: assetID5, ToAssetID: assetID2, Count: 1},
+                               &common.TradePair{FromAssetID: assetID6, ToAssetID: assetID2, Count: 1},
                        },
                        wantDBState: &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
                },
-               {
-                       desc: "del all order",
-                       beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       beforeTradePairs: []*common.TradePair{
-                               &common.TradePair{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Count:       8,
-                               },
-                       },
-                       beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-                       delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       blockHeader:    &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-                       wantOrders:     []*common.Order{},
-                       wantTradePairs: []*common.TradePair{},
-                       wantDBState:    &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
-               },
-               {
-                       desc: "Add and delete the same trade pair", //Add and delete different transaction pairs
-                       beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       beforeTradePairs: []*common.TradePair{
-                               &common.TradePair{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Count:       8,
-                               },
-                       },
-                       beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-                       addOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 1},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 2},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       blockHeader: &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-                       wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 2},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 1},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       wantTradePairs: []*common.TradePair{
-                               &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 2},
-                       },
-                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
-               },
-               {
-                       desc: "Add and delete different transaction pairs",
-                       beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID3,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 33},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID4,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 34},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       beforeTradePairs: []*common.TradePair{
-                               &common.TradePair{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Count:       8,
-                               },
-                               &common.TradePair{
-                                       FromAssetID: assetID3,
-                                       ToAssetID:   assetID2,
-                                       Count:       1,
-                               },
-                               &common.TradePair{
-                                       FromAssetID: assetID4,
-                                       ToAssetID:   assetID2,
-                                       Count:       1,
-                               },
-                       },
-                       beforeDBStatus: &common.MovDatabaseState{Height: 1, Hash: &bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-                       addOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID4,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 36},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID5,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 37},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID6,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 38},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID3,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 33},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       blockHeader: &types.BlockHeader{Height: 2, PreviousBlockHash: bc.Hash{V0: 14213576368347360351, V1: 16287398171800437029, V2: 9513543230620030445, V3: 8534035697182508177}},
-                       wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID4,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 34},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID4,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 36},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID5,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 37},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID6,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 38},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       wantTradePairs: []*common.TradePair{
-                               &common.TradePair{FromAssetID: assetID4, ToAssetID: assetID2, Count: 2},
-                               &common.TradePair{FromAssetID: assetID5, ToAssetID: assetID2, Count: 1},
-                               &common.TradePair{FromAssetID: assetID6, ToAssetID: assetID2, Count: 1},
-                       },
-                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: &bc.Hash{V0: 3724755213446347384, V1: 158878632373345042, V2: 18283800951484248781, V3: 7520797730449067221}},
-               },
-       }
-
-       initBlockHeader := &types.BlockHeader{
-               Height:  0,
-               Version: 1,
-       }
-
-       height := initBlockHeader.Height
-       hash := initBlockHeader.Hash()
-
-       defer os.RemoveAll("temp")
-       for i, c := range cases {
-               testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
-               }
-
-               batch := movStore.db.NewBatch()
-               tradePairsCnt := make(map[common.TradePair]int)
-               movStore.addOrders(batch, c.beforeOrders, tradePairsCnt)
-               if len(c.beforeOrders) > 0 {
-                       tradePairsCnt = make(map[common.TradePair]int)
-                       for _, tradePair := range c.beforeTradePairs {
-                               tradePairsCnt[*tradePair] = tradePair.Count
-                       }
-                       movStore.updateTradePairs(batch, tradePairsCnt)
-                       movStore.saveMovDatabaseState(batch, c.beforeDBStatus)
-               }
-               batch.Write()
-
-               if err := movStore.ProcessOrders(c.addOrders, c.delOrders, c.blockHeader); err != nil {
-                       t.Fatalf("case %d: ProcessOrders error %v.", i, err)
-               }
-
-               var gotOrders []*common.Order
-
-               tmp, err := movStore.ListOrders(&common.Order{FromAssetID: assetID1, ToAssetID: assetID2, Rate: 0})
-               if err != nil {
-                       t.Fatalf("case %d: ListOrders(assetID1 and assetID2) error %v.", i, err)
-               }
-
-               gotOrders = append(gotOrders, tmp...)
-
-               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID3, ToAssetID: assetID2, Rate: 0})
-               if err != nil {
-                       t.Fatalf("case %d: ListOrders(assetID3 and assetID2)  error %v.", i, err)
-               }
-
-               gotOrders = append(gotOrders, tmp...)
-
-               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID4, ToAssetID: assetID2, Rate: 0})
-               if err != nil {
-                       t.Fatalf("case %d: ListOrders(assetID4 and assetID2)  error %v.", i, err)
-               }
-
-               gotOrders = append(gotOrders, tmp...)
-
-               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID5, ToAssetID: assetID2, Rate: 0})
-               if err != nil {
-                       t.Fatalf("case %d: ListOrders(assetID5 and assetID2)  error %v.", i, err)
-               }
-
-               gotOrders = append(gotOrders, tmp...)
-
-               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID6, ToAssetID: assetID2, Rate: 0})
-               if err != nil {
-                       t.Fatalf("case %d: ListOrders(assetID6 and assetID2)  error %v.", i, err)
-               }
-
-               gotOrders = append(gotOrders, tmp...)
-
-               if !testutil.DeepEqual(gotOrders, c.wantOrders) {
-                       t.Fatalf("case %d: got orders , gotOrders: %v, wantOrders: %v.", i, gotOrders, c.wantOrders)
-               }
-
-               gotTradePairs, err := movStore.ListTradePairsWithStart(nil, nil)
-               if err != nil {
-                       t.Fatalf("case %d: ListTradePairsWithStart error %v.", i, err)
-               }
-
-               if !testutil.DeepEqual(gotTradePairs, c.wantTradePairs) {
-                       t.Fatalf("case %d: got tradePairs, gotTradePairs: %v, wantTradePairs: %v.", i, gotTradePairs, c.wantTradePairs)
-               }
-
-               gotDBState, err := movStore.GetMovDatabaseState()
-               if err != nil {
-                       t.Fatalf("case %d: GetMovDatabaseState error %v.", i, err)
-               }
-
-               if !testutil.DeepEqual(gotDBState, c.wantDBState) {
-                       t.Fatalf("case %d: got tradePairs, gotDBState: %v, wantDBStatus: %v.", i, gotDBState, c.wantDBState)
-               }
-
-               testDB.Close()
-               os.RemoveAll("temp")
-       }
-}
-
-func TestListOrders(t *testing.T) {
-       cases := []struct {
-               desc        string
-               storeOrders []*common.Order
-               query       *common.Order
-               wantOrders  []*common.Order
-       }{
-               {
-                       desc:       "empty",
-                       query:      &common.Order{FromAssetID: assetID1, ToAssetID: assetID2},
-                       wantOrders: []*common.Order{},
-               },
-               {
-                       desc: "query from first",
-                       storeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       query: &common.Order{FromAssetID: assetID1, ToAssetID: assetID2},
-                       wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-               },
-               {
-                       desc: "query from middle",
-                       storeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       query: &common.Order{
-                               FromAssetID: assetID1,
-                               ToAssetID:   assetID2,
-                               Rate:        0.00098,
-                               Utxo: &common.MovUtxo{
-                                       SourceID:       &bc.Hash{V0: 13},
-                                       Amount:         1,
-                                       SourcePos:      0,
-                                       ControlProgram: []byte("aa"),
-                               },
-                       },
-                       wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-               },
        }
 
        initBlockHeader := &types.BlockHeader{
@@ -1969,404 +844,238 @@ func TestListOrders(t *testing.T) {
        defer os.RemoveAll("temp")
        for i, c := range cases {
                testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
                }
 
                batch := movStore.db.NewBatch()
-               tradePairsCnt := make(map[common.TradePair]int)
-               movStore.addOrders(batch, c.storeOrders, tradePairsCnt)
-               movStore.updateTradePairs(batch, tradePairsCnt)
+               tradePairsCnt := make(map[string]*common.TradePair)
+               movStore.addOrders(batch, c.beforeOrders, tradePairsCnt)
+               if len(c.beforeOrders) > 0 {
+                       tradePairsCnt = make(map[string]*common.TradePair)
+                       for _, tradePair := range c.beforeTradePairs {
+                               tradePairsCnt[tradePair.Key()] = tradePair
+                       }
+                       movStore.updateTradePairs(batch, tradePairsCnt)
+                       movStore.saveMovDatabaseState(batch, c.beforeDBStatus)
+               }
                batch.Write()
 
-               gotOrders, err := movStore.ListOrders(c.query)
+               if err := movStore.ProcessOrders(c.addOrders, c.delOrders, c.blockHeader); err != nil {
+                       t.Fatalf("case %d: ProcessOrders error %v.", i, err)
+               }
+
+               var gotOrders []*common.Order
+
+               tmp, err := movStore.ListOrders(&common.Order{FromAssetID: assetID1, ToAssetID: assetID2, RatioNumerator: 0, RatioDenominator: 1})
                if err != nil {
-                       t.Fatalf("case %d: ListOrders error %v.", i, err)
+                       t.Fatalf("case %d: ListOrders(assetID1 and assetID2) error %v.", i, err)
                }
 
-               if !testutil.DeepEqual(gotOrders, c.wantOrders) {
-                       t.Fatalf("case %d: got orders , gotOrders: %v, wantOrders: %v.", i, gotOrders, c.wantOrders)
+               gotOrders = append(gotOrders, tmp...)
+
+               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID3, ToAssetID: assetID2, RatioNumerator: 0, RatioDenominator: 1})
+               if err != nil {
+                       t.Fatalf("case %d: ListOrders(assetID3 and assetID2)  error %v.", i, err)
                }
 
-               testDB.Close()
-               os.RemoveAll("temp")
-       }
-}
+               gotOrders = append(gotOrders, tmp...)
 
-func TestAddOrders(t *testing.T) {
-       cases := []struct {
-               desc         string
-               beforeOrders []*common.Order
-               addOrders    []*common.Order
-               wantOrders   []*common.Order
-       }{
-               {
-                       desc: "empty",
-                       addOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                       },
-                       wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID4, ToAssetID: assetID2, RatioNumerator: 0, RatioDenominator: 1})
+               if err != nil {
+                       t.Fatalf("case %d: ListOrders(assetID4 and assetID2)  error %v.", i, err)
+               }
+
+               gotOrders = append(gotOrders, tmp...)
+
+               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID5, ToAssetID: assetID2, RatioNumerator: 0, RatioDenominator: 1})
+               if err != nil {
+                       t.Fatalf("case %d: ListOrders(assetID5 and assetID2)  error %v.", i, err)
+               }
+
+               gotOrders = append(gotOrders, tmp...)
+
+               tmp, err = movStore.ListOrders(&common.Order{FromAssetID: assetID6, ToAssetID: assetID2, RatioNumerator: 0, RatioDenominator: 1})
+               if err != nil {
+                       t.Fatalf("case %d: ListOrders(assetID6 and assetID2)  error %v.", i, err)
+               }
+
+               gotOrders = append(gotOrders, tmp...)
+
+               if !testutil.DeepEqual(gotOrders, c.wantOrders) {
+                       t.Fatalf("case %d: got orders , gotOrders: %v, wantOrders: %v.", i, gotOrders, c.wantOrders)
+               }
+
+               gotTradePairs, err := movStore.ListTradePairsWithStart(nil, nil)
+               if err != nil {
+                       t.Fatalf("case %d: ListTradePairsWithStart error %v.", i, err)
+               }
+
+               if !testutil.DeepEqual(gotTradePairs, c.wantTradePairs) {
+                       t.Fatalf("case %d: got tradePairs, gotTradePairs: %v, wantTradePairs: %v.", i, gotTradePairs, c.wantTradePairs)
+               }
+
+               gotDBState, err := movStore.GetMovDatabaseState()
+               if err != nil {
+                       t.Fatalf("case %d: GetMovDatabaseState error %v.", i, err)
+               }
+
+               if !testutil.DeepEqual(gotDBState, c.wantDBState) {
+                       t.Fatalf("case %d: got tradePairs, gotDBState: %v, wantDBStatus: %v.", i, gotDBState, c.wantDBState)
+               }
+
+               testDB.Close()
+               os.RemoveAll("temp")
+       }
+}
+
+func TestListOrders(t *testing.T) {
+       cases := []struct {
+               desc        string
+               storeOrders []*common.Order
+               query       *common.Order
+               wantOrders  []*common.Order
+       }{
+               {
+                       desc:       "empty",
+                       query:      &common.Order{FromAssetID: assetID1, ToAssetID: assetID2},
+                       wantOrders: []*common.Order{},
+               },
+               {
+                       desc: "query from first",
+                       storeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                               mockOrders[10],
+                       },
+                       query: &common.Order{FromAssetID: assetID1, ToAssetID: assetID2},
+                       wantOrders: []*common.Order{
+                               mockOrders[1],
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[2],
+                               mockOrders[4],
+                               mockOrders[3],
+                               mockOrders[5],
+                               mockOrders[0],
                        },
                },
                {
-                       desc: "Stored data already exists",
-                       beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                       desc: "query from middle",
+                       storeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       query: mockOrders[3],
+                       wantOrders: []*common.Order{
+                               mockOrders[5],
+                               mockOrders[0],
                        },
+               },
+       }
+
+       initBlockHeader := &types.BlockHeader{
+               Height:  0,
+               Version: 1,
+       }
+
+       height := initBlockHeader.Height
+       hash := initBlockHeader.Hash()
+
+       defer os.RemoveAll("temp")
+       for i, c := range cases {
+               testDB := dbm.NewDB("testdb", "leveldb", "temp")
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
+               }
+
+               batch := movStore.db.NewBatch()
+               tradePairsCnt := make(map[string]*common.TradePair)
+               movStore.addOrders(batch, c.storeOrders, tradePairsCnt)
+               movStore.updateTradePairs(batch, tradePairsCnt)
+               batch.Write()
+
+               gotOrders, err := movStore.ListOrders(c.query)
+               if err != nil {
+                       t.Fatalf("case %d: ListOrders error %v.", i, err)
+               }
+
+               if !testutil.DeepEqual(gotOrders, c.wantOrders) {
+                       t.Fatalf("case %d: got orders , gotOrders: %v, wantOrders: %v.", i, gotOrders, c.wantOrders)
+               }
+
+               testDB.Close()
+               os.RemoveAll("temp")
+       }
+}
+
+func TestAddOrders(t *testing.T) {
+       cases := []struct {
+               desc         string
+               beforeOrders []*common.Order
+               addOrders    []*common.Order
+               wantOrders   []*common.Order
+       }{
+               {
+                       desc: "empty",
                        addOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
                        },
-                       wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                       wantOrders: []*common.Order{
+                               mockOrders[1],
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[2],
+                               mockOrders[4],
+                               mockOrders[3],
+                               mockOrders[5],
+                               mockOrders[0],
+                       },
+               },
+               {
+                       desc: "Stored data already exists",
+                       beforeOrders: []*common.Order{
+                               mockOrders[0],
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                       },
+                       addOrders: []*common.Order{
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
+                       },
+                       wantOrders: []*common.Order{
+                               mockOrders[1],
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[2],
+                               mockOrders[4],
+                               mockOrders[3],
+                               mockOrders[5],
+                               mockOrders[0],
                        },
                },
        }
@@ -2382,18 +1091,18 @@ func TestAddOrders(t *testing.T) {
        defer os.RemoveAll("temp")
        for i, c := range cases {
                testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
                }
 
                batch := movStore.db.NewBatch()
-               tradePairsCnt := make(map[common.TradePair]int)
+               tradePairsCnt := make(map[string]*common.TradePair)
                movStore.addOrders(batch, c.beforeOrders, tradePairsCnt)
                movStore.updateTradePairs(batch, tradePairsCnt)
                batch.Write()
 
-               tradePairsCnt = make(map[common.TradePair]int)
+               tradePairsCnt = make(map[string]*common.TradePair)
                movStore.addOrders(batch, c.addOrders, tradePairsCnt)
                batch.Write()
 
@@ -2422,28 +1131,8 @@ func TestDelOrders(t *testing.T) {
                {
                        desc: "empty",
                        delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[0],
+                               mockOrders[1],
                        },
                        wantOrders: []*common.Order{},
                        err:        errors.New("don't find trade pair"),
@@ -2451,260 +1140,40 @@ func TestDelOrders(t *testing.T) {
                {
                        desc: "Delete existing data",
                        beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[1],
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[0],
                        },
                        delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         10,
-                                               SourcePos:      1,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[4],
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
                        },
                        wantOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 22},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00097,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 23},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00098,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 13},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        1.00090,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 21},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[1],
+                               mockOrders[2],
+                               mockOrders[3],
+                               mockOrders[0],
                        },
                        err: nil,
                },
                {
                        desc: "Delete all data",
                        beforeOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[7],
+                               mockOrders[6],
+                               mockOrders[5],
                        },
                        delOrders: []*common.Order{
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00099,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 24},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00096,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 25},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
-                               &common.Order{
-                                       FromAssetID: assetID1,
-                                       ToAssetID:   assetID2,
-                                       Rate:        0.00095,
-                                       Utxo: &common.MovUtxo{
-                                               SourceID:       &bc.Hash{V0: 26},
-                                               Amount:         1,
-                                               SourcePos:      0,
-                                               ControlProgram: []byte("aa"),
-                                       },
-                               },
+                               mockOrders[5],
+                               mockOrders[6],
+                               mockOrders[7],
                        },
                        wantOrders: []*common.Order{},
                        err:        nil,
@@ -2722,18 +1191,18 @@ func TestDelOrders(t *testing.T) {
        defer os.RemoveAll("temp")
        for i, c := range cases {
                testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
                }
 
                batch := movStore.db.NewBatch()
-               tradePairsCnt := make(map[common.TradePair]int)
+               tradePairsCnt := make(map[string]*common.TradePair)
                movStore.addOrders(batch, c.beforeOrders, tradePairsCnt)
                movStore.updateTradePairs(batch, tradePairsCnt)
                batch.Write()
 
-               tradePairsCnt = make(map[common.TradePair]int)
+               tradePairsCnt = make(map[string]*common.TradePair)
                movStore.deleteOrders(batch, c.delOrders, tradePairsCnt)
                movStore.updateTradePairs(batch, tradePairsCnt)
                batch.Write()
@@ -2755,7 +1224,7 @@ func TestDelOrders(t *testing.T) {
 func TestListTradePairsWithStart(t *testing.T) {
        cases := []struct {
                desc            string
-               storeTradePairs map[common.TradePair]int
+               storeTradePairs map[string]*common.TradePair
                query           *common.TradePair
                wantTradePairs  []*common.TradePair
        }{
@@ -2766,13 +1235,13 @@ func TestListTradePairsWithStart(t *testing.T) {
                },
                {
                        desc: "query from first",
-                       storeTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}: 1,
-                               common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}: 2,
-                               common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}: 3,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}: 4,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}: 5,
-                               common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}: 6,
+                       storeTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}).Key(): {FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
+                               (&common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}).Key(): {FromAssetID: assetID2, ToAssetID: assetID3, Count: 2},
+                               (&common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}).Key(): {FromAssetID: assetID3, ToAssetID: assetID4, Count: 3},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}).Key(): {FromAssetID: assetID4, ToAssetID: assetID5, Count: 4},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}).Key(): {FromAssetID: assetID4, ToAssetID: assetID6, Count: 5},
+                               (&common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}).Key(): {FromAssetID: assetID5, ToAssetID: assetID7, Count: 6},
                        },
                        query: &common.TradePair{},
                        wantTradePairs: []*common.TradePair{
@@ -2786,14 +1255,14 @@ func TestListTradePairsWithStart(t *testing.T) {
                },
                {
                        desc: "query from middle",
-                       storeTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}: 1,
-                               common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}: 2,
-                               common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}: 3,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}: 4,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}: 5,
-                               common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}: 6,
-                               common.TradePair{FromAssetID: assetID6, ToAssetID: assetID8}: 7,
+                       storeTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}).Key(): {FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
+                               (&common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}).Key(): {FromAssetID: assetID2, ToAssetID: assetID3, Count: 2},
+                               (&common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}).Key(): {FromAssetID: assetID3, ToAssetID: assetID4, Count: 3},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}).Key(): {FromAssetID: assetID4, ToAssetID: assetID5, Count: 4},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}).Key(): {FromAssetID: assetID4, ToAssetID: assetID6, Count: 5},
+                               (&common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}).Key(): {FromAssetID: assetID5, ToAssetID: assetID7, Count: 6},
+                               (&common.TradePair{FromAssetID: assetID6, ToAssetID: assetID8}).Key(): {FromAssetID: assetID6, ToAssetID: assetID8, Count: 7},
                        },
                        query: &common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4, Count: 3},
                        wantTradePairs: []*common.TradePair{
@@ -2816,9 +1285,9 @@ func TestListTradePairsWithStart(t *testing.T) {
        defer os.RemoveAll("temp")
        for i, c := range cases {
                testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
                }
 
                batch := movStore.db.NewBatch()
@@ -2842,20 +1311,20 @@ func TestListTradePairsWithStart(t *testing.T) {
 func TestUpdateTradePairs(t *testing.T) {
        cases := []struct {
                desc             string
-               beforeTradePairs map[common.TradePair]int
-               addTradePairs    map[common.TradePair]int
-               delTradePairs    map[common.TradePair]int
+               beforeTradePairs map[string]*common.TradePair
+               addTradePairs    map[string]*common.TradePair
+               delTradePairs    map[string]*common.TradePair
                wantTradePairs   []*common.TradePair
        }{
                {
                        desc: "empty",
-                       addTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}: 1,
-                               common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}: 2,
-                               common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}: 3,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}: 4,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}: 5,
-                               common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}: 6,
+                       addTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}).Key(): {FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
+                               (&common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}).Key(): {FromAssetID: assetID2, ToAssetID: assetID3, Count: 2},
+                               (&common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}).Key(): {FromAssetID: assetID3, ToAssetID: assetID4, Count: 3},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}).Key(): {FromAssetID: assetID4, ToAssetID: assetID5, Count: 4},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}).Key(): {FromAssetID: assetID4, ToAssetID: assetID6, Count: 5},
+                               (&common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}).Key(): {FromAssetID: assetID5, ToAssetID: assetID7, Count: 6},
                        },
                        wantTradePairs: []*common.TradePair{
                                &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
@@ -2868,15 +1337,15 @@ func TestUpdateTradePairs(t *testing.T) {
                },
                {
                        desc: "Stored data already exists",
-                       beforeTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}: 1,
-                               common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}: 2,
-                               common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}: 3,
+                       beforeTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}).Key(): {FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
+                               (&common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}).Key(): {FromAssetID: assetID2, ToAssetID: assetID3, Count: 2},
+                               (&common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}).Key(): {FromAssetID: assetID3, ToAssetID: assetID4, Count: 3},
                        },
-                       addTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}: 4,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}: 5,
-                               common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}: 6,
+                       addTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}).Key(): {FromAssetID: assetID4, ToAssetID: assetID5, Count: 4},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}).Key(): {FromAssetID: assetID4, ToAssetID: assetID6, Count: 5},
+                               (&common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}).Key(): {FromAssetID: assetID5, ToAssetID: assetID7, Count: 6},
                        },
                        wantTradePairs: []*common.TradePair{
                                &common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
@@ -2889,19 +1358,19 @@ func TestUpdateTradePairs(t *testing.T) {
                },
                {
                        desc: "delete some data",
-                       beforeTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}: 1,
-                               common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}: 2,
-                               common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}: 3,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}: 4,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}: 5,
-                               common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}: 6,
-                       },
-                       delTradePairs: map[common.TradePair]int{
-                               common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}: -1,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}: -4,
-                               common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}: -2,
-                               common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}: -4,
+                       beforeTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}).Key(): {FromAssetID: assetID1, ToAssetID: assetID2, Count: 1},
+                               (&common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3}).Key(): {FromAssetID: assetID2, ToAssetID: assetID3, Count: 2},
+                               (&common.TradePair{FromAssetID: assetID3, ToAssetID: assetID4}).Key(): {FromAssetID: assetID3, ToAssetID: assetID4, Count: 3},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}).Key(): {FromAssetID: assetID4, ToAssetID: assetID5, Count: 4},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}).Key(): {FromAssetID: assetID4, ToAssetID: assetID6, Count: 5},
+                               (&common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}).Key(): {FromAssetID: assetID5, ToAssetID: assetID7, Count: 6},
+                       },
+                       delTradePairs: map[string]*common.TradePair{
+                               (&common.TradePair{FromAssetID: assetID1, ToAssetID: assetID2}).Key(): {FromAssetID: assetID1, ToAssetID: assetID2, Count: -1},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID5}).Key(): {FromAssetID: assetID4, ToAssetID: assetID5, Count: -4},
+                               (&common.TradePair{FromAssetID: assetID4, ToAssetID: assetID6}).Key(): {FromAssetID: assetID4, ToAssetID: assetID6, Count: -2},
+                               (&common.TradePair{FromAssetID: assetID5, ToAssetID: assetID7}).Key(): {FromAssetID: assetID5, ToAssetID: assetID7, Count: -4},
                        },
                        wantTradePairs: []*common.TradePair{
                                &common.TradePair{FromAssetID: assetID2, ToAssetID: assetID3, Count: 2},
@@ -2923,9 +1392,9 @@ func TestUpdateTradePairs(t *testing.T) {
        defer os.RemoveAll("temp")
        for i, c := range cases {
                testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
                }
 
                batch := movStore.db.NewBatch()
@@ -2995,9 +1464,9 @@ func TestCheckMovDatabaseState(t *testing.T) {
        defer os.RemoveAll("temp")
        for i, c := range cases {
                testDB := dbm.NewDB("testdb", "leveldb", "temp")
-               movStore, err := NewMovStore(testDB, height, &hash)
-               if err != nil {
-                       t.Fatalf("case %d: NewMovStore error %v.", i, err)
+               movStore := NewLevelDBMovStore(testDB)
+               if err := movStore.InitDBState(height, &hash); err != nil {
+                       t.Fatalf("case %d: InitDBState error %v.", i, err)
                }
 
                batch := movStore.db.NewBatch()
diff --git a/application/mov/match/engine.go b/application/mov/match/engine.go
new file mode 100644 (file)
index 0000000..7e027c0
--- /dev/null
@@ -0,0 +1,298 @@
+package match
+
+import (
+       "math/big"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/contract"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/errors"
+       vprMath "github.com/bytom/vapor/math"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
+)
+
+// Engine is used to generate math transactions
+type Engine struct {
+       orderBook     *OrderBook
+       feeStrategy   FeeStrategy
+       rewardProgram []byte
+}
+
+type orderPosition struct {
+       blockHeight uint64
+       txIndex     uint64
+}
+
+// NewEngine return a new Engine
+func NewEngine(orderBook *OrderBook, rewardProgram []byte) *Engine {
+       return &Engine{orderBook: orderBook, feeStrategy: NewDefaultFeeStrategy(), rewardProgram: rewardProgram}
+}
+
+// HasMatchedTx check does the input trade pair can generate a match deal
+func (e *Engine) HasMatchedTx(tradePairs ...*common.TradePair) bool {
+       if err := validateTradePairs(tradePairs); err != nil {
+               return false
+       }
+
+       orders := e.orderBook.PeekOrders(tradePairs)
+       if len(orders) == 0 {
+               return false
+       }
+
+       return IsMatched(orders)
+}
+
+// NextMatchedTx return the next matchable transaction by the specified trade pairs
+// the size of trade pairs at least 2, and the sequence of trade pairs can form a loop
+// for example, [assetA -> assetB, assetB -> assetC, assetC -> assetA]
+func (e *Engine) NextMatchedTx(tradePairs ...*common.TradePair) (*types.Tx, error) {
+       if !e.HasMatchedTx(tradePairs...) {
+               return nil, errors.New("the specified trade pairs can not be matched")
+       }
+
+       tx, partialOrderPositions, err := e.buildMatchTx(sortOrders(e.orderBook.PeekOrders(tradePairs)))
+       if err != nil {
+               return nil, err
+       }
+
+       for _, tradePair := range tradePairs {
+               e.orderBook.PopOrder(tradePair)
+       }
+
+       if err := e.addReOrder(tx, partialOrderPositions); err != nil {
+               return nil, err
+       }
+       return tx, nil
+}
+
+func addMatchTxFeeOutput(txData *types.TxData, fees []*bc.AssetAmount, rewardProgram []byte) {
+       for _, feeAmount := range fees {
+               txData.Outputs = append(txData.Outputs, types.NewIntraChainOutput(*feeAmount.AssetId, feeAmount.Amount, rewardProgram))
+       }
+}
+
+func (e *Engine) addReOrder(tx *types.Tx, partialOrderPositions []*orderPosition) error {
+       index := 0
+       for i, output := range tx.Outputs {
+               if !segwit.IsP2WMCScript(output.ControlProgram()) || output.AssetAmount().Amount == 0 {
+                       continue
+               }
+
+               partialOrderPos := partialOrderPositions[index]
+               order, err := common.NewOrderFromOutput(tx, i, partialOrderPos.blockHeight, partialOrderPos.txIndex)
+               if err != nil {
+                       return err
+               }
+
+               index++
+               e.orderBook.AddOrder(order)
+       }
+       return nil
+}
+
+func addRefundOutput(txData *types.TxData, takerProgram []byte) {
+       refundAmount := map[bc.AssetID]uint64{}
+       for _, input := range txData.Inputs {
+               refundAmount[input.AssetID()] += input.Amount()
+       }
+
+       for _, output := range txData.Outputs {
+               assetAmount := output.AssetAmount()
+               refundAmount[*assetAmount.AssetId] -= assetAmount.Amount
+       }
+
+       for assetID, amount := range refundAmount {
+               if amount != 0 {
+                       txData.Outputs = append(txData.Outputs, types.NewIntraChainOutput(assetID, amount, takerProgram))
+               }
+       }
+}
+
+func (e *Engine) buildMatchTx(orders []*common.Order) (*types.Tx, []*orderPosition, error) {
+       txData := &types.TxData{Version: 1}
+       for _, order := range orders {
+               input := types.NewSpendInput(nil, *order.Utxo.SourceID, *order.FromAssetID, order.Utxo.Amount, order.Utxo.SourcePos, order.Utxo.ControlProgram)
+               txData.Inputs = append(txData.Inputs, input)
+       }
+
+       takerPos := takerPos(orders)
+       receivedAmounts, priceDiffs := CalcReceivedAmount(orders)
+       allocatedAssets := e.feeStrategy.Allocate(receivedAmounts, priceDiffs, takerPos)
+
+       partialOrderPositions, err := addMatchTxOutput(txData, orders, receivedAmounts, allocatedAssets)
+       if err != nil {
+               return nil, nil, err
+       }
+
+       addMatchTxFeeOutput(txData, allocatedAssets.Fees, e.rewardProgram)
+       addRefundOutput(txData, orders[takerPos].SellerProgram)
+
+       byteData, err := txData.MarshalText()
+       if err != nil {
+               return nil, nil, err
+       }
+
+       txData.SerializedSize = uint64(len(byteData))
+       return types.NewTx(*txData), partialOrderPositions, nil
+}
+
+func addMatchTxOutput(txData *types.TxData, orders []*common.Order, receivedAmounts []*bc.AssetAmount, allocatedAssets *AllocatedAssets) ([]*orderPosition, error) {
+       var partialOrderPositions []*orderPosition
+       for i, order := range orders {
+               receivedAmount := receivedAmounts[i].Amount
+               shouldPayAmount := calcShouldPayAmount(receivedAmount, order.RatioNumerator, order.RatioDenominator)
+
+               requestAmount := CalcRequestAmount(order.Utxo.Amount, order.RatioNumerator, order.RatioDenominator)
+               exchangeAmount := order.Utxo.Amount - shouldPayAmount
+               isPartialTrade := requestAmount > receivedAmount && CalcRequestAmount(exchangeAmount, order.RatioNumerator, order.RatioDenominator) >= 1
+
+               setMatchTxArguments(txData.Inputs[i], isPartialTrade, len(txData.Outputs), receivedAmount)
+
+               txData.Outputs = append(txData.Outputs, types.NewIntraChainOutput(*order.ToAssetID, allocatedAssets.Receives[i].Amount, order.SellerProgram))
+               if isPartialTrade {
+                       txData.Outputs = append(txData.Outputs, types.NewIntraChainOutput(*order.FromAssetID, exchangeAmount, order.Utxo.ControlProgram))
+                       partialOrderPositions = append(partialOrderPositions, &orderPosition{blockHeight: order.BlockHeight, txIndex: order.TxIndex})
+               }
+       }
+       return partialOrderPositions, nil
+}
+
+func calcOppositeIndex(size int, selfIdx int) int {
+       return (selfIdx + 1) % size
+}
+
+// CalcRequestAmount is from amount * numerator / ratioDenominator
+func CalcRequestAmount(fromAmount uint64, ratioNumerator, ratioDenominator int64) uint64 {
+       res := big.NewInt(0).SetUint64(fromAmount)
+       res.Mul(res, big.NewInt(ratioNumerator)).Quo(res, big.NewInt(ratioDenominator))
+       if !res.IsUint64() {
+               return 0
+       }
+       return res.Uint64()
+}
+
+func calcShouldPayAmount(receiveAmount uint64, ratioNumerator, ratioDenominator int64) uint64 {
+       res := big.NewInt(0).SetUint64(receiveAmount)
+       res.Mul(res, big.NewInt(ratioDenominator)).Quo(res, big.NewInt(ratioNumerator))
+       if !res.IsUint64() {
+               return 0
+       }
+       return res.Uint64()
+}
+
+// CalcReceivedAmount return amount of assets received by each participant in the matching transaction and the price difference
+func CalcReceivedAmount(orders []*common.Order) ([]*bc.AssetAmount, []*bc.AssetAmount) {
+       var receivedAmounts, priceDiffs, shouldPayAmounts []*bc.AssetAmount
+       for i, order := range orders {
+               requestAmount := CalcRequestAmount(order.Utxo.Amount, order.RatioNumerator, order.RatioDenominator)
+               oppositeOrder := orders[calcOppositeIndex(len(orders), i)]
+               receiveAmount := vprMath.MinUint64(oppositeOrder.Utxo.Amount, requestAmount)
+               shouldPayAmount := calcShouldPayAmount(receiveAmount, order.RatioNumerator, order.RatioDenominator)
+               receivedAmounts = append(receivedAmounts, &bc.AssetAmount{AssetId: order.ToAssetID, Amount: receiveAmount})
+               shouldPayAmounts = append(shouldPayAmounts, &bc.AssetAmount{AssetId: order.FromAssetID, Amount: shouldPayAmount})
+       }
+
+       for i, receivedAmount := range receivedAmounts {
+               oppositeShouldPayAmount := shouldPayAmounts[calcOppositeIndex(len(orders), i)]
+               priceDiffs = append(priceDiffs, &bc.AssetAmount{AssetId: oppositeShouldPayAmount.AssetId, Amount: 0})
+               if oppositeShouldPayAmount.Amount > receivedAmount.Amount {
+                       priceDiffs[i].Amount = oppositeShouldPayAmount.Amount - receivedAmount.Amount
+               }
+       }
+       return receivedAmounts, priceDiffs
+}
+
+// IsMatched check does the orders can be exchange
+func IsMatched(orders []*common.Order) bool {
+       sortedOrders := sortOrders(orders)
+       if len(sortedOrders) == 0 {
+               return false
+       }
+
+       product := big.NewRat(1, 1)
+       for _, order := range orders {
+               product.Mul(product, big.NewRat(order.RatioNumerator, order.RatioDenominator))
+       }
+       one := big.NewRat(1, 1)
+       return product.Cmp(one) <= 0
+}
+
+func takerPos(orders []*common.Order) int {
+       for i, order := range orders {
+               if !isMaker(order, orders[calcOppositeIndex(len(orders), i)]) {
+                       return i
+               }
+       }
+       return 0
+}
+
+func isMaker(order, oppositeOrder *common.Order) bool {
+       if order.BlockHeight != oppositeOrder.BlockHeight {
+               return order.BlockHeight < oppositeOrder.BlockHeight
+       }
+
+       if order.TxIndex != oppositeOrder.TxIndex {
+               return order.TxIndex < oppositeOrder.TxIndex
+       }
+
+       return order.UTXOHash().String() < oppositeOrder.UTXOHash().String()
+}
+
+func setMatchTxArguments(txInput *types.TxInput, isPartialTrade bool, position int, receiveAmounts uint64) {
+       var arguments [][]byte
+       if isPartialTrade {
+               arguments = [][]byte{vm.Int64Bytes(int64(receiveAmounts)), vm.Int64Bytes(int64(position)), vm.Int64Bytes(contract.PartialTradeClauseSelector)}
+       } else {
+               arguments = [][]byte{vm.Int64Bytes(int64(position)), vm.Int64Bytes(contract.FullTradeClauseSelector)}
+       }
+       txInput.SetArguments(arguments)
+}
+
+func sortOrders(orders []*common.Order) []*common.Order {
+       if len(orders) == 0 {
+               return nil
+       }
+
+       orderMap := make(map[bc.AssetID]*common.Order)
+       firstOrder := orders[0]
+       for i := 1; i < len(orders); i++ {
+               orderMap[*orders[i].FromAssetID] = orders[i]
+       }
+
+       sortedOrders := []*common.Order{firstOrder}
+       for order := firstOrder; *order.ToAssetID != *firstOrder.FromAssetID; {
+               nextOrder, ok := orderMap[*order.ToAssetID]
+               if !ok {
+                       return nil
+               }
+
+               sortedOrders = append(sortedOrders, nextOrder)
+               order = nextOrder
+       }
+       return sortedOrders
+}
+
+func validateTradePairs(tradePairs []*common.TradePair) error {
+       if len(tradePairs) < 2 {
+               return errors.New("size of trade pairs at least 2")
+       }
+
+       assetMap := make(map[string]bool)
+       for _, tradePair := range tradePairs {
+               assetMap[tradePair.FromAssetID.String()] = true
+               if *tradePair.FromAssetID == *tradePair.ToAssetID {
+                       return errors.New("from asset id can't equal to asset id")
+               }
+       }
+
+       for _, tradePair := range tradePairs {
+               key := tradePair.ToAssetID.String()
+               if _, ok := assetMap[key]; !ok {
+                       return errors.New("invalid trade pairs")
+               }
+               delete(assetMap, key)
+       }
+       return nil
+}
diff --git a/application/mov/match/engine_test.go b/application/mov/match/engine_test.go
new file mode 100644 (file)
index 0000000..6ff2165
--- /dev/null
@@ -0,0 +1,388 @@
+package match
+
+import (
+       "testing"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/mock"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/validation"
+)
+
+func TestGenerateMatchedTxs(t *testing.T) {
+       btc2eth := &common.TradePair{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH}
+       eth2btc := &common.TradePair{FromAssetID: &mock.ETH, ToAssetID: &mock.BTC}
+       eth2eos := &common.TradePair{FromAssetID: &mock.ETH, ToAssetID: &mock.EOS}
+       eos2btc := &common.TradePair{FromAssetID: &mock.EOS, ToAssetID: &mock.BTC}
+
+       cases := []struct {
+               desc            string
+               tradePairs      []*common.TradePair
+               initStoreOrders []*common.Order
+               wantMatchedTxs  []*types.Tx
+       }{
+               {
+                       desc:       "full matched",
+                       tradePairs: []*common.TradePair{btc2eth, eth2btc},
+                       initStoreOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[0],
+                       },
+                       wantMatchedTxs: []*types.Tx{
+                               mock.MatchedTxs[1],
+                       },
+               },
+               {
+                       desc:       "partial matched",
+                       tradePairs: []*common.TradePair{btc2eth, eth2btc},
+                       initStoreOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[1],
+                       },
+                       wantMatchedTxs: []*types.Tx{
+                               mock.MatchedTxs[0],
+                       },
+               },
+               {
+                       desc:       "partial matched and continue to match",
+                       tradePairs: []*common.TradePair{btc2eth, eth2btc},
+                       initStoreOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[2],
+                       },
+                       wantMatchedTxs: []*types.Tx{
+                               mock.MatchedTxs[2],
+                               mock.MatchedTxs[3],
+                       },
+               },
+               {
+                       desc:       "unable to match",
+                       tradePairs: []*common.TradePair{btc2eth, eth2btc},
+                       initStoreOrders: []*common.Order{
+                               mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[0],
+                       },
+                       wantMatchedTxs: []*types.Tx{},
+               },
+               {
+                       desc:       "cycle match",
+                       tradePairs: []*common.TradePair{btc2eth, eth2eos, eos2btc},
+                       initStoreOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Eth2EosOrders[0], mock.Eos2BtcOrders[0],
+                       },
+                       wantMatchedTxs: []*types.Tx{
+                               mock.MatchedTxs[6],
+                       },
+               },
+               {
+                       desc:       "multiple assets as a fee",
+                       tradePairs: []*common.TradePair{btc2eth, eth2btc},
+                       initStoreOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Eth2BtcOrders[3],
+                       },
+                       wantMatchedTxs: []*types.Tx{
+                               mock.MatchedTxs[11],
+                       },
+               },
+       }
+
+       for i, c := range cases {
+               movStore := mock.NewMovStore([]*common.TradePair{btc2eth, eth2btc}, c.initStoreOrders)
+               matchEngine := NewEngine(NewOrderBook(movStore, nil, nil), mock.RewardProgram)
+               var gotMatchedTxs []*types.Tx
+               for matchEngine.HasMatchedTx(c.tradePairs...) {
+                       matchedTx, err := matchEngine.NextMatchedTx(c.tradePairs...)
+                       if err != nil {
+                               t.Fatal(err)
+                       }
+
+                       gotMatchedTxs = append(gotMatchedTxs, matchedTx)
+               }
+
+               if len(c.wantMatchedTxs) != len(gotMatchedTxs) {
+                       t.Errorf("#%d(%s) the length of got matched tx is not equals want matched tx", i, c.desc)
+                       continue
+               }
+
+               for j, gotMatchedTx := range gotMatchedTxs {
+                       if _, err := validation.ValidateTx(gotMatchedTx.Tx, &bc.Block{BlockHeader: &bc.BlockHeader{Version: 1}}); err != nil {
+                               t.Fatal(err)
+                       }
+
+                       c.wantMatchedTxs[j].Version = 1
+                       byteData, err := c.wantMatchedTxs[j].MarshalText()
+                       if err != nil {
+                               t.Fatal(err)
+                       }
+
+                       c.wantMatchedTxs[j].SerializedSize = uint64(len(byteData))
+                       wantMatchedTx := types.NewTx(c.wantMatchedTxs[j].TxData)
+                       if gotMatchedTx.ID != wantMatchedTx.ID {
+                               t.Errorf("#%d(%s) the tx hash of got matched tx: %s is not equals want matched tx: %s", i, c.desc, gotMatchedTx.ID.String(), wantMatchedTx.ID.String())
+                       }
+               }
+       }
+}
+
+func TestValidateTradePairs(t *testing.T) {
+       cases := []struct {
+               desc       string
+               tradePairs []*common.TradePair
+               wantError  bool
+       }{
+               {
+                       desc: "valid case of two trade pairs",
+                       tradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &mock.BTC,
+                                       ToAssetID:   &mock.ETH,
+                               },
+                               {
+                                       FromAssetID: &mock.ETH,
+                                       ToAssetID:   &mock.BTC,
+                               },
+                       },
+                       wantError: false,
+               },
+               {
+                       desc: "invalid case of two trade pairs",
+                       tradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &mock.BTC,
+                                       ToAssetID:   &mock.ETH,
+                               },
+                               {
+                                       FromAssetID: &mock.ETH,
+                                       ToAssetID:   &mock.EOS,
+                               },
+                       },
+                       wantError: true,
+               },
+               {
+                       desc: "valid case of three trade pairs",
+                       tradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &mock.BTC,
+                                       ToAssetID:   &mock.ETH,
+                               },
+                               {
+                                       FromAssetID: &mock.ETH,
+                                       ToAssetID:   &mock.EOS,
+                               },
+                               {
+                                       FromAssetID: &mock.EOS,
+                                       ToAssetID:   &mock.BTC,
+                               },
+                       },
+                       wantError: false,
+               },
+               {
+                       desc: "invalid case of three trade pairs",
+                       tradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &mock.BTC,
+                                       ToAssetID:   &mock.ETH,
+                               },
+                               {
+                                       FromAssetID: &mock.ETH,
+                                       ToAssetID:   &mock.BTC,
+                               },
+                               {
+                                       FromAssetID: &mock.BTC,
+                                       ToAssetID:   &mock.BTC,
+                               },
+                       },
+                       wantError: true,
+               },
+               {
+                       desc: "valid case 2 of three trade pairs",
+                       tradePairs: []*common.TradePair{
+                               {
+                                       FromAssetID: &mock.BTC,
+                                       ToAssetID:   &mock.ETH,
+                               },
+                               {
+                                       FromAssetID: &mock.EOS,
+                                       ToAssetID:   &mock.BTC,
+                               },
+                               {
+                                       FromAssetID: &mock.ETH,
+                                       ToAssetID:   &mock.EOS,
+                               },
+                       },
+                       wantError: false,
+               },
+       }
+
+       for i, c := range cases {
+               err := validateTradePairs(c.tradePairs)
+               if c.wantError && err == nil {
+                       t.Errorf("#%d(%s): want error, got no error", i, c.desc)
+               }
+
+               if !c.wantError && err != nil {
+                       t.Errorf("#%d(%s): want no error, got error (%v)", i, c.desc, err)
+               }
+       }
+}
+
+func TestIsMatched(t *testing.T) {
+       cases := []struct {
+               desc        string
+               orders      []*common.Order
+               wantMatched bool
+       }{
+               {
+                       desc: "ratio is equals",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   6250,
+                                       RatioDenominator: 3,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   3,
+                                       RatioDenominator: 6250,
+                               },
+                       },
+                       wantMatched: true,
+               },
+               {
+                       desc: "ratio is equals, and numerator and denominator are multiples of the opposite",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   6250,
+                                       RatioDenominator: 3,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   9,
+                                       RatioDenominator: 18750,
+                               },
+                       },
+                       wantMatched: true,
+               },
+               {
+                       desc: "matched with a slight diff",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   62500000000000000,
+                                       RatioDenominator: 30000000000001,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   3,
+                                       RatioDenominator: 6250,
+                               },
+                       },
+                       wantMatched: true,
+               },
+               {
+                       desc: "not matched with a slight diff",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   62500000000000001,
+                                       RatioDenominator: 30000000000000,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   3,
+                                       RatioDenominator: 6250,
+                               },
+                       },
+                       wantMatched: false,
+               },
+               {
+                       desc: "ring matched",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   2000000003,
+                                       RatioDenominator: 100000001,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.EOS,
+                                       RatioNumerator:   400000000001,
+                                       RatioDenominator: 2000000003,
+                               },
+                               {
+                                       FromAssetID:      &mock.EOS,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   100000001,
+                                       RatioDenominator: 400000000001,
+                               },
+                       },
+                       wantMatched: true,
+               },
+               {
+                       desc: "ring matched with a slight diff",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   2000000003,
+                                       RatioDenominator: 100000001,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.EOS,
+                                       RatioNumerator:   400000000001,
+                                       RatioDenominator: 2000000003,
+                               },
+                               {
+                                       FromAssetID:      &mock.EOS,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   100000000,
+                                       RatioDenominator: 400000000001,
+                               },
+                       },
+                       wantMatched: true,
+               },
+               {
+                       desc: "ring fail matched with a slight diff",
+                       orders: []*common.Order{
+                               {
+                                       FromAssetID:      &mock.BTC,
+                                       ToAssetID:        &mock.ETH,
+                                       RatioNumerator:   2000000003,
+                                       RatioDenominator: 100000001,
+                               },
+                               {
+                                       FromAssetID:      &mock.ETH,
+                                       ToAssetID:        &mock.EOS,
+                                       RatioNumerator:   400000000001,
+                                       RatioDenominator: 2000000003,
+                               },
+                               {
+                                       FromAssetID:      &mock.EOS,
+                                       ToAssetID:        &mock.BTC,
+                                       RatioNumerator:   100000002,
+                                       RatioDenominator: 400000000001,
+                               },
+                       },
+                       wantMatched: false,
+               },
+       }
+
+       for i, c := range cases {
+               gotMatched := IsMatched(c.orders)
+               if gotMatched != c.wantMatched {
+                       t.Errorf("#%d(%s) got matched:%v, want matched:%v", i, c.desc, gotMatched, c.wantMatched)
+               }
+       }
+}
diff --git a/application/mov/match/fee_strategy.go b/application/mov/match/fee_strategy.go
new file mode 100644 (file)
index 0000000..3d0de99
--- /dev/null
@@ -0,0 +1,123 @@
+package match
+
+import (
+       "math"
+
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+)
+
+var (
+       // ErrInvalidAmountOfFee represent The fee charged is invalid
+       ErrInvalidAmountOfFee = errors.New("amount of fee is invalid")
+)
+
+const forkBlockHeightAt20201028 = 78968400
+
+// AllocatedAssets represent reallocated assets after calculating fees
+type AllocatedAssets struct {
+       Receives []*bc.AssetAmount
+       Fees     []*bc.AssetAmount
+}
+
+// FeeStrategy used to indicate how to charge a matching fee
+type FeeStrategy interface {
+       // Allocate will allocate the price differential in matching transaction to the participants and the fee
+       // @param receiveAmounts the amount of assets that the participants in the matching transaction can received when no fee is considered
+       // @return reallocated assets after calculating fees
+       Allocate(receiveAmounts, priceDiffs []*bc.AssetAmount, takerPos int) *AllocatedAssets
+
+       // Validate verify that the fee charged for a matching transaction is correct
+       Validate(receiveAmounts, priceDiffs []*bc.AssetAmount, feeAmounts map[bc.AssetID]uint64, blockHeight uint64) error
+}
+
+// DefaultFeeStrategy represent the default fee charge strategy
+type DefaultFeeStrategy struct{}
+
+// NewDefaultFeeStrategy return a new instance of DefaultFeeStrategy
+func NewDefaultFeeStrategy() *DefaultFeeStrategy {
+       return &DefaultFeeStrategy{}
+}
+
+// Allocate will allocate the price differential in matching transaction to the participants and the fee
+func (d *DefaultFeeStrategy) Allocate(receiveAmounts, priceDiffs []*bc.AssetAmount, takerPos int) *AllocatedAssets {
+       receives := make([]*bc.AssetAmount, len(receiveAmounts))
+       fees := make([]*bc.AssetAmount, len(receiveAmounts))
+
+       for i, receiveAmount := range receiveAmounts {
+               fee := calcMinFeeAmount(receiveAmount.Amount)
+               receives[i] = &bc.AssetAmount{AssetId: receiveAmount.AssetId, Amount: receiveAmount.Amount - fee}
+               fees[i] = &bc.AssetAmount{AssetId: receiveAmount.AssetId, Amount: fee}
+
+               if i == takerPos {
+                       for _, priceDiff := range priceDiffs {
+                               if *priceDiff.AssetId == *receiveAmount.AssetId {
+                                       fee = calcMinFeeAmount(priceDiff.Amount)
+                                       priceDiff.Amount -= fee
+                                       fees[i].Amount += fee
+                               }
+                       }
+               }
+       }
+       return &AllocatedAssets{Receives: receives, Fees: fees}
+}
+
+// Validate verify that the fee charged for a matching transaction is correct
+func (d *DefaultFeeStrategy) Validate(receiveAmounts, priceDiffs []*bc.AssetAmount, feeAmounts map[bc.AssetID]uint64, blockHeight uint64) error {
+       if blockHeight < forkBlockHeightAt20201028 {
+               return legendValidateFee(receiveAmounts, feeAmounts)
+       }
+       return validateFee(receiveAmounts, priceDiffs, feeAmounts)
+}
+
+func validateFee(receiveAmounts, priceDiffs []*bc.AssetAmount, feeAmounts map[bc.AssetID]uint64) error {
+       existTaker := false
+       for _, receiveAmount := range receiveAmounts {
+               feeAmount := calcMinFeeAmount(receiveAmount.Amount)
+               realFeeAmount := feeAmounts[*receiveAmount.AssetId]
+               if equalsFeeAmount(realFeeAmount, feeAmount) {
+                       continue
+               }
+
+               if existTaker {
+                       return ErrInvalidAmountOfFee
+               }
+
+               for _, priceDiff := range priceDiffs {
+                       if *priceDiff.AssetId == *receiveAmount.AssetId {
+                               feeAmount += calcMinFeeAmount(priceDiff.Amount)
+                       }
+               }
+
+               if !equalsFeeAmount(realFeeAmount, feeAmount) {
+                       return ErrInvalidAmountOfFee
+               }
+               existTaker = true
+       }
+       return nil
+}
+
+func equalsFeeAmount(realFeeAmount, feeAmount uint64) bool {
+       var tolerance float64 = 5
+       return math.Abs(float64(realFeeAmount)-float64(feeAmount)) < tolerance
+}
+
+func legendValidateFee(receiveAmounts []*bc.AssetAmount, feeAmounts map[bc.AssetID]uint64) error {
+       for _, receiveAmount := range receiveAmounts {
+               realFeeAmount := feeAmounts[*receiveAmount.AssetId]
+               minFeeAmount := calcMinFeeAmount(receiveAmount.Amount)
+               maxFeeAmount := calcMaxFeeAmount(receiveAmount.Amount)
+               if realFeeAmount < minFeeAmount || realFeeAmount > maxFeeAmount {
+                       return ErrInvalidAmountOfFee
+               }
+       }
+       return nil
+}
+
+func calcMinFeeAmount(amount uint64) uint64 {
+       return uint64(math.Ceil(float64(amount) / 1000))
+}
+
+func calcMaxFeeAmount(amount uint64) uint64 {
+       return uint64(math.Ceil(float64(amount) * 0.05))
+}
diff --git a/application/mov/match/order_book.go b/application/mov/match/order_book.go
new file mode 100644 (file)
index 0000000..426fd7d
--- /dev/null
@@ -0,0 +1,200 @@
+package match
+
+import (
+       "sort"
+       "sync"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/database"
+)
+
+// OrderBook is used to handle the mov orders in memory like stack
+type OrderBook struct {
+       movStore database.MovStore
+       // key of tradePair -> []order
+       dbOrders *sync.Map
+       // key of tradePair -> iterator
+       orderIterators *sync.Map
+
+       // key of tradePair -> []order
+       arrivalAddOrders *sync.Map
+       // key of order -> order
+       arrivalDelOrders *sync.Map
+}
+
+func arrangeArrivalAddOrders(orders []*common.Order) *sync.Map {
+       orderMap := make(map[string][]*common.Order)
+       for _, order := range orders {
+               orderMap[order.TradePair().Key()] = append(orderMap[order.TradePair().Key()], order)
+       }
+
+       arrivalOrderMap := &sync.Map{}
+       for key, orders := range orderMap {
+               sort.Sort(sort.Reverse(common.OrderSlice(orders)))
+               arrivalOrderMap.Store(key, orders)
+       }
+       return arrivalOrderMap
+}
+
+func arrangeArrivalDelOrders(orders []*common.Order) *sync.Map {
+       arrivalDelOrderMap := &sync.Map{}
+       for _, order := range orders {
+               arrivalDelOrderMap.Store(order.Key(), order)
+       }
+       return arrivalDelOrderMap
+}
+
+// NewOrderBook create a new OrderBook object
+func NewOrderBook(movStore database.MovStore, arrivalAddOrders, arrivalDelOrders []*common.Order) *OrderBook {
+       return &OrderBook{
+               movStore:       movStore,
+               dbOrders:       &sync.Map{},
+               orderIterators: &sync.Map{},
+
+               arrivalAddOrders: arrangeArrivalAddOrders(arrivalAddOrders),
+               arrivalDelOrders: arrangeArrivalDelOrders(arrivalDelOrders),
+       }
+}
+
+// AddOrder add the in memory temp order to order table, because temp order is what left for the
+// partial trade order, so the price should be lowest.
+func (o *OrderBook) AddOrder(order *common.Order) {
+       tradePairKey := order.TradePair().Key()
+       orders := o.getArrivalAddOrders(tradePairKey)
+       // use binary search to find the insert position
+       i := sort.Search(len(orders), func(i int) bool { return order.Cmp(orders[i]) > 0 })
+       orders = append(orders, order)
+       copy(orders[i+1:], orders[i:])
+       orders[i] = order
+
+       o.arrivalAddOrders.Store(tradePairKey, orders)
+}
+
+// DelOrder mark the order has been deleted in order book
+func (o *OrderBook) DelOrder(order *common.Order) {
+       o.arrivalDelOrders.Store(order.Key(), order)
+}
+
+// PeekOrder return the next lowest order of given trade pair
+func (o *OrderBook) PeekOrder(tradePair *common.TradePair) *common.Order {
+       if len(o.getDBOrders(tradePair.Key())) == 0 {
+               o.extendDBOrders(tradePair)
+       }
+
+       var nextOrder *common.Order
+       orders := o.getDBOrders(tradePair.Key())
+       if len(orders) != 0 {
+               nextOrder = orders[len(orders)-1]
+       }
+
+       if nextOrder != nil && o.getArrivalDelOrders(nextOrder.Key()) != nil {
+               o.dbOrders.Store(tradePair.Key(), orders[0:len(orders)-1])
+               return o.PeekOrder(tradePair)
+       }
+
+       arrivalOrder := o.peekArrivalOrder(tradePair)
+       if nextOrder == nil || (arrivalOrder != nil && arrivalOrder.Cmp(nextOrder) < 0) {
+               nextOrder = arrivalOrder
+       }
+       return nextOrder
+}
+
+// PeekOrders return the next lowest orders by given array of trade pairs
+func (o *OrderBook) PeekOrders(tradePairs []*common.TradePair) []*common.Order {
+       var orders []*common.Order
+       for _, tradePair := range tradePairs {
+               order := o.PeekOrder(tradePair)
+               if order == nil {
+                       return nil
+               }
+
+               orders = append(orders, order)
+       }
+       return orders
+}
+
+// PopOrder delete the next lowest order of given trade pair
+func (o *OrderBook) PopOrder(tradePair *common.TradePair) {
+       order := o.PeekOrder(tradePair)
+       if order == nil {
+               return
+       }
+
+       orders := o.getDBOrders(tradePair.Key())
+       if len(orders) != 0 && orders[len(orders)-1].Key() == order.Key() {
+               o.dbOrders.Store(tradePair.Key(), orders[0:len(orders)-1])
+               return
+       }
+
+       arrivalOrders := o.getArrivalAddOrders(tradePair.Key())
+       if len(arrivalOrders) != 0 && arrivalOrders[len(arrivalOrders)-1].Key() == order.Key() {
+               o.arrivalAddOrders.Store(tradePair.Key(), arrivalOrders[0:len(arrivalOrders)-1])
+       }
+}
+
+// PopOrders delete the next lowest orders by given trade pairs
+func (o *OrderBook) PopOrders(tradePairs []*common.TradePair) []*common.Order {
+       var orders []*common.Order
+       for _, tradePair := range tradePairs {
+               o.PopOrder(tradePair)
+       }
+       return orders
+}
+
+func (o *OrderBook) getDBOrders(tradePairKey string) []*common.Order {
+       if orders, ok := o.dbOrders.Load(tradePairKey); ok {
+               return orders.([]*common.Order)
+       }
+       return []*common.Order{}
+}
+
+func (o *OrderBook) getArrivalAddOrders(tradePairKey string) []*common.Order {
+       if orders, ok := o.arrivalAddOrders.Load(tradePairKey); ok {
+               return orders.([]*common.Order)
+       }
+       return []*common.Order{}
+}
+
+func (o *OrderBook) getArrivalDelOrders(orderKey string) *common.Order {
+       if order, ok := o.arrivalDelOrders.Load(orderKey); ok {
+               return order.(*common.Order)
+       }
+       return nil
+}
+
+func (o *OrderBook) extendDBOrders(tradePair *common.TradePair) {
+       iterator, ok := o.orderIterators.Load(tradePair.Key())
+       if !ok {
+               iterator = database.NewOrderIterator(o.movStore, tradePair)
+               o.orderIterators.Store(tradePair.Key(), iterator)
+       }
+
+       nextOrders := iterator.(*database.OrderIterator).NextBatch()
+       orders := o.getDBOrders(tradePair.Key())
+       for i := len(nextOrders) - 1; i >= 0; i-- {
+               orders = append(orders, nextOrders[i])
+       }
+       o.dbOrders.Store(tradePair.Key(), orders)
+}
+
+func (o *OrderBook) peekArrivalOrder(tradePair *common.TradePair) *common.Order {
+       orders := o.getArrivalAddOrders(tradePair.Key())
+       delPos := len(orders)
+       for i := delPos - 1; i >= 0; i-- {
+               if o.getArrivalDelOrders(orders[i].Key()) != nil {
+                       delPos = i
+               } else {
+                       break
+               }
+       }
+
+       if delPos < len(orders) {
+               orders = orders[:delPos]
+               o.arrivalAddOrders.Store(tradePair.Key(), orders)
+       }
+
+       if size := len(orders); size > 0 {
+               return orders[size-1]
+       }
+       return nil
+}
diff --git a/application/mov/match/order_book_test.go b/application/mov/match/order_book_test.go
new file mode 100644 (file)
index 0000000..daf330f
--- /dev/null
@@ -0,0 +1,376 @@
+package match
+
+import (
+       "testing"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/database"
+       "github.com/bytom/vapor/application/mov/mock"
+       "github.com/bytom/vapor/testutil"
+)
+
+var (
+       btc2eth = &common.TradePair{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH}
+)
+
+func TestOrderBook(t *testing.T) {
+       cases := []struct {
+               desc                 string
+               initMovStore         database.MovStore
+               initArrivalAddOrders []*common.Order
+               initArrivalDelOrders []*common.Order
+               addOrders            []*common.Order
+               popOrders            []*common.TradePair
+               wantPeekedOrders     map[common.TradePair]*common.Order
+       }{
+               {
+                       desc: "no arrival orders, no add order, no pop order",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2],
+                               },
+                       ),
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[0],
+                       },
+               },
+               {
+                       desc: "no arrival orders, add lower price order, no pop order",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2],
+                               }),
+                       addOrders: []*common.Order{mock.Btc2EthOrders[3]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[3],
+                       },
+               },
+               {
+                       desc: "no arrival orders, no add order, pop one order",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2],
+                               }),
+                       popOrders: []*common.TradePair{btc2eth},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[2],
+                       },
+               },
+               {
+                       desc: "has arrival add orders, no add order, no pop order, the arrival add order is lower price",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2],
+                               }),
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[3]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[3],
+                       },
+               },
+               {
+                       desc: "has arrival add orders, no add order, no pop order, the db add order is lower price",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[0], mock.Btc2EthOrders[1],
+                               }),
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[2]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[0],
+                       },
+               },
+               {
+                       desc: "has arrival add orders, no add order, pop one order, after pop the arrival order is lower price",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                               }),
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       popOrders:            []*common.TradePair{btc2eth},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[0],
+                       },
+               },
+               {
+                       desc: "has arrival delete orders, no add order, no pop order",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                               }),
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[3]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[2],
+                       },
+               },
+               {
+                       desc: "has arrival delete orders and arrival add orders, no add order, no pop order, the arrival order is lower price",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[3], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2],
+                               }),
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[3]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[0],
+                       },
+               },
+               {
+                       desc: "has arrival delete orders and arrival add orders, no add order, pop one order",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[3], mock.Btc2EthOrders[1],
+                               }),
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0], mock.Btc2EthOrders[2]},
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[3]},
+                       popOrders:            []*common.TradePair{btc2eth},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[2],
+                       },
+               },
+               {
+                       desc: "has arrival add orders, but db order is empty",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{}),
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0], mock.Btc2EthOrders[2]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[0],
+                       },
+               },
+               {
+                       desc: "no add orders, and db order is empty",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{}),
+                       initArrivalAddOrders: []*common.Order{},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: nil,
+                       },
+               },
+               {
+                       desc: "has arrival delete orders, no add order, no pop order, need recursive to peek one order",
+                       initMovStore: mock.NewMovStore(
+                               []*common.TradePair{btc2eth},
+                               []*common.Order{
+                                       mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                               }),
+                       initArrivalAddOrders: []*common.Order{},
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[3], mock.Btc2EthOrders[0], mock.Btc2EthOrders[2]},
+                       wantPeekedOrders: map[common.TradePair]*common.Order{
+                               *btc2eth: mock.Btc2EthOrders[1],
+                       },
+               },
+       }
+
+       for i, c := range cases {
+               orderBook := NewOrderBook(c.initMovStore, c.initArrivalAddOrders, c.initArrivalDelOrders)
+               for _, order := range c.addOrders {
+                       orderBook.AddOrder(order)
+               }
+
+               for _, tradePair := range c.popOrders {
+                       orderBook.PopOrder(tradePair)
+               }
+
+               for tradePair, wantOrder := range c.wantPeekedOrders {
+                       gotOrder := orderBook.PeekOrder(&tradePair)
+                       if wantOrder == gotOrder && wantOrder == nil {
+                               continue
+                       }
+
+                       if gotOrder.Key() != wantOrder.Key() {
+                               t.Fatalf("#%d(%s):the key of got order(%v) is not equals key of want order(%v)", i, c.desc, gotOrder, wantOrder)
+                       }
+               }
+       }
+}
+
+func TestPeekArrivalOrder(t *testing.T) {
+       cases := []struct {
+               desc                 string
+               initArrivalAddOrders []*common.Order
+               initArrivalDelOrders []*common.Order
+               peekTradePair        *common.TradePair
+               wantArrivalAddOrders []*common.Order
+               wantOrder            *common.Order
+       }{
+               {
+                       desc:                 "empty peek",
+                       initArrivalAddOrders: []*common.Order{},
+                       initArrivalDelOrders: []*common.Order{},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{},
+                       wantOrder:            nil,
+               },
+               {
+                       desc:                 "1 element regular peek",
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       initArrivalDelOrders: []*common.Order{},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       wantOrder:            mock.Btc2EthOrders[0],
+               },
+               {
+                       desc: "4 element regular peek with",
+                       initArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       initArrivalDelOrders: []*common.Order{},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       wantOrder: mock.Btc2EthOrders[3],
+               },
+               {
+                       desc:                 "1 element peek with 1 unrelated deleted order",
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[1]},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       wantOrder:            mock.Btc2EthOrders[0],
+               },
+               {
+                       desc:                 "1 element peek with 1 related deleted order",
+                       initArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{},
+                       wantOrder:            nil,
+               },
+               {
+                       desc: "4 element peek with first 3 deleted order",
+                       initArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       initArrivalDelOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{mock.Btc2EthOrders[1]},
+                       wantOrder:            mock.Btc2EthOrders[1],
+               },
+               {
+                       desc: "4 element peek with first 1 deleted order",
+                       initArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[3]},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2],
+                       },
+                       wantOrder: mock.Btc2EthOrders[0],
+               },
+               {
+                       desc: "4 element peek with first 2th deleted order",
+                       initArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       initArrivalDelOrders: []*common.Order{mock.Btc2EthOrders[0]},
+                       peekTradePair:        btc2eth,
+                       wantArrivalAddOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Btc2EthOrders[2], mock.Btc2EthOrders[3],
+                       },
+                       wantOrder: mock.Btc2EthOrders[3],
+               },
+       }
+
+       for i, c := range cases {
+               orderBook := NewOrderBook(mock.NewMovStore(nil, nil), c.initArrivalAddOrders, c.initArrivalDelOrders)
+               gotOrder := orderBook.PeekOrder(c.peekTradePair)
+               if !testutil.DeepEqual(gotOrder, c.wantOrder) {
+                       t.Fatalf("#%d(%s):the key of got order(%v) is not equals key of want order(%v)", i, c.desc, gotOrder, c.wantOrder)
+               }
+
+               wantAddOrders, _ := arrangeArrivalAddOrders(c.wantArrivalAddOrders).Load(c.peekTradePair.Key())
+               gotAddOrders := orderBook.getArrivalAddOrders(c.peekTradePair.Key())
+               if !testutil.DeepEqual(gotAddOrders, wantAddOrders) {
+                       t.Fatalf("#%d(%s): the got arrivalAddOrders(%v) is differnt than want arrivalAddOrders(%v)", i, c.desc, gotAddOrders, wantAddOrders)
+               }
+       }
+}
+
+func TestAddOrder(t *testing.T) {
+       cases := []struct {
+               initOrders []*common.Order
+               wantOrders []*common.Order
+               addOrder   *common.Order
+       }{
+               {
+                       initOrders: []*common.Order{},
+                       addOrder:   &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 53, RatioDenominator: 1},
+                       wantOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 53, RatioDenominator: 1},
+                       },
+               },
+               {
+                       initOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                       },
+                       addOrder: &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                       wantOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                       },
+               },
+               {
+                       initOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 52, RatioDenominator: 1},
+                       },
+                       addOrder: &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 53, RatioDenominator: 1},
+                       wantOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 53, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 52, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                       },
+               },
+               {
+                       initOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 52, RatioDenominator: 1},
+                       },
+                       addOrder: &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 49, RatioDenominator: 1},
+                       wantOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 52, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 49, RatioDenominator: 1},
+                       },
+               },
+               {
+                       initOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 52, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 49, RatioDenominator: 1},
+                       },
+                       addOrder: &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                       wantOrders: []*common.Order{
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 52, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 51, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 50, RatioDenominator: 1},
+                               &common.Order{FromAssetID: &mock.BTC, ToAssetID: &mock.ETH, RatioNumerator: 49, RatioDenominator: 1},
+                       },
+               },
+       }
+
+       for i, c := range cases {
+               orderBook := NewOrderBook(mock.NewMovStore(nil, nil), c.initOrders, nil)
+               orderBook.AddOrder(c.addOrder)
+               if gotOrders := orderBook.getArrivalAddOrders(btc2eth.Key()); !testutil.DeepEqual(gotOrders, c.wantOrders) {
+                       t.Fatalf("#%d: the gotOrders(%v) is differnt than wantOrders(%v)", i, gotOrders, c.wantOrders)
+               }
+       }
+}
diff --git a/application/mov/match_collector.go b/application/mov/match_collector.go
new file mode 100644 (file)
index 0000000..1081be3
--- /dev/null
@@ -0,0 +1,146 @@
+package mov
+
+import (
+       "runtime"
+       "sync"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/database"
+       "github.com/bytom/vapor/application/mov/match"
+       "github.com/bytom/vapor/protocol/bc/types"
+)
+
+type matchCollector struct {
+       engine            *match.Engine
+       tradePairIterator *database.TradePairIterator
+       gasLeft           int64
+       isTimeout         func() bool
+
+       workerNum     int
+       endWorkCh     chan int
+       tradePairCh   chan *common.TradePair
+       matchResultCh chan *matchTxResult
+       closeCh       chan struct{}
+}
+
+type matchTxResult struct {
+       matchedTx *types.Tx
+       err       error
+}
+
+func newMatchTxCollector(engine *match.Engine, iterator *database.TradePairIterator, gasLeft int64, isTimeout func() bool) *matchCollector {
+       workerNum := runtime.NumCPU()
+       return &matchCollector{
+               engine:            engine,
+               tradePairIterator: iterator,
+               gasLeft:           gasLeft,
+               isTimeout:         isTimeout,
+               workerNum:         workerNum,
+               endWorkCh:         make(chan int, workerNum),
+               tradePairCh:       make(chan *common.TradePair, workerNum),
+               matchResultCh:     make(chan *matchTxResult),
+               closeCh:           make(chan struct{}),
+       }
+}
+
+func (m *matchCollector) result() ([]*types.Tx, error) {
+       var wg sync.WaitGroup
+       for i := 0; i < int(m.workerNum); i++ {
+               wg.Add(1)
+               go m.matchTxWorker(&wg)
+       }
+
+       wg.Add(1)
+       go m.tradePairProducer(&wg)
+
+       matchedTxs, err := m.collect()
+       // wait for all goroutine release
+       wg.Wait()
+       return matchedTxs, err
+}
+
+func (m *matchCollector) collect() ([]*types.Tx, error) {
+       defer close(m.closeCh)
+
+       var matchedTxs []*types.Tx
+       for completed := 0; !m.isTimeout(); {
+               select {
+               case data := <-m.matchResultCh:
+                       if data.err != nil {
+                               return nil, data.err
+                       }
+
+                       gasUsed := calcMatchedTxGasUsed(data.matchedTx)
+                       if m.gasLeft -= gasUsed; m.gasLeft >= 0 {
+                               matchedTxs = append(matchedTxs, data.matchedTx)
+                       } else {
+                               return matchedTxs, nil
+                       }
+               case <-m.endWorkCh:
+                       if completed++; completed == m.workerNum {
+                               return matchedTxs, nil
+                       }
+               }
+       }
+       return matchedTxs, nil
+}
+
+func (m *matchCollector) tradePairProducer(wg *sync.WaitGroup) {
+       defer func() {
+               close(m.tradePairCh)
+               wg.Done()
+       }()
+
+       tradePairMap := make(map[string]bool)
+
+       for m.tradePairIterator.HasNext() {
+               tradePair := m.tradePairIterator.Next()
+               if tradePairMap[tradePair.Key()] {
+                       continue
+               }
+
+               tradePairMap[tradePair.Key()] = true
+               tradePairMap[tradePair.Reverse().Key()] = true
+
+               select {
+               case <-m.closeCh:
+                       return
+               case m.tradePairCh <- tradePair:
+               }
+       }
+}
+
+func (m *matchCollector) matchTxWorker(wg *sync.WaitGroup) {
+       defer func() {
+               m.endWorkCh <- 1
+               wg.Done()
+       }()
+
+       for {
+               select {
+               case <-m.closeCh:
+                       return
+               case tradePair := <-m.tradePairCh:
+                       // end worker due to all trade pair has been matched
+                       if tradePair == nil {
+                               return
+                       }
+
+                       for m.engine.HasMatchedTx(tradePair, tradePair.Reverse()) {
+                               matchedTx, err := m.engine.NextMatchedTx(tradePair, tradePair.Reverse())
+                               select {
+                               case <-m.closeCh:
+                                       return
+                               case m.matchResultCh <- &matchTxResult{matchedTx: matchedTx, err: err}:
+                                       if err != nil {
+                                               return
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
+func calcMatchedTxGasUsed(tx *types.Tx) int64 {
+       return int64(len(tx.Inputs))*150 + int64(tx.SerializedSize)
+}
diff --git a/application/mov/mock/mock.go b/application/mov/mock/mock.go
new file mode 100644 (file)
index 0000000..12daba6
--- /dev/null
@@ -0,0 +1,528 @@
+package mock
+
+import (
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/testutil"
+)
+
+var (
+       BTC           = bc.NewAssetID([32]byte{1})
+       ETH           = bc.NewAssetID([32]byte{2})
+       EOS           = bc.NewAssetID([32]byte{3})
+       ETC           = bc.NewAssetID([32]byte{4})
+       RewardProgram = []byte{0x58}
+
+       Btc2EthOrders = []*common.Order{
+               {
+                       FromAssetID:      &BTC,
+                       ToAssetID:        &ETH,
+                       RatioNumerator:   50,
+                       RatioDenominator: 1,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("37b8edf656e45a7addf47f5626e114a8c394d918a36f61b5a2905675a09b40ae")),
+                               SourcePos:      0,
+                               Amount:         10,
+                               ControlProgram: MustCreateP2WMCProgram(ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251"), 50, 1),
+                       },
+                       BlockHeight:   100,
+                       TxIndex:       1,
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251"),
+               },
+               {
+                       FromAssetID:      &BTC,
+                       ToAssetID:        &ETH,
+                       RatioNumerator:   53,
+                       RatioDenominator: 1,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("3ec2bbfb499a8736d377b547eee5392bcddf7ec2b287e9ed20b5938c3d84e7cd")),
+                               SourcePos:      0,
+                               Amount:         20,
+                               ControlProgram: MustCreateP2WMCProgram(ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252"), 53, 1),
+                       },
+                       BlockHeight:   100,
+                       TxIndex:       2,
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252"),
+               },
+               {
+                       FromAssetID:      &BTC,
+                       ToAssetID:        &ETH,
+                       RatioNumerator:   52,
+                       RatioDenominator: 1,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("1232bbfb499a8736d377b547eee5392bcddf7ec2b287e9ed20b5938c3d84e7cd")),
+                               SourcePos:      0,
+                               Amount:         15,
+                               ControlProgram: MustCreateP2WMCProgram(ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252"), 53, 1),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252"),
+               },
+               {
+                       FromAssetID:      &BTC,
+                       ToAssetID:        &ETH,
+                       RatioNumerator:   49,
+                       RatioDenominator: 1,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("7872bbfb499a8736d377b547eee5392bcddf7ec2b287e9ed20b5938c3d84e7cd")),
+                               SourcePos:      0,
+                               Amount:         17,
+                               ControlProgram: MustCreateP2WMCProgram(ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252"), 53, 1),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252"),
+               },
+       }
+
+       Eth2BtcOrders = []*common.Order{
+               {
+                       FromAssetID:      &ETH,
+                       ToAssetID:        &BTC,
+                       RatioNumerator:   1,
+                       RatioDenominator: 51,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("fba43ff5155209cb1769e2ec0e1d4a33accf899c740865edfc6d1de39b873b29")),
+                               SourcePos:      0,
+                               Amount:         510,
+                               ControlProgram: MustCreateP2WMCProgram(BTC, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19253"), 1, 51.0),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19253"),
+               },
+               {
+                       FromAssetID:      &ETH,
+                       ToAssetID:        &BTC,
+                       RatioNumerator:   1,
+                       RatioDenominator: 52,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("05f24bb847db823075d81786aa270748e02602199cd009c0284f928503846a5a")),
+                               SourcePos:      0,
+                               Amount:         416,
+                               ControlProgram: MustCreateP2WMCProgram(BTC, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19254"), 1, 52.0),
+                       },
+                       BlockHeight:   100,
+                       TxIndex:       2,
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19254"),
+               },
+               {
+                       FromAssetID:      &ETH,
+                       ToAssetID:        &BTC,
+                       RatioNumerator:   1,
+                       RatioDenominator: 54,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("119a02980796dc352cf6475457463aef5666f66622088de3551fa73a65f0d201")),
+                               SourcePos:      0,
+                               Amount:         810,
+                               ControlProgram: MustCreateP2WMCProgram(BTC, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255"), 1, 54.0),
+                       },
+                       BlockHeight:   101,
+                       TxIndex:       1,
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255"),
+               },
+               {
+                       FromAssetID:      &ETH,
+                       ToAssetID:        &BTC,
+                       RatioNumerator:   1,
+                       RatioDenominator: 150,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("82752cda63c877a8529d7a7461da6096673e45b3e0b019ce44aa18687ad20445")),
+                               SourcePos:      0,
+                               Amount:         600,
+                               ControlProgram: MustCreateP2WMCProgram(BTC, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19256"), 1, 150.0),
+                       },
+                       BlockHeight:   101,
+                       TxIndex:       3,
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19256"),
+               },
+       }
+
+       Eos2EtcOrders = []*common.Order{
+               {
+                       FromAssetID:      &EOS,
+                       ToAssetID:        &ETC,
+                       RatioNumerator:   1,
+                       RatioDenominator: 2,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("119a02980796dc352cf6475457463aef5666f66622088de3551fa73a65f0d202")),
+                               SourcePos:      0,
+                               Amount:         100,
+                               ControlProgram: MustCreateP2WMCProgram(ETC, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255"), 1, 2.0),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255"),
+               },
+       }
+
+       Etc2EosOrders = []*common.Order{
+               {
+                       FromAssetID:      &ETC,
+                       ToAssetID:        &EOS,
+                       RatioNumerator:   2,
+                       RatioDenominator: 1,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("119a02980796dc352cf6475457463aef5666f66622088de3551fa73a65f0d203")),
+                               SourcePos:      0,
+                               Amount:         50,
+                               ControlProgram: MustCreateP2WMCProgram(EOS, testutil.MustDecodeHexString("0014df7a97e53bbe278e4e44810b0a760fb472daa9a3"), 2, 1.0),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("0014df7a97e53bbe278e4e44810b0a760fb472daa9a3"),
+               },
+       }
+
+       Eth2EosOrders = []*common.Order{
+               {
+                       FromAssetID:      &ETH,
+                       ToAssetID:        &EOS,
+                       RatioNumerator:   2,
+                       RatioDenominator: 1,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("c1502d03946e4ea92abdb33f51638b181839bd0d8767acc2ee5c665b659c4b13")),
+                               SourcePos:      0,
+                               Amount:         500,
+                               ControlProgram: MustCreateP2WMCProgram(EOS, testutil.MustDecodeHexString("0014e3178c0f294a9a8f4b304236406507913091df86"), 2, 1.0),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("0014e3178c0f294a9a8f4b304236406507913091df86"),
+               },
+       }
+
+       Eos2BtcOrders = []*common.Order{
+               {
+                       FromAssetID:      &EOS,
+                       ToAssetID:        &BTC,
+                       RatioNumerator:   1,
+                       RatioDenominator: 100,
+                       Utxo: &common.MovUtxo{
+                               SourceID:       hashPtr(testutil.MustDecodeHash("27cf8a0877dc858968cc06396fe6aa9e02d15f3e44c862fe29fa5fd50497cf20")),
+                               SourcePos:      0,
+                               Amount:         1000,
+                               ControlProgram: MustCreateP2WMCProgram(BTC, testutil.MustDecodeHexString("00144d0dfc8a0c5ce41d31d4f61d99aff70588bff8bc"), 1, 100.0),
+                       },
+                       SellerProgram: testutil.MustDecodeHexString("00144d0dfc8a0c5ce41d31d4f61d99aff70588bff8bc"),
+               },
+       }
+
+       Btc2EthCancelTxs = []*types.Tx{
+               // Btc2EthOrders[0]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput([][]byte{{}, {}, vm.Int64Bytes(2)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram)},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251"))},
+               }),
+
+               // output 2 of MatchedTxs[2]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput([][]byte{{}, {}, vm.Int64Bytes(2)}, *MustNewOrderFromOutput(MatchedTxs[2], 2).Utxo.SourceID, *Eth2BtcOrders[2].FromAssetID, 270, 2, Eth2BtcOrders[2].Utxo.ControlProgram)},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Eth2BtcOrders[2].FromAssetID, Eth2BtcOrders[2].Utxo.Amount, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255"))},
+               }),
+       }
+
+       Btc2EthMakerTxs = []*types.Tx{
+               // Btc2EthOrders[0]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.ControlProgram)},
+               }),
+               // Btc2EthOrders[1]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Btc2EthOrders[1].Utxo.SourceID, *Btc2EthOrders[1].FromAssetID, Btc2EthOrders[1].Utxo.Amount, Btc2EthOrders[1].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Btc2EthOrders[1].FromAssetID, Btc2EthOrders[1].Utxo.Amount, Btc2EthOrders[1].Utxo.ControlProgram)},
+               }),
+               // Btc2EthOrders[2]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Btc2EthOrders[2].Utxo.SourceID, *Btc2EthOrders[2].FromAssetID, Btc2EthOrders[2].Utxo.Amount, Btc2EthOrders[2].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Btc2EthOrders[2].FromAssetID, Btc2EthOrders[2].Utxo.Amount, Btc2EthOrders[2].Utxo.ControlProgram)},
+               }),
+               // Btc2EthOrders[3]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Btc2EthOrders[3].Utxo.SourceID, *Btc2EthOrders[3].FromAssetID, Btc2EthOrders[3].Utxo.Amount, Btc2EthOrders[3].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Btc2EthOrders[3].FromAssetID, Btc2EthOrders[3].Utxo.Amount, Btc2EthOrders[3].Utxo.ControlProgram)},
+               }),
+       }
+
+       Eth2BtcMakerTxs = []*types.Tx{
+               // Eth2Btc[0]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Eth2BtcOrders[0].Utxo.SourceID, *Eth2BtcOrders[0].FromAssetID, Eth2BtcOrders[0].Utxo.Amount, Eth2BtcOrders[0].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Eth2BtcOrders[0].FromAssetID, Eth2BtcOrders[0].Utxo.Amount, Eth2BtcOrders[0].Utxo.ControlProgram)},
+               }),
+               // Eth2Btc[1]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Eth2BtcOrders[1].Utxo.SourceID, *Eth2BtcOrders[1].FromAssetID, Eth2BtcOrders[1].Utxo.Amount, Eth2BtcOrders[1].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Eth2BtcOrders[1].FromAssetID, Eth2BtcOrders[1].Utxo.Amount, Eth2BtcOrders[1].Utxo.ControlProgram)},
+               }),
+               // Eth2Btc[2]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Eth2BtcOrders[2].Utxo.SourceID, *Eth2BtcOrders[2].FromAssetID, Eth2BtcOrders[2].Utxo.Amount, Eth2BtcOrders[2].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Eth2BtcOrders[2].FromAssetID, Eth2BtcOrders[2].Utxo.Amount, Eth2BtcOrders[2].Utxo.ControlProgram)},
+               }),
+       }
+
+       Eos2EtcMakerTxs = []*types.Tx{
+               // Eos2Etc[0]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Eos2EtcOrders[0].Utxo.SourceID, *Eos2EtcOrders[0].FromAssetID, Eos2EtcOrders[0].Utxo.Amount, Eos2EtcOrders[0].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Eos2EtcOrders[0].FromAssetID, Eos2EtcOrders[0].Utxo.Amount, Eos2EtcOrders[0].Utxo.ControlProgram)},
+               }),
+       }
+
+       Etc2EosMakerTxs = []*types.Tx{
+               // Etc2Eos[0]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Etc2EosOrders[0].Utxo.SourceID, *Etc2EosOrders[0].FromAssetID, Etc2EosOrders[0].Utxo.Amount, Etc2EosOrders[0].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Etc2EosOrders[0].FromAssetID, Etc2EosOrders[0].Utxo.Amount, Etc2EosOrders[0].Utxo.ControlProgram)},
+               }),
+       }
+
+       Eth2EosMakerTxs = []*types.Tx{
+               // Eth2Eos[0]
+               types.NewTx(types.TxData{
+                       Inputs:  []*types.TxInput{types.NewSpendInput(nil, *Eth2EosOrders[0].Utxo.SourceID, *Eth2EosOrders[0].FromAssetID, Eth2EosOrders[0].Utxo.Amount, Eth2EosOrders[0].Utxo.SourcePos, []byte{0x51})},
+                       Outputs: []*types.TxOutput{types.NewIntraChainOutput(*Eth2EosOrders[0].FromAssetID, Eth2EosOrders[0].Utxo.Amount, Eth2EosOrders[0].Utxo.ControlProgram)},
+               }),
+       }
+
+       MatchedTxs = []*types.Tx{
+               // partial matched transaction from Btc2EthOrders[0], Eth2BtcOrders[1]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               // maker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(416), vm.Int64Bytes(0), vm.Int64Bytes(0)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram),
+                               // taker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, *Eth2BtcOrders[1].Utxo.SourceID, *Eth2BtcOrders[1].FromAssetID, Eth2BtcOrders[1].Utxo.Amount, Eth2BtcOrders[1].Utxo.SourcePos, Eth2BtcOrders[1].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 415, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               // re-order
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].FromAssetID, 2, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[1].ToAssetID, 7, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19254")),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[1].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // full matched transaction from Btc2EthOrders[0], Eth2BtcOrders[0]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *Eth2BtcOrders[0].Utxo.SourceID, *Eth2BtcOrders[0].FromAssetID, Eth2BtcOrders[0].Utxo.Amount, Eth2BtcOrders[0].Utxo.SourcePos, Eth2BtcOrders[0].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].ToAssetID, 9, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19253")),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 2, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].ToAssetID, 1, RewardProgram),
+                               // refund to taker
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 9, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                       },
+               }),
+
+               // partial matched transaction from Btc2EthOrders[0], Eth2BtcOrders[2]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               // maker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram),
+                               // taker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(10), vm.Int64Bytes(1), vm.Int64Bytes(0)}, *Eth2BtcOrders[2].Utxo.SourceID, *Eth2BtcOrders[2].FromAssetID, Eth2BtcOrders[2].Utxo.Amount, Eth2BtcOrders[2].Utxo.SourcePos, Eth2BtcOrders[2].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].ToAssetID, 9, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255")),
+                               // re-order
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].FromAssetID, 270, Eth2BtcOrders[2].Utxo.ControlProgram),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].FromAssetID, 1, RewardProgram),
+                               // re-order
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].FromAssetID, 40, Eth2BtcOrders[2].SellerProgram),
+                       },
+               }),
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               // maker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(0)}, *Btc2EthOrders[1].Utxo.SourceID, *Btc2EthOrders[1].FromAssetID, Btc2EthOrders[1].Utxo.Amount, Btc2EthOrders[1].Utxo.SourcePos, Btc2EthOrders[1].Utxo.ControlProgram),
+                               // taker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, testutil.MustDecodeHash("39bdb7058a0c31fb740af8e3c382bf608efff1b041cd4dd461332722ad24552a"), *Eth2BtcOrders[2].FromAssetID, 270, 2, Eth2BtcOrders[2].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[1].ToAssetID, 269, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252")),
+                               // re-order
+                               types.NewIntraChainOutput(*Btc2EthOrders[1].FromAssetID, 15, Btc2EthOrders[1].Utxo.ControlProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].ToAssetID, 4, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255")),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[1].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // partial matched transaction from Btc2EthMakerTxs[0], Eth2BtcMakerTxs[1]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *MustNewOrderFromOutput(Btc2EthMakerTxs[0], 0).Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, 0, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *MustNewOrderFromOutput(Eth2BtcMakerTxs[1], 0).Utxo.SourceID, *Eth2BtcOrders[1].FromAssetID, Eth2BtcOrders[1].Utxo.Amount, 0, Eth2BtcOrders[1].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 415, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               // re-order
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].FromAssetID, 2, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[1].ToAssetID, 7, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19254")),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[1].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // full matched transaction from Eos2EtcMakerTxs[0] Etc2EosMakerTxs[0]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *MustNewOrderFromOutput(Eos2EtcMakerTxs[0], 0).Utxo.SourceID, *Eos2EtcOrders[0].FromAssetID, Eos2EtcOrders[0].Utxo.Amount, Eos2EtcOrders[0].Utxo.SourcePos, Eos2EtcOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *MustNewOrderFromOutput(Etc2EosMakerTxs[0], 0).Utxo.SourceID, *Etc2EosOrders[0].FromAssetID, Etc2EosOrders[0].Utxo.Amount, Etc2EosOrders[0].Utxo.SourcePos, Etc2EosOrders[0].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Eos2EtcOrders[0].ToAssetID, 49, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255")),
+                               types.NewIntraChainOutput(*Etc2EosOrders[0].ToAssetID, 99, testutil.MustDecodeHexString("0014df7a97e53bbe278e4e44810b0a760fb472daa9a3")),
+                               // fee
+                               types.NewIntraChainOutput(*Eos2EtcOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Etc2EosOrders[0].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // cycle matched from Btc2Eth Eth2Eos Eos2Btc
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *Eth2EosOrders[0].Utxo.SourceID, *Eth2EosOrders[0].FromAssetID, Eth2EosOrders[0].Utxo.Amount, Eth2EosOrders[0].Utxo.SourcePos, Eth2EosOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, *Eos2BtcOrders[0].Utxo.SourceID, *Eos2BtcOrders[0].FromAssetID, Eos2BtcOrders[0].Utxo.Amount, Eos2BtcOrders[0].Utxo.SourcePos, Eos2BtcOrders[0].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(ETH, 499, Btc2EthOrders[0].SellerProgram),
+                               types.NewIntraChainOutput(EOS, 999, Eth2EosOrders[0].SellerProgram),
+                               types.NewIntraChainOutput(BTC, 9, Eos2BtcOrders[0].SellerProgram),
+                               // fee
+                               types.NewIntraChainOutput(ETH, 1, RewardProgram),
+                               types.NewIntraChainOutput(EOS, 1, RewardProgram),
+                               types.NewIntraChainOutput(BTC, 1, RewardProgram),
+                       },
+               }),
+
+               // partial matched transaction from MatchedTxs[4], Eth2BtcMakerTxs[0]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, testutil.MustDecodeHash("ed810e1672c3b9de27a1db23e017e6b9cc23334b6e3dbd25dfe8857e289b7f06"), *Btc2EthOrders[0].FromAssetID, 2, 1, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *MustNewOrderFromOutput(Eth2BtcMakerTxs[0], 0).Utxo.SourceID, *Eth2BtcOrders[0].FromAssetID, Eth2BtcOrders[0].Utxo.Amount, 0, Eth2BtcOrders[0].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 99, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].ToAssetID, 1, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19253")),
+                               // re-order
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].FromAssetID, 404, Eth2BtcOrders[0].Utxo.ControlProgram),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // partial matched transaction from Btc2EthOrders[3], Eth2BtcOrders[2]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(810), vm.Int64Bytes(0), vm.Int64Bytes(0)}, *Btc2EthOrders[3].Utxo.SourceID, *Btc2EthOrders[3].FromAssetID, Btc2EthOrders[3].Utxo.Amount, Btc2EthOrders[3].Utxo.SourcePos, Btc2EthOrders[3].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, *Eth2BtcOrders[2].Utxo.SourceID, *Eth2BtcOrders[2].FromAssetID, Eth2BtcOrders[2].Utxo.Amount, Eth2BtcOrders[2].Utxo.SourcePos, Eth2BtcOrders[2].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[3].ToAssetID, 809, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19252")),
+                               // re-order
+                               types.NewIntraChainOutput(*Btc2EthOrders[3].FromAssetID, 1, Btc2EthOrders[3].Utxo.ControlProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].ToAssetID, 14, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255")),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[3].FromAssetID, 2, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[2].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // full matched transaction from Eos2EtcOrders[0] Etc2EosOrders[0]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *Eos2EtcOrders[0].Utxo.SourceID, *Eos2EtcOrders[0].FromAssetID, Eos2EtcOrders[0].Utxo.Amount, Eos2EtcOrders[0].Utxo.SourcePos, Eos2EtcOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *Etc2EosOrders[0].Utxo.SourceID, *Etc2EosOrders[0].FromAssetID, Etc2EosOrders[0].Utxo.Amount, Etc2EosOrders[0].Utxo.SourcePos, Etc2EosOrders[0].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Eos2EtcOrders[0].ToAssetID, 49, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255")),
+                               types.NewIntraChainOutput(*Etc2EosOrders[0].ToAssetID, 99, testutil.MustDecodeHexString("0014df7a97e53bbe278e4e44810b0a760fb472daa9a3")),
+                               // fee
+                               types.NewIntraChainOutput(*Eos2EtcOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Etc2EosOrders[0].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // full matched transaction from Btc2EthOrders[0], Eth2BtcMakerTxs[0]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram),
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *MustNewOrderFromOutput(Eth2BtcMakerTxs[0], 0).Utxo.SourceID, *Eth2BtcOrders[0].FromAssetID, Eth2BtcOrders[0].Utxo.Amount, 0, Eth2BtcOrders[0].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].ToAssetID, 9, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19253")),
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 10, RewardProgram),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[0].ToAssetID, 1, RewardProgram),
+                       },
+               }),
+
+               // full matched transaction from Btc2EthOrders[0] Eth2BtcOrders[3]
+               types.NewTx(types.TxData{
+                       Inputs: []*types.TxInput{
+                               // maker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *Btc2EthOrders[0].Utxo.SourceID, *Btc2EthOrders[0].FromAssetID, Btc2EthOrders[0].Utxo.Amount, Btc2EthOrders[0].Utxo.SourcePos, Btc2EthOrders[0].Utxo.ControlProgram),
+                               // taker
+                               types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *Eth2BtcOrders[3].Utxo.SourceID, *Eth2BtcOrders[3].FromAssetID, Eth2BtcOrders[3].Utxo.Amount, Eth2BtcOrders[3].Utxo.SourcePos, Eth2BtcOrders[3].Utxo.ControlProgram),
+                       },
+                       Outputs: []*types.TxOutput{
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[3].ToAssetID, 3, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19256")),
+                               // fee
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 1, RewardProgram),
+                               types.NewIntraChainOutput(*Eth2BtcOrders[3].ToAssetID, 2, RewardProgram),
+                               // refund
+                               types.NewIntraChainOutput(*Eth2BtcOrders[3].ToAssetID, 5, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19256")),
+                               types.NewIntraChainOutput(*Btc2EthOrders[0].ToAssetID, 100, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19256")),
+                       },
+               }),
+       }
+)
+
+func MustCreateP2WMCProgram(requestAsset bc.AssetID, sellerProgram []byte, ratioNumerator, ratioDenominator int64) []byte {
+       contractArgs := createContractArgs(requestAsset, sellerProgram, ratioNumerator, ratioDenominator)
+       program, err := vmutil.P2WMCProgram(*contractArgs)
+       if err != nil {
+               panic(err)
+       }
+       return program
+}
+
+func createContractArgs(requestAsset bc.AssetID, sellerProgram []byte, ratioNumerator, ratioDenominator int64) *vmutil.MagneticContractArgs {
+       return &vmutil.MagneticContractArgs{
+               RequestedAsset:   requestAsset,
+               RatioNumerator:   ratioNumerator,
+               RatioDenominator: ratioDenominator,
+               SellerProgram:    sellerProgram,
+               SellerKey:        testutil.MustDecodeHexString("ad79ec6bd3a6d6dbe4d0ee902afc99a12b9702fb63edce5f651db3081d868b75"),
+       }
+}
+
+func MustNewOrderFromOutputV2(tx *types.Tx, outputIndex int, blockHeight, txIndex uint64) *common.Order {
+       order, err := common.NewOrderFromOutput(tx, outputIndex, blockHeight, txIndex)
+       if err != nil {
+               panic(err)
+       }
+
+       return order
+}
+
+func MustNewOrderFromOutput(tx *types.Tx, outputIndex int) *common.Order {
+       return MustNewOrderFromOutputV2(tx, outputIndex, 0, 0)
+}
+
+func hashPtr(hash bc.Hash) *bc.Hash {
+       return &hash
+}
diff --git a/application/mov/mock/mock_mov_store.go b/application/mov/mock/mock_mov_store.go
new file mode 100644 (file)
index 0000000..76e6ffb
--- /dev/null
@@ -0,0 +1,114 @@
+package mock
+
+import (
+       "sort"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+)
+
+type MovStore struct {
+       tradePairs []*common.TradePair
+       orderMap   map[string][]*common.Order
+       dbState    *common.MovDatabaseState
+}
+
+func NewMovStore(tradePairs []*common.TradePair, orders []*common.Order) *MovStore {
+       orderMap := make(map[string][]*common.Order)
+       for _, order := range orders {
+               orderMap[order.TradePair().Key()] = append(orderMap[order.TradePair().Key()], order)
+       }
+
+       for _, orders := range orderMap {
+               sort.Sort(common.OrderSlice(orders))
+       }
+       return &MovStore{
+               tradePairs: tradePairs,
+               orderMap:   orderMap,
+       }
+}
+
+func (m *MovStore) Clear() {
+       m.tradePairs = nil
+       m.dbState = nil
+       m.orderMap = make(map[string][]*common.Order)
+}
+
+func (m *MovStore) GetMovDatabaseState() (*common.MovDatabaseState, error) {
+       return m.dbState, nil
+}
+
+func (m *MovStore) InitDBState(height uint64, hash *bc.Hash) error {
+       return nil
+}
+
+func (m *MovStore) ListOrders(orderAfter *common.Order) ([]*common.Order, error) {
+       tradePair := &common.TradePair{FromAssetID: orderAfter.FromAssetID, ToAssetID: orderAfter.ToAssetID}
+       orders := m.orderMap[tradePair.Key()]
+       begin := len(orders)
+       if orderAfter.Rate() == 0 {
+               begin = 0
+       } else {
+               for i, order := range orders {
+                       if order.Rate() == orderAfter.Rate() {
+                               begin = i + 1
+                               break
+                       }
+               }
+       }
+       var result []*common.Order
+       for i := begin; i < len(orders) && len(result) < 3; i++ {
+               result = append(result, orders[i])
+       }
+       return result, nil
+}
+
+func (m *MovStore) ListTradePairsWithStart(fromAssetIDAfter, toAssetIDAfter *bc.AssetID) ([]*common.TradePair, error) {
+       begin := len(m.tradePairs)
+       if fromAssetIDAfter == nil || toAssetIDAfter == nil {
+               begin = 0
+       } else {
+               for i, tradePair := range m.tradePairs {
+                       if *tradePair.FromAssetID == *fromAssetIDAfter && *tradePair.ToAssetID == *toAssetIDAfter {
+                               begin = i + 1
+                               break
+                       }
+               }
+       }
+       var result []*common.TradePair
+       for i := begin; i < len(m.tradePairs) && len(result) < 3; i++ {
+               result = append(result, m.tradePairs[i])
+       }
+       return result, nil
+}
+
+func (m *MovStore) ProcessOrders(addOrders []*common.Order, delOrders []*common.Order, blockHeader *types.BlockHeader) error {
+       for _, order := range addOrders {
+               tradePair := &common.TradePair{FromAssetID: order.FromAssetID, ToAssetID: order.ToAssetID}
+               m.orderMap[tradePair.Key()] = append(m.orderMap[tradePair.Key()], order)
+       }
+       for _, delOrder := range delOrders {
+               tradePair := &common.TradePair{FromAssetID: delOrder.FromAssetID, ToAssetID: delOrder.ToAssetID}
+               orders := m.orderMap[tradePair.Key()]
+               for i, order := range orders {
+                       if delOrder.Key() == order.Key() {
+                               m.orderMap[tradePair.Key()] = append(orders[0:i], orders[i+1:]...)
+                       }
+               }
+       }
+       for _, orders := range m.orderMap {
+               sort.Sort(common.OrderSlice(orders))
+       }
+
+       if blockHeader.Height == m.dbState.Height {
+               m.dbState = &common.MovDatabaseState{Height: blockHeader.Height - 1, Hash: &blockHeader.PreviousBlockHash}
+       } else if blockHeader.Height == m.dbState.Height+1 {
+               blockHash := blockHeader.Hash()
+               m.dbState = &common.MovDatabaseState{Height: blockHeader.Height, Hash: &blockHash}
+       } else {
+               return errors.New("error block header")
+       }
+       return nil
+}
diff --git a/application/mov/mov_core.go b/application/mov/mov_core.go
new file mode 100644 (file)
index 0000000..7dca133
--- /dev/null
@@ -0,0 +1,549 @@
+package mov
+
+import (
+       "encoding/hex"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/contract"
+       "github.com/bytom/vapor/application/mov/database"
+       "github.com/bytom/vapor/application/mov/match"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+)
+
+var (
+       errChainStatusHasAlreadyInit    = errors.New("mov chain status has already initialized")
+       errInvalidTradePairs            = errors.New("The trade pairs in the tx input is invalid")
+       errStatusFailMustFalse          = errors.New("status fail of transaction does not allow to be true")
+       errInputProgramMustP2WMCScript  = errors.New("input program of trade tx must p2wmc script")
+       errExistCancelOrderInMatchedTx  = errors.New("can't exist cancel order in the matched transaction")
+       errExistTradeInCancelOrderTx    = errors.New("can't exist trade in the cancel order transaction")
+       errAssetIDMustUniqueInMatchedTx = errors.New("asset id must unique in matched transaction")
+       errRatioOfTradeLessThanZero     = errors.New("ratio arguments must greater than zero")
+       errSpendOutputIDIsIncorrect     = errors.New("spend output id of matched tx is not equals to actual matched tx")
+       errRequestAmountMath            = errors.New("request amount of order less than one or big than max of int64")
+       errNotMatchedOrder              = errors.New("order in matched tx is not matched")
+       errNotConfiguredRewardProgram   = errors.New("reward program is not configured properly")
+       errRewardProgramIsWrong         = errors.New("the reward program is not correct")
+)
+
+// Core represent the core logic of the match module, which include generate match transactions before packing the block,
+// verify the match transaction in block is correct, and update the order table according to the transaction.
+type Core struct {
+       movStore         database.MovStore
+       startBlockHeight uint64
+}
+
+// NewCore return a instance of Core by path of mov db
+func NewCore(dbBackend, dbDir string, startBlockHeight uint64) *Core {
+       movDB := dbm.NewDB("mov", dbBackend, dbDir)
+       return &Core{movStore: database.NewLevelDBMovStore(movDB), startBlockHeight: startBlockHeight}
+}
+
+// NewCoreWithDB return a instance of Core by movStore
+func NewCoreWithDB(store *database.LevelDBMovStore, startBlockHeight uint64) *Core {
+       return &Core{movStore: store, startBlockHeight: startBlockHeight}
+}
+
+// ApplyBlock parse pending order and cancel from the the transactions of block
+// and add pending order to the dex db, remove cancel order from dex db.
+func (m *Core) ApplyBlock(block *types.Block) error {
+       if block.Height < m.startBlockHeight {
+               return nil
+       }
+
+       if block.Height == m.startBlockHeight {
+               blockHash := block.Hash()
+               return m.InitChainStatus(&blockHash)
+       }
+
+       if err := m.validateMatchedTxSequence(movTxs(block)); err != nil {
+               return err
+       }
+
+       addOrders, deleteOrders, err := decodeTxsOrders(movTxs(block))
+       if err != nil {
+               return err
+       }
+
+       return m.movStore.ProcessOrders(addOrders, deleteOrders, &block.BlockHeader)
+}
+
+// Tx contains raw transaction and the sequence of tx in block
+type Tx struct {
+       rawTx       *types.Tx
+       blockHeight uint64
+       txIndex     uint64
+}
+
+// NewTx create a new Tx instance
+func NewTx(tx *types.Tx, blockHeight, txIndex uint64) *Tx {
+       return &Tx{rawTx: tx, blockHeight: blockHeight, txIndex: txIndex}
+}
+
+// BeforeProposalBlock return all transactions than can be matched, and the number of transactions cannot exceed the given capacity.
+func (m *Core) BeforeProposalBlock(block *types.Block, gasLeft int64, isTimeout func() bool) ([]*types.Tx, error) {
+       if block.Height <= m.startBlockHeight {
+               return nil, nil
+       }
+
+       orderBook, err := buildOrderBook(m.movStore, movTxs(block))
+       if err != nil {
+               return nil, err
+       }
+
+       program, _ := getRewardProgram(block.Height)
+       rewardProgram, err := hex.DecodeString(program)
+       if err != nil {
+               return nil, errNotConfiguredRewardProgram
+       }
+
+       matchEngine := match.NewEngine(orderBook, rewardProgram)
+       tradePairIterator := database.NewTradePairIterator(m.movStore)
+       matchCollector := newMatchTxCollector(matchEngine, tradePairIterator, gasLeft, isTimeout)
+       return matchCollector.result()
+}
+
+// ChainStatus return the current block height and block hash in dex core
+func (m *Core) ChainStatus() (uint64, *bc.Hash, error) {
+       state, err := m.movStore.GetMovDatabaseState()
+       if err == database.ErrNotInitDBState {
+               return 0, nil, protocol.ErrNotInitSubProtocolChainStatus
+       }
+
+       if err != nil {
+               return 0, nil, err
+       }
+
+       return state.Height, state.Hash, nil
+}
+
+// DetachBlock parse pending order and cancel from the the transactions of block
+// and add cancel order to the dex db, remove pending order from dex db.
+func (m *Core) DetachBlock(block *types.Block) error {
+       if block.Height < m.startBlockHeight {
+               return nil
+       }
+
+       if block.Height == m.startBlockHeight {
+               m.movStore.Clear()
+               return nil
+       }
+
+       deleteOrders, addOrders, err := decodeTxsOrders(movTxs(block))
+       if err != nil {
+               return err
+       }
+
+       return m.movStore.ProcessOrders(addOrders, deleteOrders, &block.BlockHeader)
+}
+
+// InitChainStatus used to init the start block height and start block hash to store
+func (m *Core) InitChainStatus(startHash *bc.Hash) error {
+       if _, err := m.movStore.GetMovDatabaseState(); err == nil {
+               return errChainStatusHasAlreadyInit
+       }
+
+       return m.movStore.InitDBState(m.startBlockHeight, startHash)
+}
+
+// IsDust block the transaction that are not generated by the match engine
+func (m *Core) IsDust(tx *types.Tx) bool {
+       for _, input := range tx.Inputs {
+               if segwit.IsP2WMCScript(input.ControlProgram()) && !contract.IsCancelClauseSelector(input) {
+                       return true
+               }
+       }
+       return false
+}
+
+// Name return the name of current module
+func (m *Core) Name() string {
+       return "MOV"
+}
+
+// StartHeight return the start block height of current module
+func (m *Core) StartHeight() uint64 {
+       return m.startBlockHeight
+}
+
+// ValidateBlock no need to verify the block header, because the first module has been verified.
+// just need to verify the transactions in the block.
+func (m *Core) ValidateBlock(block *types.Block, verifyResults []*bc.TxVerifyResult) error {
+       for i, tx := range block.Transactions {
+               if err := m.ValidateTx(tx, verifyResults[i], block.Height); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// ValidateTx validate one transaction.
+func (m *Core) ValidateTx(tx *types.Tx, verifyResult *bc.TxVerifyResult, blockHeight uint64) error {
+       if blockHeight <= m.startBlockHeight {
+               return nil
+       }
+
+       if verifyResult.StatusFail {
+               return errStatusFailMustFalse
+       }
+
+       if common.IsMatchedTx(tx) {
+               if err := validateMatchedTx(tx, blockHeight); err != nil {
+                       return err
+               }
+       } else if common.IsCancelOrderTx(tx) {
+               if err := validateCancelOrderTx(tx); err != nil {
+                       return err
+               }
+       }
+
+       for _, output := range tx.Outputs {
+               if !segwit.IsP2WMCScript(output.ControlProgram()) {
+                       continue
+               }
+
+               if err := validateMagneticContractArgs(output.AssetAmount(), output.ControlProgram()); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// matchedTxFee is object to record the mov tx's fee information
+type matchedTxFee struct {
+       rewardProgram []byte
+       amount        uint64
+}
+
+// calcFeeAmount return the amount of fee in the matching transaction
+func calcFeeAmount(matchedTx *types.Tx) (map[bc.AssetID]*matchedTxFee, error) {
+       assetFeeMap := make(map[bc.AssetID]*matchedTxFee)
+       dealProgMaps := make(map[string]bool)
+
+       for _, input := range matchedTx.Inputs {
+               assetFeeMap[input.AssetID()] = &matchedTxFee{amount: input.AssetAmount().Amount}
+               contractArgs, err := segwit.DecodeP2WMCProgram(input.ControlProgram())
+               if err != nil {
+                       return nil, err
+               }
+
+               dealProgMaps[hex.EncodeToString(contractArgs.SellerProgram)] = true
+       }
+
+       for _, output := range matchedTx.Outputs {
+               assetAmount := output.AssetAmount()
+               if _, ok := dealProgMaps[hex.EncodeToString(output.ControlProgram())]; ok || segwit.IsP2WMCScript(output.ControlProgram()) {
+                       assetFeeMap[*assetAmount.AssetId].amount -= assetAmount.Amount
+                       if assetFeeMap[*assetAmount.AssetId].amount <= 0 {
+                               delete(assetFeeMap, *assetAmount.AssetId)
+                       }
+               } else if assetFeeMap[*assetAmount.AssetId].rewardProgram == nil {
+                       assetFeeMap[*assetAmount.AssetId].rewardProgram = output.ControlProgram()
+               } else {
+                       return nil, errors.Wrap(errRewardProgramIsWrong, "double reward program")
+               }
+       }
+       return assetFeeMap, nil
+}
+
+func validateCancelOrderTx(tx *types.Tx) error {
+       for _, input := range tx.Inputs {
+               if segwit.IsP2WMCScript(input.ControlProgram()) && !contract.IsCancelClauseSelector(input) {
+                       return errInputProgramMustP2WMCScript
+               }
+       }
+       return nil
+}
+
+func validateMagneticContractArgs(fromAssetAmount bc.AssetAmount, program []byte) error {
+       contractArgs, err := segwit.DecodeP2WMCProgram(program)
+       if err != nil {
+               return err
+       }
+
+       if *fromAssetAmount.AssetId == contractArgs.RequestedAsset {
+               return errInvalidTradePairs
+       }
+
+       if contractArgs.RatioNumerator <= 0 || contractArgs.RatioDenominator <= 0 {
+               return errRatioOfTradeLessThanZero
+       }
+
+       if match.CalcRequestAmount(fromAssetAmount.Amount, contractArgs.RatioNumerator, contractArgs.RatioDenominator) < 1 {
+               return errRequestAmountMath
+       }
+       return nil
+}
+
+func validateMatchedTx(tx *types.Tx, blockHeight uint64) error {
+       fromAssetIDMap := make(map[string]bool)
+       toAssetIDMap := make(map[string]bool)
+       for i, input := range tx.Inputs {
+               if !segwit.IsP2WMCScript(input.ControlProgram()) {
+                       return errInputProgramMustP2WMCScript
+               }
+
+               if contract.IsCancelClauseSelector(input) {
+                       return errExistCancelOrderInMatchedTx
+               }
+
+               order, err := common.NewOrderFromInput(tx, i)
+               if err != nil {
+                       return err
+               }
+
+               fromAssetIDMap[order.FromAssetID.String()] = true
+               toAssetIDMap[order.ToAssetID.String()] = true
+       }
+
+       if inputSize := len(tx.Inputs); len(fromAssetIDMap) != inputSize || len(toAssetIDMap) != inputSize {
+               return errAssetIDMustUniqueInMatchedTx
+       }
+
+       return validateMatchedTxFee(tx, blockHeight)
+}
+
+func validateMatchedTxFee(tx *types.Tx, blockHeight uint64) error {
+       matchedTxFees, err := calcFeeAmount(tx)
+       if err != nil {
+               return err
+       }
+
+       for _, fee := range matchedTxFees {
+               if err := validateRewardProgram(blockHeight, hex.EncodeToString(fee.rewardProgram)); err != nil {
+                       return err
+               }
+       }
+
+       orders, err := parseDeleteOrdersFromTx(tx)
+       if err != nil {
+               return err
+       }
+
+       receivedAmount, priceDiffs := match.CalcReceivedAmount(orders)
+       feeAmounts := make(map[bc.AssetID]uint64)
+       for assetID, fee := range matchedTxFees {
+               feeAmounts[assetID] = fee.amount
+       }
+
+       feeStrategy := match.NewDefaultFeeStrategy()
+       return feeStrategy.Validate(receivedAmount, priceDiffs, feeAmounts, blockHeight)
+}
+
+func (m *Core) validateMatchedTxSequence(txs []*Tx) error {
+       orderBook := match.NewOrderBook(m.movStore, nil, nil)
+       for _, tx := range txs {
+               if common.IsMatchedTx(tx.rawTx) {
+                       tradePairs, err := parseTradePairsFromMatchedTx(tx.rawTx)
+                       if err != nil {
+                               return err
+                       }
+
+                       orders := orderBook.PeekOrders(tradePairs)
+                       if err := validateSpendOrders(tx.rawTx, orders); err != nil {
+                               return err
+                       }
+
+                       orderBook.PopOrders(tradePairs)
+               } else if common.IsCancelOrderTx(tx.rawTx) {
+                       orders, err := parseDeleteOrdersFromTx(tx.rawTx)
+                       if err != nil {
+                               return err
+                       }
+
+                       for _, order := range orders {
+                               orderBook.DelOrder(order)
+                       }
+               }
+
+               addOrders, err := parseAddOrdersFromTx(tx)
+               if err != nil {
+                       return err
+               }
+
+               for _, order := range addOrders {
+                       orderBook.AddOrder(order)
+               }
+       }
+       return nil
+}
+
+func validateSpendOrders(tx *types.Tx, orders []*common.Order) error {
+       if len(tx.Inputs) != len(orders) {
+               return errNotMatchedOrder
+       }
+
+       spendOutputIDs := make(map[string]bool)
+       for _, input := range tx.Inputs {
+               spendOutputID, err := input.SpentOutputID()
+               if err != nil {
+                       return err
+               }
+
+               spendOutputIDs[spendOutputID.String()] = true
+       }
+
+       for _, order := range orders {
+               outputID := order.UTXOHash().String()
+               if _, ok := spendOutputIDs[outputID]; !ok {
+                       return errSpendOutputIDIsIncorrect
+               }
+       }
+       return nil
+}
+
+func decodeTxsOrders(txs []*Tx) ([]*common.Order, []*common.Order, error) {
+       deleteOrderMap := make(map[string]*common.Order)
+       addOrderMap := make(map[string]*common.Order)
+       for _, tx := range txs {
+               addOrders, err := parseAddOrdersFromTx(tx)
+               if err != nil {
+                       return nil, nil, err
+               }
+
+               for _, order := range addOrders {
+                       addOrderMap[order.Key()] = order
+               }
+
+               deleteOrders, err := parseDeleteOrdersFromTx(tx.rawTx)
+               if err != nil {
+                       return nil, nil, err
+               }
+
+               for _, order := range deleteOrders {
+                       deleteOrderMap[order.Key()] = order
+               }
+       }
+
+       addOrders, deleteOrders := mergeOrders(addOrderMap, deleteOrderMap)
+       return addOrders, deleteOrders, nil
+}
+
+func buildOrderBook(store database.MovStore, txs []*Tx) (*match.OrderBook, error) {
+       var arrivalAddOrders, arrivalDelOrders []*common.Order
+       for _, tx := range txs {
+               addOrders, err := parseAddOrdersFromTx(tx)
+               if err != nil {
+                       return nil, err
+               }
+
+               delOrders, err := parseDeleteOrdersFromTx(tx.rawTx)
+               if err != nil {
+                       return nil, err
+               }
+
+               arrivalAddOrders = append(arrivalAddOrders, addOrders...)
+               arrivalDelOrders = append(arrivalDelOrders, delOrders...)
+       }
+
+       return match.NewOrderBook(store, arrivalAddOrders, arrivalDelOrders), nil
+}
+
+func parseAddOrdersFromTx(tx *Tx) ([]*common.Order, error) {
+       var orders []*common.Order
+       for i, output := range tx.rawTx.Outputs {
+               if output.OutputType() != types.IntraChainOutputType || !segwit.IsP2WMCScript(output.ControlProgram()) {
+                       continue
+               }
+
+               if output.AssetAmount().Amount == 0 {
+                       continue
+               }
+
+               order, err := common.NewOrderFromOutput(tx.rawTx, i, tx.blockHeight, tx.txIndex)
+               if err != nil {
+                       return nil, err
+               }
+
+               orders = append(orders, order)
+       }
+       return orders, nil
+}
+
+func parseDeleteOrdersFromTx(tx *types.Tx) ([]*common.Order, error) {
+       var orders []*common.Order
+       for i, input := range tx.Inputs {
+               if input.InputType() != types.SpendInputType || !segwit.IsP2WMCScript(input.ControlProgram()) {
+                       continue
+               }
+
+               order, err := common.NewOrderFromInput(tx, i)
+               if err != nil {
+                       return nil, err
+               }
+
+               orders = append(orders, order)
+       }
+       return orders, nil
+}
+
+func parseTradePairsFromMatchedTx(tx *types.Tx) ([]*common.TradePair, error) {
+       var tradePairs []*common.TradePair
+       for _, tx := range tx.Inputs {
+               contractArgs, err := segwit.DecodeP2WMCProgram(tx.ControlProgram())
+               if err != nil {
+                       return nil, err
+               }
+
+               tradePairs = append(tradePairs, &common.TradePair{FromAssetID: tx.AssetAmount().AssetId, ToAssetID: &contractArgs.RequestedAsset})
+       }
+       return tradePairs, nil
+}
+
+func mergeOrders(addOrderMap, deleteOrderMap map[string]*common.Order) ([]*common.Order, []*common.Order) {
+       var deleteOrders, addOrders []*common.Order
+       for orderID, order := range addOrderMap {
+               if _, ok := deleteOrderMap[orderID]; ok {
+                       delete(deleteOrderMap, orderID)
+                       continue
+               }
+               addOrders = append(addOrders, order)
+       }
+
+       for _, order := range deleteOrderMap {
+               deleteOrders = append(deleteOrders, order)
+       }
+       return addOrders, deleteOrders
+}
+
+func movTxs(block *types.Block) []*Tx {
+       var movTxs []*Tx
+       for i, tx := range block.Transactions {
+               movTxs = append(movTxs, NewTx(tx, block.Height, uint64(i)))
+       }
+       return movTxs
+}
+
+// getRewardProgram return the reward program by specified block height
+// if no reward program configured, then will return empty string
+// if reward program of 0-100 height is configured, but the specified height is 200, then will return  0-100's reward program
+// the second return value represent whether to find exactly
+func getRewardProgram(height uint64) (string, bool) {
+       rewardPrograms := consensus.ActiveNetParams.MovRewardPrograms
+       if len(rewardPrograms) == 0 {
+               return "51", false
+       }
+
+       var program string
+       for _, rewardProgram := range rewardPrograms {
+               program = rewardProgram.Program
+               if height >= rewardProgram.BeginBlock && height <= rewardProgram.EndBlock {
+                       return program, true
+               }
+       }
+       return program, false
+}
+
+func validateRewardProgram(height uint64, program string) error {
+       rewardProgram, exact := getRewardProgram(height)
+       if exact && rewardProgram != program {
+               return errRewardProgramIsWrong
+       }
+       return nil
+}
diff --git a/application/mov/mov_core_test.go b/application/mov/mov_core_test.go
new file mode 100644 (file)
index 0000000..7df7c2a
--- /dev/null
@@ -0,0 +1,859 @@
+package mov
+
+import (
+       "encoding/hex"
+       "math"
+       "os"
+       "testing"
+
+       "github.com/bytom/vapor/application/mov/common"
+       "github.com/bytom/vapor/application/mov/database"
+       "github.com/bytom/vapor/application/mov/match"
+       "github.com/bytom/vapor/application/mov/mock"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/testutil"
+)
+
+var initBlockHeader = &types.BlockHeader{Height: 1, PreviousBlockHash: bc.Hash{}}
+
+func TestApplyBlock(t *testing.T) {
+       cases := []struct {
+               desc        string
+               block       *types.Block
+               blockFunc   testFun
+               initOrders  []*common.Order
+               wantOrders  []*common.Order
+               wantDBState *common.MovDatabaseState
+               wantError   error
+       }{
+               {
+                       desc: "apply block has pending order transaction",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.Btc2EthMakerTxs[0], mock.Eth2BtcMakerTxs[0],
+                               },
+                       },
+                       blockFunc:   applyBlock,
+                       wantOrders:  []*common.Order{mock.MustNewOrderFromOutputV2(mock.Btc2EthMakerTxs[0], 0, 2, 0), mock.MustNewOrderFromOutputV2(mock.Eth2BtcMakerTxs[0], 0, 2, 1)},
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block has two different trade pairs & different trade pair won't affect each order",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.Eth2BtcMakerTxs[0],
+                                       mock.Eos2EtcMakerTxs[0],
+                                       mock.Eth2EosMakerTxs[0],
+                               },
+                       },
+                       blockFunc: applyBlock,
+                       wantOrders: []*common.Order{
+                               mock.MustNewOrderFromOutputV2(mock.Btc2EthMakerTxs[0], 0, 2, 0),
+                               mock.MustNewOrderFromOutputV2(mock.Eth2BtcMakerTxs[0], 0, 2, 1),
+                               mock.MustNewOrderFromOutputV2(mock.Eos2EtcMakerTxs[0], 0, 2, 2),
+                               mock.MustNewOrderFromOutputV2(mock.Eth2EosMakerTxs[0], 0, 2, 3),
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block has full matched transaction",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[1],
+                               },
+                       },
+                       blockFunc:   applyBlock,
+                       initOrders:  []*common.Order{mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Eth2BtcOrders[0]},
+                       wantOrders:  []*common.Order{mock.Btc2EthOrders[1]},
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block has partial matched transaction",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[0],
+                               },
+                       },
+                       blockFunc:   applyBlock,
+                       initOrders:  []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[1]},
+                       wantOrders:  []*common.Order{mock.MustNewOrderFromOutputV2(mock.MatchedTxs[0], 1, 2, 0)},
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block has two partial matched transaction",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[2], mock.MatchedTxs[3],
+                               },
+                       },
+                       blockFunc:   applyBlock,
+                       initOrders:  []*common.Order{mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Eth2BtcOrders[2]},
+                       wantOrders:  []*common.Order{mock.MustNewOrderFromOutputV2(mock.MatchedTxs[3], 1, 2, 1)},
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block has partial matched transaction by pending orders from tx pool",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.Eth2BtcMakerTxs[1],
+                                       mock.MatchedTxs[4],
+                               },
+                       },
+                       blockFunc:   applyBlock,
+                       initOrders:  []*common.Order{},
+                       wantOrders:  []*common.Order{mock.MustNewOrderFromOutputV2(mock.MatchedTxs[4], 1, 2, 2)},
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block which node packed maker tx and match transaction in random orde",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.Eos2EtcMakerTxs[0],
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.Eth2BtcMakerTxs[1],
+                                       mock.MatchedTxs[4],
+                                       mock.Eth2EosMakerTxs[0],
+                                       mock.Etc2EosMakerTxs[0],
+                                       mock.MatchedTxs[5],
+                               },
+                       },
+                       blockFunc:  applyBlock,
+                       initOrders: []*common.Order{},
+                       wantOrders: []*common.Order{
+                               mock.MustNewOrderFromOutputV2(mock.MatchedTxs[4], 1, 2, 3),
+                               mock.MustNewOrderFromOutputV2(mock.Eth2EosMakerTxs[0], 0, 2, 4),
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "apply block has partial matched transaction chain",
+                       block: &types.Block{
+                               BlockHeader: types.BlockHeader{Height: 2, PreviousBlockHash: initBlockHeader.Hash()},
+                               Transactions: []*types.Tx{
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.Eth2BtcMakerTxs[1],
+                                       mock.MatchedTxs[4],
+                                       mock.Eth2BtcMakerTxs[0],
+                                       mock.MatchedTxs[7],
+                               },
+                       },
+                       blockFunc:   applyBlock,
+                       initOrders:  []*common.Order{},
+                       wantOrders:  []*common.Order{mock.MustNewOrderFromOutputV2(mock.MatchedTxs[7], 2, 2, 4)},
+                       wantDBState: &common.MovDatabaseState{Height: 2, Hash: hashPtr(testutil.MustDecodeHash("88dbcde57bb2b53b107d7494f20f1f1a892307a019705980c3510890449c0020"))},
+               },
+               {
+                       desc: "detach block has pending order transaction",
+                       block: &types.Block{
+                               BlockHeader: *initBlockHeader,
+                               Transactions: []*types.Tx{
+                                       mock.Btc2EthMakerTxs[0], mock.Eth2BtcMakerTxs[1],
+                               },
+                       },
+                       blockFunc:   detachBlock,
+                       initOrders:  []*common.Order{mock.MustNewOrderFromOutput(mock.Btc2EthMakerTxs[0], 0), mock.MustNewOrderFromOutput(mock.Eth2BtcMakerTxs[1], 0)},
+                       wantOrders:  []*common.Order{},
+                       wantDBState: &common.MovDatabaseState{Height: 0, Hash: &bc.Hash{}},
+               },
+               {
+                       desc: "detach block has two different trade pairs & different trade pair won't affect each order",
+                       block: &types.Block{
+                               BlockHeader: *initBlockHeader,
+                               Transactions: []*types.Tx{
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.Eth2BtcMakerTxs[0],
+                                       mock.Eos2EtcMakerTxs[0],
+                                       mock.Eth2EosMakerTxs[0],
+                               },
+                       },
+                       blockFunc: detachBlock,
+                       initOrders: []*common.Order{
+                               mock.MustNewOrderFromOutput(mock.Btc2EthMakerTxs[0], 0),
+                               mock.MustNewOrderFromOutput(mock.Eth2BtcMakerTxs[0], 0),
+                               mock.MustNewOrderFromOutput(mock.Eos2EtcMakerTxs[0], 0),
+                               mock.MustNewOrderFromOutput(mock.Eth2EosMakerTxs[0], 0),
+                       },
+                       wantOrders:  []*common.Order{},
+                       wantDBState: &common.MovDatabaseState{Height: 0, Hash: &bc.Hash{}},
+               },
+               {
+                       desc: "detach block has full matched transaction",
+                       block: &types.Block{
+                               BlockHeader: *initBlockHeader,
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[1],
+                               },
+                       },
+                       blockFunc:  detachBlock,
+                       initOrders: []*common.Order{mock.Btc2EthOrders[1]},
+                       wantOrders: []*common.Order{
+                               orderWithHeightAndTxIndex(mock.Btc2EthOrders[0], 0, 0),
+                               mock.Btc2EthOrders[1],
+                               orderWithHeightAndTxIndex(mock.Eth2BtcOrders[0], 0, 0),
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 0, Hash: &bc.Hash{}},
+               },
+               {
+                       desc: "detach block has partial matched transaction",
+                       block: &types.Block{
+                               BlockHeader: *initBlockHeader,
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[0],
+                               },
+                       },
+                       blockFunc:  detachBlock,
+                       initOrders: []*common.Order{mock.MustNewOrderFromOutputV2(mock.MatchedTxs[0], 1, 1, 0)},
+                       wantOrders: []*common.Order{
+                               orderWithHeightAndTxIndex(mock.Btc2EthOrders[0], 0, 0),
+                               orderWithHeightAndTxIndex(mock.Eth2BtcOrders[1], 0, 0),
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 0, Hash: &bc.Hash{}},
+               },
+               {
+                       desc: "detach block has two partial matched transaction",
+                       block: &types.Block{
+                               BlockHeader: *initBlockHeader,
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[2], mock.MatchedTxs[3],
+                               },
+                       },
+                       blockFunc:  detachBlock,
+                       initOrders: []*common.Order{mock.MustNewOrderFromOutput(mock.MatchedTxs[3], 1)},
+                       wantOrders: []*common.Order{
+                               orderWithHeightAndTxIndex(mock.Btc2EthOrders[0], 0, 0),
+                               orderWithHeightAndTxIndex(mock.Btc2EthOrders[1], 0, 0),
+                               orderWithHeightAndTxIndex(mock.Eth2BtcOrders[2], 0, 0),
+                       },
+                       wantDBState: &common.MovDatabaseState{Height: 0, Hash: &bc.Hash{}},
+               },
+               {
+                       desc: "detach block which node packed maker tx and match transaction in random orde",
+                       block: &types.Block{
+                               BlockHeader: *initBlockHeader,
+                               Transactions: []*types.Tx{
+                                       mock.Eos2EtcMakerTxs[0],
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.MatchedTxs[4],
+                                       mock.Eth2EosMakerTxs[0],
+                                       mock.Eth2BtcMakerTxs[1],
+                                       mock.MatchedTxs[5],
+                                       mock.Etc2EosMakerTxs[0],
+                               },
+                       },
+                       blockFunc: detachBlock,
+                       initOrders: []*common.Order{
+                               mock.MustNewOrderFromOutput(mock.MatchedTxs[4], 1),
+                               mock.MustNewOrderFromOutput(mock.Eth2EosMakerTxs[0], 0),
+                       },
+                       wantOrders:  []*common.Order{},
+                       wantDBState: &common.MovDatabaseState{Height: 0, Hash: &bc.Hash{}},
+               },
+       }
+
+       defer os.RemoveAll("temp")
+       for i, c := range cases {
+               testDB := dbm.NewDB("testdb", "leveldb", "temp")
+               store := database.NewLevelDBMovStore(testDB)
+               if err := store.InitDBState(0, &bc.Hash{}); err != nil {
+                       t.Fatal(err)
+               }
+
+               if err := store.ProcessOrders(c.initOrders, nil, initBlockHeader); err != nil {
+                       t.Fatal(err)
+               }
+
+               movCore := &Core{movStore: store}
+               if err := c.blockFunc(movCore, c.block); err != c.wantError {
+                       t.Errorf("#%d(%s):want error(%v), got error(%v)", i, c.desc, c.wantError, err)
+               }
+
+               gotOrders := queryAllOrders(store)
+               if !ordersEquals(c.wantOrders, gotOrders) {
+                       t.Errorf("#%d(%s):want orders(%v), got orders(%v)", i, c.desc, c.wantOrders, gotOrders)
+               }
+
+               dbState, err := store.GetMovDatabaseState()
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               if !testutil.DeepEqual(c.wantDBState, dbState) {
+                       t.Errorf("#%d(%s):want db state(%v), got db state(%v)", i, c.desc, c.wantDBState, dbState)
+               }
+
+               testDB.Close()
+               os.RemoveAll("temp")
+       }
+}
+
+func TestValidateBlock(t *testing.T) {
+       consensus.ActiveNetParams.MovRewardPrograms = []consensus.MovRewardProgram{
+               {
+                       BeginBlock: 0,
+                       EndBlock:   100,
+                       Program:    hex.EncodeToString(mock.RewardProgram),
+               },
+       }
+
+       cases := []struct {
+               desc          string
+               block         *types.Block
+               verifyResults []*bc.TxVerifyResult
+               wantError     error
+       }{
+               {
+                       desc: "block only has maker tx",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       mock.Eth2BtcMakerTxs[0],
+                                       mock.Btc2EthMakerTxs[0],
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}, {StatusFail: false}},
+                       wantError:     nil,
+               },
+               {
+                       desc: "block only has matched tx",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[0],
+                                       mock.MatchedTxs[1],
+                                       mock.MatchedTxs[2],
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}, {StatusFail: false}, {StatusFail: false}},
+                       wantError:     nil,
+               },
+               {
+                       desc: "block has maker tx and matched tx",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       mock.Eth2BtcMakerTxs[0],
+                                       mock.Btc2EthMakerTxs[0],
+                                       mock.MatchedTxs[0],
+                                       mock.MatchedTxs[1],
+                                       mock.MatchedTxs[2],
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}, {StatusFail: false}, {StatusFail: false}, {StatusFail: false}, {StatusFail: false}},
+                       wantError:     nil,
+               },
+               {
+                       desc: "status fail of maker tx is true",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       mock.Eth2BtcMakerTxs[0],
+                                       mock.Btc2EthMakerTxs[0],
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}, {StatusFail: true}},
+                       wantError:     errStatusFailMustFalse,
+               },
+               {
+                       desc: "status fail of matched tx is true",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       mock.MatchedTxs[1],
+                                       mock.MatchedTxs[2],
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}, {StatusFail: true}},
+                       wantError:     errStatusFailMustFalse,
+               },
+               {
+                       desc: "asset id in matched tx is not unique",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, mock.Btc2EthOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *mock.Eth2BtcOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Eth2BtcOrders[0].Utxo.Amount, mock.Eth2BtcOrders[0].Utxo.SourcePos, mock.Eth2BtcOrders[0].Utxo.ControlProgram),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("51")),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[0].ToAssetID, 9, testutil.MustDecodeHexString("53")),
+                                                       // fee
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 11, mock.RewardProgram),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[0].ToAssetID, 1, mock.RewardProgram),
+                                               },
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}, {StatusFail: true}},
+                       wantError:     errAssetIDMustUniqueInMatchedTx,
+               },
+               {
+                       desc: "common input in the matched tx",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, mock.Btc2EthOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *mock.Eth2BtcOrders[0].Utxo.SourceID, *mock.Eth2BtcOrders[0].FromAssetID, mock.Eth2BtcOrders[0].Utxo.Amount, mock.Eth2BtcOrders[0].Utxo.SourcePos, mock.Eth2BtcOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput(nil, testutil.MustDecodeHash("28b7b53d8dc90006bf97e0a4eaae2a72ec3d869873188698b694beaf20789f21"), *consensus.BTMAssetID, 100, 0, []byte{0x51}),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("51")),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[0].ToAssetID, 9, testutil.MustDecodeHexString("53")),
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 11, mock.RewardProgram),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[0].ToAssetID, 1, mock.RewardProgram),
+                                                       types.NewIntraChainOutput(*consensus.BTMAssetID, 100, []byte{0x51}),
+                                               },
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     errInputProgramMustP2WMCScript,
+               },
+               {
+                       desc: "cancel order in the matched tx",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, mock.Btc2EthOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, *mock.Eth2BtcOrders[0].Utxo.SourceID, *mock.Eth2BtcOrders[0].FromAssetID, mock.Eth2BtcOrders[0].Utxo.Amount, mock.Eth2BtcOrders[0].Utxo.SourcePos, mock.Eth2BtcOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput([][]byte{{}, {}, vm.Int64Bytes(2)}, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, mock.Btc2EthOrders[0].Utxo.ControlProgram),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("51")),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[0].ToAssetID, 9, testutil.MustDecodeHexString("53")),
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 11, mock.RewardProgram),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[0].ToAssetID, 1, mock.RewardProgram),
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].FromAssetID, 10, testutil.MustDecodeHexString("51")),
+                                               },
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     errExistCancelOrderInMatchedTx,
+               },
+               {
+                       desc: "common input in the cancel order tx",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{{}, {}, vm.Int64Bytes(2)}, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, mock.Btc2EthOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput(nil, testutil.MustDecodeHash("28b7b53d8dc90006bf97e0a4eaae2a72ec3d869873188698b694beaf20789f21"), *consensus.BTMAssetID, 100, 0, []byte{0x51}),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].FromAssetID, 10, testutil.MustDecodeHexString("51")),
+                                                       types.NewIntraChainOutput(*consensus.BTMAssetID, 100, mock.RewardProgram),
+                                               },
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     errInputProgramMustP2WMCScript,
+               },
+               {
+                       desc: "amount of fee greater than max fee amount",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, mock.Btc2EthOrders[0].Utxo.ControlProgram),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(10), vm.Int64Bytes(1), vm.Int64Bytes(0)}, *mock.Eth2BtcOrders[2].Utxo.SourceID, *mock.Eth2BtcOrders[2].FromAssetID, mock.Eth2BtcOrders[2].Utxo.Amount, mock.Eth2BtcOrders[2].Utxo.SourcePos, mock.Eth2BtcOrders[2].Utxo.ControlProgram),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[0].ToAssetID, 499, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251")),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[2].ToAssetID, 9, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19255")),
+                                                       // re-order
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[2].FromAssetID, 270, mock.Eth2BtcOrders[2].Utxo.ControlProgram),
+                                                       // fee
+                                                       types.NewIntraChainOutput(*mock.Btc2EthOrders[2].ToAssetID, 41, mock.RewardProgram),
+                                                       types.NewIntraChainOutput(*mock.Eth2BtcOrders[2].ToAssetID, 1, mock.RewardProgram),
+                                               },
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     match.ErrInvalidAmountOfFee,
+               },
+               {
+                       desc: "ratio numerator is zero",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs:  []*types.TxInput{types.NewSpendInput(nil, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, []byte{0x51})},
+                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(*mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.MustCreateP2WMCProgram(mock.ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251"), 0, 1))},
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     errRatioOfTradeLessThanZero,
+               },
+               {
+                       desc: "ratio denominator is zero",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs:  []*types.TxInput{types.NewSpendInput(nil, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, []byte{0x51})},
+                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(*mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.MustCreateP2WMCProgram(mock.ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251"), 1, 0))},
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     errRatioOfTradeLessThanZero,
+               },
+               {
+                       desc: "want amount is overflow",
+                       block: &types.Block{
+                               Transactions: []*types.Tx{
+                                       types.NewTx(types.TxData{
+                                               Inputs:  []*types.TxInput{types.NewSpendInput(nil, *mock.Btc2EthOrders[0].Utxo.SourceID, *mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.Btc2EthOrders[0].Utxo.SourcePos, []byte{0x51})},
+                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(*mock.Btc2EthOrders[0].FromAssetID, mock.Btc2EthOrders[0].Utxo.Amount, mock.MustCreateP2WMCProgram(mock.ETH, testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19251"), math.MaxInt64, 1))},
+                                       }),
+                               },
+                       },
+                       verifyResults: []*bc.TxVerifyResult{{StatusFail: false}},
+                       wantError:     errRequestAmountMath,
+               },
+       }
+
+       for i, c := range cases {
+               movCore := &Core{}
+               c.block.Height = 84000000
+               if err := movCore.ValidateBlock(c.block, c.verifyResults); err != c.wantError {
+                       t.Errorf("#%d(%s):validate block want error(%v), got error(%v)", i, c.desc, c.wantError, err)
+               }
+       }
+}
+
+func TestCalcMatchedTxFee(t *testing.T) {
+       cases := []struct {
+               desc             string
+               tx               types.TxData
+               wantMatchedTxFee map[bc.AssetID]*matchedTxFee
+       }{
+               {
+                       desc: "fee less than max fee",
+                       wantMatchedTxFee: map[bc.AssetID]*matchedTxFee{
+                               mock.BTC: {amount: 1, rewardProgram: mock.RewardProgram},
+                               mock.ETH: {amount: 2, rewardProgram: mock.RewardProgram},
+                       },
+                       tx: mock.MatchedTxs[1].TxData,
+               },
+               {
+                       desc: "fee refund in tx",
+                       wantMatchedTxFee: map[bc.AssetID]*matchedTxFee{
+                               mock.BTC: {amount: 1, rewardProgram: mock.RewardProgram},
+                               mock.ETH: {amount: 1, rewardProgram: mock.RewardProgram},
+                       },
+                       tx: mock.MatchedTxs[2].TxData,
+               },
+               {
+                       desc: "no price diff",
+                       wantMatchedTxFee: map[bc.AssetID]*matchedTxFee{
+                               mock.BTC: {amount: 1, rewardProgram: mock.RewardProgram},
+                               mock.ETH: {amount: 1, rewardProgram: mock.RewardProgram},
+                       },
+                       tx: mock.MatchedTxs[0].TxData,
+               },
+       }
+
+       for i, c := range cases {
+               gotMatchedTxFee, err := calcFeeAmount(types.NewTx(c.tx))
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               if !testutil.DeepEqual(gotMatchedTxFee, c.wantMatchedTxFee) {
+                       t.Errorf("#%d(%s):fail to caculate matched tx fee, got (%v), want (%v)", i, c.desc, gotMatchedTxFee, c.wantMatchedTxFee)
+               }
+       }
+}
+
+func TestBeforeProposalBlock(t *testing.T) {
+       consensus.ActiveNetParams.MovRewardPrograms = []consensus.MovRewardProgram{
+               {
+                       BeginBlock: 0,
+                       EndBlock:   100,
+                       Program:    hex.EncodeToString(mock.RewardProgram),
+               },
+       }
+
+       cases := []struct {
+               desc           string
+               initOrders     []*common.Order
+               gasLeft        int64
+               wantMatchedTxs []*types.Tx
+       }{
+               {
+                       desc:           "has matched tx, but gas left is zero",
+                       initOrders:     []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       gasLeft:        0,
+                       wantMatchedTxs: []*types.Tx{},
+               },
+               {
+                       desc:           "has one matched tx, and gas is sufficient",
+                       initOrders:     []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       gasLeft:        2000,
+                       wantMatchedTxs: []*types.Tx{mock.MatchedTxs[1]},
+               },
+               {
+                       desc: "has two matched tx, but gas is only enough to pack a matched tx",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[0],
+                               mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[2],
+                       },
+                       gasLeft:        2000,
+                       wantMatchedTxs: []*types.Tx{mock.MatchedTxs[2]},
+               },
+               {
+                       desc: "has two matched tx, and gas left is sufficient",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[0],
+                               mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[2],
+                       },
+                       gasLeft:        4000,
+                       wantMatchedTxs: []*types.Tx{mock.MatchedTxs[2], mock.MatchedTxs[3]},
+               },
+               {
+                       desc: "has multiple trade pairs, and gas left is sufficient",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[0],
+                               mock.Btc2EthOrders[1],
+                               mock.Eth2BtcOrders[2],
+                               mock.Eos2EtcOrders[0],
+                               mock.Etc2EosOrders[0],
+                       },
+                       gasLeft:        6000,
+                       wantMatchedTxs: []*types.Tx{mock.MatchedTxs[2], mock.MatchedTxs[3], mock.MatchedTxs[5]},
+               },
+       }
+
+       for i, c := range cases {
+               testDB := dbm.NewDB("testdb", "leveldb", "temp")
+               store := database.NewLevelDBMovStore(testDB)
+               if err := store.InitDBState(0, &bc.Hash{}); err != nil {
+                       t.Fatal(err)
+               }
+
+               if err := store.ProcessOrders(c.initOrders, nil, initBlockHeader); err != nil {
+                       t.Fatal(err)
+               }
+
+               movCore := &Core{movStore: store}
+               gotMatchedTxs, err := movCore.BeforeProposalBlock(&types.Block{BlockHeader: types.BlockHeader{Height: 2}}, c.gasLeft, func() bool { return false })
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               gotMatchedTxMap := make(map[string]interface{})
+               for _, matchedTx := range gotMatchedTxs {
+                       gotMatchedTxMap[matchedTx.ID.String()] = nil
+               }
+
+               wantMatchedTxMap := make(map[string]interface{})
+               for _, matchedTx := range c.wantMatchedTxs {
+                       wantMatchedTxMap[matchedTx.ID.String()] = nil
+               }
+
+               if !testutil.DeepEqual(gotMatchedTxMap, wantMatchedTxMap) {
+                       t.Errorf("#%d(%s):want matched tx(%v) is not equals got matched tx(%v)", i, c.desc, c.wantMatchedTxs, gotMatchedTxs)
+               }
+
+               testDB.Close()
+               os.RemoveAll("temp")
+       }
+}
+
+func TestValidateMatchedTxSequence(t *testing.T) {
+       cases := []struct {
+               desc         string
+               initOrders   []*common.Order
+               transactions []*Tx
+               wantError    error
+       }{
+               {
+                       desc:         "both db orders and transactions is empty",
+                       initOrders:   []*common.Order{},
+                       transactions: []*Tx{},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "existing matched orders in db, and transactions is empty",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       transactions: []*Tx{},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "db orders is empty, but transactions has matched tx",
+                       initOrders:   []*common.Order{},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[1]}},
+                       wantError:    errNotMatchedOrder,
+               },
+               {
+                       desc:         "existing matched orders in db, and corresponding matched tx in transactions",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[1]}},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "package matched tx, one order from db, and the another order from transactions",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0]},
+                       transactions: []*Tx{{rawTx: mock.Eth2BtcMakerTxs[0]}, {rawTx: mock.MatchedTxs[10]}},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "two matched txs use the same orders",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[1]}, {rawTx: mock.MatchedTxs[1]}},
+                       wantError:    errNotMatchedOrder,
+               },
+               {
+                       desc: "existing two matched orders in db, and only one corresponding matched tx in transactions",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[3], mock.Eth2BtcOrders[2],
+                               mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0],
+                       },
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[8]}},
+                       wantError:    nil,
+               },
+               {
+                       desc: "existing two matched orders in db, and the sequence of match txs in incorrect",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[3], mock.Eth2BtcOrders[2],
+                               mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0],
+                       },
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[1]}, {rawTx: mock.MatchedTxs[8]}},
+                       wantError:    errSpendOutputIDIsIncorrect,
+               },
+               {
+                       desc:         "matched tx and orders from packaged transactions",
+                       initOrders:   []*common.Order{},
+                       transactions: []*Tx{{rawTx: mock.Btc2EthMakerTxs[0]}, {rawTx: mock.Eth2BtcMakerTxs[1]}, {rawTx: mock.MatchedTxs[4]}},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "package the matched tx first, then package match orders",
+                       initOrders:   []*common.Order{},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[4]}, {rawTx: mock.Btc2EthMakerTxs[0]}, {rawTx: mock.Eth2BtcMakerTxs[1]}},
+                       wantError:    errNotMatchedOrder,
+               },
+               {
+                       desc:         "cancel order in transactions",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       transactions: []*Tx{{rawTx: mock.Btc2EthCancelTxs[0]}, {rawTx: mock.MatchedTxs[1]}},
+                       wantError:    errNotMatchedOrder,
+               },
+               {
+                       desc:         "package cancel order after match tx",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0]},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[1]}, {rawTx: mock.Btc2EthCancelTxs[0]}},
+                       wantError:    nil,
+               },
+               {
+                       desc: "package matched txs of different trade pairs",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0],
+                               mock.Eos2EtcOrders[0], mock.Etc2EosOrders[0],
+                       },
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[1]}, {rawTx: mock.MatchedTxs[9]}},
+                       wantError:    nil,
+               },
+               {
+                       desc: "package matched txs of different trade pairs in different sequence",
+                       initOrders: []*common.Order{
+                               mock.Btc2EthOrders[0], mock.Eth2BtcOrders[0],
+                               mock.Eos2EtcOrders[0], mock.Etc2EosOrders[0],
+                       },
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[9]}, {rawTx: mock.MatchedTxs[1]}},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "package partial matched tx from db orders, and the re-pending order continue to match",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Eth2BtcOrders[2]},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[2]}, {rawTx: mock.MatchedTxs[3]}},
+                       wantError:    nil,
+               },
+               {
+                       desc:         "cancel the re-pending order",
+                       initOrders:   []*common.Order{mock.Btc2EthOrders[0], mock.Btc2EthOrders[1], mock.Eth2BtcOrders[2]},
+                       transactions: []*Tx{{rawTx: mock.MatchedTxs[2]}, {rawTx: mock.Btc2EthCancelTxs[1]}, {rawTx: mock.MatchedTxs[3]}},
+                       wantError:    errNotMatchedOrder,
+               },
+       }
+
+       for i, c := range cases {
+               testDB := dbm.NewDB("testdb", "leveldb", "temp")
+               store := database.NewLevelDBMovStore(testDB)
+               if err := store.InitDBState(0, &bc.Hash{}); err != nil {
+                       t.Fatal(err)
+               }
+
+               if err := store.ProcessOrders(c.initOrders, nil, initBlockHeader); err != nil {
+                       t.Fatal(err)
+               }
+
+               movCore := &Core{movStore: store}
+               if err := movCore.validateMatchedTxSequence(c.transactions); err != c.wantError {
+                       t.Errorf("#%d(%s):wanet error(%v), got error(%v)", i, c.desc, c.wantError, err)
+               }
+
+               testDB.Close()
+               os.RemoveAll("temp")
+       }
+}
+
+type testFun func(movCore *Core, block *types.Block) error
+
+func applyBlock(movCore *Core, block *types.Block) error {
+       return movCore.ApplyBlock(block)
+}
+
+func detachBlock(movCore *Core, block *types.Block) error {
+       return movCore.DetachBlock(block)
+}
+
+func queryAllOrders(store *database.LevelDBMovStore) []*common.Order {
+       var orders []*common.Order
+       tradePairIterator := database.NewTradePairIterator(store)
+       for tradePairIterator.HasNext() {
+               orderIterator := database.NewOrderIterator(store, tradePairIterator.Next())
+               for orderIterator.HasNext() {
+                       orders = append(orders, orderIterator.NextBatch()...)
+               }
+       }
+       return orders
+}
+
+func ordersEquals(orders1 []*common.Order, orders2 []*common.Order) bool {
+       orderMap1 := make(map[string]*common.Order)
+       for _, order := range orders1 {
+               orderMap1[order.Key()] = order
+       }
+
+       orderMap2 := make(map[string]*common.Order)
+       for _, order := range orders2 {
+               orderMap2[order.Key()] = order
+       }
+       return testutil.DeepEqual(orderMap1, orderMap2)
+}
+
+func hashPtr(hash bc.Hash) *bc.Hash {
+       return &hash
+}
+
+func orderWithHeightAndTxIndex(order *common.Order, blockHeight, txIndex uint64) *common.Order {
+       order.BlockHeight = blockHeight
+       order.TxIndex = txIndex
+       return order
+}
index 723e0bb..5177efa 100644 (file)
@@ -3,8 +3,8 @@ package asset
 import (
        "encoding/json"
 
-       "github.com/vapor/blockchain/query"
-       chainjson "github.com/vapor/encoding/json"
+       "github.com/bytom/vapor/blockchain/query"
+       chainjson "github.com/bytom/vapor/encoding/json"
 )
 
 //Annotated annotate the asset
index 12ae60b..ae0e849 100644 (file)
@@ -8,12 +8,12 @@ import (
 
        "github.com/golang/groupcache/lru"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // DefaultNativeAsset native BTM asset
@@ -224,7 +224,7 @@ func (reg *Registry) GetAsset(id string) (*Asset, error) {
                if err := json.Unmarshal(extAsset, &definitionMap); err != nil {
                        return nil, err
                }
-               alias := assetID.String()
+               alias := strings.ToUpper(assetID.String())
                asset.Alias = &alias
                asset.AssetID = assetID
                asset.DefinitionMap = definitionMap
index 1c691ca..8d50d4c 100644 (file)
@@ -9,7 +9,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 const logModule = "pseudohsm"
index 79c6646..063e6ab 100644 (file)
@@ -7,7 +7,7 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 func TestRestore(t *testing.T) {
index bb94410..8d40e6e 100644 (file)
@@ -8,7 +8,7 @@ import (
        "time"
 
        "github.com/pborman/uuid"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 const (
index 7ab39fb..2030a4d 100644 (file)
@@ -15,7 +15,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 // Minimum amount of time between cache reloads. This limit applies if the platform does
index 8b6f1f4..3d10917 100644 (file)
@@ -14,7 +14,7 @@ import (
 
        "github.com/cespare/cp"
        "github.com/davecgh/go-spew/spew"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 var (
index 17cba23..5ec7292 100644 (file)
@@ -17,9 +17,9 @@ import (
        "path/filepath"
 
        "github.com/pborman/uuid"
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/randentropy"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/randentropy"
        "golang.org/x/crypto/pbkdf2"
        "golang.org/x/crypto/scrypt"
 )
index 8fa2dc9..fa5e3a8 100644 (file)
@@ -6,7 +6,7 @@ import (
        "testing"
 
        "github.com/pborman/uuid"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 const (
index 51b672a..c6b6743 100644 (file)
@@ -12,9 +12,9 @@ import (
 
        "github.com/pborman/uuid"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
-       mnem "github.com/vapor/wallet/mnemonic"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
+       mnem "github.com/bytom/vapor/wallet/mnemonic"
 )
 
 // pre-define errors for supporting bytom errorFormatter
@@ -94,7 +94,7 @@ func (h *HSM) ImportKeyFromMnemonic(alias string, auth string, mnemonic string,
                return nil, mnem.ErrInvalidMnemonic
        }
 
-       xpub, err := h.createKeyFromMnemonic(alias, auth, mnemonic)
+       xpub, err := h.createKeyFromMnemonic(normalizedAlias, auth, mnemonic)
        if err != nil {
                return nil, err
        }
index 8fd2857..e3cd3bb 100644 (file)
@@ -7,8 +7,8 @@ import (
        "strings"
        "testing"
 
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/errors"
 )
 
 const dirPath = "testdata/pseudo"
index 2b1894a..471704d 100644 (file)
@@ -3,9 +3,9 @@ package query
 import (
        "encoding/json"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 //AnnotatedTx means an annotated transaction.
index 0710c93..87ba142 100644 (file)
@@ -11,8 +11,8 @@ import (
        "strings"
        "time"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/net/http/httperror"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/net/http/httperror"
 )
 
 // Bytom-specific header fields
index 3e6964f..34f9ea5 100644 (file)
@@ -9,7 +9,7 @@ import (
        "strings"
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestRPCCallJSON(t *testing.T) {
index 53baf46..61768c8 100644 (file)
@@ -4,8 +4,8 @@ package signers
 import (
        "bytes"
        "encoding/binary"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
 )
 
 type keySpace byte
index f5b40bc..69158f1 100644 (file)
@@ -7,13 +7,13 @@ import (
 
        "golang.org/x/crypto/sha3"
 
-       "github.com/vapor/common"
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/common"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // DecodeControlAddressAction convert input data to action struct
@@ -150,13 +150,14 @@ func DecodeCrossOutAction(data []byte) (Action, error) {
 
 type crossOutAction struct {
        bc.AssetAmount
-       Address string `json:"address"`
+       Address string        `json:"address"`
+       Program json.HexBytes `json:"control_program"`
 }
 
 func (a *crossOutAction) Build(ctx context.Context, b *TemplateBuilder) error {
        var missing []string
-       if a.Address == "" {
-               missing = append(missing, "address")
+       if a.Address == "" && len(a.Program) == 0 {
+               missing = append(missing, "address or program")
        }
        if a.AssetId.IsZero() {
                missing = append(missing, "asset_id")
@@ -168,23 +169,25 @@ func (a *crossOutAction) Build(ctx context.Context, b *TemplateBuilder) error {
                return MissingFieldsError(missing...)
        }
 
-       address, err := common.DecodeAddress(a.Address, consensus.BytomMainNetParams(&consensus.ActiveNetParams))
-       if err != nil {
-               return err
-       }
+       program := a.Program
+       if a.Address != "" {
+               address, err := common.DecodeAddress(a.Address, consensus.BytomMainNetParams(&consensus.ActiveNetParams))
+               if err != nil {
+                       return err
+               }
 
-       redeemContract := address.ScriptAddress()
-       program := []byte{}
-       switch address.(type) {
-       case *common.AddressWitnessPubKeyHash:
-               program, err = vmutil.P2WPKHProgram(redeemContract)
-       case *common.AddressWitnessScriptHash:
-               program, err = vmutil.P2WSHProgram(redeemContract)
-       default:
-               return errors.New("unsupport address type")
-       }
-       if err != nil {
-               return err
+               redeemContract := address.ScriptAddress()
+               switch address.(type) {
+               case *common.AddressWitnessPubKeyHash:
+                       program, err = vmutil.P2WPKHProgram(redeemContract)
+               case *common.AddressWitnessScriptHash:
+                       program, err = vmutil.P2WSHProgram(redeemContract)
+               default:
+                       return errors.New("unsupport address type")
+               }
+               if err != nil {
+                       return err
+               }
        }
 
        out := types.NewCrossChainOutput(*a.AssetId, a.Amount, program)
@@ -269,15 +272,15 @@ type crossInAction struct {
        IssuanceProgram   json.HexBytes `json:"issuance_program"`
 }
 
-func (a *crossInAction) Build(ctx context.Context, builder *TemplateBuilder) error {
+func (c *crossInAction) Build(ctx context.Context, builder *TemplateBuilder) error {
        var missing []string
-       if a.SourceID.IsZero() {
+       if c.SourceID.IsZero() {
                missing = append(missing, "source_id")
        }
-       if a.AssetId.IsZero() {
+       if c.AssetId.IsZero() {
                missing = append(missing, "asset_id")
        }
-       if a.Amount == 0 {
+       if c.Amount == 0 {
                missing = append(missing, "amount")
        }
 
@@ -285,20 +288,28 @@ func (a *crossInAction) Build(ctx context.Context, builder *TemplateBuilder) err
                return MissingFieldsError(missing...)
        }
 
-       if err := a.checkAssetID(); err != nil {
+       if err := c.checkAssetID(); err != nil {
                return err
        }
 
        // arguments will be set when materializeWitnesses
-       txin := types.NewCrossChainInput(nil, a.SourceID, *a.AssetId, a.Amount, a.SourcePos, a.VMVersion, a.RawDefinitionByte, a.IssuanceProgram)
+       txin := types.NewCrossChainInput(nil, c.SourceID, *c.AssetId, c.Amount, c.SourcePos, c.VMVersion, c.RawDefinitionByte, c.IssuanceProgram)
        tplIn := &SigningInstruction{}
+       blockHeight := ctx.Value("block_height").(uint64)
        fed := cfg.CommonConfig.Federation
-       tplIn.AddRawWitnessKeys(fed.Xpubs, cfg.FedAddressPath, fed.Quorum)
-       tplIn.AddDataWitness(cfg.FederationPMultiSigScript(cfg.CommonConfig))
+       if blockHeight > consensus.CrossInForkHeight {
+               fed = cfg.SingleFederationConfig()
+       }
+
+       if !common.IsOpenFederationIssueAsset(c.RawDefinitionByte) {
+               tplIn.AddRawWitnessKeys(fed.Xpubs, cfg.FedAddressPath, fed.Quorum)
+               tplIn.AddDataWitness(cfg.FederationPMultiSigScript(cfg.CommonConfig))
+       }
+
        return builder.AddInput(txin, tplIn)
 }
 
-func (a *crossInAction) ActionType() string {
+func (c *crossInAction) ActionType() string {
        return "cross_chain_in"
 }
 
index 2c357ad..ef0d628 100644 (file)
@@ -4,9 +4,9 @@ import (
        "math"
        "time"
 
-       "github.com/vapor/common/arithmetic"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/common/arithmetic"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // NewBuilder return new TemplateBuilder instance
index 937a4c8..1c2e592 100644 (file)
@@ -1,9 +1,9 @@
 package txbuilder
 
 import (
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // Constraint types express a constraint on an input of a proposed
index 1f49b2c..5af1a73 100644 (file)
@@ -3,7 +3,7 @@ package txbuilder
 import (
        "encoding/json"
 
-       chainjson "github.com/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
 )
 
 // DataWitness used sign transaction
index dd74d8e..6a83414 100644 (file)
@@ -1,9 +1,9 @@
 package txbuilder
 
 import (
-       "github.com/vapor/consensus"
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // EstimateTxGasInfo estimate transaction consumed gas
index 0955876..3a6ef25 100644 (file)
@@ -4,13 +4,13 @@ import (
        "bytes"
        "context"
 
-       "github.com/vapor/common/arithmetic"
-       cfg "github.com/vapor/config"
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/common/arithmetic"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 var (
index dabc8c9..1bc6b84 100644 (file)
@@ -6,7 +6,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       chainjson "github.com/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
 )
 
 // TODO(bobg): most of the code here is duplicated from
index 800c783..23ad2d3 100644 (file)
@@ -1,8 +1,8 @@
 package txbuilder
 
 import (
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // Signature programs constrain how the signed inputs of a transaction
index 63c8612..17c44ba 100644 (file)
@@ -6,11 +6,11 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/sha3pool"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 type (
index bf04773..ba448d6 100644 (file)
@@ -3,11 +3,12 @@ package txbuilder
 import (
        "encoding/json"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
 )
 
+// AddDataWitness append data to the witness array
 func (si *SigningInstruction) AddDataWitness(data chainjson.HexBytes) {
        dw := DataWitness(data)
        si.WitnessComponents = append(si.WitnessComponents, &dw)
index 2bfd342..93f25d2 100644 (file)
@@ -9,12 +9,12 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 const logModule = "txbuilder"
index bc85f8f..bd52030 100644 (file)
@@ -10,16 +10,16 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm/vmutil"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 type testAction bc.AssetAmount
index 9de666f..b758b0f 100644 (file)
@@ -4,10 +4,10 @@ import (
        "context"
        "encoding/json"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // Template represents a partially- or fully-signed transaction.
index 582b06f..5437a58 100644 (file)
@@ -3,9 +3,9 @@ package txbuilder
 import (
        "context"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
 )
 
 // SignFunc is the function passed into Sign that produces
index 49e5bde..a4e093a 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/testutil"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestWitnessJSON(t *testing.T) {
index b38d07a..c466170 100644 (file)
@@ -7,9 +7,9 @@ import (
        "github.com/spf13/cobra"
        "github.com/tendermint/tmlibs/cli"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/toolbar/consensusreward"
-       cfg "github.com/vapor/toolbar/consensusreward/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/toolbar/consensusreward"
+       cfg "github.com/bytom/vapor/toolbar/consensusreward/config"
 )
 
 const logModule = "consensusereward"
index 3cb91c6..bb21b3d 100644 (file)
@@ -5,11 +5,11 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/toolbar/federation/api"
-       "github.com/vapor/toolbar/federation/config"
-       "github.com/vapor/toolbar/federation/database"
-       "github.com/vapor/toolbar/common"
-       "github.com/vapor/toolbar/federation/synchron"
+       "github.com/bytom/vapor/toolbar/federation/api"
+       "github.com/bytom/vapor/toolbar/federation/config"
+       "github.com/bytom/vapor/toolbar/federation/database"
+       "github.com/bytom/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/federation/synchron"
 )
 
 func main() {
index 07913be..b464e3e 100644 (file)
@@ -5,10 +5,10 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/toolbar/common"
-       "github.com/vapor/toolbar/precognitive/api"
-       "github.com/vapor/toolbar/precognitive/config"
-       "github.com/vapor/toolbar/precognitive/monitor"
+       "github.com/bytom/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/precognitive/api"
+       "github.com/bytom/vapor/toolbar/precognitive/config"
+       "github.com/bytom/vapor/toolbar/precognitive/monitor"
 )
 
 func main() {
index 326595f..03eb883 100644 (file)
@@ -5,7 +5,7 @@ import (
        "github.com/spf13/cobra"
        "github.com/tendermint/tmlibs/cli"
 
-       "github.com/vapor/toolbar/mergeutxo"
+       "github.com/bytom/vapor/toolbar/mergeutxo"
 )
 
 var RootCmd = &cobra.Command{
index d1bfe9d..e8cea5d 100644 (file)
@@ -6,7 +6,7 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 var createAccessTokenCmd = &cobra.Command{
index e5d3dd8..ab1c5e9 100644 (file)
@@ -7,8 +7,8 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/util"
 )
 
 func init() {
index feec29a..c470136 100644 (file)
@@ -8,8 +8,8 @@ import (
        jww "github.com/spf13/jwalterweatherman"
 
        "encoding/hex"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/util"
 )
 
 func init() {
index 9ce4196..881429c 100644 (file)
@@ -9,8 +9,8 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/util"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/util"
 )
 
 func init() {
index a317908..626c4d9 100644 (file)
@@ -7,9 +7,9 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/util"
 )
 
 var createKeyCmd = &cobra.Command{
index 1cc6284..fc4932c 100644 (file)
@@ -7,7 +7,7 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 var isMiningCmd = &cobra.Command{
index 0f75f60..c768ede 100644 (file)
@@ -5,7 +5,7 @@ import (
 
        "github.com/spf13/cobra"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 var netInfoCmd = &cobra.Command{
index 71426bc..d0d9e58 100644 (file)
@@ -5,7 +5,7 @@ import (
 
        "github.com/spf13/cobra"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 var decodeProgCmd = &cobra.Command{
index eea20ca..9e747c3 100644 (file)
@@ -3,7 +3,7 @@ package commands
 import (
        "fmt"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 const (
index 308ab94..7724485 100644 (file)
@@ -9,11 +9,11 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/api"
-       "github.com/vapor/blockchain/txbuilder"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/util"
 )
 
 func init() {
index 630a8a4..65b9363 100644 (file)
@@ -6,7 +6,7 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 var createTransactionFeedCmd = &cobra.Command{
index 2657ce1..9204692 100644 (file)
@@ -7,10 +7,10 @@ import (
 
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/encoding/json"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/util"
 )
 
 // accountIns is used for account related request.
index d90427a..58b14e5 100644 (file)
@@ -7,7 +7,7 @@ import (
 
        "github.com/spf13/cobra"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 // vaporcli usage template
index 9ce7585..483aeca 100644 (file)
@@ -6,7 +6,7 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/version"
+       "github.com/bytom/vapor/version"
 )
 
 var versionCmd = &cobra.Command{
index 823781e..4d51a29 100644 (file)
@@ -6,7 +6,7 @@ import (
        "github.com/spf13/cobra"
        jww "github.com/spf13/jwalterweatherman"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 var walletInfoCmd = &cobra.Command{
index afb61ec..458f436 100644 (file)
@@ -3,7 +3,7 @@ package main
 import (
        "runtime"
 
-       cmd "github.com/vapor/cmd/vaporcli/commands"
+       cmd "github.com/bytom/vapor/cmd/vaporcli/commands"
 )
 
 func main() {
index aa0f144..f60dbd9 100644 (file)
@@ -9,8 +9,8 @@ import (
        log "github.com/sirupsen/logrus"
        "github.com/spf13/cobra"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 var initFilesCmd = &cobra.Command{
diff --git a/cmd/vapord/commands/rollback_node.go b/cmd/vapord/commands/rollback_node.go
new file mode 100644 (file)
index 0000000..ff1f878
--- /dev/null
@@ -0,0 +1,38 @@
+package commands
+
+import (
+       "strconv"
+
+       log "github.com/sirupsen/logrus"
+       "github.com/spf13/cobra"
+
+       "github.com/bytom/vapor/node"
+)
+
+var rollbackCmd = &cobra.Command{
+       Use:   "rollback",
+       Short: "Rollback chain to target height!",
+       Args:  cobra.ExactArgs(1),
+       Run: func(cmd *cobra.Command, args []string) {
+               setLogLevel(config.LogLevel)
+
+               height, err := strconv.ParseInt(args[0], 10, 64)
+               if err != nil {
+                       log.WithFields(log.Fields{"module": logModule, "err": err}).Fatal("failed to parse int")
+               }
+
+               if height < 0 {
+                       log.WithFields(log.Fields{"module": logModule}).Fatal("height should >= 0")
+               }
+
+               if err = node.Rollback(config, uint64(height)); err != nil {
+                       log.WithFields(log.Fields{"module": logModule, "err": err}).Fatal("failed to rollback")
+               }
+
+               log.WithFields(log.Fields{"module": logModule}).Infof("success to rollback height of %d", height)
+       },
+}
+
+func init() {
+       RootCmd.AddCommand(rollbackCmd)
+}
index 6f75655..d534b2d 100644 (file)
@@ -8,13 +8,14 @@ import (
        "github.com/spf13/viper"
        cmn "github.com/tendermint/tmlibs/common"
 
-       cfg "github.com/vapor/config"
+       cfg "github.com/bytom/vapor/config"
 )
 
 var (
        config = cfg.DefaultConfig()
 )
 
+// RootCmd is the command for run node
 var RootCmd = &cobra.Command{
        Use:   "vapord",
        Short: "Multiple asset management.",
index 3e8993b..4dd642d 100644 (file)
@@ -1,13 +1,15 @@
 package commands
 
 import (
+       "fmt"
        "strings"
        "time"
 
        log "github.com/sirupsen/logrus"
        "github.com/spf13/cobra"
 
-       "github.com/vapor/node"
+       "github.com/bytom/vapor/node"
+       "github.com/bytom/vapor/toolbar/osssync/download"
 )
 
 const logModule = "cmd"
@@ -21,6 +23,7 @@ var runNodeCmd = &cobra.Command{
 func init() {
        runNodeCmd.Flags().String("prof_laddr", config.ProfListenAddress, "Use http to profile vapord programs")
        runNodeCmd.Flags().Bool("mining", config.Mining, "Enable mining")
+       runNodeCmd.Flags().String("cross_chain.asset_whitelist", config.CrossChain.AssetWhitelist, "Cross-chain-allowed asset whitelist")
 
        runNodeCmd.Flags().Bool("auth.disable", config.Auth.Disable, "Disable rpc access authenticate")
 
@@ -54,6 +57,9 @@ func init() {
        runNodeCmd.Flags().Int("ws.max_num_websockets", config.Websocket.MaxNumWebsockets, "Max number of websocket connections")
        runNodeCmd.Flags().Int("ws.max_num_concurrent_reqs", config.Websocket.MaxNumConcurrentReqs, "Max number of concurrent websocket requests that may be processed concurrently")
 
+       // OSS
+       runNodeCmd.Flags().String("oss.url", config.Oss.Url, "URL of OSS")
+
        RootCmd.AddCommand(runNodeCmd)
 }
 
@@ -80,6 +86,13 @@ func runNode(cmd *cobra.Command, args []string) error {
 
        // Create & start node
        n := node.NewNode(config)
+
+       // Get blocks from OSS
+       if err := download.Run(n, config.Oss.Url); err != nil {
+               fmt.Println("Failed to get blocks from oss: ", err)
+       }
+
+       // Start node
        if _, err := n.Start(); err != nil {
                log.WithFields(log.Fields{"module": logModule, "err": err}).Fatal("failed to start node")
        }
index 91c2622..3743b9e 100644 (file)
@@ -5,7 +5,7 @@ import (
 
        "github.com/spf13/cobra"
 
-       "github.com/vapor/version"
+       "github.com/bytom/vapor/version"
 )
 
 var versionCmd = &cobra.Command{
index 9d6efb2..2ddfd20 100644 (file)
@@ -10,8 +10,8 @@ import (
        log "github.com/sirupsen/logrus"
        "github.com/tendermint/tmlibs/cli"
 
-       "github.com/vapor/cmd/vapord/commands"
-       "github.com/vapor/config"
+       "github.com/bytom/vapor/cmd/vapord/commands"
+       "github.com/bytom/vapor/config"
 )
 
 // ContextHook is a hook for logrus.
index 275632d..8fb1c96 100644 (file)
@@ -7,11 +7,11 @@ import (
        "github.com/spf13/cobra"
        "github.com/tendermint/tmlibs/cli"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/toolbar/common"
-       cfg "github.com/vapor/toolbar/vote_reward/config"
-       "github.com/vapor/toolbar/vote_reward/settlementvotereward"
-       "github.com/vapor/toolbar/vote_reward/synchron"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/toolbar/common"
+       cfg "github.com/bytom/vapor/toolbar/vote_reward/config"
+       "github.com/bytom/vapor/toolbar/vote_reward/settlementvotereward"
+       "github.com/bytom/vapor/toolbar/vote_reward/synchron"
 )
 
 const logModule = "reward"
index 3fe4999..f4618a6 100644 (file)
@@ -6,8 +6,8 @@ import (
        "fmt"
        "strings"
 
-       "github.com/vapor/common/bech32"
-       "github.com/vapor/consensus"
+       "github.com/bytom/vapor/common/bech32"
+       "github.com/bytom/vapor/consensus"
 )
 
 var (
index b1b3d5b..1794cf1 100644 (file)
@@ -7,8 +7,8 @@ import (
        "strings"
        "testing"
 
-       "github.com/vapor/common/bech32"
-       "github.com/vapor/consensus"
+       "github.com/bytom/vapor/common/bech32"
+       "github.com/bytom/vapor/consensus"
 )
 
 func TestAddresses(t *testing.T) {
index 394666c..875537c 100644 (file)
@@ -1,9 +1,9 @@
 package arithmetic
 
 import (
-       "github.com/vapor/consensus"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // CalculateTxFee calculate transaction fee
index db0cdc9..e899a1e 100644 (file)
@@ -6,6 +6,7 @@ import (
        "encoding/hex"
 )
 
+// FromHex convert hex byte string to []byte
 func FromHex(s string) []byte {
        if len(s) > 1 {
                if s[0:2] == "0x" {
@@ -19,21 +20,25 @@ func FromHex(s string) []byte {
        return nil
 }
 
+// Bytes2Hex convert byte array to string
 func Bytes2Hex(d []byte) string {
        return hex.EncodeToString(d)
 }
 
+// Hex2Bytes convert hex string to byte array
 func Hex2Bytes(str string) []byte {
        h, _ := hex.DecodeString(str)
        return h
 }
 
+// Unit64ToBytes convert uint64 to bytes
 func Unit64ToBytes(n uint64) []byte {
        buf := make([]byte, 8)
        binary.LittleEndian.PutUint64(buf, n)
        return buf
 }
 
+// BytesToUnit64 convert bytes to uint64
 func BytesToUnit64(b []byte) uint64 {
        return binary.LittleEndian.Uint64(b)
 }
diff --git a/common/crossin_asset.go b/common/crossin_asset.go
new file mode 100644 (file)
index 0000000..9dbd729
--- /dev/null
@@ -0,0 +1,25 @@
+package common
+
+import (
+       "encoding/json"
+)
+
+// IsOpenFederationIssueAsset check if the asset definition satisfy ofmf asset
+func IsOpenFederationIssueAsset(rawDefinitionByte []byte) bool {
+       var defMap map[string]interface{}
+       if err := json.Unmarshal(rawDefinitionByte, &defMap); err != nil {
+               return false
+       }
+
+       description, ok := defMap["description"].(map[string]interface{})
+       if !ok {
+               return false
+       }
+
+       issueAssetAction, ok := description["issue_asset_action"].(string)
+       if !ok {
+               return false
+       }
+
+       return issueAssetAction == "open_federation_cross_chain"
+}
diff --git a/common/sort.go b/common/sort.go
deleted file mode 100644 (file)
index a476c92..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-package common
-
-// timeSorter implements sort.Interface to allow a slice of timestamps to
-// be sorted.
-type TimeSorter []uint64
-
-// Len returns the number of timestamps in the slice.  It is part of the
-// sort.Interface implementation.
-func (s TimeSorter) Len() int {
-       return len(s)
-}
-
-// Swap swaps the timestamps at the passed indices.  It is part of the
-// sort.Interface implementation.
-func (s TimeSorter) Swap(i, j int) {
-       s[i], s[j] = s[j], s[i]
-}
-
-// Less returns whether the timstamp with index i should sort before the
-// timestamp with index j.  It is part of the sort.Interface implementation.
-func (s TimeSorter) Less(i, j int) bool {
-       return s[i] < s[j]
-}
index 02d2c7c..a4c8ca5 100644 (file)
@@ -10,7 +10,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 var (
@@ -28,6 +28,8 @@ type Config struct {
        Web        *WebConfig        `mapstructure:"web"`
        Websocket  *WebsocketConfig  `mapstructure:"ws"`
        Federation *FederationConfig `mapstructure:"federation"`
+       CrossChain *CrossChainConfig `mapstructure:"cross_chain"`
+       Oss        *OssConfig        `mapstructure:"oss"`
 }
 
 // Default configurable parameters.
@@ -40,6 +42,8 @@ func DefaultConfig() *Config {
                Web:        DefaultWebConfig(),
                Websocket:  DefaultWebsocketConfig(),
                Federation: DefaultFederationConfig(),
+               CrossChain: DefaultCrossChainConfig(),
+               Oss:        DefaultOssConfig(),
        }
 }
 
@@ -214,6 +218,14 @@ type FederationConfig struct {
        Quorum int            `json:"quorum"`
 }
 
+type CrossChainConfig struct {
+       AssetWhitelist string `mapstructure:"asset_whitelist"`
+}
+
+type OssConfig struct {
+       Url string `mapstructure:"url"`
+}
+
 // Default configurable rpc's auth parameters.
 func DefaultRPCAuthConfig() *RPCAuthConfig {
        return &RPCAuthConfig{
@@ -238,6 +250,7 @@ func DefaultWalletConfig() *WalletConfig {
        }
 }
 
+// Default configurable websocket parameters.
 func DefaultWebsocketConfig() *WebsocketConfig {
        return &WebsocketConfig{
                MaxNumWebsockets:     25,
@@ -245,6 +258,7 @@ func DefaultWebsocketConfig() *WebsocketConfig {
        }
 }
 
+// Default configurable federation parameters.
 func DefaultFederationConfig() *FederationConfig {
        return &FederationConfig{
                Xpubs: []chainkd.XPub{
@@ -257,6 +271,21 @@ func DefaultFederationConfig() *FederationConfig {
        }
 }
 
+// Default configurable federation parameters.
+func SingleFederationConfig() *FederationConfig {
+       return &FederationConfig{
+               Xpubs: []chainkd.XPub{
+                       xpub("0f810c52bcd0d44482d63ef6131712b32e08b2a20c5daf134072b870a789623a726eb61e4021caa7158fbc6ca99827485c7f60010913a12a810ef7b71b03dacd"),
+               },
+               Quorum: 1,
+       }
+}
+
+// Default configurable crosschain parameters.
+func DefaultCrossChainConfig() *CrossChainConfig {
+       return &CrossChainConfig{}
+}
+
 func xpub(str string) (xpub chainkd.XPub) {
        if err := xpub.UnmarshalText([]byte(str)); err != nil {
                log.Panicf("Fail converts a string to xpub")
@@ -264,6 +293,11 @@ func xpub(str string) (xpub chainkd.XPub) {
        return xpub
 }
 
+// Default configurable oss parameters.
+func DefaultOssConfig() *OssConfig {
+       return &OssConfig{}
+}
+
 //-----------------------------------------------------------------------------
 // Utils
 
index 00e92ad..34e2897 100644 (file)
@@ -5,11 +5,10 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestFederation(t *testing.T) {
-
        tmpDir, err := ioutil.TempDir(".", "")
        if err != nil {
                t.Fatalf("failed to create temporary data folder: %v", err)
index a3b2f7e..699daea 100644 (file)
@@ -5,12 +5,12 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // FedAddressPath is used to derive federation root xpubs for signing cross-chain txs
@@ -33,8 +33,12 @@ func FederationPMultiSigScript(c *Config) []byte {
        return program
 }
 
-func FederationWScript(c *Config) []byte {
+func FederationWScript(c *Config, height uint64) []byte {
        script := FederationPMultiSigScript(c)
+       if height > consensus.CrossInForkHeight {
+               script = FederationPMultiSigScript(&Config{Federation: SingleFederationConfig()})
+       }
+
        scriptHash := crypto.Sha256(script)
        wscript, err := vmutil.P2WSHProgram(scriptHash)
        if err != nil {
@@ -50,7 +54,7 @@ func GenesisTx() *types.Tx {
                log.Panicf("fail on decode genesis tx output control program")
        }
 
-       coinbaseInput := FederationWScript(CommonConfig)
+       coinbaseInput := FederationWScript(CommonConfig, 0)
 
        txData := types.TxData{
                Version: 1,
index 8c1d570..f8b0c74 100644 (file)
@@ -31,18 +31,24 @@ var mainNetConfigTmpl = `chain_id = "mainnet"
 [p2p]
 laddr = "tcp://0.0.0.0:56656"
 seeds = "47.103.79.68:56656,47.103.13.86:56656,47.102.193.119:56656,47.103.17.22:56656"
+[cross_chain]
+asset_whitelist = "184e1cc4ee4845023888810a79eed7a42c02c544cf2c61ceac05e176d575bd46,78de44ffa1bce37b757c9eae8925b5f199dc4621b412ef0f3f46168865284a93,bda946b3110fa46fd94346ce3f05f0760f1b9de72e238835bc4d19f9d64f1742,25f2069140fa3ff4d6e0dc1d0fcaa11ace01eb721f115f0f1a5a3782db597fb1,c4644dd6643475d57ed624f63129ab815f282b61f4bb07646d73423a6e1a1563"
 `
 
 var testNetConfigTmpl = `chain_id = "testnet"
 [p2p]
 laddr = "tcp://0.0.0.0:56657"
-seeds = "52.82.28.25:56657,52.82.31.195:56657,52.82.31.247:56657"
+seeds = "52.82.7.233:56657,52.82.109.252:56657,52.82.29.30:56657"
+[cross_chain]
+asset_whitelist = ""
 `
 
 var soloNetConfigTmpl = `chain_id = "solonet"
 [p2p]
 laddr = "tcp://0.0.0.0:56658"
 seeds = ""
+[cross_chain]
+asset_whitelist = ""
 `
 
 // Select network seeds to merge a new string.
index b34f19d..ec6c6cf 100644 (file)
@@ -4,7 +4,7 @@ import (
        "encoding/binary"
        "fmt"
 
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // basic constant
@@ -14,6 +14,8 @@ const (
        PayToWitnessPubKeyHashDataSize = 20
        PayToWitnessScriptHashDataSize = 32
 
+       CrossInForkHeight = 128957600
+
        _ = iota
        SoftFork001
 )
@@ -75,6 +77,13 @@ type ProducerSubsidy struct {
        Subsidy    uint64
 }
 
+// MovRewardProgram is a reward address corresponding to the range of the specified block height when matching transactions
+type MovRewardProgram struct {
+       BeginBlock uint64
+       EndBlock   uint64
+       Program    string
+}
+
 // Params store the config for different network
 type Params struct {
        // Name defines a human-readable identifier for the network.
@@ -103,6 +112,12 @@ type Params struct {
        ProducerSubsidys []ProducerSubsidy
 
        SoftForkPoint map[uint64]uint64
+
+       // Mov will only start when the block height is greater than this value
+       MovStartHeight uint64
+
+       // Used to receive rewards for matching transactions
+       MovRewardPrograms []MovRewardProgram
 }
 
 // ActiveNetParams is the active NetParams
@@ -143,8 +158,17 @@ var MainNetParams = Params{
        Checkpoints: []Checkpoint{},
        ProducerSubsidys: []ProducerSubsidy{
                {BeginBlock: 1, EndBlock: 63072000, Subsidy: 9512938},
+               {BeginBlock: 63072001, EndBlock: 126144000, Subsidy: 9512938},
+       },
+       SoftForkPoint:  map[uint64]uint64{SoftFork001: 10461600},
+       MovStartHeight: 42884800,
+       MovRewardPrograms: []MovRewardProgram{
+               {
+                       BeginBlock: 1,
+                       EndBlock:   126144000,
+                       Program:    "00141d00f85e220e35a23282cfc7f91fe7b34bf6dc18",
+               },
        },
-       SoftForkPoint: map[uint64]uint64{SoftFork001: 10461600},
 }
 
 // TestNetParams is the config for vapor-testnet
@@ -155,12 +179,12 @@ var TestNetParams = Params{
        DNSSeeds:        []string{"www.testnetseed.vapor.io"},
        BasicConfig: BasicConfig{
                MaxBlockGas:                uint64(10000000),
-               MaxGasAmount:               int64(200000),
+               MaxGasAmount:               int64(640000),
                DefaultGasCredit:           int64(160000),
                StorageGasRate:             int64(1),
                VMGasRate:                  int64(200),
-               VotePendingBlockNumber:     uint64(10000),
-               CoinbasePendingBlockNumber: uint64(1200),
+               VotePendingBlockNumber:     uint64(3456000),
+               CoinbasePendingBlockNumber: uint64(7200),
                CoinbaseArbitrarySizeLimit: 128,
        },
        DPOSConfig: DPOSConfig{
@@ -223,16 +247,17 @@ func BlockSubsidy(height uint64) uint64 {
 
 // BytomMainNetParams is the config for bytom mainnet
 func BytomMainNetParams(vaporParam *Params) *Params {
-       bech32HRPSegwit := "sm"
+       bech32HRPSegwit := "sn"
        switch vaporParam.Name {
        case "main":
-               bech32HRPSegwit = "bm"
+               bech32HRPSegwit = "bn"
        case "test":
-               bech32HRPSegwit = "tm"
+               bech32HRPSegwit = "tn"
        }
        return &Params{Bech32HRPSegwit: bech32HRPSegwit}
 }
 
+// InitActiveNetParams load the config by chain ID
 func InitActiveNetParams(chainID string) error {
        var exist bool
        if ActiveNetParams, exist = NetParams[chainID]; !exist {
index 5f62f33..8f30320 100644 (file)
@@ -3,15 +3,18 @@ package segwit
 import (
        "errors"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
+// IsP2WScript is used to determine whether it is a P2WScript or not
 func IsP2WScript(prog []byte) bool {
        return IsP2WPKHScript(prog) || IsP2WSHScript(prog) || IsStraightforward(prog)
 }
 
+// IsStraightforward is used to determine whether it is a Straightforward script or not
 func IsStraightforward(prog []byte) bool {
        insts, err := vm.ParseProgram(prog)
        if err != nil {
@@ -23,6 +26,7 @@ func IsStraightforward(prog []byte) bool {
        return insts[0].Op == vm.OP_TRUE || insts[0].Op == vm.OP_FAIL
 }
 
+// IsP2WPKHScript is used to determine whether it is a P2WPKH script or not
 func IsP2WPKHScript(prog []byte) bool {
        insts, err := vm.ParseProgram(prog)
        if err != nil {
@@ -37,6 +41,7 @@ func IsP2WPKHScript(prog []byte) bool {
        return insts[1].Op == vm.OP_DATA_20 && len(insts[1].Data) == consensus.PayToWitnessPubKeyHashDataSize
 }
 
+// IsP2WSHScript is used to determine whether it is a P2WSH script or not
 func IsP2WSHScript(prog []byte) bool {
        insts, err := vm.ParseProgram(prog)
        if err != nil {
@@ -51,6 +56,45 @@ func IsP2WSHScript(prog []byte) bool {
        return insts[1].Op == vm.OP_DATA_32 && len(insts[1].Data) == consensus.PayToWitnessScriptHashDataSize
 }
 
+// IsP2WMCScript is used to determine whether it is a P2WMC script or not
+func IsP2WMCScript(prog []byte) bool {
+       insts, err := vm.ParseProgram(prog)
+       if err != nil {
+               return false
+       }
+
+       if len(insts) != 6 {
+               return false
+       }
+
+       if insts[0].Op > vm.OP_16 {
+               return false
+       }
+
+       if insts[1].Op != vm.OP_DATA_32 || len(insts[1].Data) != 32 {
+               return false
+       }
+
+       if !(insts[2].IsPushdata() && insts[3].IsPushdata() && insts[4].IsPushdata()) {
+               return false
+       }
+
+       if _, err = vm.AsInt64(insts[2].Data); err != nil {
+               return false
+       }
+
+       if _, err = vm.AsInt64(insts[3].Data); err != nil {
+               return false
+       }
+
+       if !IsP2WScript(insts[4].Data) {
+               return false
+       }
+
+       return insts[5].Op == vm.OP_DATA_32 && len(insts[5].Data) == 32
+}
+
+// ConvertP2PKHSigProgram convert standard P2WPKH program into P2PKH program
 func ConvertP2PKHSigProgram(prog []byte) ([]byte, error) {
        insts, err := vm.ParseProgram(prog)
        if err != nil {
@@ -62,6 +106,7 @@ func ConvertP2PKHSigProgram(prog []byte) ([]byte, error) {
        return nil, errors.New("unknow P2PKH version number")
 }
 
+// ConvertP2SHProgram convert standard P2WSH program into P2SH program
 func ConvertP2SHProgram(prog []byte) ([]byte, error) {
        insts, err := vm.ParseProgram(prog)
        if err != nil {
@@ -73,6 +118,46 @@ func ConvertP2SHProgram(prog []byte) ([]byte, error) {
        return nil, errors.New("unknow P2SHP version number")
 }
 
+// ConvertP2MCProgram convert standard P2WMC program into P2MC program
+func ConvertP2MCProgram(prog []byte) ([]byte, error) {
+       magneticContractArgs, err := DecodeP2WMCProgram(prog)
+       if err != nil {
+               return nil, err
+       }
+       return vmutil.P2MCProgram(*magneticContractArgs)
+}
+
+// DecodeP2WMCProgram parse standard P2WMC arguments to magneticContractArgs
+func DecodeP2WMCProgram(prog []byte) (*vmutil.MagneticContractArgs, error) {
+       if !IsP2WMCScript(prog) {
+               return nil, errors.New("invalid P2MC program")
+       }
+
+       insts, err := vm.ParseProgram(prog)
+       if err != nil {
+               return nil, err
+       }
+
+       magneticContractArgs := &vmutil.MagneticContractArgs{
+               SellerProgram: insts[4].Data,
+               SellerKey:     insts[5].Data,
+       }
+       requestedAsset := [32]byte{}
+       copy(requestedAsset[:], insts[1].Data)
+       magneticContractArgs.RequestedAsset = bc.NewAssetID(requestedAsset)
+
+       if magneticContractArgs.RatioNumerator, err = vm.AsInt64(insts[2].Data); err != nil {
+               return nil, err
+       }
+
+       if magneticContractArgs.RatioDenominator, err = vm.AsInt64(insts[3].Data); err != nil {
+               return nil, err
+       }
+
+       return magneticContractArgs, nil
+}
+
+// GetHashFromStandardProg get hash from standard program
 func GetHashFromStandardProg(prog []byte) ([]byte, error) {
        insts, err := vm.ParseProgram(prog)
        if err != nil {
index fd434b4..c044c29 100644 (file)
@@ -1,7 +1,7 @@
 package crypto
 
 import (
-       "github.com/vapor/common"
+       "github.com/bytom/vapor/common"
        "golang.org/x/crypto/ripemd160"
        "golang.org/x/crypto/sha3"
 )
index 0396df1..8432dcd 100644 (file)
@@ -6,16 +6,6 @@ import (
        "crypto"
 )
 
-// var currentCrypt XXXXX
-
-// var (
-//     currentCrypto map[string]XXXX
-// )
-
-// func init() {
-//     currentCrypt = currentCrypto[config。?????]
-// }
-
 type XPrvKeyer interface {
        // XPub derives an extended public key from a given xprv.
        XPub() XPubKeyer
index 9b6d221..92805bc 100644 (file)
@@ -6,8 +6,8 @@ import (
        "crypto/sha512"
        "io"
 
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/crypto/ed25519/ecmath"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519/ecmath"
 )
 
 type (
index 5926b28..022689d 100644 (file)
@@ -14,8 +14,8 @@ import (
        "io"
        "strconv"
 
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/crypto/ed25519/internal/edwards25519"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519/internal/edwards25519"
 )
 
 const (
index 3d3a614..23b3c77 100644 (file)
@@ -5,7 +5,7 @@ import (
        "crypto"
        "testing"
 
-       "github.com/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519"
 )
 
 // Testing basic InnerSign+Verify and the invariants:
index a8274d7..cbb8294 100644 (file)
@@ -3,7 +3,7 @@ package chainkd
 import (
        "io"
 
-       "github.com/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519"
 )
 
 // Utility functions
index 9d36309..c75cf4e 100644 (file)
@@ -3,7 +3,7 @@ package ecmath
 import (
        "crypto/subtle"
 
-       "github.com/vapor/crypto/ed25519/internal/edwards25519"
+       "github.com/bytom/vapor/crypto/ed25519/internal/edwards25519"
 )
 
 // Point is a point on the ed25519 curve.
index d3ab1c1..e502234 100644 (file)
@@ -3,7 +3,7 @@ package ecmath
 import (
        "crypto/subtle"
 
-       "github.com/vapor/crypto/ed25519/internal/edwards25519"
+       "github.com/bytom/vapor/crypto/ed25519/internal/edwards25519"
 )
 
 // Scalar is a 256-bit little-endian scalar.
index aa22b5b..c791082 100644 (file)
@@ -16,7 +16,7 @@ import (
        "io"
        "strconv"
 
-       "github.com/vapor/crypto/ed25519/internal/edwards25519"
+       "github.com/bytom/vapor/crypto/ed25519/internal/edwards25519"
 )
 
 const (
index 08728e0..5afeb1a 100644 (file)
@@ -15,7 +15,7 @@ import (
        "strings"
        "testing"
 
-       "github.com/vapor/crypto/ed25519/internal/edwards25519"
+       "github.com/bytom/vapor/crypto/ed25519/internal/edwards25519"
 )
 
 type zeroReader struct{}
index 58976aa..8d26193 100644 (file)
@@ -7,13 +7,13 @@ var Files = map[string]string{
 "5b616a89f38b69dc11821d9807d29be6.svg": "<?xml version=\"1.0\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\" >\n<svg xmlns=\"http://www.w3.org/2000/svg\">\n    <metadata></metadata>\n    <defs>\n        <font id=\"dotsfontregular\" horiz-adv-x=\"1200\" >\n            <font-face units-per-em=\"1000\" ascent=\"750\" descent=\"-250\" />\n            <missing-glyph horiz-adv-x=\"500\" />\n            <glyph horiz-adv-x=\"0\" />\n            <glyph horiz-adv-x=\"333\" />\n            <glyph unicode=\" \" />\n            <glyph unicode=\"!\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x22;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"#\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"$\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"%\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x26;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"'\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"(\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\")\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"*\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"+\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\",\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"-\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\".\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"/\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"0\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"1\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"2\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"3\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"4\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"5\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"6\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"7\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"8\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"9\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\":\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\";\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x3c;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"=\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x3e;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"?\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"@\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"A\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"B\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"C\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"D\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"E\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"F\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"G\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"H\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"I\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"J\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"K\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"L\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"M\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"N\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"O\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"P\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"Q\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"R\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"S\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"T\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"U\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"V\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"W\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"X\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"Y\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"Z\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"[\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"\\\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"]\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"^\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"_\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"`\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"a\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"b\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"c\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"d\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"e\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"f\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"g\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"h\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"i\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"j\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"k\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"l\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"m\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"n\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"o\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"p\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"q\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"r\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"s\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"t\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"u\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"v\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"w\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"x\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"y\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"z\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"{\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"|\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"}\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"~\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa0;\" />\n            <glyph unicode=\"&#xa1;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa2;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa3;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa4;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa5;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa7;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa8;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xa9;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xaa;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xab;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xac;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xad;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xae;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xaf;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb0;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb1;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb2;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb3;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb4;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb7;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb8;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xb9;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xba;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xbb;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xbc;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xbd;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xbe;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xbf;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc0;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc1;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc2;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc3;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc4;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc5;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc7;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc8;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xc9;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xca;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xcb;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xcc;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xcd;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xce;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xcf;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd0;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd1;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd2;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd3;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd4;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd5;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd7;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd8;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xd9;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xda;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xdb;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xdc;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xdd;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xde;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xdf;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe0;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe1;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe2;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe3;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe4;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe5;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe7;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe8;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xe9;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xea;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xeb;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xec;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xed;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xee;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xef;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf0;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf1;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf2;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf3;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf4;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf5;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf7;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf8;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xf9;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xfa;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xfb;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xfc;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xfd;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xfe;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#xff;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2c6;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2dc;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2000;\" horiz-adv-x=\"345\" />\n            <glyph unicode=\"&#x2001;\" horiz-adv-x=\"690\" />\n            <glyph unicode=\"&#x2002;\" horiz-adv-x=\"345\" />\n            <glyph unicode=\"&#x2003;\" horiz-adv-x=\"690\" />\n            <glyph unicode=\"&#x2004;\" horiz-adv-x=\"230\" />\n            <glyph unicode=\"&#x2005;\" horiz-adv-x=\"172\" />\n            <glyph unicode=\"&#x2006;\" horiz-adv-x=\"115\" />\n            <glyph unicode=\"&#x2007;\" horiz-adv-x=\"115\" />\n            <glyph unicode=\"&#x2008;\" horiz-adv-x=\"86\" />\n            <glyph unicode=\"&#x2009;\" horiz-adv-x=\"138\" />\n            <glyph unicode=\"&#x200a;\" horiz-adv-x=\"38\" />\n            <glyph unicode=\"&#x2010;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2011;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2012;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2013;\" horiz-adv-x=\"987\" d=\"M730 350q0 145 -70.5 241.5t-177.5 96.5t-179.5 -99.5t-72.5 -245.5q0 -145 70 -241t178 -96t180 98.5t72 245.5z\" />\n            <glyph unicode=\"&#x2014;\" horiz-adv-x=\"1487\" d=\"M1230 350q0 145 -141 241.5t-354 96.5q-215 0 -360 -99.5t-145 -245.5q0 -145 140.5 -241t356 -96t359.5 98.5t144 245.5z\" />\n            <glyph unicode=\"&#x2018;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x2019;\" d=\"M943 350q0 145 -100.5 241.5t-252.5 96.5q-153 0 -256.5 -99.5t-103.5 -245.5q0 -145 100 -241t254 -96t256.5 98.5t102.5 245.5z\" />\n            <glyph unicode=\"&#x202f;\" horiz-adv-x=\"138\" />\n            <glyph unicode=\"&#x205f;\" horiz-adv-x=\"172\" />\n            <glyph unicode=\"&#x25fc;\" horiz-adv-x=\"690\" d=\"M0 690h690v-690h-690v690z\" />\n        </font>\n    </defs></svg> ",
 "7437f69b146c5dfafeca0c44524a6e7b.png": "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\xb4\x00\x00\x00\xb4\b\x06\x00\x00\x00=\xcd\x062\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00+\xbcIDATx\x01\xed]\txS\xc5ڞ\x934mӤ{\x9bt\xa5-\x14\xe8\xc2&\xa0p\xc1\xdd\xfb{\xddPA\xc0\x02Z\x16\x01\x17\xc4\x05\xa4\xa0^\xb5xU6\x97\xff\x82\xe8\x05\x04\x94ݲ\xc9\xe5\nꯢ\x17\x15A\x01\x01\xbb\xb0\xb4\x85nI\xf76m\x93tI\xce\xffM \xe5$\x99\x93=\xa1\xa53\xcf\xd3'sf\xfd\xe6\x9d\xef\xcc|3\xa7\xf3\x0eB\xd4Q\x04(\x02\x14\x01\x8a\x00E\x80\"@\x11\xa0\bP\x04(\x02\x14\x01\x8a\x00E\x80\"@\x11\xa0\bP\x04\xecB`\xee\x96ڴ{W_:\xfd\xf8\xa6\xf2eve\xa0\x89\x9cF\x80q:'\xcdh\x13\x01P\xe4\xa0\n\xadz\xc7\xefE\xcd\xf7\xb4\xe9X\x03։\x11\xfe\r\x83\xe3$3\xfe5I\xbe\xd7f\x014\x81\xc3\bP\x85v\x182\xfb2\xe0\xd1\xf8xq\xf3\xbcz\xb5\xce\xc7\"\a\xa0>8.\xa0 =J:\xf6\xbd\xf1\x11\x05\x16\xf14\xc0i\x04\xa8B;\r\x1d9\xe3S\xdb+Ǟ*k\xd9p\xb1F\x1bBNq5\xd4\xdfG\xc0\x0eM\x94\x1e\x1c\x18\x1c\xfbh\xf6D\xa6\xf9j\f\xf59\x8b\x00Uhg\x913ˇ\xed\xe4\xf3\rM\xbbO\x95\xa9S\x10k\x16\t\x8f!\x01>\xa8A\xdda\x19\x01!\x11R\x9f\xf6\x1bz\x05\xbe\xbfij\xf4\"b\x02\x1ah7\x02T\xa1톊\x9c0k_u`aU\xeb\x8e\xe3\x17\x9b\xefm\xed\xd0[\xe0\t\xa30\x1a;,\x1c\xdd7(\x14\x95\u05f7\xa1\r\x87\x95\xe8\\\xa5\x96X\x18\xb5\xaf\x89\xb08\x14h\xd1\x01\x0e\xe5\xeeቱ\x9d|\xb2\xa4\xe5\xc5ڦ\x0e\x919\x14\f {[\xbf 4iD$\n\x12\vM\xa2\u007f-lB[~\xadA\xb5\xcd\xed&\xe1\xf8\x01\xe7\x1b\x1c/\xc9O\x93K\xc6Q\xfb\xda\x02\x1e\x9b\x01T\xa1mBd\x99\xc0\x96\x9d\xdcO\xee\x8ff\xdc\x12\x85\x12\xc2}-3_\t\x81]\x0ft\xe0T=\xfa\xe2d-j\xed\xb0\xb4Q\xc4\"\x01;,Qr =(.\x83\xda\u05fc0ZDP\x85\xb6\x80\x84?\x00\xdbɅ`'\x9f䱓\xc1\x16F\x93GF\xa2\xbf\xf4\t\xe4/\xc4,\xa6\x1e\xec\xea\xedGk\xd0\xe1s*\xb3\x98ˏ\x11\x81`_\xc7K\xdf\xdb45\xe6eb\x02\x1ah\x82\x00Uh\x138\xc8\x0f\xb6\xecd_\x1f\x06=|C8\xba\u007fp(\xf2\x15:\aiqM+Z\u007f\xb8\x12\x15V\xf1\xdb\xd7\x03⥓\xd7e\xc8\x0e\x92\xa5\xa4\xa1\x18\x01\xe7\xd0\xefA\xd8e~\xa6Xz\xa2\xb4i\x1e\xc9N\xc60\xdc\xdc7\bF\xe5\b\x14\n\xbb\x18\xae:\x16,\x8f\x9f/\xa8\xd0V\xb0\xafI;\"ؾ\x1e\x14'9\xd3+\xc2\u007f\xec\xda\fy\xa1\xab\xf5]\x8f\xf9\xa9B[\xe9\xd5[\xdf/\xaa<_\xa9\x95\x91\x92\xf4\x91\xf9\xa3'n\x91\xa3\xa4\b?R\xb4Kam`S\xef\x03\xdbz?\xd8\xd8\xed`k\x9b;\u007f\xb0\xaf\xef\xe8\x17<wCf\xf4j\xf3\xb8\x9e\xfe\xec\xfa\xb0r\x1d#X\xd1\xd8\x1ea\xde<<\x12\xe3\x11\x19\x8f̞r\u0604\x99pc\x04\xba35\xd80Z\x1f\x81]\x11\xaeӶ\xeb\x19uG\xc7(\b\xa3\n\xcd\x05\x06\xfcT\xa1\xcd\x00\xb1\xf6\xf8\x00\xec%cE\xc3\n\xe7\r\x17.\x15\xa1\xe7\xfe\x1am\xd8\xc3^\xf5m\x05\xaaj\"\u007f\x98\xf1\x86,ݥ\x0eAw\x11\xb4+\xc89fH\x98ה\x99\xdb\xded0o\x06\xc6\x06p\x83\xa8\x9f\a\x01\xaa\xd0<\xc0\xd0\xe0\xee\x89\x00U\xe8\xee\xd9oTj\x1e\x04\xa8B\xf3\x00C\x83\xbb'\x02T\xa1\xbbg\xbfQ\xa9y\x10\xa0\n\xcd\x03\f\r\xee\x9e\bP\x85\xee\x9e\xfdF\xa5\xe6A\x80*4\x0f04\xb8{\"@\x15\xba{\xf6\x1b\x95\x9a\a\x01\xaa\xd0<\xc0\xd0\xe0\xee\x89\x00U\xe8\xee\xd9oTj\x1e\x04\xa8B\xf3\x00C\x83\xbb'\x02T\xa1\xbbg\xbfQ\xa9y\x10\xa0\n\xcd\x03\f\r\xee\x9e\bP\x85\xee\x9e\xfdF\xa5\xe6A\x80*4\x0f04\xb8{\"\xd0%\x15:\"\xab \xa6{\xc2ٳ\xa4~jG\xdd\x00\x94\xcdv\xa9C\"]J\xa1C^(\x0e\x89\xce\xca\xff\xa7\x0fҗDg\xe5\xfe\x14\xb507\xfd\x9a\xaa\b{\x991\xf4\x9a\xca\xc0[\xf9\xb5\xeb:|\n~\xfc'\xe5\xdf\x1c<\xad<3Px\xa1e\xea&\xe5s\xbcbz9\xc2;g\x89l5*\x9b\x15D\xab\vf\"F\xbf\x14\x0e\xa2\x87\x1a\x93\xc3)h\x1d\x9cK_\xabnc\xff\xae\xfa \xbd\xce\x18\xee\xe9\xdf\xe8\xf9y\t\xac\x0f\xbb\"\xd0O8\xa1\xb9U\xdfY\x9d=\x042\x9d\x89\xdd\xe4\xc1\x844\aOף\xbd'L\ti\xd2cĪ3\x8aֱ\x95KS\xbewSUv\x153yc\xf9\x1b\xa7\xcb[^5?\x05\xdf/ʿbP\x944c\xd5$\xd9a\xbb\n\xf2P\xa2k\xae\xd0\xf2\x97sG0zf=\b\xc2?\x1a\xb3l\x1d\xcb0\xaf+ũ\x1f\xa3l檆\xb9\x19\x14\xf9KJ\x89@X\xff\nB\xec<(\xda_\xea'@\\\x85\xc6\xd5Y\xa3\xf8r\xb38\xe8hQ3\xda|\xa4\x9aH\x19\x96\x12-F\x05\n\r\xf0B\xb2\xfbYF\xf4B\xe5\xd2~E\ueb9f[\xde3;*\xef\xfe\xa3\xb4i[qM[87\x9c\xeb\xf7\x110\b\xd8T\u007fI\x8e\t~\xe8\xbd1A5\xdc8o\xf9\xaf\x99B\x87\xbfz6ַ\xa3c9\xa8\xc8d{\x1b\v\a\xfas\xf5z\xc1\x93U+R~\xb67\x8f}\xe9X&jQ\xc1TIJ\xef\x00 \xd1\xc6<i1\x01\xe8B\x95\x06aZ\x01s\aT\x02h\xec\xd00t\xdf\xc00\xe4cJ]g\x9e\xd4\xe1狵\xad\xe8ӟ\xaa\xd0Y\xa5\x86\x987&\xc4\xd7@\x1fv\x95\x1b\x8fmc\x91`e\a˼Y\xb3<\xc5\xf4\x888\xb1\x04\xfb\x03gﮎVVi\xf6\x1f/i\x1e\xa6\xb7s(\t\x0e\xf0\xd1\r\x8d\x97\xae\xde:=\xfa\x05\x86a,\xc1\xb3\xbfz\x87Sz_\xa1\xe7\x9e\xf7\x93\x8b\xdb\xe6\xc1\xcb\xfcwPf\x8b\x93\x9f\xd0z\f[\x0e\x83ؿq\xcd\x0fn\xcb MN\x1b+\x9a_\xb7\xbco\x197\xdc\x19\u007fTV\xeeM0ꮅ\xba\x06\x93\xf2\x87I}N\xc9\x03}#\xf2\x15\xeaXR\xbc<H\x84\xa6\x00\xfd\u05cdIRR\xb4Ca\x8dj\x1d\xfa\xfc\xb7\x1at\xa8\xa0\x91\x98\x0f+Jb\xb8\xdf\xc9S\xa5-\x03 \x81\xbfy\"\x96e\xab\xc0\xec\u007f\xb5rE\xeazh\x8f\x8b\x8a\xc42\x19\x1b+\xd6\x01\xab\xea\xf4f\xad\x8eh\xb0\x0fK\x90\xa0R`T\xadRY\x92Nb\xd9\xe2\xc3\xfc\x9a\x87\xf6\x92fz\xf3\xb6\x02\xaf*\xb4<\xab\xe0A\x06\xe9W\x82\x02%\x98w\x06~\x06\x9b\xf9G\xe8\x879\xcae\xe9\xb9x\x81(\xf6ռ\xc12\xec\xb3\fb\b+iV\r\x9d\xb7T\xa9\x11-G\xab\xfa\xb6\x92ʳ\x16\x16\x96u>\xce\x17\xb5\xbf\v\xb2<JJ\a\xdap\x11\xb1\x82\x05\xca\xe5)\xbbp\xfc\xf4m\x8a\xe9\xa7.6\u007f\xa8hl\xb7x\tq<6\x010\xf1L\\(?A#NGr\x1dz\x16}u\xa6\x01\xed\xfe\xbd\x16i;,\x87A\x11Ћ\r\xe9%\xf9o\xdfؐG\xf0Tn\xb0\xf1\x85,\xc8Ό'\x95\aH\x9e\xd2!\xc13U\xcbR\u007f!\xc7[\x0f}rGe\xe6\U0004ba8f\xca\xeb\xdb%\xa4\x941!\"4\x13\xc8(Sc\xc4\b\xcb~\x10d\xdf\xc3#;\xe6\xe6\x1a\x14\x1f\x90\x9f\x10.\x1e\xe3\r\xb6'\xaf(t䂼\xbeB\x86\xfd\x18:\xe0.\x12@0\xb2\x14\xea\x11\xf3R\xd5\xf2\xb4/\xcc\xe3a\v\xaf?\xecz\xbc\x0f\x8aw\x9fy\x1c~Ɗǰ\xcc|\xc5\xf2\xd4=\xa4x\xf3\xb0\x98\xec\x8a\x00\x9d\xba\xe1\x15\x98!\xe6C\x1ci\x94k\x81\x17h\x89B#z\xd7\xfcE\x99\x90\xc3\n\xd9Ʋ\u007f\xfdQ\xa2\x9e\xd1\xd2f9j\x81\x8c\xe8. \x87y\x14\xb8;\xa4\xfe\xf6\xd9!\xc7/\xb6\xa0M\xbfT\xf2rn\xc0b\xab$)2\xe0\xd1O\x1f\x8b\xfaռ-\xb2\x85\xf9\xa3\x04\x88]\v\xd5\x12\xd7\x1f\x80\x8dC3٬m\xb5\xe9%\xb5M\xfbN\x97\xa9\xfb\x98ׅ\x9f\xa5~B4\x11چ\xdb(0\x1b\xb3U\x1a\x1d\xdaq\xac\x1af\x172\xe9d\x80\xaf\x80\x05R\xf7\x9dѱ1\x99\xab\xeec\x1c\x1e\x80H\xf2\x90\xc2<\xaa\xd0as\xcf\a\xf9\x8a\xdb^\x87\xb7\xf4y\xd2(\v#r\x13Ľ\xa5\xacO\xfd\x00\xade\xc8\xf3\xd6\x15\xa9\xe5Y\xb9w\t\x10\xf31\xa4\xefKj\b\x1e\xdd\x05B\xe1S\x15K\xfa\xf3\xdcY\x02vrVA&\xbc\x02\xef\x80\xe2Y\xecsC~\xe8\u007f\xb4\xa5\xc3\a-\xacy'MA\xaa\xc3\x186s[\xa5\xbc\xac^\xbb\xe7Li\xcb(\x18\xa0,\x1ct\x1e\x1a?<\x02\xdd= \x04\xf1q7V4\xb4\xa3u\xffU\x1a\x16v\x16\x05@\x80,H\xa4\x19\x14\x13\xf8\xfc\xe6\xe9Q\xebH\xf1\x9dax\x87H\x937\v\xb1\xcc[\x80\x8d\x05\xd3\x13\xb4J\x03\xb3\xdc\n\x818tYEv\x8c\xba3\x1f\xc7\x03/\xaa\x18^Ԝߊ\x9b\xef7^nĉF\xf0\xf2\xa3\xbb\xd3C\f$;\xb8m\xd6ܥZ\xeb\xa4\xee\xb2@\x9f\xb6a\x89!\xf36<&\xf3\b듇\x14\x1a+O\xde4P\xe2\xe5$\x90A\a\xf4`\xe1mdt\xc2E\x15\xef\xf5\xb7\u007f5\f\x9b\xf8ru\xde30ҿ\t\x82\a\x9b\x03\v:\xd9\xc1\xb0\x82\x8f\xda\x11\xf3w\xee\xe2貝\xcc|\x04釙\xe7\xb9\xf2|\xbc]\x8ff\u05ecH;\xc1\x13O\f\x06\x1b\xf3\x96\xe2*uNI][\x14)At\xb0\be\x8e\x96\xa1!\xf1Wg\xee\xa6V\x1d\xda\tv\xf2\xb7y\x8d\xd8IJp\x12?\xa1~P\x9cx\x930$~\xe6Ή\x8c\xce\"\x01O\x00\xccd\x81\"\xa4\u007f\x130\x98\x03\xf8X\x10\xb0CeezF\xb0\xb0rY\xea6n\x11OlU,<V\xd4\xfcfMs;\xd1V\x1a\x1c\x1f\x80\xa6\x8e\x96#\xdc\x16G\x9c5Rw\\NJ\xb4\u007fYrTиu\x19\x11\xbf9R\xae\xad\xb4nW\xe8\xe8E\xf9\xc3\x00\xbc5P1YyX\xf6g\x1d\xe33\xa7jY\xffS\xb6\x84\xe3\x8b\x0f|9?\\\xa2c߄\xf8'a\xb4\xb5\x98\xdbAO\xaaYļ\xaaR\xfb\x1c\f\x0eh_\x01\x8d\xcc\xe0)\xab\x1cF\xecE\x8aei[]YD\x8d[S\xf6¹J͒ږv\v\x13\x06\xd7;\x00l\xcdi7\xcb\xd1\xe9\xb2\x16\xb4\vlMu\x9b\xa5\x9d\x8c\xa7\xf0\xf4\x98\x80\xa3\xc1Ҁ\x87wN\x97)y\xe4\xb5\x19\x1c\xb9(7Y\xa8G\xff\xe25\xef\x10:\nf\xfa3@k\x16T\\\xadɁ\xeb1\"I\x85F\x05\xf9\x02i\xbb\f\r\x8c#.\x19HY,\xc2\xf0\x1e\xfa\x97\xa7\xea\x80x\xb2\x8eHꎩ\x87\a\xf7\x92~\x1f\x1b\x178\xfe\xe3\aB\xea-\np\"\xc0m\n-{\xa5H.\xd0i\x96\xc2\xd47\x15\x94̢\\\x18\x8d.\xc1\x82/\v\x16|9N\xc8I\xcc\x12\xf3\xf2\xd9\x14\xbdN\a\x9d\x87n#&@l>(\xb6\x1a\x841\u007f\xb9\xb4 \xcf\nA@\xc8R\xbei\x98\\\x1e\u007fhz6\xeb\x9b$+\xdd\xf8gYˤ\xd6+w\x12\xf2\xa76\x8d\xe9\x15\xe6\xabL\x92I&\xed\x98\x1e\xfd\x83i\x8c\xf3OQ\v\xf3\xee\x87v\xbf\x0f%\xf4\xe3\x96\xe2\x0f&\x030\xa6\xb2\xe7\x14\x1a\x86@l\x8a\f\xe6\x12\xd8\xc9\xd8\xc4\xe03\x97\xb8\xe5\xd9\xe3\xb7E\xea\x1e&\xf1\xe9\x18\x9a\x18\xb4jsf\x14\xde\xffw\xc9Y(\x9e\xb3\xa5\x81\x89\xa1\x02Ų\xa0\xae\x87\x05_\v\x8c\x16K\x15j\xd1\n\xf3E\x96\xb3u\x99\xe73\xec\x9e0\xba\x0f\xe0=\xeam\x1e\x87\x9fAyO\x80lC\r~\xbcPj\xf7}\xa9\xee\xfd\xe4RRZW\xc3\xee\xfb\xb0\"A\xd3\u07ba\xa7@\xa91\xd4g\xad\xbc0\x89\xb0\xb5\xb7L\xfc\xf7\xfdO\xf5z\xd7Z:W\xe2\xa2\x17\xe6\xcfc\x91~1`#\xc5\xe5ć\xfa\xc1V\x9b\xe5\x9a\f\xdb\xc9w\xa6\x86\xc0\xa2/\x1c\x05ڹ\xa0uT\xae\xa2j-\xda\xf8S\xb5ao\x9f\x94\xf7\xe6>\x81_\xec\x9c\x1d?\x96\x14go\x98\xdb\x14:za\x9e\x89E\bJ\x04\x83#\xda\xdc!D\x8bl-\xb2\xec\x15\xd6j\xba\xec\\\xdf(5\xf3<\xa4y\xcd\xe2\xc5b\xd9c \x8b\x9f+[YV\xeb&D\x8eYSqwY\x9dz\xab\xb2\xa1\xcdb\xa1\x06S-\x9b\x16\x1d\x90SR\xdb+37\x9bi#dwkP\xcc\xfc\xb3\x11\xacP\xb7\x04\xfe3e\x06\xec\x9b\v\xcc\xf7\x8d\xf1\x96\xe3\xac[\xa3\x10ގ\xf3\xb4\x03\xbd\xe0%u\x1f\xd9'\xf0\xd0\xde\xd9\xf1w\xba\"\x83\xc7\x14\x1a\xbe\x11\x0fW,M=\xee\x8ap\xce\xe4ŝ\xa7\x17\xea\xbe\x03\xa5\x1ed\xcc\x0f\x1d\x99\xa5\\\x9a\xb6\xc2\xf8\xec\xcd\xdfQˋV\x16\xd7j\xe7\x1a\xeb\f\x14\v\xab\x93#\x02o<\xf0l\xcc%c\x98\xb7~#\x17\xe4\x0e\x89\t\xf5=Q\xd5\xd8\xde\xd9\xef3a\xef\xfc\xae4\x8b\xf5\xb5\xc7E\xc2\x17%a\x8a\xe0\xe3\x97Z:\xeb\x1a\xd9'\xe8\xfb\xbd\xb3\xe3\xee\xea\fp\xc2\x03K\x11ϸk\xa1̸%x\xd7\x04z\xab\x88\xdb*x\xbe\xc0}\xf6\xa6\xffBu\xdb\xe7\xdc\xfa\x9a\xd4\x1d'\xae\x852c\x19\xaaW\xa4\xff\x01[\x9f&\xf6F\xbf(1W<\xaf\xf9\xfd\x80c\xbbW\x98\xf9\xed\a\xae\xffw\xa3\xc7\x14\xdak\xc8Њ(\x02\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\xee\x8f\x00U\xe8\xee߇\xb4\x05\x1c\x04\xa8Bs\xc0\xa0\xde\ue3c0\xc7\x14Z\xb6\xf0\xec\xe0k\x01OЋ\xb9ap\x187\x89[7\xabg\x82\xb8\xcf\xde\xf4ߒ\x1cdr@72\xd87u\xff\xef\xac\xf3G\xa9]\x11\x1eh \xdatz\x93>?\xc7ß\xe7J5\xf6\xe4\xc5'\xc2K\xeaL\xce\x1a@6W\xe9ˠ\x04{*\xb7'\r\xe9L!\x14\xbe\xc1a\xee\r{*#\xa5\x99\xc0\n彁\xb3\x031\xff\x80zM\xce\x14a\xbe\x0e\xc8\xf2\xb1\xba\re{\x8b\x96w\xd9O\xaa\xfe'Ϊv\xfdr\xa1i\x00\xa6\xcb\xe2:8\xa9\xd1v{j\xc8\xdbKDŽ\xfd\x03\x0e\x10\x9bFr\x13\xba\xd1\x1f\xb5 \xef>8\x96\xf6\xbf\xd0\xe3}͋\x05j^4\xfb\xf6h\x04$0\xe6Q\x1ey\x06B\x1b\x03\x19e\x9d\x1aw\xcbU\u05f5\xcf\x14\x1a\xe5d\xd9\x06`\xa1x\xa3\xb28m5\xdai?q\x8a1\xbb=\xbf\xb2\x05\x05\xa3\x85\x02\xdd'\xf0~\xa6XO\xcfփne{R\x96\xafO\xb1\x92]\xb9U[~,hx\bHe\xac\x0e\x18\x83\xe3%\xb5\xa3\xfb\x86N{\xedoA\xff\xb1.\xb7\U000f15e9\x1e:>\xe4\xe3\xe90\x96\xec\x03\xe3\xf6\xbd\x03C\r\x8cO\xbep<\xca\x13\x0ex\x01\xd1\xda\x1f\xf9٢\xba\x96B/(\xb8\a\b\xcbW\x92F\x80\xcb\xe0\xb0\x05:\xbdp\xa6;\xa9p\r\x84\x8b\x8cU\"\x19\x9e~a\v@\xb1\x9f\xad\\\x9e\xfe\x1dO\x02\x87\x83\x81\xae\x81Y\xb4\xbf\xee\xb5\xef\xf2\xea\xfe\x0e$\x87v\x1f\x9f\xc6d+#\x93\x03όJ\x8bx\xe4\xf9\x91\xfe\xe7\x1d\xae\x98'\x036\xbd\x02Dh1\xbc\xe4O\xc3\xc8lA\xc6Ó\r\x85\x06\xf8\xa0)\u007f\x89D\xa3\x93-\x18)\xf8\xb2\xd8\f\xd7\x00\xb1ή\xe35\x06BJ\xb3\xc9ʐ\x17S(\f\xe9%=\xd57:\xf0\xe1\xff\x1d\x1bz\xd1f\x81V\x12\xb8\xf7U\xc4T]\x9a\xbc\xa7IӾQ\x068\xc6\xfe9\xf0ǽ\xe8\x12\xb5\x81\rJ^`\xe200\x93v A\x8e\x88\xd1/\x81\xba\x89\\\x0f`\x8a\x1c\xd4\xe9\x99\xe7\xabW\xa4\xb9\xa4H\x8b\x0fԍ9RԴ\x11hnÍ\xed\xe4\xfeb\x9e\x8b\t\xc3\xc3љr5\xc2\xd3-Ʌ\x04\xf8\xb0\xb7\xf6\v\xde\xfb@_\xd9\xe3c\x863D\x0e:R>\x8b0C\x1f\xe4ρ\x8e]\f\u007f&\xa6\x17Nk\xa0\xdc\x15\xa0\x97\xa7\xde$\v\xff\xe1\x82\xea\x1f\xa5\xb5\xad\xe6'U\rE&\xcb\xc0\f\xb9M\x86)q-\xaa\xb07\x00S\x16\xfc\xf7\x9c\nm\xfb\xb5\x1a\xa9\xb4dV\xb3d\xb9\u007fuj\x8c\xe41`&\xfd\xc6\xder\xad\xa5s\xafB_\xa9\xc90:\xf8\xa2l`Q\x02\x1e:\xcb\xd1\xe12\xf9\fzGQ\x0f\xd4\x026H\x1aͅnj@\xd0-+\xf9He n[\xbb\x90y\x89\xfb\xc2D-ȿ\rL\xd5u\xa4\xd9\x03\xdbט\x0fO\xcb\xf8\xbe^\xbf\xac\x0f\x99\x98\xd9\\\x88+\xcf\xef\x1d\xd6\xf6;v\xbefב\vM\x03\xdb\t4Dx\x1a\xbfg@(\x1a\a\xca,\x06\x82t\xec\xf2+4h\xfdO\x95\xa8\x1cx\x95I\xce\x15\xfbښ\x9d\x8c\xdb\tD)\xabt\xac\xe0\r#\xefߡC\xac\xff\xd6\n\xe5\xa7?\x9dWMl\xd4X\x9aG\xd0w\xe8\xaf@q\x90qS\xa4\x81Q\x89$/_\x18&m\\\xf3\x83\x02\x15ט/\xfc.\xe7\xc0\xa4\x8dÓ\x02__?%z\x19_\x19΄{D\xa1\x8d\x82ز\xdf\x00\xe4\"x\x8bg\xdb3\xf5\xcb\x17\x9d\xeb\xcd\xe8\xdb\xd7\xf2ۂ\xec)X\xbf?Y\xb9$\xfd\xa8\xb1~\x93_\x18\xb9\xa2[\xf2\xe7\xc2A\xf9\xc5\xd0Q\x96\xf3)\\{\xa1g\xc0\xbe.J\xfbȖ\xad\x8f\xed\xe4=yU\x9b\u007f<\xd7\xf8p\xa3\xba\x83\x88\xe1\xb0D\t\xca\x1c%'.\xb40\x13\xfe\xa1\xb3\x8dh\xfb\xd1j\xd4¹Å+\xef\xd0\x04I\xcd\xe8䐩\xaf\xdc\x1d|\x80\x1bN\xf2\xdb\xc4\x19\x98Y\xe1}\x9b\xc57\x13-9\xa8I<QV\xbb\xf7ע\xa6!\xe6\vX\\\x1f\xdc5\x83\x1e\x1d\x11\x89\xeeL\t2\\\xc9A\x92\xc1\x18\x86\xc9(?\x87\x11\xf9;\x1eZ]\x89\x88aoH\x92\ue24a\x8e\x9b\xe2\tZ]bg\x18\x85s\u05ef\xb5\x91\x03\xd7\x013ӗ,\xe3\xf3\x1c\xe9\x9e\x10\xe3\xbd',\xab_\x00\xcala\x9b\x1a\xa6PļR\xb9<u\x83=\xdb>\x06\x0e\xbe\x0e\r\x98!\xcc4PlB\xfb\xf9\xedk\xa3\x9d\xfcC~ë\xb0\xe5Dd\xeb\x8c\x05\xc2\xf3'\x80\x98\x11\x93\x81\xdbr\x98\xb4q\xd7\xef5\xe8\xeb?\x1b\x10ɶċ\xb3\xd1\xc9\xc1gF\x0e\f\x1b\xfb\xdcp\xffB\xf3\xf2l\xd9ɀ\xebEh\xe3<\xc5Ҵ\xbd\xe6yI\xcf\xf3\xf7\xd6\xdd{\xaaD\xb5)\xb7Bm\xc1\xf6\x84\xd3\xf7\n\xf7EO\xc1n\bp\xe3Yd\xc7/\xe9\xb7\xf9\x8d\x06\x8ehl3\x9b\xbb\xcbvr\x00\xd8\xc9\xc1.\xdb\xc9\xe6es\x9f\t\x1dʍv\xa3߆m\aZ\xdd\n\xaf\xff{\x8c8\xf8m#\x81\xa2|Aޣ\x8c\x00\x01g\xdd\xd5{O\x8c\x12\x81r\x01k\xae\xe0\x9f\xce\xde+r\x99%U\xbf\x1e\x14\x9b\xb8_\x0e3\xc7\x01\x18\xd5^0\x8ej\xaf\x1fP\x8d\xf9\xad\xa8n\xe3\x1f\xa5j\xa2\x9dl$\x03\xc7S4\x9e\xaa\x1dq\x98+z\xf3\x91*\xf4G\xc9U\x16!n~\xe0\xc0co\xe9\x1f\xbag\xfe\xd0\xc8)}\xfb\x02Q\x8cm,\x81\x13\x1an7P\xfb,s\x86O\xf0\x85]Uo\xc1쓥l$/no\xe9\x1b\x84\x1e\x1f\x15\xd9ɁwV\xa95p]\xf3\x99QI\x11\xbe\xb5C\xe2\x03'\u007f\xe4&;\x99\x8b\x8d\xb9\xdfA\xe8ͳ;\xfel\xa0\xc2ճ\x8bA\x81\x9f\x82\x8e\xb7X}è\xa2`\xf5\xe8u\x01\xc3N\x03\xcd\x18M\xaa\xc1ڈNJ\xcf\x1f\xc62\xf2Ey\xd3\x05zf\x19\x8c\xd5\x16\xa3\x12\xb6;\x83\xfc|>\x1b\xd6[z\xe3\xcf\xe7T\x83Hv2\xa6\xc1\xfd[z(zdX8\x92\xc0\xadY\xae\xb83ej\xb4\xe1p\x15R\xaa\xc8\xf6ub\x84_kT\x90\xe8\x93_\v\x9b\xef&\xad\ap\xdd\xf0\xa2\xefjC\xbe/\xbaz\xff\xcc\xeaC\xac\xf4H\x89\xe2\xf3_.\xa8\xee#\x8d\xb8\xf8\xd2$\xbc\xd0-\x04\x02F\xd8k'6\x1b\xdbɃzI\xdfܜ\x19\xf361\x81\a\x02\xbd\xae\xd0\xc66ز\xfb\x8c\xe9L~Yt^\x8fا\xed\xb1\xb9M\xf2\xd9x\b]X\x18\xec϶fË2\x97\xf4\x92\xf1e\xc7D\xe6\x98\xd0\xdcQ2p\xbe\xf2p8^[\xfe_n\x03\xca\x01Rt\x92\"\xf1\xe7u\xff\xb6(\xae\xeb\xc5/\xeb\x06\x9e\xbfԼ\vn\xc1\xea\x87mC{\x1c\xbe~bh\x82t\x8f\xa4O\xecc\x9f\xde\xc1h\xed\xc9\xe3\xae4\xd7L\xa1\x8d\r\x90/\xc8\u007f\x00F\xe3\xf7\xf9F\x1c\x9c\x0epl\x84\xdb\t\x17+$\xa9\xab\xe0\x9eB\xd3\xcfKƂ\xdc\xf0{\xf9%\xb3\xc67}\xb9\x12\x18%\xd1\x13\xb7\xcaрX\xcf}\xc1\xb6\xc5\xf4\xdf\xd9\\/|\xb8\xc2u=\xb7\xb3:\xe3\xf7K\xaa5\xc5խ\xbc\xffF\x80\xedd\xb8 \xe8t|\xb8x\x9c7.\b\xeaĀ\xe3\xb9\xe6\nm\x90e6+\x8a\x0e\xce\u007f\x96\x15\xa07@\xa0νSPd\xd8x@\xeb\x99\x0e\xe1+\x0e]]\xc1i\xa03^\xb8\x9ey\x1cT\xfdO0y\xe2\xb8\xf9\xb1I\xf1\b\xbe;ōd\xe0\xdc\xf2I~+w\xb1\x80E\x84ַ\xb4\xb3\v\xbd\xf59\x1f/\x8aglQ|p\xac\xb8\xe5ٺ\x96v\x13s\x11\xdb\xc9\xe9\xf1A\x8f\xafː\x1d$\xb5\xc3[a]C\xa1\xaf\xb4V\x9eu\x16\xa8Tu\vaڿ\v:+\x0fV\xfe'\xaaV\xa4M\xf5\x16\x18&\xf5d\x17\xfb\xf7\xeehUk\xda\xf1;u\xd9}\x90\x91\x84\xa2\x1c\xbckĘ\xd7\xd5ߕ\xdf*Б«\xb6\xeaM\xbd%\xbb\xf7=\x990\xde\xd5r\x9d\xc9?hɅ;e\x01>ߝ\x87KI\x83\xc5>(8@Xvx^\xefxg\xcarw\x1e\xd7V1\ue586Ջa\xda\xfa\x1f(V\tJ=\x00\x16\\\xc4\x1d\x05wWK,/;I+\x00brn\x9c\xad\x1b\xa0\xb8i\xdd\xed\x0f\x10u\xbeW\x86\xa2\xe1C\r\xf9\x8b\x85\xbb+&\x94Wըk\x82\xad=\xe4/\x12\xa2\xea\xa6\x0et\xbeR[NHvM\x82\xba\x96B_\x81\x00\xba.暠A+\xb5\v\x01\x96\xe90\xe8\x8dJ\x83\x973\xf0\u0383)bWF/$\xea\x92\n\xed\x85v\xd3*\xaeS\x04\xa8B_\xa7\x1d\xdbS\x9bE\x15\xba\xa7\xf6\xfcu\xdan\xaa\xd0\xd7i\xc7\xf6\xd4fQ\x85\xee\xa9=\u007f\x9d\xb6\x9b*\xf4uڱ=\xb5YT\xa1{j\xcf_\xa7\xed\xa6\n}\x9dvlOm\x16U\xe8\x9e\xda\xf3\xd7i\xbb\xa9B_\xa7\x1d\xdbS\x9bE\x15\xba\xa7\xf6\xfcu\xdan\xaa\xd0\xd7i\xc7\xf6\xd4fQ\x85\xee\xa9=\u007f\x9d\xb6\x9b*\xf4uڱ=\xb5Y\xdea\xe7s\x00\xdd`\x89\b\xc9\x03\x85H\xdb\u03a2K\xb5\xd7\xec_~\x1d\x90\xb8g&\x95\x00\x1bT|\xa8\b\xe8\x17\x18tV\xe1<ѓ\xbb\xd1\xeb2#\xf4\xecm\xaa\x88\xa1\x89\x92%jm\a:\a\xc7\xe2K@\x99{G\xf8\xffu\xfa&\xe5\x9d\xeen\xb4\xcd\xf2\x80\xc9\x14\x18\x9a\x9eֶ\xeaL\xf0\xd9\u007f\xaa\x1e\xb5\x02\xff\x90\xb7\x1d>\x19\xf2'0.qݙ2\xedpL\xbe\xc3\r\xf3\x86\xff\xde\x03\xac߈\x04\xe9\x128\x8e\x85\n\x14Z\xe8+\r\x8a\r\xf5\x1b>}\xb3b\xba7\xea\xb7U\xc75\xff\xc7\xec\xeclVp\xb6W\xf9G'J\xd43\xe1\x1f\xc6MΩa\xe1\xf1\xc1\xcb\x01q\x92\xe3AA\xa2q;3cJl5\xc8\xd5xyV\xee]P\xe7\x87\xc0\xd7Ad2\xc5d\x86\x93GF\x00\x01\x8cm\x16!We\xa9mnG[\u007f\xad19z\xc5-\xf327\tZ\xd5\xc1\n\xb3\x8d\xf4^\xdcxw\xfb\xa7|Z\xfe\xfa\xe9R\xf5\xab5\xcd\xedD\x92\x9d\xb4\x18\xf1\xc5\xde\xf2\xc0\x89\xeb2\"~sw\xdd\xf6\x96wM\x15z\xfa6\xc5\xf43%ͫ\x80\xadSbK`1PH\r\x8a\x93\xeclm\x8b\xcf<\xf8\x1c\x90\xad\xb8\xd9E.\xc8\xeb+\x14\xb0\xef\x01\x99\xd2\x18{\x8a\xc6\xecA\xb3n\x8b\"\xb2\bٓ\xdfZ\x9a6\x98\x05\xf6\x9d\xacExF q\x81X\xe4eQ\r\x1c\x1byM\x11\x90\xb6\x16N\xc5[\xd2\x16Ydp,\xe0\x89͊\xfbs\x15\x9aM\x97j\xb5a\xb6r\x8a`4\x18\x92(\xf9\xb1oL\xc8\xf8\xf7\xc6\x04\x81\\\xdeu\xd7D\xa1\xa7\xed\xa8\xb9\xb1\xb4\xb2)'\xafB\x93Hjn\x98\xc4\aյ\x90\xd9\n¥¶~Q\x92\xc5{fŽC\xca\xebhX\xc8\v\xc5!~~\x9a\xd7\x19\xc4\xce\x05e\xb6XS\x80\xcd\xd1\xee\xe7+\x10\x02G\x86\x89\xf9a\xac\xe7f`\x11\xc2#6\x1e\xb9\xdd\xe1~:\xdf\x04\xa3r5j0#\x037\x96-\xf5\x1347\xb7\xea\xa5\xc6g\xee/\x18C\xb9pN~\x8erE\xea\x8f\xdcpg\xfd\x99\x9fU\xf7\xabT\xb5\xec\x06\xd6\xd4\x01\x98I\xd4\xdc\x05\x81\x1d\xddܦC\x98\x06\xcc\xdc\x05\a\xf8\xe8\x86\xc4K\xd7\xee\x98\x11=\af;Bn\xf3\x1c\xeey\xf6\xaaB\xcf߯\x8a8_Ѱ\xeb\x8fK-\xb7\x91F\x1e#\x9d\xd6]\xa9\xc1\xe8|\x95\x16m\xf8I\t\xb64\x99E(>̷&!\\2m\xe7\xcc\xe8/\x9d\x82\x02\xdbɽ\xf3g\x83\"\x03\xab\x0f\x13j^\x06t \xb0i\xb1\xdb[Y߅\xa3\x92\x80\x86\xa6\xbdcWn\xb9f$\xa9g0\a\xddC7\x84\xa3\a\x06\x87\"\xcc\xf7\xec\x8c\xc3,\x9d\xeb\x0fW\xa2Bh7\xc9E\x06\x8a4}d\xfe\xcf\xef\x9d\x1d\xf7\t\xd0,<\x06k\xb1ePS4)-\x98\"\xfff\x05\xa2\x17I\\\x81\xa4\xf4\xe6a\xb7\xe7TI\x83\xeb\xb4ۀ\x9a\xec\x01\xb8:¢A\"h\xe3}\x83\x80Uuh8\xaai\xee\xb0Jc\x16\x1b*j\x19\xd8K:w\xe3\xe4\xe8\x8d\xe6\xf5x\xe2\xd9BXOT\x82\xed\xe4s\x89\x8a\x0f\x8f_l\x9e\xcdg'c\xae\x8b\t7F\x98ж\xe2Q\xe1G\xe0\x17\xde\xce\xc7/\fҧF\x89O\x87\x06\x05\x8c\xdd=C^d\xaf\xec\xb6\xecd(\xe7\xb8^\xc0\xce1g2\xcdب\xb8\xfdRu\xcb\xe7\x17k\xdbd\xa4\xba\"\xa4ؾ\x8eD\u007f\xe9cInJJ\x8f\xc3\xeaa$\xde~\xb4\x06\x1d\x86v\x92\x1c\x9c4\xd7\x0f\x88\x97lo\xac\x88\x9b\xf6\x03\x87d'&\xbb\"@\xaf\xa9_\b\xb3J\x16\xe4\xf3\xb7\xcc˶\x01~\xab:\x90p\xb1#\xf6\xf5\xf8\xb5%\xef\xe4)\xb5/շt\x88,\xcbDhDo)\xf0\xda\xc9P8̢\\\xf7'p_\xaf\xffo%И\xb5s\x83;\xfdؾN\xe9-}d\xf5\x98\xc8\x13\x9d\x81\x1e\xf0x\\\xa1m\xd9Ƀ\xe3\x03\xd0\xd4\xd1r\xabtZ\xc0\x8d\x81\xf6\x1e\xafE\aN\xd7\x1b\xa8\xb2\xccq\x80Q\x91M\x8f\x15\xef\xab\xf4\xf1\x9dr\xfc\xc9\x18\xde=$;\xecd8\x8e\xcf.R,K\xdbjm\x9a\x9c\xf8I\xf9\xc2|\x85\xfaM\xbe\xc5Q?\xb9?\x9aqK\x14J\x00\xb6N>\x87/\xcd9\b\xed\xd9{\xa2\x96\xb8s\x82\x17\xc3\x03\xe3\x02~\x97ɤ\x0fo\x9a\x18\x01r\x91]ؼ\v\xf1~>m\x98\x9bo\x12)\x05\x8c\t\xd50\v\xbd\xa6\x10\xa7\xad\xb3f_O\xdeX1\xee\\\xa5f}y}k\b\xa9\x1c\xcc<:\xe3\xe6(\xd4?\x8a\xf0\xee\\\xc9`\x8b\xc6\xcc\x17\x96\xfc7$\x06\xfe\x90\xd4+\xe8\x91\x0f\xee\t\xae#\xd5\xe3j\x98\xc7\x14z\x16\xd8\xc9EV\xecdg贪\x80\x03b\xcb/U跋\xcd\xc4v\x87\x04\b\xdbz\xcb$˾|:\xeeun\x02[v2(10\xfe\xa3\x15\x82\x80\xd0\xe5F\xe6Sn~\x92\u007fB\x0e+\xd67\x94m>Q\xd22N\xcb!\xa31\xa6\x05^\x11t[\xbf 4\tx\x95\x83Ħ\x9b7G\x8b\x9aa\x9a\xaeFx\x17\x83\xe40\vQ\xb2,0c\xd3T\xf9\xb7\xa4xR\x98\xfc\xe5\xdc\x11@:\xb9\x1a↑\xe2A\xb1\x89\xf6\xf5_WW\xa4\xeaڴ{\v\x94\xda\xfe\xa4|XvLx~{\u007f\xfbwulј\xc1m\x05:\x18\xc8\xd6n\x9f\x1e;\a(\x92A4\xf79\xb7+4\xb6\x93\v\xcb\x1bw\x9e(i\xbe\x9dd'c\xb2\x96\xf1`Z\xb8B\xa7e\x8b\x05?&د.6\xd2wֿ\xbf\x89\xdbg\xaf\x9d\xec,[\xe7\x139U\xc9\xcaj\xed\x17'K\x9bӱ\x89d\xee\xfc\x81\xc6\x1f3\xf8\xe3\vy0\xdd\xec\x86\xc3Jt\xae\x92l'˃|\xda\a\xc6\x02[紘\xb7\xcc˱\xef\x99e\xa2\x16\xe6?\x0ei\x97B\xc7\x12\xedk\xa0\xd1\xf8B/\xf0\x99\x9f\x18\xc3\xd4\x042\xbe[\xcfV\xa8\xef\a\x92s\v=0^\"\xf4Ȱ\b\xe4gFrc\x9f,\bY\xa113\x14\x11\x1f\xea\xdb\f#\xf6\x9c5\x19\xf2M\xf6\x96i+\x9dECle\xe0\x8fg\x99I\xeb+><Q\xda\xfc\x94Jc\xfaA\x02\xe7\xc1S蝩!h\xe2\x8d\u177c\xc2\xfceَ\xd1\xc1\xca\xfaP~\x03\xda\x01,\x9d|,\xf8\x01\"A\x93\xba]\xcfg\xd0\x12\xedd\xdb5\x93S<\x9bS\xfd\xe0\x89K\xaa-\xb0\xb8#\xd6\a\xa3\x12\xef\xce\xc5e\xb6Nɿ\xd3\xe5q\x93\xb3Ǹp\xbf\xca\x15\xd10I<#\xa8Ôj\v \x88`#\xb0\x1dx\x01\x0e\xbb%\xa6\x86\xf0\x95\xfc\xc3\x13\xa5\xe81\xb88H\x0e\xa4\x94\xeep\xbf_l1,\x1c\xabx\xeck \xbd,N\x8a\x95\x8c_\xfb\x88\xeb\xf6\xb5\xdb\x14z\xc4\xd2\vM%\xf5m\xc4\xed\xa4\xd4\xe8\x004\xf3V\x19\x8a\t\xe1\xb7)\x9d\x05\x0e+\xf3n\xb0\xaf\xbfέ'n\x1f\x11ʵ\xcbN&\xe4\xb3\x19\x84\xc9\fgn\xafZz\xac\xb0q\x1e\xac\xfe\x89\xca\xc2-\x04\x9b%\xc3\x12$g{\x85\x06<\xb8:#\xf2\x1c7\xce\x1d\xfe\x98\x85\xb9\xbd\xf4\x88\xc1\xbb!\x19\xf6\x94\x17\a\x17\x04M\x1f\x1d\x89\xd2b\xdcϪ\x8ag\xeb\xaf\xff\xac\x87\xbe\xaa\x83\u007fk\xb0\xdc\xe7\xc3;E\xb7\xf6\x0f^\x02\\ү\xd8#+_\x1a\xb7)\xb4\xf9ś\xb8B\x98B\xe1M\x97!\xfc\xc6{\xda\xd9b\xc1w\xc6NvV\xe6\xecC\xf5!\xe7\x8a[v\xffR\xd8t'ߧ\xf2\xbe2\xff\xa6\x9bz\a\xcf|wlx\x8e\xb3\xf5؛ϖ}\x8d\xefP\x99xS\x04\xc2ۥ\xf8%\xf3\xa4\x83\xd9\xdbpm\xc5!\xc2\x1d,]\xeb\x9e\u0085y&\x16\xe4\x14\xf8\xd8pπ0\xe4c\xba\x1e\xf2$V\x86\xb21\v\xfeG\x87\x94&\xd3{\x98Dt\\ь\x1ev\xd6NvV\xe8\xec\xfd\rC\x8f\x147\xfc\xe7t\xb9\xbaӞ\x85+\xde\xf4\xb7\xa7\x06\xaf\\\xf3\xa8|>,\x88,\x87*g+\xb3\x99\x0f\xec묂L?\x11\xda\x00_\";?\x12ݑ\x12\x8c\x1e\a\xf3B\fk\x1bo\xba\x8b\xf0\xbf:\xff\x82~\xe2\xfe\x03\xda\xc8>A\xdf\xc3>\xfb]\xae\xc8\xe1\xb1V<0\xd8\xfbʌ\x81\x80\xad.\x94\x1cij6\x0eK\x92~\xebmeƲd\x8f\t9q\xb2T;\x01\xfb\x8dN\xad\xd5\x1dZ\x9b\x11\xf5\xa2w\x95\x19\xd7ΰ\xca婟\xc1\xcbm\xf2\xa5\n/V\xbd\xad\xccX\x9a\xc4p?4\xb4\x97\xf9\u007f<X.NqZG\x9c\xc7\x14\xda\x11!zRZ\x1dk\xb8w\xbc'5٫m\xa5\n\xedU\xb8ie\x9eF\x80*\xb4\xa7\x11\xa6\xe5{\x15\x01\xaa\xd0^\x85\x9bV\xe6i\x04\xa8B{\x1aaZ\xbeW\x11\xa0\n\xedU\xb8ie\x9eF\x80*\xb4\xa7\x11\xa6\xe5{\x15\x01\xaa\xd0^\x85\x9bV\xe6i\x04\xa8B{\x1aaZ\xbeW\x11\xa0\n\xedU\xb8ie\x9eF\x80*\xb4\xa7\x11\xa6\xe5{\x15\x01\xaa\xd0^\x85\x9bV\xe6i\x04\xa8B{\x1aaZ\xbeW\x11\xa0\n\xedU\xb8ie\x9eF\x80*\xb4\xa7\x11\xa6\xe5{\x15\x01\xaa\xd0^\x85\x9bV\xe6i\x04z\x84Béf\xf7\x9c\xf6t\xa27\"\xa4\"\x93\xd3\x06R\u007f\x9f`'\x8aq[\x16 \x84\xba\xae\xfb\xdcc\x8d[v\xa0\x1c)\x1aɼ\x13n\xeb\x1d\xb3\x82\xb4\x1dz`!\xaaF\u007f\x94\xb6\x98Ĕ\u05f6>)_\x94;\x03\xce\x15z\xf8\xc4\xdc\xd5j\xf1\x81\xd9\xe7s*\x17\xfb\x89\xf4\a\xaf\x86\"\xa4iӍ\x1c\xbb\xa6$7\xfb?\r\xbd\xb9\xe1\x9e\xf6G\xcf\xcfK\x80s\x9f{\x80j\xc1\xe4\xa4\xf2\x87\xdfW\xa0\xb3@_\xecM\x87\ti\xbe\xfa\xb3\x01}\x95\xdb\xe0\xf6j\xdd\xd6\xc1\xa4C\xb2\x98\xba\xe0o@\xf1\x85y80\x1f\x87\xa7\x1c\xe6ðF\x19\x96\fLF\x17\f\\\x18\xec)H;[\xb9<\xfd\x98\xa7d\xc1\xe5\xce\xdf[w\xef\xe9R\xd5\x16\xa0\xc7\xe2e\xeb\f\xf4\x13\xb0#\xfa\x04\xed\x9a\xd1+:\xf3\x8e;\x18\x8fi\x14\xa64\x10\bj_\x85#X\xf3\x80]\xc9O\x06\xd4\x04$:\x018\xa0j\xa0.0\xa7\xf8r7N\x982l\xe3O\x95\x06\xce\x0e\xf3\xb2\xbb\xd4!\xd91\x1f\x97\x1c9Y\xd2<\x12\xf3e\x98;8\x18\x8a&\x00\xd9\xca]i!\x06~\x0e\xf3xW\x9e\v\x14\x1a\xf4\xe9\xcfU&\x87-\xb9\xe5%\xc0ٵ\x068i\xdc\xc8e\xf3d\xd1\xf6v\x1f4\xbf\xe6\x9d4\x057\xad\xab\xfeW\xbf\xae\x8d/(Q\xef;V\xd4|\x03\x989v\x15\ad\x86m\u007fI\x0e\\\xb0j|\xd4J\xbb2\u061d\xe8\xf2\xa1X8J\xb8\x04ƕ\xceC\xba\xfd\xa2Ĩ\xb4\xae\x15f\nˎ\xc2$\x8c\xf7\xc3YЇo\bC~@+\xe0NW\xd1\xd8\x06\xacW\xd5\xe8d\x89\xe9\xeci\xac#&X\xa4\xbd!)x\xda'\x93d\x9f\x1bÜ\xf9u\xabԳr\xaao\xbbP\u07bc\xad@\xa9\x89!\t\xe3Nއ\x9a\xa6v\xb4\xed\x18\x90\x81_h\"U\x85d\x81\xa2\xb6\xa8`\xd17\xa7K[F\xc1\xd9|\xc2H\t\xf4_H\xb0L)\xf6_\x8e\xb2\x93\\\x1a!\xb3\x0f\xb1>E%\x8aO\x8e\x146e6\xb7ꈘ\xe2\x11\x10\xbf||4\xb9\x83\xe3\x02\x14\xa9\x89҇?\x18\x13\xe1\xf2\xec\x11\xb1 o\xa8H\x80\xd6\x020DZ\xb0@\xb1\xf0{\u0dce\x81\x13\xf2)$\xb6'Lg<i\x84{H\xdd1o\xca\x1e\xe0\xef\xfb\n89H\xb4\xbb\xf8\x14\xfc\x90\x84\xc0\xcdi%\xd13\xb2\xdd\xc0mM\x04\x9f\xa8!\x0e\x04Nݤ|\xee\x8fҦe0\xb5\x99,\x88\x8cE\fK\x94\xa0\xccQrP:\x9b\\,\xc6,\x9d\xbf\xb6\xc8\xc01\vѐ\x04\xc9\xde\xc0>qS>\x85\xa9<taa\xb0\x1f\xab}\v\xa6ۧH\xfc\xcf`W\x97\xc0X\xba@\xb9,\xdd)~\x8c\xb9\x9fW\xcf:Zܸ\xb2\xb4\xbe\x8d\xd8VL\x8c>\xe3\x169J\x96\xf9#[\xb2c*\xde\x1b\x93\xa4\x87\a$\a\x8f˾\xc3q\xb2\xf0\x88W\xf2\xa2E:\xb4\x1c\x94t\n\xf0k\x10\xfa\x96-\xd03\xc29\x95KS\xbeǀ\xce\xdaQuon\xa9jsqM[x'\xc0\x1c\x8f+\xa4\xeeXy\xbf/h4pp\x90\x98\xad|01z\x82\xe4\xe8\xc0谇\xdeyHZɩ\xd6%/\xa1\xd1.\x95י\x19\x8fZ\xb9E\xe5\x1b\x80\vz\n\x8cZ\x16\x06\xb4\xa3\xdcix$\xf9\xf9\x82\xcapE\x03i\x94\xc3\xf6\xfa\xa0\xf8\x80\xd3\xf1\xe1\xe2qk3䅝\x82\\\xf1Dd\x15\xf4\xf7A\xba\xd5@\x1f@\xe6}`ٟuz\xe13U列6\xcfKz\x9e\xb3\xbfzh\xe1%\xf5\xeeS\xa5-\x89\xa4xL\x80\x8eG9L\x88nNނI\x1a\xb7\x1c\xa9A\xbf\x16\x91g\x97p\xa9H\a\xe4<k6>\x16\xf5\xac]d\x86s\xcf\xfbE\x8b\xdb_\x82\x1d\x8c\x97!\xbd97\x00\x88\xc7փ\x05\x94]Y\x9c\xb6\x1a\xeddt\xe6\xf2ںj\xc2QRw[܃)Q\x01\xe5\x03\xa2\x02&\xad\x9a$;l.\x8b\xab\xcf\x1eSh\xa3`3\xb6W\xc7T\xd7k\xf6\x80}=\x02\xafn͝=얘\f|ݏJ\x84\u007fI\x0e\xb3u\xa6\xc7\a=\xbe.Cf\xb2\xa3@J+\xcf*x\x90at\xf8\xea\x89d\xf3x\x10O\x0f\x80\xacg:\x84\xafT\xbcןx\x9d\x02fE\xfa\xf3BK\xceoŪ\xff\x01\xf2z\vw\xd9\x0e\rEc\x81\x00\x1d\xd3[Ys\x17\x80\xdc|\xdd\u007f\xf9Iݓ\"\xfdT\xc3\x13\x82\x9e\\9!r\a_9ы\xf2\x1f\x81\x1d\x95w\xa1\xa6D\xf340\b`\tר\xdb\xd9\xd7T\x1f\xa4[\xa5\xaf\xc5l\xaalC\xd9\xd6\xe3%-\x0f\x93\xd8T\xed!u\xafT]f\x87\xfd\xfd\x12\x99\x1d\x16\xa8\xe04\x83\xe3\x83\x16lxL\xb6\xda\\Vw=[G\xdc]\xb5@93\xb7W\xdf^\xa8l\xde\xcag_\x93\xf8\x87\x81t\x1bm\x032\xf0\x9fΫ\x88\x92Ȥ>m\x03{\x05\xbc\xb5ej\xdc?\x88\t\xf8\x02g\xb3\xa2\xa8\x90\xfc\x17 \xfa5\x18=-\xc8\x15A\xb1\x1bA\xe1\xdfT\x88SV\x02\xa7r\xe7\xdd\x183\xb6T.\xff\xad\xb8\xf1E>\xde:gv\n\xf0\xcccm\x87\x06\x8f\xeeC\x13\x02\xcf\x02\xe7\xf4\x83\uf3fb\xca\u007f\x175?7\x8d\x11\x82\x9d\xcc0\xa3Ḯr\u007f\xec@\x82'\x81\xec\xfc,)\x9e/\xecɭU}K\x1b4\xfbN\x96\xb6\xa4\x02S\xa9\x85ä\xeeS\x80\xd4\x1d\xb7\xd5\xe8l\xf1w\x031$\xd8ɒ\xad\x13\x02c\xa7O\x9ch9C\x18\xcbqǯ\xd7\x14\xda(\xec\xb4ϔsO\x967/\xafj$ۜ\x18\xa8\x89\xb0#\x82\xa7\xe3}'\xeb\x88d\xe0b\x91\x80\x1d\nvrKl\xdc\xe4\x83\xf79\u007f\x81\x90\xfc\xa5\v2Fض\x04d\x9b\x06@X\x98EСgA1捿1\xd2\xe7\xf8E\xd5&\xa0\xaf\"~\x14\xc1;)\xd3F\xcbPJ\xb4\xd8\xd8L\x87\u007f\xf1\xae\xc3\x17\xd0^L\x82\xdeN\xd8!\xc1k\x03X{\xec;V\xda\xf1\xb4V\xady\x03*\x98\x05\xca.4\xaf\bF\xebB h|\xa9jy\xda\x17\xe6q\x8e<?\xb5\xbdr\xec\xa9\xd2\xe6\x8d|m\xee\x0f\xbb%S\x81\xd8\x11Ϛ\x9fà\xa3\xd2ZNWج\x1c\x92 =\x1a\x1d)\x1e\v̢n\xddQ\xe2k\x8b\xd7\x15\x1a\v2{\r+j\x10\x96m8Y\xa2\x9eL\xb2\xafy\x85\x05i\x81(\x9b\xd7N\xe6\xcbg+\\\xf6R\xc1 \x81P\xbf\x16\x8a\x1f\xc1M+\xf1\xf7A\x89p\xb9d\x1e\xdcŇGRsg\x8f\xb9d\x9e\xc7ֳ-Rw\xd8Gf\x81\\\x91)\xac6ݘ\x01\xf9\xb0A\xfe\xb6\xb2!\xf5}\xb4\x96q\xdb\x17\xad\xcc\xcf*\x96\x00E\xf2\xfc\xda&\xf2\x15\x15|\xedI\x89\x12W\xa4\xc4J'\u007f<1\xf2G\xbe4\x9e\b\xbf&\nmlHfNMlm\x8dz\x0f\x8c\x047\x91\xf6\xaf\x8d\xe9\xf0oR\x84\u007f-\x90\x81?\xb6f\xb2\xec+n\xb8;\xfd\xf2\x85y\x19\x02\x96]\x0e\xd3x<.7\x1c\xa6\xd7Z\xb8\x14\xc7\xdca\x02\xca{\a\x86\x19.\xcd\xf1w\x92\fܼL\xf3\xe7\xbc\n\xf8\x00\xf1s5*\x83=c\x92\xeb+\x17\xa3\xf3\x95\x86\x17\x8d\x85\xbd\xe6\xcfX\x9d\xdf\xc2\xcaw\x93\xabHi]\r{i\x13+\xb9\xd4^\xbe㷢\xe6\aZ\xe1k\xac5'\v\xf6\xd5\xde\x10+\xcd\xfatj\xd4*k\xe9<\x15wM\x15\xdaب\x19\x9f+\xee(,\xd7l\x05f\xfb\xce\x0f\x00Ƹ\xc8@\xb0\x93\xe3$oo\x9d\x16\xfb\xa61̣\xbf\xd9\xc5\xfeQj-\x90\x85\xeb\xb3\xc0\xf6\v\x00Rp\x93\xea\x86'\xc0\xa59`^8\xb3\xe5hR\x90\x1d\x0fx\xeb\xeb\xd0\xd9F\xc3\xe7|\xf3\xad/l\xde\xe4+4GA\xbf\x9e\xa9Y\x91\xe6ыx\x8c\xa2\xbe\xb0\xa3&\xf5\\m\xcbn\x92}m\xb4\x93\xd3{\xc7\xceȾ\xe3\xea\xbaØ\xd7[\xbf]B\xa1\x8d\x8d5\xd8ץ\xaawa\xda\xf5\xc5v\xf2\r\tҽ\xea\xd8X\x97\xecdcَ\xfe\x86e\x9d\x8f\v\xf7וr\x15z\xc1=\xb1\xb0@#\xec\x8a9Z\xb8\x83\xe9\xb12\xbf\xfbU\x05*P^\xbd\x0fix\xa2\xe4\xe7\xfdO'\xdc\xec`QnIε\xaf\xb1\x9d<8^z,F.~\xd8[v\xb2\xb5Ft)\x856\b\n\xf7\aN\xba\xa7|e\xa0D\xf4>i?\xd9Zc\xdc\x1d\x97\xfc\xc6Y]\x8b\xf6\xea\x1e\xfa\x9a\xcc>\x16\x17\x00\xb9\xbbN\xbe\xf2>\x81m\xcb\xef8$\xe1\xb7\xf5\x0fܶcF\xfc\x14\xbe\xf4\xde\b\a\xfb\xfam\x89X\xf4\x8d\xb7\xeddkms\xfcS\x9d\xb5\xd2\xdc\x11\a\x1b\xff\xdbw\"\xb8}\x94\xba\xae\x8e\xc0\xa6\xa91\xf0OO]\xcbYnUu-\xf9\xa84\x14\x01\x87\x10\xa0\n\xed\x10\\4qWG\x80*tW\xef!*\x9fC\bP\x85v\b.\x9a\xb8\xab#@\x15\xba\xab\xf7\x10\x95\xcf!\x04\xa8B;\x04\x17M\xdc\xd5\x11\xa0\n\xdd\xd5{\x88\xca\xe7\x10\x02T\xa1\x1d\x82\x8b&\xee\xea\bP\x85\xee\xea=D\xe5s\b\x01\xaa\xd0\x0e\xc1E\x13wu\x04\xa8Bw\xf5\x1e\xa2\xf29\x84\x00Uh\x87\u0889\xbb:\x02T\xa1\xbbz\x0fQ\xf9\x1cB\x80*\xb4Cp\xd1\xc4]\x1d\x01\xaa\xd0]\xbd\x87\xa8|\x0e!@\x15\xda\x01\xb8\xce\x1b\b\x1f\x1d\xc8ত\x98&\xa0\xbc\xc1m\xe7^\xdd$U\xd7,\xa6\xeb\xfd\x83\u007f\xd7\xc4\xc9 ջ_\x97#Wh\xcc\x1cm\x1a>i\x8e\xe9\xb40M@S\xab%M\x80\xa3\xe5\xf5\x84\xf4T\xa1\xad\xf4\xb2؇\xd1\x01W\xa6\xc9,v\xfcb\v:UR\x04\xa7\xbeC\xd1#\xc3\"\x90\x9f\x87N}ۢ\xd3\x122\x82Z+\xa2\xf7ب\xaew\xa6\xb0\vu\xc5ӻ\x1bz_R4\xec\xfe\xa3L=\xa4\xab\xf0r\xc0\x8d\x00m7\xf5\x96\xbe\xbe~J\xf4\xb2.\x04U\x97\x11\x85*\xb4\x1d]\x81Y:O_j\xda^RGfN\"ј\xd9Q\xacI\x12l'\u007f\x01\xb4\xb3\aN7 \x12\xb7\xb4\xbf\x8f\x80\x05\x02\xc7\xffH\x92c'bVU\x93\xcc\xf4\xa1\x13\x01\xaaНP\xd8\xf6<\xbeI\xf9\xfe\xefE\x8d\xcf\x01\x81\xba\x05\x05\x17\xce\xed\tn;\\\xee\xa08Ʌ\x01ђ1\uf34f(\xc0\xcf\xd4\xf1#@\x15\x9a\x1f\x1bb̜=\xaa\xf0Ҫ\xfa\x9d\u007f\x94\xa8\xefh'Щ\xba\x93}\x14\xd8\xfd[\x86%\x06=\xb3&C\xbe\x89(\f\r\xb4@\x80*\xb4\x05$\xf6\x05Lۢ\x1cy\xa9F\xbd\xb3@\xa1\x8d#\xe5\xb0\xc5\x0f\xbd\xf5W\xb8}\xa0\x90\xcc\x0f\x8dY\xed\x87&I7\xa6\\\x8c\x99\xed\x0eV{\x92|\xd7k\x18Uh\x17{\xd6p[A\x89j\x05f{\"\x15\xc5e\xc1\xb7\xc5\xe0\x0f\x04\xfe\xc0\xcc$=> &\xec~w\xb2ړ\xe4\xba^èB\xbb\xa1g\xe7\x1e`\xfd\x14\x15e\x9baKo<\x89,\x1cW\x81\xedkkw\xac`\xd2\xf6!\xf1\x81\x93?ʐ\u007f\xe3\x06\x91zl\x11T\xa1\xdd\xd8\xf5\x98,\xfcb\x83z\xdf\xe9\x12u\xaa\xbd\xc5\x02\x81x;&\xa3\xdc6=v\xb1\xbdyh:~\x04\xa8B\xf3c\xe3t\xcc\x13[\xab&\x9c)Um\x80\x8b\x84\xa4|\x85\xf8\xc2>ɰ\xa4\xa0\xff\x1b\x14\x1c;.{\"C\xbeÁ/3\r\xe7E\x80*4/4\xaeE\xe0\x9bd'\u007f\xaa\xfc\xe7\x89KMϨ4\x1d&\xdb|\xe91\xe2\xe2\xfe\xbd\xa5\xe3W\x8f\x89\xf4\n\r\xaek-\xe9^\xb9\xa9B{\xb8\xbf\xe6\xe64E\x96\xd47|q\xbc\xb8i\x94<\xd8W3(A2g\xe3\xe4\xe8\x8d\x1e\xae\x96\x16O\x11\xf0,\x02\xcf\xec\xad\x1a\xe2ͻ\xc6=\xdb\x1aZ:E\x80\"@\x11\xa0\bP\x04(\x02\x14\x01\x8a\x00E\x80\"@\x11\xa0\bP\x04\xba \x02\xff\x0fB\xf6w\x95\xb1\x8b\x9e\xcc\x00\x00\x00\x00IEND\xaeB`\x82",
 "89889688147bd7575d6327160d64e760.svg": "<?xml version=\"1.0\" standalone=\"no\"?>\n<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\" >\n<svg xmlns=\"http://www.w3.org/2000/svg\">\n<metadata></metadata>\n<defs>\n<font id=\"glyphicons_halflingsregular\" horiz-adv-x=\"1200\" >\n<font-face units-per-em=\"1200\" ascent=\"960\" descent=\"-240\" />\n<missing-glyph horiz-adv-x=\"500\" />\n<glyph horiz-adv-x=\"0\" />\n<glyph horiz-adv-x=\"400\" />\n<glyph unicode=\" \" />\n<glyph unicode=\"*\" d=\"M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z\" />\n<glyph unicode=\"+\" d=\"M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xa0;\" />\n<glyph unicode=\"&#xa5;\" d=\"M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z\" />\n<glyph unicode=\"&#x2000;\" horiz-adv-x=\"650\" />\n<glyph unicode=\"&#x2001;\" horiz-adv-x=\"1300\" />\n<glyph unicode=\"&#x2002;\" horiz-adv-x=\"650\" />\n<glyph unicode=\"&#x2003;\" horiz-adv-x=\"1300\" />\n<glyph unicode=\"&#x2004;\" horiz-adv-x=\"433\" />\n<glyph unicode=\"&#x2005;\" horiz-adv-x=\"325\" />\n<glyph unicode=\"&#x2006;\" horiz-adv-x=\"216\" />\n<glyph unicode=\"&#x2007;\" horiz-adv-x=\"216\" />\n<glyph unicode=\"&#x2008;\" horiz-adv-x=\"162\" />\n<glyph unicode=\"&#x2009;\" horiz-adv-x=\"260\" />\n<glyph unicode=\"&#x200a;\" horiz-adv-x=\"72\" />\n<glyph unicode=\"&#x202f;\" horiz-adv-x=\"260\" />\n<glyph unicode=\"&#x205f;\" horiz-adv-x=\"325\" />\n<glyph unicode=\"&#x20ac;\" d=\"M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z\" />\n<glyph unicode=\"&#x20bd;\" d=\"M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z\" />\n<glyph unicode=\"&#x2212;\" d=\"M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#x231b;\" d=\"M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z\" />\n<glyph unicode=\"&#x25fc;\" horiz-adv-x=\"500\" d=\"M0 0z\" />\n<glyph unicode=\"&#x2601;\" d=\"M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z\" />\n<glyph unicode=\"&#x26fa;\" d=\"M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z \" />\n<glyph unicode=\"&#x2709;\" d=\"M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z\" />\n<glyph unicode=\"&#x270f;\" d=\"M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z\" />\n<glyph unicode=\"&#xe001;\" d=\"M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z\" />\n<glyph unicode=\"&#xe002;\" d=\"M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z\" />\n<glyph unicode=\"&#xe003;\" d=\"M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z\" />\n<glyph unicode=\"&#xe005;\" d=\"M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z\" />\n<glyph unicode=\"&#xe006;\" d=\"M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z\" />\n<glyph unicode=\"&#xe007;\" d=\"M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z\" />\n<glyph unicode=\"&#xe008;\" d=\"M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z\" />\n<glyph unicode=\"&#xe009;\" d=\"M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z\" />\n<glyph unicode=\"&#xe010;\" d=\"M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe011;\" d=\"M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z\" />\n<glyph unicode=\"&#xe012;\" d=\"M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe013;\" d=\"M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z\" />\n<glyph unicode=\"&#xe014;\" d=\"M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z\" />\n<glyph unicode=\"&#xe015;\" d=\"M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe016;\" d=\"M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe017;\" d=\"M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z\" />\n<glyph unicode=\"&#xe018;\" d=\"M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe019;\" d=\"M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z\" />\n<glyph unicode=\"&#xe020;\" d=\"M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z\" />\n<glyph unicode=\"&#xe021;\" d=\"M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z\" />\n<glyph unicode=\"&#xe022;\" d=\"M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z\" />\n<glyph unicode=\"&#xe023;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe024;\" d=\"M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z\" />\n<glyph unicode=\"&#xe025;\" d=\"M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe026;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z \" />\n<glyph unicode=\"&#xe027;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z\" />\n<glyph unicode=\"&#xe028;\" d=\"M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z\" />\n<glyph unicode=\"&#xe029;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z\" />\n<glyph unicode=\"&#xe030;\" d=\"M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z\" />\n<glyph unicode=\"&#xe031;\" d=\"M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z\" />\n<glyph unicode=\"&#xe032;\" d=\"M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe033;\" d=\"M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z\" />\n<glyph unicode=\"&#xe034;\" d=\"M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z\" />\n<glyph unicode=\"&#xe035;\" d=\"M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z\" />\n<glyph unicode=\"&#xe036;\" d=\"M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z\" />\n<glyph unicode=\"&#xe037;\" d=\"M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z\" />\n<glyph unicode=\"&#xe038;\" d=\"M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z\" />\n<glyph unicode=\"&#xe039;\" d=\"M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z\" />\n<glyph unicode=\"&#xe040;\" d=\"M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z\" />\n<glyph unicode=\"&#xe041;\" d=\"M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z\" />\n<glyph unicode=\"&#xe042;\" d=\"M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z\" />\n<glyph unicode=\"&#xe043;\" d=\"M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z\" />\n<glyph unicode=\"&#xe044;\" d=\"M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe045;\" d=\"M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z\" />\n<glyph unicode=\"&#xe046;\" d=\"M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z\" />\n<glyph unicode=\"&#xe047;\" d=\"M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z\" />\n<glyph unicode=\"&#xe048;\" d=\"M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z\" />\n<glyph unicode=\"&#xe049;\" d=\"M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z\" />\n<glyph unicode=\"&#xe050;\" d=\"M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z\" />\n<glyph unicode=\"&#xe051;\" d=\"M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z\" />\n<glyph unicode=\"&#xe052;\" d=\"M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe053;\" d=\"M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe054;\" d=\"M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z\" />\n<glyph unicode=\"&#xe055;\" d=\"M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe056;\" d=\"M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe057;\" d=\"M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe058;\" d=\"M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe059;\" d=\"M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z\" />\n<glyph unicode=\"&#xe060;\" d=\"M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z\" />\n<glyph unicode=\"&#xe062;\" d=\"M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z\" />\n<glyph unicode=\"&#xe063;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z\" />\n<glyph unicode=\"&#xe064;\" d=\"M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z\" />\n<glyph unicode=\"&#xe065;\" d=\"M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z\" />\n<glyph unicode=\"&#xe066;\" d=\"M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z\" />\n<glyph unicode=\"&#xe067;\" d=\"M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z\" />\n<glyph unicode=\"&#xe068;\" d=\"M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z\" />\n<glyph unicode=\"&#xe069;\" d=\"M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe070;\" d=\"M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe071;\" d=\"M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z\" />\n<glyph unicode=\"&#xe072;\" d=\"M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z\" />\n<glyph unicode=\"&#xe073;\" d=\"M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe074;\" d=\"M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z\" />\n<glyph unicode=\"&#xe075;\" d=\"M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z\" />\n<glyph unicode=\"&#xe076;\" d=\"M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe077;\" d=\"M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe078;\" d=\"M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe079;\" d=\"M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z\" />\n<glyph unicode=\"&#xe080;\" d=\"M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z\" />\n<glyph unicode=\"&#xe081;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z\" />\n<glyph unicode=\"&#xe082;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z\" />\n<glyph unicode=\"&#xe083;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z\" />\n<glyph unicode=\"&#xe084;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z\" />\n<glyph unicode=\"&#xe085;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z\" />\n<glyph unicode=\"&#xe086;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z\" />\n<glyph unicode=\"&#xe087;\" d=\"M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z\" />\n<glyph unicode=\"&#xe088;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z\" />\n<glyph unicode=\"&#xe089;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z\" />\n<glyph unicode=\"&#xe090;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z\" />\n<glyph unicode=\"&#xe091;\" d=\"M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z\" />\n<glyph unicode=\"&#xe092;\" d=\"M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z\" />\n<glyph unicode=\"&#xe093;\" d=\"M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z\" />\n<glyph unicode=\"&#xe094;\" d=\"M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe095;\" d=\"M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z\" />\n<glyph unicode=\"&#xe096;\" d=\"M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z\" />\n<glyph unicode=\"&#xe097;\" d=\"M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z\" />\n<glyph unicode=\"&#xe101;\" d=\"M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z\" />\n<glyph unicode=\"&#xe102;\" d=\"M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z\" />\n<glyph unicode=\"&#xe103;\" d=\"M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z\" />\n<glyph unicode=\"&#xe104;\" d=\"M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z\" />\n<glyph unicode=\"&#xe105;\" d=\"M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z\" />\n<glyph unicode=\"&#xe106;\" d=\"M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z\" />\n<glyph unicode=\"&#xe107;\" d=\"M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z\" />\n<glyph unicode=\"&#xe108;\" d=\"M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z\" />\n<glyph unicode=\"&#xe109;\" d=\"M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z\" />\n<glyph unicode=\"&#xe110;\" d=\"M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z\" />\n<glyph unicode=\"&#xe111;\" d=\"M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z\" />\n<glyph unicode=\"&#xe112;\" d=\"M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z\" />\n<glyph unicode=\"&#xe113;\" d=\"M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z\" />\n<glyph unicode=\"&#xe114;\" d=\"M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z\" />\n<glyph unicode=\"&#xe115;\" d=\"M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z\" />\n<glyph unicode=\"&#xe116;\" d=\"M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z\" />\n<glyph unicode=\"&#xe117;\" d=\"M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z\" />\n<glyph unicode=\"&#xe118;\" d=\"M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z\" />\n<glyph unicode=\"&#xe119;\" d=\"M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z\" />\n<glyph unicode=\"&#xe120;\" d=\"M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z\" />\n<glyph unicode=\"&#xe121;\" d=\"M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z\" />\n<glyph unicode=\"&#xe122;\" d=\"M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z\" />\n<glyph unicode=\"&#xe123;\" d=\"M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z\" />\n<glyph unicode=\"&#xe124;\" d=\"M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z\" />\n<glyph unicode=\"&#xe125;\" d=\"M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe126;\" d=\"M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z\" />\n<glyph unicode=\"&#xe127;\" d=\"M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe128;\" d=\"M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe129;\" d=\"M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe130;\" d=\"M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z\" />\n<glyph unicode=\"&#xe131;\" d=\"M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z\" />\n<glyph unicode=\"&#xe132;\" d=\"M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z\" />\n<glyph unicode=\"&#xe133;\" d=\"M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z\" />\n<glyph unicode=\"&#xe134;\" d=\"M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z\" />\n<glyph unicode=\"&#xe135;\" d=\"M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z\" />\n<glyph unicode=\"&#xe136;\" d=\"M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z\" />\n<glyph unicode=\"&#xe137;\" horiz-adv-x=\"1220\" d=\"M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z \" />\n<glyph unicode=\"&#xe138;\" d=\"M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z\" />\n<glyph unicode=\"&#xe139;\" d=\"M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z\" />\n<glyph unicode=\"&#xe140;\" d=\"M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z\" />\n<glyph unicode=\"&#xe141;\" d=\"M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z\" />\n<glyph unicode=\"&#xe142;\" d=\"M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z\" />\n<glyph unicode=\"&#xe143;\" d=\"M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z\" />\n<glyph unicode=\"&#xe144;\" d=\"M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z\" />\n<glyph unicode=\"&#xe145;\" d=\"M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z\" />\n<glyph unicode=\"&#xe146;\" d=\"M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z\" />\n<glyph unicode=\"&#xe148;\" d=\"M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z\" />\n<glyph unicode=\"&#xe149;\" d=\"M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z\" />\n<glyph unicode=\"&#xe150;\" d=\"M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z\" />\n<glyph unicode=\"&#xe151;\" d=\"M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z \" />\n<glyph unicode=\"&#xe152;\" d=\"M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z \" />\n<glyph unicode=\"&#xe153;\" d=\"M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z\" />\n<glyph unicode=\"&#xe154;\" d=\"M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z\" />\n<glyph unicode=\"&#xe155;\" d=\"M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z\" />\n<glyph unicode=\"&#xe156;\" d=\"M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z\" />\n<glyph unicode=\"&#xe157;\" d=\"M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z\" />\n<glyph unicode=\"&#xe158;\" d=\"M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z\" />\n<glyph unicode=\"&#xe159;\" d=\"M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z\" />\n<glyph unicode=\"&#xe160;\" d=\"M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z\" />\n<glyph unicode=\"&#xe161;\" d=\"M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z\" />\n<glyph unicode=\"&#xe162;\" d=\"M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z\" />\n<glyph unicode=\"&#xe163;\" d=\"M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z\" />\n<glyph unicode=\"&#xe164;\" d=\"M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z\" />\n<glyph unicode=\"&#xe165;\" d=\"M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z\" />\n<glyph unicode=\"&#xe166;\" d=\"M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z\" />\n<glyph unicode=\"&#xe167;\" d=\"M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z\" />\n<glyph unicode=\"&#xe168;\" d=\"M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z\" />\n<glyph unicode=\"&#xe169;\" d=\"M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z\" />\n<glyph unicode=\"&#xe170;\" d=\"M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z\" />\n<glyph unicode=\"&#xe171;\" d=\"M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z\" />\n<glyph unicode=\"&#xe172;\" d=\"M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z\" />\n<glyph unicode=\"&#xe173;\" d=\"M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z\" />\n<glyph unicode=\"&#xe174;\" d=\"M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z\" />\n<glyph unicode=\"&#xe175;\" d=\"M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe176;\" d=\"M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z\" />\n<glyph unicode=\"&#xe177;\" d=\"M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z\" />\n<glyph unicode=\"&#xe178;\" d=\"M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z\" />\n<glyph unicode=\"&#xe179;\" d=\"M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z\" />\n<glyph unicode=\"&#xe180;\" d=\"M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z\" />\n<glyph unicode=\"&#xe181;\" d=\"M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z\" />\n<glyph unicode=\"&#xe182;\" d=\"M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z\" />\n<glyph unicode=\"&#xe183;\" d=\"M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z\" />\n<glyph unicode=\"&#xe184;\" d=\"M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe185;\" d=\"M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z \" />\n<glyph unicode=\"&#xe186;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z\" />\n<glyph unicode=\"&#xe187;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z\" />\n<glyph unicode=\"&#xe188;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z\" />\n<glyph unicode=\"&#xe189;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z\" />\n<glyph unicode=\"&#xe190;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z\" />\n<glyph unicode=\"&#xe191;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z\" />\n<glyph unicode=\"&#xe192;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z\" />\n<glyph unicode=\"&#xe193;\" d=\"M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z\" />\n<glyph unicode=\"&#xe194;\" d=\"M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z\" />\n<glyph unicode=\"&#xe195;\" d=\"M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z\" />\n<glyph unicode=\"&#xe197;\" d=\"M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe198;\" d=\"M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z\" />\n<glyph unicode=\"&#xe199;\" d=\"M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z\" />\n<glyph unicode=\"&#xe200;\" d=\"M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z\" />\n<glyph unicode=\"&#xe201;\" d=\"M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z\" />\n<glyph unicode=\"&#xe202;\" d=\"M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z\" />\n<glyph unicode=\"&#xe203;\" d=\"M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z\" />\n<glyph unicode=\"&#xe204;\" d=\"M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z\" />\n<glyph unicode=\"&#xe205;\" d=\"M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z\" />\n<glyph unicode=\"&#xe206;\" d=\"M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z\" />\n<glyph unicode=\"&#xe209;\" d=\"M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z\" />\n<glyph unicode=\"&#xe210;\" d=\"M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe211;\" d=\"M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe212;\" d=\"M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe213;\" d=\"M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe214;\" d=\"M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe215;\" d=\"M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe216;\" d=\"M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z\" />\n<glyph unicode=\"&#xe218;\" d=\"M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z\" />\n<glyph unicode=\"&#xe219;\" d=\"M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z\" />\n<glyph unicode=\"&#xe221;\" d=\"M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe223;\" d=\"M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z\" />\n<glyph unicode=\"&#xe224;\" d=\"M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z \" />\n<glyph unicode=\"&#xe225;\" d=\"M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z\" />\n<glyph unicode=\"&#xe226;\" d=\"M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z\" />\n<glyph unicode=\"&#xe227;\" d=\"M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z\" />\n<glyph unicode=\"&#xe230;\" d=\"M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z\" />\n<glyph unicode=\"&#xe231;\" d=\"M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z\" />\n<glyph unicode=\"&#xe232;\" d=\"M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z\" />\n<glyph unicode=\"&#xe233;\" d=\"M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z\" />\n<glyph unicode=\"&#xe234;\" d=\"M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z\" />\n<glyph unicode=\"&#xe235;\" d=\"M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z\" />\n<glyph unicode=\"&#xe236;\" d=\"M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z\" />\n<glyph unicode=\"&#xe237;\" d=\"M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z\" />\n<glyph unicode=\"&#xe238;\" d=\"M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe239;\" d=\"M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z\" />\n<glyph unicode=\"&#xe240;\" d=\"M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z\" />\n<glyph unicode=\"&#xe241;\" d=\"M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z\" />\n<glyph unicode=\"&#xe242;\" d=\"M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z\" />\n<glyph unicode=\"&#xe243;\" d=\"M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z\" />\n<glyph unicode=\"&#xe244;\" d=\"M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z\" />\n<glyph unicode=\"&#xe245;\" d=\"M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z\" />\n<glyph unicode=\"&#xe246;\" d=\"M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z\" />\n<glyph unicode=\"&#xe247;\" d=\"M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe248;\" d=\"M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z\" />\n<glyph unicode=\"&#xe249;\" d=\"M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z\" />\n<glyph unicode=\"&#xe250;\" d=\"M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z\" />\n<glyph unicode=\"&#xe251;\" d=\"M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z\" />\n<glyph unicode=\"&#xe252;\" d=\"M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z\" />\n<glyph unicode=\"&#xe253;\" d=\"M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z\" />\n<glyph unicode=\"&#xe254;\" d=\"M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z\" />\n<glyph unicode=\"&#xe255;\" d=\"M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z\" />\n<glyph unicode=\"&#xe256;\" d=\"M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z\" />\n<glyph unicode=\"&#xe257;\" d=\"M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z\" />\n<glyph unicode=\"&#xe258;\" d=\"M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z\" />\n<glyph unicode=\"&#xe259;\" d=\"M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z\" />\n<glyph unicode=\"&#xe260;\" d=\"M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z\" />\n<glyph unicode=\"&#xf8ff;\" d=\"M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z\" />\n<glyph unicode=\"&#x1f511;\" d=\"M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z\" />\n<glyph unicode=\"&#x1f6aa;\" d=\"M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z\" />\n</font>\n</defs></svg> ",
-"dashboard.12bb98eb934e70336f3fa195db23b6ec.css": "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@font-face{font-family:Glyphicons Halflings;src:url(/dashboard/f4769f9bdb7466be65088239c12046d1.eot);src:url(/dashboard/f4769f9bdb7466be65088239c12046d1.eot) format(\"embedded-opentype\"),url(/dashboard/448c34a56d699c29117adc64c43affeb.woff2) format(\"woff2\"),url(/dashboard/fa2772327f55d8198301fdb8bcfc8158.woff) format(\"woff\"),url(/dashboard/e18bbf611f2a2e43afc071aa2f4e1512.ttf) format(\"truetype\"),url(/dashboard/89889688147bd7575d6327160d64e760.svg) format(\"svg\")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"*\"}.glyphicon-plus:before{content:\"+\"}.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20AC\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270F\"}.glyphicon-glass:before{content:\"\\E001\"}.glyphicon-music:before{content:\"\\E002\"}.glyphicon-search:before{content:\"\\E003\"}.glyphicon-heart:before{content:\"\\E005\"}.glyphicon-star:before{content:\"\\E006\"}.glyphicon-star-empty:before{content:\"\\E007\"}.glyphicon-user:before{content:\"\\E008\"}.glyphicon-film:before{content:\"\\E009\"}.glyphicon-th-large:before{content:\"\\E010\"}.glyphicon-th:before{content:\"\\E011\"}.glyphicon-th-list:before{content:\"\\E012\"}.glyphicon-ok:before{content:\"\\E013\"}.glyphicon-remove:before{content:\"\\E014\"}.glyphicon-zoom-in:before{content:\"\\E015\"}.glyphicon-zoom-out:before{content:\"\\E016\"}.glyphicon-off:before{content:\"\\E017\"}.glyphicon-signal:before{content:\"\\E018\"}.glyphicon-cog:before{content:\"\\E019\"}.glyphicon-trash:before{content:\"\\E020\"}.glyphicon-home:before{content:\"\\E021\"}.glyphicon-file:before{content:\"\\E022\"}.glyphicon-time:before{content:\"\\E023\"}.glyphicon-road:before{content:\"\\E024\"}.glyphicon-download-alt:before{content:\"\\E025\"}.glyphicon-download:before{content:\"\\E026\"}.glyphicon-upload:before{content:\"\\E027\"}.glyphicon-inbox:before{content:\"\\E028\"}.glyphicon-play-circle:before{content:\"\\E029\"}.glyphicon-repeat:before{content:\"\\E030\"}.glyphicon-refresh:before{content:\"\\E031\"}.glyphicon-list-alt:before{content:\"\\E032\"}.glyphicon-lock:before{content:\"\\E033\"}.glyphicon-flag:before{content:\"\\E034\"}.glyphicon-headphones:before{content:\"\\E035\"}.glyphicon-volume-off:before{content:\"\\E036\"}.glyphicon-volume-down:before{content:\"\\E037\"}.glyphicon-volume-up:before{content:\"\\E038\"}.glyphicon-qrcode:before{content:\"\\E039\"}.glyphicon-barcode:before{content:\"\\E040\"}.glyphicon-tag:before{content:\"\\E041\"}.glyphicon-tags:before{content:\"\\E042\"}.glyphicon-book:before{content:\"\\E043\"}.glyphicon-bookmark:before{content:\"\\E044\"}.glyphicon-print:before{content:\"\\E045\"}.glyphicon-camera:before{content:\"\\E046\"}.glyphicon-font:before{content:\"\\E047\"}.glyphicon-bold:before{content:\"\\E048\"}.glyphicon-italic:before{content:\"\\E049\"}.glyphicon-text-height:before{content:\"\\E050\"}.glyphicon-text-width:before{content:\"\\E051\"}.glyphicon-align-left:before{content:\"\\E052\"}.glyphicon-align-center:before{content:\"\\E053\"}.glyphicon-align-right:before{content:\"\\E054\"}.glyphicon-align-justify:before{content:\"\\E055\"}.glyphicon-list:before{content:\"\\E056\"}.glyphicon-indent-left:before{content:\"\\E057\"}.glyphicon-indent-right:before{content:\"\\E058\"}.glyphicon-facetime-video:before{content:\"\\E059\"}.glyphicon-picture:before{content:\"\\E060\"}.glyphicon-map-marker:before{content:\"\\E062\"}.glyphicon-adjust:before{content:\"\\E063\"}.glyphicon-tint:before{content:\"\\E064\"}.glyphicon-edit:before{content:\"\\E065\"}.glyphicon-share:before{content:\"\\E066\"}.glyphicon-check:before{content:\"\\E067\"}.glyphicon-move:before{content:\"\\E068\"}.glyphicon-step-backward:before{content:\"\\E069\"}.glyphicon-fast-backward:before{content:\"\\E070\"}.glyphicon-backward:before{content:\"\\E071\"}.glyphicon-play:before{content:\"\\E072\"}.glyphicon-pause:before{content:\"\\E073\"}.glyphicon-stop:before{content:\"\\E074\"}.glyphicon-forward:before{content:\"\\E075\"}.glyphicon-fast-forward:before{content:\"\\E076\"}.glyphicon-step-forward:before{content:\"\\E077\"}.glyphicon-eject:before{content:\"\\E078\"}.glyphicon-chevron-left:before{content:\"\\E079\"}.glyphicon-chevron-right:before{content:\"\\E080\"}.glyphicon-plus-sign:before{content:\"\\E081\"}.glyphicon-minus-sign:before{content:\"\\E082\"}.glyphicon-remove-sign:before{content:\"\\E083\"}.glyphicon-ok-sign:before{content:\"\\E084\"}.glyphicon-question-sign:before{content:\"\\E085\"}.glyphicon-info-sign:before{content:\"\\E086\"}.glyphicon-screenshot:before{content:\"\\E087\"}.glyphicon-remove-circle:before{content:\"\\E088\"}.glyphicon-ok-circle:before{content:\"\\E089\"}.glyphicon-ban-circle:before{content:\"\\E090\"}.glyphicon-arrow-left:before{content:\"\\E091\"}.glyphicon-arrow-right:before{content:\"\\E092\"}.glyphicon-arrow-up:before{content:\"\\E093\"}.glyphicon-arrow-down:before{content:\"\\E094\"}.glyphicon-share-alt:before{content:\"\\E095\"}.glyphicon-resize-full:before{content:\"\\E096\"}.glyphicon-resize-small:before{content:\"\\E097\"}.glyphicon-exclamation-sign:before{content:\"\\E101\"}.glyphicon-gift:before{content:\"\\E102\"}.glyphicon-leaf:before{content:\"\\E103\"}.glyphicon-fire:before{content:\"\\E104\"}.glyphicon-eye-open:before{content:\"\\E105\"}.glyphicon-eye-close:before{content:\"\\E106\"}.glyphicon-warning-sign:before{content:\"\\E107\"}.glyphicon-plane:before{content:\"\\E108\"}.glyphicon-calendar:before{content:\"\\E109\"}.glyphicon-random:before{content:\"\\E110\"}.glyphicon-comment:before{content:\"\\E111\"}.glyphicon-magnet:before{content:\"\\E112\"}.glyphicon-chevron-up:before{content:\"\\E113\"}.glyphicon-chevron-down:before{content:\"\\E114\"}.glyphicon-retweet:before{content:\"\\E115\"}.glyphicon-shopping-cart:before{content:\"\\E116\"}.glyphicon-folder-close:before{content:\"\\E117\"}.glyphicon-folder-open:before{content:\"\\E118\"}.glyphicon-resize-vertical:before{content:\"\\E119\"}.glyphicon-resize-horizontal:before{content:\"\\E120\"}.glyphicon-hdd:before{content:\"\\E121\"}.glyphicon-bullhorn:before{content:\"\\E122\"}.glyphicon-bell:before{content:\"\\E123\"}.glyphicon-certificate:before{content:\"\\E124\"}.glyphicon-thumbs-up:before{content:\"\\E125\"}.glyphicon-thumbs-down:before{content:\"\\E126\"}.glyphicon-hand-right:before{content:\"\\E127\"}.glyphicon-hand-left:before{content:\"\\E128\"}.glyphicon-hand-up:before{content:\"\\E129\"}.glyphicon-hand-down:before{content:\"\\E130\"}.glyphicon-circle-arrow-right:before{content:\"\\E131\"}.glyphicon-circle-arrow-left:before{content:\"\\E132\"}.glyphicon-circle-arrow-up:before{content:\"\\E133\"}.glyphicon-circle-arrow-down:before{content:\"\\E134\"}.glyphicon-globe:before{content:\"\\E135\"}.glyphicon-wrench:before{content:\"\\E136\"}.glyphicon-tasks:before{content:\"\\E137\"}.glyphicon-filter:before{content:\"\\E138\"}.glyphicon-briefcase:before{content:\"\\E139\"}.glyphicon-fullscreen:before{content:\"\\E140\"}.glyphicon-dashboard:before{content:\"\\E141\"}.glyphicon-paperclip:before{content:\"\\E142\"}.glyphicon-heart-empty:before{content:\"\\E143\"}.glyphicon-link:before{content:\"\\E144\"}.glyphicon-phone:before{content:\"\\E145\"}.glyphicon-pushpin:before{content:\"\\E146\"}.glyphicon-usd:before{content:\"\\E148\"}.glyphicon-gbp:before{content:\"\\E149\"}.glyphicon-sort:before{content:\"\\E150\"}.glyphicon-sort-by-alphabet:before{content:\"\\E151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\E152\"}.glyphicon-sort-by-order:before{content:\"\\E153\"}.glyphicon-sort-by-order-alt:before{content:\"\\E154\"}.glyphicon-sort-by-attributes:before{content:\"\\E155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\E156\"}.glyphicon-unchecked:before{content:\"\\E157\"}.glyphicon-expand:before{content:\"\\E158\"}.glyphicon-collapse-down:before{content:\"\\E159\"}.glyphicon-collapse-up:before{content:\"\\E160\"}.glyphicon-log-in:before{content:\"\\E161\"}.glyphicon-flash:before{content:\"\\E162\"}.glyphicon-log-out:before{content:\"\\E163\"}.glyphicon-new-window:before{content:\"\\E164\"}.glyphicon-record:before{content:\"\\E165\"}.glyphicon-save:before{content:\"\\E166\"}.glyphicon-open:before{content:\"\\E167\"}.glyphicon-saved:before{content:\"\\E168\"}.glyphicon-import:before{content:\"\\E169\"}.glyphicon-export:before{content:\"\\E170\"}.glyphicon-send:before{content:\"\\E171\"}.glyphicon-floppy-disk:before{content:\"\\E172\"}.glyphicon-floppy-saved:before{content:\"\\E173\"}.glyphicon-floppy-remove:before{content:\"\\E174\"}.glyphicon-floppy-save:before{content:\"\\E175\"}.glyphicon-floppy-open:before{content:\"\\E176\"}.glyphicon-credit-card:before{content:\"\\E177\"}.glyphicon-transfer:before{content:\"\\E178\"}.glyphicon-cutlery:before{content:\"\\E179\"}.glyphicon-header:before{content:\"\\E180\"}.glyphicon-compressed:before{content:\"\\E181\"}.glyphicon-earphone:before{content:\"\\E182\"}.glyphicon-phone-alt:before{content:\"\\E183\"}.glyphicon-tower:before{content:\"\\E184\"}.glyphicon-stats:before{content:\"\\E185\"}.glyphicon-sd-video:before{content:\"\\E186\"}.glyphicon-hd-video:before{content:\"\\E187\"}.glyphicon-subtitles:before{content:\"\\E188\"}.glyphicon-sound-stereo:before{content:\"\\E189\"}.glyphicon-sound-dolby:before{content:\"\\E190\"}.glyphicon-sound-5-1:before{content:\"\\E191\"}.glyphicon-sound-6-1:before{content:\"\\E192\"}.glyphicon-sound-7-1:before{content:\"\\E193\"}.glyphicon-copyright-mark:before{content:\"\\E194\"}.glyphicon-registration-mark:before{content:\"\\E195\"}.glyphicon-cloud-download:before{content:\"\\E197\"}.glyphicon-cloud-upload:before{content:\"\\E198\"}.glyphicon-tree-conifer:before{content:\"\\E199\"}.glyphicon-tree-deciduous:before{content:\"\\E200\"}.glyphicon-cd:before{content:\"\\E201\"}.glyphicon-save-file:before{content:\"\\E202\"}.glyphicon-open-file:before{content:\"\\E203\"}.glyphicon-level-up:before{content:\"\\E204\"}.glyphicon-copy:before{content:\"\\E205\"}.glyphicon-paste:before{content:\"\\E206\"}.glyphicon-alert:before{content:\"\\E209\"}.glyphicon-equalizer:before{content:\"\\E210\"}.glyphicon-king:before{content:\"\\E211\"}.glyphicon-queen:before{content:\"\\E212\"}.glyphicon-pawn:before{content:\"\\E213\"}.glyphicon-bishop:before{content:\"\\E214\"}.glyphicon-knight:before{content:\"\\E215\"}.glyphicon-baby-formula:before{content:\"\\E216\"}.glyphicon-tent:before{content:\"\\26FA\"}.glyphicon-blackboard:before{content:\"\\E218\"}.glyphicon-bed:before{content:\"\\E219\"}.glyphicon-apple:before{content:\"\\F8FF\"}.glyphicon-erase:before{content:\"\\E221\"}.glyphicon-hourglass:before{content:\"\\231B\"}.glyphicon-lamp:before{content:\"\\E223\"}.glyphicon-duplicate:before{content:\"\\E224\"}.glyphicon-piggy-bank:before{content:\"\\E225\"}.glyphicon-scissors:before{content:\"\\E226\"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:\"\\E227\"}.glyphicon-jpy:before,.glyphicon-yen:before{content:\"\\A5\"}.glyphicon-rub:before,.glyphicon-ruble:before{content:\"\\20BD\"}.glyphicon-scale:before{content:\"\\E230\"}.glyphicon-ice-lolly:before{content:\"\\E231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\E232\"}.glyphicon-education:before{content:\"\\E233\"}.glyphicon-option-horizontal:before{content:\"\\E234\"}.glyphicon-option-vertical:before{content:\"\\E235\"}.glyphicon-menu-hamburger:before{content:\"\\E236\"}.glyphicon-modal-window:before{content:\"\\E237\"}.glyphicon-oil:before{content:\"\\E238\"}.glyphicon-grain:before{content:\"\\E239\"}.glyphicon-sunglasses:before{content:\"\\E240\"}.glyphicon-text-size:before{content:\"\\E241\"}.glyphicon-text-color:before{content:\"\\E242\"}.glyphicon-text-background:before{content:\"\\E243\"}.glyphicon-object-align-top:before{content:\"\\E244\"}.glyphicon-object-align-bottom:before{content:\"\\E245\"}.glyphicon-object-align-horizontal:before{content:\"\\E246\"}.glyphicon-object-align-left:before{content:\"\\E247\"}.glyphicon-object-align-vertical:before{content:\"\\E248\"}.glyphicon-object-align-right:before{content:\"\\E249\"}.glyphicon-triangle-right:before{content:\"\\E250\"}.glyphicon-triangle-left:before{content:\"\\E251\"}.glyphicon-triangle-bottom:before{content:\"\\E252\"}.glyphicon-triangle-top:before{content:\"\\E253\"}.glyphicon-console:before{content:\"\\E254\"}.glyphicon-superscript:before{content:\"\\E255\"}.glyphicon-subscript:before{content:\"\\E256\"}.glyphicon-menu-left:before{content:\"\\E257\"}.glyphicon-menu-right:before{content:\"\\E258\"}.glyphicon-menu-down:before{content:\"\\E259\"}.glyphicon-menu-up:before{content:\"\\E260\"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-size:13px;line-height:1.7;color:#8c8e94;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#1977d6;text-decoration:none}a:focus,a:hover{color:#115192;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:3px}.img-thumbnail{padding:4px;line-height:1.7;background-color:#fff;border:1px solid #ddd;border-radius:3px;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:#222834}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:22px;margin-bottom:11px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:11px;margin-bottom:11px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:33px}.h2,h2{font-size:26px}.h3,h3{font-size:23px}.h4,h4{font-size:17px}.h5,h5{font-size:13px}.h6,h6{font-size:12px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:2px){.lead{font-size:19.5px}}.small,small{font-size:92%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#1977d6}a.text-primary:focus,a.text-primary:hover{color:#145ea8}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#1977d6}a.bg-primary:focus,a.bg-primary:hover{background-color:#145ea8}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #e3e3e3}ol,ul{margin-top:0;margin-bottom:11px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:22px}dd,dt{line-height:1.7}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:\" \"}.dl-horizontal dd:after{clear:both}@media (min-width:2px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%}blockquote{padding:11px 22px;margin:0 0 22px;font-size:16.25px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.7;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:\"\\2014   \\A0\"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:\"\"}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:\"\\A0   \\2014\"}address{margin-bottom:22px;font-style:normal;line-height:1.7}code,kbd,pre,samp{font-family:Nitti,Menlo,Monaco,Consolas,Courier New,monospace}code{color:#747c89;background-color:none}code,kbd{padding:2px 4px;font-size:90%;border-radius:3px}kbd{color:#fff;background-color:#333;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:12px;line-height:1.7;color:#333;word-break:break-all;word-wrap:break-word;background-color:#fff;border:1px solid transparent;border-radius:3px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:after,.container:before{display:table;content:\" \"}.container:after{clear:both}@media (min-width:2px){.container{width:900px}}@media (min-width:1070px){.container{width:1070px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container-fluid:after,.container-fluid:before{display:table;content:\" \"}.container-fluid:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:after,.row:before{display:table;content:\" \"}.row:after{clear:both}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.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-10,.col-lg-11,.col-lg-12,.col-md-1,.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-10,.col-md-11,.col-md-12,.col-sm-1,.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-10,.col-sm-11,.col-sm-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:2px){.col-sm-1,.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-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:1070px){.col-md-1,.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-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.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-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:22px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.7;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:1px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;margin:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:22px;font-size:19.5px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:13px;line-height:1.7;color:#555}.form-control{width:100%;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#257bf2;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(37,123,242,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:36px}.input-group-sm>.input-group-btn>input.btn[type=date],.input-group-sm>.input-group-btn>input.btn[type=datetime-local],.input-group-sm>.input-group-btn>input.btn[type=month],.input-group-sm>.input-group-btn>input.btn[type=time],.input-group-sm>input.form-control[type=date],.input-group-sm>input.form-control[type=datetime-local],.input-group-sm>input.form-control[type=month],.input-group-sm>input.form-control[type=time],.input-group-sm>input.input-group-addon[type=date],.input-group-sm>input.input-group-addon[type=datetime-local],.input-group-sm>input.input-group-addon[type=month],.input-group-sm>input.input-group-addon[type=time],.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input.btn[type=date],.input-group-lg>.input-group-btn>input.btn[type=datetime-local],.input-group-lg>.input-group-btn>input.btn[type=month],.input-group-lg>.input-group-btn>input.btn[type=time],.input-group-lg>input.form-control[type=date],.input-group-lg>input.form-control[type=datetime-local],.input-group-lg>input.form-control[type=month],.input-group-lg>input.form-control[type=time],.input-group-lg>input.input-group-addon[type=date],.input-group-lg>input.input-group-addon[type=datetime-local],.input-group-lg>input.input-group-addon[type=month],.input-group-lg>input.input-group-addon[type=time],.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:45px}}.form-group{margin-bottom:30px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-top:4px\\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:35px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select.btn[multiple],.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select.form-control[multiple],.input-group-sm>select.input-group-addon[multiple],.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:45px;padding:10px 16px;font-size:17px;line-height:1.33333;border-radius:3px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:45px;line-height:45px}.input-group-lg>.input-group-btn>select.btn[multiple],.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select.form-control[multiple],.input-group-lg>select.input-group-addon[multiple],.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:45px;padding:10px 16px;font-size:17px;line-height:1.33333;border-radius:3px}.form-group-lg select.form-control{height:45px;line-height:45px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:45px;min-height:39px;padding:11px 16px;font-size:17px;line-height:1.33333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:45px;height:45px;line-height:45px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#cecfd1}@media (min-width:2px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{display:table;content:\" \"}.form-horizontal .form-group:after{clear:both}@media (min-width:2px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:2px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:17px}}@media (min-width:2px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:13px;line-height:1.7;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{background-color:#1977d6;border-color:#166abf}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#145ea8;border-color:#092b4d}.btn-primary:hover{color:#fff;background-color:#145ea8;border-color:#104c88}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#145ea8;background-image:none;border-color:#104c88}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#104c88;border-color:#092b4d}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#1977d6;border-color:#166abf}.btn-primary .badge{color:#1977d6;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#ef5354;border-color:#ed3c3d}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#eb2426;border-color:#9b0e0f}.btn-danger:hover{color:#fff;background-color:#eb2426;border-color:#d71415}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#eb2426;background-image:none;border-color:#d71415}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#d71415;border-color:#9b0e0f}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ef5354;border-color:#ed3c3d}.btn-danger .badge{color:#ef5354;background-color:#fff}.btn-link{font-weight:400;color:#1977d6;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#115192;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:17px;line-height:1.33333;border-radius:3px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.alert{padding:15px;margin-bottom:22px;border:1px solid transparent;border-radius:3px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#1977d6}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#145ea8}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#ef5354}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#eb2426}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:13px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:3px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.7;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#1977d6;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.7;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\"\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:2px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:13px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:3px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:17px;border-radius:3px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:after,.nav:before{display:table;content:\" \"}.nav:after{clear:both}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#1977d6}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.7;border:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:3px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#1977d6}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:2px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:2px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:22px;border:1px solid transparent}.navbar:after,.navbar:before{display:table;content:\" \"}.navbar:after{clear:both}@media (min-width:2px){.navbar{border-radius:3px}}.navbar-header:after,.navbar-header:before{display:table;content:\" \"}.navbar-header:after{clear:both}@media (min-width:2px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{display:table;content:\" \"}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:2px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:1px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:2px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:2px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:2px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:14px 15px;font-size:17px;line-height:22px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:2px){.navbar>.container-fluid .navbar-brand,.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:3px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:2px){.navbar-toggle{display:none}}.navbar-nav{margin:7px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:1px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:2px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{padding:10px 15px;margin:7px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@media (min-width:2px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:1px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:2px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:7px;margin-bottom:7px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs,.navbar-text{margin-top:14px;margin-bottom:14px}@media (min-width:2px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:2px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#20252d;border-color:#12151a}.navbar-default .navbar-brand{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:hsla(0,0%,90%,.9);background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#fff;background-color:#12151a}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#fff;background-color:#12151a}@media (max-width:1px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#12151a}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#12151a}.navbar-default .navbar-link{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-link:hover{color:#fff}.navbar-default .btn-link{color:hsla(0,0%,100%,.9)}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#fff}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#090909}@media (max-width:1px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:3px}.well-sm{padding:9px;border-radius:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .jumbotron{padding-right:15px;padding-left:15px;border-radius:3px}.jumbotron .container{max-width:100%}@media screen and (min-width:2px){.jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .jumbotron,.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:59px}}.pagination{display:inline-block;padding-left:0;margin:22px 0;border-radius:3px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.7;color:#1977d6;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#115192;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#1977d6;border-color:#1977d6}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px;line-height:1.33333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:22px 0;text-align:center;list-style:none}.pager:after,.pager:before{display:table;content:\" \"}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.panel{margin-bottom:22px;background-color:#fff;border:1px solid transparent;border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{display:table;content:\" \"}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#fff;border-top:1px solid #ddd;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:2px;border-top-right-radius:2px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:2px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:2px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:2px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:2px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:3px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#1977d6}.panel-primary>.panel-heading{color:#fff;background-color:#1977d6;border-color:#1977d6}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#1977d6}.panel-primary>.panel-heading .badge{color:#1977d6;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#1977d6}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.clearfix:after,.clearfix:before{display:table;content:\" \"}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:1px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:1px){.visible-xs-block{display:block!important}}@media (max-width:1px){.visible-xs-inline{display:inline!important}}@media (max-width:1px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm-block{display:block!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm-inline{display:inline!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:1px){.hidden-xs{display:none!important}}@media (min-width:2px) and (max-width:1069px){.hidden-sm{display:none!important}}@media (min-width:1070px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{display:table;content:\" \"}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{display:table;content:\" \"}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#ef5354}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}@font-face{font-family:Nitti;src:url(/dashboard/fb427eb9bb680754875eeef4610df402.woff)}@font-face{font-family:Nitti Grotesk;src:url(/dashboard/49e1682a2cd9fa8c91d83a0220e903ce.woff)}@font-face{font-family:Nitti Grotesk;font-weight:700;src:url(/dashboard/4f7ec7cd690231da6c8d1a66dbee15c2.woff)}@font-face{font-family:dotsfont;src:url(data:application/vnd.ms-fontobject;base64,jgoAAHQJAAABAAIABAAAAAAABQAAAAAAAAABAJABAAAAAExQAwAAAAAAAAAAAAAAAAAAAAEAACAAAAAAjYONWwAAAAAAAAAAAAAAAAAAAAAAABAAZABvAHQAcwBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwADsAUABTACAAMAAwADEALgAwADAAMAA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADgAOAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADYANAA3ADcANQAAACAAZABvAHQAcwBmAG8AbgB0ACAAcgBlAGcAdQBsAGEAcgAAAAAAAwAs6AAJbAAJcAAIVD0/ohuSzeRVnpCRMbc4pJ/skB21IZi1rlaJdC5P0A2pymVBprVlssbixSmouyb5rGdPyb3GYuOmIybrgR29S6F29ZUSFeQYY8Otpj4xnP244+E/AjiUO82KCCBZetRdMD3Ma8Z2B7VdsaQWY7hd/YhX7m22JlkMUdizprW1uLh+bve7UdVkAjn4VN8KrVGEuF1udwZ7uUyITrX0y2SXbPYuycUjeLEg/4xVGpdQjNeevbtdWcJ3yxNgTEx3EuoSP0sCI92nc8z6gLPRVQdhW2RTkADRQdTLUq46BfVWrZxTr59INDkeYA7ogD9jQYviFOPKqhZH9WnlQMowqjcCioqtiqtfJTxb5b+lzMIPuKtIsGjoKOl/ZLMQN/dB8wbHvP+MwpoBpKCoA1gQKpCVCDt/UhOnwtEZ/tRBTsMhlasFWzpBYCDdLEb4ezEav8LW/Ih6ofnrQJJJs5FwlaWROyn7ISEfYJez5SaYZImVLkUPdRIMRFSFqQYZ5ZmfmckzwK0BQT39f4V1MgRoDzxCHDtsJTYSzM2nWzYX+D1IP4+G7qDPwklDuz+iTc812wWjfk5qp5f6cX8zqRrVhSOlM7bXd90pFQYVONS5AMvsrwyh0UbNA06lYGqc1T3U6qEegCyHhDIQNJASOHFyCw5YgsC9XhKw4aZgFIk7k/IJDZ9Ny8xuhOhpshpEuxBDMI9DfThovaTWpDZnbrC0avlYLWaLN9wtm+0ls2MioNWo7RewismpTEi5I2yDc8ZyoFdbWppGPmZxnjlhQPCnFQAa7pTUm3l2DsBIkO/lT5sbiAJ3db18ct9L/Uk4Yat84YgIwQxoqglAxEJ2UOihRUHZ4yPQJ6bDQwZMCQARQElRDoJvBICItVIObSs0QWlJgByAKgUgEX7dqZ0m7HhhXd0gJVMQyNqzKQerAsAKouthUgnJqiNKyVECXjqCsoqYBMKnXTInDOImNDgWYw6RJGU8QZGQ8gsILDDNDmaT0hzcxAsDqIaWmgqjSi9S1S/rlpnUzJ5EZZ85wgYXNMnPTURqA58bEOfDVBgA2MbTNUk0in5PSQBLoKYl1E3SmhBMo2QWJOkFyDBOQHsDlBzAQ+W+XO5+Xc6NIs6dI8H86suc687M7c7s79ANAdAtA9BMVsV8WNBcWWyrJJMipB/kUIbF1l7S2NPSBSIekCEP6QRIj2QQInsg0G3ZBgN+SCjlQkFDLhLQOFloRK0JaB84/S2JD0aTEczjZwcmZIWTEWLMSPIzTpC7C0vgOFHAM6GSMAdweZzBfvPDVszYmfr5xiP+Y1Pz3W1Jy6aTO78NqJ3Rpi1cMT4D6KjVBwOqkKhikTcmnPCARFT9gESowxAzKFmcHMIGkqtnBxAqAFYV3bMEUSsExzBKHUAq4+QO7ugBZSFDliEIA5biuCQTiW5lnwKaFo6B1FsR+gqOP5KukCGKw2tHKwCKxTxY+uuDZZlIEgTti2I0RDr074Jz4d+AFR//9dgQL6PXvmfM86u34ZCPmclCPp0MwBELOdW92g9QfJ78ZIb1cUK9lr20Dv1dVfio1FeFEDBWqLDkYQMmmV4ucQWgOnp+uPuYBMHHIguv7oeA/bEhrlQgxbQdwZRZZg1YsuRVngLDaYoatDjdGhZTRKg+bkluERDS0bEBDJMIMys+nWU3TFXHgkHNkvD4GDAMmwM+jNEooQRFiAJOIokAZO1YwrP7BAlpoRrpPr27Drkd5BusvQWjKyOr7uxgXYkKQlLVctwcVhttkQDexWjwIQNmOAQkPyzXQuOnuHAdgI9hvgdB8/C+nwYvJz42ptKS05WyYPRxc4QP9KnOlWDmQKAsarsg3jkOxyGgcCEON0dA4A5IER6MGm8c2Agnt25E4PQIE36oyhEDJG4VQuRCDxx2Al28hPjZIponDI3vQHiPGxHTDc3Tbx4C9bXG7Ke3tBBx0Fkog0GdyCe9PPIrkSCqmHq0IWBljkoVzrGlEIYiunLXdNk6h0qEXVfNynJ/NzGbwsg9AtBYBD0Q+PoBph9Cpppz27TmwPLSpOAlKg0VzvnC8e3GfHgJagww1xgbFQgupHq+WzJRlspQ/sCUN9Y5D5ogqab33uQP13ErEgJLZiS6PZI2omaL/JrJ+/0hufSykS8euPwXvhc+JULCGAXaSMALEMSa1BHmyke0HA3ywmOOe0lBvSvGBTGMSD4DNHarPVi5GFleZsE7TSS6Rj0klEv9A8fhM9mmi7yOxlxMgkKfLmS8RhH1XLzl78PxqziVJf9d5wwijjUtDwk8ViDHmLzIijbWBWHHGBCMdoBxXJVgGu/0u6RalmY0iaUQGl66xgLwYpF5BOoDWY0oratKKMyCTjvQCGJOi9bwudl13DaupjDlK0ECl4gxuaQT569D0V3vVifkVQzzfShrCQbjIbUEoqFcgZAI2VOQ+CMwFzYclITgHpPZjIGVIDqQQQSCMsgAg2ukDmICQDlTcnO5RscjKoN4yt5qMhCCNJkQ/ka0g02EbIeHx0Tz/uMECMoHL4RZsZUwJ3cpDbLhzBkgIBD0GhauXdyvZ+nBIZ5dgUO6Whsit8WtYIy+0/hE+alrtB9zt8xp27G8TCK2SRbUzTxskMSHJEKQgpD/TcvT0xZbAAJ6Wc2spWEjGf1DmbGib/BQxpBtOY2tdI/fnIT2n1YA7EFcpam3BERi8kqJjIlSULekIpLQNfTdywPLY8EVP7hJHioehdGDAagSYdmZGTsL/f8TA76i/3OLI7WFFFhrEffaFEuaRz1oW90Ke10LM4tMZsCwfKKOnoLfcSogMLjfTWo92fGRvvtFJFZZvpgRmzyALgemI/PorZJJTHMl6Fw208hwrNolSieQmSOWYqL2Ipc0Uw2eGwkocUFNSYswmwTi8BUWWlbmdYbANCUal6kkJd/WkzMoFwCzLPzEoAYzJH5nCU2p7zgNHwdWo5ayKyDTc9aVCvtUbirJwKTS4IHNQcACWpYQQrtIC7qkqLxyaudZ6q0K48O6MWg0CNWg5xuikuRuWFdgM+lPNVixyuL7u9oSAGAZbVjDUuX5cQ9EQiJeXGuAq49W6HSQiTS2Xba9KGyj3Ad8HklYmTLoPuxbJmK7gSbrQHupQ6RWoxQtQlmJmkBvdqCWJ4r+24tCVwD7o1J6nfBk5yRy3Tj6qR7iDfMmp/m56EERu1gE/FwCx5REU5ezglHVxpwAAAAAAAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,jgoAAHQJAAABAAIABAAAAAAABQAAAAAAAAABAJABAAAAAExQAwAAAAAAAAAAAAAAAAAAAAEAACAAAAAAjYONWwAAAAAAAAAAAAAAAAAAAAAAABAAZABvAHQAcwBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwADsAUABTACAAMAAwADEALgAwADAAMAA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADgAOAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADYANAA3ADcANQAAACAAZABvAHQAcwBmAG8AbgB0ACAAcgBlAGcAdQBsAGEAcgAAAAAAAwAs6AAJbAAJcAAIVD0/ohuSzeRVnpCRMbc4pJ/skB21IZi1rlaJdC5P0A2pymVBprVlssbixSmouyb5rGdPyb3GYuOmIybrgR29S6F29ZUSFeQYY8Otpj4xnP244+E/AjiUO82KCCBZetRdMD3Ma8Z2B7VdsaQWY7hd/YhX7m22JlkMUdizprW1uLh+bve7UdVkAjn4VN8KrVGEuF1udwZ7uUyITrX0y2SXbPYuycUjeLEg/4xVGpdQjNeevbtdWcJ3yxNgTEx3EuoSP0sCI92nc8z6gLPRVQdhW2RTkADRQdTLUq46BfVWrZxTr59INDkeYA7ogD9jQYviFOPKqhZH9WnlQMowqjcCioqtiqtfJTxb5b+lzMIPuKtIsGjoKOl/ZLMQN/dB8wbHvP+MwpoBpKCoA1gQKpCVCDt/UhOnwtEZ/tRBTsMhlasFWzpBYCDdLEb4ezEav8LW/Ih6ofnrQJJJs5FwlaWROyn7ISEfYJez5SaYZImVLkUPdRIMRFSFqQYZ5ZmfmckzwK0BQT39f4V1MgRoDzxCHDtsJTYSzM2nWzYX+D1IP4+G7qDPwklDuz+iTc812wWjfk5qp5f6cX8zqRrVhSOlM7bXd90pFQYVONS5AMvsrwyh0UbNA06lYGqc1T3U6qEegCyHhDIQNJASOHFyCw5YgsC9XhKw4aZgFIk7k/IJDZ9Ny8xuhOhpshpEuxBDMI9DfThovaTWpDZnbrC0avlYLWaLN9wtm+0ls2MioNWo7RewismpTEi5I2yDc8ZyoFdbWppGPmZxnjlhQPCnFQAa7pTUm3l2DsBIkO/lT5sbiAJ3db18ct9L/Uk4Yat84YgIwQxoqglAxEJ2UOihRUHZ4yPQJ6bDQwZMCQARQElRDoJvBICItVIObSs0QWlJgByAKgUgEX7dqZ0m7HhhXd0gJVMQyNqzKQerAsAKouthUgnJqiNKyVECXjqCsoqYBMKnXTInDOImNDgWYw6RJGU8QZGQ8gsILDDNDmaT0hzcxAsDqIaWmgqjSi9S1S/rlpnUzJ5EZZ85wgYXNMnPTURqA58bEOfDVBgA2MbTNUk0in5PSQBLoKYl1E3SmhBMo2QWJOkFyDBOQHsDlBzAQ+W+XO5+Xc6NIs6dI8H86suc687M7c7s79ANAdAtA9BMVsV8WNBcWWyrJJMipB/kUIbF1l7S2NPSBSIekCEP6QRIj2QQInsg0G3ZBgN+SCjlQkFDLhLQOFloRK0JaB84/S2JD0aTEczjZwcmZIWTEWLMSPIzTpC7C0vgOFHAM6GSMAdweZzBfvPDVszYmfr5xiP+Y1Pz3W1Jy6aTO78NqJ3Rpi1cMT4D6KjVBwOqkKhikTcmnPCARFT9gESowxAzKFmcHMIGkqtnBxAqAFYV3bMEUSsExzBKHUAq4+QO7ugBZSFDliEIA5biuCQTiW5lnwKaFo6B1FsR+gqOP5KukCGKw2tHKwCKxTxY+uuDZZlIEgTti2I0RDr074Jz4d+AFR//9dgQL6PXvmfM86u34ZCPmclCPp0MwBELOdW92g9QfJ78ZIb1cUK9lr20Dv1dVfio1FeFEDBWqLDkYQMmmV4ucQWgOnp+uPuYBMHHIguv7oeA/bEhrlQgxbQdwZRZZg1YsuRVngLDaYoatDjdGhZTRKg+bkluERDS0bEBDJMIMys+nWU3TFXHgkHNkvD4GDAMmwM+jNEooQRFiAJOIokAZO1YwrP7BAlpoRrpPr27Drkd5BusvQWjKyOr7uxgXYkKQlLVctwcVhttkQDexWjwIQNmOAQkPyzXQuOnuHAdgI9hvgdB8/C+nwYvJz42ptKS05WyYPRxc4QP9KnOlWDmQKAsarsg3jkOxyGgcCEON0dA4A5IER6MGm8c2Agnt25E4PQIE36oyhEDJG4VQuRCDxx2Al28hPjZIponDI3vQHiPGxHTDc3Tbx4C9bXG7Ke3tBBx0Fkog0GdyCe9PPIrkSCqmHq0IWBljkoVzrGlEIYiunLXdNk6h0qEXVfNynJ/NzGbwsg9AtBYBD0Q+PoBph9Cpppz27TmwPLSpOAlKg0VzvnC8e3GfHgJagww1xgbFQgupHq+WzJRlspQ/sCUN9Y5D5ogqab33uQP13ErEgJLZiS6PZI2omaL/JrJ+/0hufSykS8euPwXvhc+JULCGAXaSMALEMSa1BHmyke0HA3ywmOOe0lBvSvGBTGMSD4DNHarPVi5GFleZsE7TSS6Rj0klEv9A8fhM9mmi7yOxlxMgkKfLmS8RhH1XLzl78PxqziVJf9d5wwijjUtDwk8ViDHmLzIijbWBWHHGBCMdoBxXJVgGu/0u6RalmY0iaUQGl66xgLwYpF5BOoDWY0oratKKMyCTjvQCGJOi9bwudl13DaupjDlK0ECl4gxuaQT569D0V3vVifkVQzzfShrCQbjIbUEoqFcgZAI2VOQ+CMwFzYclITgHpPZjIGVIDqQQQSCMsgAg2ukDmICQDlTcnO5RscjKoN4yt5qMhCCNJkQ/ka0g02EbIeHx0Tz/uMECMoHL4RZsZUwJ3cpDbLhzBkgIBD0GhauXdyvZ+nBIZ5dgUO6Whsit8WtYIy+0/hE+alrtB9zt8xp27G8TCK2SRbUzTxskMSHJEKQgpD/TcvT0xZbAAJ6Wc2spWEjGf1DmbGib/BQxpBtOY2tdI/fnIT2n1YA7EFcpam3BERi8kqJjIlSULekIpLQNfTdywPLY8EVP7hJHioehdGDAagSYdmZGTsL/f8TA76i/3OLI7WFFFhrEffaFEuaRz1oW90Ke10LM4tMZsCwfKKOnoLfcSogMLjfTWo92fGRvvtFJFZZvpgRmzyALgemI/PorZJJTHMl6Fw208hwrNolSieQmSOWYqL2Ipc0Uw2eGwkocUFNSYswmwTi8BUWWlbmdYbANCUal6kkJd/WkzMoFwCzLPzEoAYzJH5nCU2p7zgNHwdWo5ayKyDTc9aVCvtUbirJwKTS4IHNQcACWpYQQrtIC7qkqLxyaudZ6q0K48O6MWg0CNWg5xuikuRuWFdgM+lPNVixyuL7u9oSAGAZbVjDUuX5cQ9EQiJeXGuAq49W6HSQiTS2Xba9KGyj3Ad8HklYmTLoPuxbJmK7gSbrQHupQ6RWoxQtQlmJmkBvdqCWJ4r+24tCVwD7o1J6nfBk5yRy3Tj6qR7iDfMmp/m56EERu1gE/FwCx5REU5ezglHVxpwAAAAAAAAAAAA=) format(\"embedded-opentype\"),url(/dashboard/5b616a89f38b69dc11821d9807d29be6.svg) format(\"svg\"),url(data:application/font-woff;base64,d09GRgABAAAAAAh4AA4AAAAAM0AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABsAAAAccrVgG0dERUYAAAFgAAAAHgAAACAA+wAET1MvMgAAAYAAAABIAAAAYF4So+pjbWFwAAAByAAAAU4AAAGS7FfHoGdhc3AAAAMYAAAACAAAAAj//wADZ2x5ZgAAAyAAAACxAAAmKJyo9FNoZWFkAAAD1AAAAC4AAAA2CUUAcWhoZWEAAAQEAAAAHwAAACQHZwSFaG10eAAABCQAAAAiAAADOLjTta5sb2NhAAAESAAAAVQAAAGe2DPOoG1heHAAAAWcAAAAGgAAACAC0QANbmFtZQAABbgAAAFaAAACwhsFaQNwb3N0AAAHFAAAAVwAAAHR29xF4HdlYmYAAAhwAAAABgAAAAYuTVcWeNpjYGBgZACCM7aLzoPoy9b3GqD0aQBN7AefAHjaY2BkYGDgA2IJBhBgYmAEwrNAzALmMQAADRkBAAAAeNpjYGZZyziBgZWBhamLKYKBgcEbQjPGAbEOAypgRub4+fu5MjgwKKj+YXr3n43hBPMjBjYFoCaQHNMGpg1ASoGBEQAF3Qv0eNpjYGBgZoBgGQZGBhDoAfIYwXwWhgIgLcEgABThYKhjWMOwheE/oyHTcaa7zHsUJJWEVP/8/w9UocCwkGEdwzagzDGmG0AZCYjM/8f/D/4/8H///76/v/6++svzYOO9nbcuQG3BChjZGODSjExAggldAdCpLKxs7BycXNw8vHz8AoJCwiKiYuISklLSMrJy8gqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWVtY2tnb2Do5Ozi6ubu4enl7ePr5+/gGBQcEhoWHhEZFR0TGxcfEJiQzNLW0dE6bOXjB/4eJFS5atWL5y1ZrVa9dt2LRx89YtO3fs2s1QkJySwVA6Ly+LoSSToXU6QyEDQxrEddmVDEu31yXlgtg5VQwM9U1TIBInT21j2AfzQxkQN3Y2dLX39PZ1T5rMMHHmrBn7DxzLP3T4SPnxowcB/ddsWQAAAAAAAf//AAJ42u3MvQkCQRiE4W93YQ2MFkXjVTAyWn+KMLAEa7AAQ3P1Ir0mTraEE+QMxC7EyALk/DlLENN3YIKBhxEt4W1Vru9ipCbS9s43nHdBrV/zoPoPcysnZlkupIqSq1iT6b3Uq9G03U5vNBwPQstk5zQtLrvtSc2SY77aFAc8Ho/H4/F4PB6Px+PxeDwej8fj8Xg8Ho/H4/F4PB6Px//jq+iooxgR553X8Tn99vevD5fjNtsAAAB42mNgZACDDyHfNsbz23xl4GZ+AeJftr53BkH/Z2Nez/QOyOVgYAKJAgCNYQ2jAAB42mNgZGBgevefjeEEywYGIGBez8DIgArOAQBwsQT0AHjaY/zCYMQABIy+DAwsGxiejeJRPIpxY6ZNkHwCAEKbRb0AAHjaHcIhsHAwAADgbWabzWbbeyeKoiiKoiiKoiiKoiiKoiiKoiiKoii9c//df98HAAj/S0AOKtCCAcxgAyd4IIERTGEBa9jBES5whxd8kUIxylCJGtSjCa3oQDf6nNBJnNypnNYZnNnZnNN5MMERTnGBa9zhES94xxd+XeXGbuaWbuP27uSu7uHe7kdCkpCcVKQlA5nJRk7yUEIjmtKC1rSjI13oTi/6MsVilrGSNaxnE1vZwW72eaGXeLlXea03eLO3eaf3cMIjnvKC17zjI1/4zi/+CiVikYlSNKIXk1jFIW7x+aGf+Llf+a0/+LO/+af/SCIjmcpC1rKTo1zkLi/5KqVilalSNapXk1rVoW71BWGQBHlQBW0wBHOwBWfwaKIjnepC17rTo170ri/9GmVik5nSNKY3k1nNYW7z2dAmNreVbe1gZ7vZ0z727+f3HymXbxB42mNgZGBgOMfAw8DEAAKMDFDABKUBF3QA4QAAeNqVkc8uxFAUxr+rQ7CYjI2FVZcmoekQpLohwkaCGGE9nemMRk2pIZmteAALT+ABrD2B+PME3sDSysLKd0+vod2INPfe3z3n63fPvQdAGXewoEpjAAKOjBVs7jIeoubSsIVFXBsuwcWD4WF08WF4BLZqGa6goq4MT6Csbgw/YlLdGn6Cq+4NP2NUvRl+wbh6z/jVwpT6xBoSnKCPFBE6OESPVU6jiSrXOVZTY3Uz5E1qYoSkA84xzniXvmiPTGYFx5y/dw49EkaqaHHtUd/m2hX/lPkOzqlrkHdzO5d/uvL52MI2xzqp6DFb8PjrDLtwyj53KfWR6O3cqTuoDyI+X0Q7N0V3wXhN4g6W+Do+79fgjUPRtBmN6Rgw42BBhiee/60+n9XvHfy6WVbBHvO6G6vsXipRT6r2sEx2Oc+zcz891FWG1CbSae21MXCs45RuETP65PgL8PBsIgAAeNp90EdvDgAAgOHn+6pK7Vl771FaalOU2nuVWi0fqhNfS20xYoQQCSeNdakEN0Ti5KBqlNhFyw21ap31F/RNnj/wCqq9xzUCgiLUEamuKPXUF62BhhpprImmmmmuhZZaaS1GG221014HHXXSWRddddNdDz310lsfffXT3wADxRpksDjxhhgqwTDDjTDSKKONMdY4icabYKIkk0yWbIqpppluhplmmW2OueaZb4GFFllsiRRLLZNquRVWWmW1NJcccNAdZ3xyyAnHnFPssqPK7XfaL78dd9hdFaoVueKvP/656Kr77rkm3RonrfVASIlSZR56VHPns3WeeeKp69b76ZSXnnthgyrfHLFRhkzZsuQ4L9cmeTbbIl9Yga2+2Ga7QjvsstMtF+yx2177fPXdba+89tFb77z3wRuVzrrhph+BYCAiKj8nIz4hOSk6HMrOy0oLh2Lj/gOvQl+BAAFXFi5MAAA=) format(\"woff\"),url(/dashboard/e85a11a9110b2b89aa8406d888e5e252.ttf) format(\"truetype\")}html{height:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;margin:0 auto;min-height:100%;min-width:930px;color:#747c89}#root,#root>div{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1}.focus,:focus{outline:none!important}.jumbotron p{margin-bottom:0;color:#777}p{line-height:1.5;margin-bottom:15px}label{font-weight:500}b,strong{font-weight:600}.flex-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1}pre{font-size:14px}.btn-default,.btn-outline-primary,.btn-primary{height:36px;padding:0 20px;border-radius:3px}.btn-primary{border-color:#195ad6;color:#fff;background-color:#195ad6}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary.focus .btn-primary:active.focus,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover{text-decoration:none;color:#fff;background:#3295de;border-color:#3295de}.btn-outline-primary{color:#195ad6;background-color:transparent;background-image:none;border-color:#195ad6}.btn-outline-primary.active.focus,.btn-outline-primary.active:focus,.btn-outline-primary.active:hover,.btn-outline-primary.focus .btn-outline-primary:active.focus,.btn-outline-primary:active,.btn-outline-primary:active:focus,.btn-outline-primary:active:hover,.btn-outline-primary:focus,.btn-outline-primary:hover{text-decoration:none;color:#fff;background:#195ad6;border-color:#195ad6}.btn-default{background-color:#fff;border-color:#ccc}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default.focus .btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.btn-default:focus,.btn-default:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#20252d;background-color:#f3f6f8;border-color:#ccc}a:focus,a:hover{color:#3295de;text-decoration:none}.form-control{height:36px}.form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 2px rgba(37,123,242,.6)}.help-block{color:#bac0c7}.jumbotron{background:transparent}.btn-group-lg>.btn,.btn-lg{height:44px;font-size:16px}.label-primary{color:#747c89;background:#fafafa;border:1px solid hsla(0,0%,96%,.5)}.close{text-shadow:none;font-size:24px;font-weight:400}.text-danger{color:#dd2c2c}div.react-console-prompt-box{padding-top:1em;color:#444}span.react-console-prompt-label{font-weight:700}div.react-console-focus span.react-console-cursor{background:#333;color:#eee}div.react-console-nofocus span.react-console-cursor{background:none;color:#444;outline:.1em solid #333;outline-offset:-.1em}div.react-console-focus span.react-console-cursor-idle{-webkit-animation:react-console-cursor-animation 1s infinite;animation:react-console-cursor-animation 1s infinite}@-webkit-keyframes react-console-cursor-animation{0%{background:#333;color:#eee}50%{background:#333;color:#eee}51%{background:none;color:#444}to{background:none;color:#444}}@keyframes react-console-cursor-animation{0%{background:#333;color:#eee}50%{background:#333;color:#eee}51%{background:none;color:#444}to{background:none;color:#444}}div.react-console-message,span.react-console-prompt{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;padding:.1em}div.react-console-message-Error{color:#dd2c2c}input[type=range]{height:34px;-webkit-appearance:none}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:7px;cursor:pointer;animate:.2s;background:#e4e4e4}input[type=range]::-webkit-slider-thumb{height:18px;width:18px;border-radius:15px;background:#195ad6;cursor:pointer;-webkit-appearance:none;margin-top:-6px}input[type=range]:focus::-webkit-slider-runnable-track{background:#e4e4e4}input[type=range]::-moz-range-track{height:7px;cursor:pointer;animate:.2s;background:#e4e4e4}input[type=range]::-moz-range-thumb{border:none;height:18px;width:18px;border-radius:15px;background:#195ad6;cursor:pointer}input[type=range]::-ms-track{height:7px;cursor:pointer;animate:.2s;background:transparent;border-color:transparent;color:transparent}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#e4e4e4;border-radius:2px}input[type=range]::-ms-thumb{margin-top:1px;height:18px;width:18px;border-radius:15px;background:#195ad6;cursor:pointer}input[type=range]:focus::-ms-fill-lower{background:#195ad6}input[type=range]:focus::-ms-fill-upper{background:#e4e4e4}@-webkit-keyframes AmountUnitField__progress-bar-stripes__uuBVY{0%{background-position:40px 0}to{background-position:0 0}}@keyframes AmountUnitField__progress-bar-stripes__uuBVY{0%{background-position:40px 0}to{background-position:0 0}}.AmountUnitField__progress__21S1C{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.AmountUnitField__progress-bar__UgpH0{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.AmountUnitField__progress-bar-striped__2Yy3N,.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar__UgpH0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.AmountUnitField__progress-bar__UgpH0.AmountUnitField__active__1MpMw,.AmountUnitField__progress__21S1C.AmountUnitField__active__1MpMw .AmountUnitField__progress-bar__UgpH0{-webkit-animation:AmountUnitField__progress-bar-stripes__uuBVY 2s linear infinite;animation:AmountUnitField__progress-bar-stripes__uuBVY 2s linear infinite}.AmountUnitField__progress-bar-success__1FNp4{background-color:#5cb85c}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-success__1FNp4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__progress-bar-info__1Oo_P{background-color:#5bc0de}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-info__1Oo_P{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__progress-bar-warning__2JaOk{background-color:#f0ad4e}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-warning__2JaOk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__progress-bar-danger__18VUs{background-color:#ef5354}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-danger__18VUs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__tooltip__3CiI2{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.AmountUnitField__tooltip__3CiI2.AmountUnitField__in__1sS6g{filter:alpha(opacity=90);opacity:.9}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top__3jvd6{padding:5px 0;margin-top:-3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__right__w8s3I{padding:0 5px;margin-left:3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom__3PYgP{padding:5px 0;margin-top:3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__left__2zMX4{padding:0 5px;margin-left:-3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top__3jvd6 .AmountUnitField__tooltip-arrow__1LcpL{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top-left__26t_4 .AmountUnitField__tooltip-arrow__1LcpL{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top-right__3YQOF .AmountUnitField__tooltip-arrow__1LcpL{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__right__w8s3I .AmountUnitField__tooltip-arrow__1LcpL{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__left__2zMX4 .AmountUnitField__tooltip-arrow__1LcpL{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom__3PYgP .AmountUnitField__tooltip-arrow__1LcpL{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom-left__1naBf .AmountUnitField__tooltip-arrow__1LcpL{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom-right__ioxJo .AmountUnitField__tooltip-arrow__1LcpL{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AmountUnitField__tooltip-inner__3OwLT{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.AmountUnitField__tooltip-arrow__1LcpL{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.AmountUnitField__base__1Fg35{background:red}.AmountUnitField__unit__FVVwA>div{z-index:unset!important}@-webkit-keyframes CheckboxField__progress-bar-stripes__1BBPY{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CheckboxField__progress-bar-stripes__1BBPY{0%{background-position:40px 0}to{background-position:0 0}}.CheckboxField__progress__wB5V-{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CheckboxField__progress-bar__2KLUY{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CheckboxField__progress-bar-striped__3iWcp,.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar__2KLUY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CheckboxField__progress-bar__2KLUY.CheckboxField__active__dwy53,.CheckboxField__progress__wB5V-.CheckboxField__active__dwy53 .CheckboxField__progress-bar__2KLUY{-webkit-animation:CheckboxField__progress-bar-stripes__1BBPY 2s linear infinite;animation:CheckboxField__progress-bar-stripes__1BBPY 2s linear infinite}.CheckboxField__progress-bar-success__NktQf{background-color:#5cb85c}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-success__NktQf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__progress-bar-info__3lbbL{background-color:#5bc0de}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-info__3lbbL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__progress-bar-warning__QkB48{background-color:#f0ad4e}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-warning__QkB48{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__progress-bar-danger__2tetS{background-color:#ef5354}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-danger__2tetS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__tooltip__23RbA{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CheckboxField__tooltip__23RbA.CheckboxField__in__bt1uj{filter:alpha(opacity=90);opacity:.9}.CheckboxField__tooltip__23RbA.CheckboxField__top__njrkB{padding:5px 0;margin-top:-3px}.CheckboxField__tooltip__23RbA.CheckboxField__right__SRGHn{padding:0 5px;margin-left:3px}.CheckboxField__tooltip__23RbA.CheckboxField__bottom__3wQua{padding:5px 0;margin-top:3px}.CheckboxField__tooltip__23RbA.CheckboxField__left__1rIHc{padding:0 5px;margin-left:-3px}.CheckboxField__tooltip__23RbA.CheckboxField__top__njrkB .CheckboxField__tooltip-arrow__2YwBA{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__top-left__25-3- .CheckboxField__tooltip-arrow__2YwBA{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__top-right__39yMe .CheckboxField__tooltip-arrow__2YwBA{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__right__SRGHn .CheckboxField__tooltip-arrow__2YwBA{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__left__1rIHc .CheckboxField__tooltip-arrow__2YwBA{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__bottom__3wQua .CheckboxField__tooltip-arrow__2YwBA{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__bottom-left__39SKV .CheckboxField__tooltip-arrow__2YwBA{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__bottom-right__27sTk .CheckboxField__tooltip-arrow__2YwBA{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CheckboxField__tooltip-inner__3wLbY{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CheckboxField__tooltip-arrow__2YwBA{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CheckboxField__label__2Ug2d{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.CheckboxField__label__2Ug2d .CheckboxField__title__3hm4r{position:absolute;left:20px}.CheckboxField__hint__33L32{color:#bac0c7;margin-left:20px}@-webkit-keyframes AutocompleteField__progress-bar-stripes__2eH4S{0%{background-position:40px 0}to{background-position:0 0}}@keyframes AutocompleteField__progress-bar-stripes__2eH4S{0%{background-position:40px 0}to{background-position:0 0}}.AutocompleteField__progress__3Ho2G{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.AutocompleteField__progress-bar__3cOaz{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.AutocompleteField__progress-bar-striped__3hIP0,.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar__3cOaz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.AutocompleteField__progress-bar__3cOaz.AutocompleteField__active__2cBDW,.AutocompleteField__progress__3Ho2G.AutocompleteField__active__2cBDW .AutocompleteField__progress-bar__3cOaz{-webkit-animation:AutocompleteField__progress-bar-stripes__2eH4S 2s linear infinite;animation:AutocompleteField__progress-bar-stripes__2eH4S 2s linear infinite}.AutocompleteField__progress-bar-success__1qJ27{background-color:#5cb85c}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-success__1qJ27{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__progress-bar-info__13u8H{background-color:#5bc0de}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-info__13u8H{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__progress-bar-warning__YLRon{background-color:#f0ad4e}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-warning__YLRon{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__progress-bar-danger__3Kh-p{background-color:#ef5354}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-danger__3Kh-p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__tooltip__1SKAY{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.AutocompleteField__tooltip__1SKAY.AutocompleteField__in__1TAkw{filter:alpha(opacity=90);opacity:.9}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top__2XrIo{padding:5px 0;margin-top:-3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__right__CyNJs{padding:0 5px;margin-left:3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom__3VHcl{padding:5px 0;margin-top:3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__left__1Fg1D{padding:0 5px;margin-left:-3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top__2XrIo .AutocompleteField__tooltip-arrow__EGv_4{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top-left__2NghJ .AutocompleteField__tooltip-arrow__EGv_4{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top-right__2Uoke .AutocompleteField__tooltip-arrow__EGv_4{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__right__CyNJs .AutocompleteField__tooltip-arrow__EGv_4{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__left__1Fg1D .AutocompleteField__tooltip-arrow__EGv_4{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom__3VHcl .AutocompleteField__tooltip-arrow__EGv_4{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom-left__3RIok .AutocompleteField__tooltip-arrow__EGv_4{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom-right__2ySey .AutocompleteField__tooltip-arrow__EGv_4{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AutocompleteField__tooltip-inner__Xwcw3{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.AutocompleteField__tooltip-arrow__EGv_4{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.AutocompleteField__container__3bx1h{position:relative}.AutocompleteField__suggestionsContainer__1XjWG{display:none}.AutocompleteField__suggestionsContainerOpen__1s0BC{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 0 4px hsla(217,8%,50%,.5);list-style-type:none;margin-top:6px;max-height:200px;overflow-y:auto;padding:0;position:absolute;top:40px;width:100%;z-index:10;display:block}.AutocompleteField__suggestionsList__3326u{margin:0;padding:0;list-style-type:none}.AutocompleteField__suggestion__wB3Wf{cursor:pointer;border-bottom:1px solid #ccc}.AutocompleteField__suggestion__wB3Wf:last-child{border:none}.AutocompleteField__suggestion__wB3Wf div{padding:0}.AutocompleteField__suggestion__wB3Wf span{padding:12px;display:inline-block;width:100%}.AutocompleteField__suggestionHighlighted__2uhI8{color:#1977d6;background:#e6e6e6}@-webkit-keyframes EmptyList__progress-bar-stripes__1Jjas{0%{background-position:40px 0}to{background-position:0 0}}@keyframes EmptyList__progress-bar-stripes__1Jjas{0%{background-position:40px 0}to{background-position:0 0}}.EmptyList__progress__2L_Hh{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.EmptyList__progress-bar__OpZz-{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.EmptyList__progress-bar-striped__1asYW,.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar__OpZz-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.EmptyList__progress-bar__OpZz-.EmptyList__active__DolKG,.EmptyList__progress__2L_Hh.EmptyList__active__DolKG .EmptyList__progress-bar__OpZz-{-webkit-animation:EmptyList__progress-bar-stripes__1Jjas 2s linear infinite;animation:EmptyList__progress-bar-stripes__1Jjas 2s linear infinite}.EmptyList__progress-bar-success__1ei_Z{background-color:#5cb85c}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-success__1ei_Z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__progress-bar-info__3fE7b{background-color:#5bc0de}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-info__3fE7b{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__progress-bar-warning__3qQxn{background-color:#f0ad4e}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-warning__3qQxn{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__progress-bar-danger__3BYEp{background-color:#ef5354}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-danger__3BYEp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__tooltip__1XoMm{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.EmptyList__tooltip__1XoMm.EmptyList__in__1-ODX{filter:alpha(opacity=90);opacity:.9}.EmptyList__tooltip__1XoMm.EmptyList__top__3QNWa{padding:5px 0;margin-top:-3px}.EmptyList__tooltip__1XoMm.EmptyList__right__26zZU{padding:0 5px;margin-left:3px}.EmptyList__tooltip__1XoMm.EmptyList__bottom__3xhga{padding:5px 0;margin-top:3px}.EmptyList__tooltip__1XoMm.EmptyList__left__2EH1p{padding:0 5px;margin-left:-3px}.EmptyList__tooltip__1XoMm.EmptyList__top__3QNWa .EmptyList__tooltip-arrow__JrjXp{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__top-left__Mr2pl .EmptyList__tooltip-arrow__JrjXp{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__top-right__2TGrl .EmptyList__tooltip-arrow__JrjXp{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__right__26zZU .EmptyList__tooltip-arrow__JrjXp{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__left__2EH1p .EmptyList__tooltip-arrow__JrjXp{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__bottom__3xhga .EmptyList__tooltip-arrow__JrjXp{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__bottom-left__1pzfN .EmptyList__tooltip-arrow__JrjXp{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__bottom-right__2XkE9 .EmptyList__tooltip-arrow__JrjXp{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyList__tooltip-inner__ydWol{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.EmptyList__tooltip-arrow__JrjXp{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.EmptyList__empty__1pTM6{text-align:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;padding-top:100px;margin-top:60px}.EmptyList__emptyContainer__1467p{margin:0 auto;width:350px}.EmptyList__emptyContainer__1467p .EmptyList__emptyContent__1gaoa{margin-top:30px;border:1px solid #f5f5f5;padding:15px;text-align:left;background:#fff}.EmptyList__emptyContainer__1467p ol{padding-left:15px;margin-bottom:0;padding-top:10px;padding-bottom:10px}.EmptyList__emptyContainer__1467p li{padding-left:6px}.EmptyList__emptyLabel__bXs_y{color:#20252d;display:block;font-size:20px;padding-bottom:30px;width:250px;margin:0 auto;line-height:26px}.EmptyList__noResults__3Tisc{background:transparent}.EmptyList__noResultsLabel__K4m_A{padding-bottom:0}.EmptyList__image__1k3Yi{height:70px;margin-bottom:30px}.EmptyList__code__3JZWJ{padding:2px 6px;font-size:16px}@-webkit-keyframes CopyableBlock__progress-bar-stripes__1ipG6{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CopyableBlock__progress-bar-stripes__1ipG6{0%{background-position:40px 0}to{background-position:0 0}}.CopyableBlock__progress__2stXW{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CopyableBlock__progress-bar__3xi0A{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CopyableBlock__progress-bar-striped__2lmkl,.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar__3xi0A{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CopyableBlock__progress-bar__3xi0A.CopyableBlock__active__1X4VL,.CopyableBlock__progress__2stXW.CopyableBlock__active__1X4VL .CopyableBlock__progress-bar__3xi0A{-webkit-animation:CopyableBlock__progress-bar-stripes__1ipG6 2s linear infinite;animation:CopyableBlock__progress-bar-stripes__1ipG6 2s linear infinite}.CopyableBlock__progress-bar-success__2th1A{background-color:#5cb85c}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-success__2th1A{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__progress-bar-info__rmB4P{background-color:#5bc0de}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-info__rmB4P{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__progress-bar-warning__17lrc{background-color:#f0ad4e}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-warning__17lrc{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__progress-bar-danger__1x_WG{background-color:#ef5354}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-danger__1x_WG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__tooltip__2s-8y{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CopyableBlock__tooltip__2s-8y.CopyableBlock__in__amhuo{filter:alpha(opacity=90);opacity:.9}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top__1SBh_{padding:5px 0;margin-top:-3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__right__3M_BP{padding:0 5px;margin-left:3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom__2faDE{padding:5px 0;margin-top:3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__left__1orYH{padding:0 5px;margin-left:-3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top__1SBh_ .CopyableBlock__tooltip-arrow__1_NZj{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top-left__3cdG_ .CopyableBlock__tooltip-arrow__1_NZj{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top-right__30nd4 .CopyableBlock__tooltip-arrow__1_NZj{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__right__3M_BP .CopyableBlock__tooltip-arrow__1_NZj{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__left__1orYH .CopyableBlock__tooltip-arrow__1_NZj{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom__2faDE .CopyableBlock__tooltip-arrow__1_NZj{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom-left__1imtm .CopyableBlock__tooltip-arrow__1_NZj{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom-right__gzmDN .CopyableBlock__tooltip-arrow__1_NZj{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CopyableBlock__tooltip-inner__3h-61{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CopyableBlock__tooltip-arrow__1_NZj{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CopyableBlock__main__1KLm8{margin:30px auto;border-radius:3px;background-color:#f3f6f8;padding:15px}.CopyableBlock__pre__3OKn9{padding:0!important;background-color:transparent!important;margin-bottom:10px}.CopyableBlock__copyButton__1m-rB{width:100%}@-webkit-keyframes ConfirmMnemonic__progress-bar-stripes__hzvI5{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ConfirmMnemonic__progress-bar-stripes__hzvI5{0%{background-position:40px 0}to{background-position:0 0}}.ConfirmMnemonic__progress__2wGv_{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ConfirmMnemonic__progress-bar__28wLF{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ConfirmMnemonic__progress-bar-striped__v-TKi,.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar__28wLF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ConfirmMnemonic__progress-bar__28wLF.ConfirmMnemonic__active__3BQ33,.ConfirmMnemonic__progress__2wGv_.ConfirmMnemonic__active__3BQ33 .ConfirmMnemonic__progress-bar__28wLF{-webkit-animation:ConfirmMnemonic__progress-bar-stripes__hzvI5 2s linear infinite;animation:ConfirmMnemonic__progress-bar-stripes__hzvI5 2s linear infinite}.ConfirmMnemonic__progress-bar-success__1l0w4{background-color:#5cb85c}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-success__1l0w4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__progress-bar-info__38Onq{background-color:#5bc0de}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-info__38Onq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__progress-bar-warning__1iNMP{background-color:#f0ad4e}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-warning__1iNMP{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__progress-bar-danger__1Ybfu{background-color:#ef5354}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-danger__1Ybfu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__tooltip__1VXcq{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__in__2C6us{filter:alpha(opacity=90);opacity:.9}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top__2OovI{padding:5px 0;margin-top:-3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__right__1BO6Z{padding:0 5px;margin-left:3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom__1_6zW{padding:5px 0;margin-top:3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__left__3qyaT{padding:0 5px;margin-left:-3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top__2OovI .ConfirmMnemonic__tooltip-arrow__2Mmg6{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top-left__1tQ2S .ConfirmMnemonic__tooltip-arrow__2Mmg6{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top-right__Tbred .ConfirmMnemonic__tooltip-arrow__2Mmg6{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__right__1BO6Z .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__left__3qyaT .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom__1_6zW .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom-left__fg21- .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom-right__3SQnf .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmMnemonic__tooltip-inner__3O-Qm{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ConfirmMnemonic__tooltip-arrow__2Mmg6{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ConfirmMnemonic__submit__1Shoc{float:left}.ConfirmMnemonic__seed__nWB5b{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#f8f8f8;border-radius:3px;border:1px solid #f5f5f5;padding:6px 0;color:#20252d}.ConfirmMnemonic__seedWord__3KN5P{width:22%;height:36px;margin:5px 10px 5px 0}.ConfirmMnemonic__seedWord__3KN5P,.ConfirmMnemonic__seedWord__3KN5P input{text-align:center}.ConfirmMnemonic__seedArea__3ZdYC{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:15px}.ConfirmMnemonic__container__2SqXP{width:540px}@-webkit-keyframes ConsoleSection__progress-bar-stripes__2tlpB{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ConsoleSection__progress-bar-stripes__2tlpB{0%{background-position:40px 0}to{background-position:0 0}}.ConsoleSection__progress__3OO9b{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ConsoleSection__progress-bar__1b0PU{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ConsoleSection__progress-bar-striped__1e9_q,.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar__1b0PU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ConsoleSection__progress-bar__1b0PU.ConsoleSection__active__1-bEw,.ConsoleSection__progress__3OO9b.ConsoleSection__active__1-bEw .ConsoleSection__progress-bar__1b0PU{-webkit-animation:ConsoleSection__progress-bar-stripes__2tlpB 2s linear infinite;animation:ConsoleSection__progress-bar-stripes__2tlpB 2s linear infinite}.ConsoleSection__progress-bar-success__1eNaV{background-color:#5cb85c}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-success__1eNaV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__progress-bar-info__Cz2ak{background-color:#5bc0de}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-info__Cz2ak{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__progress-bar-warning__2TKfU{background-color:#f0ad4e}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-warning__2TKfU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__progress-bar-danger__2Zf54{background-color:#ef5354}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-danger__2Zf54{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__tooltip__GkFSS{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ConsoleSection__tooltip__GkFSS.ConsoleSection__in__36AYU{filter:alpha(opacity=90);opacity:.9}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top__1EBdJ{padding:5px 0;margin-top:-3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__right__3JOvF{padding:0 5px;margin-left:3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom__2Grn9{padding:5px 0;margin-top:3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__left__1RoJV{padding:0 5px;margin-left:-3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top__1EBdJ .ConsoleSection__tooltip-arrow__r5pTQ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top-left__1_jY2 .ConsoleSection__tooltip-arrow__r5pTQ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top-right__3dlY6 .ConsoleSection__tooltip-arrow__r5pTQ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__right__3JOvF .ConsoleSection__tooltip-arrow__r5pTQ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__left__1RoJV .ConsoleSection__tooltip-arrow__r5pTQ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom__2Grn9 .ConsoleSection__tooltip-arrow__r5pTQ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom-left__20WrN .ConsoleSection__tooltip-arrow__r5pTQ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom-right__2phiX .ConsoleSection__tooltip-arrow__r5pTQ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConsoleSection__tooltip-inner__2YkFQ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ConsoleSection__tooltip-arrow__r5pTQ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ConsoleSection__main__dLChn{height:100%}.ConsoleSection__reactConsoleContainer__34lQ6{box-sizing:border-box;height:calc(100% - 121px);padding:30px;overflow:scroll;background-color:#f3f6f8}.ConsoleSection__input__BLXlA{height:65px;border:none;color:#20252d;padding:10px 12px;width:750px}.ConsoleSection__inputBox__301o3{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-top:1px solid #f5f5f5}@-webkit-keyframes ListItem__progress-bar-stripes__31rn8{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__31rn8{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__3FfjV{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__1Lgtj{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__1C2_f,.ListItem__progress-striped__9KLa0 .ListItem__progress-bar__1Lgtj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__1Lgtj.ListItem__active__3sHME,.ListItem__progress__3FfjV.ListItem__active__3sHME .ListItem__progress-bar__1Lgtj{-webkit-animation:ListItem__progress-bar-stripes__31rn8 2s linear infinite;animation:ListItem__progress-bar-stripes__31rn8 2s linear infinite}.ListItem__progress-bar-success__1cHLI{background-color:#5cb85c}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-success__1cHLI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__2CC8p{background-color:#5bc0de}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-info__2CC8p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__3POTB{background-color:#f0ad4e}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-warning__3POTB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__34TNF{background-color:#ef5354}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-danger__34TNF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__2fhGc{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__2fhGc.ListItem__in__3640W{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__2fhGc.ListItem__top__2mZoE{padding:5px 0;margin-top:-3px}.ListItem__tooltip__2fhGc.ListItem__right__1jvZV{padding:0 5px;margin-left:3px}.ListItem__tooltip__2fhGc.ListItem__bottom__2h7cM{padding:5px 0;margin-top:3px}.ListItem__tooltip__2fhGc.ListItem__left__xR670{padding:0 5px;margin-left:-3px}.ListItem__tooltip__2fhGc.ListItem__top__2mZoE .ListItem__tooltip-arrow__1kw7y{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__2fhGc.ListItem__top-left__OYOVh .ListItem__tooltip-arrow__1kw7y{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__2fhGc.ListItem__top-right__NuiGB .ListItem__tooltip-arrow__1kw7y{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__2fhGc.ListItem__right__1jvZV .ListItem__tooltip-arrow__1kw7y{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__2fhGc.ListItem__left__xR670 .ListItem__tooltip-arrow__1kw7y{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__2fhGc.ListItem__bottom__2h7cM .ListItem__tooltip-arrow__1kw7y{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__2fhGc.ListItem__bottom-left__3u3SI .ListItem__tooltip-arrow__1kw7y{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__2fhGc.ListItem__bottom-right__4eHhU .ListItem__tooltip-arrow__1kw7y{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__29d02{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__1kw7y{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__main__1i9rL{background-color:#fff;border:1px solid #f5f5f5;margin-bottom:30px;font-family:Nitti}.ListItem__title__3-OgI{border-bottom:1px solid #f5f5f5;padding:10px;color:#20252d}.ListItem__messageBox__1apGn{padding:10px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}@-webkit-keyframes EmptyContent__progress-bar-stripes__1yHSl{0%{background-position:40px 0}to{background-position:0 0}}@keyframes EmptyContent__progress-bar-stripes__1yHSl{0%{background-position:40px 0}to{background-position:0 0}}.EmptyContent__progress__bX7n8{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.EmptyContent__progress-bar__GwaJi{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.EmptyContent__progress-bar-striped__2H4IL,.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar__GwaJi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.EmptyContent__progress-bar__GwaJi.EmptyContent__active__2dGx5,.EmptyContent__progress__bX7n8.EmptyContent__active__2dGx5 .EmptyContent__progress-bar__GwaJi{-webkit-animation:EmptyContent__progress-bar-stripes__1yHSl 2s linear infinite;animation:EmptyContent__progress-bar-stripes__1yHSl 2s linear infinite}.EmptyContent__progress-bar-success__s_lGk{background-color:#5cb85c}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-success__s_lGk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__progress-bar-info__1O6yZ{background-color:#5bc0de}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-info__1O6yZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__progress-bar-warning__3yx4R{background-color:#f0ad4e}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-warning__3yx4R{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__progress-bar-danger__a7E9O{background-color:#ef5354}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-danger__a7E9O{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__tooltip__Uv8sG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.EmptyContent__tooltip__Uv8sG.EmptyContent__in__2dN4D{filter:alpha(opacity=90);opacity:.9}.EmptyContent__tooltip__Uv8sG.EmptyContent__top__AVFxC{padding:5px 0;margin-top:-3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__right__2LpDL{padding:0 5px;margin-left:3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom__30en-{padding:5px 0;margin-top:3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__left__3O_Q5{padding:0 5px;margin-left:-3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__top__AVFxC .EmptyContent__tooltip-arrow__2anDt{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__top-left__QeKkN .EmptyContent__tooltip-arrow__2anDt{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__top-right__1xklU .EmptyContent__tooltip-arrow__2anDt{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__right__2LpDL .EmptyContent__tooltip-arrow__2anDt{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__left__3O_Q5 .EmptyContent__tooltip-arrow__2anDt{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom__30en- .EmptyContent__tooltip-arrow__2anDt{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom-left__1yJWY .EmptyContent__tooltip-arrow__2anDt{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom-right__3mOIr .EmptyContent__tooltip-arrow__2anDt{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyContent__tooltip-inner__hb2Fm{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.EmptyContent__tooltip-arrow__2anDt{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.EmptyContent__emptyContainer__3Y4UB{margin:30px auto;width:350px}.EmptyContent__emptyContainer__3Y4UB .EmptyContent__emptyContent__kTzeB{border:1px solid #f5f5f5;padding:15px;text-align:left;background:#fff}.EmptyContent__emptyContainer__3Y4UB ol{padding-left:15px;margin-bottom:0;padding-top:10px;padding-bottom:10px}.EmptyContent__emptyContainer__3Y4UB li{padding-left:6px}@-webkit-keyframes ErrorBanner__progress-bar-stripes__3ku9y{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ErrorBanner__progress-bar-stripes__3ku9y{0%{background-position:40px 0}to{background-position:0 0}}.ErrorBanner__progress__3D-He{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ErrorBanner__progress-bar__JX1wI{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ErrorBanner__progress-bar-striped__2UqpK,.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar__JX1wI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ErrorBanner__progress-bar__JX1wI.ErrorBanner__active__AEp9i,.ErrorBanner__progress__3D-He.ErrorBanner__active__AEp9i .ErrorBanner__progress-bar__JX1wI{-webkit-animation:ErrorBanner__progress-bar-stripes__3ku9y 2s linear infinite;animation:ErrorBanner__progress-bar-stripes__3ku9y 2s linear infinite}.ErrorBanner__progress-bar-success__XPu7b{background-color:#5cb85c}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-success__XPu7b{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__progress-bar-info__3Vfht{background-color:#5bc0de}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-info__3Vfht{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__progress-bar-warning__xe5IK{background-color:#f0ad4e}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-warning__xe5IK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__progress-bar-danger__1p2XN{background-color:#ef5354}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-danger__1p2XN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__tooltip__HAEZC{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ErrorBanner__tooltip__HAEZC.ErrorBanner__in__1dSay{filter:alpha(opacity=90);opacity:.9}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top__1GIKL{padding:5px 0;margin-top:-3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__right__2J93q{padding:0 5px;margin-left:3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom__3Abvh{padding:5px 0;margin-top:3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__left__IRdDJ{padding:0 5px;margin-left:-3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top__1GIKL .ErrorBanner__tooltip-arrow__1jDcV{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top-left__HUq1S .ErrorBanner__tooltip-arrow__1jDcV{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top-right__bZwNC .ErrorBanner__tooltip-arrow__1jDcV{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__right__2J93q .ErrorBanner__tooltip-arrow__1jDcV{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__left__IRdDJ .ErrorBanner__tooltip-arrow__1jDcV{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom__3Abvh .ErrorBanner__tooltip-arrow__1jDcV{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom-left__1Mvpa .ErrorBanner__tooltip-arrow__1jDcV{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom-right__1dYOm .ErrorBanner__tooltip-arrow__1jDcV{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ErrorBanner__tooltip-inner__2-nRg{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ErrorBanner__tooltip-arrow__1jDcV{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ErrorBanner__main__1Py51{background:#f8cece;color:#d02828;border:1px solid #f3aaaa;border-radius:3px;padding:20px;margin-bottom:20px;word-wrap:break-word}.ErrorBanner__main__1Py51 a{color:#d02828;text-decoration:underline}.ErrorBanner__mainSuccess__2jGHr{background:#dff0d3;color:#227855;border:1px solid #cbe6b7;border-radius:3px;padding:20px;margin-bottom:20px;word-wrap:break-word}.ErrorBanner__mainSuccess__2jGHr a{color:#227855;text-decoration:underline}.ErrorBanner__message__R0tyV{margin-bottom:15px}.ErrorBanner__extra__1j-Fm{line-height:1.3}@-webkit-keyframes FieldLabel__progress-bar-stripes__2-oBG{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FieldLabel__progress-bar-stripes__2-oBG{0%{background-position:40px 0}to{background-position:0 0}}.FieldLabel__progress__3YeL-{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FieldLabel__progress-bar__2eLcu{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FieldLabel__progress-bar-striped__2zJbx,.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar__2eLcu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FieldLabel__progress-bar__2eLcu.FieldLabel__active__1f483,.FieldLabel__progress__3YeL-.FieldLabel__active__1f483 .FieldLabel__progress-bar__2eLcu{-webkit-animation:FieldLabel__progress-bar-stripes__2-oBG 2s linear infinite;animation:FieldLabel__progress-bar-stripes__2-oBG 2s linear infinite}.FieldLabel__progress-bar-success__9zwDp{background-color:#5cb85c}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-success__9zwDp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__progress-bar-info__2747F{background-color:#5bc0de}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-info__2747F{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__progress-bar-warning__2xbaa{background-color:#f0ad4e}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-warning__2xbaa{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__progress-bar-danger__23aul{background-color:#ef5354}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-danger__23aul{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__tooltip__2UeB2{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FieldLabel__tooltip__2UeB2.FieldLabel__in__39x3l{filter:alpha(opacity=90);opacity:.9}.FieldLabel__tooltip__2UeB2.FieldLabel__top__17UQE{padding:5px 0;margin-top:-3px}.FieldLabel__tooltip__2UeB2.FieldLabel__right__1wvfo{padding:0 5px;margin-left:3px}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom__ipWXH{padding:5px 0;margin-top:3px}.FieldLabel__tooltip__2UeB2.FieldLabel__left__1mn7T{padding:0 5px;margin-left:-3px}.FieldLabel__tooltip__2UeB2.FieldLabel__top__17UQE .FieldLabel__tooltip-arrow__3Oea5{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__top-left__30u3Z .FieldLabel__tooltip-arrow__3Oea5{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__top-right__h8TBT .FieldLabel__tooltip-arrow__3Oea5{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__right__1wvfo .FieldLabel__tooltip-arrow__3Oea5{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__left__1mn7T .FieldLabel__tooltip-arrow__3Oea5{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom__ipWXH .FieldLabel__tooltip-arrow__3Oea5{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom-left__JS4MQ .FieldLabel__tooltip-arrow__3Oea5{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom-right__nM2LH .FieldLabel__tooltip-arrow__3Oea5{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FieldLabel__tooltip-inner__bfQZW{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FieldLabel__tooltip-arrow__3Oea5{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FieldLabel__main__IFBc0{font-size:12px;text-transform:uppercase}@-webkit-keyframes Flash__progress-bar-stripes__1az7e{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Flash__progress-bar-stripes__1az7e{0%{background-position:40px 0}to{background-position:0 0}}.Flash__progress__24VZm{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Flash__progress-bar__22Dwb{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Flash__progress-bar-striped__qd-6_,.Flash__progress-striped__3VoEB .Flash__progress-bar__22Dwb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Flash__progress-bar__22Dwb.Flash__active__13uae,.Flash__progress__24VZm.Flash__active__13uae .Flash__progress-bar__22Dwb{-webkit-animation:Flash__progress-bar-stripes__1az7e 2s linear infinite;animation:Flash__progress-bar-stripes__1az7e 2s linear infinite}.Flash__progress-bar-success__ioNuj{background-color:#5cb85c}.Flash__progress-striped__3VoEB .Flash__progress-bar-success__ioNuj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__progress-bar-info__1XGc8{background-color:#5bc0de}.Flash__progress-striped__3VoEB .Flash__progress-bar-info__1XGc8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__progress-bar-warning__3Teta{background-color:#f0ad4e}.Flash__progress-striped__3VoEB .Flash__progress-bar-warning__3Teta{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__progress-bar-danger__129aY{background-color:#ef5354}.Flash__progress-striped__3VoEB .Flash__progress-bar-danger__129aY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__tooltip__3_PIV{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Flash__tooltip__3_PIV.Flash__in__JJM7r{filter:alpha(opacity=90);opacity:.9}.Flash__tooltip__3_PIV.Flash__top__1cfxW{padding:5px 0;margin-top:-3px}.Flash__tooltip__3_PIV.Flash__right__2NFte{padding:0 5px;margin-left:3px}.Flash__tooltip__3_PIV.Flash__bottom__12V-2{padding:5px 0;margin-top:3px}.Flash__tooltip__3_PIV.Flash__left__1PTHD{padding:0 5px;margin-left:-3px}.Flash__tooltip__3_PIV.Flash__top__1cfxW .Flash__tooltip-arrow__1OBM2{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Flash__tooltip__3_PIV.Flash__top-left__3WUPn .Flash__tooltip-arrow__1OBM2{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Flash__tooltip__3_PIV.Flash__top-right__3MZdy .Flash__tooltip-arrow__1OBM2{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Flash__tooltip__3_PIV.Flash__right__2NFte .Flash__tooltip-arrow__1OBM2{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Flash__tooltip__3_PIV.Flash__left__1PTHD .Flash__tooltip-arrow__1OBM2{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Flash__tooltip__3_PIV.Flash__bottom__12V-2 .Flash__tooltip-arrow__1OBM2{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Flash__tooltip__3_PIV.Flash__bottom-left__rxgVg .Flash__tooltip-arrow__1OBM2{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Flash__tooltip__3_PIV.Flash__bottom-right__qtoEa .Flash__tooltip-arrow__1OBM2{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Flash__tooltip-inner__27N93{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Flash__tooltip-arrow__1OBM2{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Flash__main__33MVw{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;top:60px}.Flash__alert__1rexD{padding:15px;border-bottom:1px solid transparent}.Flash__info__1Pa8b{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.Flash__success__2JEIi{background-color:#dff0d3;border-color:#cbe6b7;color:#227855}.Flash__danger__1S0HK{background-color:#f8cece;border-color:#f3aaaa;color:#d02828}.Flash__content__16af6{width:100%;-webkit-flex:1;-ms-flex:1;flex:1}.Flash__content__16af6 p{margin:0}@-webkit-keyframes FormContainer__progress-bar-stripes__17Ypv{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormContainer__progress-bar-stripes__17Ypv{0%{background-position:40px 0}to{background-position:0 0}}.FormContainer__progress__1Zz89{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormContainer__progress-bar__NFDHe{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormContainer__progress-bar-striped__92lyR,.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar__NFDHe{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormContainer__progress-bar__NFDHe.FormContainer__active__lciQM,.FormContainer__progress__1Zz89.FormContainer__active__lciQM .FormContainer__progress-bar__NFDHe{-webkit-animation:FormContainer__progress-bar-stripes__17Ypv 2s linear infinite;animation:FormContainer__progress-bar-stripes__17Ypv 2s linear infinite}.FormContainer__progress-bar-success__3Z1EW{background-color:#5cb85c}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-success__3Z1EW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__progress-bar-info__TYeRo{background-color:#5bc0de}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-info__TYeRo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__progress-bar-warning__3z_Dt{background-color:#f0ad4e}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-warning__3z_Dt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__progress-bar-danger__3za5W{background-color:#ef5354}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-danger__3za5W{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__tooltip__18ury{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormContainer__tooltip__18ury.FormContainer__in__tsIs-{filter:alpha(opacity=90);opacity:.9}.FormContainer__tooltip__18ury.FormContainer__top__2L2N6{padding:5px 0;margin-top:-3px}.FormContainer__tooltip__18ury.FormContainer__right__F5eW_{padding:0 5px;margin-left:3px}.FormContainer__tooltip__18ury.FormContainer__bottom__qnt-J{padding:5px 0;margin-top:3px}.FormContainer__tooltip__18ury.FormContainer__left__f5n2Q{padding:0 5px;margin-left:-3px}.FormContainer__tooltip__18ury.FormContainer__top__2L2N6 .FormContainer__tooltip-arrow__n9Dkn{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormContainer__tooltip__18ury.FormContainer__top-left__18sot .FormContainer__tooltip-arrow__n9Dkn{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormContainer__tooltip__18ury.FormContainer__top-right__1j8uC .FormContainer__tooltip-arrow__n9Dkn{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormContainer__tooltip__18ury.FormContainer__right__F5eW_ .FormContainer__tooltip-arrow__n9Dkn{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormContainer__tooltip__18ury.FormContainer__left__f5n2Q .FormContainer__tooltip-arrow__n9Dkn{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormContainer__tooltip__18ury.FormContainer__bottom__qnt-J .FormContainer__tooltip-arrow__n9Dkn{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormContainer__tooltip__18ury.FormContainer__bottom-left__2Q22_ .FormContainer__tooltip-arrow__n9Dkn{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormContainer__tooltip__18ury.FormContainer__bottom-right__zvxVK .FormContainer__tooltip-arrow__n9Dkn{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormContainer__tooltip-inner__25zye{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormContainer__tooltip-arrow__n9Dkn{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormContainer__main__1XmHt{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0 30px;margin:90px 30px 30px}.FormContainer__content__1sxOR{min-width:400px;width:55%;margin:0 auto}.FormContainer__submit__3QrVn{text-align:right}@-webkit-keyframes TutorialInfo__progress-bar-stripes__2vFTS{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TutorialInfo__progress-bar-stripes__2vFTS{0%{background-position:40px 0}to{background-position:0 0}}.TutorialInfo__progress__nsfo6{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TutorialInfo__progress-bar__1rXlE{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TutorialInfo__progress-bar-striped__evIaI,.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar__1rXlE{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TutorialInfo__progress-bar__1rXlE.TutorialInfo__active__3vG-z,.TutorialInfo__progress__nsfo6.TutorialInfo__active__3vG-z .TutorialInfo__progress-bar__1rXlE{-webkit-animation:TutorialInfo__progress-bar-stripes__2vFTS 2s linear infinite;animation:TutorialInfo__progress-bar-stripes__2vFTS 2s linear infinite}.TutorialInfo__progress-bar-success__3AIrj{background-color:#5cb85c}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-success__3AIrj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__progress-bar-info__2_pjS{background-color:#5bc0de}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-info__2_pjS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__progress-bar-warning__2gq25{background-color:#f0ad4e}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-warning__2gq25{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__progress-bar-danger__3WjNO{background-color:#ef5354}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-danger__3WjNO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__tooltip__1AmCG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TutorialInfo__tooltip__1AmCG.TutorialInfo__in__3w60o{filter:alpha(opacity=90);opacity:.9}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top__2OnVl{padding:5px 0;margin-top:-3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__right__3rsqe{padding:0 5px;margin-left:3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom__Lieo-{padding:5px 0;margin-top:3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__left__35VbX{padding:0 5px;margin-left:-3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top__2OnVl .TutorialInfo__tooltip-arrow__1nSCS{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top-left__3W-qq .TutorialInfo__tooltip-arrow__1nSCS{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top-right__3BdQr .TutorialInfo__tooltip-arrow__1nSCS{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__right__3rsqe .TutorialInfo__tooltip-arrow__1nSCS{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__left__35VbX .TutorialInfo__tooltip-arrow__1nSCS{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom__Lieo- .TutorialInfo__tooltip-arrow__1nSCS{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom-left__1D0OA .TutorialInfo__tooltip-arrow__1nSCS{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom-right__1cDj0 .TutorialInfo__tooltip-arrow__1nSCS{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialInfo__tooltip-inner__1UksN{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TutorialInfo__tooltip-arrow__1nSCS{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TutorialInfo__container__3Xwmp{width:100%;background-color:#fafafa;padding:25px 30px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.TutorialInfo__container__3Xwmp .TutorialInfo__image__2fEBi{margin-right:20px;margin-top:5px;height:30px;width:30px;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.TutorialInfo__container__3Xwmp .TutorialInfo__text__3SM08{-webkit-flex:10;-ms-flex:10;flex:10;font-size:13px;line-height:1.3;max-width:600px;padding-right:30px}.TutorialInfo__container__3Xwmp .TutorialInfo__text__3SM08 p:last-child{margin:0}.TutorialInfo__container__3Xwmp .TutorialInfo__listItemContainer__31PCM{margin:15px 0}.TutorialInfo__container__3Xwmp .TutorialInfo__listItemContainer__31PCM .TutorialInfo__listBullet__cYqkK{margin-right:10px;padding:2px;display:inline-block;border-radius:50%;background:#6ea9fc;width:18px;height:18px;font-size:10px;font-weight:500;text-align:center;line-height:14px;color:#fff}.TutorialInfo__container__3Xwmp .TutorialInfo__listItemContainer__31PCM .TutorialInfo__listItemGroup__3F-EB{margin-bottom:10px;font-size:13px;font-weight:500;line-height:1.4}.TutorialInfo__container__3Xwmp .TutorialInfo__nextWrapper__sfXS8{margin-left:30px;text-align:right;-webkit-flex:1;-ms-flex:1;flex:1}.TutorialInfo__container__3Xwmp .TutorialInfo__next__172nR{background-color:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAAAXNSR0IArs4c6QAAAVNJREFUKBWVkb9Lw0AUx99dE8Wxg6UIAbEOLkETB3Go+peYSaQ2g44ugv+BmDYFQek/4qAuLlaFOgg2QVRQcHK0Js/3Yi7Qmgo+OO79+LzvvbsD+I9ZzWDd9HrmXz2SIQLamhRni144NwqWgKgJAEGrGIv4fBQsr93KCSJusZIQYpJhu/k0O6xMQj9mNXo1Av00fAXQq5268aDqUjmk3KIxdtK4DNC/WGiF06qegZzouJUDBNxNi2URxRmcHa06eacx9mmMPfZp/ucoHl/OBRmwG8ElCFhKYMBTjZ1ho7f1KJdAtAexHHN+KTJESTdtDiKpr9zWjJcBRbsZHBGwkUL3n31Y7W4bbxwXkiSisEtODjSTQMxodC1h+WGbfP5zvuWd1CfWuvWpd46VFaySwzMlxynoanMQYlgiiGOS+UCAmy+pVfMgpQrWYTBv+o/FLJHjfAPWE3v8cKPKngAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:right 8px center;background-size:5px 9px;border:1px solid #6ea9fc;border-radius:2px;color:#6ea9fc;padding-right:20px}.TutorialInfo__container__3Xwmp button:active:focus{background-color:#6ea9fc;border-color:#6ea9fc;color:#fff}@-webkit-keyframes TutorialForm__progress-bar-stripes__lmJAW{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TutorialForm__progress-bar-stripes__lmJAW{0%{background-position:40px 0}to{background-position:0 0}}.TutorialForm__progress__3Py0L{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TutorialForm__progress-bar__1norf{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TutorialForm__progress-bar-striped__3j7pW,.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar__1norf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TutorialForm__progress-bar__1norf.TutorialForm__active__2KK-s,.TutorialForm__progress__3Py0L.TutorialForm__active__2KK-s .TutorialForm__progress-bar__1norf{-webkit-animation:TutorialForm__progress-bar-stripes__lmJAW 2s linear infinite;animation:TutorialForm__progress-bar-stripes__lmJAW 2s linear infinite}.TutorialForm__progress-bar-success__3nHcH{background-color:#5cb85c}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-success__3nHcH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__progress-bar-info__2TKnI{background-color:#5bc0de}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-info__2TKnI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__progress-bar-warning__1lBEu{background-color:#f0ad4e}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-warning__1lBEu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__progress-bar-danger__1zNDb{background-color:#ef5354}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-danger__1zNDb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__tooltip__2tCOR{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TutorialForm__tooltip__2tCOR.TutorialForm__in__34NG5{filter:alpha(opacity=90);opacity:.9}.TutorialForm__tooltip__2tCOR.TutorialForm__top__3yJ3W{padding:5px 0;margin-top:-3px}.TutorialForm__tooltip__2tCOR.TutorialForm__right__sFnqN{padding:0 5px;margin-left:3px}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom__2EFYx{padding:5px 0;margin-top:3px}.TutorialForm__tooltip__2tCOR.TutorialForm__left__39_VJ{padding:0 5px;margin-left:-3px}.TutorialForm__tooltip__2tCOR.TutorialForm__top__3yJ3W .TutorialForm__tooltip-arrow__5dmJe{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__top-left__1RLVV .TutorialForm__tooltip-arrow__5dmJe{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__top-right__Vm-PE .TutorialForm__tooltip-arrow__5dmJe{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__right__sFnqN .TutorialForm__tooltip-arrow__5dmJe{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__left__39_VJ .TutorialForm__tooltip-arrow__5dmJe{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom__2EFYx .TutorialForm__tooltip-arrow__5dmJe{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom-left__W5h9d .TutorialForm__tooltip-arrow__5dmJe{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom-right__2Q0jU .TutorialForm__tooltip-arrow__5dmJe{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialForm__tooltip-inner__3ZsY_{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TutorialForm__tooltip-arrow__5dmJe{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TutorialForm__container__1_1bJ{width:300px;margin:30px 60px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK{position:absolute;width:300px;min-height:100px;border:1px solid #6ea9fc;background-color:#fafafa}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK.TutorialForm__fixedTutorial__-0whm{position:fixed;top:150px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__header__2HZt3{background-color:#6ea9fc;box-sizing:border-box;color:#fff;padding:0 30px;height:60px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;width:100%}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe{margin:25px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV{margin:0}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listBullet__1FBxg{margin-right:10px;padding:2px;display:inline-block;border-radius:50%;background:#6ea9fc;width:18px;height:18px;font-size:10px;font-weight:500;text-align:center;line-height:14px;color:#fff}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemGroup__2v66w{display:inline-block;margin-bottom:10px;font-size:13px;font-weight:500;line-height:18px;color:#20252d}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemGroup__2v66w td{padding-bottom:5px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemDescription__jb1ji{color:#a3a9b8}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemDescription__jb1ji .TutorialForm__userInputData__2g-H0{color:#6ea9fc;font-weight:bolder}@-webkit-keyframes FormSection__progress-bar-stripes__1QcMN{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormSection__progress-bar-stripes__1QcMN{0%{background-position:40px 0}to{background-position:0 0}}.FormSection__progress__2ci9w{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormSection__progress-bar__AUG20{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormSection__progress-bar-striped__15CLT,.FormSection__progress-striped__25AVN .FormSection__progress-bar__AUG20{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormSection__progress-bar__AUG20.FormSection__active__2q6gP,.FormSection__progress__2ci9w.FormSection__active__2q6gP .FormSection__progress-bar__AUG20{-webkit-animation:FormSection__progress-bar-stripes__1QcMN 2s linear infinite;animation:FormSection__progress-bar-stripes__1QcMN 2s linear infinite}.FormSection__progress-bar-success__3UiIb{background-color:#5cb85c}.FormSection__progress-striped__25AVN .FormSection__progress-bar-success__3UiIb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__progress-bar-info__35WLU{background-color:#5bc0de}.FormSection__progress-striped__25AVN .FormSection__progress-bar-info__35WLU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__progress-bar-warning__1xku2{background-color:#f0ad4e}.FormSection__progress-striped__25AVN .FormSection__progress-bar-warning__1xku2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__progress-bar-danger__2W36c{background-color:#ef5354}.FormSection__progress-striped__25AVN .FormSection__progress-bar-danger__2W36c{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__tooltip__Xwzx9{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormSection__tooltip__Xwzx9.FormSection__in__1JTyJ{filter:alpha(opacity=90);opacity:.9}.FormSection__tooltip__Xwzx9.FormSection__top__3TiPS{padding:5px 0;margin-top:-3px}.FormSection__tooltip__Xwzx9.FormSection__right__2cUZo{padding:0 5px;margin-left:3px}.FormSection__tooltip__Xwzx9.FormSection__bottom__GOGKq{padding:5px 0;margin-top:3px}.FormSection__tooltip__Xwzx9.FormSection__left__1l0XJ{padding:0 5px;margin-left:-3px}.FormSection__tooltip__Xwzx9.FormSection__top__3TiPS .FormSection__tooltip-arrow__2EioC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormSection__tooltip__Xwzx9.FormSection__top-left__3lgou .FormSection__tooltip-arrow__2EioC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormSection__tooltip__Xwzx9.FormSection__top-right__2R4Nu .FormSection__tooltip-arrow__2EioC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormSection__tooltip__Xwzx9.FormSection__right__2cUZo .FormSection__tooltip-arrow__2EioC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormSection__tooltip__Xwzx9.FormSection__left__1l0XJ .FormSection__tooltip-arrow__2EioC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormSection__tooltip__Xwzx9.FormSection__bottom__GOGKq .FormSection__tooltip-arrow__2EioC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormSection__tooltip__Xwzx9.FormSection__bottom-left__3lmed .FormSection__tooltip-arrow__2EioC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormSection__tooltip__Xwzx9.FormSection__bottom-right__2F5cK .FormSection__tooltip-arrow__2EioC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormSection__tooltip-inner__owcub{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormSection__tooltip-arrow__2EioC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormSection__main__1qV8i{padding-bottom:30px;border-bottom:1px solid #f5f5f5;margin:30px 0}.FormSection__main__1qV8i:first-child{margin-top:0;padding-top:30px}.FormSection__main__1qV8i:last-child{border:0;margin-bottom:0;padding-bottom:60px}.FormSection__title__1XQXa{color:#20252d;font-weight:600;font-size:16px;text-transform:uppercase;margin-bottom:30px}@-webkit-keyframes GasField__progress-bar-stripes__3fjg-{0%{background-position:40px 0}to{background-position:0 0}}@keyframes GasField__progress-bar-stripes__3fjg-{0%{background-position:40px 0}to{background-position:0 0}}.GasField__progress__3IAKc{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.GasField__progress-bar__1vy-M{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.GasField__progress-bar-striped__1dEbd,.GasField__progress-striped__3sc3P .GasField__progress-bar__1vy-M{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.GasField__progress-bar__1vy-M.GasField__active__ol0k0,.GasField__progress__3IAKc.GasField__active__ol0k0 .GasField__progress-bar__1vy-M{-webkit-animation:GasField__progress-bar-stripes__3fjg- 2s linear infinite;animation:GasField__progress-bar-stripes__3fjg- 2s linear infinite}.GasField__progress-bar-success__1KpYp{background-color:#5cb85c}.GasField__progress-striped__3sc3P .GasField__progress-bar-success__1KpYp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__progress-bar-info__8oF5j{background-color:#5bc0de}.GasField__progress-striped__3sc3P .GasField__progress-bar-info__8oF5j{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__progress-bar-warning__RLo-L{background-color:#f0ad4e}.GasField__progress-striped__3sc3P .GasField__progress-bar-warning__RLo-L{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__progress-bar-danger__22Lak{background-color:#ef5354}.GasField__progress-striped__3sc3P .GasField__progress-bar-danger__22Lak{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__tooltip__1BxZF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.GasField__tooltip__1BxZF.GasField__in__3_LTt{filter:alpha(opacity=90);opacity:.9}.GasField__tooltip__1BxZF.GasField__top__1Hawz{padding:5px 0;margin-top:-3px}.GasField__tooltip__1BxZF.GasField__right__HZale{padding:0 5px;margin-left:3px}.GasField__tooltip__1BxZF.GasField__bottom__3uLzR{padding:5px 0;margin-top:3px}.GasField__tooltip__1BxZF.GasField__left__3srf7{padding:0 5px;margin-left:-3px}.GasField__tooltip__1BxZF.GasField__top__1Hawz .GasField__tooltip-arrow__35QXQ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.GasField__tooltip__1BxZF.GasField__top-left__3HEke .GasField__tooltip-arrow__35QXQ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GasField__tooltip__1BxZF.GasField__top-right__1XBMU .GasField__tooltip-arrow__35QXQ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GasField__tooltip__1BxZF.GasField__right__HZale .GasField__tooltip-arrow__35QXQ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.GasField__tooltip__1BxZF.GasField__left__3srf7 .GasField__tooltip-arrow__35QXQ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.GasField__tooltip__1BxZF.GasField__bottom__3uLzR .GasField__tooltip-arrow__35QXQ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GasField__tooltip__1BxZF.GasField__bottom-left__3K0RW .GasField__tooltip-arrow__35QXQ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GasField__tooltip__1BxZF.GasField__bottom-right__3khFt .GasField__tooltip-arrow__35QXQ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GasField__tooltip-inner__146qW{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.GasField__tooltip-arrow__35QXQ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.GasField__slider__DySSx{width:340px}@-webkit-keyframes JsonField__progress-bar-stripes__1yb9Z{0%{background-position:40px 0}to{background-position:0 0}}@keyframes JsonField__progress-bar-stripes__1yb9Z{0%{background-position:40px 0}to{background-position:0 0}}.JsonField__progress__3_KNn{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.JsonField__progress-bar__b6nzW{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.JsonField__progress-bar-striped__2exSW,.JsonField__progress-striped__gm4b_ .JsonField__progress-bar__b6nzW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.JsonField__progress-bar__b6nzW.JsonField__active__3Cyw-,.JsonField__progress__3_KNn.JsonField__active__3Cyw- .JsonField__progress-bar__b6nzW{-webkit-animation:JsonField__progress-bar-stripes__1yb9Z 2s linear infinite;animation:JsonField__progress-bar-stripes__1yb9Z 2s linear infinite}.JsonField__progress-bar-success__1ZCav{background-color:#5cb85c}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-success__1ZCav{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__progress-bar-info__33nT7{background-color:#5bc0de}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-info__33nT7{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__progress-bar-warning__Ko7kG{background-color:#f0ad4e}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-warning__Ko7kG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__progress-bar-danger__392-Y{background-color:#ef5354}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-danger__392-Y{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__tooltip__3XnpT{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.JsonField__tooltip__3XnpT.JsonField__in__3IuNj{filter:alpha(opacity=90);opacity:.9}.JsonField__tooltip__3XnpT.JsonField__top__2BT55{padding:5px 0;margin-top:-3px}.JsonField__tooltip__3XnpT.JsonField__right__qRPYP{padding:0 5px;margin-left:3px}.JsonField__tooltip__3XnpT.JsonField__bottom__FNUjL{padding:5px 0;margin-top:3px}.JsonField__tooltip__3XnpT.JsonField__left__3sudf{padding:0 5px;margin-left:-3px}.JsonField__tooltip__3XnpT.JsonField__top__2BT55 .JsonField__tooltip-arrow__2aWgB{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.JsonField__tooltip__3XnpT.JsonField__top-left__1xgAI .JsonField__tooltip-arrow__2aWgB{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.JsonField__tooltip__3XnpT.JsonField__top-right__2bkYr .JsonField__tooltip-arrow__2aWgB{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.JsonField__tooltip__3XnpT.JsonField__right__qRPYP .JsonField__tooltip-arrow__2aWgB{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.JsonField__tooltip__3XnpT.JsonField__left__3sudf .JsonField__tooltip-arrow__2aWgB{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.JsonField__tooltip__3XnpT.JsonField__bottom__FNUjL .JsonField__tooltip-arrow__2aWgB{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.JsonField__tooltip__3XnpT.JsonField__bottom-left__2JGqG .JsonField__tooltip-arrow__2aWgB{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.JsonField__tooltip__3XnpT.JsonField__bottom-right__In1HQ .JsonField__tooltip-arrow__2aWgB{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.JsonField__tooltip-inner__2CWD9{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.JsonField__tooltip-arrow__2aWgB{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.JsonField__editorWrapper__24TdT{border:1px solid #ccc;border-radius:3px;padding:12px 8px}.JsonField__editorError__3aglE{border-color:#ef5354}.JsonField__errorBlock__2YbXG{color:#ef5354}@-webkit-keyframes KeyValueTable__progress-bar-stripes__39-LP{0%{background-position:40px 0}to{background-position:0 0}}@keyframes KeyValueTable__progress-bar-stripes__39-LP{0%{background-position:40px 0}to{background-position:0 0}}.KeyValueTable__progress__1iAIc{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.KeyValueTable__progress-bar__d0dyO{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.KeyValueTable__progress-bar-striped__2vnML,.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar__d0dyO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.KeyValueTable__progress-bar__d0dyO.KeyValueTable__active__Dzb4m,.KeyValueTable__progress__1iAIc.KeyValueTable__active__Dzb4m .KeyValueTable__progress-bar__d0dyO{-webkit-animation:KeyValueTable__progress-bar-stripes__39-LP 2s linear infinite;animation:KeyValueTable__progress-bar-stripes__39-LP 2s linear infinite}.KeyValueTable__progress-bar-success__3eE_r{background-color:#5cb85c}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-success__3eE_r{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__progress-bar-info__30oiy{background-color:#5bc0de}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-info__30oiy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__progress-bar-warning__v6bAo{background-color:#f0ad4e}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-warning__v6bAo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__progress-bar-danger__3nmtw{background-color:#ef5354}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-danger__3nmtw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__tooltip__1ApT3{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.KeyValueTable__tooltip__1ApT3.KeyValueTable__in__JPSct{filter:alpha(opacity=90);opacity:.9}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top__1eqqI{padding:5px 0;margin-top:-3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__right__2nDg9{padding:0 5px;margin-left:3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom__1vH8n{padding:5px 0;margin-top:3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__left__O8-Mv{padding:0 5px;margin-left:-3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top__1eqqI .KeyValueTable__tooltip-arrow__2meU4{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top-left__1U9Td .KeyValueTable__tooltip-arrow__2meU4{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top-right__2GFqG .KeyValueTable__tooltip-arrow__2meU4{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__right__2nDg9 .KeyValueTable__tooltip-arrow__2meU4{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__left__O8-Mv .KeyValueTable__tooltip-arrow__2meU4{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom__1vH8n .KeyValueTable__tooltip-arrow__2meU4{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom-left__33hAb .KeyValueTable__tooltip-arrow__2meU4{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom-right__2JSpw .KeyValueTable__tooltip-arrow__2meU4{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.KeyValueTable__tooltip-inner__Ku1LL{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.KeyValueTable__tooltip-arrow__2meU4{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.KeyValueTable__table__2B4pY{background:#fff;table-layout:fixed;width:100%}.KeyValueTable__table__2B4pY td{border-bottom:1px solid #f5f5f5;vertical-align:top;padding:13px 30px;line-height:15px}.KeyValueTable__table__2B4pY a .KeyValueTable__pre__1bjMa{color:#195ad6}.KeyValueTable__table__2B4pY tr:first-child td{padding-top:20px}.KeyValueTable__table__2B4pY tr:last-child td{border-bottom:none;padding-bottom:20px}.KeyValueTable__edit__2nkqO{float:right;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-size:13px}.KeyValueTable__detail__d9uZX{padding:0;margin:0;line-height:15px}.KeyValueTable__pencil__VD-63{padding-right:5px;font-size:10px;font-weight:600}.KeyValueTable__label__35Rgy{background:#fff;border-right:1px solid #f5f5f5;color:#20252d;font-weight:600;width:200px;font-size:13px;font-family:Nitti Grotesk;text-align:right;letter-spacing:.2px;text-transform:uppercase}.KeyValueTable__pre__1bjMa,.KeyValueTable__value__bwXOr{font-size:13px;color:#747c89}.KeyValueTable__value__bwXOr{word-wrap:break-word;font-family:Nitti}.KeyValueTable__pre__1bjMa{display:inline-block;padding:0;margin:0;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;border:none;line-height:1.4}.KeyValueTable__copyButton__2nsqx{padding:0 8px 2px}.KeyValueTable__copyButton__2nsqx img{width:18px}@-webkit-keyframes Mnemonic__progress-bar-stripes__2D_Gk{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Mnemonic__progress-bar-stripes__2D_Gk{0%{background-position:40px 0}to{background-position:0 0}}.Mnemonic__progress__3Fsru{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Mnemonic__progress-bar__3hte8{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Mnemonic__progress-bar-striped__3Zdco,.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar__3hte8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Mnemonic__progress-bar__3hte8.Mnemonic__active__iuzOz,.Mnemonic__progress__3Fsru.Mnemonic__active__iuzOz .Mnemonic__progress-bar__3hte8{-webkit-animation:Mnemonic__progress-bar-stripes__2D_Gk 2s linear infinite;animation:Mnemonic__progress-bar-stripes__2D_Gk 2s linear infinite}.Mnemonic__progress-bar-success__3Mftm{background-color:#5cb85c}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-success__3Mftm{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__progress-bar-info__38xfx{background-color:#5bc0de}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-info__38xfx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__progress-bar-warning__67_hE{background-color:#f0ad4e}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-warning__67_hE{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__progress-bar-danger__2aiVf{background-color:#ef5354}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-danger__2aiVf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__tooltip__WUlaF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Mnemonic__tooltip__WUlaF.Mnemonic__in__mUU6D{filter:alpha(opacity=90);opacity:.9}.Mnemonic__tooltip__WUlaF.Mnemonic__top__1b1U5{padding:5px 0;margin-top:-3px}.Mnemonic__tooltip__WUlaF.Mnemonic__right__2DyRZ{padding:0 5px;margin-left:3px}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom__2xGK0{padding:5px 0;margin-top:3px}.Mnemonic__tooltip__WUlaF.Mnemonic__left__8dShv{padding:0 5px;margin-left:-3px}.Mnemonic__tooltip__WUlaF.Mnemonic__top__1b1U5 .Mnemonic__tooltip-arrow__28eAo{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__top-left__gO9Zk .Mnemonic__tooltip-arrow__28eAo{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__top-right__2ANj3 .Mnemonic__tooltip-arrow__28eAo{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__right__2DyRZ .Mnemonic__tooltip-arrow__28eAo{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__left__8dShv .Mnemonic__tooltip-arrow__28eAo{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom__2xGK0 .Mnemonic__tooltip-arrow__28eAo{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom-left__2bntD .Mnemonic__tooltip-arrow__28eAo{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom-right__deJxw .Mnemonic__tooltip-arrow__28eAo{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Mnemonic__tooltip-inner__32_Dh{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Mnemonic__tooltip-arrow__28eAo{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Mnemonic__seed__2aDuu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:22%;height:36px;background-color:#f8f8f8;border:1px solid #f5f5f5;border-radius:3px;color:#20252d;margin:5px 10px 5px 0;padding:6px 0;float:left;text-align:center}.Mnemonic__copy__3nTWY{width:18px;margin-bottom:3px}.Mnemonic__flexContainer__pWQMX{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.Mnemonic__seedArea__3T2B_{margin-bottom:15px}.Mnemonic__container__1Sfnd{width:540px}@-webkit-keyframes ObjectSelectorField__progress-bar-stripes__1iky2{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ObjectSelectorField__progress-bar-stripes__1iky2{0%{background-position:40px 0}to{background-position:0 0}}.ObjectSelectorField__progress__15Yfn{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ObjectSelectorField__progress-bar__obc8A{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ObjectSelectorField__progress-bar-striped__1T6dz,.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar__obc8A{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ObjectSelectorField__progress-bar__obc8A.ObjectSelectorField__active__3iUnq,.ObjectSelectorField__progress__15Yfn.ObjectSelectorField__active__3iUnq .ObjectSelectorField__progress-bar__obc8A{-webkit-animation:ObjectSelectorField__progress-bar-stripes__1iky2 2s linear infinite;animation:ObjectSelectorField__progress-bar-stripes__1iky2 2s linear infinite}.ObjectSelectorField__progress-bar-success__3LW7l{background-color:#5cb85c}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-success__3LW7l{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__progress-bar-info__292eA{background-color:#5bc0de}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-info__292eA{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__progress-bar-warning__l0MJ3{background-color:#f0ad4e}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-warning__l0MJ3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__progress-bar-danger__Ty_VX{background-color:#ef5354}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-danger__Ty_VX{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__tooltip__1oKiC{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__in__1Mrx7{filter:alpha(opacity=90);opacity:.9}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top__3jiYf{padding:5px 0;margin-top:-3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__right__2YSY0{padding:0 5px;margin-left:3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom__iMRXd{padding:5px 0;margin-top:3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__left__4nx0u{padding:0 5px;margin-left:-3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top__3jiYf .ObjectSelectorField__tooltip-arrow__3mqn0{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top-left__1GCdl .ObjectSelectorField__tooltip-arrow__3mqn0{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top-right__3FjQs .ObjectSelectorField__tooltip-arrow__3mqn0{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__right__2YSY0 .ObjectSelectorField__tooltip-arrow__3mqn0{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__left__4nx0u .ObjectSelectorField__tooltip-arrow__3mqn0{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom__iMRXd .ObjectSelectorField__tooltip-arrow__3mqn0{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom-left__2BQ_G .ObjectSelectorField__tooltip-arrow__3mqn0{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom-right__LvC3L .ObjectSelectorField__tooltip-arrow__3mqn0{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ObjectSelectorField__tooltip-inner__1DAhx{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ObjectSelectorField__tooltip-arrow__3mqn0{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ObjectSelectorField__dropdownButton__3wU1e{text-align:left;width:90px}.ObjectSelectorField__aliasFieldGroupItem__35ZI4{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}@-webkit-keyframes PageContent__progress-bar-stripes__3Nj8t{0%{background-position:40px 0}to{background-position:0 0}}@keyframes PageContent__progress-bar-stripes__3Nj8t{0%{background-position:40px 0}to{background-position:0 0}}.PageContent__progress__3a9Vk{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.PageContent__progress-bar__38e5Z{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.PageContent__progress-bar-striped__1sOF4,.PageContent__progress-striped__2fSkw .PageContent__progress-bar__38e5Z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.PageContent__progress-bar__38e5Z.PageContent__active__ZWILU,.PageContent__progress__3a9Vk.PageContent__active__ZWILU .PageContent__progress-bar__38e5Z{-webkit-animation:PageContent__progress-bar-stripes__3Nj8t 2s linear infinite;animation:PageContent__progress-bar-stripes__3Nj8t 2s linear infinite}.PageContent__progress-bar-success__U0myE{background-color:#5cb85c}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-success__U0myE{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__progress-bar-info__qHReg{background-color:#5bc0de}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-info__qHReg{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__progress-bar-warning__HmRxk{background-color:#f0ad4e}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-warning__HmRxk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__progress-bar-danger__2e7ia{background-color:#ef5354}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-danger__2e7ia{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__tooltip__Z365i{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.PageContent__tooltip__Z365i.PageContent__in__1jDne{filter:alpha(opacity=90);opacity:.9}.PageContent__tooltip__Z365i.PageContent__top__2kTaR{padding:5px 0;margin-top:-3px}.PageContent__tooltip__Z365i.PageContent__right__3b3d2{padding:0 5px;margin-left:3px}.PageContent__tooltip__Z365i.PageContent__bottom__oTp-8{padding:5px 0;margin-top:3px}.PageContent__tooltip__Z365i.PageContent__left__E5kad{padding:0 5px;margin-left:-3px}.PageContent__tooltip__Z365i.PageContent__top__2kTaR .PageContent__tooltip-arrow__3tteJ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.PageContent__tooltip__Z365i.PageContent__top-left__3X2hD .PageContent__tooltip-arrow__3tteJ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageContent__tooltip__Z365i.PageContent__top-right__3Bk3q .PageContent__tooltip-arrow__3tteJ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageContent__tooltip__Z365i.PageContent__right__3b3d2 .PageContent__tooltip-arrow__3tteJ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.PageContent__tooltip__Z365i.PageContent__left__E5kad .PageContent__tooltip-arrow__3tteJ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.PageContent__tooltip__Z365i.PageContent__bottom__oTp-8 .PageContent__tooltip-arrow__3tteJ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageContent__tooltip__Z365i.PageContent__bottom-left__3y6Ud .PageContent__tooltip-arrow__3tteJ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageContent__tooltip__Z365i.PageContent__bottom-right__1ygzY .PageContent__tooltip-arrow__3tteJ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageContent__tooltip-inner__1JhrP{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.PageContent__tooltip-arrow__3tteJ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.PageContent__main__2Yu_Q{padding:30px;position:relative;margin-top:60px}@-webkit-keyframes PageTitle__progress-bar-stripes__1xdhc{0%{background-position:40px 0}to{background-position:0 0}}@keyframes PageTitle__progress-bar-stripes__1xdhc{0%{background-position:40px 0}to{background-position:0 0}}.PageTitle__progress__3U4Ea{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.PageTitle__progress-bar__3L0vx{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.PageTitle__progress-bar-striped__Yr53t,.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar__3L0vx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.PageTitle__progress-bar__3L0vx.PageTitle__active__1TYMZ,.PageTitle__progress__3U4Ea.PageTitle__active__1TYMZ .PageTitle__progress-bar__3L0vx{-webkit-animation:PageTitle__progress-bar-stripes__1xdhc 2s linear infinite;animation:PageTitle__progress-bar-stripes__1xdhc 2s linear infinite}.PageTitle__progress-bar-success__3IZXU{background-color:#5cb85c}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-success__3IZXU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__progress-bar-info__8z84B{background-color:#5bc0de}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-info__8z84B{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__progress-bar-warning__2RIPY{background-color:#f0ad4e}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-warning__2RIPY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__progress-bar-danger__3uYv5{background-color:#ef5354}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-danger__3uYv5{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__tooltip__35dTR{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.PageTitle__tooltip__35dTR.PageTitle__in__C0X6E{filter:alpha(opacity=90);opacity:.9}.PageTitle__tooltip__35dTR.PageTitle__top__qvPWB{padding:5px 0;margin-top:-3px}.PageTitle__tooltip__35dTR.PageTitle__right__18DIo{padding:0 5px;margin-left:3px}.PageTitle__tooltip__35dTR.PageTitle__bottom__3xAZ3{padding:5px 0;margin-top:3px}.PageTitle__tooltip__35dTR.PageTitle__left__3XIs6{padding:0 5px;margin-left:-3px}.PageTitle__tooltip__35dTR.PageTitle__top__qvPWB .PageTitle__tooltip-arrow__LZW1I{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.PageTitle__tooltip__35dTR.PageTitle__top-left__34hmC .PageTitle__tooltip-arrow__LZW1I{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageTitle__tooltip__35dTR.PageTitle__top-right__3pbms .PageTitle__tooltip-arrow__LZW1I{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageTitle__tooltip__35dTR.PageTitle__right__18DIo .PageTitle__tooltip-arrow__LZW1I{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.PageTitle__tooltip__35dTR.PageTitle__left__3XIs6 .PageTitle__tooltip-arrow__LZW1I{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.PageTitle__tooltip__35dTR.PageTitle__bottom__3xAZ3 .PageTitle__tooltip-arrow__LZW1I{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageTitle__tooltip__35dTR.PageTitle__bottom-left__2Q9Ty .PageTitle__tooltip-arrow__LZW1I{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageTitle__tooltip__35dTR.PageTitle__bottom-right__3zojQ .PageTitle__tooltip-arrow__LZW1I{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageTitle__tooltip-inner__1xtqP{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.PageTitle__tooltip-arrow__LZW1I{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.PageTitle__main__ABEpT{background:#fff;padding:15px 30px;border-bottom:1px solid #f5f5f5;height:60px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;left:220px;z-index:99;position:fixed;right:0}.PageTitle__main__ABEpT code{display:inline-block;font-size:13px;font-weight:400;margin-left:3px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.4}.PageTitle__title__3Es27{color:#20252d}.PageTitle__navigation__3_HhP{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.PageTitle__crumbs__-Ay5t{display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:20px;list-style-type:none;margin:0;padding:0}.PageTitle__crumb__gVdBx a{position:relative;padding-right:15px;margin-right:15px}.PageTitle__crumb__gVdBx a .PageTitle__chevron__2f3I4{width:5px;height:10px;position:absolute;right:-2px;top:calc(50% - 5px)}.PageTitle__actions__2ch3W{list-style-type:none;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:0}.PageTitle__flash__1OtqT{z-index:10;width:calc(100% - 220px)}@-webkit-keyframes Pagination__progress-bar-stripes__2zR5F{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Pagination__progress-bar-stripes__2zR5F{0%{background-position:40px 0}to{background-position:0 0}}.Pagination__progress__3LBnR{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Pagination__progress-bar__2djEG{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Pagination__progress-bar-striped__34ir2,.Pagination__progress-striped__2DBtK .Pagination__progress-bar__2djEG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Pagination__progress-bar__2djEG.Pagination__active__2VQ-0,.Pagination__progress__3LBnR.Pagination__active__2VQ-0 .Pagination__progress-bar__2djEG{-webkit-animation:Pagination__progress-bar-stripes__2zR5F 2s linear infinite;animation:Pagination__progress-bar-stripes__2zR5F 2s linear infinite}.Pagination__progress-bar-success__3Zp6q{background-color:#5cb85c}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-success__3Zp6q{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__progress-bar-info__2JNrd{background-color:#5bc0de}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-info__2JNrd{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__progress-bar-warning__2G2aS{background-color:#f0ad4e}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-warning__2G2aS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__progress-bar-danger__2Loi9{background-color:#ef5354}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-danger__2Loi9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__tooltip__w_NQ1{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Pagination__tooltip__w_NQ1.Pagination__in__2tW2K{filter:alpha(opacity=90);opacity:.9}.Pagination__tooltip__w_NQ1.Pagination__top__3NRAH{padding:5px 0;margin-top:-3px}.Pagination__tooltip__w_NQ1.Pagination__right__2lD9Z{padding:0 5px;margin-left:3px}.Pagination__tooltip__w_NQ1.Pagination__bottom__1nk1a{padding:5px 0;margin-top:3px}.Pagination__tooltip__w_NQ1.Pagination__left__2aU6x{padding:0 5px;margin-left:-3px}.Pagination__tooltip__w_NQ1.Pagination__top__3NRAH .Pagination__tooltip-arrow__e4hJY{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Pagination__tooltip__w_NQ1.Pagination__top-left__1k-hR .Pagination__tooltip-arrow__e4hJY{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Pagination__tooltip__w_NQ1.Pagination__top-right__3gjcz .Pagination__tooltip-arrow__e4hJY{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Pagination__tooltip__w_NQ1.Pagination__right__2lD9Z .Pagination__tooltip-arrow__e4hJY{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Pagination__tooltip__w_NQ1.Pagination__left__2aU6x .Pagination__tooltip-arrow__e4hJY{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Pagination__tooltip__w_NQ1.Pagination__bottom__1nk1a .Pagination__tooltip-arrow__e4hJY{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Pagination__tooltip__w_NQ1.Pagination__bottom-left__1CCyh .Pagination__tooltip-arrow__e4hJY{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Pagination__tooltip__w_NQ1.Pagination__bottom-right__3g8YE .Pagination__tooltip-arrow__e4hJY{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Pagination__tooltip-inner__1172w{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Pagination__tooltip-arrow__e4hJY{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Pagination__main__2oPNq{text-align:center;list-style-type:none;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-top:30px}.Pagination__main__2oPNq li{display:inline-block;margin:0 30px}.Pagination__button__7PNQR{border:2px solid #195ad6;color:#195ad6;cursor:pointer;display:block;line-height:26px;font-size:16px;height:30px;width:30px;border-radius:15px}.Pagination__button__7PNQR:hover{border-color:#3295de}.Pagination__disabled__2U4H8{border-color:#747c89;color:#747c89;opacity:0;pointer-events:none}@-webkit-keyframes PasswordField__progress-bar-stripes__yyFGx{0%{background-position:40px 0}to{background-position:0 0}}@keyframes PasswordField__progress-bar-stripes__yyFGx{0%{background-position:40px 0}to{background-position:0 0}}.PasswordField__progress__3N7qR{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.PasswordField__progress-bar__DtrQF{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.PasswordField__progress-bar-striped__WoGge,.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar__DtrQF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.PasswordField__progress-bar__DtrQF.PasswordField__active__3E0Di,.PasswordField__progress__3N7qR.PasswordField__active__3E0Di .PasswordField__progress-bar__DtrQF{-webkit-animation:PasswordField__progress-bar-stripes__yyFGx 2s linear infinite;animation:PasswordField__progress-bar-stripes__yyFGx 2s linear infinite}.PasswordField__progress-bar-success__2-oUj{background-color:#5cb85c}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-success__2-oUj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__progress-bar-info__SjBKC{background-color:#5bc0de}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-info__SjBKC{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__progress-bar-warning__3QtNg{background-color:#f0ad4e}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-warning__3QtNg{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__progress-bar-danger__LM6g6{background-color:#ef5354}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-danger__LM6g6{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__tooltip__2c8Yz{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.PasswordField__tooltip__2c8Yz.PasswordField__in__jw6AB{filter:alpha(opacity=90);opacity:.9}.PasswordField__tooltip__2c8Yz.PasswordField__top__2vUGF{padding:5px 0;margin-top:-3px}.PasswordField__tooltip__2c8Yz.PasswordField__right__2XGbC{padding:0 5px;margin-left:3px}.PasswordField__tooltip__2c8Yz.PasswordField__bottom__13ViL{padding:5px 0;margin-top:3px}.PasswordField__tooltip__2c8Yz.PasswordField__left__3MJD-{padding:0 5px;margin-left:-3px}.PasswordField__tooltip__2c8Yz.PasswordField__top__2vUGF .PasswordField__tooltip-arrow__3Nmmp{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__top-left__2Dzeh .PasswordField__tooltip-arrow__3Nmmp{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__top-right__1GlF9 .PasswordField__tooltip-arrow__3Nmmp{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__right__2XGbC .PasswordField__tooltip-arrow__3Nmmp{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__left__3MJD- .PasswordField__tooltip-arrow__3Nmmp{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__bottom__13ViL .PasswordField__tooltip-arrow__3Nmmp{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__bottom-left__1RLLL .PasswordField__tooltip-arrow__3Nmmp{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__bottom-right__mAEV7 .PasswordField__tooltip-arrow__3Nmmp{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PasswordField__tooltip-inner__3-3LR{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.PasswordField__tooltip-arrow__3Nmmp{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.PasswordField__capsIcon__3MrOT{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzAgMzAiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGNsaXAtcGF0aDogdXJsKCNjbGlwLWNhcHNsb2Nrc18yKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjZTRlNGU0OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWNhcHNsb2Nrc18yIj4KICAgICAgPHJlY3Qgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iY2Fwc2xvY2tzXzIiIGRhdGEtbmFtZT0iY2Fwc2xvY2tzIOKAkyAyIiBjbGFzcz0iY2xzLTEiPgogICAgPHBhdGggaWQ9IlVuaW9uXzg2IiBkYXRhLW5hbWU9IlVuaW9uIDg2IiBjbGFzcz0iY2xzLTIiIGQ9Ik0tMjE0MC4wNDEtMzE4Ljh2LTMuMjMzaDguMDgxdjMuMjMzWm0wLTUuNjU3Vi0zMzFILTIxNDRsOC04LDgsOGgtMy45NTl2Ni41NDZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTUxIDM0My4zOTgpIi8+CiAgPC9nPgo8L3N2Zz4K)}.PasswordField__capsIconGreen__axeCy{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfNTM1MSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgNTM1MSIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiBmaWxsPSIjMTk3N2Q2Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iY2Fwc2xvY2stZ3JlZW4iIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSJVbmlvbl84NSIgZGF0YS1uYW1lPSJVbmlvbiA4NSIgZD0iTS0yMjQwLjA0MS0zMTguOHYtMy4yMzNoOC4wODF2My4yMzNabTAtNS42NTdWLTMzMUgtMjI0NGw4LTgsOCw4aC0zLjk1OXY2LjU0NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyNTEgMzQzLjM5OCkiIGZpbGw9IiMxOTc3ZDYiLz4KICA8L2c+Cjwvc3ZnPgo=)}.PasswordField__password__3SXbs{background-repeat:no-repeat;background-position:99%;background-size:20px 20px;padding-right:30px;-webkit-text-security:disc!important}.PasswordField__dotFont__19fE5{font-family:dotsfont}@-webkit-keyframes RadioField__progress-bar-stripes__3YpNP{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RadioField__progress-bar-stripes__3YpNP{0%{background-position:40px 0}to{background-position:0 0}}.RadioField__progress__3qFVF{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RadioField__progress-bar__pxEck{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RadioField__progress-bar-striped__10nF1,.RadioField__progress-striped__1vYrR .RadioField__progress-bar__pxEck{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RadioField__progress-bar__pxEck.RadioField__active__2w0w2,.RadioField__progress__3qFVF.RadioField__active__2w0w2 .RadioField__progress-bar__pxEck{-webkit-animation:RadioField__progress-bar-stripes__3YpNP 2s linear infinite;animation:RadioField__progress-bar-stripes__3YpNP 2s linear infinite}.RadioField__progress-bar-success__3_kUu{background-color:#5cb85c}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-success__3_kUu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__progress-bar-info__3EGh-{background-color:#5bc0de}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-info__3EGh-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__progress-bar-warning__v1n-v{background-color:#f0ad4e}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-warning__v1n-v{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__progress-bar-danger__1qPgq{background-color:#ef5354}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-danger__1qPgq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__tooltip__2mlcK{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RadioField__tooltip__2mlcK.RadioField__in__3WzBr{filter:alpha(opacity=90);opacity:.9}.RadioField__tooltip__2mlcK.RadioField__top__2-VdY{padding:5px 0;margin-top:-3px}.RadioField__tooltip__2mlcK.RadioField__right__1Ca27{padding:0 5px;margin-left:3px}.RadioField__tooltip__2mlcK.RadioField__bottom__CG-hS{padding:5px 0;margin-top:3px}.RadioField__tooltip__2mlcK.RadioField__left__vXIzj{padding:0 5px;margin-left:-3px}.RadioField__tooltip__2mlcK.RadioField__top__2-VdY .RadioField__tooltip-arrow__2--ao{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RadioField__tooltip__2mlcK.RadioField__top-left__3vNwa .RadioField__tooltip-arrow__2--ao{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RadioField__tooltip__2mlcK.RadioField__top-right__3TJXX .RadioField__tooltip-arrow__2--ao{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RadioField__tooltip__2mlcK.RadioField__right__1Ca27 .RadioField__tooltip-arrow__2--ao{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RadioField__tooltip__2mlcK.RadioField__left__vXIzj .RadioField__tooltip-arrow__2--ao{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RadioField__tooltip__2mlcK.RadioField__bottom__CG-hS .RadioField__tooltip-arrow__2--ao{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RadioField__tooltip__2mlcK.RadioField__bottom-left__1BbaB .RadioField__tooltip-arrow__2--ao{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RadioField__tooltip__2mlcK.RadioField__bottom-right__2b73U .RadioField__tooltip-arrow__2--ao{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RadioField__tooltip-inner__2QX8g{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RadioField__tooltip-arrow__2--ao{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RadioField__radio__3Eql3{margin-right:7.5px!important}.RadioField__label__397An{margin-right:30px}@-webkit-keyframes RestoreKeystore__progress-bar-stripes__3ZHmd{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RestoreKeystore__progress-bar-stripes__3ZHmd{0%{background-position:40px 0}to{background-position:0 0}}.RestoreKeystore__progress__1dEXP{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RestoreKeystore__progress-bar__1v5Nh{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RestoreKeystore__progress-bar-striped__SCCkv,.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar__1v5Nh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RestoreKeystore__progress-bar__1v5Nh.RestoreKeystore__active__2Osp-,.RestoreKeystore__progress__1dEXP.RestoreKeystore__active__2Osp- .RestoreKeystore__progress-bar__1v5Nh{-webkit-animation:RestoreKeystore__progress-bar-stripes__3ZHmd 2s linear infinite;animation:RestoreKeystore__progress-bar-stripes__3ZHmd 2s linear infinite}.RestoreKeystore__progress-bar-success__1MhH0{background-color:#5cb85c}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-success__1MhH0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__progress-bar-info__1_EYW{background-color:#5bc0de}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-info__1_EYW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__progress-bar-warning__19uTJ{background-color:#f0ad4e}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-warning__19uTJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__progress-bar-danger__AHn1g{background-color:#ef5354}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-danger__AHn1g{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__tooltip__2L2Xt{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__in__4tDR0{filter:alpha(opacity=90);opacity:.9}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top__bBQdY{padding:5px 0;margin-top:-3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__right__13FIn{padding:0 5px;margin-left:3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom__-7omJ{padding:5px 0;margin-top:3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__left__k5zHL{padding:0 5px;margin-left:-3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top__bBQdY .RestoreKeystore__tooltip-arrow__2hynC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top-left__CyWh7 .RestoreKeystore__tooltip-arrow__2hynC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top-right__34hdM .RestoreKeystore__tooltip-arrow__2hynC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__right__13FIn .RestoreKeystore__tooltip-arrow__2hynC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__left__k5zHL .RestoreKeystore__tooltip-arrow__2hynC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom__-7omJ .RestoreKeystore__tooltip-arrow__2hynC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom-left__2Tgj4 .RestoreKeystore__tooltip-arrow__2hynC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom-right__3Ajst .RestoreKeystore__tooltip-arrow__2hynC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreKeystore__tooltip-inner__r5aO-{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RestoreKeystore__tooltip-arrow__2hynC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RestoreKeystore__submitButton__1cFjI{float:left}@-webkit-keyframes RestoreMnemonic__progress-bar-stripes__3Lyt1{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RestoreMnemonic__progress-bar-stripes__3Lyt1{0%{background-position:40px 0}to{background-position:0 0}}.RestoreMnemonic__progress__35Vbx{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RestoreMnemonic__progress-bar__3GkMq{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RestoreMnemonic__progress-bar-striped__swvjc,.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar__3GkMq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RestoreMnemonic__progress-bar__3GkMq.RestoreMnemonic__active__3EaAH,.RestoreMnemonic__progress__35Vbx.RestoreMnemonic__active__3EaAH .RestoreMnemonic__progress-bar__3GkMq{-webkit-animation:RestoreMnemonic__progress-bar-stripes__3Lyt1 2s linear infinite;animation:RestoreMnemonic__progress-bar-stripes__3Lyt1 2s linear infinite}.RestoreMnemonic__progress-bar-success__3inPy{background-color:#5cb85c}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-success__3inPy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__progress-bar-info__vuGK-{background-color:#5bc0de}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-info__vuGK-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__progress-bar-warning__3hyUJ{background-color:#f0ad4e}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-warning__3hyUJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__progress-bar-danger__1GnQo{background-color:#ef5354}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-danger__1GnQo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__tooltip__2sQy9{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__in__cXJz-{filter:alpha(opacity=90);opacity:.9}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top__3bC1x{padding:5px 0;margin-top:-3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__right__1w9AI{padding:0 5px;margin-left:3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom__2DBZw{padding:5px 0;margin-top:3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__left__1mi8a{padding:0 5px;margin-left:-3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top__3bC1x .RestoreMnemonic__tooltip-arrow__276jG{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top-left__1qElw .RestoreMnemonic__tooltip-arrow__276jG{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top-right__3u2IW .RestoreMnemonic__tooltip-arrow__276jG{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__right__1w9AI .RestoreMnemonic__tooltip-arrow__276jG{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__left__1mi8a .RestoreMnemonic__tooltip-arrow__276jG{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom__2DBZw .RestoreMnemonic__tooltip-arrow__276jG{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom-left__t9d7r .RestoreMnemonic__tooltip-arrow__276jG{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom-right__3Jww8 .RestoreMnemonic__tooltip-arrow__276jG{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreMnemonic__tooltip-inner__2gTnu{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RestoreMnemonic__tooltip-arrow__276jG{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RestoreMnemonic__submitButton__3IEuJ{float:left}@-webkit-keyframes SearchBar__progress-bar-stripes___L-Kx{0%{background-position:40px 0}to{background-position:0 0}}@keyframes SearchBar__progress-bar-stripes___L-Kx{0%{background-position:40px 0}to{background-position:0 0}}.SearchBar__progress__3O7nP{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.SearchBar__progress-bar__3qbD1{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.SearchBar__progress-bar-striped__1WWbT,.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar__3qbD1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.SearchBar__progress-bar__3qbD1.SearchBar__active__1AeyI,.SearchBar__progress__3O7nP.SearchBar__active__1AeyI .SearchBar__progress-bar__3qbD1{-webkit-animation:SearchBar__progress-bar-stripes___L-Kx 2s linear infinite;animation:SearchBar__progress-bar-stripes___L-Kx 2s linear infinite}.SearchBar__progress-bar-success__3CbbN{background-color:#5cb85c}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-success__3CbbN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__progress-bar-info__3AlZd{background-color:#5bc0de}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-info__3AlZd{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__progress-bar-warning__tUw9c{background-color:#f0ad4e}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-warning__tUw9c{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__progress-bar-danger__33hmO{background-color:#ef5354}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-danger__33hmO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__tooltip__CSgzd{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.SearchBar__tooltip__CSgzd.SearchBar__in__n8Oip{filter:alpha(opacity=90);opacity:.9}.SearchBar__tooltip__CSgzd.SearchBar__top__1TDCY{padding:5px 0;margin-top:-3px}.SearchBar__tooltip__CSgzd.SearchBar__right__2bflR{padding:0 5px;margin-left:3px}.SearchBar__tooltip__CSgzd.SearchBar__bottom__2SVku{padding:5px 0;margin-top:3px}.SearchBar__tooltip__CSgzd.SearchBar__left__efOY3{padding:0 5px;margin-left:-3px}.SearchBar__tooltip__CSgzd.SearchBar__top__1TDCY .SearchBar__tooltip-arrow__2INP-{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__top-left__7E0r6 .SearchBar__tooltip-arrow__2INP-{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__top-right__3mAxB .SearchBar__tooltip-arrow__2INP-{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__right__2bflR .SearchBar__tooltip-arrow__2INP-{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__left__efOY3 .SearchBar__tooltip-arrow__2INP-{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__bottom__2SVku .SearchBar__tooltip-arrow__2INP-{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__bottom-left__2KMkT .SearchBar__tooltip-arrow__2INP-{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__bottom-right__1fNgf .SearchBar__tooltip-arrow__2INP-{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SearchBar__tooltip-inner__1q1ys{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.SearchBar__tooltip-arrow__2INP-{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.SearchBar__main__39O9j{padding:15px 30px}.SearchBar__search_field_full__3k8Mt,.SearchBar__search_field_half__3zle5,.SearchBar__sum_by_field__25K5l{display:inline-block;position:relative}.SearchBar__searchField__1QxVJ{position:relative}.SearchBar__search_field_full__3k8Mt{width:100%}.SearchBar__search_field_half__3zle5{width:55%;padding-right:15px}.SearchBar__sum_by_field__25K5l{width:45%}.SearchBar__label__MMYXk{padding-left:20px}.SearchBar__search_input__2ADny{height:50px;padding:10px 20px 10px 45px;border:1px solid #f5f5f5;height:44px;color:#20252d;border-radius:25px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAABY1JREFUWAnNWG1oW1UYPueknbVMxM3RD+i25ia1uaVJBVERP9Af9Y/rnHMbOP3jH0Go4hQd6LovN8Eqor+koLR/1IGCTpRNN5j4Rxli0pika9OkfrVqxblp99XkHp/3pPfmNs3tvWta2wPJ+Xif85wn7/l4zwlnHlMim63PX8p3SUN2Ms43SCYbuWQ3Msb/YpyNg+ZnztkJ3yp+tE3TfvJI6wrjbohYInMX4/mDEHK3lNIVT3wQ+i2QeztCweNu/G52xwFTqezGK0b+TXiqaw4J53m0/YHOk7CvZZLVoV5ViuOcnxRVVd3tLRtTpTav9bICB1PZewyZ+xADYwoLCYMNA3wE0/lJe6sWRZ1EqgTPivhQpo1JuVkyth31dtMGb/7DuG9nJOT/1Gy7mnyOwHgi82ie5d8FSbUi4uxXJkVPRPcP2EU5DULLYDA1ugNiD0Gsn3DoZ+DHPhNpC7zl1M+pfZZA5Tkj9yXAShxn/PjqGr5D07RzTgRO7ePj47WTZ6f6IXIbYSCSFvBDYT3wsVOfcu2WQFpzl2XudHFaeV9E15704rVyxNRG3oyl0q+A8wWqY7B/uRB3hENanOpekjBBtCFMceS5SsURL3mtQw/uRv4B1eHN1VIafVT2mpTA6JnRO63dijVH01qJ50oHX3PdNY/De0PULiW7PZYa3VqKcaorgTxvvGwBsCEWsuas/mUKTU1NFyFwt2UyDJyr3hKnCJG7mB+n9YI0jPWhL6b37DJiyZFv4MHbqM3n80XaW/2Ddnu5slDhayZC4FceWSpxhcHF+6YIQ8otZnm+XKjYaiJwCJvFpchXcVHkl/J+L2MIbLUNCojIgAjxvZdOC8WEQs1jOGv+pP7YlIVxXcgEgA0FjPwd02u44Cs24wijmw8Sr8O69xXKzt8CV6Z1yizZpDNsES2y4EGcN750+rc1bsw4ZnCfQ8IGWesGXgw7Zswmqv68GyfWoLps0ilfT0eNW4dK7ZjixgIH/zsY5Jfd+ASU/TIDqkom07pbh0rsyeRYAxyilhSuYRkvXBRJTprAHGObzfJS5Dme67LNkjXufGOJatvZhGnePh+4Ups0bPySe3oOCF33/4gtcnpm8EhsKPNwpULK9f9hKH0vNsh9ZMNCz4R1/6lyuNI2dVkQnO8zDdIwDmez2Rqzvhg5nXd5g71qckkmer2GVCUwrGufI6KcUgRSBs9fyL1jki1GHk+OvgGRtxS4ePr6WtHvlVcJJDDc3o3PFJWxFh8ZTIzsp3KlKZZIP4UHSbfiQTjl3PdYc3PzJa+80FRM8WR6C2LdR+ZOwzQM1FZrT3g5r4oshRJNKx5PryN/2rJx/lmHHnjAqnsozBJI+Ggq/SzCX69NZJwJ9nykNXDMA5+C0GNfsvxrqNxa2gcDvhhpCx4ubXeqzxFIQEzvNoPxfkx2rdkR3vwagea9Gl/10dbW9TMB37QyNjIysW7qyoVNjBt4crLOooVNY5BjWDabzDZwvRTRA4fM+nx5WYHUIZoYu5nzXB88ObO4CzQgx6VYTqhbCQI/xVaQNGKTNQJrrWlCA3sGEWNnOBT4LppM78EF4UCBRdk8iXQUSEQ0zXjg0OF9EJWgSe6e87QQrPfaKm3Avn4XInJegXYh5FHBph/EdaIT07UePqijKxNh4M2z+MrAmye44F+Eb9K+gvesv0Zm8ZR4EmfwHjzmi482O1hxlzR4rcK7vuHhiRtaWhrOQcy0136EK/Uk1kIPdnfZl55nD16NAC9YryKXTaDyZGq0hxnGfusHlfHkrF1nAf+nQkdIO8CE2GsNh10eJdG2tKweNHUoUXZPQrQSD8CyetAUOMeTEIvjTXl2RXjQFEqicN3bZ9aZ4M+tKIEkbJZI/NO24gSSyGhqZBfi+S48Od/+D5woEPCi3FK1AAAAAElFTkSuQmCC);background-repeat:no-repeat;background-size:15px 15px;background-position:20px}.SearchBar__sum_by_input__2N2c9{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAAARJJREFUWAntmT0KwkAQhc3fSVxvYCM2giCWHsPjWYog2IiNR4gnSYLuSl4jKYbMDBJ4aV5YZt6+/UiKYbOZw3O9P+dd2x6Ksjxt18uX5RalpRm8uqY5x/cQ9Rh1gXULzS1MBjxCvwYdKBm35BV4XBpBFwMLIKlKSFiFT9BMwgJIqhISVuETNJOwAJKqhIRV+ATNJCyApCohYRU+QfPkCGffgbGfwQQH/GdJXVTVPk/TbUxhPns5nCykrHkaxaN57bCBtWWdsmbWrsnvcnu84bvbrEz3mNxPx8D4FLyUhL3IwpeEQcJLSdiLLHxJGCS8lIS9yMKXhEHCS0nYiyx8vQhj5IJiP7W63ISm6RZXt+qEPwYf8ZArb8Kgs60AAAAASUVORK5CYII=)}.SearchBar__showSumBy__uBJtx{border:1px solid #f5f5f5;border-radius:25px;color:#bac0c7;padding:0 10px;position:absolute;right:15px;bottom:8px}.SearchBar__showSumBy__uBJtx:hover{cursor:pointer;background-color:#fafafa}.SearchBar__search_input__2ADny::-webkit-input-placeholder{color:#b6bcc5}.SearchBar__submit__1CViG{position:absolute;left:-9999px}.SearchBar__clearSearch__3DOpG{display:inline-block;text-decoration:underline}.SearchBar__clearSearch__3DOpG:hover{cursor:pointer}.SearchBar__queryTime__SRpkj{display:inline-block;padding:4px 20px;opacity:.66}@-webkit-keyframes Section__progress-bar-stripes__mZ0KE{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Section__progress-bar-stripes__mZ0KE{0%{background-position:40px 0}to{background-position:0 0}}.Section__progress__3FuJl{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Section__progress-bar__19MJw{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Section__progress-bar-striped__2Is6j,.Section__progress-striped__2LUc8 .Section__progress-bar__19MJw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Section__progress-bar__19MJw.Section__active__2oIa-,.Section__progress__3FuJl.Section__active__2oIa- .Section__progress-bar__19MJw{-webkit-animation:Section__progress-bar-stripes__mZ0KE 2s linear infinite;animation:Section__progress-bar-stripes__mZ0KE 2s linear infinite}.Section__progress-bar-success__1Cm9i{background-color:#5cb85c}.Section__progress-striped__2LUc8 .Section__progress-bar-success__1Cm9i{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__progress-bar-info__1Xqei{background-color:#5bc0de}.Section__progress-striped__2LUc8 .Section__progress-bar-info__1Xqei{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__progress-bar-warning__2T9HJ{background-color:#f0ad4e}.Section__progress-striped__2LUc8 .Section__progress-bar-warning__2T9HJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__progress-bar-danger__2Nrto{background-color:#ef5354}.Section__progress-striped__2LUc8 .Section__progress-bar-danger__2Nrto{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__tooltip__1VtVu{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Section__tooltip__1VtVu.Section__in__1jeey{filter:alpha(opacity=90);opacity:.9}.Section__tooltip__1VtVu.Section__top__3WRzV{padding:5px 0;margin-top:-3px}.Section__tooltip__1VtVu.Section__right__2_WLq{padding:0 5px;margin-left:3px}.Section__tooltip__1VtVu.Section__bottom__4HUov{padding:5px 0;margin-top:3px}.Section__tooltip__1VtVu.Section__left__2cDFN{padding:0 5px;margin-left:-3px}.Section__tooltip__1VtVu.Section__top__3WRzV .Section__tooltip-arrow__1uQXJ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Section__tooltip__1VtVu.Section__top-left__3LMns .Section__tooltip-arrow__1uQXJ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Section__tooltip__1VtVu.Section__top-right__1a3f8 .Section__tooltip-arrow__1uQXJ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Section__tooltip__1VtVu.Section__right__2_WLq .Section__tooltip-arrow__1uQXJ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Section__tooltip__1VtVu.Section__left__2cDFN .Section__tooltip-arrow__1uQXJ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Section__tooltip__1VtVu.Section__bottom__4HUov .Section__tooltip-arrow__1uQXJ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Section__tooltip__1VtVu.Section__bottom-left__3FMyS .Section__tooltip-arrow__1uQXJ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Section__tooltip__1VtVu.Section__bottom-right__2Urg4 .Section__tooltip-arrow__1uQXJ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Section__tooltip-inner__1CT6E{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Section__tooltip-arrow__1uQXJ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Section__main__14cl4{margin:0 0 30px}.Section__title__8yHMA{display:-webkit-flex;display:-ms-flexbox;display:flex}.Section__title__8yHMA h5{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:16px;font-weight:500}.Section__title__8yHMA code{display:inline-block;font-size:13px;font-weight:400;margin-left:3px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.5}@-webkit-keyframes stepper__progress-bar-stripes__Wkf2J{0%{background-position:40px 0}to{background-position:0 0}}@keyframes stepper__progress-bar-stripes__Wkf2J{0%{background-position:40px 0}to{background-position:0 0}}.stepper__progress__3PiT3{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.stepper__progress-bar__3M508{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.stepper__progress-bar-striped__1uCa1,.stepper__progress-striped__1burD .stepper__progress-bar__3M508{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.stepper__progress-bar__3M508.stepper__active__2otz9,.stepper__progress__3PiT3.stepper__active__2otz9 .stepper__progress-bar__3M508{-webkit-animation:stepper__progress-bar-stripes__Wkf2J 2s linear infinite;animation:stepper__progress-bar-stripes__Wkf2J 2s linear infinite}.stepper__progress-bar-success__Z3HAi{background-color:#5cb85c}.stepper__progress-striped__1burD .stepper__progress-bar-success__Z3HAi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__progress-bar-info__m7X7w{background-color:#5bc0de}.stepper__progress-striped__1burD .stepper__progress-bar-info__m7X7w{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__progress-bar-warning__1BmuU{background-color:#f0ad4e}.stepper__progress-striped__1burD .stepper__progress-bar-warning__1BmuU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__progress-bar-danger__-o5y8{background-color:#ef5354}.stepper__progress-striped__1burD .stepper__progress-bar-danger__-o5y8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__tooltip__1TbaP{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.stepper__tooltip__1TbaP.stepper__in__2FIAD{filter:alpha(opacity=90);opacity:.9}.stepper__tooltip__1TbaP.stepper__top__25j30{padding:5px 0;margin-top:-3px}.stepper__tooltip__1TbaP.stepper__right__1_AZY{padding:0 5px;margin-left:3px}.stepper__tooltip__1TbaP.stepper__bottom__32L8-{padding:5px 0;margin-top:3px}.stepper__tooltip__1TbaP.stepper__left__24svJ{padding:0 5px;margin-left:-3px}.stepper__tooltip__1TbaP.stepper__top__25j30 .stepper__tooltip-arrow__25fLh{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.stepper__tooltip__1TbaP.stepper__top-left__FDaaK .stepper__tooltip-arrow__25fLh{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.stepper__tooltip__1TbaP.stepper__top-right__2Fz9t .stepper__tooltip-arrow__25fLh{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.stepper__tooltip__1TbaP.stepper__right__1_AZY .stepper__tooltip-arrow__25fLh{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.stepper__tooltip__1TbaP.stepper__left__24svJ .stepper__tooltip-arrow__25fLh{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.stepper__tooltip__1TbaP.stepper__bottom__32L8- .stepper__tooltip-arrow__25fLh{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.stepper__tooltip__1TbaP.stepper__bottom-left__3-JCK .stepper__tooltip-arrow__25fLh{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.stepper__tooltip__1TbaP.stepper__bottom-right__2kTqR .stepper__tooltip-arrow__25fLh{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.stepper__tooltip-inner__1A4ao{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.stepper__tooltip-arrow__25fLh{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.stepper__marginLeft__2HF9S{margin-left:15px;cursor:pointer}.stepper__floatLeft__2EIk8{float:left}@-webkit-keyframes SubmitIndicator__progress-bar-stripes__33r1W{0%{background-position:40px 0}to{background-position:0 0}}@keyframes SubmitIndicator__progress-bar-stripes__33r1W{0%{background-position:40px 0}to{background-position:0 0}}.SubmitIndicator__progress__3mx7R{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.SubmitIndicator__progress-bar__oFjIQ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.SubmitIndicator__progress-bar-striped__2UvzG,.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar__oFjIQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.SubmitIndicator__progress-bar__oFjIQ.SubmitIndicator__active__1qm89,.SubmitIndicator__progress__3mx7R.SubmitIndicator__active__1qm89 .SubmitIndicator__progress-bar__oFjIQ{-webkit-animation:SubmitIndicator__progress-bar-stripes__33r1W 2s linear infinite;animation:SubmitIndicator__progress-bar-stripes__33r1W 2s linear infinite}.SubmitIndicator__progress-bar-success__2hJcL{background-color:#5cb85c}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-success__2hJcL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__progress-bar-info__3-d9k{background-color:#5bc0de}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-info__3-d9k{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__progress-bar-warning__1Ui9z{background-color:#f0ad4e}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-warning__1Ui9z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__progress-bar-danger__1B53Z{background-color:#ef5354}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-danger__1B53Z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__tooltip__F5Lyy{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__in__1WTVD{filter:alpha(opacity=90);opacity:.9}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top__2ffeP{padding:5px 0;margin-top:-3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__right__3n1Yw{padding:0 5px;margin-left:3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom__3wC62{padding:5px 0;margin-top:3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__left__1TLzo{padding:0 5px;margin-left:-3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top__2ffeP .SubmitIndicator__tooltip-arrow__3Scd-{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top-left__WpLdP .SubmitIndicator__tooltip-arrow__3Scd-{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top-right__3lubo .SubmitIndicator__tooltip-arrow__3Scd-{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__right__3n1Yw .SubmitIndicator__tooltip-arrow__3Scd-{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__left__1TLzo .SubmitIndicator__tooltip-arrow__3Scd-{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom__3wC62 .SubmitIndicator__tooltip-arrow__3Scd-{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom-left__McmiD .SubmitIndicator__tooltip-arrow__3Scd-{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom-right__2Q2y9 .SubmitIndicator__tooltip-arrow__3Scd-{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SubmitIndicator__tooltip-inner__12QWs{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.SubmitIndicator__tooltip-arrow__3Scd-{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.SubmitIndicator__activeSubmit__36Ovr{-webkit-animation:SubmitIndicator__pulse__33QCg 2s infinite;animation:SubmitIndicator__pulse__33QCg 2s infinite}@-webkit-keyframes SubmitIndicator__pulse__33QCg{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes SubmitIndicator__pulse__33QCg{0%{opacity:1}50%{opacity:0}to{opacity:1}}@-webkit-keyframes TableList__progress-bar-stripes__3Da4G{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TableList__progress-bar-stripes__3Da4G{0%{background-position:40px 0}to{background-position:0 0}}.TableList__progress__-pc-m{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TableList__progress-bar__BeiqZ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TableList__progress-bar-striped__2ikdv,.TableList__progress-striped__DeROy .TableList__progress-bar__BeiqZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TableList__progress-bar__BeiqZ.TableList__active__1zeto,.TableList__progress__-pc-m.TableList__active__1zeto .TableList__progress-bar__BeiqZ{-webkit-animation:TableList__progress-bar-stripes__3Da4G 2s linear infinite;animation:TableList__progress-bar-stripes__3Da4G 2s linear infinite}.TableList__progress-bar-success__12kjh{background-color:#5cb85c}.TableList__progress-striped__DeROy .TableList__progress-bar-success__12kjh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__progress-bar-info__1R-ep{background-color:#5bc0de}.TableList__progress-striped__DeROy .TableList__progress-bar-info__1R-ep{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__progress-bar-warning__3aDQk{background-color:#f0ad4e}.TableList__progress-striped__DeROy .TableList__progress-bar-warning__3aDQk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__progress-bar-danger__1dLjQ{background-color:#ef5354}.TableList__progress-striped__DeROy .TableList__progress-bar-danger__1dLjQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__tooltip__1Eehn{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TableList__tooltip__1Eehn.TableList__in__3Wsgc{filter:alpha(opacity=90);opacity:.9}.TableList__tooltip__1Eehn.TableList__top__fXXGt{padding:5px 0;margin-top:-3px}.TableList__tooltip__1Eehn.TableList__right__29LrY{padding:0 5px;margin-left:3px}.TableList__tooltip__1Eehn.TableList__bottom__3hLbI{padding:5px 0;margin-top:3px}.TableList__tooltip__1Eehn.TableList__left__2KSMH{padding:0 5px;margin-left:-3px}.TableList__tooltip__1Eehn.TableList__top__fXXGt .TableList__tooltip-arrow__kCk2k{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TableList__tooltip__1Eehn.TableList__top-left__3XOgn .TableList__tooltip-arrow__kCk2k{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TableList__tooltip__1Eehn.TableList__top-right__1MOHt .TableList__tooltip-arrow__kCk2k{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TableList__tooltip__1Eehn.TableList__right__29LrY .TableList__tooltip-arrow__kCk2k{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TableList__tooltip__1Eehn.TableList__left__2KSMH .TableList__tooltip-arrow__kCk2k{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TableList__tooltip__1Eehn.TableList__bottom__3hLbI .TableList__tooltip-arrow__kCk2k{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TableList__tooltip__1Eehn.TableList__bottom-left__3ZD2a .TableList__tooltip-arrow__kCk2k{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TableList__tooltip__1Eehn.TableList__bottom-right__1eJTK .TableList__tooltip-arrow__kCk2k{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TableList__tooltip-inner__2dfOG{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TableList__tooltip-arrow__kCk2k{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TableList__main__1sTEz{background:#fff;color:#20252d;width:100%;table-layout:fixed;margin-bottom:30px}.TableList__main__1sTEz code{padding:0;font-size:13px}.TableList__main__1sTEz td{border-top:1px solid #f3f6f8;overflow:hidden;text-overflow:ellipsis;color:#747c89;line-height:20px;vertical-align:top}.TableList__main__1sTEz th{color:#20252d;text-transform:uppercase;font-weight:500;font-size:12px}.TableList__main__1sTEz td,.TableList__main__1sTEz th{padding:13px 30px 13px 0}.TableList__main__1sTEz td:first-child,.TableList__main__1sTEz th:first-child{padding-left:60px}.TableList__main__1sTEz td:last-child,.TableList__main__1sTEz th:last-child{text-align:right}.TableList__main__1sTEz .btn-link{padding-top:0;padding-bottom:0;line-height:1}@-webkit-keyframes XpubField__progress-bar-stripes__1Wxxl{0%{background-position:40px 0}to{background-position:0 0}}@keyframes XpubField__progress-bar-stripes__1Wxxl{0%{background-position:40px 0}to{background-position:0 0}}.XpubField__progress__1SM0I{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.XpubField__progress-bar__iTGGs{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.XpubField__progress-bar-striped__1QBEo,.XpubField__progress-striped__11p60 .XpubField__progress-bar__iTGGs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.XpubField__progress-bar__iTGGs.XpubField__active__mBj3I,.XpubField__progress__1SM0I.XpubField__active__mBj3I .XpubField__progress-bar__iTGGs{-webkit-animation:XpubField__progress-bar-stripes__1Wxxl 2s linear infinite;animation:XpubField__progress-bar-stripes__1Wxxl 2s linear infinite}.XpubField__progress-bar-success__bp4QU{background-color:#5cb85c}.XpubField__progress-striped__11p60 .XpubField__progress-bar-success__bp4QU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__progress-bar-info__10yBi{background-color:#5bc0de}.XpubField__progress-striped__11p60 .XpubField__progress-bar-info__10yBi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__progress-bar-warning__1FQYZ{background-color:#f0ad4e}.XpubField__progress-striped__11p60 .XpubField__progress-bar-warning__1FQYZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__progress-bar-danger__3cIV0{background-color:#ef5354}.XpubField__progress-striped__11p60 .XpubField__progress-bar-danger__3cIV0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__tooltip__2dURq{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.XpubField__tooltip__2dURq.XpubField__in__JOMhq{filter:alpha(opacity=90);opacity:.9}.XpubField__tooltip__2dURq.XpubField__top__1_QYf{padding:5px 0;margin-top:-3px}.XpubField__tooltip__2dURq.XpubField__right__1TVYv{padding:0 5px;margin-left:3px}.XpubField__tooltip__2dURq.XpubField__bottom__1TXXq{padding:5px 0;margin-top:3px}.XpubField__tooltip__2dURq.XpubField__left__2R3H7{padding:0 5px;margin-left:-3px}.XpubField__tooltip__2dURq.XpubField__top__1_QYf .XpubField__tooltip-arrow__2C0Ya{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.XpubField__tooltip__2dURq.XpubField__top-left__1zO5A .XpubField__tooltip-arrow__2C0Ya{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.XpubField__tooltip__2dURq.XpubField__top-right__2-AsW .XpubField__tooltip-arrow__2C0Ya{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.XpubField__tooltip__2dURq.XpubField__right__1TVYv .XpubField__tooltip-arrow__2C0Ya{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.XpubField__tooltip__2dURq.XpubField__left__2R3H7 .XpubField__tooltip-arrow__2C0Ya{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.XpubField__tooltip__2dURq.XpubField__bottom__1TXXq .XpubField__tooltip-arrow__2C0Ya{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.XpubField__tooltip__2dURq.XpubField__bottom-left__3tjAe .XpubField__tooltip-arrow__2C0Ya{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.XpubField__tooltip__2dURq.XpubField__bottom-right__J_vQW .XpubField__tooltip-arrow__2C0Ya{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.XpubField__tooltip-inner__U_urd{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.XpubField__tooltip-arrow__2C0Ya{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.XpubField__main__2C7z_{border:1px solid #f5f5f5;margin-top:15px;padding:30px;margin-bottom:30px}.XpubField__main__2C7z_>div{margin-bottom:15px}.XpubField__options__1NX5P{width:100%}.XpubField__options__1NX5P td{border:none}.XpubField__options__1NX5P .XpubField__radio__1_BQb{margin-right:8px}.XpubField__label__SLmLW{width:220px;vertical-align:top}.XpubField__label__SLmLW label{font-weight:400;line-height:36px}.XpubField__field__1jRWW .form-group{margin:0}@-webkit-keyframes ListItem__progress-bar-stripes__3kfeX{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__3kfeX{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__yQ5xH{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__2O2xo{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__2nwhY,.ListItem__progress-striped__2j7Bp .ListItem__progress-bar__2O2xo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__2O2xo.ListItem__active__2dUxQ,.ListItem__progress__yQ5xH.ListItem__active__2dUxQ .ListItem__progress-bar__2O2xo{-webkit-animation:ListItem__progress-bar-stripes__3kfeX 2s linear infinite;animation:ListItem__progress-bar-stripes__3kfeX 2s linear infinite}.ListItem__progress-bar-success__2TeL1{background-color:#5cb85c}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-success__2TeL1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__1zYsZ{background-color:#5bc0de}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-info__1zYsZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__29gOY{background-color:#f0ad4e}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-warning__29gOY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__EDS_i{background-color:#ef5354}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-danger__EDS_i{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__1TMFy{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__1TMFy.ListItem__in__a8l-3{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__1TMFy.ListItem__top__1lIlT{padding:5px 0;margin-top:-3px}.ListItem__tooltip__1TMFy.ListItem__right__3bVNJ{padding:0 5px;margin-left:3px}.ListItem__tooltip__1TMFy.ListItem__bottom__36mZW{padding:5px 0;margin-top:3px}.ListItem__tooltip__1TMFy.ListItem__left__1lzK4{padding:0 5px;margin-left:-3px}.ListItem__tooltip__1TMFy.ListItem__top__1lIlT .ListItem__tooltip-arrow__xTUJ4{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__1TMFy.ListItem__top-left__2Dg5g .ListItem__tooltip-arrow__xTUJ4{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__1TMFy.ListItem__top-right__25NCA .ListItem__tooltip-arrow__xTUJ4{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__1TMFy.ListItem__right__3bVNJ .ListItem__tooltip-arrow__xTUJ4{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__1TMFy.ListItem__left__1lzK4 .ListItem__tooltip-arrow__xTUJ4{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__1TMFy.ListItem__bottom__36mZW .ListItem__tooltip-arrow__xTUJ4{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__1TMFy.ListItem__bottom-left__qr7wA .ListItem__tooltip-arrow__xTUJ4{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__1TMFy.ListItem__bottom-right__hdpq0 .ListItem__tooltip-arrow__xTUJ4{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__237x1{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__xTUJ4{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__selectButton__2XVGK{width:85px;height:28px}.ListItem__buttonDisable__2Mk5k{background-color:#f2f2f2}.ListItem__tr__2DYB8 td{vertical-align:middle}@-webkit-keyframes List__progress-bar-stripes__1sN4X{0%{background-position:40px 0}to{background-position:0 0}}@keyframes List__progress-bar-stripes__1sN4X{0%{background-position:40px 0}to{background-position:0 0}}.List__progress__3YcGh{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.List__progress-bar__2xWdL{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.List__progress-bar-striped__1o5l9,.List__progress-striped__SiKIP .List__progress-bar__2xWdL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.List__progress-bar__2xWdL.List__active__3rKEi,.List__progress__3YcGh.List__active__3rKEi .List__progress-bar__2xWdL{-webkit-animation:List__progress-bar-stripes__1sN4X 2s linear infinite;animation:List__progress-bar-stripes__1sN4X 2s linear infinite}.List__progress-bar-success__1ivu-{background-color:#5cb85c}.List__progress-striped__SiKIP .List__progress-bar-success__1ivu-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-info__3P9jG{background-color:#5bc0de}.List__progress-striped__SiKIP .List__progress-bar-info__3P9jG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-warning__3Mvhs{background-color:#f0ad4e}.List__progress-striped__SiKIP .List__progress-bar-warning__3Mvhs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-danger__Vk4I4{background-color:#ef5354}.List__progress-striped__SiKIP .List__progress-bar-danger__Vk4I4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__tooltip__3RTyo{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.List__tooltip__3RTyo.List__in__1GLum{filter:alpha(opacity=90);opacity:.9}.List__tooltip__3RTyo.List__top__2dta7{padding:5px 0;margin-top:-3px}.List__tooltip__3RTyo.List__right__28YIZ{padding:0 5px;margin-left:3px}.List__tooltip__3RTyo.List__bottom__1o1qs{padding:5px 0;margin-top:3px}.List__tooltip__3RTyo.List__left__3J6zG{padding:0 5px;margin-left:-3px}.List__tooltip__3RTyo.List__top__2dta7 .List__tooltip-arrow__14zgU{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__3RTyo.List__top-left__1Qn8J .List__tooltip-arrow__14zgU{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__3RTyo.List__top-right__22Nzx .List__tooltip-arrow__14zgU{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__3RTyo.List__right__28YIZ .List__tooltip-arrow__14zgU{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.List__tooltip__3RTyo.List__left__3J6zG .List__tooltip-arrow__14zgU{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.List__tooltip__3RTyo.List__bottom__1o1qs .List__tooltip-arrow__14zgU{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__3RTyo.List__bottom-left__1b_x_ .List__tooltip-arrow__14zgU{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__3RTyo.List__bottom-right__2JAmX .List__tooltip-arrow__14zgU{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip-inner__3v3YO{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.List__tooltip-arrow__14zgU{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.List__main__1Uqei td:nth-child(2),.List__main__1Uqei th:nth-child(2){width:40%}.List__main__1Uqei td:nth-child(3),.List__main__1Uqei th:nth-child(3){width:20%}@-webkit-keyframes MnemonicStepper__progress-bar-stripes__2UxBv{0%{background-position:40px 0}to{background-position:0 0}}@keyframes MnemonicStepper__progress-bar-stripes__2UxBv{0%{background-position:40px 0}to{background-position:0 0}}.MnemonicStepper__progress__vumsh{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.MnemonicStepper__progress-bar__2silB{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.MnemonicStepper__progress-bar-striped__3YT8l,.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar__2silB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.MnemonicStepper__progress-bar__2silB.MnemonicStepper__active__21CZL,.MnemonicStepper__progress__vumsh.MnemonicStepper__active__21CZL .MnemonicStepper__progress-bar__2silB{-webkit-animation:MnemonicStepper__progress-bar-stripes__2UxBv 2s linear infinite;animation:MnemonicStepper__progress-bar-stripes__2UxBv 2s linear infinite}.MnemonicStepper__progress-bar-success__13qjh{background-color:#5cb85c}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-success__13qjh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-info__SVlD9{background-color:#5bc0de}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-info__SVlD9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-warning__29n14{background-color:#f0ad4e}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-warning__29n14{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-danger__3WlmD{background-color:#ef5354}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-danger__3WlmD{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__tooltip__1AdsT{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__in__1UR9T{filter:alpha(opacity=90);opacity:.9}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top__1wvoS{padding:5px 0;margin-top:-3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__right__O_whf{padding:0 5px;margin-left:3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom__Zohjw{padding:5px 0;margin-top:3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__left__3-d3S{padding:0 5px;margin-left:-3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top__1wvoS .MnemonicStepper__tooltip-arrow__2zraH{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top-left__2j4Gd .MnemonicStepper__tooltip-arrow__2zraH{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top-right__2SFKw .MnemonicStepper__tooltip-arrow__2zraH{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__right__O_whf .MnemonicStepper__tooltip-arrow__2zraH{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__left__3-d3S .MnemonicStepper__tooltip-arrow__2zraH{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom__Zohjw .MnemonicStepper__tooltip-arrow__2zraH{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom-left__1bOj_ .MnemonicStepper__tooltip-arrow__2zraH{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom-right__3s5S8 .MnemonicStepper__tooltip-arrow__2zraH{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip-inner__3A73h{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.MnemonicStepper__tooltip-arrow__2zraH{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.MnemonicStepper__content__c5QSh{display:-webkit-flex;display:-ms-flexbox;display:flex;background:#fff;min-width:400px;max-width:900px;width:100%;padding:30px 30px 60px}.MnemonicStepper__marginLeft__3yw1h{margin-left:15px}@-webkit-keyframes New__progress-bar-stripes__2Yy_D{0%{background-position:40px 0}to{background-position:0 0}}@keyframes New__progress-bar-stripes__2Yy_D{0%{background-position:40px 0}to{background-position:0 0}}.New__progress__WpGSM{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.New__progress-bar__FzorI{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.New__progress-bar-striped__2phve,.New__progress-striped__2G8Gi .New__progress-bar__FzorI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.New__progress-bar__FzorI.New__active__1ZqEV,.New__progress__WpGSM.New__active__1ZqEV .New__progress-bar__FzorI{-webkit-animation:New__progress-bar-stripes__2Yy_D 2s linear infinite;animation:New__progress-bar-stripes__2Yy_D 2s linear infinite}.New__progress-bar-success__1BVE7{background-color:#5cb85c}.New__progress-striped__2G8Gi .New__progress-bar-success__1BVE7{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-info__2Hl0L{background-color:#5bc0de}.New__progress-striped__2G8Gi .New__progress-bar-info__2Hl0L{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-warning__3FlV3{background-color:#f0ad4e}.New__progress-striped__2G8Gi .New__progress-bar-warning__3FlV3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-danger__VnGR3{background-color:#ef5354}.New__progress-striped__2G8Gi .New__progress-bar-danger__VnGR3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__tooltip__WzRW6{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.New__tooltip__WzRW6.New__in__17d97{filter:alpha(opacity=90);opacity:.9}.New__tooltip__WzRW6.New__top__HXQ4l{padding:5px 0;margin-top:-3px}.New__tooltip__WzRW6.New__right__1JLw8{padding:0 5px;margin-left:3px}.New__tooltip__WzRW6.New__bottom__2yk_R{padding:5px 0;margin-top:3px}.New__tooltip__WzRW6.New__left__2G8_L{padding:0 5px;margin-left:-3px}.New__tooltip__WzRW6.New__top__HXQ4l .New__tooltip-arrow__36gJa{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__WzRW6.New__top-left__1AaOH .New__tooltip-arrow__36gJa{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__WzRW6.New__top-right__MKVXW .New__tooltip-arrow__36gJa{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__WzRW6.New__right__1JLw8 .New__tooltip-arrow__36gJa{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.New__tooltip__WzRW6.New__left__2G8_L .New__tooltip-arrow__36gJa{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.New__tooltip__WzRW6.New__bottom__2yk_R .New__tooltip-arrow__36gJa{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__WzRW6.New__bottom-left__2KgGR .New__tooltip-arrow__36gJa{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__WzRW6.New__bottom-right__3BjDI .New__tooltip-arrow__36gJa{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip-inner__3SNji{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.New__tooltip-arrow__36gJa{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.New__subjectField__heTjx{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.New__subjectField__heTjx .form-group{-webkit-flex:1;-ms-flex:1;flex:1;margin-right:15px}.New__subjectField__heTjx button{margin-top:35px}.New__receiverBtn__1ABhp{width:25px;height:25px;font-size:22px;line-height:20px}.New__panel__3IKRi{padding:30px;border:1px solid #f5f5f5}@-webkit-keyframes Backup__progress-bar-stripes__3E0u9{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Backup__progress-bar-stripes__3E0u9{0%{background-position:40px 0}to{background-position:0 0}}.Backup__progress__19G1j{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Backup__progress-bar__3HtFc{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Backup__progress-bar-striped__ilGkH,.Backup__progress-striped__AePft .Backup__progress-bar__3HtFc{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Backup__progress-bar__3HtFc.Backup__active__39bjS,.Backup__progress__19G1j.Backup__active__39bjS .Backup__progress-bar__3HtFc{-webkit-animation:Backup__progress-bar-stripes__3E0u9 2s linear infinite;animation:Backup__progress-bar-stripes__3E0u9 2s linear infinite}.Backup__progress-bar-success__12jhV{background-color:#5cb85c}.Backup__progress-striped__AePft .Backup__progress-bar-success__12jhV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__progress-bar-info__N4lu9{background-color:#5bc0de}.Backup__progress-striped__AePft .Backup__progress-bar-info__N4lu9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__progress-bar-warning__LPBuQ{background-color:#f0ad4e}.Backup__progress-striped__AePft .Backup__progress-bar-warning__LPBuQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__progress-bar-danger__16DO-{background-color:#ef5354}.Backup__progress-striped__AePft .Backup__progress-bar-danger__16DO-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__tooltip__3u91M{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Backup__tooltip__3u91M.Backup__in__3m1QN{filter:alpha(opacity=90);opacity:.9}.Backup__tooltip__3u91M.Backup__top__2HXzO{padding:5px 0;margin-top:-3px}.Backup__tooltip__3u91M.Backup__right__3UWL_{padding:0 5px;margin-left:3px}.Backup__tooltip__3u91M.Backup__bottom__19fPR{padding:5px 0;margin-top:3px}.Backup__tooltip__3u91M.Backup__left__1sbB5{padding:0 5px;margin-left:-3px}.Backup__tooltip__3u91M.Backup__top__2HXzO .Backup__tooltip-arrow__2OTPx{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Backup__tooltip__3u91M.Backup__top-left__GhHJM .Backup__tooltip-arrow__2OTPx{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Backup__tooltip__3u91M.Backup__top-right__3OP7j .Backup__tooltip-arrow__2OTPx{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Backup__tooltip__3u91M.Backup__right__3UWL_ .Backup__tooltip-arrow__2OTPx{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Backup__tooltip__3u91M.Backup__left__1sbB5 .Backup__tooltip-arrow__2OTPx{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Backup__tooltip__3u91M.Backup__bottom__19fPR .Backup__tooltip-arrow__2OTPx{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Backup__tooltip__3u91M.Backup__bottom-left__2REpU .Backup__tooltip-arrow__2OTPx{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Backup__tooltip__3u91M.Backup__bottom-right__375U5 .Backup__tooltip-arrow__2OTPx{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Backup__tooltip-inner__30VGR{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Backup__tooltip-arrow__2OTPx{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Backup__mainContainer__1D29U{background-color:#fff}code{padding-left:0;font-size:13px}.Backup__choices__2fwuU{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.Backup__choices__2fwuU>div{width:45%;min-height:100%}.Backup__choice_wrapper__55pV-,.Backup__choice_wrapper__55pV->label{display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:100%}.Backup__choice_wrapper__55pV->label{font-weight:400}.Backup__choice_radio_button__13ADI{position:absolute;visibility:hidden}.Backup__choice__3vlYc{border-radius:3px;cursor:pointer;min-height:100%;padding:20px 30px;padding-top:110px;text-align:center;background-color:#fff;background-repeat:no-repeat;background-position:center 25px;background-size:90px 90px}.Backup__choice__3vlYc:hover{background-color:#fafafa}.Backup__choice__3vlYc.Backup__disabled__3Ph7h{cursor:default;background-color:#fafafa;opacity:.75}.Backup__choice__3vlYc.Backup__disabled__3Ph7h .Backup__choice_title__3nyE7{color:#bac0c7}.Backup__choice__3vlYc p{line-height:1.4}.Backup__choice__3vlYc svg{display:block;margin:0 auto;width:80px;height:80px}.Backup__choice__3vlYc .Backup__choice_title__3nyE7{display:block;font-size:16px;margin:12px 0;color:#20252d;font-weight:600}.Backup__backup__1iu6I{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtYmFja3VwKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTMgewogICAgICAgIGZpbGw6ICNmMmYyZjI7CiAgICAgIH0KCiAgICAgIC5jbHMtMywgLmNscy00LCAuY2xzLTUsIC5jbHMtNiB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CgogICAgICAuY2xzLTQgewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cCI+CiAgICAgIDxyZWN0IHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iYmFja3VwIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9ImJhY2t1cC0yIiBkYXRhLW5hbWU9ImJhY2t1cCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy0yIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkwIiBkYXRhLW5hbWU9IlBhdGggNDc5MCIgY2xhc3M9ImNscy0zIiBkPSJNNzUuNi04Ny42MDYsMy42MDYtNDYuMDQxLDc1LjYtNC40NzZsNzEuOTkzLTQxLjU2NVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgY2xhc3M9ImNscy00IiBkPSJNMTQ3LjU5MS00Ni4wNDEsNzUuNi00LjQ3NiwzLjYwNi00Ni4wNDEsNzUuNi04Ny42MDZabS0xMzYuMDY4LDBMNzUuNi05LjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtODMuMDM1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTIiIGRhdGEtbmFtZT0iUGF0aCA0NzkyIiBjbGFzcz0iY2xzLTUiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MyIgZGF0YS1uYW1lPSJQYXRoIDQ3OTMiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtOTAuMDQxLDc1LjYtNDguNDc2LDMuNjA2LTkwLjA0MSw3NS42LTEzMS42MDZabS0xMzYuMDY4LDBMNzUuNi01My4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTEyNy4wMzVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGNsYXNzPSJjbHMtNiIgZD0iTTc1LjYtMTcxLjYwNiwzLjYwNi0xMzAuMDQxLDc1LjYtODguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjYwNikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NSIgZGF0YS1uYW1lPSJQYXRoIDQ3OTUiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}.Backup__restoreKeystore__2B53A{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9qc29uKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjZjJmMmYyOwogICAgICB9CgogICAgICAuY2xzLTIsIC5jbHMtMywgLmNscy01LCAuY2xzLTYgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zIHsKICAgICAgICBmaWxsOiAjYTNhOWI4OwogICAgICB9CgogICAgICAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CgogICAgICAuY2xzLTcgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcmVzdG9yZV9qc29uIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2pzb24iIGRhdGEtbmFtZT0icmVzdG9yZSBqc29uIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9Ikdyb3VwXzMwODgiIGRhdGEtbmFtZT0iR3JvdXAgMzA4OCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTAiIGRhdGEtbmFtZT0iUGF0aCA1MjEwIiBjbGFzcz0iY2xzLTIiIGQ9Ik03Ni4zNTItODcuNjA2bC03Mi43NDYsNDIsNzIuNzQ2LDQyLDcyLjc0Ni00MloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjExIiBkYXRhLW5hbWU9IlBhdGggNTIxMSIgY2xhc3M9ImNscy0zIiBkPSJNMTQ5LjEtNDUuNjA2bC03Mi43NDYsNDItNzIuNzQ2LTQyLDcyLjc0Ni00MlptLTEzNy40OTIsMEw3Ni4zNTItOC4yMjQsMTQxLjEtNDUuNjA2LDc2LjM1Mi04Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlVuaW9uXzEzMiIgZGF0YS1uYW1lPSJVbmlvbiAxMzIiIGNsYXNzPSJjbHMtNCIgZD0iTS00NjkuMzU5LTE4MjIuOTgzLTQyNC4zLTE4NDlsNi45MjgsNC00NS4wNjIsMjYuMDE2Wm0tMTcuMzItMTBMLTQ1Ny4yMDYtMTg1MGw2LjkyOCw0LTI5LjQ3MywxNy4wMTZabS0xNy4zMi0xMEwtNDg2LjY1MS0xODUzbDYuOTI4LDQtMTcuMzQ5LDEwLjAxNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU1MS40MTYgMTk3Ni4yMTEpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTUiIGRhdGEtbmFtZT0iUGF0aCA1MjE1IiBjbGFzcz0iY2xzLTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNiIgZGF0YS1uYW1lPSJQYXRoIDUyMTYiIGNsYXNzPSJjbHMtMyIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTciIGRhdGEtbmFtZT0iUGF0aCA1MjE3IiBjbGFzcz0iY2xzLTYiIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxOCIgZGF0YS1uYW1lPSJQYXRoIDUyMTgiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTMxIiBkYXRhLW5hbWU9IlVuaW9uIDEzMSIgY2xhc3M9ImNscy00IiBkPSJNLTQ2OS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS01MDQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NTEuNDE2IDE4NzYuMTk1KSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIGNsYXNzPSJjbHMtNyIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}.Backup__restoreMnemonic__2dauK{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9NbmVtaW5pY193b3Jkcyk7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2YyZjJmMjsKICAgICAgfQoKICAgICAgLmNscy0yLCAuY2xzLTMsIC5jbHMtNSwgLmNscy02LCAuY2xzLTcgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zLCAuY2xzLTggewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNCwgLmNscy02IHsKICAgICAgICBmaWxsOiAjZjdmN2Y3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICMwMGJkYTk7CiAgICAgIH0KCiAgICAgIC5jbHMtNyB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy05IHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfTW5lbWluaWNfd29yZHMiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9InJlc3RvcmVfTW5lbWluaWNfd29yZHMiIGRhdGEtbmFtZT0icmVzdG9yZSBNbmVtaW5pYyB3b3JkcyIgY2xhc3M9ImNscy0xIj4KICAgIDxnIGlkPSJHcm91cF8zMDkwIiBkYXRhLW5hbWU9Ikdyb3VwIDMwOTAiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgY2xhc3M9ImNscy0yIiBkPSJNNzYuMzUyLTg3LjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTQ1LjYwNmwtNzIuNzQ2LDQyLTcyLjc0Ni00Miw3Mi43NDYtNDJabS0xMzcuNDkzLDBMNzYuMzUyLTguMjI0LDE0MS4xLTQ1LjYwNiw3Ni4zNTItODIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBjbGFzcz0iY2xzLTQiIGQ9Ik0tMjE5LjM1OS0xNTcyLjk4My0xNzQuMy0xNTk5bDYuOTI4LDQtNDUuMDYxLDI2LjAxNlptLTE3LjMyLTEwTC0yMDcuMjA2LTE2MDBsNi45MjgsNC0yOS40NzMsMTcuMDE2Wm0tMTcuMzItMTBMLTIzNi42NTEtMTYwM2w2LjkyOCw0LTE3LjM0OCwxMC4wMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDMxIDE3MjYuMjAzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMwIiBkYXRhLW5hbWU9IlBhdGggNTIzMCIgY2xhc3M9ImNscy01IiBkPSJNNjUuOTU5LTEyOS42MDZsLTMxLjE3NywxOC0zMS4xNzctMTgsMzEuMTc3LTE4Wm0tNTQuMzU0LDAsMjMuMTc3LDEzLjM4MiwyMy4xNzctMTMuMzgyTDM0Ljc4My0xNDIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzEiIGRhdGEtbmFtZT0iUGF0aCA1MjMxIiBjbGFzcz0iY2xzLTYiIGQ9Ik0zNC43ODMtMTQ3LjYwNmwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzNSIgZGF0YS1uYW1lPSJQYXRoIDUyMzUiIGNsYXNzPSJjbHMtNyIgZD0iTTc2LjMzNy0xNzEuNjE0bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjM5IiBkYXRhLW5hbWU9IlBhdGggNTIzOSIgY2xhc3M9ImNscy03IiBkPSJNNzYuMzM3LTEyMy42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyNDMiIGRhdGEtbmFtZT0iUGF0aCA1MjQzIiBjbGFzcz0iY2xzLTYiIGQ9Ik0xMTcuOTA3LTE0Ny42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzUiIGRhdGEtbmFtZT0iVW5pb24gMTM1IiBjbGFzcz0iY2xzLTgiIGQ9Ik0tMjEyLjQ0NS0xNTM3bDMxLjE3Ny0xOCwzMS4xNzcsMTgtMzEuMTc3LDE4Wm04LDAsMjMuMTc3LDEzLjM4MkwtMTU4LjA5MS0xNTM3bC0yMy4xNzctMTMuMzhaTS0yNTQtMTU2MC45OTJsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxLDIzLjE3Ny0xMy4zODEtMjMuMTc3LTEzLjM4MVptNzUuMTI0LS4wMDgsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgsMjMuMTc4LTEzLjM4LTIzLjE3OC0xMy4zODFabS00OS41NjktMjQsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxTC0xNTguMDkxLTE1ODVsLTIzLjE3Ny0xMy4zODFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNzIgMTYwOS4yMTkpIi8+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy05IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Backup__choice__3vlYc strong{color:#dd2c2c}input[type=radio]:checked~.Backup__choice__3vlYc:hover{background-color:#fff}input[type=radio]:checked~.Backup__choice__3vlYc.Backup__backup__1iu6I{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cC1hY3RpdmUiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9ImJhY2t1cC1hY3RpdmUiIGNsaXAtcGF0aD0idXJsKCNjbGlwLWJhY2t1cC1hY3RpdmUpIj4KICAgIDxnIGlkPSJiYWNrdXAtYWN0aXZlLTIiIGRhdGEtbmFtZT0iYmFja3VwLWFjdGl2ZSI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiIGZpbGw9Im5vbmUiLz4KICAgICAgPGcgaWQ9Ikdyb3VwXzI1MjYiIGRhdGEtbmFtZT0iR3JvdXAgMjUyNiI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTAiIGQ9Ik03NS42LTg3LjYwNiwzLjYwNi00Ni4wNDEsNzUuNi00LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgZD0iTTE0Ny41OTEtNDYuMDQxLDc1LjYtNC40NzYsMy42MDYtNDYuMDQxLDc1LjYtODcuNjA2Wm0tMTM2LjA2OCwwTDc1LjYtOS4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTgzLjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MiIgZGF0YS1uYW1lPSJQYXRoIDQ3OTIiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTMiIGRhdGEtbmFtZT0iUGF0aCA0NzkzIiBkPSJNMTQ3LjU5MS05MC4wNDEsNzUuNi00OC40NzYsMy42MDYtOTAuMDQxLDc1LjYtMTMxLjYwNlptLTEzNi4wNjgsMEw3NS42LTUzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTI3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguMTkyKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGQ9Ik03NS42LTE3MS42MDYsMy42MDYtMTMwLjA0MSw3NS42LTg4LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3OC42MDYpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80Nzk1IiBkYXRhLW5hbWU9IlBhdGggNDc5NSIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}input[type=radio]:checked~.Backup__choice__3vlYc.Backup__restoreKeystore__2B53A{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfamFzb24tYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2phc29uLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIGphc29uLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9qYXNvbi1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg3IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODciPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjEwIiBkYXRhLW5hbWU9IlBhdGggNTIxMCIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxMSIgZGF0YS1uYW1lPSJQYXRoIDUyMTEiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzAiIGRhdGEtbmFtZT0iVW5pb24gMTMwIiBkPSJNLTIxOS4zNTktMTgyMi45ODMtMTc0LjMtMTg0OWw2LjkyOCw0LTQ1LjA2MiwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xODUwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE4NTNsNi45MjgsNC0xNy4zNDgsMTAuMDE2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQxNiAxOTc2LjIxMSkiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNSIgZGF0YS1uYW1lPSJQYXRoIDUyMTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE2IiBkYXRhLW5hbWU9IlBhdGggNTIxNiIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjMTk3N2Q2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNyIgZGF0YS1uYW1lPSJQYXRoIDUyMTciIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE4IiBkYXRhLW5hbWU9IlBhdGggNTIxOCIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMjkiIGRhdGEtbmFtZT0iVW5pb24gMTI5IiBkPSJNLTIxOS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS0yNTQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDE2IDE4NzYuMTk1KSIgZmlsbD0iI2QwZThmYSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIiBmaWxsPSJub25lIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)}input[type=radio]:checked~.Backup__choice__3vlYc.Backup__restoreMnemonic__2dauK{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfbW5lbWluaWMtYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX21uZW1pbmljLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIG1uZW1pbmljLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9tbmVtaW5pYy1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg5IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODkiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MywwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBkPSJNLTIxOS4zNTktMTU3Mi45ODMtMTc0LjMtMTU5OWw2LjkyOCw0LTQ1LjA2MSwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xNjAwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE2MDNsNi45MjgsNC0xNy4zNDgsMTAuMDE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQzMSAxNzI2LjIwMykiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzMCIgZGF0YS1uYW1lPSJQYXRoIDUyMzAiIGQ9Ik02NS45NTktMTI5LjYwNmwtMzEuMTc3LDE4LTMxLjE3Ny0xOCwzMS4xNzctMThabS01NC4zNTQsMCwyMy4xNzcsMTMuMzgyLDIzLjE3Ny0xMy4zODJMMzQuNzgzLTE0Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiMwMGJkYTkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMxIiBkYXRhLW5hbWU9IlBhdGggNTIzMSIgZD0iTTM0Ljc4My0xNDcuNjA2bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iI2QwZThmYSIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzUiIGRhdGEtbmFtZT0iUGF0aCA1MjM1IiBkPSJNNzYuMzM3LTE3MS42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzOSIgZGF0YS1uYW1lPSJQYXRoIDUyMzkiIGQ9Ik03Ni4zMzctMTIzLjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjQzIiBkYXRhLW5hbWU9IlBhdGggNTI0MyIgZD0iTTExNy45MDctMTQ3LjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTM1IiBkYXRhLW5hbWU9IlVuaW9uIDEzNSIgZD0iTS0yMTIuNDQ1LTE1MzdsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgyTC0xNTguMDkxLTE1MzdsLTIzLjE3Ny0xMy4zOFpNLTI1NC0xNTYwLjk5MmwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODEsMjMuMTc3LTEzLjM4MS0yMy4xNzctMTMuMzgxWm03NS4xMjQtLjAwOCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zOCwyMy4xNzgtMTMuMzgtMjMuMTc4LTEzLjM4MVptLTQ5LjU2OS0yNCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODFMLTE1OC4wOTEtMTU4NWwtMjMuMTc3LTEzLjM4MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3MiAxNjA5LjIxOSkiIGZpbGw9IiMxOTc3ZDYiLz4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNzM5IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNzM5IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgZmlsbD0ibm9uZSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Backup__choice__3vlYc .Backup__choice_title__3nyE7{color:#1977d6}input[type=radio]:checked~.Backup__choice__3vlYc svg polygon{stroke:#1977d6;fill:rgba(25,119,214,.15)}input[type=radio]:checked~.Backup__choice__3vlYc svg path,input[type=radio]:checked~.Backup__choice__3vlYc svg rect{fill:#1977d6}.Backup__submit__34nLc,.Backup__submitWrapper__3GmPu{display:block;margin-top:30px}.Backup__submit__34nLc{width:100%}.Backup__infoLink__2tKe2{position:relative;left:4px;top:1px;color:#bac0c7}@-webkit-keyframes RescanDialog__progress-bar-stripes__211F3{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RescanDialog__progress-bar-stripes__211F3{0%{background-position:40px 0}to{background-position:0 0}}.RescanDialog__progress__3XubD{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RescanDialog__progress-bar__1HaX3{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RescanDialog__progress-bar-striped__2spKu,.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar__1HaX3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RescanDialog__progress-bar__1HaX3.RescanDialog__active__8R4RW,.RescanDialog__progress__3XubD.RescanDialog__active__8R4RW .RescanDialog__progress-bar__1HaX3{-webkit-animation:RescanDialog__progress-bar-stripes__211F3 2s linear infinite;animation:RescanDialog__progress-bar-stripes__211F3 2s linear infinite}.RescanDialog__progress-bar-success__2w1sQ{background-color:#5cb85c}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-success__2w1sQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__progress-bar-info__1DQB0{background-color:#5bc0de}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-info__1DQB0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__progress-bar-warning__3wFGj{background-color:#f0ad4e}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-warning__3wFGj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__progress-bar-danger__jJINj{background-color:#ef5354}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-danger__jJINj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__tooltip__aOL4m{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RescanDialog__tooltip__aOL4m.RescanDialog__in__3baGS{filter:alpha(opacity=90);opacity:.9}.RescanDialog__tooltip__aOL4m.RescanDialog__top__2j_4o{padding:5px 0;margin-top:-3px}.RescanDialog__tooltip__aOL4m.RescanDialog__right__2ZwFj{padding:0 5px;margin-left:3px}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom__1YwgM{padding:5px 0;margin-top:3px}.RescanDialog__tooltip__aOL4m.RescanDialog__left__2CAqS{padding:0 5px;margin-left:-3px}.RescanDialog__tooltip__aOL4m.RescanDialog__top__2j_4o .RescanDialog__tooltip-arrow__25bWP{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__top-left__1zx-7 .RescanDialog__tooltip-arrow__25bWP{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__top-right__15v7q .RescanDialog__tooltip-arrow__25bWP{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__right__2ZwFj .RescanDialog__tooltip-arrow__25bWP{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__left__2CAqS .RescanDialog__tooltip-arrow__25bWP{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom__1YwgM .RescanDialog__tooltip-arrow__25bWP{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom-left__RxxOT .RescanDialog__tooltip-arrow__25bWP{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom-right__26Afx .RescanDialog__tooltip-arrow__25bWP{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RescanDialog__tooltip-inner__602aP{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RescanDialog__tooltip-arrow__25bWP{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RescanDialog__title__1eOLf{text-align:center}.RescanDialog__submitBtn__K0Qj9{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.RescanDialog__infoContainer__2BMzq{word-break:break-word}@-webkit-keyframes VoteDetails__progress-bar-stripes__1KIUx{0%{background-position:40px 0}to{background-position:0 0}}@keyframes VoteDetails__progress-bar-stripes__1KIUx{0%{background-position:40px 0}to{background-position:0 0}}.VoteDetails__progress__jEtNI{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.VoteDetails__progress-bar__O0CtV{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.VoteDetails__progress-bar-striped__3TPcq,.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar__O0CtV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.VoteDetails__progress-bar__O0CtV.VoteDetails__active__3ABoF,.VoteDetails__progress__jEtNI.VoteDetails__active__3ABoF .VoteDetails__progress-bar__O0CtV{-webkit-animation:VoteDetails__progress-bar-stripes__1KIUx 2s linear infinite;animation:VoteDetails__progress-bar-stripes__1KIUx 2s linear infinite}.VoteDetails__progress-bar-success__11Bp1{background-color:#5cb85c}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-success__11Bp1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__progress-bar-info__3I3Fx{background-color:#5bc0de}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-info__3I3Fx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__progress-bar-warning__1xOot{background-color:#f0ad4e}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-warning__1xOot{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__progress-bar-danger__3M8LA{background-color:#ef5354}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-danger__3M8LA{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__tooltip__20Pk4{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.VoteDetails__tooltip__20Pk4.VoteDetails__in__Kw8Fy{filter:alpha(opacity=90);opacity:.9}.VoteDetails__tooltip__20Pk4.VoteDetails__top__3N_cd{padding:5px 0;margin-top:-3px}.VoteDetails__tooltip__20Pk4.VoteDetails__right__3ygHj{padding:0 5px;margin-left:3px}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom__2as6j{padding:5px 0;margin-top:3px}.VoteDetails__tooltip__20Pk4.VoteDetails__left__F60la{padding:0 5px;margin-left:-3px}.VoteDetails__tooltip__20Pk4.VoteDetails__top__3N_cd .VoteDetails__tooltip-arrow__3uByT{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__top-left__1PoqF .VoteDetails__tooltip-arrow__3uByT{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__top-right__1MvhM .VoteDetails__tooltip-arrow__3uByT{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__right__3ygHj .VoteDetails__tooltip-arrow__3uByT{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__left__F60la .VoteDetails__tooltip-arrow__3uByT{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom__2as6j .VoteDetails__tooltip-arrow__3uByT{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom-left__14zqZ .VoteDetails__tooltip-arrow__3uByT{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom-right__3pB-I .VoteDetails__tooltip-arrow__3uByT{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteDetails__tooltip-inner__R4qqQ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.VoteDetails__tooltip-arrow__3uByT{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.VoteDetails__main__1yaqL{background:#fff;color:#20252d;width:100%;table-layout:fixed}.VoteDetails__main__1yaqL code{padding:0;font-size:13px}.VoteDetails__main__1yaqL td{border-top:1px solid #f3f6f8;word-wrap:break-word;color:#747c89;line-height:20px;vertical-align:top}.VoteDetails__main__1yaqL th{color:#20252d;text-transform:uppercase;font-weight:500;font-size:12px}.VoteDetails__main__1yaqL td,.VoteDetails__main__1yaqL th{padding:13px 30px 13px 0}.VoteDetails__main__1yaqL td:first-child,.VoteDetails__main__1yaqL th:first-child{padding-left:60px}.VoteDetails__main__1yaqL td:last-child,.VoteDetails__main__1yaqL th:last-child{width:30%}.VoteDetails__main__1yaqL .btn-link{padding-top:0;padding-bottom:0;line-height:1}@-webkit-keyframes CoreIndex__progress-bar-stripes__1SfHI{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CoreIndex__progress-bar-stripes__1SfHI{0%{background-position:40px 0}to{background-position:0 0}}.CoreIndex__progress__YcMom{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CoreIndex__progress-bar__3eWGJ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CoreIndex__progress-bar-striped__3dXd0,.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar__3eWGJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CoreIndex__progress-bar__3eWGJ.CoreIndex__active__12qOz,.CoreIndex__progress__YcMom.CoreIndex__active__12qOz .CoreIndex__progress-bar__3eWGJ{-webkit-animation:CoreIndex__progress-bar-stripes__1SfHI 2s linear infinite;animation:CoreIndex__progress-bar-stripes__1SfHI 2s linear infinite}.CoreIndex__progress-bar-success__1SdPN{background-color:#5cb85c}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-success__1SdPN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__progress-bar-info__1u5JQ{background-color:#5bc0de}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-info__1u5JQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__progress-bar-warning__3Pm_p{background-color:#f0ad4e}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-warning__3Pm_p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__progress-bar-danger__JYq5B{background-color:#ef5354}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-danger__JYq5B{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__tooltip__gNTyC{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CoreIndex__tooltip__gNTyC.CoreIndex__in__1t15g{filter:alpha(opacity=90);opacity:.9}.CoreIndex__tooltip__gNTyC.CoreIndex__top__3hUB5{padding:5px 0;margin-top:-3px}.CoreIndex__tooltip__gNTyC.CoreIndex__right__1ivs4{padding:0 5px;margin-left:3px}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom__OWOVC{padding:5px 0;margin-top:3px}.CoreIndex__tooltip__gNTyC.CoreIndex__left__36Tt0{padding:0 5px;margin-left:-3px}.CoreIndex__tooltip__gNTyC.CoreIndex__top__3hUB5 .CoreIndex__tooltip-arrow__2ZrXO{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__top-left__DC0BE .CoreIndex__tooltip-arrow__2ZrXO{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__top-right__2uBgT .CoreIndex__tooltip-arrow__2ZrXO{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__right__1ivs4 .CoreIndex__tooltip-arrow__2ZrXO{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__left__36Tt0 .CoreIndex__tooltip-arrow__2ZrXO{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom__OWOVC .CoreIndex__tooltip-arrow__2ZrXO{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom-left__1fR4i .CoreIndex__tooltip-arrow__2ZrXO{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom-right__4rksZ .CoreIndex__tooltip-arrow__2ZrXO{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CoreIndex__tooltip-inner__2W9aX{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CoreIndex__tooltip-arrow__2ZrXO{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CoreIndex__page_header__5QQUg h1{margin-bottom:0}.CoreIndex__table__Dceyw{margin-bottom:30px}.CoreIndex__table__Dceyw td{vertical-align:top}.CoreIndex__actionBtn__21s5W img{margin-bottom:3px}.CoreIndex__row__28vvd{line-height:30px}.CoreIndex__row_label__1wXx4{padding-right:30px;text-transform:capitalize;font-weight:500;white-space:pre}.CoreIndex__row_value__15ygI{white-space:pre;text-align:right}.CoreIndex__shorten_value__Zv0Qs{max-width:220px;text-overflow:ellipsis;overflow:hidden}.CoreIndex__block_hash__2Cz48{display:block;word-wrap:break-word;word-break:break-all}.CoreIndex__col__3Mv9x,.CoreIndex__flex__3F9Af{display:-webkit-flex;display:-ms-flexbox;display:flex}.CoreIndex__col__3Mv9x{width:50%;padding:30px}.CoreIndex__col__3Mv9x h4{margin-top:0}.CoreIndex__wordWrap__oQe8i{word-wrap:break-word;word-break:break-all}.CoreIndex__copyButton__1IwKv{padding:0 9px 4px}.CoreIndex__copyButton__1IwKv img{width:18px}.CoreIndex__sub-row__3OQu5{padding:30px 30px 0}.CoreIndex__top__3hUB5{border-bottom:1px solid #f5f5f5}.CoreIndex__left__36Tt0{padding-left:0;width:67%}.CoreIndex__right__1ivs4{border-left:1px solid #f5f5f5;width:33%}.CoreIndex__replication_lag__3RmHd{display:inline-block;float:right;border-radius:3px;color:#fff;padding:0 8px;line-height:1.5;margin-top:2px;margin-left:-8px}.CoreIndex__green__2pqbx{background:#3295de}.CoreIndex__yellow__3eSHB{background:#f0ad4e}.CoreIndex__red__1oSeH{background:#eb7575}.CoreIndex__mainContainer__3G2_G{background-color:#fff;padding:0 30px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}code{padding-left:0;font-size:13px}.CoreIndex__switch__3nsIV{margin-top:5px;position:relative;display:inline-block;width:44px;height:22px}.CoreIndex__switch__3nsIV input{display:none}.CoreIndex__switch__3nsIV input:checked+.CoreIndex__slider__2PcsQ{background-color:#195ad6}.CoreIndex__switch__3nsIV input:focus+.CoreIndex__slider__2PcsQ{box-shadow:0 0 1px #195ad6}.CoreIndex__switch__3nsIV input:checked+.CoreIndex__slider__2PcsQ:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.CoreIndex__slider__2PcsQ{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.CoreIndex__slider__2PcsQ:before{position:absolute;content:\"\";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}@-webkit-keyframes Index__progress-bar-stripes__zmrYR{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Index__progress-bar-stripes__zmrYR{0%{background-position:40px 0}to{background-position:0 0}}.Index__progress__2yXf0{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Index__progress-bar__ZToC5{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Index__progress-bar-striped__T2VOf,.Index__progress-striped__O-yOF .Index__progress-bar__ZToC5{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Index__progress-bar__ZToC5.Index__active__2BvM9,.Index__progress__2yXf0.Index__active__2BvM9 .Index__progress-bar__ZToC5{-webkit-animation:Index__progress-bar-stripes__zmrYR 2s linear infinite;animation:Index__progress-bar-stripes__zmrYR 2s linear infinite}.Index__progress-bar-success__1k9g0{background-color:#5cb85c}.Index__progress-striped__O-yOF .Index__progress-bar-success__1k9g0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-info__1R6h0{background-color:#5bc0de}.Index__progress-striped__O-yOF .Index__progress-bar-info__1R6h0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-warning__R00OQ{background-color:#f0ad4e}.Index__progress-striped__O-yOF .Index__progress-bar-warning__R00OQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-danger__2GtWv{background-color:#ef5354}.Index__progress-striped__O-yOF .Index__progress-bar-danger__2GtWv{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__tooltip__1gef1{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Index__tooltip__1gef1.Index__in__3GVmE{filter:alpha(opacity=90);opacity:.9}.Index__tooltip__1gef1.Index__top__1E1fY{padding:5px 0;margin-top:-3px}.Index__tooltip__1gef1.Index__right__3qRVa{padding:0 5px;margin-left:3px}.Index__tooltip__1gef1.Index__bottom__14iVH{padding:5px 0;margin-top:3px}.Index__tooltip__1gef1.Index__left__2l0Y3{padding:0 5px;margin-left:-3px}.Index__tooltip__1gef1.Index__top__1E1fY .Index__tooltip-arrow__2os-c{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__1gef1.Index__top-left__164-H .Index__tooltip-arrow__2os-c{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__1gef1.Index__top-right__3vvNN .Index__tooltip-arrow__2os-c{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__1gef1.Index__right__3qRVa .Index__tooltip-arrow__2os-c{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Index__tooltip__1gef1.Index__left__2l0Y3 .Index__tooltip-arrow__2os-c{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Index__tooltip__1gef1.Index__bottom__14iVH .Index__tooltip-arrow__2os-c{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__1gef1.Index__bottom-left__x1wyW .Index__tooltip-arrow__2os-c{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__1gef1.Index__bottom-right__29mww .Index__tooltip-arrow__2os-c{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip-inner__3BSCQ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Index__tooltip-arrow__2os-c{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Index__title__2C-1_{font-size:26px;font-weight:400;margin-top:30px;margin-bottom:30px;text-align:center}.Index__choices__z1D6y{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.Index__choices__z1D6y>div{width:30%;min-height:100%}.Index__choice_wrapper__aUflq,.Index__choice_wrapper__aUflq>label{display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:100%}.Index__choice_wrapper__aUflq>label{font-weight:400}.Index__choice_radio_button__3N5lo{position:absolute;visibility:hidden}.Index__choice__113bB{border:1px solid #ddd;border-radius:3px;cursor:pointer;min-height:100%;padding:20px 30px;padding-top:110px;text-align:center;background-repeat:no-repeat;background-position:center 25px;background-size:90px 90px}.Index__choice__113bB:hover{background-color:#fafafa}.Index__choice__113bB.Index__disabled__35ptv{cursor:default;background-color:#fafafa;opacity:.75}.Index__choice__113bB.Index__disabled__35ptv .Index__choice_title__LJh-1{color:#bac0c7}.Index__choice__113bB p{line-height:1.4}.Index__choice__113bB svg{display:block;margin:0 auto;width:80px;height:80px}.Index__choice__113bB .Index__choice_title__LJh-1{display:block;font-size:16px;margin:12px 0;color:#20252d;font-weight:600}.Index__new__3iNcH{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAG/FJREFUeAHtXWlwHMd1bhIk7msXu4s9ABLXAlgsbgIgKcmW5VRSshUrEi0plk3HVtmpcklWUi47thMnPlI5yrLjqkRllcuOSxVJsWyaEZWUldCukhlFtnngIK7FwSUuAtjFnrhvgsh7Iw21mGkAC2AW2Nl9/Wdmunt6er7+sOjp9/p7jFEiBAgBQoAQIAQIAUKAECAECAFCgBAgBAgBQiAWEDgUCy8Rze/Q0tb71VGX95vZWRm9Rp3mUZutcDia+6v2vhGhIzSCbZ3O+72+4M99/km9+IikxKPrFovh3Mp85dkHHjh0W8yno3IIEKGVw1JoqaVn2DQTCL7ucvua1tfXua1npKcumUz6L5+stz3PrUCZu0aACL1r6DbeCORNuHyt68ejLt8nV1ZWD28s5V8ZdJpxo1H/ZI296G1+DcrdKQJE6J0ixqnf3Nr7+fEJ33OzcwspnGJ2PN/IPL4gW1pa4RWzfIvhskmf9nBZWZmfW4Eyw0aACB02VPKK17v7G32+6dc83mCevJQxrSaTNdXbmC4nm62trbHu3kHm6Btmd+7ckVVPTkpcM5v0P7ynqfLzhw4dkleQ3UEZPASI0DxUtsnr7+/XuX0LP3dN+D6wtibnXnJyIqurLmXFBRZZS/MLS6y1vY/dGvPIyjAjKzNt3pSb83RjfcVL3AqUuSUCROgt4dlYCPPkQ5dbHM+7XN7PLS6tJGwsZezw4UPMVlrAqiqK2ZEjsuIN1b3+SXa1xcGmZ+Y35IsXxtycQYMh+/GaCmubmEfH7REgQm+PkVCjua3vMbfX/+L09Fw675Y8s4E11JWz9DTuNJp3C8NFkJuDo6y9y8mWV1ZldRISEnB+/aZRl3rGarXOyCpQhgwBIrQMko0ZbQ5nRdA79ZrbGyjbWPLOVWZGGjt5ooLlGrS84rDyVldvs47um6z/5i0guXypLzUl+bbZpPve6cbKr4TVYBxXIkJvMvgOhzc9OOM+N+byPnj79poMp8TEo6zGXsJKS/IZfMRt0srOsmdm59m11h424Q1yb9RkZ0ybcnVPnagtu8CtQJlMmZGIMSCvtDj+Ydzt+9LCwtJR6ashd63Fx1htZQlDUkcijbt8rAU+HGEZUNY8Pt9k1PcaNJkfqaqyDsgqxHkGETqEAK0dfQ9OeAKvBidns0Oy754a9BphepGVyZ1G362nxMmdO+uszznCuhw32ertNVmTR48eWbeY9BfyjJmfKCwsXJJViNMMIjQMfFeXs9g7OfOae8JXzZnCCh96J2rL8QNt32myvLzK2jr72cDQOPfZaakpK8cs+q831Fd8m1shzjLjmtBOpzPJG1h8ecztewzM1TIscOmtylbEbGUFsCQXljU7YvSZnJphV1p6WCA4zX2GXqfxGQ3as7VV1l9xK8RJpmwQ4+S92dW23mfdbu93ZucWk3jvXFRgZvU1ZQwseLziA8sbvuVmbR032MKifJaBH6ewfHg9Xat5qKGiwH1gnTzAB8cdoQW3Tq//J77AtJmHO5qrcRkuR5vFK46KPLROOvrQjD4EJnW5pRI+Vu9YzPqX722q+gyQXD4Bj4q3iEwn4obQXV2Duf7pKXTrPIUfXNKUkpwEv8ilrPA4l+fS6lFxjb/Sre39bGR0gtsfWCNftJgMX2qoK3uBWyEGM2Oe0OjWeaW5+0ej495PgTVONhHGuXEFzJGrKooYWubUmNCMfq21l01Nz3K7D0afMb0+60xdZVkzt0IMZcY0oa+1Op5ye4LfB4MF1x59LC+X4epFWmpyTAzpzcExdh3N6MtyN9WEhMMMlvneAjP6Y7HsphqThH7XrfMcuHUW8JgKHm3g1rk3czWv3WjIwzXrTli77rsxwjWjpySDm6rZ8IPTDfZnYX4tn3tFw0vsoQ8xRWiHY1TrnwqcH3d7H+B9LMGePlZTZWXWIjRX7wE1FdyKVsbm673M5ebvGcjKSp8zGbTPxJqbaswMK7hi/gvsrn56cXFZNhHG5ayykmOsBszVYGFTAR2V66LbExD8Q3hmdHwK+IYMaPVZD9fbrT3KPfXgWlI9odGt0+ML/Ovk1Cx3nQ2MDawJluHQKy5eE3rwoRm90zHA0LNPmsCAtA7r1xe1maYn7HbDnLRcTdeqJXRn51C5N+h/HX6BuG6dsLOaNcAHH6zHqmk8ItpXNKO3d91gTvh45KXU1ORV+HD87qkG+1/xytWQpzpCo1vn5OzET8fGPR+GDyBZ/4+iuRrcOsutx4UdJGoYhP3u49T0nLBbxheY4j5aq8mYgh0zT56oKb/IrRDFmTJCRHFf2eVmxzfcHv/X5ucXuX6bxYUWVl9dxpKSuMXR/GoH0jc0yLR19DPc5yhN77qpdoKb6hk1uamqgtDo1unxBF8JTM7kSIHHazRTn2qoYJrsTF4x5W2BAK4G9fQPCTvSeStDYEZfzzPpzxtyUj4J28CWt2gqKoqimtC9vUMFbn/ggssdqN1ka5Jgri44ZooKMNXcicWlZcGMjs5PvJSRnrJsMhn+ItrVnqKS0JcurR9JSu36d1Ahepzn1olWr4qyQlYJrp14Tkk5BPwwr0Y31c3M6PqcLJfBoPt4fbX1LeWeqlxLUUfod9w6BRUirj0aVYhgTx2DjaPKoUAtyRDADQXXO2+wJY4ZHeUaQBTnii4r+5GqqiK+wIisxf3JiBpCdzgG3zcx4X3V65+Sq7MAFiBHC+vJNgZ6cPuDDD2FweZg1tkzAGZ0VHuSW8nB8noHdvH826nGyj+NFjfVAyc0unUGpqcuwKbU01zQwMEedmGAuZqrtkW02wcE5uYXWQuY0cdg8y4voZuqKVf7TNMJ+4u88v3MOzBCw0fe4astPeDW6fk0/FuTTYTRXI1rydVort5GhWg/AYvnZ6EZvbmtl6HcAi+Bm+owuKk+cZBuqgdCaHTrBO2J50EGi2uPBlEV1lhnY2jtoxRdCOBqEwridIIwzgrHjP6Om6rhki475zG7PZ8vMBLBV9pXQnf0OOu9nsnzQOZC3jshgdHvAsQKecWUF0UIwOqTIGHmBCkz3k75lJSktXyz4YWTDfY/289u7wuhYXd1pts3fwHmYB9EWVlpQg+4anuxMMXAqQYl9SCAZvRrbT3M65vkdhrVnnL1OZ9trC8/z62gcGbE2XOl2fEc+Cd/YWFxmeu3iR97tVWlZK5WeGD3uzmUB25FMzp8QPKSOVfXp9fmPFpdXdjHK1cqL2KEhs2bj4LfxYubuXXqQQQc/h3BclzkVYiUAova2RoBFHLv6R9mXT2DgsC7tDZ83K/nWXL/W5Nh/Fik3FQVJzS6dfomA6+5Jvw26QvhNe7fQ70LNJBQik0E0IyO2iFDIy7uC6alpayaDbq/O9Vk/1tuhT1kKkbooaGhZNfEzM9H3b6HwIlc1i5+/aKpGk3WZK7ew4ip6FZUeboKaqrBSb60dY4mM2AwaD7eUGv7lVKvJSPebhq+3NL91xMTgb+BBXiuzBA6D6G5GrUvKMUfAoPDLsGMjr/c0oSLALCpoF2poKSKEPrln12U20Wh52iuRrdODJpDKb4RQDN6FwRN6gVXVZ5F+Fie8df331v7e3tFibvysNdGhaA5sHKBDveUCAFEAIUv68CFobQ4XzCjg/BPRICRmZyVeMojH34/kVkJIGOwDVwUuP/eOsHmEPp6SpkfIkLo7SJAhb4InccnAlI5CZ61cTfIRITQu+kI3UMIKIEAEVoJFKmNqEGACB01Q0EdUQIBIrQSKFIbUYMAETpqhoI6ogQCRGglUKQ2ogYBInTUDAV1RAkEiNBKoEhtRA0CROioGQrqiBIIEKGVQJHaiBoEiNBRMxTUESUQIEIrgSK1ETUIEKGjZiioI0ogQIRWAkVqI2oQIEJHzVBQR5RAgAitBIpbtLG0tMJ+d7Vz03jcW9xKRbtAICJbsHbRj5i7BTXgevqGBDlaDPUwOOIWZGlBepZlZZIWSaQGnAgdAWRBk0QIdokytKHJF5hmv/jl71hJoZnV19pIVTUUHIXOidAKAYnNzEE44msgN4uE3izhL7dzcJyNjHkhsm0xRLg9vllVyt8FAkToXYAmvQUFKNu7nILMLG+LvrQ+XqN6J0TBZc6BMZB6sJPUAw+kXeQRoXcBWugtKHcFOn7cWCRYT6fNFJRVMchl741bQpiH0PtRvfPim1fZ8bxc1lBvIzGeUHB2cU6E3gVoeMvk1AwEAu0GmatZbgvpackgfVbIcvXvxISBsGgsD8I0I6kx4KV0l/MIqHeOuX2ssryQ2W3FFAWXi+r2mUTo7THaUAOjQrW19wmrFhsK3r1ACYdy6zFWdNzIpFrXiaCDXWMvYsUFJtbePcACwY2ab7ga0gEB5jEW90kQfreYDbxHUN4WCBChtwAntAg/5vqcI6wDQjGgrJU0oVDKMZg22MuOM6nmhLRueloKu+9kJYNIBiA9O8RAO3tDFby+9JvrzGjQChENICjPhnK62BwBIvTm2NwtmYBgOVdaHEy6DCdWyIF5Mv7y7jQmDBIWw9QJa9TOW6CpfEdsUjgi4X/xy98KEcDqIIY5CfhsgId7QYTmwvJOJqrRN28Rziw1JUmYJ0NIsy1a2boIg1jiunS+BebX/TC/hrl0aMJVk/6bozDv9rCaqhIgd35oMZ1LECBCSwARL7scN0EtE5UyN/5qYvkR0LouLcmHubBZsY83CGIJoTmKWRHMr3EeLf3YxLk7hMFjN4Dc952qJmujOFCSIxFaAoh42QvzZR6Zj+UZYJ5cwBITIwNdZkYqe9+pKjDOBFg3/EEtgi9IaIIQH8wNhhsyn4ei8t55ZEblvfZj5kyryYB5cjFDwu1HMhtzhCU/cX4drsFmP/oWzc8gb7swR6epvnzfyCx2CUN3WIssLB/WrymFhwAROjycqJZKECBCq2SgqJvhIUCEDg8nqqUSBIjQKhko6mZ4CBChw8OJaqkEASK0SgaKuhkeAkTo8HCiWipBgAitkoGiboaHABE6PJyolkoQIEKrZKCom+EhQIQODyeqpRIEiNAqGSjqZngIEKHDw4lqqQQBIrRKBoq6GR4CROjwcKJaKkGACK2SgaJuhocAETo8nKiWShAgQoc5UNdAh25mdiHM2spUQ1kDFHYcdfmUaTAOWqE9hWEOMu7CvvSbdhCTMbAKEJPBXdqRTG4PitAMyjbJRvKZsdA2EXqTUbRZj3NlDG6BDO642w8yuMrKGIjdwP8CPBkDsVyTncFMRp14SUcJAkRoCSDiZZW9BDQyLFyhGZwK9PSPsOFbE3sWmhGftwzyujyhGbE8OSmRhGZEMLY4EqG3ACcNNOg+cF89Qymwq609bBYEzUMTatDh3Hq3UmDYFsoTiFIFUikwLEdlJWtRHiMpMERj+0SE3h4jZszNYQ9/6D4hRgpOB6RijagiivNr1HjG+fV2Yo3iIzcTaxTLSaxRRCL8IxE6TKxQGtdWVihMQ1o7QE532L3hTtR7Hgb9uTGYX28mpyvegKKPPDldsRw180hOV0RjZ0ci9M7wYkkwl72nqZrZSgu4guf4640SXsO33KzKVsQM+uy7T1hZvb2p4DlWQmEZOwieV5Lg+V3MdnpChN4pYu/W12Rnsg///j1ss5AUc/NL7DKIK24XkkJ8PIWkEJHY25EIvTf8WOFxsyB0vlnQID/Mr3/99vVNn5IFYuanmyopaNCmCO2sgAi9M7y4tRMSEtiJ2nKQ2D0Gka16BOVQbsWQzEQwzFBYtxBAFDolQisEJDaDCv4ffH+DEKfwKij+zy8syVrHj0sKvCmDRbEMIrRiUL7XkBkseY889H7mgNDIXT0Dd0NN6HOyGIVGfg+nSJwRoSOBKrSJv8SVsMpRUpjH2mCZDyNaHc83Ruhp1KyIABFaRCJCx+RkWOY7WR2h1qlZKQLkPipFhK5VjQARWtXDR52XIkCEliJC16pGgAit6uGjzksRIEJLEaFrVSNAhFb18FHnpQgQoaWI0LWqESBCq3r4qPNSBIjQUkToWtUIEKFVPXzUeSkCRGgpInStagSI0KoePuq8FAEitBQRulY1AkRoVQ8fdV6KABFaighdqxqBiBB6FbbyUyIEtkJg9fbtDcWwH0KRFBFC/+cb/8cGhsYV6SA1ElsI4D7Lt37bDipUIxteDIV6lEgR2bGytLwiiLD0QqdPNVTQFn0lRkrlbaytrQnywD39w6Dndydib6PIL3RpSf7X0lJTVqS9nJqeZRffvMp+c6UTdI6XpcV0HScIDI642OtvvA2KUoMyMuPeS4tZ32HQZn1GCTgUmrkwNjQ0lDzunTk3Nu77w9XV27J2UeYKN41WgD4cnlOKfQQCwWlBtTU4OcN92RxNZiA3V3v2RE35RW6FXWTKiLeLNjbc0tk5VO6bDLzmmvDbNhS8e5GWmszqa8poBzQPnBjJwylnW3s/yAS7uG8EMsWrplzt359urPoWt8IeMhUntNiX1vb+R90e/4uTU7NZYl7oUZ+TzU422Fl2VnpoNp2rGAGcG+McGacWUslhfK2jRxLW88yG/9Fkmv7YbjfMReJVI0ZosbNXmh3Pjbt9X1hYXOJ+gKKYd21VKah6RjZmidgfOkYGgdFxL2tt72MoFcxLptycfq0++0y93drDK1cqL+KExo46nc5Mt2/+wpjL90H82pUmFAivtheDrvJxQaBFWk7X0YvA9MycME/2+ia5nczKSp8zGXRPNdaXn+dWUDhzXwgt9rmjx1nv9UyeB+X6QjEv9IjacE0nKhj8NYdm03kUIrACMWHau28y58AtxltDTklOWrOYdS+caqj8c1jJUGiVeXsg9pXQYneutTqeAlI/Pz0znybmhR7NJh1rrLMJ4oeh+XR+8AisA3tv3ByFSF03GZJamnAFK8+s/9+cLN1H7fb8oLQ80tcHQmh8KQDm8NWWnh+Njns+DV/FsnU8XJ/EKUh1ZQl+TEQaB2o/DAQ83qAwvZiZnefWNug1wwZD9hN1lWXN3Ar7kHlghBbfratrMDcwPXUBPhxPY0QoacIQEHVVVlYCH4+UDgYB/NBrud7HxlxebgcyM9IWYRnumaYT9he5FfYx88AJLb5rh2PwfRMT3le9/imLmBd6zM7KgPm1jRl0mtBsOo8gArj0hnLAvTfQXM35sUk8esdi0b90T2PVZ+E/qvxrP4J926zpqCG02MGrbb3Put3e78zOLSaJeaFHlKQ9UVvGUlOSQ7PpXGEEBobH2fXOG2xpSebRIMROBA3sqxk5OY82VBRsDAemcD922lzUERpfAJb5knzBxZcgaPvj8OEh66MYLcpeXkRm9J2O+Db1/YEpCCbayzYzV+t12V6DPueJ+mrrW9s0dSDFMrIcSC82eWhv71CB2x+44HIHavHrWprwV7q+ppQVHDNJi+h6hwig8xiaq4cgHB0vZaSnLOeZ9N9oqK/4Nq88WvKimtAiSBDo8kGPJ/hKYHKGu0Cdo4VQD+CmiqHWKO0MATRXY+gMjK3IM3olHj2C5ur/MOSknLVarVHvMqkKQotDdLnZ8Q3wD/na/Pwi105eXGhh9dVlZEYXAdvmeGvMI5ir+cGNGDMZdZ0GTdaZqirrwDZNRU2xqgiNqDkc3vTJGffPYAnpQ7DVS9Z/XLOuspcIa9gY+J2SHIGpaTBXQ5QuH8yXeUmryZiC+OZPKunWyXtOJPJUO+LopuoN+l93ewJlPGDQjN4AsQPBeZxXHJd5y8torr4B5uox7vunpiavWkz6fzrVYP9LbgUVZKqW0CK2zW19j7m9/henp+e4fqhGg1bwD4HFf/GWuDviB3Wf8xbrBHM1bL6Qvf8RdOs06S4a9ekfg3ky3xtfdld0Zqie0AgrDNihKy3d/zzu8j8NX+syOzma0csgymsNmtHBsy+eEvwHY9dae9js3AL3tU25ugGtPuvhSLt1ch8egcyYILSIi8MxqvVPBc6Pu70PrK3JN2ImYThiMKNbi/LBTVW8KzaPSGA0V4NLAfcF33Hr1D7TWF/xEreCSjNjclivd/c3er1T58BHt4A3LlmZacJumVg0o6MmCk4tUCaAt3YPcRPXLCbDD0432p/dT7dO3jhEIi8mCS0ChW6qbk/w++AdliLmhR6P5eUKQedxn2MspJuDY+x6l5Mtw54+aTp8WHDrfMuoS32srKzMLy2PleuYJjQOEvxKJVxp7gY3Ve+nlldWZW6qOND28gJhR3pCgmz6rYpx9vonYZ7cy1A2gpfArXMM3DrPHKRbJ69fkciLeUKLoLX0DJtmA2BGn/Cf5HmOpaQkCUaZwuPqMaPDPk0wjPSzkdEJ8TU3HGHpcinPnPvFhrqyFzYUxPBF3BBaHMO2Tuf9Xl/gnM8/ZRDzQo9oRm+qtzE8RmvCD15H36BgsuZ9/CYmHrljMRteXl2o+uwDDxySr9NF64sp0K+4I7SIWUtbz1fG3L5vbeamWlQAZnRwfEqGDQbRlIbBeait4wbDX2dpwuVJ8Lu4nq7VPBRtbp3SvkbqOm4JjYCim6o3sPgKmNE/usJRewKDA6uqKGa20gLBBzhSgxBOu5NTM+xKSw9DNSJe0us0PjAina2tsv6KVx4veXFNaHGQu7qcxd7J6dfcE/5qjpcqS09LEVZD8i3cWYrYTESOaK5u6+zfVM0VNQWPWfRfj3a3zoiAw2mUCB0CCrqpTngCrwYnZ7NDsu+ewmoBOwkyC1mZXCv73XpKnOCHa59zhHWhuZqjtw0Wz3Xwu7iQZ8z8RGFhoXz+oUQnVNgGEZozaFdaHP8IFrYvLiwsydxUcZ5aWpwPak/WiJnRx10+1gIqRDxzNVo4TUZ9r0GT+RE1uXVyYI5IFhF6E1hhfp054Zv76Zjb/yBsFpXhlIhmdPANQXIjyZVIKA+AfhegWcJtTpOdMQ2+F0/BnsoL3AqUyZQZiRgGss3hrAj6pv4LnHyKea+JXnw4DckFr77dJvSA6wAVov6bqELE3Wp2G8R3vne6sfIru31GvNxHhA5zpJvbev7E7Q1+fzM3VfxgbAC1p52Y0ZG7zkFQIUJzNVeFKIFBu2+CufqM2t06w4R5z9WI0DuAEN1UYRvY8+DN9znY3i+zk+MOGRsIuleBsDsu+W2V0FyNu0ZADo1bDXaMDIK5+vGaCmsbtwJlchEgQnNh2Tqzv79f5wksvD467ruXFy8EhApZXXUpKyowyxrC/XsoO4v7+XgJPAHnQazy6Vhz6+S9ayTyiNB7QFVQe/L4fgJuqlydMq0mU5hfoxl9u6A5YJFcM5v1P7ynsfLz8JEpd+beQz/j6VYitAKj3QJqT2Nu73NgRuf6oaKbKviObBo4Ccp/B/PkP4plt04FYA6rCSJ0WDBtX+nSpfUjR1O6fzzu9pxdWbktc1PltQAbDMaNRv2TNfait3nllLdzBIjQO8dsyzvQTXUuGHhjzOWv4y3B4c3o1mky6b98st72/JaNUeGOESBC7xiy8G5o73L+AexGf8Xvn76rowB7GtctFsO5lfnKs/Hm1hkeanuvRYTeO4ZbtgDz66+OurzfBDngXqNO86jNVji85Q1USAgQAoQAIUAIEAKEACFACBAChAAhQAgQAoQAIUAIsP8HPKeiN6Nj/toAAAAASUVORK5CYII=)}.Index__join__1q1y7{background-image:url(/dashboard/29bc1588eab62c1ae57b385901c70e3e.png)}.Index__testnet__1gJyo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAJIFJREFUeAHtXXl8U8edH8n3JVm3ZBtsgx0bn2CbIyTdLGW3QNpsm4SYBAJtsrshC022m7RJmrRpmjYnabJNNm2Tfho2GAiYQNJlFwMNIRcEg/EB+MIYML4l2ZLvW29/I5AjvTeyDr8n+Zj3h997c893vm/mNyPPdxCiF0WAIkARoAhQBCgCFAGKAEWAIkARoAhQBCgCFAGKAEXALQRKK+vSjn1ecq747IVX3IpAA3mNgMjrmDSiSwTq6uokbcb+PY3N+tVjY2NWrGWyKHOcTvngwsyUj1wmQAN4jAAltMeQuRcB98ZNzYbH+geGAkkxYrTKGpVMcWdWVmINyZ+6eYcAJbR3uDmNVX6+9s6mVuN7JlNPtNNANzyCAgOYuBh1kUyiW5eeru51FZ76u0aAEto1Rm6FwHayydi1v6XNmEqKEBYaggYGh0heKDw8dCROp359aV7aU8QA1NFtBCih3YaKHLCmxhBlNLXsaWzRrxkdvW4n24cMDAxAmWnz0YKbElBXdy86XVqFDEazfZDxZ2pfj0Ph9QMltNfQIWS1k1uM/9HfPxhESmZ+YixalHUTCg0JdvBuaGxDpRW1qK9/0MEdv4igRXRaZbUqWnEXta858Lh0oIR2CRE3gCs7WaWMRkty0pAsOoob+YbL2JgFVdVeRReq6xF+Zl9BQYHYvj4ki9LeS+1rNjrO3ymhnWPD8cF2shns5GYndjLYwig3OwXFz9Fy4jpzwHZ1WcVFdLmhhRgkIiJsJC5G+bslOek/Jwagjg4IUEI7wEF+cWUnBwQEoIwFiSgtJREFBIjJibhw7TR1gwlThTo6u4ghsX0NS33rc7JSiogBqKMVAUpoF0QoLql6ualV/5gzOzkxXodyoFfGqxh8XFcaWq32NWlFxGpfa5Tn1XLpnZmZyfV85DfT0qCEnqBFD39yqt3QYVaTgijkUrQ0Nw3JZRKS96Tc4FdFsK2voMqaK8hiIdvX8+NjHlmcm/b2pDKagZGJv2LNwHp6VaWunl4lO2JYWAjKgZWLxPgYthdv79iEyc5IQknz4qy9NV4Vsb9GRkZFI6Ojy8GNEtoeGHimhGYBMtFrWkqClWiYcL64ImCS+a2bs61r2F+dqkC9fQO+yHZa5+HdDGZaV9n7wqel4kmfb8hsX0qlQop0GoW9E312ggAltBNgqPP0RIASenq2Gy21EwQooZ0AQ52nJwKU0NOz3WipnSBACe0EGOo8PRGghJ6e7UZL7QQBSmgnwFDn6YkAJfT0bDdaaicIUEI7AYY6T08EKKGnZ7vRUjtBgBLaCTDUeXoiQAk9PduNltoJApTQToChztMTAUro6dlutNROEKCEdgIMdZ6eCExJQn/wwVHhtoNMz3aakqU+U1GVcfz48Sm1SWRKEXr7R8ejd+wt+v2oeOxawd6ir3Z/eDjdzy1J91wSGgDvgv/sy5KjFy82nu/oZvq+/LriUUIwvzhNiQZ77jlGPD/16L8gZHkZpINk3yDBjCFG9G6IGP0iP3915zfuwj7t2n8sfmxkeFtISNA9w8Oj45m5IyAzHpinByxCU33xKjpf5ShIo1HJu9uMpjs35a/6lKes3EoGyPurdn3nM7Ar3UEtCkR1WkDx6V7QJfnSrYQECuR3Qu/44MhSJGL+Alv0nfbGDEKYzM9erl71x+eeE3G3QfMEzo4dRyJEIczTDIMeg/KEBgcHIntC27JxJvFl8+frfq2pHZ0tryFKhmlUMtRuMCEGMQcDAoN+suHuf7jMV76kdErKq7/T0mrY3dXd73Qv2HWZBcXJOK3k+ykpKUZSOkK7+Y3Q7xceixVZRl4FENa7W0kgWqVYJN58/7rvnHA3jjvhGIYRFew7/EMRI3oRwutscbRqOQIZA6JUl70Io1jML4wmc8+Eoo7R0kg0PDKKQCvkRlGZYXh4czg06vl//v6tPbby83Evqbqq6zIYDra2d+YCTm4lCSPbGOyBfPvWZdk/EYlE7kVyK2XXgfhtCdf5oUOHDoUYe0SPQdBfiJAonB0FQMM9cCEUbJWj+eEQslAUaHn8/rtvb3Jw9eJlV+HhJSB98S4SoWxSdJD3qpBGhita9Z1xJP/IiDCUuzAVzYklyneQojh1GxwaRuXn6tClK+RqgYTCGOiBlDY26TPxCMJOCJijB/o8c/+6VTDiTY5I+CP/7MTZP7frzQ+AbAJxrqVVy1BP7wBxBMFli4oK79VpZJuW5mb67LQCnxK6oLDon5AFvQlEjWc3Bn6H4fPzwADR1vVrV1fiCWLA8NCvoIA/Bi/OTBrC9sMH8bIiyvLq7bffThZeJmVyw23n/kNxlhHxa0CMdaRg0BldhZ73Z/fnr/oQ+4Na6KamVsPbXV29kaTwajABsPCMVEL0JkUZd7NYGFRT14DOVV5CIMk77m57wDvN42JUnyqkinvS0+d0YhvfMjr8GmiVrrWFcbgzqALmHls23rfqpIO7my/FZy5satV3/AHIGkGKgj/i7Iz5SCmXgBAOgy5fbUE1lxqJIxmOr1ZKqxXSyDvy8jIFV3vyCaF3fXg02TI69kcg8koSQNAb1ItE4p9uXLfqY7Y/fAQpQK7Xgby3s/3wOyYe/H18071rDpD82W4HDx4MN/UFPQ3ujxN7OQb1AVFeUkrGXmN/KLjXKi6pfKupRf/wwOAwR88A0kPJ8+aghZnJKDjYYc7ELsb4O6SFSspqnGpuwNB9WaWOvic7Lbl0PNKNh4IPjixnRMy7kK+z+YdHI9np05XpnT29fzUYTfPZeeF3UERFaTfNBTFKDTSlI3WGhkdQde011AB2P+nCpxWACbcvVivZlJyc7HEHREqT5OZYKlKISbjt3HlIYgkSPwuZ/DskQ+plwd4T/XbArHxj8+a8kYmy2vlB0UpGJIKPAiWTwl3v3cUPr1+7qoboD2TcVXh0E5DyRUiDtM4NXminKAg9ufHu1a2kNGxu1dVNCqPZuA8OA1rhRAoXZaUnodTkuZyGt6XR3dOHTpVUIj1M7EiXVBrZG6dTbQXdvB0kf5vb9RWiw/8K77+FzDhKT/CxD0DVt8kiRl654447+m3x7O8nTzaGDY3pC8FO/q7tcCN7f0zexLlaELyZi/DcYaKru6cfVVTWo04T2ZQPDwsd1qnljy1fliWI6pMghMY92c69R34EYL5KAhn8sZ28PdAS+tT69SuMEwFk74cX8Rv1g1ugt34e3KX2fjeeR4HYfxgJjfqF/eTIaicz6A8QJpcQBzudBXvnoY33rub0gk7CW51Lz9fndXR0Fra1dySSwkmiwlHewgUoRvcNz3BPVnHhEqqrv4ZHF84Foo9jYF78aWle+iOe2MF/+etXUUGDvc9DPbYC/wjDA9MEHcKTm/JX77bP9Ovic0+CPPDzMOIE27vbntWgdZ2VPg9hFSdPrpa2Dqs+H6RLjKaQSZqUKsldSxZlnCEG8NKRd0LvKjySa2GYd6A8TsjDnAD7biuQp8LLMqP3D3yiEI+MYFJvhh6e02UAqQ3g/ow40FJkGRFtA2LcS8oLwjXDbOepDfmrd3lCHnZaruxrvFqyGATQW9uNVjLDJIudhFWGN1anPi6Lkt2dlRVP7rY5sbgOBYWHk5CF+RN0JCu5vlYTrRgafUvS/FhJZ2d3Yae5R0UKhwmcDUTGa+/eXnj0unSlBdVdbiLa11h6GNbTP1XJVGsnU2f78vFG6N27P9GMikdfht7hh5ABN12GaQCQn9i4bnWhfQEm87z7wyOpo2OWP0GPfRspHegBq4GoMMwyDh8XuA9CObdFh4+87GwYJqU3kRuMOuJTZyvfam7WbybZ1xPF1WoUV9Tq6LUkO3mieBP5AbG/y1iY16H+N9mHCwoMhIlrONNh6hFhG4t9YZNiAZhKifFaaC5uM7LDu/OOV2+qahpQYwv0M4QrLDR4FLSv31q+NAuvfk3q4qfEUAT4ybobiMU5gwEw64MfTl5WRjHb2JOsSZXcLvKN1ZM3oAXm2TnbP2JTIueGQ2GgRfTT++5b1WgfgK/n6upqhb5zaB9M9laQpHDt83HXTraP4+lzwZ6ixwCXX0M86/ILLKWhHrBz2RfmbgKcPJCaPMftCS07DVfv5q5esK8vI3wnXWCafbzy7/LuJPm568YboQv2HmZ/7jCiowKw5p5yNclyt7AThSssrAweslz7d0aEfsn+sESIOQ1mfchklrImypvkV3ahdrHR0LW3Td+ZyPaHHmksNlb9zrLc9B9PxtRhp+vsfffu48ox8dBL0CAPRoSHifsHbD/IXI+hgOW3hbAMh5fjfHE1tRhB+/oqwj23/QW99PGVt+V9297N02fBCC0WifI25K8662mBJhseN96oePAYECVrPC1m7ImN93532/i7Dx9On615oE1veKuruy8C24x82MneFh9WeRaGhgWXwi+M4+2enT4fJczVeJuk1/GwqHtJ+UXUpv9mugCE/hQITbT93c0I5kTCXP4gM64JXjUBMjv8X4NILL4kTC1dp7okN3X7HatvjQLx8jfS0xJzb7tl4bf5mgC5zt0xxIb875QDNg5rwHIZx0p0jCTQG/6xSBIVwU59/ENje7j7zlkbdjciDec+AjfMiklPeNzPcfaGFKyHnr2Q0pr7EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwHBCF2w53C2PypWWHhYDlu/ONue/FGWKZkn7EWzL5cz/Qz7MEI84x3hWJuEdbG38bG8Xb8K9w/+IlS2Y0/Re55qb7guMjlEYWFhwLBFumWIYX4De85Jmh3kiLPNlaV5h0VhmlsNaFFWMgoPC/EJGliz43zVZdhTyNEWcvjYvCmMYD00FAY2aoj+eTRgqA52hD+KCedNAd2Js3Pv0VsGLZILIIv1JoSnZHYHNLswxs5udOyLUuvGVVc71e2iefzYB2qpXxVfQGfKaklk9jg9UgT+CC1Ca2Cor2NnAp9cNOzC/j0mHCYe238y71hwEUaBDxhk+Qq24aey04Jdzlh84ufySOYQ22+2vmtVsk0SSXgXu/5YdBGLwvzts1LU1Oq2mBU7GeI7FqC8UH0VPpoy1AEfD/uCjg+pVdEVcknEg2w/T98n3cXbZ4iluprbh/8NesrfgDuxpwSdjr2gH/cfk5E2cFOSdzsKFj+96a5Vevsy0ufrCHxxsmwbKPH/BIZ9otmJNahzspJQVCRH8dgjCBubDegCSBYMgwQa6ZJJIw1areJ+kEw7SvL31I1XQtsyxxOzQYZ5DhLfQpTqAvEZ+Chf7Dcrt7kSabSlabtjRSCQusKSvPNsbo73yUuNOaY3c9/q6uokja1m0A4xryKLNCJQGtWi9JR4lyKNbJSwaGMpaF2DfAPby/qORRtjNPJnb16a9QoxgJeOghDaVhYs1TU2avkvIB9Za4FhLoMs90P337fmmC2Os/uu/Z/Ms4yMgDA5OS2YHl8BLZAnbHrOztKh7lwETpypyOjpGtgPpxU4yIbZQgZjGd3UBBQfp7Y5Ob3jkwWqoEduaCIPjCDJy2iUsgNxOskGIWR1BSW0rdYwKbwdjnv4T1h9IErhQrj/EwcGPko6J8Tu3JOfQa/OUdXEdrKYQS/KJcwbQkmN2eox0+8ni8/dY+g0/7m7u59oLkrA/MjJTgZtPI6eBiipglB3Yzuqqm0girbb7GRVtOQHixYtuCoUlj4hNC48tq+b2oe2Aql/Da8cwICYQzB5/B0IKL5gE1DcWXhkHQD1BoTX4TTsL3C3QG/93yhI9HNqJ9sjM/nnr74uf7O1vWML2NfElak5sSqUkZoIGnjXzW+8ll1+oR6Op+Bq5uHSgDhkR4xOtZ4vO3miGvqM0LZCYClc0cjor0Fv7mGSfQ3hWmG15FkQePwR+DtZFaF2sg1Poe7nzjXIsKg7SACvxCsg7AurlGJhR3NXH2pyoiqK7WRYVXn+lpuzX2DHF+rd54S2VcSlfW0LaHfHoxpI4z4Bx0/ss3OmjwIiUFJRldNh7N6nN5qdTMK5mePjJzQa+YGEWPn9iYmJjsqQ3OC8uviN0LZa7Nxz5Htgbrw+gX2Ng/ZCmBdBkvd1aifbkPPt3XqQkKHzbZDitcryknLHdrJKIT2nkEbc5YsDgohlIDn62u2dd0qCwqINPwYb+leQ97h9je1kcHufCRY9Re1kX7cKNz9oD9EXJ0rfgt76YbZ9je1kUPvfePPirCJuTN+5+L2Htq/q+7s++Qdx4OgTANxK+NqrwLwo37huzUb7MPTZ/wgcPHhyZVCY+JMOUxcKDQlCISEhTd9bdcsc/5eMcDKVPwsVEDAWCtOPfxQhcQuQOQMmhQ3+LA/Nm4xAV19XNz4lEs6ORv0Dw3Dw5nAzOaTvXfn7Xw4+yy5iYvhMjqbFLwIWRmzlzeDwDQV+sAv5zcH71KYmob2vD405yxGghJ7lBJhp1aeEnmktOsvrQwk9ywkw06pPCT3TWnSW14cSepYTYKZVnxJ6prXoLK8PJfQsJ8BMqz4l9Exr0VleH0roWU6AmVZ9SuiZ1qKzvD6U0LOcADOt+pTQM61FZ3l9KKFnOQFmWvWJqjn+rGQYCAZGRoTBVngLMpm5slH+LBvN+xsEQoKDkFQaAfIFImQ0mr7x8PPTlOmhS0vrVLGxipeGQJHSYDRbyayQS1eC+s5tfsaIZm+HAKgthSTMVb1ogR3LeoMZ2sqEoqIick+frXnALpjfHv3+j9mw3Ur89ekLfwBJ138ZHBrm6EDgjZexWtWZKKX8+3lpCa1+Q4pmjEpKq55sbDE+39vXH0yCQ6OWX1WppPmLMlLOkPx94eZXQuOvuk1veAv0z7hSPKzag6iJJVan3j0ykPnAihWiUZY3fRUQgfLzdd9p03cUwMjpUgssIECMYnWqz7XK8LUpKSn8ypi6UUe/ELqsrHaxwdxVCOqXCaQyYjt6YGCI5IXVMAd1OtUTS3MWvEUMQB15Q6Cs+kpCV4fpIxCSWQgjKSfdkJBgq6ooyS80NHgM1JLeXb44YyuMstzInNT4cfApoWtra5Vtxv4PAaDbSMLawTDRWJiRhJLnz0HGji50+mwVMnX1EGuqUkS3qNWK9TlZyZ8TA1BHrxHAdrKhc3BHY3P7PSC+yOGIGLYUpqUkoMy0ebBBdhCdLa+1ngJAyhB08Pq0atUjS3JTt5P8+XbjFJbvDHB62E4+debCfwGRH3JmJ6ckzUXZQGZQpxwvAu4ULl9tBlnWi2ho6MaGzHFfhMRiq319OlIh/wG1r+2AmcSjKzt5bpwG5S1KheMrQh1yaWvvQMXQATnTt8P2tUYjuzs7LbnUISLPL4IT2pWdHKNVosU5CyYU1h7BCvBV9aBsedWqcsnGAHp2S5xOvWt4IONBal+z0XHv3ZWdLJNGoSW5aQjEZJwmiE2P2kvXUMWFS2gEZHXZF7av42LUnymkirvT0+d0sv35eBeM0GUXwE42OLeTsTL8UgBIq1G4XY/evgEY3mpQYzNZexjb1zE69ZNLclLxWSv0cgOB8vLaWHNv/8GmFv0ioi0MdvJCOFAoKTHOjdSuBxkCtX5M6rr6a9ABcaOFgX0dq9O8u2xxGu/2Ne+ExnZye0f/PjiK4O9JdjI2KbLTk1BK8lxQw/Uu+3aDyWpfd3X3ctECF7UyukWlovY1EZwbjiUlJUGDo8HvNbfo14OdzPk9AptzqTcloKy0+R6r99vyxce2nSqphPVq8g8vUmlkb5xOtTUnO2WHLc5k794xipDrdTu5Cuzkdid2MkLJ8+aghZnJoCvM0S0npDixE+5N6i43oXKwr7FqPPvCDQK9dbFSKv1+Zua8drb/bH4/XVrzaEur/hWwdx0N4RugzIlVo9yFqdZfbPnACXp/VFJWg/AIS7q0GvkVtVq2lg/7mjdCHzzyVY/Z3EtUplSrZGhZXjqSRLlcbibVd0I3bKudq7yEaurw8MYd32BpiUlMjMlfnJ364YQJzRLPY5+XVLW0GReQqiuVRFrtZA20F98X1piuqWuwthU+FYt9Yfs6aV7sS0ty0p9m+3ny/s2SgiexCGFJZMZ2MgwnCH/xQl3YhMG9CV7qIy0fweqIyDIymgf5U0IDCNArJ7LbAv9fRjaMnHgE9dIKZCfJeccjJl7qm5cQA6NqHRwh1+QQBp8sOzAwsszB0YsX3gjNzhsTOTU53rq0xvYT4h33/iu+lYPw8tGJ4vNoYJD8w4wQeU+zNB1GZTzZy4VlOBAp90k1QmGSuWxxunUOdRLaifU7A3eI9bBUnMmAh/GdBsdfI/4qfX3hVROlYlxi2tfZT4f8HEiTelO8z8hsD44sOgrFcUfuSRNGMELbF54+UwR8hQAltK+Qpvn4BAFKaJ/ATDPxFQKU0L5CmubjEwQooX0CM83EVwhQQvsKaZqPTxCghPYJzDQTXyFACe0rpGk+PkGAEtonMNNMfIUAJbSvkKb5+AQBSmifwEwz8RUClNC+Qprm4xMEKKF9AjPNxFcIUEL7Cmmaj08QoIT2Ccw0E18hQAntI6TLKi9i9aFJ/7+vj4o7bbOZFYSG7WyT35XrZRNjVdVjn585UVl5uezj//2i78Spcw94mRRP0UQzus0Fq9ynX551qqLDU8twksGbL8tgFzgomTr4dXX1bt6598iDvuwhcV5fnCh981LDtdaWto7leP9ub/9A2OWGlveKPjlZf6q0Ms2hkAK/7Np/LL5gb9EBKJeDcih8YFb5YoGzd0geyoBqYVMz3jTL98XbEFiw97DD1h5cUKy7gfU3sA6HvcQX35XA6dVfcS4ZhrdkYa08xKAKkGV7aEP+6tNClMGW5snic/foO8zv9fT0E3fB43CBgQGMRhldpFHGr0tPV5MFRmwJTuK+Y8eRCBSCnkHI8pgIiUIiI8JBTqCfk2L8HC1sNk7hSHxxAk7SAe/5PF1ajbBmB/uaG6c9ftstC7/NdvfknTdCf/ZV6degXbcMf33s67oII+wqhp3ZfO8qxuLoE4k64r1rA4PDaNBx0+wHKBA9vvHu1bzqTZ88WZnUM9D9P3pjF1EmgI0Lfg8PDx3RKKJ/c+vyhb8h+XvrhkeIXYVHNzGIeQnS0NnSUStl1o2pJKkuLMKYnpqAMhbMQwEB/G6a7e7pt6pesUdPW7mkURGDsTHqH8FHtdfm5s2dN0LjzLHavsFg2q03dsaQCsOn7gNWvSytqEUNjW2krEAkJXwYZBSOtrQbl0Ml5exA0ND9iBG9MjYQ8uoDD6wYZPt78l5ZWRkMap0FbQbTPUAUIqaxOiXq6OxGIFZJTFoqCe/QapR3LclJ+4IYwAPHgj2Hc5AIvQtRcknRQkKDP1VES2Na2w2phP4HYTnjnKybUGI8sRlJSTp1u66bUm81L0idHUgoWOJiVAU3L8l8EEZ0i9OE3PQggu9mXKfBXCnzgGCfVcESn6Xi6TU2BsKN1VdQZc0VRJIaCw4KZEBw+6NYrWRDYmLiYGHh36RDlrHfQgM/DHlxZBtgPLkGIPxs47rVhZ6WBYf/8uuKR0Hqalv/wKCDbWpLC+RkweSaj2TRkdby1l5qAk2KFmLZsYmmUUUXa5Uqr9SeCvYf1qFR5lUw9jZA/py2BfLWILFo66b8VZ/i8pWeq13T1tZR0GHqJgoMymUSq0AQvnt6YfL6Q9mKU2lPC+4s/PHjTGBw+IX3mprbN/ClnXaloQV65YtEzQ1MBp1WeU4tk9yVmZlczy5XQWFRCrKgt8HmWcn2u/7OnLAEoC0/XLvmHNnf0fXU2aplJlPXPrDNiSqGWH8iLSUeRHZUjhHhDZtA+KOEySLHDzvAR2nRauXb/+7mRQ+502sdOnQoxNgd8FOYJPwcYODKUzGMCRYMnwsV9bydn5/PkS06dbryWRjJnunrHyB+lInxOqtgUFhoCLG8bEfX2oOyZq1WdV92+rwv2XEn+y4YoW0FKy2tienq6zvQ3GpcShpycMO7UrfsNHVbRf/wnXQpZJIOrVaxMScrpYjkb+8GxP4nMDV+B25J9u74GcpnAcL/JXAs5On161cY2f74vbq6SdGib93X2t65glQfbIcmJepQStIc0CWZeBHJZO5F5ecvoe5e7iQN5xUVGdanUyu2LF2csQO/ky6YjN8NneFrQOQErj+DyftOiEj0y/z81RPK15482Rg2JurYBe30A5LZhG3qjAWJ8JEmgn1NrhfWhsZmoDN1WElkxACMzj/LXZTyNres/LgITmhbMc+UVf99Z2fXLr3RTDTMSPrD+FgKLHaOe2bSBSbLsE6r+O2yvAyPJlTvvFMSFC41/AR6rV/CzD+KkHYXsPv5OE3omytWrBhXgvziZNkbMEt/ZGh4lDhjitEqQNU+EeGP1JPrWpMeVdY2WI93IMUDNdVLCqnsjry8lBqb/87CQ2kw7wM7WXSLzc3+DnOEz4Hkmzfmr6m1d3f1XFZWn2zuMf+1qdVAnNjCJBblgioWXhWxXW7pd8eody1fkvEAjDicEcKWDh93nxHaVtji0upHWlsNrzpTvsRAYYXSq9daYVi+jLDmGfuCJUCrnQwH06xPTk72WvNrx4EjajQCqwAM8yMAmtDtMLVgYz+WkhQX0tZu+m+YqRONSZiho6z0eUguI30b7NKT3zEp6uqbUP1VbF9zV4oCoVeE3vp/Bvv7HtZ39T8rQsy/Apk5HxaMGvVQlZ9uXLfqY3JO7rmWn6+9s7m1YzuMikQZKix8joXq8ahZBlp1zk5YwAqwUXLZnb46YcHnhMZwYm3iIdAmBplVojaxM8ihxwE7WeXUTnYWz5X7+x8WZYlGRe9C+kvtwwYHBqIoSbh1dcLe3faMRQ4XpMxF8XBMA19XP4xK2L4Gk4aYZHhYCAP5ikxdjkvX0CP3wGjzQr9Z+frmzXkjxMheOJ4urXwJtL4f7+8f9OjXVn9pdPuF0DZcrerxPX0HYHhbQrJHbeHwHdvJGo38/tzs1MP27nw+79hTdC/0eq8CsefgdEFp3jqBY+eBNfuwimbK/DivxcDZabLfjbDEd67ystNfWwEPBKsTOBqG7n0ULHpy012r9Ox0+HivqGiL6O1v33OtRf89khSufR74FAV/nlLmV0LbgCgpr1lhNJp3GTrM4z8A2PwiwsOGYzTKF5YtSX/e5ibkffv246GB4cNPMsjyBKw2hI+MOJp8Oo3cOjmCnlLIYljTxky12tc1VxE2SewvpVyCDB3dxdCAWzbeu7rU3k+o5/PnLy7Qm3r2txDsa+s5N2AnD/f795ybKUFoWwNg+7qlxfAaPqn0up2s/EirjJiUnWxL29P7zv2H4gJFQY32hF6WuwBp1PyLgbsqG/5xovhsja1HtgbXquUn/nHFkltdxRXC396+xqMVnPQ7ZU4im1KExuAXFhYGzElIezMyLOR10nqyEA3kLM09B/42BoQenyyuXrkYYbvZHxde3muA1RDbNTdWvfu2W3PwDyh+u4rPVr4QFBR8dCqdFcn55cxv6NzI+MbC/1Z/l4Pm7xqBpbnpz7gO5dsQ472Pb7OluVEEhEGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEtoDXE3mHg9C8xd0FHa+9/YN8pfgDE5pyv2D/1TGGm+Dgq1PVu0N3+wpBJ2ypnZUhTU7YBsWvVwjQAk9AUaBAYEOW7Bw0DZ9J9IbTdZd36mgjuRMRWiCZN3ycrXrG/Il64i5lfrMDTTl9hROJajPnDk3z9QzsB8IDMdJcEvmD10OkFYYjtUqn715adYr3BJRF0poNzjw9Zlza0DC7IPu7n6iipAkMhxlZ8yflHIStpOxqv3lhlZnykmMVqP434Q4eX4iqKq6UexZGYQS2oNmB2X+10Ht6dGpoG3nQbFnVVBKaA+be6qpj3pY/BkfnBLayybG+tCdHeZ9IMflXB86FfShY4TXh/ayCjMyGiX0JJvVHQX/RZlJCCv54xMHXCn4g9TYWbVc8d3MzHntkyzarIxOCc1Ds9fV1YU0t/UUtOo71oKYIRFTrB3daeqZ8IyVGJ1qfd7CBUd5KNKsTYII/qxFY5IVP3WqKrmrr+uvnpyCBcc8jGjU8he+dXP2ryeZPY0OCFBCC0ADd84pxMdVxGjlf1PL594l5DmFAlRvSidJCS1Q84AUrujLUxW/h1OmtgwNjzgo7avk0itKtXRtXnaaT2RwBarilEyWElrgZsFnfZt6zB+DIv/yiLDQAbVKtvWWZVnbBc6WJk8REBaBssqL8PM5HFNEL4oARYAiQBGgCFAEKAIUAYoARYAiQBGgCFAEhEHg/wEPbHYTtMWjGgAAAABJRU5ErkJggg==)}input[type=radio]:checked~.Index__choice__113bB strong{color:#dd2c2c}input[type=radio]:checked~.Index__choice__113bB:hover{background-color:transparent}input[type=radio]:checked~.Index__choice__113bB.Index__new__3iNcH{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAHVxJREFUeAHtXXl8VNW9/2VPZss2k2SSyUbYJUDY3cWtKAULQiQQVkGtyKvWvtpnn226vL5P9dm+lidVkAYhBIyRoFZFW0VcAMUkEPY962RfZ8nO9HeGN3Uy90wmCXcyS37nnzv3nHvPOfd7vrn53fP7ne8BoEQIEAKEACFACBAChAAhQAgQAoQAIUAIEAKEACFACDhEYF2u9meTf3uhY/6WsuKnC5qTHN5AF9wQAj43dDfdbBeBDbn1d56v1b11saZDZblIFuhrmp4szxufHJuZNdenx5JPR/EQIEKLh6W5psferldX1Rr3nyg3zOo18SuPUQR0TNHIf7pjdcxm/hWUO1QEiNBDRc7mvrw8k19+W9X24nLDSn1nr69NMfd0XExIVWqMNGNzRtQX3Asoc9AIEKEHDZnwhkd3VT9VXGl4sbqlK0RYCjAnRQ5ntUZobe/lFcOsZOmR0XHhC19eoGjgXkCZA0aACD1gqIQXbtjbMPNyrX4fklUjLAVIVgbButuiYHR0CHT1mKCguBHeP9EM3RxbRBHi3zs1QbZ1Qrn6qawsn2u8+ijPMQJEaMcYCa549r025aWq1reKy/R3dV8TGsqhIX6QMScK7hgjBx8bhBt03bDrSD18c1UvqJdlxIYFGNISZE++vkK9k3sBZfaLgA3c/V474gtNJpNPxhvazSfKDE+0GHv8bAHxR8v5gdRweHi6EoIC+of2fE07vP55LVQ2d9lWYz6fpJFcGZskXfrKAlUR9wLK5CLQP+rcW0Zm5vqc6iUllYbsiuYuGQ+B6UlSWHVLNETJ/XnF3DwTvtw/PdcKb37dALpOoX0diH8yM0fJP1EHSxZvzoxs41ZCmX0QIEL3gUN4simnceL5Jt2+k1XGccJSs4kAj94eDRNjJbziAeUZu67BW8ca4OPTLcCxYCBC6teD9vUfdq+Je25AFY7gi4jQdgY/K88kO9FSmVdcZpjX2XNNgJMsyBeWzFDBfRNDwXdAk3R2GrLKrm7tgu1ohpzWtlvlfvczITKoNS1etvbVjOiC73LplzUCgoGyLhypv1fs1P6upEz/kwZ9T4AtBuwj714kcfoMJciCBWa07eVDOi8qM8Cuw3VQ09YtuJ+1P0UjPRuvDF6wdVn0ZcEFIzyDCG1FgMdz6+adrNLtudrQGWaV/a+fE9QhZvMiLjzwX3nO+tGDE3cHTjbDvsJGaO8WzuKFBPiapiVKC2SjNSt2zPXpcFY/PK1eIjSO2GN7a1MqGtv3nagwTmYfaraJfehl3hIFM5O434O2l4t6ruvohdyj9XDoQhvw+qaU+XfNSpL+YvvKuN+L2rCHVjaiCb3pA1NQrbZ6V1Fp6xJDt0mARZC/DyzCKbgHU8MgwE9QPKxDXtbYCdvQvr5cx38Zj4kJrp+klmZuWRb98bB2zM0ac+0ouRCMNW/UbCqu1L1U19YdxOvG7WMUkHmzChToJHGndPiyDnLRMdNoEAbrsb+5tERpsTpKMn/rw6pqd+r3cPVlxBH6h3n1d56u0uderGmP5YHM3NXr74iGUapgXrFb5HWh6/ydokb4G7rR2W/bJAvyu5aWIN+1RKF+ND3dRzjBbXuDF52PGEI//44++qS2aX9xuX5Or/AbC8Il/rB8jhJuHa0QuKvddbzZWzrncD0cvaLjdjE2LLB9arz8J9szo7dwL/DCTK8nNAvrLNBrtxWW6VfjB5ZgxpjZxg9ODofF0yIhEG1mT0zMjf7XL2qhvInvRp8QK6lMiZYt3rZMecwTn28wffbMERzgE67dVb0W3dWvaO2Edc5MlsEqtJOVcsF08wBbcJ/L2AzIwXNt8OY39dCGMyO2KcDXB6YkSA+N1YQt8eYwVa8kNAvrvFKjyztT3Z5kO7DsXIPzyGsxrPNG3NW8et0hj81Z53/bAB+dbAGOeQ1hEv/eKYnSV/esjt3k4+MjNMDd4SFuoA9eRehnDrRGlJbp8ovK2uZ2CV9SIA/yg/RZSrhnQqjH2MlDHdvq1m7Y+VUdHK8wcKuIDw/UT46XbvS2MFWvIfSK7Ko/H6/QP9lk6BXMs+F/W7j/pjBYOlMJkkCBGc0dcG/JPFVlNMeH8Nzo7BknaySXx4bLF2I03xlveGaPJzQL6zypNb5e3tgZyhuQm2LRXY3TcOpQ57uree27Qx4zPZgJkl/YAO0Y2Webgvx9TTh/fWBKmCY9K92Hv/LA9iY3PfdYQj+b3zD+lFa/v0SLYZ0cSxBXVsNKdFdjvIObQj/83WJu9De/rodPz9t1o3dPTpT9z+5Vsc8Pf+/EadHjCM3COk+1Ve4tvGp4sIMT1olBO7B4eiTMw5UjbAUJJSECFU2d5tUyF2r5bnR0LrWkxskzXlsedUB4t3vneBShl2dX/RJtwp/X67oF82wsrPLOsQp0jqhA7qSwTvceysH37ii60XOONkCj3k6YarykJD4yZLEnhal6BKGvh3Xqc642dETyhi0lKhg2oJ2cGMkNy+DdQnn/jwBznTMX+ru4Ir0TV6bbJmmAj2laUmh+dKx65eYHfTpty93t3K0JzbTgLmrbCnDqaSpvaVKk1B9XV6vQXS13N1w9rj/Nxh7YjUFPX13iu9GjFAGdaRr5v7u72pNbEjrroMn/zBXt7qJS3VJDl3D5UyC6q78/JRweYu5qF4d1ehxzHXT4Um27OUzVnht9TEyI9qY42fK/pKsOOajKJcVuR2gW1nmiUvcizptyw92YChEL62RvZ0rOQYC50dmCgj04I9LGUXvyw49t1A45mhob8YPfPSSrdU4vhlar2xB6056620/VGPecqzHG8R4lISIQ1uHqatSD4xVTnhMQ6Ow2wds4d/0hLgVjS8JsE358X5ueKH1jkSxug7uEqbqc0Cys83R1Y0FRmfHmHo6hrMAZi/RZKrh7vOeEddoOvKef1+l60I1eC4W4eJeXWJjqZI10Y/ZKdTavfDjzXEborCyT78UE7bZvy/Vr8N+aYMaYmcbfw6VPS3B1NZtbpuR6BJgbPfvLWtC2CKf5WO8mqkNKR8XI010ZpuoSQl8P69RvRmC4bryp8ahCdGsUuqsF082uH9UR3oNraHp8fAbd6BjRZ+gU2iFM7WlakvxgUoJiyR/nhTYNN1zDSuiN79VPu3BFn39K257Me1DmrmZxF5Pihq5CxKuX8sRHQM/c6Kj29MnZVu5qdFR76p0aL9uye23cv4nfuv0ah4XQKKelqGo3FhRe1d3NC+sMwQi4Jbi6mpkYNAtnf7DcsYS50bO/rIOz1fbVnlJjJetfz1TnD0f/nU7ojOyqF0+U659pNvYK5tmYu/rucQp4ZDa5q4djsJ3ZxjGUB951pA7q8QNSkHCcJ8dJzk1Syxa9vER5TlAuYobTCP3EntpFxRX6bHthnWOjg82rq+MjyF0t4ni6tCom5P5BCao94Yp0JvBum4IxTHV6svSDSQrNMmeFqYpOaBbWeabGsO94pWECL6wzUhYAmbi6mjlIKHknAsyNnotBT19e5CsAq+QB3akayW9RTfXXYiMgGqHXHDQFG65UvVV4VT8f17UJ6mUqRAvTIs0ua3JXiz2M7lnflfoOc5gqagVyO5isDG7EGa3lYqo9CYjHbdlB5sod2v8sqdC/UKfv4S4LYcFDK9BdzbQvKI0sBJgbnb2pc1HUHXc9EDw8Wx43NUF6fIxaseh/F4WXCi4YZIYohFY/d0ZoMGFHmLuahXWyTXMojWwEmBu9oKgB3i9pQTe6kC5zUhSfFjymuedGUXLKK5NtmrMMZy5YwD2byaBECLA9Zxgn7p0YBjtR7elYqXOWLjrFp/ynjFFwF07HEZmJyLYIMFGfH38vFuZN6ivBLdZ7zymEdrQDlO1D0vnIQyCE+citktAIsSocxE+nEHoQ7dOlhICoCBChRYWTKnM1AkRoV48AtS8qAkRoUeGkylyNABHa1SNA7YuKABFaVDipMlcjQIR29QhQ+6IiQIQWFU6qzNUIEKFdPQLUvqgIEKFFhZMqczUCRGhXjwC1LyoCRGhR4aTKXI0AEdrVI0Dti4oAEVpUOKkyVyNAhHb1CFD7oiJAhBYVTmFlhs5e2HG4FlDSQVhIOaIj4JQlWKL30gMrZKpvn5xtgT1HcCs13N31o5OtuCdgMEoCx0C0gruW2AOf0v26TIR2wpicrzGal+9XNvdV6Syp7IAfv1kK81NDYfEMFaDwihNaH9lVEqFFHP8mQw/sQvPi6BW+jjJriql3vneiFT6/oIPlN0fB7aNp7aWIQwBEaBHQZLJXfzvRAPuLWqCbs0Sf10Rr+zX4y6c18PdTzWZJtMRI7g4cvFsprx8EiND9gDOQomNXdWb1TRSj5F4+JT4YNt4dDbhDAew80ghGG03lS3Wd8LP8crhrvByWz46iPRa5KA48kwg9cKz6XFnV0mneFP5sNX83Vk1YAGy4SwWzkq9rXcdHhMLcCTI0SRpRbEW4NfFn53Tw9WUDpM+MhPsmhZOscB+0B35ChB44VuYr2TQcU6//6DRf6Fsa5Iu7dEXCgimhwHaLsk5sv5iNd0fBQ2nh8Ke/18Gpqr6aymw25A0UYTlwuhkeR8WpCbHcDQ6sq6TfNggQoW0AsXfKNNoOnm+F3UfrBWYDu4eJ6jwwKRRW3xYBjLj9JU14ALyUHgdHLxvhtUN1UNPaV/OtFs9//V4VzEiSwKpbogHVOvurjsqsECBCW4Fh7+dF3Ixy66EasJ2Gs1w/KS4EnrpHhVszD25+eU6KBKYnJ+K2xPiHcqTJPF9tqZMdvy01wvHyq7Bgahj8IE0FgajgSql/BIjQ/eDTZNY5roOvLvK9fDGh/rDhThXckjJ00yAA5Tcfnh4G90xQwI6v0JQ51VdTme0PWICzJ5+d18FKVHC9OUXRT4+piAhthwMHcLNJJgHLVOltE9sTJmN2BCxKCwP//q0L21vtnodJfOHp+6JgIb6NX/mkDs7YfGw2G3rhz/+ogQMnW/C/QSyaITR0PDBtPlt4l4zMvILiJgGZmZ18/034Jl2XCEtniEdma4RHqQLh5WUaeH5+DJe0F2o74LSW/x/Dup6R+pv+zAc48hPVOJ98TxQwwg1Hun2sDGajKVNQiPEgXzdBJ2fPkuHoh6e1QW/oAY7YCwtjh43Mli6xrTsemRWO20LTfjQWTBwdidCOEKJyj0KACO1Rw0WddYQAEdoRQlTuUQgQoT1quKizjhAgQjtCiMo9CgEitEcNF3XWEQJEaEcIUblHIUCE9qjhos46QoAI7QghKvcoBIjQHjVc1FlHCBChHSFE5R6FABHao4aLOusIASK0I4So3KMQIEJ71HBRZx0hQIR2hBCVexQCRGiPGi7qrCMEiNCOEKJyj0KACD3A4frNu1q4Ut81wKvFuawLF+i++U0zfIqqSpQGhgCtKRwYTuZV2E/tLof7Jipg7W1KYKu0nZm+vGhALZB6qNf1FaFxZpveUDcR2s4oLkqLEMgYMPWkj0+3wRcX9JAxR1wZA0s32H8BnoyBpXxsdDDcFCuznNLRBgEitA0gltN5qeEwK0WOCvx18OWlvrIBTIPur180wAclLTcsNGNpr8V4jSs0YykPl/qR0IwFjH6OROh+wImQ+KN0QSzcP6kdtn1RCxWNfW1opkn3m3erYahSYKxppidtTwqMlTORf5ICY0gMLBGhB4DTmOgQ+P3iJJTjaoWcr4VijUxF9Ie7yuEB3Gpi9a2OxRotTdoTa7SUT0exxtUk1miBY0BHIvSAYEJ1UXxTzp0QCrNGyeBtlNM9YCOny+zrD0pa4RBq0NmT07U0xUQfeXK6lvJo1MwjOV0LGoM7EqEHhxdIg/xg1a3RcM9NYVzBcwMq9L/2WT28f7wFHp+rMkviWppo6+i1K3jOrgkJ8IWlKHh+PwmeWyAb9JEIPWjIrt8QFxYEv1iYAPa2pKhs6YYXCrTgaEsKS/O0JYUFiRs7EqFvDD+YmSxH0srsbhp0oqIDHnujzG4rycpAePyuGNSWpk2D7II0iAIi9CDAsncpEyJfPF0Fd44Lh5wj/W/rZqkjNMTXvK3bHbitG5COuQWWGz4SoW8Ywu8qiJT5w4/ui4N5uPHm1s9qQdvad+NNdqUvflzSxpvfYSb2LyK02IhifeNiJPDSsmT49EwL5B69vjUya4a2RnYC2DZVEqFtABHrlEV63DsxDLeQkMNbhQ1oZ0shDW1tSs5FgAjtXHzN03xr0DlCaXgQYC8SSoSA1yBAhPaaoaQHYQgQoYkHXoUAEdqrhpMehghNHPAqBIjQXjWc9DBEaOKAVyFAhPaq4aSHIUITB7wKASK0Vw0nPQwRmjjgVQgQob1qOOlhiNDEAa9CgAjtVcNJD0OEJg54FQJOITSTyqJECPSHQEdXb59isZZVOoXQT++5iipDbcDEVygRAtYINOi64Q8faeHDUy3W2SAWVZyyYqWtvRfFVmrgw5Im2HBHNIxGKS1KIxuBrh4TFBQ1wvslzdCNutfOSqK8oe+bFPZzpcy/r5Ih9ri8qQte2F8B//dJNTQbSefYWYPozvWy/9JfXGgD9l97f3GTgMy+aGukJUpOJKqkj4rxHGKZLrDmoCnYeFmb922p7vtoQwvqDULtioVpkfD9KeEQ6CcoFuNZqA43Q+BKfQe8/nktXG3o5PYsWRncmBony3xtedQB7gVDyBSdWc/mN4w/U2PYd7zSMIFnGEXKAiBzjhLm4GpoSt6JADM5c47Wm9/MvCdUyv27U+Pk/5W7Vv0rXvmN5IlOaEtnnthTu6i4Qp9d3tgZasmzPjIl+vVoX8dHBFln028PRoDZxsxG3o+2cifazLYp2N/XNC1R+mFqmOaRrHSfvirythcP8dxphLb0JyO76sWSCv0zTYZewQeoD7Z+9zgFPDJbBfJgP8stdPRABI6V6iHncB3U8faEwXFOjZWcHxchX7w5M/KMMx/P6YRmnd+U06ioajcWFF7V3W0z/Wh+tpBAX1gyXQnfSw0DMq+dOdzi113V3AXbcXeDs9Xt3MrjwwP1kzXSta9nqvO5F4icOSyEtvR543v10y5c0eef0rYnW/KsjzGKAHgUzZBJcRLrbPrthgjoUes6D4Xf/3GmletvCJP49U5LUmzJWRXzIx8fH6H94aRnGlZCW55h7a7qtSWV+s3alm6pJc/6OBVls1bdGgXq0ADrbPrtBghcQyfw35HE+d/Wgx7F3W1TAM7DpSVKPxuVFPrwH+eFNtmWO/vcJYRmD5WVZfK9mKDd9m25fg1+FQvmw5npwUyQJTOUZmV7ZwNB9TtG4IzWaDYv8EXEvXhCbEhpSrQ8fdsy5THuBcOQ6TJCW57t+Xf00aerGwuKyow39+COULZJgR+Lj8xSwdzxCmAfkZSGHwH2obfzcC0Ulhq4jceGBbajnbwxe6U6m3vBMGa6DUU27am7/VSNcc+5GmMc7/kTIgJh3e3RKFVLbnQePs7I6+w2wduonPrhyWboEVoXbGbqWlqCdOfD8rj16ek+faONnNGhAdTpNoS29HXNGzWbiit1L9W1dXMnqOeMkkPmLSqIlApmAS1V0PEGEWDu6s8v6mDP0TpoRSeJbfJDAzFNI/taHROyaOvDqmrbcleeux2hGRibPjAF1VZrdxaV6pYauoRudOY6Zy70h6ZFkhtdZPZcqm2Hv35ZZ9ddPT4muG40s5OXqw6J3LQo1bkloS1P9nRBc9JFbVvB8QrDVI55bX5LL79ZBbeQG90C2ZCPLHhs95F6+OqSjltHlCKgc0aC5JfbV8b9nnuBm2S6NaEtGD2eWzfvZJU+52pDR6Qlz/qYEhVsDlNNjORaKdaX0m8bBJi7+m8n0F1d3AgsxNM2SQLRXZ0kfTtGrcnc/KAPP8rI9iYXnnsEoS34LM+u+uWpKuPP63XdgglqNgNy51gFLJ9DbnQLXo6OX1/Rwy58KzfqhdNwDM/JGklJgjJk8dZl0Zcd1eUu5R5FaAZaVp5JdrKl8s2iMsMDHT1C+5rtxrp4eiTMSw03b/zuLkC7Uz8qmjrNYZ0Xaju43UpWBrVgNFyGmGGd3IackOlxhLZgwMJUT2n1+0u0xnG8MFXmRl95SxRgdJfllhF/1KG7eu839XDwHH95XCSGdeLmRi/vXh33H54KlscS2gL4+pzqJSWVhuyK5i7uFlM3xYaY40PUoYGWW0bcka14+hjX8OVj7IWxSzihjBuHYlin/IBGErIMo+HaPBkgjyc0A99kMvlk7qz5U1Fp25Mtxl5BHCpb5nM/bja/dKYS8CPHk8dr0H3Hbw7YjqtGatqEdjKrDO3ky2PD5QudHdY56I4P8QavILTl2Z850BpRWqbLLyzVze3mzPPJg/wgfZYS7pkQ6vVu9GrcxXYnxicfL+e7q81hnfHSja+vUO+04OcNR68itGVANuxtmHm5Vpd3VtueZMmzPmrCA82rZbzRjc40UZhp8dHJFuAtrg6V+PdOTZC+umdN7KbhDOu0xt+Zv72S0BbAroepGl7RtnRxA0BmJctgJTpmlHLBLKClCo85Mnc1+9h7Ez/62vDjzzYFoHcVP/gOjdWELXl5gaLBttxbzr2a0GyQ8vJMfgV67bbCMv1q/MoXGNBsoOejG30RrkjHjyOPHNfzNeiuxlUjTDaClybEBlemRCsWuzKsk9cvZ+R55ggOAYnH3q5XV9e0FxRX6mf3Cj/0IVzij04ZJdw2RjGE2l1zS6OhB9fx1cPRK3x3NU5ddkxLVDy7PTN6i2t6OPytjhhCW6DdkFt/5yW0r8/VdERZ8qyPzI2+7rYoGKUKts52q99daBy/gyurmcua/bZNUgzrnBYv3zUxRb0+a67PiFL4GXGEtgz+o7uqnvu23Pgre2Gqd6AbfQW60RUhgllASxUuOR6+rINc5q7Gt7NtYqt8cPlTsTpKMt/dwjpt++qs8xFLaAYoC1Otqa7MKSo1PIwOBwEWqCMBi9CN/uBk17vRyxo7YRvOJ1+u47urx8QE109SSzO3LIv+2Flk8YR6BYPoCZ0Wu4+P7a1NKW9o31dSaZzMU0yNkvub3egzkrjOSLG706c+5q7ORRWiQ6gPx+sb0xSclST9hbuHdfZ5KCeeEKGtwL0epqrbg1psYVbZ//o5QY1udFwGFofz2M5ObMnTAVz6tK+wEXh62xiExVSICmSjNSt2zPXhv7ad3Uk3rJ8IzRmUFW9U/feJCsOzjboewQQ1c6PfOzHUvHDXWW50jCSEXejl47mrWVjnFI30bLwyeIEnhXVyYHZKFhHaDqxM7anS2L63qEw3DwPfBTjJgnwxNkQF96Ib3Vcwu22nUgfZ1a2oQoR28mktX4UoITKoNS1etvbVjOgCB1WN2GLBQI1YJOw8OBJ74oVm/bsY0ZfCuyQ2DNWe0AyZGDt0tScWAffWsQb4+HQLcEJQIELq1zM1QfaH3WvinuP1gfK+Q4AI/R0W/f5av7t6VUmF4RV7Yaoz8YNxFa5GH4wbnX3kfXK2FfK+aQBdp9BdHYgzhjNHyT9RB0uYyKFHh3X2C66IhUToQYDJwlQzdmg3YwTbE63GHsEEtT8a2PMnh8GiaUoICugfWuauZmLglSh2yEuTNJIrY5OkS19ZoCrilVMeH4H+UeffM+Jzn32vTXmpumV/canhVt5+IWHMjT77uhvdVu2JbZqzEx0jx67y5ZHRhDGkJcie9LawzuEiDRH6BpBmak+n6/S5Z7UdGl41uDbPHKbK3OhsRfU+dFd/YGfTHEWIf29agmTr+PK4p7KyfDjRJrwWKM8WASK0LSJDOF+XU7OpsEz3IrrRuQEgs0fJ4EJNh92Nk2YlyQ+P1oQ+5M1hnUOAdUi3EKGHBJvwpqyDJv+zl6q2F1YaMg2cMFXhHcB0+qpSY6QZmzOivuCVU97gESBCDx6zfu9gYaraOuP7x8sMaZxAOPO9LKxzikb+0x2rYzb3WxkVDhoBIvSgIRvYDU/urb3/lNaQc7G2Q2W5Q4YqRNOT5Xnjk2MzR1pYpwUDOno4AutytT+b/NsLHfO3lBUzrT4PfxzqPiFACBAChAAhQAgQAoQAIUAIEAKEACFACBAChMCwIPBPZaSYBXvssLIAAAAASUVORK5CYII=)}input[type=radio]:checked~.Index__choice__113bB.Index__join__1q1y7{background-image:url(/dashboard/7437f69b146c5dfafeca0c44524a6e7b.png)}input[type=radio]:checked~.Index__choice__113bB.Index__testnet__1gJyo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAJNtJREFUeAHtXQd8VFW+PncyqVPSM5n0UFOoAZVVVxfZdW08RQGpoUkRFp8rkKDuupFVenkrogtIkV4UdHlPXJ8Lz1VUQKqmQCA9mZKeTCZ15r7/GRgyc+dMpk8myTn7W+feU//nO989938POd9BiAaKAEWAIkARoAhQBCgCFAGKAEWAIkARoAhQBCgCFAGKgFUILD1QnfLktuLrM/eVr7OqAM1kNwKM3SVpQYsIAJHFFS3qIz8VqJ5o07A6rBPC/OqGxwjm/n2q5KTFCmgGmxGghLYZMusK4Nn4UqHqtVq1hm9SAlAfHhOQlxopnLBpYlieSTqNsBsBSmi7oSMXXHRYMeFaWdPuoqqWIHKOzlg/Po9NSxCeHhoY/WLWZEbVmUKv7EWAEtpe5DjlsJ+cX9f46bUydRJiOYlwGxTAR3XqDtMEiAkT8ttHxok275slXUnMQCOtRoAS2mqoyBkzPq8U3Va2HrlUpHqytUNrgifMwmjCqFD01LBgVF7bhnZ/K0c3FS3Eyqh/TYTFpkiTAbCpdB/PjP3kKyVNf6xu7PDmQsEAso8OEqOpD4Qjsb+XUfKPtxvRgR+rULWq3Sge3+Byw2MFuSkSwfPUvzaBx2IEJbRFiEwzWPKTB0n80NxfR6L4UB/TwndjYNUDfXGtFn12pRq1dpj6KP7ePHZUguCLVHHMFOpfm4XRJIES2gQS8xHYT74NfvIVM34y+MJo2phw9Kv+IvOVcFJqwa8+fL4KfXuzgZNy5zZMBP51rHDTvllRrxMz0EgjBCihjeAg31jyk334DHpuZCh6engw8vGyD9LCqla061sFuq00718PiRVO2zkl4jTZShqLEbAP/T6EXfrHsrWXSxtfI/nJGIaHB4phVg5DwbCK4WhgwfM4d6sBHQT/mrQigv3rYTGCn+PC/CbsmCK57Wh7vbE8JXQXo/rI5gJFvqIlgpSlf4QfmvdrCUoM8yUlOxTXBj715+BbnwIfux18bW7wA/967KDApbvTpdu4aX393vFppRcjWFHfHsbtHp6J8YyMZ2ZXBezCTLovDD2WHKibrX+AVRHD0NKuZdQdHQ9CHCW0ITBwTQnNAaSr22dgLRkTDRPOHSFU6I1e+a1Ut4a99esKpGwk/8OMO2zpKW3weoqhnmDn+BEhbiOzYX8HgHszNDrAMIpem0GAEtoMMDS6ZyJACd0zx41abQYBSmgzwNDonokAJXTPHDdqtRkEKKHNAEOjeyYClNA9c9yo1WYQoIQ2AwyN7pkIUEL3zHGjVptBgBLaDDA0umciQAndM8eNWm0GAUpoM8DQ6J6JACV0zxw3arUZBCihzQBDo3smApTQPXPcqNVmEKCENgMMje6ZCHgkocMy8qJ6Jpx9y+pFR2qGoCzWozaJeBShg14tDJJm5P6Nj7Ql0ozs7yIzs1O7lSLsHcXQbrXBbOPdN3R4F/zEj8q/On1d/vNQr1tNs/bJXzFrppsT3LOXyFKnslieVJ33EmK0a2EjerA+O+yC1sC+9B3qNvZPDVtSa/Txrv6VLsuJZ/nsBpGv1yRVq/Zec9YIyNzL7KQLLEhz+notOnnZWJAmNcq/4WdZ6wTF2qQzTmrKqmqm7Sn/y/Xypje5u+AHRfpVDIsUTtk6NeJbqypyUaZuJ7Tk9ewHGC2zCwwxPxuzbA3LMG/J/ZM/RFlMJ8OcDIpkuVzA86p9AyH2NajaT+jLQ4aExs11JfHlZHPQ+QIV2v9DJVEyLEnqj/JkzaALyZ5iGe9XFWsHFTi7fcP6Fh9RPH61tPFQYVVbqGG84TWfxyBQU/1+QFTgs5vGi6sM09x13W2EDn3zRrRPR8d6oMg0azsLG/qztVreQuWGpHPWlrEuH8tErsybhVh2NQAi1ZdJiQpAt5TNCMsKcANICaAJaSHoqaEhiG8sXcfNavN9UXUr2vudEt2QNxPLxgb7IHU7a0B0to1FvPc6WGZV1fok4y3ixBqsj1zwaaVUrmw+dalENUpr5VQSGMDXpMUKtx2cI32VYRhT8Kxv3uac7if00nxfiX/ba/Aw/wnIbLLzE3qPYTvGIPb3hu6HYc8gz7E21ntZzfqBZYbx9lxHZmTfD7PuDmhrOKl8qJB/TRroE/pLuTqGlC4Re6PpIP91X6KQlGxTXL1ag45erEJn8+qJ5UIEfE1ciN/lq6WqoZDBj5uJZVkluP1vKjYk74L+OEgklpmyp2InqKrOUbVoiA77qHgBKgVFVWWDqegkti02xFeVFidMd+dpBW4ltCQj7z8YpH0PCBTPHQx8Dz7zNzAOS+TrUrPxB6K/T/NfWIb9A4MYwpc0q4bBWytv9l6Ptg5sJdXXVVxIRn6MD2rfCLa8SMoHbChCLG+FfH3SJzh94RFF+pWixm0wgETmYhcAC8/EwOxpa+jQsujLn+vQpz9Vo5YO02nQB94A9yWKz8TGiiZteSKwRufje7FgOzOR3BZ7TYN4i5Xrkr8np3cdi/t6qajhg/LadgEpZ1SQN3oJxCiTo/wRtv002H7CjO1Ym2tYbEBufKj/eHeoPbmF0OErcgZ6MeyHMADjSADBzHJbi5jlyvUpn3HTYQlvMKx6bAbiPcVNw/eYeAzLLJOtTz5BSufGRWVVBGjUdW/AG2IZpJFmuSZ4gNbImr03ch8UsJOZ8bF86+XixkUg1WXiaICNaByIw7wI2h1CP5Nkrim6+0tFTWjf9wqzmhtDYgMKBsULJm0bH36ZW0FEZu6DPMTugGaJ3x+AjU1vsvmHqlNLqhs/v16m7s9tC98Lfb3QZOgb7iOPM2c3NGvQkQuV8HYhi04G+PBYEHU/Lo2OSt/6FGPzBESyhxTnUkKHLM0X+/i3vQVP6X+SZlmYkRsh7R15bfIWtIMhv7fuWi3JyB7HQ8yHkH8gqSN4dud5eS2qWDPYzJkl4Cdn5KXDI7AaiGeyzg3lYfzRgQ4+yqxanSIjtaGPW3KiIVRWVX/8UlHj2DaNPrbzFwYPTRwdhh4fEoTMaTdW1LWjnf+W6z7sOkt2XoGfrBqZIFqyfYpkX2cs4QqvEDXnzEcs8w5gY6L0BL1qhrfcBp5/8LqKrCg1oQY06Rjrz9aXHbtYqHpaf7iRYT54+NHjqUE6kR3ct65CcXXXou4RIn7bqISg13bPiHCJ6pOLCI3JkzMbSLyeBDIwRwse3h5G47WyYtNg67+GYRFfos5ZDDP9KjA8kAsscLKDYXkftCPmT4YfR3f8ZOYDyD+KW+bu/aV2LVpQtSHFZBY0k18XvfCTytEFFU3HwL9OJOWTBnqj9Ici0IjYzjd3Y6sGHQc/+euceuximYSgAC9NWrz47wdmRS615YMK3mQib6RdBRgsgXImAuzQWJmW4WUq1iUfMmx03kFZ5oUC1aoqVTvRVxoeG4BmPSRBuC+2hK5E3XE9SVK/sgGR4ud3Tgm7aEu9lvI6ndDSlbmjALzt0DCZPCx7TsPwlyjXDb5myThz6aLXc0MFGnYVpC+E2dbk3Q48qWQR82aDmn86MKB9A3Ryipm6ymHGXilbl3LQkY+olw4q0q+XqbaV1rQS/esh4GvOfliCrpc1oU/A11S3EfxkkBdLixeejYwSvfDhM0G1Zuy1GB2+MnuAlxb93ax7h9B5cNMXg6yZuLCy+RgcjxFOqjRS7AOi7RFoaIzJdzspOzEOr6H/z7UaEJ6sIYq6Y+nh4XHCM9ExoomO9NmwcacROuKNAglP07wWXn2zgGQm9cJsVAwffBnwwXfM0ABHrqNev5Gk1Whg8NCj5HrYXCC2GozhPlwtYM8GXkDQWnOvYXJ95mOz4NWfH1+x9XJJ00KSf22+JEJDogMKByUKJpL85K7KdZUWmZnzNPR7M+QZZJjPD1wGUExlb8qaGYKwKdK5S+AnYxfDnLtkWJ8115ZE3WH1piMtQbx1f3okXv93KJgQz97awMVoAGKZSNfDh1QTzBZrZWrvDdyPLHvb4pbTrZ4wmi3wHPXjpuF7IO9lsC1Nd40/lNp9ltdsHlBKyutoHPavKyobjl8qbhxLksI1rB8vaw2LES75aLoFP9mwkI3X0szc11ikfRuw0b09YoN9YanN9JsM+8mPJQfBR18oEln5QWujKaigsgXt+a5St7ZPKvtwf9FnxxfETiClWRvnNEJLM3OMPEIgEUyOaD+sBay09JFlrbFd5svK9olUM/8Jef5s8mCx7AWwxdeRpawu2yYkzj9SdV+RUnWU5F/DEW+atDjB9gOzo/5gi59MaMaqqKhlN8JYL80a+MuUubBuzuOuG+Mlx/mPRCK8HOfqALwwK+o+pr/o7MkFsY85YoPLCA3/Rjxatjb5kiPG2VMWD57WS/MvIPUwfXkYyAz52pQN+nt3/s7ZL5vzc7l6a3ltqwDL8KbFic5GRgsd8pPttT98RfaIqGCfy8r69nvj/hKsnY9LMfm+trcJq8vhg5KwRPCl4qZ7Zcb0F585uSBm3L0IOy66XoOxo0J9ke4gM24br5rAaBXo7cC/cH/L8N6d13tmSvf8tLKfaOxg8ZZnxoSNOrkw5jFnfQDZ2o/KDalXYenTyN8YFOlvazVOye8LD3dcCPf0A8f/upHwL3BOsZdWYoQAwx6aixz+4DGqkt4QEXDZDE1sjUZSBFyMACW0iwGm1bsXAUpo9+JNW3MxApTQLgaYVu9eBCih3Ys3bc3FCFBCuxhgWr17EaCEdi/etDUXI0AJ7WKAafXuRYAS2r1409ZcjAAltIsBptW7FwFKaPfiTVtzMQKU0C4GmFbvXgQood2LN23NxQhQQrsYYFq9exGghHYv3rQ1FyPgMkJHZN4Y7mLbidWL/5gdAptxE4mJNBL2xRn/Ef1NM/p5roYK7wgvqTHaawBNOipfhpDLCM1jNVekGTkf4S1RrgZHV/8k1kuSmb00wIeB3SpknTq32OHhjcBmWaO9nx99q0DvnCo1q9zkiu6AoA3646FCo+1Xd9oxftjsadtlhIY9ffh/81ivjnxQPXoFAeHsMdCaMhEr8h6S9sv5BbYXvQfbrdy/Qc4aIz04T3ZFM1p2pAAd+rGSqLTqLNNl9e3o7X+Uos1fVaAadYezqjWqx3mE1vKehPdZvlHt+IZhgngM8zdMOEw8k3QHIrDgIuhPHPbiab+DhpK4VcEO40bQzHtd1uT9BTetr96DKlM67OUzkTfFGpGnrtWiVw8Xwq7sRqfC0wzCOvt/UKLlRwuJ0mdYQgFEdq7FhwvnOtowVOXEgKW6mnNehqn5r+ZmSiDZUdCP+6ND0gZWSPJiqTGt1ucNxcYBSif2sNdUNWNv+YbLxapXa9Ua4r7S/hF+aNFvIu1SU9WDhCULvs1vQAdBtL2hhSACCBkHSPwqh0YJZnwwRfKVvpwjv84l9F1L8IdZgA/Kgu8P0KEjSHXpxGfQalktSAtYEGnkdg4rAoF0DLgWZFEZUJVxWGqM22ZvvV96oFpc1qQ+CsT+PUmkEcYO/RYkDqbcH65TVLIFByzauP3/ZKiwivvhd6cWLNo4OlH01q7p0nW21Gspr0sIrW/0jlRXx/vmddbYAniKFyjWp/5LX8bcr2TlzX6Mtn2H2bpYVAjfuBl6PWdz9dB4UwTm7ZMPKalr/vSX8mYj2TB9TjhrBr34QDh6LEmsO5JDH0/6xWKUR8EX/5cZWV2BN8OOTBSeiJTGTHeFrK5LCa3vcOSKnKfgaf8v+EgcqI8z/IU30/+wDP8V0jkh+nNPWFa7AshsIu2D/WQ4f2W1Qs3f4iqpMUNbe/P1vIPKSb+UNe6E5TTih3VcqA+4IVKsjWcCAz6u4uvcep1GNPaZuQH7ySPiAq4NlAY+918Tgou46c66dwuhdcbq/OvcJdDg2/B/U8BY1AqP/ybGP/BdvYCiZEXOiwwPgWZd57kn+o7DQ4BR28tqfF6nfrIeFef8pn8se+9iUeNic6KTvx4oRjMfDL+ngXdD3qLTui6H4ylIITHMp3pErGias/xkUhv6OPcR+m6LOilcLfs2rIgsIvrXCMlYLXqLx7CzgeDkVRHqJ+vHz2W/L/93XbBSpjr+U1HjOHOHJk0aHYpugwDj92ZWRbCfPCxOuGp/etS7LjOUU7HbCa1v35J/rc9n+AuzchHSgiTvhtTjhvH02nUILDlVmZZf1HT85zJ1P2tbwcdPwDLcCUH/6Bl7xzIt1pZzRr5uI7TeeMmK3GdgNt5szr/G+eCfa1XgK69WNPtspn6yHjn3/lo6NAlbg/1kOCDoemyo//PuOCCIhEC3E1pn1ALWWxqY+weWh/4CBt3zr3V+Mst+zGp9V1I/mTR87o27c2gSiLoXN5kcmoT95NRY8cydUyJOu9cq49Y8g9B3bYpafvO3Gl5HBvjW42BazoF/2b+qWJcy09hketfdCIx89/a4UBH/63yFGgWCOHqggF/27Wv9YrvbLtw+8V+JusswDaPxg9fW72BmrgBSDwE7irvLFtqueQRkjR0N8oZWJPbno0qVBilVHeXmc7s3xXl/y+FEu+G1YXLsmhOrp1U5iADLdOh409CM/8AIph84v9HBKp1W3CMJ7bTe0Yr6HAKU0H1uyHt3hymhe/f49rneUUL3uSHv3R2mhO7d49vnekcJ3eeGvHd3mBK6d49vn+sdJXSfG/Le3WFK6N49vn2ud5TQfW7Ie3eHKaF79/j2ud5RQve5Ie/dHaaE7t3j2+d6Rwnd54a8d3fYo/4eGkMdKPBGEpEXamtHqLDardvRevdIO7l3AvjD/thgb9jiyaAbMrWTa7e/Oo+ZoZceawxPSxCsUbd0oJuwLb4IyDwg3G/cy8cqH7W/e7SksxFY+gXr+2C8eDWrZUGnrgXGqhnFhPiOmnNINsfZbdlTX7f/YXZWFsu7EVf+weUS9UvwB+MmCqVeYOHQOMHFWEnAszteCJfZ00laxjkIzDsoy/ypsHGVsrHDh1RjSpR/UT+JaPLOKWEXSenuiOtWQuOn+ucS1dby2naBpc7CK06bFis4lNI/ek7WWMY1WqyWjOij6YuPKB7PlTXtz5O3RFiCwBv20I1IEHwzMCpo4qbx4ipL+Z2d3i2Enn2k6r5SReOxnIrmBFKHQgR8VNNE5mxEoE/LyGhhxt5ZkVtJZWmc8xB49WRtQr6s4eTV0qYRWOqLG8TgR6vaNIiUFhjA14yIFe44Mle6BKSOYZ+We4JbCb3sVENYfkXdJ1eLmx5thyMJuEEIooCT7wtD45IDUb6yBe3+To5KQMWSFAZF+lekRAunfTg5/BtSOo2zHwHsJ1fKK/ZdLGycpG7TmnDEG/zAp4YFo+fTQlGVqkOn/Xy1pInYYHSwd9PQOOHSPdOke4gZnBxpYqyT69dVh/3kmwmy9y8VqRaQ/GQsUPJ4ahCaBGQG1Z17JmB94W9uNqDDoGZJ0hf2gqzDY4UXoiX+z1H/+h5sDl1Y8pMf6CcEXbsIFApvUcPwS7ka7fq3AskbYHmKELB/ndRP+MK28eGXCclOi3I5oS35ycNjA9CshyRIGmgiLHqvk83tWnTyUjX64notIkzsCGZ2bVqc6GByf+lc6l/fg82mC0t+MlYenftwJBoc6We2Xjw2/5tdh45drEIkBVIf+OQfmSD6v8Q48QtbngisMVuRAwkuI/R88JMLuvCTI8XeaN4jEjQkOsBq8+HrGh34XokuFqmIZSLE3i2gcpn5cXrke8QMNNIEgfRjVdG1NU2nLhc1jYSVOJMg9vfSCZ7/ZrBlbWh9YawRfRxI/XVOPSgc6GM7f4PAv4aJbMfhOdFLQCKZkKMzr61XTic09pNvl9cfv1yi+g3JT8YuxURwLbCLgZfk7Am5cMjNru8UyJx8axL410nUv+4S2gXbWe86r/LdV0qapqlaNZ1+3t1SfIh5cmgwemFUGPL1tm+gKuradTK7ebJmoi2xwT4qmLGXbJ8i2UfMYEekfZYSGsJ+cl5c+ftXStREPxmUkHQfey8CmYXwdexowF/WZ/LuCGw3tZp+gmP/emSs8PzQ6JBnVz8rVDjaXm8qP2uf/JWrpY3rlA3tRP9hdDz4yQ9FIJDDdUq3LxU1oX3fK8weHQdv6cJBiYKJzvCvnUboB9beaiypbROSEEiWBqCXHolAUUHE9XhSEavjMJk/Bf/6n9m1xOUjoS+PfXRQyOSPZkR8YnWlvTjjk+8X5VwtVSeTugj/4ofmPBSOUqKsdwNJ9ZDi8Nv6n7/UwljVoBb4JuIGHz6DHhkcuAa0pN/gptly75xHEFokkVki5qMZv4pAoxOIPLfFTrN5Bb48lA5q8r9NCSIuH6latUwbqxkNFVBCAwjyho5ELpj4DJXJ999ZLsVvUlcEvNT3zPAQ9MigQN2xFWc5Z7BgUXVVi2aMo207jdBcQ6aPCUNPDAlBfMe9C27VxPuoIG+U+WQ0AmFu9MFZOYLjFO7l05JW/u+l9q0L7tHIY5MC0cxfhSN/g+VSVyKCPzIXPBqJHh8SjP4O41RcbXhKluMfiCYfA87qDH4a3UVmQ5uHxgTgP2oyjEI8nsu6adROT7iB4/CMVhXwh5+7yGyIT0KoL0qL4/7Fg+Oij3SkDVGm1z0eAUroHj+EtAOGCFBCG6JBr3s8ApTQPX4IaQcMEaCENkSDXvd4BCihe/wQ0g4YIkAJbYgGve7xCFBC9/ghpB0wRIAS2hANet3jEaCE7vFDSDtgiAAltCEa9LrHI0AJ3eOHkHbAEAFKaEM06HWPR4ASuscPIe2AIQKU0IZo0OsejwAltJuGcPFJ5Qg45d1F+0Hc1Ike0EyfIHSHljUv+uHiQcKqqs9uLz136kL1lVFrbjd1t0on7Fjp1WPuss6t+6IcyerJKjqu4lBLhxYdPl+JQIvNqIny6taFkpXZc905Q7Isy0zdU/7eVzky2YWCxgfhoUIVdW3+X16r3f27rcW3lx6oTjEy0sU30mU58dLMnBOgk2G0U/n9MxXoBsgXuzNgQZovf6lDX4IojbOD016BAJbR1h5sKJb4+j3ob2AdDkOJL2d3wpJk2ACJH7qlwIPGXoO8C+TrUy842wbD+uYdVE76ubRhd6mZXfA4L+xyZkfGi06PCIp+MWsyQ1bOMazUzmvJcrmAx6t+EwQTX0MM8gUxHgTyBSa1jekvgg3N4SYSXyYZHYzAkmF7QFMFa3ZwA9hw9uSC2Me48bbcO43Q4z8s+eFKiWqMxnSHOhKBDsek0aFoHOzMxiR3ZsAiJnvPKTmbLTtbiIe9a3XNGlRvsGkWsehwOx8tq1qd4lS96Xn7lQPKGtT/uF5ClgnotKrzKkzEbx8aLfrroTnSv3bGOuOKZSIz8tJhC+EagFyqrxFELlFpTStRqgvvzH4a9oI+NzIE+YKsgDNDRX0bqF5VIhC2IVYbFejdMjIxcPZHUyOOEjNYGelUq+eD2v6tctWhPHlzFKl9Z+o+VDW2o0MXqtAPtxpJTYFIindbZKD3V9dLmx5EDBNimolVs4i3Tu7vtx5lJTr0zp10jPXR1pfvv1KsmgQ6fERM8QyIHz7D3eiGNiWG+VUnxwmf3/VixL8N4+25DluRk+bNQzug7ChSeZG/15nEMN8o2CGfRJLqwnLGUx8IQw8NsF7+i9QOjsO6KScuV4OLQdZNgclOOyJetD+lBHQJsxjCdGiuZnI8EXxyVutjLSnzjEoQgJaGxC5lHqzf8PmVanTqWi0yIzXGjogXnBT1j5m+dyzTEpx5O9CXbXkHXreLYMczQbaBLQFfaYV8Xeox63vYmVPX15KGDeZU7YE4aO6vJWhAhB+yZDuWRhseJzw/3E61p7A3cqTeGrQeSDod9DUIY8vmaRmvJYq1SWdwD+YfUT6ZXdqwv7CqLbSzR51X2Pb5IDmAf20NlpSt+FgYPV5wfqjUucpWhE7bajo5f9ZZlp9dUL4btKCnO0M7Dc8k5241oIM/VhFnOezKDIsNuB4b6v/8jimS21yrwjLyBvORZhuIA47jpunuWfacRuu1WLkx6ToxnRM5+4B8THFVy/E8mTqGk6S7DQ64M8s9PNB0lqtWtaMDP1ShHwvIbxc8a6UlCvckFUUtsGrWWprvK/VvXw4rGK9D/7jaAGAPWwvfpFmKwpRt6Dij4do7fW/5W9dL1W9WqdqNPhj1+XAfpoHOCu6TNcGy9mBA+ZDIgKlbp0Z8a019tuRxGaH1Rsw9XBlVWdt8AvzrB0hSuNaoWxZWtaKd38gR/iWFxDCf6tRY8cydUyJOk9IN4yQZef/BMJpNMIENMIzH1/DMYH9hF9Ph9UbFpsFV3HR8v+REQ2iZsv449Gcs6Q1xxw8NRhNGhuIPP1IV9+Jugaj7zn+bF3XHYuGjEsSLuxIzlK7MfQFWVDZCSwn3Kr57AZMAJu92dTv754YtqV3K14Lb5M/WlR28VNL0HEh1mRiO+/Is9OmZ4cHIx4zKpqLhjjrsT8Xkb1yQgmseHitesXtGxDaurc66NzHcWRVz63npcOVvbstVB8351yT94Vo4luLQ+Sr0XX4DtzrdfYSQ3zY0LuCdA7NibPugWsB6RwblvgqV/BlezSJu5UDseiD8Kpl/0nsoq/M8l5l7y7b8VNS0FD4yvbhl8L09KwX4zdOVqDuud1iM4NYQqWD8polhefgeh8hl2SmMF/jJDPPQnRjj/0K933Qg3sKq9Uk3jFO6vlt4UDmwtK758yulTcn4CeeGMCEfTR8TruurPs0a/W5wLw5OEkXPmTzZ9A2hr8cZv24jtN7Y2R/Ll14pV61X1rcZyxvdzYBJMRlWRPDr+PMrNagVfGZu8PfmsWngJzdFx0w7/RRDnra5hQj3kuW3IhivtjWQNBuAMF2TZ9ENIMZrz6WF+l4pbdwLx2OICdUgvJIyG9Q6k6T+pGSr4rBA+GfQ39Mg6t5OEGr2A0nb0Qnif1xQtC9qrVe/BZXOh4fR5MGC2fq2FjHLletTPrOqYTOZFh1WTLhWqtpTVN0aSMoyGFZLZoGwI35rHoVJh3TCApbkHREvPC8N95/grhMW3E5oDM4dbeIy0CZWE7WJSQDiOCwkCELZZv1kc+UsxUcszxvG89LugOofMMwr8OOjODhcMhfO4iPNVta4S4b1WXNtSdQ9TOjNivx5TGGl8XMMDx52yN+V1yVvRjsY00Veaxon5En/uGLN5VLVsurGDpv+tbW7NLq7hdB63LB6fHWV+gTMBPeT1q/1+fAvXtYaGi2csX1axJeG8c68lmTmTOGx7Hp4cmJxvaHweq2GQ3G4AWv2PTk0RHdoDp45XRFyKuAfIM5VojJYMyaFgRJ/lK9oxgr5LKw1f8xqfDMVGwcoSXkdjVu+jxUUt5cfuVigeqYV/jW2q9Ddp5S5ZjS66jEhbe5R2djb5c0HbypapNzkcBH4yTGCdw/Ojl7FTXPJfVahX6S6JZNhtBlwdksAyPEaNeNsMXCjyjk3eOnr7I163T/nc0XdsXuTK2s+D/xaXLUhxaUH8ejNevVIVfLN6qZPSf41PucG+8mp/aK79ZwbjyC0HjCdf13asBGv6WI/eWS88KQ6OtohP1lft62/IRn5MaF+mlJDQq94IhqB725rVQ7nx2Te+GUFypN3nqk9OkFw7tTL8Q87XLkdFRj619hPxieRRXnISWQeRWgdtpNYr6lPlL8nEnhvJq0n24G/3UUG/OWGpqml8/yR7en9EfabuyN8BMuW/zIQCX90sOjQkbmx07vDFn2b4F+/K/D3/sqTzoq0bqVc3wN3/MLC/+HjCE4fpcHTEdg3K+pNT7PRdKnK0yyk9lAEbECAEtoGsGhWz0eAEtrzx4haaAMClNA2gEWzej4ClNCeP0bUQhsQoIS2ASya1fMRoIT2/DGiFtqAACW0DWDRrJ6PACW0548RtdAGBCihbQCLZvV8BCihPX+MqIU2IEAJbQNYNKvnI0AJ7fljRC20AQFKaBvAolk9HwFKaM8fI2qhDQhQQtsAVr5O8NGGAk7KimUCygnihk6qvldV43l/4O/B8G78ZzlyRMbM1q7BBlh0Jq9eJxPQ2GoieGRrdX0iPyV0F8Psz2c0oJVp9Ba7VNSErpUUwK7vYPTCqDDk66Jd35bktLwYXnUXpvfZJM/bU+hBQ/Hyp3X9imV1n14tU4/AsyU3dJMuR9v9/YRv7ZouXce1h96DdgsFwTICWKXzenHj4ZIasooQScbMcq3GObCf/BnIzn5xvQ5htX9u8OPz2NEJwv8WDIiejFVVuen0/g4ClNA2MGHmPvnmnwrqX/EEbTsbzO5TWSmhbRxurD5aqqw9frVE7RHqozaa3+uzU0LbOcR39KHVoA/dYpc+NNa5/uG2k/Sh7exDbyxGCe3gqFqj4K9XwbdGwT8tXnhpSFTI06ufFSocNK1PFqeEdsKwL/2C9ZVVlO2HJb2JJLFw3ITlM1Z8qkfEiqZ9MEXylRNM6rNVUEI7ceixWHhRnfpzm07BEsIpWCBGeWhO9NtONKXPVkUJ7YKht+qcQpDIG5Uo/t9hgdHPu/KcQhd0z6OrpIR20fDgk2Sn7ZX/7XJx4+KG5g4jhcfUKP/Cwf2EE7eND3eLDK6LuuiR1VJCu3hY8FnfJbV1n10qbHxQEujTPCxesGTPNOkeFzdLq6cIuBaBxSeVI+BcCzqBuBZmWjtFgCJAEaAIUAQoAhQBigBFgCJAEaAI9GUE/h9g5V7Rcmr4EwAAAABJRU5ErkJggg==)}input[type=radio]:checked~.Index__choice__113bB .Index__choice_title__LJh-1{color:#1977d6}input[type=radio]:checked~.Index__choice__113bB svg polygon{stroke:#1977d6;fill:rgba(25,119,214,.15)}input[type=radio]:checked~.Index__choice__113bB svg path,input[type=radio]:checked~.Index__choice__113bB svg rect{fill:#1977d6}.Index__joinFields__3IheX{margin-top:20px;margin-bottom:30px;width:100%}.Index__joinFields__3IheX .form-group{margin-bottom:20px}.Index__submit__3i4UA,.Index__submitWrapper__163w8{display:block;margin-top:30px}.Index__submit__3i4UA{width:100%}.Index__infoLink__cX96b{position:relative;left:4px;top:1px;color:#bac0c7}@-webkit-keyframes ListItem__progress-bar-stripes__ftQUL{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__ftQUL{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__1Z0bU{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__2xrEB{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__234VW,.ListItem__progress-striped__3nE6O .ListItem__progress-bar__2xrEB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__2xrEB.ListItem__active__1wrjj,.ListItem__progress__1Z0bU.ListItem__active__1wrjj .ListItem__progress-bar__2xrEB{-webkit-animation:ListItem__progress-bar-stripes__ftQUL 2s linear infinite;animation:ListItem__progress-bar-stripes__ftQUL 2s linear infinite}.ListItem__progress-bar-success__32Yfx{background-color:#5cb85c}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-success__32Yfx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__3BLRt{background-color:#5bc0de}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-info__3BLRt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__1KnMX{background-color:#f0ad4e}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-warning__1KnMX{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__2NQP-{background-color:#ef5354}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-danger__2NQP-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__BDBF1{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__BDBF1.ListItem__in__11Jze{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__BDBF1.ListItem__top__1uBie{padding:5px 0;margin-top:-3px}.ListItem__tooltip__BDBF1.ListItem__right__2ohZ_{padding:0 5px;margin-left:3px}.ListItem__tooltip__BDBF1.ListItem__bottom__2b4rs{padding:5px 0;margin-top:3px}.ListItem__tooltip__BDBF1.ListItem__left__1lx8q{padding:0 5px;margin-left:-3px}.ListItem__tooltip__BDBF1.ListItem__top__1uBie .ListItem__tooltip-arrow__2UQYC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__BDBF1.ListItem__top-left__3VfXL .ListItem__tooltip-arrow__2UQYC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__BDBF1.ListItem__top-right__Vjx-R .ListItem__tooltip-arrow__2UQYC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__BDBF1.ListItem__right__2ohZ_ .ListItem__tooltip-arrow__2UQYC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__BDBF1.ListItem__left__1lx8q .ListItem__tooltip-arrow__2UQYC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__BDBF1.ListItem__bottom__2b4rs .ListItem__tooltip-arrow__2UQYC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__BDBF1.ListItem__bottom-left__2SrnB .ListItem__tooltip-arrow__2UQYC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__BDBF1.ListItem__bottom-right__24sep .ListItem__tooltip-arrow__2UQYC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__1O_-i{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__2UQYC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__main__3HK-c{margin-bottom:30px}.ListItem__titleBar__95ibV{background:#fff;border-bottom:1px solid #f5f5f5;padding:16px 25px}.ListItem__title__1prs7,.ListItem__titleBar__95ibV{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ListItem__title__1prs7{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ListItem__title__1prs7 label{font-size:12px;margin:0 8px 0 0}.ListItem__colAction__3EKK_,.ListItem__title__1prs7 label{color:#20252d;text-transform:uppercase;font-weight:500}.ListItem__colAction__3EKK_ img{width:20px;margin-bottom:4px;margin-right:6px}.ListItem__confirmation__1OdaI{position:absolute;left:43%}.ListItem__end__1XqGY{display:-webkit-flex;display:-ms-flexbox;display:flex}.ListItem__emphasisLabel__3Vc4W{color:#20252d}.ListItem__colUnit__2W6kX{text-align:right;white-space:nowrap}.ListItem__colUnit__2W6kX>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.ListItem__recievedAmount__GI2yq{text-align:right}.ListItem__col__Ih0v0{padding-right:10px}@-webkit-keyframes DetailSummary__progress-bar-stripes__209md{0%{background-position:40px 0}to{background-position:0 0}}@keyframes DetailSummary__progress-bar-stripes__209md{0%{background-position:40px 0}to{background-position:0 0}}.DetailSummary__progress__1f9x1{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.DetailSummary__progress-bar__1Y7M1{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.DetailSummary__progress-bar-striped__2scRv,.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar__1Y7M1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.DetailSummary__progress-bar__1Y7M1.DetailSummary__active__5GwCs,.DetailSummary__progress__1f9x1.DetailSummary__active__5GwCs .DetailSummary__progress-bar__1Y7M1{-webkit-animation:DetailSummary__progress-bar-stripes__209md 2s linear infinite;animation:DetailSummary__progress-bar-stripes__209md 2s linear infinite}.DetailSummary__progress-bar-success__1GFpq{background-color:#5cb85c}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-success__1GFpq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-info__oO1FT{background-color:#5bc0de}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-info__oO1FT{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-warning__nAdgI{background-color:#f0ad4e}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-warning__nAdgI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-danger__DL5wc{background-color:#ef5354}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-danger__DL5wc{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__tooltip__1twCh{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.DetailSummary__tooltip__1twCh.DetailSummary__in__1NvMu{filter:alpha(opacity=90);opacity:.9}.DetailSummary__tooltip__1twCh.DetailSummary__top__3rq9M{padding:5px 0;margin-top:-3px}.DetailSummary__tooltip__1twCh.DetailSummary__right__3u1fK{padding:0 5px;margin-left:3px}.DetailSummary__tooltip__1twCh.DetailSummary__bottom__2sSLl{padding:5px 0;margin-top:3px}.DetailSummary__tooltip__1twCh.DetailSummary__left__2X5SF{padding:0 5px;margin-left:-3px}.DetailSummary__tooltip__1twCh.DetailSummary__top__3rq9M .DetailSummary__tooltip-arrow__ODqzF{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__top-left__13LPN .DetailSummary__tooltip-arrow__ODqzF{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__top-right__6yaqQ .DetailSummary__tooltip-arrow__ODqzF{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__right__3u1fK .DetailSummary__tooltip-arrow__ODqzF{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__left__2X5SF .DetailSummary__tooltip-arrow__ODqzF{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__bottom__2sSLl .DetailSummary__tooltip-arrow__ODqzF{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__bottom-left__2nKDZ .DetailSummary__tooltip-arrow__ODqzF{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__bottom-right__b7Yu3 .DetailSummary__tooltip-arrow__ODqzF{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip-inner__2EkAq{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.DetailSummary__tooltip-arrow__ODqzF{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.DetailSummary__main__3bBER{background:#fff;width:100%}.DetailSummary__main__3bBER .DetailSummary__row__1ePRR{display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid #f3f6f8}.DetailSummary__main__3bBER .DetailSummary__col__2UzKA{padding-top:13px;padding-bottom:13px;padding-right:10px}.DetailSummary__main__3bBER .DetailSummary__col__2UzKA:last-child{padding-right:30px}.DetailSummary__main__3bBER .DetailSummary__row__1ePRR:last-child{border-bottom:none}.DetailSummary__main__3bBER a .DetailSummary__rawId__2Quy9{color:#195ad6}.DetailSummary__main__3bBER a:hover .DetailSummary__rawId__2Quy9{text-decoration:underline}.DetailSummary__colAction__1md-X{padding-left:25px;text-transform:uppercase;font-weight:500}.DetailSummary__colAction__1md-X img{width:20px;margin-bottom:4px;margin-right:6px}.DetailSummary__colAction__1md-X,.DetailSummary__colAmount__3pXSq{color:#20252d}.DetailSummary__colAction__1md-X{width:25%;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.DetailSummary__account__zR2O3{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1}.DetailSummary__middle__3m0HU{width:20%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}.DetailSummary__end__3NvRk{width:15%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.DetailSummary__amount__eTrOb{background:none}.DetailSummary__emphasisLabel__3XRU_{color:#20252d}.DetailSummary__colAccount__1lAm3{width:150px;overflow:hidden;text-overflow:ellipsis}.DetailSummary__colLabel__1GpAa{color:#bac0c7;text-align:right}.DetailSummary__colUnit__EiGni{text-align:right;white-space:nowrap}.DetailSummary__colUnit__EiGni>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.DetailSummary__immature__CVc0s{text-transform:lowercase;margin-left:5px;color:#dd2c2c}.DetailSummary__rawId__2Quy9{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:150px;vertical-align:middle}.DetailSummary__recievedAmount__1QuIp{text-align:right}.DetailSummary__titleBar__1kjA7{background:#fff;border-bottom:1px solid #f5f5f5;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:5px 25px}.DetailSummary__titleBar__1kjA7 code{display:inline-block;font-size:13px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:200px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.4}.DetailSummary__title__BDGyL{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}.DetailSummary__title__BDGyL label{color:#20252d;font-size:12px;text-transform:uppercase;font-weight:500;margin:0 8px 0 0}.DetailSummary__title__BDGyL img{width:20px;margin-left:15px;margin-bottom:2px}@-webkit-keyframes Index__progress-bar-stripes__Za6qP{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Index__progress-bar-stripes__Za6qP{0%{background-position:40px 0}to{background-position:0 0}}.Index__progress__1h05H{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Index__progress-bar__142hW{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Index__progress-bar-striped__28Xca,.Index__progress-striped__2c1ts .Index__progress-bar__142hW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Index__progress-bar__142hW.Index__active__3W7cZ,.Index__progress__1h05H.Index__active__3W7cZ .Index__progress-bar__142hW{-webkit-animation:Index__progress-bar-stripes__Za6qP 2s linear infinite;animation:Index__progress-bar-stripes__Za6qP 2s linear infinite}.Index__progress-bar-success__2HUhJ{background-color:#5cb85c}.Index__progress-striped__2c1ts .Index__progress-bar-success__2HUhJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-info__gKt04{background-color:#5bc0de}.Index__progress-striped__2c1ts .Index__progress-bar-info__gKt04{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-warning__epJRD{background-color:#f0ad4e}.Index__progress-striped__2c1ts .Index__progress-bar-warning__epJRD{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-danger__1UT-2{background-color:#ef5354}.Index__progress-striped__2c1ts .Index__progress-bar-danger__1UT-2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__tooltip__37G-b{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Index__tooltip__37G-b.Index__in__2lszE{filter:alpha(opacity=90);opacity:.9}.Index__tooltip__37G-b.Index__top__3kkw6{padding:5px 0;margin-top:-3px}.Index__tooltip__37G-b.Index__right__3qfDM{padding:0 5px;margin-left:3px}.Index__tooltip__37G-b.Index__bottom__1zwWz{padding:5px 0;margin-top:3px}.Index__tooltip__37G-b.Index__left__1e83H{padding:0 5px;margin-left:-3px}.Index__tooltip__37G-b.Index__top__3kkw6 .Index__tooltip-arrow__2HpXY{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__37G-b.Index__top-left__1eip8 .Index__tooltip-arrow__2HpXY{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__37G-b.Index__top-right__2qPTz .Index__tooltip-arrow__2HpXY{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__37G-b.Index__right__3qfDM .Index__tooltip-arrow__2HpXY{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Index__tooltip__37G-b.Index__left__1e83H .Index__tooltip-arrow__2HpXY{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Index__tooltip__37G-b.Index__bottom__1zwWz .Index__tooltip-arrow__2HpXY{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__37G-b.Index__bottom-left__2CUqG .Index__tooltip-arrow__2HpXY{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__37G-b.Index__bottom-right__2O08v .Index__tooltip-arrow__2HpXY{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip-inner__2kxgG{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Index__tooltip-arrow__2HpXY{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Index__main__2EDWo{background:#fff;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:50px;display:block;overflow:auto}.Index__title__3WA9V{font-size:26px;font-weight:400;margin-top:30px;margin-bottom:30px;text-align:center;text-transform:uppercase}.Index__choices__zm6bs{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.Index__choices__zm6bs>div{width:40%;min-height:100%}.Index__choice_wrapper__26rG1,.Index__choice_wrapper__26rG1>label{display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:100%}.Index__choice_wrapper__26rG1>label{font-weight:400}.Index__choice_radio_button__2_EdP{position:absolute;visibility:hidden}.Index__choice__38C__{border:1px solid #ddd;border-radius:3px;cursor:pointer;min-height:100%;padding:20px 30px;padding-top:110px;text-align:center;background-repeat:no-repeat;background-position:center 25px;background-size:90px 90px}.Index__choice__38C__:hover{background-color:#fafafa}.Index__choice__38C__.Index__disabled__2cU-g{cursor:default;background-color:#fafafa;opacity:.75}.Index__choice__38C__.Index__disabled__2cU-g .Index__choice_title__2wFO9{color:#bac0c7}.Index__choice__38C__ p{line-height:1.4}.Index__choice__38C__ svg{display:block;margin:0 auto;width:80px;height:80px}.Index__choice__38C__ .Index__choice_title__2wFO9{display:block;font-size:16px;margin:12px 0;color:#20252d;font-weight:600}.Index__backup__2__Y7{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtYmFja3VwKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTMgewogICAgICAgIGZpbGw6ICNmMmYyZjI7CiAgICAgIH0KCiAgICAgIC5jbHMtMywgLmNscy00LCAuY2xzLTUsIC5jbHMtNiB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CgogICAgICAuY2xzLTQgewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cCI+CiAgICAgIDxyZWN0IHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iYmFja3VwIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9ImJhY2t1cC0yIiBkYXRhLW5hbWU9ImJhY2t1cCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy0yIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkwIiBkYXRhLW5hbWU9IlBhdGggNDc5MCIgY2xhc3M9ImNscy0zIiBkPSJNNzUuNi04Ny42MDYsMy42MDYtNDYuMDQxLDc1LjYtNC40NzZsNzEuOTkzLTQxLjU2NVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgY2xhc3M9ImNscy00IiBkPSJNMTQ3LjU5MS00Ni4wNDEsNzUuNi00LjQ3NiwzLjYwNi00Ni4wNDEsNzUuNi04Ny42MDZabS0xMzYuMDY4LDBMNzUuNi05LjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtODMuMDM1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTIiIGRhdGEtbmFtZT0iUGF0aCA0NzkyIiBjbGFzcz0iY2xzLTUiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MyIgZGF0YS1uYW1lPSJQYXRoIDQ3OTMiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtOTAuMDQxLDc1LjYtNDguNDc2LDMuNjA2LTkwLjA0MSw3NS42LTEzMS42MDZabS0xMzYuMDY4LDBMNzUuNi01My4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTEyNy4wMzVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGNsYXNzPSJjbHMtNiIgZD0iTTc1LjYtMTcxLjYwNiwzLjYwNi0xMzAuMDQxLDc1LjYtODguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjYwNikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NSIgZGF0YS1uYW1lPSJQYXRoIDQ3OTUiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}.Index__restoreKeystore__2kxGg{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9qc29uKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjZjJmMmYyOwogICAgICB9CgogICAgICAuY2xzLTIsIC5jbHMtMywgLmNscy01LCAuY2xzLTYgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zIHsKICAgICAgICBmaWxsOiAjYTNhOWI4OwogICAgICB9CgogICAgICAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CgogICAgICAuY2xzLTcgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcmVzdG9yZV9qc29uIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2pzb24iIGRhdGEtbmFtZT0icmVzdG9yZSBqc29uIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9Ikdyb3VwXzMwODgiIGRhdGEtbmFtZT0iR3JvdXAgMzA4OCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTAiIGRhdGEtbmFtZT0iUGF0aCA1MjEwIiBjbGFzcz0iY2xzLTIiIGQ9Ik03Ni4zNTItODcuNjA2bC03Mi43NDYsNDIsNzIuNzQ2LDQyLDcyLjc0Ni00MloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjExIiBkYXRhLW5hbWU9IlBhdGggNTIxMSIgY2xhc3M9ImNscy0zIiBkPSJNMTQ5LjEtNDUuNjA2bC03Mi43NDYsNDItNzIuNzQ2LTQyLDcyLjc0Ni00MlptLTEzNy40OTIsMEw3Ni4zNTItOC4yMjQsMTQxLjEtNDUuNjA2LDc2LjM1Mi04Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlVuaW9uXzEzMiIgZGF0YS1uYW1lPSJVbmlvbiAxMzIiIGNsYXNzPSJjbHMtNCIgZD0iTS00NjkuMzU5LTE4MjIuOTgzLTQyNC4zLTE4NDlsNi45MjgsNC00NS4wNjIsMjYuMDE2Wm0tMTcuMzItMTBMLTQ1Ny4yMDYtMTg1MGw2LjkyOCw0LTI5LjQ3MywxNy4wMTZabS0xNy4zMi0xMEwtNDg2LjY1MS0xODUzbDYuOTI4LDQtMTcuMzQ5LDEwLjAxNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU1MS40MTYgMTk3Ni4yMTEpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTUiIGRhdGEtbmFtZT0iUGF0aCA1MjE1IiBjbGFzcz0iY2xzLTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNiIgZGF0YS1uYW1lPSJQYXRoIDUyMTYiIGNsYXNzPSJjbHMtMyIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTciIGRhdGEtbmFtZT0iUGF0aCA1MjE3IiBjbGFzcz0iY2xzLTYiIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxOCIgZGF0YS1uYW1lPSJQYXRoIDUyMTgiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTMxIiBkYXRhLW5hbWU9IlVuaW9uIDEzMSIgY2xhc3M9ImNscy00IiBkPSJNLTQ2OS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS01MDQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NTEuNDE2IDE4NzYuMTk1KSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIGNsYXNzPSJjbHMtNyIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}.Index__restoreMnemonic__8QGc9{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9NbmVtaW5pY193b3Jkcyk7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2YyZjJmMjsKICAgICAgfQoKICAgICAgLmNscy0yLCAuY2xzLTMsIC5jbHMtNSwgLmNscy02LCAuY2xzLTcgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zLCAuY2xzLTggewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNCwgLmNscy02IHsKICAgICAgICBmaWxsOiAjZjdmN2Y3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICMwMGJkYTk7CiAgICAgIH0KCiAgICAgIC5jbHMtNyB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy05IHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfTW5lbWluaWNfd29yZHMiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9InJlc3RvcmVfTW5lbWluaWNfd29yZHMiIGRhdGEtbmFtZT0icmVzdG9yZSBNbmVtaW5pYyB3b3JkcyIgY2xhc3M9ImNscy0xIj4KICAgIDxnIGlkPSJHcm91cF8zMDkwIiBkYXRhLW5hbWU9Ikdyb3VwIDMwOTAiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgY2xhc3M9ImNscy0yIiBkPSJNNzYuMzUyLTg3LjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTQ1LjYwNmwtNzIuNzQ2LDQyLTcyLjc0Ni00Miw3Mi43NDYtNDJabS0xMzcuNDkzLDBMNzYuMzUyLTguMjI0LDE0MS4xLTQ1LjYwNiw3Ni4zNTItODIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBjbGFzcz0iY2xzLTQiIGQ9Ik0tMjE5LjM1OS0xNTcyLjk4My0xNzQuMy0xNTk5bDYuOTI4LDQtNDUuMDYxLDI2LjAxNlptLTE3LjMyLTEwTC0yMDcuMjA2LTE2MDBsNi45MjgsNC0yOS40NzMsMTcuMDE2Wm0tMTcuMzItMTBMLTIzNi42NTEtMTYwM2w2LjkyOCw0LTE3LjM0OCwxMC4wMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDMxIDE3MjYuMjAzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMwIiBkYXRhLW5hbWU9IlBhdGggNTIzMCIgY2xhc3M9ImNscy01IiBkPSJNNjUuOTU5LTEyOS42MDZsLTMxLjE3NywxOC0zMS4xNzctMTgsMzEuMTc3LTE4Wm0tNTQuMzU0LDAsMjMuMTc3LDEzLjM4MiwyMy4xNzctMTMuMzgyTDM0Ljc4My0xNDIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzEiIGRhdGEtbmFtZT0iUGF0aCA1MjMxIiBjbGFzcz0iY2xzLTYiIGQ9Ik0zNC43ODMtMTQ3LjYwNmwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzNSIgZGF0YS1uYW1lPSJQYXRoIDUyMzUiIGNsYXNzPSJjbHMtNyIgZD0iTTc2LjMzNy0xNzEuNjE0bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjM5IiBkYXRhLW5hbWU9IlBhdGggNTIzOSIgY2xhc3M9ImNscy03IiBkPSJNNzYuMzM3LTEyMy42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyNDMiIGRhdGEtbmFtZT0iUGF0aCA1MjQzIiBjbGFzcz0iY2xzLTYiIGQ9Ik0xMTcuOTA3LTE0Ny42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzUiIGRhdGEtbmFtZT0iVW5pb24gMTM1IiBjbGFzcz0iY2xzLTgiIGQ9Ik0tMjEyLjQ0NS0xNTM3bDMxLjE3Ny0xOCwzMS4xNzcsMTgtMzEuMTc3LDE4Wm04LDAsMjMuMTc3LDEzLjM4MkwtMTU4LjA5MS0xNTM3bC0yMy4xNzctMTMuMzhaTS0yNTQtMTU2MC45OTJsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxLDIzLjE3Ny0xMy4zODEtMjMuMTc3LTEzLjM4MVptNzUuMTI0LS4wMDgsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgsMjMuMTc4LTEzLjM4LTIzLjE3OC0xMy4zODFabS00OS41NjktMjQsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxTC0xNTguMDkxLTE1ODVsLTIzLjE3Ny0xMy4zODFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNzIgMTYwOS4yMTkpIi8+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy05IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Index__choice__38C__ strong{color:#dd2c2c}input[type=radio]:checked~.Index__choice__38C__:hover{background-color:#fff}input[type=radio]:checked~.Index__choice__38C__.Index__backup__2__Y7{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cC1hY3RpdmUiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9ImJhY2t1cC1hY3RpdmUiIGNsaXAtcGF0aD0idXJsKCNjbGlwLWJhY2t1cC1hY3RpdmUpIj4KICAgIDxnIGlkPSJiYWNrdXAtYWN0aXZlLTIiIGRhdGEtbmFtZT0iYmFja3VwLWFjdGl2ZSI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiIGZpbGw9Im5vbmUiLz4KICAgICAgPGcgaWQ9Ikdyb3VwXzI1MjYiIGRhdGEtbmFtZT0iR3JvdXAgMjUyNiI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTAiIGQ9Ik03NS42LTg3LjYwNiwzLjYwNi00Ni4wNDEsNzUuNi00LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgZD0iTTE0Ny41OTEtNDYuMDQxLDc1LjYtNC40NzYsMy42MDYtNDYuMDQxLDc1LjYtODcuNjA2Wm0tMTM2LjA2OCwwTDc1LjYtOS4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTgzLjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MiIgZGF0YS1uYW1lPSJQYXRoIDQ3OTIiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTMiIGRhdGEtbmFtZT0iUGF0aCA0NzkzIiBkPSJNMTQ3LjU5MS05MC4wNDEsNzUuNi00OC40NzYsMy42MDYtOTAuMDQxLDc1LjYtMTMxLjYwNlptLTEzNi4wNjgsMEw3NS42LTUzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTI3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguMTkyKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGQ9Ik03NS42LTE3MS42MDYsMy42MDYtMTMwLjA0MSw3NS42LTg4LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3OC42MDYpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80Nzk1IiBkYXRhLW5hbWU9IlBhdGggNDc5NSIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}input[type=radio]:checked~.Index__choice__38C__.Index__restoreKeystore__2kxGg{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfamFzb24tYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2phc29uLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIGphc29uLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9qYXNvbi1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg3IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODciPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjEwIiBkYXRhLW5hbWU9IlBhdGggNTIxMCIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxMSIgZGF0YS1uYW1lPSJQYXRoIDUyMTEiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzAiIGRhdGEtbmFtZT0iVW5pb24gMTMwIiBkPSJNLTIxOS4zNTktMTgyMi45ODMtMTc0LjMtMTg0OWw2LjkyOCw0LTQ1LjA2MiwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xODUwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE4NTNsNi45MjgsNC0xNy4zNDgsMTAuMDE2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQxNiAxOTc2LjIxMSkiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNSIgZGF0YS1uYW1lPSJQYXRoIDUyMTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE2IiBkYXRhLW5hbWU9IlBhdGggNTIxNiIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjMTk3N2Q2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNyIgZGF0YS1uYW1lPSJQYXRoIDUyMTciIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE4IiBkYXRhLW5hbWU9IlBhdGggNTIxOCIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMjkiIGRhdGEtbmFtZT0iVW5pb24gMTI5IiBkPSJNLTIxOS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS0yNTQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDE2IDE4NzYuMTk1KSIgZmlsbD0iI2QwZThmYSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIiBmaWxsPSJub25lIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)}input[type=radio]:checked~.Index__choice__38C__.Index__restoreMnemonic__8QGc9{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfbW5lbWluaWMtYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX21uZW1pbmljLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIG1uZW1pbmljLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9tbmVtaW5pYy1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg5IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODkiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MywwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBkPSJNLTIxOS4zNTktMTU3Mi45ODMtMTc0LjMtMTU5OWw2LjkyOCw0LTQ1LjA2MSwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xNjAwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE2MDNsNi45MjgsNC0xNy4zNDgsMTAuMDE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQzMSAxNzI2LjIwMykiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzMCIgZGF0YS1uYW1lPSJQYXRoIDUyMzAiIGQ9Ik02NS45NTktMTI5LjYwNmwtMzEuMTc3LDE4LTMxLjE3Ny0xOCwzMS4xNzctMThabS01NC4zNTQsMCwyMy4xNzcsMTMuMzgyLDIzLjE3Ny0xMy4zODJMMzQuNzgzLTE0Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiMwMGJkYTkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMxIiBkYXRhLW5hbWU9IlBhdGggNTIzMSIgZD0iTTM0Ljc4My0xNDcuNjA2bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iI2QwZThmYSIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzUiIGRhdGEtbmFtZT0iUGF0aCA1MjM1IiBkPSJNNzYuMzM3LTE3MS42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzOSIgZGF0YS1uYW1lPSJQYXRoIDUyMzkiIGQ9Ik03Ni4zMzctMTIzLjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjQzIiBkYXRhLW5hbWU9IlBhdGggNTI0MyIgZD0iTTExNy45MDctMTQ3LjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTM1IiBkYXRhLW5hbWU9IlVuaW9uIDEzNSIgZD0iTS0yMTIuNDQ1LTE1MzdsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgyTC0xNTguMDkxLTE1MzdsLTIzLjE3Ny0xMy4zOFpNLTI1NC0xNTYwLjk5MmwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODEsMjMuMTc3LTEzLjM4MS0yMy4xNzctMTMuMzgxWm03NS4xMjQtLjAwOCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zOCwyMy4xNzgtMTMuMzgtMjMuMTc4LTEzLjM4MVptLTQ5LjU2OS0yNCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODFMLTE1OC4wOTEtMTU4NWwtMjMuMTc3LTEzLjM4MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3MiAxNjA5LjIxOSkiIGZpbGw9IiMxOTc3ZDYiLz4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNzM5IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNzM5IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgZmlsbD0ibm9uZSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Index__choice__38C__ .Index__choice_title__2wFO9{color:#1977d6}input[type=radio]:checked~.Index__choice__38C__ svg polygon{stroke:#1977d6;fill:rgba(25,119,214,.15)}input[type=radio]:checked~.Index__choice__38C__ svg path,input[type=radio]:checked~.Index__choice__38C__ svg rect{fill:#1977d6}.Index__submit__p2c2r,.Index__submitWrapper__30JLz{display:block;margin-top:30px}.Index__submit__p2c2r{width:100%;padding:5px 0}.Index__infoLink__3fkmH{position:relative;left:4px;top:1px;color:#bac0c7}@-webkit-keyframes FormIndex__progress-bar-stripes__1ZKSb{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormIndex__progress-bar-stripes__1ZKSb{0%{background-position:40px 0}to{background-position:0 0}}.FormIndex__progress__EJLRe{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormIndex__progress-bar__3ZQ3M{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormIndex__progress-bar-striped__2IHDl,.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar__3ZQ3M{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormIndex__progress-bar__3ZQ3M.FormIndex__active__3SeOk,.FormIndex__progress__EJLRe.FormIndex__active__3SeOk .FormIndex__progress-bar__3ZQ3M{-webkit-animation:FormIndex__progress-bar-stripes__1ZKSb 2s linear infinite;animation:FormIndex__progress-bar-stripes__1ZKSb 2s linear infinite}.FormIndex__progress-bar-success__3_2Ja{background-color:#5cb85c}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-success__3_2Ja{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__progress-bar-info__13aVi{background-color:#5bc0de}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-info__13aVi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__progress-bar-warning__3GeCJ{background-color:#f0ad4e}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-warning__3GeCJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__progress-bar-danger__3_6YK{background-color:#ef5354}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-danger__3_6YK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__tooltip__Sm7IB{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormIndex__tooltip__Sm7IB.FormIndex__in__2iXNN{filter:alpha(opacity=90);opacity:.9}.FormIndex__tooltip__Sm7IB.FormIndex__top__1eDX4{padding:5px 0;margin-top:-3px}.FormIndex__tooltip__Sm7IB.FormIndex__right__2OMWh{padding:0 5px;margin-left:3px}.FormIndex__tooltip__Sm7IB.FormIndex__bottom__kISz_{padding:5px 0;margin-top:3px}.FormIndex__tooltip__Sm7IB.FormIndex__left__3AOVV{padding:0 5px;margin-left:-3px}.FormIndex__tooltip__Sm7IB.FormIndex__top__1eDX4 .FormIndex__tooltip-arrow__2JN5r{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__top-left__sIK5h .FormIndex__tooltip-arrow__2JN5r{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__top-right__3ahFM .FormIndex__tooltip-arrow__2JN5r{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__right__2OMWh .FormIndex__tooltip-arrow__2JN5r{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__left__3AOVV .FormIndex__tooltip-arrow__2JN5r{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__bottom__kISz_ .FormIndex__tooltip-arrow__2JN5r{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__bottom-left__2XdhZ .FormIndex__tooltip-arrow__2JN5r{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__bottom-right__SOul2 .FormIndex__tooltip-arrow__2JN5r{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormIndex__tooltip-inner__2E0U4{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormIndex__tooltip-arrow__2JN5r{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormIndex__main__1LdX4{background:#f3f6f8;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:50px;display:block;overflow:auto}.FormIndex__title__14xnp{text-align:center;color:#20252d}.FormIndex__formWarpper__OmqKT{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;margin-top:30px}.FormIndex__form__1oUVu{background:#fff;border-radius:3px;width:500px;padding:30px}@-webkit-keyframes MnemonicStepper__progress-bar-stripes__uFLMv{0%{background-position:40px 0}to{background-position:0 0}}@keyframes MnemonicStepper__progress-bar-stripes__uFLMv{0%{background-position:40px 0}to{background-position:0 0}}.MnemonicStepper__progress__1Qo7Z{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.MnemonicStepper__progress-bar__3oqj6{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.MnemonicStepper__progress-bar-striped__2z5-H,.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar__3oqj6{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.MnemonicStepper__progress-bar__3oqj6.MnemonicStepper__active__XviSm,.MnemonicStepper__progress__1Qo7Z.MnemonicStepper__active__XviSm .MnemonicStepper__progress-bar__3oqj6{-webkit-animation:MnemonicStepper__progress-bar-stripes__uFLMv 2s linear infinite;animation:MnemonicStepper__progress-bar-stripes__uFLMv 2s linear infinite}.MnemonicStepper__progress-bar-success__17hBv{background-color:#5cb85c}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-success__17hBv{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-info__2M5Kx{background-color:#5bc0de}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-info__2M5Kx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-warning__1EaZK{background-color:#f0ad4e}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-warning__1EaZK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-danger__2xBuA{background-color:#ef5354}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-danger__2xBuA{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__tooltip__duoi4{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__in__2KMT7{filter:alpha(opacity=90);opacity:.9}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top__2_dhh{padding:5px 0;margin-top:-3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__right__2Bhzp{padding:0 5px;margin-left:3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom__zfa3m{padding:5px 0;margin-top:3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__left__3MIVH{padding:0 5px;margin-left:-3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top__2_dhh .MnemonicStepper__tooltip-arrow__3oogb{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top-left__6K4H1 .MnemonicStepper__tooltip-arrow__3oogb{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top-right__ghh5i .MnemonicStepper__tooltip-arrow__3oogb{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__right__2Bhzp .MnemonicStepper__tooltip-arrow__3oogb{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__left__3MIVH .MnemonicStepper__tooltip-arrow__3oogb{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom__zfa3m .MnemonicStepper__tooltip-arrow__3oogb{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom-left__3_Aap .MnemonicStepper__tooltip-arrow__3oogb{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom-right__Ni_3A .MnemonicStepper__tooltip-arrow__3oogb{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip-inner__Le-SG{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.MnemonicStepper__tooltip-arrow__3oogb{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.MnemonicStepper__main__T98E_{background:#f3f6f8;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:50px;display:block;overflow:auto}.MnemonicStepper__title__3kGml{text-align:center;color:#20252d}.MnemonicStepper__formWarpper__s10LS{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;margin-top:30px}.MnemonicStepper__form__2JMd7{background:#fff;border-radius:3px;width:570px;padding:30px;padding-bottom:37.5px}@-webkit-keyframes MnemonicStepper__progress-bar-stripes__1HPes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes MnemonicStepper__progress-bar-stripes__1HPes{0%{background-position:40px 0}to{background-position:0 0}}.MnemonicStepper__progress__3wkIK{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.MnemonicStepper__progress-bar__3-QZF{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.MnemonicStepper__progress-bar-striped__2sb4n,.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar__3-QZF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.MnemonicStepper__progress-bar__3-QZF.MnemonicStepper__active__66hST,.MnemonicStepper__progress__3wkIK.MnemonicStepper__active__66hST .MnemonicStepper__progress-bar__3-QZF{-webkit-animation:MnemonicStepper__progress-bar-stripes__1HPes 2s linear infinite;animation:MnemonicStepper__progress-bar-stripes__1HPes 2s linear infinite}.MnemonicStepper__progress-bar-success__2Gkz-{background-color:#5cb85c}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-success__2Gkz-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-info__1eMrq{background-color:#5bc0de}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-info__1eMrq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-warning__2eiSb{background-color:#f0ad4e}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-warning__2eiSb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-danger__1nybQ{background-color:#ef5354}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-danger__1nybQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__tooltip__2R2EU{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__in__2245d{filter:alpha(opacity=90);opacity:.9}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top__Ts5b6{padding:5px 0;margin-top:-3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__right__oACiT{padding:0 5px;margin-left:3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom__K2_nx{padding:5px 0;margin-top:3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__left__1pIvY{padding:0 5px;margin-left:-3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top__Ts5b6 .MnemonicStepper__tooltip-arrow__11nla{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top-left__DQ2-s .MnemonicStepper__tooltip-arrow__11nla{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top-right__SiYff .MnemonicStepper__tooltip-arrow__11nla{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__right__oACiT .MnemonicStepper__tooltip-arrow__11nla{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__left__1pIvY .MnemonicStepper__tooltip-arrow__11nla{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom__K2_nx .MnemonicStepper__tooltip-arrow__11nla{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom-left__3kFjm .MnemonicStepper__tooltip-arrow__11nla{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom-right__jN_fV .MnemonicStepper__tooltip-arrow__11nla{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip-inner__3MDnm{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.MnemonicStepper__tooltip-arrow__11nla{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.MnemonicStepper__main__2RplQ{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0 30px;margin-top:60px}.MnemonicStepper__content__IdMni{min-width:400px;max-width:900px;width:100%;margin:0 auto;padding:30px}.MnemonicStepper__marginLeft__1wt7k{margin-left:15px}@-webkit-keyframes ExportKey__progress-bar-stripes__Tr6Vs{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ExportKey__progress-bar-stripes__Tr6Vs{0%{background-position:40px 0}to{background-position:0 0}}.ExportKey__progress__j9Q4i{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ExportKey__progress-bar__1xJI2{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ExportKey__progress-bar-striped__dREUT,.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar__1xJI2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ExportKey__progress-bar__1xJI2.ExportKey__active__2DafI,.ExportKey__progress__j9Q4i.ExportKey__active__2DafI .ExportKey__progress-bar__1xJI2{-webkit-animation:ExportKey__progress-bar-stripes__Tr6Vs 2s linear infinite;animation:ExportKey__progress-bar-stripes__Tr6Vs 2s linear infinite}.ExportKey__progress-bar-success__2MQ4m{background-color:#5cb85c}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-success__2MQ4m{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__progress-bar-info__2A0xB{background-color:#5bc0de}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-info__2A0xB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__progress-bar-warning__3aWpZ{background-color:#f0ad4e}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-warning__3aWpZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__progress-bar-danger__3CntM{background-color:#ef5354}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-danger__3CntM{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__tooltip__2iDVa{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ExportKey__tooltip__2iDVa.ExportKey__in__jmknh{filter:alpha(opacity=90);opacity:.9}.ExportKey__tooltip__2iDVa.ExportKey__top__en0er{padding:5px 0;margin-top:-3px}.ExportKey__tooltip__2iDVa.ExportKey__right__2UThf{padding:0 5px;margin-left:3px}.ExportKey__tooltip__2iDVa.ExportKey__bottom__1G0ik{padding:5px 0;margin-top:3px}.ExportKey__tooltip__2iDVa.ExportKey__left__25ZLY{padding:0 5px;margin-left:-3px}.ExportKey__tooltip__2iDVa.ExportKey__top__en0er .ExportKey__tooltip-arrow__1g5Zd{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__top-left__PD9CY .ExportKey__tooltip-arrow__1g5Zd{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__top-right__WQMlJ .ExportKey__tooltip-arrow__1g5Zd{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__right__2UThf .ExportKey__tooltip-arrow__1g5Zd{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__left__25ZLY .ExportKey__tooltip-arrow__1g5Zd{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__bottom__1G0ik .ExportKey__tooltip-arrow__1g5Zd{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__bottom-left__3-u3j .ExportKey__tooltip-arrow__1g5Zd{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__bottom-right__1aMKB .ExportKey__tooltip-arrow__1g5Zd{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ExportKey__tooltip-inner__ryDGD{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ExportKey__tooltip-arrow__1g5Zd{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ExportKey__main__1x33C{margin:30px auto;border-radius:3px;background-color:#f3f6f8;padding:15px}@-webkit-keyframes ListItem__progress-bar-stripes__2adlD{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__2adlD{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__1N5lv{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__aURWZ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__BtkFr,.ListItem__progress-striped__2ZTBU .ListItem__progress-bar__aURWZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__aURWZ.ListItem__active__2VmTV,.ListItem__progress__1N5lv.ListItem__active__2VmTV .ListItem__progress-bar__aURWZ{-webkit-animation:ListItem__progress-bar-stripes__2adlD 2s linear infinite;animation:ListItem__progress-bar-stripes__2adlD 2s linear infinite}.ListItem__progress-bar-success__1yG1-{background-color:#5cb85c}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-success__1yG1-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__2l-aC{background-color:#5bc0de}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-info__2l-aC{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__1V5wZ{background-color:#f0ad4e}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-warning__1V5wZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__vH209{background-color:#ef5354}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-danger__vH209{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__JumnF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__JumnF.ListItem__in__1kJZP{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__JumnF.ListItem__top__1UKht{padding:5px 0;margin-top:-3px}.ListItem__tooltip__JumnF.ListItem__right__2C0Gt{padding:0 5px;margin-left:3px}.ListItem__tooltip__JumnF.ListItem__bottom__2Yzvc{padding:5px 0;margin-top:3px}.ListItem__tooltip__JumnF.ListItem__left__2LqD7{padding:0 5px;margin-left:-3px}.ListItem__tooltip__JumnF.ListItem__top__1UKht .ListItem__tooltip-arrow__1fNpC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__JumnF.ListItem__top-left__2C14K .ListItem__tooltip-arrow__1fNpC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__JumnF.ListItem__top-right__2Z_mI .ListItem__tooltip-arrow__1fNpC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__JumnF.ListItem__right__2C0Gt .ListItem__tooltip-arrow__1fNpC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__JumnF.ListItem__left__2LqD7 .ListItem__tooltip-arrow__1fNpC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__JumnF.ListItem__bottom__2Yzvc .ListItem__tooltip-arrow__1fNpC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__JumnF.ListItem__bottom-left__RweVE .ListItem__tooltip-arrow__1fNpC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__JumnF.ListItem__bottom-right__2NEP2 .ListItem__tooltip-arrow__1fNpC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__cDIZl{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__1fNpC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__main__1d1Ux{margin-bottom:30px}.ListItem__titleBar__3-1At{background:#fff;border-bottom:1px solid #f5f5f5;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:16px 25px}.ListItem__titleBar__3-1At code{display:inline-block;font-size:13px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:200px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.4}.ListItem__title__3-0qJ{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}.ListItem__title__3-0qJ label{color:#20252d;font-size:12px;text-transform:uppercase;font-weight:500;margin:0 8px 0 0}.ListItem__title__3-0qJ img{width:20px;margin-left:15px;margin-bottom:2px}.ListItem__timestamp__1gwZn{position:absolute;left:59%}.ListItem__confirmation__3FoPX{margin-left:30px}.ListItem__viewLink__2ybtJ{margin:-15px 0;padding:15px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAAAXNSR0IArs4c6QAAAV5JREFUKBWVkD9LA0EQxWc2pygWkiJ6sZIgRCJiKQqafJJYWSg2NtlLI1hENCCIgqIg5ItYqI2lzeUIiCD4NzGNjYjejjOndyaYCL7qvdnfvLtdgP/I1tX8sPYm/9pRAgFBRYE5HSnWxrvBipAsREAAjBvjn3WDGQDg1iU2++IJoOEjzTY2J64kh1JiHrcyBwwsi+eFRMzAecJxxySHCkAJAnPdqnhEtAW2HW9UsigCJTyUMzsGsCheYDQmgoN/lINW2dpd5/utBTOi2zfonekICsAXvODDafFEdNL2aRmK7IK7F0FA1+891sKvxgBCXJEFEsiy5pul9J0lg1BJXT1ivxhkgpqx+rPNUupJ8ncjYVJ7h62Qb/Vl6xtfkIDcSGhrr8I+LwN+eFf5sVy9nHqWHErZheou1/5AH7Hc/Xa6DRJY+QTH3PLCb3D5igNznaCwFYZ0bWrQuYlHgw7mEwAufMBf5SNsAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:100%;background-size:5px 9px}@-webkit-keyframes Summary__progress-bar-stripes__25EuB{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Summary__progress-bar-stripes__25EuB{0%{background-position:40px 0}to{background-position:0 0}}.Summary__progress__3RTEa{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Summary__progress-bar__1EEvk{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Summary__progress-bar-striped__-QKGo,.Summary__progress-striped__1tm-F .Summary__progress-bar__1EEvk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Summary__progress-bar__1EEvk.Summary__active__5bGe_,.Summary__progress__3RTEa.Summary__active__5bGe_ .Summary__progress-bar__1EEvk{-webkit-animation:Summary__progress-bar-stripes__25EuB 2s linear infinite;animation:Summary__progress-bar-stripes__25EuB 2s linear infinite}.Summary__progress-bar-success__1V4zz{background-color:#5cb85c}.Summary__progress-striped__1tm-F .Summary__progress-bar-success__1V4zz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__progress-bar-info__3oEOY{background-color:#5bc0de}.Summary__progress-striped__1tm-F .Summary__progress-bar-info__3oEOY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__progress-bar-warning__1PM3S{background-color:#f0ad4e}.Summary__progress-striped__1tm-F .Summary__progress-bar-warning__1PM3S{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__progress-bar-danger__2aKFH{background-color:#ef5354}.Summary__progress-striped__1tm-F .Summary__progress-bar-danger__2aKFH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__tooltip__eDiAG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Summary__tooltip__eDiAG.Summary__in__7sgfl{filter:alpha(opacity=90);opacity:.9}.Summary__tooltip__eDiAG.Summary__top__pxRha{padding:5px 0;margin-top:-3px}.Summary__tooltip__eDiAG.Summary__right__1O3bt{padding:0 5px;margin-left:3px}.Summary__tooltip__eDiAG.Summary__bottom__1cuEf{padding:5px 0;margin-top:3px}.Summary__tooltip__eDiAG.Summary__left__vZGJ_{padding:0 5px;margin-left:-3px}.Summary__tooltip__eDiAG.Summary__top__pxRha .Summary__tooltip-arrow__2W71o{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Summary__tooltip__eDiAG.Summary__top-left__1obgG .Summary__tooltip-arrow__2W71o{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Summary__tooltip__eDiAG.Summary__top-right__3upDU .Summary__tooltip-arrow__2W71o{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Summary__tooltip__eDiAG.Summary__right__1O3bt .Summary__tooltip-arrow__2W71o{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Summary__tooltip__eDiAG.Summary__left__vZGJ_ .Summary__tooltip-arrow__2W71o{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Summary__tooltip__eDiAG.Summary__bottom__1cuEf .Summary__tooltip-arrow__2W71o{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Summary__tooltip__eDiAG.Summary__bottom-left__2oU3o .Summary__tooltip-arrow__2W71o{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Summary__tooltip__eDiAG.Summary__bottom-right__2k6i4 .Summary__tooltip-arrow__2W71o{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Summary__tooltip-inner__1Yroz{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Summary__tooltip-arrow__2W71o{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Summary__main__3L15I{background:#fff;width:100%}.Summary__main__3L15I code{font-size:13px}.Summary__main__3L15I thead{border-bottom:1px solid #f5f5f5}.Summary__main__3L15I td,.Summary__main__3L15I th{padding-top:6px;padding-bottom:6px;padding-right:10px}.Summary__main__3L15I td{border-bottom:1px solid #f3f6f8}.Summary__main__3L15I tr:last-of-type td{border-bottom:none}.Summary__main__3L15I a .Summary__rawId__1m-WX{color:#195ad6}.Summary__main__3L15I a:hover .Summary__rawId__1m-WX{text-decoration:underline}.Summary__colAction__1pBsx{padding-left:30px}.Summary__colAccount__1pnMT,.Summary__colAction__1pBsx,.Summary__colAmount__2zblu,.Summary__colAsset__tmO7c{color:#20252d;width:20%}.Summary__colVote__2OkOE{color:#20252d;width:10%}.Summary__amount__s6hW7{color:#20252d;background:none}.Summary__colLabel__BG0DE{color:#bac0c7;text-align:right;width:7%}.Summary__immature__Pzq3K{margin-left:5px;color:#dd2c2c}.Summary__rawId__1m-WX{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:150px;vertical-align:middle}.Summary__nodePubkey__2JtMo{min-width:75px}@-webkit-keyframes DetailSummary__progress-bar-stripes__gjzay{0%{background-position:40px 0}to{background-position:0 0}}@keyframes DetailSummary__progress-bar-stripes__gjzay{0%{background-position:40px 0}to{background-position:0 0}}.DetailSummary__progress__1D8wI{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.DetailSummary__progress-bar__3FEB_{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.DetailSummary__progress-bar-striped__3-3Nm,.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar__3FEB_{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.DetailSummary__progress-bar__3FEB_.DetailSummary__active__LGdP-,.DetailSummary__progress__1D8wI.DetailSummary__active__LGdP- .DetailSummary__progress-bar__3FEB_{-webkit-animation:DetailSummary__progress-bar-stripes__gjzay 2s linear infinite;animation:DetailSummary__progress-bar-stripes__gjzay 2s linear infinite}.DetailSummary__progress-bar-success__3grbl{background-color:#5cb85c}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-success__3grbl{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-info__15ebM{background-color:#5bc0de}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-info__15ebM{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-warning__1QoBo{background-color:#f0ad4e}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-warning__1QoBo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-danger__1EKdn{background-color:#ef5354}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-danger__1EKdn{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__tooltip__3VWZA{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.DetailSummary__tooltip__3VWZA.DetailSummary__in__1o16O{filter:alpha(opacity=90);opacity:.9}.DetailSummary__tooltip__3VWZA.DetailSummary__top__2fmu1{padding:5px 0;margin-top:-3px}.DetailSummary__tooltip__3VWZA.DetailSummary__right__19ZOp{padding:0 5px;margin-left:3px}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom__2cWJv{padding:5px 0;margin-top:3px}.DetailSummary__tooltip__3VWZA.DetailSummary__left__37zqH{padding:0 5px;margin-left:-3px}.DetailSummary__tooltip__3VWZA.DetailSummary__top__2fmu1 .DetailSummary__tooltip-arrow__10iK2{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__top-left__12aE1 .DetailSummary__tooltip-arrow__10iK2{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__top-right__ZnrAL .DetailSummary__tooltip-arrow__10iK2{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__right__19ZOp .DetailSummary__tooltip-arrow__10iK2{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__left__37zqH .DetailSummary__tooltip-arrow__10iK2{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom__2cWJv .DetailSummary__tooltip-arrow__10iK2{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom-left__1EXyG .DetailSummary__tooltip-arrow__10iK2{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom-right__2kSLV .DetailSummary__tooltip-arrow__10iK2{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip-inner__2i4YI{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.DetailSummary__tooltip-arrow__10iK2{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.DetailSummary__main__28Xcp{background:#fff;width:100%}.DetailSummary__main__28Xcp .DetailSummary__row__qH5eY{display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid #f3f6f8}.DetailSummary__main__28Xcp .DetailSummary__col__2H41Y{padding-top:13px;padding-bottom:13px;padding-right:10px}.DetailSummary__main__28Xcp .DetailSummary__col__2H41Y:last-child{padding-right:30px}.DetailSummary__main__28Xcp .DetailSummary__row__qH5eY:last-child{border-bottom:none}.DetailSummary__main__28Xcp a .DetailSummary__rawId__1QgaQ{color:#195ad6}.DetailSummary__main__28Xcp a:hover .DetailSummary__rawId__1QgaQ{text-decoration:underline}.DetailSummary__colAction__k6Ki1{padding-left:25px;text-transform:uppercase;font-weight:500}.DetailSummary__colAction__k6Ki1 img{width:20px;margin-bottom:4px;margin-right:6px}.DetailSummary__colAction__k6Ki1,.DetailSummary__colAmount__18s5E{color:#20252d}.DetailSummary__colAction__k6Ki1{width:22%;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.DetailSummary__account__4k-W8{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1}.DetailSummary__middle__3LiUa{width:50%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}.DetailSummary__end__1woyG{width:28%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.DetailSummary__amount__1x3FD{background:none}.DetailSummary__emphasisLabel__3IZEE{color:#20252d}.DetailSummary__colLabel__1Km8p{color:#bac0c7;text-align:right}.DetailSummary__colUnit__1QVzI{text-align:right;white-space:nowrap}.DetailSummary__colUnit__1QVzI>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.DetailSummary__immature__2XJcR{text-transform:lowercase;margin-left:5px;color:#dd2c2c}.DetailSummary__rawId__1QgaQ{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:150px;vertical-align:middle}.DetailSummary__recievedAmount__1GOAH{text-align:right}@-webkit-keyframes New__progress-bar-stripes__1l4HF{0%{background-position:40px 0}to{background-position:0 0}}@keyframes New__progress-bar-stripes__1l4HF{0%{background-position:40px 0}to{background-position:0 0}}.New__progress__2MMc4{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.New__progress-bar__3lhQw{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.New__progress-bar-striped__3NSkp,.New__progress-striped__3HO2a .New__progress-bar__3lhQw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.New__progress-bar__3lhQw.New__active__2mQ4Z,.New__progress__2MMc4.New__active__2mQ4Z .New__progress-bar__3lhQw{-webkit-animation:New__progress-bar-stripes__1l4HF 2s linear infinite;animation:New__progress-bar-stripes__1l4HF 2s linear infinite}.New__progress-bar-success__3MZWS{background-color:#5cb85c}.New__progress-striped__3HO2a .New__progress-bar-success__3MZWS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-info__2vJma{background-color:#5bc0de}.New__progress-striped__3HO2a .New__progress-bar-info__2vJma{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-warning__XYMgH{background-color:#f0ad4e}.New__progress-striped__3HO2a .New__progress-bar-warning__XYMgH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-danger__2XfZH{background-color:#ef5354}.New__progress-striped__3HO2a .New__progress-bar-danger__2XfZH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__tooltip__2RYxe{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.New__tooltip__2RYxe.New__in__2O-sD{filter:alpha(opacity=90);opacity:.9}.New__tooltip__2RYxe.New__top__BT10e{padding:5px 0;margin-top:-3px}.New__tooltip__2RYxe.New__right__HSnMR{padding:0 5px;margin-left:3px}.New__tooltip__2RYxe.New__bottom__2QvBq{padding:5px 0;margin-top:3px}.New__tooltip__2RYxe.New__left__2bj66{padding:0 5px;margin-left:-3px}.New__tooltip__2RYxe.New__top__BT10e .New__tooltip-arrow__EmJKl{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__2RYxe.New__top-left__3-59o .New__tooltip-arrow__EmJKl{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__2RYxe.New__top-right__nK792 .New__tooltip-arrow__EmJKl{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__2RYxe.New__right__HSnMR .New__tooltip-arrow__EmJKl{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.New__tooltip__2RYxe.New__left__2bj66 .New__tooltip-arrow__EmJKl{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.New__tooltip__2RYxe.New__bottom__2QvBq .New__tooltip-arrow__EmJKl{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__2RYxe.New__bottom-left__30CqC .New__tooltip-arrow__EmJKl{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__2RYxe.New__bottom-right__2wDx2 .New__tooltip-arrow__EmJKl{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip-inner__2Fz0l{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.New__tooltip-arrow__EmJKl{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.New__mainContainer__2-t4h{background:#fff;padding:0 30px;margin:90px 30px 30px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.New__mainContainer__2-t4h,.New__txFeeBox__1R0YK{display:-webkit-flex;display:-ms-flexbox;display:flex}.New__txFeeBox__1R0YK{-webkit-align-items:center;-ms-flex-align:center;align-items:center}.New__feeDescription__1qtZW{width:50%;margin-left:30px;margin-bottom:30px}.New__center__1Qg4M{margin:0 auto;width:100%}.New__content__6Kt2e{min-width:400px;width:55%}.New__container__2nnLe{max-width:870px;width:100%;margin:0 auto}.New__submit__nDaYB{text-align:right}.New__submitTable__2v45s{border-spacing:5px}.New__submitTable__2v45s tr:first-child td{padding-bottom:15px}.New__submitTable__2v45s td input{margin-right:7px}.New__submitTable__2v45s td{padding:0;vertical-align:top}.New__submitTable__2v45s label{margin-bottom:0;color:#20252d}.New__submitTable__2v45s .New__submitDescription__1Xs87{font-weight:400;color:#747c89;line-height:1.4}.New__actionInfo__SsB32{margin-bottom:30px}.New__btnGroup__wFYx3{margin-top:30px;text-align:center}.New__btnGroup__wFYx3 button{padding:0 40px;color:#747c89}.New__btnGroup__wFYx3 button.New__active__2mQ4Z{background-color:#195ad6;color:#fff}.New__title__dO8cU{color:#20252d;font-size:16px}.New__estimateGas__1v4Kk{margin-left:10px;font-size:8px;color:#747c89}.New__mainBox__3FrbZ{border:1px solid #f5f5f5;padding:30px;margin-bottom:30px}.New__tutorialItem__2pUxj{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.New__tutorialItem__2pUxj>div:first-of-type{width:60%;min-width:350px}.New__item__3oIpA{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.New__item__3oIpA .form-group{-webkit-flex:1;-ms-flex:1;flex:1}.New__item__3oIpA .form-group:not(:last-child){margin-right:30px}.New__subjectField__3796l{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.New__subjectField__3796l .form-group{-webkit-flex:1;-ms-flex:1;flex:1;margin-right:30px}.New__subjectField__3796l .New__deleteButton__2dvTq{margin-top:35px}.New__balanceHint__o384j{position:relative;top:-30px}.New__optionsBtnContianer__1WTod{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:3px;height:150px}.New__optionsBtnContianer__1WTod input{margin:0 5px}.New__optionsBtnContianer__1WTod>label{height:40px;overflow-y:hidden}.New__optionsBtnContianer__1WTod>label>label{line-height:36px}.New__optionsBtnContianer__1WTod .New__form-group__12tRg{margin-bottom:0!important}.New__optionsBtn__2ect0{margin:5px 0}.New__optionsLabel__3JMy8{vertical-align:top;width:150px}.New__receiverBtn__1DFp4{position:absolute;right:-29px;margin-top:32px;width:25px;height:25px;font-size:22px;line-height:20px;padding:1px 5px 0}.New__borderBottom__3t9Cy{border-bottom:1px solid #f5f5f5}@-webkit-keyframes TxContainer__progress-bar-stripes__ufAdb{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TxContainer__progress-bar-stripes__ufAdb{0%{background-position:40px 0}to{background-position:0 0}}.TxContainer__progress__8hjSE{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TxContainer__progress-bar__X-3tP{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TxContainer__progress-bar-striped__1vt1j,.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar__X-3tP{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TxContainer__progress-bar__X-3tP.TxContainer__active__12dLY,.TxContainer__progress__8hjSE.TxContainer__active__12dLY .TxContainer__progress-bar__X-3tP{-webkit-animation:TxContainer__progress-bar-stripes__ufAdb 2s linear infinite;animation:TxContainer__progress-bar-stripes__ufAdb 2s linear infinite}.TxContainer__progress-bar-success__3yAN3{background-color:#5cb85c}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-success__3yAN3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__progress-bar-info__1_Kem{background-color:#5bc0de}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-info__1_Kem{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__progress-bar-warning__J1Hf2{background-color:#f0ad4e}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-warning__J1Hf2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__progress-bar-danger__1EMQN{background-color:#ef5354}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-danger__1EMQN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__tooltip__2NT88{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TxContainer__tooltip__2NT88.TxContainer__in__23yjE{filter:alpha(opacity=90);opacity:.9}.TxContainer__tooltip__2NT88.TxContainer__top__1cS8z{padding:5px 0;margin-top:-3px}.TxContainer__tooltip__2NT88.TxContainer__right__qGDVG{padding:0 5px;margin-left:3px}.TxContainer__tooltip__2NT88.TxContainer__bottom__3P1qF{padding:5px 0;margin-top:3px}.TxContainer__tooltip__2NT88.TxContainer__left__22TYt{padding:0 5px;margin-left:-3px}.TxContainer__tooltip__2NT88.TxContainer__top__1cS8z .TxContainer__tooltip-arrow__3olGA{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TxContainer__tooltip__2NT88.TxContainer__top-left__2aap7 .TxContainer__tooltip-arrow__3olGA{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TxContainer__tooltip__2NT88.TxContainer__top-right__3E39S .TxContainer__tooltip-arrow__3olGA{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TxContainer__tooltip__2NT88.TxContainer__right__qGDVG .TxContainer__tooltip-arrow__3olGA{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TxContainer__tooltip__2NT88.TxContainer__left__22TYt .TxContainer__tooltip-arrow__3olGA{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TxContainer__tooltip__2NT88.TxContainer__bottom__3P1qF .TxContainer__tooltip-arrow__3olGA{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TxContainer__tooltip__2NT88.TxContainer__bottom-left__2VYCj .TxContainer__tooltip-arrow__3olGA{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TxContainer__tooltip__2NT88.TxContainer__bottom-right__XC4-d .TxContainer__tooltip-arrow__3olGA{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TxContainer__tooltip-inner__14x3D{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TxContainer__tooltip-arrow__3olGA{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TxContainer__main__BhstN{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0 30px;margin-top:60px}.TxContainer__content__2PfIm{min-width:400px;width:55%;margin:0 auto}.TxContainer__submit__m3Y45{text-align:right}@-webkit-keyframes ConfirmModal__progress-bar-stripes__jTTXQ{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ConfirmModal__progress-bar-stripes__jTTXQ{0%{background-position:40px 0}to{background-position:0 0}}.ConfirmModal__progress__2EhGZ{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ConfirmModal__progress-bar__365ZH{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ConfirmModal__progress-bar-striped__2OawW,.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar__365ZH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ConfirmModal__progress-bar__365ZH.ConfirmModal__active__3q90o,.ConfirmModal__progress__2EhGZ.ConfirmModal__active__3q90o .ConfirmModal__progress-bar__365ZH{-webkit-animation:ConfirmModal__progress-bar-stripes__jTTXQ 2s linear infinite;animation:ConfirmModal__progress-bar-stripes__jTTXQ 2s linear infinite}.ConfirmModal__progress-bar-success__1ye2p{background-color:#5cb85c}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-success__1ye2p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__progress-bar-info__3HWAk{background-color:#5bc0de}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-info__3HWAk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__progress-bar-warning__2GPs4{background-color:#f0ad4e}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-warning__2GPs4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__progress-bar-danger__2S7lb{background-color:#ef5354}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-danger__2S7lb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__tooltip__2APw_{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ConfirmModal__tooltip__2APw_.ConfirmModal__in__1wEMm{filter:alpha(opacity=90);opacity:.9}.ConfirmModal__tooltip__2APw_.ConfirmModal__top__NqetT{padding:5px 0;margin-top:-3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__right__IIJZ2{padding:0 5px;margin-left:3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom__Ty0xr{padding:5px 0;margin-top:3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__left__2y66G{padding:0 5px;margin-left:-3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__top__NqetT .ConfirmModal__tooltip-arrow__28hFR{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__top-left__37LZF .ConfirmModal__tooltip-arrow__28hFR{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__top-right__2CGie .ConfirmModal__tooltip-arrow__28hFR{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__right__IIJZ2 .ConfirmModal__tooltip-arrow__28hFR{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__left__2y66G .ConfirmModal__tooltip-arrow__28hFR{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom__Ty0xr .ConfirmModal__tooltip-arrow__28hFR{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom-left__mvXjG .ConfirmModal__tooltip-arrow__28hFR{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom-right__1S-mZ .ConfirmModal__tooltip-arrow__28hFR{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmModal__tooltip-inner__rIpCx{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ConfirmModal__tooltip-arrow__28hFR{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ConfirmModal__submitIndicator__1OsG9{float:right}.ConfirmModal__btnGroup__1RPWA{display:-webkit-flex;display:-ms-flexbox;display:flex}.ConfirmModal__btnGroup__1RPWA>div{width:50%}.ConfirmModal__btnGroup__1RPWA>div button{width:100%}.ConfirmModal__btnGroup__1RPWA>button{width:50%;margin-left:30px}.ConfirmModal__hr__yYS1d{margin-top:11px;margin-bottom:11px}.ConfirmModal__table__reOw8{word-break:break-all;width:100%}.ConfirmModal__table__reOw8 td{padding:4px 0}.ConfirmModal__colLabel__2ALAD{width:20%;color:#20252d;font-weight:500}.ConfirmModal__unit__3Mem1{overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:130px;display:inline-block}@-webkit-keyframes CrossChainConfirmModal__progress-bar-stripes__1bh1L{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CrossChainConfirmModal__progress-bar-stripes__1bh1L{0%{background-position:40px 0}to{background-position:0 0}}.CrossChainConfirmModal__progress__B15O8{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CrossChainConfirmModal__progress-bar__2cL2v{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CrossChainConfirmModal__progress-bar-striped__aTCun,.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar__2cL2v{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CrossChainConfirmModal__progress-bar__2cL2v.CrossChainConfirmModal__active__2s0Eo,.CrossChainConfirmModal__progress__B15O8.CrossChainConfirmModal__active__2s0Eo .CrossChainConfirmModal__progress-bar__2cL2v{-webkit-animation:CrossChainConfirmModal__progress-bar-stripes__1bh1L 2s linear infinite;animation:CrossChainConfirmModal__progress-bar-stripes__1bh1L 2s linear infinite}.CrossChainConfirmModal__progress-bar-success__2yZzs{background-color:#5cb85c}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-success__2yZzs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__progress-bar-info__2dFLj{background-color:#5bc0de}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-info__2dFLj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__progress-bar-warning__FxpUJ{background-color:#f0ad4e}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-warning__FxpUJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__progress-bar-danger__3Vwnw{background-color:#ef5354}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-danger__3Vwnw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__tooltip__a9_OF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__in__13zJA{filter:alpha(opacity=90);opacity:.9}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top__36hwL{padding:5px 0;margin-top:-3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__right__2Kj4g{padding:0 5px;margin-left:3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom__12dlt{padding:5px 0;margin-top:3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__left__LSWpJ{padding:0 5px;margin-left:-3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top__36hwL .CrossChainConfirmModal__tooltip-arrow__s_q9i{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top-left__24xTZ .CrossChainConfirmModal__tooltip-arrow__s_q9i{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top-right__2qYMP .CrossChainConfirmModal__tooltip-arrow__s_q9i{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__right__2Kj4g .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__left__LSWpJ .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom__12dlt .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom-left__1CHdC .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom-right__MuMfS .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CrossChainConfirmModal__tooltip-inner__qKzjR{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CrossChainConfirmModal__tooltip-arrow__s_q9i{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CrossChainConfirmModal__submitIndicator__3ebbq{float:right}.CrossChainConfirmModal__btnGroup__pUWkl{display:-webkit-flex;display:-ms-flexbox;display:flex}.CrossChainConfirmModal__btnGroup__pUWkl>div{width:50%}.CrossChainConfirmModal__btnGroup__pUWkl>div button{width:100%}.CrossChainConfirmModal__btnGroup__pUWkl>button{width:50%;margin-left:30px}.CrossChainConfirmModal__hr__CN2PZ{margin-top:11px;margin-bottom:11px}.CrossChainConfirmModal__table__MoPCf{word-break:break-all;width:100%}.CrossChainConfirmModal__table__MoPCf td{padding:4px 0}.CrossChainConfirmModal__colLabel__2A27x{width:20%;color:#20252d;font-weight:500}.CrossChainConfirmModal__unit__30Fqe{overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:130px;display:inline-block}@-webkit-keyframes TransactionDetails__progress-bar-stripes__2NDSj{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TransactionDetails__progress-bar-stripes__2NDSj{0%{background-position:40px 0}to{background-position:0 0}}.TransactionDetails__progress__3Jovc{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TransactionDetails__progress-bar__12GtW{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TransactionDetails__progress-bar-striped__1tsep,.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar__12GtW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TransactionDetails__progress-bar__12GtW.TransactionDetails__active__3nHtP,.TransactionDetails__progress__3Jovc.TransactionDetails__active__3nHtP .TransactionDetails__progress-bar__12GtW{-webkit-animation:TransactionDetails__progress-bar-stripes__2NDSj 2s linear infinite;animation:TransactionDetails__progress-bar-stripes__2NDSj 2s linear infinite}.TransactionDetails__progress-bar-success__1-g6q{background-color:#5cb85c}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-success__1-g6q{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__progress-bar-info__2VS2-{background-color:#5bc0de}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-info__2VS2-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__progress-bar-warning__lvQQ8{background-color:#f0ad4e}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-warning__lvQQ8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__progress-bar-danger__3C4_x{background-color:#ef5354}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-danger__3C4_x{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__tooltip__10Wg0{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TransactionDetails__tooltip__10Wg0.TransactionDetails__in__pnOT6{filter:alpha(opacity=90);opacity:.9}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top__ytVMR{padding:5px 0;margin-top:-3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__right__3oXsE{padding:0 5px;margin-left:3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom__2gMEs{padding:5px 0;margin-top:3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__left__2ZtHt{padding:0 5px;margin-left:-3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top__ytVMR .TransactionDetails__tooltip-arrow__edkfL{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top-left__34TPW .TransactionDetails__tooltip-arrow__edkfL{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top-right__DpXMS .TransactionDetails__tooltip-arrow__edkfL{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__right__3oXsE .TransactionDetails__tooltip-arrow__edkfL{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__left__2ZtHt .TransactionDetails__tooltip-arrow__edkfL{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom__2gMEs .TransactionDetails__tooltip-arrow__edkfL{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom-left__3eQew .TransactionDetails__tooltip-arrow__edkfL{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom-right__uTXHD .TransactionDetails__tooltip-arrow__edkfL{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TransactionDetails__tooltip-inner__m79_R{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TransactionDetails__tooltip-arrow__edkfL{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TransactionDetails__btnGroup__3_twt{margin-bottom:30px}.TransactionDetails__main__1L3Ux{padding:30px;margin-bottom:30px;word-break:break-word;background:#f3f6f8}.TransactionDetails__btn__kk5a2{margin-top:5px;padding:0;float:right;font-size:12px}.TransactionDetails__table__7ImO5{background:#fff;width:100%;margin-bottom:30px}.TransactionDetails__table__7ImO5 code{font-size:13px}.TransactionDetails__table__7ImO5 thead{border-bottom:1px solid #f5f5f5}.TransactionDetails__table__7ImO5 td,.TransactionDetails__table__7ImO5 th{padding-top:8px;padding-bottom:8px;padding-right:13px}.TransactionDetails__table__7ImO5 td{border-bottom:1px solid #f3f6f8}.TransactionDetails__table__7ImO5 tr:last-of-type td{border-bottom:none}.TransactionDetails__table__7ImO5 a .TransactionDetails__rawId__2AjI7{color:#195ad6}.TransactionDetails__table__7ImO5 a:hover .TransactionDetails__rawId__2AjI7{text-decoration:underline}.TransactionDetails__colLabel__2XPpG{color:#20252d;text-align:right;width:25%}.TransactionDetails__txID__11qxa{margin-bottom:30px}@-webkit-keyframes FormActionItem__progress-bar-stripes__1gkL3{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormActionItem__progress-bar-stripes__1gkL3{0%{background-position:40px 0}to{background-position:0 0}}.FormActionItem__progress__179Ws{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormActionItem__progress-bar__30Ryz{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormActionItem__progress-bar-striped__E_8cV,.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar__30Ryz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormActionItem__progress-bar__30Ryz.FormActionItem__active__1UGMY,.FormActionItem__progress__179Ws.FormActionItem__active__1UGMY .FormActionItem__progress-bar__30Ryz{-webkit-animation:FormActionItem__progress-bar-stripes__1gkL3 2s linear infinite;animation:FormActionItem__progress-bar-stripes__1gkL3 2s linear infinite}.FormActionItem__progress-bar-success__1iK2u{background-color:#5cb85c}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-success__1iK2u{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__progress-bar-info__2sajB{background-color:#5bc0de}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-info__2sajB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__progress-bar-warning__1yU5N{background-color:#f0ad4e}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-warning__1yU5N{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__progress-bar-danger__2mA3w{background-color:#ef5354}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-danger__2mA3w{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__tooltip__3urBp{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormActionItem__tooltip__3urBp.FormActionItem__in__2o_7v{filter:alpha(opacity=90);opacity:.9}.FormActionItem__tooltip__3urBp.FormActionItem__top__OUhRa{padding:5px 0;margin-top:-3px}.FormActionItem__tooltip__3urBp.FormActionItem__right__3D4M8{padding:0 5px;margin-left:3px}.FormActionItem__tooltip__3urBp.FormActionItem__bottom__2ZBES{padding:5px 0;margin-top:3px}.FormActionItem__tooltip__3urBp.FormActionItem__left__3ekYp{padding:0 5px;margin-left:-3px}.FormActionItem__tooltip__3urBp.FormActionItem__top__OUhRa .FormActionItem__tooltip-arrow__1Q3LO{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__top-left__2vKy1 .FormActionItem__tooltip-arrow__1Q3LO{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__top-right__102U9 .FormActionItem__tooltip-arrow__1Q3LO{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__right__3D4M8 .FormActionItem__tooltip-arrow__1Q3LO{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__left__3ekYp .FormActionItem__tooltip-arrow__1Q3LO{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__bottom__2ZBES .FormActionItem__tooltip-arrow__1Q3LO{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__bottom-left__2gC3m .FormActionItem__tooltip-arrow__1Q3LO{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__bottom-right__2qk_n .FormActionItem__tooltip-arrow__1Q3LO{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormActionItem__tooltip-inner__MgAN6{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormActionItem__tooltip-arrow__1Q3LO{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormActionItem__main__q9zTA{border:1px solid #f5f5f5;padding:30px;margin-bottom:30px}.FormActionItem__error__2JMgJ{border-color:#f3aaaa}.FormActionItem__header__1hync{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:30px}.FormActionItem__title__LVKpm{color:#20252d;font-size:14px;font-weight:600}@-webkit-keyframes VoteConfirmModal__progress-bar-stripes__1vkJW{0%{background-position:40px 0}to{background-position:0 0}}@keyframes VoteConfirmModal__progress-bar-stripes__1vkJW{0%{background-position:40px 0}to{background-position:0 0}}.VoteConfirmModal__progress__20v1g{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.VoteConfirmModal__progress-bar__8pT-y{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.VoteConfirmModal__progress-bar-striped__ONZnu,.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar__8pT-y{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.VoteConfirmModal__progress-bar__8pT-y.VoteConfirmModal__active__1I4Ve,.VoteConfirmModal__progress__20v1g.VoteConfirmModal__active__1I4Ve .VoteConfirmModal__progress-bar__8pT-y{-webkit-animation:VoteConfirmModal__progress-bar-stripes__1vkJW 2s linear infinite;animation:VoteConfirmModal__progress-bar-stripes__1vkJW 2s linear infinite}.VoteConfirmModal__progress-bar-success__11pbI{background-color:#5cb85c}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-success__11pbI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__progress-bar-info__LbTKr{background-color:#5bc0de}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-info__LbTKr{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__progress-bar-warning__2et3n{background-color:#f0ad4e}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-warning__2et3n{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__progress-bar-danger__2iPp4{background-color:#ef5354}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-danger__2iPp4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__tooltip__2NJrG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__in__vcY-J{filter:alpha(opacity=90);opacity:.9}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top__2NUe7{padding:5px 0;margin-top:-3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__right__2tqUp{padding:0 5px;margin-left:3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom__RImAq{padding:5px 0;margin-top:3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__left__1espM{padding:0 5px;margin-left:-3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top__2NUe7 .VoteConfirmModal__tooltip-arrow__15RH2{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top-left__3izD9 .VoteConfirmModal__tooltip-arrow__15RH2{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top-right__3ymmT .VoteConfirmModal__tooltip-arrow__15RH2{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__right__2tqUp .VoteConfirmModal__tooltip-arrow__15RH2{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__left__1espM .VoteConfirmModal__tooltip-arrow__15RH2{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom__RImAq .VoteConfirmModal__tooltip-arrow__15RH2{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom-left__6dHB_ .VoteConfirmModal__tooltip-arrow__15RH2{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom-right__3qZTI .VoteConfirmModal__tooltip-arrow__15RH2{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteConfirmModal__tooltip-inner__2lxda{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.VoteConfirmModal__tooltip-arrow__15RH2{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.VoteConfirmModal__submitIndicator__2EpHu{float:right}.VoteConfirmModal__btnGroup__rA57m{display:-webkit-flex;display:-ms-flexbox;display:flex}.VoteConfirmModal__btnGroup__rA57m>div{width:50%}.VoteConfirmModal__btnGroup__rA57m>div button{width:100%}.VoteConfirmModal__btnGroup__rA57m>button{width:50%;margin-left:30px}.VoteConfirmModal__hr__3TzmN{margin-top:11px;margin-bottom:11px}.VoteConfirmModal__table__1-kzp{word-break:break-all;width:100%}.VoteConfirmModal__table__1-kzp td{padding:4px 0}.VoteConfirmModal__colLabel__1RMRz{width:20%;color:#20252d;font-weight:500}.VoteConfirmModal__unit__1ukVS{overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:130px;display:inline-block}@-webkit-keyframes GeneratedTxHex__progress-bar-stripes__3h0VL{0%{background-position:40px 0}to{background-position:0 0}}@keyframes GeneratedTxHex__progress-bar-stripes__3h0VL{0%{background-position:40px 0}to{background-position:0 0}}.GeneratedTxHex__progress__3xmiG{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.GeneratedTxHex__progress-bar__2nG81{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.GeneratedTxHex__progress-bar-striped__2e3wB,.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar__2nG81{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.GeneratedTxHex__progress-bar__2nG81.GeneratedTxHex__active__3Wthg,.GeneratedTxHex__progress__3xmiG.GeneratedTxHex__active__3Wthg .GeneratedTxHex__progress-bar__2nG81{-webkit-animation:GeneratedTxHex__progress-bar-stripes__3h0VL 2s linear infinite;animation:GeneratedTxHex__progress-bar-stripes__3h0VL 2s linear infinite}.GeneratedTxHex__progress-bar-success__G7HFx{background-color:#5cb85c}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-success__G7HFx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__progress-bar-info__VRKGW{background-color:#5bc0de}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-info__VRKGW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__progress-bar-warning__1ZePZ{background-color:#f0ad4e}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-warning__1ZePZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__progress-bar-danger__1X-hD{background-color:#ef5354}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-danger__1X-hD{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__tooltip__2JhUN{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__in__3Of5d{filter:alpha(opacity=90);opacity:.9}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top__3_Tcd{padding:5px 0;margin-top:-3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__right__3hMFa{padding:0 5px;margin-left:3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom__1evC3{padding:5px 0;margin-top:3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__left__dSeji{padding:0 5px;margin-left:-3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top__3_Tcd .GeneratedTxHex__tooltip-arrow__1L1Lg{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top-left__Vk9iy .GeneratedTxHex__tooltip-arrow__1L1Lg{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top-right__1AHdX .GeneratedTxHex__tooltip-arrow__1L1Lg{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__right__3hMFa .GeneratedTxHex__tooltip-arrow__1L1Lg{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__left__dSeji .GeneratedTxHex__tooltip-arrow__1L1Lg{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom__1evC3 .GeneratedTxHex__tooltip-arrow__1L1Lg{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom-left__30E92 .GeneratedTxHex__tooltip-arrow__1L1Lg{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom-right__hYHS_ .GeneratedTxHex__tooltip-arrow__1L1Lg{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GeneratedTxHex__tooltip-inner__15WkF{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.GeneratedTxHex__tooltip-arrow__1L1Lg{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.GeneratedTxHex__main__3OJO4{background:#fff;padding:30px;margin:0 auto}.GeneratedTxHex__hex__fvV-s{word-break:break-all;word-wrap:break-word;white-space:pre-wrap;margin-top:5px;margin-left:auto;margin-right:auto;padding:10px;background-color:#eee}.GeneratedTxHex__mgl__2-jYS{margin-left:15px}@-webkit-keyframes QrCode__progress-bar-stripes__1iCCZ{0%{background-position:40px 0}to{background-position:0 0}}@keyframes QrCode__progress-bar-stripes__1iCCZ{0%{background-position:40px 0}to{background-position:0 0}}.QrCode__progress__1PnDK{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.QrCode__progress-bar__I2BvB{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.QrCode__progress-bar-striped__2etPO,.QrCode__progress-striped__1R4wh .QrCode__progress-bar__I2BvB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.QrCode__progress-bar__I2BvB.QrCode__active__27IZy,.QrCode__progress__1PnDK.QrCode__active__27IZy .QrCode__progress-bar__I2BvB{-webkit-animation:QrCode__progress-bar-stripes__1iCCZ 2s linear infinite;animation:QrCode__progress-bar-stripes__1iCCZ 2s linear infinite}.QrCode__progress-bar-success__sYc9k{background-color:#5cb85c}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-success__sYc9k{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__progress-bar-info__3woV1{background-color:#5bc0de}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-info__3woV1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__progress-bar-warning__29naC{background-color:#f0ad4e}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-warning__29naC{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__progress-bar-danger__1BJdo{background-color:#ef5354}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-danger__1BJdo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__tooltip__3X4JO{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.QrCode__tooltip__3X4JO.QrCode__in__R4UxO{filter:alpha(opacity=90);opacity:.9}.QrCode__tooltip__3X4JO.QrCode__top__1CSTZ{padding:5px 0;margin-top:-3px}.QrCode__tooltip__3X4JO.QrCode__right__22-LS{padding:0 5px;margin-left:3px}.QrCode__tooltip__3X4JO.QrCode__bottom__3z03l{padding:5px 0;margin-top:3px}.QrCode__tooltip__3X4JO.QrCode__left__33KTN{padding:0 5px;margin-left:-3px}.QrCode__tooltip__3X4JO.QrCode__top__1CSTZ .QrCode__tooltip-arrow__1gMox{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.QrCode__tooltip__3X4JO.QrCode__top-left__2Ub_7 .QrCode__tooltip-arrow__1gMox{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.QrCode__tooltip__3X4JO.QrCode__top-right__uWZ_O .QrCode__tooltip-arrow__1gMox{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.QrCode__tooltip__3X4JO.QrCode__right__22-LS .QrCode__tooltip-arrow__1gMox{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.QrCode__tooltip__3X4JO.QrCode__left__33KTN .QrCode__tooltip-arrow__1gMox{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.QrCode__tooltip__3X4JO.QrCode__bottom__3z03l .QrCode__tooltip-arrow__1gMox{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.QrCode__tooltip__3X4JO.QrCode__bottom-left__3fs5F .QrCode__tooltip-arrow__1gMox{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.QrCode__tooltip__3X4JO.QrCode__bottom-right__2MXv0 .QrCode__tooltip-arrow__1gMox{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.QrCode__tooltip-inner__ffDXZ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.QrCode__tooltip-arrow__1gMox{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.QrCode__code__2GSi9{display:block;margin:auto}.QrCode__progressBar__2cJxt{height:6px;margin-top:15px}@-webkit-keyframes List__progress-bar-stripes__39id3{0%{background-position:40px 0}to{background-position:0 0}}@keyframes List__progress-bar-stripes__39id3{0%{background-position:40px 0}to{background-position:0 0}}.List__progress__2Dh9E{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.List__progress-bar__YbEBL{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.List__progress-bar-striped__U4E9h,.List__progress-striped__1UFwo .List__progress-bar__YbEBL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.List__progress-bar__YbEBL.List__active__2me18,.List__progress__2Dh9E.List__active__2me18 .List__progress-bar__YbEBL{-webkit-animation:List__progress-bar-stripes__39id3 2s linear infinite;animation:List__progress-bar-stripes__39id3 2s linear infinite}.List__progress-bar-success__1TTJY{background-color:#5cb85c}.List__progress-striped__1UFwo .List__progress-bar-success__1TTJY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-info__3lzpL{background-color:#5bc0de}.List__progress-striped__1UFwo .List__progress-bar-info__3lzpL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-warning__26JGp{background-color:#f0ad4e}.List__progress-striped__1UFwo .List__progress-bar-warning__26JGp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-danger__SZrXy{background-color:#ef5354}.List__progress-striped__1UFwo .List__progress-bar-danger__SZrXy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__tooltip__-QXEl{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.List__tooltip__-QXEl.List__in__VBAGe{filter:alpha(opacity=90);opacity:.9}.List__tooltip__-QXEl.List__top__SglWV{padding:5px 0;margin-top:-3px}.List__tooltip__-QXEl.List__right__1zdrn{padding:0 5px;margin-left:3px}.List__tooltip__-QXEl.List__bottom__13A0p{padding:5px 0;margin-top:3px}.List__tooltip__-QXEl.List__left__efcFr{padding:0 5px;margin-left:-3px}.List__tooltip__-QXEl.List__top__SglWV .List__tooltip-arrow__1s3hP{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__-QXEl.List__top-left__30DE9 .List__tooltip-arrow__1s3hP{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__-QXEl.List__top-right__1_Kii .List__tooltip-arrow__1s3hP{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__-QXEl.List__right__1zdrn .List__tooltip-arrow__1s3hP{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.List__tooltip__-QXEl.List__left__efcFr .List__tooltip-arrow__1s3hP{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.List__tooltip__-QXEl.List__bottom__13A0p .List__tooltip-arrow__1s3hP{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__-QXEl.List__bottom-left__1iFXx .List__tooltip-arrow__1s3hP{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__-QXEl.List__bottom-right__3Pv0Q .List__tooltip-arrow__1s3hP{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip-inner__20srf{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.List__tooltip-arrow__1s3hP{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.List__main__3aglb td:first-child,.List__main__3aglb th:first-child{padding-left:30px;width:33%}.List__main__3aglb td:last-child,.List__main__3aglb th:last-child{width:100px}@-webkit-keyframes Main__progress-bar-stripes__2Qq8h{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Main__progress-bar-stripes__2Qq8h{0%{background-position:40px 0}to{background-position:0 0}}.Main__progress__S94Hk{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Main__progress-bar__1167Q{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Main__progress-bar-striped__1mSaW,.Main__progress-striped__3F4wp .Main__progress-bar__1167Q{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Main__progress-bar__1167Q.Main__active__3v2Qq,.Main__progress__S94Hk.Main__active__3v2Qq .Main__progress-bar__1167Q{-webkit-animation:Main__progress-bar-stripes__2Qq8h 2s linear infinite;animation:Main__progress-bar-stripes__2Qq8h 2s linear infinite}.Main__progress-bar-success__1ftDk{background-color:#5cb85c}.Main__progress-striped__3F4wp .Main__progress-bar-success__1ftDk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__progress-bar-info__1B2ic{background-color:#5bc0de}.Main__progress-striped__3F4wp .Main__progress-bar-info__1B2ic{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__progress-bar-warning__2QF-g{background-color:#f0ad4e}.Main__progress-striped__3F4wp .Main__progress-bar-warning__2QF-g{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__progress-bar-danger__3lG54{background-color:#ef5354}.Main__progress-striped__3F4wp .Main__progress-bar-danger__3lG54{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__tooltip__3GC3n{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Main__tooltip__3GC3n.Main__in__1lbLc{filter:alpha(opacity=90);opacity:.9}.Main__tooltip__3GC3n.Main__top__1gxkl{padding:5px 0;margin-top:-3px}.Main__tooltip__3GC3n.Main__right__2E0Tj{padding:0 5px;margin-left:3px}.Main__tooltip__3GC3n.Main__bottom__3cesW{padding:5px 0;margin-top:3px}.Main__tooltip__3GC3n.Main__left__1aX5Z{padding:0 5px;margin-left:-3px}.Main__tooltip__3GC3n.Main__top__1gxkl .Main__tooltip-arrow__1gzva{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Main__tooltip__3GC3n.Main__top-left__3eiYD .Main__tooltip-arrow__1gzva{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Main__tooltip__3GC3n.Main__top-right__3A2vK .Main__tooltip-arrow__1gzva{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Main__tooltip__3GC3n.Main__right__2E0Tj .Main__tooltip-arrow__1gzva{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Main__tooltip__3GC3n.Main__left__1aX5Z .Main__tooltip-arrow__1gzva{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Main__tooltip__3GC3n.Main__bottom__3cesW .Main__tooltip-arrow__1gzva{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Main__tooltip__3GC3n.Main__bottom-left__j-r1q .Main__tooltip-arrow__1gzva{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Main__tooltip__3GC3n.Main__bottom-right__I9LgK .Main__tooltip-arrow__1gzva{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Main__tooltip-inner__1P3Z0{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Main__tooltip-arrow__1gzva{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Main__main__2CrUS{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1}.Main__sidebar__23xrF{width:220px;position:fixed;z-index:10}.Main__content__3EmN7{width:100%;background:#f3f6f8;padding-left:220px}.Main__sidebarContent__3xf4d{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjY5MCIgdmlld0JveD0iMCAwIDIxMCA2OTAiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEsIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBzdHJva2U6ICM3MDcwNzA7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcGF0aCk7CiAgICAgIH0KCiAgICAgIC5jbHMtNCB7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICB9CgogICAgICAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogdXJsKCNyYWRpYWwtZ3JhZGllbnQpOwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcC1wYXRoLTIpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0ic2lkZWJhciIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjY5MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCA2MCkiLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InJhZGlhbC1ncmFkaWVudCIgY3g9IjAuNSIgY3k9IjAuNSIgcj0iMC41IiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuOTAxIiBzdG9wLWNvbG9yPSIjZmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2YzZjZmOCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzQ2ODYiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDQ2ODYiIGNsYXNzPSJjbHMtMiIgd2lkdGg9IjIxMCIgaGVpZ2h0PSIxMDgiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJCYWNrZ3JvdW5kIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC02MCkiPgogICAgPHJlY3QgaWQ9InNpZGViYXItMiIgZGF0YS1uYW1lPSJzaWRlYmFyIiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjkwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDYwKSIvPgogICAgPGcgaWQ9Ik1hc2tfR3JvdXBfNzYiIGRhdGEtbmFtZT0iTWFzayBHcm91cCA3NiIgY2xhc3M9ImNscy0zIj4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMjQyOSIgZGF0YS1uYW1lPSJFbGxpcHNlIDI0MjkiIGNsYXNzPSJjbHMtNCIgY3g9IjQ5NC41IiBjeT0iMzk2LjUiIHJ4PSI0OTQuNSIgcnk9IjM5Ni41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjcwIDUwNikiLz4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMjQzMCIgZGF0YS1uYW1lPSJFbGxpcHNlIDI0MzAiIGNsYXNzPSJjbHMtNSIgY3g9IjQ5NC41IiBjeT0iNDg3LjUiIHJ4PSI0OTQuNSIgcnk9IjQ4Ny41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MTMgNjYxKSByb3RhdGUoOTApIi8+CiAgICAgIDxjaXJjbGUgaWQ9IkVsbGlwc2VfMjQyOS0yIiBkYXRhLW5hbWU9IkVsbGlwc2UgMjQyOSIgY2xhc3M9ImNscy01IiBjeD0iNDEyIiBjeT0iNDEyIiByPSI0MTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NDMgLTI5MikiLz4KICAgICAgPGcgaWQ9Ik1hc2tfR3JvdXBfNzciIGRhdGEtbmFtZT0iTWFzayBHcm91cCA3NyIgY2xhc3M9ImNscy02Ij4KICAgICAgICA8cGF0aCBpZD0iUGF0aF8yNjEyOSIgZGF0YS1uYW1lPSJQYXRoIDI2MTI5IiBjbGFzcz0iY2xzLTQiIGQ9Ik03MTYsMGMzOTUuNDM2LDAsNzE2LDE4NC40NTksNzE2LDQxMlMxMTExLjQzNiw4MjQsNzE2LDgyNCwwLDYzOS41NDEsMCw0MTJDMCwyNzUuMjQ5LDI4MS44ODMsMCwyODEuODgzLDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTA2IDYwKSIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K);background-color:#fff;background-repeat:no-repeat;background-position:0 60px;background-size:cover;position:fixed;width:220px;height:100%;padding-bottom:30px;overflow-y:auto;-ms-overflow-style:none;z-index:10}.Main__version__30V6N{position:fixed;width:220px;bottom:0;border-top:1px solid #f5f5f5;padding:15px 30px;background:#fcfdfd;font-size:12px}.Main__logo__3c8sL{border-bottom:1px solid #f5f5f5;height:60px;padding-left:30px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.Main__logo__3c8sL img{width:106px;height:28px}.Main__settings__2SkYg{cursor:pointer;line-height:60px;padding-right:10px;position:absolute;right:0;top:0}.Main__settings__2SkYg img{width:28px;height:28px}.Main__languagesContainer__2ghdd{position:absolute;right:38px;top:0;height:60px}.Main__languages__XSMu9{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border:none;background-color:hsla(217,8%,50%,.1);color:#747c89;height:27px;line-height:27px!important}.Main__connectionIssue__MlmQz{padding:15px;text-align:center;background:#f8cece;color:#d02828;border-bottom:1px solid #d02828}.Main__languagesMenu__2cz3H{right:-26px}@-webkit-keyframes TutorialHeader__progress-bar-stripes__2Idgf{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TutorialHeader__progress-bar-stripes__2Idgf{0%{background-position:40px 0}to{background-position:0 0}}.TutorialHeader__progress__1csQm{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TutorialHeader__progress-bar__3fpuy{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TutorialHeader__progress-bar-striped__268AW,.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar__3fpuy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TutorialHeader__progress-bar__3fpuy.TutorialHeader__active__17imu,.TutorialHeader__progress__1csQm.TutorialHeader__active__17imu .TutorialHeader__progress-bar__3fpuy{-webkit-animation:TutorialHeader__progress-bar-stripes__2Idgf 2s linear infinite;animation:TutorialHeader__progress-bar-stripes__2Idgf 2s linear infinite}.TutorialHeader__progress-bar-success__3Y_7x{background-color:#5cb85c}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-success__3Y_7x{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__progress-bar-info__3GpVb{background-color:#5bc0de}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-info__3GpVb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__progress-bar-warning__3X0oo{background-color:#f0ad4e}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-warning__3X0oo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__progress-bar-danger__1aMSb{background-color:#ef5354}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-danger__1aMSb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__tooltip__1FWB7{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TutorialHeader__tooltip__1FWB7.TutorialHeader__in__3MF9h{filter:alpha(opacity=90);opacity:.9}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top__3Qffl{padding:5px 0;margin-top:-3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__right__23-nH{padding:0 5px;margin-left:3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom__HHc8i{padding:5px 0;margin-top:3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__left__3Ahef{padding:0 5px;margin-left:-3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top__3Qffl .TutorialHeader__tooltip-arrow__2htH-{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top-left__2vq4A .TutorialHeader__tooltip-arrow__2htH-{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top-right__3V8cv .TutorialHeader__tooltip-arrow__2htH-{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__right__23-nH .TutorialHeader__tooltip-arrow__2htH-{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__left__3Ahef .TutorialHeader__tooltip-arrow__2htH-{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom__HHc8i .TutorialHeader__tooltip-arrow__2htH-{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom-left__21__4 .TutorialHeader__tooltip-arrow__2htH-{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom-right__2TIJr .TutorialHeader__tooltip-arrow__2htH-{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialHeader__tooltip-inner__2vge0{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TutorialHeader__tooltip-arrow__2htH-{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TutorialHeader__main__lEKJv{box-shadow:0 1px 2px 0 rgba(0,0,0,.25);margin-bottom:15px;border-bottom:1px solid #6ea9fc;position:fixed;top:0;left:220px;right:0;z-index:100}.TutorialHeader__collapsed__2uFMY{border-bottom:1px solid #237dfa;box-shadow:none}.TutorialHeader__header__2yjuR{background-color:#6ea9fc;box-sizing:border-box;color:#fff;padding:0 30px;height:60px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;width:100%}.TutorialHeader__skip__1HyRy{-webkit-flex:1;-ms-flex:1;flex:1;text-align:right}.TutorialHeader__skip__1HyRy a{color:#fff;font-size:13px;font-weight:500;line-height:18px;text-decoration:underline;cursor:pointer}@-webkit-keyframes Login__progress-bar-stripes__-vr4P{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Login__progress-bar-stripes__-vr4P{0%{background-position:40px 0}to{background-position:0 0}}.Login__progress__3Dh0F{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Login__progress-bar__32iE9{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Login__progress-bar-striped__3SLfT,.Login__progress-striped__21p8e .Login__progress-bar__32iE9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Login__progress-bar__32iE9.Login__active__3QMlL,.Login__progress__3Dh0F.Login__active__3QMlL .Login__progress-bar__32iE9{-webkit-animation:Login__progress-bar-stripes__-vr4P 2s linear infinite;animation:Login__progress-bar-stripes__-vr4P 2s linear infinite}.Login__progress-bar-success__3fziN{background-color:#5cb85c}.Login__progress-striped__21p8e .Login__progress-bar-success__3fziN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__progress-bar-info__3Hx2D{background-color:#5bc0de}.Login__progress-striped__21p8e .Login__progress-bar-info__3Hx2D{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__progress-bar-warning__2mI9n{background-color:#f0ad4e}.Login__progress-striped__21p8e .Login__progress-bar-warning__2mI9n{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__progress-bar-danger__1cq9j{background-color:#ef5354}.Login__progress-striped__21p8e .Login__progress-bar-danger__1cq9j{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__tooltip__jpSTt{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Login__tooltip__jpSTt.Login__in__BYTfP{filter:alpha(opacity=90);opacity:.9}.Login__tooltip__jpSTt.Login__top__3BTy0{padding:5px 0;margin-top:-3px}.Login__tooltip__jpSTt.Login__right__1TRRm{padding:0 5px;margin-left:3px}.Login__tooltip__jpSTt.Login__bottom__1JhAq{padding:5px 0;margin-top:3px}.Login__tooltip__jpSTt.Login__left__k0_Wx{padding:0 5px;margin-left:-3px}.Login__tooltip__jpSTt.Login__top__3BTy0 .Login__tooltip-arrow__1glnE{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Login__tooltip__jpSTt.Login__top-left__1ECol .Login__tooltip-arrow__1glnE{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Login__tooltip__jpSTt.Login__top-right__3VoUH .Login__tooltip-arrow__1glnE{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Login__tooltip__jpSTt.Login__right__1TRRm .Login__tooltip-arrow__1glnE{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Login__tooltip__jpSTt.Login__left__k0_Wx .Login__tooltip-arrow__1glnE{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Login__tooltip__jpSTt.Login__bottom__1JhAq .Login__tooltip-arrow__1glnE{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Login__tooltip__jpSTt.Login__bottom-left__3wQYy .Login__tooltip-arrow__1glnE{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Login__tooltip__jpSTt.Login__bottom-right__2Y0HF .Login__tooltip-arrow__1glnE{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Login__tooltip-inner__19mys{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Login__tooltip-arrow__1glnE{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Login__main__37Jey{background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}.Login__image__2YQqX{width:150px;position:absolute;top:100px;left:calc(50% - 75px)}.Login__form__25_4X{background:#fff;border-radius:3px;position:absolute;left:calc(50% - 250px);top:200px;width:500px;padding:30px}@-webkit-keyframes Loading__progress-bar-stripes__3XzRg{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Loading__progress-bar-stripes__3XzRg{0%{background-position:40px 0}to{background-position:0 0}}.Loading__progress__1nevk{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Loading__progress-bar__Y4vE2{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Loading__progress-bar-striped__VrWWQ,.Loading__progress-striped__3dURX .Loading__progress-bar__Y4vE2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Loading__progress-bar__Y4vE2.Loading__active__3tIdR,.Loading__progress__1nevk.Loading__active__3tIdR .Loading__progress-bar__Y4vE2{-webkit-animation:Loading__progress-bar-stripes__3XzRg 2s linear infinite;animation:Loading__progress-bar-stripes__3XzRg 2s linear infinite}.Loading__progress-bar-success__3uE-N{background-color:#5cb85c}.Loading__progress-striped__3dURX .Loading__progress-bar-success__3uE-N{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__progress-bar-info__2qCEh{background-color:#5bc0de}.Loading__progress-striped__3dURX .Loading__progress-bar-info__2qCEh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__progress-bar-warning__Cz44m{background-color:#f0ad4e}.Loading__progress-striped__3dURX .Loading__progress-bar-warning__Cz44m{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__progress-bar-danger__2neAH{background-color:#ef5354}.Loading__progress-striped__3dURX .Loading__progress-bar-danger__2neAH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__tooltip__1gIoP{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Loading__tooltip__1gIoP.Loading__in__4ySFz{filter:alpha(opacity=90);opacity:.9}.Loading__tooltip__1gIoP.Loading__top__vD3U3{padding:5px 0;margin-top:-3px}.Loading__tooltip__1gIoP.Loading__right__3W2FR{padding:0 5px;margin-left:3px}.Loading__tooltip__1gIoP.Loading__bottom__31boG{padding:5px 0;margin-top:3px}.Loading__tooltip__1gIoP.Loading__left__2PNMa{padding:0 5px;margin-left:-3px}.Loading__tooltip__1gIoP.Loading__top__vD3U3 .Loading__tooltip-arrow__1zq8c{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Loading__tooltip__1gIoP.Loading__top-left__2GFts .Loading__tooltip-arrow__1zq8c{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Loading__tooltip__1gIoP.Loading__top-right__1AeFH .Loading__tooltip-arrow__1zq8c{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Loading__tooltip__1gIoP.Loading__right__3W2FR .Loading__tooltip-arrow__1zq8c{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Loading__tooltip__1gIoP.Loading__left__2PNMa .Loading__tooltip-arrow__1zq8c{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Loading__tooltip__1gIoP.Loading__bottom__31boG .Loading__tooltip-arrow__1zq8c{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Loading__tooltip__1gIoP.Loading__bottom-left__3genF .Loading__tooltip-arrow__1zq8c{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Loading__tooltip__1gIoP.Loading__bottom-right__A4Tgx .Loading__tooltip-arrow__1zq8c{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Loading__tooltip-inner__3MYtb{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Loading__tooltip-arrow__1zq8c{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}@-webkit-keyframes Loading__pulsing__3RSez{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes Loading__pulsing__3RSez{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.Loading__main__11Yng{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#20252d;font-size:24px;margin-top:-75px}.Loading__logo__2xsAb{width:175px;padding-bottom:30px;-webkit-animation:Loading__pulsing__3RSez 2s infinite;animation:Loading__pulsing__3RSez 2s infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes Modal__progress-bar-stripes__ECNxO{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Modal__progress-bar-stripes__ECNxO{0%{background-position:40px 0}to{background-position:0 0}}.Modal__progress__1pk_p{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Modal__progress-bar__mHFYY{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Modal__progress-bar-striped__pLbcU,.Modal__progress-striped__1vkq3 .Modal__progress-bar__mHFYY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Modal__progress-bar__mHFYY.Modal__active__2Q0cA,.Modal__progress__1pk_p.Modal__active__2Q0cA .Modal__progress-bar__mHFYY{-webkit-animation:Modal__progress-bar-stripes__ECNxO 2s linear infinite;animation:Modal__progress-bar-stripes__ECNxO 2s linear infinite}.Modal__progress-bar-success__qs27E{background-color:#5cb85c}.Modal__progress-striped__1vkq3 .Modal__progress-bar-success__qs27E{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__progress-bar-info__2S4Dr{background-color:#5bc0de}.Modal__progress-striped__1vkq3 .Modal__progress-bar-info__2S4Dr{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__progress-bar-warning__dx2VK{background-color:#f0ad4e}.Modal__progress-striped__1vkq3 .Modal__progress-bar-warning__dx2VK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__progress-bar-danger__3xS8c{background-color:#ef5354}.Modal__progress-striped__1vkq3 .Modal__progress-bar-danger__3xS8c{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__tooltip__XyByj{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Modal__tooltip__XyByj.Modal__in__1fFZB{filter:alpha(opacity=90);opacity:.9}.Modal__tooltip__XyByj.Modal__top__11_Nm{padding:5px 0;margin-top:-3px}.Modal__tooltip__XyByj.Modal__right__2qf1s{padding:0 5px;margin-left:3px}.Modal__tooltip__XyByj.Modal__bottom__3Hx97{padding:5px 0;margin-top:3px}.Modal__tooltip__XyByj.Modal__left__1YS9_{padding:0 5px;margin-left:-3px}.Modal__tooltip__XyByj.Modal__top__11_Nm .Modal__tooltip-arrow__TalEl{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Modal__tooltip__XyByj.Modal__top-left__yjFKr .Modal__tooltip-arrow__TalEl{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Modal__tooltip__XyByj.Modal__top-right__2msdI .Modal__tooltip-arrow__TalEl{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Modal__tooltip__XyByj.Modal__right__2qf1s .Modal__tooltip-arrow__TalEl{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Modal__tooltip__XyByj.Modal__left__1YS9_ .Modal__tooltip-arrow__TalEl{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Modal__tooltip__XyByj.Modal__bottom__3Hx97 .Modal__tooltip-arrow__TalEl{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Modal__tooltip__XyByj.Modal__bottom-left__1_klG .Modal__tooltip-arrow__TalEl{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Modal__tooltip__XyByj.Modal__bottom-right__1qabe .Modal__tooltip-arrow__TalEl{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Modal__tooltip-inner__1d25M{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Modal__tooltip-arrow__TalEl{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Modal__main__1qTNQ{position:fixed;top:0;right:0;left:0;bottom:0;z-index:100}.Modal__backdrop__TKcEi{background:rgba(0,0,0,.8);width:100%;height:100%}.Modal__content__4bKWt{background:#fff;padding:30px;position:absolute;top:10%;left:calc(50% - 250px);width:500px;max-height:80%;overflow:auto}.Modal__content__4bKWt pre{white-space:pre-wrap;background:#f3f6f8;padding:8px 12px;color:#747c89;line-height:1.4}.Modal__wide__3bblv{left:calc(50% - 425px);width:850px}.Modal__cancel__3c2lX{color:#747c89}.Modal__box__2ZGSs{background:#fff;position:absolute;top:10%;height:80%}.Modal__title__1PCgn{height:55px;padding:15px 30px;border-bottom:1px solid #f5f5f5;font-size:16px;color:#20252d}.Modal__close__UG6xL{position:absolute;right:10px;top:10px}@-webkit-keyframes Navigation__progress-bar-stripes__1HB5w{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Navigation__progress-bar-stripes__1HB5w{0%{background-position:40px 0}to{background-position:0 0}}.Navigation__progress__1_jAl{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Navigation__progress-bar__3eEq-{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Navigation__progress-bar-striped__OMUC5,.Navigation__progress-striped__2N-lZ .Navigation__progress-bar__3eEq-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Navigation__progress-bar__3eEq-.Navigation__active__2Y7wX,.Navigation__progress__1_jAl.Navigation__active__2Y7wX .Navigation__progress-bar__3eEq-{-webkit-animation:Navigation__progress-bar-stripes__1HB5w 2s linear infinite;animation:Navigation__progress-bar-stripes__1HB5w 2s linear infinite}.Navigation__progress-bar-success__3YqeX{background-color:#5cb85c}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-success__3YqeX{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__progress-bar-info__2rFRs{background-color:#5bc0de}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-info__2rFRs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__progress-bar-warning__2_jpW{background-color:#f0ad4e}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-warning__2_jpW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__progress-bar-danger__2qzuV{background-color:#ef5354}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-danger__2qzuV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__tooltip__67cqa{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Navigation__tooltip__67cqa.Navigation__in__17aSe{filter:alpha(opacity=90);opacity:.9}.Navigation__tooltip__67cqa.Navigation__top__1Iku2{padding:5px 0;margin-top:-3px}.Navigation__tooltip__67cqa.Navigation__right__1SThO{padding:0 5px;margin-left:3px}.Navigation__tooltip__67cqa.Navigation__bottom__1rEZl{padding:5px 0;margin-top:3px}.Navigation__tooltip__67cqa.Navigation__left__3Ku1T{padding:0 5px;margin-left:-3px}.Navigation__tooltip__67cqa.Navigation__top__1Iku2 .Navigation__tooltip-arrow__3aqCd{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Navigation__tooltip__67cqa.Navigation__top-left__28IZL .Navigation__tooltip-arrow__3aqCd{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Navigation__tooltip__67cqa.Navigation__top-right__1_Apt .Navigation__tooltip-arrow__3aqCd{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Navigation__tooltip__67cqa.Navigation__right__1SThO .Navigation__tooltip-arrow__3aqCd{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Navigation__tooltip__67cqa.Navigation__left__3Ku1T .Navigation__tooltip-arrow__3aqCd{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Navigation__tooltip__67cqa.Navigation__bottom__1rEZl .Navigation__tooltip-arrow__3aqCd{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Navigation__tooltip__67cqa.Navigation__bottom-left__3sMEW .Navigation__tooltip-arrow__3aqCd{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Navigation__tooltip__67cqa.Navigation__bottom-right__XYqys .Navigation__tooltip-arrow__3aqCd{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Navigation__tooltip-inner__2BDDe{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Navigation__tooltip-arrow__3aqCd{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Navigation__border__1FjNU{padding-top:30px;border-top:1px solid #f5f5f5;margin-top:30px}.Navigation__main__Wi2AF a{display:block;padding:5px 0;color:#747c89;font-size:14px}.Navigation__main__Wi2AF .Navigation__active__2Y7wX,.Navigation__main__Wi2AF .Navigation__active__2Y7wX:focus,.Navigation__main__Wi2AF .Navigation__active__2Y7wX:hover{color:#195ad6}.Navigation__main__Wi2AF a:focus,.Navigation__main__Wi2AF a:hover{text-decoration:none;color:#9da3ac}.Navigation__langBtn__1rYjJ{width:80px!important;height:30px}.Navigation__smallFont__2zbyM,.Navigation__smallFont__2zbyM>a{font-size:12px}.Navigation__navigation__1ja2T{padding:0;list-style-type:none;margin-top:15px;margin-bottom:0;padding:0 30px}.Navigation__navigationTitle__3O5mO{color:#747c89;text-transform:uppercase;padding:3px 0;font-size:12px;transform:scale(.916);transform-origin-x:0;-ms-transform:scale(.916);-ms-transform-origin-x:0;-moz-transform:scale(.916);-moz-transform-origin-x:0;-o-transform:scale(.916);-o-transform-origin-x:0;-webkit-transform:scale(.916);-webkit-transform-origin-x:0}.Navigation__activeIcon__1lBHM{display:none}.Navigation__active__2Y7wX .Navigation__activeIcon__1lBHM{display:inline}.Navigation__active__2Y7wX .Navigation__icon__11y2W{display:none}.Navigation__iconWrapper__2Xai0 img{width:28px;height:28px;margin-top:-2px}.Navigation__warningIcon__1B2Xu{height:10px;padding-right:5px}.Navigation__updateWarning__FhcBc{background-color:hsla(217,8%,50%,.1);padding:10px 7.5px;color:#fff;margin:15px 30px 0;border-radius:3px}@-webkit-keyframes Sync__progress-bar-stripes__2Q-L9{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Sync__progress-bar-stripes__2Q-L9{0%{background-position:40px 0}to{background-position:0 0}}.Sync__progress__1p5_H{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Sync__progress-bar__2ANl3{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Sync__progress-bar-striped__BMwXj,.Sync__progress-striped__26Ij5 .Sync__progress-bar__2ANl3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Sync__progress-bar__2ANl3.Sync__active__1cjBg,.Sync__progress__1p5_H.Sync__active__1cjBg .Sync__progress-bar__2ANl3{-webkit-animation:Sync__progress-bar-stripes__2Q-L9 2s linear infinite;animation:Sync__progress-bar-stripes__2Q-L9 2s linear infinite}.Sync__progress-bar-success__2TOc_{background-color:#5cb85c}.Sync__progress-striped__26Ij5 .Sync__progress-bar-success__2TOc_{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__progress-bar-info__3fO79{background-color:#5bc0de}.Sync__progress-striped__26Ij5 .Sync__progress-bar-info__3fO79{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__progress-bar-warning__vKS8V{background-color:#f0ad4e}.Sync__progress-striped__26Ij5 .Sync__progress-bar-warning__vKS8V{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__progress-bar-danger__2O28w{background-color:#ef5354}.Sync__progress-striped__26Ij5 .Sync__progress-bar-danger__2O28w{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__tooltip__2n85E{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Sync__tooltip__2n85E.Sync__in__2ttnB{filter:alpha(opacity=90);opacity:.9}.Sync__tooltip__2n85E.Sync__top__32Nv1{padding:5px 0;margin-top:-3px}.Sync__tooltip__2n85E.Sync__right__BX-r7{padding:0 5px;margin-left:3px}.Sync__tooltip__2n85E.Sync__bottom__1eKbw{padding:5px 0;margin-top:3px}.Sync__tooltip__2n85E.Sync__left__1A5rB{padding:0 5px;margin-left:-3px}.Sync__tooltip__2n85E.Sync__top__32Nv1 .Sync__tooltip-arrow__l7Ggu{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Sync__tooltip__2n85E.Sync__top-left__EuuJA .Sync__tooltip-arrow__l7Ggu{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Sync__tooltip__2n85E.Sync__top-right__I8QCz .Sync__tooltip-arrow__l7Ggu{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Sync__tooltip__2n85E.Sync__right__BX-r7 .Sync__tooltip-arrow__l7Ggu{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Sync__tooltip__2n85E.Sync__left__1A5rB .Sync__tooltip-arrow__l7Ggu{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Sync__tooltip__2n85E.Sync__bottom__1eKbw .Sync__tooltip-arrow__l7Ggu{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Sync__tooltip__2n85E.Sync__bottom-left__2lOFX .Sync__tooltip-arrow__l7Ggu{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Sync__tooltip__2n85E.Sync__bottom-right__ofNjk .Sync__tooltip-arrow__l7Ggu{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Sync__tooltip-inner__1ix_4{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Sync__tooltip-arrow__l7Ggu{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Sync__main__16_Oi{padding:30px;margin-top:30px}.Sync__testnetError__1dv29{color:#ef5354}.Sync__testnetReset__36ijp{color:#f0ad4e}.Sync__blockHightlight__NgZDE{color:#747c89}.Sync__progressBar__146Vd{margin-top:6px;height:5px;border-radius:0}@-webkit-keyframes SecondaryNavigation__progress-bar-stripes__1mw-t{0%{background-position:40px 0}to{background-position:0 0}}@keyframes SecondaryNavigation__progress-bar-stripes__1mw-t{0%{background-position:40px 0}to{background-position:0 0}}.SecondaryNavigation__progress__19Oy6{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.SecondaryNavigation__progress-bar__2L7zy{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.SecondaryNavigation__progress-bar-striped__35txP,.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar__2L7zy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.SecondaryNavigation__progress-bar__2L7zy.SecondaryNavigation__active__d6pyG,.SecondaryNavigation__progress__19Oy6.SecondaryNavigation__active__d6pyG .SecondaryNavigation__progress-bar__2L7zy{-webkit-animation:SecondaryNavigation__progress-bar-stripes__1mw-t 2s linear infinite;animation:SecondaryNavigation__progress-bar-stripes__1mw-t 2s linear infinite}.SecondaryNavigation__progress-bar-success__1SLtl{background-color:#5cb85c}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-success__1SLtl{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__progress-bar-info__2udhj{background-color:#5bc0de}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-info__2udhj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__progress-bar-warning__1rDxZ{background-color:#f0ad4e}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-warning__1rDxZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__progress-bar-danger__2zgth{background-color:#ef5354}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-danger__2zgth{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__tooltip__1kL7B{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__in__2lyL8{filter:alpha(opacity=90);opacity:.9}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top__2F9N2{padding:5px 0;margin-top:-3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__right__2B25y{padding:0 5px;margin-left:3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom__3Chcd{padding:5px 0;margin-top:3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__left__2YG70{padding:0 5px;margin-left:-3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top__2F9N2 .SecondaryNavigation__tooltip-arrow__1veBG{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top-left__KqLem .SecondaryNavigation__tooltip-arrow__1veBG{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top-right__25Ipl .SecondaryNavigation__tooltip-arrow__1veBG{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__right__2B25y .SecondaryNavigation__tooltip-arrow__1veBG{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__left__2YG70 .SecondaryNavigation__tooltip-arrow__1veBG{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom__3Chcd .SecondaryNavigation__tooltip-arrow__1veBG{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom-left__1RS1d .SecondaryNavigation__tooltip-arrow__1veBG{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom-right__W1MgK .SecondaryNavigation__tooltip-arrow__1veBG{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SecondaryNavigation__tooltip-inner__3I8_r{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.SecondaryNavigation__tooltip-arrow__1veBG{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.SecondaryNavigation__main__3Hsa-{background:#fff;border-radius:3px;position:absolute;top:52px;right:15px;width:190px;z-index:11;background-clip:padding-box;border:1px solid #ccc;box-shadow:0 3px 6px -2px rgba(0,0,0,.15)}.SecondaryNavigation__main__3Hsa- a{display:block;padding:1px 0;color:#747c89}.SecondaryNavigation__main__3Hsa- .SecondaryNavigation__active__d6pyG{color:#195ad6}.SecondaryNavigation__navigation__im_Yu{padding:0;list-style-type:none;margin-top:8px;margin-bottom:8px}.SecondaryNavigation__navigation__im_Yu li{padding:0 20px}.SecondaryNavigation__navigationTitle__1GL7l{font-size:12px;text-transform:uppercase;padding:3px 20px}.SecondaryNavigation__logOut__EO-se{margin-top:5px;border-top:1px solid #f5f5f5;margin-bottom:-3px}.SecondaryNavigation__logOut__EO-se a{padding-top:5px}.SecondaryNavigation__activeIcon__1Z7VF{display:none}.SecondaryNavigation__active__d6pyG .SecondaryNavigation__activeIcon__1Z7VF{display:inline}.SecondaryNavigation__active__d6pyG .SecondaryNavigation__icon__24hic{display:none}.SecondaryNavigation__iconWrapper__3D9qC img{width:28px;height:28px;margin-top:-2px}@-webkit-keyframes GrantListItem__progress-bar-stripes__1NdrI{0%{background-position:40px 0}to{background-position:0 0}}@keyframes GrantListItem__progress-bar-stripes__1NdrI{0%{background-position:40px 0}to{background-position:0 0}}.GrantListItem__progress__2EzsC{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.GrantListItem__progress-bar__MOEWU{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.GrantListItem__progress-bar-striped__3u5QQ,.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar__MOEWU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.GrantListItem__progress-bar__MOEWU.GrantListItem__active__2vtoY,.GrantListItem__progress__2EzsC.GrantListItem__active__2vtoY .GrantListItem__progress-bar__MOEWU{-webkit-animation:GrantListItem__progress-bar-stripes__1NdrI 2s linear infinite;animation:GrantListItem__progress-bar-stripes__1NdrI 2s linear infinite}.GrantListItem__progress-bar-success__3kaNO{background-color:#5cb85c}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-success__3kaNO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__progress-bar-info__2NjL2{background-color:#5bc0de}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-info__2NjL2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__progress-bar-warning__1TsVt{background-color:#f0ad4e}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-warning__1TsVt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__progress-bar-danger__31WBf{background-color:#ef5354}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-danger__31WBf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__tooltip__3Wvfl{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.GrantListItem__tooltip__3Wvfl.GrantListItem__in__1LtW_{filter:alpha(opacity=90);opacity:.9}.GrantListItem__tooltip__3Wvfl.GrantListItem__top__1fr-T{padding:5px 0;margin-top:-3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__right__-1p8s{padding:0 5px;margin-left:3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom__OYqLU{padding:5px 0;margin-top:3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__left__F5Xls{padding:0 5px;margin-left:-3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__top__1fr-T .GrantListItem__tooltip-arrow__3ED75{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__top-left__1f0CJ .GrantListItem__tooltip-arrow__3ED75{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__top-right__2IGTh .GrantListItem__tooltip-arrow__3ED75{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__right__-1p8s .GrantListItem__tooltip-arrow__3ED75{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__left__F5Xls .GrantListItem__tooltip-arrow__3ED75{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom__OYqLU .GrantListItem__tooltip-arrow__3ED75{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom-left__3Y3bj .GrantListItem__tooltip-arrow__3ED75{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom-right__2eWzT .GrantListItem__tooltip-arrow__3ED75{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GrantListItem__tooltip-inner__7eEj9{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.GrantListItem__tooltip-arrow__3ED75{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.GrantListItem__tdWrap__lMI3F{border-top:1px solid #f2f2f2;color:#747c89;line-height:20px;vertical-align:top;word-wrap:break-word}@-webkit-keyframes AccessControlList__progress-bar-stripes__3Lb0s{0%{background-position:40px 0}to{background-position:0 0}}@keyframes AccessControlList__progress-bar-stripes__3Lb0s{0%{background-position:40px 0}to{background-position:0 0}}.AccessControlList__progress__20Hmu{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.AccessControlList__progress-bar__3eQh9{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.AccessControlList__progress-bar-striped__rNAP_,.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar__3eQh9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.AccessControlList__progress-bar__3eQh9.AccessControlList__active__2iFGN,.AccessControlList__progress__20Hmu.AccessControlList__active__2iFGN .AccessControlList__progress-bar__3eQh9{-webkit-animation:AccessControlList__progress-bar-stripes__3Lb0s 2s linear infinite;animation:AccessControlList__progress-bar-stripes__3Lb0s 2s linear infinite}.AccessControlList__progress-bar-success__1cpGz{background-color:#5cb85c}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-success__1cpGz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__progress-bar-info__1G1Gt{background-color:#5bc0de}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-info__1G1Gt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__progress-bar-warning__1TxPq{background-color:#f0ad4e}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-warning__1TxPq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__progress-bar-danger__2vfmI{background-color:#ef5354}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-danger__2vfmI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__tooltip__14sjr{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.AccessControlList__tooltip__14sjr.AccessControlList__in__1HQSn{filter:alpha(opacity=90);opacity:.9}.AccessControlList__tooltip__14sjr.AccessControlList__top__2_OgA{padding:5px 0;margin-top:-3px}.AccessControlList__tooltip__14sjr.AccessControlList__right__WSNlL{padding:0 5px;margin-left:3px}.AccessControlList__tooltip__14sjr.AccessControlList__bottom__Zbrzm{padding:5px 0;margin-top:3px}.AccessControlList__tooltip__14sjr.AccessControlList__left__3RjWS{padding:0 5px;margin-left:-3px}.AccessControlList__tooltip__14sjr.AccessControlList__top__2_OgA .AccessControlList__tooltip-arrow__3w8HR{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__top-left__FDYQm .AccessControlList__tooltip-arrow__3w8HR{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__top-right__2l3LZ .AccessControlList__tooltip-arrow__3w8HR{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__right__WSNlL .AccessControlList__tooltip-arrow__3w8HR{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__left__3RjWS .AccessControlList__tooltip-arrow__3w8HR{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__bottom__Zbrzm .AccessControlList__tooltip-arrow__3w8HR{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__bottom-left__3K2y4 .AccessControlList__tooltip-arrow__3w8HR{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__bottom-right__2ohIx .AccessControlList__tooltip-arrow__3w8HR{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AccessControlList__tooltip-inner__2NEwt{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.AccessControlList__tooltip-arrow__3w8HR{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.AccessControlList__newBtn__1SEFR{position:absolute;right:30px;top:30px;vertical-align:baseline}.AccessControlList__btnGroup__BEtXR{margin-bottom:30px}.AccessControlList__btn__3r9CX{color:#195ad6;visibility:hidden}.AccessControlList__btn__3r9CX:hover{text-decoration:underline}.AccessControlList__btn__3r9CX:active,.AccessControlList__btn__3r9CX:active:focus,.AccessControlList__btn__3r9CX:focus,.AccessControlList__btn__3r9CX:hover,.AccessControlList__btn__3r9CX:hover:active{color:#195ad6;background:#fff}.AccessControlList__btn__3r9CX:focus{background:#fff}.AccessControlList__active__2iFGN,.AccessControlList__active__2iFGN:active:focus,.AccessControlList__active__2iFGN:focus,.AccessControlList__active__2iFGN:hover{box-shadow:inset 0 2px 3px rgba(0,0,0,.15);border-color:#ccc;background:#fafafa;color:#747c89;cursor:default;text-decoration:none}",
-"dashboard.2a16d3bc3514ac4fdfa3.js": "!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p=\"/dashboard/\",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case\"function\":break;case\"object\":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,o){r.apply(this,[e,t,o].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){n(342),e.exports=n(891)},function(e,t,n){\"use strict\";e.exports=n(143)},function(e,t,n){var r=n(19),o=n(60),i=n(48),a=n(49),s=n(61),u=\"prototype\",l=function(e,t,n){var c,d,f,p,h=e&l.F,m=e&l.G,g=e&l.S,_=e&l.P,b=e&l.B,y=m?r:g?r[t]||(r[t]={}):(r[t]||{})[u],v=m?o:o[t]||(o[t]={}),M=v[u]||(v[u]={});m&&(n=t);for(c in n)d=!h&&y&&void 0!==y[c],f=(d?y:n)[c],p=b&&d?s(f,r):_&&\"function\"==typeof f?s(Function.call,f):f,y&&a(y,c,f,e&l.U),v[c]!=f&&i(v,c,p),_&&M[c]!=f&&(M[c]=f)};r.core=o,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){(function(e,t){!function(e,n){t.exports=n()}(this,function(){\"use strict\";function r(){return Nr.apply(null,arguments)}function o(e){Nr=e}function i(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function a(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function s(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}function u(e){return void 0===e}function l(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function c(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function d(e,t){var n,r=[];for(n=0;n<e.length;++n)r.push(t(e[n],n));return r}function f(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function p(e,t){for(var n in t)f(t,n)&&(e[n]=t[n]);return f(t,\"toString\")&&(e.toString=t.toString),f(t,\"valueOf\")&&(e.valueOf=t.valueOf),e}function h(e,t,n,r){return Tt(e,t,n,r,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function g(e){return null==e._pf&&(e._pf=m()),e._pf}function _(e){if(null==e._isValid){var t=g(e),n=kr.call(t.parsedDateParts,function(e){return null!=e}),r=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(r=r&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return r;e._isValid=r}return e._isValid}function b(e){var t=h(NaN);return null!=e?p(g(t),e):g(t).userInvalidated=!0,t}function y(e,t){var n,r,o;if(u(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),u(t._i)||(e._i=t._i),u(t._f)||(e._f=t._f),u(t._l)||(e._l=t._l),u(t._strict)||(e._strict=t._strict),u(t._tzm)||(e._tzm=t._tzm),u(t._isUTC)||(e._isUTC=t._isUTC),u(t._offset)||(e._offset=t._offset),u(t._pf)||(e._pf=g(t)),u(t._locale)||(e._locale=t._locale),Dr.length>0)for(n=0;n<Dr.length;n++)r=Dr[n],o=t[r],u(o)||(e[r]=o);return e}function v(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),xr===!1&&(xr=!0,r.updateOffset(this),xr=!1)}function M(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function A(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function w(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=A(t)),n}function C(e,t,n){var r,o=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),a=0;for(r=0;r<o;r++)(n&&e[r]!==t[r]||!n&&w(e[r])!==w(t[r]))&&a++;return a+i}function E(t){r.suppressDeprecationWarnings===!1&&\"undefined\"!=typeof e&&e.warn&&e.warn(\"Deprecation warning: \"+t)}function L(e,t){var n=!0;return p(function(){if(null!=r.deprecationHandler&&r.deprecationHandler(null,e),n){for(var o,i=[],a=0;a<arguments.length;a++){if(o=\"\",\"object\"==typeof arguments[a]){o+=\"\\n[\"+a+\"] \";for(var s in arguments[0])o+=s+\": \"+arguments[0][s]+\", \";o=o.slice(0,-2)}else o=arguments[a];i.push(o)}E(e+\"\\nArguments: \"+Array.prototype.slice.call(i).join(\"\")+\"\\n\"+(new Error).stack),n=!1}return t.apply(this,arguments)},t)}function T(e,t){null!=r.deprecationHandler&&r.deprecationHandler(e,t),Ir[e]||(E(t),Ir[e]=!0)}function O(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function S(e){var t,n;for(n in e)t=e[n],O(t)?this[n]=t:this[\"_\"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)}function N(e,t){var n,r=p({},e);for(n in t)f(t,n)&&(a(e[n])&&a(t[n])?(r[n]={},p(r[n],e[n]),p(r[n],t[n])):null!=t[n]?r[n]=t[n]:delete r[n]);for(n in e)f(e,n)&&!f(t,n)&&a(e[n])&&(r[n]=p({},r[n]));return r}function k(e){null!=e&&this.set(e)}function D(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return O(r)?r.call(t,n):r}function x(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}function I(){return this._invalidDate}function z(e){return this._ordinal.replace(\"%d\",e)}function P(e,t,n,r){var o=this._relativeTime[n];return O(o)?o(e,t,n,r):o.replace(/%d/i,e)}function j(e,t){var n=this._relativeTime[e>0?\"future\":\"past\"];return O(n)?n(t):n.replace(/%s/i,t)}function B(e,t){var n=e.toLowerCase();Yr[n]=Yr[n+\"s\"]=Yr[t]=e}function F(e){return\"string\"==typeof e?Yr[e]||Yr[e.toLowerCase()]:void 0}function R(e){var t,n,r={};for(n in e)f(e,n)&&(t=F(n),t&&(r[t]=e[n]));return r}function W(e,t){Hr[e]=t}function Y(e){var t=[];for(var n in e)t.push({unit:n,priority:Hr[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function H(e,t,n){var r=\"\"+Math.abs(e),o=t-r.length,i=e>=0;return(i?n?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,o)).toString().substr(1)+r}function q(e,t,n,r){var o=r;\"string\"==typeof r&&(o=function(){return this[r]()}),e&&(Vr[e]=o),t&&(Vr[t[0]]=function(){return H(o.apply(this,arguments),t[1],t[2])}),n&&(Vr[n]=function(){return this.localeData().ordinal(o.apply(this,arguments),e)})}function U(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function X(e){var t,n,r=e.match(qr);for(t=0,n=r.length;t<n;t++)Vr[r[t]]?r[t]=Vr[r[t]]:r[t]=U(r[t]);return function(t){var o,i=\"\";for(o=0;o<n;o++)i+=O(r[o])?r[o].call(t,e):r[o];return i}}function V(e,t){return e.isValid()?(t=G(t,e.localeData()),Xr[t]=Xr[t]||X(t),Xr[t](e)):e.localeData().invalidDate()}function G(e,t){function n(e){return t.longDateFormat(e)||e}var r=5;for(Ur.lastIndex=0;r>=0&&Ur.test(e);)e=e.replace(Ur,n),Ur.lastIndex=0,r-=1;return e}function $(e,t,n){fo[e]=O(t)?t:function(e,r){return e&&n?n:t}}function K(e,t){return f(fo,e)?fo[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return Z(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,t,n,r,o){return t||n||r||o}))}function Z(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function J(e,t){var n,r=t;for(\"string\"==typeof e&&(e=[e]),l(t)&&(r=function(e,n){n[t]=w(e)}),n=0;n<e.length;n++)po[e[n]]=r}function ee(e,t){J(e,function(e,n,r,o){r._w=r._w||{},t(e,r._w,r,o)})}function te(e,t,n){null!=t&&f(po,e)&&po[e](t,n._a,n,e)}function ne(e){return re(e)?366:365}function re(e){return e%4===0&&e%100!==0||e%400===0}function oe(){return re(this.year())}function ie(e,t){return function(n){return null!=n?(se(this,e,n),r.updateOffset(this,t),this):ae(this,e)}}function ae(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function se(e,t,n){e.isValid()&&!isNaN(n)&&(\"FullYear\"===t&&re(e.year())&&1===e.month()&&29===e.date()?e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n,e.month(),de(n,e.month())):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n))}function ue(e){return e=F(e),O(this[e])?this[e]():this}function le(e,t){if(\"object\"==typeof e){e=R(e);for(var n=Y(e),r=0;r<n.length;r++)this[n[r].unit](e[n[r].unit])}else if(e=F(e),O(this[e]))return this[e](t);return this}function ce(e,t){return(e%t+t)%t}function de(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=ce(t,12);return e+=(t-n)/12,1===n?re(e)?29:28:31-n%7%2}function fe(e,t){return e?i(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Eo).test(t)?\"format\":\"standalone\"][e.month()]:i(this._months)?this._months:this._months.standalone}function pe(e,t){return e?i(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Eo.test(t)?\"format\":\"standalone\"][e.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function he(e,t,n){var r,o,i,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)i=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(i,\"\").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(i,\"\").toLocaleLowerCase();return n?\"MMM\"===t?(o=wo.call(this._shortMonthsParse,a),o!==-1?o:null):(o=wo.call(this._longMonthsParse,a),o!==-1?o:null):\"MMM\"===t?(o=wo.call(this._shortMonthsParse,a),o!==-1?o:(o=wo.call(this._longMonthsParse,a),o!==-1?o:null)):(o=wo.call(this._longMonthsParse,a),o!==-1?o:(o=wo.call(this._shortMonthsParse,a),o!==-1?o:null))}function me(e,t,n){var r,o,i;if(this._monthsParseExact)return he.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(o=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp(\"^\"+this.months(o,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[r]=new RegExp(\"^\"+this.monthsShort(o,\"\").replace(\".\",\"\")+\"$\",\"i\")),n||this._monthsParse[r]||(i=\"^\"+this.months(o,\"\")+\"|^\"+this.monthsShort(o,\"\"),this._monthsParse[r]=new RegExp(i.replace(\".\",\"\"),\"i\")),n&&\"MMMM\"===t&&this._longMonthsParse[r].test(e))return r;if(n&&\"MMM\"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}}function ge(e,t){var n;if(!e.isValid())return e;if(\"string\"==typeof t)if(/^\\d+$/.test(t))t=w(t);else if(t=e.localeData().monthsParse(t),!l(t))return e;return n=Math.min(e.date(),de(e.year(),t)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](t,n),e}function _e(e){return null!=e?(ge(this,e),r.updateOffset(this,!0),this):ae(this,\"Month\")}function be(){return de(this.year(),this.month())}function ye(e){return this._monthsParseExact?(f(this,\"_monthsRegex\")||Me.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(f(this,\"_monthsShortRegex\")||(this._monthsShortRegex=Oo),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function ve(e){return this._monthsParseExact?(f(this,\"_monthsRegex\")||Me.call(this),e?this._monthsStrictRegex:this._monthsRegex):(f(this,\"_monthsRegex\")||(this._monthsRegex=So),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function Me(){function e(e,t){return t.length-e.length}var t,n,r=[],o=[],i=[];for(t=0;t<12;t++)n=h([2e3,t]),r.push(this.monthsShort(n,\"\")),o.push(this.months(n,\"\")),i.push(this.months(n,\"\")),i.push(this.monthsShort(n,\"\"));for(r.sort(e),o.sort(e),i.sort(e),t=0;t<12;t++)r[t]=Z(r[t]),o[t]=Z(o[t]);for(t=0;t<24;t++)i[t]=Z(i[t]);this._monthsRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function Ae(e,t,n,r,o,i,a){var s=new Date(e,t,n,r,o,i,a);return e<100&&e>=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}function we(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ce(e,t,n){var r=7+t-n,o=(7+we(e,0,r).getUTCDay()-t)%7;return-o+r-1}function Ee(e,t,n,r,o){var i,a,s=(7+n-r)%7,u=Ce(e,r,o),l=1+7*(t-1)+s+u;return l<=0?(i=e-1,a=ne(i)+l):l>ne(e)?(i=e+1,a=l-ne(e)):(i=e,a=l),{year:i,dayOfYear:a}}function Le(e,t,n){var r,o,i=Ce(e.year(),t,n),a=Math.floor((e.dayOfYear()-i-1)/7)+1;return a<1?(o=e.year()-1,r=a+Te(o,t,n)):a>Te(e.year(),t,n)?(r=a-Te(e.year(),t,n),o=e.year()+1):(o=e.year(),r=a),{week:r,year:o}}function Te(e,t,n){var r=Ce(e,t,n),o=Ce(e+1,t,n);return(ne(e)-r+o)/7}function Oe(e){return Le(e,this._week.dow,this._week.doy).week}function Se(){return this._week.dow}function Ne(){return this._week.doy}function ke(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")}function De(e){var t=Le(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")}function xe(e,t){return\"string\"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),\"number\"==typeof e?e:null):parseInt(e,10)}function Ie(e,t){return\"string\"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function ze(e,t){return e?i(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?\"format\":\"standalone\"][e.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function Pe(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function je(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Be(e,t,n){var r,o,i,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)i=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(i,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(i,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(i,\"\").toLocaleLowerCase();return n?\"dddd\"===t?(o=wo.call(this._weekdaysParse,a),o!==-1?o:null):\"ddd\"===t?(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:null):(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:null):\"dddd\"===t?(o=wo.call(this._weekdaysParse,a),o!==-1?o:(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:null))):\"ddd\"===t?(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:(o=wo.call(this._weekdaysParse,a),o!==-1?o:(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:null))):(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:(o=wo.call(this._weekdaysParse,a),o!==-1?o:(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:null)))}function Fe(e,t,n){var r,o,i;if(this._weekdaysParseExact)return Be.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(o=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(o,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(o,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(o,\"\").replace(\".\",\".?\")+\"$\",\"i\")),this._weekdaysParse[r]||(i=\"^\"+this.weekdays(o,\"\")+\"|^\"+this.weekdaysShort(o,\"\")+\"|^\"+this.weekdaysMin(o,\"\"),this._weekdaysParse[r]=new RegExp(i.replace(\".\",\"\"),\"i\")),n&&\"dddd\"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&\"ddd\"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&\"dd\"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Re(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=xe(e,this.localeData()),this.add(e-t,\"d\")):t}function We(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")}function Ye(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Ie(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function He(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Xe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(f(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Io),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function qe(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Xe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(f(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=zo),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ue(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Xe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(f(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=Po),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Xe(){function e(e,t){return t.length-e.length}var t,n,r,o,i,a=[],s=[],u=[],l=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=this.weekdaysMin(n,\"\"),o=this.weekdaysShort(n,\"\"),i=this.weekdays(n,\"\"),a.push(r),s.push(o),u.push(i),l.push(r),l.push(o),l.push(i);for(a.sort(e),s.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)s[t]=Z(s[t]),u[t]=Z(u[t]),l[t]=Z(l[t]);this._weekdaysRegex=new RegExp(\"^(\"+l.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function Ve(){return this.hours()%12||12}function Ge(){return this.hours()||24}function $e(e,t){q(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}function Qe(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)}function Ze(e,t,n){return e>11?n?\"pm\":\"PM\":n?\"am\":\"AM\"}function Je(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function et(e){for(var t,n,r,o,i=0;i<e.length;){for(o=Je(e[i]).split(\"-\"),t=o.length,n=Je(e[i+1]),n=n?n.split(\"-\"):null;t>0;){if(r=tt(o.slice(0,t).join(\"-\")))return r;if(n&&n.length>=t&&C(o,n,!0)>=t-1)break;t--}i++}return jo}function tt(e){var r=null;if(!Wo[e]&&\"undefined\"!=typeof t&&t&&t.exports)try{r=jo._abbr;n(1372)(\"./\"+e),nt(r)}catch(e){}return Wo[e]}function nt(t,n){var r;return t&&(r=u(n)?it(t):rt(t,n),r?jo=r:\"undefined\"!=typeof e&&e.warn&&e.warn(\"Locale \"+t+\" not found. Did you forget to load it?\")),jo._abbr}function rt(e,t){if(null!==t){var n,r=Ro;if(t.abbr=e,null!=Wo[e])T(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),r=Wo[e]._config;else if(null!=t.parentLocale)if(null!=Wo[t.parentLocale])r=Wo[t.parentLocale]._config;else{if(n=tt(t.parentLocale),null==n)return Yo[t.parentLocale]||(Yo[t.parentLocale]=[]),Yo[t.parentLocale].push({name:e,config:t}),null;r=n._config}return Wo[e]=new k(N(r,t)),Yo[e]&&Yo[e].forEach(function(e){rt(e.name,e.config)}),nt(e),Wo[e]}return delete Wo[e],null}function ot(e,t){if(null!=t){var n,r,o=Ro;r=tt(e),null!=r&&(o=r._config),t=N(o,t),n=new k(t),n.parentLocale=Wo[e],Wo[e]=n,nt(e)}else null!=Wo[e]&&(null!=Wo[e].parentLocale?Wo[e]=Wo[e].parentLocale:null!=Wo[e]&&delete Wo[e]);return Wo[e]}function it(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return jo;if(!i(e)){if(t=tt(e))return t;e=[e]}return et(e)}function at(){return zr(Wo)}function st(e){var t,n=e._a;return n&&g(e).overflow===-2&&(t=n[mo]<0||n[mo]>11?mo:n[go]<1||n[go]>de(n[ho],n[mo])?go:n[_o]<0||n[_o]>24||24===n[_o]&&(0!==n[bo]||0!==n[yo]||0!==n[vo])?_o:n[bo]<0||n[bo]>59?bo:n[yo]<0||n[yo]>59?yo:n[vo]<0||n[vo]>999?vo:-1,g(e)._overflowDayOfYear&&(t<ho||t>go)&&(t=go),g(e)._overflowWeeks&&t===-1&&(t=Mo),g(e)._overflowWeekday&&t===-1&&(t=Ao),g(e).overflow=t),e}function ut(e,t,n){return null!=e?e:null!=t?t:n}function lt(e){var t=new Date(r.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function ct(e){var t,n,r,o,i,a=[];if(!e._d){for(r=lt(e),e._w&&null==e._a[go]&&null==e._a[mo]&&dt(e),null!=e._dayOfYear&&(i=ut(e._a[ho],r[ho]),(e._dayOfYear>ne(i)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=we(i,0,e._dayOfYear),e._a[mo]=n.getUTCMonth(),e._a[go]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=r[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[_o]&&0===e._a[bo]&&0===e._a[yo]&&0===e._a[vo]&&(e._nextDay=!0,e._a[_o]=0),e._d=(e._useUTC?we:Ae).apply(null,a),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[_o]=24),e._w&&\"undefined\"!=typeof e._w.d&&e._w.d!==o&&(g(e).weekdayMismatch=!0)}}function dt(e){var t,n,r,o,i,a,s,u;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)i=1,a=4,n=ut(t.GG,e._a[ho],Le(Ot(),1,4).year),r=ut(t.W,1),o=ut(t.E,1),(o<1||o>7)&&(u=!0);else{i=e._locale._week.dow,a=e._locale._week.doy;var l=Le(Ot(),i,a);n=ut(t.gg,e._a[ho],l.year),r=ut(t.w,l.week),null!=t.d?(o=t.d,(o<0||o>6)&&(u=!0)):null!=t.e?(o=t.e+i,(t.e<0||t.e>6)&&(u=!0)):o=i}r<1||r>Te(n,i,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(s=Ee(n,r,o,i,a),e._a[ho]=s.year,e._dayOfYear=s.dayOfYear)}function ft(e){var t,n,r,o,i,a,s=e._i,u=Ho.exec(s)||qo.exec(s);if(u){for(g(e).iso=!0,t=0,n=Xo.length;t<n;t++)if(Xo[t][1].exec(u[1])){o=Xo[t][0],r=Xo[t][2]!==!1;break}if(null==o)return void(e._isValid=!1);if(u[3]){for(t=0,n=Vo.length;t<n;t++)if(Vo[t][1].exec(u[3])){i=(u[2]||\" \")+Vo[t][0];break}if(null==i)return void(e._isValid=!1)}if(!r&&null!=i)return void(e._isValid=!1);if(u[4]){if(!Uo.exec(u[4]))return void(e._isValid=!1);a=\"Z\"}e._f=o+(i||\"\")+(a||\"\"),vt(e)}else e._isValid=!1}function pt(e,t,n,r,o,i){var a=[ht(e),To.indexOf(t),parseInt(n,10),parseInt(r,10),parseInt(o,10)];return i&&a.push(parseInt(i,10)),a}function ht(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function mt(e){return e.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").trim()}function gt(e,t,n){if(e){var r=Do.indexOf(e),o=new Date(t[0],t[1],t[2]).getDay();if(r!==o)return g(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}function _t(e,t,n){if(e)return Ko[e];if(t)return 0;var r=parseInt(n,10),o=r%100,i=(r-o)/100;return 60*i+o}function bt(e){var t=$o.exec(mt(e._i));if(t){var n=pt(t[4],t[3],t[2],t[5],t[6],t[7]);if(!gt(t[1],n,e))return;e._a=n,e._tzm=_t(t[8],t[9],t[10]),e._d=we.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function yt(e){var t=Go.exec(e._i);return null!==t?void(e._d=new Date(+t[1])):(ft(e),void(e._isValid===!1&&(delete e._isValid,bt(e),e._isValid===!1&&(delete e._isValid,r.createFromInputFallback(e)))))}function vt(e){if(e._f===r.ISO_8601)return void ft(e);if(e._f===r.RFC_2822)return void bt(e);e._a=[],g(e).empty=!0;var t,n,o,i,a,s=\"\"+e._i,u=s.length,l=0;for(o=G(e._f,e._locale).match(qr)||[],t=0;t<o.length;t++)i=o[t],n=(s.match(K(i,e))||[])[0],n&&(a=s.substr(0,s.indexOf(n)),a.length>0&&g(e).unusedInput.push(a),s=s.slice(s.indexOf(n)+n.length),l+=n.length),Vr[i]?(n?g(e).empty=!1:g(e).unusedTokens.push(i),te(i,n,e)):e._strict&&!n&&g(e).unusedTokens.push(i);g(e).charsLeftOver=u-l,s.length>0&&g(e).unusedInput.push(s),e._a[_o]<=12&&g(e).bigHour===!0&&e._a[_o]>0&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[_o]=Mt(e._locale,e._a[_o],e._meridiem),ct(e),st(e)}function Mt(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(r=e.isPM(n),r&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function At(e){var t,n,r,o,i;if(0===e._f.length)return g(e).invalidFormat=!0,void(e._d=new Date(NaN));for(o=0;o<e._f.length;o++)i=0,t=y({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[o],vt(t),_(t)&&(i+=g(t).charsLeftOver,i+=10*g(t).unusedTokens.length,g(t).score=i,(null==r||i<r)&&(r=i,n=t));p(e,n||t)}function wt(e){if(!e._d){var t=R(e._i);e._a=d([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ct(e)}}function Ct(e){var t=new v(st(Et(e)));return t._nextDay&&(t.add(1,\"d\"),t._nextDay=void 0),t}function Et(e){var t=e._i,n=e._f;return e._locale=e._locale||it(e._l),null===t||void 0===n&&\"\"===t?b({nullInput:!0}):(\"string\"==typeof t&&(e._i=t=e._locale.preparse(t)),M(t)?new v(st(t)):(c(t)?e._d=t:i(n)?At(e):n?vt(e):Lt(e),_(e)||(e._d=null),e))}function Lt(e){var t=e._i;u(t)?e._d=new Date(r.now()):c(t)?e._d=new Date(t.valueOf()):\"string\"==typeof t?yt(e):i(t)?(e._a=d(t.slice(0),function(e){return parseInt(e,10)}),ct(e)):a(t)?wt(e):l(t)?e._d=new Date(t):r.createFromInputFallback(e)}function Tt(e,t,n,r,o){var u={};return n!==!0&&n!==!1||(r=n,n=void 0),(a(e)&&s(e)||i(e)&&0===e.length)&&(e=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=o,u._l=n,u._i=e,u._f=t,u._strict=r,Ct(u)}function Ot(e,t,n,r){return Tt(e,t,n,r,!1)}function St(e,t){var n,r;if(1===t.length&&i(t[0])&&(t=t[0]),!t.length)return Ot();for(n=t[0],r=1;r<t.length;++r)t[r].isValid()&&!t[r][e](n)||(n=t[r]);return n}function Nt(){var e=[].slice.call(arguments,0);return St(\"isBefore\",e)}function kt(){var e=[].slice.call(arguments,0);return St(\"isAfter\",e)}function Dt(e){for(var t in e)if(wo.call(ei,t)===-1||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,r=0;r<ei.length;++r)if(e[ei[r]]){if(n)return!1;parseFloat(e[ei[r]])!==w(e[ei[r]])&&(n=!0)}return!0}function xt(){return this._isValid}function It(){return Jt(NaN)}function zt(e){var t=R(e),n=t.year||0,r=t.quarter||0,o=t.month||0,i=t.week||0,a=t.day||0,s=t.hour||0,u=t.minute||0,l=t.second||0,c=t.millisecond||0;this._isValid=Dt(t),this._milliseconds=+c+1e3*l+6e4*u+1e3*s*60*60,this._days=+a+7*i,this._months=+o+3*r+12*n,this._data={},this._locale=it(),this._bubble()}function Pt(e){return e instanceof zt}function jt(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function Bt(e,t){q(e,0,0,function(){var e=this.utcOffset(),n=\"+\";return e<0&&(e=-e,n=\"-\"),n+H(~~(e/60),2)+t+H(~~e%60,2)})}function Ft(e,t){var n=(t||\"\").match(e);if(null===n)return null;var r=n[n.length-1]||[],o=(r+\"\").match(ti)||[\"-\",0,0],i=+(60*o[1])+w(o[2]);return 0===i?0:\"+\"===o[0]?i:-i}function Rt(e,t){var n,o;return t._isUTC?(n=t.clone(),o=(M(e)||c(e)?e.valueOf():Ot(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+o),r.updateOffset(n,!1),n):Ot(e).local()}function Wt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Yt(e,t,n){var o,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if(\"string\"==typeof e){if(e=Ft(uo,e),null===e)return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(o=Wt(this)),this._offset=e,this._isUTC=!0,null!=o&&this.add(o,\"m\"),i!==e&&(!t||this._changeInProgress?on(this,Jt(e-i,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Wt(this)}function Ht(e,t){return null!=e?(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function qt(e){return this.utcOffset(0,e)}function Ut(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Wt(this),\"m\")),this}function Xt(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var e=Ft(so,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}function Vt(e){return!!this.isValid()&&(e=e?Ot(e).utcOffset():0,(this.utcOffset()-e)%60===0)}function Gt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function $t(){if(!u(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),e=Et(e),e._a){var t=e._isUTC?h(e._a):Ot(e._a);this._isDSTShifted=this.isValid()&&C(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Kt(){return!!this.isValid()&&!this._isUTC}function Qt(){return!!this.isValid()&&this._isUTC}function Zt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Jt(e,t){var n,r,o,i=e,a=null;return Pt(e)?i={ms:e._milliseconds,d:e._days,M:e._months}:l(e)?(i={},t?i[t]=e:i.milliseconds=e):(a=ni.exec(e))?(n=\"-\"===a[1]?-1:1,i={y:0,d:w(a[go])*n,h:w(a[_o])*n,m:w(a[bo])*n,s:w(a[yo])*n,ms:w(jt(1e3*a[vo]))*n}):(a=ri.exec(e))?(n=\"-\"===a[1]?-1:(\"+\"===a[1],1),i={y:en(a[2],n),M:en(a[3],n),w:en(a[4],n),d:en(a[5],n),h:en(a[6],n),m:en(a[7],n),s:en(a[8],n)}):null==i?i={}:\"object\"==typeof i&&(\"from\"in i||\"to\"in i)&&(o=nn(Ot(i.from),Ot(i.to)),i={},i.ms=o.milliseconds,i.M=o.months),r=new zt(i),Pt(e)&&f(e,\"_locale\")&&(r._locale=e._locale),r}function en(e,t){var n=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(n)?0:n)*t}function tn(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,\"M\").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,\"M\"),n}function nn(e,t){var n;return e.isValid()&&t.isValid()?(t=Rt(t,e),e.isBefore(t)?n=tn(e,t):(n=tn(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function rn(e,t){return function(n,r){var o,i;return null===r||isNaN(+r)||(T(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),i=n,n=r,r=i),n=\"string\"==typeof n?+n:n,o=Jt(n,r),on(this,o,e),this}}function on(e,t,n,o){var i=t._milliseconds,a=jt(t._days),s=jt(t._months);e.isValid()&&(o=null==o||o,s&&ge(e,ae(e,\"Month\")+s*n),a&&se(e,\"Date\",ae(e,\"Date\")+a*n),i&&e._d.setTime(e._d.valueOf()+i*n),o&&r.updateOffset(e,a||s))}function an(e,t){var n=e.diff(t,\"days\",!0);return n<-6?\"sameElse\":n<-1?\"lastWeek\":n<0?\"lastDay\":n<1?\"sameDay\":n<2?\"nextDay\":n<7?\"nextWeek\":\"sameElse\"}function sn(e,t){var n=e||Ot(),o=Rt(n,this).startOf(\"day\"),i=r.calendarFormat(this,o)||\"sameElse\",a=t&&(O(t[i])?t[i].call(this,n):t[i]);return this.format(a||this.localeData().calendar(i,this,Ot(n)))}function un(){return new v(this)}function ln(e,t){var n=M(e)?e:Ot(e);return!(!this.isValid()||!n.isValid())&&(t=F(u(t)?\"millisecond\":t),\"millisecond\"===t?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())}function cn(e,t){var n=M(e)?e:Ot(e);return!(!this.isValid()||!n.isValid())&&(t=F(u(t)?\"millisecond\":t),\"millisecond\"===t?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())}function dn(e,t,n,r){return r=r||\"()\",(\"(\"===r[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(\")\"===r[1]?this.isBefore(t,n):!this.isAfter(t,n))}function fn(e,t){var n,r=M(e)?e:Ot(e);return!(!this.isValid()||!r.isValid())&&(t=F(t||\"millisecond\"),\"millisecond\"===t?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))}function pn(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function hn(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function mn(e,t,n){var r,o,i;if(!this.isValid())return NaN;if(r=Rt(e,this),!r.isValid())return NaN;switch(o=6e4*(r.utcOffset()-this.utcOffset()),t=F(t)){case\"year\":i=gn(this,r)/12;break;case\"month\":i=gn(this,r);break;case\"quarter\":i=gn(this,r)/3;break;case\"second\":i=(this-r)/1e3;break;case\"minute\":i=(this-r)/6e4;break;case\"hour\":i=(this-r)/36e5;break;case\"day\":i=(this-r-o)/864e5;break;case\"week\":i=(this-r-o)/6048e5;break;default:i=this-r}return n?i:A(i)}function gn(e,t){var n,r,o=12*(t.year()-e.year())+(t.month()-e.month()),i=e.clone().add(o,\"months\");return t-i<0?(n=e.clone().add(o-1,\"months\"),r=(t-i)/(i-n)):(n=e.clone().add(o+1,\"months\"),r=(t-i)/(n-i)),-(o+r)||0}function _n(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function bn(e){if(!this.isValid())return null;var t=e!==!0,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?V(n,t?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\"Z\",V(n,\"Z\")):V(n,t?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")}function yn(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var n=\"[\"+e+'(\"]',r=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",o=\"-MM-DD[T]HH:mm:ss.SSS\",i=t+'[\")]';return this.format(n+r+o+i)}function vn(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);\nvar t=V(this,e);return this.localeData().postformat(t)}function Mn(e,t){return this.isValid()&&(M(e)&&e.isValid()||Ot(e).isValid())?Jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function An(e){return this.from(Ot(),e)}function wn(e,t){return this.isValid()&&(M(e)&&e.isValid()||Ot(e).isValid())?Jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Cn(e){return this.to(Ot(),e)}function En(e){var t;return void 0===e?this._locale._abbr:(t=it(e),null!=t&&(this._locale=t),this)}function Ln(){return this._locale}function Tn(e){switch(e=F(e)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":case\"date\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===e&&this.weekday(0),\"isoWeek\"===e&&this.isoWeekday(1),\"quarter\"===e&&this.month(3*Math.floor(this.month()/3)),this}function On(e){return e=F(e),void 0===e||\"millisecond\"===e?this:(\"date\"===e&&(e=\"day\"),this.startOf(e).add(1,\"isoWeek\"===e?\"week\":e).subtract(1,\"ms\"))}function Sn(){return this._d.valueOf()-6e4*(this._offset||0)}function Nn(){return Math.floor(this.valueOf()/1e3)}function kn(){return new Date(this.valueOf())}function Dn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function xn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function In(){return this.isValid()?this.toISOString():null}function zn(){return _(this)}function Pn(){return p({},g(this))}function jn(){return g(this).overflow}function Bn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Fn(e,t){q(0,[e,e.length],0,t)}function Rn(e){return qn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Wn(e){return qn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Yn(){return Te(this.year(),1,4)}function Hn(){var e=this.localeData()._week;return Te(this.year(),e.dow,e.doy)}function qn(e,t,n,r,o){var i;return null==e?Le(this,r,o).year:(i=Te(e,r,o),t>i&&(t=i),Un.call(this,e,t,n,r,o))}function Un(e,t,n,r,o){var i=Ee(e,t,n,r,o),a=we(i.year,0,i.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function Xn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Vn(e){var t=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")}function Gn(e,t){t[vo]=w(1e3*(\"0.\"+e))}function $n(){return this._isUTC?\"UTC\":\"\"}function Kn(){return this._isUTC?\"Coordinated Universal Time\":\"\"}function Qn(e){return Ot(1e3*e)}function Zn(){return Ot.apply(null,arguments).parseZone()}function Jn(e){return e}function er(e,t,n,r){var o=it(),i=h().set(r,t);return o[n](i,e)}function tr(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return er(e,t,n,\"month\");var r,o=[];for(r=0;r<12;r++)o[r]=er(e,r,n,\"month\");return o}function nr(e,t,n,r){\"boolean\"==typeof e?(l(t)&&(n=t,t=void 0),t=t||\"\"):(t=e,n=t,e=!1,l(t)&&(n=t,t=void 0),t=t||\"\");var o=it(),i=e?o._week.dow:0;if(null!=n)return er(t,(n+i)%7,r,\"day\");var a,s=[];for(a=0;a<7;a++)s[a]=er(t,(a+i)%7,r,\"day\");return s}function rr(e,t){return tr(e,t,\"months\")}function or(e,t){return tr(e,t,\"monthsShort\")}function ir(e,t,n){return nr(e,t,n,\"weekdays\")}function ar(e,t,n){return nr(e,t,n,\"weekdaysShort\")}function sr(e,t,n){return nr(e,t,n,\"weekdaysMin\")}function ur(){var e=this._data;return this._milliseconds=hi(this._milliseconds),this._days=hi(this._days),this._months=hi(this._months),e.milliseconds=hi(e.milliseconds),e.seconds=hi(e.seconds),e.minutes=hi(e.minutes),e.hours=hi(e.hours),e.months=hi(e.months),e.years=hi(e.years),this}function lr(e,t,n,r){var o=Jt(t,n);return e._milliseconds+=r*o._milliseconds,e._days+=r*o._days,e._months+=r*o._months,e._bubble()}function cr(e,t){return lr(this,e,t,1)}function dr(e,t){return lr(this,e,t,-1)}function fr(e){return e<0?Math.floor(e):Math.ceil(e)}function pr(){var e,t,n,r,o,i=this._milliseconds,a=this._days,s=this._months,u=this._data;return i>=0&&a>=0&&s>=0||i<=0&&a<=0&&s<=0||(i+=864e5*fr(mr(s)+a),a=0,s=0),u.milliseconds=i%1e3,e=A(i/1e3),u.seconds=e%60,t=A(e/60),u.minutes=t%60,n=A(t/60),u.hours=n%24,a+=A(n/24),o=A(hr(a)),s+=o,a-=fr(mr(o)),r=A(s/12),s%=12,u.days=a,u.months=s,u.years=r,this}function hr(e){return 4800*e/146097}function mr(e){return 146097*e/4800}function gr(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(e=F(e),\"month\"===e||\"year\"===e)return t=this._days+r/864e5,n=this._months+hr(t),\"month\"===e?n:n/12;switch(t=this._days+Math.round(mr(this._months)),e){case\"week\":return t/7+r/6048e5;case\"day\":return t+r/864e5;case\"hour\":return 24*t+r/36e5;case\"minute\":return 1440*t+r/6e4;case\"second\":return 86400*t+r/1e3;case\"millisecond\":return Math.floor(864e5*t)+r;default:throw new Error(\"Unknown unit \"+e)}}function _r(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN}function br(e){return function(){return this.as(e)}}function yr(){return Jt(this)}function vr(e){return e=F(e),this.isValid()?this[e+\"s\"]():NaN}function Mr(e){return function(){return this.isValid()?this._data[e]:NaN}}function Ar(){return A(this.days()/7)}function wr(e,t,n,r,o){return o.relativeTime(t||1,!!n,e,r)}function Cr(e,t,n){var r=Jt(e).abs(),o=Ni(r.as(\"s\")),i=Ni(r.as(\"m\")),a=Ni(r.as(\"h\")),s=Ni(r.as(\"d\")),u=Ni(r.as(\"M\")),l=Ni(r.as(\"y\")),c=o<=ki.ss&&[\"s\",o]||o<ki.s&&[\"ss\",o]||i<=1&&[\"m\"]||i<ki.m&&[\"mm\",i]||a<=1&&[\"h\"]||a<ki.h&&[\"hh\",a]||s<=1&&[\"d\"]||s<ki.d&&[\"dd\",s]||u<=1&&[\"M\"]||u<ki.M&&[\"MM\",u]||l<=1&&[\"y\"]||[\"yy\",l];return c[2]=t,c[3]=+e>0,c[4]=n,wr.apply(null,c)}function Er(e){return void 0===e?Ni:\"function\"==typeof e&&(Ni=e,!0)}function Lr(e,t){return void 0!==ki[e]&&(void 0===t?ki[e]:(ki[e]=t,\"s\"===e&&(ki.ss=t-1),!0))}function Tr(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=Cr(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function Or(e){return(e>0)-(e<0)||+e}function Sr(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r=Di(this._milliseconds)/1e3,o=Di(this._days),i=Di(this._months);e=A(r/60),t=A(e/60),r%=60,e%=60,n=A(i/12),i%=12;var a=n,s=i,u=o,l=t,c=e,d=r?r.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",f=this.asSeconds();if(!f)return\"P0D\";var p=f<0?\"-\":\"\",h=Or(this._months)!==Or(f)?\"-\":\"\",m=Or(this._days)!==Or(f)?\"-\":\"\",g=Or(this._milliseconds)!==Or(f)?\"-\":\"\";return p+\"P\"+(a?h+a+\"Y\":\"\")+(s?h+s+\"M\":\"\")+(u?m+u+\"D\":\"\")+(l||c||d?\"T\":\"\")+(l?g+l+\"H\":\"\")+(c?g+c+\"M\":\"\")+(d?g+d+\"S\":\"\")}var Nr,kr;kr=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r<n;r++)if(r in t&&e.call(this,t[r],r,t))return!0;return!1};var Dr=r.momentProperties=[],xr=!1,Ir={};r.suppressDeprecationWarnings=!1,r.deprecationHandler=null;var zr;zr=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)f(e,t)&&n.push(t);return n};var Pr={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},jr={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},Br=\"Invalid date\",Fr=\"%d\",Rr=/\\d{1,2}/,Wr={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},Yr={},Hr={},qr=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Ur=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Xr={},Vr={},Gr=/\\d/,$r=/\\d\\d/,Kr=/\\d{3}/,Qr=/\\d{4}/,Zr=/[+-]?\\d{6}/,Jr=/\\d\\d?/,eo=/\\d\\d\\d\\d?/,to=/\\d\\d\\d\\d\\d\\d?/,no=/\\d{1,3}/,ro=/\\d{1,4}/,oo=/[+-]?\\d{1,6}/,io=/\\d+/,ao=/[+-]?\\d+/,so=/Z|[+-]\\d\\d:?\\d\\d/gi,uo=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,lo=/[+-]?\\d+(\\.\\d{1,3})?/,co=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,fo={},po={},ho=0,mo=1,go=2,_o=3,bo=4,yo=5,vo=6,Mo=7,Ao=8;q(\"Y\",0,0,function(){var e=this.year();return e<=9999?\"\"+e:\"+\"+e}),q(0,[\"YY\",2],0,function(){return this.year()%100}),q(0,[\"YYYY\",4],0,\"year\"),q(0,[\"YYYYY\",5],0,\"year\"),q(0,[\"YYYYYY\",6,!0],0,\"year\"),B(\"year\",\"y\"),W(\"year\",1),$(\"Y\",ao),$(\"YY\",Jr,$r),$(\"YYYY\",ro,Qr),$(\"YYYYY\",oo,Zr),$(\"YYYYYY\",oo,Zr),J([\"YYYYY\",\"YYYYYY\"],ho),J(\"YYYY\",function(e,t){t[ho]=2===e.length?r.parseTwoDigitYear(e):w(e)}),J(\"YY\",function(e,t){t[ho]=r.parseTwoDigitYear(e)}),J(\"Y\",function(e,t){t[ho]=parseInt(e,10)}),r.parseTwoDigitYear=function(e){return w(e)+(w(e)>68?1900:2e3)};var wo,Co=ie(\"FullYear\",!0);wo=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},q(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),q(\"MMM\",0,0,function(e){return this.localeData().monthsShort(this,e)}),q(\"MMMM\",0,0,function(e){return this.localeData().months(this,e)}),B(\"month\",\"M\"),W(\"month\",8),$(\"M\",Jr),$(\"MM\",Jr,$r),$(\"MMM\",function(e,t){return t.monthsShortRegex(e)}),$(\"MMMM\",function(e,t){return t.monthsRegex(e)}),J([\"M\",\"MM\"],function(e,t){t[mo]=w(e)-1}),J([\"MMM\",\"MMMM\"],function(e,t,n,r){var o=n._locale.monthsParse(e,r,n._strict);null!=o?t[mo]=o:g(n).invalidMonth=e});var Eo=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,Lo=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),To=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),Oo=co,So=co;q(\"w\",[\"ww\",2],\"wo\",\"week\"),q(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),B(\"week\",\"w\"),B(\"isoWeek\",\"W\"),W(\"week\",5),W(\"isoWeek\",5),$(\"w\",Jr),$(\"ww\",Jr,$r),$(\"W\",Jr),$(\"WW\",Jr,$r),ee([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,n,r){t[r.substr(0,1)]=w(e)});var No={dow:0,doy:6};q(\"d\",0,\"do\",\"day\"),q(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),q(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),q(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),q(\"e\",0,0,\"weekday\"),q(\"E\",0,0,\"isoWeekday\"),B(\"day\",\"d\"),B(\"weekday\",\"e\"),B(\"isoWeekday\",\"E\"),W(\"day\",11),W(\"weekday\",11),W(\"isoWeekday\",11),$(\"d\",Jr),$(\"e\",Jr),$(\"E\",Jr),$(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),$(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),$(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),ee([\"dd\",\"ddd\",\"dddd\"],function(e,t,n,r){var o=n._locale.weekdaysParse(e,r,n._strict);null!=o?t.d=o:g(n).invalidWeekday=e}),ee([\"d\",\"e\",\"E\"],function(e,t,n,r){t[r]=w(e)});var ko=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),Do=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),xo=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),Io=co,zo=co,Po=co;q(\"H\",[\"HH\",2],0,\"hour\"),q(\"h\",[\"hh\",2],0,Ve),q(\"k\",[\"kk\",2],0,Ge),q(\"hmm\",0,0,function(){return\"\"+Ve.apply(this)+H(this.minutes(),2)}),q(\"hmmss\",0,0,function(){return\"\"+Ve.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),q(\"Hmm\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)}),q(\"Hmmss\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),$e(\"a\",!0),$e(\"A\",!1),B(\"hour\",\"h\"),W(\"hour\",13),$(\"a\",Ke),$(\"A\",Ke),$(\"H\",Jr),$(\"h\",Jr),$(\"k\",Jr),$(\"HH\",Jr,$r),$(\"hh\",Jr,$r),$(\"kk\",Jr,$r),$(\"hmm\",eo),$(\"hmmss\",to),$(\"Hmm\",eo),$(\"Hmmss\",to),J([\"H\",\"HH\"],_o),J([\"k\",\"kk\"],function(e,t,n){var r=w(e);t[_o]=24===r?0:r}),J([\"a\",\"A\"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),J([\"h\",\"hh\"],function(e,t,n){t[_o]=w(e),g(n).bigHour=!0}),J(\"hmm\",function(e,t,n){var r=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r)),g(n).bigHour=!0}),J(\"hmmss\",function(e,t,n){var r=e.length-4,o=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r,2)),t[yo]=w(e.substr(o)),g(n).bigHour=!0}),J(\"Hmm\",function(e,t,n){var r=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r))}),J(\"Hmmss\",function(e,t,n){var r=e.length-4,o=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r,2)),t[yo]=w(e.substr(o))});var jo,Bo=/[ap]\\.?m?\\.?/i,Fo=ie(\"Hours\",!0),Ro={calendar:Pr,longDateFormat:jr,invalidDate:Br,ordinal:Fr,dayOfMonthOrdinalParse:Rr,relativeTime:Wr,months:Lo,monthsShort:To,week:No,weekdays:ko,weekdaysMin:xo,weekdaysShort:Do,meridiemParse:Bo},Wo={},Yo={},Ho=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,qo=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Uo=/Z|[+-]\\d\\d(?::?\\d\\d)?/,Xo=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],Vo=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],Go=/^\\/?Date\\((\\-?\\d+)/i,$o=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,Ko={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};r.createFromInputFallback=L(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),r.ISO_8601=function(){},r.RFC_2822=function(){};var Qo=L(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Ot.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:b()}),Zo=L(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Ot.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:b()}),Jo=function(){return Date.now?Date.now():+new Date},ei=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];Bt(\"Z\",\":\"),Bt(\"ZZ\",\"\"),$(\"Z\",uo),$(\"ZZ\",uo),J([\"Z\",\"ZZ\"],function(e,t,n){n._useUTC=!0,n._tzm=Ft(uo,e)});var ti=/([\\+\\-]|\\d\\d)/gi;r.updateOffset=function(){};var ni=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,ri=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Jt.fn=zt.prototype,Jt.invalid=It;var oi=rn(1,\"add\"),ii=rn(-1,\"subtract\");r.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",r.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var ai=L(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});q(0,[\"gg\",2],0,function(){return this.weekYear()%100}),q(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),Fn(\"gggg\",\"weekYear\"),Fn(\"ggggg\",\"weekYear\"),Fn(\"GGGG\",\"isoWeekYear\"),Fn(\"GGGGG\",\"isoWeekYear\"),B(\"weekYear\",\"gg\"),B(\"isoWeekYear\",\"GG\"),W(\"weekYear\",1),W(\"isoWeekYear\",1),$(\"G\",ao),$(\"g\",ao),$(\"GG\",Jr,$r),$(\"gg\",Jr,$r),$(\"GGGG\",ro,Qr),$(\"gggg\",ro,Qr),$(\"GGGGG\",oo,Zr),$(\"ggggg\",oo,Zr),ee([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,t,n,r){t[r.substr(0,2)]=w(e)}),ee([\"gg\",\"GG\"],function(e,t,n,o){t[o]=r.parseTwoDigitYear(e)}),q(\"Q\",0,\"Qo\",\"quarter\"),B(\"quarter\",\"Q\"),W(\"quarter\",7),$(\"Q\",Gr),J(\"Q\",function(e,t){t[mo]=3*(w(e)-1)}),q(\"D\",[\"DD\",2],\"Do\",\"date\"),B(\"date\",\"D\"),W(\"date\",9),$(\"D\",Jr),$(\"DD\",Jr,$r),$(\"Do\",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),J([\"D\",\"DD\"],go),J(\"Do\",function(e,t){t[go]=w(e.match(Jr)[0])});var si=ie(\"Date\",!0);q(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),B(\"dayOfYear\",\"DDD\"),W(\"dayOfYear\",4),$(\"DDD\",no),$(\"DDDD\",Kr),J([\"DDD\",\"DDDD\"],function(e,t,n){n._dayOfYear=w(e)}),q(\"m\",[\"mm\",2],0,\"minute\"),B(\"minute\",\"m\"),W(\"minute\",14),$(\"m\",Jr),$(\"mm\",Jr,$r),J([\"m\",\"mm\"],bo);var ui=ie(\"Minutes\",!1);q(\"s\",[\"ss\",2],0,\"second\"),B(\"second\",\"s\"),W(\"second\",15),$(\"s\",Jr),$(\"ss\",Jr,$r),J([\"s\",\"ss\"],yo);var li=ie(\"Seconds\",!1);q(\"S\",0,0,function(){return~~(this.millisecond()/100)}),q(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),q(0,[\"SSS\",3],0,\"millisecond\"),q(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),q(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),q(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),q(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),q(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),q(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),B(\"millisecond\",\"ms\"),W(\"millisecond\",16),$(\"S\",no,Gr),$(\"SS\",no,$r),$(\"SSS\",no,Kr);var ci;for(ci=\"SSSS\";ci.length<=9;ci+=\"S\")$(ci,io);for(ci=\"S\";ci.length<=9;ci+=\"S\")J(ci,Gn);var di=ie(\"Milliseconds\",!1);q(\"z\",0,0,\"zoneAbbr\"),q(\"zz\",0,0,\"zoneName\");var fi=v.prototype;fi.add=oi,fi.calendar=sn,fi.clone=un,fi.diff=mn,fi.endOf=On,fi.format=vn,fi.from=Mn,fi.fromNow=An,fi.to=wn,fi.toNow=Cn,fi.get=ue,fi.invalidAt=jn,fi.isAfter=ln,fi.isBefore=cn,fi.isBetween=dn,fi.isSame=fn,fi.isSameOrAfter=pn,fi.isSameOrBefore=hn,fi.isValid=zn,fi.lang=ai,fi.locale=En,fi.localeData=Ln,fi.max=Zo,fi.min=Qo,fi.parsingFlags=Pn,fi.set=le,fi.startOf=Tn,fi.subtract=ii,fi.toArray=Dn,fi.toObject=xn,fi.toDate=kn,fi.toISOString=bn,fi.inspect=yn,fi.toJSON=In,fi.toString=_n,fi.unix=Nn,fi.valueOf=Sn,fi.creationData=Bn,fi.year=Co,fi.isLeapYear=oe,fi.weekYear=Rn,fi.isoWeekYear=Wn,fi.quarter=fi.quarters=Xn,fi.month=_e,fi.daysInMonth=be,fi.week=fi.weeks=ke,fi.isoWeek=fi.isoWeeks=De,fi.weeksInYear=Hn,fi.isoWeeksInYear=Yn,fi.date=si,fi.day=fi.days=Re,fi.weekday=We,fi.isoWeekday=Ye,fi.dayOfYear=Vn,fi.hour=fi.hours=Fo,fi.minute=fi.minutes=ui,fi.second=fi.seconds=li,fi.millisecond=fi.milliseconds=di,fi.utcOffset=Yt,fi.utc=qt,fi.local=Ut,fi.parseZone=Xt,fi.hasAlignedHourOffset=Vt,fi.isDST=Gt,fi.isLocal=Kt,fi.isUtcOffset=Qt,fi.isUtc=Zt,fi.isUTC=Zt,fi.zoneAbbr=$n,fi.zoneName=Kn,fi.dates=L(\"dates accessor is deprecated. Use date instead.\",si),fi.months=L(\"months accessor is deprecated. Use month instead\",_e),fi.years=L(\"years accessor is deprecated. Use year instead\",Co),fi.zone=L(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",Ht),fi.isDSTShifted=L(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",$t);var pi=k.prototype;pi.calendar=D,pi.longDateFormat=x,pi.invalidDate=I,pi.ordinal=z,pi.preparse=Jn,pi.postformat=Jn,pi.relativeTime=P,pi.pastFuture=j,pi.set=S,pi.months=fe,pi.monthsShort=pe,pi.monthsParse=me,pi.monthsRegex=ve,pi.monthsShortRegex=ye,pi.week=Oe,pi.firstDayOfYear=Ne,pi.firstDayOfWeek=Se,pi.weekdays=ze,pi.weekdaysMin=je,pi.weekdaysShort=Pe,pi.weekdaysParse=Fe,pi.weekdaysRegex=He,pi.weekdaysShortRegex=qe,pi.weekdaysMinRegex=Ue,pi.isPM=Qe,pi.meridiem=Ze,nt(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===w(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n}}),r.lang=L(\"moment.lang is deprecated. Use moment.locale instead.\",nt),r.langData=L(\"moment.langData is deprecated. Use moment.localeData instead.\",it);var hi=Math.abs,mi=br(\"ms\"),gi=br(\"s\"),_i=br(\"m\"),bi=br(\"h\"),yi=br(\"d\"),vi=br(\"w\"),Mi=br(\"M\"),Ai=br(\"y\"),wi=Mr(\"milliseconds\"),Ci=Mr(\"seconds\"),Ei=Mr(\"minutes\"),Li=Mr(\"hours\"),Ti=Mr(\"days\"),Oi=Mr(\"months\"),Si=Mr(\"years\"),Ni=Math.round,ki={ss:44,s:45,m:45,h:22,d:26,M:11},Di=Math.abs,xi=zt.prototype;return xi.isValid=xt,xi.abs=ur,xi.add=cr,xi.subtract=dr,xi.as=gr,xi.asMilliseconds=mi,xi.asSeconds=gi,xi.asMinutes=_i,xi.asHours=bi,xi.asDays=yi,xi.asWeeks=vi,xi.asMonths=Mi,xi.asYears=Ai,xi.valueOf=_r,xi._bubble=pr,xi.clone=yr,xi.get=vr,xi.milliseconds=wi,xi.seconds=Ci,xi.minutes=Ei,xi.hours=Li,xi.days=Ti,xi.weeks=Ar,xi.months=Oi,xi.years=Si,xi.humanize=Tr,xi.toISOString=Sr,xi.toString=Sr,xi.toJSON=Sr,xi.locale=En,xi.localeData=Ln,xi.toIsoString=L(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Sr),xi.lang=ai,q(\"X\",0,0,\"unix\"),q(\"x\",0,0,\"valueOf\"),$(\"x\",ao),$(\"X\",lo),J(\"X\",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),J(\"x\",function(e,t,n){n._d=new Date(w(e))}),r.version=\"2.22.1\",o(Ot),r.fn=fi,r.min=Nt,r.max=kt,r.now=Jo,r.utc=h,r.unix=Qn,r.months=rr,r.isDate=c,r.locale=nt,r.invalid=b,r.duration=Jt,r.isMoment=M,r.weekdays=ir,r.parseZone=Zn,r.localeData=it,r.isDuration=Pt,r.monthsShort=or,r.weekdaysMin=sr,r.defineLocale=rt,r.updateLocale=ot,r.locales=at,r.weekdaysShort=ar,r.normalizeUnits=F,r.relativeTimeRounding=Er,r.relativeTimeThreshold=Lr,r.calendarFormat=an,r.prototype=fi,r.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"YYYY-[W]WW\",MONTH:\"YYYY-MM\"},r})}).call(t,n(38),n(227)(e))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"loadNamespaces\",{enumerable:!0,get:function(){return r.loadNamespaces}}),Object.defineProperty(t,\"withNamespaces\",{enumerable:!0,get:function(){return o.withNamespaces}}),Object.defineProperty(t,\"translate\",{enumerable:!0,get:function(){return o.translate}}),Object.defineProperty(t,\"NamespacesConsumer\",{enumerable:!0,get:function(){return i.NamespacesConsumer}}),Object.defineProperty(t,\"I18n\",{enumerable:!0,get:function(){return i.I18n}}),Object.defineProperty(t,\"Trans\",{enumerable:!0,get:function(){return a.Trans}}),Object.defineProperty(t,\"I18nextProvider\",{enumerable:!0,get:function(){return s.I18nextProvider}}),Object.defineProperty(t,\"withI18n\",{enumerable:!0,get:function(){return u.withI18n}}),Object.defineProperty(t,\"I18nContext\",{enumerable:!0,get:function(){return u.I18nContext}}),Object.defineProperty(t,\"reactI18nextModule\",{enumerable:!0,get:function(){return u.reactI18nextModule}}),Object.defineProperty(t,\"setDefaults\",{enumerable:!0,get:function(){return u.setDefaults}}),Object.defineProperty(t,\"getDefaults\",{enumerable:!0,get:function(){return u.getDefaults}}),Object.defineProperty(t,\"setI18n\",{enumerable:!0,get:function(){return u.setI18n}}),Object.defineProperty(t,\"getI18n\",{enumerable:!0,get:function(){return u.getI18n}}),Object.defineProperty(t,\"Interpolate\",{enumerable:!0,get:function(){return l.Interpolate}});var r=n(141),o=n(1552),i=n(611),a=n(1551),s=n(1549),u=n(140),l=n(1550)},function(e,t,n){e.exports=n(1378)()},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(894),i=r(o),a=n(893),s=r(a),u=n(242),l=r(u);t.default=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+(\"undefined\"==typeof t?\"undefined\":(0,l.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(i.default?(0,i.default)(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(242),i=r(o);t.default=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==(\"undefined\"==typeof t?\"undefined\":(0,i.default)(t))&&\"function\"!=typeof t?e:t}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(359),i=r(o);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.XpubField=t.TextareaField=t.TextField=t.TableList=t.SubmitIndicator=t.StepList=t.Step=t.SingletonField=t.SelectField=t.Section=t.SearchBar=t.RoutingContainer=t.RestoreMnemonic=t.RestoreKeystore=t.RelativeTime=t.RawJsonButton=t.RadioField=t.PasswordField=t.Pagination=t.PageTitle=t.PageContent=t.ObjectSelectorField=t.NotFound=t.Mnemonic=t.KeyValueTable=t.KeyConfiguration=t.JsonField=t.HiddenField=t.GasField=t.FormSection=t.FormContainer=t.Flash=t.FileField=t.FieldLabel=t.ErrorBanner=t.EmptyContent=t.CopyableBlock=t.BaseShow=t.BaseNew=t.BaseList=t.BaseUpdate=t.Autocomplete=t.ConsoleSection=t.ConfirmMnemonic=t.CheckboxField=t.AmountInputMask=t.AmountUnitField=t.AmountField=void 0;var o=n(779),i=r(o),a=n(781),s=r(a),u=n(780),l=r(u),c=n(790),d=r(c),f=n(784),p=r(f),h=n(789),m=r(h),g=n(785),_=r(g),b=n(787),y=r(b),v=n(788),M=r(v),A=n(794),w=r(A),C=n(791),E=r(C),L=n(792),T=r(L),O=n(795),S=r(O),N=n(796),k=r(N),D=n(350),x=r(D),I=n(797),z=r(I),P=n(798),j=r(P),B=n(799),F=r(B),R=n(800),W=r(R),Y=n(801),H=r(Y),q=n(802),U=r(q),X=n(803),V=r(X),G=n(804),$=r(G),K=n(805),Q=r(K),Z=n(806),J=r(Z),ee=n(351),te=r(ee),ne=n(807),re=r(ne),oe=n(808),ie=r(oe),ae=n(809),se=r(ae),ue=n(810),le=r(ue),ce=n(811),de=r(ce),fe=n(812),pe=r(fe),he=n(813),me=r(he),ge=n(814),_e=r(ge),be=n(815),ye=r(be),ve=n(816),Me=r(ve),Ae=n(817),we=r(Ae),Ce=n(818),Ee=r(Ce),Le=n(819),Te=r(Le),Oe=n(820),Se=r(Oe),Ne=n(821),ke=r(Ne),De=n(822),xe=r(De),Ie=n(823),ze=r(Ie),Pe=n(824),je=r(Pe),Be=n(825),Fe=r(Be),Re=n(826),We=r(Re),Ye=n(827),He=r(Ye),qe=n(828),Ue=r(qe);t.AmountField=i.default,t.AmountUnitField=s.default,t.AmountInputMask=l.default,t.CheckboxField=d.default,t.ConfirmMnemonic=E.default,t.ConsoleSection=T.default,t.Autocomplete=p.default,t.BaseUpdate=m.default,t.BaseList=_.default,t.BaseNew=y.default,t.BaseShow=M.default,t.CopyableBlock=w.default,t.EmptyContent=S.default,t.ErrorBanner=k.default,t.FieldLabel=x.default,t.FileField=z.default,t.Flash=j.default,t.FormContainer=F.default,t.FormSection=W.default,t.GasField=H.default,t.HiddenField=U.default,t.JsonField=V.default,t.KeyConfiguration=$.default,t.KeyValueTable=Q.default,t.Mnemonic=J.default,t.NotFound=te.default,t.ObjectSelectorField=re.default,t.PageContent=ie.default,t.PageTitle=se.default,t.Pagination=le.default,t.PasswordField=de.default,t.RadioField=pe.default,t.RawJsonButton=me.default,t.RelativeTime=_e.default,t.RestoreKeystore=ye.default,t.RestoreMnemonic=Me.default,t.RoutingContainer=we.default,t.SearchBar=Ee.default,t.Section=Te.default,t.SelectField=Se.default,t.SingletonField=ke.default,t.Step=xe.default,t.StepList=ze.default,t.SubmitIndicator=je.default,t.TableList=Fe.default,t.TextField=We.default,t.TextareaField=He.default,t.XpubField=Ue.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){var r,o;!function(){\"use strict\";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if(\"string\"===o||\"number\"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if(\"object\"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(\" \")}var i={}.hasOwnProperty;\"undefined\"!=typeof e&&e.exports?e.exports=n:(r=[],o=function(){return n}.apply(t,r),!(void 0!==o&&(e.exports=o)))}()},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var o=n[n.length-1];return\"function\"==typeof o?e.apply(void 0,n):function(t){return e.apply(void 0,n.concat([t]))}}}function i(e,t){return null==e.bsClass?(0,_.default)(!1):void 0,e.bsClass+(t?\"-\"+t:\"\")}function a(e){var t,n=(t={},t[i(e)]=!0,t);if(e.bsSize){var r=v.SIZE_MAP[e.bsSize]||e.bsSize;n[i(e,r)]=!0}return e.bsStyle&&(n[i(e,e.bsStyle)]=!0),n}function s(e){return{bsClass:e.bsClass,bsSize:e.bsSize,bsStyle:e.bsStyle,bsRole:e.bsRole}}function u(e){return\"bsClass\"===e||\"bsSize\"===e||\"bsStyle\"===e||\"bsRole\"===e}function l(e){var t={};return(0,p.default)(e).forEach(function(e){var n=e[0],r=e[1];u(n)||(t[n]=r)}),[s(e),t]}function c(e,t){var n={};t.forEach(function(e){n[e]=!0});var r={};return(0,p.default)(e).forEach(function(e){var t=e[0],o=e[1];u(t)||n[t]||(r[t]=o)}),[s(e),r]}function d(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];M(n,e)}t.__esModule=!0,t._curry=t.bsSizes=t.bsStyles=t.bsClass=void 0;var f=n(360),p=r(f),h=n(9),m=r(h);t.prefix=i,t.getClassSet=a,t.splitBsProps=l,t.splitBsPropsAndOmit=c,t.addStyle=d;var g=n(33),_=r(g),b=n(5),y=r(b),v=n(40),M=(t.bsClass=o(function(e,t){var n=t.propTypes||(t.propTypes={}),r=t.defaultProps||(t.defaultProps={});return n.bsClass=y.default.string,r.bsClass=e,t}),t.bsStyles=o(function(e,t,n){\"string\"!=typeof t&&(n=t,t=void 0);var r=n.STYLES||[],o=n.propTypes||{};e.forEach(function(e){r.indexOf(e)===-1&&r.push(e)});var i=y.default.oneOf(r);if(n.STYLES=i._values=r,n.propTypes=(0,m.default)({},o,{bsStyle:i}),void 0!==t){var a=n.defaultProps||(n.defaultProps={});a.bsStyle=t}return n}));t.bsSizes=o(function(e,t,n){\"string\"!=typeof t&&(n=t,t=void 0);var r=n.SIZES||[],o=n.propTypes||{};e.forEach(function(e){r.indexOf(e)===-1&&r.push(e)});var i=[];r.forEach(function(e){var t=v.SIZE_MAP[e];t&&t!==e&&i.push(t),i.push(e)});var a=y.default.oneOf(i);return a._values=i,n.SIZES=r,n.propTypes=(0,m.default)({},o,{bsSize:a}),void 0!==t&&(n.defaultProps||(n.defaultProps={}),n.defaultProps.bsSize=t),n}),t._curry=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.releaseUrl=t.docsRoot=t.testnetUrl=t.testnetInfoUrl=t.federationApiHost=t.UTXOpageSize=t.pageSize=t.btmID=t.history=t.chainSigner=t.chainClient=void 0;var o=n(241),i=r(o),a=n(342),s=n(27),u=n(1268),l=void 0,c=void 0;l=window.location.origin,c=\"/dashboard\";t.chainClient=function(){return new i.default.Client({url:l,accessToken:a.store.getState().core.clientToken})},t.chainSigner=function(){return new i.default.HsmSigner},t.history=(0,s.useRouterHistory)(u.createHistory)({basename:c}),t.btmID=\"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",t.pageSize=25,t.UTXOpageSize=10,t.federationApiHost=window.location.protocol+\"//\"+window.location.hostname+\":9886\",t.testnetInfoUrl=\"https://testnet-info.chain.com\",t.testnetUrl=\"https://testnet.chain.com\",t.docsRoot=\"https://github.com/Bytom/vapor/wiki\",t.releaseUrl=\"https://github.com/Bytom/vapor/releases\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(174),i=r(o),a=n(175),s=n(343),u=n(231),l=n(345),c=n(232),d=n(346),f=n(176),p=n(233),h=n(234),m=n(235),g=n(353),_=n(180),b=n(178),y=n(354),v=n(238),M=n(177),A={accessControl:i.default,account:a.actions,app:s.actions,asset:u.actions,backUp:l.actions,balance:c.actions,configuration:d.actions,core:f.actions,federation:p.actions,initialization:h.actions,key:m.actions,testnet:g.actions,transaction:_.actions,transactionFeed:b.actions,tutorial:y.actions,unspent:v.actions,peer:M.actions};t.default=A},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.connect=t.Provider=void 0;var o=n(1569),i=r(o),a=n(1570),s=r(a);t.Provider=i.default,t.connect=s.default},function(e,t,n){\"use strict\";function r(e,t,n,r,i,a,s,u){if(o(t),!e){\nvar l;if(void 0===t)l=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,r,i,a,s,u],d=0;l=new Error(t.replace(/%s/g,function(){return c[d++]})),l.name=\"Invariant Violation\"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=r},[1711,22],function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";var r=n(63),o=r;e.exports=o},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.untouchWithKey=t.untouch=t.touchWithKey=t.touch=t.swapArrayValues=t.stopSubmit=t.stopAsyncValidation=t.startSubmit=t.startAsyncValidation=t.reset=t.propTypes=t.initializeWithKey=t.initialize=t.getValues=t.removeArrayValue=t.reduxForm=t.reducer=t.focus=t.destroy=t.changeWithKey=t.change=t.blur=t.autofillWithKey=t.autofill=t.addArrayValue=t.actionTypes=void 0;var o=n(1),i=r(o),a=n(16),s=n(1615),u=r(s),l=\"undefined\"!=typeof window&&window.navigator&&window.navigator.product&&\"ReactNative\"===window.navigator.product,c=(0,u.default)(l,i.default,a.connect),d=c.actionTypes,f=c.addArrayValue,p=c.autofill,h=c.autofillWithKey,m=c.blur,g=c.change,_=c.changeWithKey,b=c.destroy,y=c.focus,v=c.reducer,M=c.reduxForm,A=c.removeArrayValue,w=c.getValues,C=c.initialize,E=c.initializeWithKey,L=c.propTypes,T=c.reset,O=c.startAsyncValidation,S=c.startSubmit,N=c.stopAsyncValidation,k=c.stopSubmit,D=c.swapArrayValues,x=c.touch,I=c.touchWithKey,z=c.untouch,P=c.untouchWithKey;t.actionTypes=d,t.addArrayValue=f,t.autofill=p,t.autofillWithKey=h,t.blur=m,t.change=g,t.changeWithKey=_,t.destroy=b,t.focus=y,t.reducer=v,t.reduxForm=M,t.removeArrayValue=A,t.getValues=w,t.initialize=C,t.initializeWithKey=E,t.propTypes=L,t.reset=T,t.startAsyncValidation=O,t.startSubmit=S,t.stopAsyncValidation=N,t.stopSubmit=k,t.swapArrayValues=D,t.touch=x,t.touchWithKey=I,t.untouch=z,t.untouchWithKey=P},function(e,t){\"use strict\";function n(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;r<t;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var o=new Error(n);throw o.name=\"Invariant Violation\",o.framesToPop=1,o}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var a=e[t],u=\"undefined\"==typeof a?\"undefined\":i(a);return s.default.isValidElement(a)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`, expected an element type (a string \")+\"or a ReactClass).\"):\"function\"!==u&&\"string\"!==u?new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+a+\"` \"+(\"supplied to `\"+n+\"`, expected an element type (a string \")+\"or a ReactClass).\"):null}t.__esModule=!0;var i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e},a=n(1),s=r(a),u=n(222),l=r(u);t.default=(0,l.default)(o)},[1753,195,106,19],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.createMemoryHistory=t.hashHistory=t.browserHistory=t.applyRouterMiddleware=t.formatPattern=t.useRouterHistory=t.match=t.routerShape=t.locationShape=t.PropTypes=t.RoutingContext=t.RouterContext=t.createRoutes=t.useRoutes=t.RouteContext=t.Lifecycle=t.History=t.Route=t.Redirect=t.IndexRoute=t.IndexRedirect=t.withRouter=t.IndexLink=t.Link=t.Router=void 0;var o=n(92);Object.defineProperty(t,\"createRoutes\",{enumerable:!0,get:function(){return o.createRoutes}});var i=n(330);Object.defineProperty(t,\"locationShape\",{enumerable:!0,get:function(){return i.locationShape}}),Object.defineProperty(t,\"routerShape\",{enumerable:!0,get:function(){return i.routerShape}});var a=n(142);Object.defineProperty(t,\"formatPattern\",{enumerable:!0,get:function(){return a.formatPattern}});var s=n(1584),u=r(s),l=n(622),c=r(l),d=n(1578),f=r(d),p=n(1597),h=r(p),m=n(1579),g=r(m),_=n(1580),b=r(_),y=n(623),v=r(y),M=n(1582),A=r(M),w=n(1577),C=r(w),E=n(1581),L=r(E),T=n(1583),O=r(T),S=n(1596),N=r(S),k=n(223),D=r(k),x=n(1585),I=r(x),z=r(i),P=n(1594),j=r(P),B=n(628),F=r(B),R=n(1587),W=r(R),Y=n(1588),H=r(Y),q=n(1592),U=r(q),X=n(625),V=r(X);t.Router=u.default,t.Link=c.default,t.IndexLink=f.default,t.withRouter=h.default,t.IndexRedirect=g.default,t.IndexRoute=b.default,t.Redirect=v.default,t.Route=A.default,t.History=C.default,t.Lifecycle=L.default,t.RouteContext=O.default,t.useRoutes=N.default,t.RouterContext=D.default,t.RoutingContext=I.default,t.PropTypes=z.default,t.match=j.default,t.useRouterHistory=F.default,t.applyRouterMiddleware=W.default,t.browserHistory=H.default,t.hashHistory=U.default,t.createMemoryHistory=V.default},function(e,t){\"use strict\";function n(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if(\"0123456789\"!==r.join(\"\"))return!1;var o={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){o[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},o)).join(\"\")}catch(e){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,s,u=n(e),l=1;l<arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&&(u[c]=r[c]);if(o){s=o(r);for(var d=0;d<s.length;d++)a.call(r,s[d])&&(u[s[d]]=r[s[d]])}}return u}},function(e,t,n){\"use strict\";e.exports=n(1495)},[1716,21],[1732,18,382,73,30],[1748,72],function(e,t,n){\"use strict\";var r=function(e,t,n,r,o,i,a,s){if(!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,o,i,a,s],c=0;u=new Error(t.replace(/%s/g,function(){return l[c++]})),u.name=\"Invariant Violation\"}throw u.framesToPop=1,u}};e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return 1===e.nodeType&&e.getAttribute(h)===String(t)||8===e.nodeType&&e.nodeValue===\" react-text: \"+t+\" \"||8===e.nodeType&&e.nodeValue===\" react-empty: \"+t+\" \"}function o(e){for(var t;t=e._renderedComponent;)e=t;return e}function i(e,t){var n=o(e);n._hostNode=t,t[g]=n}function a(e){var t=e._hostNode;t&&(delete t[g],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=o(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){i(u,a);continue e}d(\"32\",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[g])return e[g];for(var t=[];!e[g];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[g]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode?d(\"33\"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:d(\"34\"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var d=n(24),f=n(138),p=n(594),h=(n(17),f.ID_ATTRIBUTE_NAME),m=p,g=\"__reactInternalInstance$\"+Math.random().toString(36).slice(2),_={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:i,uncacheNode:a};e.exports=_},[1749,70],function(e,t,n){(function(e){\"use strict\";function r(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}function o(e){if(\"object\"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function i(e,t,n){function r(){m===h&&(m=h.slice())}function a(){if(_)throw new Error(\"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");return p}function s(e){if(\"function\"!=typeof e)throw new Error(\"Expected the listener to be a function.\");if(_)throw new Error(\"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.\");var t=!0;return r(),m.push(e),function(){if(t){if(_)throw new Error(\"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.\");t=!1,r();var n=m.indexOf(e);m.splice(n,1)}}}function u(e){if(!o(e))throw new Error(\"Actions must be plain objects. Use custom middleware for async actions.\");if(\"undefined\"==typeof e.type)throw new Error('Actions may not have an undefined \"type\" property. Have you misspelled a constant?');if(_)throw new Error(\"Reducers may not dispatch actions.\");try{_=!0,p=f(p,e)}finally{_=!1}for(var t=h=m,n=0;n<t.length;n++){var r=t[n];r()}return e}function l(e){if(\"function\"!=typeof e)throw new Error(\"Expected the nextReducer to be a function.\");f=e,u({type:b.REPLACE})}function c(){var e,t=s;return e={subscribe:function(e){function n(){e.next&&e.next(a())}if(\"object\"!=typeof e||null===e)throw new TypeError(\"Expected the observer to be an object.\");n();var r=t(n);return{unsubscribe:r}}},e[g]=function(){return this},e}var d;if(\"function\"==typeof t&&\"function\"==typeof n||\"function\"==typeof n&&\"function\"==typeof arguments[3])throw new Error(\"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.\");if(\"function\"==typeof t&&\"undefined\"==typeof n&&(n=t,t=void 0),\"undefined\"!=typeof n){if(\"function\"!=typeof n)throw new Error(\"Expected the enhancer to be a function.\");return n(i)(e,t)}if(\"function\"!=typeof e)throw new Error(\"Expected the reducer to be a function.\");var f=e,p=t,h=[],m=h,_=!1;return u({type:b.INIT}),d={dispatch:u,subscribe:s,getState:a,replaceReducer:l},d[g]=c,d}function a(e,t){var n=t&&t.type,r=n&&'action \"'+String(n)+'\"'||\"an action\";return\"Given \"+r+', reducer \"'+e+'\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function s(e){Object.keys(e).forEach(function(t){var n=e[t],r=n(void 0,{type:b.INIT});if(\"undefined\"==typeof r)throw new Error('Reducer \"'+t+\"\\\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.\");if(\"undefined\"==typeof n(void 0,{type:b.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer \"'+t+'\" returned undefined when probed with a random type. '+(\"Don't try to handle \"+b.INIT+' or other actions in \"redux/*\" ')+\"namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.\")})}function u(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var o=t[r];\"function\"==typeof e[o]&&(n[o]=e[o])}var i,u=Object.keys(n);try{s(n)}catch(e){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var r=!1,o={},s=0;s<u.length;s++){var l=u[s],c=n[l],d=e[l],f=c(d,t);if(\"undefined\"==typeof f){var p=a(l,t);throw new Error(p)}o[l]=f,r=r||f!==d}return r?o:e}}function l(e,t){return function(){return t(e.apply(this,arguments))}}function c(e,t){if(\"function\"==typeof e)return l(e,t);if(\"object\"!=typeof e||null===e)throw new Error(\"bindActionCreators expected an object or a function, instead received \"+(null===e?\"null\":typeof e)+'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');var n={};for(var r in e){var o=e[r];\"function\"==typeof o&&(n[r]=l(o,t))}return n}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(n,!0).forEach(function(t){d(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function m(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error(\"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},i=t.map(function(e){return e(o)});return r=h.apply(void 0,i)(n.dispatch),p({},n,{dispatch:r})}}}Object.defineProperty(t,\"__esModule\",{value:!0});var g=r(n(1656)),_=function(){return Math.random().toString(36).substring(7).split(\"\").join(\".\")},b={INIT:\"@@redux/INIT\"+_(),REPLACE:\"@@redux/REPLACE\"+_(),PROBE_UNKNOWN_ACTION:function(){return\"@@redux/PROBE_UNKNOWN_ACTION\"+_()}};t.__DO_NOT_USE__ActionTypes=b,t.applyMiddleware=m,t.bindActionCreators=c,t.combineReducers=u,t.compose=h,t.createStore=i}).call(t,n(38))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeRoutes=t.reducers=t.actions=void 0;var i=n(66),a=o(i),s=n(830),u=r(s),l=n(829),c=o(l);t.actions=a,t.reducers=c,t.makeRoutes=u.default},function(e,t,n){(function(t){function r(){}function o(){f.log.apply(f,arguments)}function i(){f.log.apply(f,arguments)}function a(){f.warn.apply(f,arguments)}function s(e){_[e]=m()}function u(e){var t=_[e];if(!t)throw new Error(\"No such label: \"+e);var n=m()-t;f.log(e+\": \"+n+\"ms\")}function l(){var e=new Error;e.name=\"Trace\",e.message=p.format.apply(null,arguments),f.error(e.stack)}function c(e){f.log(p.inspect(e)+\"\\n\")}function d(e){if(!e){var t=g.call(arguments,1);h.ok(!1,p.format.apply(null,t))}}var f,p=n(1700),h=n(675),m=n(1158),g=Array.prototype.slice,_={};f=\"undefined\"!=typeof t&&t.console?t.console:\"undefined\"!=typeof window&&window.console?window.console:{};for(var b=[[r,\"log\"],[o,\"info\"],[i,\"warn\"],[a,\"error\"],[s,\"time\"],[u,\"timeEnd\"],[l,\"trace\"],[c,\"dir\"],[d,\"assert\"]],y=0;y<b.length;y++){var v=b[y],M=v[0],A=v[1];f[A]||(f[A]=M)}e.exports=f}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return null!=e}).reduce(function(e,t){if(\"function\"!=typeof t)throw new Error(\"Invalid Argument Type, must only provide functions, undefined, or null.\");return null===e?t:function(){for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];e.apply(this,r),t.apply(this,r)}},null)}t.__esModule=!0,t.default=n,e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0;t.Size={LARGE:\"large\",SMALL:\"small\",XSMALL:\"xsmall\"},t.SIZE_MAP={large:\"lg\",medium:\"md\",small:\"sm\",xsmall:\"xs\",lg:\"lg\",md:\"md\",sm:\"sm\",xs:\"xs\"},t.DEVICE_SIZES=[\"lg\",\"md\",\"sm\",\"xs\"],t.State={SUCCESS:\"success\",WARNING:\"warning\",DANGER:\"danger\",INFO:\"info\"},t.Style={DEFAULT:\"default\",PRIMARY:\"primary\",LINK:\"link\",INVERSE:\"inverse\"}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.routerMiddleware=t.routerActions=t.goForward=t.goBack=t.go=t.replace=t.push=t.CALL_HISTORY_METHOD=t.routerReducer=t.LOCATION_CHANGE=t.syncHistoryWithStore=void 0;var o=n(621);Object.defineProperty(t,\"LOCATION_CHANGE\",{enumerable:!0,get:function(){return o.LOCATION_CHANGE}}),Object.defineProperty(t,\"routerReducer\",{enumerable:!0,get:function(){return o.routerReducer}});var i=n(620);Object.defineProperty(t,\"CALL_HISTORY_METHOD\",{enumerable:!0,get:function(){return i.CALL_HISTORY_METHOD}}),Object.defineProperty(t,\"push\",{enumerable:!0,get:function(){return i.push}}),Object.defineProperty(t,\"replace\",{enumerable:!0,get:function(){return i.replace}}),Object.defineProperty(t,\"go\",{enumerable:!0,get:function(){return i.go}}),Object.defineProperty(t,\"goBack\",{enumerable:!0,get:function(){return i.goBack}}),Object.defineProperty(t,\"goForward\",{enumerable:!0,get:function(){return i.goForward}}),Object.defineProperty(t,\"routerActions\",{enumerable:!0,get:function(){return i.routerActions}});var a=n(1574),s=r(a),u=n(1573),l=r(u);t.syncHistoryWithStore=s.default,t.routerMiddleware=l.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(t.indexOf(\"deprecated\")!==-1){if(u[t])return;u[t]=!0}t=\"[react-router] \"+t;for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];s.default.apply(void 0,[e,t].concat(r))}function i(){u={}}t.__esModule=!0,t.default=o,t._resetWarned=i;var a=n(47),s=r(a),u={}},function(e,t,n){\"use strict\";function r(e,t){if(!e)return e;var n=e.toString().replace(/[^0-9.]/g,\"\"),r=n.split(\".\");return\"0\"!==r[0]&&\"00\"!==r[0]?r[0]=r[0].replace(/^0+/,\"\"):r[0]=\"0\",r[1]?r[0]+\".\"+r[1].slice(0,t):n.indexOf(\".\")!==-1&&0!==t?r[0]+\".\":r[0]}function o(e,t){if(!e)return e;var n=e.replace(/[^0-9.]/g,\"\"),r=n.split(\".\"),o=\"\";for(r[1]&&(o=r[1].slice(0,t));o.length<t;)o+=\"0\";var i=r[0]+o;return i=/^0*$/.test(i)?\"0\":i.replace(/^0+/,\"\")}function i(e,t,n){return M(e,t,n)}function a(e,t){return b(e,t)}function s(e,t){return y(e,t)}function u(e,t,n){return _(e,h,t,n)}function l(e,t,n){return _(e,m,t,n)}function c(e,t,n){var r={amount:e.amount,accountId:e.accountId,accountAlias:e.accountAlias,assetId:e.assetId,assetAlias:e.assetAlias,controlProgram:e.program,programIndex:e.controlProgramIndex,sourceId:e.sourceId,sourcePos:e.sourcePos,change:e.change+\"\"};return _(r,g,t,n)}function d(e,t,n){return _(e,p,t,n)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalizeBTM=t.normalizeGlobalBTMAmount=void 0,t.formatBTMAmount=r,t.parseBTMAmount=o,t.normalizeBTMAmountUnit=i,t.addZeroToDecimalPosition=a,t.converIntToDec=s,t.buildTxInputDisplay=u,t.buildTxOutputDisplay=l,t.buildUnspentDisplay=c,t.buildBalanceDisplay=d;var f=n(14),p=[\"id\",\"type\",\"purpose\",\"transactionId\",\"position\",\"assetId\",\"assetAlias\",\"asset\",\"assetDefinition\",\"assetTags\",\"assetIsLocal\",\"amount\",\"totalVoteNumber\",\"accountAlias\",\"account\",\"accountTags\",\"controlProgram\",\"address\",\"programIndex\",\"spentOutputId\",\"refData\",\"sourceId\",\"sourcePos\",\"issuanceProgram\",\"isLocal\",\"referenceData\",\"change\"],h=[\"type\",\"asset\",\"amount\",\"account\",\"controlProgram\",\"address\"],m=[\"type\",\"id\",\"asset\",\"amount\",\"account\",\"controlProgram\",\"address\",\"vote\"],g=[\"type\",\"purpose\",\"transactionId\",\"position\",\"assetId\",\"assetAlias\",\"assetDefinition\",\"assetTags\",\"assetIsLocal\",\"amount\",\"accountId\",\"accountAlias\",\"accountTags\",\"controlProgram\",\"programIndex\",\"refData\",\"sourceId\",\"sourcePos\",\"isLocal\",\"referenceData\",\"change\"],_=function(e,t,n,r){var o=[],i=e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==f.btmID?e.assetDefinition.decimals:null;return t.forEach(function(t){e.hasOwnProperty(t)&&(\"amount\"===t?o.push({label:r(\"form.\"+t),value:i?y(e[t],i):M(e.assetId,e[t],n)}):\"totalVoteNumber\"===t?o.push({label:r(\"form.\"+t),value:i?y(e[t],i):M(e.assetId,e[t],n),details:\"/balances/vote/\"+e.accountId}):\"asset\"===t&&\"0000000000000000000000000000000000000000000000000000000000000000\"!==e.assetId?o.push({label:r(\"form.\"+t),value:e[t],link:\"/assets/\"+e.assetId}):\"account\"===t?o.push({label:r(\"form.\"+t),value:e[t],link:\"/accounts/\"+e.accountId}):o.push({label:r(\"form.\"+t),value:e[t]}))}),o},b=function(e,t){if(null!=e&&\"\"!==e){var n=e.toString(),r=n.indexOf(\".\");for(r<0&&(r=n.length,n+=\".\");n.length<=r+t;)n+=\"0\";return n}return e},y=function(e,t){if(null!=e&&\"\"!==e){var n=e.toString(),r=n.length;if(r<=t){for(var o=\"\";o.length<t-r;)o+=\"0\";return\"0.\"+o+n}return v(n.slice(0,-t)+\".\"+n.slice(-t))}return v(e)},v=function(e){var t=e.toString().split(\".\");return t[0]=t[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"),t.join(\".\")},M=t.normalizeGlobalBTMAmount=function(e,t,n){if(e===f.btmID)switch(n){case\"BTM\":return y(t,8)+\" BTM\";case\"mBTM\":return y(t,5)+\" mBTM\";case\"NEU\":return t+\" NEU\"}return t};t.normalizeBTM=function(e,t){switch(t){case\"BTM\":return y(e,8)+\" BTM\";case\"mBTM\":return y(e,5)+\" mBTM\";case\"NEU\":return e+\" NEU\"}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=n(115),i=n(240),a=n(889),s=function e(t){var n=this;r(this,e),this.successes=[],this.errors=[],t.forEach(function(e,t){e.code?n.errors[t]=e:n.successes[t]=e}),this.response=t},u=function(e,t){return\"function\"!=typeof t?e:e.then(function(e){setTimeout(function(){return t(null,e)},0)},function(e){setTimeout(function(){return t(e,null)},0)})},l=function(e,t,n,r){return u(e.request(t,n).then(function(e){return new s(e)}),r)};e.exports={batchRequest:l,singletonBatchRequest:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3];return u(e.request(t,n),r)},create:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=Object.assign({},n),a=o;return r.skipArray||(a=[a]),u(e.request(t,a).then(function(e){if(i.isBatchError(e[0]))throw i.newBatchError(e[0]);return Array.isArray(e)?e[0]:e}),r.cb)},createBatch:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return n=n.map(function(e){return Object.assign({clientToken:o.v4()},e)}),u(e.request(t,n).then(function(e){return new s(e)}),r.cb)},query:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return u(e.request(n,r).then(function(n){return new a(n,e,t)}).catch(function(e){throw e}),o.cb)},queryAll:function(e,t,n){var r=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},arguments[4]),o=e;t.split(\".\").forEach(function(e){o=o[e]});var i=new Promise(function(e,t){});return u(i,r)},tryCallback:u,BatchResponse:s}},function(e,t){\"use strict\";var n=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){\"use strict\";var r=function(){};e.exports=r},[1719,31,102,30],function(e,t,n){var r=n(19),o=n(48),i=n(54),a=n(106)(\"src\"),s=\"toString\",u=Function[s],l=(\"\"+u).split(s);n(60).inspectSource=function(e){return u.call(e)},(e.exports=function(e,t,n,s){var u=\"function\"==typeof n;u&&(i(n,\"name\")||o(n,\"name\",t)),e[t]!==n&&(u&&(i(n,a)||o(n,a,e[t]?\"\"+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,s,function(){return\"function\"==typeof this&&this[a]||u.call(this)})},function(e,t,n){var r=n(2),o=n(21),i=n(70),a=/\"/g,s=function(e,t,n,r){var o=String(i(e)),s=\"<\"+t;return\"\"!==n&&(s+=\" \"+n+'=\"'+String(r).replace(a,\"&quot;\")+'\"'),s+\">\"+o+\"</\"+t+\">\"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*o(function(){var t=\"\"[e]('\"');return t!==t.toLowerCase()||t.split('\"').length>3}),\"String\",n)}},function(e,t,n){var r=n(1320),o=n(1326),i=o(function(e,t){return null==e?{}:r(e,t)});e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=0;return p.default.Children.map(e,function(e){return p.default.isValidElement(e)?t.call(n,e,r++):e})}function i(e,t,n){var r=0;p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&t.call(n,e,r++)})}function a(e){var t=0;return p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&++t}),t}function s(e,t,n){var r=0,o=[];return p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&t.call(n,e,r++)&&o.push(e)}),o}function u(e,t,n){var r=0,o=void 0;return p.default.Children.forEach(e,function(e){o||p.default.isValidElement(e)&&t.call(n,e,r++)&&(o=e)}),o}function l(e,t,n){var r=0,o=!0;return p.default.Children.forEach(e,function(e){o&&p.default.isValidElement(e)&&(t.call(n,e,r++)||(o=!1))}),o}function c(e,t,n){var r=0,o=!1;return p.default.Children.forEach(e,function(e){o||p.default.isValidElement(e)&&t.call(n,e,r++)&&(o=!0)}),o}function d(e){var t=[];return p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&t.push(e)}),t}t.__esModule=!0;var f=n(1),p=r(f);t.default={map:o,forEach:i,count:a,find:u,filter:s,every:l,some:c,toArray:d},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1),i=r(o),a=n(12),s=r(a),u=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(!i.default.Component.prototype.isPrototypeOf(e))throw new Error(\"Component class must descend from React.Component\");return(0,s.default)(e.constructor.name,n)};t.default=u},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},[1734,158,102,57,73,54,382,30],[1737,54,35,275],[1747,157,70],function(e,t){var n=e.exports={version:\"2.5.6\"};\"number\"==typeof __e&&(__e=n)},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},58,[1715,44],function(e,t,n){\"use strict\";var r=n(21);e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},function(e,t){\"use strict\";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},47,function(e,t,n){\"use strict\";var r=null;e.exports={debugTool:r}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.baseListActions=t.baseUpdateActions=t.baseCreateActions=void 0;var o=n(776),i=r(o),a=n(778),s=r(a),u=n(777),l=r(u);t.baseCreateActions=i.default,t.baseUpdateActions=s.default,t.baseListActions=l.default},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={autoComplete:\"off\",autoCorrect:\"off\",autoCapitalize:\"none\",spellCheck:\"false\"}},[1753,253,183,85],function(e,t,n){var r=n(61),o=n(157),i=n(35),a=n(32),s=n(260);e.exports=function(e,t){var n=1==e,u=2==e,l=3==e,c=4==e,d=6==e,f=5==e||d,p=t||s;return function(t,s,h){for(var m,g,_=i(t),b=o(_),y=r(s,h,3),v=a(b.length),M=0,A=n?p(t,v):u?p(t,0):void 0;v>M;M++)if((f||M in b)&&(m=b[M],g=y(m,M,_),e))if(n)A[M]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return M;case 2:A.push(m)}else if(c)return!1;return d?-1:l||c?c:A}}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){var r=n(2),o=n(60),i=n(21);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",a)}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},[1750,22],function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return!e||\"#\"===e.trim()}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(1),g=r(m),_=n(5),b=r(_),y=n(25),v=r(y),M={href:b.default.string,onClick:b.default.func,disabled:b.default.bool,role:b.default.string,tabIndex:b.default.oneOfType([b.default.number,b.default.string]),componentClass:v.default},A={componentClass:\"a\"},w=function(e){function t(n,r){(0,c.default)(this,t);var o=(0,f.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,h.default)(t,e),t.prototype.handleClick=function(e){var t=this.props,n=t.disabled,r=t.href,i=t.onClick;return(n||o(r))&&e.preventDefault(),n?void e.stopPropagation():void(i&&i(e))},t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.disabled,r=(0,u.default)(e,[\"componentClass\",\"disabled\"]);return o(r.href)&&(r.role=r.role||\"button\",r.href=r.href||\"#\"),n&&(r.tabIndex=-1,r.style=(0,a.default)({pointerEvents:\"none\"},r.style)),g.default.createElement(t,(0,a.default)({},r,{onClick:this.handleClick}))},t}(g.default.Component);w.propTypes=M,w.defaultProps=A,t.default=w,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.utils=t.Well=t.Tooltip=t.Thumbnail=t.Tabs=t.TabPane=t.Table=t.TabContent=t.TabContainer=t.Tab=t.SplitButton=t.SafeAnchor=t.Row=t.ResponsiveEmbed=t.Radio=t.ProgressBar=t.Popover=t.PanelGroup=t.Panel=t.PaginationButton=t.Pagination=t.Pager=t.PageItem=t.PageHeader=t.OverlayTrigger=t.Overlay=t.NavItem=t.NavDropdown=t.NavbarBrand=t.Navbar=t.Nav=t.ModalTitle=t.ModalHeader=t.ModalFooter=t.ModalBody=t.Modal=t.MenuItem=t.Media=t.ListGroupItem=t.ListGroup=t.Label=t.Jumbotron=t.InputGroup=t.Image=t.HelpBlock=t.Grid=t.Glyphicon=t.FormGroup=t.FormControl=t.Form=t.Fade=t.DropdownButton=t.Dropdown=t.Collapse=t.Col=t.ControlLabel=t.Clearfix=t.Checkbox=t.CarouselItem=t.Carousel=t.ButtonToolbar=t.ButtonGroup=t.Button=t.BreadcrumbItem=t.Breadcrumb=t.Badge=t.Alert=t.Accordion=void 0;var i=n(1412),a=o(i),s=n(1413),u=o(s),l=n(1414),c=o(l),d=n(1415),f=o(d),p=n(567),h=o(p),m=n(166),g=o(m),_=n(568),b=o(_),y=n(1416),v=o(y),M=n(1417),A=o(M),w=n(569),C=o(w),E=n(1419),L=o(E),T=n(1420),O=o(T),S=n(1422),N=o(S),k=n(1421),D=o(k),x=n(305),I=o(x),z=n(211),P=o(z),j=n(1423),B=o(j),F=n(212),R=o(F),W=n(1425),Y=o(W),H=n(1426),q=o(H),U=n(1429),X=o(U),V=n(306),G=o(V),$=n(571),K=o($),Q=n(1430),Z=o(Q),J=n(1431),ee=o(J),te=n(1432),ne=o(te),re=n(1435),oe=o(re),ie=n(1436),ae=o(ie),se=n(1437),ue=o(se),le=n(572),ce=o(le),de=n(307),fe=o(de),pe=n(1444),he=o(pe),me=n(1445),ge=o(me),_e=n(573),be=o(_e),ye=n(574),ve=o(ye),Me=n(575),Ae=o(Me),we=n(576),Ce=o(we),Ee=n(577),Le=o(Ee),Te=n(1448),Oe=o(Te),Se=n(579),Ne=o(Se),ke=n(1447),De=o(ke),xe=n(578),Ie=o(xe),ze=n(580),Pe=o(ze),je=n(1452),Be=o(je),Fe=n(1453),Re=o(Fe),We=n(1454),Ye=o(We),He=n(1455),qe=o(He),Ue=n(1456),Xe=o(Ue),Ve=n(582),Ge=o(Ve),$e=n(1457),Ke=o($e),Qe=n(583),Ze=o(Qe),Je=n(1458),et=o(Je),tt=n(1459),nt=o(tt),rt=n(1460),ot=o(rt),it=n(1461),at=o(it),st=n(1462),ut=o(st),lt=n(75),ct=o(lt),dt=n(1463),ft=o(dt),pt=n(1465),ht=o(pt),mt=n(308),gt=o(mt),_t=n(309),bt=o(_t),yt=n(1466),vt=o(yt),Mt=n(584),At=o(Mt),wt=n(1467),Ct=o(wt),Et=n(1468),Lt=o(Et),Tt=n(1469),Ot=o(Tt),St=n(1470),Nt=o(St),kt=n(1474),Dt=r(kt);\nt.Accordion=a.default,t.Alert=u.default,t.Badge=c.default,t.Breadcrumb=f.default,t.BreadcrumbItem=h.default,t.Button=g.default,t.ButtonGroup=b.default,t.ButtonToolbar=v.default,t.Carousel=A.default,t.CarouselItem=C.default,t.Checkbox=L.default,t.Clearfix=O.default,t.ControlLabel=N.default,t.Col=D.default,t.Collapse=I.default,t.Dropdown=P.default,t.DropdownButton=B.default,t.Fade=R.default,t.Form=Y.default,t.FormControl=q.default,t.FormGroup=X.default,t.Glyphicon=G.default,t.Grid=K.default,t.HelpBlock=Z.default,t.Image=ee.default,t.InputGroup=ne.default,t.Jumbotron=oe.default,t.Label=ae.default,t.ListGroup=ue.default,t.ListGroupItem=ce.default,t.Media=fe.default,t.MenuItem=he.default,t.Modal=ge.default,t.ModalBody=be.default,t.ModalFooter=ve.default,t.ModalHeader=Ae.default,t.ModalTitle=Ce.default,t.Nav=Le.default,t.Navbar=Oe.default,t.NavbarBrand=Ne.default,t.NavDropdown=De.default,t.NavItem=Ie.default,t.Overlay=Pe.default,t.OverlayTrigger=Be.default,t.PageHeader=Re.default,t.PageItem=Ye.default,t.Pager=qe.default,t.Pagination=Xe.default,t.PaginationButton=Ge.default,t.Panel=Ke.default,t.PanelGroup=Ze.default,t.Popover=et.default,t.ProgressBar=nt.default,t.Radio=ot.default,t.ResponsiveEmbed=at.default,t.Row=ut.default,t.SafeAnchor=ct.default,t.SplitButton=ft.default,t.Tab=ht.default,t.TabContainer=gt.default,t.TabContent=bt.default,t.Table=vt.default,t.TabPane=At.default,t.Tabs=Ct.default,t.Thumbnail=Lt.default,t.Tooltip=Ot.default,t.Well=Nt.default,t.utils=Dt},function(e,t,n){(function(t){\"use strict\";function r(){T.ReactReconcileTransaction&&M?void 0:c(\"123\")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=f.getPooled(),this.reconcileTransaction=T.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),M.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var n=e.dirtyComponentsLength;n!==_.length?c(\"124\",n,_.length):void 0,_.sort(a),b++;for(var r=0;r<n;r++){var o=_[r],i=o._pendingCallbacks;o._pendingCallbacks=null;var s;if(h.logTopLevelRenders){var u=o;o._currentElement.type.isReactTopLevelWrapper&&(u=o._renderedComponent),s=\"React update: \"+u.getName(),t.time(s)}if(m.performUpdateIfNecessary(o,e.reconcileTransaction,b),s&&t.timeEnd(s),i)for(var l=0;l<i.length;l++)e.callbackQueue.enqueue(i[l],o.getPublicInstance())}}function u(e){return r(),M.isBatchingUpdates?(_.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=b+1))):void M.batchedUpdates(u,e)}function l(e,t){M.isBatchingUpdates?void 0:c(\"125\"),y.enqueue(e,t),v=!0}var c=n(24),d=n(28),f=n(592),p=n(112),h=n(597),m=n(139),g=n(216),_=(n(17),[]),b=0,y=f.getPooled(),v=!1,M=null,A={initialize:function(){this.dirtyComponentsLength=_.length},close:function(){this.dirtyComponentsLength!==_.length?(_.splice(0,this.dirtyComponentsLength),E()):_.length=0}},w={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},C=[A,w];d(o.prototype,g,{getTransactionWrappers:function(){return C},destructor:function(){this.dirtyComponentsLength=null,f.release(this.callbackQueue),this.callbackQueue=null,T.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return g.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),p.addPoolingTo(o);var E=function(){for(;_.length||v;){if(_.length){var e=o.getPooled();e.perform(s,null,e),o.release(e)}if(v){v=!1;var t=y;y=f.getPooled(),t.notifyAll(),f.release(t)}}},L={injectReconcileTransaction:function(e){e?void 0:c(\"126\"),T.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:c(\"127\"),\"function\"!=typeof e.batchedUpdates?c(\"128\"):void 0,\"boolean\"!=typeof e.isBatchingUpdates?c(\"129\"):void 0,M=e}},T={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:u,flushBatchedUpdates:E,injection:L,asap:l};e.exports=T}).call(t,n(38))},function(e,t,n){var r=n(403),o=n(2),i=n(195)(\"metadata\"),a=i.store||(i.store=new(n(406))),s=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i},u=function(e,t,n){var r=s(t,n,!1);return void 0!==r&&r.has(e)},l=function(e,t,n){var r=s(t,n,!1);return void 0===r?void 0:r.get(e)},c=function(e,t,n,r){s(n,r,!0).set(e,t)},d=function(e,t){var n=s(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},f=function(e){return void 0===e||\"symbol\"==typeof e?e:String(e)},p=function(e){o(o.S,\"Reflect\",e)};e.exports={store:a,map:s,has:u,get:l,set:c,keys:d,key:f,exp:p}},function(e,t,n){\"use strict\";if(n(30)){var r=n(87),o=n(19),i=n(21),a=n(2),s=n(197),u=n(281),l=n(61),c=n(97),d=n(102),f=n(48),p=n(103),h=n(72),m=n(32),g=n(401),_=n(105),b=n(73),y=n(54),v=n(156),M=n(22),A=n(35),w=n(267),C=n(99),E=n(56),L=n(100).f,T=n(283),O=n(106),S=n(26),N=n(69),k=n(184),D=n(196),x=n(284),I=n(127),z=n(190),P=n(104),j=n(259),B=n(374),F=n(31),R=n(55),W=F.f,Y=R.f,H=o.RangeError,q=o.TypeError,U=o.Uint8Array,X=\"ArrayBuffer\",V=\"Shared\"+X,G=\"BYTES_PER_ELEMENT\",$=\"prototype\",K=Array[$],Q=u.ArrayBuffer,Z=u.DataView,J=N(0),ee=N(2),te=N(3),ne=N(4),re=N(5),oe=N(6),ie=k(!0),ae=k(!1),se=x.values,ue=x.keys,le=x.entries,ce=K.lastIndexOf,de=K.reduce,fe=K.reduceRight,pe=K.join,he=K.sort,me=K.slice,ge=K.toString,_e=K.toLocaleString,be=S(\"iterator\"),ye=S(\"toStringTag\"),ve=O(\"typed_constructor\"),Me=O(\"def_constructor\"),Ae=s.CONSTR,we=s.TYPED,Ce=s.VIEW,Ee=\"Wrong length!\",Le=N(1,function(e,t){return ke(D(e,e[Me]),t)}),Te=i(function(){return 1===new U(new Uint16Array([1]).buffer)[0]}),Oe=!!U&&!!U[$].set&&i(function(){new U(1).set({})}),Se=function(e,t){var n=h(e);if(n<0||n%t)throw H(\"Wrong offset!\");return n},Ne=function(e){if(M(e)&&we in e)return e;throw q(e+\" is not a typed array!\")},ke=function(e,t){if(!(M(e)&&ve in e))throw q(\"It is not a typed array constructor!\");return new e(t)},De=function(e,t){return xe(D(e,e[Me]),t)},xe=function(e,t){for(var n=0,r=t.length,o=ke(e,r);r>n;)o[n]=t[n++];return o},Ie=function(e,t,n){W(e,t,{get:function(){return this._d[n]}})},ze=function(e){var t,n,r,o,i,a,s=A(e),u=arguments.length,c=u>1?arguments[1]:void 0,d=void 0!==c,f=T(s);if(void 0!=f&&!w(f)){for(a=f.call(s),r=[],t=0;!(i=a.next()).done;t++)r.push(i.value);s=r}for(d&&u>2&&(c=l(c,arguments[2],2)),t=0,n=m(s.length),o=ke(this,n);n>t;t++)o[t]=d?c(s[t],t):s[t];return o},Pe=function(){for(var e=0,t=arguments.length,n=ke(this,t);t>e;)n[e]=arguments[e++];return n},je=!!U&&i(function(){_e.call(new U(1))}),Be=function(){return _e.apply(je?me.call(Ne(this)):Ne(this),arguments)},Fe={copyWithin:function(e,t){return B.call(Ne(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return ne(Ne(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return j.apply(Ne(this),arguments)},filter:function(e){return De(this,ee(Ne(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return re(Ne(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return oe(Ne(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){J(Ne(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ae(Ne(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return ie(Ne(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return pe.apply(Ne(this),arguments)},lastIndexOf:function(e){return ce.apply(Ne(this),arguments)},map:function(e){return Le(Ne(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return de.apply(Ne(this),arguments)},reduceRight:function(e){return fe.apply(Ne(this),arguments)},reverse:function(){for(var e,t=this,n=Ne(t).length,r=Math.floor(n/2),o=0;o<r;)e=t[o],t[o++]=t[--n],t[n]=e;return t},some:function(e){return te(Ne(this),e,arguments.length>1?arguments[1]:void 0)},sort:function(e){return he.call(Ne(this),e)},subarray:function(e,t){var n=Ne(this),r=n.length,o=_(e,r);return new(D(n,n[Me]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,m((void 0===t?r:_(t,r))-o))}},Re=function(e,t){return De(this,me.call(Ne(this),e,t))},We=function(e){Ne(this);var t=Se(arguments[1],1),n=this.length,r=A(e),o=m(r.length),i=0;if(o+t>n)throw H(Ee);for(;i<o;)this[t+i]=r[i++]},Ye={entries:function(){return le.call(Ne(this))},keys:function(){return ue.call(Ne(this))},values:function(){return se.call(Ne(this))}},He=function(e,t){return M(e)&&e[we]&&\"symbol\"!=typeof t&&t in e&&String(+t)==String(t)},qe=function(e,t){return He(e,t=b(t,!0))?d(2,e[t]):Y(e,t)},Ue=function(e,t,n){return!(He(e,t=b(t,!0))&&M(n)&&y(n,\"value\"))||y(n,\"get\")||y(n,\"set\")||n.configurable||y(n,\"writable\")&&!n.writable||y(n,\"enumerable\")&&!n.enumerable?W(e,t,n):(e[t]=n.value,e)};Ae||(R.f=qe,F.f=Ue),a(a.S+a.F*!Ae,\"Object\",{getOwnPropertyDescriptor:qe,defineProperty:Ue}),i(function(){ge.call({})})&&(ge=_e=function(){return pe.call(this)});var Xe=p({},Fe);p(Xe,Ye),f(Xe,be,Ye.values),p(Xe,{slice:Re,set:We,constructor:function(){},toString:ge,toLocaleString:Be}),Ie(Xe,\"buffer\",\"b\"),Ie(Xe,\"byteOffset\",\"o\"),Ie(Xe,\"byteLength\",\"l\"),Ie(Xe,\"length\",\"e\"),W(Xe,ye,{get:function(){return this[we]}}),e.exports=function(e,t,n,u){u=!!u;var l=e+(u?\"Clamped\":\"\")+\"Array\",d=\"get\"+e,p=\"set\"+e,h=o[l],_=h||{},b=h&&E(h),y=!h||!s.ABV,A={},w=h&&h[$],T=function(e,n){var r=e._d;return r.v[d](n*t+r.o,Te)},O=function(e,n,r){var o=e._d;u&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),o.v[p](n*t+o.o,r,Te)},S=function(e,t){W(e,t,{get:function(){return T(this,t)},set:function(e){return O(this,t,e)},enumerable:!0})};y?(h=n(function(e,n,r,o){c(e,h,l,\"_d\");var i,a,s,u,d=0,p=0;if(M(n)){if(!(n instanceof Q||(u=v(n))==X||u==V))return we in n?xe(h,n):ze.call(h,n);i=n,p=Se(r,t);var _=n.byteLength;if(void 0===o){if(_%t)throw H(Ee);if(a=_-p,a<0)throw H(Ee)}else if(a=m(o)*t,a+p>_)throw H(Ee);s=a/t}else s=g(n),a=s*t,i=new Q(a);for(f(e,\"_d\",{b:i,o:p,l:a,e:s,v:new Z(i)});d<s;)S(e,d++)}),w=h[$]=C(Xe),f(w,\"constructor\",h)):i(function(){h(1)})&&i(function(){new h(-1)})&&z(function(e){new h,new h(null),new h(1.5),new h(e)},!0)||(h=n(function(e,n,r,o){c(e,h,l);var i;return M(n)?n instanceof Q||(i=v(n))==X||i==V?void 0!==o?new _(n,Se(r,t),o):void 0!==r?new _(n,Se(r,t)):new _(n):we in n?xe(h,n):ze.call(h,n):new _(g(n))}),J(b!==Function.prototype?L(_).concat(L(b)):L(_),function(e){e in h||f(h,e,_[e])}),h[$]=w,r||(w.constructor=h));var N=w[be],k=!!N&&(\"values\"==N.name||void 0==N.name),D=Ye.values;f(h,ve,!0),f(w,we,l),f(w,Ce,!0),f(w,Me,h),(u?new h(1)[ye]==l:ye in w)||W(w,ye,{get:function(){return l}}),A[l]=h,a(a.G+a.W+a.F*(h!=_),A),a(a.S,l,{BYTES_PER_ELEMENT:t}),a(a.S+a.F*i(function(){_.of.call(h,1)}),l,{from:ze,of:Pe}),G in w||f(w,G,t),a(a.P,l,Fe),P(l),a(a.P+a.F*Oe,l,{set:We}),a(a.P+a.F*!k,l,Ye),r||w.toString==ge||(w.toString=ge),a(a.P+a.F*i(function(){new h(1).slice()}),l,{slice:Re}),a(a.P+a.F*(i(function(){return[1,2].toLocaleString()!=new h([1,2]).toLocaleString()})||!i(function(){w.toLocaleString.call([1,2])})),l,{toLocaleString:Be}),I[l]=k?N:D,r||k||f(w,be,D)}}else e.exports=function(){}},function(e,t){\"use strict\";function n(e){return e&&e.ownerDocument||document}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var i in o)if(o.hasOwnProperty(i)){var s=o[i];s?this[i]=s(n):\"target\"===i?this.target=r:this[i]=n[i]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return u?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var o=n(28),i=n(112),a=n(63),s=(n(20),\"function\"==typeof Proxy,[\"dispatchConfig\",\"_targetInst\",\"nativeEvent\",\"isDefaultPrevented\",\"isPropagationStopped\",\"_dispatchListeners\",\"_dispatchInstances\"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;o(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,i.addPoolingTo(e,i.fourArgumentPooler)},i.addPoolingTo(r,i.fourArgumentPooler),e.exports=r},function(e,t){\"use strict\";var n={current:null};e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseNonblankJSON=t.humanize=t.capitalize=t.pluralize=void 0;var o=n(1374),i=r(o),a=n(301);t.pluralize=i.default,t.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.humanize=function(e){return(0,a.snakeCase)(e).replace(/_/g,\" \")},t.parseNonblankJSON=function(e){return e=e||\"\",e=e.trim(),\"\"==e?null:JSON.parse(e)};String.prototype.isUpperCase=function(){return this.valueOf().toUpperCase()===this.valueOf()}},function(e,t,n){var r=n(85),o=n(58),i=n(246),a=n(125),s=n(94),u=\"prototype\",l=function(e,t,n){var c,d,f,p=e&l.F,h=e&l.G,m=e&l.S,g=e&l.P,_=e&l.B,b=e&l.W,y=h?o:o[t]||(o[t]={}),v=y[u],M=h?r:m?r[t]:(r[t]||{})[u];h&&(n=t);for(c in n)d=!p&&M&&void 0!==M[c],d&&s(y,c)||(f=d?M[c]:n[c],y[c]=h&&\"function\"!=typeof M[c]?n[c]:_&&d?i(f,r):b&&M[c]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t[u]=e[u],t}(f):g&&\"function\"==typeof f?i(Function.call,f):f,g&&((y.virtual||(y.virtual={}))[c]=f,e&l.R&&v&&!v[c]&&a(v,c,f)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},19,function(e,t,n){var r=n(26)(\"unscopables\"),o=Array.prototype;void 0==o[r]&&n(48)(o,r,{}),e.exports=function(e){o[r][e]=!0}},function(e,t){e.exports=!1},[1729,106,22,54,31,21],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(t)do if(t===e)return!0;while(t=t.parentNode);return!1}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(74),a=r(i);t.default=function(){return a.default?function(e,t){return e.contains?e.contains(t):e.compareDocumentPosition?e===t||!!(16&e.compareDocumentPosition(t)):o(e,t)}:o}(),e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0;var n=\"PUSH\";t.PUSH=n;var r=\"REPLACE\";t.REPLACE=r;var o=\"POP\";t.POP=o,t.default={PUSH:n,REPLACE:r,POP:o}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){return(0,s.default)(i.default.findDOMNode(e))};var o=n(29),i=r(o),a=n(80),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return null==e||f.default.isValidElement(e)}function i(e){return o(e)||Array.isArray(e)&&e.every(o)}function a(e,t){return c({},e,t)}function s(e){var t=e.type,n=a(t.defaultProps,e.props);if(n.children){var r=u(n.children,n);r.length&&(n.childRoutes=r),delete n.children}return n}function u(e,t){var n=[];return f.default.Children.forEach(e,function(e){if(f.default.isValidElement(e))if(e.type.createRouteFromReactElement){var r=e.type.createRouteFromReactElement(e,t);r&&n.push(r)}else n.push(s(e))}),n}function l(e){return i(e)?e=u(e):e&&!Array.isArray(e)&&(e=[e]),e}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.isReactChildren=i,t.createRouteFromReactElement=s,t.createRoutesFromReactChildren=u,t.createRoutes=l;var d=n(1),f=r(d)},function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}e.exports=n},54,[1732,123,363,256,124],[1747,364,247],function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){var r=n(61),o=n(385),i=n(267),a=n(18),s=n(32),u=n(283),l={},c={},t=e.exports=function(e,t,n,d,f){var p,h,m,g,_=f?function(){return e}:u(e),b=r(n,d,t?2:1),y=0;if(\"function\"!=typeof _)throw TypeError(e+\" is not iterable!\");if(i(_)){for(p=s(e.length);p>y;y++)if(g=t?b(a(h=e[y])[0],h[1]):b(e[y]),g===l||g===c)return g}else for(m=_.call(e);!(h=m.next()).done;)if(g=o(m,b,h.value,t),g===l||g===c)return g};t.BREAK=l,t.RETURN=c},[1731,18,391,263,275,262,265],[1736,393,263],[1739,393,263],function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(49);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){\"use strict\";var r=n(19),o=n(31),i=n(30),a=n(26)(\"species\");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},[1746,72],function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.match(/^https?:\\/\\/[^\\/]*/);return null==t?e:e.substring(t[0].length)}function i(e){var t=o(e),n=\"\",r=\"\",i=t.indexOf(\"#\");i!==-1&&(r=t.substring(i),t=t.substring(0,i));var a=t.indexOf(\"?\");return a!==-1&&(n=t.substring(a),t=t.substring(0,a)),\"\"===t&&(t=\"/\"),{pathname:t,search:n,hash:r}}t.__esModule=!0,t.extractPath=o,t.parsePath=i;var a=n(64);r(a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return function(){return e.apply(this,arguments)}}t.__esModule=!0;var i=n(64);r(i);t.default=o,e.exports=t.default},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){function r(e){if(\"string\"!=typeof e)throw new Error(\"Param is not a string\");var n=e.toLowerCase();switch(n){case\"numeric\":return t.NUMERIC;case\"alphanumeric\":return t.ALPHANUMERIC;case\"kanji\":return t.KANJI;case\"byte\":return t.BYTE;default:throw new Error(\"Unknown mode: \"+e)}}var o=n(563),i=n(562);t.NUMERIC={id:\"Numeric\",bit:1,ccBits:[10,12,14]},t.ALPHANUMERIC={id:\"Alphanumeric\",bit:2,ccBits:[9,11,13]},t.BYTE={id:\"Byte\",bit:4,ccBits:[8,16,16]},t.KANJI={id:\"Kanji\",bit:8,ccBits:[8,10,12]},t.MIXED={bit:-1},t.getCharCountIndicator=function(e,t){if(!e.ccBits)throw new Error(\"Invalid mode: \"+e);if(!o.isValid(t))throw new Error(\"Invalid version: \"+t);return t>=1&&t<10?e.ccBits[0]:t<27?e.ccBits[1]:e.ccBits[2]},t.getBestModeForData=function(e){return i.testNumeric(e)?t.NUMERIC:i.testAlphanumeric(e)?t.ALPHANUMERIC:i.testKanji(e)?t.KANJI:t.BYTE},t.toString=function(e){if(e&&e.id)return e.id;throw new Error(\"Invalid mode\")},t.isValid=function(e){return e&&e.bit&&e.ccBits},t.from=function(e,n){if(t.isValid(e))return e;try{return r(e)}catch(e){return n}}},function(e,t){var n,r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];t.getSymbolSize=function(e){if(!e)throw new Error('\"version\" cannot be null or undefined');if(e<1||e>40)throw new Error('\"version\" should be in range from 1 to 40');return 4*e+17},t.getSymbolTotalCodewords=function(e){return r[e]},t.getBCHDigit=function(e){for(var t=0;0!==e;)t++,e>>>=1;return t},t.setToSJISFunction=function(e){if(\"function\"!=typeof e)throw new Error('\"toSJISFunc\" is not a valid function.');n=e},t.isKanjiModeEnabled=function(){return\"undefined\"!=typeof n},t.toSJIS=function(e){return n(e)}},[1767,24],function(e,t,n){\"use strict\";function r(e,t,n){if(e[t])return new Error(\"<\"+n+'> should not have a \"'+t+'\" prop')}t.__esModule=!0,t.routes=t.route=t.components=t.component=t.history=void 0,t.falsy=r;var o=n(1),i=o.PropTypes.func,a=o.PropTypes.object,s=o.PropTypes.arrayOf,u=o.PropTypes.oneOfType,l=o.PropTypes.element,c=o.PropTypes.shape,d=o.PropTypes.string,f=(t.history=c({listen:i.isRequired,push:i.isRequired,replace:i.isRequired,go:i.isRequired,goBack:i.isRequired,goForward:i.isRequired}),t.component=u([i,d])),p=(t.components=u([f,a]),t.route=u([a,l]));t.routes=u([p,s(p)])},function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return a(e,t,n)}var i=n(243),a=i.Buffer;a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=i:(r(i,t),t.Buffer=o),r(a,o),o.from=function(e,t,n){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return a(e,t,n)},o.alloc=function(e,t,n){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var r=a(e);return void 0!==t?\"string\"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return a(e)},o.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i.SlowBuffer(e)}},function(e,t,n){function r(e,t,n){var r=t&&n||0,o=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){o<16&&(t[r+o++]=l[e])});o<16;)t[r+o++]=0;return t}function o(e,t){var n=t||0,r=u;return r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]}function i(e,t,n){var r=t&&n||0,i=t||[];e=e||{};var a=void 0!==e.clockseq?e.clockseq:p,s=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:m+1,l=s-h+(u-m)/1e4;if(l<0&&void 0===e.clockseq&&(a=a+1&16383),(l<0||s>h)&&void 0===e.nsecs&&(u=0),u>=1e4)throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");h=s,m=u,p=a,s+=122192928e5;var c=(1e4*(268435455&s)+u)%4294967296;i[r++]=c>>>24&255,i[r++]=c>>>16&255,i[r++]=c>>>8&255,i[r++]=255&c;var d=s/4294967296*1e4&268435455;i[r++]=d>>>8&255,i[r++]=255&d,i[r++]=d>>>24&15|16,i[r++]=d>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var g=e.node||f,_=0;_<6;_++)i[r+_]=g[_];return t?t:o(i)}function a(e,t,n){var r=t&&n||0;\"string\"==typeof e&&(t=\"binary\"==e?new Array(16):null,e=null),e=e||{};var i=e.random||(e.rng||s)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var a=0;a<16;a++)t[r+a]=i[a];return t||o(i)}for(var s=n(1701),u=[],l={},c=0;c<256;c++)u[c]=(c+256).toString(16).substr(1),l[u[c]]=c;var d=s(),f=[1|d[0],d[1],d[2],d[3],d[4],d[5]],p=16383&(d[6]<<8|d[7]),h=0,m=0,g=a;g.v1=i,g.v4=a,g.parse=r,g.unparse=o,e.exports=g},function(e,t){function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}e.exports=n},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}e.exports=r},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){function r(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&&o(e,t)}var o=n(673);e.exports=r},function(e,t,n){function r(e,t){return!t||\"object\"!==o(t)&&\"function\"!=typeof t?i(e):t}var o=n(228),i=n(340);e.exports=r},function(e,t,n){e.exports={default:n(920),__esModule:!0}},function(e,t,n){\"use strict\";var r=n(1369),o=n(1368),i=92,a=n(414).decodeHTML,s=\"&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});\",u=\"[A-Za-z][A-Za-z0-9-]*\",l=\"[a-zA-Z_:][a-zA-Z0-9:._-]*\",c=\"[^\\\"'=<>`\\\\x00-\\\\x20]+\",d=\"'[^']*'\",f='\"[^\"]*\"',p=\"(?:\"+c+\"|\"+d+\"|\"+f+\")\",h=\"(?:\\\\s*=\\\\s*\"+p+\")\",m=\"(?:\\\\s+\"+l+h+\"?)\",g=\"<\"+u+m+\"*\\\\s*/?>\",_=\"</\"+u+\"\\\\s*[>]\",b=\"<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->\",y=\"[<][?].*?[?][>]\",v=\"<![A-Z]+\\\\s+[^>]*>\",M=\"<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\",A=\"(?:\"+g+\"|\"+_+\"|\"+b+\"|\"+y+\"|\"+v+\"|\"+M+\")\",w=new RegExp(\"^\"+A,\"i\"),C=/[\\\\&]/,E=\"[!\\\"#$%&'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]\",L=new RegExp(\"\\\\\\\\\"+E+\"|\"+s,\"gi\"),T='[&<>\"]',O=new RegExp(T,\"g\"),S=new RegExp(s+\"|\"+T,\"gi\"),N=function(e){return e.charCodeAt(0)===i?e.charAt(1):a(e)},k=function(e){return C.test(e)?e.replace(L,N):e},D=function(e){try{return r(o(e))}catch(t){return e}},x=function(e){switch(e){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";default:return e}},I=function(e,t){return O.test(e)?t?e.replace(S,x):e.replace(O,x):e};e.exports={unescapeString:k,normalizeURI:D,escapeXml:I,reHtmlTag:w,OPENTAG:g,CLOSETAG:_,ENTITY:s,ESCAPABLE:E}},[1711,126],[1716,151],[1719,95,155,124],22,function(e,t){e.exports={}},[1742,31,54,26],function(e,t,n){var r=n(2),o=n(70),i=n(21),a=n(279),s=\"[\"+a+\"]\",u=\"\u200b\u0085\",l=RegExp(\"^\"+s+s+\"*\"),c=RegExp(s+s+\"*$\"),d=function(e,t,n){var o={},s=i(function(){return!!a[e]()||u[e]()!=u}),l=o[e]=s?t(f):a[e];n&&(o[n]=l),r(r.P+r.F*s,\"String\",o)},f=d.trim=function(e,t){return e=String(o(e)),1&t&&(e=e.replace(l,\"\")),2&t&&(e=e.replace(c,\"\")),e};e.exports=d},function(e,t,n){var r=n(22);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},function(e,t){\"use strict\";function n(e){return e===e.window?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(0,c.default)(e),n=(0,u.default)(t),r=t&&t.documentElement,o={top:0,left:0,height:0,width:0};if(t)return(0,a.default)(r,e)?(void 0!==e.getBoundingClientRect&&(o=e.getBoundingClientRect()),o={top:o.top+(n.pageYOffset||r.scrollTop)-(r.clientTop||0),left:o.left+(n.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:(null==o.width?e.offsetWidth:o.width)||0,height:(null==o.height?e.offsetHeight:o.height)||0}):o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(89),a=r(i),s=n(131),u=r(s),l=n(80),c=r(l);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return u.stringify(e).replace(/%20/g,\"+\")}function i(e){return function(){function t(e){if(null==e.query){var t=e.search;e.query=A(t.substring(1)),e[h]={search:t,searchBase:\"\"}}return e}function n(e,t){var n,r=e[h],o=t?M(t):\"\";if(!r&&!o)return e;\"string\"==typeof e&&(e=d.parsePath(e));var i=void 0;i=r&&e.search===r.search?r.searchBase:e.search||\"\";var s=i;return o&&(s+=(s?\"&\":\"?\")+o),a({},e,(n={search:s},n[h]={search:s,searchBase:i},n))}function r(e){return v.listenBefore(function(n,r){c.default(e,t(n),r)})}function i(e){return v.listen(function(n){e(t(n))})}function s(e){v.push(n(e,e.query))}function u(e){v.replace(n(e,e.query))}function l(e,t){return v.createPath(n(e,t||e.query))}function f(e,t){return v.createHref(n(e,t||e.query))}function g(e){for(var r=arguments.length,o=Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];var a=v.createLocation.apply(v,[n(e,e.query)].concat(o));return e.query&&(a.query=e.query),t(a)}function _(e,t,n){\"string\"==typeof t&&(t=d.parsePath(t)),s(a({state:e},t,{query:n}))}function b(e,t,n){\"string\"==typeof t&&(t=d.parsePath(t)),u(a({state:e},t,{query:n}))}var y=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],v=e(y),M=y.stringifyQuery,A=y.parseQueryString;return\"function\"!=typeof M&&(M=o),\"function\"!=typeof A&&(A=m),a({},v,{listenBefore:r,listen:i,push:s,replace:u,createPath:l,createHref:f,createLocation:g,pushState:p.default(_,\"pushState is deprecated; use push instead\"),replaceState:p.default(b,\"replaceState is deprecated; use replace instead\")})}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(64),u=(r(s),n(1400)),l=n(292),c=r(l),d=n(107),f=n(108),p=r(f),h=\"$searchBase\",m=u.parse;t.default=i,e.exports=t.default},function(e,t,n){(function(e){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i={type:\"logger\",log:function(e){this.output(\"log\",e)},warn:function(e){this.output(\"warn\",e)},error:function(e){this.output(\"error\",e)},output:function(t,n){var o;e&&e[t]&&(o=e)[t].apply(o,r(n))}},a=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n(this,e),this.init(t,r)}return e.prototype.init=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||\"i18next:\",this.logger=e||i,this.options=t,this.debug=t.debug},e.prototype.setDebug=function(e){this.debug=e},e.prototype.log=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"log\",\"\",!0)},e.prototype.warn=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"warn\",\"\",!0)},e.prototype.error=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"error\",\"\")},e.prototype.deprecate=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"warn\",\"WARNING DEPRECATED: \",!0)},e.prototype.forward=function(e,t,n,r){return r&&!this.debug?null:(\"string\"==typeof e[0]&&(e[0]=\"\"+n+this.prefix+\" \"+e[0]),this.logger[t](e))},e.prototype.create=function(t){return new e(this.logger,o({prefix:this.prefix+\":\"+t+\":\"},this.options))},e}();t.default=new a}).call(t,n(38))},function(e,t){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(e){if(d===clearTimeout)return clearTimeout(e);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){m&&p&&(m=!1,p.length?h=p.concat(h):g=-1,h.length&&s())}function s(){if(!m){var e=o(a);m=!0;for(var t=h.length;t;){for(p=h,h=[];++g<t;)p&&p[g].run();g=-1,t=h.length}p=null,m=!1,i(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,d,f=e.exports={};!function(){try{c=\"function\"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{d=\"function\"==typeof clearTimeout?clearTimeout:r}catch(e){d=r}}();var p,h=[],m=!1,g=-1;f.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];h.push(new u(e,t)),1!==h.length||m||o(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(e){return[]},f.binding=function(e){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(e){throw new Error(\"process.chdir is not supported\");\n},f.umask=function(){return 0}},function(e,t,n){(function(t){\"use strict\";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function t(e,n,r){return t.TYPED_ARRAY_SUPPORT||this instanceof t?\"number\"==typeof e?s(this,e):g(this,e,n,r):new t(e,n,r)}function o(e){if(e>=b)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+b.toString(16)+\" bytes\");return 0|e}function i(e){return e!==e}function a(e,n){var r;return t.TYPED_ARRAY_SUPPORT?(r=new Uint8Array(n),r.__proto__=t.prototype):(r=e,null===r&&(r=new t(n)),r.length=n),r}function s(e,n){var r=a(e,n<0?0:0|o(n));if(!t.TYPED_ARRAY_SUPPORT)for(var i=0;i<n;++i)r[i]=0;return r}function u(e,t){var n=0|p(t),r=a(e,n),o=r.write(t);return o!==n&&(r=r.slice(0,o)),r}function l(e,t){for(var n=t.length<0?0:0|o(t.length),r=a(e,n),i=0;i<n;i+=1)r[i]=255&t[i];return r}function c(e,n,r,o){if(r<0||n.byteLength<r)throw new RangeError(\"'offset' is out of bounds\");if(n.byteLength<r+(o||0))throw new RangeError(\"'length' is out of bounds\");var i;return i=void 0===r&&void 0===o?new Uint8Array(n):void 0===o?new Uint8Array(n,r):new Uint8Array(n,r,o),t.TYPED_ARRAY_SUPPORT?i.__proto__=t.prototype:i=l(e,i),i}function d(e,n){if(t.isBuffer(n)){var r=0|o(n.length),s=a(e,r);return 0===s.length?s:(n.copy(s,0,0,r),s)}if(n){if(\"undefined\"!=typeof ArrayBuffer&&n.buffer instanceof ArrayBuffer||\"length\"in n)return\"number\"!=typeof n.length||i(n.length)?a(e,0):l(e,n);if(\"Buffer\"===n.type&&Array.isArray(n.data))return l(e,n.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function f(e,t){t=t||1/0;for(var n,r=e.length,o=null,i=[],a=0;a<r;++a){if(n=e.charCodeAt(a),n>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=(o-55296<<10|n-56320)+65536}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function p(e){if(t.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;return 0===n?0:f(e).length}function h(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function m(e,t,n,r){return h(f(t,e.length-n),e,n,r)}function g(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?c(e,t,n,r):\"string\"==typeof t?u(e,t,n):d(e,t)}var _=n(303);t.TYPED_ARRAY_SUPPORT=r();var b=t.TYPED_ARRAY_SUPPORT?2147483647:1073741823;t.TYPED_ARRAY_SUPPORT&&(t.prototype.__proto__=Uint8Array.prototype,t.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&t[Symbol.species]===t&&Object.defineProperty(t,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),t.prototype.write=function(e,t,n){void 0===t?(n=this.length,t=0):void 0===n&&\"string\"==typeof t?(n=this.length,t=0):isFinite(t)&&(t|=0,isFinite(n)?n|=0:n=void 0);var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");return m(this,e,t,n)},t.prototype.slice=function(e,n){var r=this.length;e=~~e,n=void 0===n?r:~~n,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),n<0?(n+=r,n<0&&(n=0)):n>r&&(n=r),n<e&&(n=e);var o;if(t.TYPED_ARRAY_SUPPORT)o=this.subarray(e,n),o.__proto__=t.prototype;else{var i=n-e;o=new t(i,void 0);for(var a=0;a<i;++a)o[a]=this[a+e]}return o},t.prototype.copy=function(e,n,r,o){if(r||(r=0),o||0===o||(o=this.length),n>=e.length&&(n=e.length),n||(n=0),o>0&&o<r&&(o=r),o===r)return 0;if(0===e.length||0===this.length)return 0;if(n<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(o<0)throw new RangeError(\"sourceEnd out of bounds\");o>this.length&&(o=this.length),e.length-n<o-r&&(o=e.length-n+r);var i,a=o-r;if(this===e&&r<n&&n<o)for(i=a-1;i>=0;--i)e[i+n]=this[i+r];else if(a<1e3||!t.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+n]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),n);return a},t.prototype.fill=function(e,n,r){if(\"string\"==typeof e){if(\"string\"==typeof n?(n=0,r=this.length):\"string\"==typeof r&&(r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}}else\"number\"==typeof e&&(e&=255);if(n<0||this.length<n||this.length<r)throw new RangeError(\"Out of range index\");if(r<=n)return this;n>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var i;if(\"number\"==typeof e)for(i=n;i<r;++i)this[i]=e;else{var a=t.isBuffer(e)?e:new t(e),s=a.length;for(i=0;i<r-n;++i)this[i+n]=a[i%s]}return this},t.concat=function(e,n){if(!_(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return a(null,0);var r;if(void 0===n)for(n=0,r=0;r<e.length;++r)n+=e[r].length;var o=s(null,n),i=0;for(r=0;r<e.length;++r){var u=e[r];if(!t.isBuffer(u))throw new TypeError('\"list\" argument must be an Array of Buffers');u.copy(o,i),i+=u.length}return o},t.byteLength=p,t.prototype._isBuffer=!0,t.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.exports=t}).call(t,n(243).Buffer)},function(e,t,n){\"use strict\";function r(e){if(g){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)_(t,n[r],null);else null!=e.html?d(t,e.html):null!=e.text&&p(t,e.text)}}function o(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function i(e,t){g?e.children.push(t):e.node.appendChild(t.node)}function a(e,t){g?e.html=t:d(e.node,t)}function s(e,t){g?e.text=t:p(e.node,t)}function u(){return this.node.nodeName}function l(e){return{node:e,children:[],html:null,text:null,toString:u}}var c=n(312),d=n(218),f=n(320),p=n(609),h=1,m=11,g=\"undefined\"!=typeof document&&\"number\"==typeof document.documentMode||\"undefined\"!=typeof navigator&&\"string\"==typeof navigator.userAgent&&/\\bEdge\\/\\d/.test(navigator.userAgent),_=f(function(e,t,n){t.node.nodeType===m||t.node.nodeType===h&&\"object\"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===c.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});l.insertTreeBefore=_,l.replaceChildWithTree=o,l.queueChild=i,l.queueHTML=a,l.queueText=s,e.exports=l},function(e,t,n){\"use strict\";function r(e,t){return(e&t)===t}var o=n(24),i=(n(17),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var d in n){s.properties.hasOwnProperty(d)?o(\"48\",d):void 0;var f=d.toLowerCase(),p=n[d],h={attributeName:f,attributeNamespace:null,propertyName:d,mutationMethod:null,mustUseProperty:r(p,t.MUST_USE_PROPERTY),hasBooleanValue:r(p,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(p,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(p,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(p,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o(\"50\",d),u.hasOwnProperty(d)){var m=u[d];h.attributeName=m}a.hasOwnProperty(d)&&(h.attributeNamespace=a[d]),l.hasOwnProperty(d)&&(h.propertyName=l[d]),c.hasOwnProperty(d)&&(h.mutationMethod=c[d]),s.properties[d]=h}}}),a=\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",s={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+\"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){var n=s._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:i};e.exports=s},function(e,t,n){\"use strict\";function r(){o.attachRefs(this,this._currentElement)}var o=n(1518),i=(n(65),n(20),{mountComponent:function(e,t,n,o,i,a){var s=e.mountComponent(t,n,o,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){o.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){var s=o.shouldUpdateRefs(a,t);s&&o.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});e.exports=i},function(e,t,n){\"use strict\";function r(e){v=(0,_.default)({},v,e)}function o(){return v}function i(e){d=e}function a(){return d}function s(){return function(e){var t=function(t){function n(){return(0,f.default)(this,n),(0,h.default)(this,(0,m.default)(n).apply(this,arguments))}return(0,g.default)(n,t),(0,p.default)(n,[{key:\"render\",value:function(){var t=this;return b.default.createElement(A.Consumer,null,function(n){return b.default.createElement(e,(0,_.default)({},n,t.props))})}}]),n}(b.Component);return t}}function u(){return function(e){var t=function(t){function n(){return(0,f.default)(this,n),(0,h.default)(this,(0,m.default)(n).apply(this,arguments))}return(0,g.default)(n,t),(0,p.default)(n,[{key:\"render\",value:function(){var t=this,n={},r=this.props.i18nOptions,i=this.props.i18n||a();if(!r){var s=Object.keys(v).reduce(function(e,n){return t.props[n]&&(e[n]=t.props[n]),e},{});r=(0,_.default)({},o(),i&&i.options&&i.options.react,s)}return i&&(n.i18n=i,n.t=i.t.bind(i),n.lng=i.language,n.i18nOptions=r),b.default.createElement(e,(0,_.default)({},n,this.props))}}]),n}(b.Component);return s()(t)}}var l=n(148),c=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.setDefaults=r,t.getDefaults=o,t.setI18n=i,t.getI18n=a,t.withContext=s,t.withI18n=u,t.I18nContext=t.reactI18nextModule=void 0;var d,f=c(n(116)),p=c(n(117)),h=c(n(120)),m=c(n(118)),g=c(n(119)),_=c(n(173)),b=l(n(1)),y=c(n(1157)),v={wait:!1,withRef:!1,bindI18n:\"languageChanged loaded\",bindStore:\"added removed\",translateFuncName:\"t\",nsMode:\"default\",usePureComponent:!1,omitBoundRerender:!0},M={type:\"3rdParty\",init:function(e){r(e.options.react),i(e)}};t.reactI18nextModule=M;var A=(0,y.default)();t.I18nContext=A},function(e,t,n){(function(e,r){\"use strict\";function o(){if(e&&e.warn){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];\"string\"==typeof n[0]&&(n[0]=\"react-i18next:: \".concat(n[0])),e.warn.apply(null,n)}}function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];\"string\"==typeof t[0]&&g[t[0]]||(\"string\"==typeof t[0]&&(g[t[0]]=new Date),o.apply(void 0,t))}function a(){if(r&&r.env,!1){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];\"string\"==typeof t[0]&&(t[0]=\"deprecation warning -> \".concat(t[0])),i.apply(void 0,t)}}function s(e,t){e.initialI18nStore&&(e.i18n.services.resourceStore.data=e.initialI18nStore,t&&(e.i18n.options.isInitialSSR=!0),e.i18nOptions&&(e.i18nOptions.wait=!1)),e.initialLanguage&&e.i18n.changeLanguage(e.initialLanguage)}function u(e,t){for(var n=0,r=e.length;n<r;n++)if(\"object\"===(0,m.default)(e[n])){var o=!0,i=!1,a=void 0;try{for(var s,u=_(e[n])[Symbol.iterator]();!(o=(s=u.next()).done);o=!0){var l=(0,h.default)(s.value,2),c=l[0],d=l[1];t(d,n,c)}}catch(e){i=!0,a=e}finally{try{o||null==u.return||u.return()}finally{if(i)throw a}}}else t(e[n],n)}function l(e){var t=[];return u(e,function(e){e&&e.namespaces&&e.namespaces.forEach(function(e){t.indexOf(e)===-1&&t.push(e)})}),t}function c(e){var t=e.components,n=e.i18n,r=l(t);return new Promise(function(e){n.loadNamespaces(r,e)})}function d(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function f(e,t){if(d(e,t))return!0;if(\"object\"!==(0,m.default)(e)||null===e||\"object\"!==(0,m.default)(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!b.call(t,n[o])||!d(e[n[o]],t[n[o]]))return!1;return!0}var p=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.warn=o,t.warnOnce=i,t.deprecated=a,t.initSSR=s,t.loadNamespaces=c,t.shallowEqual=f;var h=p(n(674)),m=p(n(228)),g={},_=Object.entries||function(e){for(var t=Object.keys(e),n=t.length,r=new Array(n);n--;)r[n]=[t[n],e[t[n]]];return r},b=Object.prototype.hasOwnProperty}).call(t,n(38),n(135))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function i(e){for(var t=\"\",n=[],r=[],i=void 0,a=0,s=/:([a-zA-Z_$][a-zA-Z0-9_$]*)|\\*\\*|\\*|\\(|\\)/g;i=s.exec(e);)i.index!==a&&(r.push(e.slice(a,i.index)),t+=o(e.slice(a,i.index))),i[1]?(t+=\"([^/]+)\",n.push(i[1])):\"**\"===i[0]?(t+=\"(.*)\",n.push(\"splat\")):\"*\"===i[0]?(t+=\"(.*?)\",n.push(\"splat\")):\"(\"===i[0]?t+=\"(?:\":\")\"===i[0]&&(t+=\")?\"),r.push(i[0]),a=s.lastIndex;return a!==e.length&&(r.push(e.slice(a,e.length)),t+=o(e.slice(a,e.length))),{pattern:e,regexpSource:t,paramNames:n,tokens:r}}function a(e){return p[e]||(p[e]=i(e)),p[e]}function s(e,t){\"/\"!==e.charAt(0)&&(e=\"/\"+e);var n=a(e),r=n.regexpSource,o=n.paramNames,i=n.tokens;\"/\"!==e.charAt(e.length-1)&&(r+=\"/?\"),\"*\"===i[i.length-1]&&(r+=\"$\");var s=t.match(new RegExp(\"^\"+r,\"i\"));if(null==s)return null;var u=s[0],l=t.substr(u.length);if(l){if(\"/\"!==u.charAt(u.length-1))return null;l=\"/\"+l}return{remainingPathname:l,paramNames:o,paramValues:s.slice(1).map(function(e){return e&&decodeURIComponent(e)})}}function u(e){return a(e).paramNames}function l(e,t){var n=s(e,t);if(!n)return null;var r=n.paramNames,o=n.paramValues,i={};return r.forEach(function(e,t){i[e]=o[t]}),i}function c(e,t){t=t||{};for(var n=a(e),r=n.tokens,o=0,i=\"\",s=0,u=void 0,l=void 0,c=void 0,d=0,p=r.length;d<p;++d)u=r[d],\"*\"===u||\"**\"===u?(c=Array.isArray(t.splat)?t.splat[s++]:t.splat,null!=c||o>0?void 0:(0,f.default)(!1),null!=c&&(i+=encodeURI(c))):\"(\"===u?o+=1:\")\"===u?o-=1:\":\"===u.charAt(0)?(l=u.substring(1),c=t[l],null!=c||o>0?void 0:(0,f.default)(!1),null!=c&&(i+=encodeURIComponent(c))):i+=u;return i.replace(/\\/+/g,\"/\")}t.__esModule=!0,t.compilePattern=a,t.matchPattern=s,t.getParamNames=u,t.getParams=l,t.formatPattern=c;var d=n(33),f=r(d),p=Object.create(null)},function(e,t,n){\"use strict\";var r=n(28),o=n(1603),i=n(332),a=n(1608),s=n(1604),u=n(1605),l=n(144),c=n(1607),d=n(1609),f=n(1612),p=(n(20),l.createElement),h=l.createFactory,m=l.cloneElement,g=r,_={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:f},Component:i,PureComponent:a,createElement:p,cloneElement:m,isValidElement:l.isValidElement,PropTypes:c,createClass:s.createClass,createFactory:h,createMixin:function(e){return e},DOM:u,version:d,__spread:g};e.exports=_},function(e,t,n){\"use strict\";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var i=n(28),a=n(82),s=(n(20),n(631),Object.prototype.hasOwnProperty),u=n(630),l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,o,i,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:i};return s};c.createElement=function(e,t,n){var i,u={},d=null,f=null,p=null,h=null;if(null!=t){r(t)&&(f=t.ref),o(t)&&(d=\"\"+t.key),p=void 0===t.__self?null:t.__self,h=void 0===t.__source?null:t.__source;for(i in t)s.call(t,i)&&!l.hasOwnProperty(i)&&(u[i]=t[i])}var m=arguments.length-2;if(1===m)u.children=n;else if(m>1){for(var g=Array(m),_=0;_<m;_++)g[_]=arguments[_+2];u.children=g}if(e&&e.defaultProps){var b=e.defaultProps;for(i in b)void 0===u[i]&&(u[i]=b[i])}return c(e,d,f,p,h,a.current,u)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){var n=c(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},c.cloneElement=function(e,t,n){var u,d=i({},e.props),f=e.key,p=e.ref,h=e._self,m=e._source,g=e._owner;if(null!=t){r(t)&&(p=t.ref,g=a.current),o(t)&&(f=\"\"+t.key);var _;e.type&&e.type.defaultProps&&(_=e.type.defaultProps);for(u in t)s.call(t,u)&&!l.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==_?d[u]=_[u]:d[u]=t[u])}var b=arguments.length-2;if(1===b)d.children=n;else if(b>1){for(var y=Array(b),v=0;v<b;v++)y[v]=arguments[v+2];d.children=y}return c(e.type,f,p,h,m,g,d)},c.isValidElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===u},e.exports=c},24,function(e,t){\"use strict\";function n(e){return e&&i(e)&&Object.defineProperty(e,o,{value:!0,enumerable:!0}),e}function r(e){return!!(e&&i(e)&&e[o])}t.__esModule=!0,t.makeFieldValue=n,t.isFieldValue=r;var o=\"_isFieldValue\",i=function(e){return\"object\"==typeof e}},function(e,t,n){function r(e,t){this._block=o.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}var o=n(114).Buffer;r.prototype.update=function(e,t){\"string\"==typeof e&&(t=t||\"utf8\",e=o.from(e,t));for(var n=this._block,r=this._blockSize,i=e.length,a=this._len,s=0;s<i;){for(var u=a%r,l=Math.min(i-s,r-u),c=0;c<l;c++)n[u+c]=e[s+c];a+=l,s+=l,a%r===0&&this._update(n)}return this._len+=i,this},r.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,o=(n-r)/4294967296;this._block.writeUInt32BE(o,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var i=this._hash();return e?i.toString(e):i},r.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},e.exports=r},function(e,t){function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}e.exports=n},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.voteTxActionBuilder=t.crossChainTxActionBuilder=t.issueAssetTxActionBuilder=t.normalTxActionBuilder=t.getAssetDecimal=t.balance=void 0;var r=n(43),o=n(14),i=n(181);t.balance=function(e,t,n,i){var a=n;return e.accountAlias.value&&(a=a.filter(function(t){return t.accountAlias===e.accountAlias.value})),e.accountId.value&&(a=a.filter(function(t){return t.accountId===e.accountId.value})),e.assetAlias.value&&(a=a.filter(function(t){return t.assetAlias===e.assetAlias.value})),e.assetId.value&&(a=a.filter(function(t){return t.assetId===e.assetId.value})),1===a.length?a[0].assetId===o.btmID?(0,r.normalizeBTMAmountUnit)(a[0].assetId,a[0].amount,i):t?(0,r.converIntToDec)(a[0].amount,t):a[0].amount:null},t.getAssetDecimal=function(e,t){var n=t;return e.assetAlias.value&&(n=n.filter(function(t){return t.alias===e.assetAlias.value})),e.assetId.value&&(n=n.filter(function(t){return t.id===e.assetId.value})),1===n.length&&n[0].definition&&n[0].id!==o.btmID?n[0].definition.decimals:null},t.normalTxActionBuilder=function(e,t,n){var r=e.accountAlias.value||e.accountAlias,o=e.accountId.value||e.accountId,a=e.assetAlias.value||e.assetAlias,s=e.assetId.value||e.assetId,u=e.receivers,l=(0,i.sum)(u,n),c={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetAlias:a,assetId:s,amount:l,type:\"spend_account\"},d={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetAlias:\"BTM\",amount:t,type:\"spend_account\"},f=[c];return t>0&&f.push(d),u.forEach(function(e){f.push({address:e.address.value||e.address,assetAlias:a,assetId:s,amount:Number(e.amount.value||e.amount),type:\"control_address\"})}),f},t.issueAssetTxActionBuilder=function(e,t,n){var r=e.accountAlias.value||e.accountAlias,o=e.accountId.value||e.accountId,a=e.assetAlias.value||e.assetAlias,s=e.assetId.value||e.assetId,u=e.receivers,l=(0,i.sum)(u,n),c={assetAlias:a,assetId:s,amount:l,type:\"issue\"},d={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetAlias:\"BTM\",amount:t,type:\"spend_account\"},f=[c];return t>0&&f.push(d),u.forEach(function(e){f.push({address:e.address.value||e.address,assetAlias:a,assetId:s,amount:Number(e.amount.value||e.amount),type:\"control_address\"})}),f},t.crossChainTxActionBuilder=function(e,t){var n=e.accountAlias.value||e.accountAlias,r=e.accountId.value||e.accountId,o=e.assetAlias.value||e.assetAlias,i=e.assetId.value||e.assetId,a=e.amount.value||e.amount,s=e.address.value||e.address,u={accountAlias:\"string\"!=typeof n?\"\":n,accountId:\"string\"!=typeof r?\"\":r,assetAlias:o,assetId:i,amount:a,type:\"spend_account\"},l={accountAlias:\"string\"!=typeof n?\"\":n,accountId:\"string\"!=typeof r?\"\":r,assetAlias:\"BTM\",amount:t,type:\"spend_account\"},c={amount:a,assetAlias:o,assetId:i,address:s,type:\"cross_chain_out\"},d=[u,c];return t>0&&d.push(l),d},t.voteTxActionBuilder=function(e,t,n){var r=e.accountAlias.value||e.accountAlias,i=e.accountId.value||e.accountId,a=e.nodePubkey.value||e.nodePubkey,s=e.amount.value||e.amount,u=e.action.value||e.action,l={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof i?\"\":i,asset_id:o.btmID,amount:t,type:\"spend_account\"};if(\"vote\"===u){var c={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof i?\"\":i,assetId:o.btmID,amount:s,type:\"spend_account\"},d={amount:s,asset_id:o.btmID,address:n,vote:a,type:\"vote_output\"};return t>0?[c,l,d]:[c,d]}if(\"veto\"===u){var f={assetId:o.btmID,amount:s,address:n,type:\"control_address\"},p={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof i?\"\":i,amount:s,asset_id:o.btmID,vote:a,type:\"veto\"};return t>0?[l,p,f]:[p,f]}throw\"invalid operation type.\"}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.copyToClipboard=function(e){var t=function t(n){n.clipboardData.setData(\"text/plain\",e),n.preventDefault(),document.removeEventListener(\"copy\",t)};document.getElementById(\"_copyInput\").select(),document.addEventListener(\"copy\",t),document.execCommand(\"copy\")}},21,127,[1739,368,248],function(e,t){t.f={}.propertyIsEnumerable},102,[1713,59,26],[1722,59],154,function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(74),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent(\"on\"+t,function(t){t=t||window.event,t.target=t.target||t.srcElement,t.currentTarget=e,n.call(e,t)})}:void 0}()),t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=\"\",o=\"\",i=t;if(\"string\"==typeof t){if(void 0===n)return e.style[(0,a.default)(t)]||(0,c.default)(e).getPropertyValue((0,u.default)(t));(i={})[t]=n}Object.keys(i).forEach(function(t){var n=i[t];n||0===n?(0,m.default)(t)?o+=t+\"(\"+n+\") \":r+=(0,u.default)(t)+\": \"+n+\";\":(0,f.default)(e,(0,u.default)(t))}),o&&(r+=p.transform+\": \"+o+\";\"),e.style.cssText+=\";\"+r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(412),a=r(i),s=n(1177),u=r(s),l=n(1172),c=r(l),d=n(1173),f=r(d),p=n(411),h=n(1174),m=r(h);e.exports=t.default},function(e,t){e.exports={progress:\"New__progress__2MMc4\",\"progress-bar\":\"New__progress-bar__3lhQw\",\"progress-striped\":\"New__progress-striped__3HO2a\",\"progress-bar-striped\":\"New__progress-bar-striped__3NSkp\",active:\"New__active__2mQ4Z\",\"progress-bar-stripes\":\"New__progress-bar-stripes__1l4HF\",\"progress-bar-success\":\"New__progress-bar-success__3MZWS\",\"progress-bar-info\":\"New__progress-bar-info__2vJma\",\"progress-bar-warning\":\"New__progress-bar-warning__XYMgH\",\"progress-bar-danger\":\"New__progress-bar-danger__2XfZH\",tooltip:\"New__tooltip__2RYxe\",in:\"New__in__2O-sD\",top:\"New__top__BT10e\",right:\"New__right__HSnMR\",bottom:\"New__bottom__2QvBq\",left:\"New__left__2bj66\",\"tooltip-arrow\":\"New__tooltip-arrow__EmJKl\",\"top-left\":\"New__top-left__3-59o\",\"top-right\":\"New__top-right__nK792\",\"bottom-left\":\"New__bottom-left__30CqC\",\"bottom-right\":\"New__bottom-right__2wDx2\",\"tooltip-inner\":\"New__tooltip-inner__2Fz0l\",mainContainer:\"New__mainContainer__2-t4h\",txFeeBox:\"New__txFeeBox__1R0YK\",feeDescription:\"New__feeDescription__1qtZW\",center:\"New__center__1Qg4M\",content:\"New__content__6Kt2e\",container:\"New__container__2nnLe\",submit:\"New__submit__nDaYB\",submitTable:\"New__submitTable__2v45s\",submitDescription:\"New__submitDescription__1Xs87\",actionInfo:\"New__actionInfo__SsB32\",btnGroup:\"New__btnGroup__wFYx3\",title:\"New__title__dO8cU\",estimateGas:\"New__estimateGas__1v4Kk\",mainBox:\"New__mainBox__3FrbZ\",tutorialItem:\"New__tutorialItem__2pUxj\",item:\"New__item__3oIpA\",subjectField:\"New__subjectField__3796l\",deleteButton:\"New__deleteButton__2dvTq\",balanceHint:\"New__balanceHint__o384j\",optionsBtnContianer:\"New__optionsBtnContianer__1WTod\",\"form-group\":\"New__form-group__12tRg\",optionsBtn:\"New__optionsBtn__2ect0\",optionsLabel:\"New__optionsLabel__3JMy8\",receiverBtn:\"New__receiverBtn__1DFp4\",borderBottom:\"New__borderBottom__3t9Cy\"}},function(e,t,n){\"use strict\";var r={};e.exports=r},function(e,t){\"use strict\";t.__esModule=!0;var n=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);t.canUseDOM=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var a=e[t],u=\"undefined\"==typeof a?\"undefined\":i(a);return s.default.isValidElement(a)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement. You can usually obtain a ReactComponent or DOMElement from a ReactElement by attaching a ref to it.\"):\"object\"===u&&\"function\"==typeof a.render||1===a.nodeType?null:new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+a+\"` \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement.\")}Object.defineProperty(t,\"__esModule\",{value:!0});var i=\"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},a=n(1),s=r(a),u=n(559),l=r(u);t.default=(0,l.default)(o),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(11),s=r(a),u=n(9),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(25),w=r(A),C=n(13),E=n(40),L=n(75),T=r(L),O={active:M.default.bool,disabled:M.default.bool,block:M.default.bool,onClick:M.default.func,componentClass:w.default,href:M.default.string,type:M.default.oneOf([\"button\",\"reset\",\"submit\"])},S={active:!1,block:!1,disabled:!1},N=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderAnchor=function(e,t){return y.default.createElement(T.default,(0,l.default)({},e,{className:(0,_.default)(t,e.disabled&&\"disabled\")}))},t.prototype.renderButton=function(e,t){var n=e.componentClass,r=(0,s.default)(e,[\"componentClass\"]),o=n||\"button\";return y.default.createElement(o,(0,l.default)({},r,{type:r.type||\"button\",className:t}))},t.prototype.render=function(){var e,t=this.props,n=t.active,r=t.block,o=t.className,i=(0,s.default)(t,[\"active\",\"block\",\"className\"]),a=(0,C.splitBsProps)(i),u=a[0],c=a[1],d=(0,l.default)({},(0,C.getClassSet)(u),(e={active:n},e[(0,C.prefix)(u,\"block\")]=r,e)),f=(0,_.default)(o,d);return c.href?this.renderAnchor(c,f):this.renderButton(c,f)},t}(y.default.Component);N.propTypes=O,N.defaultProps=S,t.default=(0,C.bsClass)(\"btn\",(0,C.bsSizes)([E.Size.LARGE,E.Size.SMALL,E.Size.XSMALL],(0,C.bsStyles)([].concat((0,i.default)(E.State),[E.Style.DEFAULT,E.Style.PRIMARY,E.Style.LINK]),E.Style.DEFAULT,N))),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,s.default)(i.default.findDOMNode(e))};var o=n(29),i=r(o),a=n(80),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return\"button\"===e||\"input\"===e||\"select\"===e||\"textarea\"===e}function o(e,t,n){switch(e){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":return!(!n.disabled||!r(t));default:return!1}}var i=n(24),a=n(313),s=n(314),u=n(318),l=n(603),c=n(604),d=(n(17),{}),f=null,p=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return p(e,!0)},m=function(e){return p(e,!1)},g=function(e){return\".\"+e._rootNodeID},_={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){\"function\"!=typeof n?i(\"94\",t,typeof n):void 0;var r=g(e),o=d[t]||(d[t]={});o[r]=n;var s=a.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=d[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=g(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=d[t];if(r){var o=g(e);delete r[o]}},deleteAllListeners:function(e){var t=g(e);for(var n in d)if(d.hasOwnProperty(n)&&d[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete d[n][t]}},extractEvents:function(e,t,n,r){for(var o,i=a.plugins,s=0;s<i.length;s++){var u=i[s];if(u){var c=u.extractEvents(e,t,n,r);c&&(o=l(o,c))}}return o},enqueueEvents:function(e){e&&(f=l(f,e))},processEventQueue:function(e){var t=f;f=null,e?c(t,h):c(t,m),f?i(\"95\"):void 0,u.rethrowCaughtError()},__purge:function(){d={}},__getListenerBank:function(){return d}};e.exports=_},function(e,t,n){\"use strict\";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return _(e,r)}function o(e,t,n){var o=r(e,n,t);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.traverseTwoPhase(e._targetInst,o,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?h.getParentInstance(t):null;h.traverseTwoPhase(n,o,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=_(e,r);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function l(e){g(e,i)}function c(e){g(e,a)}function d(e,t,n,r){h.traverseEnterLeave(n,r,s,e,t)}function f(e){g(e,u)}var p=n(168),h=n(314),m=n(603),g=n(604),_=(n(20),p.getListener),b={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:f,accumulateEnterLeaveDispatches:d};e.exports=b},function(e,t){\"use strict\";var n={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};e.exports=n},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i=n(323),a={view:function(e){if(e.view)return e.view;var t=i(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0;\n}};o.augmentClass(r,a),e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return e=\"function\"==typeof e?e():e,a.default.findDOMNode(e)||t}t.__esModule=!0,t.default=o;var i=n(29),a=r(i);e.exports=t.default},function(e,t,n){function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){o(e,t,n[t])})}return e}var o=n(669);e.exports=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o=n(41),i=n(229),a=n(686),s=function(e,t){var n=[],o=function(o){if(i.policyOptions.find(function(e){return e.value==o}).hidden)return\"continue\";if((0,a.hasProtectedGrant)(e.grants||[],o))return\"continue\";var s={guardData:e.guardData,guardType:e.guardType,policy:o};try{n.push(t[o]?(0,r.chainClient)().authorizationGrants.create(s):(0,r.chainClient)().authorizationGrants.delete(s))}catch(e){n.push(Promise.reject(e))}};for(var s in t){o(s)}return Promise.all(n)};t.default={fetchItems:function(){return function(e){var t=[];return Promise.all([(0,r.chainClient)().authorizationGrants.list()]).then(function(n){var r=n[0].data;return e({type:\"RECEIVED_ACCESS_GRANTS\",grants:r,tokens:t})}).catch(function(t){return e({type:\"ERROR\",payload:t})})}},submitTokenForm:function(e){var t={guardType:\"access_token\",guardData:e.guardData};return function(e){return(0,r.chainClient)().accessTokens.create({id:t.guardData.id}).then(function(t){if(\"success\"!==t.status)throw new Error(t.errorDetail);e({type:\"CREATED_TOKEN_WITH_GRANT\",tokenResp:t}),e((0,o.push)({pathname:\"/access-control\",search:\"?type=token\",state:{preserveFlash:!0}}))}).catch(function(e){throw{_error:e}})}},submitCertificateForm:function(e){var t={};for(var n in i.subjectFieldOptions){var r=i.subjectFieldOptions[n];t[r.value]=r}var a={guardType:\"x509\",guardData:{subject:{}}};for(var u in e.subject){var l=e.subject[u];if(l.key&&t[l.key].array){var c=a.guardData[l.key]||[];c.push(l.value),a.guardData.subject[l.key]=c}else a.guardData.subject[l.key]=l.value}return function(t){return Object.values(e.policies).some(function(e){return 1==e})?s(a,e.policies).then(function(e){t({type:\"CREATED_X509_GRANT\",resp:e}),t((0,o.push)({pathname:\"/access-control\",search:\"?type=certificate\",state:{preserveFlash:!0}}))},function(e){throw{_error:e}}):Promise.reject({_error:\"You must specify one or more policies\"})}},beginEditing:function(e){return{type:\"BEGIN_POLICY_EDITING\",id:e}},editPolicies:function(e){var t=e.grant,n=e.policies;return function(r){return s(t,n).then(function(){r({type:\"END_POLICY_EDITING\",id:e.grant.id,policies:n})},function(e){throw{_error:e}})}},deleteToken:function(e){var t=e.id;if(window.confirm('Really delete access token \"'+t+'\"?'))return function(n){return(0,r.chainClient)().accessTokens.delete(t).then(function(){n({type:\"DELETE_ACCESS_TOKEN\",id:e.id,message:\"Token deleted.\"})}).catch(function(e){return n({type:\"ERROR\",payload:e})})}}}},[1707,687,697,698],[1707,737,740,741],[1707,770,774,775],[1707,833,838,839],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(67),p=r(f),h=n(1245),m=r(h),g=n(4),_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props.t;return c.default.createElement(\"form\",s({className:this.props.className,onSubmit:this.props.onSubmit},p.default),this.props.children,c.default.createElement(d.FormSection,null,this.props.error&&\"PasswordWrong\"!==this.props.error.message&&c.default.createElement(d.ErrorBanner,{title:e(\"form.errorTitle\"),error:this.props.error}),c.default.createElement(\"div\",{className:m.default.submit},c.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:this.props.submitting||this.props.disabled},this.props.submitLabel||e(\"form.submit\")),this.props.showSubmitIndicator&&this.props.submitting&&c.default.createElement(d.SubmitIndicator,null))))}}]),t}(c.default.Component);t.default=(0,g.withNamespaces)(\"translations\")(_)},[1707,840,859,860],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.splitSlice=t.formatBytes=t.sum=void 0;var o=n(301),i=r(o);t.sum=function(e,t){return e.reduce(function(e,n){return e+Number(i.default.get(n,t))},0)},t.formatBytes=function(e,t){if(0==e)return\"0 Bytes\";var n=1024,r=t<=0?0:t||2,o=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\"],i=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,i)).toFixed(r))+\" \"+o[i]},t.splitSlice=function(e,t){for(var n=[],r=0,o=e.length;r<o;r+=t)n.push(e.slice(r,t+r));return n}},function(e,t){e.exports=!0},106,[1712,57,32,105],function(e,t,n){\"use strict\";var r=n(19),o=n(2),i=n(49),a=n(103),s=n(88),u=n(98),l=n(97),c=n(22),d=n(21),f=n(190),p=n(128),h=n(266);e.exports=function(e,t,n,m,g,_){var b=r[e],y=b,v=g?\"set\":\"add\",M=y&&y.prototype,A={},w=function(e){var t=M[e];i(M,e,\"delete\"==e?function(e){return!(_&&!c(e))&&t.call(this,0===e?0:e)}:\"has\"==e?function(e){return!(_&&!c(e))&&t.call(this,0===e?0:e)}:\"get\"==e?function(e){return _&&!c(e)?void 0:t.call(this,0===e?0:e)}:\"add\"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(\"function\"==typeof y&&(_||M.forEach&&!d(function(){(new y).entries().next()}))){var C=new y,E=C[v](_?{}:-0,1)!=C,L=d(function(){C.has(1)}),T=f(function(e){new y(e)}),O=!_&&d(function(){for(var e=new y,t=5;t--;)e[v](t,t);return!e.has(-0)});T||(y=t(function(t,n){l(t,y,e);var r=h(new b,t,y);return void 0!=n&&u(n,g,r[v],r),r}),y.prototype=M,M.constructor=y),(L||O)&&(w(\"delete\"),w(\"has\"),g&&w(\"get\")),(O||E)&&w(v),_&&M.clear&&delete M.clear}else y=m.getConstructor(t,e,g,v),a(y.prototype,n),s.NEED=!0;return p(y,e),A[e]=y,o(o.G+o.W+o.F*(y!=b),A),_||m.setStrong(y,e,g),y}},function(e,t,n){\"use strict\";var r=n(48),o=n(49),i=n(21),a=n(70),s=n(26);e.exports=function(e,t,n){var u=s(e),l=n(a,u,\"\"[e]),c=l[0],d=l[1];i(function(){var t={};return t[u]=function(){return 7},7!=\"\"[e](t)})&&(o(String.prototype,e,c),r(RegExp.prototype,u,2==t?function(e,t){return d.call(e,this,t)}:function(e){return d.call(e,this)}))}},function(e,t,n){\"use strict\";var r=n(18);e.exports=function(){var e=r(this),t=\"\";return e.global&&(t+=\"g\"),e.ignoreCase&&(t+=\"i\"),e.multiline&&(t+=\"m\"),e.unicode&&(t+=\"u\"),e.sticky&&(t+=\"y\"),t}},[1724,59],function(e,t,n){var r=n(22),o=n(59),i=n(26)(\"match\");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:\"RegExp\"==o(e))}},[1728,26],function(e,t,n){\"use strict\";e.exports=n(87)||!n(21)(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete n(19)[e]})},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){\"use strict\";var r=n(2),o=n(44),i=n(61),a=n(98);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,u=arguments[1];return o(this),t=void 0!==u,t&&o(u),void 0==e?new this:(n=[],t?(r=0,s=i(u,arguments[2],2),a(e,!1,function(e){n.push(s(e,r++))})):a(e,!1,n.push,n),new this(n))}})}},function(e,t,n){\"use strict\";var r=n(2);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},[1744,60,19,87],function(e,t,n){var r=n(18),o=n(44),i=n(26)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[i])?t:o(n)}},function(e,t,n){for(var r,o=n(19),i=n(48),a=n(106),s=a(\"typed_array\"),u=a(\"view\"),l=!(!o.ArrayBuffer||!o.DataView),c=l,d=0,f=9,p=\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");d<f;)(r=o[p[d++]])?(i(r.prototype,s,!0),i(r.prototype,u,!0)):c=!1;e.exports={ABV:l,CONSTR:c,TYPED:s,VIEW:u}},function(e,t,n){var r=n(19),o=r.navigator;e.exports=o&&o.userAgent||\"\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(74),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent(\"on\"+t,n)}:void 0}()),t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,a.default)(e);return void 0===t?n?\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop:e.scrollTop:void(n?n.scrollTo(\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft,t):e.scrollTop=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(131),a=r(i);e.exports=t.default},function(e,t){\"use strict\";function n(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent(\"on\"+t,n)}function r(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent(\"on\"+t,n)}function o(){return window.location.href.split(\"#\")[1]||\"\"}function i(e){window.location.replace(window.location.pathname+window.location.search+\"#\"+e)}function a(){return window.location.pathname+window.location.search+window.location.hash}function s(e){e&&window.history.go(e)}function u(e,t){t(window.confirm(e))}function l(){var e=navigator.userAgent;return(e.indexOf(\"Android 2.\")===-1&&e.indexOf(\"Android 4.0\")===-1||e.indexOf(\"Mobile Safari\")===-1||e.indexOf(\"Chrome\")!==-1||e.indexOf(\"Windows Phone\")!==-1)&&(window.history&&\"pushState\"in window.history)}function c(){var e=navigator.userAgent;return e.indexOf(\"Firefox\")===-1}t.__esModule=!0,t.addEventListener=n,t.removeEventListener=r,t.getHashPath=o,t.replaceHashPath=i,t.getWindowPath=a,t.go=s,t.getUserConfirmation=u,t.supportsHistory=l,t.supportsGoWithoutReloadUsingHash=c},function(e,t){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(){n(this,e),this.observers={}}return e.prototype.on=function(e,t){var n=this;return e.split(\" \").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this},e.prototype.off=function(e,t){var n=this;this.observers[e]&&this.observers[e].forEach(function(){if(t){var r=n.observers[e].indexOf(t);r>-1&&n.observers[e].splice(r,1)}else delete n.observers[e]})},e.prototype.emit=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(this.observers[e]){var o=[].concat(this.observers[e]);o.forEach(function(e){e.apply(void 0,n)})}if(this.observers[\"*\"]){var i=[].concat(this.observers[\"*\"]);i.forEach(function(t){t.apply(t,[e].concat(n))})}},e}();t.default=r},function(e,t){\"use strict\";function n(e){return null==e?\"\":\"\"+e}function r(e,t,n){e.forEach(function(e){t[e]&&(n[e]=t[e])})}function o(e,t,n){function r(e){return e&&e.indexOf(\"###\")>-1?e.replace(/###/g,\".\"):e}function o(){return!e||\"string\"==typeof e}for(var i=\"string\"!=typeof t?[].concat(t):t.split(\".\");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),e=e[a]}return o()?{}:{obj:e,k:r(i.shift())}}function i(e,t,n){var r=o(e,t,Object),i=r.obj,a=r.k;i[a]=n}function a(e,t,n,r){var i=o(e,t,Object),a=i.obj,s=i.k;a[s]=a[s]||[],r&&(a[s]=a[s].concat(n)),r||a[s].push(n)}function s(e,t){var n=o(e,t),r=n.obj,i=n.k;if(r)return r[i]}function u(e,t,n){for(var r in t)r in e?\"string\"==typeof e[r]||e[r]instanceof String||\"string\"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):u(e[r],t[r],n):e[r]=t[r];return e}function l(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}function c(e){return\"string\"==typeof e?e.replace(/[&<>\"'\\/]/g,function(e){return d[e]}):e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeString=n,t.copy=r,t.setPath=i,t.pushPath=a,t.getPath=s,t.deepExtend=u,t.regexEscape=l,t.escape=c;var d={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"/\":\"&#x2F;\"}},function(e,t,n){var r=n(297),o=r.Symbol;e.exports=o},function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(o(e[n][0],t))return n;return-1}var o=n(433);e.exports=r},function(e,t,n){function r(e){return null==e?void 0===e?u:s:l&&l in Object(e)?i(e):a(e)}var o=n(204),i=n(1329),a=n(1352),s=\"[object Null]\",u=\"[object Undefined]\",l=o?o.toStringTag:void 0;e.exports=r},function(e,t,n){function r(e,t){return o(e)?e:i(e,t)?[e]:a(s(e))}var o=n(164),i=n(1338),a=n(1357),s=n(1367);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return o(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}var o=n(1339);e.exports=r},function(e,t,n){var r=n(296),o=r(Object,\"create\");e.exports=o},function(e,t){function n(e){return null!=e&&\"object\"==typeof e}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(9),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(286),_=r(g),b=n(89),y=r(b),v=n(295),M=r(v),A=n(1),w=r(A),C=n(5),E=r(C),L=n(29),T=r(L),O=n(220),S=r(O),N=n(25),k=r(N),D=n(221),x=r(D),I=n(226),z=r(I),P=n(47),j=(r(P),n(568)),B=r(j),F=n(1424),R=r(F),W=n(570),Y=r(W),H=n(13),q=n(39),U=r(q),X=n(1471),V=n(52),G=r(V),$=Y.default.defaultProps.bsRole,K=R.default.defaultProps.bsRole,Q={dropup:E.default.bool,id:(0,x.default)(E.default.oneOfType([E.default.string,E.default.number])),componentClass:k.default,children:(0,S.default)((0,X.requiredRoles)($,K),(0,X.exclusiveRoles)(K)),disabled:E.default.bool,pullRight:E.default.bool,open:E.default.bool,onClose:E.default.func,onToggle:E.default.func,onSelect:E.default.func,role:E.default.string,rootCloseEvent:E.default.oneOf([\"click\",\"mousedown\"]),onMouseEnter:E.default.func,onMouseLeave:E.default.func},Z={componentClass:B.default},J=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o.handleKeyDown=o.handleKeyDown.bind(o),o.handleClose=o.handleClose.bind(o),o._focusInDropdown=!1,o.lastOpenEventType=null,o}return(0,p.default)(t,e),t.prototype.componentDidMount=function(){this.focusNextOnOpen()},t.prototype.componentWillUpdate=function(e){!e.open&&this.props.open&&(this._focusInDropdown=(0,y.default)(T.default.findDOMNode(this.menu),(0,_.default)(document)))},t.prototype.componentDidUpdate=function(e){var t=this.props.open,n=e.open;t&&!n&&this.focusNextOnOpen(),!t&&n&&this._focusInDropdown&&(this._focusInDropdown=!1,this.focus())},t.prototype.handleClick=function(e){this.props.disabled||this.toggleOpen(e,{source:\"click\"})},t.prototype.handleKeyDown=function(e){if(!this.props.disabled)switch(e.keyCode){case M.default.codes.down:this.props.open?this.menu.focusNext&&this.menu.focusNext():this.toggleOpen(e,{source:\"keydown\"}),e.preventDefault();break;case M.default.codes.esc:case M.default.codes.tab:this.handleClose(e,{source:\"keydown\"})}},t.prototype.toggleOpen=function(e,t){var n=!this.props.open;n&&(this.lastOpenEventType=t.source),this.props.onToggle&&this.props.onToggle(n,e,t)},t.prototype.handleClose=function(e,t){this.props.open&&this.toggleOpen(e,t)},t.prototype.focusNextOnOpen=function(){var e=this.menu;e.focusNext&&(\"keydown\"!==this.lastOpenEventType&&\"menuitem\"!==this.props.role||e.focusNext())},t.prototype.focus=function(){var e=T.default.findDOMNode(this.toggle);e&&e.focus&&e.focus()},t.prototype.renderToggle=function(e,t){var n=this,r=function(e){n.toggle=e};return\"string\"==typeof e.ref||(r=(0,U.default)(e.ref,r)),(0,A.cloneElement)(e,(0,s.default)({},t,{ref:r,bsClass:(0,H.prefix)(t,\"toggle\"),onClick:(0,U.default)(e.props.onClick,this.handleClick),onKeyDown:(0,U.default)(e.props.onKeyDown,this.handleKeyDown)}))},t.prototype.renderMenu=function(e,t){var n=this,r=t.id,o=t.onClose,a=t.onSelect,u=t.rootCloseEvent,l=(0,i.default)(t,[\"id\",\"onClose\",\"onSelect\",\"rootCloseEvent\"]),c=function(e){n.menu=e};return\"string\"==typeof e.ref||(c=(0,U.default)(e.ref,c)),(0,A.cloneElement)(e,(0,s.default)({},l,{ref:c,labelledBy:r,bsClass:(0,H.prefix)(l,\"menu\"),onClose:(0,U.default)(e.props.onClose,o,this.handleClose),onSelect:(0,U.default)(e.props.onSelect,a,function(e,t){return n.handleClose(t,{source:\"select\"})}),rootCloseEvent:u}))},t.prototype.render=function(){var e,t=this,n=this.props,r=n.componentClass,o=n.id,a=n.dropup,u=n.disabled,l=n.pullRight,c=n.open,d=n.onClose,f=n.onSelect,p=n.role,h=n.bsClass,g=n.className,_=n.rootCloseEvent,b=n.children,y=(0,i.default)(n,[\"componentClass\",\"id\",\"dropup\",\"disabled\",\"pullRight\",\"open\",\"onClose\",\"onSelect\",\"role\",\"bsClass\",\"className\",\"rootCloseEvent\",\"children\"]);delete y.onToggle;var v=(e={},e[h]=!0,e.open=c,e.disabled=u,e);return a&&(v[h]=!1,v.dropup=!0),w.default.createElement(r,(0,s.default)({},y,{className:(0,m.default)(g,v)}),G.default.map(b,function(e){switch(e.props.bsRole){case $:return t.renderToggle(e,{id:o,disabled:u,open:c,role:p,bsClass:h});case K:return t.renderMenu(e,{id:o,open:c,pullRight:l,bsClass:h,onClose:d,onSelect:f,rootCloseEvent:_});default:return e}}))},t}(w.default.Component);J.propTypes=Q,J.defaultProps=Z,(0,H.bsClass)(\"dropdown\",J);var ee=(0,z.default)(J,{open:\"onToggle\"});ee.Toggle=Y.default,ee.Menu=R.default,t.default=ee,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(12),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(588),y=r(b),v={in:_.default.bool,mountOnEnter:_.default.bool,unmountOnExit:_.default.bool,transitionAppear:_.default.bool,timeout:_.default.number,onEnter:_.default.func,onEntering:_.default.func,onEntered:_.default.func,onExit:_.default.func,onExiting:_.default.func,onExited:_.default.func},M={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,transitionAppear:!1},A=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return m.default.createElement(y.default,(0,i.default)({},this.props,{className:(0,p.default)(this.props.className,\"fade\"),enteredClassName:\"in\",enteringClassName:\"in\"}))},t}(m.default.Component);A.propTypes=v,A.defaultProps=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=t.propTypes,r={},o={};return(0,a.default)(e).forEach(function(e){var t=e[0],i=e[1];n[t]?r[t]=i:o[t]=i}),[r,o]}t.__esModule=!0;var i=n(360),a=r(i);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=p++,d[e[m]]={}),d[e[m]]}var o,i=n(28),a=n(313),s=n(1510),u=n(602),l=n(1542),c=n(324),d={},f=!1,p=0,h={topAbort:\"abort\",topAnimationEnd:l(\"animationend\")||\"animationend\",topAnimationIteration:l(\"animationiteration\")||\"animationiteration\",topAnimationStart:l(\"animationstart\")||\"animationstart\",topBlur:\"blur\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topChange:\"change\",topClick:\"click\",topCompositionEnd:\"compositionend\",topCompositionStart:\"compositionstart\",topCompositionUpdate:\"compositionupdate\",topContextMenu:\"contextmenu\",topCopy:\"copy\",topCut:\"cut\",topDoubleClick:\"dblclick\",topDrag:\"drag\",topDragEnd:\"dragend\",topDragEnter:\"dragenter\",topDragExit:\"dragexit\",topDragLeave:\"dragleave\",topDragOver:\"dragover\",topDragStart:\"dragstart\",topDrop:\"drop\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topFocus:\"focus\",topInput:\"input\",topKeyDown:\"keydown\",topKeyPress:\"keypress\",topKeyUp:\"keyup\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topMouseDown:\"mousedown\",topMouseMove:\"mousemove\",topMouseOut:\"mouseout\",topMouseOver:\"mouseover\",topMouseUp:\"mouseup\",topPaste:\"paste\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topScroll:\"scroll\",topSeeked:\"seeked\",topSeeking:\"seeking\",topSelectionChange:\"selectionchange\",topStalled:\"stalled\",topSuspend:\"suspend\",topTextInput:\"textInput\",topTimeUpdate:\"timeupdate\",topTouchCancel:\"touchcancel\",topTouchEnd:\"touchend\",topTouchMove:\"touchmove\",topTouchStart:\"touchstart\",topTransitionEnd:l(\"transitionend\")||\"transitionend\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\",topWheel:\"wheel\"},m=\"_reactListenersID\"+String(Math.random()).slice(2),g=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=e}},setEnabled:function(e){g.ReactEventListener&&g.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),i=a.registrationNameDependencies[e],s=0;s<i.length;s++){var u=i[s];o.hasOwnProperty(u)&&o[u]||(\"topWheel\"===u?c(\"wheel\")?g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"wheel\",n):c(\"mousewheel\")?g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"mousewheel\",n):g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"DOMMouseScroll\",n):\"topScroll\"===u?c(\"scroll\",!0)?g.ReactEventListener.trapCapturedEvent(\"topScroll\",\"scroll\",n):g.ReactEventListener.trapBubbledEvent(\"topScroll\",\"scroll\",g.ReactEventListener.WINDOW_HANDLE):\"topFocus\"===u||\"topBlur\"===u?(c(\"focus\",!0)?(g.ReactEventListener.trapCapturedEvent(\"topFocus\",\"focus\",n),g.ReactEventListener.trapCapturedEvent(\"topBlur\",\"blur\",n)):c(\"focusin\")&&(g.ReactEventListener.trapBubbledEvent(\"topFocus\",\"focusin\",n),g.ReactEventListener.trapBubbledEvent(\"topBlur\",\"focusout\",n)),o.topBlur=!0,o.topFocus=!0):h.hasOwnProperty(u)&&g.ReactEventListener.trapBubbledEvent(u,h[u],n),o[u]=!0)}},trapBubbledEvent:function(e,t,n){return g.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return g.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent(\"MouseEvent\");return null!=e&&\"pageX\"in e},ensureScrollValueMonitoring:function(){if(void 0===o&&(o=g.supportsEventPageXY()),!o&&!f){var e=u.refreshScrollValues;g.ReactEventListener.monitorScrollValue(e),f=!0}}});e.exports=g},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i=n(602),a=n(322),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return\"which\"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return\"pageX\"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return\"pageY\"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,s),e.exports=r},function(e,t,n){\"use strict\";var r=n(24),o=(n(17),{}),i={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,s,u){this.isInTransaction()?r(\"27\"):void 0;var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()?void 0:r(\"28\");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t){\"use strict\";function n(e){var t=\"\"+e,n=o.exec(t);if(!n)return t;var r,i=\"\",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r=\"&quot;\";break;case 38:r=\"&amp;\";break;case 39:r=\"&#x27;\";break;case 60:r=\"&lt;\";break;case 62:r=\"&gt;\";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}function r(e){return\"boolean\"==typeof e||\"number\"==typeof e?\"\"+e:n(e)}var o=/[\"'&<>]/;e.exports=r},function(e,t,n){\"use strict\";var r,o=n(46),i=n(312),a=/^[ \\r\\n\\t\\f]/,s=/<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/,u=n(320),l=u(function(e,t){if(e.namespaceURI!==i.svg||\"innerHTML\"in e)e.innerHTML=t;else{r=r||document.createElement(\"div\"),r.innerHTML=\"<svg>\"+t+\"</svg>\";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement(\"div\");c.innerHTML=\" \",\"\"===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||\"<\"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e,t,n,r){return(0,i.default)(e,t,n,r),{remove:function(){(0,s.default)(e,t,n,r)}}};var o=n(159),i=r(o),a=n(199),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){function e(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];var o=null;return n.forEach(function(e){if(null==o){var n=e.apply(void 0,t);null!=n&&(o=n)}}),o}for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return(0,a.default)(e)}t.__esModule=!0,t.default=o;var i=n(222),a=r(i)},function(e,t){\"use strict\";function n(e){return function(t,n,r,o,i){var a=r||\"<<anonymous>>\",s=i||n;if(null==t[n])return new Error(\"The \"+o+\" `\"+s+\"` is required to make \"+(\"`\"+a+\"` accessible for users of assistive \")+\"technologies such as screen readers.\");for(var u=arguments.length,l=Array(u>5?u-5:0),c=5;c<u;c++)l[c-5]=arguments[c];return e.apply(void 0,[t,n,r,o,i].concat(l))}}t.__esModule=!0,t.default=n},function(e,t){\"use strict\";function n(e){function t(t,n,r,o,i,a){var s=o||\"<<anonymous>>\",u=a||r;if(null==n[r])return t?new Error(\"Required \"+i+\" `\"+u+\"` was not specified \"+(\"in `\"+s+\"`.\")):null;for(var l=arguments.length,c=Array(l>6?l-6:0),d=6;d<l;d++)c[d-6]=arguments[d];return e.apply(void 0,[n,r,s,i,u].concat(c))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(33),s=r(a),u=n(1),l=r(u),c=n(224),d=(r(c),n(1591)),f=r(d),p=n(92),h=n(42),m=(r(h),l.default.PropTypes),g=m.array,_=m.func,b=m.object,y=l.default.createClass({displayName:\"RouterContext\",propTypes:{history:b,router:b.isRequired,location:b.isRequired,routes:g.isRequired,params:b.isRequired,components:g.isRequired,createElement:_.isRequired},getDefaultProps:function(){return{createElement:l.default.createElement}},childContextTypes:{history:b,location:b.isRequired,router:b.isRequired},getChildContext:function(){var e=this.props,t=e.router,n=e.history,r=e.location;return t||(t=i({},n,{setRouteLeaveHook:n.listenBeforeLeavingRoute}),delete t.listenBeforeLeavingRoute),{history:n,location:r,router:t}},createElement:function(e,t){return null==e?null:this.props.createElement(e,t)},render:function(){var e=this,t=this.props,n=t.history,r=t.location,a=t.routes,u=t.params,c=t.components,d=null;return c&&(d=c.reduceRight(function(t,s,l){if(null==s)return t;var c=a[l],d=(0,f.default)(c,u),h={history:n,location:r,params:u,route:c,routeParams:d,routes:a};if((0,p.isReactChildren)(t))h.children=t;else if(t)for(var m in t)Object.prototype.hasOwnProperty.call(t,m)&&(h[m]=t[m]);if(\"object\"===(\"undefined\"==typeof s?\"undefined\":o(s))){var g={};for(var _ in s)Object.prototype.hasOwnProperty.call(s,_)&&(g[_]=e.createElement(s[_],i({key:_},h)));return g}return e.createElement(s,h)},d)),null===d||d===!1||l.default.isValidElement(d)?void 0:(0,s.default)(!1),d}});t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.canUseMembrane=void 0;var o=n(42),i=(r(o),t.canUseMembrane=!1,function(e){return e});t.default=i},function(e,t){\"use strict\";function n(e){return Array.isArray(e)?e.reduce(function(e,t){return e&&n(t)},!0):e&&\"object\"==typeof e?Object.keys(e).reduce(function(t,r){return t&&n(e[r])},!0):!e}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){n&&(e._notifying=!0,n.call.apply(n,[e,r].concat(o)),e._notifying=!1),e._values[t]=r,e.unmounted||e.forceUpdate()}t.__esModule=!0;var i=n(1658),a=r(i),s={shouldComponentUpdate:function(){return!this._notifying}};t.default=(0,a.default)(s,o),e.exports=t.default},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){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 r(t){return\"function\"==typeof Symbol&&\"symbol\"===n(Symbol.iterator)?e.exports=r=function(e){return n(e)}:e.exports=r=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":n(e)},r(t)}e.exports=r},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.policyOptions=[{label:\"Client read/write\",value:\"client-readwrite\",hint:\"Full access to the Client API\"},{label:\"Client read-only\",value:\"client-readonly\",hint:\"Access to read-only Client endpoints\"},{label:\"Monitoring\",value:\"monitoring\",hint:\"Access to monitoring-specific endpoints\"},{label:\"Cross-core\",value:\"crosscore\",hint:\"Access to the cross-core API, not including block-signing. Necessary for connecting to the generator\"},{label:\"Cross-core block signing\",value:\"crosscore-signblock\",hint:\"Access to the cross-core API's block-signing functionality\"},{label:\"Internal\",value:\"internal\",hidden:!0}],t.subjectFieldOptions=[{label:\"CommonName\",value:\"cn\"},{label:\"Country\",value:\"c\",array:!0},{label:\"Organization\",value:\"o\",array:!0},{label:\"OrganizationalUnit\",value:\"ou\",array:!0},{label:\"Locality\",value:\"l\",array:!0},{label:\"Province\",value:\"st\",array:!0},{label:\"StreetAddress\",value:\"street\",array:!0},{label:\"PostalCode\",\nvalue:\"postalcode\",array:!0},{label:\"SerialNumber\",value:\"serialnumber\"}]},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.SecondaryNavigation=t.Navigation=t.Modal=t.Loading=t.Login=t.Config=t.Main=t.Container=void 0;var o=n(701),i=r(o),a=n(704),s=r(a),u=n(700),l=r(u),c=n(703),d=r(c),f=n(702),p=r(f),h=n(705),m=r(h),g=n(706),_=r(g),b=n(707),y=r(b);t.Container=i.default,t.Main=s.default,t.Config=l.default,t.Login=d.default,t.Loading=p.default,t.Modal=m.default,t.Navigation=_.default,t.SecondaryNavigation=y.default},[1707,710,719,720],[1707,725,731,732],[1707,742,746,747],[1707,749,756,757],[1707,348,768,769],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.GeneratedTxHex=t.Show=t.New=t.DetailSummary=t.Summary=t.List=void 0;var o=n(844),i=r(o),a=n(858),s=r(a),u=n(841),l=r(u),c=n(853),d=r(c),f=n(857),p=r(f),h=n(842),m=r(h);t.List=i.default,t.Summary=s.default,t.DetailSummary=l.default,t.New=d.default,t.Show=p.default,t.GeneratedTxHex=m.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(864),f=r(d),p=n(862),h=r(p),m=n(16),g={TutorialInfo:f.default,TutorialForm:h.default},_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=!this.props.tutorial.location.isVisited,t=this.props.types,n=this.props.content?g[this.props.content.component]:g.TutorialInfo;return c.default.createElement(\"div\",null,this.props.content&&e&&t.includes(this.props.content.component)&&c.default.createElement(n,s({advTx:this.props.advTx},this.props.content)))}}]),t}(c.default.Component),b=function(e){return{content:e.tutorial.content,tutorial:e.tutorial}};t.default=(0,m.connect)(b)(_)},[1707,866,870,871],function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=\"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},a=n(420)(),s=a.fetch,u=n(240),l=n(905),c=[\"after\",\"asset_tags\",\"asset_definition\",\"account_tags\",\"next\",\"reference_data\",\"tags\"],d=function e(t){for(var n in t){var r=t[n],o=n;/^[A-Z]+$/.test(n)||(/[A-Z]/.test(n)&&(o=n.replace(/([A-Z])/g,function(e){return\"_\"+e.toLowerCase()}),delete t[n]),\"object\"==(\"undefined\"==typeof r?\"undefined\":i(r))&&c.indexOf(o)==-1&&(r=e(r)),t[o]=r)}return t},f=function e(t){for(var n in t){var r=t[n],o=n;/_/.test(n)&&(o=n.replace(/([_][a-z])/g,function(e){return e[1].toUpperCase()}),delete t[n]),\"object\"==(\"undefined\"==typeof r?\"undefined\":i(r))&&c.indexOf(n)==-1&&(r=e(r)),t[o]=r}return t},p=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",o=arguments[2];r(this,e),this.baseUrl=t,this.token=n||\"\",this.agent=o}return o(e,[{key:\"request\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(t={});var r=n?t:d(t),o={method:\"POST\",headers:{Accept:\"application/json\"},body:JSON.stringify(r)};return this.token&&(o.headers.Authorization=\"Basic \"+l(this.token)),this.agent&&(o.agent=this.agent),s(this.baseUrl+e,o).catch(function(e){throw u.create(u.types.FETCH,\"Fetch error: \"+e.toString(),{sourceError:e})}).then(function(e){return 204==e.status?{status:204}:e.json().catch(function(){throw u.create(u.types.JSON,\"Could not parse JSON response\",{response:e,status:e.status})}).then(function(t){if(e.status/100==2)return t;var n=null;throw n=401==e.status?u.types.UNAUTHORIZED:404==e.status?u.types.NOT_FOUND:e.status/100==4?u.types.BAD_REQUEST:u.types.SERVER,u.create(n,u.formatErrMsg(t,null),{response:e,status:e.status,body:t,requestId:null})}).then(function(e){if(\"fail\"===e.status)throw e;return n?e:f(e)})})}}]),e}();p.snakeize=d,p.camelize=f,e.exports=p},function(e,t){\"use strict\";var n={create:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=void 0;return o=r.body?n.newBatchError(r.body,r.requestId):new Error(t),o=Object.assign(o,r,{chainClientError:!0,type:e})},isChainError:function(e){return e&&!!e.chainClientError},isBatchError:function(e){return e&&e.code&&!e.stack},newBatchError:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new Error(n.formatErrMsg(e,t));return r.code=e.code,r.chainMessage=e.msg,r.detail=e.errorDetail,r.requestId=t,r.resp=e.resp,r},formatErrMsg:function(e,t){var n=[];return\"string\"==typeof e.code&&e.code.length>0&&n.push(\"Code: \"+e.code),n.push(\"Message: \"+e.msg),\"string\"==typeof e.errorDetail&&e.errorDetail.length>0&&n.push(\"Detail: \"+e.errorDetail),t&&n.push(\"Request-ID: \"+t),n.join(\" \")},types:{FETCH:\"FETCH\",CONNECTIVITY:\"CONNECTIVITY\",JSON:\"JSON\",UNAUTHORIZED:\"UNAUTHORIZED\",NOT_FOUND:\"NOT_FOUND\",BAD_REQUEST:\"BAD_REQUEST\",SERVER_ERROR:\"SERVER_ERROR\"}};e.exports=n},function(e,t,n){\"use strict\";var r=n(888),o=n(239),i=n(356);e.exports={Client:r,Connection:o,HsmSigner:i}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(896),i=r(o),a=n(895),s=r(a),u=\"function\"==typeof s.default&&\"symbol\"==typeof i.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof s.default&&\"symbol\"===u(i.default)?function(e){return\"undefined\"==typeof e?\"undefined\":u(e)}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":\"undefined\"==typeof e?\"undefined\":u(e)}},function(e,t,n){(function(e){\"use strict\";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function o(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(o()<t)throw new RangeError(\"Invalid typed array length\");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return c(this,e)}return s(this,e,t,n)}function s(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?p(e,t,n,r):\"string\"==typeof t?d(e,t,n):h(e,t)}function u(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function l(e,t,n,r){return u(t),t<=0?i(e,t):void 0!==n?\"string\"==typeof r?i(e,t).fill(n,r):i(e,t).fill(n):i(e,t)}function c(e,t){if(u(t),e=i(e,t<0?0:0|m(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!a.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|_(t,n);e=i(e,r);var o=e.write(t,n);return o!==r&&(e=e.slice(0,o)),e}function f(e,t){var n=t.length<0?0:0|m(t.length);e=i(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function p(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=f(e,t),e}function h(e,t){if(a.isBuffer(t)){var n=0|m(t.length);return e=i(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||K(t.length)?i(e,0):f(e,t);if(\"Buffer\"===t.type&&J(t.data))return f(e,t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function m(e){if(e>=o())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+o().toString(16)+\" bytes\");return 0|e}function g(e){return+e!=e&&(e=0),a.alloc(+e)}function _(e,t){if(a.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return U(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return G(e).length;default:if(r)return U(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function b(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if(n>>>=0,t>>>=0,n<=t)return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return x(this,t,n);case\"utf8\":case\"utf-8\":return S(this,t,n);case\"ascii\":return k(this,t,n);case\"latin1\":case\"binary\":return D(this,t,n);case\"base64\":return O(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return I(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function v(e,t,n,r,o){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(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 t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:M(e,t,n,r,o);if(\"number\"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):M(e,[t],n,r,o);throw new TypeError(\"val must be string, number or Buffer\")}function M(e,t,n,r,o){function i(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,u=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),\"ucs2\"===r||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}var l;if(o){var c=-1;for(l=n;l<s;l++)if(i(e,l)===i(t,c===-1?0:l-c)){if(c===-1&&(c=l),l-c+1===u)return c*a}else c!==-1&&(l-=l-c),c=-1}else for(n+u>s&&(n=s-u),l=n;l>=0;l--){for(var d=!0,f=0;f<u;f++)if(i(e,l+f)!==i(t,f)){d=!1;break}if(d)return l}return-1}function A(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r),r>o&&(r=o)):r=o;var i=t.length;if(i%2!==0)throw new TypeError(\"Invalid hex string\");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function w(e,t,n,r){return $(U(t,e.length-n),e,n,r)}function C(e,t,n,r){return $(X(t),e,n,r)}function E(e,t,n,r){return C(e,t,n,r)}function L(e,t,n,r){return $(G(t),e,n,r)}function T(e,t,n,r){return $(V(t,e.length-n),e,n,r)}function O(e,t,n){return 0===t&&n===e.length?Q.fromByteArray(e):Q.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i=e[o],a=null,s=i>239?4:i>223?3:i>191?2:1;if(o+s<=n){var u,l,c,d;switch(s){case 1:i<128&&(a=i);break;case 2:u=e[o+1],128===(192&u)&&(d=(31&i)<<6|63&u,d>127&&(a=d));break;case 3:u=e[o+1],l=e[o+2],128===(192&u)&&128===(192&l)&&(d=(15&i)<<12|(63&u)<<6|63&l,d>2047&&(d<55296||d>57343)&&(a=d));break;case 4:u=e[o+1],l=e[o+2],c=e[o+3],128===(192&u)&&128===(192&l)&&128===(192&c)&&(d=(15&i)<<18|(63&u)<<12|(63&l)<<6|63&c,d>65535&&d<1114112&&(a=d))}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),o+=s}return N(r)}function N(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var n=\"\",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ee));return n}function k(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function D(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function x(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o=\"\",i=t;i<n;++i)o+=q(e[i]);return o}function I(e,t,n){for(var r=e.slice(t,n),o=\"\",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function z(e,t,n){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function P(e,t,n,r,o,i){if(!a.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function j(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function B(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function F(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function R(e,t,n,r,o){return o||F(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function W(e,t,n,r,o){return o||F(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function Y(e){if(e=H(e).replace(te,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e+=\"=\";return e}function H(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function q(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function U(e,t){t=t||1/0;for(var n,r=e.length,o=null,i=[],a=0;a<r;++a){if(n=e.charCodeAt(a),n>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=(o-55296<<10|n-56320)+65536}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function X(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function V(e,t){for(var n,r,o,i=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,o=n%256,i.push(o),i.push(r);return i}function G(e){return Q.toByteArray(Y(e))}function $(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function K(e){return e!==e}var Q=n(897),Z=n(1294),J=n(1295);t.Buffer=a,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:r(),t.kMaxLength=o(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return s(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return l(null,e,t,n)},a.allocUnsafe=function(e){return c(null,e)},a.allocUnsafeSlow=function(e){return c(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},a.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}},a.concat=function(e,t){if(!J(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=a.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!a.isBuffer(i))throw new TypeError('\"list\" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},a.byteLength=_,a.prototype._isBuffer=!0,a.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)y(this,t,t+1);return this},a.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)y(this,t,t+3),y(this,t+1,t+2);return this},a.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)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?S(this,0,e):b.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},a.prototype.compare=function(e,t,n,r,o){if(!a.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError(\"out of range index\");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;for(var i=o-r,s=n-t,u=Math.min(i,s),l=this.slice(r,o),c=e.slice(t,n),d=0;d<u;++d)if(l[d]!==c[d]){i=l[d],s=c[d];break}return i<s?-1:s<i?1:0},a.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},a.prototype.indexOf=function(e,t,n){return v(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return v(this,e,t,n,!1)},a.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var i=!1;;)switch(r){case\"hex\":return A(this,e,t,n);case\"utf8\":case\"utf-8\":return w(this,e,t,n);case\"ascii\":return C(this,e,t,n);case\"latin1\":case\"binary\":return E(this,e,t,n);case\"base64\":return L(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,e,t,n);default:if(i)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var o=t-e;r=new a(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},a.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},a.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},a.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return o*=128,r>=o&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*t)),i},a.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},a.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),Z.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),Z.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),Z.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),Z.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){var o=Math.pow(2,8*n)-1;P(this,e,t,n,o,0)}var i=1,a=0;for(this[t]=255&e;++a<n&&(i*=256);)this[t+a]=e/i&255;return t+n},a.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){var o=Math.pow(2,8*n)-1;P(this,e,t,n,o,0)}var i=n-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);P(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);P(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):j(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):j(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||P(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return W(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return W(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},a.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!a.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var i;if(\"number\"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var s=a.isBuffer(e)?e:U(new a(e,r).toString()),u=s.length;for(i=0;i<n-t;++i)this[i+t]=s[i%u]}return this};var te=/[^+\\/0-9A-Za-z-_]/g}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(e){switch(e._type){case\"Document\":case\"BlockQuote\":case\"List\":case\"Item\":case\"Paragraph\":case\"Heading\":case\"Emph\":case\"Strong\":case\"Link\":case\"Image\":case\"CustomInline\":case\"CustomBlock\":return!0;default:return!1}}var r=function(e,t){this.current=e,this.entering=t===!0},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var r=n(e);return t&&r?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},i=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:r}},a=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},s=a.prototype;Object.defineProperty(s,\"isContainer\",{get:function(){return n(this)}}),Object.defineProperty(s,\"type\",{get:function(){return this._type}}),Object.defineProperty(s,\"firstChild\",{get:function(){return this._firstChild}}),Object.defineProperty(s,\"lastChild\",{get:function(){return this._lastChild}}),Object.defineProperty(s,\"next\",{get:function(){return this._next}}),Object.defineProperty(s,\"prev\",{get:function(){return this._prev}}),Object.defineProperty(s,\"parent\",{get:function(){return this._parent}}),Object.defineProperty(s,\"sourcepos\",{get:function(){return this._sourcepos}}),Object.defineProperty(s,\"literal\",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(s,\"destination\",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(s,\"title\",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(s,\"info\",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(s,\"level\",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(s,\"listType\",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(s,\"listTight\",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(s,\"listStart\",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(s,\"listDelimiter\",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(s,\"onEnter\",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(s,\"onExit\",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),a.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},a.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},a.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},a.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},a.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},a.prototype.walker=function(){var e=new i(this);return e},e.exports=a},59,[1715,923],70,function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},[1731,123,938,248,252,362,929],192,[1742,95,94,68],[1743,253,183],[1744,58,85,182],72,[1749,247],[1750,126],[1751,85,58,182,258,95],[1752,68],function(e,t,n){\"use strict\";var r=n(35),o=n(105),i=n(32);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,s=o(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,l=void 0===u?n:o(u,n);l>s;)t[s++]=e;return t}},function(e,t,n){var r=n(957);e.exports=function(e,t){return new(r(e))(t)}},[1714,31,102],[1717,22,19],248,function(e,t,n){var r=n(26)(\"match\");e.exports=function(e){var t=/./;try{\"/./\"[e](t)}catch(n){try{return t[r]=!1,!\"/./\"[e](t)}catch(e){}}return!0}},[1720,19],function(e,t,n){var r=n(22),o=n(274).set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&\"function\"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),\ne}},[1723,127,26],[1726,99,102,128,48,26],[1727,87,2,49,48,127,268,128,56,26],function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||n(-2e-17)!=-2e-17?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){var r=n(19),o=n(280).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u=\"process\"==n(59)(a);e.exports=function(){var e,t,n,l=function(){var r,o;for(u&&(r=a.domain)&&r.exit();e;){o=e.fn,e=e.next;try{o()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve(void 0);n=function(){c.then(l)}}else n=function(){o.call(r,l)};else{var d=!0,f=document.createTextNode(\"\");new i(l).observe(f,{characterData:!0}),n=function(){f.data=d=!d}}return function(r){var o={fn:r,next:void 0};t&&(t.next=o),e||(e=o,n()),t=o}}},function(e,t,n){\"use strict\";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r}),this.resolve=o(t),this.reject=o(n)}var o=n(44);e.exports.f=function(e){return new r(e)}},[1741,22,18,61,55],[1743,195,106],[1745,72,70],function(e,t,n){var r=n(189),o=n(70);e.exports=function(e,t,n){if(r(t))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(o(e))}},function(e,t,n){\"use strict\";var r=n(72),o=n(70);e.exports=function(e){var t=String(o(this)),n=\"\",i=r(e);if(i<0||i==1/0)throw RangeError(\"Count can't be negative\");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t){e.exports=\"\\t\\n\\v\\f\\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\\u2028\\u2029\\ufeff\"},function(e,t,n){var r,o,i,a=n(61),s=n(383),u=n(265),l=n(262),c=n(19),d=c.process,f=c.setImmediate,p=c.clearImmediate,h=c.MessageChannel,m=c.Dispatch,g=0,_={},b=\"onreadystatechange\",y=function(){var e=+this;if(_.hasOwnProperty(e)){var t=_[e];delete _[e],t()}},v=function(e){y.call(e.data)};f&&p||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return _[++g]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete _[e]},\"process\"==n(59)(d)?r=function(e){d.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=v,r=a(i.postMessage,i,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",v,!1)):r=b in l(\"script\")?function(e){u.appendChild(l(\"script\"))[b]=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:p}},function(e,t,n){\"use strict\";function r(e,t,n){var r,o,i,a=new Array(n),s=8*n-t-1,u=(1<<s)-1,l=u>>1,c=23===t?W(2,-24)-W(2,-77):0,d=0,f=e<0||0===e&&1/e<0?1:0;for(e=R(e),e!=e||e===B?(o=e!=e?1:0,r=u):(r=Y(H(e)/q),e*(i=W(2,-r))<1&&(r--,i*=2),e+=r+l>=1?c/i:c*W(2,1-l),e*i>=2&&(r++,i/=2),r+l>=u?(o=0,r=u):r+l>=1?(o=(e*i-1)*W(2,t),r+=l):(o=e*W(2,l-1)*W(2,t),r=0));t>=8;a[d++]=255&o,o/=256,t-=8);for(r=r<<t|o,s+=t;s>0;a[d++]=255&r,r/=256,s-=8);return a[--d]|=128*f,a}function o(e,t,n){var r,o=8*n-t-1,i=(1<<o)-1,a=i>>1,s=o-7,u=n-1,l=e[u--],c=127&l;for(l>>=7;s>0;c=256*c+e[u],u--,s-=8);for(r=c&(1<<-s)-1,c>>=-s,s+=t;s>0;r=256*r+e[u],u--,s-=8);if(0===c)c=1-a;else{if(c===i)return r?NaN:l?-B:B;r+=W(2,t),c-=a}return(l?-1:1)*r*W(2,c-t)}function i(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function a(e){return[255&e]}function s(e){return[255&e,e>>8&255]}function u(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function l(e){return r(e,52,8)}function c(e){return r(e,23,4)}function d(e,t,n){L(e[k],t,{get:function(){return this[n]}})}function f(e,t,n,r){var o=+n,i=C(o);if(i+t>e[$])throw j(x);var a=e[G]._b,s=i+e[K],u=a.slice(s,s+t);return r?u:u.reverse()}function p(e,t,n,r,o,i){var a=+n,s=C(a);if(s+t>e[$])throw j(x);for(var u=e[G]._b,l=s+e[K],c=r(+o),d=0;d<t;d++)u[l+d]=c[i?d:t-d-1]}var h=n(19),m=n(30),g=n(87),_=n(197),b=n(48),y=n(103),v=n(21),M=n(97),A=n(72),w=n(32),C=n(401),E=n(100).f,L=n(31).f,T=n(259),O=n(128),S=\"ArrayBuffer\",N=\"DataView\",k=\"prototype\",D=\"Wrong length!\",x=\"Wrong index!\",I=h[S],z=h[N],P=h.Math,j=h.RangeError,B=h.Infinity,F=I,R=P.abs,W=P.pow,Y=P.floor,H=P.log,q=P.LN2,U=\"buffer\",X=\"byteLength\",V=\"byteOffset\",G=m?\"_b\":U,$=m?\"_l\":X,K=m?\"_o\":V;if(_.ABV){if(!v(function(){I(1)})||!v(function(){new I(-1)})||v(function(){return new I,new I(1.5),new I(NaN),I.name!=S})){I=function(e){return M(this,I),new F(C(e))};for(var Q,Z=I[k]=F[k],J=E(F),ee=0;J.length>ee;)(Q=J[ee++])in I||b(I,Q,F[Q]);g||(Z.constructor=I)}var te=new z(new I(2)),ne=z[k].setInt8;te.setInt8(0,2147483648),te.setInt8(1,2147483649),!te.getInt8(0)&&te.getInt8(1)||y(z[k],{setInt8:function(e,t){ne.call(this,e,t<<24>>24)},setUint8:function(e,t){ne.call(this,e,t<<24>>24)}},!0)}else I=function(e){M(this,I,S);var t=C(e);this._b=T.call(new Array(t),0),this[$]=t},z=function(e,t,n){M(this,z,N),M(e,I,N);var r=e[$],o=A(t);if(o<0||o>r)throw j(\"Wrong offset!\");if(n=void 0===n?r-o:w(n),o+n>r)throw j(D);this[G]=e,this[K]=o,this[$]=n},m&&(d(I,X,\"_l\"),d(z,U,\"_b\"),d(z,X,\"_l\"),d(z,V,\"_o\")),y(z[k],{getInt8:function(e){return f(this,1,e)[0]<<24>>24},getUint8:function(e){return f(this,1,e)[0]},getInt16:function(e){var t=f(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=f(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return i(f(this,4,e,arguments[1]))},getUint32:function(e){return i(f(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return o(f(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return o(f(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){p(this,1,e,a,t)},setUint8:function(e,t){p(this,1,e,a,t)},setInt16:function(e,t){p(this,2,e,s,t,arguments[2])},setUint16:function(e,t){p(this,2,e,s,t,arguments[2])},setInt32:function(e,t){p(this,4,e,u,t,arguments[2])},setUint32:function(e,t){p(this,4,e,u,t,arguments[2])},setFloat32:function(e,t){p(this,4,e,c,t,arguments[2])},setFloat64:function(e,t){p(this,8,e,l,t,arguments[2])}});O(I,S),O(z,N),b(z[k],_.VIEW,!0),t[S]=I,t[N]=z},[1751,19,60,87,402,31],[1754,156,26,127,60],[1756,86,386,127,57,269],function(e,t,n){function r(e){return null===e||void 0===e}function o(e){return!(!e||\"object\"!=typeof e||\"number\"!=typeof e.length)&&(\"function\"==typeof e.copy&&\"function\"==typeof e.slice&&!(e.length>0&&\"number\"!=typeof e[0]))}function i(e,t,n){var i,c;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(u(e))return!!u(t)&&(e=a.call(e),t=a.call(t),l(e,t,n));if(o(e)){if(!o(t))return!1;if(e.length!==t.length)return!1;for(i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}try{var d=s(e),f=s(t)}catch(e){return!1}if(d.length!=f.length)return!1;for(d.sort(),f.sort(),i=d.length-1;i>=0;i--)if(d[i]!=f[i])return!1;for(i=d.length-1;i>=0;i--)if(c=d[i],!l(e[c],t[c],n))return!1;return typeof e==typeof t}var a=Array.prototype.slice,s=n(1160),u=n(1159),l=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||\"object\"!=typeof e&&\"object\"!=typeof t?n.strict?e===t:e==t:i(e,t,n))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,a.default)();try{return e.activeElement}catch(e){}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(80),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){if((!a&&0!==a||e)&&i.default){var t=document.createElement(\"div\");t.style.position=\"absolute\",t.style.top=\"-9999px\",t.style.width=\"50px\",t.style.height=\"50px\",t.style.overflow=\"scroll\",document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return a};var o=n(74),i=r(o),a=void 0;e.exports=t.default},function(e,t){e.exports={progress:\"FormIndex__progress__EJLRe\",\"progress-bar\":\"FormIndex__progress-bar__3ZQ3M\",\"progress-striped\":\"FormIndex__progress-striped__1KqDy\",\"progress-bar-striped\":\"FormIndex__progress-bar-striped__2IHDl\",active:\"FormIndex__active__3SeOk\",\"progress-bar-stripes\":\"FormIndex__progress-bar-stripes__1ZKSb\",\"progress-bar-success\":\"FormIndex__progress-bar-success__3_2Ja\",\"progress-bar-info\":\"FormIndex__progress-bar-info__13aVi\",\"progress-bar-warning\":\"FormIndex__progress-bar-warning__3GeCJ\",\"progress-bar-danger\":\"FormIndex__progress-bar-danger__3_6YK\",tooltip:\"FormIndex__tooltip__Sm7IB\",in:\"FormIndex__in__2iXNN\",top:\"FormIndex__top__1eDX4\",right:\"FormIndex__right__2OMWh\",bottom:\"FormIndex__bottom__kISz_\",left:\"FormIndex__left__3AOVV\",\"tooltip-arrow\":\"FormIndex__tooltip-arrow__2JN5r\",\"top-left\":\"FormIndex__top-left__sIK5h\",\"top-right\":\"FormIndex__top-right__3ahFM\",\"bottom-left\":\"FormIndex__bottom-left__2XdhZ\",\"bottom-right\":\"FormIndex__bottom-right__SOul2\",\"tooltip-inner\":\"FormIndex__tooltip-inner__2E0U4\",main:\"FormIndex__main__1LdX4\",title:\"FormIndex__title__14xnp\",formWarpper:\"FormIndex__formWarpper__OmqKT\",form:\"FormIndex__form__1oUVu\"}},function(e,t){\"use strict\";function n(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function r(e,t){if(n(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(var a=0;a<r.length;a++)if(!o.call(t,r[a])||!n(e[r[a]],t[r[a]]))return!1;return!0}var o=Object.prototype.hasOwnProperty;e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return u+e}function i(e,t){try{null==t?window.sessionStorage.removeItem(o(e)):window.sessionStorage.setItem(o(e),JSON.stringify(t))}catch(e){if(e.name===c)return;if(l.indexOf(e.name)>=0&&0===window.sessionStorage.length)return;throw e}}function a(e){var t=void 0;try{t=window.sessionStorage.getItem(o(e))}catch(e){if(e.name===c)return null}if(t)try{return JSON.parse(t)}catch(e){}return null}t.__esModule=!0,t.saveState=i,t.readState=a;var s=n(64),u=(r(s),\"@@History/\"),l=[\"QuotaExceededError\",\"QUOTA_EXCEEDED_ERR\"],c=\"SecurityError\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return\"string\"==typeof e&&\"/\"===e.charAt(0)}function i(){var e=_.getHashPath();return!!o(e)||(_.replaceHashPath(\"/\"+e),!1)}function a(e,t,n){return e+(e.indexOf(\"?\")===-1?\"?\":\"&\")+(t+\"=\"+n)}function s(e,t){return e.replace(new RegExp(\"[?&]?\"+t+\"=[a-zA-Z0-9]+\"),\"\")}function u(e,t){var n=e.match(new RegExp(\"\\\\?.*?\\\\b\"+t+\"=(.+?)\\\\b\"));return n&&n[1]}function l(){function e(){var e=_.getHashPath(),t=void 0,n=void 0;T?(t=u(e,T),e=s(e,T),t?n=b.readState(t):(n=null,t=O.createKey(),_.replaceHashPath(a(e,T,t)))):t=n=null;var r=m.parsePath(e);return O.createLocation(c({},r,{state:n}),void 0,t)}function t(t){function n(){i()&&r(e())}var r=t.transitionTo;return i(),_.addEventListener(window,\"hashchange\",n),function(){_.removeEventListener(window,\"hashchange\",n)}}function n(e){var t=e.basename,n=e.pathname,r=e.search,o=e.state,i=e.action,s=e.key;if(i!==h.POP){var u=(t||\"\")+n+r;T?(u=a(u,T,s),b.saveState(s,o)):e.key=e.state=null;var l=_.getHashPath();i===h.PUSH?l!==u&&(window.location.hash=u):l!==u&&_.replaceHashPath(u)}}function r(e){1===++S&&(N=t(O));var n=O.listenBefore(e);return function(){n(),0===--S&&N()}}function o(e){1===++S&&(N=t(O));var n=O.listen(e);return function(){n(),0===--S&&N()}}function l(e){O.push(e)}function d(e){O.replace(e)}function f(e){O.go(e)}function y(e){return\"#\"+O.createHref(e)}function A(e){1===++S&&(N=t(O)),O.registerTransitionHook(e)}function w(e){O.unregisterTransitionHook(e),0===--S&&N()}function C(e,t){O.pushState(e,t)}function E(e,t){O.replaceState(e,t)}var L=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];g.canUseDOM?void 0:p.default(!1);var T=L.queryKey;(void 0===T||T)&&(T=\"string\"==typeof T?T:M);var O=v.default(c({},L,{getCurrentLocation:e,finishTransition:n,saveState:b.saveState})),S=0,N=void 0;_.supportsGoWithoutReloadUsingHash();return c({},O,{listenBefore:r,listen:o,push:l,replace:d,go:f,createHref:y,registerTransitionHook:A,unregisterTransitionHook:w,pushState:C,replaceState:E})}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=n(64),f=(r(d),n(33)),p=r(f),h=n(90),m=n(107),g=n(163),_=n(201),b=n(290),y=n(422),v=r(y),M=\"_k\";t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=e(t,n);e.length<2&&n(r)}t.__esModule=!0;var i=n(64);r(i);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return function(){function t(){if(!M){if(null==v&&s.canUseDOM){var e=document.getElementsByTagName(\"base\")[0],t=e&&e.getAttribute(\"href\");null!=t&&(v=t)}M=!0}}function n(e){return t(),v&&null==e.basename&&(0===e.pathname.indexOf(v)?(e.pathname=e.pathname.substring(v.length),e.basename=v,\"\"===e.pathname&&(e.pathname=\"/\")):e.basename=\"\"),e}function r(e){if(t(),!v)return e;\"string\"==typeof e&&(e=u.parsePath(e));var n=e.pathname,r=\"/\"===v.slice(-1)?v:v+\"/\",o=\"/\"===n.charAt(0)?n.slice(1):n,a=r+o;return i({},e,{pathname:a})}function o(e){return y.listenBefore(function(t,r){c.default(e,n(t),r)})}function a(e){return y.listen(function(t){e(n(t))})}function l(e){y.push(r(e))}function d(e){y.replace(r(e))}function p(e){return y.createPath(r(e))}function h(e){return y.createHref(r(e))}function m(e){for(var t=arguments.length,o=Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=arguments[i];return n(y.createLocation.apply(y,[r(e)].concat(o)))}function g(e,t){\"string\"==typeof t&&(t=u.parsePath(t)),l(i({state:e},t))}function _(e,t){\"string\"==typeof t&&(t=u.parsePath(t)),d(i({state:e},t))}var b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],y=e(b),v=b.basename,M=!1;return i({},y,{listenBefore:o,listen:a,push:l,replace:d,createPath:p,createHref:h,createLocation:m,pushState:f.default(g,\"pushState is deprecated; use push instead\"),replaceState:f.default(_,\"replaceState is deprecated; use replace instead\")})}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(64),s=(r(a),n(163)),u=n(107),l=n(292),c=r(l),d=n(108),f=r(d);t.default=o,e.exports=t.default},function(e,t){function n(e){return!!e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof e.then}e.exports=n},function(e,t){function n(e){if(e&&\"object\"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(\"number\"==typeof e)return a[e];var n=String(e),i=r[n.toLowerCase()];if(i)return i;var i=o[n.toLowerCase()];return i?i:1===n.length?n.charCodeAt(0):void 0}n.isEventKey=function(e,t){if(e&&\"object\"==typeof e){var n=e.which||e.keyCode||e.charCode;if(null===n||void 0===n)return!1;if(\"string\"==typeof t){var i=r[t.toLowerCase()];if(i)return i===n;var i=o[t.toLowerCase()];if(i)return i===n}else if(\"number\"==typeof t)return t===n;return!1}},t=e.exports=n;var r=t.code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,\"pause/break\":19,\"caps lock\":20,esc:27,space:32,\"page up\":33,\"page down\":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,\"left command\":91,\"right command\":93,\"numpad *\":106,\"numpad +\":107,\"numpad -\":109,\"numpad .\":110,\"numpad /\":111,\"num lock\":144,\"scroll lock\":145,\"my computer\":182,\"my calculator\":183,\";\":186,\"=\":187,\",\":188,\"-\":189,\".\":190,\"/\":191,\"`\":192,\"[\":219,\"\\\\\":220,\"]\":221,\"'\":222},o=t.aliases={windows:91,\"⇧\":16,\"⌥\":18,\"⌃\":17,\"⌘\":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(i=97;i<123;i++)r[String.fromCharCode(i)]=i-32;for(var i=48;i<58;i++)r[i-48]=i;for(i=1;i<13;i++)r[\"f\"+i]=i+111;for(i=0;i<10;i++)r[\"numpad \"+i]=i+96;var a=t.names=t.title={};for(i in r)a[r[i]]=i;for(var s in o)r[s]=o[s]},function(e,t,n){function r(e,t){var n=i(e,t);return o(n)?n:void 0}var o=n(1319),i=n(1330);e.exports=r},function(e,t,n){var r=n(1327),o=\"object\"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function(\"return this\")();e.exports=i},function(e,t,n){function r(e){if(\"string\"==typeof e||o(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-i?\"-0\":t}var o=n(300),i=1/0;e.exports=r},function(e,t){function n(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}e.exports=n},function(e,t,n){function r(e){return\"symbol\"==typeof e||i(e)&&o(e)==a}var o=n(206),i=n(210),a=\"[object Symbol]\";e.exports=r},function(e,t,n){var r;(function(e,o){(function(){function i(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function a(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o<i;){var a=e[o];t(r,a,n(a),e)}return r}function s(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function u(e,t){for(var n=null==e?0:e.length;n--&&t(e[n],n,e)!==!1;);return e}function l(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function c(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}function d(e,t){var n=null==e?0:e.length;return!!n&&A(e,t,0)>-1}function f(e,t,n){for(var r=-1,o=null==e?0:e.length;++r<o;)if(n(t,e[r]))return!0;return!1}function p(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}function h(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}function m(e,t,n,r){var o=-1,i=null==e?0:e.length;for(r&&i&&(n=e[++o]);++o<i;)n=t(n,e[o],o,e);return n}function g(e,t,n,r){var o=null==e?0:e.length;for(r&&o&&(n=e[--o]);o--;)n=t(n,e[o],o,e);return n}function _(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function b(e){return e.split(\"\")}function y(e){return e.match(Rt)||[]}function v(e,t,n){var r;return n(e,function(e,n,o){if(t(e,n,o))return r=n,!1}),r}function M(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i<o;)if(t(e[i],i,e))return i;return-1}function A(e,t,n){return t===t?$(e,t,n):M(e,C,n)}function w(e,t,n,r){for(var o=n-1,i=e.length;++o<i;)if(r(e[o],t))return o;return-1}function C(e){return e!==e}function E(e,t){var n=null==e?0:e.length;return n?N(e,t)/n:ze}function L(e){return function(t){return null==t?ne:t[e]}}function T(e){return function(t){return null==e?ne:e[t]}}function O(e,t,n,r,o){return o(e,function(e,o,i){n=r?(r=!1,e):t(n,e,o,i)}),n}function S(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function N(e,t){for(var n,r=-1,o=e.length;++r<o;){var i=t(e[r]);i!==ne&&(n=n===ne?i:n+i)}return n}function k(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function D(e,t){return p(t,function(t){return[t,e[t]]})}function x(e){return function(t){return e(t)}}function I(e,t){return p(t,function(t){return e[t]})}function z(e,t){return e.has(t)}function P(e,t){for(var n=-1,r=e.length;++n<r&&A(t,e[n],0)>-1;);return n}function j(e,t){for(var n=e.length;n--&&A(t,e[n],0)>-1;);return n}function B(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function F(e){return\"\\\\\"+Jn[e]}function R(e,t){return null==e?ne:e[t]}function W(e){return qn.test(e)}function Y(e){return Un.test(e)}function H(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function q(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function U(e,t){return function(n){return e(t(n))}}function X(e,t){for(var n=-1,r=e.length,o=0,i=[];++n<r;){var a=e[n];a!==t&&a!==le||(e[n]=le,i[o++]=n)}return i}function V(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function G(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=[e,e]}),n}function $(e,t,n){for(var r=n-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}function K(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}function Q(e){return W(e)?J(e):gr(e)}function Z(e){return W(e)?ee(e):b(e)}function J(e){for(var t=Yn.lastIndex=0;Yn.test(e);)++t;return t}function ee(e){return e.match(Yn)||[]}function te(e){return e.match(Hn)||[]}var ne,re=\"4.17.14\",oe=200,ie=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",ae=\"Expected a function\",se=\"__lodash_hash_undefined__\",ue=500,le=\"__lodash_placeholder__\",ce=1,de=2,fe=4,pe=1,he=2,me=1,ge=2,_e=4,be=8,ye=16,ve=32,Me=64,Ae=128,we=256,Ce=512,Ee=30,Le=\"...\",Te=800,Oe=16,Se=1,Ne=2,ke=3,De=1/0,xe=9007199254740991,Ie=1.7976931348623157e308,ze=NaN,Pe=4294967295,je=Pe-1,Be=Pe>>>1,Fe=[[\"ary\",Ae],[\"bind\",me],[\"bindKey\",ge],[\"curry\",be],[\"curryRight\",ye],[\"flip\",Ce],[\"partial\",ve],[\"partialRight\",Me],[\"rearg\",we]],Re=\"[object Arguments]\",We=\"[object Array]\",Ye=\"[object AsyncFunction]\",He=\"[object Boolean]\",qe=\"[object Date]\",Ue=\"[object DOMException]\",Xe=\"[object Error]\",Ve=\"[object Function]\",Ge=\"[object GeneratorFunction]\",$e=\"[object Map]\",Ke=\"[object Number]\",Qe=\"[object Null]\",Ze=\"[object Object]\",Je=\"[object Promise]\",et=\"[object Proxy]\",tt=\"[object RegExp]\",nt=\"[object Set]\",rt=\"[object String]\",ot=\"[object Symbol]\",it=\"[object Undefined]\",at=\"[object WeakMap]\",st=\"[object WeakSet]\",ut=\"[object ArrayBuffer]\",lt=\"[object DataView]\",ct=\"[object Float32Array]\",dt=\"[object Float64Array]\",ft=\"[object Int8Array]\",pt=\"[object Int16Array]\",ht=\"[object Int32Array]\",mt=\"[object Uint8Array]\",gt=\"[object Uint8ClampedArray]\",_t=\"[object Uint16Array]\",bt=\"[object Uint32Array]\",yt=/\\b__p \\+= '';/g,vt=/\\b(__p \\+=) '' \\+/g,Mt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,At=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>\"']/g,Ct=RegExp(At.source),Et=RegExp(wt.source),Lt=/<%-([\\s\\S]+?)%>/g,Tt=/<%([\\s\\S]+?)%>/g,Ot=/<%=([\\s\\S]+?)%>/g,St=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Nt=/^\\w*$/,kt=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Dt=/[\\\\^$.*+?()[\\]{}|]/g,xt=RegExp(Dt.source),It=/^\\s+|\\s+$/g,zt=/^\\s+/,Pt=/\\s+$/,jt=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Ft=/,? & /,Rt=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Wt=/\\\\(\\\\)?/g,Yt=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Ht=/\\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Ut=/^0b[01]+$/i,Xt=/^\\[object .+?Constructor\\]$/,Vt=/^0o[0-7]+$/i,Gt=/^(?:0|[1-9]\\d*)$/,$t=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Kt=/($^)/,Qt=/['\\n\\r\\u2028\\u2029\\\\]/g,Zt=\"\\\\ud800-\\\\udfff\",Jt=\"\\\\u0300-\\\\u036f\",en=\"\\\\ufe20-\\\\ufe2f\",tn=\"\\\\u20d0-\\\\u20ff\",nn=Jt+en+tn,rn=\"\\\\u2700-\\\\u27bf\",on=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",an=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",sn=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",un=\"\\\\u2000-\\\\u206f\",ln=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",cn=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",dn=\"\\\\ufe0e\\\\ufe0f\",fn=an+sn+un+ln,pn=\"['’]\",hn=\"[\"+Zt+\"]\",mn=\"[\"+fn+\"]\",gn=\"[\"+nn+\"]\",_n=\"\\\\d+\",bn=\"[\"+rn+\"]\",yn=\"[\"+on+\"]\",vn=\"[^\"+Zt+fn+_n+rn+on+cn+\"]\",Mn=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",An=\"(?:\"+gn+\"|\"+Mn+\")\",wn=\"[^\"+Zt+\"]\",Cn=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",En=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ln=\"[\"+cn+\"]\",Tn=\"\\\\u200d\",On=\"(?:\"+yn+\"|\"+vn+\")\",Sn=\"(?:\"+Ln+\"|\"+vn+\")\",Nn=\"(?:\"+pn+\"(?:d|ll|m|re|s|t|ve))?\",kn=\"(?:\"+pn+\"(?:D|LL|M|RE|S|T|VE))?\",Dn=An+\"?\",xn=\"[\"+dn+\"]?\",In=\"(?:\"+Tn+\"(?:\"+[wn,Cn,En].join(\"|\")+\")\"+xn+Dn+\")*\",zn=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Pn=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",jn=xn+Dn+In,Bn=\"(?:\"+[bn,Cn,En].join(\"|\")+\")\"+jn,Fn=\"(?:\"+[wn+gn+\"?\",gn,Cn,En,hn].join(\"|\")+\")\",Rn=RegExp(pn,\"g\"),Wn=RegExp(gn,\"g\"),Yn=RegExp(Mn+\"(?=\"+Mn+\")|\"+Fn+jn,\"g\"),Hn=RegExp([Ln+\"?\"+yn+\"+\"+Nn+\"(?=\"+[mn,Ln,\"$\"].join(\"|\")+\")\",Sn+\"+\"+kn+\"(?=\"+[mn,Ln+On,\"$\"].join(\"|\")+\")\",Ln+\"?\"+On+\"+\"+Nn,Ln+\"+\"+kn,Pn,zn,_n,Bn].join(\"|\"),\"g\"),qn=RegExp(\"[\"+Tn+Zt+nn+dn+\"]\"),Un=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xn=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Vn=-1,Gn={};Gn[ct]=Gn[dt]=Gn[ft]=Gn[pt]=Gn[ht]=Gn[mt]=Gn[gt]=Gn[_t]=Gn[bt]=!0,Gn[Re]=Gn[We]=Gn[ut]=Gn[He]=Gn[lt]=Gn[qe]=Gn[Xe]=Gn[Ve]=Gn[$e]=Gn[Ke]=Gn[Ze]=Gn[tt]=Gn[nt]=Gn[rt]=Gn[at]=!1;var $n={};$n[Re]=$n[We]=$n[ut]=$n[lt]=$n[He]=$n[qe]=$n[ct]=$n[dt]=$n[ft]=$n[pt]=$n[ht]=$n[$e]=$n[Ke]=$n[Ze]=$n[tt]=$n[nt]=$n[rt]=$n[ot]=$n[mt]=$n[gt]=$n[_t]=$n[bt]=!0,$n[Xe]=$n[Ve]=$n[at]=!1;var Kn={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"IJ\":\"IJ\",\"ij\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ʼn\":\"'n\",\"ſ\":\"s\"},Qn={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Zn={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},Jn={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},er=parseFloat,tr=parseInt,nr=\"object\"==typeof e&&e&&e.Object===Object&&e,rr=\"object\"==typeof self&&self&&self.Object===Object&&self,or=nr||rr||Function(\"return this\")(),ir=\"object\"==typeof t&&t&&!t.nodeType&&t,ar=ir&&\"object\"==typeof o&&o&&!o.nodeType&&o,sr=ar&&ar.exports===ir,ur=sr&&nr.process,lr=function(){try{var e=ar&&ar.require&&ar.require(\"util\").types;return e?e:ur&&ur.binding&&ur.binding(\"util\")}catch(e){}}(),cr=lr&&lr.isArrayBuffer,dr=lr&&lr.isDate,fr=lr&&lr.isMap,pr=lr&&lr.isRegExp,hr=lr&&lr.isSet,mr=lr&&lr.isTypedArray,gr=L(\"length\"),_r=T(Kn),br=T(Qn),yr=T(Zn),vr=function e(t){function n(e){if(iu(e)&&!_f(e)&&!(e instanceof b)){if(e instanceof o)return e;if(gc.call(e,\"__wrapped__\"))return na(e)}return new o(e)}function r(){}function o(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ne}function b(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Pe,this.__views__=[]}function T(){var e=new b(this.__wrapped__);return e.__actions__=Po(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=Po(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=Po(this.__views__),e}function $(){if(this.__filtered__){var e=new b(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function J(){var e=this.__wrapped__.value(),t=this.__dir__,n=_f(e),r=t<0,o=n?e.length:0,i=Ei(0,o,this.__views__),a=i.start,s=i.end,u=s-a,l=r?s:a-1,c=this.__iteratees__,d=c.length,f=0,p=Xc(u,this.__takeCount__);if(!n||!r&&o==u&&p==u)return yo(e,this.__actions__);var h=[];e:for(;u--&&f<p;){l+=t;for(var m=-1,g=e[l];++m<d;){var _=c[m],b=_.iteratee,y=_.type,v=b(g);if(y==Ne)g=v;else if(!v){if(y==Se)continue e;break e}}h[f++]=g}return h}function ee(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Rt(){this.__data__=nd?nd(null):{},this.size=0}function Zt(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function Jt(e){var t=this.__data__;if(nd){var n=t[e];return n===se?ne:n}return gc.call(t,e)?t[e]:ne}function en(e){var t=this.__data__;return nd?t[e]!==ne:gc.call(t,e)}function tn(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=nd&&t===ne?se:t,this}function nn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function rn(){this.__data__=[],this.size=0}function on(e){var t=this.__data__,n=Nn(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Nc.call(t,n,1),--this.size,!0}function an(e){var t=this.__data__,n=Nn(t,e);return n<0?ne:t[n][1]}function sn(e){return Nn(this.__data__,e)>-1}function un(e,t){var n=this.__data__,r=Nn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function ln(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function cn(){this.size=0,this.__data__={hash:new ee,map:new(Zc||nn),string:new ee}}function dn(e){var t=Mi(this,e).delete(e);return this.size-=t?1:0,t}function fn(e){return Mi(this,e).get(e)}function pn(e){return Mi(this,e).has(e)}function hn(e,t){var n=Mi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function mn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ln;++t<n;)this.add(e[t])}function gn(e){return this.__data__.set(e,se),this}function _n(e){return this.__data__.has(e)}function bn(e){var t=this.__data__=new nn(e);this.size=t.size}function yn(){this.__data__=new nn,this.size=0}function vn(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Mn(e){return this.__data__.get(e)}function An(e){return this.__data__.has(e)}function wn(e,t){var n=this.__data__;if(n instanceof nn){var r=n.__data__;if(!Zc||r.length<oe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new ln(r)}return n.set(e,t),this.size=n.size,this}function Cn(e,t){var n=_f(e),r=!n&&gf(e),o=!n&&!r&&yf(e),i=!n&&!r&&!o&&Cf(e),a=n||r||o||i,s=a?k(e.length,lc):[],u=s.length;for(var l in e)!t&&!gc.call(e,l)||a&&(\"length\"==l||o&&(\"offset\"==l||\"parent\"==l)||i&&(\"buffer\"==l||\"byteLength\"==l||\"byteOffset\"==l)||xi(l,u))||s.push(l);return s}function En(e){var t=e.length;return t?e[Jr(0,t-1)]:ne}function Ln(e,t){return Zi(Po(e),Pn(t,0,e.length))}function Tn(e){return Zi(Po(e))}function On(e,t,n){(n===ne||Us(e[t],n))&&(n!==ne||t in e)||In(e,t,n)}function Sn(e,t,n){var r=e[t];gc.call(e,t)&&Us(r,n)&&(n!==ne||t in e)||In(e,t,n)}function Nn(e,t){for(var n=e.length;n--;)if(Us(e[n][0],t))return n;return-1}function kn(e,t,n,r){return hd(e,function(e,o,i){t(r,e,n(e),i)}),r}function Dn(e,t){return e&&jo(t,Ru(t),e)}function xn(e,t){return e&&jo(t,Wu(t),e)}function In(e,t,n){\"__proto__\"==t&&Ic?Ic(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function zn(e,t){for(var n=-1,r=t.length,o=nc(r),i=null==e;++n<r;)o[n]=i?ne:ju(e,t[n]);return o}function Pn(e,t,n){return e===e&&(n!==ne&&(e=e<=n?e:n),t!==ne&&(e=e>=t?e:t)),e}function jn(e,t,n,r,o,i){var a,u=t&ce,l=t&de,c=t&fe;if(n&&(a=o?n(e,r,o,i):n(e)),a!==ne)return a;if(!ou(e))return e;var d=_f(e);if(d){if(a=Oi(e),!u)return Po(e,a)}else{var f=Ld(e),p=f==Ve||f==Ge;if(yf(e))return Lo(e,u);if(f==Ze||f==Re||p&&!o){if(a=l||p?{}:Si(e),!u)return l?Fo(e,xn(a,e)):Bo(e,Dn(a,e))}else{if(!$n[f])return o?e:{};a=Ni(e,f,u)}}i||(i=new bn);var h=i.get(e);if(h)return h;i.set(e,a),wf(e)?e.forEach(function(r){a.add(jn(r,t,n,r,e,i))}):Mf(e)&&e.forEach(function(r,o){a.set(o,jn(r,t,n,o,e,i))});var m=c?l?_i:gi:l?Wu:Ru,g=d?ne:m(e);return s(g||e,function(r,o){g&&(o=r,r=e[o]),Sn(a,o,jn(r,t,n,o,e,i))}),a}function Bn(e){var t=Ru(e);return function(n){\nreturn Fn(n,e,t)}}function Fn(e,t,n){var r=n.length;if(null==e)return!r;for(e=sc(e);r--;){var o=n[r],i=t[o],a=e[o];if(a===ne&&!(o in e)||!i(a))return!1}return!0}function Yn(e,t,n){if(\"function\"!=typeof e)throw new cc(ae);return Sd(function(){e.apply(ne,n)},t)}function Hn(e,t,n,r){var o=-1,i=d,a=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=p(t,x(n))),r?(i=f,a=!1):t.length>=oe&&(i=z,a=!1,t=new mn(t));e:for(;++o<s;){var c=e[o],h=null==n?c:n(c);if(c=r||0!==c?c:0,a&&h===h){for(var m=l;m--;)if(t[m]===h)continue e;u.push(c)}else i(t,h,r)||u.push(c)}return u}function qn(e,t){var n=!0;return hd(e,function(e,r,o){return n=!!t(e,r,o)}),n}function Un(e,t,n){for(var r=-1,o=e.length;++r<o;){var i=e[r],a=t(i);if(null!=a&&(s===ne?a===a&&!gu(a):n(a,s)))var s=a,u=i}return u}function Kn(e,t,n,r){var o=e.length;for(n=Au(n),n<0&&(n=-n>o?0:o+n),r=r===ne||r>o?o:Au(r),r<0&&(r+=o),r=n>r?0:wu(r);n<r;)e[n++]=t;return e}function Qn(e,t){var n=[];return hd(e,function(e,r,o){t(e,r,o)&&n.push(e)}),n}function Zn(e,t,n,r,o){var i=-1,a=e.length;for(n||(n=Di),o||(o=[]);++i<a;){var s=e[i];t>0&&n(s)?t>1?Zn(s,t-1,n,r,o):h(o,s):r||(o[o.length]=s)}return o}function Jn(e,t){return e&&gd(e,t,Ru)}function nr(e,t){return e&&_d(e,t,Ru)}function rr(e,t){return c(t,function(t){return tu(e[t])})}function ir(e,t){t=Co(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[Ji(t[n++])];return n&&n==r?e:ne}function ar(e,t,n){var r=t(e);return _f(e)?r:h(r,n(e))}function ur(e){return null==e?e===ne?it:Qe:xc&&xc in sc(e)?Ci(e):Ui(e)}function lr(e,t){return e>t}function gr(e,t){return null!=e&&gc.call(e,t)}function vr(e,t){return null!=e&&t in sc(e)}function Ar(e,t,n){return e>=Xc(t,n)&&e<Uc(t,n)}function wr(e,t,n){for(var r=n?f:d,o=e[0].length,i=e.length,a=i,s=nc(i),u=1/0,l=[];a--;){var c=e[a];a&&t&&(c=p(c,x(t))),u=Xc(c.length,u),s[a]=!n&&(t||o>=120&&c.length>=120)?new mn(a&&c):ne}c=e[0];var h=-1,m=s[0];e:for(;++h<o&&l.length<u;){var g=c[h],_=t?t(g):g;if(g=n||0!==g?g:0,!(m?z(m,_):r(l,_,n))){for(a=i;--a;){var b=s[a];if(!(b?z(b,_):r(e[a],_,n)))continue e}m&&m.push(_),l.push(g)}}return l}function Cr(e,t,n,r){return Jn(e,function(e,o,i){t(r,n(e),o,i)}),r}function Er(e,t,n){t=Co(t,e),e=Vi(e,t);var r=null==e?e:e[Ji(Ma(t))];return null==r?ne:i(r,e,n)}function Lr(e){return iu(e)&&ur(e)==Re}function Tr(e){return iu(e)&&ur(e)==ut}function Or(e){return iu(e)&&ur(e)==qe}function Sr(e,t,n,r,o){return e===t||(null==e||null==t||!iu(e)&&!iu(t)?e!==e&&t!==t:Nr(e,t,n,r,Sr,o))}function Nr(e,t,n,r,o,i){var a=_f(e),s=_f(t),u=a?We:Ld(e),l=s?We:Ld(t);u=u==Re?Ze:u,l=l==Re?Ze:l;var c=u==Ze,d=l==Ze,f=u==l;if(f&&yf(e)){if(!yf(t))return!1;a=!0,c=!1}if(f&&!c)return i||(i=new bn),a||Cf(e)?fi(e,t,n,r,o,i):pi(e,t,u,n,r,o,i);if(!(n&pe)){var p=c&&gc.call(e,\"__wrapped__\"),h=d&&gc.call(t,\"__wrapped__\");if(p||h){var m=p?e.value():e,g=h?t.value():t;return i||(i=new bn),o(m,g,n,r,i)}}return!!f&&(i||(i=new bn),hi(e,t,n,r,o,i))}function kr(e){return iu(e)&&Ld(e)==$e}function Dr(e,t,n,r){var o=n.length,i=o,a=!r;if(null==e)return!i;for(e=sc(e);o--;){var s=n[o];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<i;){s=n[o];var u=s[0],l=e[u],c=s[1];if(a&&s[2]){if(l===ne&&!(u in e))return!1}else{var d=new bn;if(r)var f=r(l,c,u,e,t,d);if(!(f===ne?Sr(c,l,pe|he,r,d):f))return!1}}return!0}function xr(e){if(!ou(e)||Bi(e))return!1;var t=tu(e)?Ac:Xt;return t.test(ea(e))}function Ir(e){return iu(e)&&ur(e)==tt}function zr(e){return iu(e)&&Ld(e)==nt}function Pr(e){return iu(e)&&ru(e.length)&&!!Gn[ur(e)]}function jr(e){return\"function\"==typeof e?e:null==e?Nl:\"object\"==typeof e?_f(e)?Hr(e[0],e[1]):Yr(e):Bl(e)}function Br(e){if(!Fi(e))return qc(e);var t=[];for(var n in sc(e))gc.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function Fr(e){if(!ou(e))return qi(e);var t=Fi(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&gc.call(e,r))&&n.push(r);return n}function Rr(e,t){return e<t}function Wr(e,t){var n=-1,r=Xs(e)?nc(e.length):[];return hd(e,function(e,o,i){r[++n]=t(e,o,i)}),r}function Yr(e){var t=Ai(e);return 1==t.length&&t[0][2]?Wi(t[0][0],t[0][1]):function(n){return n===e||Dr(n,e,t)}}function Hr(e,t){return zi(e)&&Ri(t)?Wi(Ji(e),t):function(n){var r=ju(n,e);return r===ne&&r===t?Fu(n,e):Sr(t,r,pe|he)}}function qr(e,t,n,r,o){e!==t&&gd(t,function(i,a){if(o||(o=new bn),ou(i))Ur(e,t,a,n,qr,r,o);else{var s=r?r($i(e,a),i,a+\"\",e,t,o):ne;s===ne&&(s=i),On(e,a,s)}},Wu)}function Ur(e,t,n,r,o,i,a){var s=$i(e,n),u=$i(t,n),l=a.get(u);if(l)return void On(e,n,l);var c=i?i(s,u,n+\"\",e,t,a):ne,d=c===ne;if(d){var f=_f(u),p=!f&&yf(u),h=!f&&!p&&Cf(u);c=u,f||p||h?_f(s)?c=s:Vs(s)?c=Po(s):p?(d=!1,c=Lo(u,!0)):h?(d=!1,c=ko(u,!0)):c=[]:pu(u)||gf(u)?(c=s,gf(s)?c=Eu(s):ou(s)&&!tu(s)||(c=Si(u))):d=!1}d&&(a.set(u,c),o(c,u,r,i,a),a.delete(u)),On(e,n,c)}function Xr(e,t){var n=e.length;if(n)return t+=t<0?n:0,xi(t,n)?e[t]:ne}function Vr(e,t,n){var r=-1;t=p(t.length?t:[Nl],x(vi()));var o=Wr(e,function(e,n,o){var i=p(t,function(t){return t(e)});return{criteria:i,index:++r,value:e}});return S(o,function(e,t){return xo(e,t,n)})}function Gr(e,t){return $r(e,t,function(t,n){return Fu(e,n)})}function $r(e,t,n){for(var r=-1,o=t.length,i={};++r<o;){var a=t[r],s=ir(e,a);n(s,a)&&io(i,Co(a,e),s)}return i}function Kr(e){return function(t){return ir(t,e)}}function Qr(e,t,n,r){var o=r?w:A,i=-1,a=t.length,s=e;for(e===t&&(t=Po(t)),n&&(s=p(e,x(n)));++i<a;)for(var u=0,l=t[i],c=n?n(l):l;(u=o(s,c,u,r))>-1;)s!==e&&Nc.call(s,u,1),Nc.call(e,u,1);return e}function Zr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;xi(o)?Nc.call(e,o,1):go(e,o)}}return e}function Jr(e,t){return e+Fc($c()*(t-e+1))}function eo(e,t,n,r){for(var o=-1,i=Uc(Bc((t-e)/(n||1)),0),a=nc(i);i--;)a[r?i:++o]=e,e+=n;return a}function to(e,t){var n=\"\";if(!e||t<1||t>xe)return n;do t%2&&(n+=e),t=Fc(t/2),t&&(e+=e);while(t);return n}function no(e,t){return Nd(Xi(e,t,Nl),e+\"\")}function ro(e){return En(Ju(e))}function oo(e,t){var n=Ju(e);return Zi(n,Pn(t,0,n.length))}function io(e,t,n,r){if(!ou(e))return e;t=Co(t,e);for(var o=-1,i=t.length,a=i-1,s=e;null!=s&&++o<i;){var u=Ji(t[o]),l=n;if(o!=a){var c=s[u];l=r?r(c,u,s):ne,l===ne&&(l=ou(c)?c:xi(t[o+1])?[]:{})}Sn(s,u,l),s=s[u]}return e}function ao(e){return Zi(Ju(e))}function so(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=nc(o);++r<o;)i[r]=e[r+t];return i}function uo(e,t){var n;return hd(e,function(e,r,o){return n=t(e,r,o),!n}),!!n}function lo(e,t,n){var r=0,o=null==e?r:e.length;if(\"number\"==typeof t&&t===t&&o<=Be){for(;r<o;){var i=r+o>>>1,a=e[i];null!==a&&!gu(a)&&(n?a<=t:a<t)?r=i+1:o=i}return o}return co(e,t,Nl,n)}function co(e,t,n,r){t=n(t);for(var o=0,i=null==e?0:e.length,a=t!==t,s=null===t,u=gu(t),l=t===ne;o<i;){var c=Fc((o+i)/2),d=n(e[c]),f=d!==ne,p=null===d,h=d===d,m=gu(d);if(a)var g=r||h;else g=l?h&&(r||f):s?h&&f&&(r||!p):u?h&&f&&!p&&(r||!m):!p&&!m&&(r?d<=t:d<t);g?o=c+1:i=c}return Xc(i,je)}function fo(e,t){for(var n=-1,r=e.length,o=0,i=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!Us(s,u)){var u=s;i[o++]=0===a?0:a}}return i}function po(e){return\"number\"==typeof e?e:gu(e)?ze:+e}function ho(e){if(\"string\"==typeof e)return e;if(_f(e))return p(e,ho)+\"\";if(gu(e))return fd?fd.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-De?\"-0\":t}function mo(e,t,n){var r=-1,o=d,i=e.length,a=!0,s=[],u=s;if(n)a=!1,o=f;else if(i>=oe){var l=t?null:Ad(e);if(l)return V(l);a=!1,o=z,u=new mn}else u=t?[]:s;e:for(;++r<i;){var c=e[r],p=t?t(c):c;if(c=n||0!==c?c:0,a&&p===p){for(var h=u.length;h--;)if(u[h]===p)continue e;t&&u.push(p),s.push(c)}else o(u,p,n)||(u!==s&&u.push(p),s.push(c))}return s}function go(e,t){return t=Co(t,e),e=Vi(e,t),null==e||delete e[Ji(Ma(t))]}function _o(e,t,n,r){return io(e,t,n(ir(e,t)),r)}function bo(e,t,n,r){for(var o=e.length,i=r?o:-1;(r?i--:++i<o)&&t(e[i],i,e););return n?so(e,r?0:i,r?i+1:o):so(e,r?i+1:0,r?o:i)}function yo(e,t){var n=e;return n instanceof b&&(n=n.value()),m(t,function(e,t){return t.func.apply(t.thisArg,h([e],t.args))},n)}function vo(e,t,n){var r=e.length;if(r<2)return r?mo(e[0]):[];for(var o=-1,i=nc(r);++o<r;)for(var a=e[o],s=-1;++s<r;)s!=o&&(i[o]=Hn(i[o]||a,e[s],t,n));return mo(Zn(i,1),t,n)}function Mo(e,t,n){for(var r=-1,o=e.length,i=t.length,a={};++r<o;){var s=r<i?t[r]:ne;n(a,e[r],s)}return a}function Ao(e){return Vs(e)?e:[]}function wo(e){return\"function\"==typeof e?e:Nl}function Co(e,t){return _f(e)?e:zi(e,t)?[e]:kd(Tu(e))}function Eo(e,t,n){var r=e.length;return n=n===ne?r:n,!t&&n>=r?e:so(e,t,n)}function Lo(e,t){if(t)return e.slice();var n=e.length,r=Lc?Lc(n):new e.constructor(n);return e.copy(r),r}function To(e){var t=new e.constructor(e.byteLength);return new Ec(t).set(new Ec(e)),t}function Oo(e,t){var n=t?To(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function So(e){var t=new e.constructor(e.source,Ht.exec(e));return t.lastIndex=e.lastIndex,t}function No(e){return dd?sc(dd.call(e)):{}}function ko(e,t){var n=t?To(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Do(e,t){if(e!==t){var n=e!==ne,r=null===e,o=e===e,i=gu(e),a=t!==ne,s=null===t,u=t===t,l=gu(t);if(!s&&!l&&!i&&e>t||i&&a&&u&&!s&&!l||r&&a&&u||!n&&u||!o)return 1;if(!r&&!i&&!l&&e<t||l&&n&&o&&!r&&!i||s&&n&&o||!a&&o||!u)return-1}return 0}function xo(e,t,n){for(var r=-1,o=e.criteria,i=t.criteria,a=o.length,s=n.length;++r<a;){var u=Do(o[r],i[r]);if(u){if(r>=s)return u;var l=n[r];return u*(\"desc\"==l?-1:1)}}return e.index-t.index}function Io(e,t,n,r){for(var o=-1,i=e.length,a=n.length,s=-1,u=t.length,l=Uc(i-a,0),c=nc(u+l),d=!r;++s<u;)c[s]=t[s];for(;++o<a;)(d||o<i)&&(c[n[o]]=e[o]);for(;l--;)c[s++]=e[o++];return c}function zo(e,t,n,r){for(var o=-1,i=e.length,a=-1,s=n.length,u=-1,l=t.length,c=Uc(i-s,0),d=nc(c+l),f=!r;++o<c;)d[o]=e[o];for(var p=o;++u<l;)d[p+u]=t[u];for(;++a<s;)(f||o<i)&&(d[p+n[a]]=e[o++]);return d}function Po(e,t){var n=-1,r=e.length;for(t||(t=nc(r));++n<r;)t[n]=e[n];return t}function jo(e,t,n,r){var o=!n;n||(n={});for(var i=-1,a=t.length;++i<a;){var s=t[i],u=r?r(n[s],e[s],s,n,e):ne;u===ne&&(u=e[s]),o?In(n,s,u):Sn(n,s,u)}return n}function Bo(e,t){return jo(e,Cd(e),t)}function Fo(e,t){return jo(e,Ed(e),t)}function Ro(e,t){return function(n,r){var o=_f(n)?a:kn,i=t?t():{};return o(n,e,vi(r,2),i)}}function Wo(e){return no(function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:ne,a=o>2?n[2]:ne;for(i=e.length>3&&\"function\"==typeof i?(o--,i):ne,a&&Ii(n[0],n[1],a)&&(i=o<3?ne:i,o=1),t=sc(t);++r<o;){var s=n[r];s&&e(t,s,r,i)}return t})}function Yo(e,t){return function(n,r){if(null==n)return n;if(!Xs(n))return e(n,r);for(var o=n.length,i=t?o:-1,a=sc(n);(t?i--:++i<o)&&r(a[i],i,a)!==!1;);return n}}function Ho(e){return function(t,n,r){for(var o=-1,i=sc(t),a=r(t),s=a.length;s--;){var u=a[e?s:++o];if(n(i[u],u,i)===!1)break}return t}}function qo(e,t,n){function r(){var t=this&&this!==or&&this instanceof r?i:e;return t.apply(o?n:this,arguments)}var o=t&me,i=Vo(e);return r}function Uo(e){return function(t){t=Tu(t);var n=W(t)?Z(t):ne,r=n?n[0]:t.charAt(0),o=n?Eo(n,1).join(\"\"):t.slice(1);return r[e]()+o}}function Xo(e){return function(t){return m(El(il(t).replace(Rn,\"\")),e,\"\")}}function Vo(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=pd(e.prototype),r=e.apply(n,t);return ou(r)?r:n}}function Go(e,t,n){function r(){for(var a=arguments.length,s=nc(a),u=a,l=yi(r);u--;)s[u]=arguments[u];var c=a<3&&s[0]!==l&&s[a-1]!==l?[]:X(s,l);if(a-=c.length,a<n)return ii(e,t,Qo,r.placeholder,ne,s,c,ne,ne,n-a);var d=this&&this!==or&&this instanceof r?o:e;return i(d,this,s)}var o=Vo(e);return r}function $o(e){return function(t,n,r){var o=sc(t);if(!Xs(t)){var i=vi(n,3);t=Ru(t),n=function(e){return i(o[e],e,o)}}var a=e(t,n,r);return a>-1?o[i?t[a]:a]:ne}}function Ko(e){return mi(function(t){var n=t.length,r=n,i=o.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if(\"function\"!=typeof a)throw new cc(ae);if(i&&!s&&\"wrapper\"==bi(a))var s=new o([],!0)}for(r=s?r:n;++r<n;){a=t[r];var u=bi(a),l=\"wrapper\"==u?wd(a):ne;s=l&&ji(l[0])&&l[1]==(Ae|be|ve|we)&&!l[4].length&&1==l[9]?s[bi(l[0])].apply(s,l[3]):1==a.length&&ji(a)?s[u]():s.thru(a)}return function(){var e=arguments,r=e[0];if(s&&1==e.length&&_f(r))return s.plant(r).value();for(var o=0,i=n?t[o].apply(this,e):r;++o<n;)i=t[o].call(this,i);return i}})}function Qo(e,t,n,r,o,i,a,s,u,l){function c(){for(var _=arguments.length,b=nc(_),y=_;y--;)b[y]=arguments[y];if(h)var v=yi(c),M=B(b,v);if(r&&(b=Io(b,r,o,h)),i&&(b=zo(b,i,a,h)),_-=M,h&&_<l){var A=X(b,v);return ii(e,t,Qo,c.placeholder,n,b,A,s,u,l-_)}var w=f?n:this,C=p?w[e]:e;return _=b.length,s?b=Gi(b,s):m&&_>1&&b.reverse(),d&&u<_&&(b.length=u),this&&this!==or&&this instanceof c&&(C=g||Vo(C)),C.apply(w,b)}var d=t&Ae,f=t&me,p=t&ge,h=t&(be|ye),m=t&Ce,g=p?ne:Vo(e);return c}function Zo(e,t){return function(n,r){return Cr(n,e,t(r),{})}}function Jo(e,t){return function(n,r){var o;if(n===ne&&r===ne)return t;if(n!==ne&&(o=n),r!==ne){if(o===ne)return r;\"string\"==typeof n||\"string\"==typeof r?(n=ho(n),r=ho(r)):(n=po(n),r=po(r)),o=e(n,r)}return o}}function ei(e){return mi(function(t){return t=p(t,x(vi())),no(function(n){var r=this;return e(t,function(e){return i(e,r,n)})})})}function ti(e,t){t=t===ne?\" \":ho(t);var n=t.length;if(n<2)return n?to(t,e):t;var r=to(t,Bc(e/Q(t)));return W(t)?Eo(Z(r),0,e).join(\"\"):r.slice(0,e)}function ni(e,t,n,r){function o(){for(var t=-1,u=arguments.length,l=-1,c=r.length,d=nc(c+u),f=this&&this!==or&&this instanceof o?s:e;++l<c;)d[l]=r[l];for(;u--;)d[l++]=arguments[++t];return i(f,a?n:this,d)}var a=t&me,s=Vo(e);return o}function ri(e){return function(t,n,r){return r&&\"number\"!=typeof r&&Ii(t,n,r)&&(n=r=ne),t=Mu(t),n===ne?(n=t,t=0):n=Mu(n),r=r===ne?t<n?1:-1:Mu(r),eo(t,n,r,e)}}function oi(e){return function(t,n){return\"string\"==typeof t&&\"string\"==typeof n||(t=Cu(t),n=Cu(n)),e(t,n)}}function ii(e,t,n,r,o,i,a,s,u,l){var c=t&be,d=c?a:ne,f=c?ne:a,p=c?i:ne,h=c?ne:i;t|=c?ve:Me,t&=~(c?Me:ve),t&_e||(t&=~(me|ge));var m=[e,t,o,p,d,h,f,s,u,l],g=n.apply(ne,m);return ji(e)&&Od(g,m),g.placeholder=r,Ki(g,e,t)}function ai(e){var t=ac[e];return function(e,n){if(e=Cu(e),n=null==n?0:Xc(Au(n),292),n&&Yc(e)){var r=(Tu(e)+\"e\").split(\"e\"),o=t(r[0]+\"e\"+(+r[1]+n));return r=(Tu(o)+\"e\").split(\"e\"),+(r[0]+\"e\"+(+r[1]-n))}return t(e)}}function si(e){return function(t){var n=Ld(t);return n==$e?q(t):n==nt?G(t):D(t,e(t))}}function ui(e,t,n,r,o,i,a,s){var u=t&ge;if(!u&&\"function\"!=typeof e)throw new cc(ae);var l=r?r.length:0;if(l||(t&=~(ve|Me),r=o=ne),a=a===ne?a:Uc(Au(a),0),s=s===ne?s:Au(s),l-=o?o.length:0,t&Me){var c=r,d=o;r=o=ne}var f=u?ne:wd(e),p=[e,t,n,r,o,c,d,i,a,s];if(f&&Hi(p,f),e=p[0],t=p[1],n=p[2],r=p[3],o=p[4],s=p[9]=p[9]===ne?u?0:e.length:Uc(p[9]-l,0),!s&&t&(be|ye)&&(t&=~(be|ye)),t&&t!=me)h=t==be||t==ye?Go(e,t,s):t!=ve&&t!=(me|ve)||o.length?Qo.apply(ne,p):ni(e,t,n,r);else var h=qo(e,t,n);var m=f?bd:Od;return Ki(m(h,p),e,t)}function li(e,t,n,r){return e===ne||Us(e,pc[n])&&!gc.call(r,n)?t:e}function ci(e,t,n,r,o,i){return ou(e)&&ou(t)&&(i.set(t,e),qr(e,t,ne,ci,i),i.delete(t)),e}function di(e){return pu(e)?ne:e}function fi(e,t,n,r,o,i){var a=n&pe,s=e.length,u=t.length;if(s!=u&&!(a&&u>s))return!1;var l=i.get(e);if(l&&i.get(t))return l==t;var c=-1,d=!0,f=n&he?new mn:ne;for(i.set(e,t),i.set(t,e);++c<s;){var p=e[c],h=t[c];if(r)var m=a?r(h,p,c,t,e,i):r(p,h,c,e,t,i);if(m!==ne){if(m)continue;d=!1;break}if(f){if(!_(t,function(e,t){if(!z(f,t)&&(p===e||o(p,e,n,r,i)))return f.push(t)})){d=!1;break}}else if(p!==h&&!o(p,h,n,r,i)){d=!1;break}}return i.delete(e),i.delete(t),d}function pi(e,t,n,r,o,i,a){switch(n){case lt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case ut:return!(e.byteLength!=t.byteLength||!i(new Ec(e),new Ec(t)));case He:case qe:case Ke:return Us(+e,+t);case Xe:return e.name==t.name&&e.message==t.message;case tt:case rt:return e==t+\"\";case $e:var s=q;case nt:var u=r&pe;if(s||(s=V),e.size!=t.size&&!u)return!1;var l=a.get(e);if(l)return l==t;r|=he,a.set(e,t);var c=fi(s(e),s(t),r,o,i,a);return a.delete(e),c;case ot:if(dd)return dd.call(e)==dd.call(t)}return!1}function hi(e,t,n,r,o,i){var a=n&pe,s=gi(e),u=s.length,l=gi(t),c=l.length;if(u!=c&&!a)return!1;for(var d=u;d--;){var f=s[d];if(!(a?f in t:gc.call(t,f)))return!1}var p=i.get(e);if(p&&i.get(t))return p==t;var h=!0;i.set(e,t),i.set(t,e);for(var m=a;++d<u;){f=s[d];var g=e[f],_=t[f];if(r)var b=a?r(_,g,f,t,e,i):r(g,_,f,e,t,i);if(!(b===ne?g===_||o(g,_,n,r,i):b)){h=!1;break}m||(m=\"constructor\"==f)}if(h&&!m){var y=e.constructor,v=t.constructor;y!=v&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof y&&y instanceof y&&\"function\"==typeof v&&v instanceof v)&&(h=!1)}return i.delete(e),i.delete(t),h}function mi(e){return Nd(Xi(e,ne,pa),e+\"\")}function gi(e){return ar(e,Ru,Cd)}function _i(e){return ar(e,Wu,Ed)}function bi(e){for(var t=e.name+\"\",n=od[t],r=gc.call(od,t)?n.length:0;r--;){var o=n[r],i=o.func;if(null==i||i==e)return o.name}return t}function yi(e){var t=gc.call(n,\"placeholder\")?n:e;return t.placeholder}function vi(){var e=n.iteratee||kl;return e=e===kl?jr:e,arguments.length?e(arguments[0],arguments[1]):e}function Mi(e,t){var n=e.__data__;return Pi(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function Ai(e){for(var t=Ru(e),n=t.length;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ri(o)]}return t}function wi(e,t){var n=R(e,t);return xr(n)?n:ne}function Ci(e){var t=gc.call(e,xc),n=e[xc];try{e[xc]=ne;var r=!0}catch(e){}var o=yc.call(e);return r&&(t?e[xc]=n:delete e[xc]),o}function Ei(e,t,n){for(var r=-1,o=n.length;++r<o;){var i=n[r],a=i.size;switch(i.type){case\"drop\":e+=a;break;case\"dropRight\":t-=a;break;case\"take\":t=Xc(t,e+a);break;case\"takeRight\":e=Uc(e,t-a)}}return{start:e,end:t}}function Li(e){var t=e.match(Bt);return t?t[1].split(Ft):[]}function Ti(e,t,n){t=Co(t,e);for(var r=-1,o=t.length,i=!1;++r<o;){var a=Ji(t[r]);if(!(i=null!=e&&n(e,a)))break;e=e[a]}return i||++r!=o?i:(o=null==e?0:e.length,!!o&&ru(o)&&xi(a,o)&&(_f(e)||gf(e)))}function Oi(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&gc.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}function Si(e){return\"function\"!=typeof e.constructor||Fi(e)?{}:pd(Tc(e))}function Ni(e,t,n){var r=e.constructor;switch(t){case ut:return To(e);case He:case qe:return new r(+e);case lt:return Oo(e,n);case ct:case dt:case ft:case pt:case ht:case mt:case gt:case _t:case bt:return ko(e,n);case $e:return new r;case Ke:case rt:return new r(e);case tt:return So(e);case nt:return new r;case ot:return No(e)}}function ki(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(jt,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Di(e){return _f(e)||gf(e)||!!(kc&&e&&e[kc])}function xi(e,t){var n=typeof e;return t=null==t?xe:t,!!t&&(\"number\"==n||\"symbol\"!=n&&Gt.test(e))&&e>-1&&e%1==0&&e<t}function Ii(e,t,n){if(!ou(n))return!1;var r=typeof t;return!!(\"number\"==r?Xs(n)&&xi(t,n.length):\"string\"==r&&t in n)&&Us(n[t],e)}function zi(e,t){if(_f(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!gu(e))||(Nt.test(e)||!St.test(e)||null!=t&&e in sc(t))}function Pi(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function ji(e){var t=bi(e),r=n[t];if(\"function\"!=typeof r||!(t in b.prototype))return!1;if(e===r)return!0;var o=wd(r);return!!o&&e===o[0]}function Bi(e){return!!bc&&bc in e}function Fi(e){var t=e&&e.constructor,n=\"function\"==typeof t&&t.prototype||pc;return e===n}function Ri(e){return e===e&&!ou(e)}function Wi(e,t){return function(n){return null!=n&&(n[e]===t&&(t!==ne||e in sc(n)))}}function Yi(e){var t=ks(e,function(e){return n.size===ue&&n.clear(),e}),n=t.cache;return t}function Hi(e,t){var n=e[1],r=t[1],o=n|r,i=o<(me|ge|Ae),a=r==Ae&&n==be||r==Ae&&n==we&&e[7].length<=t[8]||r==(Ae|we)&&t[7].length<=t[8]&&n==be;if(!i&&!a)return e;r&me&&(e[2]=t[2],o|=n&me?0:_e);var s=t[3];if(s){var u=e[3];e[3]=u?Io(u,s,t[4]):s,e[4]=u?X(e[3],le):t[4]}return s=t[5],s&&(u=e[5],e[5]=u?zo(u,s,t[6]):s,e[6]=u?X(e[5],le):t[6]),s=t[7],s&&(e[7]=s),r&Ae&&(e[8]=null==e[8]?t[8]:Xc(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=o,e}function qi(e){var t=[];if(null!=e)for(var n in sc(e))t.push(n);return t}function Ui(e){return yc.call(e)}function Xi(e,t,n){return t=Uc(t===ne?e.length-1:t,0),function(){for(var r=arguments,o=-1,a=Uc(r.length-t,0),s=nc(a);++o<a;)s[o]=r[t+o];o=-1;for(var u=nc(t+1);++o<t;)u[o]=r[o];return u[t]=n(s),i(e,this,u)}}function Vi(e,t){return t.length<2?e:ir(e,so(t,0,-1))}function Gi(e,t){for(var n=e.length,r=Xc(t.length,n),o=Po(e);r--;){var i=t[r];e[r]=xi(i,n)?o[i]:ne}return e}function $i(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}function Ki(e,t,n){var r=t+\"\";return Nd(e,ki(r,ta(Li(r),n)))}function Qi(e){var t=0,n=0;return function(){var r=Vc(),o=Oe-(r-n);if(n=r,o>0){if(++t>=Te)return arguments[0]}else t=0;return e.apply(ne,arguments)}}function Zi(e,t){var n=-1,r=e.length,o=r-1;for(t=t===ne?r:t;++n<t;){var i=Jr(n,o),a=e[i];e[i]=e[n],e[n]=a}return e.length=t,e}function Ji(e){if(\"string\"==typeof e||gu(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-De?\"-0\":t}function ea(e){if(null!=e){try{return mc.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function ta(e,t){return s(Fe,function(n){var r=\"_.\"+n[0];t&n[1]&&!d(e,r)&&e.push(r)}),e.sort()}function na(e){if(e instanceof b)return e.clone();var t=new o(e.__wrapped__,e.__chain__);return t.__actions__=Po(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function ra(e,t,n){t=(n?Ii(e,t,n):t===ne)?1:Uc(Au(t),0);var r=null==e?0:e.length;if(!r||t<1)return[];for(var o=0,i=0,a=nc(Bc(r/t));o<r;)a[i++]=so(e,o,o+=t);return a}function oa(e){for(var t=-1,n=null==e?0:e.length,r=0,o=[];++t<n;){var i=e[t];i&&(o[r++]=i)}return o}function ia(){var e=arguments.length;if(!e)return[];for(var t=nc(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return h(_f(n)?Po(n):[n],Zn(t,1))}function aa(e,t,n){var r=null==e?0:e.length;return r?(t=n||t===ne?1:Au(t),so(e,t<0?0:t,r)):[]}function sa(e,t,n){var r=null==e?0:e.length;return r?(t=n||t===ne?1:Au(t),t=r-t,so(e,0,t<0?0:t)):[]}function ua(e,t){return e&&e.length?bo(e,vi(t,3),!0,!0):[]}function la(e,t){return e&&e.length?bo(e,vi(t,3),!0):[]}function ca(e,t,n,r){var o=null==e?0:e.length;return o?(n&&\"number\"!=typeof n&&Ii(e,t,n)&&(n=0,r=o),Kn(e,t,n,r)):[]}function da(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:Au(n);return o<0&&(o=Uc(r+o,0)),M(e,vi(t,3),o)}function fa(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==ne&&(o=Au(n),o=n<0?Uc(r+o,0):Xc(o,r-1)),M(e,vi(t,3),o,!0)}function pa(e){var t=null==e?0:e.length;return t?Zn(e,1):[]}function ha(e){var t=null==e?0:e.length;return t?Zn(e,De):[]}function ma(e,t){var n=null==e?0:e.length;return n?(t=t===ne?1:Au(t),Zn(e,t)):[]}function ga(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var o=e[t];r[o[0]]=o[1]}return r}function _a(e){return e&&e.length?e[0]:ne}function ba(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:Au(n);return o<0&&(o=Uc(r+o,0)),A(e,t,o)}function ya(e){var t=null==e?0:e.length;return t?so(e,0,-1):[]}function va(e,t){return null==e?\"\":Hc.call(e,t)}function Ma(e){var t=null==e?0:e.length;return t?e[t-1]:ne}function Aa(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==ne&&(o=Au(n),o=o<0?Uc(r+o,0):Xc(o,r-1)),t===t?K(e,t,o):M(e,C,o,!0)}function wa(e,t){return e&&e.length?Xr(e,Au(t)):ne}function Ca(e,t){return e&&e.length&&t&&t.length?Qr(e,t):e}function Ea(e,t,n){return e&&e.length&&t&&t.length?Qr(e,t,vi(n,2)):e}function La(e,t,n){return e&&e.length&&t&&t.length?Qr(e,t,ne,n):e}function Ta(e,t){var n=[];if(!e||!e.length)return n;var r=-1,o=[],i=e.length;for(t=vi(t,3);++r<i;){var a=e[r];t(a,r,e)&&(n.push(a),o.push(r))}return Zr(e,o),n}function Oa(e){return null==e?e:Kc.call(e)}function Sa(e,t,n){var r=null==e?0:e.length;return r?(n&&\"number\"!=typeof n&&Ii(e,t,n)?(t=0,n=r):(t=null==t?0:Au(t),n=n===ne?r:Au(n)),so(e,t,n)):[]}function Na(e,t){return lo(e,t)}function ka(e,t,n){return co(e,t,vi(n,2))}function Da(e,t){var n=null==e?0:e.length;if(n){var r=lo(e,t);if(r<n&&Us(e[r],t))return r}return-1}function xa(e,t){return lo(e,t,!0)}function Ia(e,t,n){return co(e,t,vi(n,2),!0)}function za(e,t){var n=null==e?0:e.length;if(n){var r=lo(e,t,!0)-1;if(Us(e[r],t))return r}return-1}function Pa(e){return e&&e.length?fo(e):[]}function ja(e,t){return e&&e.length?fo(e,vi(t,2)):[]}function Ba(e){var t=null==e?0:e.length;return t?so(e,1,t):[]}function Fa(e,t,n){return e&&e.length?(t=n||t===ne?1:Au(t),so(e,0,t<0?0:t)):[]}function Ra(e,t,n){var r=null==e?0:e.length;return r?(t=n||t===ne?1:Au(t),t=r-t,so(e,t<0?0:t,r)):[]}function Wa(e,t){return e&&e.length?bo(e,vi(t,3),!1,!0):[]}function Ya(e,t){return e&&e.length?bo(e,vi(t,3)):[]}function Ha(e){return e&&e.length?mo(e):[]}function qa(e,t){return e&&e.length?mo(e,vi(t,2)):[]}function Ua(e,t){return t=\"function\"==typeof t?t:ne,e&&e.length?mo(e,ne,t):[]}function Xa(e){if(!e||!e.length)return[];var t=0;return e=c(e,function(e){if(Vs(e))return t=Uc(e.length,t),!0}),k(t,function(t){return p(e,L(t))})}function Va(e,t){if(!e||!e.length)return[];var n=Xa(e);return null==t?n:p(n,function(e){return i(t,ne,e)})}function Ga(e,t){return Mo(e||[],t||[],Sn)}function $a(e,t){return Mo(e||[],t||[],io)}function Ka(e){var t=n(e);return t.__chain__=!0,t}function Qa(e,t){return t(e),e}function Za(e,t){return t(e)}function Ja(){return Ka(this)}function es(){return new o(this.value(),this.__chain__)}function ts(){this.__values__===ne&&(this.__values__=vu(this.value()));var e=this.__index__>=this.__values__.length,t=e?ne:this.__values__[this.__index__++];return{done:e,value:t}}function ns(){return this}function rs(e){for(var t,n=this;n instanceof r;){var o=na(n);o.__index__=0,o.__values__=ne,t?i.__wrapped__=o:t=o;var i=o;n=n.__wrapped__}return i.__wrapped__=e,t}function os(){var e=this.__wrapped__;if(e instanceof b){var t=e;return this.__actions__.length&&(t=new b(this)),t=t.reverse(),t.__actions__.push({func:Za,args:[Oa],thisArg:ne}),new o(t,this.__chain__)}return this.thru(Oa)}function is(){return yo(this.__wrapped__,this.__actions__)}function as(e,t,n){var r=_f(e)?l:qn;return n&&Ii(e,t,n)&&(t=ne),r(e,vi(t,3))}function ss(e,t){var n=_f(e)?c:Qn;return n(e,vi(t,3))}function us(e,t){return Zn(hs(e,t),1)}function ls(e,t){return Zn(hs(e,t),De)}function cs(e,t,n){return n=n===ne?1:Au(n),Zn(hs(e,t),n)}function ds(e,t){var n=_f(e)?s:hd;return n(e,vi(t,3))}function fs(e,t){var n=_f(e)?u:md;return n(e,vi(t,3))}function ps(e,t,n,r){e=Xs(e)?e:Ju(e),n=n&&!r?Au(n):0;var o=e.length;return n<0&&(n=Uc(o+n,0)),mu(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&A(e,t,n)>-1}function hs(e,t){var n=_f(e)?p:Wr;return n(e,vi(t,3))}function ms(e,t,n,r){return null==e?[]:(_f(t)||(t=null==t?[]:[t]),n=r?ne:n,_f(n)||(n=null==n?[]:[n]),Vr(e,t,n))}function gs(e,t,n){var r=_f(e)?m:O,o=arguments.length<3;return r(e,vi(t,4),n,o,hd)}function _s(e,t,n){var r=_f(e)?g:O,o=arguments.length<3;return r(e,vi(t,4),n,o,md)}function bs(e,t){var n=_f(e)?c:Qn;return n(e,Ds(vi(t,3)))}function ys(e){var t=_f(e)?En:ro;return t(e)}function vs(e,t,n){t=(n?Ii(e,t,n):t===ne)?1:Au(t);var r=_f(e)?Ln:oo;return r(e,t)}function Ms(e){var t=_f(e)?Tn:ao;return t(e)}function As(e){if(null==e)return 0;if(Xs(e))return mu(e)?Q(e):e.length;var t=Ld(e);return t==$e||t==nt?e.size:Br(e).length}function ws(e,t,n){var r=_f(e)?_:uo;return n&&Ii(e,t,n)&&(t=ne),r(e,vi(t,3))}function Cs(e,t){if(\"function\"!=typeof t)throw new cc(ae);return e=Au(e),function(){if(--e<1)return t.apply(this,arguments)}}function Es(e,t,n){return t=n?ne:t,t=e&&null==t?e.length:t,ui(e,Ae,ne,ne,ne,ne,t)}function Ls(e,t){var n;if(\"function\"!=typeof t)throw new cc(ae);return e=Au(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ne),n}}function Ts(e,t,n){t=n?ne:t;var r=ui(e,be,ne,ne,ne,ne,ne,t);return r.placeholder=Ts.placeholder,r}function Os(e,t,n){t=n?ne:t;var r=ui(e,ye,ne,ne,ne,ne,ne,t);return r.placeholder=Os.placeholder,r}function Ss(e,t,n){function r(t){var n=f,r=p;return f=p=ne,b=t,m=e.apply(r,n)}function o(e){return b=e,g=Sd(s,t),y?r(e):m}function i(e){var n=e-_,r=e-b,o=t-n;return v?Xc(o,h-r):o}function a(e){var n=e-_,r=e-b;return _===ne||n>=t||n<0||v&&r>=h}function s(){var e=of();return a(e)?u(e):void(g=Sd(s,i(e)))}function u(e){return g=ne,M&&f?r(e):(f=p=ne,m)}function l(){g!==ne&&Md(g),b=0,f=_=p=g=ne}function c(){return g===ne?m:u(of())}function d(){var e=of(),n=a(e);if(f=arguments,p=this,_=e,n){if(g===ne)return o(_);if(v)return Md(g),g=Sd(s,t),r(_)}return g===ne&&(g=Sd(s,t)),m}var f,p,h,m,g,_,b=0,y=!1,v=!1,M=!0;if(\"function\"!=typeof e)throw new cc(ae);return t=Cu(t)||0,ou(n)&&(y=!!n.leading,v=\"maxWait\"in n,h=v?Uc(Cu(n.maxWait)||0,t):h,M=\"trailing\"in n?!!n.trailing:M),d.cancel=l,d.flush=c,d}function Ns(e){return ui(e,Ce)}function ks(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new cc(ae);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(ks.Cache||ln),n}function Ds(e){if(\"function\"!=typeof e)throw new cc(ae);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function xs(e){return Ls(2,e)}function Is(e,t){if(\"function\"!=typeof e)throw new cc(ae);return t=t===ne?t:Au(t),no(e,t)}function zs(e,t){if(\"function\"!=typeof e)throw new cc(ae);return t=null==t?0:Uc(Au(t),0),no(function(n){var r=n[t],o=Eo(n,0,t);return r&&h(o,r),i(e,this,o)})}function Ps(e,t,n){var r=!0,o=!0;if(\"function\"!=typeof e)throw new cc(ae);return ou(n)&&(r=\"leading\"in n?!!n.leading:r,o=\"trailing\"in n?!!n.trailing:o),Ss(e,t,{leading:r,maxWait:t,trailing:o})}function js(e){return Es(e,1)}function Bs(e,t){return df(wo(t),e)}function Fs(){if(!arguments.length)return[];var e=arguments[0];return _f(e)?e:[e]}function Rs(e){return jn(e,fe)}function Ws(e,t){return t=\"function\"==typeof t?t:ne,jn(e,fe,t)}function Ys(e){return jn(e,ce|fe)}function Hs(e,t){return t=\"function\"==typeof t?t:ne,jn(e,ce|fe,t)}function qs(e,t){return null==t||Fn(e,t,Ru(t))}function Us(e,t){return e===t||e!==e&&t!==t}function Xs(e){return null!=e&&ru(e.length)&&!tu(e)}function Vs(e){return iu(e)&&Xs(e)}function Gs(e){return e===!0||e===!1||iu(e)&&ur(e)==He}function $s(e){return iu(e)&&1===e.nodeType&&!pu(e)}function Ks(e){if(null==e)return!0;if(Xs(e)&&(_f(e)||\"string\"==typeof e||\"function\"==typeof e.splice||yf(e)||Cf(e)||gf(e)))return!e.length;var t=Ld(e);if(t==$e||t==nt)return!e.size;if(Fi(e))return!Br(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Qs(e,t){return Sr(e,t)}function Zs(e,t,n){n=\"function\"==typeof n?n:ne;var r=n?n(e,t):ne;return r===ne?Sr(e,t,ne,n):!!r}function Js(e){if(!iu(e))return!1;var t=ur(e);return t==Xe||t==Ue||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!pu(e)}function eu(e){return\"number\"==typeof e&&Yc(e)}function tu(e){if(!ou(e))return!1;var t=ur(e);return t==Ve||t==Ge||t==Ye||t==et}function nu(e){return\"number\"==typeof e&&e==Au(e)}function ru(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=xe}function ou(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function iu(e){return null!=e&&\"object\"==typeof e}function au(e,t){return e===t||Dr(e,t,Ai(t))}function su(e,t,n){return n=\"function\"==typeof n?n:ne,Dr(e,t,Ai(t),n)}function uu(e){return fu(e)&&e!=+e}function lu(e){if(Td(e))throw new oc(ie);return xr(e)}function cu(e){return null===e}function du(e){return null==e}function fu(e){return\"number\"==typeof e||iu(e)&&ur(e)==Ke}function pu(e){if(!iu(e)||ur(e)!=Ze)return!1;var t=Tc(e);if(null===t)return!0;var n=gc.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&mc.call(n)==vc}function hu(e){return nu(e)&&e>=-xe&&e<=xe}function mu(e){return\"string\"==typeof e||!_f(e)&&iu(e)&&ur(e)==rt;\n}function gu(e){return\"symbol\"==typeof e||iu(e)&&ur(e)==ot}function _u(e){return e===ne}function bu(e){return iu(e)&&Ld(e)==at}function yu(e){return iu(e)&&ur(e)==st}function vu(e){if(!e)return[];if(Xs(e))return mu(e)?Z(e):Po(e);if(Dc&&e[Dc])return H(e[Dc]());var t=Ld(e),n=t==$e?q:t==nt?V:Ju;return n(e)}function Mu(e){if(!e)return 0===e?e:0;if(e=Cu(e),e===De||e===-De){var t=e<0?-1:1;return t*Ie}return e===e?e:0}function Au(e){var t=Mu(e),n=t%1;return t===t?n?t-n:t:0}function wu(e){return e?Pn(Au(e),0,Pe):0}function Cu(e){if(\"number\"==typeof e)return e;if(gu(e))return ze;if(ou(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=ou(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(It,\"\");var n=Ut.test(e);return n||Vt.test(e)?tr(e.slice(2),n?2:8):qt.test(e)?ze:+e}function Eu(e){return jo(e,Wu(e))}function Lu(e){return e?Pn(Au(e),-xe,xe):0===e?e:0}function Tu(e){return null==e?\"\":ho(e)}function Ou(e,t){var n=pd(e);return null==t?n:Dn(n,t)}function Su(e,t){return v(e,vi(t,3),Jn)}function Nu(e,t){return v(e,vi(t,3),nr)}function ku(e,t){return null==e?e:gd(e,vi(t,3),Wu)}function Du(e,t){return null==e?e:_d(e,vi(t,3),Wu)}function xu(e,t){return e&&Jn(e,vi(t,3))}function Iu(e,t){return e&&nr(e,vi(t,3))}function zu(e){return null==e?[]:rr(e,Ru(e))}function Pu(e){return null==e?[]:rr(e,Wu(e))}function ju(e,t,n){var r=null==e?ne:ir(e,t);return r===ne?n:r}function Bu(e,t){return null!=e&&Ti(e,t,gr)}function Fu(e,t){return null!=e&&Ti(e,t,vr)}function Ru(e){return Xs(e)?Cn(e):Br(e)}function Wu(e){return Xs(e)?Cn(e,!0):Fr(e)}function Yu(e,t){var n={};return t=vi(t,3),Jn(e,function(e,r,o){In(n,t(e,r,o),e)}),n}function Hu(e,t){var n={};return t=vi(t,3),Jn(e,function(e,r,o){In(n,r,t(e,r,o))}),n}function qu(e,t){return Uu(e,Ds(vi(t)))}function Uu(e,t){if(null==e)return{};var n=p(_i(e),function(e){return[e]});return t=vi(t),$r(e,n,function(e,n){return t(e,n[0])})}function Xu(e,t,n){t=Co(t,e);var r=-1,o=t.length;for(o||(o=1,e=ne);++r<o;){var i=null==e?ne:e[Ji(t[r])];i===ne&&(r=o,i=n),e=tu(i)?i.call(e):i}return e}function Vu(e,t,n){return null==e?e:io(e,t,n)}function Gu(e,t,n,r){return r=\"function\"==typeof r?r:ne,null==e?e:io(e,t,n,r)}function $u(e,t,n){var r=_f(e),o=r||yf(e)||Cf(e);if(t=vi(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:ou(e)&&tu(i)?pd(Tc(e)):{}}return(o?s:Jn)(e,function(e,r,o){return t(n,e,r,o)}),n}function Ku(e,t){return null==e||go(e,t)}function Qu(e,t,n){return null==e?e:_o(e,t,wo(n))}function Zu(e,t,n,r){return r=\"function\"==typeof r?r:ne,null==e?e:_o(e,t,wo(n),r)}function Ju(e){return null==e?[]:I(e,Ru(e))}function el(e){return null==e?[]:I(e,Wu(e))}function tl(e,t,n){return n===ne&&(n=t,t=ne),n!==ne&&(n=Cu(n),n=n===n?n:0),t!==ne&&(t=Cu(t),t=t===t?t:0),Pn(Cu(e),t,n)}function nl(e,t,n){return t=Mu(t),n===ne?(n=t,t=0):n=Mu(n),e=Cu(e),Ar(e,t,n)}function rl(e,t,n){if(n&&\"boolean\"!=typeof n&&Ii(e,t,n)&&(t=n=ne),n===ne&&(\"boolean\"==typeof t?(n=t,t=ne):\"boolean\"==typeof e&&(n=e,e=ne)),e===ne&&t===ne?(e=0,t=1):(e=Mu(e),t===ne?(t=e,e=0):t=Mu(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=$c();return Xc(e+o*(t-e+er(\"1e-\"+((o+\"\").length-1))),t)}return Jr(e,t)}function ol(e){return Kf(Tu(e).toLowerCase())}function il(e){return e=Tu(e),e&&e.replace($t,_r).replace(Wn,\"\")}function al(e,t,n){e=Tu(e),t=ho(t);var r=e.length;n=n===ne?r:Pn(Au(n),0,r);var o=n;return n-=t.length,n>=0&&e.slice(n,o)==t}function sl(e){return e=Tu(e),e&&Et.test(e)?e.replace(wt,br):e}function ul(e){return e=Tu(e),e&&xt.test(e)?e.replace(Dt,\"\\\\$&\"):e}function ll(e,t,n){e=Tu(e),t=Au(t);var r=t?Q(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return ti(Fc(o),n)+e+ti(Bc(o),n)}function cl(e,t,n){e=Tu(e),t=Au(t);var r=t?Q(e):0;return t&&r<t?e+ti(t-r,n):e}function dl(e,t,n){e=Tu(e),t=Au(t);var r=t?Q(e):0;return t&&r<t?ti(t-r,n)+e:e}function fl(e,t,n){return n||null==t?t=0:t&&(t=+t),Gc(Tu(e).replace(zt,\"\"),t||0)}function pl(e,t,n){return t=(n?Ii(e,t,n):t===ne)?1:Au(t),to(Tu(e),t)}function hl(){var e=arguments,t=Tu(e[0]);return e.length<3?t:t.replace(e[1],e[2])}function ml(e,t,n){return n&&\"number\"!=typeof n&&Ii(e,t,n)&&(t=n=ne),(n=n===ne?Pe:n>>>0)?(e=Tu(e),e&&(\"string\"==typeof t||null!=t&&!Af(t))&&(t=ho(t),!t&&W(e))?Eo(Z(e),0,n):e.split(t,n)):[]}function gl(e,t,n){return e=Tu(e),n=null==n?0:Pn(Au(n),0,e.length),t=ho(t),e.slice(n,n+t.length)==t}function _l(e,t,r){var o=n.templateSettings;r&&Ii(e,t,r)&&(t=ne),e=Tu(e),t=Sf({},t,o,li);var i,a,s=Sf({},t.imports,o.imports,li),u=Ru(s),l=I(s,u),c=0,d=t.interpolate||Kt,f=\"__p += '\",p=uc((t.escape||Kt).source+\"|\"+d.source+\"|\"+(d===Ot?Yt:Kt).source+\"|\"+(t.evaluate||Kt).source+\"|$\",\"g\"),h=\"//# sourceURL=\"+(gc.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/[\\r\\n]/g,\" \"):\"lodash.templateSources[\"+ ++Vn+\"]\")+\"\\n\";e.replace(p,function(t,n,r,o,s,u){return r||(r=o),f+=e.slice(c,u).replace(Qt,F),n&&(i=!0,f+=\"' +\\n__e(\"+n+\") +\\n'\"),s&&(a=!0,f+=\"';\\n\"+s+\";\\n__p += '\"),r&&(f+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=u+t.length,t}),f+=\"';\\n\";var m=gc.call(t,\"variable\")&&t.variable;m||(f=\"with (obj) {\\n\"+f+\"\\n}\\n\"),f=(a?f.replace(yt,\"\"):f).replace(vt,\"$1\").replace(Mt,\"$1;\"),f=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(i?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+f+\"return __p\\n}\";var g=Qf(function(){return ic(u,h+\"return \"+f).apply(ne,l)});if(g.source=f,Js(g))throw g;return g}function bl(e){return Tu(e).toLowerCase()}function yl(e){return Tu(e).toUpperCase()}function vl(e,t,n){if(e=Tu(e),e&&(n||t===ne))return e.replace(It,\"\");if(!e||!(t=ho(t)))return e;var r=Z(e),o=Z(t),i=P(r,o),a=j(r,o)+1;return Eo(r,i,a).join(\"\")}function Ml(e,t,n){if(e=Tu(e),e&&(n||t===ne))return e.replace(Pt,\"\");if(!e||!(t=ho(t)))return e;var r=Z(e),o=j(r,Z(t))+1;return Eo(r,0,o).join(\"\")}function Al(e,t,n){if(e=Tu(e),e&&(n||t===ne))return e.replace(zt,\"\");if(!e||!(t=ho(t)))return e;var r=Z(e),o=P(r,Z(t));return Eo(r,o).join(\"\")}function wl(e,t){var n=Ee,r=Le;if(ou(t)){var o=\"separator\"in t?t.separator:o;n=\"length\"in t?Au(t.length):n,r=\"omission\"in t?ho(t.omission):r}e=Tu(e);var i=e.length;if(W(e)){var a=Z(e);i=a.length}if(n>=i)return e;var s=n-Q(r);if(s<1)return r;var u=a?Eo(a,0,s).join(\"\"):e.slice(0,s);if(o===ne)return u+r;if(a&&(s+=u.length-s),Af(o)){if(e.slice(s).search(o)){var l,c=u;for(o.global||(o=uc(o.source,Tu(Ht.exec(o))+\"g\")),o.lastIndex=0;l=o.exec(c);)var d=l.index;u=u.slice(0,d===ne?s:d)}}else if(e.indexOf(ho(o),s)!=s){var f=u.lastIndexOf(o);f>-1&&(u=u.slice(0,f))}return u+r}function Cl(e){return e=Tu(e),e&&Ct.test(e)?e.replace(At,yr):e}function El(e,t,n){return e=Tu(e),t=n?ne:t,t===ne?Y(e)?te(e):y(e):e.match(t)||[]}function Ll(e){var t=null==e?0:e.length,n=vi();return e=t?p(e,function(e){if(\"function\"!=typeof e[1])throw new cc(ae);return[n(e[0]),e[1]]}):[],no(function(n){for(var r=-1;++r<t;){var o=e[r];if(i(o[0],this,n))return i(o[1],this,n)}})}function Tl(e){return Bn(jn(e,ce))}function Ol(e){return function(){return e}}function Sl(e,t){return null==e||e!==e?t:e}function Nl(e){return e}function kl(e){return jr(\"function\"==typeof e?e:jn(e,ce))}function Dl(e){return Yr(jn(e,ce))}function xl(e,t){return Hr(e,jn(t,ce))}function Il(e,t,n){var r=Ru(t),o=rr(t,r);null!=n||ou(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=rr(t,Ru(t)));var i=!(ou(n)&&\"chain\"in n&&!n.chain),a=tu(e);return s(o,function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__),o=n.__actions__=Po(this.__actions__);return o.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,h([this.value()],arguments))})}),e}function zl(){return or._===this&&(or._=Mc),this}function Pl(){}function jl(e){return e=Au(e),no(function(t){return Xr(t,e)})}function Bl(e){return zi(e)?L(Ji(e)):Kr(e)}function Fl(e){return function(t){return null==e?ne:ir(e,t)}}function Rl(){return[]}function Wl(){return!1}function Yl(){return{}}function Hl(){return\"\"}function ql(){return!0}function Ul(e,t){if(e=Au(e),e<1||e>xe)return[];var n=Pe,r=Xc(e,Pe);t=vi(t),e-=Pe;for(var o=k(r,t);++n<e;)t(n);return o}function Xl(e){return _f(e)?p(e,Ji):gu(e)?[e]:Po(kd(Tu(e)))}function Vl(e){var t=++_c;return Tu(e)+t}function Gl(e){return e&&e.length?Un(e,Nl,lr):ne}function $l(e,t){return e&&e.length?Un(e,vi(t,2),lr):ne}function Kl(e){return E(e,Nl)}function Ql(e,t){return E(e,vi(t,2))}function Zl(e){return e&&e.length?Un(e,Nl,Rr):ne}function Jl(e,t){return e&&e.length?Un(e,vi(t,2),Rr):ne}function ec(e){return e&&e.length?N(e,Nl):0}function tc(e,t){return e&&e.length?N(e,vi(t,2)):0}t=null==t?or:Mr.defaults(or.Object(),t,Mr.pick(or,Xn));var nc=t.Array,rc=t.Date,oc=t.Error,ic=t.Function,ac=t.Math,sc=t.Object,uc=t.RegExp,lc=t.String,cc=t.TypeError,dc=nc.prototype,fc=ic.prototype,pc=sc.prototype,hc=t[\"__core-js_shared__\"],mc=fc.toString,gc=pc.hasOwnProperty,_c=0,bc=function(){var e=/[^.]+$/.exec(hc&&hc.keys&&hc.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),yc=pc.toString,vc=mc.call(sc),Mc=or._,Ac=uc(\"^\"+mc.call(gc).replace(Dt,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),wc=sr?t.Buffer:ne,Cc=t.Symbol,Ec=t.Uint8Array,Lc=wc?wc.allocUnsafe:ne,Tc=U(sc.getPrototypeOf,sc),Oc=sc.create,Sc=pc.propertyIsEnumerable,Nc=dc.splice,kc=Cc?Cc.isConcatSpreadable:ne,Dc=Cc?Cc.iterator:ne,xc=Cc?Cc.toStringTag:ne,Ic=function(){try{var e=wi(sc,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),zc=t.clearTimeout!==or.clearTimeout&&t.clearTimeout,Pc=rc&&rc.now!==or.Date.now&&rc.now,jc=t.setTimeout!==or.setTimeout&&t.setTimeout,Bc=ac.ceil,Fc=ac.floor,Rc=sc.getOwnPropertySymbols,Wc=wc?wc.isBuffer:ne,Yc=t.isFinite,Hc=dc.join,qc=U(sc.keys,sc),Uc=ac.max,Xc=ac.min,Vc=rc.now,Gc=t.parseInt,$c=ac.random,Kc=dc.reverse,Qc=wi(t,\"DataView\"),Zc=wi(t,\"Map\"),Jc=wi(t,\"Promise\"),ed=wi(t,\"Set\"),td=wi(t,\"WeakMap\"),nd=wi(sc,\"create\"),rd=td&&new td,od={},id=ea(Qc),ad=ea(Zc),sd=ea(Jc),ud=ea(ed),ld=ea(td),cd=Cc?Cc.prototype:ne,dd=cd?cd.valueOf:ne,fd=cd?cd.toString:ne,pd=function(){function e(){}return function(t){if(!ou(t))return{};if(Oc)return Oc(t);e.prototype=t;var n=new e;return e.prototype=ne,n}}();n.templateSettings={escape:Lt,evaluate:Tt,interpolate:Ot,variable:\"\",imports:{_:n}},n.prototype=r.prototype,n.prototype.constructor=n,o.prototype=pd(r.prototype),o.prototype.constructor=o,b.prototype=pd(r.prototype),b.prototype.constructor=b,ee.prototype.clear=Rt,ee.prototype.delete=Zt,ee.prototype.get=Jt,ee.prototype.has=en,ee.prototype.set=tn,nn.prototype.clear=rn,nn.prototype.delete=on,nn.prototype.get=an,nn.prototype.has=sn,nn.prototype.set=un,ln.prototype.clear=cn,ln.prototype.delete=dn,ln.prototype.get=fn,ln.prototype.has=pn,ln.prototype.set=hn,mn.prototype.add=mn.prototype.push=gn,mn.prototype.has=_n,bn.prototype.clear=yn,bn.prototype.delete=vn,bn.prototype.get=Mn,bn.prototype.has=An,bn.prototype.set=wn;var hd=Yo(Jn),md=Yo(nr,!0),gd=Ho(),_d=Ho(!0),bd=rd?function(e,t){return rd.set(e,t),e}:Nl,yd=Ic?function(e,t){return Ic(e,\"toString\",{configurable:!0,enumerable:!1,value:Ol(t),writable:!0})}:Nl,vd=no,Md=zc||function(e){return or.clearTimeout(e)},Ad=ed&&1/V(new ed([,-0]))[1]==De?function(e){return new ed(e)}:Pl,wd=rd?function(e){return rd.get(e)}:Pl,Cd=Rc?function(e){return null==e?[]:(e=sc(e),c(Rc(e),function(t){return Sc.call(e,t)}))}:Rl,Ed=Rc?function(e){for(var t=[];e;)h(t,Cd(e)),e=Tc(e);return t}:Rl,Ld=ur;(Qc&&Ld(new Qc(new ArrayBuffer(1)))!=lt||Zc&&Ld(new Zc)!=$e||Jc&&Ld(Jc.resolve())!=Je||ed&&Ld(new ed)!=nt||td&&Ld(new td)!=at)&&(Ld=function(e){var t=ur(e),n=t==Ze?e.constructor:ne,r=n?ea(n):\"\";if(r)switch(r){case id:return lt;case ad:return $e;case sd:return Je;case ud:return nt;case ld:return at}return t});var Td=hc?tu:Wl,Od=Qi(bd),Sd=jc||function(e,t){return or.setTimeout(e,t)},Nd=Qi(yd),kd=Yi(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(kt,function(e,n,r,o){t.push(r?o.replace(Wt,\"$1\"):n||e)}),t}),Dd=no(function(e,t){return Vs(e)?Hn(e,Zn(t,1,Vs,!0)):[]}),xd=no(function(e,t){var n=Ma(t);return Vs(n)&&(n=ne),Vs(e)?Hn(e,Zn(t,1,Vs,!0),vi(n,2)):[]}),Id=no(function(e,t){var n=Ma(t);return Vs(n)&&(n=ne),Vs(e)?Hn(e,Zn(t,1,Vs,!0),ne,n):[]}),zd=no(function(e){var t=p(e,Ao);return t.length&&t[0]===e[0]?wr(t):[]}),Pd=no(function(e){var t=Ma(e),n=p(e,Ao);return t===Ma(n)?t=ne:n.pop(),n.length&&n[0]===e[0]?wr(n,vi(t,2)):[]}),jd=no(function(e){var t=Ma(e),n=p(e,Ao);return t=\"function\"==typeof t?t:ne,t&&n.pop(),n.length&&n[0]===e[0]?wr(n,ne,t):[]}),Bd=no(Ca),Fd=mi(function(e,t){var n=null==e?0:e.length,r=zn(e,t);return Zr(e,p(t,function(e){return xi(e,n)?+e:e}).sort(Do)),r}),Rd=no(function(e){return mo(Zn(e,1,Vs,!0))}),Wd=no(function(e){var t=Ma(e);return Vs(t)&&(t=ne),mo(Zn(e,1,Vs,!0),vi(t,2))}),Yd=no(function(e){var t=Ma(e);return t=\"function\"==typeof t?t:ne,mo(Zn(e,1,Vs,!0),ne,t)}),Hd=no(function(e,t){return Vs(e)?Hn(e,t):[]}),qd=no(function(e){return vo(c(e,Vs))}),Ud=no(function(e){var t=Ma(e);return Vs(t)&&(t=ne),vo(c(e,Vs),vi(t,2))}),Xd=no(function(e){var t=Ma(e);return t=\"function\"==typeof t?t:ne,vo(c(e,Vs),ne,t)}),Vd=no(Xa),Gd=no(function(e){var t=e.length,n=t>1?e[t-1]:ne;return n=\"function\"==typeof n?(e.pop(),n):ne,Va(e,n)}),$d=mi(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return zn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof b&&xi(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:Za,args:[i],thisArg:ne}),new o(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ne),e})):this.thru(i)}),Kd=Ro(function(e,t,n){gc.call(e,n)?++e[n]:In(e,n,1)}),Qd=$o(da),Zd=$o(fa),Jd=Ro(function(e,t,n){gc.call(e,n)?e[n].push(t):In(e,n,[t])}),ef=no(function(e,t,n){var r=-1,o=\"function\"==typeof t,a=Xs(e)?nc(e.length):[];return hd(e,function(e){a[++r]=o?i(t,e,n):Er(e,t,n)}),a}),tf=Ro(function(e,t,n){In(e,n,t)}),nf=Ro(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),rf=no(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Ii(e,t[0],t[1])?t=[]:n>2&&Ii(t[0],t[1],t[2])&&(t=[t[0]]),Vr(e,Zn(t,1),[])}),of=Pc||function(){return or.Date.now()},af=no(function(e,t,n){var r=me;if(n.length){var o=X(n,yi(af));r|=ve}return ui(e,r,t,n,o)}),sf=no(function(e,t,n){var r=me|ge;if(n.length){var o=X(n,yi(sf));r|=ve}return ui(t,r,e,n,o)}),uf=no(function(e,t){return Yn(e,1,t)}),lf=no(function(e,t,n){return Yn(e,Cu(t)||0,n)});ks.Cache=ln;var cf=vd(function(e,t){t=1==t.length&&_f(t[0])?p(t[0],x(vi())):p(Zn(t,1),x(vi()));var n=t.length;return no(function(r){for(var o=-1,a=Xc(r.length,n);++o<a;)r[o]=t[o].call(this,r[o]);return i(e,this,r)})}),df=no(function(e,t){var n=X(t,yi(df));return ui(e,ve,ne,t,n)}),ff=no(function(e,t){var n=X(t,yi(ff));return ui(e,Me,ne,t,n)}),pf=mi(function(e,t){return ui(e,we,ne,ne,ne,t)}),hf=oi(lr),mf=oi(function(e,t){return e>=t}),gf=Lr(function(){return arguments}())?Lr:function(e){return iu(e)&&gc.call(e,\"callee\")&&!Sc.call(e,\"callee\")},_f=nc.isArray,bf=cr?x(cr):Tr,yf=Wc||Wl,vf=dr?x(dr):Or,Mf=fr?x(fr):kr,Af=pr?x(pr):Ir,wf=hr?x(hr):zr,Cf=mr?x(mr):Pr,Ef=oi(Rr),Lf=oi(function(e,t){return e<=t}),Tf=Wo(function(e,t){if(Fi(t)||Xs(t))return void jo(t,Ru(t),e);for(var n in t)gc.call(t,n)&&Sn(e,n,t[n])}),Of=Wo(function(e,t){jo(t,Wu(t),e)}),Sf=Wo(function(e,t,n,r){jo(t,Wu(t),e,r)}),Nf=Wo(function(e,t,n,r){jo(t,Ru(t),e,r)}),kf=mi(zn),Df=no(function(e,t){e=sc(e);var n=-1,r=t.length,o=r>2?t[2]:ne;for(o&&Ii(t[0],t[1],o)&&(r=1);++n<r;)for(var i=t[n],a=Wu(i),s=-1,u=a.length;++s<u;){var l=a[s],c=e[l];(c===ne||Us(c,pc[l])&&!gc.call(e,l))&&(e[l]=i[l])}return e}),xf=no(function(e){return e.push(ne,ci),i(Bf,ne,e)}),If=Zo(function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=yc.call(t)),e[t]=n},Ol(Nl)),zf=Zo(function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=yc.call(t)),gc.call(e,t)?e[t].push(n):e[t]=[n]},vi),Pf=no(Er),jf=Wo(function(e,t,n){qr(e,t,n)}),Bf=Wo(function(e,t,n,r){qr(e,t,n,r)}),Ff=mi(function(e,t){var n={};if(null==e)return n;var r=!1;t=p(t,function(t){return t=Co(t,e),r||(r=t.length>1),t}),jo(e,_i(e),n),r&&(n=jn(n,ce|de|fe,di));for(var o=t.length;o--;)go(n,t[o]);return n}),Rf=mi(function(e,t){return null==e?{}:Gr(e,t)}),Wf=si(Ru),Yf=si(Wu),Hf=Xo(function(e,t,n){return t=t.toLowerCase(),e+(n?ol(t):t)}),qf=Xo(function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()}),Uf=Xo(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()}),Xf=Uo(\"toLowerCase\"),Vf=Xo(function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}),Gf=Xo(function(e,t,n){return e+(n?\" \":\"\")+Kf(t)}),$f=Xo(function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()}),Kf=Uo(\"toUpperCase\"),Qf=no(function(e,t){try{return i(e,ne,t)}catch(e){return Js(e)?e:new oc(e)}}),Zf=mi(function(e,t){return s(t,function(t){t=Ji(t),In(e,t,af(e[t],e))}),e}),Jf=Ko(),ep=Ko(!0),tp=no(function(e,t){return function(n){return Er(n,e,t)}}),np=no(function(e,t){return function(n){return Er(e,n,t)}}),rp=ei(p),op=ei(l),ip=ei(_),ap=ri(),sp=ri(!0),up=Jo(function(e,t){return e+t},0),lp=ai(\"ceil\"),cp=Jo(function(e,t){return e/t},1),dp=ai(\"floor\"),fp=Jo(function(e,t){return e*t},1),pp=ai(\"round\"),hp=Jo(function(e,t){return e-t},0);return n.after=Cs,n.ary=Es,n.assign=Tf,n.assignIn=Of,n.assignInWith=Sf,n.assignWith=Nf,n.at=kf,n.before=Ls,n.bind=af,n.bindAll=Zf,n.bindKey=sf,n.castArray=Fs,n.chain=Ka,n.chunk=ra,n.compact=oa,n.concat=ia,n.cond=Ll,n.conforms=Tl,n.constant=Ol,n.countBy=Kd,n.create=Ou,n.curry=Ts,n.curryRight=Os,n.debounce=Ss,n.defaults=Df,n.defaultsDeep=xf,n.defer=uf,n.delay=lf,n.difference=Dd,n.differenceBy=xd,n.differenceWith=Id,n.drop=aa,n.dropRight=sa,n.dropRightWhile=ua,n.dropWhile=la,n.fill=ca,n.filter=ss,n.flatMap=us,n.flatMapDeep=ls,n.flatMapDepth=cs,n.flatten=pa,n.flattenDeep=ha,n.flattenDepth=ma,n.flip=Ns,n.flow=Jf,n.flowRight=ep,n.fromPairs=ga,n.functions=zu,n.functionsIn=Pu,n.groupBy=Jd,n.initial=ya,n.intersection=zd,n.intersectionBy=Pd,n.intersectionWith=jd,n.invert=If,n.invertBy=zf,n.invokeMap=ef,n.iteratee=kl,n.keyBy=tf,n.keys=Ru,n.keysIn=Wu,n.map=hs,n.mapKeys=Yu,n.mapValues=Hu,n.matches=Dl,n.matchesProperty=xl,n.memoize=ks,n.merge=jf,n.mergeWith=Bf,n.method=tp,n.methodOf=np,n.mixin=Il,n.negate=Ds,n.nthArg=jl,n.omit=Ff,n.omitBy=qu,n.once=xs,n.orderBy=ms,n.over=rp,n.overArgs=cf,n.overEvery=op,n.overSome=ip,n.partial=df,n.partialRight=ff,n.partition=nf,n.pick=Rf,n.pickBy=Uu,n.property=Bl,n.propertyOf=Fl,n.pull=Bd,n.pullAll=Ca,n.pullAllBy=Ea,n.pullAllWith=La,n.pullAt=Fd,n.range=ap,n.rangeRight=sp,n.rearg=pf,n.reject=bs,n.remove=Ta,n.rest=Is,n.reverse=Oa,n.sampleSize=vs,n.set=Vu,n.setWith=Gu,n.shuffle=Ms,n.slice=Sa,n.sortBy=rf,n.sortedUniq=Pa,n.sortedUniqBy=ja,n.split=ml,n.spread=zs,n.tail=Ba,n.take=Fa,n.takeRight=Ra,n.takeRightWhile=Wa,n.takeWhile=Ya,n.tap=Qa,n.throttle=Ps,n.thru=Za,n.toArray=vu,n.toPairs=Wf,n.toPairsIn=Yf,n.toPath=Xl,n.toPlainObject=Eu,n.transform=$u,n.unary=js,n.union=Rd,n.unionBy=Wd,n.unionWith=Yd,n.uniq=Ha,n.uniqBy=qa,n.uniqWith=Ua,n.unset=Ku,n.unzip=Xa,n.unzipWith=Va,n.update=Qu,n.updateWith=Zu,n.values=Ju,n.valuesIn=el,n.without=Hd,n.words=El,n.wrap=Bs,n.xor=qd,n.xorBy=Ud,n.xorWith=Xd,n.zip=Vd,n.zipObject=Ga,n.zipObjectDeep=$a,n.zipWith=Gd,n.entries=Wf,n.entriesIn=Yf,n.extend=Of,n.extendWith=Sf,Il(n,n),n.add=up,n.attempt=Qf,n.camelCase=Hf,n.capitalize=ol,n.ceil=lp,n.clamp=tl,n.clone=Rs,n.cloneDeep=Ys,n.cloneDeepWith=Hs,n.cloneWith=Ws,n.conformsTo=qs,n.deburr=il,n.defaultTo=Sl,n.divide=cp,n.endsWith=al,n.eq=Us,n.escape=sl,n.escapeRegExp=ul,n.every=as,n.find=Qd,n.findIndex=da,n.findKey=Su,n.findLast=Zd,n.findLastIndex=fa,n.findLastKey=Nu,n.floor=dp,n.forEach=ds,n.forEachRight=fs,n.forIn=ku,n.forInRight=Du,n.forOwn=xu,n.forOwnRight=Iu,n.get=ju,n.gt=hf,n.gte=mf,n.has=Bu,n.hasIn=Fu,n.head=_a,n.identity=Nl,n.includes=ps,n.indexOf=ba,n.inRange=nl,n.invoke=Pf,n.isArguments=gf,n.isArray=_f,n.isArrayBuffer=bf,n.isArrayLike=Xs,n.isArrayLikeObject=Vs,n.isBoolean=Gs,n.isBuffer=yf,n.isDate=vf,n.isElement=$s,n.isEmpty=Ks,n.isEqual=Qs,n.isEqualWith=Zs,n.isError=Js,n.isFinite=eu,n.isFunction=tu,n.isInteger=nu,n.isLength=ru,n.isMap=Mf,n.isMatch=au,n.isMatchWith=su,n.isNaN=uu,n.isNative=lu,n.isNil=du,n.isNull=cu,n.isNumber=fu,n.isObject=ou,n.isObjectLike=iu,n.isPlainObject=pu,n.isRegExp=Af,n.isSafeInteger=hu,n.isSet=wf,n.isString=mu,n.isSymbol=gu,n.isTypedArray=Cf,n.isUndefined=_u,n.isWeakMap=bu,n.isWeakSet=yu,n.join=va,n.kebabCase=qf,n.last=Ma,n.lastIndexOf=Aa,n.lowerCase=Uf,n.lowerFirst=Xf,n.lt=Ef,n.lte=Lf,n.max=Gl,n.maxBy=$l,n.mean=Kl,n.meanBy=Ql,n.min=Zl,n.minBy=Jl,n.stubArray=Rl,n.stubFalse=Wl,n.stubObject=Yl,n.stubString=Hl,n.stubTrue=ql,n.multiply=fp,n.nth=wa,n.noConflict=zl,n.noop=Pl,n.now=of,n.pad=ll,n.padEnd=cl,n.padStart=dl,n.parseInt=fl,n.random=rl,n.reduce=gs,n.reduceRight=_s,n.repeat=pl,n.replace=hl,n.result=Xu,n.round=pp,n.runInContext=e,n.sample=ys,n.size=As,n.snakeCase=Vf,n.some=ws,n.sortedIndex=Na,n.sortedIndexBy=ka,n.sortedIndexOf=Da,n.sortedLastIndex=xa,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=za,n.startCase=Gf,n.startsWith=gl,n.subtract=hp,n.sum=ec,n.sumBy=tc,n.template=_l,n.times=Ul,n.toFinite=Mu,n.toInteger=Au,n.toLength=wu,n.toLower=bl,n.toNumber=Cu,n.toSafeInteger=Lu,n.toString=Tu,n.toUpper=yl,n.trim=vl,n.trimEnd=Ml,n.trimStart=Al,n.truncate=wl,n.unescape=Cl,n.uniqueId=Vl,n.upperCase=$f,n.upperFirst=Kf,n.each=ds,n.eachRight=fs,n.first=_a,Il(n,function(){var e={};return Jn(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION=re,s([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(e){n[e].placeholder=n}),s([\"drop\",\"take\"],function(e,t){b.prototype[e]=function(n){n=n===ne?1:Uc(Au(n),0);var r=this.__filtered__&&!t?new b(this):this.clone();return r.__filtered__?r.__takeCount__=Xc(n,r.__takeCount__):r.__views__.push({size:Xc(n,Pe),type:e+(r.__dir__<0?\"Right\":\"\")}),r},b.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}}),s([\"filter\",\"map\",\"takeWhile\"],function(e,t){var n=t+1,r=n==Se||n==ke;b.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:vi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),s([\"head\",\"last\"],function(e,t){var n=\"take\"+(t?\"Right\":\"\");b.prototype[e]=function(){return this[n](1).value()[0]}}),s([\"initial\",\"tail\"],function(e,t){var n=\"drop\"+(t?\"\":\"Right\");b.prototype[e]=function(){return this.__filtered__?new b(this):this[n](1)}}),b.prototype.compact=function(){return this.filter(Nl)},b.prototype.find=function(e){return this.filter(e).head()},b.prototype.findLast=function(e){return this.reverse().find(e)},b.prototype.invokeMap=no(function(e,t){return\"function\"==typeof e?new b(this):this.map(function(n){return Er(n,e,t)})}),b.prototype.reject=function(e){return this.filter(Ds(vi(e)))},b.prototype.slice=function(e,t){e=Au(e);var n=this;return n.__filtered__&&(e>0||t<0)?new b(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ne&&(t=Au(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},b.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},b.prototype.toArray=function(){return this.take(Pe)},Jn(b.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=n[i?\"take\"+(\"last\"==t?\"Right\":\"\"):t],s=i||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,u=i?[1]:arguments,l=t instanceof b,c=u[0],d=l||_f(t),f=function(e){var t=a.apply(n,h([e],u));return i&&p?t[0]:t};d&&r&&\"function\"==typeof c&&1!=c.length&&(l=d=!1);var p=this.__chain__,m=!!this.__actions__.length,g=s&&!p,_=l&&!m;if(!s&&d){t=_?t:new b(this);var y=e.apply(t,u);return y.__actions__.push({func:Za,args:[f],thisArg:ne}),new o(y,p)}return g&&_?e.apply(this,u):(y=this.thru(f),g?i?y.value()[0]:y.value():y)})}),s([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=dc[e],r=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",o=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(o&&!this.__chain__){var n=this.value();return t.apply(_f(n)?n:[],e)}return this[r](function(n){return t.apply(_f(n)?n:[],e)})}}),Jn(b.prototype,function(e,t){var r=n[t];if(r){var o=r.name+\"\";gc.call(od,o)||(od[o]=[]),od[o].push({name:t,func:r})}}),od[Qo(ne,ge).name]=[{name:\"wrapper\",func:ne}],b.prototype.clone=T,b.prototype.reverse=$,b.prototype.value=J,n.prototype.at=$d,n.prototype.chain=Ja,n.prototype.commit=es,n.prototype.next=ts,n.prototype.plant=rs,n.prototype.reverse=os,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=is,n.prototype.first=n.prototype.head,Dc&&(n.prototype[Dc]=ns),n},Mr=vr();or._=Mr,r=function(){return Mr}.call(t,n,t,o),!(r!==ne&&(o.exports=r))}).call(this)}).call(t,function(){return this}(),n(227)(e))},function(e,t){function n(e){if(\"string\"!=typeof e)throw new Error(\"Param is not a string\");var n=e.toLowerCase();switch(n){case\"l\":case\"low\":return t.L;case\"m\":case\"medium\":return t.M;case\"q\":case\"quartile\":return t.Q;case\"h\":case\"high\":return t.H;default:throw new Error(\"Unknown EC Level: \"+e)}}t.L={bit:1},t.M={bit:0},t.Q={bit:3},t.H={bit:2},t.isValid=function(e){return e&&\"undefined\"!=typeof e.bit&&e.bit>=0&&e.bit<4},t.from=function(e,r){if(t.isValid(e))return e;try{return n(e)}catch(e){return r}}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},function(e,t){\"use strict\";function n(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e===t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!0;var a={},s=void 0,u=void 0;for(s=0,u=n.length;s<u;s++)a[n[s]]=!0;for(s=0,u=o.length;s<u;s++){var l=o[s],c=e[l],d=t[l];if(c!==d){if(!a[l]||null===c||null===d||\"object\"!==(\"undefined\"==typeof c?\"undefined\":r(c))||\"object\"!==(\"undefined\"==typeof d?\"undefined\":r(d)))return!0;var f=Object.keys(c),p=Object.keys(d);if(f.length!==p.length)return!0;for(var h=0,m=f.length;h<m;h++){var g=f[h];if(c[g]!==d[g])return!0}}}return!1}Object.defineProperty(t,\"__esModule\",{value:!0});var 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};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){e.offsetHeight}function i(e,t){var n=t[\"offset\"+(0,T.default)(e)],r=N[e];return n+parseInt((0,y.default)(t,r[0]),10)+parseInt((0,y.default)(t,r[1]),10)}t.__esModule=!0;var a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(160),y=r(b),v=n(1),M=r(v),A=n(5),w=r(A),C=n(588),E=r(C),L=n(585),T=r(L),O=n(39),S=r(O),N={height:[\"marginTop\",\"marginBottom\"],width:[\"marginLeft\",\"marginRight\"]},k={in:w.default.bool,mountOnEnter:w.default.bool,unmountOnExit:w.default.bool,transitionAppear:w.default.bool,timeout:w.default.number,onEnter:w.default.func,onEntering:w.default.func,onEntered:w.default.func,onExit:w.default.func,onExiting:w.default.func,onExited:w.default.func,dimension:w.default.oneOfType([w.default.oneOf([\"height\",\"width\"]),w.default.func]),getDimensionValue:w.default.func,role:w.default.string},D={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,transitionAppear:!1,dimension:\"height\",getDimensionValue:i},x=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleEnter=o.handleEnter.bind(o),o.handleEntering=o.handleEntering.bind(o),o.handleEntered=o.handleEntered.bind(o),o.handleExit=o.handleExit.bind(o),o.handleExiting=o.handleExiting.bind(o),o}return(0,m.default)(t,e),t.prototype.handleEnter=function(e){var t=this._dimension();e.style[t]=\"0\"},t.prototype.handleEntering=function(e){var t=this._dimension();e.style[t]=this._getScrollDimensionValue(e,t)},t.prototype.handleEntered=function(e){var t=this._dimension();e.style[t]=null},t.prototype.handleExit=function(e){var t=this._dimension();e.style[t]=this.props.getDimensionValue(t,e)+\"px\",o(e)},t.prototype.handleExiting=function(e){var t=this._dimension();e.style[t]=\"0\"},t.prototype._dimension=function(){return\"function\"==typeof this.props.dimension?this.props.dimension():this.props.dimension},t.prototype._getScrollDimensionValue=function(e,t){return e[\"scroll\"+(0,T.default)(t)]+\"px\"},t.prototype.render=function(){var e=this.props,t=e.onEnter,n=e.onEntering,r=e.onEntered,o=e.onExit,i=e.onExiting,a=e.className,u=(0,l.default)(e,[\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"className\"]);delete u.dimension,delete u.getDimensionValue;var c=(0,S.default)(this.handleEnter,t),d=(0,S.default)(this.handleEntering,n),f=(0,S.default)(this.handleEntered,r),p=(0,S.default)(this.handleExit,o),h=(0,S.default)(this.handleExiting,i),m={width:\"width\"===this._dimension()};return M.default.createElement(E.default,(0,s.default)({},u,{\"aria-expanded\":u.role?u.in:null,className:(0,_.default)(a,m),exitedClassName:\"collapse\",exitingClassName:\"collapsing\",enteredClassName:\"collapse in\",enteringClassName:\"collapsing\",onEnter:c,onEntering:d,onEntered:f,onExit:p,onExiting:h}))},t}(M.default.Component);x.propTypes=k,x.defaultProps=D,t.default=x,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={glyph:y.default.string.isRequired},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.glyph,r=t.className,o=(0,s.default)(t,[\"glyph\",\"className\"]),a=(0,v.splitBsProps)(o),u=a[0],l=a[1],c=(0,i.default)({},(0,v.getClassSet)(u),(e={},e[(0,v.prefix)(u,n)]=!0,e));return _.default.createElement(\"span\",(0,i.default)({},l,{className:(0,m.default)(r,c)}))},t}(_.default.Component);A.propTypes=M,t.default=(0,v.bsClass)(\"glyphicon\",A),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(1438),M=r(v),A=n(1439),w=r(A),C=n(1440),E=r(C),L=n(1441),T=r(L),O=n(1442),S=r(O),N=n(1443),k=r(N),D=n(13),x={componentClass:y.default},I={componentClass:\"div\"},z=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,D.splitBsProps)(r),a=o[0],u=o[1],l=(0,D.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);z.propTypes=x,z.defaultProps=I,z.Heading=w.default,z.Body=M.default,z.Left=E.default,z.Right=k.default,z.List=T.default,z.ListItem=S.default,t.default=(0,D.bsClass)(\"media\",z),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(1),p=r(f),h=n(5),m=r(h),g=n(226),_=r(g),b=\"tab\",y=\"pane\",v=m.default.oneOfType([m.default.string,m.default.number]),M={id:function(e){var t=null;if(!e.generateChildId){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];t=v.apply(void 0,[e].concat(r)),t||e.id||(t=new Error(\"In order to properly initialize Tabs in a way that is accessible to assistive technologies (such as screen readers) an `id` or a `generateChildId` prop to TabContainer is required\"))}return t},generateChildId:m.default.func,onSelect:m.default.func,activeKey:m.default.any},A={$bs_tabContainer:m.default.shape({activeKey:m.default.any,onSelect:m.default.func.isRequired,getTabId:m.default.func.isRequired,getPaneId:m.default.func.isRequired})},w=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.activeKey,n=e.onSelect,r=e.generateChildId,o=e.id,i=r||function(e,t){return o?o+\"-\"+t+\"-\"+e:null};return{$bs_tabContainer:{activeKey:t,onSelect:n,getTabId:function(e){return i(e,b)},getPaneId:function(e){return i(e,y)}}}},t.prototype.render=function(){var e=this.props,t=e.children,n=(0,i.default)(e,[\"children\"]);return delete n.generateChildId,\ndelete n.onSelect,delete n.activeKey,p.default.cloneElement(p.default.Children.only(t),n)},t}(p.default.Component);w.propTypes=M,w.childContextTypes=A,t.default=(0,_.default)(w,{activeKey:\"onSelect\"}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w={componentClass:M.default,animation:y.default.oneOfType([y.default.bool,M.default]),mountOnEnter:y.default.bool,unmountOnExit:y.default.bool},C={componentClass:\"div\",animation:!0,mountOnEnter:!1,unmountOnExit:!1},E={$bs_tabContainer:y.default.shape({activeKey:y.default.any})},L={$bs_tabContent:y.default.shape({bsClass:y.default.string,animation:y.default.oneOfType([y.default.bool,M.default]),activeKey:y.default.any,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool,onPaneEnter:y.default.func.isRequired,onPaneExited:y.default.func.isRequired,exiting:y.default.bool.isRequired})},T=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handlePaneEnter=o.handlePaneEnter.bind(o),o.handlePaneExited=o.handlePaneExited.bind(o),o.state={activeKey:null,activeChild:null},o}return(0,p.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.bsClass,n=e.animation,r=e.mountOnEnter,o=e.unmountOnExit,i=this.state.activeKey,a=this.getContainerActiveKey(),s=null!=i?i:a,u=null!=i&&i!==a;return{$bs_tabContent:{bsClass:t,animation:n,activeKey:s,mountOnEnter:r,unmountOnExit:o,onPaneEnter:this.handlePaneEnter,onPaneExited:this.handlePaneExited,exiting:u}}},t.prototype.componentWillReceiveProps=function(e){!e.animation&&this.state.activeChild&&this.setState({activeKey:null,activeChild:null})},t.prototype.componentWillUnmount=function(){this.isUnmounted=!0},t.prototype.handlePaneEnter=function(e,t){return!!this.props.animation&&(t===this.getContainerActiveKey()&&(this.setState({activeKey:t,activeChild:e}),!0))},t.prototype.handlePaneExited=function(e){this.isUnmounted||this.setState(function(t){var n=t.activeChild;return n!==e?null:{activeKey:null,activeChild:null}})},t.prototype.getContainerActiveKey=function(){var e=this.context.$bs_tabContainer;return e&&e.activeKey},t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,A.splitBsPropsAndOmit)(r,[\"animation\",\"mountOnEnter\",\"unmountOnExit\"]),a=o[0],u=o[1];return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,(0,A.prefix)(a,\"content\"))}))},t}(_.default.Component);T.propTypes=w,T.defaultProps=C,T.contextTypes=E,T.childContextTypes=L,t.default=(0,A.bsClass)(\"tab\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return e=\"function\"==typeof e?e():e,a.default.findDOMNode(e)||t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(29),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(m(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=n(137),d=n(1487),f=(n(34),n(65),n(320)),p=n(218),h=n(609),m=f(function(e,t,n){e.insertBefore(t,n)}),g=d.dangerouslyReplaceNodeWithMarkup,_={dangerouslyReplaceNodeWithMarkup:g,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case\"INSERT_MARKUP\":o(e,s.content,r(e,s.afterNode));break;case\"MOVE_EXISTING\":i(e,s.fromNode,r(e,s.afterNode));break;case\"SET_MARKUP\":p(e,s.content);break;case\"TEXT_CONTENT\":h(e,s.content);break;case\"REMOVE_NODE\":a(e,s.fromNode)}}}};e.exports=_},function(e,t){\"use strict\";var n={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};e.exports=n},function(e,t,n){\"use strict\";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:a(\"96\",e),!l.plugins[n]){t.extractEvents?void 0:a(\"97\",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a(\"98\",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?a(\"99\",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]?a(\"100\",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(24),s=(n(17),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a(\"101\"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?a(\"102\",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},function(e,t,n){\"use strict\";function r(e){return\"topMouseUp\"===e||\"topTouchEnd\"===e||\"topTouchCancel\"===e}function o(e){return\"topMouseMove\"===e||\"topTouchMove\"===e}function i(e){return\"topMouseDown\"===e||\"topTouchStart\"===e}function a(e,t,n,r){var o=e.type||\"unknown-event\";e.currentTarget=_.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)a(e,t,n[o],r[o]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h(\"103\"):void 0,e.currentTarget=t?_.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function d(e){return!!e._dispatchListeners}var f,p,h=n(24),m=n(318),g=(n(17),n(20),{injectComponentTree:function(e){f=e},injectTreeTraversal:function(e){p=e}}),_={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:c,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:d,getInstanceFromNode:function(e){return f.getInstanceFromNode(e)},getNodeFromInstance:function(e){return f.getNodeFromInstance(e)},isAncestor:function(e,t){return p.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return p.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return p.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return p.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return p.traverseEnterLeave(e,t,n,r,o)},injection:g};e.exports=_},function(e,t){\"use strict\";function n(e){var t=/[=:]/g,n={\"=\":\"=0\",\":\":\"=2\"},r=(\"\"+e).replace(t,function(e){return n[e]});return\"$\"+r}function r(e){var t=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"},r=\".\"===e[0]&&\"$\"===e[1]?e.substring(2):e.substring(1);return(\"\"+r).replace(t,function(e){return n[e]})}var o={escape:n,unescape:r};e.exports=o},function(e,t,n){\"use strict\";function r(e){null!=e.checkedLink&&null!=e.valueLink?s(\"87\"):void 0}function o(e){r(e),null!=e.value||null!=e.onChange?s(\"88\"):void 0}function i(e){r(e),null!=e.checked||null!=e.onChange?s(\"89\"):void 0}function a(e){if(e){var t=e.getName();if(t)return\" Check the render method of `\"+t+\"`.\"}return\"\"}var s=n(24),u=n(1516),l=n(1546),c=n(143),d=l(c.isValidElement),f=(n(17),n(20),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),p={value:function(e,t,n){return!e[t]||f[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error(\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\")},onChange:d.func},h={},m={checkPropTypes:function(e,t,n){for(var r in p){if(p.hasOwnProperty(r))var o=p[r](t,r,e,\"prop\",null,u);if(o instanceof Error&&!(o.message in h)){h[o.message]=!0;a(n)}}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=m},function(e,t,n){\"use strict\";var r=n(24),o=(n(17),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o?r(\"104\"):void 0,i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};e.exports=i},function(e,t,n){\"use strict\";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};e.exports=i},function(e,t,n){\"use strict\";function r(e){u.enqueueUpdate(e)}function o(e){var t=typeof e;if(\"object\"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+\" (keys: \"+r.join(\", \")+\")\":n}function i(e,t){var n=s.get(e);if(!n){return null}return n}var a=n(24),s=(n(82),n(170)),u=(n(65),n(77)),l=(n(17),n(20),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,\"forceUpdate\");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,\"replaceState\");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,\"replaceState\"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,\"setState\");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&\"function\"!=typeof e?a(\"122\",t,o(e)):void 0}});e.exports=l},function(e,t){\"use strict\";var n=function(e){return\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};e.exports=n},function(e,t){\"use strict\";function n(e){var t,n=e.keyCode;return\"charCode\"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){\"use strict\";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function r(e){return n}var o={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};e.exports=r},function(e,t){\"use strict\";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){\"use strict\";function r(e,t){if(!i.canUseDOM||t&&!(\"addEventListener\"in document))return!1;var n=\"on\"+e,r=n in document;if(!r){var a=document.createElement(\"div\");a.setAttribute(n,\"return;\"),r=\"function\"==typeof a[n]}return!r&&o&&\"wheel\"===e&&(r=document.implementation.hasFeature(\"Events.wheel\",\"3.0\")),r}var o,i=n(46);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(\"\",\"\")!==!0),e.exports=r},function(e,t){\"use strict\";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,i=typeof t;return\"string\"===o||\"number\"===o?\"string\"===i||\"number\"===i:\"object\"===i&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){\"use strict\";var r=(n(28),n(63)),o=(n(20),r);e.exports=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(5),u=r(s),l=n(165),c=r(l),d=n(1),f=r(d),p=n(29),h=r(p),m=n(172),g=r(m),_=n(91),b=r(_),y=n(1559),v=r(y),M=function(e){function t(){var n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,e.call.apply(e,[this].concat(u))),r.setContainer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.props;r._portalContainerNode=(0,g.default)(e.container,(0,b.default)(r).body)},r.getMountNode=function(){return r._portalContainerNode},a=n,i(r,a)}return a(t,e),t.prototype.componentDidMount=function(){this.setContainer(),this.forceUpdate(this.props.onRendered)},t.prototype.componentWillReceiveProps=function(e){e.container!==this.props.container&&this.setContainer(e)},t.prototype.componentWillUnmount=function(){this._portalContainerNode=null},t.prototype.render=function(){return this.props.children&&this._portalContainerNode?h.default.createPortal(this.props.children,this._portalContainerNode):null},t}(f.default.Component);M.displayName=\"Portal\",M.propTypes={container:u.default.oneOfType([c.default,u.default.func]),onRendered:u.default.func},t.default=h.default.createPortal?M:v.default,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var a=e[t],u=\"undefined\"==typeof a?\"undefined\":i(a);return s.default.isValidElement(a)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement. You can usually obtain a ReactComponent or DOMElement from a ReactElement by attaching a ref to it.\"):\"object\"===u&&\"function\"==typeof a.render||1===a.nodeType?null:new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+a+\"` \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement.\")}t.__esModule=!0;var i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e},a=n(1),s=r(a),u=n(222),l=r(u);t.default=(0,l.default)(o)},function(e,t){\"use strict\";function n(e,t,n){function r(){return a=!0,s?void(l=[].concat(Array.prototype.slice.call(arguments))):void n.apply(this,arguments)}function o(){if(!a&&(u=!0,!s)){for(s=!0;!a&&i<e&&u;)u=!1,t.call(this,i++,o,r);return s=!1,a?void n.apply(this,l):void(i>=e&&u&&(a=!0,n()))}}var i=0,a=!1,s=!1,u=!1,l=void 0;o()}function r(e,t,n){function r(e,t,r){a||(t?(a=!0,n(t)):(i[e]=r,a=++s===o,a&&n(null,i)))}var o=e.length,i=[];if(0===o)return n(null,i);var a=!1,s=0;e.forEach(function(e,n){t(e,n,function(e,t){r(n,e,t)})})}t.__esModule=!0,t.loopAsync=n,t.mapAsync=r},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.router=t.routes=t.route=t.components=t.component=t.location=t.history=t.falsy=t.locationShape=t.routerShape=void 0;var i=n(1),a=n(224),s=(o(a),n(113)),u=r(s),l=n(42),c=(o(l),i.PropTypes.func),d=i.PropTypes.object,f=i.PropTypes.shape,p=i.PropTypes.string,h=t.routerShape=f({push:c.isRequired,replace:c.isRequired,go:c.isRequired,goBack:c.isRequired,goForward:c.isRequired,setRouteLeaveHook:c.isRequired,isActive:c.isRequired}),m=t.locationShape=f({pathname:p.isRequired,search:p.isRequired,state:d,action:p.isRequired,key:p}),g=t.falsy=u.falsy,_=t.history=u.history,b=t.location=m,y=t.component=u.component,v=t.components=u.components,M=t.route=u.route,A=(t.routes=u.routes,t.router=h),w={falsy:g,history:_,location:b,component:y,components:v,route:M,router:A};t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!0;return!1}function i(e,t){function n(t){var n=!(arguments.length<=1||void 0===arguments[1])&&arguments[1],r=arguments.length<=2||void 0===arguments[2]?null:arguments[2],o=void 0;return n&&n!==!0||null!==r?(t={pathname:t,query:n},o=r||!1):(t=e.createLocation(t),o=n),(0,p.default)(t,o,M.location,M.routes,M.params)}function r(t){return e.createLocation(t,u.REPLACE)}function i(e,n){A&&A.location===e?s(A,n):(0,_.default)(t,e,function(t,r){t?n(t):r?s(a({},r,{location:e}),n):n()})}function s(e,t){function n(n,r){return n||r?o(n,r):void(0,m.default)(e,function(n,r){n?t(n):t(null,null,M=a({},e,{components:r}))})}function o(e,n){e?t(e):t(null,r(n))}var i=(0,c.default)(M,e),s=i.leaveRoutes,u=i.changeRoutes,l=i.enterRoutes;(0,d.runLeaveHooks)(s,M),s.filter(function(e){return l.indexOf(e)===-1}).forEach(b),(0,d.runChangeHooks)(u,M,e,function(t,r){return t||r?o(t,r):void(0,d.runEnterHooks)(l,e,n)})}function l(e){var t=arguments.length<=1||void 0===arguments[1]||arguments[1];return e.__id__||t&&(e.__id__=w++)}function f(e){return e.reduce(function(e,t){return e.push.apply(e,C[l(t)]),e},[])}function h(e,n){(0,_.default)(t,e,function(t,r){if(null==r)return void n();A=a({},r,{location:e});for(var o=f((0,c.default)(M,A).leaveRoutes),i=void 0,s=0,u=o.length;null==i&&s<u;++s)i=o[s](e);n(i)})}function g(){if(M.routes){for(var e=f(M.routes),t=void 0,n=0,r=e.length;\"string\"!=typeof t&&n<r;++n)t=e[n]();return t}}function b(e){var t=l(e,!1);t&&(delete C[t],o(C)||(E&&(E(),E=null),L&&(L(),L=null)))}function y(t,n){var r=l(t),i=C[r];if(i)i.indexOf(n)===-1&&i.push(n);else{var a=!o(C);C[r]=[n],a&&(E=e.listenBefore(h),e.listenBeforeUnload&&(L=e.listenBeforeUnload(g)))}return function(){var e=C[r];if(e){var o=e.filter(function(e){return e!==n});0===o.length?b(t):C[r]=o}}}function v(t){return e.listen(function(n){M.location===n?t(null,M):i(n,function(n,r,o){n?t(n):r?e.transitionTo(r):o&&t(null,o)})})}var M={},A=void 0,w=1,C=Object.create(null),E=void 0,L=void 0;return{isActive:n,match:i,listenBeforeLeavingRoute:y,listen:v}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(42),u=(r(s),n(90)),l=n(1589),c=r(l),d=n(1586),f=n(1593),p=r(f),h=n(1590),m=r(h),g=n(1595),_=r(g);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}var o=n(145),i=n(333),a=(n(631),n(162));n(17),n(20);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e?o(\"85\"):void 0,this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,\"setState\")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,\"forceUpdate\")};e.exports=r},function(e,t,n){\"use strict\";function r(e,t){}var o=(n(20),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){r(e,\"forceUpdate\")},enqueueReplaceState:function(e,t){r(e,\"replaceState\")},enqueueSetState:function(e,t){r(e,\"setState\")}});e.exports=o},function(e,t){\"use strict\";t.__esModule=!0;t.ADD_ARRAY_VALUE=\"redux-form/ADD_ARRAY_VALUE\",t.AUTOFILL=\"redux-form/AUTOFILL\",t.BLUR=\"redux-form/BLUR\",t.CHANGE=\"redux-form/CHANGE\",t.DESTROY=\"redux-form/DESTROY\",t.FOCUS=\"redux-form/FOCUS\",t.INITIALIZE=\"redux-form/INITIALIZE\",t.REMOVE_ARRAY_VALUE=\"redux-form/REMOVE_ARRAY_VALUE\",t.RESET=\"redux-form/RESET\",t.START_ASYNC_VALIDATION=\"redux-form/START_ASYNC_VALIDATION\",t.START_SUBMIT=\"redux-form/START_SUBMIT\",t.STOP_ASYNC_VALIDATION=\"redux-form/STOP_ASYNC_VALIDATION\",t.STOP_SUBMIT=\"redux-form/STOP_SUBMIT\",t.SUBMIT_FAILED=\"redux-form/SUBMIT_FAILED\",t.SWAP_ARRAY_VALUES=\"redux-form/SWAP_ARRAY_VALUES\",t.TOUCH=\"redux-form/TOUCH\",t.UNTOUCH=\"redux-form/UNTOUCH\"},function(e,t){\"use strict\";function n(e,t){return e?Object.keys(e).reduce(function(n,o){var i;return r({},n,(i={},i[o]=t(e[o],o),i))},{}):e}t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.form,i=n.key,a=o(n,[\"form\",\"key\"]);if(!r)return t;if(i){var s,u;if(n.type===c.DESTROY){var d;return l({},t,(d={},d[r]=t[r]&&Object.keys(t[r]).reduce(function(e,n){var o;return n===i?e:l({},e,(o={},o[n]=t[r][n],o))},{}),d))}return l({},t,(u={},u[r]=l({},t[r],(s={},s[i]=x((t[r]||{})[i],a),s)),u))}return n.type===c.DESTROY?Object.keys(t).reduce(function(e,n){var o;return n===r?e:l({},e,(o={},o[n]=t[n],o))},{}):l({},t,(e={},e[r]=x(t[r],a),e))}function a(e){return e.plugin=function(e){var t=this;return a(function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t(n,r);return l({},o,(0,f.default)(e,function(e,t){return e(o[t]||k,r)}))})},e.normalize=function(e){var t=this;return a(function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t(n,r);return l({},o,(0,f.default)(e,function(e,t){var i=function(t,n){var r=(0,b.default)(l({},k,t)),o=l({},k,n),i=(0,b.default)(o);return(0,T.default)(e,o,t,i,r)};if(r.key){var a;return l({},o[t],(a={},a[r.key]=i(n[t][r.key],o[t][r.key]),a))}return i(n[t],o[t])}))})},e}t.__esModule=!0,t.initialState=t.globalErrorKey=void 0;var s,u,l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(334),d=n(335),f=r(d),p=n(644),h=r(p),m=n(645),g=r(m),_=n(641),b=r(_),y=n(642),v=r(y),M=n(1631),A=r(M),w=n(1632),C=r(w),E=n(146),L=n(1627),T=r(L),O=n(634),S=r(O),N=t.globalErrorKey=\"_error\",k=t.initialState=(s={_active:void 0,_asyncValidating:!1},s[N]=void 0,s._initialized=!1,s._submitting=!1,s._submitFailed=!1,s),D=(u={},u[c.ADD_ARRAY_VALUE]=function(e,t){var n=t.path,r=t.index,o=t.value,i=t.fields,a=(0,h.default)(n,e),s=l({},e),u=a?[].concat(a):[],c=null!==o&&\"object\"==typeof o?(0,v.default)(o,i||Object.keys(o)):(0,E.makeFieldValue)({value:o});return void 0===r?u.push(c):u.splice(r,0,c),(0,g.default)(n,u,s)},u[c.AUTOFILL]=function(e,t){var n=t.field,r=t.value;return(0,g.default)(n,function(e){var t=l({},e,{value:r,autofilled:!0}),n=(t.asyncError,t.submitError,o(t,[\"asyncError\",\"submitError\"]));return(0,E.makeFieldValue)(n)},e)},u[c.BLUR]=function(e,t){var n=t.field,r=t.value,i=t.touch,a=e._active,s=o(e,[\"_active\"]);return a&&a!==n&&(s._active=a),(0,g.default)(n,function(e){var t=l({},e);return void 0!==r&&(t.value=r),i&&(t.touched=!0),(0,E.makeFieldValue)(t)},s)},u[c.CHANGE]=function(e,t){var n=t.field,r=t.value,i=t.touch;return(0,g.default)(n,function(e){var t=l({},e,{value:r}),n=(t.asyncError,t.submitError,t.autofilled,o(t,[\"asyncError\",\"submitError\",\"autofilled\"]));return i&&(n.touched=!0),(0,E.makeFieldValue)(n)},e)},u[c.DESTROY]=function(){},u[c.FOCUS]=function(e,t){var n=t.field,r=(0,g.default)(n,function(e){return(0,E.makeFieldValue)(l({},e,{visited:!0}))},e);return r._active=n,r},u[c.INITIALIZE]=function(e,t){var n=t.data,r=t.fields,o=t.overwriteValues;return(0,S.default)(n,r,e,o)},u[c.REMOVE_ARRAY_VALUE]=function(e,t){var n=t.path,r=t.index,o=(0,h.default)(n,e),i=l({},e),a=o?[].concat(o):[];return void 0===r?a.pop():isNaN(r)?delete a[r]:a.splice(r,1),(0,g.default)(n,a,i)},u[c.RESET]=function(e){var t;return l({},(0,A.default)(e),(t={_active:void 0,_asyncValidating:!1},t[N]=void 0,t._initialized=e._initialized,t._submitting=!1,t._submitFailed=!1,t))},u[c.START_ASYNC_VALIDATION]=function(e,t){var n=t.field;return l({},e,{_asyncValidating:n||!0})},u[c.START_SUBMIT]=function(e){return l({},e,{_submitting:!0})},u[c.STOP_ASYNC_VALIDATION]=function(e,t){var n,r=t.errors;return l({},(0,C.default)(e,r,\"asyncError\"),(n={_asyncValidating:!1},n[N]=r&&r[N],n))},u[c.STOP_SUBMIT]=function(e,t){var n,r=t.errors;return l({},(0,C.default)(e,r,\"submitError\"),(n={},n[N]=r&&r[N],n._submitting=!1,n._submitFailed=!(!r||!Object.keys(r).length),n))},u[c.SUBMIT_FAILED]=function(e){return l({},e,{_submitFailed:!0})},u[c.SWAP_ARRAY_VALUES]=function(e,t){var n=t.path,r=t.indexA,o=t.indexB,i=(0,h.default)(n,e),a=i.length;if(r===o||isNaN(r)||isNaN(o)||r>=a||o>=a)return e;var s=l({},e),u=[].concat(i);return u[r]=i[o],u[o]=i[r],(0,g.default)(n,u,s)},u[c.TOUCH]=function(e,t){var n=t.fields;return l({},e,n.reduce(function(e,t){return(0,g.default)(t,function(e){return(0,E.makeFieldValue)(l({},e,{touched:!0}))},e)},e))},u[c.UNTOUCH]=function(e,t){var n=t.fields;return l({},e,n.reduce(function(e,t){return(0,g.default)(t,function(e){if(e){var t=(e.touched,o(e,[\"touched\"]));return(0,E.makeFieldValue)(t)}return(0,E.makeFieldValue)(e)},e)},e))},u),x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:k,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=D[t.type];return n?n(e,t):e};t.default=a(i)},function(e,t){\"use strict\";e.exports=!(\"undefined\"==typeof window||!window.document||!window.document.createElement)},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTggMTgiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcGF0aCk7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogIzIwMjUyZDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNzc0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNzc0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgMTE3KSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9ImNvcHkiIGNsYXNzPSJjbHMtMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC0xMTcpIj4KICAgIDxwYXRoIGlkPSJTdWJ0cmFjdGlvbl80NyIgZGF0YS1uYW1lPSJTdWJ0cmFjdGlvbiA0NyIgY2xhc3M9ImNscy0zIiBkPSJNLTQ3OTcuNiwyMDk2SC00ODA4di0xMC40aDEuM3Y5LjFoOS4xdjEuM1ptMi42LTIuNmgtMTAuNFYyMDgzaDYuNWwzLjksMy45NjV2Ni40MzRabS05LjEtOS4xdjcuOGg3Ljh2LTMuOWgtMy45di0zLjlabTUuMDUxLS4wNDN2Mi45MTZoMi43MjNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0ODcxLjUgLTE5NjMuNSkiLz4KICA8L2c+Cjwvc3ZnPgo=\"},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./coinbase.svg\":665,\"./crossIn.svg\":1688,\"./crossOut.svg\":1689,\"./fail.svg\":1690,\"./issue.svg\":1691,\"./received.svg\":1692,\"./retire.svg\":1693,\"./sent.svg\":1694,\"./success.svg\":1695,\"./veto.svg\":1696,\"./vote.svg\":1697};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=339},function(e,t){function n(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}e.exports=n},function(e,t,n){function r(e,t){if(null==e)return{};var n,r,i=o(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=n(672);e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.store=void 0,n(900);var o=n(1),i=r(o),a=n(29),s=n(679),u=r(s),l=n(680),c=r(l),d=n(4),f=n(872),p=r(f),h=n(1263),m=document.createElement(\"link\");m.type=\"image/png\",m.rel=\"shortcut icon\",m.href=h,document.getElementsByTagName(\"head\")[0].appendChild(m);var g=t.store=(0,c.default)();(0,a.render)(i.default.createElement(d.I18nextProvider,{i18n:p.default},i.default.createElement(u.default,{store:g})),document.getElementById(\"root\"))},[1708,699,709],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.navIcon=void 0;var o=n(1),i=r(o);t.navIcon=function(e,t){var r=!1,o=n(1705)(\"./\"+e+\".png\");try{r=n(1704)(\"./\"+e+\"-active.png\")}catch(e){}return i.default.createElement(\"span\",{className:t.iconWrapper},i.default.createElement(\"img\",{className:t.icon,src:o}),r&&i.default.createElement(\"img\",{className:t.activeIcon,src:r}))}},[1709,721,724],[1709,733,736],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.DetailSummary=t.List=void 0;var o=n(744),i=r(o),a=n(743),s=r(a);t.List=i.default,t.DetailSummary=s.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=n(14),a=n(41),s=\"key\",u=function(){return(0,i.chainClient)().mockHsm.keys},l=(0,o.baseListActions)(s,{className:\"Key\",clientApi:u}),c=(0,o.baseCreateActions)(s,{className:\"Key\",clientApi:u}),d=(0,o.baseUpdateActions)(s,{className:\"Key\",clientApi:u});c.submitForm=function(e){return function(t){return\"string\"==typeof e.alias&&(e.alias=e.alias.trim()),u().create(e).then(function(e){if(\"fail\"===e.status)throw e;t({type:\"NEW_KEY\",data:e.data.mnemonic}),t((0,a.push)(\"/keys/mnemonic\"))})}};var f={submitResetForm:function(e){var t=Promise.resolve();return function(n){return t.then(function(){return u().resetPassword(e).then(function(e){if(!e.data.changed)throw{code:\"F_BTM001\"};n({type:\"RESET_PASSWORD_\"+s.toUpperCase(),resp:e}),n((0,a.push)({pathname:\"/accounts\",state:{preserveFlash:!0}}))})})}}},p=function(e){return function(t){return u().checkPassword(e).then(function(e){if(\"fail\"===e.status)throw e;if(!e.data.checkResult)throw{code:\"F_BTM000\"};t({type:\"KEY_PASSWORD_SUCCESS\"})})}},h=function(e,t){return function(n){u().export(e).then(function(e){\nif(\"success\"==e.status){var r=e.data.privateKey,o=document.createElement(\"a\");o.setAttribute(\"href\",\"data:text/plain;charset=utf-8,\"+encodeURIComponent(r)),o.setAttribute(\"download\",t),o.style.display=\"none\",document.body.appendChild(o),o.click(),document.body.removeChild(o)}else\"fail\"==e.status&&n({type:\"ERROR\",payload:{message:e.msg}})})}},m=function(){return function(e){e(c.created()),e((0,a.push)(\"/keys\"))}};t.default=r({},c,l,d,f,{checkPassword:p,createExport:h,createSuccess:m})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.mapDispatchToProps=t.mapStateToProps=void 0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1207),f=r(d),p=n(1405),h=r(p),m=n(15),g=r(m),_=function(e){function t(){o(this,t);var e=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.state={suggestions:[]},e.getSuggestionValue=e.getSuggestionValue.bind(e),e.renderSuggestion=e.renderSuggestion.bind(e),e.onSuggestionsFetchRequested=e.onSuggestionsFetchRequested.bind(e),e.onSuggestionsClearRequested=e.onSuggestionsClearRequested.bind(e),e}return a(t,e),u(t,[{key:\"getSuggestions\",value:function(e){var t=e.trim().replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");if(\"\"===t)return[];var n=new RegExp(\"^\"+t,\"i\"),r=this.props.items.filter(function(e){return n.test(e.alias)});return r.sort(function(e,t){return e.alias.localeCompare(t.alias)}),r}},{key:\"getSuggestionValue\",value:function(e){return e.alias}},{key:\"renderSuggestion\",value:function(e){var t=this;return c.default.createElement(\"div\",{onMouseOver:function(){return t.props.fieldProps.onChange(e.alias)}},c.default.createElement(\"span\",null,e.alias))}},{key:\"onSuggestionsFetchRequested\",value:function(e){var t=this,n=e.value;this.props.autocompleteIsLoaded?this.setState({suggestions:this.getSuggestions(n)}):this.props.fetchAll().then(function(){t.setState({suggestions:t.getSuggestions(n)}),t.props.didLoadAutocomplete()})}},{key:\"onSuggestionsClearRequested\",value:function(){this.setState({suggestions:[]})}},{key:\"keyCheck\",value:function(e){var t=this.state.suggestions;if(t.length>0&&(9==e.keyCode||13==e.keyCode)){13==e.keyCode&&e.preventDefault();var n=t[0].alias,r=this.props.fieldProps.value.toLowerCase();n.toLowerCase().startsWith(r)&&this.props.fieldProps.onChange(n)}}},{key:\"render\",value:function(){var e=this,t=this.state.suggestions,n=this.props.fieldProps;return c.default.createElement(h.default,{theme:f.default,suggestions:t,onSuggestionsFetchRequested:this.onSuggestionsFetchRequested,onSuggestionsClearRequested:this.onSuggestionsClearRequested,onSuggestionSelected:function(e){return e.preventDefault()},getSuggestionValue:this.getSuggestionValue,renderSuggestion:this.renderSuggestion,focusFirstSuggestion:!0,inputProps:s({className:\"form-control \"+this.props.className},n,{value:n.value,placeholder:this.props.placeholder,disabled:this.props.disabled,onChange:function(e,t){var r=t.newValue;return n.onChange(r)},onKeyDown:function(t){return e.keyCheck(t)}})})}}]),t}(c.default.Component);t.default=_;t.mapStateToProps=function(e){return function(t){return{autocompleteIsLoaded:t[e].autocompleteIsLoaded,items:Object.keys(t[e].items).map(function(n){return t[e].items[n]})}}},t.mapDispatchToProps=function(e){return function(t){return{didLoadAutocomplete:function(){return t(g.default[e].didLoadAutocomplete)},fetchAll:function(){return t(g.default[e].fetchAll())}}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1216),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"label\",{className:d.default.main},this.props.children)}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(4),d=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:\"jumbotron text-center\"},l.default.createElement(\"h3\",null,\"404 \",e(\"notFound.title\")),l.default.createElement(\"p\",null,e(\"notFound.word\")))}}]),t}(l.default.Component);t.default=(0,c.withNamespaces)(\"translations\")(d)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.fetchTestnetInfo=void 0;var r=n(14),o=n(420)(),i=o.fetch,a=t.fetchTestnetInfo=function(){return function(e){return i(r.testnetInfoUrl).then(function(e){return e.json()}).then(function(t){return e({type:\"TESTNET_CONFIG\",data:t}),t})}},s={fetchTestnetInfo:a};t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.utils=t.reducers=t.actions=void 0;var o=n(352),i=r(o),a=n(831),s=r(a),u=n(832),l=r(u);t.actions=i.default,t.reducers=s.default,t.utils=l.default},[1708,861,865],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(230),i=n(10),a=n(685),s=r(a),u=n(175),l=n(231),c=n(232),d=n(346),f=n(176),p=n(233),h=n(234),m=n(180),g=n(178),_=n(238),b=n(235),y=n(345),v=n(177),M=function(e){return{path:\"/\",component:o.Container,childRoutes:[(0,s.default)(e),(0,u.routes)(e),(0,l.routes)(e),(0,c.routes)(e),d.routes,f.routes,(0,p.routes)(e),(0,v.routes)(e),h.routes,(0,m.routes)(e),(0,g.routes)(e),(0,_.routes)(e),(0,b.routes)(e),y.routes,{path:\"*\",component:i.NotFound}]}};t.default=M},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(45),s=function(){function e(){o(this,e),this.signers={}}return i(e,[{key:\"addKey\",value:function(e,t){var n=t.baseUrl+\"-\"+(t.token||\"noauth\"),r=this.signers[n];r||(r=this.signers[n]={connection:t,xpubs:[]}),r.xpubs.push(\"string\"==typeof e?e:e.xpub)}},{key:\"sign\",value:function(e,t){var n=this,r=Promise.resolve(e);if(0==Object.keys(this.signers).length)return a.tryCallback(r,t);var o=function(e){var t=n.signers[e];r=r.then(function(e){return t.connection.request(\"/sign-transaction\",{transactions:[e],xpubs:t.xpubs})}).then(function(e){return e[0]})};for(var i in this.signers)o(i);return a.tryCallback(r,t)}},{key:\"signBatch\",value:function(e,t){var n=this;e=e.filter(function(e){return null!=e});var o=Promise.resolve(e);if(0==Object.keys(this.signers).length)return a.tryCallback(o.then(function(){return new a.BatchResponse(e)}),t);var i=[].concat(r(Array(e.length).keys())),s=[],u=function(e){var t=[],r=[],u=n.signers[e];o=o.then(function(e){return u.connection.request(\"/sign-transaction\",{transactions:e,xpubs:u.xpubs}).then(function(e){var n=new a.BatchResponse(e);return n.successes.forEach(function(e,n){t.push(e),r.push(i[n])}),n.errors.forEach(function(e,t){s[i[t]]=e}),i=r,t})})};for(var l in this.signers)u(l);return a.tryCallback(o.then(function(e){var t=[];return e.forEach(function(e,n){t[i[n]]=e}),s.forEach(function(e,n){null!=e&&(t[n]=e)}),new a.BatchResponse(t)}),t)}}]),e}();e.exports=s},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.clear=function(){try{localStorage.clear()}catch(e){}},t.exportState=function(e){return function(){var t=e.getState(),n={core:{clientToken:(t.core||{}).clientToken,requireClientToken:(t.core||{}).requireClientToken,validToken:(t.core||{}).validToken,btmAmountUnit:t.core.btmAmountUnit,accountInit:t.core.accountInit},app:{navAdvancedState:t.app.navAdvancedState},account:{currentAccount:t.account.currentAccount},transaction:{generated:(t.transaction||{}).generated,pageIds:(t.transaction||{}).pageIds},tutorial:t.tutorial};try{localStorage.setItem(\"reduxState\",JSON.stringify(n))}catch(e){}}},t.importState=function(){var e=void 0;try{e=localStorage.getItem(\"reduxState\")}catch(e){}if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}},function(e,t){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.DeltaSampler=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.sampleTtl,o=void 0===r?6e4:r,i=t.maxSamples,a=void 0===i?30:i;n(this,e),this.sampleTtl=o,this.maxSamples=a,this.samples=[]}return r(e,[{key:\"sample\",value:function(e){return this.samples.push({value:e,time:Date.now()}),this.samples.length>this.maxSamples&&this.samples.shift(),this.average()}},{key:\"average\",value:function(){for(var e=Date.now()-this.sampleTtl,t=null,n=null,r=0;r<this.samples.length;r++){var o=this.samples[r];o.time<e||(null===t&&(t=o),n=o)}return t===n?NaN:1e3*(n.value-t.value)/(n.time-t.time)}}]),e}(),t.humanizeDuration=function(e){if(0==e)return\"0s\";var t=1,n=60*t,r=60*n,o=24*r,i=void 0,a=void 0,s=void 0,u=void 0;e>=o?(i=o,a=r,s=\"d\",u=\"h\"):e>=r?(i=r,a=n,s=\"h\",u=\"m\"):(i=n,a=t,s=\"m\",u=\"s\");var l=Math.floor(e/i),c=Math.round(e%i/a);if(c==i/a)return\"\"+(l+1)+s;var d=\"\"+l+s,f=\"\"+c+u;return l>9||0==c?d:0==l?f:d+\" \"+f}},function(e,t,n){e.exports={default:n(916),__esModule:!0}},function(e,t,n){e.exports={default:n(918),__esModule:!0}},function(e,t,n){(function(t){!function(){function e(e){var t=r;e&&(r[e]||(r[e]={}),t=r[e]),t.define&&t.define.packaged||(o.original=t.define,t.define=o,t.define.packaged=!0),t.acequire&&t.acequire.packaged||(a.original=t.acequire,t.acequire=a,t.acequire.packaged=!0)}var n=\"ace\",r=function(){return this}();if(r||\"undefined\"==typeof window||(r=window),n||\"undefined\"==typeof acequirejs){var o=function(e,n,r){return\"string\"!=typeof e?void(o.original?o.original.apply(this,arguments):(t.error(\"dropping module because define wasn't a string.\"),t.trace())):(2==arguments.length&&(r=n),void(o.modules[e]||(o.payloads[e]=r,o.modules[e]=null)))};o.modules={},o.payloads={};var i=function(e,t,n){if(\"string\"==typeof t){var r=u(e,t);if(void 0!=r)return n&&n(),r}else if(\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=[],i=0,s=t.length;i<s;++i){var l=u(e,t[i]);if(void 0==l&&a.original)return;o.push(l)}return n&&n.apply(null,o)||!0}},a=function(e,t){var n=i(\"\",e,t);return void 0==n&&a.original?a.original.apply(this,arguments):n},s=function(e,t){if(t.indexOf(\"!\")!==-1){var n=t.split(\"!\");return s(e,n[0])+\"!\"+s(e,n[1])}if(\".\"==t.charAt(0)){var r=e.split(\"/\").slice(0,-1).join(\"/\");for(t=r+\"/\"+t;t.indexOf(\".\")!==-1&&o!=t;){var o=t;t=t.replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return t},u=function(e,t){t=s(e,t);var n=o.modules[t];if(!n){if(n=o.payloads[t],\"function\"==typeof n){var r={},a={id:t,uri:\"\",exports:r,packaged:!0},u=function(e,n){return i(t,e,n)},l=n(u,r,a);r=l||a.exports,o.modules[t]=r,delete o.payloads[t]}n=o.modules[t]=r||n}return n};e(n)}}(),ace.define(\"ace/lib/regexp\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e){return(e.global?\"g\":\"\")+(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.extended?\"x\":\"\")+(e.sticky?\"y\":\"\")}function o(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},a=void 0===i.exec.call(/()??/,\"\")[1],s=function(){var e=/^/g;return i.test.call(e,\"\"),!e.lastIndex}();s&&a||(RegExp.prototype.exec=function(e){var t,n,u=i.exec.apply(this,arguments);if(\"string\"==typeof e&&u){if(!a&&u.length>1&&o(u,\"\")>-1&&(n=RegExp(this.source,i.replace.call(r(this),\"g\",\"\")),i.replace.call(e.slice(u.index),n,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(u[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var l=1;l<u.length;l++)t=this._xregexp.captureNames[l-1],t&&(u[t]=u[l]);!s&&this.global&&!u[0].length&&this.lastIndex>u.index&&this.lastIndex--}return u},s||(RegExp.prototype.test=function(e){var t=i.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(e,t,n){function r(){}function o(e){try{return Object.defineProperty(e,\"sentinel\",{}),\"sentinel\"in e}catch(e){}}function i(e){return e=+e,e!==e?e=0:0!==e&&e!==1/0&&e!==-(1/0)&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(\"function\"!=typeof t)throw new TypeError(\"Function.prototype.bind called on incompatible \"+t);var n=h.call(arguments,1),o=function(){if(this instanceof o){var r=t.apply(this,n.concat(h.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(h.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,o.prototype=new r,r.prototype=null),o});var a,s,u,l,c,d=Function.prototype.call,f=Array.prototype,p=Object.prototype,h=f.slice,m=d.bind(p.toString),g=d.bind(p.hasOwnProperty);if((c=g(p,\"__defineGetter__\"))&&(a=d.bind(p.__defineGetter__),s=d.bind(p.__defineSetter__),u=d.bind(p.__lookupGetter__),l=d.bind(p.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,n=[];if(n.splice.apply(n,e(20)),n.splice.apply(n,e(26)),t=n.length,n.splice(5,0,\"XXX\"),t+1==n.length,t+1==n.length)return!0}()){var _=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?_.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(h.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):void 0==e?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),o=h.call(arguments,2),i=o.length;if(e===n)i&&this.push.apply(this,o);else{var a=Math.min(t,n-e),s=e+a,u=s+i-a,l=n-s,c=n-a;if(u<s)for(var d=0;d<l;++d)this[u+d]=this[s+d];else if(u>s)for(d=l;d--;)this[u+d]=this[s+d];if(i&&e===c)this.length=c,this.push.apply(this,o);else for(this.length=c+i,d=0;d<i;++d)this[e+d]=o[d]}return r};Array.isArray||(Array.isArray=function(e){return\"[object Array]\"==m(e)});var b=Object(\"a\"),y=\"a\"!=b[0]||!(0 in b);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=arguments[1],o=-1,i=n.length>>>0;if(\"[object Function]\"!=m(e))throw new TypeError;for(;++o<i;)o in n&&e.call(r,n[o],o,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0,o=Array(r),i=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var a=0;a<r;a++)a in n&&(o[a]=e.call(i,n[a],a,t));return o}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,n=z(this),r=y&&\"[object String]\"==m(this)?this.split(\"\"):n,o=r.length>>>0,i=[],a=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var s=0;s<o;s++)s in r&&(t=r[s],e.call(a,t,s,n)&&i.push(t));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0,o=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var i=0;i<r;i++)if(i in n&&!e.call(o,n[i],i,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0,o=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var i=0;i<r;i++)if(i in n&&e.call(o,n[i],i,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0;if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");if(!r&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var o,i=0;if(arguments.length>=2)o=arguments[1];else for(;;){if(i in n){o=n[i++];break}if(++i>=r)throw new TypeError(\"reduce of empty array with no initial value\")}for(;i<r;i++)i in n&&(o=e.call(void 0,o,n[i],i,t));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0;if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");if(!r&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var o,i=r-1;if(arguments.length>=2)o=arguments[1];else for(;;){if(i in n){o=n[i--];break}if(--i<0)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(o=e.call(void 0,o,n[i],i,t));while(i--);return o}),Array.prototype.indexOf&&[0,1].indexOf(1,2)==-1||(Array.prototype.indexOf=function(e){var t=y&&\"[object String]\"==m(this)?this.split(\"\"):z(this),n=t.length>>>0;if(!n)return-1;var r=0;for(arguments.length>1&&(r=i(arguments[1])),r=r>=0?r:Math.max(0,n+r);r<n;r++)if(r in t&&t[r]===e)return r;return-1}),Array.prototype.lastIndexOf&&[0,1].lastIndexOf(0,-3)==-1||(Array.prototype.lastIndexOf=function(e){var t=y&&\"[object String]\"==m(this)?this.split(\"\"):z(this),n=t.length>>>0;if(!n)return-1;var r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:p)}),!Object.getOwnPropertyDescriptor){var v=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e||null===e)throw new TypeError(v+e);if(g(e,t)){var n,r,o;if(n={enumerable:!0,configurable:!0},c){var i=e.__proto__;e.__proto__=p;var r=u(e,t),o=l(e,t);if(e.__proto__=i,r||o)return r&&(n.get=r),o&&(n.set=o),n}return n.value=e[t],n}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),!Object.create){var M;M=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(null===e)n=M();else{if(\"object\"!=typeof e)throw new TypeError(\"typeof prototype[\"+typeof e+\"] != 'object'\");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var A=o({}),w=\"undefined\"==typeof document||o(document.createElement(\"div\"));if(!A||!w)var C=Object.defineProperty}if(!Object.defineProperty||C){var E=\"Property description must be an object: \",L=\"Object.defineProperty called on non-object: \",T=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(e,t,n){if(\"object\"!=typeof e&&\"function\"!=typeof e||null===e)throw new TypeError(L+e);if(\"object\"!=typeof n&&\"function\"!=typeof n||null===n)throw new TypeError(E+n);if(C)try{return C.call(Object,e,t,n)}catch(e){}if(g(n,\"value\"))if(c&&(u(e,t)||l(e,t))){var r=e.__proto__;e.__proto__=p,delete e[t],e[t]=n.value,e.__proto__=r}else e[t]=n.value;else{if(!c)throw new TypeError(T);g(n,\"get\")&&a(e,t,n.get),g(n,\"set\")&&s(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)g(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(e){Object.freeze=function(e){return function(t){return\"function\"==typeof t?t:e(t)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t=\"\";g(e,t);)t+=\"?\";e[t]=!0;var n=g(e,t);return delete e[t],n}),!Object.keys){var O=!0,S=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],N=S.length;for(var k in{toString:null})O=!1;Object.keys=function e(t){if(\"object\"!=typeof t&&\"function\"!=typeof t||null===t)throw new TypeError(\"Object.keys called on a non-object\");var e=[];for(var n in t)g(t,n)&&e.push(n);if(O)for(var r=0,o=N;r<o;r++){var i=S[r];g(t,i)&&e.push(i)}return e}}Date.now||(Date.now=function(){return(new Date).getTime()});var D=\"\\t\\n\\v\\f\\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\\u2028\\u2029\\ufeff\";if(!String.prototype.trim||D.trim()){D=\"[\"+D+\"]\";var x=new RegExp(\"^\"+D+D+\"*\"),I=new RegExp(D+D+\"*$\");String.prototype.trim=function(){return String(this).replace(x,\"\").replace(I,\"\")}}var z=function(e){if(null==e)throw new TypeError(\"can't convert \"+e+\" to object\");return Object(e)}}),ace.define(\"ace/lib/fixoldbrowsers\",[\"require\",\"exports\",\"module\",\"ace/lib/regexp\",\"ace/lib/es5-shim\"],function(e,t,n){\"use strict\";e(\"./regexp\"),e(\"./es5-shim\")}),ace.define(\"ace/lib/dom\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=\"http://www.w3.org/1999/xhtml\";return t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName(\"head\")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className+\"\").split(/\\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=\" \"+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\\s+/g);;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(\" \")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\\s+/g),r=!0;;){var o=n.indexOf(t);if(o==-1)break;r=!1,n.splice(o,1)}return r&&n.push(t),e.className=n.join(\" \"),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,r=0;if(t=t||document,t.createStyleSheet&&(n=t.styleSheets)){for(;r<n.length;)if(n[r++].owningElement.id===e)return!0}else if(n=t.getElementsByTagName(\"style\"))for(;r<n.length;)if(n[r++].id===e)return!0;return!1},t.importCssString=function(e,n,r){if(r=r||document,n&&t.hasCssString(n,r))return null;var o;n&&(e+=\"\\n/*# sourceURL=ace/css/\"+n+\" */\"),r.createStyleSheet?(o=r.createStyleSheet(),o.cssText=e,n&&(o.owningElement.id=n)):(o=t.createElement(\"style\"),o.appendChild(r.createTextNode(e)),n&&(o.id=n),t.getDocumentHead(r).appendChild(o))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement(\"link\");r.rel=\"stylesheet\",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,\"paddingLeft\"),10)+parseInt(t.computedStyle(e,\"paddingRight\"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,\"paddingTop\"),10)+parseInt(t.computedStyle(e,\"paddingBottom\"),10)+e.clientHeight},t.scrollbarWidth=function(e){var n=t.createElement(\"ace_inner\");n.style.width=\"100%\",n.style.minWidth=\"0px\",n.style.height=\"200px\",n.style.display=\"block\";var r=t.createElement(\"ace_outer\"),o=r.style;o.position=\"absolute\",o.left=\"-10000px\",o.overflow=\"hidden\",o.width=\"200px\",o.minWidth=\"0px\",o.height=\"150px\",o.display=\"block\",r.appendChild(n);var i=e.documentElement;i.appendChild(r);var a=n.offsetWidth;o.overflow=\"scroll\";var s=n.offsetWidth;return a==s&&(s=r.clientWidth),i.removeChild(r),a-s},\"undefined\"==typeof document?void(t.importCssString=function(){}):(void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,\"\")||{})[t]||\"\":window.getComputedStyle(e,\"\")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},\"textContent\"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),void(t.getParentWindow=function(e){return e.defaultView||e.parentWindow}))}),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define(\"ace/lib/keys\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\"],function(e,t,n){\"use strict\";e(\"./fixoldbrowsers\");var r=e(\"./oop\"),o=function(){var e,t,n={MODIFIER_KEYS:{16:\"Shift\",17:\"Ctrl\",18:\"Alt\",224:\"Meta\"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:\"Backspace\",9:\"Tab\",13:\"Return\",19:\"Pause\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"Print\",45:\"Insert\",46:\"Delete\",96:\"Numpad0\",97:\"Numpad1\",98:\"Numpad2\",99:\"Numpad3\",100:\"Numpad4\",101:\"Numpad5\",102:\"Numpad6\",103:\"Numpad7\",104:\"Numpad8\",105:\"Numpad9\",\"-13\":\"NumpadEnter\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"Numlock\",145:\"Scrolllock\"},PRINTABLE_KEYS:{32:\" \",48:\"0\",49:\"1\",50:\"2\",51:\"3\",52:\"4\",53:\"5\",54:\"6\",55:\"7\",56:\"8\",57:\"9\",59:\";\",61:\"=\",65:\"a\",66:\"b\",67:\"c\",68:\"d\",69:\"e\",70:\"f\",71:\"g\",72:\"h\",73:\"i\",74:\"j\",75:\"k\",76:\"l\",77:\"m\",78:\"n\",79:\"o\",80:\"p\",81:\"q\",82:\"r\",83:\"s\",84:\"t\",85:\"u\",86:\"v\",87:\"w\",88:\"x\",89:\"y\",90:\"z\",107:\"+\",109:\"-\",110:\".\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",111:\"/\",106:\"*\"}};for(t in n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);return r.mixin(n,n.MODIFIER_KEYS),r.mixin(n,n.PRINTABLE_KEYS),r.mixin(n,n.FUNCTION_KEYS),n.enter=n.return,n.escape=n.esc,n.del=n.delete,n[173]=\"-\",function(){for(var e=[\"cmd\",\"ctrl\",\"alt\",\"shift\"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter(function(e){return t&n.KEY_MODS[e]}).join(\"-\")+\"-\"}(),n.KEY_MODS[0]=\"\",n.KEY_MODS[-1]=\"input-\",n}();r.mixin(t,o),t.keyCodeToString=function(e){var t=o[e];return\"string\"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define(\"ace/lib/useragent\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";if(t.OS={LINUX:\"LINUX\",MAC:\"MAC\",WINDOWS:\"WINDOWS\"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},\"object\"==typeof navigator){var r=(navigator.platform.match(/mac|win|linux/i)||[\"other\"])[0].toLowerCase(),o=navigator.userAgent;t.isWin=\"win\"==r,t.isMac=\"mac\"==r,t.isLinux=\"linux\"==r,t.isIE=\"Microsoft Internet Explorer\"==navigator.appName||navigator.appName.indexOf(\"MSAppHost\")>=0?parseFloat((o.match(/(?:MSIE |Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1]):parseFloat((o.match(/(?:Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&\"Gecko\"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((o.match(/rv:(\\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&\"[object Opera]\"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(o.split(\"WebKit/\")[1])||void 0,t.isChrome=parseFloat(o.split(\" Chrome/\")[1])||void 0,t.isAIR=o.indexOf(\"AdobeAIR\")>=0,t.isIPad=o.indexOf(\"iPad\")>=0,t.isChromeOS=o.indexOf(\" CrOS \")>=0,t.isIOS=/iPad|iPhone|iPod/.test(o)&&!window.MSStream,t.isIOS&&(t.isMac=!0)}}),ace.define(\"ace/lib/event\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";function r(e,t,n){var r=l(t);if(!a.isMac&&s){if(t.getModifierState&&(t.getModifierState(\"OS\")||t.getModifierState(\"Win\"))&&(r|=8),s.altGr){if(3==(3&r))return;s.altGr=0}if(18===n||17===n){var o=\"location\"in t?t.location:t.keyLocation;if(17===n&&1===o)1==s[n]&&(u=t.timeStamp);else if(18===n&&3===r&&2===o){var c=t.timeStamp-u;c<50&&(s.altGr=!0)}}}if(n in i.MODIFIER_KEYS&&(n=-1),8&r&&n>=91&&n<=93&&(n=-1),!r&&13===n){var o=\"location\"in t?t.location:t.keyLocation;if(3===o&&(e(t,r,-n),t.defaultPrevented))return}if(a.isChromeOS&&8&r){if(e(t,r,n),t.defaultPrevented)return;r&=-9}return!!(r||n in i.FUNCTION_KEYS||n in i.PRINTABLE_KEYS)&&e(t,r,n)}function o(){s=Object.create(null)}var i=e(\"./keys\"),a=e(\"./useragent\"),s=null,u=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);\nif(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent(\"on\"+t,r)}},t.removeListener=function(e,t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):void(e.detachEvent&&e.detachEvent(\"on\"+t,n._wrapper||n))},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return\"dblclick\"==e.type?0:\"contextmenu\"==e.type||a.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function o(e){n&&n(e),r&&r(e),t.removeListener(document,\"mousemove\",n,!0),t.removeListener(document,\"mouseup\",o,!0),t.removeListener(document,\"dragstart\",o,!0)}return t.addListener(document,\"mousemove\",n,!0),t.addListener(document,\"mouseup\",o,!0),t.addListener(document,\"dragstart\",o,!0),o},t.addTouchMoveListener=function(e,n){var r,o;t.addListener(e,\"touchstart\",function(e){var t=e.touches,n=t[0];r=n.clientX,o=n.clientY}),t.addListener(e,\"touchmove\",function(e){var t=e.touches;if(!(t.length>1)){var i=t[0];e.wheelX=r-i.clientX,e.wheelY=o-i.clientY,r=i.clientX,o=i.clientY,n(e)}})},t.addMouseWheelListener=function(e,n){\"onmousewheel\"in e?t.addListener(e,\"mousewheel\",function(e){var t=8;void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):\"onwheel\"in e?t.addListener(e,\"wheel\",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}n(e)}):t.addListener(e,\"DOMMouseScroll\",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),n(e)})},t.addMultiMouseDownListener=function(e,n,r,o){function i(e){if(0!==t.getButton(e)?d=0:e.detail>1?(d++,d>4&&(d=1)):d=1,a.isIE){var i=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-l)>5;c&&!i||(d=1),c&&clearTimeout(c),c=setTimeout(function(){c=null},n[d-1]||600),1==d&&(u=e.clientX,l=e.clientY)}if(e._clicks=d,r[o](\"mousedown\",e),d>4)d=0;else if(d>1)return r[o](f[d],e)}function s(e){d=2,c&&clearTimeout(c),c=setTimeout(function(){c=null},n[d-1]||600),r[o](\"mousedown\",e),r[o](f[d],e)}var u,l,c,d=0,f={2:\"dblclick\",3:\"tripleclick\",4:\"quadclick\"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,\"mousedown\",i),a.isOldIE&&t.addListener(e,\"dblclick\",s)})};var l=!a.isMac||!a.isOpera||\"KeyboardEvent\"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};if(t.getModifierString=function(e){return i.KEY_MODS[l(e)]},t.addCommandKeyListener=function(e,n){var i=t.addListener;if(a.isOldGecko||a.isOpera&&!(\"KeyboardEvent\"in window)){var u=null;i(e,\"keydown\",function(e){u=e.keyCode}),i(e,\"keypress\",function(e){return r(n,e,u)})}else{var l=null;i(e,\"keydown\",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=r(n,e,e.keyCode);return l=e.defaultPrevented,t}),i(e,\"keypress\",function(e){l&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),l=null)}),i(e,\"keyup\",function(e){s[e.keyCode]=null}),s||(o(),i(window,\"focus\",o))}},\"object\"==typeof window&&window.postMessage&&!a.isOldIE){var c=1;t.nextTick=function(e,n){n=n||window;var r=\"zero-timeout-message-\"+c;t.addListener(n,\"message\",function o(i){i.data==r&&(t.stopPropagation(i),t.removeListener(n,\"message\",o),e())}),n.postMessage(r,\"*\")}}t.nextFrame=\"object\"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split(\"\").reverse().join(\"\")},t.stringRepeat=function(e,t){for(var n=\"\";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\\s\\s*/,o=/\\s\\s*$/;t.stringTrimLeft=function(e){return e.replace(r,\"\")},t.stringTrimRight=function(e){return e.replace(o,\"\")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]&&\"object\"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function e(t){if(\"object\"!=typeof t||!t)return t;var n;if(Array.isArray(t)){n=[];for(var r=0;r<t.length;r++)n[r]=e(t[r]);return n}if(\"[object Object]\"!==Object.prototype.toString.call(t))return t;n={};for(var r in t)n[r]=e(t[r]);return n},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},t.escapeHTML=function(e){return e.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\").replace(/</g,\"&#60;\")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},o=function(e){null==n&&(n=setTimeout(r,e||t))};return o.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},o.schedule=o,o.call=function(){this.cancel(),e()},o.cancel=function(){n&&clearTimeout(n),n=null},o.isPending=function(){return n},o}}),ace.define(\"ace/keyboard/textinput_ios\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/keys\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=e(\"../lib/dom\"),a=e(\"../lib/lang\"),s=e(\"../lib/keys\"),u=s.KEY_MODS,l=o.isChrome<18,c=o.isIE,d=function(e,t){function n(e){if(!b){if(b=!0,L)t=0,n=e?0:p.value.length-1;else var t=4,n=5;try{p.setSelectionRange(t,n)}catch(e){}b=!1}}function d(){b||(p.value=h,o.isWebKit&&w.schedule())}function f(){clearTimeout(F),F=setTimeout(function(){y&&(p.style.cssText=y,y=\"\"),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}var p=i.createElement(\"textarea\");p.className=o.isIOS?\"ace_text-input ace_text-input-ios\":\"ace_text-input\",o.isTouchPad&&p.setAttribute(\"x-palm-disable-auto-cap\",!0),p.setAttribute(\"wrap\",\"off\"),p.setAttribute(\"autocorrect\",\"off\"),p.setAttribute(\"autocapitalize\",\"off\"),p.setAttribute(\"spellcheck\",!1),p.style.opacity=\"0\",e.insertBefore(p,e.firstChild);var h=\"\\n aaaa a\\n\",m=!1,g=!1,_=!1,b=!1,y=\"\",v=!0;try{var M=document.activeElement===p}catch(e){}r.addListener(p,\"blur\",function(e){t.onBlur(e),M=!1}),r.addListener(p,\"focus\",function(e){M=!0,t.onFocus(e),n()}),this.focus=function(){return y?p.focus():(p.style.position=\"fixed\",void p.focus())},this.blur=function(){p.blur()},this.isFocused=function(){return M};var A=a.delayedCall(function(){M&&n(v)}),w=a.delayedCall(function(){b||(p.value=h,M&&n())});o.isWebKit||t.addEventListener(\"changeSelection\",function(){t.selection.isEmpty()!=v&&(v=!v,A.schedule())}),d(),M&&t.onFocus();var C=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length},E=function(e){C(p)?(t.selectAll(),n()):L&&n(t.selection.isEmpty())},L=null;this.setInputHandler=function(e){L=e},this.getInputHandler=function(){return L};var T=!1,O=function(e){4===p.selectionStart&&5===p.selectionEnd||(L&&(e=L(e),L=null),_?(n(),e&&t.onPaste(e),_=!1):e==h.substr(0)&&4===p.selectionStart?T?t.execCommand(\"del\",{source:\"ace\"}):t.execCommand(\"backspace\",{source:\"ace\"}):m||(e.substring(0,9)==h&&e.length>h.length?e=e.substr(9):e.substr(0,4)==h.substr(0,4)?e=e.substr(4,e.length-h.length+1):e.charAt(e.length-1)==h.charAt(0)&&(e=e.slice(0,-1)),e==h.charAt(0)||e.charAt(e.length-1)==h.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),m&&(m=!1),T&&(T=!1))},S=function(e){if(!b){var t=p.value;O(t),d()}},N=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!l){var o=c||n?\"Text\":\"text/plain\";try{return t?r.setData(o,t)!==!1:r.getData(o)}catch(e){if(!n)return N(e,t,!0)}}},k=function(e,i){var a=t.getCopyText();return a?void(N(e,a)?(o.isIOS&&(g=i,p.value=\"\\n aa\"+a+\"a a\\n\",p.setSelectionRange(4,4+a.length),m={value:a}),i?t.onCut():t.onCopy(),o.isIOS||r.preventDefault(e)):(m=!0,p.value=a,p.select(),setTimeout(function(){m=!1,d(),n(),i?t.onCut():t.onCopy()}))):r.preventDefault(e)},D=function(e){k(e,!0)},x=function(e){k(e,!1)},I=function(e){var i=N(e);\"string\"==typeof i?(i&&t.onPaste(i,e),o.isIE&&setTimeout(n),r.preventDefault(e)):(p.value=\"\",_=!0)};r.addCommandKeyListener(p,t.onCommandKey.bind(t)),r.addListener(p,\"select\",E),r.addListener(p,\"input\",S),r.addListener(p,\"cut\",D),r.addListener(p,\"copy\",x),r.addListener(p,\"paste\",I);var z=function(e){b||!t.onCompositionStart||t.$readOnly||(b={},b.canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(P,0),t.on(\"mousedown\",j),b.canUndo&&!t.selection.isEmpty()&&(t.insert(\"\"),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},P=function(){if(b&&t.onCompositionUpdate&&!t.$readOnly){var e=p.value.replace(/\\x01/g,\"\");if(b.lastValue!==e&&(t.onCompositionUpdate(e),b.lastValue&&t.undo(),b.canUndo&&(b.lastValue=e),b.lastValue)){var n=t.selection.getRange();t.insert(b.lastValue),t.session.markUndoGroup(),b.range=t.selection.getRange(),t.selection.setRange(n),t.selection.clearSelection()}}},j=function(e){if(t.onCompositionEnd&&!t.$readOnly){var n=b;b=!1;var r=setTimeout(function(){r=null;var e=p.value.replace(/\\x01/g,\"\");b||(e==n.lastValue?d():!n.lastValue&&e&&(d(),O(e)))});L=function(e){return r&&clearTimeout(r),e=e.replace(/\\x01/g,\"\"),e==n.lastValue?\"\":(n.lastValue&&r&&t.undo(),e)},t.onCompositionEnd(),t.removeListener(\"mousedown\",j),\"compositionend\"==e.type&&n.range&&t.selection.setRange(n.range);var i=!!o.isChrome&&o.isChrome>=53||!!o.isWebKit&&o.isWebKit>=603;i&&S()}},B=a.delayedCall(P,50);r.addListener(p,\"compositionstart\",z),o.isGecko?r.addListener(p,\"text\",function(){B.schedule()}):(r.addListener(p,\"keyup\",function(){B.schedule()}),r.addListener(p,\"keydown\",function(){B.schedule()})),r.addListener(p,\"compositionend\",j),this.getElement=function(){return p},this.setReadOnly=function(e){p.readOnly=e},this.onContextMenu=function(e){T=!0,n(t.selection.isEmpty()),t._emit(\"nativecontextmenu\",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,n){y||(y=p.style.cssText),p.style.cssText=(n?\"z-index:100000;\":\"\")+\"height:\"+p.style.height+\";\"+(o.isIE?\"opacity:0.1;\":\"\");var a=t.container.getBoundingClientRect(),s=i.computedStyle(t.container),u=a.top+(parseInt(s.borderTopWidth)||0),l=a.left+(parseInt(a.borderLeftWidth)||0),c=a.bottom-u-p.clientHeight-2,d=function(e){p.style.left=e.clientX-l-2+\"px\",p.style.top=Math.min(e.clientY-u-2,c)+\"px\"};d(e),\"mousedown\"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(F),o.isWin&&r.capture(t.container,d,f))},this.onContextMenuClose=f;var F,R=function(e){t.textInput.onContextMenu(e),f()};if(r.addListener(p,\"mouseup\",R),r.addListener(p,\"mousedown\",function(e){e.preventDefault(),f()}),r.addListener(t.renderer.scroller,\"contextmenu\",R),r.addListener(p,\"contextmenu\",R),o.isIOS){var W=null,Y=!1;e.addEventListener(\"keydown\",function(e){W&&clearTimeout(W),Y=!0}),e.addEventListener(\"keyup\",function(e){W=setTimeout(function(){Y=!1},100)});var H=function(e){if(document.activeElement===p&&!Y){if(g)return setTimeout(function(){g=!1},100);var n=p.selectionStart,r=p.selectionEnd;if(p.setSelectionRange(4,5),n==r)switch(n){case 0:t.onCommandKey(null,0,s.up);break;case 1:t.onCommandKey(null,0,s.home);break;case 2:t.onCommandKey(null,u.option,s.left);break;case 4:t.onCommandKey(null,0,s.left);break;case 5:t.onCommandKey(null,0,s.right);break;case 7:t.onCommandKey(null,u.option,s.right);break;case 8:t.onCommandKey(null,0,s.end);break;case 9:t.onCommandKey(null,0,s.down)}else{switch(r){case 6:t.onCommandKey(null,u.shift,s.right);break;case 7:t.onCommandKey(null,u.shift|u.option,s.right);break;case 8:t.onCommandKey(null,u.shift,s.end);break;case 9:t.onCommandKey(null,u.shift,s.down)}switch(n){case 0:t.onCommandKey(null,u.shift,s.up);break;case 1:t.onCommandKey(null,u.shift,s.home);break;case 2:t.onCommandKey(null,u.shift|u.option,s.left);break;case 3:t.onCommandKey(null,u.shift,s.left)}}}};document.addEventListener(\"selectionchange\",H),t.on(\"destroy\",function(){document.removeEventListener(\"selectionchange\",H)})}};t.TextInput=d}),ace.define(\"ace/keyboard/textinput\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/keyboard/textinput_ios\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=e(\"../lib/dom\"),a=e(\"../lib/lang\"),s=o.isChrome<18,u=o.isIE,l=e(\"./textinput_ios\").TextInput,c=function(e,t){function n(e){if(!g){if(g=!0,C)var t=0,n=e?0:f.value.length-1;else var t=e?2:1,n=2;try{f.setSelectionRange(t,n)}catch(e){}g=!1}}function c(){g||(f.value=p,o.isWebKit&&M.schedule())}function d(){clearTimeout(j),j=setTimeout(function(){_&&(f.style.cssText=_,_=\"\"),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}if(o.isIOS)return l.call(this,e,t);var f=i.createElement(\"textarea\");f.className=\"ace_text-input\",f.setAttribute(\"wrap\",\"off\"),f.setAttribute(\"autocorrect\",\"off\"),f.setAttribute(\"autocapitalize\",\"off\"),f.setAttribute(\"spellcheck\",!1),f.style.opacity=\"0\",e.insertBefore(f,e.firstChild);var p=\"\\u2028\\u2028\",h=!1,m=!1,g=!1,_=\"\",b=!0;try{var y=document.activeElement===f}catch(e){}r.addListener(f,\"blur\",function(e){t.onBlur(e),y=!1}),r.addListener(f,\"focus\",function(e){y=!0,t.onFocus(e),n()}),this.focus=function(){if(_)return f.focus();var e=f.style.top;f.style.position=\"fixed\",f.style.top=\"0px\",f.focus(),setTimeout(function(){f.style.position=\"\",\"0px\"==f.style.top&&(f.style.top=e)},0)},this.blur=function(){f.blur()},this.isFocused=function(){return y};var v=a.delayedCall(function(){y&&n(b)}),M=a.delayedCall(function(){g||(f.value=p,y&&n())});o.isWebKit||t.addEventListener(\"changeSelection\",function(){t.selection.isEmpty()!=b&&(b=!b,v.schedule())}),c(),y&&t.onFocus();var A=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length},w=function(e){h?h=!1:A(f)?(t.selectAll(),n()):C&&n(t.selection.isEmpty())},C=null;this.setInputHandler=function(e){C=e},this.getInputHandler=function(){return C};var E=!1,L=function(e){C&&(e=C(e),C=null),m?(n(),e&&t.onPaste(e),m=!1):e==p.charAt(0)?E?t.execCommand(\"del\",{source:\"ace\"}):t.execCommand(\"backspace\",{source:\"ace\"}):(e.substring(0,2)==p?e=e.substr(2):e.charAt(0)==p.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==p.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==p.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),E&&(E=!1)},T=function(e){if(!g){var t=f.value;L(t),c()}},O=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!s){var o=u||n?\"Text\":\"text/plain\";try{return t?r.setData(o,t)!==!1:r.getData(o)}catch(e){if(!n)return O(e,t,!0)}}},S=function(e,o){var i=t.getCopyText();return i?void(O(e,i)?(o?t.onCut():t.onCopy(),r.preventDefault(e)):(h=!0,f.value=i,f.select(),setTimeout(function(){h=!1,c(),n(),o?t.onCut():t.onCopy()}))):r.preventDefault(e)},N=function(e){S(e,!0)},k=function(e){S(e,!1)},D=function(e){var i=O(e);\"string\"==typeof i?(i&&t.onPaste(i,e),o.isIE&&setTimeout(n),r.preventDefault(e)):(f.value=\"\",m=!0)};r.addCommandKeyListener(f,t.onCommandKey.bind(t)),r.addListener(f,\"select\",w),r.addListener(f,\"input\",T),r.addListener(f,\"cut\",N),r.addListener(f,\"copy\",k),r.addListener(f,\"paste\",D),\"oncut\"in f&&\"oncopy\"in f&&\"onpaste\"in f||r.addListener(e,\"keydown\",function(e){if((!o.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:k(e);break;case 86:D(e);break;case 88:N(e)}});var x=function(e){g||!t.onCompositionStart||t.$readOnly||(g={},g.canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(I,0),t.on(\"mousedown\",z),g.canUndo&&!t.selection.isEmpty()&&(t.insert(\"\"),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},I=function(){if(g&&t.onCompositionUpdate&&!t.$readOnly){var e=f.value.replace(/\\u2028/g,\"\");if(g.lastValue!==e&&(t.onCompositionUpdate(e),g.lastValue&&t.undo(),g.canUndo&&(g.lastValue=e),g.lastValue)){var n=t.selection.getRange();t.insert(g.lastValue),t.session.markUndoGroup(),g.range=t.selection.getRange(),t.selection.setRange(n),t.selection.clearSelection()}}},z=function(e){if(t.onCompositionEnd&&!t.$readOnly){var n=g;g=!1;var r=setTimeout(function(){r=null;var e=f.value.replace(/\\u2028/g,\"\");g||(e==n.lastValue?c():!n.lastValue&&e&&(c(),L(e)))});C=function(e){return r&&clearTimeout(r),e=e.replace(/\\u2028/g,\"\"),e==n.lastValue?\"\":(n.lastValue&&r&&t.undo(),e)},t.onCompositionEnd(),t.removeListener(\"mousedown\",z),\"compositionend\"==e.type&&n.range&&t.selection.setRange(n.range);var i=!!o.isChrome&&o.isChrome>=53||!!o.isWebKit&&o.isWebKit>=603;i&&T()}},P=a.delayedCall(I,50);r.addListener(f,\"compositionstart\",x),o.isGecko?r.addListener(f,\"text\",function(){P.schedule()}):(r.addListener(f,\"keyup\",function(){P.schedule()}),r.addListener(f,\"keydown\",function(){P.schedule()})),r.addListener(f,\"compositionend\",z),this.getElement=function(){return f},this.setReadOnly=function(e){f.readOnly=e},this.onContextMenu=function(e){E=!0,n(t.selection.isEmpty()),t._emit(\"nativecontextmenu\",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,n){_||(_=f.style.cssText),f.style.cssText=(n?\"z-index:100000;\":\"\")+\"height:\"+f.style.height+\";\"+(o.isIE?\"opacity:0.1;\":\"\");var a=t.container.getBoundingClientRect(),s=i.computedStyle(t.container),u=a.top+(parseInt(s.borderTopWidth)||0),l=a.left+(parseInt(a.borderLeftWidth)||0),c=a.bottom-u-f.clientHeight-2,p=function(e){f.style.left=e.clientX-l-2+\"px\",f.style.top=Math.min(e.clientY-u-2,c)+\"px\"};p(e),\"mousedown\"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(j),o.isWin&&r.capture(t.container,p,d))},this.onContextMenuClose=d;var j,B=function(e){t.textInput.onContextMenu(e),d()};r.addListener(f,\"mouseup\",B),r.addListener(f,\"mousedown\",function(e){e.preventDefault(),d()}),r.addListener(t.renderer.scroller,\"contextmenu\",B),r.addListener(f,\"contextmenu\",B)};t.TextInput=c}),ace.define(\"ace/mouse/default_handlers\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";function r(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler(\"mousedown\",this.onMouseDown.bind(e)),t.setDefaultHandler(\"dblclick\",this.onDoubleClick.bind(e)),t.setDefaultHandler(\"tripleclick\",this.onTripleClick.bind(e)),t.setDefaultHandler(\"quadclick\",this.onQuadClick.bind(e)),t.setDefaultHandler(\"mousewheel\",this.onMouseWheel.bind(e)),t.setDefaultHandler(\"touchmove\",this.onTouchMove.bind(e));var n=[\"select\",\"startSelect\",\"selectEnd\",\"selectAllEnd\",\"selectByWordsEnd\",\"selectByLinesEnd\",\"dragWait\",\"dragWaitEnd\",\"focusWait\"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,\"getLineRange\"),e.selectByWords=this.extendSelectionBy.bind(e,\"getWordRange\")}function o(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function i(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)var n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var a=(e(\"../lib/dom\"),e(\"../lib/event\"),e(\"../lib/useragent\")),s=0,u=250;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,o=e.getButton();if(0!==o){var i=r.getSelectionRange(),s=i.isEmpty();return r.$blockScrolling++,(s||1==o)&&r.selection.moveToPosition(n),r.$blockScrolling--,void(2==o&&(r.textInput.onContextMenu(e.domEvent),a.isMozilla||e.preventDefault()))}return this.mousedownEvent.time=Date.now(),!t||r.isFocused()||(r.focus(),!this.$focusTimout||this.$clickSelection||r.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState(\"focusWait\"),void this.captureMouse(e))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle(\"ace_selecting\"),this.setState(\"select\"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(t.$blockScrolling++,this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(1==r)e=this.$clickSelection.start;else{var o=i(this.$clickSelection,n);n=o.cursor,e=o.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),o=n.selection[e](r.row,r.column);if(n.$blockScrolling++,this.$clickSelection){var a=this.$clickSelection.comparePoint(o.start),s=this.$clickSelection.comparePoint(o.end);if(a==-1&&s<=0)t=this.$clickSelection.end,o.end.row==r.row&&o.end.column==r.column||(r=o.start);else if(1==s&&a>=0)t=this.$clickSelection.start,o.start.row==r.row&&o.start.column==r.column||(r=o.end);else if(a==-1&&1==s)r=o.end,t=o.start;else{var u=i(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle(\"ace_selecting\"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>s||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,o=r.getBracketRange(t);o?(o.isEmpty()&&(o.start.column--,o.end.column++),this.setState(\"select\")):(o=n.selection.getWordRange(t.row,t.column),this.setState(\"selectByWords\")),this.$clickSelection=o,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState(\"selectByLines\");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState(\"selectAll\")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,o=r-n.t,i=e.wheelX/o,a=e.wheelY/o;o<u&&(i=(i+n.vx)/2,a=(a+n.vy)/2);var s=Math.abs(i/a),l=!1;if(s>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),s<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)n.allowed=r;else if(r-n.allowed<u){var c=Math.abs(i)<=1.1*Math.abs(n.vx)&&Math.abs(a)<=1.1*Math.abs(n.vy);c?(l=!0,n.allowed=r):n.allowed=0}return n.t=r,n.vx=i,n.vy=a,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit(\"mousewheel\",e)}}).call(r.prototype),t.DefaultHandlers=r}),ace.define(\"ace/tooltip\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";function r(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var o=(e(\"./lib/oop\"),e(\"./lib/dom\"));(function(){this.$init=function(){return this.$element=o.createElement(\"div\"),this.$element.className=\"ace_tooltip\",this.$element.style.display=\"none\",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){o.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+\"px\",this.getElement().style.top=t+\"px\"},this.setClassName=function(e){o.addCssClass(this.getElement(),e)},this.show=function(e,t,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display=\"block\",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display=\"none\",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(r.prototype),t.Tooltip=r}),ace.define(\"ace/mouse/default_gutter_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/event\",\"ace/tooltip\"],function(e,t,n){\"use strict\";function r(e){function t(){var t=d.getDocumentPosition().row,o=u.$annotations[t];if(!o)return n();var i=a.session.getLength();if(t==i){var s=a.renderer.pixelToScreenCoordinates(0,d.y).row,c=d.$pos;if(s>a.session.documentToScreenRow(c.row,c.column))return n()}if(f!=o)if(f=o.text.join(\"<br/>\"),l.setHtml(f),l.show(),a._signal(\"showGutterTooltip\",l),a.on(\"mousewheel\",n),e.$tooltipFollowsMouse)r(d);else{var p=d.domEvent.target,h=p.getBoundingClientRect(),m=l.getElement().style;m.left=h.right+\"px\",m.top=h.bottom+\"px\"}}function n(){c&&(c=clearTimeout(c)),f&&(l.hide(),f=null,a._signal(\"hideGutterTooltip\",l),a.removeEventListener(\"mousewheel\",n))}function r(e){l.setPosition(e.x,e.y)}var a=e.editor,u=a.renderer.$gutterLayer,l=new o(a.container);e.editor.setDefaultHandler(\"guttermousedown\",function(t){if(a.isFocused()&&0==t.getButton()){var n=u.getRegion(t);if(\"foldWidgets\"!=n){var r=t.getDocumentPosition().row,o=a.session.selection;if(t.getShiftKey())o.selectTo(r,0);else{if(2==t.domEvent.detail)return a.selectAll(),t.preventDefault();e.$clickSelection=a.selection.getLineRange(r)}return e.setState(\"selectByLines\"),e.captureMouse(t),t.preventDefault()}}});var c,d,f;e.editor.setDefaultHandler(\"guttermousemove\",function(o){var a=o.domEvent.target||o.domEvent.srcElement;return i.hasCssClass(a,\"ace_fold-widget\")?n():(f&&e.$tooltipFollowsMouse&&r(o),d=o,void(c||(c=setTimeout(function(){c=null,d&&!e.isMousePressed?t():n()},50))))}),s.addListener(a.renderer.$gutter,\"mouseout\",function(e){d=null,f&&!c&&(c=setTimeout(function(){c=null,n()},50))}),a.on(\"changeSession\",n)}function o(e){u.call(this,e)}var i=e(\"../lib/dom\"),a=e(\"../lib/oop\"),s=e(\"../lib/event\"),u=e(\"../tooltip\").Tooltip;a.inherits(o,u),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,o=this.getWidth(),i=this.getHeight();e+=15,t+=15,e+o>n&&(e-=e+o-n),t+i>r&&(t-=20+i),u.prototype.setPosition.call(this,e,t)}}.call(o.prototype),t.GutterHandler=r}),ace.define(\"ace/mouse/mouse_event\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=o.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(i.prototype)}),ace.define(\"ace/mouse/dragdrop_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";function r(e){function t(e,t){var n=Date.now(),r=!t||e.row!=t.row,i=!t||e.column!=t.column;if(!O||r||i)g.$blockScrolling+=1,g.moveCursorToPosition(e),g.$blockScrolling-=1,O=n,S={x:v,y:M};else{var a=o(S.x,S.y,v,M);a>c?O=null:n-O>=l&&(g.renderer.scrollCursorIntoView(),O=null)}}function n(e,t){var n=Date.now(),r=g.renderer.layerConfig.lineHeight,o=g.renderer.layerConfig.characterWidth,i=g.renderer.scroller.getBoundingClientRect(),a={x:{left:v-i.left,right:i.right-v},y:{top:M-i.top,bottom:i.bottom-M}},s=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};s/o<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/r<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var d=e.row!=c.row,f=e.column!=c.column,p=!t||e.row!=t.row;d||f&&!p?T?n-T>=u&&g.renderer.scrollCursorIntoView(c):T=n:T=null}function r(){var e=C;C=g.renderer.screenToTextCoordinates(v,M),t(C,e),n(C,e)}function d(){w=g.selection.toOrientedRange(),y=g.session.addMarker(w,\"ace_selection\",g.getSelectionStyle()),g.clearSelection(),g.isFocused()&&g.renderer.$cursorLayer.setBlinking(!1),clearInterval(A),r(),A=setInterval(r,20),k=0,a.addListener(document,\"mousemove\",p)}function f(){clearInterval(A),g.session.removeMarker(y),y=null,g.$blockScrolling+=1,g.selection.fromOrientedRange(w),g.$blockScrolling-=1,g.isFocused()&&!L&&g.renderer.$cursorLayer.setBlinking(!g.getReadOnly()),w=null,C=null,k=0,T=null,O=null,a.removeListener(document,\"mousemove\",p)}function p(){null==D&&(D=setTimeout(function(){null!=D&&y&&f()},20))}function h(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return\"text/plain\"==e||\"Text\"==e})}function m(e){var t=[\"copy\",\"copymove\",\"all\",\"uninitialized\"],n=[\"move\",\"copymove\",\"linkmove\",\"all\",\"uninitialized\"],r=s.isMac?e.altKey:e.ctrlKey,o=\"uninitialized\";try{o=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var i=\"none\";return r&&t.indexOf(o)>=0?i=\"copy\":n.indexOf(o)>=0?i=\"move\":t.indexOf(o)>=0&&(i=\"copy\"),i}var g=e.editor,_=i.createElement(\"img\");_.src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",s.isOpera&&(_.style.cssText=\"width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;\");var b=[\"dragWait\",\"dragWaitEnd\",\"startDrag\",\"dragReadyEnd\",\"onMouseDrag\"];b.forEach(function(t){e[t]=this[t]},this),g.addEventListener(\"mousedown\",this.onMouseDown.bind(e));var y,v,M,A,w,C,E,L,T,O,S,N=g.container,k=0;this.onDragStart=function(e){if(this.cancelDrag||!N.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}w=g.getSelectionRange();var n=e.dataTransfer;n.effectAllowed=g.getReadOnly()?\"copy\":\"copyMove\",s.isOpera&&(g.container.appendChild(_),\n_.scrollTop=0),n.setDragImage&&n.setDragImage(_,0,0),s.isOpera&&g.container.removeChild(_),n.clearData(),n.setData(\"Text\",g.session.getTextRange()),L=!0,this.setState(\"drag\")},this.onDragEnd=function(e){if(N.draggable=!1,L=!1,this.setState(null),!g.getReadOnly()){var t=e.dataTransfer.dropEffect;E||\"move\"!=t||g.session.remove(g.getSelectionRange()),g.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle(\"ace_dragging\"),this.editor.renderer.setCursorStyle(\"\")},this.onDragEnter=function(e){if(!g.getReadOnly()&&h(e.dataTransfer))return v=e.clientX,M=e.clientY,y||d(),k++,e.dataTransfer.dropEffect=E=m(e),a.preventDefault(e)},this.onDragOver=function(e){if(!g.getReadOnly()&&h(e.dataTransfer))return v=e.clientX,M=e.clientY,y||(d(),k++),null!==D&&(D=null),e.dataTransfer.dropEffect=E=m(e),a.preventDefault(e)},this.onDragLeave=function(e){if(k--,k<=0&&y)return f(),E=null,a.preventDefault(e)},this.onDrop=function(e){if(C){var t=e.dataTransfer;if(L)switch(E){case\"move\":w=w.contains(C.row,C.column)?{start:C,end:C}:g.moveText(w,C);break;case\"copy\":w=g.moveText(w,C,!0)}else{var n=t.getData(\"Text\");w={start:C,end:g.session.insert(C,n)},g.focus(),E=null}return f(),a.preventDefault(e)}},a.addListener(N,\"dragstart\",this.onDragStart.bind(e)),a.addListener(N,\"dragend\",this.onDragEnd.bind(e)),a.addListener(N,\"dragenter\",this.onDragEnter.bind(e)),a.addListener(N,\"dragover\",this.onDragOver.bind(e)),a.addListener(N,\"dragleave\",this.onDragLeave.bind(e)),a.addListener(N,\"drop\",this.onDrop.bind(e));var D=null}function o(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var i=e(\"../lib/dom\"),a=e(\"../lib/event\"),s=e(\"../lib/useragent\"),u=200,l=200,c=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle(\"ace_dragging\"),this.editor.renderer.setCursorStyle(\"\"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle(\"ace_dragging\");var n=s.isWin?\"default\":\"move\";e.renderer.setCursorStyle(n),this.setState(\"dragReady\")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&\"dragReady\"==this.state){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(\"dragWait\"===this.state){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),o=e.domEvent.detail||1;if(1===o&&0===r&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var i=e.domEvent.target||e.domEvent.srcElement;if(\"unselectable\"in i&&(i.unselectable=\"on\"),t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var a=t.container;a.draggable=!0}this.setState(\"dragWait\")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(r.prototype),t.DragdropHandler=r}),ace.define(\"ace/lib/net\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";var r=e(\"./dom\");t.get=function(e,t){var n=new XMLHttpRequest;n.open(\"GET\",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),o=document.createElement(\"script\");o.src=e,n.appendChild(o),o.onload=o.onreadystatechange=function(e,n){!n&&o.readyState&&\"loaded\"!=o.readyState&&\"complete\"!=o.readyState||(o=o.onload=o.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement(\"a\");return t.href=e,t.href}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r={},o=function(){this.propagationStopped=!0},i=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(n.length||r){\"object\"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=o),t.preventDefault||(t.preventDefault=i),n=n.slice();for(var a=0;a<n.length&&(n[a](t,this),!t.propagationStopped);a++);return r&&!t.defaultPrevented?r(t,this):void 0}},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)}},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[e]){var r=n[e],o=n._disabled_[e];o||(n._disabled_[e]=o=[]),o.push(r);var i=o.indexOf(t);i!=-1&&o.splice(i,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var r=n._disabled_[e];if(n[e]==t){n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var o=r.indexOf(t);o!=-1&&r.splice(o,1)}}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?\"unshift\":\"push\"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var r=n.indexOf(t);r!==-1&&n.splice(r,1)}},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define(\"ace/lib/app_config\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(e,n,r){\"no use strict\";function o(e){\"undefined\"!=typeof t&&t.warn&&t.warn.apply(t,arguments)}function i(e,n){var r=new Error(e);r.data=n,\"object\"==typeof t&&t.error&&t.error(r),setTimeout(function(){throw r})}var a=e(\"./oop\"),s=e(\"./event_emitter\").EventEmitter,u={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this[\"$\"+e]!==t){var n=this.$options[e];if(!n)return o('misspelled option \"'+e+'\"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this[\"$\"+e]=t),n&&n.set&&n.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this[\"$\"+e]:o('misspelled option \"'+e+'\"')}},l=function(){this.$defaultOptions={}};(function(){a.implement(this,s),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];\"string\"==typeof r&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,\"initialValue\"in r&&(e[\"$\"+r.name]=r.initialValue)}),a.implement(e,u),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];\"value\"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=i}).call(l.prototype),n.AppConfig=l}),ace.define(\"ace/config\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/app_config\"],function(e,t,r){\"no use strict\";function o(o){if(l&&l.document){c.packaged=o||e.packaged||r.packaged||l.define&&n(666).packaged;for(var a={},s=\"\",u=document.currentScript||document._currentScript,d=u&&u.ownerDocument||document,f=d.getElementsByTagName(\"script\"),p=0;p<f.length;p++){var h=f[p],m=h.src||h.getAttribute(\"src\");if(m){for(var g=h.attributes,_=0,b=g.length;_<b;_++){var y=g[_];0===y.name.indexOf(\"data-ace-\")&&(a[i(y.name.replace(/^data-ace-/,\"\"))]=y.value)}var v=m.match(/^(.*)\\/ace(\\-\\w+)?\\.js(\\?|$)/);v&&(s=v[1])}}s&&(a.base=a.base||s,a.packaged=!0),a.basePath=a.base,a.workerPath=a.workerPath||a.base,a.modePath=a.modePath||a.base,a.themePath=a.themePath||a.base,delete a.base;for(var M in a)\"undefined\"!=typeof a[M]&&t.set(M,a[M])}}function i(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var a=e(\"./lib/lang\"),s=(e(\"./lib/oop\"),e(\"./lib/net\")),u=e(\"./lib/app_config\").AppConfig;r.exports=t=new u;var l=function(){return this||\"undefined\"!=typeof window&&window}(),c={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:\"\",suffix:\".js\",$moduleUrls:{}};t.get=function(e){if(!c.hasOwnProperty(e))throw new Error(\"Unknown config key: \"+e);return c[e]},t.set=function(e,t){if(!c.hasOwnProperty(e))throw new Error(\"Unknown config key: \"+e);c[e]=t},t.all=function(){return a.copyObject(c)},t.moduleUrl=function(e,t){if(c.$moduleUrls[e])return c.$moduleUrls[e];var n=e.split(\"/\");t=t||n[n.length-2]||\"\";var r=\"snippets\"==t?\"/\":\"-\",o=n[n.length-1];if(\"worker\"==t&&\"-\"==r){var i=new RegExp(\"^\"+t+\"[\\\\-_]|[\\\\-_]\"+t+\"$\",\"g\");o=o.replace(i,\"\")}(!o||o==t)&&n.length>1&&(o=n[n.length-2]);var a=c[t+\"Path\"];return null==a?a=c.basePath:\"/\"==r&&(t=r=\"\"),a&&\"/\"!=a.slice(-1)&&(a+=\"/\"),a+t+r+o+this.get(\"suffix\")},t.setModuleUrl=function(e,t){return c.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var o,i;Array.isArray(n)&&(i=n[0],n=n[1]);try{o=e(n)}catch(e){}if(o&&!t.$loading[n])return r&&r(o);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r),!(t.$loading[n].length>1)){var a=function(){e([n],function(e){t._emit(\"load.module\",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};return t.get(\"packaged\")?void s.loadScript(t.moduleUrl(n,i),a):a()}},o(!0),t.init=o}),ace.define(\"ace/mouse/mouse_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/mouse/default_handlers\",\"ace/mouse/default_gutter_handler\",\"ace/mouse/mouse_event\",\"ace/mouse/dragdrop_handler\",\"ace/config\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=e(\"./default_handlers\").DefaultHandlers,a=e(\"./default_gutter_handler\").GutterHandler,s=e(\"./mouse_event\").MouseEvent,u=e(\"./dragdrop_handler\").DragdropHandler,l=e(\"../config\"),c=function(e){var t=this;this.editor=e,new i(this),new a(this),new u(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},s=e.renderer.getMouseEventTarget();r.addListener(s,\"click\",this.onMouseEvent.bind(this,\"click\")),r.addListener(s,\"mousemove\",this.onMouseMove.bind(this,\"mousemove\")),r.addMultiMouseDownListener([s,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,\"onMouseEvent\"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,\"mousewheel\")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,\"touchmove\"));var l=e.renderer.$gutter;r.addListener(l,\"mousedown\",this.onMouseEvent.bind(this,\"guttermousedown\")),r.addListener(l,\"click\",this.onMouseEvent.bind(this,\"gutterclick\")),r.addListener(l,\"dblclick\",this.onMouseEvent.bind(this,\"gutterdblclick\")),r.addListener(l,\"mousemove\",this.onMouseEvent.bind(this,\"guttermousemove\")),r.addListener(s,\"mousedown\",n),r.addListener(l,\"mousedown\",n),o.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,\"mousedown\",n),r.addListener(e.renderer.scrollBarH.element,\"mousedown\",n)),e.on(\"mousemove\",function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var r=e.renderer.screenToTextCoordinates(n.x,n.y),o=e.session.selection.getRange(),i=e.renderer;!o.isEmpty()&&o.insideStart(r.row,r.column)?i.setCursorStyle(\"default\"):i.setCursorStyle(\"\")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var n=new s(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new s(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var i=this,a=function(e){if(e){if(o.isWebKit&&!e.which&&i.releaseMouse)return i.releaseMouse();i.x=e.clientX,i.y=e.clientY,t&&t(e),i.mouseEvent=new s(e,i.editor),i.$mouseMoved=!0}},u=function(e){clearInterval(c),l(),i[i.state+\"End\"]&&i[i.state+\"End\"](e),i.state=\"\",null==n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),i.isMousePressed=!1,i.$onCaptureMouseMove=i.releaseMouse=null,e&&i.onMouseEvent(\"mouseup\",e)},l=function(){i[i.state]&&i[i.state](),i.$mouseMoved=!1};if(o.isOldIE&&\"dblclick\"==e.domEvent.type)return setTimeout(function(){u(e)});i.$onCaptureMouseMove=a,i.releaseMouse=r.capture(this.editor.container,a,u);var c=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&\"contextmenu\"!=t.domEvent.type||(this.editor.off(\"nativecontextmenu\",e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on(\"nativecontextmenu\",e)}}).call(c.prototype),l.defineOptions(c.prototype,\"mouseHandler\",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:o.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),t.MouseHandler=c}),ace.define(\"ace/mouse/fold_handler\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e){e.on(\"click\",function(t){var n=t.getDocumentPosition(),r=e.session,o=r.getFoldAt(n.row,n.column,1);o&&(t.getAccelKey()?r.removeFold(o):r.expandFold(o),t.stop())}),e.on(\"gutterclick\",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(\"foldWidgets\"==n){var r=t.getDocumentPosition().row,o=e.session;o.foldWidgets&&o.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on(\"gutterdblclick\",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(\"foldWidgets\"==n){var r=t.getDocumentPosition().row,o=e.session,i=o.getParentFoldRangeData(r,!0),a=i.range||i.firstRange;if(a){r=a.start.row;var s=o.getFoldAt(r,o.getLine(r).length,1);s?o.removeFold(s):(o.addFold(\"...\",a),e.renderer.scrollCursorIntoView({row:a.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define(\"ace/keyboard/keybinding\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/event\"],function(e,t,n){\"use strict\";var r=e(\"../lib/keys\"),o=e(\"../lib/event\"),i=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){\"function\"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t!=-1&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||\"\"}).filter(Boolean).join(\" \")},this.$callKeyboardHandlers=function(e,t,n,r){for(var i,a=!1,s=this.$editor.commands,u=this.$handlers.length;u--&&(i=this.$handlers[u].handleKeyboard(this.$data,e,t,n,r),!(i&&i.command&&(a=\"null\"==i.command||s.exec(i.command,this.$editor,i.args,r),a&&r&&e!=-1&&1!=i.passEvent&&1!=i.command.passEvent&&o.stopEvent(r),a))););return a||e!=-1||(i={command:\"insertstring\"},a=s.exec(\"insertstring\",this.$editor,t)),a&&this.$editor._signal&&this.$editor._signal(\"keyboardActivity\",i),a},this.onCommandKey=function(e,t,n){var o=r.keyCodeToString(n);this.$callKeyboardHandlers(t,o,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(i.prototype),t.KeyBinding=i}),ace.define(\"ace/lib/bidiutil\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e,t,n,r){var o=s?h:p,m=null,g=null,_=null,b=0,y=null,v=null,M=-1,C=null,L=null,T=[];if(!r)for(C=0,r=[];C<n;C++)r[C]=a(e[C]);for(u=s,l=!1,c=!1,d=!1,f=!1,L=0;L<n;L++){if(m=b,T[L]=g=i(e,r,T,L),b=o[m][g],y=240&b,b&=15,t[L]=_=o[b][5],y>0)if(16==y){for(C=M;C<L;C++)t[C]=1;M=-1}else M=-1;if(v=o[b][6])M==-1&&(M=L);else if(M>-1){for(C=M;C<L;C++)t[C]=_;M=-1}r[L]==A&&(t[L]=0),u|=_}if(f)for(C=0;C<n;C++)if(r[C]==w){t[C]=s;for(var O=C-1;O>=0&&r[O]==E;O--)t[O]=s}}function o(e,t,n){if(!(u<e)){if(1==e&&s==g&&!d)return void n.reverse();for(var r,o,i,a,l=n.length,c=0;c<l;){if(t[c]>=e){for(r=c+1;r<l&&t[r]>=e;)r++;for(o=c,i=r-1;o<i;o++,i--)a=n[o],n[o]=n[i],n[i]=a;c=r}c++}}}function i(e,t,n,r){var o,i,a,u,p=t[r];switch(p){case _:case b:l=!1;case M:case v:return p;case y:return l?v:y;case C:return l=!0,c=!0,b;case E:return M;case L:return r<1||r+1>=t.length||(o=n[r-1])!=y&&o!=v||(i=t[r+1])!=y&&i!=v?M:(l&&(i=v),i==o?i:M);case T:return o=r>0?n[r-1]:A,o==y&&r+1<t.length&&t[r+1]==y?y:M;case O:if(r>0&&n[r-1]==y)return y;if(l)return M;for(u=r+1,a=t.length;u<a&&t[u]==O;)u++;return u<a&&t[u]==y?y:M;case S:for(a=t.length,u=r+1;u<a&&t[u]==S;)u++;if(u<a){var h=e[r],m=h>=1425&&h<=2303||64286==h;if(o=t[u],m&&(o==b||o==C))return b}return r<1||(o=t[r-1])==A?M:n[r-1];case A:return l=!1,d=!0,s;case w:return f=!0,M;case N:case k:case x:case I:case D:l=!1;case z:return M}}function a(e){var t=e.charCodeAt(0),n=t>>8;return 0==n?t>191?_:P[t]:5==n?/[\\u0591-\\u05f4]/.test(e)?b:_:6==n?/[\\u0610-\\u061a\\u064b-\\u065f\\u06d6-\\u06e4\\u06e7-\\u06ed]/.test(e)?S:/[\\u0660-\\u0669\\u066b-\\u066c]/.test(e)?v:1642==t?O:/[\\u06f0-\\u06f9]/.test(e)?y:C:32==n&&t<=8287?j[255&t]:254==n&&t>=65136?C:M}var s=0,u=0,l=!1,c=!1,d=!1,f=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],h=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],m=0,g=1,_=0,b=1,y=2,v=3,M=4,A=5,w=6,C=7,E=8,L=9,T=10,O=11,S=12,N=13,k=14,D=15,x=16,I=17,z=18,P=[z,z,z,z,z,z,z,z,z,w,A,w,E,A,z,z,z,z,z,z,z,z,z,z,z,z,z,z,A,A,A,w,E,M,M,O,O,O,M,M,M,M,M,T,L,T,L,L,y,y,y,y,y,y,y,y,y,y,L,M,M,M,M,M,M,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,M,M,M,M,M,M,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,M,M,M,M,z,z,z,z,z,z,A,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,L,M,O,O,O,O,M,M,M,M,_,M,M,z,M,M,O,O,y,y,M,_,M,M,M,y,_,M,M,M,M,M],j=[E,E,E,E,E,E,E,E,E,E,E,z,z,z,_,b,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,E,A,N,k,D,x,I,L,O,O,O,O,O,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,E];t.L=_,t.R=b,t.EN=y,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.DOT=\"·\",t.doBidiReorder=function(e,n,i){if(e.length<2)return{};var a=e.split(\"\"),u=new Array(a.length),l=new Array(a.length),c=[];s=i?g:m,r(a,c,a.length,n);for(var d=0;d<u.length;u[d]=d,d++);o(2,c,u),o(1,c,u);for(var d=0;d<u.length-1;d++)n[d]===v?c[d]=t.AN:c[d]===b&&(n[d]>C&&n[d]<N||n[d]===M||n[d]===z)?c[d]=t.ON_R:d>0&&\"ل\"===a[d-1]&&/\\u0622|\\u0623|\\u0625|\\u0627/.test(a[d])&&(c[d-1]=c[d]=t.R_H,d++);a[a.length-1]===t.DOT&&(c[a.length-1]=t.B);for(var d=0;d<u.length;d++)l[d]=c[u[d]];return{logicalFromVisual:u,bidiLevels:l}},t.hasBidiCharacters=function(e,t){for(var n=!1,r=0;r<e.length;r++)t[r]=a(e.charAt(r)),n||t[r]!=b&&t[r]!=C||(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),ace.define(\"ace/bidihandler\",[\"require\",\"exports\",\"module\",\"ace/lib/bidiutil\",\"ace/lib/lang\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";var r=e(\"./lib/bidiutil\"),o=e(\"./lib/lang\"),i=e(\"./lib/useragent\"),a=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,s=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL=\"¬\",this.showInvisibles=!0,this.isRtlDir=!1,this.line=\"\",this.wrapIndent=0,this.isLastRow=!1,this.EOF=\"¶\",this.seenBidi=!1};(function(){this.isBidiRow=function(e,t,n){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:\"insert\"==e.action&&a.test(e.lines.join(\"\\n\"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,r=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1),n===r);)r=n,e++;return e},this.updateRowLine=function(e,t){if(void 0===e&&(e=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=e===this.session.getLength()-1,this.line=this.session.getLine(e),this.session.$useWrapMode){var n=this.session.$wrapData[e];n&&(void 0===t&&(t=this.getSplitIndex()),t>0&&n.length?(this.wrapIndent=n.indent,this.line=t<n.length?this.line.substring(n[t-1],n[n.length-1]):this.line.substring(n[n.length-1])):this.line=this.line.substring(0,n[t]))}var i,a=this.session,s=0;this.line=this.line.replace(/\\t|[\\u1100-\\u2029, \\u202F-\\uFFE6]/g,function(e,t){return\"\\t\"===e||a.isFullWidth(e.charCodeAt(0))?(i=\"\\t\"===e?a.getScreenTabSize(t+s):2,s+=i-1,o.stringRepeat(r.DOT,i)):e})},this.updateBidiMap=function(){var e=[],t=this.isLastRow?this.EOF:this.EOL,n=this.line+(this.showInvisibles?t:r.DOT);r.hasBidiCharacters(n,e)?this.bidiMap=r.doBidiReorder(n,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.seenBidi&&this.characterWidth!==e.$characterSize.width){var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth(\"ה\");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=i.isChrome?n:.45*n,this.charWidths[r.B]=0,this.currentRow=null}},this.getShowInvisibles=function(){return this.showInvisibles},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setTextDir=function(e){this.isRtlDir=e},this.getPosLeft=function(e){e-=this.wrapIndent;var t=r.getVisualFromLogicalIdx(e>0?e-1:0,this.bidiMap),n=this.bidiMap.bidiLevels,o=0;0===e&&n[t]%2!==0&&t++;for(var i=0;i<t;i++)o+=this.charWidths[n[i]];return 0!==e&&n[t]%2===0&&(o+=this.charWidths[n[t]]),this.wrapIndent&&(o+=this.wrapIndent*this.charWidths[r.L]),o},this.getSelections=function(e,t){for(var n,o,i=this.bidiMap,a=i.bidiLevels,s=this.wrapIndent*this.charWidths[r.L],u=[],l=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,d=!1,f=!1,p=0,h=0;h<a.length;h++)o=i.logicalFromVisual[h],n=a[h],d=o>=l&&o<c,d&&!f?p=s:!d&&f&&u.push({left:p,width:s-p}),s+=this.charWidths[n],f=d;return d&&h===a.length&&u.push({left:p,width:s-p}),u},this.offsetToCol=function(e){var t=0,e=Math.max(e,0),n=0,o=0,i=this.bidiMap.bidiLevels,a=this.charWidths[i[o]];for(this.wrapIndent&&(e-=this.wrapIndent*this.charWidths[r.L]);e>n+a/2;){if(n+=a,o===i.length-1){a=0;break}a=this.charWidths[i[++o]]}return o>0&&i[o-1]%2!==0&&i[o]%2===0?(e<n&&o--,t=this.bidiMap.logicalFromVisual[o]):o>0&&i[o-1]%2===0&&i[o]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[o]:this.bidiMap.logicalFromVisual[o-1]):this.isRtlDir&&o===i.length-1&&0===a&&i[o-1]%2===0||!this.isRtlDir&&0===o&&i[o]%2!==0?t=1+this.bidiMap.logicalFromVisual[o]:(o>0&&i[o-1]%2!==0&&0!==a&&o--,t=this.bidiMap.logicalFromVisual[o]),t+this.wrapIndent}}).call(s.prototype),t.BidiHandler=s}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=function(e,t){return e.row-t.row||e.column-t.column},o=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),1==t?(t=this.compare(r.row,r.column),1==t?2:0==t?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:1==t?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return t==-1||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){\"object\"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){\"object\"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return o.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(n==-1)var r={row:e,column:t};else var i={row:e,column:t};return o.fromPoints(r||this.start,i||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new o(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(o.prototype),o.fromPoints=function(e,t){return new o(e.row,e.column,t.row,t.column)},o.comparePoints=r,o.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=o}),ace.define(\"ace/selection\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/lang\"),i=e(\"./lib/event_emitter\").EventEmitter,a=e(\"./range\").Range,s=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on(\"change\",function(e){t._emit(\"changeCursor\"),t.$isEmpty||t._emit(\"changeSelection\"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)}),this.selectionAnchor.on(\"change\",function(){t.$isEmpty||t._emit(\"changeSelection\")})};(function(){r.implement(this,i),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.isEmpty()&&this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit(\"changeSelection\"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)return void this.moveCursorTo(this.lead.row,this.lead.column+e);var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();r&&0===t.column||this.setSelectionAnchor(t.row,t.column+e),(r||0!==n.column)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit(\"changeSelection\"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(\"undefined\"==typeof t){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange());\n},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n,r=\"number\"==typeof e?e:this.lead.row,o=this.session.getFoldLine(r);return o?(r=o.start.row,n=o.end.row):n=r,t===!0?new a(r,0,n,this.session.getLine(n).length):new a(r,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,o=e.column+t;return n<0&&(r=e.column-t,o=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,o).split(\" \").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),t=this.lead;this.wouldMoveIntoSoftTab(t,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),o=this.session.getDisplayLine(e,null,r.row,r.column),i=o.match(/^\\s*/);i[0].length==t||this.session.$useEmacsStyleLineStart||(r.column+=i[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e,t=this.lead.row,n=this.lead.column,r=this.doc.getLine(t),o=r.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(t,n,1);return i?void this.moveCursorTo(i.end.row,i.end.column):((e=this.session.nonTokenRe.exec(o))&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,o=r.substring(n)),n>=r.length?(this.moveCursorTo(t,r.length),this.moveCursorRight(),void(t<this.doc.getLength()-1&&this.moveCursorWordRight())):((e=this.session.tokenRe.exec(o))&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(t,n)))},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return void this.moveCursorTo(e.start.row,e.start.column);var r=this.session.getFoldStringAt(t,n,-1);null==r&&(r=this.doc.getLine(t).substring(0,n));var i,a=o.stringReverse(r);return this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(i=this.session.nonTokenRe.exec(a))&&(n-=this.session.nonTokenRe.lastIndex,a=a.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0?(this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft())):((i=this.session.tokenRe.exec(a))&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(t,n))},this.$shortWordEndIndex=function(e){var t,n,r=0,o=/\\s/,i=this.session.tokenRe;if(i.lastIndex=0,t=this.session.tokenRe.exec(e))r=this.session.tokenRe.lastIndex;else{for(;(n=e[r])&&o.test(n);)r++;if(r<1)for(i.lastIndex=0;(n=e[r])&&!i.test(n);)if(i.lastIndex=0,r++,o.test(n)){if(r>2){r--;break}for(;(n=e[r])&&o.test(n);)r++;if(r>2)break}}return i.lastIndex=0,r},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),o=this.session.getFoldAt(e,t,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(t==n.length){var i=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<i&&/^\\s*$/.test(r));/^\\s+/.test(r)||(r=\"\"),t=0}var a=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+a)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return this.moveCursorTo(e.start.row,e.start.column);var r=this.session.getLine(t).substring(0,n);if(0===n){do t--,r=this.doc.getLine(t);while(t>0&&/^\\s*$/.test(r));n=r.length,/\\s+$/.test(r)||(r=\"\")}var i=o.stringReverse(r),a=this.$shortWordEndIndex(i);return this.moveCursorTo(t,n-a)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n,r=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(r.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(r.column),r.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=r.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?r.column=this.$desiredColumn:this.$desiredColumn=r.column);var o=this.session.screenToDocumentPosition(r.row+e,r.column,n);0!==e&&0===t&&o.row===this.lead.row&&o.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[o.row]&&(o.row>0||e>0)&&o.row++,this.moveCursorTo(o.row,o.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(e);/[\\uDC00-\\uDFFF]/.test(o.charAt(t))&&o.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return a.fromPoints(t,n)}catch(e){return a.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=a.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(s.prototype),t.Selection=s}),ace.define(\"ace/tokenizer\",[\"require\",\"exports\",\"module\",\"ace/config\"],function(e,t,n){\"use strict\";var r=e(\"./config\"),o=2e3,i=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){for(var n=this.states[t],r=[],o=0,i=this.matchMappings[t]={defaultToken:\"text\"},a=\"g\",s=[],u=0;u<n.length;u++){var l=n[u];if(l.defaultToken&&(i.defaultToken=l.defaultToken),l.caseInsensitive&&(a=\"gi\"),null!=l.regex){l.regex instanceof RegExp&&(l.regex=l.regex.toString().slice(1,-1));var c=l.regex,d=new RegExp(\"(?:(\"+c+\")|(.))\").exec(\"a\").length-2;Array.isArray(l.token)?1==l.token.length||1==d?l.token=l.token[0]:d-1!=l.token.length?(this.reportError(\"number of classes and regexp groups doesn't match\",{rule:l,groupCount:d-1}),l.token=l.token[0]):(l.tokenArray=l.token,l.token=null,l.onMatch=this.$arrayTokens):\"function\"!=typeof l.token||l.onMatch||(d>1?l.onMatch=this.$applyToken:l.onMatch=l.token),d>1&&(/\\\\\\d/.test(l.regex)?c=l.regex.replace(/\\\\([0-9]+)/g,function(e,t){return\"\\\\\"+(parseInt(t,10)+o+1)}):(d=1,c=this.removeCapturingGroups(l.regex)),l.splitRegex||\"string\"==typeof l.token||s.push(l)),i[o]=u,o+=d,r.push(c),l.onMatch||(l.onMatch=null)}}r.length||(i[0]=0,r.push(\"$\")),s.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,a)},this),this.regExps[t]=new RegExp(\"(\"+r.join(\")|(\")+\")|($)\",a)}};(function(){this.$setMaxTokenCount=function(e){o=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(\"string\"==typeof n)return[{type:n,value:e}];for(var r=[],o=0,i=n.length;o<i;o++)t[o]&&(r[r.length]={type:n[o],value:t[o]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return\"text\";for(var n=[],r=this.tokenArray,o=0,i=r.length;o<i;o++)t[o+1]&&(n[n.length]={type:r[o],value:t[o+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\\[(?:\\\\.|[^\\]])*?\\]|\\\\.|\\(\\?[:=!]|(\\()/g,function(e,t){return t?\"(?:\":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf(\"(?=\")!=-1){var n=0,r=!1,o={};e.replace(/(\\\\.)|(\\((?:\\?[=!])?)|(\\))|([\\[\\]])/g,function(e,t,i,a,s,u){return r?r=\"]\"!=s:s?r=!0:a?(n==o.stack&&(o.end=u+1,o.stack=-1),n--):i&&(n++,1!=i.length&&(o.stack=n,o.start=u)),e}),null!=o.end&&/^\\)*$/.test(e.substr(o.end))&&(e=e.substring(0,o.start)+e.substr(o.end))}return\"^\"!=e.charAt(0)&&(e=\"^\"+e),\"$\"!=e.charAt(e.length-1)&&(e+=\"$\"),new RegExp(e,(t||\"\").replace(\"g\",\"\"))},this.getLineTokens=function(e,t){if(t&&\"string\"!=typeof t){var n=t.slice(0);t=n[0],\"#tmp\"===t&&(n.shift(),t=n.shift())}else var n=[];var r=t||\"start\",i=this.states[r];i||(r=\"start\",i=this.states[r]);var a=this.matchMappings[r],s=this.regExps[r];s.lastIndex=0;for(var u,l=[],c=0,d=0,f={type:null,value:\"\"};u=s.exec(e);){var p=a.defaultToken,h=null,m=u[0],g=s.lastIndex;if(g-m.length>c){var _=e.substring(c,g-m.length);f.type==p?f.value+=_:(f.type&&l.push(f),f={type:p,value:_})}for(var b=0;b<u.length-2;b++)if(void 0!==u[b+1]){h=i[a[b]],p=h.onMatch?h.onMatch(m,r,n,e):h.token,h.next&&(r=\"string\"==typeof h.next?h.next:h.next(r,n),i=this.states[r],i||(this.reportError(\"state doesn't exist\",r),r=\"start\",i=this.states[r]),a=this.matchMappings[r],c=g,s=this.regExps[r],s.lastIndex=g),h.consumeLineEnd&&(c=g);break}if(m)if(\"string\"==typeof p)h&&h.merge===!1||f.type!==p?(f.type&&l.push(f),f={type:p,value:m}):f.value+=m;else if(p){f.type&&l.push(f),f={type:null,value:\"\"};for(var b=0;b<p.length;b++)l.push(p[b])}if(c==e.length)break;if(c=g,d++>o){for(d>2*e.length&&this.reportError(\"infinite loop with in ace tokenizer\",{startState:t,line:e});c<e.length;)f.type&&l.push(f),f={value:e.substring(c,c+=2e3),type:\"overflow\"};r=\"start\",n=[];break}}return f.type&&l.push(f),n.length>1&&n[0]!==r&&n.unshift(\"#tmp\",r),{tokens:l,state:n.length?n:r}},this.reportError=r.reportError}).call(i.prototype),t.Tokenizer=i}),ace.define(\"ace/mode/text_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\"],function(e,t,n){\"use strict\";var r=e(\"../lib/lang\"),o=function(){this.$rules={start:[{token:\"empty_line\",regex:\"^$\"},{defaultToken:\"text\"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var r=e[n],o=0;o<r.length;o++){var i=r[o];(i.next||i.onMatch)&&(\"string\"==typeof i.next&&0!==i.next.indexOf(t)&&(i.next=t+i.next),i.nextState&&0!==i.nextState.indexOf(t)&&(i.nextState=t+i.nextState))}this.$rules[t+n]=r}else for(var n in e)this.$rules[n]=e[n]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,o,i){var a=\"function\"==typeof e?(new e).getRules():e;if(o)for(var s=0;s<o.length;s++)o[s]=t+o[s];else{o=[];for(var u in a)o.push(t+u)}if(this.addRules(a,t),n)for(var l=Array.prototype[i?\"push\":\"unshift\"],s=0;s<o.length;s++)l.apply(this.$rules[o[s]],r.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(\"start\"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||\"start\"};this.normalizeRules=function(){function n(i){var a=o[i];a.processed=!0;for(var s=0;s<a.length;s++){var u=a[s],l=null;Array.isArray(u)&&(l=u,u={}),!u.regex&&u.start&&(u.regex=u.start,u.next||(u.next=[]),u.next.push({defaultToken:u.token},{token:u.token+\".end\",regex:u.end||u.start,next:\"pop\"}),u.token=u.token+\".start\",u.push=!0);var c=u.next||u.push;if(c&&Array.isArray(c)){var d=u.stateName;d||(d=u.token,\"string\"!=typeof d&&(d=d[0]||\"\"),o[d]&&(d+=r++)),o[d]=c,u.next=d,n(d)}else\"pop\"==c&&(u.next=t);if(u.push&&(u.nextState=u.next||u.push,u.next=e,delete u.push),u.rules)for(var f in u.rules)o[f]?o[f].push&&o[f].push.apply(o[f],u.rules[f]):o[f]=u.rules[f];var p=\"string\"==typeof u?u:u.include;if(p&&(l=Array.isArray(p)?p.map(function(e){return o[e]}):o[p]),l){var h=[s,1].concat(l);u.noEscape&&(h=h.filter(function(e){return!e.next})),a.splice.apply(a,h),s--}u.keywordMap&&(u.token=this.createKeywordMapper(u.keywordMap,u.defaultToken||\"text\",u.caseInsensitive),delete u.defaultToken)}}var r=0,o=this.$rules;Object.keys(o).forEach(n,this)},this.createKeywordMapper=function(e,t,n,r){var o=Object.create(null);return Object.keys(e).forEach(function(t){var i=e[t];n&&(i=i.toLowerCase());for(var a=i.split(r||\"|\"),s=a.length;s--;)o[a[s]]=t}),Object.getPrototypeOf(o)&&(o.__proto__=null),this.$keywordList=Object.keys(o),e=null,n?function(e){return o[e.toLowerCase()]||t}:function(e){return o[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(o.prototype),t.TextHighlightRules=o}),ace.define(\"ace/mode/behaviour\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(\"function\"==typeof e)var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}return this.$behaviours}}).call(r.prototype),t.Behaviour=r}),ace.define(\"ace/token_iterator\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./range\").Range,o=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;for(var e;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(o.prototype),t.TokenIterator=o}),ace.define(\"ace/mode/behaviour/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"],function(e,t,n){\"use strict\";var r,o=e(\"../../lib/oop\"),i=e(\"../behaviour\").Behaviour,a=e(\"../../token_iterator\").TokenIterator,s=e(\"../../lib/lang\"),u=[\"text\",\"paren.rparen\",\"punctuation.operator\"],l=[\"text\",\"paren.rparen\",\"punctuation.operator\",\"comment\"],c={},d={'\"':'\"',\"'\":\"'\"},f=function(e){var t=-1;return e.multiSelect&&(t=e.selection.index,c.rangeCount!=e.multiSelect.rangeCount&&(c={rangeCount:e.multiSelect.rangeCount})),c[t]?r=c[t]:void(r=c[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:\"\",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:\"\",maybeInsertedLineEnd:\"\"})},p=function(e,t,n,r){var o=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,o,e.end.column+(o?0:1)]}},h=function(e){this.add(\"braces\",\"insertion\",function(t,n,o,i,a){var u=o.getCursorPosition(),l=i.doc.getLine(u.row);if(\"{\"==a){f(o);var c=o.getSelectionRange(),d=i.doc.getTextRange(c);if(\"\"!==d&&\"{\"!==d&&o.getWrapBehavioursEnabled())return p(c,d,\"{\",\"}\");if(h.isSaneInsertion(o,i))return/[\\]\\}\\)]/.test(l[u.column])||o.inMultiSelectMode||e&&e.braces?(h.recordAutoInsert(o,i,\"}\"),{text:\"{}\",selection:[1,1]}):(h.recordMaybeInsert(o,i,\"{\"),{text:\"{\",selection:[1,1]})}else if(\"}\"==a){f(o);var m=l.substring(u.column,u.column+1);if(\"}\"==m){var g=i.$findOpeningBracket(\"}\",{column:u.column+1,row:u.row});if(null!==g&&h.isAutoInsertedClosing(u,l,a))return h.popAutoInsertedClosing(),{text:\"\",selection:[1,1]}}}else{if(\"\\n\"==a||\"\\r\\n\"==a){f(o);var _=\"\";h.isMaybeInsertedClosing(u,l)&&(_=s.stringRepeat(\"}\",r.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var m=l.substring(u.column,u.column+1);if(\"}\"===m){var b=i.findMatchingBracket({row:u.row,column:u.column+1},\"}\");if(!b)return null;var y=this.$getIndent(i.getLine(b.row))}else{if(!_)return void h.clearMaybeInsertedClosing();var y=this.$getIndent(l)}var v=y+i.getTabString();return{text:\"\\n\"+v+\"\\n\"+y+_,selection:[1,v.length,1,v.length]}}h.clearMaybeInsertedClosing()}}),this.add(\"braces\",\"deletion\",function(e,t,n,o,i){var a=o.doc.getTextRange(i);if(!i.isMultiLine()&&\"{\"==a){f(n);var s=o.doc.getLine(i.start.row),u=s.substring(i.end.column,i.end.column+1);if(\"}\"==u)return i.end.column++,i;r.maybeInsertedBrackets--}}),this.add(\"parens\",\"insertion\",function(e,t,n,r,o){if(\"(\"==o){f(n);var i=n.getSelectionRange(),a=r.doc.getTextRange(i);if(\"\"!==a&&n.getWrapBehavioursEnabled())return p(i,a,\"(\",\")\");if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,\")\"),{text:\"()\",selection:[1,1]}}else if(\")\"==o){f(n);var s=n.getCursorPosition(),u=r.doc.getLine(s.row),l=u.substring(s.column,s.column+1);if(\")\"==l){var c=r.$findOpeningBracket(\")\",{column:s.column+1,row:s.row});if(null!==c&&h.isAutoInsertedClosing(s,u,o))return h.popAutoInsertedClosing(),{text:\"\",selection:[1,1]}}}}),this.add(\"parens\",\"deletion\",function(e,t,n,r,o){var i=r.doc.getTextRange(o);if(!o.isMultiLine()&&\"(\"==i){f(n);var a=r.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(\")\"==s)return o.end.column++,o}}),this.add(\"brackets\",\"insertion\",function(e,t,n,r,o){if(\"[\"==o){f(n);var i=n.getSelectionRange(),a=r.doc.getTextRange(i);if(\"\"!==a&&n.getWrapBehavioursEnabled())return p(i,a,\"[\",\"]\");if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,\"]\"),{text:\"[]\",selection:[1,1]}}else if(\"]\"==o){f(n);var s=n.getCursorPosition(),u=r.doc.getLine(s.row),l=u.substring(s.column,s.column+1);if(\"]\"==l){var c=r.$findOpeningBracket(\"]\",{column:s.column+1,row:s.row});if(null!==c&&h.isAutoInsertedClosing(s,u,o))return h.popAutoInsertedClosing(),{text:\"\",selection:[1,1]}}}}),this.add(\"brackets\",\"deletion\",function(e,t,n,r,o){var i=r.doc.getTextRange(o);if(!o.isMultiLine()&&\"[\"==i){f(n);var a=r.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(\"]\"==s)return o.end.column++,o}}),this.add(\"string_dquotes\",\"insertion\",function(e,t,n,r,o){var i=r.$mode.$quotes||d;if(1==o.length&&i[o]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(o)!=-1)return;f(n);var a=o,s=n.getSelectionRange(),u=r.doc.getTextRange(s);if(!(\"\"===u||1==u.length&&i[u])&&n.getWrapBehavioursEnabled())return p(s,u,a,a);if(!u){var l=n.getCursorPosition(),c=r.doc.getLine(l.row),h=c.substring(l.column-1,l.column),m=c.substring(l.column,l.column+1),g=r.getTokenAt(l.row,l.column),_=r.getTokenAt(l.row,l.column+1);if(\"\\\\\"==h&&g&&/escape/.test(g.type))return null;var b,y=g&&/string|escape/.test(g.type),v=!_||/string|escape/.test(_.type);if(m==a)b=y!==v,b&&/string\\.end/.test(_.type)&&(b=!1);else{if(y&&!v)return null;if(y&&v)return null;var M=r.$mode.tokenRe;M.lastIndex=0;var A=M.test(h);M.lastIndex=0;var w=M.test(h);if(A||w)return null;if(m&&!/[\\s;,.})\\]\\\\]/.test(m))return null;b=!0}return{text:b?a+a:\"\",selection:[1,1]}}}}),this.add(\"string_dquotes\",\"deletion\",function(e,t,n,r,o){var i=r.doc.getTextRange(o);if(!o.isMultiLine()&&('\"'==i||\"'\"==i)){f(n);var a=r.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(s==i)return o.end.column++,o}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new a(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||\"text\",u)){var o=new a(t,n.row,n.column+1);if(!this.$matchTokenType(o.getCurrentToken()||\"text\",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||\"text\",l)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var o=e.getCursorPosition(),i=t.doc.getLine(o.row);this.isAutoInsertedClosing(o,i,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=o.row,r.autoInsertedLineEnd=n+i.substr(o.column),r.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var o=e.getCursorPosition(),i=t.doc.getLine(o.row);this.isMaybeInsertedClosing(o,i)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=o.row,r.maybeInsertedLineStart=i.substr(0,o.column)+n,r.maybeInsertedLineEnd=i.substr(o.column),r.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return r.autoInsertedBrackets>0&&e.row===r.autoInsertedRow&&n===r.autoInsertedLineEnd[0]&&t.substr(e.column)===r.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return r.maybeInsertedBrackets>0&&e.row===r.maybeInsertedRow&&t.substr(e.column)===r.maybeInsertedLineEnd&&t.substr(0,e.column)==r.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},o.inherits(h,i),t.CstyleBehaviour=h}),ace.define(\"ace/unicode\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e){var n=/\\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,\"\\\\u$&\")}t.packages={},r({L:\"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",Ll:\"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A\",Lu:\"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A\",Lt:\"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC\",Lm:\"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F\",Lo:\"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",\nM:\"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26\",Mn:\"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26\",Mc:\"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC\",Me:\"0488048906DE20DD-20E020E2-20E4A670-A672\",N:\"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",Nd:\"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",Nl:\"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF\",No:\"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835\",P:\"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65\",Pd:\"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D\",Ps:\"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62\",Pe:\"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63\",Pi:\"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20\",Pf:\"00BB2019201D203A2E032E052E0A2E0D2E1D2E21\",Pc:\"005F203F20402054FE33FE34FE4D-FE4FFF3F\",Po:\"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65\",S:\"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD\",Sm:\"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC\",Sc:\"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6\",Sk:\"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3\",So:\"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD\",Z:\"002000A01680180E2000-200A20282029202F205F3000\",Zs:\"002000A01680180E2000-200A202F205F3000\",Zl:\"2028\",Zp:\"2029\",C:\"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF\",Cc:\"0000-001F007F-009F\",Cf:\"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB\",Co:\"E000-F8FF\",Cs:\"D800-DFFF\",Cn:\"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF\"})}),ace.define(\"ace/mode/text\",[\"require\",\"exports\",\"module\",\"ace/tokenizer\",\"ace/mode/text_highlight_rules\",\"ace/mode/behaviour/cstyle\",\"ace/unicode\",\"ace/lib/lang\",\"ace/token_iterator\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"../tokenizer\").Tokenizer,o=e(\"./text_highlight_rules\").TextHighlightRules,i=e(\"./behaviour/cstyle\").CstyleBehaviour,a=e(\"../unicode\"),s=e(\"../lib/lang\"),u=e(\"../token_iterator\").TokenIterator,l=e(\"../range\").Range,c=function(){this.HighlightRules=o};(function(){this.$defaultBehaviour=new i,this.tokenRe=new RegExp(\"^[\"+a.packages.L+a.packages.Mn+a.packages.Mc+a.packages.Nd+a.packages.Pc+\"\\\\$_]+\",\"g\"),this.nonTokenRe=new RegExp(\"^(?:[^\"+a.packages.L+a.packages.Mn+a.packages.Mc+a.packages.Nd+a.packages.Pc+\"\\\\$_]|\\\\s])+\",\"g\"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart=\"\",this.blockComment=\"\",this.toggleCommentLines=function(e,t,n,r){function o(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,a=!0,u=!0,l=1/0,c=t.getTabSize(),d=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var f=this.lineCommentStart.map(s.escapeRegExp).join(\"|\"),p=this.lineCommentStart[0];else var f=s.escapeRegExp(this.lineCommentStart),p=this.lineCommentStart;f=new RegExp(\"^(\\\\s*)(?:\"+f+\") ?\"),d=t.getUseSoftTabs();var h=function(e,t){var n=e.match(f);if(n){var r=n[1].length,o=n[0].length;b(e,r,o)||\" \"!=n[0][o-1]||o--,i.removeInLine(t,r,o)}},m=p+\" \",g=function(e,t){a&&!/\\S/.test(e)||(b(e,l,l)?i.insertInLine({row:t,column:l},m):i.insertInLine({row:t,column:l},p))},_=function(e,t){return f.test(e)},b=function(e,t,n){for(var r=0;t--&&\" \"==e.charAt(t);)r++;if(r%c!=0)return!1;for(var r=0;\" \"==e.charAt(n++);)r++;return c>2?r%c!=c-1:r%c==0}}else{if(!this.blockComment)return!1;var p=this.blockComment.start,y=this.blockComment.end,f=new RegExp(\"^(\\\\s*)(?:\"+s.escapeRegExp(p)+\")\"),v=new RegExp(\"(?:\"+s.escapeRegExp(y)+\")\\\\s*$\"),g=function(e,t){_(e,t)||a&&!/\\S/.test(e)||(i.insertInLine({row:t,column:e.length},y),i.insertInLine({row:t,column:l},p))},h=function(e,t){var n;(n=e.match(v))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(f))&&i.removeInLine(t,n[1].length,n[0].length)},_=function(e,n){if(f.test(e))return!0;for(var r=t.getTokens(n),o=0;o<r.length;o++)if(\"comment\"===r[o].type)return!0}}var M=1/0;o(function(e,t){var n=e.search(/\\S/);n!==-1?(n<l&&(l=n),u&&!_(e,t)&&(u=!1)):M>e.length&&(M=e.length)}),l==1/0&&(l=M,a=!1,u=!1),d&&l%c!=0&&(l=Math.floor(l/c)*c),o(u?h:g)},this.toggleBlockComment=function(e,t,n,r){var o=this.blockComment;if(o){!o.start&&o[0]&&(o=o[0]);var i,a,s=new u(t,r.row,r.column),c=s.getCurrentToken(),d=(t.selection,t.selection.toOrientedRange());if(c&&/comment/.test(c.type)){for(var f,p;c&&/comment/.test(c.type);){var h=c.value.indexOf(o.start);if(h!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+h;f=new l(m,g,m,g+o.start.length);break}c=s.stepBackward()}for(var s=new u(t,r.row,r.column),c=s.getCurrentToken();c&&/comment/.test(c.type);){var h=c.value.indexOf(o.end);if(h!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+h;p=new l(m,g,m,g+o.end.length);break}c=s.stepForward()}p&&t.remove(p),f&&(t.remove(f),i=f.start.row,a=-o.start.length)}else a=o.start.length,i=n.start.row,t.insert(n.end,o.end),t.insert(n.start,o.start);d.start.row==i&&(d.start.column+=a),d.end.row==i&&(d.end.column+=a),t.selection.fromOrientedRange(d)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);for(var n=[\"toggleBlockComment\",\"toggleCommentLines\",\"getNextLineIndent\",\"checkOutdent\",\"autoOutdent\",\"transformAction\",\"getCompletions\"],t=0;t<n.length;t++)!function(e){var r=n[t],o=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,o)}}(this)},this.$delegator=function(e,t,n){var r=t[0];\"string\"!=typeof r&&(r=r[0]);for(var o=0;o<this.$embeds.length;o++)if(this.$modes[this.$embeds[o]]){var i=r.split(this.$embeds[o]);if(!i[0]&&i[1]){t[0]=i[1];var a=this.$modes[this.$embeds[o]];return a[e].apply(a,t)}}var s=n.apply(this,t);return n?s:void 0},this.transformAction=function(e,t,n,r,o){if(this.$behaviour){var i=this.$behaviour.getBehaviours();for(var a in i)if(i[a][t]){var s=i[a][t].apply(this,arguments);if(s)return s}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t)for(var o=t[r],i=0,a=o.length;i<a;i++)if(\"string\"==typeof o[i].token)/keyword|support|storage/.test(o[i].token)&&n.push(o[i].regex);else if(\"object\"==typeof o[i].token)for(var s=0,u=o[i].token.length;s<u;s++)if(/keyword|support|storage/.test(o[i].token[s])){var r=o[i].regex.match(/\\(.+?\\)/g)[s];n.push(r.substr(1,r.length-2))}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var o=this.$keywordList||this.$createKeywordList();return o.map(function(e){return{name:e,value:e,score:0,meta:\"keyword\"}})},this.$id=\"ace/mode/text\"}).call(c.prototype),t.Mode=c}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.applyDelta=function(e,t,n){var r=t.start.row,o=t.start.column,i=e[r]||\"\";switch(t.action){case\"insert\":var a=t.lines;if(1===a.length)e[r]=i.substring(0,o)+t.lines[0]+i.substring(o);else{var s=[r,1].concat(t.lines);e.splice.apply(e,s),e[r]=i.substring(0,o)+e[r],e[r+t.lines.length-1]+=i.substring(o)}break;case\"remove\":var u=t.end.column,l=t.end.row;r===l?e[r]=i.substring(0,o)+i.substring(u):e.splice(r,l-r+1,i.substring(0,o)+e[l].substring(u))}}}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/event_emitter\").EventEmitter,i=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),\"undefined\"==typeof n?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var o=\"insert\"==t.action,i=(o?1:-1)*(t.end.row-t.start.row),a=(o?1:-1)*(t.end.column-t.start.column),s=t.start,u=o?s:t.end;return e(n,s,r)?{row:n.row,column:n.column}:e(u,n,!r)?{row:n.row+i,column:n.column+(n.row==u.row?a:0)}:{row:s.row,column:s.column}}r.implement(this,o),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(!(e.start.row==e.end.row&&e.start.row!=this.row||e.start.row>this.row)){var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var r;if(r=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=r.row||this.column!=r.column){var o={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal(\"change\",{old:o,value:r})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(i.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(e,n,r){\"use strict\";var o=e(\"./lib/oop\"),i=e(\"./apply_delta\").applyDelta,a=e(\"./lib/event_emitter\").EventEmitter,s=e(\"./range\").Range,u=e(\"./anchor\").Anchor,l=function(e){this.$lines=[\"\"],0===e.length?this.$lines=[\"\"]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){o.implement(this,a),this.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},0===\"aaa\".split(/a/).length?this.$split=function(e){return e.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:this.$split=function(e){return e.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=t?t[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return\"\\r\\n\"==e||\"\\r\"==e||\"\\n\"==e},this.getLine=function(e){return this.$lines[e]||\"\"},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||\"\").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,n){return t.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(e,n)},this.removeLines=function(e,n){return t.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(e,n)},this.insertNewLine=function(e){return t.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(e,[\"\",\"\"])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:\"insert\",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var r=this.getLine(e);return void 0==t&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([\"\"]),n=0):(t=[\"\"].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(1==t.length?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:\"insert\",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:\"remove\",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),o=this.clippedPos(e,n);return this.applyDelta({start:r,end:o,action:\"remove\",lines:this.getLinesForRange({start:r,end:o})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,o=n?e-1:e,i=n?this.getLine(o).length:0,a=r?t+1:t,u=r?0:this.getLine(a).length,l=new s(o,i,a,u),c=this.$lines.slice(e,t+1);return this.applyDelta({start:l.start,end:l.end,action:\"remove\",lines:this.getLinesForRange(l)}),c},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(e,t){if(e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return n=t?this.insert(e.start,t):e.start},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=\"insert\"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!s.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal(\"change\",e))},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length,o=e.start.row,i=e.start.column,a=0,s=0;;){a=s,s+=t-1;var u=n.slice(a,s);if(s>r){e.lines=u,e.start.row=o+a,e.start.column=i;break}u.push(\"\"),this.applyDelta({start:this.pos(o+a,i),end:this.pos(o+s,i=0),action:e.action,lines:u},!0)}},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:\"insert\"==e.action?\"remove\":\"insert\",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,o=t||0,i=n.length;o<i;o++)if(e-=n[o].length+r,e<0)return{row:o,column:e+n[o].length+r};return{row:i-1,column:n[i-1].length}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,o=0,i=Math.min(e.row,n.length),a=t||0;a<i;++a)o+=n[a].length+r;return o+e.column}}).call(l.prototype),n.Document=l}),ace.define(\"ace/background_tokenizer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/event_emitter\").EventEmitter,i=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,r=-1,o=n.doc,i=t;n.lines[t];)t++;var a=o.getLength(),s=0;for(n.running=!1;t<a;){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);if(s++,s%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),i<=r&&n.fireUpdateEvent(i,r)}}};(function(){r.implement(this,o),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal(\"update\",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.lines[t]=null;else if(\"remove\"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||\"start\"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+\"\"!=r.state+\"\"?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(i.prototype),t.BackgroundTokenizer=i}),ace.define(\"ace/search_highlight\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./lib/lang\"),o=(e(\"./lib/oop\"),e(\"./range\").Range),i=function(e,t,n){\nthis.setRegexp(e),this.clazz=t,this.type=n||\"text\"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+\"\"!=e+\"\"&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,i){if(this.regExp)for(var a=i.firstRow,s=i.lastRow,u=a;u<=s;u++){var l=this.cache[u];null==l&&(l=r.getMatchOffsets(n.getLine(u),this.regExp),l.length>this.MAX_RANGES&&(l=l.slice(0,this.MAX_RANGES)),l=l.map(function(e){return new o(u,e.offset,u,e.offset+e.length)}),this.cache[u]=l.length?l:\"\");for(var c=l.length;c--;)t.drawSingleLineMarker(e,l[c].toScreenRange(n),this.clazz,i)}}}).call(i.prototype),t.SearchHighlight=i}),ace.define(\"ace/edit_session/fold_line\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new o(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var o=e(\"../range\").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error(\"Can't add a fold to this FoldLine as it has no connection\");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error(\"Trying to add fold to FoldRow that doesn't have a matching row\");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r,o,i,a=0,s=this.folds,u=!0;null==t&&(t=this.end.row,n=this.end.column);for(var l=0;l<s.length;l++){if(r=s[l],o=r.range.compareStart(t,n),o==-1)return void e(null,t,n,a,u);if(i=e(null,r.start.row,r.start.column,a,u),i=!i&&e(r.placeholder,r.start.row,r.start.column,a),i||0===o)return;u=!r.sameRow,a=r.end.column}e(null,t,n,a,u)},this.getNextFoldTo=function(e,t){for(var n,r,o=0;o<this.folds.length;o++){if(n=this.folds[o],r=n.range.compareEnd(e,t),r==-1)return{fold:n,kind:\"after\"};if(0===r)return{fold:n,kind:\"inside\"}}return null},this.addRemoveChars=function(e,t,n){var r,o,i=this.getNextFoldTo(e,t);if(i)if(r=i.fold,\"inside\"==i.kind&&r.start.column!=t&&r.start.row!=e)window.console&&window.console.log(e,t,r);else if(r.start.row==e){o=this.folds;var a=o.indexOf(r);for(0===a&&(this.start.column+=n),a;a<o.length;a++){if(r=o[a],r.start.column+=n,!r.sameRow)return;r.end.column+=n}this.end.column+=n}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||\"inside\"==n.kind)return null;var o=n.fold,i=this.folds,a=this.foldData,s=i.indexOf(o),u=i[s-1];this.end.row=u.end.row,this.end.column=u.end.column,i=i.splice(s,i.length-s);var l=new r(a,i);return a.splice(a.indexOf(this)+1,0,l),l},this.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+\": [\"];return this.folds.forEach(function(t){e.push(\"  \"+t.toString())}),e.push(\"]\"),e.join(\"\\n\")},this.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var r=this.folds[n];if(e-=r.start.column-t,e<0)return{row:r.start.row,column:r.start.column+e};if(e-=r.placeholder.length,e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(r.prototype),t.FoldLine=r}),ace.define(\"ace/range_list\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./range\").Range,o=r.comparePoints,i=function(){this.ranges=[]};(function(){this.comparePoints=o,this.pointIndex=function(e,t,n){for(var r=this.ranges,i=n||0;i<r.length;i++){var a=r[i],s=o(e,a.end);if(!(s>0)){var u=o(e,a.start);return 0===s?t&&0!==u?-i-2:i:u>0||0===u&&!t?i:-i-1}}return-i-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return o(e.start,t.start)});for(var n,r=t[0],i=1;i<t.length;i++){n=r,r=t[i];var a=o(n.end,r.start);a<0||(0!=a||n.isEmpty()||r.isEmpty())&&(o(n.end,r.end)<0&&(n.end.row=r.end.row,n.end.column=r.end.column),t.splice(i,1),e.push(r),r=n,i--)}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var o=this.pointIndex({row:t,column:0},r);o<0&&(o=-o-1);for(var i=[],a=r;a<o;a++)i.push(n[a]);return i},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on(\"change\",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener(\"change\",this.onChange),this.session=null)},this.$onChange=function(e){if(\"insert\"==e.action)var t=e.start,n=e.end;else var n=e.start,t=e.end;for(var r=t.row,o=n.row,i=o-r,a=-t.column+n.column,s=this.ranges,u=0,l=s.length;u<l;u++){var c=s[u];if(!(c.end.row<r)){if(c.start.row>r)break;if(c.start.row==r&&c.start.column>=t.column&&(c.start.column==t.column&&this.$insertRight||(c.start.column+=a,c.start.row+=i)),c.end.row==r&&c.end.column>=t.column){if(c.end.column==t.column&&this.$insertRight)continue;c.end.column==t.column&&a>0&&u<l-1&&c.end.column>c.start.column&&c.end.column==s[u+1].start.column&&(c.end.column-=a),c.end.column+=a,c.end.row+=i}}}if(0!=i&&u<l)for(;u<l;u++){var c=s[u];c.start.row+=i,c.end.row+=i}}}).call(i.prototype),t.RangeList=i}),ace.define(\"ace/edit_session/fold\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/range_list\",\"ace/lib/oop\"],function(e,t,n){\"use strict\";function r(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function o(e,t){r(e.start,t),r(e.end,t)}function i(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}function a(e,t){i(e.start,t),i(e.end,t)}var s=(e(\"../range\").Range,e(\"../range_list\").RangeList),u=e(\"../lib/oop\"),l=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};u.inherits(l,s),function(){this.toString=function(){return'\"'+this.placeholder+'\" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new l(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){if(!this.range.containsRange(e))throw new Error(\"A fold can't intersect already existing fold\"+e.range+this.range);o(e,this.start);for(var t=e.start.row,n=e.start.column,r=0,i=-1;r<this.subFolds.length&&(i=this.subFolds[r].range.compare(t,n),1==i);r++);var a=this.subFolds[r];if(0==i)return a.addSubFold(e);for(var t=e.range.end.row,n=e.range.end.column,s=r,i=-1;s<this.subFolds.length&&(i=this.subFolds[s].range.compare(t,n),1==i);s++);this.subFolds[s];if(0==i)throw new Error(\"A fold can't intersect already existing fold\"+e.range+this.range);this.subFolds.splice(r,s-r,e);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return a(e,this.start)}}.call(l.prototype)}),ace.define(\"ace/edit_session/folding\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/edit_session/fold_line\",\"ace/edit_session/fold\",\"ace/token_iterator\"],function(e,t,n){\"use strict\";function r(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;for(var o=r.folds,i=0;i<o.length;i++){var a=o[i];if(a.range.contains(e,t)){if(1==n&&a.range.isEnd(e,t))continue;if(n==-1&&a.range.isStart(e,t))continue;return a}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,o=[];t.column+=1,n.column-=1;for(var i=0;i<r.length;i++){var a=r[i].range.compareRange(e);if(2!=a){if(a==-2)break;for(var s=r[i].folds,u=0;u<s.length;u++){var l=s[u];if(a=l.range.compareRange(e),a==-2)break;if(2!=a){if(42==a)break;o.push(l)}}}}return t.column-=1,n.column+=1,o},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){if(r=r||this.getFoldLine(e),!r)return null;for(var o,i,a={end:{column:0}},s=0;s<r.folds.length;s++){i=r.folds[s];var u=i.range.compareEnd(e,t);if(u==-1){o=this.getLine(i.start.row).substring(a.end.column,i.start.column);break}if(0===u)return null;a=i}return o||(o=this.getLine(i.start.row).substring(a.end.column)),n==-1?o.substring(0,t-a.end.column):1==n?o.substring(t-a.end.column):o},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),r==-1&&(r=0),r;r<n.length;r++){var o=n[r];if(o.start.row<=e&&o.end.row>=e)return o;if(o.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),r==-1&&(r=0),r;r<n.length;r++){var o=n[r];if(o.end.row>=e)return o}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,r=t-e+1,o=0;o<n.length;o++){var i=n[o],a=i.end.row,s=i.start.row;if(a>=t){s<t&&(s>=e?r-=t-s:r=0);break}a>=e&&(r-=s>=e?a-s:a-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n,r=this.$foldData,o=!1;e instanceof a?n=e:(n=new a(t,e),n.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(n.range);var s=n.start.row,u=n.start.column,l=n.end.row,c=n.end.column;if(!(s<l||s==l&&u<=c-2))throw new Error(\"The range has to be at least 2 characters width\");var d=this.getFoldAt(s,u,1),f=this.getFoldAt(l,c,-1);if(d&&f==d)return d.addSubFold(n);d&&!d.range.isStart(s,u)&&this.removeFold(d),f&&!f.range.isEnd(l,c)&&this.removeFold(f);var p=this.getFoldsInRange(n.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){n.addSubFold(e)}));for(var h=0;h<r.length;h++){var m=r[h];if(l==m.start.row){m.addFold(n),o=!0;break}if(s==m.end.row){if(m.addFold(n),o=!0,!n.sameRow){var g=r[h+1];if(g&&g.start.row==l){m.merge(g);break}}break}if(l<=m.start.row)break}return o||(m=this.$addFoldLine(new i(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(m.start.row,m.start.row):this.$updateRowLengthCache(m.start.row,m.start.row),this.$modified=!0,this._signal(\"changeFold\",{data:n,action:\"add\"}),n},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,o=this.$foldData,i=t.folds;if(1==i.length)o.splice(o.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))i.pop(),t.end.row=i[i.length-1].end.row,t.end.column=i[i.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))i.shift(),t.start.row=i[0].start.row,t.start.column=i[0].start.column;else if(e.sameRow)i.splice(i.indexOf(e),1);else{var a=t.split(e.start.row,e.start.column);i=a.folds,i.shift(),a.start.row=i[0].start.row,a.start.column=i[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal(\"changeFold\",{data:e,action:\"remove\"})},this.removeFolds=function(e){for(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,r;if(null==e?(n=new o(0,0,this.getLength(),0),t=!0):n=\"number\"==typeof e?new o(e,0,e,this.getLine(e).length):\"row\"in e?o.fromPoints(e,e):e,r=this.getFoldsInRangeList(n),t)this.removeFolds(r);else for(var i=r;i.length;)this.expandFolds(i),i=this.getFoldsInRangeList(n);if(r.length)return r},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,o){null==r&&(r=e.start.row),null==o&&(o=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var i=this.doc,a=\"\";return e.walk(function(e,t,n,s){if(!(t<r)){if(t==r){if(n<o)return;s=Math.max(o,s)}a+=null!=e?e:i.getLine(t).substring(s,n)}},t,n),a},this.getDisplayLine=function(e,t,n,r){var o=this.getFoldLine(e);if(o)return this.getFoldDisplayLine(o,e,t,n,r);var i;return i=this.doc.getLine(e),i.substring(r||0,t||i.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)})},this.toggleFold=function(e){var t,n,r=this.selection,o=r.getRange();if(o.isEmpty()){var i=o.start;if(t=this.getFoldAt(i.row,i.column))return void this.expandFold(t);(n=this.findMatchingBracket(i))?1==o.comparePoint(n)?o.end=n:(o.start=n,o.start.column++,o.end.column--):(n=this.findMatchingBracket({row:i.row,column:i.column+1}))?(1==o.comparePoint(n)?o.end=n:o.start=n,o.start.column++):o=this.getCommentFoldRange(i.row,i.column)||o}else{var a=this.getFoldsInRange(o);if(e&&a.length)return void this.expandFolds(a);1==a.length&&(t=a[0])}if(t||(t=this.getFoldAt(o.start.row,o.start.column)),t&&t.range.toString()==o.toString())return void this.expandFold(t);var s=\"...\";if(!o.isMultiLine()){if(s=this.getTextRange(o),s.length<4)return;s=s.trim().substring(0,2)+\"..\"}this.addFold(s,o)},this.getCommentFoldRange=function(e,t,n){var r=new s(this,e,t),i=r.getCurrentToken(),a=i.type;if(i&&/^comment|string/.test(a)){a=a.match(/comment|string/)[0],\"comment\"==a&&(a+=\"|doc-start\");var u=new RegExp(a),l=new o;if(1!=n){do i=r.stepBackward();while(i&&u.test(i.type));r.stepForward()}if(l.start.row=r.getCurrentTokenRow(),l.start.column=r.getCurrentTokenColumn()+2,r=new s(this,e,t),n!=-1){var c=-1;do if(i=r.stepForward(),c==-1){var d=this.getState(r.$row);u.test(d)||(c=r.$row)}else if(r.$row>c)break;while(i&&u.test(i.type));i=r.stepBackward()}else i=r.getCurrentToken();return l.end.row=r.getCurrentTokenRow(),l.end.column=r.getCurrentTokenColumn()+i.value.length-2,l}},this.foldAll=function(e,t,n){void 0==n&&(n=1e5);var r=this.foldWidgets;if(r){t=t||this.getLength(),e=e||0;for(var o=e;o<t;o++)if(null==r[o]&&(r[o]=this.getFoldWidget(o)),\"start\"==r[o]){var i=this.getFoldWidgetRange(o);if(i&&i.isMultiLine()&&i.end.row<=t&&i.start.row>=e){o=i.end.row;try{var a=this.addFold(\"...\",i);a&&(a.collapseChildren=n)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle=\"markbegin\",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error(\"invalid fold style: \"+e+\"[\"+Object.keys(this.$foldStyles).join(\", \")+\"]\");if(this.$foldStyle!=e){this.$foldStyle=e,\"manual\"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){if(this.$foldMode!=e){if(this.$foldMode=e,this.off(\"change\",this.$updateFoldWidgets),this.off(\"tokenizerUpdate\",this.$tokenizerUpdateFoldWidgets),this._signal(\"changeAnnotation\"),!e||\"manual\"==this.$foldStyle)return void(this.foldWidgets=null);this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on(\"change\",this.$updateFoldWidgets),this.on(\"tokenizerUpdate\",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var r,o=e-1;o>=0;){var i=n[o];if(null==i&&(i=n[o]=this.getFoldWidget(o)),\"start\"==i){var a=this.getFoldWidgetRange(o);if(r||(r=a),a&&a.end.row>=e)break}o--}return{range:o!==-1&&a,firstRange:r}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var o=t.target||t.srcElement;o&&/ace_fold-widget/.test(o.className)&&(o.className+=\" ace_invalid\")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),r=this.getLine(e),o=\"end\"===n?-1:1,i=this.getFoldAt(e,o===-1?0:r.length,o);if(i)return t.children||t.all?this.removeFold(i):this.expandFold(i),i;var a=this.getFoldWidgetRange(e,!0);if(a&&!a.isMultiLine()&&(i=this.getFoldAt(a.start.row,a.start.column,1),i&&a.isEqual(i.range)))return this.removeFold(i),i;if(t.siblings){var s=this.getParentFoldRangeData(e);if(s.range)var u=s.range.start.row+1,l=s.range.end.row;this.foldAll(u,l,t.all?1e4:0)}else t.children?(l=a?a.end.row:this.getLength(),this.foldAll(e+1,l,t.all?1e4:0)):a&&(t.all&&(a.collapseChildren=1e4),this.addFold(\"...\",a));return a}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var r=this.getParentFoldRangeData(t,!0);if(n=r.range||r.firstRange){t=n.start.row;var o=this.getFoldAt(t,this.getLine(t).length,1);o?this.removeFold(o):this.addFold(\"...\",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if(\"remove\"==e.action)this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var o=e(\"../range\").Range,i=e(\"./fold_line\").FoldLine,a=e(\"./fold\").Fold,s=e(\"../token_iterator\").TokenIterator;t.Folding=r}),ace.define(\"ace/edit_session/bracket_match\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\",\"ace/range\"],function(e,t,n){\"use strict\";function r(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(\"\"==n)return null;var r=n.match(/([\\(\\[\\{])|([\\)\\]\\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),r=!0,o=n.charAt(e.column-1),a=o&&o.match(/([\\(\\[\\{])|([\\)\\]\\}])/);if(a||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},a=o&&o.match(/([\\(\\[\\{])|([\\)\\]\\}])/),r=!1),!a)return null;if(a[1]){var s=this.$findClosingBracket(a[1],e);if(!s)return null;t=i.fromPoints(e,s),r||(t.end.column++,t.start.column--),t.cursor=t.end}else{var s=this.$findOpeningBracket(a[2],e);if(!s)return null;t=i.fromPoints(s,e),r||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={\")\":\"(\",\"(\":\")\",\"]\":\"[\",\"[\":\"]\",\"{\":\"}\",\"}\":\"{\"},this.$findOpeningBracket=function(e,t,n){var r=this.$brackets[e],i=1,a=new o(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp(\"(\\\\.?\"+s.type.replace(\".\",\"\\\\.\").replace(\"rparen\",\".paren\").replace(/\\b(?:end)\\b/,\"(?:start|begin|end)\")+\")+\"));for(var u=t.column-a.getCurrentTokenColumn()-2,l=s.value;;){for(;u>=0;){var c=l.charAt(u);if(c==r){if(i-=1,0==i)return{row:a.getCurrentTokenRow(),column:u+a.getCurrentTokenColumn()}}else c==e&&(i+=1);u-=1}do s=a.stepBackward();while(s&&!n.test(s.type));if(null==s)break;l=s.value,u=l.length-1}return null}},this.$findClosingBracket=function(e,t,n){var r=this.$brackets[e],i=1,a=new o(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp(\"(\\\\.?\"+s.type.replace(\".\",\"\\\\.\").replace(\"lparen\",\".paren\").replace(/\\b(?:start|begin)\\b/,\"(?:start|begin|end)\")+\")+\"));for(var u=t.column-a.getCurrentTokenColumn();;){for(var l=s.value,c=l.length;u<c;){var d=l.charAt(u);if(d==r){if(i-=1,0==i)return{row:a.getCurrentTokenRow(),column:u+a.getCurrentTokenColumn()}}else d==e&&(i+=1);u+=1}do s=a.stepForward();while(s&&!n.test(s.type));if(null==s)break;u=0}return null}}}var o=e(\"../token_iterator\").TokenIterator,i=e(\"../range\").Range;t.BracketMatch=r}),ace.define(\"ace/edit_session\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/bidihandler\",\"ace/config\",\"ace/lib/event_emitter\",\"ace/selection\",\"ace/mode/text\",\"ace/range\",\"ace/document\",\"ace/background_tokenizer\",\"ace/search_highlight\",\"ace/edit_session/folding\",\"ace/edit_session/bracket_match\"],function(e,n,r){\"use strict\";var o=e(\"./lib/oop\"),i=e(\"./lib/lang\"),a=e(\"./bidihandler\").BidiHandler,s=e(\"./config\"),u=e(\"./lib/event_emitter\").EventEmitter,l=e(\"./selection\").Selection,c=e(\"./mode/text\").Mode,d=e(\"./range\").Range,f=e(\"./document\").Document,p=e(\"./background_tokenizer\").BackgroundTokenizer,h=e(\"./search_highlight\").SearchHighlight,m=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id=\"session\"+ ++m.$uid,this.$foldData.toString=function(){return this.join(\"\\n\")},this.on(\"changeFold\",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),\"object\"==typeof e&&e.getLine||(e=new f(e)),this.$bidiHandler=new a(this),this.setDocument(e),this.selection=new l(this),s.resetOptions(this),this.setMode(t),s._signal(\"session\",this)};m.$uid=0,function(){function e(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}o.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener(\"change\",this.$onChange),this.doc=e,e.on(\"change\",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,r=e.length-1;n<=r;){var o=n+r>>1,i=e[o];if(t>i)n=o+1;else{if(!(t<i))return o;r=o-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);this.$fromUndo||!this.$undoManager||e.ignore||(this.$deltasDoc.push(e),t&&0!=t.length&&this.$deltasFold.push({action:\"removeFolds\",folds:t}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal(\"change\",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n,r=this.bgTokenizer.getTokens(e),o=0;if(null==t){var i=r.length-1;o=this.getLine(e).length}else for(var i=0;i<r.length&&(o+=r[i].value.length,!(o>=t));i++);return(n=r[i])?(n.index=i,n.start=o-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:\"fold\",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:\"doc\",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:\"aceupdate\",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(\" \",this.getTabSize()):\"\\t\"},this.setUseSoftTabs=function(e){this.setOption(\"useSoftTabs\",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption(\"tabSize\",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption(\"navigateWithinSoftTabs\",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption(\"overwrite\",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=\"\"),this.$decorations[e]+=\" \"+t,this._signal(\"changeBreakpoint\",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||\"\").replace(\" \"+t,\"\"),this._signal(\"changeBreakpoint\",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]=\"ace_breakpoint\";this._signal(\"changeBreakpoint\",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal(\"changeBreakpoint\",{})},this.setBreakpoint=function(e,t){void 0===t&&(t=\"ace_breakpoint\"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal(\"changeBreakpoint\",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal(\"changeBreakpoint\",{})},this.addMarker=function(e,t,n,r){var o=this.$markerId++,i={range:e,type:n||\"line\",renderer:\"function\"==typeof n?n:null,clazz:t,inFront:!!r,id:o};return r?(this.$frontMarkers[o]=i,this._signal(\"changeFrontMarker\")):(this.$backMarkers[o]=i,this._signal(\"changeBackMarker\")),o},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal(\"changeFrontMarker\")):(this.$backMarkers[n]=e,this._signal(\"changeBackMarker\")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?\"changeFrontMarker\":\"changeBackMarker\"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new h(null,\"ace_selected-word\",\"text\");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){\"number\"!=typeof t&&(n=t,t=e),n||(n=\"ace_step\");var o=new d(e,0,t,1/0);return o.id=this.addMarker(o,n,\"fullLine\",r),o},this.setAnnotations=function(e){this.$annotations=e,this._signal(\"changeAnnotation\",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\\r?\\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine=\"\\n\"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;if(t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe)),r)var o=this.tokenRe;else if(/^\\s+$/.test(n.slice(t-1,t+1)))var o=/\\s/;else var o=this.nonTokenRe;var i=t;if(i>0){do i--;while(i>=0&&n.charAt(i).match(o));i++}for(var a=t;a<n.length&&n.charAt(a).match(o);)a++;return new d(e,i,e,a)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),r=this.getLine(n.end.row);r.charAt(n.end.column).match(/[ \\t]/);)n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption(\"useWorker\",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal(\"tokenizerUpdate\",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&\"object\"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||\"ace/mode/text\";return this.$modes[\"ace/mode/text\"]||(this.$modes[\"ace/mode/text\"]=new c),this.$modes[r]&&!n?(this.$onChangeMode(this.$modes[r]),void(t&&t())):(this.$modeId=r,s.loadModule([\"mode\",r],function(e){return this.$modeId!==r?t&&t():(this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),void(t&&t()))}.bind(this)),void(this.$mode||this.$onChangeMode(this.$modes[\"ace/mode/text\"],!0)))},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(void 0!==n.addEventListener){var r=this.onReloadTokenizer.bind(this);n.addEventListener(\"update\",r)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(n);else{this.bgTokenizer=new p(n);var o=this;this.bgTokenizer.addEventListener(\"update\",function(e){o._signal(\"tokenizerUpdate\",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit(\"changeMode\"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn(\"Could not load worker\",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal(\"changeScrollTop\",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal(\"changeScrollLeft\",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),\nthis.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,o=0,i=this.$foldData[o],a=i?i.start.row:1/0,s=t.length,u=0;u<s;u++){if(u>a){if(u=i.end.row+1,u>=s)break;i=this.$foldData[o++],a=i?i.start.row:1/0}null==n[u]&&(n[u]=this.$getStringScreenWidth(t[u])[0]),n[u]>r&&(r=n[u])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=e.length-1;r!=-1;r--){var o=e[r];\"doc\"==o.group?(this.doc.revertDeltas(o.deltas),n=this.$getUndoSelection(o.deltas,!0,n)):o.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=0;r<e.length;r++){var o=e[r];\"doc\"==o.group&&(this.doc.applyDeltas(o.deltas),n=this.$getUndoSelection(o.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){return t?\"insert\"!==e.action:\"insert\"===e.action}var o,i,a=e[0],s=!1;r(a)?(o=d.fromPoints(a.start,a.end),s=!0):(o=d.fromPoints(a.start,a.start),s=!1);for(var u=1;u<e.length;u++)a=e[u],r(a)?(i=a.start,o.compare(i.row,i.column)==-1&&o.setStart(i),i=a.end,1==o.compare(i.row,i.column)&&o.setEnd(i),s=!0):(i=a.start,o.compare(i.row,i.column)==-1&&(o=d.fromPoints(a.start,a.start)),s=!1);if(null!=n){0===d.comparePoints(n.start,o.start)&&(n.start.column+=o.end.column-o.start.column,n.end.column+=o.end.column-o.start.column);var l=n.compareRange(o);1==l?o.setStart(n.start):l==-1&&o.setEnd(n.end)}return o},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),o=this.getFoldsInRange(e),i=d.fromPoints(t,t);if(!n){this.remove(e);var a=e.start.row-e.end.row,s=a?-e.end.column:e.start.column-e.end.column;s&&(i.start.row==e.end.row&&i.start.column>e.end.column&&(i.start.column+=s),i.end.row==e.end.row&&i.end.column>e.end.column&&(i.end.column+=s)),a&&i.start.row>=e.end.row&&(i.start.row+=a,i.end.row+=a)}if(i.end=this.insert(i.start,r),o.length){var u=e.start,l=i.start,a=l.row-u.row,s=l.column-u.column;this.addFolds(o.map(function(e){return e=e.clone(),e.start.row==u.row&&(e.start.column+=s),e.end.row==u.row&&(e.end.column+=s),e.start.row+=a,e.end.row+=a,e}))}return i},this.indentRows=function(e,t,n){n=n.replace(/\\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new d(0,0,0,0),r=this.getTabSize(),o=t.start.row;o<=t.end.row;++o){var i=this.getLine(o);n.start.row=o,n.end.row=o;for(var a=0;a<r&&\" \"==i.charAt(a);++a);a<r&&\"\\t\"==i.charAt(a)?(n.start.column=a,n.end.column=a+1):(n.start.column=0,n.end.column=a),this.remove(n)}},this.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var o=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var o=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var o=t-e+1}var i=new d(e,0,t,Number.MAX_VALUE),a=this.getFoldsInRange(i).map(function(e){return e=e.clone(),e.start.row+=o,e.end.row+=o,e}),s=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+o,s),a.length&&this.addFolds(a),o},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal(\"changeWrapMode\")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal(\"changeWrapMode\"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1&&(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal(\"changeWrapLimit\")),!0)},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var n=this.$useWrapMode,r=e.action,o=e.start,i=e.end,a=o.row,s=i.row,u=s-a,l=null;if(this.$updating=!0,0!=u)if(\"remove\"===r){this[n?\"$wrapData\":\"$rowLengthCache\"].splice(a,u);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var d=this.getFoldLine(i.row),f=0;if(d){d.addRemoveChars(i.row,i.column,o.column-i.column),d.shiftRow(-u);var p=this.getFoldLine(a);p&&p!==d&&(p.merge(d),d=p),f=c.indexOf(d)+1}for(f;f<c.length;f++){var d=c[f];d.start.row>=i.row&&d.shiftRow(-u)}s=a}else{var h=Array(u);h.unshift(a,0);var m=n?this.$wrapData:this.$rowLengthCache;m.splice.apply(m,h);var c=this.$foldData,d=this.getFoldLine(a),f=0;if(d){var g=d.range.compareInside(o.row,o.column);0==g?(d=d.split(o.row,o.column),d&&(d.shiftRow(u),d.addRemoveChars(s,0,i.column-o.column))):g==-1&&(d.addRemoveChars(a,0,i.column-o.column),d.shiftRow(u)),f=c.indexOf(d)+1}for(f;f<c.length;f++){var d=c[f];d.start.row>=a&&d.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),\"remove\"===r&&(l=this.getFoldsInRange(e),this.removeFolds(l),u=-u);var d=this.getFoldLine(a);d&&d.addRemoveChars(a,o.column,u)}return n&&this.$wrapData.length!=this.doc.getLength()&&t.error(\"doc.getLength() and $wrapData.length have to be the same!\"),this.$updating=!1,n?this.$updateWrapData(a,s):this.$updateRowLengthCache(a,s),l},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n,r,o=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,u=this.$wrapLimit,c=e;for(t=Math.min(t,o.length-1);c<=t;)r=this.getFoldLine(c,r),r?(n=[],r.walk(function(e,t,r,i){var s;if(null!=e){s=this.$getDisplayTokens(e,n.length),s[0]=a;for(var u=1;u<s.length;u++)s[u]=l}else s=this.$getDisplayTokens(o[t].substring(i,r),n.length);n=n.concat(s)}.bind(this),r.end.row,o[r.end.row].length+1),s[r.start.row]=this.$computeWrapSplits(n,u,i),c=r.end.row+1):(n=this.$getDisplayTokens(o[c]),s[c]=this.$computeWrapSplits(n,u,i),c++)};var n=1,r=2,a=3,l=4,f=9,m=10,g=11,_=12;this.$computeWrapSplits=function(e,t,n){function o(){var t=0;if(0===b)return t;if(h)for(var r=0;r<e.length;r++){var o=e[r];if(o==m)t+=1;else{if(o!=g){if(o==_)continue;break}t+=n}}return p&&h!==!1&&(t+=n),Math.min(t,b)}function i(t){var n=e.slice(c,t),r=n.length;n.join(\"\").replace(/12/g,function(){r-=1}).replace(/2/g,function(){r-=1}),s.length||(y=o(),s.indent=y),d+=r,s.push(d),c=t}if(0==e.length)return[];for(var s=[],u=e.length,c=0,d=0,p=this.$wrapAsCode,h=this.$indentedSoftWrap,b=t<=Math.max(2*n,8)||h===!1?0:Math.floor(t/2),y=0;u-c>t-y;){var v=c+t-y;if(e[v-1]>=m&&e[v]>=m)i(v);else if(e[v]!=a&&e[v]!=l){for(var M=Math.max(v-(t-(t>>2)),c-1);v>M&&e[v]<a;)v--;if(p){for(;v>M&&e[v]<a;)v--;for(;v>M&&e[v]==f;)v--}else for(;v>M&&e[v]<m;)v--;v>M?i(++v):(v=c+t,e[v]==r&&v--,i(v-y))}else{for(v;v!=c-1&&e[v]!=a;v--);if(v>c){i(v);continue}for(v=c+t;v<e.length&&e[v]==l;v++);if(v==e.length)break;i(v)}}return s},this.$getDisplayTokens=function(t,o){var i,a=[];o=o||0;for(var s=0;s<t.length;s++){var u=t.charCodeAt(s);if(9==u){i=this.getScreenTabSize(a.length+o),a.push(g);for(var l=1;l<i;l++)a.push(_)}else 32==u?a.push(m):u>39&&u<48||u>57&&u<64?a.push(f):u>=4352&&e(u)?a.push(n,r):a.push(n)}return a},this.$getStringScreenWidth=function(t,n,r){if(0==n)return[0,0];null==n&&(n=1/0),r=r||0;var o,i;for(i=0;i<t.length&&(o=t.charCodeAt(i),r+=9==o?this.getScreenTabSize(r):o>=4352&&e(o)?2:1,!(r>n));i++);return[r,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,o,i=0,a=0,s=0,u=0,l=this.$screenRowCache,c=this.$getRowCacheIndex(l,e),d=l.length;if(d&&c>=0)var s=l[c],i=this.$docRowCache[c],f=e>l[d-1];else var f=!d;for(var p=this.getLength()-1,h=this.getNextFoldLine(i),m=h?h.start.row:1/0;s<=e&&(u=this.getRowLength(i),!(s+u>e||i>=p));)s+=u,i++,i>m&&(i=h.end.row+1,h=this.getNextFoldLine(i,h),m=h?h.start.row:1/0),f&&(this.$docRowCache.push(i),this.$screenRowCache.push(s));if(h&&h.start.row<=i)r=this.getFoldDisplayLine(h),i=h.start.row;else{if(s+u<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),h=null}var g=0,_=Math.floor(e-s);if(this.$useWrapMode){var b=this.$wrapData[i];b&&(o=b[_],_>0&&b.length&&(g=b.indent,a=b[_-1]||b[b.length-1],r=r.substring(a)))}return void 0!==n&&this.$bidiHandler.isBidiRow(s+_,i,_)&&(t=this.$bidiHandler.offsetToCol(n)),a+=this.$getStringScreenWidth(r,t-g)[1],this.$useWrapMode&&a>=o&&(a=o-1),h?h.idxToPosition(a):{row:i,column:a}},this.documentToScreenPosition=function(e,t){if(\"undefined\"==typeof t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;var r=0,o=null,i=null;i=this.getFoldAt(e,t,1),i&&(e=i.start.row,t=i.start.column);var a,s=0,u=this.$docRowCache,l=this.$getRowCacheIndex(u,e),c=u.length;if(c&&l>=0)var s=u[l],r=this.$screenRowCache[l],d=e>u[c-1];else var d=!c;for(var f=this.getNextFoldLine(s),p=f?f.start.row:1/0;s<e;){if(s>=p){if(a=f.end.row+1,a>e)break;f=this.getNextFoldLine(a,f),p=f?f.start.row:1/0}else a=s+1;r+=this.getRowLength(s),s=a,d&&(this.$docRowCache.push(s),this.$screenRowCache.push(r))}var h=\"\";f&&s>=p?(h=this.getFoldDisplayLine(f,e,t),o=f.start.row):(h=this.getLine(e).substring(0,t),o=e);var m=0;if(this.$useWrapMode){var g=this.$wrapData[o];if(g){for(var _=0;h.length>=g[_];)r++,_++;h=h.substring(g[_-1]||0,h.length),m=_>0?g.indent:0}}return{row:r,column:m+this.$getStringScreenWidth(h)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var n=this.$wrapData.length,r=0,o=0,t=this.$foldData[o++],i=t?t.start.row:1/0;r<n;){var a=this.$wrapData[r];e+=a?a.length+1:1,r++,r>i&&(r=t.end.row+1,t=this.$foldData[o++],i=t?t.start.row:1/0)}else{e=this.getLength();for(var s=this.$foldData,o=0;o<s.length;o++)t=s[o],e-=t.end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,r){if(0===n)return[0,0];n||(n=1/0),r=r||0;var o,i;for(i=0;i<t.length&&(o=t.charAt(i),r+=\"\\t\"===o?this.getScreenTabSize(r):e.getCharacterWidth(o),!(r>n));i++);return[r,i]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=e}.call(m.prototype),e(\"./edit_session/folding\").Folding.call(m.prototype),e(\"./edit_session/bracket_match\").BracketMatch.call(m.prototype),s.defineOptions(m.prototype,\"session\",{wrap:{set:function(e){if(e&&\"off\"!=e?\"free\"==e?e=!0:\"printMargin\"==e?e=-1:\"string\"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t=\"number\"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?this.$wrap==-1?\"printMargin\":this.getWrapLimitRange().min?this.$wrap:\"free\":\"off\"},handlesSet:!0},wrapMethod:{set:function(e){e=\"auto\"==e?\"text\"!=this.$mode.type:\"text\"!=e,e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:\"auto\"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal(\"changeBreakpoint\")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal(\"changeTabSize\"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},overwrite:{set:function(e){this._signal(\"changeOverwrite\")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),n.EditSession=m}),ace.define(\"ace/search\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t){function n(e){return/\\w/.test(e)||t.regExp?\"\\\\b\":\"\"}return n(e[0])+e+n(e[e.length-1])}var o=e(\"./lib/lang\"),i=e(\"./lib/oop\"),a=e(\"./range\").Range,s=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return o.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,o,i){return r=new a(e,n,o,i),!(n==i&&t.start&&t.start.start&&0!=t.skipCurrent&&r.isEqual(t.start))||(r=null,!1)}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,r=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),i=[],s=t.re;if(t.$isMultiLine){var u,l=s.length,c=r.length-l;e:for(var d=s.offset||0;d<=c;d++){for(var f=0;f<l;f++)if(r[d+f].search(s[f])==-1)continue e;var p=r[d],h=r[d+l-1],m=p.length-p.match(s[0])[0].length,g=h.match(s[l-1])[0].length;u&&u.end.row===d&&u.end.column>m||(i.push(u=new a(d,m,d+l-1,g)),l>2&&(d=d+l-2))}}else for(var _=0;_<r.length;_++)for(var b=o.getMatchOffsets(r[_],s),f=0;f<b.length;f++){var y=b[f];i.push(new a(_,y.offset,_,y.offset+y.length))}if(n){for(var v=n.start.column,M=n.start.column,_=0,f=i.length-1;_<f&&i[_].start.column<v&&i[_].start.row==n.start.row;)_++;for(;_<f&&i[f].end.column>M&&i[f].end.row==n.end.row;)f--;for(i=i.slice(_,f+1),_=0,f=i.length;_<f;_++)i[_].start.row+=n.start.row,i[_].end.row+=n.start.row}return i},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(r){var o=r.exec(e);if(!o||o[0].length!=e.length)return null;if(t=e.replace(r,t),n.preserveCase){t=t.split(\"\");for(var i=Math.min(e.length,e.length);i--;){var a=e[i];a&&a.toLowerCase()!=a?t[i]=t[i].toUpperCase():t[i]=t[i].toLowerCase()}t=t.join(\"\")}return t}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=o.escapeRegExp(n)),e.wholeWord&&(n=r(n,e));var i=e.caseSensitive?\"gm\":\"gmi\";if(e.$isMultiLine=!t&&/[\\n\\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var a=new RegExp(n,i)}catch(e){a=!1}return e.re=a},this.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\\r\\n|\\r|\\n/g,\"$\\n^\").split(\"\\n\"),r=[],o=0;o<n.length;o++)try{r.push(new RegExp(n[o],t))}catch(e){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=1==t.backwards,o=0!=t.skipCurrent,i=t.range,a=t.start;a||(a=i?i[r?\"end\":\"start\"]:e.selection.getRange()),a.start&&(a=a[o!=r?\"end\":\"start\"]);var s=i?i.start.row:0,u=i?i.end.row:e.getLength()-1;if(r)var l=function(e){var n=a.row;if(!d(n,a.column,e)){for(n--;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(n=u,s=a.row;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return}};else var l=function(e){var n=a.row;if(!d(n,a.column,e)){for(n+=1;n<=u;n++)if(d(n,0,e))return;if(0!=t.wrap)for(n=s,u=a.row;n<=u;n++)if(d(n,0,e))return}};if(t.$isMultiLine)var c=n.length,d=function(t,o,i){var a=r?t-c+1:t;if(!(a<0)){var s=e.getLine(a),u=s.search(n[0]);if(!(!r&&u<o||u===-1)){for(var l=1;l<c;l++)if(s=e.getLine(a+l),s.search(n[l])==-1)return;var d=s.match(n[c-1])[0].length;if(!(r&&d>o))return!!i(a,u,a+c-1,d)||void 0}}};else if(r)var d=function(t,r,o){var i,a=e.getLine(t),s=[],u=0;for(n.lastIndex=0;i=n.exec(a);){var l=i[0].length;if(u=i.index,!l){if(u>=a.length)break;n.lastIndex=u+=1}if(i.index+l>r)break;s.push(i.index,l)}for(var c=s.length-1;c>=0;c-=2){var d=s[c-1],l=s[c];if(o(t,d,t,d+l))return!0}};else var d=function(t,r,o){var i,a=e.getLine(t),s=r;for(n.lastIndex=r;i=n.exec(a);){var u=i[0].length;if(s=i.index,o(t,s,t,s+u))return!0;if(!u&&(n.lastIndex=s+=1,s>=a.length))return!1}};return{forEach:l}}}).call(s.prototype),t.Search=s}),ace.define(\"ace/keyboard/hash_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"],function(e,n,r){\"use strict\";function o(e,t){this.platform=t||(s.isMac?\"mac\":\"win\"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function i(e,t){o.call(this,e,t),this.$singleCommand=!1}var a=e(\"../lib/keys\"),s=e(\"../lib/useragent\"),u=a.KEY_MODS;i.prototype=o.prototype,function(){function e(e){return\"object\"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(\"string\"==typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var o in r){var i=r[o];if(i==e)delete r[o];else if(Array.isArray(i)){var a=i.indexOf(e);a!=-1&&(i.splice(a,1),1==i.length&&(r[o]=i[0]))}}},this.bindKey=function(e,t,n){if(\"object\"==typeof e&&e&&(void 0==n&&(n=e.position),e=e[this.platform]),e)return\"function\"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split(\"|\").forEach(function(e){var r=\"\";if(e.indexOf(\" \")!=-1){var o=e.split(/\\s+/);e=o.pop(),o.forEach(function(e){var t=this.parseKeys(e),n=u[t.hashId]+t.key;r+=(r?\" \":\"\")+n,this._addCommandToBinding(r,\"chainKeys\")},this),r+=\" \"}var i=this.parseKeys(e),a=u[i.hashId]+i.key;this._addCommandToBinding(r+a,t,n)},this)},this._addCommandToBinding=function(t,n,r){var o,i=this.commandKeyBinding;if(n)if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(o=i[t].indexOf(n))!=-1&&i[t].splice(o,1):i[t]=[i[t]],\"number\"!=typeof r&&(r=e(n));var a=i[t];for(o=0;o<a.length;o++){var s=a[o],u=e(s);if(u>r)break}a.splice(o,0,n)}else delete i[t]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(n){if(\"string\"==typeof n)return this.bindKey(n,t);\"function\"==typeof n&&(n={exec:n}),\"object\"==typeof n&&(n.name||(n.name=t),this.addCommand(n))}},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var n=e.toLowerCase().split(/[\\-\\+]([\\-\\+])?/).filter(function(e){return e}),r=n.pop(),o=a[r];if(a.FUNCTION_KEYS[o])r=a.FUNCTION_KEYS[o].toLowerCase();else{if(!n.length)return{key:r,hashId:-1};if(1==n.length&&\"shift\"==n[0])return{key:r.toUpperCase(),hashId:-1}}for(var i=0,s=n.length;s--;){var u=a.KEY_MODS[n[s]];if(null==u)return\"undefined\"!=typeof t&&t.error(\"invalid modifier \"+n[s]+\" in \"+e),!1;i|=u}return{key:r,hashId:i}},this.findKeyCommand=function(e,t){var n=u[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,r){if(!(r<0)){var o=u[t]+n,i=this.commandKeyBinding[o];return e.$keyChain&&(e.$keyChain+=\" \"+o,i=this.commandKeyBinding[e.$keyChain]||i),!i||\"chainKeys\"!=i&&\"chainKeys\"!=i[i.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(t==-1||r>0)&&(e.$keyChain=\"\"):e.$keyChain=e.$keyChain.slice(0,-o.length-1)),{command:i}):(e.$keyChain=e.$keyChain||o,{command:\"null\"})}},this.getStatusText=function(e,t){return t.$keyChain||\"\"}}.call(o.prototype),n.HashHandler=o,n.MultiHashHandler=i}),ace.define(\"ace/commands/command_manager\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/keyboard/hash_handler\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"../lib/oop\"),o=e(\"../keyboard/hash_handler\").MultiHashHandler,i=e(\"../lib/event_emitter\").EventEmitter,a=function(e,t){o.call(this,t,e),this.byName=this.commands,this.setDefaultHandler(\"exec\",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(a,o),function(){r.implement(this,i),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}if(\"string\"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(e.isAvailable&&!e.isAvailable(t))return!1;var o={editor:t,command:e,args:n};return o.returnValue=this._emit(\"exec\",o),this._signal(\"afterExec\",o),o.returnValue!==!1},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit(\"changeStatus\"),this.recording?(this.macro.pop(),this.removeEventListener(\"exec\",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on(\"exec\",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){\"string\"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map(function(e){return\"string\"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(a.prototype),t.CommandManager=a}),ace.define(\"ace/commands/default_commands\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/config\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t){return{win:e,mac:t}}var o=e(\"../lib/lang\"),i=e(\"../config\"),a=e(\"../range\").Range;t.commands=[{name:\"showSettingsMenu\",bindKey:r(\"Ctrl-,\",\"Command-,\"),exec:function(e){i.loadModule(\"ace/ext/settings_menu\",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:\"goToNextError\",bindKey:r(\"Alt-E\",\"F4\"),exec:function(e){i.loadModule(\"ace/ext/error_marker\",function(t){t.showErrorMarker(e,1)})},scrollIntoView:\"animate\",readOnly:!0},{name:\"goToPreviousError\",bindKey:r(\"Alt-Shift-E\",\"Shift-F4\"),exec:function(e){i.loadModule(\"ace/ext/error_marker\",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:\"animate\",readOnly:!0},{name:\"selectall\",bindKey:r(\"Ctrl-A\",\"Command-A\"),exec:function(e){e.selectAll()},readOnly:!0},{name:\"centerselection\",bindKey:r(null,\"Ctrl-L\"),exec:function(e){e.centerSelection()},readOnly:!0},{name:\"gotoline\",bindKey:r(\"Ctrl-L\",\"Command-L\"),exec:function(e){var t=parseInt(prompt(\"Enter line number:\"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:\"fold\",bindKey:r(\"Alt-L|Ctrl-F1\",\"Command-Alt-L|Command-F1\"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"unfold\",bindKey:r(\"Alt-Shift-L|Ctrl-Shift-F1\",\"Command-Alt-Shift-L|Command-Shift-F1\"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"toggleFoldWidget\",bindKey:r(\"F2\",\"F2\"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"toggleParentFoldWidget\",bindKey:r(\"Alt-F2\",\"Alt-F2\"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"foldall\",bindKey:r(null,\"Ctrl-Command-Option-0\"),exec:function(e){e.session.foldAll()},scrollIntoView:\"center\",readOnly:!0},{name:\"foldOther\",bindKey:r(\"Alt-0\",\"Command-Option-0\"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:\"center\",readOnly:!0},{name:\"unfoldall\",bindKey:r(\"Alt-Shift-0\",\"Command-Option-Shift-0\"),exec:function(e){e.session.unfold()},scrollIntoView:\"center\",readOnly:!0},{name:\"findnext\",bindKey:r(\"Ctrl-K\",\"Command-G\"),exec:function(e){e.findNext()},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"findprevious\",bindKey:r(\"Ctrl-Shift-K\",\"Command-Shift-G\"),exec:function(e){e.findPrevious()},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"selectOrFindNext\",bindKey:r(\"Alt-K\",\"Ctrl-G\"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:\"selectOrFindPrevious\",bindKey:r(\"Alt-Shift-K\",\"Ctrl-Shift-G\"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:\"find\",bindKey:r(\"Ctrl-F\",\"Command-F\"),exec:function(e){i.loadModule(\"ace/ext/searchbox\",function(t){t.Search(e)})},readOnly:!0},{name:\"overwrite\",bindKey:\"Insert\",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:\"selecttostart\",bindKey:r(\"Ctrl-Shift-Home\",\"Command-Shift-Home|Command-Shift-Up\"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"gotostart\",bindKey:r(\"Ctrl-Home\",\"Command-Home|Command-Up\"),exec:function(e){e.navigateFileStart()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"selectup\",bindKey:r(\"Shift-Up\",\"Shift-Up|Ctrl-Shift-P\"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"golineup\",bindKey:r(\"Up\",\"Up|Ctrl-P\"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selecttoend\",bindKey:r(\"Ctrl-Shift-End\",\"Command-Shift-End|Command-Shift-Down\"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"gotoend\",bindKey:r(\"Ctrl-End\",\"Command-End|Command-Down\"),exec:function(e){e.navigateFileEnd()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"selectdown\",bindKey:r(\"Shift-Down\",\"Shift-Down|Ctrl-Shift-N\"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"golinedown\",bindKey:r(\"Down\",\"Down|Ctrl-N\"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectwordleft\",bindKey:r(\"Ctrl-Shift-Left\",\"Option-Shift-Left\"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotowordleft\",bindKey:r(\"Ctrl-Left\",\"Option-Left\"),exec:function(e){e.navigateWordLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selecttolinestart\",bindKey:r(\"Alt-Shift-Left\",\"Command-Shift-Left|Ctrl-Shift-A\"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotolinestart\",bindKey:r(\"Alt-Left|Home\",\"Command-Left|Home|Ctrl-A\"),exec:function(e){e.navigateLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectleft\",bindKey:r(\"Shift-Left\",\"Shift-Left|Ctrl-Shift-B\"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotoleft\",bindKey:r(\"Left\",\"Left|Ctrl-B\"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectwordright\",bindKey:r(\"Ctrl-Shift-Right\",\"Option-Shift-Right\"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotowordright\",bindKey:r(\"Ctrl-Right\",\"Option-Right\"),exec:function(e){e.navigateWordRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selecttolineend\",bindKey:r(\"Alt-Shift-Right\",\"Command-Shift-Right|Shift-End|Ctrl-Shift-E\"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotolineend\",bindKey:r(\"Alt-Right|End\",\"Command-Right|End|Ctrl-E\"),exec:function(e){e.navigateLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectright\",bindKey:r(\"Shift-Right\",\"Shift-Right\"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotoright\",bindKey:r(\"Right\",\"Right|Ctrl-F\"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectpagedown\",bindKey:\"Shift-PageDown\",exec:function(e){e.selectPageDown()},readOnly:!0},{name:\"pagedown\",bindKey:r(null,\"Option-PageDown\"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:\"gotopagedown\",bindKey:r(\"PageDown\",\"PageDown|Ctrl-V\"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:\"selectpageup\",bindKey:\"Shift-PageUp\",exec:function(e){e.selectPageUp()},readOnly:!0},{name:\"pageup\",bindKey:r(null,\"Option-PageUp\"),exec:function(e){e.scrollPageUp();\n},readOnly:!0},{name:\"gotopageup\",bindKey:\"PageUp\",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:\"scrollup\",bindKey:r(\"Ctrl-Up\",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:\"scrolldown\",bindKey:r(\"Ctrl-Down\",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:\"selectlinestart\",bindKey:\"Shift-Home\",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectlineend\",bindKey:\"Shift-End\",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"togglerecording\",bindKey:r(\"Ctrl-Alt-E\",\"Command-Option-E\"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:\"replaymacro\",bindKey:r(\"Ctrl-Shift-E\",\"Command-Shift-E\"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:\"jumptomatching\",bindKey:r(\"Ctrl-P\",\"Ctrl-P\"),exec:function(e){e.jumpToMatching()},multiSelectAction:\"forEach\",scrollIntoView:\"animate\",readOnly:!0},{name:\"selecttomatching\",bindKey:r(\"Ctrl-Shift-P\",\"Ctrl-Shift-P\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:\"forEach\",scrollIntoView:\"animate\",readOnly:!0},{name:\"expandToMatching\",bindKey:r(\"Ctrl-Shift-M\",\"Ctrl-Shift-M\"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:\"forEach\",scrollIntoView:\"animate\",readOnly:!0},{name:\"passKeysToBrowser\",bindKey:r(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:\"copy\",exec:function(e){},readOnly:!0},{name:\"cut\",exec:function(e){var t=e.getSelectionRange();e._emit(\"cut\",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"paste\",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:\"cursor\"},{name:\"removeline\",bindKey:r(\"Ctrl-D\",\"Command-D\"),exec:function(e){e.removeLines()},scrollIntoView:\"cursor\",multiSelectAction:\"forEachLine\"},{name:\"duplicateSelection\",bindKey:r(\"Ctrl-Shift-D\",\"Command-Shift-D\"),exec:function(e){e.duplicateSelection()},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"sortlines\",bindKey:r(\"Ctrl-Alt-S\",\"Command-Alt-S\"),exec:function(e){e.sortLines()},scrollIntoView:\"selection\",multiSelectAction:\"forEachLine\"},{name:\"togglecomment\",bindKey:r(\"Ctrl-/\",\"Command-/\"),exec:function(e){e.toggleCommentLines()},multiSelectAction:\"forEachLine\",scrollIntoView:\"selectionPart\"},{name:\"toggleBlockComment\",bindKey:r(\"Ctrl-Shift-/\",\"Command-Shift-/\"),exec:function(e){e.toggleBlockComment()},multiSelectAction:\"forEach\",scrollIntoView:\"selectionPart\"},{name:\"modifyNumberUp\",bindKey:r(\"Ctrl-Shift-Up\",\"Alt-Shift-Up\"),exec:function(e){e.modifyNumber(1)},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"modifyNumberDown\",bindKey:r(\"Ctrl-Shift-Down\",\"Alt-Shift-Down\"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"replace\",bindKey:r(\"Ctrl-H\",\"Command-Option-F\"),exec:function(e){i.loadModule(\"ace/ext/searchbox\",function(t){t.Search(e,!0)})}},{name:\"undo\",bindKey:r(\"Ctrl-Z\",\"Command-Z\"),exec:function(e){e.undo()}},{name:\"redo\",bindKey:r(\"Ctrl-Shift-Z|Ctrl-Y\",\"Command-Shift-Z|Command-Y\"),exec:function(e){e.redo()}},{name:\"copylinesup\",bindKey:r(\"Alt-Shift-Up\",\"Command-Option-Up\"),exec:function(e){e.copyLinesUp()},scrollIntoView:\"cursor\"},{name:\"movelinesup\",bindKey:r(\"Alt-Up\",\"Option-Up\"),exec:function(e){e.moveLinesUp()},scrollIntoView:\"cursor\"},{name:\"copylinesdown\",bindKey:r(\"Alt-Shift-Down\",\"Command-Option-Down\"),exec:function(e){e.copyLinesDown()},scrollIntoView:\"cursor\"},{name:\"movelinesdown\",bindKey:r(\"Alt-Down\",\"Option-Down\"),exec:function(e){e.moveLinesDown()},scrollIntoView:\"cursor\"},{name:\"del\",bindKey:r(\"Delete\",\"Delete|Ctrl-D|Shift-Delete\"),exec:function(e){e.remove(\"right\")},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"backspace\",bindKey:r(\"Shift-Backspace|Backspace\",\"Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H\"),exec:function(e){e.remove(\"left\")},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"cut_or_delete\",bindKey:r(\"Shift-Delete\",null),exec:function(e){return!!e.selection.isEmpty()&&void e.remove(\"left\")},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolinestart\",bindKey:r(\"Alt-Backspace\",\"Command-Backspace\"),exec:function(e){e.removeToLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolineend\",bindKey:r(\"Alt-Delete\",\"Ctrl-K|Command-Delete\"),exec:function(e){e.removeToLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolinestarthard\",bindKey:r(\"Ctrl-Shift-Backspace\",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolineendhard\",bindKey:r(\"Ctrl-Shift-Delete\",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removewordleft\",bindKey:r(\"Ctrl-Backspace\",\"Alt-Backspace|Ctrl-Alt-Backspace\"),exec:function(e){e.removeWordLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removewordright\",bindKey:r(\"Ctrl-Delete\",\"Alt-Delete\"),exec:function(e){e.removeWordRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"outdent\",bindKey:r(\"Shift-Tab\",\"Shift-Tab\"),exec:function(e){e.blockOutdent()},multiSelectAction:\"forEach\",scrollIntoView:\"selectionPart\"},{name:\"indent\",bindKey:r(\"Tab\",\"Tab\"),exec:function(e){e.indent()},multiSelectAction:\"forEach\",scrollIntoView:\"selectionPart\"},{name:\"blockoutdent\",bindKey:r(\"Ctrl-[\",\"Ctrl-[\"),exec:function(e){e.blockOutdent()},multiSelectAction:\"forEachLine\",scrollIntoView:\"selectionPart\"},{name:\"blockindent\",bindKey:r(\"Ctrl-]\",\"Ctrl-]\"),exec:function(e){e.blockIndent()},multiSelectAction:\"forEachLine\",scrollIntoView:\"selectionPart\"},{name:\"insertstring\",exec:function(e,t){e.insert(t)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"inserttext\",exec:function(e,t){e.insert(o.stringRepeat(t.text||\"\",t.times||1))},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"splitline\",bindKey:r(null,\"Ctrl-O\"),exec:function(e){e.splitLine()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"transposeletters\",bindKey:r(\"Alt-Shift-X\",\"Ctrl-T\"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:\"cursor\"},{name:\"touppercase\",bindKey:r(\"Ctrl-U\",\"Ctrl-U\"),exec:function(e){e.toUpperCase()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"tolowercase\",bindKey:r(\"Ctrl-Shift-U\",\"Ctrl-Shift-U\"),exec:function(e){e.toLowerCase()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"expandtoline\",bindKey:r(\"Ctrl-Shift-L\",\"Command-Shift-L\"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"joinlines\",bindKey:r(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),r=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),i=e.session.doc.getLine(n.row).length,s=e.session.doc.getTextRange(e.selection.getRange()),u=s.replace(/\\n\\s*/,\" \").length,l=e.session.doc.getLine(n.row),c=n.row+1;c<=r.row+1;c++){var d=o.stringTrimLeft(o.stringTrimRight(e.session.doc.getLine(c)));0!==d.length&&(d=\" \"+d),l+=d}r.row+1<e.session.doc.getLength()-1&&(l+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new a(n.row,0,r.row+2,0),l),u>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+u)):(i=e.session.doc.getLine(n.row).length>i?i+1:i,e.selection.moveCursorTo(n.row,i))},multiSelectAction:\"forEach\",readOnly:!0},{name:\"invertSelection\",bindKey:r(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,o=[];r.length<1&&(r=[e.selection.getRange()]);for(var i=0;i<r.length;i++)i==r.length-1&&(r[i].end.row===t&&r[i].end.column===n||o.push(new a(r[i].end.row,r[i].end.column,t,n))),0===i?0===r[i].start.row&&0===r[i].start.column||o.push(new a(0,0,r[i].start.row,r[i].start.column)):o.push(new a(r[i-1].end.row,r[i-1].end.column,r[i].start.row,r[i].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var i=0;i<o.length;i++)e.selection.addRange(o[i],!1)},readOnly:!0,scrollIntoView:\"none\"}]}),ace.define(\"ace/editor\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/keyboard/textinput\",\"ace/mouse/mouse_handler\",\"ace/mouse/fold_handler\",\"ace/keyboard/keybinding\",\"ace/edit_session\",\"ace/search\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/commands/command_manager\",\"ace/commands/default_commands\",\"ace/config\",\"ace/token_iterator\"],function(e,t,n){\"use strict\";e(\"./lib/fixoldbrowsers\");var r=e(\"./lib/oop\"),o=e(\"./lib/dom\"),i=e(\"./lib/lang\"),a=e(\"./lib/useragent\"),s=e(\"./keyboard/textinput\").TextInput,u=e(\"./mouse/mouse_handler\").MouseHandler,l=e(\"./mouse/fold_handler\").FoldHandler,c=e(\"./keyboard/keybinding\").KeyBinding,d=e(\"./edit_session\").EditSession,f=e(\"./search\").Search,p=e(\"./range\").Range,h=e(\"./lib/event_emitter\").EventEmitter,m=e(\"./commands/command_manager\").CommandManager,g=e(\"./commands/default_commands\").commands,_=e(\"./config\"),b=e(\"./token_iterator\").TokenIterator,y=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.id=\"editor\"+ ++y.$uid,this.commands=new m(a.isMac?\"mac\":\"win\",g),\"object\"==typeof document&&(this.textInput=new s(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new u(this),new l(this)),this.keyBinding=new c(this),this.$blockScrolling=0,this.$search=(new f).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on(\"exec\",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=i.delayedCall(function(){this._signal(\"input\",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on(\"change\",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new d(\"\")),_.resetOptions(this),_._signal(\"editor\",this)};y.$uid=0,function(){r.implement(this,h),this.$initOperationListeners=function(){this.selections=[],this.commands.on(\"exec\",this.startOperation.bind(this),!0),this.commands.on(\"afterExec\",this.endOperation.bind(this),!0),this.$opResetTimer=i.delayedCall(this.endOperation.bind(this)),this.on(\"change\",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on(\"changeSelection\",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&void 0!==this.curOp.command.scrollIntoView&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;this._signal(\"beforeEndOperation\");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case\"center-animate\":n=\"animate\";case\"center\":this.renderer.scrollCursorIntoView(null,.5);break;case\"animate\":case\"cursor\":this.renderer.scrollCursorIntoView();break;case\"selectionPart\":var r=this.selection.getRange(),o=this.renderer.layerConfig;(r.start.row>=o.lastRow||r.end.row<=o.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}\"animate\"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=[\"backspace\",\"del\",\"insertstring\"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(\"insertstring\"==e.command.name){var o=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\\s/.test(o)||/\\s/.test(t.args)),this.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;\"always\"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&\"string\"==typeof e){this.$keybindingId=e;var n=this;_.loadModule([\"keybinding\",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off(\"change\",this.$onDocumentChange),this.session.off(\"changeMode\",this.$onChangeMode),this.session.off(\"tokenizerUpdate\",this.$onTokenizerUpdate),this.session.off(\"changeTabSize\",this.$onChangeTabSize),this.session.off(\"changeWrapLimit\",this.$onChangeWrapLimit),this.session.off(\"changeWrapMode\",this.$onChangeWrapMode),this.session.off(\"changeFold\",this.$onChangeFold),this.session.off(\"changeFrontMarker\",this.$onChangeFrontMarker),this.session.off(\"changeBackMarker\",this.$onChangeBackMarker),this.session.off(\"changeBreakpoint\",this.$onChangeBreakpoint),this.session.off(\"changeAnnotation\",this.$onChangeAnnotation),this.session.off(\"changeOverwrite\",this.$onCursorChange),this.session.off(\"changeScrollTop\",this.$onScrollTopChange),this.session.off(\"changeScrollLeft\",this.$onScrollLeftChange);var n=this.session.getSelection();n.off(\"changeCursor\",this.$onCursorChange),n.off(\"changeSelection\",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on(\"change\",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on(\"changeMode\",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on(\"tokenizerUpdate\",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on(\"changeTabSize\",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on(\"changeWrapLimit\",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on(\"changeWrapMode\",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on(\"changeFold\",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on(\"changeFrontMarker\",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on(\"changeBackMarker\",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on(\"changeBreakpoint\",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on(\"changeAnnotation\",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on(\"changeOverwrite\",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on(\"changeScrollTop\",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on(\"changeScrollLeft\",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on(\"changeCursor\",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on(\"changeSelection\",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal(\"changeSession\",{session:e,oldSession:t}),this.curOp=null,t&&t._signal(\"changeEditor\",{oldEditor:this}),e&&e._signal(\"changeEditor\",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption(\"fontSize\")||o.computedStyle(this.container,\"fontSize\")},this.setFontSize=function(e){this.setOption(\"fontSize\",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,\"ace_bracket\",\"text\"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),r=new b(e.session,n.row,n.column),o=r.getCurrentToken();if(!o||!/\\b(?:tag-open|tag-name)/.test(o.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(o.type.indexOf(\"tag-open\")==-1||(o=r.stepForward())){var i=o.value,a=0,s=r.stepBackward();if(\"<\"==s.value){do s=o,o=r.stepForward(),o&&o.value===i&&o.type.indexOf(\"tag-name\")!==-1&&(\"<\"===s.value?a++:\"</\"===s.value&&a--);while(o&&a>=0)}else{do o=s,s=r.stepBackward(),o&&o.value===i&&o.type.indexOf(\"tag-name\")!==-1&&(\"<\"===s.value?a++:\"</\"===s.value&&a--);while(s&&a<=0);r.stepForward()}if(!o)return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);var u=r.getCurrentTokenRow(),l=r.getCurrentTokenColumn(),c=new p(u,l,u,l+o.value.length),d=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&void 0!=d&&0!==c.compareRange(d.range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),c&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(c,\"ace_bracket\",\"text\"))}}},50)}},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit(\"focus\",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit(\"blur\",e))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,t),this._signal(\"change\",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(_.warn(\"Automatically scrolling cursor into view after selection change\",\"this will be disabled in the next version\",\"set editor.$blockScrolling = Infinity to disable this message\"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal(\"changeSelection\")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&(\"line\"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new p(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,\"ace_active-line\",\"screenLine\"),t.$highlightLineMarker=n}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal(\"changeBackMarker\"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,\"ace_selection\",r)}var o=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(o),this._signal(\"changeSelection\")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var n=t.start.column-1,r=t.end.column+1,o=e.getLine(t.start.row),i=o.length,a=o.substring(Math.max(n,0),Math.min(r,i));if(!(n>=0&&/^[\\w\\d]/.test(a)||r<=i&&/[\\w\\d]$/.test(a))&&(a=o.substring(t.start.column,t.end.column),/^[\\w\\d]+$/.test(a))){var s=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:a});return s}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit(\"changeMode\",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal(\"copy\",e),e},this.onCopy=function(){this.commands.exec(\"copy\",this)},this.onCut=function(){this.commands.exec(\"cut\",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec(\"paste\",this,n)},this.$handlePaste=function(e){\"string\"==typeof e&&(e={text:e}),this._signal(\"paste\",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\\r\\n|\\r|\\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec(\"insertstring\",this,t);for(var o=r.length;o--;){var i=r[o];i.isEmpty()||this.session.remove(i),this.session.insert(i.start,n[o])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),o=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var i=r.transformAction(n.getState(o.row),\"insertion\",this,n,e);i&&(e!==i.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=i.text)}if(\"\\t\"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&e.indexOf(\"\\n\")==-1){var a=new p.fromPoints(o,o);a.end.column+=e.length,this.session.remove(a)}}else{var a=this.getSelectionRange();o=this.session.remove(a),this.clearSelection()}if(\"\\n\"==e||\"\\r\\n\"==e){var s=n.getLine(o.row);if(o.column>s.search(/\\S|$/)){var u=s.substr(o.column).search(/\\S|$/);n.doc.removeInLine(o.row,o.column,o.column+u)}}this.clearSelection();var l=o.column,c=n.getState(o.row),s=n.getLine(o.row),d=r.checkOutdent(c,s,e);n.insert(o,e);if(i&&i.selection&&(2==i.selection.length?this.selection.setSelectionRange(new p(o.row,l+i.selection[0],o.row,l+i.selection[1])):this.selection.setSelectionRange(new p(o.row+i.selection[0],i.selection[1],o.row+i.selection[2],i.selection[3]))),n.getDocument().isNewLine(e)){var f=r.getNextLineIndent(c,s.slice(0,o.column),n.getTabString());n.insert({row:o.row+1,column:0},f)}d&&r.autoOutdent(c,n,o.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption(\"scrollSpeed\",e)},this.getScrollSpeed=function(){return this.getOption(\"scrollSpeed\")},this.setDragDelay=function(e){this.setOption(\"dragDelay\",e)},this.getDragDelay=function(){return this.getOption(\"dragDelay\")},this.setSelectionStyle=function(e){this.setOption(\"selectionStyle\",e)},this.getSelectionStyle=function(){return this.getOption(\"selectionStyle\")},this.setHighlightActiveLine=function(e){this.setOption(\"highlightActiveLine\",e)},this.getHighlightActiveLine=function(){return this.getOption(\"highlightActiveLine\")},this.setHighlightGutterLine=function(e){this.setOption(\"highlightGutterLine\",e)},this.getHighlightGutterLine=function(){return this.getOption(\"highlightGutterLine\")},this.setHighlightSelectedWord=function(e){this.setOption(\"highlightSelectedWord\",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption(\"readOnly\",e)},this.getReadOnly=function(){return this.getOption(\"readOnly\")},this.setBehavioursEnabled=function(e){this.setOption(\"behavioursEnabled\",e)},this.getBehavioursEnabled=function(){return this.getOption(\"behavioursEnabled\")},this.setWrapBehavioursEnabled=function(e){this.setOption(\"wrapBehavioursEnabled\",e)},this.getWrapBehavioursEnabled=function(){return this.getOption(\"wrapBehavioursEnabled\")},this.setShowFoldWidgets=function(e){this.setOption(\"showFoldWidgets\",e)},this.getShowFoldWidgets=function(){return this.getOption(\"showFoldWidgets\")},this.setFadeFoldWidgets=function(e){this.setOption(\"fadeFoldWidgets\",e)},this.getFadeFoldWidgets=function(){return this.getOption(\"fadeFoldWidgets\")},this.remove=function(e){this.selection.isEmpty()&&(\"left\"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),o=n.getMode().transformAction(r,\"deletion\",this,n,t);if(0===t.end.column){var i=n.getTextRange(t);if(\"\\n\"==i[i.length-1]){var a=n.getLine(t.end.row);/^\\s+$/.test(a)&&(t.end.column=a.length)}}o&&(t=o)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert(\"\\n\"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,r,o=this.session.getLine(e.row);t<o.length?(n=o.charAt(t)+o.charAt(t-1),r=new p(e.row,t-1,e.row,t+1)):(n=o.charAt(t-1)+o.charAt(t-2),r=new p(e.row,t-2,e.row,t)),this.session.replace(r,n),this.session.selection.moveToPosition(r.end)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last,\"\\t\")}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\\s+$/.test(r)){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last,\"\\t\")}}var o=e.getLine(t.start.row),a=t.start,s=e.getTabSize(),u=e.documentToScreenColumn(a.row,a.column);if(this.session.getUseSoftTabs())var l=s-u%s,c=i.stringRepeat(\" \",l);else{for(var l=u%s;\" \"==o[t.start.column-1]&&l;)t.start.column--,l--;this.selection.setSelectionRange(t),c=\"\\t\"}return this.insert(c)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,\"\\t\")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,n=[],r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});for(var o=new p(0,0,0,0),r=e.first;r<=e.last;r++){var i=t.getLine(r);o.start.row=r,o.end.row=r,o.end.column=i.length,t.replace(o,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\\-]?[0-9]+(?:\\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex<t;){var o=n.exec(r);if(o.index<=t&&o.index+o[0].length>=t){var i={value:o[0],start:o.index,end:o.index+o[0].length};return i}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),o=this.session.getTextRange(r);if(!isNaN(parseFloat(o))&&isFinite(o)){var i=this.getNumberAt(t,n);if(i){var a=i.value.indexOf(\".\")>=0?i.start+i.value.indexOf(\".\")+1:i.end,s=i.start+i.value.length-a,u=parseFloat(i.value);u*=Math.pow(10,s),e*=a!==i.end&&n<a?Math.pow(10,i.end-n-1):Math.pow(10,i.end-n),u+=e,u/=Math.pow(10,s);var l=u.toFixed(s),c=new p(t,i.start,t,i.end);this.session.replace(c,l),this.moveCursorTo(t,Math.max(i.start+1,n+l.length-i.value.length));\n}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var o=n.start.row;t.duplicateLines(o,o)}else{var i=r?n.start:n.end,a=t.insert(i,t.getTextRange(n),!1);n.start=i,n.end=a,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,o=this.selection;if(!o.inMultiSelectMode||this.inVirtualSelectionMode){var i=o.toOrientedRange();n=this.$getSelectedRows(i),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),i.moveBy(r,0),o.fromOrientedRange(i)}else{var a=o.rangeList.ranges;o.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var s=0,u=0,l=a.length,c=0;c<l;c++){var d=c;a[c].moveBy(s,0),n=this.$getSelectedRows(a[c]);for(var f=n.first,p=n.last;++c<l;){u&&a[c].moveBy(u,0);var h=this.$getSelectedRows(a[c]);if(t&&h.first!=p)break;if(!t&&h.first>p+1)break;p=h.last}for(c--,s=this.session.$moveLines(f,p,t?0:e),t&&e==-1&&(d=c+1);d<=c;)a[d].moveBy(s,0),d++;t||(s=0),u+=s}o.fromOrientedRange(o.ranges[0]),o.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,o=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(o,0)}):t===!1&&(this.selection.moveCursorBy(o,0),this.selection.clearSelection()),this.$blockScrolling--;var i=n.scrollTop;n.scrollBy(0,o*r.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(i)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new b(this.session,n.row,n.column),o=r.getCurrentToken(),i=o||r.stepForward();if(i){var a,s,u=!1,l={},c=n.column-i.start,d={\")\":\"(\",\"(\":\"(\",\"]\":\"[\",\"[\":\"[\",\"{\":\"{\",\"}\":\"{\"};do{if(i.value.match(/[{}()\\[\\]]/g)){for(;c<i.value.length&&!u;c++)if(d[i.value[c]])switch(s=d[i.value[c]]+\".\"+i.type.replace(\"rparen\",\"lparen\"),isNaN(l[s])&&(l[s]=0),i.value[c]){case\"(\":case\"[\":case\"{\":l[s]++;break;case\")\":case\"]\":case\"}\":l[s]--,l[s]===-1&&(a=\"bracket\",u=!0)}}else i&&i.type.indexOf(\"tag-name\")!==-1&&(isNaN(l[i.value])&&(l[i.value]=0),\"<\"===o.value?l[i.value]++:\"</\"===o.value&&l[i.value]--,l[i.value]===-1&&(a=\"tag\",u=!0));u||(o=i,i=r.stepForward(),c=0)}while(i&&!u);if(a){var f,h;if(\"bracket\"===a)f=this.session.getBracketRange(n),f||(f=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+c-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+c-1),h=f.start,(t||h.row===n.row&&Math.abs(h.column-n.column)<2)&&(f=this.session.getBracketRange(h)));else if(\"tag\"===a){if(!i||i.type.indexOf(\"tag-name\")===-1)return;var m=i.value;if(f=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2),0===f.compare(n.row,n.column)){u=!1;do i=o,o=r.stepBackward(),o&&(o.type.indexOf(\"tag-close\")!==-1&&f.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),i.value===m&&i.type.indexOf(\"tag-name\")!==-1&&(\"<\"===o.value?l[m]++:\"</\"===o.value&&l[m]--,0===l[m]&&(u=!0)));while(o&&!u)}i&&i.type.indexOf(\"tag-name\")&&(h=f.start,h.row==n.row&&Math.abs(h.column-n.column)<2&&(h=f.end))}h=f&&f.cursor||h,h&&(e?f&&t?this.selection.setRange(f):f&&f.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(h.row,h.column):this.selection.moveTo(h.row,h.column))}}},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),null!==n&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var o=this.getSelectionRange();this.selection.moveTo(0,0);for(var i=n.length-1;i>=0;--i)this.$tryReplace(n[i],e)&&r++;return this.selection.setSelectionRange(o),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),null!==t?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),\"string\"==typeof e||e instanceof RegExp?t.needle=e:\"object\"==typeof e&&r.mixin(t,e);var o=this.selection.getRange();null==t.needle&&(e=this.session.getTextRange(o)||this.$search.$options.needle,e||(o=this.session.getWordRange(o.start.row,o.start.column),e=this.session.getTextRange(o)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:o});var i=this.$search.find(this.session);return t.preventScroll?i:i?(this.revealRange(i,n),i):(t.backwards?o.start=o.end:o.end=o.start,void this.selection.setRange(o))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal(\"destroy\",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement(\"div\"));var o=this.$scrollAnchor;o.style.cssText=\"position:absolute\",this.container.insertBefore(o,this.container.firstChild);var i=this.on(\"changeSelection\",function(){r=!0}),a=this.renderer.on(\"beforeRender\",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),s=this.renderer.on(\"afterRender\",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,i=e.$cursorLayer.$pixelPos,a=e.layerConfig,s=i.top-a.offset;r=i.top>=0&&s+t.top<0||!(i.top<a.height&&i.top+t.top+a.lineHeight>window.innerHeight)&&null,null!=r&&(o.style.top=s+\"px\",o.style.left=i.left+\"px\",o.style.height=a.lineHeight+\"px\",o.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off(\"changeSelection\",i),this.renderer.off(\"afterRender\",s),this.renderer.off(\"beforeRender\",a))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||\"ace\",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&\"wide\"!=e,o.setCssClass(t.element,\"ace_slim-cursors\",/slim/.test(e)))}}.call(y.prototype),_.defineOptions(y.prototype,\"editor\",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal(\"changeSelectionStyle\",{data:e})},initialValue:\"line\"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:[\"ace\",\"slim\",\"smooth\",\"wide\"],initialValue:\"ace\"},mergeUndoDeltas:{values:[!1,!0,\"always\"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:\"renderer\",vScrollBarAlwaysVisible:\"renderer\",highlightGutterLine:\"renderer\",animatedScroll:\"renderer\",showInvisibles:\"renderer\",showPrintMargin:\"renderer\",printMarginColumn:\"renderer\",printMargin:\"renderer\",fadeFoldWidgets:\"renderer\",showFoldWidgets:\"renderer\",showLineNumbers:\"renderer\",showGutter:\"renderer\",displayIndentGuides:\"renderer\",fontSize:\"renderer\",fontFamily:\"renderer\",maxLines:\"renderer\",minLines:\"renderer\",scrollPastEnd:\"renderer\",fixedWidthGutter:\"renderer\",theme:\"renderer\",scrollSpeed:\"$mouseHandler\",dragDelay:\"$mouseHandler\",dragEnabled:\"$mouseHandler\",focusTimout:\"$mouseHandler\",tooltipFollowsMouse:\"$mouseHandler\",firstLineNumber:\"session\",overwrite:\"session\",newLineMode:\"session\",useWorker:\"session\",useSoftTabs:\"session\",tabSize:\"session\",wrap:\"session\",indentedSoftWrap:\"session\",foldStyle:\"session\",mode:\"session\"}),t.Editor=y}),ace.define(\"ace/undomanager\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:1==e.lines.length?null:e.lines,text:1==e.lines.length?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){for(var n=new Array(e.length),r=0;r<e.length;r++){for(var o=e[r],i={group:o.group,deltas:new Array(o.length)},a=0;a<o.deltas.length;a++){var s=o.deltas[a];i.deltas[a]=t(s)}n[r]=i}return n}this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(this.$deserializeDeltas(t),e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define(\"ace/layer/gutter\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\"],function(e,n,r){\"use strict\";var o=e(\"../lib/dom\"),i=e(\"../lib/oop\"),a=e(\"../lib/lang\"),s=e(\"../lib/event_emitter\").EventEmitter,u=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_gutter-layer\",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,s),this.setSession=function(e){this.session&&this.session.removeEventListener(\"change\",this.$updateAnnotations),this.session=e,e&&e.on(\"change\",this.$updateAnnotations)},this.addGutterDecoration=function(e,n){window.console&&t.warn&&t.warn(\"deprecated use session.addGutterDecoration\"),this.session.addGutterDecoration(e,n)},this.removeGutterDecoration=function(e,n){window.console&&t.warn&&t.warn(\"deprecated use session.removeGutterDecoration\"),this.session.removeGutterDecoration(e,n)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,o=this.$annotations[r];o||(o=this.$annotations[r]={text:[]});var i=n.text;i=i?a.escapeHTML(i):n.html||\"\",o.text.indexOf(i)===-1&&o.text.push(i);var s=n.type;\"error\"==s?o.className=\" ace_error\":\"warning\"==s&&\" ace_error\"!=o.className?o.className=\" ace_warning\":\"info\"!=s||o.className||(o.className=\" ace_info\")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(0===n);else if(\"remove\"==e.action)this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}}},this.update=function(e){for(var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),i=t.getNextFoldLine(n),a=i?i.start.row:1/0,s=this.$showFoldWidgets&&t.foldWidgets,u=t.$breakpoints,l=t.$decorations,c=t.$firstLineNumber,d=0,f=t.gutterRenderer||this.$renderer,p=null,h=-1,m=n;;){if(m>a&&(m=i.end.row+1,i=t.getNextFoldLine(m,i),a=i?i.start.row:1/0),m>r){for(;this.$cells.length>h+1;)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++h],p||(p={element:null,textNode:null,foldWidget:null},p.element=o.createElement(\"div\"),p.textNode=document.createTextNode(\"\"),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[h]=p);var g=\"ace_gutter-cell \";u[m]&&(g+=u[m]),l[m]&&(g+=l[m]),this.$annotations[m]&&(g+=this.$annotations[m].className),p.element.className!=g&&(p.element.className=g);var _=t.getRowLength(m)*e.lineHeight+\"px\";if(_!=p.element.style.height&&(p.element.style.height=_),s){var b=s[m];null==b&&(b=s[m]=t.getFoldWidget(m))}if(b){p.foldWidget||(p.foldWidget=o.createElement(\"span\"),p.element.appendChild(p.foldWidget));var g=\"ace_fold-widget ace_\"+b;g+=\"start\"==b&&m==a&&m<i.end.row?\" ace_closed\":\" ace_open\",p.foldWidget.className!=g&&(p.foldWidget.className=g);var _=e.lineHeight+\"px\";p.foldWidget.style.height!=_&&(p.foldWidget.style.height=_)}else p.foldWidget&&(p.element.removeChild(p.foldWidget),p.foldWidget=null);var y=d=f?f.getText(t,m):m+c;y!==p.textNode.data&&(p.textNode.data=y),m++}this.element.style.height=e.minHeight+\"px\",(this.$fixedWidth||t.$useWrapMode)&&(d=t.getLength()+c);var v=f?f.getWidth(t,d,e):d.toString().length*e.characterWidth,M=this.$padding||this.$computePadding();v+=M.left+M.right,v===this.gutterWidth||isNaN(v)||(this.gutterWidth=v,this.element.style.width=Math.ceil(this.gutterWidth)+\"px\",this._emit(\"changeGutterWidth\",v))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer=\"\",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return\"\"},getText:function(){return\"\"}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?o.addCssClass(this.element,\"ace_folding-enabled\"):o.removeCssClass(this.element,\"ace_folding-enabled\"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=o.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();return e.x<t.left+n.left?\"markers\":this.$showFoldWidgets&&e.x>n.right-t.right?\"foldWidgets\":void 0}}).call(u.prototype),n.Gutter=u}),ace.define(\"ace/layer/marker\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";var r=e(\"../range\").Range,o=e(\"../lib/dom\"),i=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_marker-layer\",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){if(e){this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(r.range){var o=r.range.clipRows(e.firstRow,e.lastRow);if(!o.isEmpty())if(o=o.toScreenRange(this.session),r.renderer){var i=this.$getTop(o.start.row,e),a=this.$padding+(this.session.$bidiHandler.isBidiRow(o.start.row)?this.session.$bidiHandler.getPosLeft(o.start.column):o.start.column*e.characterWidth);r.renderer(t,o,a,i,e)}else\"fullLine\"==r.type?this.drawFullLineMarker(t,o,r.clazz,e):\"screenLine\"==r.type?this.drawScreenLineMarker(t,o,r.clazz,e):o.isMultiLine()?\"text\"==r.type?this.drawTextMarker(t,o,r.clazz,e):this.drawMultiLineMarker(t,o,r.clazz,e):this.session.$bidiHandler.isBidiRow(o.start.row)?this.drawBidiSingleLineMarker(t,o,r.clazz+\" ace_start ace_br15\",e):this.drawSingleLineMarker(t,o,r.clazz+\" ace_start ace_br15\",e)}else r.update(t,this,this.session,e)}this.element.innerHTML=t.join(\"\")}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,o,i,a){for(var s=this.session,u=n.start.row,l=n.end.row,c=u,d=0,f=0,p=s.getScreenLastRowColumn(c),h=null,m=new r(c,n.start.column,c,f);c<=l;c++)m.start.row=m.end.row=c,m.start.column=c==u?n.start.column:s.getRowWrapIndent(c),m.end.column=p,d=f,f=p,p=c+1<l?s.getScreenLastRowColumn(c+1):c==l?0:n.end.column,h=o+(c==u?\" ace_start\":\"\")+\" ace_br\"+e(c==u||c==u+1&&n.start.column,d<f,f>p,c==l),this.session.$bidiHandler.isBidiRow(c)?this.drawBidiSingleLineMarker(t,m,h,i,c==l?0:1,a):this.drawSingleLineMarker(t,m,h,i,c==l?0:1,a)},this.drawMultiLineMarker=function(e,t,n,r,o){var i,a,s,u=this.$padding;if(o=o||\"\",this.session.$bidiHandler.isBidiRow(t.start.row)){var l=t.clone();l.end.row=l.start.row,l.end.column=this.session.getLine(l.start.row).length,this.drawBidiSingleLineMarker(e,l,n+\" ace_br1 ace_start\",r,null,o)}else i=r.lineHeight,a=this.$getTop(t.start.row,r),s=u+t.start.column*r.characterWidth,e.push(\"<div class='\",n,\" ace_br1 ace_start' style='\",\"height:\",i,\"px;\",\"right:0;\",\"top:\",a,\"px;\",\"left:\",s,\"px;\",o,\"'></div>\");if(this.session.$bidiHandler.isBidiRow(t.end.row)){var l=t.clone();l.start.row=l.end.row,l.start.column=0,this.drawBidiSingleLineMarker(e,l,n+\" ace_br12\",r,null,o)}else{var c=t.end.column*r.characterWidth;i=r.lineHeight,a=this.$getTop(t.end.row,r),e.push(\"<div class='\",n,\" ace_br12' style='\",\"height:\",i,\"px;\",\"width:\",c,\"px;\",\"top:\",a,\"px;\",\"left:\",u,\"px;\",o,\"'></div>\")}if(i=(t.end.row-t.start.row-1)*r.lineHeight,!(i<=0)){a=this.$getTop(t.start.row+1,r);var d=(t.start.column?1:0)|(t.end.column?0:8);e.push(\"<div class='\",n,d?\" ace_br\"+d:\"\",\"' style='\",\"height:\",i,\"px;\",\"right:0;\",\"top:\",a,\"px;\",\"left:\",u,\"px;\",o,\"'></div>\")}},this.drawSingleLineMarker=function(e,t,n,r,o,i){var a=r.lineHeight,s=(t.end.column+(o||0)-t.start.column)*r.characterWidth,u=this.$getTop(t.start.row,r),l=this.$padding+t.start.column*r.characterWidth;e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"width:\",s,\"px;\",\"top:\",u,\"px;\",\"left:\",l,\"px;\",i||\"\",\"'></div>\")},this.drawBidiSingleLineMarker=function(e,t,n,r,o,i){var a=r.lineHeight,s=this.$getTop(t.start.row,r),u=this.$padding,l=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);l.forEach(function(t){e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"width:\",t.width+(o||0),\"px;\",\"top:\",s,\"px;\",\"left:\",u+t.left,\"px;\",i||\"\",\"'></div>\")})},this.drawFullLineMarker=function(e,t,n,r,o){var i=this.$getTop(t.start.row,r),a=r.lineHeight;t.start.row!=t.end.row&&(a+=this.$getTop(t.end.row,r)-i),e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"top:\",i,\"px;\",\"left:0;right:0;\",o||\"\",\"'></div>\")},this.drawScreenLineMarker=function(e,t,n,r,o){var i=this.$getTop(t.start.row,r),a=r.lineHeight;e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"top:\",i,\"px;\",\"left:0;right:0;\",o||\"\",\"'></div>\")}}).call(i.prototype),t.Marker=i}),ace.define(\"ace/layer/text\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"../lib/oop\"),o=e(\"../lib/dom\"),i=e(\"../lib/lang\"),a=(e(\"../lib/useragent\"),e(\"../lib/event_emitter\").EventEmitter),s=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_text-layer\",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,a),this.EOF_CHAR=\"¶\",this.EOL_CHAR_LF=\"¬\",this.EOL_CHAR_CRLF=\"¤\",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR=\"—\",this.SPACE_CHAR=\"·\",this.$padding=0,this.$updateEolChar=function(){var e=\"\\n\"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding=\"0 \"+e+\"px\"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on(\"changeCharacterSize\",function(e){this._signal(\"changeCharacterSize\",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n<e+1;n++)this.showInvisibles?t.push(\"<span class='ace_invisible ace_invisible_tab'>\"+i.stringRepeat(this.TAB_CHAR,n)+\"</span>\"):t.push(i.stringRepeat(\" \",n));if(this.displayIndentGuides){this.$indentGuideRe=/\\s\\S| \\t|\\t |\\s$/;var r=\"ace_indent-guide\",o=\"\",a=\"\";if(this.showInvisibles){r+=\" ace_invisible\",o=\" ace_invisible_space\",a=\" ace_invisible_tab\";var s=i.stringRepeat(this.SPACE_CHAR,this.tabSize),u=i.stringRepeat(this.TAB_CHAR,this.tabSize)}else var s=i.stringRepeat(\" \",this.tabSize),u=s;this.$tabStrings[\" \"]=\"<span class='\"+r+o+\"'>\"+s+\"</span>\",this.$tabStrings[\"\\t\"]=\"<span class='\"+r+a+\"'>\"+u+\"</span>\"}},this.updateLines=function(e,t,n){this.config.lastRow==e.lastRow&&this.config.firstRow==e.firstRow||this.scrollLines(e),this.config=e;for(var r=Math.max(t,e.firstRow),o=Math.min(n,e.lastRow),i=this.element.childNodes,a=0,s=e.firstRow;s<r;s++){var u=this.session.getFoldLine(s);if(u){if(u.containsRow(r)){r=u.start.row;break}s=u.end.row}a++}for(var s=r,u=this.session.getNextFoldLine(s),l=u?u.start.row:1/0;;){if(s>l&&(s=u.end.row+1,u=this.session.getNextFoldLine(s,u),l=u?u.start.row:1/0),s>o)break;var c=i[a++];if(c){var d=[];this.$renderLine(d,s,!this.$useLineGroups(),s==l&&u),c.style.height=e.lineHeight*this.session.getRowLength(s)+\"px\",c.innerHTML=d.join(\"\")}s++}},this.scrollLines=function(e){var t=this.config;if(this.config=e,!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var o=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o)}if(e.lastRow>t.lastRow){var o=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(o)}},this.$renderLinesFragment=function(e,t,n){for(var r=this.element.ownerDocument.createDocumentFragment(),i=t,a=this.session.getNextFoldLine(i),s=a?a.start.row:1/0;;){if(i>s&&(i=a.end.row+1,a=this.session.getNextFoldLine(i,a),s=a?a.start.row:1/0),i>n)break;var u=o.createElement(\"div\"),l=[];if(this.$renderLine(l,i,!1,i==s&&a),u.innerHTML=l.join(\"\"),this.$useLineGroups())u.className=\"ace_line_group\",r.appendChild(u),u.style.height=e.lineHeight*this.session.getRowLength(i)+\"px\";else for(;u.firstChild;)r.appendChild(u.firstChild);i++}return r},this.update=function(e){this.config=e;for(var t=[],n=e.firstRow,r=e.lastRow,o=n,i=this.session.getNextFoldLine(o),a=i?i.start.row:1/0;;){if(o>a&&(o=i.end.row+1,i=this.session.getNextFoldLine(o,i),a=i?i.start.row:1/0),o>r)break;this.$useLineGroups()&&t.push(\"<div class='ace_line_group' style='height:\",e.lineHeight*this.session.getRowLength(o),\"px'>\"),this.$renderLine(t,o,!1,o==a&&i),this.$useLineGroups()&&t.push(\"</div>\"),o++}this.element.innerHTML=t.join(\"\")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var o=this,a=/\\t|&|<|>|( +)|([\\x00-\\x1f\\x80-\\xa0\\xad\\u1680\\u180E\\u2000-\\u200f\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF\\uFFF9-\\uFFFC])|[\\u1100-\\u115F\\u11A3-\\u11A7\\u11FA-\\u11FF\\u2329-\\u232A\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3000-\\u303E\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u31BA\\u31C0-\\u31E3\\u31F0-\\u321E\\u3220-\\u3247\\u3250-\\u32FE\\u3300-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFAFF\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFF01-\\uFF60\\uFFE0-\\uFFE6]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,s=function(e,n,r,a,s){if(n)return o.showInvisibles?\"<span class='ace_invisible ace_invisible_space'>\"+i.stringRepeat(o.SPACE_CHAR,e.length)+\"</span>\":e;if(\"&\"==e)return\"&#38;\";if(\"<\"==e)return\"&#60;\";if(\">\"==e)return\"&#62;\";if(\"\\t\"==e){var u=o.session.getScreenTabSize(t+a);return t+=u-1,o.$tabStrings[u]}if(\"\u3000\"==e){var l=o.showInvisibles?\"ace_cjk ace_invisible ace_invisible_space\":\"ace_cjk\",c=o.showInvisibles?o.SPACE_CHAR:\"\";return t+=1,\"<span class='\"+l+\"' style='width:\"+2*o.config.characterWidth+\"px'>\"+c+\"</span>\"}return r?\"<span class='ace_invisible ace_invisible_space ace_invalid'>\"+o.SPACE_CHAR+\"</span>\":(t+=1,\"<span class='ace_cjk' style='width:\"+2*o.config.characterWidth+\"px'>\"+e+\"</span>\")},u=r.replace(a,s);if(this.$textToken[n.type])e.push(u);else{var l=\"ace_\"+n.type.replace(/\\./g,\" ace_\"),c=\"\";\"fold\"==n.type&&(c=\" style='width:\"+n.value.length*this.config.characterWidth+\"px;' \"),e.push(\"<span class='\",l,\"'\",c,\">\",u,\"</span>\")}return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:\" \"==t[0]?(r-=r%this.tabSize,e.push(i.stringRepeat(this.$tabStrings[\" \"],r/this.tabSize)),t.substr(r)):\"\\t\"==t[0]?(e.push(i.stringRepeat(this.$tabStrings[\"\\t\"],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){for(var o=0,a=0,s=n[0],u=0,l=0;l<t.length;l++){var c=t[l],d=c.value;if(0==l&&this.displayIndentGuides){if(o=d.length,d=this.renderIndentGuide(e,d,s),!d)continue;o-=d.length}if(o+d.length<s)u=this.$renderToken(e,u,c,d),o+=d.length;else{for(;o+d.length>=s;)u=this.$renderToken(e,u,c,d.substring(0,s-o)),d=d.substring(s-o),o=s,r||e.push(\"</div>\",\"<div class='ace_line' style='height:\",this.config.lineHeight,\"px'>\"),e.push(i.stringRepeat(\"\u00a0\",n.indent)),a++,u=0,s=n[a]||Number.MAX_VALUE;0!=d.length&&(o+=d.length,u=this.$renderToken(e,u,c,d))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],o=r.value;this.displayIndentGuides&&(o=this.renderIndentGuide(e,o)),o&&(n=this.$renderToken(e,n,r,o));for(var i=1;i<t.length;i++)r=t[i],o=r.value,n=this.$renderToken(e,n,r,o)},this.$renderLine=function(e,t,n,r){if(r||0==r||(r=this.session.getFoldLine(t)),r)var o=this.$getFoldLineTokens(t,r);else var o=this.session.getTokens(t);if(n||e.push(\"<div class='ace_line' style='height:\",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),\"px'>\"),o.length){var i=this.session.getRowSplitData(t);i&&i.length?this.$renderWrappedLine(e,o,i,n):this.$renderSimpleLine(e,o)}this.showInvisibles&&(r&&(t=r.end.row),e.push(\"<span class='ace_invisible ace_invisible_eol'>\",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,\"</span>\")),n||e.push(\"</div>\")},this.$getFoldLineTokens=function(e,t){function n(e,t,n){for(var r=0,i=0;i+e[r].value.length<t;)if(i+=e[r].value.length,r++,r==e.length)return;if(i!=t){var a=e[r].value.substring(t-i);a.length>n-t&&(a=a.substring(0,n-t)),o.push({type:e[r].type,value:a}),i=t+a.length,r+=1}for(;i<n&&r<e.length;){var a=e[r].value;a.length+i>n?o.push({type:e[r].type,value:a.substring(0,n-i)}):o.push(e[r]),i+=a.length,r+=1}}var r=this.session,o=[],i=r.getTokens(e);\nreturn t.walk(function(e,t,a,s,u){null!=e?o.push({type:\"fold\",value:e}):(u&&(i=r.getTokens(t)),i.length&&n(i,s,a))},t.end.row,this.session.getLine(t.end.row).length),o},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(s.prototype),t.Text=s}),ace.define(\"ace/layer/cursor\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";var r,o=e(\"../lib/dom\"),i=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_cursor-layer\",e.appendChild(this.element),void 0===r&&(r=!(\"opacity\"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),o.addCssClass(this.element,\"ace_hidden-cursors\"),this.$updateCursors=(r?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.visibility=e?\"\":\"hidden\"},this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.opacity=e?\"\":\"0\"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e==this.smoothBlinking||r||(this.smoothBlinking=e,o.setCssClass(this.element,\"ace_smooth-blinking\",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=o.createElement(\"div\");return e.className=\"ace_cursor\",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,o.addCssClass(this.element,\"ace_hidden-cursors\"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,o.removeCssClass(this.element,\"ace_hidden-cursors\"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&o.removeCssClass(this.element,\"ace_smooth-blinking\"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){o.addCssClass(this.element,\"ace_smooth-blinking\")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),o=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:o}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);for(var n=0,o=t.length;n<o;n++){var i=this.getPixelPosition(t[n].cursor,!0);if(!((i.top>e.height+e.offset||i.top<0)&&n>1)){var a=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(a,i,e,t[n],this.session):(a.left=i.left+\"px\",a.top=i.top+\"px\",a.width=e.characterWidth+\"px\",a.height=e.lineHeight+\"px\")}}for(;this.cursors.length>r;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=i,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?o.addCssClass(this.element,\"ace_overwrite-cursors\"):o.removeCssClass(this.element,\"ace_overwrite-cursors\"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define(\"ace/scrollbar\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/dom\"),i=e(\"./lib/event\"),a=e(\"./lib/event_emitter\").EventEmitter,s=32768,u=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_scrollbar ace_scrollbar\"+this.classSuffix,this.inner=o.createElement(\"div\"),this.inner.className=\"ace_scrollbar-inner\",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,i.addListener(this.element,\"scroll\",this.onScroll.bind(this)),i.addListener(this.element,\"mousedown\",i.preventDefault)};(function(){r.implement(this,a),this.setVisible=function(e){this.element.style.display=e?\"\":\"none\",this.isVisible=e,this.coeff=1}}).call(u.prototype);var l=function(e,t){u.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=o.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+\"px\",this.$minWidth=0};r.inherits(l,u),function(){this.classSuffix=\"-v\",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit(\"scroll\",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+\"px\"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>s?(this.coeff=s/e,e=s):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+\"px\"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var c=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+\"px\"};r.inherits(c,u),function(){this.classSuffix=\"-h\",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit(\"scroll\",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+\"px\"},this.setInnerWidth=function(e){this.inner.style.width=e+\"px\"},this.setScrollWidth=function(e){this.inner.style.width=e+\"px\"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define(\"ace/renderloop\",[\"require\",\"exports\",\"module\",\"ace/lib/event\"],function(e,t,n){\"use strict\";var r=e(\"./lib/event\"),o=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;for(var e;e=t.changes;)t.changes=0,t.onRender(e)},this.window)}}}).call(o.prototype),t.RenderLoop=o}),ace.define(\"ace/layer/font_metrics\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"],function(e,t,n){var r=e(\"../lib/oop\"),o=e(\"../lib/dom\"),i=e(\"../lib/lang\"),a=e(\"../lib/useragent\"),s=e(\"../lib/event_emitter\").EventEmitter,u=0,l=t.FontMetrics=function(e){this.el=o.createElement(\"div\"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=o.createElement(\"div\"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=o.createElement(\"div\"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),u||this.$testFractionalRect(),this.$measureNode.innerHTML=i.stringRepeat(\"X\",u),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,s),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=o.createElement(\"div\");this.$setMeasureNodeStyles(e.style),e.style.width=\"0.2px\",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;u=t>0&&t<1?50:100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height=\"auto\",e.left=e.top=\"0px\",e.visibility=\"hidden\",e.position=\"absolute\",e.whiteSpace=\"pre\",a.isIE<8?e[\"font-family\"]=\"inherit\":e.font=\"inherit\",e.overflow=t?\"hidden\":\"visible\"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight=\"bold\";var t=this.$measureSizes();this.$measureNode.style.fontWeight=\"\",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit(\"changeCharacterSize\",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(50===u){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var t={height:e.height,width:e.width/u}}else var t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/u};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=i.stringRepeat(e,u);var t=this.$main.getBoundingClientRect();return t.width/u},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(l.prototype)}),ace.define(\"ace/virtual_renderer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/config\",\"ace/lib/useragent\",\"ace/layer/gutter\",\"ace/layer/marker\",\"ace/layer/text\",\"ace/layer/cursor\",\"ace/scrollbar\",\"ace/scrollbar\",\"ace/renderloop\",\"ace/layer/font_metrics\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/dom\"),i=e(\"./config\"),a=e(\"./lib/useragent\"),s=e(\"./layer/gutter\").Gutter,u=e(\"./layer/marker\").Marker,l=e(\"./layer/text\").Text,c=e(\"./layer/cursor\").Cursor,d=e(\"./scrollbar\").HScrollBar,f=e(\"./scrollbar\").VScrollBar,p=e(\"./renderloop\").RenderLoop,h=e(\"./layer/font_metrics\").FontMetrics,m=e(\"./lib/event_emitter\").EventEmitter,g='.ace_editor {\\tposition: relative;\\toverflow: hidden;\\tfont: 12px/normal \\'Monaco\\', \\'Menlo\\', \\'Ubuntu Mono\\', \\'Consolas\\', \\'source-code-pro\\', monospace;\\tdirection: ltr;\\ttext-align: left;\\t-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\t}\\t.ace_scroller {\\tposition: absolute;\\toverflow: hidden;\\ttop: 0;\\tbottom: 0;\\tbackground-color: inherit;\\t-ms-user-select: none;\\t-moz-user-select: none;\\t-webkit-user-select: none;\\tuser-select: none;\\tcursor: text;\\t}\\t.ace_content {\\tposition: absolute;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tmin-width: 100%;\\t}\\t.ace_dragging .ace_scroller:before{\\tposition: absolute;\\ttop: 0;\\tleft: 0;\\tright: 0;\\tbottom: 0;\\tcontent: \\'\\';\\tbackground: rgba(250, 250, 250, 0.01);\\tz-index: 1000;\\t}\\t.ace_dragging.ace_dark .ace_scroller:before{\\tbackground: rgba(0, 0, 0, 0.01);\\t}\\t.ace_selecting, .ace_selecting * {\\tcursor: text !important;\\t}\\t.ace_gutter {\\tposition: absolute;\\toverflow : hidden;\\twidth: auto;\\ttop: 0;\\tbottom: 0;\\tleft: 0;\\tcursor: default;\\tz-index: 4;\\t-ms-user-select: none;\\t-moz-user-select: none;\\t-webkit-user-select: none;\\tuser-select: none;\\t}\\t.ace_gutter-active-line {\\tposition: absolute;\\tleft: 0;\\tright: 0;\\t}\\t.ace_scroller.ace_scroll-left {\\tbox-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\\t}\\t.ace_gutter-cell {\\tpadding-left: 19px;\\tpadding-right: 6px;\\tbackground-repeat: no-repeat;\\t}\\t.ace_gutter-cell.ace_error {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==\");\\tbackground-repeat: no-repeat;\\tbackground-position: 2px center;\\t}\\t.ace_gutter-cell.ace_warning {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==\");\\tbackground-position: 2px center;\\t}\\t.ace_gutter-cell.ace_info {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=\");\\tbackground-position: 2px center;\\t}\\t.ace_dark .ace_gutter-cell.ace_info {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\");\\t}\\t.ace_scrollbar {\\tposition: absolute;\\tright: 0;\\tbottom: 0;\\tz-index: 6;\\t}\\t.ace_scrollbar-inner {\\tposition: absolute;\\tcursor: text;\\tleft: 0;\\ttop: 0;\\t}\\t.ace_scrollbar-v{\\toverflow-x: hidden;\\toverflow-y: scroll;\\ttop: 0;\\t}\\t.ace_scrollbar-h {\\toverflow-x: scroll;\\toverflow-y: hidden;\\tleft: 0;\\t}\\t.ace_print-margin {\\tposition: absolute;\\theight: 100%;\\t}\\t.ace_text-input {\\tposition: absolute;\\tz-index: 0;\\twidth: 0.5em;\\theight: 1em;\\topacity: 0;\\tbackground: transparent;\\t-moz-appearance: none;\\tappearance: none;\\tborder: none;\\tresize: none;\\toutline: none;\\toverflow: hidden;\\tfont: inherit;\\tpadding: 0 1px;\\tmargin: 0 -1px;\\ttext-indent: -1em;\\t-ms-user-select: text;\\t-moz-user-select: text;\\t-webkit-user-select: text;\\tuser-select: text;\\twhite-space: pre!important;\\t}\\t.ace_text-input.ace_composition {\\tbackground: inherit;\\tcolor: inherit;\\tz-index: 1000;\\topacity: 1;\\ttext-indent: 0;\\t}\\t.ace_layer {\\tz-index: 1;\\tposition: absolute;\\toverflow: hidden;\\tword-wrap: normal;\\twhite-space: pre;\\theight: 100%;\\twidth: 100%;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tpointer-events: none;\\t}\\t.ace_gutter-layer {\\tposition: relative;\\twidth: auto;\\ttext-align: right;\\tpointer-events: auto;\\t}\\t.ace_text-layer {\\tfont: inherit !important;\\t}\\t.ace_cjk {\\tdisplay: inline-block;\\ttext-align: center;\\t}\\t.ace_cursor-layer {\\tz-index: 4;\\t}\\t.ace_cursor {\\tz-index: 4;\\tposition: absolute;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tborder-left: 2px solid;\\ttransform: translatez(0);\\t}\\t.ace_multiselect .ace_cursor {\\tborder-left-width: 1px;\\t}\\t.ace_slim-cursors .ace_cursor {\\tborder-left-width: 1px;\\t}\\t.ace_overwrite-cursors .ace_cursor {\\tborder-left-width: 0;\\tborder-bottom: 1px solid;\\t}\\t.ace_hidden-cursors .ace_cursor {\\topacity: 0.2;\\t}\\t.ace_smooth-blinking .ace_cursor {\\t-webkit-transition: opacity 0.18s;\\ttransition: opacity 0.18s;\\t}\\t.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\\tposition: absolute;\\tz-index: 3;\\t}\\t.ace_marker-layer .ace_selection {\\tposition: absolute;\\tz-index: 5;\\t}\\t.ace_marker-layer .ace_bracket {\\tposition: absolute;\\tz-index: 6;\\t}\\t.ace_marker-layer .ace_active-line {\\tposition: absolute;\\tz-index: 2;\\t}\\t.ace_marker-layer .ace_selected-word {\\tposition: absolute;\\tz-index: 4;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\t}\\t.ace_line .ace_fold {\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tdisplay: inline-block;\\theight: 11px;\\tmargin-top: -2px;\\tvertical-align: middle;\\tbackground-image:\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\"),\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=\");\\tbackground-repeat: no-repeat, repeat-x;\\tbackground-position: center center, top left;\\tcolor: transparent;\\tborder: 1px solid black;\\tborder-radius: 2px;\\tcursor: pointer;\\tpointer-events: auto;\\t}\\t.ace_dark .ace_fold {\\t}\\t.ace_fold:hover{\\tbackground-image:\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\"),\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC\");\\t}\\t.ace_tooltip {\\tbackground-color: #FFF;\\tbackground-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));\\tbackground-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));\\tborder: 1px solid gray;\\tborder-radius: 1px;\\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\\tcolor: black;\\tmax-width: 100%;\\tpadding: 3px 4px;\\tposition: fixed;\\tz-index: 999999;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tcursor: default;\\twhite-space: pre;\\tword-wrap: break-word;\\tline-height: normal;\\tfont-style: normal;\\tfont-weight: normal;\\tletter-spacing: normal;\\tpointer-events: none;\\t}\\t.ace_folding-enabled > .ace_gutter-cell {\\tpadding-right: 13px;\\t}\\t.ace_fold-widget {\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tmargin: 0 -12px 0 1px;\\tdisplay: none;\\twidth: 11px;\\tvertical-align: top;\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==\");\\tbackground-repeat: no-repeat;\\tbackground-position: center;\\tborder-radius: 3px;\\tborder: 1px solid transparent;\\tcursor: pointer;\\t}\\t.ace_folding-enabled .ace_fold-widget {\\tdisplay: inline-block;   \\t}\\t.ace_fold-widget.ace_end {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==\");\\t}\\t.ace_fold-widget.ace_closed {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==\");\\t}\\t.ace_fold-widget:hover {\\tborder: 1px solid rgba(0, 0, 0, 0.3);\\tbackground-color: rgba(255, 255, 255, 0.2);\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\\t}\\t.ace_fold-widget:active {\\tborder: 1px solid rgba(0, 0, 0, 0.4);\\tbackground-color: rgba(0, 0, 0, 0.05);\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\\t}\\t.ace_dark .ace_fold-widget {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");\\t}\\t.ace_dark .ace_fold-widget.ace_end {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");\\t}\\t.ace_dark .ace_fold-widget.ace_closed {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");\\t}\\t.ace_dark .ace_fold-widget:hover {\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\tbackground-color: rgba(255, 255, 255, 0.1);\\t}\\t.ace_dark .ace_fold-widget:active {\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\t}\\t.ace_fold-widget.ace_invalid {\\tbackground-color: #FFB4B4;\\tborder-color: #DE5555;\\t}\\t.ace_fade-fold-widgets .ace_fold-widget {\\t-webkit-transition: opacity 0.4s ease 0.05s;\\ttransition: opacity 0.4s ease 0.05s;\\topacity: 0;\\t}\\t.ace_fade-fold-widgets:hover .ace_fold-widget {\\t-webkit-transition: opacity 0.05s ease 0.05s;\\ttransition: opacity 0.05s ease 0.05s;\\topacity:1;\\t}\\t.ace_underline {\\ttext-decoration: underline;\\t}\\t.ace_bold {\\tfont-weight: bold;\\t}\\t.ace_nobold .ace_bold {\\tfont-weight: normal;\\t}\\t.ace_italic {\\tfont-style: italic;\\t}\\t.ace_error-marker {\\tbackground-color: rgba(255, 0, 0,0.2);\\tposition: absolute;\\tz-index: 9;\\t}\\t.ace_highlight-marker {\\tbackground-color: rgba(255, 255, 0,0.2);\\tposition: absolute;\\tz-index: 8;\\t}\\t.ace_br1 {border-top-left-radius    : 3px;}\\t.ace_br2 {border-top-right-radius   : 3px;}\\t.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}\\t.ace_br4 {border-bottom-right-radius: 3px;}\\t.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}\\t.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}\\t.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}\\t.ace_br8 {border-bottom-left-radius : 3px;}\\t.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}\\t.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}\\t.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}\\t.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\t.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\t.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\t.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\t.ace_text-input-ios {\\tposition: absolute !important;\\ttop: -100000px !important;\\tleft: -100000px !important;\\t}\\t';o.importCssString(g,\"ace_editor.css\");var _=function(e,t){var n=this;this.container=e||o.createElement(\"div\"),this.$keepTextAreaAtCursor=!a.isOldIE,o.addCssClass(this.container,\"ace_editor\"),this.setTheme(t),this.$gutter=o.createElement(\"div\"),this.$gutter.className=\"ace_gutter\",this.container.appendChild(this.$gutter),this.$gutter.setAttribute(\"aria-hidden\",!0),this.scroller=o.createElement(\"div\"),this.scroller.className=\"ace_scroller\",this.container.appendChild(this.scroller),this.content=o.createElement(\"div\"),this.content.className=\"ace_content\",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on(\"changeGutterWidth\",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new l(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new f(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.addEventListener(\"scroll\",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener(\"scroll\",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new h(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener(\"changeCharacterSize\",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal(\"changeCharacterSize\",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),i.resetOptions(this),i._emit(\"renderer\",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle(\"ace_nobold\",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off(\"changeNewLineMode\",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on(\"changeNewLineMode\",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var o=this.container;r||(r=o.clientHeight||o.scrollHeight),n||(n=o.clientWidth||o.scrollWidth);var i=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(i|this.$changes,!0):this.$loop.schedule(i|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var o=0,i=this.$size,a={width:i.width,height:i.height,scrollerHeight:i.scrollerHeight,scrollerWidth:i.scrollerWidth};return r&&(e||i.height!=r)&&(i.height=r,o|=this.CHANGE_SIZE,i.scrollerHeight=i.height,this.$horizScroll&&(i.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+\"px\",o|=this.CHANGE_SCROLL),n&&(e||i.width!=n)&&(o|=this.CHANGE_SIZE,i.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+\"px\",i.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+\"px\",this.scroller.style.bottom=this.scrollBarH.getHeight()+\"px\",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(o|=this.CHANGE_FULL)),i.$dirty=!n||!r,o&&this._signal(\"resize\",a),o},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption(\"animatedScroll\",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption(\"showInvisibles\",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption(\"showInvisibles\")},this.getDisplayIndentGuides=function(){return this.getOption(\"displayIndentGuides\")},this.setDisplayIndentGuides=function(e){this.setOption(\"displayIndentGuides\",e)},this.setShowPrintMargin=function(e){this.setOption(\"showPrintMargin\",e)},this.getShowPrintMargin=function(){return this.getOption(\"showPrintMargin\")},this.setPrintMarginColumn=function(e){this.setOption(\"printMarginColumn\",e)},this.getPrintMarginColumn=function(){return this.getOption(\"printMarginColumn\")},this.getShowGutter=function(){return this.getOption(\"showGutter\")},this.setShowGutter=function(e){return this.setOption(\"showGutter\",e)},this.getFadeFoldWidgets=function(){return this.getOption(\"fadeFoldWidgets\")},this.setFadeFoldWidgets=function(e){this.setOption(\"fadeFoldWidgets\",e)},this.setHighlightGutterLine=function(e){this.setOption(\"highlightGutterLine\",e)},this.getHighlightGutterLine=function(){return this.getOption(\"highlightGutterLine\")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+\"px\",\nthis.$gutterLineHighlight.style.height=t+\"px\"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=o.createElement(\"div\");e.className=\"ace_layer ace_print-margin-layer\",this.$printMarginEl=o.createElement(\"div\"),this.$printMarginEl.className=\"ace_print-margin\",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+\"px\",t.visibility=this.$showPrintMargin?\"visible\":\"hidden\",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,o=this.lineHeight;if(t<0||t>e.height-o)return void(r.top=r.left=\"0\");var i=this.characterWidth;if(this.$composition){var a=this.textarea.value.replace(/^\\x01+/,\"\");i*=this.session.$getStringScreenWidth(a)[0]+2,o+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-i&&(n=this.$size.scrollerWidth-i),n+=this.gutterWidth,r.height=o+\"px\",r.width=i+\"px\",r.left=Math.min(n,this.$size.scrollerWidth-i)+\"px\",r.top=Math.min(t,this.$size.height-o)+\"px\"}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var o=this.scrollMargin;o.top=0|e,o.bottom=0|t,o.right=0|r,o.left=0|n,o.v=o.top+o.bottom,o.h=o.left+o.right,o.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-o.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption(\"hScrollBarAlwaysVisible\",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption(\"vScrollBarAlwaysVisible\",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t)return void(this.$changes|=e);if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal(\"beforeRender\"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+\"px\",this.content.style.marginTop=-n.offset+\"px\",this.content.style.width=n.width+2*this.$padding+\"px\",this.content.style.height=n.minHeight+\"px\"}return e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+\"px\",this.scroller.className=this.scrollLeft<=0?\"ace_scroller\":\"ace_scroller ace_scroll-left\"),e&this.CHANGE_FULL?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),void this._signal(\"afterRender\")):e&this.CHANGE_SCROLL?(e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),void this._signal(\"afterRender\")):(e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),void this._signal(\"afterRender\"))},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var o=this.container.clientWidth;this.container.style.height=n+\"px\",this.$updateCachedSize(!0,this.$gutterWidth,o,n),this.desiredHeight=n,this._signal(\"autosize\")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),o=r*this.lineHeight,i=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-i-2*this.$padding<0),s=this.$horizScroll!==a;s&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var u=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var l=this.scrollTop%this.lineHeight,c=t.scrollerHeight+this.lineHeight,d=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;o+=d;var f=this.scrollMargin;this.session.setScrollTop(Math.max(-f.top,Math.min(this.scrollTop,o-t.scrollerHeight+f.bottom))),this.session.setScrollLeft(Math.max(-f.left,Math.min(this.scrollLeft,i+2*this.$padding-t.scrollerWidth+f.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-o+d<0||this.scrollTop>f.top),h=u!==p;h&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var m,g,_=Math.ceil(c/this.lineHeight)-1,b=Math.max(0,Math.round((this.scrollTop-l)/this.lineHeight)),y=b+_,v=this.lineHeight;b=e.screenToDocumentRow(b,0);var M=e.getFoldLine(b);M&&(b=M.start.row),m=e.documentToScreenRow(b,0),g=e.getRowLength(b)*v,y=Math.min(e.screenToDocumentRow(y,0),e.getLength()-1),c=t.scrollerHeight+e.getRowLength(y)*v+g,l=this.scrollTop-m*v;var A=0;return this.layerConfig.width!=i&&(A=this.CHANGE_H_SCROLL),(s||h)&&(A=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal(\"scrollbarVisibilityChanged\"),h&&(i=this.$getLongestLine())),this.layerConfig={width:i,padding:this.$padding,firstRow:b,firstRowScreen:m,lastRow:y,lineHeight:v,characterWidth:this.characterWidth,minHeight:c,maxHeight:o,offset:l,gutterOffset:v?Math.max(0,Math.ceil((l+t.height-t.scrollerHeight)/v)):0,height:this.$size.scrollerHeight},A},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1||t<n.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(n),void this.$textLayer.update(n)):(this.$textLayer.updateLines(n,e,t),!0)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(0!==this.$size.scrollerHeight){var r=this.$cursorLayer.getPixelPosition(e),o=r.left,i=r.top,a=n&&n.top||0,s=n&&n.bottom||0,u=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;u+a>i?(t&&u+a>i+this.lineHeight&&(i-=t*this.$size.scrollerHeight),0===i&&(i=-this.scrollMargin.top),this.session.setScrollTop(i)):u+this.$size.scrollerHeight-s<i+this.lineHeight&&(t&&u+this.$size.scrollerHeight-s<i-this.lineHeight&&(i+=t*this.$size.scrollerHeight),this.session.setScrollTop(i+this.lineHeight-this.$size.scrollerHeight));var l=this.scrollLeft;l>o?(o<this.$padding+2*this.layerConfig.characterWidth&&(o=-this.scrollMargin.left),this.session.setScrollLeft(o)):l+this.$size.scrollerWidth<o+this.characterWidth?this.session.setScrollLeft(Math.round(o+this.characterWidth-this.$size.scrollerWidth)):l<=this.$padding&&o-l<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){\"number\"==typeof e&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,o=n.top-r*(t||0);return this.session.setScrollTop(o),o},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,o=[],i=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)o.push(i(n/this.STEPS,e,t-e));return o},this.scrollToLine=function(e,t,n,r){var o=this.$cursorLayer.getPixelPosition({row:e,column:0}),i=o.top;t&&(i-=this.$size.scrollerHeight/2);var a=this.scrollTop;this.session.setScrollTop(i),n!==!1&&this.animateScrolling(a,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll){var r=this;if(e!=n){if(this.$scrollAnimation){var o=this.$scrollAnimation.steps;if(o.length&&(e=o[0],e==n))return}var i=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:i},clearInterval(this.$timer),r.session.setScrollTop(i.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){i.length?(r.session.setScrollTop(i.shift()),r.session.$scrollTop=n):null!=n?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,o=r/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),a=Math.round(o);return{row:i,column:a,side:o-a>0?1:-1,offsetX:r}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,o=Math.round(r/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(o,0),r)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),o=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),i=r.row*this.lineHeight;return{pageX:n.left+o-this.scrollLeft,pageY:n.top+i-this.scrollTop}},this.visualizeFocus=function(){o.addCssClass(this.container,\"ace_focus\")},this.visualizeBlur=function(){o.removeCssClass(this.container,\"ace_focus\")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,o.addCssClass(this.textarea,\"ace_composition\"),this.textarea.style.cssText=\"\",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(o.removeCssClass(this.textarea,\"ace_composition\"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(e,t){function n(n){if(r.$themeId!=e)return t&&t();if(!n||!n.cssClass)throw new Error(\"couldn't load module \"+e+\" or it didn't call define\");o.importCssString(n.cssText,n.cssClass,r.container.ownerDocument),r.theme&&o.removeCssClass(r.container,r.theme.cssClass);var i=\"padding\"in n?n.padding:\"padding\"in(r.theme||{})?4:r.$padding;r.$padding&&i!=r.$padding&&r.setPadding(i),r.$theme=n.cssClass,r.theme=n,o.addCssClass(r.container,n.cssClass),o.setCssClass(r.container,\"ace_dark\",n.isDark),r.$size&&(r.$size.width=0,r.$updateSizeAsync()),r._dispatchEvent(\"themeLoaded\",{theme:n}),t&&t()}var r=this;if(this.$themeId=e,r._dispatchEvent(\"themeChange\",{theme:e}),e&&\"string\"!=typeof e)n(e);else{var a=e||this.$options.theme.initialValue;i.loadModule([\"theme\",a],n)}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){o.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){o.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(_.prototype),i.defineOptions(_.prototype,\"renderer\",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){\"number\"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?\"block\":\"none\",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){o.setCssClass(this.$gutter,\"ace_fade-fold-widgets\",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){return this.$gutterLineHighlight?(this.$gutterLineHighlight.style.display=e?\"\":\"none\",void(this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight())):(this.$gutterLineHighlight=o.createElement(\"div\"),this.$gutterLineHighlight.className=\"ace_gutter-active-line\",void this.$gutter.appendChild(this.$gutterLineHighlight))},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){\"number\"==typeof e&&(e+=\"px\"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:\"./theme/textmate\",handlesSet:!0}}),t.VirtualRenderer=_}),ace.define(\"ace/worker/worker_client\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/event_emitter\",\"ace/config\"],function(e,n,r){\"use strict\";function o(e,t){var n=t.src;\"importScripts('\"+s.qualifyURL(e)+\"');\";try{return new Blob([n],{type:\"application/javascript\"})}catch(e){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,o=new r;return o.append(n),o.getBlob(\"application/javascript\")}}function i(e,t){var n=o(e,t),r=window.URL||window.webkitURL,i=r.createObjectURL(n);return new Worker(i)}var a=e(\"../lib/oop\"),s=e(\"../lib/net\"),u=e(\"../lib/event_emitter\").EventEmitter,l=e(\"../config\"),c=function(t,n,r,o,a){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),l.get(\"packaged\")||!e.toUrl)o=o||l.moduleUrl(n.id,\"worker\");else{var s=this.$normalizePath;o=o||s(e.toUrl(\"ace/worker/worker.js\",null,\"_\"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,\"_\").replace(/(\\.js)?(\\?.*)?$/,\"\"))})}this.$worker=i(o,n),a&&this.send(\"importScripts\",a),this.$worker.postMessage({init:!0,tlns:u,module:n.id,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){a.implement(this,u),this.onMessage=function(e){var n=e.data;switch(n.type){case\"event\":this._signal(n.name,{data:n.data});break;case\"call\":var r=this.callbacks[n.id];r&&(r(n.data),delete this.callbacks[n.id]);break;case\"error\":this.reportError(n.data);break;case\"log\":window.console&&t.log&&t.log.apply(t,n.data)}},this.reportError=function(e){window.console&&t.error&&t.error(e)},this.$normalizePath=function(e){return s.qualifyURL(e)},this.terminate=function(){this._signal(\"terminate\",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off(\"change\",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,n){try{this.$worker.postMessage({event:e,data:{data:n.data}})}catch(e){t.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call(\"setValue\",[e.getValue()]),e.on(\"change\",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),\"insert\"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call(\"setValue\",[this.$doc.getValue()]):this.emit(\"change\",{data:e}))}}).call(c.prototype);var d=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,o=!1,i=Object.create(u),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(o?setTimeout(s):s())},this.setEmitSync=function(e){o=e};var s=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&i._signal(e.event,e.data)};i.postMessage=function(e){a.onMessage({data:e})},i.callback=function(e,t){this.postMessage({type:\"call\",id:t,data:e})},i.emit=function(e,t){this.postMessage({type:\"event\",name:e,data:t})},l.loadModule([\"worker\",t],function(e){for(r=new e[n](i);a.messageBuffer.length;)s()})};d.prototype=c.prototype,n.UIWorkerClient=d,n.WorkerClient=c,n.createWorker=i}),ace.define(\"ace/placeholder\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/lib/oop\"],function(e,t,n){\"use strict\";var r=e(\"./range\").Range,o=e(\"./lib/event_emitter\").EventEmitter,i=e(\"./lib/oop\"),a=function(e,t,n,r,o,i){var a=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=o,this.othersClass=i,this.$onUpdate=this.onUpdate.bind(this),this.doc.on(\"change\",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){a.onCursorChange()})},this.$pos=n;var s=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=s.length,this.setup(),e.selection.on(\"changeCursor\",this.$onCursorChange)};(function(){i.implement(this,o),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var o=this.pos;o.$insertRight=!0,o.detach(),o.markerId=n.addMarker(new r(o.row,o.column,o.row,o.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,r.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var n=\"insert\"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,o=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,i=t.start.column-this.pos.column;if(this.updateAnchors(e),o&&(this.length+=n),o&&!this.session.$fromUndo)if(\"insert\"===e.action)for(var a=this.others.length-1;a>=0;a--){var s=this.others[a],u={row:s.row,column:s.column+i};this.doc.insertMergedLines(u,e.lines)}else if(\"remove\"===e.action)for(var a=this.others.length-1;a>=0;a--){var s=this.others[a],u={row:s.row,column:s.column+i};this.doc.remove(new r(u.row,u.column,u.row,u.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,o){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),o,null,!1)};n(this.pos,this.mainClass);for(var o=this.others.length;o--;)n(this.others[o],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit(\"cursorEnter\",e)):(this.hideOtherMarkers(),this._emit(\"cursorLeave\",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener(\"change\",this.$onUpdate),this.session.selection.removeEventListener(\"changeCursor\",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth!==-1){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n<t;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(a.prototype),t.PlaceHolder=a}),ace.define(\"ace/mouse/multi_select_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){function r(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,s=t.ctrlKey,u=e.getAccelKey(),l=e.getButton();if(s&&a.isMac&&(l=t.button),e.editor.inMultiSelectMode&&2==l)return void e.editor.textInput.onContextMenu(e.domEvent);if(!s&&!n&&!u)return void(0===l&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode());if(0===l){var c,d=e.editor,f=d.selection,p=d.inMultiSelectMode,h=e.getDocumentPosition(),m=f.getCursor(),g=e.inSelection()||f.isEmpty()&&r(h,m),_=e.x,b=e.y,y=function(e){_=e.clientX,b=e.clientY},v=d.session,M=d.renderer.pixelToScreenCoordinates(_,b),A=M;if(d.$mouseHandler.$enableJumpToDef)s&&n||u&&n?c=o?\"block\":\"add\":n&&d.$blockSelectEnabled&&(c=\"block\");else if(u&&!n){if(c=\"add\",!p&&o)return}else n&&d.$blockSelectEnabled&&(c=\"block\");if(c&&a.isMac&&t.ctrlKey&&d.$mouseHandler.cancelContextMenu(),\"add\"==c){if(!p&&g)return;if(!p){var w=f.toOrientedRange();d.addSelectionMarker(w)}var C=f.rangeList.rangeAtPoint(h);d.$blockScrolling++,d.inVirtualSelectionMode=!0,o&&(C=null,w=f.ranges[0]||w,d.removeSelectionMarker(w)),d.once(\"mouseup\",function(){var e=f.toOrientedRange();C&&e.isEmpty()&&r(C.cursor,e.cursor)?f.substractPoint(e.cursor):(o?f.substractPoint(w.cursor):w&&(d.removeSelectionMarker(w),f.addRange(w)),f.addRange(e)),d.$blockScrolling--,d.inVirtualSelectionMode=!1})}else if(\"block\"==c){e.stop(),d.inVirtualSelectionMode=!0;var E,L=[],T=function(){var e=d.renderer.pixelToScreenCoordinates(_,b),t=v.screenToDocumentPosition(e.row,e.column,e.offsetX);r(A,e)&&r(t,f.lead)||(A=e,d.$blockScrolling++,d.selection.moveToPosition(t),d.renderer.scrollCursorIntoView(),d.removeSelectionMarkers(L),L=f.rectangularRangeBlock(A,M),d.$mouseHandler.$clickSelection&&1==L.length&&L[0].isEmpty()&&(L[0]=d.$mouseHandler.$clickSelection.clone()),L.forEach(d.addSelectionMarker,d),d.updateSelectionMarkers(),d.$blockScrolling--)};d.$blockScrolling++,p&&!u?f.toSingleRange():!p&&u&&(E=f.toOrientedRange(),d.addSelectionMarker(E)),o?M=v.documentToScreenPosition(f.lead):f.moveToPosition(h),d.$blockScrolling--,A={row:-1,column:-1};var O=function(e){clearInterval(N),d.removeSelectionMarkers(L),L.length||(L=[f.toOrientedRange()]),d.$blockScrolling++,E&&(d.removeSelectionMarker(E),f.toSingleRange(E));for(var t=0;t<L.length;t++)f.addRange(L[t]);d.inVirtualSelectionMode=!1,d.$mouseHandler.$clickSelection=null,d.$blockScrolling--},S=T;i.capture(d.container,y,O);var N=setInterval(function(){S()},20);return e.preventDefault()}}}var i=e(\"../lib/event\"),a=e(\"../lib/useragent\");t.onMouseDown=o}),ace.define(\"ace/commands/multi_select_commands\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\"],function(e,t,n){t.defaultCommands=[{name:\"addCursorAbove\",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:\"Ctrl-Alt-Up\",mac:\"Ctrl-Alt-Up\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"addCursorBelow\",exec:function(e){e.selectMoreLines(1)},bindKey:{win:\"Ctrl-Alt-Down\",mac:\"Ctrl-Alt-Down\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"addCursorAboveSkipCurrent\",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Up\",mac:\"Ctrl-Alt-Shift-Up\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"addCursorBelowSkipCurrent\",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Down\",mac:\"Ctrl-Alt-Shift-Down\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectMoreBefore\",exec:function(e){e.selectMore(-1)},bindKey:{win:\"Ctrl-Alt-Left\",mac:\"Ctrl-Alt-Left\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectMoreAfter\",exec:function(e){e.selectMore(1)},bindKey:{win:\"Ctrl-Alt-Right\",mac:\"Ctrl-Alt-Right\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectNextBefore\",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Left\",mac:\"Ctrl-Alt-Shift-Left\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectNextAfter\",exec:function(e){e.selectMore(1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Right\",mac:\"Ctrl-Alt-Shift-Right\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"splitIntoLines\",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:\"Ctrl-Alt-L\",mac:\"Ctrl-Alt-L\"},readOnly:!0},{name:\"alignCursors\",exec:function(e){e.alignCursors()},bindKey:{win:\"Ctrl-Alt-A\",mac:\"Ctrl-Alt-A\"},scrollIntoView:\"cursor\"},{name:\"findAll\",exec:function(e){e.findAll()},bindKey:{win:\"Ctrl-Alt-K\",mac:\"Ctrl-Alt-G\"},scrollIntoView:\"cursor\",readOnly:!0}],t.multiSelectCommands=[{name:\"singleSelection\",bindKey:\"esc\",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:\"cursor\",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e(\"../keyboard/hash_handler\").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define(\"ace/multi_select\",[\"require\",\"exports\",\"module\",\"ace/range_list\",\"ace/range\",\"ace/selection\",\"ace/mouse/multi_select_handler\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/commands/multi_select_commands\",\"ace/search\",\"ace/edit_session\",\"ace/editor\",\"ace/config\"],function(e,t,n){function r(e,t,n){return m.$options.wrap=!0,m.$options.needle=t,m.$options.backwards=n==-1,m.find(e)}function o(e,t){return e.row==t.row&&e.column==t.column}function i(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on(\"changeSession\",e.$multiselectOnSessionChange),e.on(\"mousedown\",c),e.commands.addCommands(p.defaultCommands),a(e))}function a(e){function t(t){\nr&&(e.renderer.setMouseCursor(\"\"),r=!1)}var n=e.textInput.getElement(),r=!1;d.addListener(n,\"keydown\",function(n){var o=18==n.keyCode&&!(n.ctrlKey||n.shiftKey||n.metaKey);e.$blockSelectEnabled&&o?r||(e.renderer.setMouseCursor(\"crosshair\"),r=!0):r&&t()}),d.addListener(n,\"keyup\",t),d.addListener(n,\"blur\",t)}var s=e(\"./range_list\").RangeList,u=e(\"./range\").Range,l=e(\"./selection\").Selection,c=e(\"./mouse/multi_select_handler\").onMouseDown,d=e(\"./lib/event\"),f=e(\"./lib/lang\"),p=e(\"./commands/multi_select_commands\");t.commands=p.defaultCommands.concat(p.multiSelectCommands);var h=e(\"./search\").Search,m=new h,g=e(\"./edit_session\").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(g.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal(\"multiSelect\"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal(\"addRange\",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal(\"removeRange\",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal(\"singleSelect\"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new s,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=u.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),o=n.start.row,i=n.end.row;if(o==i){if(r)var a=n.end,s=n.start;else var a=n.start,s=n.end;return this.addRange(u.fromPoints(s,s)),void this.addRange(u.fromPoints(a,a))}var l=[],c=this.getLineRange(o,!0);c.start.column=n.start.column,l.push(c);for(var d=o+1;d<i;d++)l.push(this.getLineRange(d,!0));c=this.getLineRange(i,!0),c.end.column=n.end.column,l.push(c),l.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=u.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),o=this.session.documentToScreenPosition(this.selectionAnchor),i=this.rectangularRangeBlock(r,o);i.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],i=e.column<t.column;if(i)var a=e.column,s=t.column,l=e.offsetX,c=t.offsetX;else var a=t.column,s=e.column,l=t.offsetX,c=e.offsetX;var d=e.row<t.row;if(d)var f=e.row,p=t.row;else var f=t.row,p=e.row;a<0&&(a=0),f<0&&(f=0),f==p&&(n=!0);for(var h=f;h<=p;h++){var m=u.fromPoints(this.session.screenToDocumentPosition(h,a,l),this.session.screenToDocumentPosition(h,s,c));if(m.isEmpty()){if(g&&o(m.end,g))break;var g=m.end}m.cursor=i?m.start:m.end,r.push(m)}if(d&&r.reverse(),!n){for(var _=r.length-1;r[_].isEmpty()&&_>0;)_--;if(_>0)for(var b=0;r[b].isEmpty();)b++;for(var y=_;y>=b;y--)r[y].isEmpty()&&r.splice(y,1)}return r}}.call(l.prototype);var _=e(\"./editor\").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,\"ace_selection\",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var r=e[n];if(r.marker){this.session.removeMarker(r.marker);var o=t.indexOf(r);o!=-1&&t.splice(o,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle(\"ace_multiselect\"),this.keyBinding.addKeyboardHandler(p.keyboardHandler),this.commands.setDefaultHandler(\"exec\",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle(\"ace_multiselect\"),this.keyBinding.removeKeyboardHandler(p.keyboardHandler),this.commands.removeDefaultHandler(\"exec\",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit(\"changeSelection\"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)\"forEach\"==t.multiSelectAction?r=n.forEachSelection(t,e.args):\"forEachLine\"==t.multiSelectAction?r=n.forEachSelection(t,e.args,!0):\"single\"==t.multiSelectAction?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});else{var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return r}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var r,o=n&&n.keepOrder,i=1==n||n&&n.$byLines,a=this.session,s=this.selection,u=s.rangeList,c=(o?s:u).ranges;if(!c.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=s._eventRegistry;s._eventRegistry={};var f=new l(a);this.inVirtualSelectionMode=!0;for(var p=c.length;p--;){if(i)for(;p>0&&c[p].start.row==c[p-1].end.row;)p--;f.fromOrientedRange(c[p]),f.index=p,this.selection=a.selection=f;var h=e.exec?e.exec(this,t||{}):e(this,t||{});r||void 0===h||(r=h),f.toOrientedRange(c[p])}f.detach(),this.selection=a.selection=s,this.inVirtualSelectionMode=!1,s._eventRegistry=d,s.mergeOverlappingRanges();var m=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),m&&m.from==m.to&&this.renderer.animateScrolling(m.from),r}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e=\"\";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var o=this.session.getDocument().getNewLineCharacter();e=n.join(o),e.length==(n.length-1)*o.length&&(e=\"\")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row==t.row&&this.session.$clipPositionToDocument(r.row,r.column).column==t.column||this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,n){if(t=t||{},t.needle=e||t.needle,void 0==t.needle){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var o=this.$search.findAll(this.session);if(!o.length)return 0;this.$blockScrolling+=1;var i=this.multiSelect;n||i.toSingleRange(o[0]);for(var a=o.length;a--;)i.addRange(o[a],!0);return r&&i.rangeList.rangeAtPoint(r.start)&&i.addRange(r,!0),this.$blockScrolling-=1,o.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,o=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(o.column=this.selection.$desiredColumn);var i=this.session.screenToDocumentPosition(o.row+e,o.column);if(n.isEmpty())var a=i;else var s=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(s.row+e,s.column);if(r){var l=u.fromPoints(i,a);l.cursor=l.start}else{var l=u.fromPoints(a,i);l.cursor=l.end}if(l.desiredColumn=o.column,this.selection.inMultiSelectMode){if(t)var c=n.cursor}else this.selection.addRange(n);this.selection.addRange(l),c&&this.selection.substractPoint(c)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,r=n.ranges,o=r.length;o--;){var i=r[o];if(i.isEmpty()){var a=t.getWordRange(i.start.row,i.start.column);i.start.row=a.start.row,i.start.column=a.start.column,i.end.row=a.end.row,i.end.column=a.end.column}}n.mergeOverlappingRanges();for(var s=[],o=r.length;o--;){var i=r[o];s.unshift(t.getTextRange(i))}e<0?s.unshift(s.pop()):s.push(s.shift());for(var o=r.length;o--;){var i=r[o],a=i.clone();t.replace(i,s[o]),i.start.row=a.start.row,i.start.column=a.start.column}},this.selectMore=function(e,t,n){var o=this.session,i=o.multiSelect,a=i.toOrientedRange();if(!a.isEmpty()||(a=o.getWordRange(a.start.row,a.start.column),a.cursor=e==-1?a.start:a.end,this.multiSelect.addRange(a),!n)){var s=o.getTextRange(a),u=r(o,s,e);u&&(u.cursor=e==-1?u.start:u.end,this.$blockScrolling+=1,this.session.unfold(u),this.multiSelect.addRange(u),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(a.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,o=n.filter(function(e){return e.cursor.row==r||void(r=e.cursor.row)});if(n.length&&o.length!=n.length-1){o.forEach(function(e){t.substractPoint(e.cursor)});var i=0,a=1/0,s=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),o=r.substr(n.column).search(/\\S/g);return o==-1&&(o=0),n.column>i&&(i=n.column),o<a&&(a=o),o});n.forEach(function(t,n){var r=t.cursor,o=i-r.column,l=s[n]-a;o>l?e.insert(r,f.stringRepeat(\" \",o-l)):e.remove(new u(r.row,r.column,r.row,r.column-o+l)),t.start.column=t.end.column=i,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var l=this.selection.getRange(),c=l.start.row,d=l.end.row,p=c==d;if(p){var h,m=this.session.getLength();do h=this.session.getLine(d);while(/[=:]/.test(h)&&++d<m);do h=this.session.getLine(c);while(/[=:]/.test(h)&&--c>0);c<0&&(c=0),d>=m&&(d=m-1)}var g=this.session.removeFullLines(c,d);g=this.$reAlignText(g,p),this.session.insert({row:c,column:0},g.join(\"\\n\")+\"\\n\"),p||(l.start.column=0,l.end.column=g[g.length-1].length),this.selection.setRange(l)}},this.$reAlignText=function(e,t){function n(e){return f.stringRepeat(\" \",e)}function r(e){return e[2]?n(a)+e[2]+n(s-e[2].length+u)+e[4].replace(/^([=:])\\s+/,\"$1 \"):e[0]}function o(e){return e[2]?n(a+s-e[2].length)+e[2]+n(u,\" \")+e[4].replace(/^([=:])\\s+/,\"$1 \"):e[0]}function i(e){return e[2]?n(a)+e[2]+n(u)+e[4].replace(/^([=:])\\s+/,\"$1 \"):e[0]}var a,s,u,l=!0,c=!0;return e.map(function(e){var t=e.match(/(\\s*)(.*?)(\\s*)([=:].*)/);return t?null==a?(a=t[1].length,s=t[2].length,u=t[3].length,t):(a+s+u!=t[1].length+t[2].length+t[3].length&&(c=!1),a!=t[1].length&&(l=!1),a>t[1].length&&(a=t[1].length),s<t[2].length&&(s=t[2].length),u>t[3].length&&(u=t[3].length),t):[e]}).map(t?r:l?c?o:r:i)}}).call(_.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off(\"addRange\",this.$onAddRange),n.multiSelect.off(\"removeRange\",this.$onRemoveRange),n.multiSelect.off(\"multiSelect\",this.$onMultiSelect),n.multiSelect.off(\"singleSelect\",this.$onSingleSelect),n.multiSelect.lead.off(\"change\",this.$checkMultiselectChange),n.multiSelect.anchor.off(\"change\",this.$checkMultiselectChange)),t&&(t.multiSelect.on(\"addRange\",this.$onAddRange),t.multiSelect.on(\"removeRange\",this.$onRemoveRange),t.multiSelect.on(\"multiSelect\",this.$onMultiSelect),t.multiSelect.on(\"singleSelect\",this.$onSingleSelect),t.multiSelect.lead.on(\"change\",this.$checkMultiselectChange),t.multiSelect.anchor.on(\"change\",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=i,e(\"./config\").defineOptions(_.prototype,\"editor\",{enableMultiselect:{set:function(e){i(this),e?(this.on(\"changeSession\",this.$multiselectOnSessionChange),this.on(\"mousedown\",c)):(this.off(\"changeSession\",this.$multiselectOnSessionChange),this.off(\"mousedown\",c))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define(\"ace/mode/folding/fold_mode\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"../../range\").Range,o=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?\"start\":\"markbeginend\"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?\"end\":\"\"},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var o=/\\S/,i=e.getLine(t),a=i.search(o);if(a!=-1){for(var s=n||i.length,u=e.getLength(),l=t,c=t;++t<u;){var d=e.getLine(t).search(o);if(d!=-1){if(d<=a)break;c=t}}if(c>l){var f=e.getLine(c).length;return new r(l,s,c,f)}}},this.openingBracketBlock=function(e,t,n,o,i){var a={row:n,column:o+1},s=e.$findClosingBracket(t,a,i);if(s){var u=e.foldWidgets[s.row];return null==u&&(u=e.getFoldWidget(s.row)),\"start\"==u&&s.row>a.row&&(s.row--,s.column=e.getLine(s.row).length),r.fromPoints(a,s)}},this.closingBracketBlock=function(e,t,n,o,i){var a={row:n,column:o},s=e.$findOpeningBracket(t,a);if(s)return s.column++,a.column--,r.fromPoints(s,a)}}).call(o.prototype)}),ace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";t.isDark=!1,t.cssClass=\"ace-tm\",t.cssText='.ace-tm .ace_gutter {\\tbackground: #f0f0f0;\\tcolor: #333;\\t}\\t.ace-tm .ace_print-margin {\\twidth: 1px;\\tbackground: #e8e8e8;\\t}\\t.ace-tm .ace_fold {\\tbackground-color: #6B72E6;\\t}\\t.ace-tm {\\tbackground-color: #FFFFFF;\\tcolor: black;\\t}\\t.ace-tm .ace_cursor {\\tcolor: black;\\t}\\t.ace-tm .ace_invisible {\\tcolor: rgb(191, 191, 191);\\t}\\t.ace-tm .ace_storage,\\t.ace-tm .ace_keyword {\\tcolor: blue;\\t}\\t.ace-tm .ace_constant {\\tcolor: rgb(197, 6, 11);\\t}\\t.ace-tm .ace_constant.ace_buildin {\\tcolor: rgb(88, 72, 246);\\t}\\t.ace-tm .ace_constant.ace_language {\\tcolor: rgb(88, 92, 246);\\t}\\t.ace-tm .ace_constant.ace_library {\\tcolor: rgb(6, 150, 14);\\t}\\t.ace-tm .ace_invalid {\\tbackground-color: rgba(255, 0, 0, 0.1);\\tcolor: red;\\t}\\t.ace-tm .ace_support.ace_function {\\tcolor: rgb(60, 76, 114);\\t}\\t.ace-tm .ace_support.ace_constant {\\tcolor: rgb(6, 150, 14);\\t}\\t.ace-tm .ace_support.ace_type,\\t.ace-tm .ace_support.ace_class {\\tcolor: rgb(109, 121, 222);\\t}\\t.ace-tm .ace_keyword.ace_operator {\\tcolor: rgb(104, 118, 135);\\t}\\t.ace-tm .ace_string {\\tcolor: rgb(3, 106, 7);\\t}\\t.ace-tm .ace_comment {\\tcolor: rgb(76, 136, 107);\\t}\\t.ace-tm .ace_comment.ace_doc {\\tcolor: rgb(0, 102, 255);\\t}\\t.ace-tm .ace_comment.ace_doc.ace_tag {\\tcolor: rgb(128, 159, 191);\\t}\\t.ace-tm .ace_constant.ace_numeric {\\tcolor: rgb(0, 0, 205);\\t}\\t.ace-tm .ace_variable {\\tcolor: rgb(49, 132, 149);\\t}\\t.ace-tm .ace_xml-pe {\\tcolor: rgb(104, 104, 91);\\t}\\t.ace-tm .ace_entity.ace_name.ace_function {\\tcolor: #0000A2;\\t}\\t.ace-tm .ace_heading {\\tcolor: rgb(12, 7, 255);\\t}\\t.ace-tm .ace_list {\\tcolor:rgb(185, 6, 144);\\t}\\t.ace-tm .ace_meta.ace_tag {\\tcolor:rgb(0, 22, 142);\\t}\\t.ace-tm .ace_string.ace_regex {\\tcolor: rgb(255, 0, 0)\\t}\\t.ace-tm .ace_marker-layer .ace_selection {\\tbackground: rgb(181, 213, 255);\\t}\\t.ace-tm.ace_multiselect .ace_selection.ace_start {\\tbox-shadow: 0 0 3px 0px white;\\t}\\t.ace-tm .ace_marker-layer .ace_step {\\tbackground: rgb(252, 255, 0);\\t}\\t.ace-tm .ace_marker-layer .ace_stack {\\tbackground: rgb(164, 229, 101);\\t}\\t.ace-tm .ace_marker-layer .ace_bracket {\\tmargin: -1px 0 0 -1px;\\tborder: 1px solid rgb(192, 192, 192);\\t}\\t.ace-tm .ace_marker-layer .ace_active-line {\\tbackground: rgba(0, 0, 0, 0.07);\\t}\\t.ace-tm .ace_gutter-active-line {\\tbackground-color : #dcdcdc;\\t}\\t.ace-tm .ace_marker-layer .ace_selected-word {\\tbackground: rgb(250, 250, 255);\\tborder: 1px solid rgb(200, 200, 250);\\t}\\t.ace-tm .ace_indent-guide {\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\\t}\\t';var r=e(\"../lib/dom\");r.importCssString(t.cssText,t.cssClass)}),ace.define(\"ace/line_widgets\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on(\"change\",this.updateOnChange),this.session.on(\"changeFold\",this.updateOnFold),this.session.on(\"changeEditor\",this.$onChangeEditor)}var o=(e(\"./lib/oop\"),e(\"./lib/dom\"));e(\"./range\").Range;(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets?this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on(\"beforeRender\",this.measureWidgets),e.renderer.on(\"afterRender\",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off(\"beforeRender\",this.measureWidgets),t.renderer.off(\"afterRender\",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var r=e.data,o=r.start.row,i=r.end.row,a=\"add\"==e.action,s=o+1;s<i;s++)n[s]&&(n[s].hidden=a);n[i]&&(a?n[o]?n[i].hidden=a:n[o]=n[i]:(n[o]==n[i]&&(n[o]=void 0),n[i].hidden=a))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,r=e.end.row-n;if(0===r);else if(\"remove\"==e.action){var o=t.splice(n+1,r);o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var i=new Array(r);i.unshift(n,0),t.splice.apply(t,i),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach(function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget}),t&&(this.session.lineWidgets=null)}},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=o.createElement(\"div\"),e.el.innerHTML=e.html),e.el&&(o.addCssClass(e.el,\"ace_lineWidgetContainer\"),e.el.style.position=\"absolute\",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);if(e.$fold=r,r){var i=this.session.lineWidgets;e.row!=r.end.row||i[r.start.row]?e.hidden=!0:i[r.start.row]=e}return this.session._emit(\"changeFold\",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit(\"changeFold\",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],r=[];n;)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(n&&n.length){for(var o=1/0,i=0;i<n.length;i++){var a=n[i];if(a&&a.el&&a.session==this.session){if(!a._inDocument){if(this.session.lineWidgets[a.row]!=a)continue;a._inDocument=!0,t.container.appendChild(a.el)}a.h=a.el.offsetHeight,a.fixedWidth||(a.w=a.el.offsetWidth,a.screenWidth=Math.ceil(a.w/r.characterWidth));var s=a.h/r.lineHeight;a.coverLine&&(s-=this.session.getRowLineCount(a.row),s<0&&(s=0)),a.rowCount!=s&&(a.rowCount=s,a.row<o&&(o=a.row))}}o!=1/0&&(this.session._emit(\"changeFold\",{data:{start:{row:o}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(r){for(var o=Math.min(this.firstRow,n.firstRow),i=Math.max(this.lastRow,n.lastRow,r.length);o>0&&!r[o];)o--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var a=o;a<=i;a++){var s=r[a];if(s&&s.el)if(s.hidden)s.el.style.top=-100-(s.pixelHeight||0)+\"px\";else{s._inDocument||(s._inDocument=!0,t.container.appendChild(s.el));var u=t.$cursorLayer.getPixelPosition({row:a,column:0},!0).top;s.coverLine||(u+=n.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=u-n.offset+\"px\";var l=s.coverGutter?0:t.gutterWidth;s.fixedWidth||(l-=t.scrollLeft),s.el.style.left=l+\"px\",s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=n.width+2*n.padding+\"px\"),s.fixedWidth?s.el.style.right=t.scrollBar.getWidth()+\"px\":s.el.style.right=\"\"}}}}}).call(r.prototype),t.LineWidgets=r}),ace.define(\"ace/ext/error_marker\",[\"require\",\"exports\",\"module\",\"ace/line_widgets\",\"ace/lib/dom\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t,n){for(var r=0,o=e.length-1;r<=o;){var i=r+o>>1,a=n(t,e[i]);if(a>0)r=i+1;else{if(!(a<0))return i;o=i-1}}return-(r+1)}function o(e,t,n){var o=e.getAnnotations().sort(s.comparePoints);if(o.length){var i=r(o,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=o.length?i=n>0?0:o.length-1:0===i&&n<0&&(i=o.length-1);var a=o[i];if(a&&n){if(a.row===t){do a=o[i+=n];while(a&&a.row===t);if(!a)return o.slice()}var u=[];t=a.row;do u[n<0?\"unshift\":\"push\"](a),a=o[i+=n];while(a&&a.row==t);return u.length&&u}}}var i=e(\"../line_widgets\").LineWidgets,a=e(\"../lib/dom\"),s=e(\"../range\").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new i(n),n.widgetManager.attach(e));var r=e.getCursorPosition(),s=r.row,u=n.widgetManager.getWidgetsAtRow(s).filter(function(e){return\"errorMarker\"==e.type})[0];u?u.destroy():s-=t;var l,c=o(n,s,t);if(c){var d=c[0];r.column=(d.pos&&\"number\"!=typeof d.column?d.pos.sc:d.column)||0,r.row=d.row,l=e.renderer.$gutterLayer.$annotations[r.row]}else{if(u)return;l={text:[\"Looks good!\"],className:\"ace_ok\"}}e.session.unfold(r.row),e.selection.moveToPosition(r);var f={row:r.row,fixedWidth:!0,coverGutter:!0,el:a.createElement(\"div\"),type:\"errorMarker\"},p=f.el.appendChild(a.createElement(\"div\")),h=f.el.appendChild(a.createElement(\"div\"));h.className=\"error_widget_arrow \"+l.className;var m=e.renderer.$cursorLayer.getPixelPosition(r).left;h.style.left=m+e.renderer.gutterWidth-5+\"px\",f.el.className=\"error_widget_wrapper\",p.className=\"error_widget \"+l.className,p.innerHTML=l.text.join(\"<br>\"),p.appendChild(a.createElement(\"div\"));var g=function(e,t,n){if(0===t&&(\"esc\"===n||\"return\"===n))return f.destroy(),{command:\"null\"}};f.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),n.widgetManager.removeLineWidget(f),e.off(\"changeSelection\",f.destroy),e.off(\"changeSession\",f.destroy),e.off(\"mouseup\",f.destroy),e.off(\"change\",f.destroy))},e.keyBinding.addKeyboardHandler(g),e.on(\"changeSelection\",f.destroy),e.on(\"changeSession\",f.destroy),e.on(\"mouseup\",f.destroy),e.on(\"change\",f.destroy),e.session.widgetManager.addLineWidget(f),f.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:f.el.offsetHeight})},a.importCssString(\"\\t    .error_widget_wrapper {\\t        background: inherit;\\t        color: inherit;\\t        border:none\\t    }\\t    .error_widget {\\t        border-top: solid 2px;\\t        border-bottom: solid 2px;\\t        margin: 5px 0;\\t        padding: 10px 40px;\\t        white-space: pre-wrap;\\t    }\\t    .error_widget.ace_error, .error_widget_arrow.ace_error{\\t        border-color: #ff5a5a\\t    }\\t    .error_widget.ace_warning, .error_widget_arrow.ace_warning{\\t        border-color: #F1D817\\t    }\\t    .error_widget.ace_info, .error_widget_arrow.ace_info{\\t        border-color: #5a5a5a\\t    }\\t    .error_widget.ace_ok, .error_widget_arrow.ace_ok{\\t        border-color: #5aaa5a\\t    }\\t    .error_widget_arrow {\\t        position: absolute;\\t        border: solid 5px;\\t        border-top-color: transparent!important;\\t        border-right-color: transparent!important;\\t        border-left-color: transparent!important;\\t        top: -5px;\\t    }\\t\",\"\")}),ace.define(\"ace/ace\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/editor\",\"ace/edit_session\",\"ace/undomanager\",\"ace/virtual_renderer\",\"ace/worker/worker_client\",\"ace/keyboard/hash_handler\",\"ace/placeholder\",\"ace/multi_select\",\"ace/mode/folding/fold_mode\",\"ace/theme/textmate\",\"ace/ext/error_marker\",\"ace/config\"],function(e,t,r){\"use strict\";e(\"./lib/fixoldbrowsers\");var o=e(\"./lib/dom\"),i=e(\"./lib/event\"),a=e(\"./editor\").Editor,s=e(\"./edit_session\").EditSession,u=e(\"./undomanager\").UndoManager,l=e(\"./virtual_renderer\").VirtualRenderer;e(\"./worker/worker_client\"),e(\"./keyboard/hash_handler\"),e(\"./placeholder\"),e(\"./multi_select\"),e(\"./mode/folding/fold_mode\"),e(\"./theme/textmate\"),e(\"./ext/error_marker\"),t.config=e(\"./config\"),t.acequire=e,t.define=n(666),t.edit=function(e){if(\"string\"==typeof e){var n=e;if(e=document.getElementById(n),!e)throw new Error(\"ace.edit can't find div #\"+n)}if(e&&e.env&&e.env.editor instanceof a)return e.env.editor;var r=\"\";if(e&&/input|textarea/i.test(e.tagName)){var s=e;r=s.value,e=o.createElement(\"pre\"),s.parentNode.replaceChild(e,s)}else e&&(r=o.getInnerText(e),e.innerHTML=\"\");var u=t.createEditSession(r),c=new a(new l(e));c.setSession(u);var d={document:u,editor:c,onResize:c.resize.bind(c,null)};return s&&(d.textarea=s),i.addListener(window,\"resize\",d.onResize),c.on(\"destroy\",function(){i.removeListener(window,\"resize\",d.onResize),d.editor.container.env=null}),c.container.env=c.env=d,c},t.createEditSession=function(e,t){var n=new s(e,t);return n.setUndoManager(new u),n},t.EditSession=s,t.UndoManager=u,t.version=\"1.2.9\"}),function(){ace.acequire([\"ace/ace\"],function(e){e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e);for(var t in e)e.hasOwnProperty(t)&&(window.ace[t]=e[t])})}(),e.exports=window.ace.acequire(\"ace/ace\")}).call(t,n(38))},[1717,126,85],[1721,124,151,362],[1722,245],[1727,182,84,370,125,152,933,251,940,68],[1734,154,155,96,256,94,363,124],[1736,368,248],[1738,94,96,925,252],[1740,153,96,154],function(e,t,n){e.exports=n(125)},[1748,254],[1760,942,365],function(e,t,n){var r=n(59);e.exports=function(e,t){if(\"number\"!=typeof e&&\"Number\"!=r(e))throw TypeError(t);return+e}},function(e,t,n){\"use strict\";var r=n(35),o=n(105),i=n(32);e.exports=[].copyWithin||function(e,t){var n=r(this),a=i(n.length),s=o(e,a),u=o(t,a),l=arguments.length>2?arguments[2]:void 0,c=Math.min((void 0===l?a:o(l,a))-u,a-s),d=1;for(u<s&&s<u+c&&(d=-1,u+=c-1,s+=c-1);c-- >0;)u in n?n[s]=n[u]:delete n[s],s+=d,u+=d;return n}},function(e,t,n){var r=n(98);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r=n(44),o=n(35),i=n(157),a=n(32);e.exports=function(e,t,n,s,u){r(t);var l=o(e),c=i(l),d=a(l.length),f=u?d-1:0,p=u?-1:1;if(n<2)for(;;){if(f in c){s=c[f],f+=p;break}if(f+=p,u?f<0:d<=f)throw TypeError(\"Reduce of empty array with no initial value\")}for(;u?f>=0:d>f;f+=p)f in c&&(s=t(s,c[f],f,l));return s}},function(e,t,n){\"use strict\";var r=n(44),o=n(22),i=n(383),a=[].slice,s={},u=function(e,t,n){if(!(t in s)){for(var r=[],o=0;o<t;o++)r[o]=\"a[\"+o+\"]\";s[t]=Function(\"F,a\",\"return new F(\"+r.join(\",\")+\")\")}return s[t](e,n)};e.exports=Function.bind||function(e){var t=r(this),n=a.call(arguments,1),s=function(){var r=n.concat(a.call(arguments));return this instanceof s?u(t,r.length,r):i(t,r,e)};return o(t.prototype)&&(s.prototype=t.prototype),s}},function(e,t,n){\"use strict\";var r=n(31).f,o=n(99),i=n(103),a=n(61),s=n(97),u=n(98),l=n(269),c=n(386),d=n(104),f=n(30),p=n(88).fastKey,h=n(130),m=f?\"_s\":\"size\",g=function(e,t){var n,r=p(t);if(\"F\"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,l){var c=e(function(e,r){s(e,c,t,\"_i\"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&u(r,n,e[l],e)});return i(c.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=h(this,t),r=g(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[m]--}return!!r},forEach:function(e){h(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(h(this,t),e)}}),f&&r(c.prototype,\"size\",{get:function(){return h(this,t)[m]}}),c},def:function(e,t,n){var r,o,i=g(e,t);return i?i.v=n:(e._l=i={i:o=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[m]++,\"F\"!==o&&(e._i[o]=i)),e},getEntry:g,setStrong:function(e,t,n){l(e,t,function(e,n){this._t=h(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?\"keys\"==t?c(0,n.k):\"values\"==t?c(0,n.v):c(0,[n.k,n.v]):(e._t=void 0,c(1))},n?\"entries\":\"values\",!n,!0),d(t)}}},function(e,t,n){\nvar r=n(156),o=n(375);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+\"#toJSON isn't generic\");return o(this)}}},function(e,t,n){\"use strict\";var r=n(103),o=n(88).getWeak,i=n(18),a=n(22),s=n(97),u=n(98),l=n(69),c=n(54),d=n(130),f=l(5),p=l(6),h=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},_=function(e,t){return f(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=_(this,e);if(t)return t[1]},has:function(e){return!!_(this,e)},set:function(e,t){var n=_(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var l=e(function(e,r){s(e,l,t,\"_i\"),e._t=t,e._i=h++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return n===!0?m(d(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return n===!0?m(d(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=o(i(t),!0);return r===!0?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){\"use strict\";function r(e,t,n,l,c,d,f,p){for(var h,m,g=c,_=0,b=!!f&&s(f,p,3);_<l;){if(_ in n){if(h=b?b(n[_],_,t):n[_],m=!1,i(h)&&(m=h[u],m=void 0!==m?!!m:o(h)),m&&d>0)g=r(e,t,h,a(h.length),g,d-1)-1;else{if(g>=9007199254740991)throw TypeError();e[g]=h}g++}_++}return g}var o=n(188),i=n(22),a=n(32),s=n(61),u=n(26)(\"isConcatSpreadable\");e.exports=r},[1721,30,21,262],function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(22),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},[1725,18],function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(271),o=Math.pow,i=o(2,-52),a=o(2,-23),s=o(2,127)*(2-a),u=o(2,-126),l=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,o=Math.abs(e),c=r(e);return o<u?c*l(o/u/a)*u*a:(t=(1+a/i)*o,n=t-(t-o),n>s||n!=n?c*(1/0):c*n)}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t){e.exports=Math.scale||function(e,t,n,r,o){return 0===arguments.length||e!=e||t!=t||n!=n||r!=r||o!=o?NaN:e===1/0||e===-(1/0)?e:(e-t)*(o-r)/(n-t)+r}},[1730,101,192,158,35,157,21],[1733,31,18,101,30],[1735,57,100],[1738,54,57,184,275],[1740,101,57,158],function(e,t,n){var r=n(100),o=n(192),i=n(18),a=n(19).Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(i(e)),n=o.f;return n?t.concat(n(e)):t}},function(e,t,n){var r=n(19).parseFloat,o=n(129).trim;e.exports=1/r(n(279)+\"-0\")!==-(1/0)?function(e){var t=o(String(e),3),n=r(t);return 0===n&&\"-\"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(19).parseInt,o=n(129).trim,i=n(279),a=/^[-+]?0[xX]/;e.exports=8!==r(i+\"08\")||22!==r(i+\"0x16\")?function(e,t){var n=o(String(e),3);return r(n,t>>>0||(a.test(n)?16:10))}:r},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(18),o=n(22),i=n(273);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e),a=n.resolve;return a(t),n.promise}},function(e,t,n){var r=n(32),o=n(278),i=n(70);e.exports=function(e,t,n,a){var s=String(i(e)),u=s.length,l=void 0===n?\" \":String(n),c=r(t);if(c<=u||\"\"==l)return s;var d=c-u,f=o.call(l,Math.ceil(d/l.length));return f.length>d&&(f=f.slice(0,d)),a?f+s:s+f}},function(e,t,n){var r=n(72),o=n(32);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=o(t);if(t!==n)throw RangeError(\"Wrong length!\");return n}},[1752,26],function(e,t,n){\"use strict\";var r=n(378),o=n(130),i=\"Map\";e.exports=n(185)(i,function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,i),e);return t&&t.v},set:function(e,t){return r.def(o(this,i),0===e?0:e,t)}},r,!0)},function(e,t,n){n(30)&&\"g\"!=/./g.flags&&n(31).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(187)})},function(e,t,n){\"use strict\";var r=n(378),o=n(130),i=\"Set\";e.exports=n(185)(i,function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,i),e=0===e?0:e,e)}},r)},function(e,t,n){\"use strict\";var r,o=n(69)(0),i=n(49),a=n(88),s=n(390),u=n(380),l=n(22),c=n(21),d=n(130),f=\"WeakMap\",p=a.getWeak,h=Object.isExtensible,m=u.ufstore,g={},_=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},b={get:function(e){if(l(e)){var t=p(e);return t===!0?m(d(this,f)).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(d(this,f),e,t)}},y=e.exports=n(185)(f,_,b,u,!0,!0);c(function(){return 7!=(new y).set((Object.freeze||Object)(g),7).get(g)})&&(r=u.getConstructor(_,f),s(r.prototype,b),a.NEED=!0,o([\"delete\",\"has\",\"get\",\"set\"],function(e){var t=y.prototype,n=t[e];i(t,e,function(t,o){if(l(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return\"set\"==e?this:i}return n.call(this,t,o)})}))},function(e,t){\"use strict\";function n(e,t){return e.classList?!!t&&e.classList.contains(t):(\" \"+(e.className.baseVal||e.className)+\" \").indexOf(\" \"+t+\" \")!==-1}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasClass=t.removeClass=t.addClass=void 0;var o=n(1163),i=r(o),a=n(1164),s=r(a),u=n(407),l=r(u);t.addClass=i.default,t.removeClass=s.default,t.hasClass=l.default,t.default={addClass:i.default,removeClass:s.default,hasClass:l.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.nodeName&&e.nodeName.toLowerCase()}function i(e){for(var t=(0,s.default)(e),n=e&&e.offsetParent;n&&\"html\"!==o(e)&&\"static\"===(0,l.default)(n,\"position\");)n=n.offsetParent;return n||t.documentElement}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var a=n(80),s=r(a),u=n(160),l=r(u);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.nodeName&&e.nodeName.toLowerCase()}function i(e,t){var n,r={top:0,left:0};return\"fixed\"===(0,g.default)(e,\"position\")?n=e.getBoundingClientRect():(t=t||(0,c.default)(e),n=(0,u.default)(e),\"html\"!==o(t)&&(r=(0,u.default)(t)),r.top+=parseInt((0,g.default)(t,\"borderTopWidth\"),10)-(0,f.default)(t)||0,r.left+=parseInt((0,g.default)(t,\"borderLeftWidth\"),10)-(0,h.default)(t)||0),a({},n,{top:n.top-r.top-(parseInt((0,g.default)(e,\"marginTop\"),10)||0),left:n.left-r.left-(parseInt((0,g.default)(e,\"marginLeft\"),10)||0)})}Object.defineProperty(t,\"__esModule\",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(132),u=r(s),l=n(409),c=r(l),d=n(200),f=r(d),p=n(1171),h=r(p),m=n(160),g=r(m);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){for(var e=document.createElement(\"div\").style,t={O:function(e){return\"o\"+e.toLowerCase()},Moz:function(e){return e.toLowerCase()},Webkit:function(e){return\"webkit\"+e},ms:function(e){return\"MS\"+e}},n=Object.keys(t),r=void 0,o=void 0,i=\"\",a=0;a<n.length;a++){var s=n[a];if(s+\"TransitionProperty\"in e){i=\"-\"+s.toLowerCase(),r=t[s](\"TransitionEnd\"),o=t[s](\"AnimationEnd\");break}}return!r&&\"transitionProperty\"in e&&(r=\"transitionend\"),!o&&\"animationName\"in e&&(o=\"animationend\"),e=null,{animationEnd:o,transitionEnd:r,prefix:i}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.animationEnd=t.animationDelay=t.animationTiming=t.animationDuration=t.animationName=t.transitionEnd=t.transitionDuration=t.transitionDelay=t.transitionTiming=t.transitionProperty=t.transform=void 0;var i=n(74),a=r(i),s=\"transform\",u=void 0,l=void 0,c=void 0,d=void 0,f=void 0,p=void 0,h=void 0,m=void 0,g=void 0,_=void 0,b=void 0;if(a.default){var y=o();u=y.prefix,t.transitionEnd=l=y.transitionEnd,t.animationEnd=c=y.animationEnd,t.transform=s=u+\"-\"+s,t.transitionProperty=d=u+\"-transition-property\",t.transitionDuration=f=u+\"-transition-duration\",t.transitionDelay=h=u+\"-transition-delay\",t.transitionTiming=p=u+\"-transition-timing-function\",t.animationName=m=u+\"-animation-name\",t.animationDuration=g=u+\"-animation-duration\",t.animationTiming=_=u+\"-animation-delay\",t.animationDelay=b=u+\"-animation-timing-function\"}t.transform=s,t.transitionProperty=d,t.transitionTiming=p,t.transitionDelay=h,t.transitionDuration=f,t.transitionEnd=l,t.animationName=m,t.animationDuration=g,t.animationTiming=_,t.animationDelay=b,t.animationEnd=c,t.default={transform:s,end:l,property:d,timing:p,delay:h,duration:f}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return(0,a.default)(e.replace(s,\"ms-\"))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(1175),a=r(i),s=/^-ms-/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-f)),r=setTimeout(e,n);return f=t,r}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(74),a=r(i),s=[\"\",\"webkit\",\"moz\",\"o\",\"ms\"],u=\"clearTimeout\",l=o,c=void 0,d=function(e,t){return e+(e?t[0].toUpperCase()+t.substr(1):t)+\"AnimationFrame\"};a.default&&s.some(function(e){var t=d(e,\"request\");if(t in window)return u=d(e,\"cancel\"),l=function(e){return window[t](e)}});var f=(new Date).getTime();c=function(e){return l(e)},c.cancel=function(e){window[u]&&\"function\"==typeof window[u]&&window[u](e)},t.default=c,e.exports=t.default},function(e,t,n){var r=n(1180),o=n(1178);t.decode=function(e,t){return(!t||t<=0?o.XML:o.HTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?o.XML:o.HTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?r.XML:r.HTML)(e)},t.encodeXML=r.XML,t.encodeHTML4=t.encodeHTML5=t.encodeHTML=r.HTML,t.decodeXML=t.decodeXMLStrict=o.XML,t.decodeHTML4=t.decodeHTML5=t.decodeHTML=o.HTML,t.decodeHTML4Strict=t.decodeHTML5Strict=t.decodeHTMLStrict=o.HTMLStrict,t.escape=r.escape},function(e,t){e.exports={progress:\"Navigation__progress__1_jAl\",\"progress-bar\":\"Navigation__progress-bar__3eEq-\",\"progress-striped\":\"Navigation__progress-striped__2N-lZ\",\"progress-bar-striped\":\"Navigation__progress-bar-striped__OMUC5\",active:\"Navigation__active__2Y7wX\",\"progress-bar-stripes\":\"Navigation__progress-bar-stripes__1HB5w\",\"progress-bar-success\":\"Navigation__progress-bar-success__3YqeX\",\"progress-bar-info\":\"Navigation__progress-bar-info__2rFRs\",\"progress-bar-warning\":\"Navigation__progress-bar-warning__2_jpW\",\"progress-bar-danger\":\"Navigation__progress-bar-danger__2qzuV\",tooltip:\"Navigation__tooltip__67cqa\",in:\"Navigation__in__17aSe\",top:\"Navigation__top__1Iku2\",right:\"Navigation__right__1SThO\",bottom:\"Navigation__bottom__1rEZl\",left:\"Navigation__left__3Ku1T\",\"tooltip-arrow\":\"Navigation__tooltip-arrow__3aqCd\",\"top-left\":\"Navigation__top-left__28IZL\",\"top-right\":\"Navigation__top-right__1_Apt\",\"bottom-left\":\"Navigation__bottom-left__3sMEW\",\"bottom-right\":\"Navigation__bottom-right__XYqys\",\"tooltip-inner\":\"Navigation__tooltip-inner__2BDDe\",border:\"Navigation__border__1FjNU\",main:\"Navigation__main__Wi2AF\",langBtn:\"Navigation__langBtn__1rYjJ\",smallFont:\"Navigation__smallFont__2zbyM\",navigation:\"Navigation__navigation__1ja2T\",navigationTitle:\"Navigation__navigationTitle__3O5mO\",activeIcon:\"Navigation__activeIcon__1lBHM\",icon:\"Navigation__icon__11y2W\",iconWrapper:\"Navigation__iconWrapper__2Xai0\",warningIcon:\"Navigation__warningIcon__1B2Xu\",updateWarning:\"Navigation__updateWarning__FhcBc\"}},function(e,t){e.exports={progress:\"TransactionDetails__progress__3Jovc\",\"progress-bar\":\"TransactionDetails__progress-bar__12GtW\",\"progress-striped\":\"TransactionDetails__progress-striped__5deFH\",\"progress-bar-striped\":\"TransactionDetails__progress-bar-striped__1tsep\",active:\"TransactionDetails__active__3nHtP\",\"progress-bar-stripes\":\"TransactionDetails__progress-bar-stripes__2NDSj\",\"progress-bar-success\":\"TransactionDetails__progress-bar-success__1-g6q\",\"progress-bar-info\":\"TransactionDetails__progress-bar-info__2VS2-\",\"progress-bar-warning\":\"TransactionDetails__progress-bar-warning__lvQQ8\",\"progress-bar-danger\":\"TransactionDetails__progress-bar-danger__3C4_x\",tooltip:\"TransactionDetails__tooltip__10Wg0\",in:\"TransactionDetails__in__pnOT6\",top:\"TransactionDetails__top__ytVMR\",right:\"TransactionDetails__right__3oXsE\",bottom:\"TransactionDetails__bottom__2gMEs\",left:\"TransactionDetails__left__2ZtHt\",\"tooltip-arrow\":\"TransactionDetails__tooltip-arrow__edkfL\",\"top-left\":\"TransactionDetails__top-left__34TPW\",\"top-right\":\"TransactionDetails__top-right__DpXMS\",\"bottom-left\":\"TransactionDetails__bottom-left__3eQew\",\"bottom-right\":\"TransactionDetails__bottom-right__uTXHD\",\"tooltip-inner\":\"TransactionDetails__tooltip-inner__m79_R\",btnGroup:\"TransactionDetails__btnGroup__3_twt\",main:\"TransactionDetails__main__1L3Ux\",btn:\"TransactionDetails__btn__kk5a2\",table:\"TransactionDetails__table__7ImO5\",rawId:\"TransactionDetails__rawId__2AjI7\",colLabel:\"TransactionDetails__colLabel__2XPpG\",txID:\"TransactionDetails__txID__11qxa\"}},function(e,t,n){\"use strict\";var r=n(63),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent(\"on\"+t,n),{remove:function(){e.detachEvent(\"on\"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=o},function(e,t){\"use strict\";function n(e){try{e.focus()}catch(e){}}e.exports=n},function(e,t){\"use strict\";function n(e){if(e=e||(\"undefined\"!=typeof document?document:void 0),\"undefined\"==typeof e)return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=n},function(e,t,n){var r;!function(){\"use strict\";function o(e){var t=e&&e.Promise||self.Promise,n=e&&e.XMLHttpRequest||self.XMLHttpRequest,r=self;return function(){var e=Object.create(r,{fetch:{value:void 0,writable:!0}});return function(e){function r(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 o(e){return\"string\"!=typeof e&&(e=String(e)),e}function i(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return _.iterable&&(t[Symbol.iterator]=function(){return t}),t}function a(e){this.map={},e instanceof a?e.forEach(function(e,t){this.append(t,e)},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function s(e){return e.bodyUsed?t.reject(new TypeError(\"Already read\")):void(e.bodyUsed=!0)}function u(e){return new t(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function l(e){var t=new FileReader;return t.readAsArrayBuffer(e),u(t)}function c(e){var t=new FileReader;return t.readAsText(e),u(t)}function d(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,\"string\"==typeof e)this._bodyText=e;else if(_.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(_.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(_.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(e){if(!_.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e))throw new Error(\"unsupported BodyInit type\")}else 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):_.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},_.blob?(this.blob=function(){var e=s(this);if(e)return e;if(this._bodyBlob)return t.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return t.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(l)},this.text=function(){var e=s(this);if(e)return e;if(this._bodyBlob)return c(this._bodyBlob);if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return t.resolve(this._bodyText)}):this.text=function(){var e=s(this);return e?e:t.resolve(this._bodyText)},_.formData&&(this.formData=function(){return this.text().then(h)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(e){var t=e.toUpperCase();return b.indexOf(t)>-1?t:e}function p(e,t){t=t||{};var n=t.body;if(p.prototype.isPrototypeOf(e)){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new a(e.headers)),this.method=e.method,this.mode=e.mode,n||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=e;if(this.credentials=t.credentials||this.credentials||\"omit\",!t.headers&&this.headers||(this.headers=new a(t.headers)),this.method=f(t.method||this.method||\"GET\"),this.mode=t.mode||this.mode||null,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&n)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(n)}function h(e){var t=new FormData;return e.trim().split(\"&\").forEach(function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),o=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function m(e){var t=new a,n=(e.getAllResponseHeaders()||\"\").trim().split(\"\\n\");return n.forEach(function(e){var n=e.trim().split(\":\"),r=n.shift().trim(),o=n.join(\":\").trim();t.append(r,o)}),t}function g(e,t){t||(t={}),this.type=\"default\",this.status=t.status,this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText,this.headers=t.headers instanceof a?t.headers:new a(t.headers),this.url=t.url||\"\",this._initBody(e)}if(!e.fetch){var _={searchParams:\"URLSearchParams\"in e,iterable:\"Symbol\"in e&&\"iterator\"in Symbol,blob:\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:\"FormData\"in e,arrayBuffer:\"ArrayBuffer\"in e};a.prototype.append=function(e,t){e=r(e),t=o(t);var n=this.map[e];n||(n=[],this.map[e]=n),n.push(t)},a.prototype.delete=function(e){delete this.map[r(e)]},a.prototype.get=function(e){var t=this.map[r(e)];return t?t[0]:null},a.prototype.getAll=function(e){return this.map[r(e)]||[]},a.prototype.has=function(e){return this.map.hasOwnProperty(r(e))},a.prototype.set=function(e,t){this.map[r(e)]=[o(t)]},a.prototype.forEach=function(e,t){Object.getOwnPropertyNames(this.map).forEach(function(n){this.map[n].forEach(function(r){e.call(t,r,n,this)},this)},this)},a.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),i(e)},a.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),i(e)},a.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),i(e)},_.iterable&&(a.prototype[Symbol.iterator]=a.prototype.entries);var b=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];p.prototype.clone=function(){return new p(this)},d.call(p.prototype),d.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new a(this.headers),url:this.url})},g.error=function(){var e=new g(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var y=[301,302,303,307,308];g.redirect=function(e,t){if(y.indexOf(t)===-1)throw new RangeError(\"Invalid status code\");return new g(null,{status:t,headers:{location:e}})},e.Headers=a,e.Request=p,e.Response=g,e.fetch=function(e,r){return new t(function(t,o){function i(){return\"responseURL\"in s?s.responseURL:/^X-Request-URL:/m.test(s.getAllResponseHeaders())?s.getResponseHeader(\"X-Request-URL\"):void 0}var a;a=p.prototype.isPrototypeOf(e)&&!r?e:new p(e,r);var s=new n;s.onload=function(){var e={status:s.status,statusText:s.statusText,headers:m(s),url:i()},n=\"response\"in s?s.response:s.responseText;t(new g(n,e))},s.onerror=function(){o(new TypeError(\"Network request failed\"))},s.ontimeout=function(){o(new TypeError(\"Network request failed\"))},s.open(a.method,a.url,!0),\"include\"===a.credentials&&(s.withCredentials=!0),\"responseType\"in s&&_.blob&&(s.responseType=\"blob\"),a.headers.forEach(function(e,t){s.setRequestHeader(t,e)}),s.send(\"undefined\"==typeof a._bodyInit?null:a._bodyInit)})},e.fetch.polyfill=!0}}(\"undefined\"!=typeof e?e:this),{fetch:e.fetch,Headers:e.Headers,Request:e.Request,Response:e.Response}}()}r=function(){return o}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}()},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){function e(e){try{e=e||window.history.state||{}}catch(t){e={}}var t=d.getWindowPath(),n=e,r=n.key,o=void 0;r?o=f.readState(r):(o=null,r=y.createKey(),_&&window.history.replaceState(i({},e,{key:r}),null));var a=l.parsePath(t);return y.createLocation(i({},a,{state:o}),void 0,r)}function t(t){function n(t){void 0!==t.state&&r(e(t.state))}var r=t.transitionTo;return d.addEventListener(window,\"popstate\",n),function(){d.removeEventListener(window,\"popstate\",n)}}function n(e){var t=e.basename,n=e.pathname,r=e.search,o=e.hash,i=e.state,a=e.action,s=e.key;if(a!==u.POP){f.saveState(s,i);var l=(t||\"\")+n+r+o,c={key:s};if(a===u.PUSH){if(b)return window.location.href=l,!1;window.history.pushState(c,null,l)}else{if(b)return window.location.replace(l),!1;window.history.replaceState(c,null,l)}}}function r(e){1===++v&&(M=t(y));var n=y.listenBefore(e);return function(){n(),0===--v&&M()}}function o(e){1===++v&&(M=t(y));var n=y.listen(e);return function(){n(),0===--v&&M()}}function a(e){1===++v&&(M=t(y)),y.registerTransitionHook(e)}function p(e){y.unregisterTransitionHook(e),0===--v&&M()}var m=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c.canUseDOM?void 0:s.default(!1);var g=m.forceRefresh,_=d.supportsHistory(),b=!_||g,y=h.default(i({},m,{getCurrentLocation:e,finishTransition:n,saveState:f.saveState})),v=0,M=void 0;return i({},y,{listenBefore:r,listen:o,registerTransitionHook:a,unregisterTransitionHook:p})}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(33),s=r(a),u=n(90),l=n(107),c=n(163),d=n(201),f=n(290),p=n(422),h=r(p);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(e){return u.canUseDOM?void 0:s.default(!1),n.listen(e)}var n=d.default(i({getUserConfirmation:l.getUserConfirmation},e,{go:l.go}));return i({},n,{listen:t})}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(33),s=r(a),u=n(163),l=n(201),c=n(423),d=r(c);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return Math.random().toString(36).substr(2,e)}function i(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.key===t.key&&c.default(e.state,t.state)}function a(){function e(e){return B.push(e),function(){B=B.filter(function(t){return t!==e})}}function t(){return Y&&Y.action===p.POP?F.indexOf(Y.key):W?F.indexOf(W.key):-1}function n(e){var n=t();W=e,W.action===p.PUSH?F=[].concat(F.slice(0,n+1),[W.key]):W.action===p.REPLACE&&(F[n]=W.key),R.forEach(function(e){e(W)})}function r(e){if(R.push(e),W)e(W);else{var t=D();F=[t.key],n(t)}return function(){R=R.filter(function(t){return t!==e})}}function a(e,t){f.loopAsync(B.length,function(t,n,r){_.default(B[t],e,function(e){null!=e?r(e):n()})},function(e){P&&\"string\"==typeof e?P(e,function(e){t(e!==!1)}):t(e!==!1)})}function u(e){W&&i(W,e)||(Y=e,a(e,function(t){if(Y===e)if(t){if(e.action===p.PUSH){var r=A(W),o=A(e);o===r&&c.default(W.state,e.state)&&(e.action=p.REPLACE)}x(e)!==!1&&n(e)}else if(W&&e.action===p.POP){var i=F.indexOf(W.key),a=F.indexOf(e.key);i!==-1&&a!==-1&&z(i-a)}}))}function l(e){u(C(e,p.PUSH,M()))}function h(e){u(C(e,p.REPLACE,M()))}function g(){z(-1)}function b(){z(1)}function M(){return o(j)}function A(e){if(null==e||\"string\"==typeof e)return e;var t=e.pathname,n=e.search,r=e.hash,o=t;return n&&(o+=n),r&&(o+=r),o}function w(e){return A(e)}function C(e,t){var n=arguments.length<=2||void 0===arguments[2]?M():arguments[2];return\"object\"==typeof t&&(\"string\"==typeof e&&(e=d.parsePath(e)),e=s({},e,{state:t}),t=n,n=arguments[3]||M()),m.default(e,t,n)}function E(e){W?(L(W,e),n(W)):L(D(),e)}function L(e,t){e.state=s({},e.state,t),I(e.key,e.state)}function T(e){B.indexOf(e)===-1&&B.push(e)}function O(e){B=B.filter(function(t){return t!==e})}function S(e,t){\"string\"==typeof t&&(t=d.parsePath(t)),l(s({state:e},t))}function N(e,t){\"string\"==typeof t&&(t=d.parsePath(t)),h(s({state:e},t))}var k=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],D=k.getCurrentLocation,x=k.finishTransition,I=k.saveState,z=k.go,P=k.getUserConfirmation,j=k.keyLength;\"number\"!=typeof j&&(j=v);var B=[],F=[],R=[],W=void 0,Y=void 0;return{listenBefore:e,listen:r,transitionTo:u,push:l,replace:h,go:z,goBack:g,goForward:b,createKey:M,createPath:A,createHref:w,createLocation:C,setState:y.default(E,\"setState is deprecated; use location.key to save state instead\"),registerTransitionHook:y.default(T,\"registerTransitionHook is deprecated; use listenBefore instead\"),unregisterTransitionHook:y.default(O,\"unregisterTransitionHook is deprecated; use the callback returned from listenBefore instead\"),pushState:y.default(S,\"pushState is deprecated; use push instead\"),replaceState:y.default(N,\"replaceState is deprecated; use replace instead\")}}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(64),l=(r(u),n(285)),c=r(l),d=n(107),f=n(1265),p=n(90),h=n(424),m=r(h),g=n(292),_=r(g),b=n(108),y=r(b),v=6;t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?\"/\":arguments[0],t=arguments.length<=1||void 0===arguments[1]?s.POP:arguments[1],n=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r=arguments.length<=3||void 0===arguments[3]?null:arguments[3];\"string\"==typeof e&&(e=u.parsePath(e)),\"object\"==typeof t&&(e=i({},e,{state:t}),t=n||s.POP,n=r);var o=e.pathname||\"/\",a=e.search||\"\",l=e.hash||\"\",c=e.state||null;return{pathname:o,search:a,hash:l,state:c,action:t,key:n}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(64),s=(r(a),n(90)),u=n(107);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.filter(function(e){return e.state}).reduce(function(e,t){return e[t.key]=t.state,e},{})}function i(){function e(e,t){_[e]=t}function t(e){return _[e]}function n(){var e=m[g],n=e.basename,r=e.pathname,o=e.search,i=(n||\"\")+r+(o||\"\"),s=void 0,u=void 0;e.key?(s=e.key,u=t(s)):(s=f.createKey(),u=null,e.key=s);var l=c.parsePath(i);return f.createLocation(a({},l,{state:u}),void 0,s)}function r(e){var t=g+e;return t>=0&&t<m.length}function i(e){if(e){if(!r(e))return;g+=e;var t=n();f.transitionTo(a({},t,{action:d.POP}))}}function s(t){switch(t.action){case d.PUSH:g+=1,g<m.length&&m.splice(g),m.push(t),e(t.key,t.state);break;case d.REPLACE:m[g]=t,e(t.key,t.state)}}var u=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];Array.isArray(u)?u={entries:u}:\"string\"==typeof u&&(u={entries:[u]});var f=p.default(a({},u,{getCurrentLocation:n,finishTransition:s,saveState:e,go:i})),h=u,m=h.entries,g=h.current;\"string\"==typeof m?m=[m]:Array.isArray(m)||(m=[\"/\"]),m=m.map(function(e){var t=f.createKey();return\"string\"==typeof e?{pathname:e,key:t}:\"object\"==typeof e&&e?a({},e,{key:t}):void l.default(!1)}),null==g?g=m.length-1:g>=0&&g<m.length?void 0:l.default(!1);var _=o(m);return f}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(64),u=(r(s),n(33)),l=r(u),c=n(107),d=n(90),f=n(423),p=r(f);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(t){var n=e();if(\"string\"==typeof n)return(t||window.event).returnValue=n,n}return l.addEventListener(window,\"beforeunload\",t),function(){l.removeEventListener(window,\"beforeunload\",t)}}function i(e){return function(t){function n(){for(var e=void 0,t=0,n=f.length;null==e&&t<n;++t)e=f[t].call();return e}function r(e){return f.push(e),1===f.length&&u.canUseDOM&&(c=o(n)),function(){f=f.filter(function(t){return t!==e}),0===f.length&&c&&(c(),c=null)}}function i(e){u.canUseDOM&&f.indexOf(e)===-1&&(f.push(e),1===f.length&&(c=o(n)))}function s(e){f.length>0&&(f=f.filter(function(t){return t!==e}),0===f.length&&c())}var l=e(t),c=void 0,f=[];return a({},l,{listenBeforeUnload:r,registerBeforeUnloadHook:d.default(i,\"registerBeforeUnloadHook is deprecated; use listenBeforeUnload instead\"),unregisterBeforeUnloadHook:d.default(s,\"unregisterBeforeUnloadHook is deprecated; use the callback returned from listenBeforeUnload instead\")})}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(64),u=(r(s),n(163)),l=n(201),c=n(108),d=r(c);t.default=i,e.exports=t.default},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,r,o){var i=this;return e.forEach(function(e){i.processors[e]&&(t=i.processors[e].process(t,n,r,o))}),t}}},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"\u2061\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",amp:\"&\",AMP:\"&\",andand:\"⩕\",And:\"⩓\",and:\"∧\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angmsd:\"∡\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",apacir:\"⩯\",ap:\"≈\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"\u2061\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",barwed:\"⌅\",Barwed:\"⌆\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",because:\"∵\",Because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxdl:\"┐\",boxdL:\"╕\",boxDl:\"╖\",boxDL:\"╗\",boxdr:\"┌\",boxdR:\"╒\",boxDr:\"╓\",boxDR:\"╔\",boxh:\"─\",\nboxH:\"═\",boxhd:\"┬\",boxHd:\"╤\",boxhD:\"╥\",boxHD:\"╦\",boxhu:\"┴\",boxHu:\"╧\",boxhU:\"╨\",boxHU:\"╩\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxul:\"┘\",boxuL:\"╛\",boxUl:\"╜\",boxUL:\"╝\",boxur:\"└\",boxuR:\"╘\",boxUr:\"╙\",boxUR:\"╚\",boxv:\"│\",boxV:\"║\",boxvh:\"┼\",boxvH:\"╪\",boxVh:\"╫\",boxVH:\"╬\",boxvl:\"┤\",boxvL:\"╡\",boxVl:\"╢\",boxVL:\"╣\",boxvr:\"├\",boxvR:\"╞\",boxVr:\"╟\",boxVR:\"╠\",bprime:\"‵\",breve:\"˘\",Breve:\"˘\",brvbar:\"¦\",bscr:\"𝒷\",Bscr:\"ℬ\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsolb:\"⧅\",bsol:\"\\\\\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",cap:\"∩\",Cap:\"⋒\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",centerdot:\"·\",CenterDot:\"·\",cfr:\"𝔠\",Cfr:\"ℭ\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cir:\"○\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",colon:\":\",Colon:\"∷\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",conint:\"∮\",Conint:\"∯\",ContourIntegral:\"∮\",copf:\"𝕔\",Copf:\"ℂ\",coprod:\"∐\",Coproduct:\"∐\",copy:\"©\",COPY:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",cross:\"✗\",Cross:\"⨯\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",cupbrcap:\"⩈\",cupcap:\"⩆\",CupCap:\"≍\",cup:\"∪\",Cup:\"⋓\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",dagger:\"†\",Dagger:\"‡\",daleth:\"ℸ\",darr:\"↓\",Darr:\"↡\",dArr:\"⇓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",ddagger:\"‡\",ddarr:\"⇊\",DD:\"ⅅ\",dd:\"ⅆ\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",diamond:\"⋄\",Diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrowBar:\"⤓\",downarrow:\"↓\",DownArrow:\"↓\",Downarrow:\"⇓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVectorBar:\"⥖\",DownLeftVector:\"↽\",DownRightTeeVector:\"⥟\",DownRightVectorBar:\"⥗\",DownRightVector:\"⇁\",DownTeeArrow:\"↧\",DownTee:\"⊤\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",Ecirc:\"Ê\",ecirc:\"ê\",ecir:\"≖\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",edot:\"ė\",eDot:\"≑\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp13:\"\u2004\",emsp14:\"\u2005\",emsp:\"\u2003\",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\"\u2002\",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",escr:\"ℯ\",Escr:\"ℰ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",exponentiale:\"ⅇ\",ExponentialE:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ffi\",fflig:\"ff\",ffllig:\"ffl\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"fi\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"fl\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",forall:\"∀\",ForAll:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",fscr:\"𝒻\",Fscr:\"ℱ\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",ge:\"≥\",gE:\"≧\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",gescc:\"⪩\",ges:\"⩾\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",gg:\"≫\",Gg:\"⋙\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gla:\"⪥\",gl:\"≷\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gne:\"⪈\",gnE:\"≩\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",gtcc:\"⪧\",gtcir:\"⩺\",gt:\">\",GT:\">\",Gt:\"≫\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\"\u200a\",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",harrcir:\"⥈\",harr:\"↔\",hArr:\"⇔\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",hfr:\"𝔥\",Hfr:\"ℌ\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",hopf:\"𝕙\",Hopf:\"ℍ\",horbar:\"―\",HorizontalLine:\"─\",hscr:\"𝒽\",Hscr:\"ℋ\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"\u2063\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",ifr:\"𝔦\",Ifr:\"ℑ\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"IJ\",ijlig:\"ij\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",Im:\"ℑ\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",incare:\"℅\",in:\"∈\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",intcal:\"⊺\",int:\"∫\",Int:\"∬\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"\u2063\",InvisibleTimes:\"\u2062\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",iscr:\"𝒾\",Iscr:\"ℐ\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"\u2062\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",lang:\"⟨\",Lang:\"⟪\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",larrb:\"⇤\",larrbfs:\"⤟\",larr:\"←\",Larr:\"↞\",lArr:\"⇐\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",latail:\"⤙\",lAtail:\"⤛\",lat:\"⪫\",late:\"⪭\",lates:\"⪭︀\",lbarr:\"⤌\",lBarr:\"⤎\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",le:\"≤\",lE:\"≦\",LeftAngleBracket:\"⟨\",LeftArrowBar:\"⇤\",leftarrow:\"←\",LeftArrow:\"←\",Leftarrow:\"⇐\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVectorBar:\"⥙\",LeftDownVector:\"⇃\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",leftrightarrow:\"↔\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTeeArrow:\"↤\",LeftTee:\"⊣\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangleBar:\"⧏\",LeftTriangle:\"⊲\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVectorBar:\"⥘\",LeftUpVector:\"↿\",LeftVectorBar:\"⥒\",LeftVector:\"↼\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",lescc:\"⪨\",les:\"⩽\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",llarr:\"⇇\",ll:\"≪\",Ll:\"⋘\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoustache:\"⎰\",lmoust:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lne:\"⪇\",lnE:\"≨\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",longleftarrow:\"⟵\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftrightarrow:\"⟷\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longmapsto:\"⟼\",longrightarrow:\"⟶\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"\u200e\",lrtri:\"⊿\",lsaquo:\"‹\",lscr:\"𝓁\",Lscr:\"ℒ\",lsh:\"↰\",Lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",ltcc:\"⪦\",ltcir:\"⩹\",lt:\"<\",LT:\"<\",Lt:\"≪\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\"\u205f\",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",midast:\"*\",midcir:\"⫰\",mid:\"∣\",middot:\"·\",minusb:\"⊟\",minus:\"−\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",mscr:\"𝓂\",Mscr:\"ℳ\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ʼn\",napprox:\"≉\",natural:\"♮\",naturals:\"ℕ\",natur:\"♮\",nbsp:\"\u00a0\",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",nearhk:\"⤤\",nearr:\"↗\",neArr:\"⇗\",nearrow:\"↗\",ne:\"≠\",nedot:\"≐̸\",NegativeMediumSpace:\"\u200b\",NegativeThickSpace:\"\u200b\",NegativeThinSpace:\"\u200b\",NegativeVeryThinSpace:\"\u200b\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nharr:\"↮\",nhArr:\"⇎\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlarr:\"↚\",nlArr:\"⇍\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nleftarrow:\"↚\",nLeftarrow:\"⇍\",nleftrightarrow:\"↮\",nLeftrightarrow:\"⇎\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"\u2060\",NonBreakingSpace:\"\u00a0\",nopf:\"𝕟\",Nopf:\"ℕ\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangle:\"⋪\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangleBar:\"⧐̸\",NotRightTriangle:\"⋫\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",nparallel:\"∦\",npar:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",nprec:\"⊀\",npreceq:\"⪯̸\",npre:\"⪯̸\",nrarrc:\"⤳̸\",nrarr:\"↛\",nrArr:\"⇏\",nrarrw:\"↝̸\",nrightarrow:\"↛\",nRightarrow:\"⇏\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\"\u2007\",nvap:\"≍⃒\",nvdash:\"⊬\",nvDash:\"⊭\",nVdash:\"⊮\",nVDash:\"⊯\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwarr:\"↖\",nwArr:\"⇖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",Ocirc:\"Ô\",ocirc:\"ô\",ocir:\"⊚\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",orarr:\"↻\",Or:\"⩔\",or:\"∨\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",otimesas:\"⨶\",Otimes:\"⨷\",otimes:\"⊗\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",para:\"¶\",parallel:\"∥\",par:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plus:\"+\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",popf:\"𝕡\",Popf:\"ℙ\",pound:\"£\",prap:\"⪷\",Pr:\"⪻\",pr:\"≺\",prcue:\"≼\",precapprox:\"⪷\",prec:\"≺\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",pre:\"⪯\",prE:\"⪳\",precsim:\"≾\",prime:\"′\",Prime:\"″\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportional:\"∝\",Proportion:\"∷\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\"\u2008\",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",qopf:\"𝕢\",Qopf:\"ℚ\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",quot:'\"',QUOT:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",rang:\"⟩\",Rang:\"⟫\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarr:\"→\",Rarr:\"↠\",rArr:\"⇒\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",ratail:\"⤚\",rAtail:\"⤜\",ratio:\"∶\",rationals:\"ℚ\",rbarr:\"⤍\",rBarr:\"⤏\",RBarr:\"⤐\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",Re:\"ℜ\",rect:\"▭\",reg:\"®\",REG:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",rfr:\"𝔯\",Rfr:\"ℜ\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrowBar:\"⇥\",rightarrow:\"→\",RightArrow:\"→\",Rightarrow:\"⇒\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVectorBar:\"⥕\",RightDownVector:\"⇂\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTeeArrow:\"↦\",RightTee:\"⊢\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangleBar:\"⧐\",RightTriangle:\"⊳\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVectorBar:\"⥔\",RightUpVector:\"↾\",RightVectorBar:\"⥓\",RightVector:\"⇀\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"\u200f\",rmoustache:\"⎱\",rmoust:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",ropf:\"𝕣\",Ropf:\"ℝ\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",rscr:\"𝓇\",Rscr:\"ℛ\",rsh:\"↱\",Rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",Sc:\"⪼\",sc:\"≻\",sccue:\"≽\",sce:\"⪰\",scE:\"⪴\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdotb:\"⊡\",sdot:\"⋅\",sdote:\"⩦\",searhk:\"⤥\",searr:\"↘\",seArr:\"⇘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"\u00ad\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",solbar:\"⌿\",solb:\"⧄\",sol:\"/\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",square:\"□\",Square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squ:\"□\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",sub:\"⊂\",Sub:\"⋐\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",subset:\"⊂\",Subset:\"⋐\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succapprox:\"⪸\",succ:\"≻\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",sum:\"∑\",Sum:\"∑\",sung:\"♪\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",sup:\"⊃\",Sup:\"⋑\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",supset:\"⊃\",Supset:\"⋑\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swarr:\"↙\",swArr:\"⇙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",therefore:\"∴\",Therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"\u205f\u200a\",ThinSpace:\"\u2009\",thinsp:\"\u2009\",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",tilde:\"˜\",Tilde:\"∼\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",timesbar:\"⨱\",timesb:\"⊠\",times:\"×\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",topbot:\"⌶\",topcir:\"⫱\",top:\"⊤\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",trade:\"™\",TRADE:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",uarr:\"↑\",Uarr:\"↟\",uArr:\"⇑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrowBar:\"⤒\",uparrow:\"↑\",UpArrow:\"↑\",Uparrow:\"⇑\",UpArrowDownArrow:\"⇅\",updownarrow:\"↕\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",upsi:\"υ\",Upsi:\"ϒ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTeeArrow:\"↥\",UpTee:\"⊥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",varr:\"↕\",vArr:\"⇕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",vBar:\"⫨\",Vbar:\"⫫\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",vdash:\"⊢\",vDash:\"⊨\",Vdash:\"⊩\",VDash:\"⊫\",Vdashl:\"⫦\",veebar:\"⊻\",vee:\"∨\",Vee:\"⋁\",veeeq:\"≚\",vellip:\"⋮\",verbar:\"|\",Verbar:\"‖\",vert:\"|\",Vert:\"‖\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\"\u200a\",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",wedge:\"∧\",Wedge:\"⋀\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xharr:\"⟷\",xhArr:\"⟺\",Xi:\"Ξ\",xi:\"ξ\",xlarr:\"⟵\",xlArr:\"⟸\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrarr:\"⟶\",xrArr:\"⟹\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",yuml:\"ÿ\",Yuml:\"Ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"\u200b\",Zeta:\"Ζ\",zeta:\"ζ\",zfr:\"𝔷\",Zfr:\"ℨ\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",zopf:\"𝕫\",Zopf:\"ℤ\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"\u200d\",zwnj:\"\u200c\"}},function(e,t){e.exports={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",quot:'\"'}},function(e,t,n){(function(e,n){function r(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}function o(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}function i(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function a(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function s(e){return function(t){return e(t)}}function u(e,t){return e.has(t)}function l(e,t){return null==e?void 0:e[t]}function c(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function d(e,t){return function(n){return e(t(n))}}function f(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function p(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function h(){this.__data__=jt?jt(null):{},this.size=0}function m(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function g(e){var t=this.__data__;if(jt){var n=t[e];return n===ve?void 0:n}return yt.call(t,e)?t[e]:void 0}function _(e){var t=this.__data__;return jt?void 0!==t[e]:yt.call(t,e)}function b(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=jt&&void 0===t?ve:t,this}function y(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function v(){this.__data__=[],this.size=0}function M(e){var t=this.__data__,n=W(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Tt.call(t,n,1),--this.size,!0}function A(e){var t=this.__data__,n=W(t,e);return n<0?void 0:t[n][1]}function w(e){return W(this.__data__,e)>-1}function C(e,t){var n=this.__data__,r=W(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function E(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function L(){this.size=0,this.__data__={hash:new p,map:new(xt||y),string:new p}}function T(e){var t=ee(this,e).delete(e);return this.size-=t?1:0,t}function O(e){return ee(this,e).get(e)}function S(e){return ee(this,e).has(e)}function N(e,t){var n=ee(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function k(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new E;++t<n;)this.add(e[t])}function D(e){return this.__data__.set(e,ve),this}function x(e){return this.__data__.has(e)}function I(e){var t=this.__data__=new y(e);this.size=t.size}function z(){this.__data__=new y,this.size=0}function P(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function j(e){return this.__data__.get(e)}function B(e){return this.__data__.has(e)}function F(e,t){var n=this.__data__;if(n instanceof y){var r=n.__data__;if(!xt||r.length<ye-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new E(r)}return n.set(e,t),this.size=n.size,this}function R(e,t){var n=Gt(e),r=!n&&Vt(e),o=!n&&!r&&$t(e),i=!n&&!r&&!o&&Kt(e),s=n||r||o||i,u=s?a(e.length,String):[],l=u.length;for(var c in e)!t&&!yt.call(e,c)||s&&(\"length\"==c||o&&(\"offset\"==c||\"parent\"==c)||i&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||re(c,l))||u.push(c);return u}function W(e,t){for(var n=e.length;n--;)if(le(e[n][0],t))return n;return-1}function Y(e,t,n){var r=t(e);return Gt(e)?r:o(r,n(e))}function H(e){return null==e?void 0===e?Ye:Ie:Ot&&Ot in Object(e)?ne(e):se(e)}function q(e){return me(e)&&H(e)==Ce}function U(e,t,n,r,o){return e===t||(null==e||null==t||!me(e)&&!me(t)?e!==e&&t!==t:X(e,t,n,r,U,o))}function X(e,t,n,r,o,i){var a=Gt(e),s=Gt(t),u=a?Ee:Xt(e),l=s?Ee:Xt(t);u=u==Ce?ze:u,l=l==Ce?ze:l;var c=u==ze,d=l==ze,f=u==l;if(f&&$t(e)){if(!$t(t))return!1;a=!0,c=!1}if(f&&!c)return i||(i=new I),a||Kt(e)?K(e,t,n,r,o,i):Q(e,t,u,n,r,o,i);if(!(n&Me)){var p=c&&yt.call(e,\"__wrapped__\"),h=d&&yt.call(t,\"__wrapped__\");if(p||h){var m=p?e.value():e,g=h?t.value():t;return i||(i=new I),o(m,g,n,r,i)}}return!!f&&(i||(i=new I),Z(e,t,n,r,o,i))}function V(e){if(!he(e)||ie(e))return!1;var t=fe(e)?At:nt;return t.test(ue(e))}function G(e){return me(e)&&pe(e.length)&&!!ot[H(e)]}function $(e){if(!ae(e))return kt(e);var t=[];for(var n in Object(e))yt.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function K(e,t,n,r,o,a){var s=n&Me,l=e.length,c=t.length;if(l!=c&&!(s&&c>l))return!1;var d=a.get(e);if(d&&a.get(t))return d==t;var f=-1,p=!0,h=n&Ae?new k:void 0;for(a.set(e,t),a.set(t,e);++f<l;){var m=e[f],g=t[f];if(r)var _=s?r(g,m,f,t,e,a):r(m,g,f,e,t,a);if(void 0!==_){if(_)continue;p=!1;break}if(h){if(!i(t,function(e,t){if(!u(h,t)&&(m===e||o(m,e,n,r,a)))return h.push(t)})){p=!1;break}}else if(m!==g&&!o(m,g,n,r,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Q(e,t,n,r,o,i,a){switch(n){case Ue:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case qe:return!(e.byteLength!=t.byteLength||!i(new Et(e),new Et(t)));case Te:case Oe:case xe:return le(+e,+t);case Se:return e.name==t.name&&e.message==t.message;case Be:case Re:return e==t+\"\";case De:var s=c;case Fe:var u=r&Me;if(s||(s=f),e.size!=t.size&&!u)return!1;var l=a.get(e);if(l)return l==t;r|=Ae,a.set(e,t);var d=K(s(e),s(t),r,o,i,a);return a.delete(e),d;case We:if(qt)return qt.call(e)==qt.call(t)}return!1}function Z(e,t,n,r,o,i){var a=n&Me,s=J(e),u=s.length,l=J(t),c=l.length;if(u!=c&&!a)return!1;for(var d=u;d--;){var f=s[d];if(!(a?f in t:yt.call(t,f)))return!1}var p=i.get(e);if(p&&i.get(t))return p==t;var h=!0;i.set(e,t),i.set(t,e);for(var m=a;++d<u;){f=s[d];var g=e[f],_=t[f];if(r)var b=a?r(_,g,f,t,e,i):r(g,_,f,e,t,i);if(!(void 0===b?g===_||o(g,_,n,r,i):b)){h=!1;break}m||(m=\"constructor\"==f)}if(h&&!m){var y=e.constructor,v=t.constructor;y!=v&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof y&&y instanceof y&&\"function\"==typeof v&&v instanceof v)&&(h=!1)}return i.delete(e),i.delete(t),h}function J(e){return Y(e,ge,Ut)}function ee(e,t){var n=e.__data__;return oe(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function te(e,t){var n=l(e,t);return V(n)?n:void 0}function ne(e){var t=yt.call(e,Ot),n=e[Ot];try{e[Ot]=void 0;var r=!0}catch(e){}var o=Mt.call(e);return r&&(t?e[Ot]=n:delete e[Ot]),o}function re(e,t){return t=null==t?we:t,!!t&&(\"number\"==typeof e||rt.test(e))&&e>-1&&e%1==0&&e<t}function oe(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function ie(e){return!!vt&&vt in e}function ae(e){var t=e&&e.constructor,n=\"function\"==typeof t&&t.prototype||gt;return e===n}function se(e){return Mt.call(e)}function ue(e){if(null!=e){try{return bt.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function le(e,t){return e===t||e!==e&&t!==t}function ce(e){return null!=e&&pe(e.length)&&!fe(e)}function de(e,t){return U(e,t)}function fe(e){if(!he(e))return!1;var t=H(e);return t==Ne||t==ke||t==Le||t==je}function pe(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=we}function he(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function me(e){return null!=e&&\"object\"==typeof e}function ge(e){return ce(e)?R(e):$(e)}function _e(){return[]}function be(){return!1}var ye=200,ve=\"__lodash_hash_undefined__\",Me=1,Ae=2,we=9007199254740991,Ce=\"[object Arguments]\",Ee=\"[object Array]\",Le=\"[object AsyncFunction]\",Te=\"[object Boolean]\",Oe=\"[object Date]\",Se=\"[object Error]\",Ne=\"[object Function]\",ke=\"[object GeneratorFunction]\",De=\"[object Map]\",xe=\"[object Number]\",Ie=\"[object Null]\",ze=\"[object Object]\",Pe=\"[object Promise]\",je=\"[object Proxy]\",Be=\"[object RegExp]\",Fe=\"[object Set]\",Re=\"[object String]\",We=\"[object Symbol]\",Ye=\"[object Undefined]\",He=\"[object WeakMap]\",qe=\"[object ArrayBuffer]\",Ue=\"[object DataView]\",Xe=\"[object Float32Array]\",Ve=\"[object Float64Array]\",Ge=\"[object Int8Array]\",$e=\"[object Int16Array]\",Ke=\"[object Int32Array]\",Qe=\"[object Uint8Array]\",Ze=\"[object Uint8ClampedArray]\",Je=\"[object Uint16Array]\",et=\"[object Uint32Array]\",tt=/[\\\\^$.*+?()[\\]{}|]/g,nt=/^\\[object .+?Constructor\\]$/,rt=/^(?:0|[1-9]\\d*)$/,ot={};ot[Xe]=ot[Ve]=ot[Ge]=ot[$e]=ot[Ke]=ot[Qe]=ot[Ze]=ot[Je]=ot[et]=!0,ot[Ce]=ot[Ee]=ot[qe]=ot[Te]=ot[Ue]=ot[Oe]=ot[Se]=ot[Ne]=ot[De]=ot[xe]=ot[ze]=ot[Be]=ot[Fe]=ot[Re]=ot[He]=!1;var it=\"object\"==typeof e&&e&&e.Object===Object&&e,at=\"object\"==typeof self&&self&&self.Object===Object&&self,st=it||at||Function(\"return this\")(),ut=\"object\"==typeof t&&t&&!t.nodeType&&t,lt=ut&&\"object\"==typeof n&&n&&!n.nodeType&&n,ct=lt&&lt.exports===ut,dt=ct&&it.process,ft=function(){try{return dt&&dt.binding&&dt.binding(\"util\")}catch(e){}}(),pt=ft&&ft.isTypedArray,ht=Array.prototype,mt=Function.prototype,gt=Object.prototype,_t=st[\"__core-js_shared__\"],bt=mt.toString,yt=gt.hasOwnProperty,vt=function(){var e=/[^.]+$/.exec(_t&&_t.keys&&_t.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),Mt=gt.toString,At=RegExp(\"^\"+bt.call(yt).replace(tt,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),wt=ct?st.Buffer:void 0,Ct=st.Symbol,Et=st.Uint8Array,Lt=gt.propertyIsEnumerable,Tt=ht.splice,Ot=Ct?Ct.toStringTag:void 0,St=Object.getOwnPropertySymbols,Nt=wt?wt.isBuffer:void 0,kt=d(Object.keys,Object),Dt=te(st,\"DataView\"),xt=te(st,\"Map\"),It=te(st,\"Promise\"),zt=te(st,\"Set\"),Pt=te(st,\"WeakMap\"),jt=te(Object,\"create\"),Bt=ue(Dt),Ft=ue(xt),Rt=ue(It),Wt=ue(zt),Yt=ue(Pt),Ht=Ct?Ct.prototype:void 0,qt=Ht?Ht.valueOf:void 0;\np.prototype.clear=h,p.prototype.delete=m,p.prototype.get=g,p.prototype.has=_,p.prototype.set=b,y.prototype.clear=v,y.prototype.delete=M,y.prototype.get=A,y.prototype.has=w,y.prototype.set=C,E.prototype.clear=L,E.prototype.delete=T,E.prototype.get=O,E.prototype.has=S,E.prototype.set=N,k.prototype.add=k.prototype.push=D,k.prototype.has=x,I.prototype.clear=z,I.prototype.delete=P,I.prototype.get=j,I.prototype.has=B,I.prototype.set=F;var Ut=St?function(e){return null==e?[]:(e=Object(e),r(St(e),function(t){return Lt.call(e,t)}))}:_e,Xt=H;(Dt&&Xt(new Dt(new ArrayBuffer(1)))!=Ue||xt&&Xt(new xt)!=De||It&&Xt(It.resolve())!=Pe||zt&&Xt(new zt)!=Fe||Pt&&Xt(new Pt)!=He)&&(Xt=function(e){var t=H(e),n=t==ze?e.constructor:void 0,r=n?ue(n):\"\";if(r)switch(r){case Bt:return Ue;case Ft:return De;case Rt:return Pe;case Wt:return Fe;case Yt:return He}return t});var Vt=q(function(){return arguments}())?q:function(e){return me(e)&&yt.call(e,\"callee\")&&!Lt.call(e,\"callee\")},Gt=Array.isArray,$t=Nt||be,Kt=pt?s(pt):G;n.exports=de}).call(t,function(){return this}(),n(227)(e))},function(e,t,n){var r=n(296),o=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=o},function(e,t){function n(e,t){var n=typeof e;return t=null==t?r:t,!!t&&(\"number\"==n||\"symbol\"!=n&&o.test(e))&&e>-1&&e%1==0&&e<t}var r=9007199254740991,o=/^(?:0|[1-9]\\d*)$/;e.exports=n},function(e,t){function n(e,t){return e===t||e!==e&&t!==t}e.exports=n},function(e,t,n){var r=n(1318),o=n(210),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,\"callee\")&&!s.call(e,\"callee\")};e.exports=u},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"af\",{months:\"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag\".split(\"_\"),weekdaysShort:\"Son_Maa_Din_Woe_Don_Vry_Sat\".split(\"_\"),weekdaysMin:\"So_Ma_Di_Wo_Do_Vr_Sa\".split(\"_\"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?\"vm\":\"VM\":n?\"nm\":\"NM\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Vandag om] LT\",nextDay:\"[Môre om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[Gister om] LT\",lastWeek:\"[Laas] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oor %s\",past:\"%s gelede\",s:\"'n paar sekondes\",ss:\"%d sekondes\",m:\"'n minuut\",mm:\"%d minute\",h:\"'n uur\",hh:\"%d ure\",d:\"'n dag\",dd:\"%d dae\",M:\"'n maand\",MM:\"%d maande\",y:\"'n jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-dz\",{months:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"أح_إث_ثلا_أر_خم_جم_سب\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:0,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-kw\",{months:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),weekdays:\"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:0,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",0:\"0\"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:[\"أقل من ثانية\",\"ثانية واحدة\",[\"ثانيتان\",\"ثانيتين\"],\"%d ثوان\",\"%d ثانية\",\"%d ثانية\"],m:[\"أقل من دقيقة\",\"دقيقة واحدة\",[\"دقيقتان\",\"دقيقتين\"],\"%d دقائق\",\"%d دقيقة\",\"%d دقيقة\"],h:[\"أقل من ساعة\",\"ساعة واحدة\",[\"ساعتان\",\"ساعتين\"],\"%d ساعات\",\"%d ساعة\",\"%d ساعة\"],d:[\"أقل من يوم\",\"يوم واحد\",[\"يومان\",\"يومين\"],\"%d أيام\",\"%d يومًا\",\"%d يوم\"],M:[\"أقل من شهر\",\"شهر واحد\",[\"شهران\",\"شهرين\"],\"%d أشهر\",\"%d شهرا\",\"%d شهر\"],y:[\"أقل من عام\",\"عام واحد\",[\"عامان\",\"عامين\"],\"%d أعوام\",\"%d عامًا\",\"%d عام\"]},o=function(e){return function(t,o,i,a){var s=n(t),u=r[e][n(t)];return 2===s&&(u=u[o?0:1]),u.replace(/%d/i,t)}},i=[\"يناير\",\"فبراير\",\"مارس\",\"أبريل\",\"مايو\",\"يونيو\",\"يوليو\",\"أغسطس\",\"سبتمبر\",\"أكتوبر\",\"نوفمبر\",\"ديسمبر\"],a=e.defineLocale(\"ar-ly\",{months:i,monthsShort:i,weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/\u200fM/\u200fYYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/ص|م/,isPM:function(e){return\"م\"===e},meridiem:function(e,t,n){return e<12?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم عند الساعة] LT\",nextDay:\"[غدًا عند الساعة] LT\",nextWeek:\"dddd [عند الساعة] LT\",lastDay:\"[أمس عند الساعة] LT\",lastWeek:\"dddd [عند الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"بعد %s\",past:\"منذ %s\",s:o(\"s\"),ss:o(\"s\"),m:o(\"m\"),mm:o(\"m\"),h:o(\"h\"),hh:o(\"h\"),d:o(\"d\"),dd:o(\"d\"),M:o(\"M\"),MM:o(\"M\"),y:o(\"y\"),yy:o(\"y\")},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},week:{dow:6,doy:12}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-ma\",{months:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),weekdays:\"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"},n={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},r=e.defineLocale(\"ar-sa\",{months:\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/ص|م/,isPM:function(e){return\"م\"===e},meridiem:function(e,t,n){return e<12?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-tn\",{months:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"},n={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:[\"أقل من ثانية\",\"ثانية واحدة\",[\"ثانيتان\",\"ثانيتين\"],\"%d ثوان\",\"%d ثانية\",\"%d ثانية\"],m:[\"أقل من دقيقة\",\"دقيقة واحدة\",[\"دقيقتان\",\"دقيقتين\"],\"%d دقائق\",\"%d دقيقة\",\"%d دقيقة\"],h:[\"أقل من ساعة\",\"ساعة واحدة\",[\"ساعتان\",\"ساعتين\"],\"%d ساعات\",\"%d ساعة\",\"%d ساعة\"],d:[\"أقل من يوم\",\"يوم واحد\",[\"يومان\",\"يومين\"],\"%d أيام\",\"%d يومًا\",\"%d يوم\"],M:[\"أقل من شهر\",\"شهر واحد\",[\"شهران\",\"شهرين\"],\"%d أشهر\",\"%d شهرا\",\"%d شهر\"],y:[\"أقل من عام\",\"عام واحد\",[\"عامان\",\"عامين\"],\"%d أعوام\",\"%d عامًا\",\"%d عام\"]},i=function(e){return function(t,n,i,a){var s=r(t),u=o[e][r(t)];return 2===s&&(u=u[n?0:1]),u.replace(/%d/i,t)}},a=[\"يناير\",\"فبراير\",\"مارس\",\"أبريل\",\"مايو\",\"يونيو\",\"يوليو\",\"أغسطس\",\"سبتمبر\",\"أكتوبر\",\"نوفمبر\",\"ديسمبر\"],s=e.defineLocale(\"ar\",{months:a,monthsShort:a,weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/\u200fM/\u200fYYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/ص|م/,isPM:function(e){return\"م\"===e},meridiem:function(e,t,n){return e<12?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم عند الساعة] LT\",nextDay:\"[غدًا عند الساعة] LT\",nextWeek:\"dddd [عند الساعة] LT\",lastDay:\"[أمس عند الساعة] LT\",lastWeek:\"dddd [عند الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"بعد %s\",past:\"منذ %s\",s:i(\"s\"),ss:i(\"s\"),m:i(\"m\"),mm:i(\"m\"),h:i(\"h\"),hh:i(\"h\"),d:i(\"d\"),dd:i(\"d\"),M:i(\"M\"),MM:i(\"M\"),y:i(\"y\"),yy:i(\"y\")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},week:{dow:6,doy:12}});return s})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"-inci\",5:\"-inci\",8:\"-inci\",70:\"-inci\",80:\"-inci\",2:\"-nci\",7:\"-nci\",20:\"-nci\",50:\"-nci\",3:\"-üncü\",4:\"-üncü\",100:\"-üncü\",6:\"-ncı\",9:\"-uncu\",10:\"-uncu\",30:\"-uncu\",60:\"-ıncı\",90:\"-ıncı\"},n=e.defineLocale(\"az\",{months:\"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr\".split(\"_\"),monthsShort:\"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek\".split(\"_\"),weekdays:\"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə\".split(\"_\"),weekdaysShort:\"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən\".split(\"_\"),weekdaysMin:\"Bz_BE_ÇA_Çə_CA_Cü_Şə\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[bugün saat] LT\",nextDay:\"[sabah saat] LT\",nextWeek:\"[gələn həftə] dddd [saat] LT\",lastDay:\"[dünən] LT\",lastWeek:\"[keçən həftə] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s əvvəl\",s:\"birneçə saniyyə\",ss:\"%d saniyə\",m:\"bir dəqiqə\",mm:\"%d dəqiqə\",h:\"bir saat\",hh:\"%d saat\",d:\"bir gün\",dd:\"%d gün\",M:\"bir ay\",MM:\"%d ay\",y:\"bir il\",yy:\"%d il\"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?\"gecə\":e<12?\"səhər\":e<17?\"gündüz\":\"axşam\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+\"-ıncı\";var n=e%10,r=e%100-n,o=e>=100?100:null;return e+(t[n]||t[r]||t[o])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t){var n=e.split(\"_\");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?\"секунда_секунды_секунд\":\"секунду_секунды_секунд\",mm:n?\"хвіліна_хвіліны_хвілін\":\"хвіліну_хвіліны_хвілін\",hh:n?\"гадзіна_гадзіны_гадзін\":\"гадзіну_гадзіны_гадзін\",dd:\"дзень_дні_дзён\",MM:\"месяц_месяцы_месяцаў\",yy:\"год_гады_гадоў\"};return\"m\"===r?n?\"хвіліна\":\"хвіліну\":\"h\"===r?n?\"гадзіна\":\"гадзіну\":e+\" \"+t(o[r],+e)}var r=e.defineLocale(\"be\",{months:{format:\"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня\".split(\"_\"),standalone:\"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань\".split(\"_\")},monthsShort:\"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж\".split(\"_\"),weekdays:{format:\"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу\".split(\"_\"),standalone:\"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота\".split(\"_\"),isFormat:/\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/},weekdaysShort:\"нд_пн_ат_ср_чц_пт_сб\".split(\"_\"),weekdaysMin:\"нд_пн_ат_ср_чц_пт_сб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., HH:mm\",LLLL:\"dddd, D MMMM YYYY г., HH:mm\"},calendar:{sameDay:\"[Сёння ў] LT\",nextDay:\"[Заўтра ў] LT\",lastDay:\"[Учора ў] LT\",nextWeek:function(){return\"[У] dddd [ў] LT\"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return\"[У мінулую] dddd [ў] LT\";case 1:case 2:case 4:return\"[У мінулы] dddd [ў] LT\"}},sameElse:\"L\"},relativeTime:{future:\"праз %s\",past:\"%s таму\",s:\"некалькі секунд\",m:n,mm:n,h:n,hh:n,d:\"дзень\",dd:n,M:\"месяц\",MM:n,y:\"год\",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?\"ночы\":e<12?\"раніцы\":e<17?\"дня\":\"вечара\"},dayOfMonthOrdinalParse:/\\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return e%10!==2&&e%10!==3||e%100===12||e%100===13?e+\"-ы\":e+\"-і\";case\"D\":return e+\"-га\";default:return e}},week:{dow:1,doy:7}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"bg\",{months:\"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември\".split(\"_\"),monthsShort:\"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек\".split(\"_\"),weekdays:\"неделя_понеделник_вторник_сряда_четвъртък_петък_събота\".split(\"_\"),weekdaysShort:\"нед_пон_вто_сря_чет_пет_съб\".split(\"_\"),weekdaysMin:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[Днес в] LT\",nextDay:\"[Утре в] LT\",nextWeek:\"dddd [в] LT\",lastDay:\"[Вчера в] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[В изминалата] dddd [в] LT\";case 1:case 2:case 4:case 5:return\"[В изминалия] dddd [в] LT\"}},sameElse:\"L\"},relativeTime:{future:\"след %s\",past:\"преди %s\",s:\"няколко секунди\",ss:\"%d секунди\",m:\"минута\",mm:\"%d минути\",h:\"час\",hh:\"%d часа\",d:\"ден\",dd:\"%d дни\",M:\"месец\",MM:\"%d месеца\",y:\"година\",yy:\"%d години\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+\"-ев\":0===n?e+\"-ен\":n>10&&n<20?e+\"-ти\":1===t?e+\"-ви\":2===t?e+\"-ри\":7===t||8===t?e+\"-ми\":e+\"-ти\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"bm\",{months:\"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo\".split(\"_\"),monthsShort:\"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des\".split(\"_\"),weekdays:\"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri\".split(\"_\"),weekdaysShort:\"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib\".split(\"_\"),weekdaysMin:\"Ka_Nt_Ta_Ar_Al_Ju_Si\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"MMMM [tile] D [san] YYYY\",LLL:\"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm\",LLLL:\"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm\"},calendar:{sameDay:\"[Bi lɛrɛ] LT\",nextDay:\"[Sini lɛrɛ] LT\",nextWeek:\"dddd [don lɛrɛ] LT\",lastDay:\"[Kunu lɛrɛ] LT\",lastWeek:\"dddd [tɛmɛnen lɛrɛ] LT\",sameElse:\"L\"},relativeTime:{future:\"%s kɔnɔ\",past:\"a bɛ %s bɔ\",s:\"sanga dama dama\",ss:\"sekondi %d\",m:\"miniti kelen\",mm:\"miniti %d\",h:\"lɛrɛ kelen\",hh:\"lɛrɛ %d\",d:\"tile kelen\",dd:\"tile %d\",M:\"kalo kelen\",MM:\"kalo %d\",y:\"san kelen\",yy:\"san %d\"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"১\",2:\"২\",3:\"৩\",4:\"৪\",5:\"৫\",6:\"৬\",7:\"৭\",8:\"৮\",9:\"৯\",0:\"০\"},n={\"১\":\"1\",\"২\":\"2\",\"৩\":\"3\",\"৪\":\"4\",\"৫\":\"5\",\"৬\":\"6\",\"৭\":\"7\",\"৮\":\"8\",\"৯\":\"9\",\"০\":\"0\"},r=e.defineLocale(\"bn\",{months:\"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর\".split(\"_\"),monthsShort:\"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে\".split(\"_\"),weekdays:\"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার\".split(\"_\"),weekdaysShort:\"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি\".split(\"_\"),weekdaysMin:\"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি\".split(\"_\"),longDateFormat:{LT:\"A h:mm সময়\",LTS:\"A h:mm:ss সময়\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm সময়\",LLLL:\"dddd, D MMMM YYYY, A h:mm সময়\"},calendar:{sameDay:\"[আজ] LT\",nextDay:\"[আগামীকাল] LT\",nextWeek:\"dddd, LT\",lastDay:\"[গতকাল] LT\",lastWeek:\"[গত] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s পরে\",past:\"%s আগে\",s:\"কয়েক সেকেন্ড\",ss:\"%d সেকেন্ড\",m:\"এক মিনিট\",mm:\"%d মিনিট\",h:\"এক ঘন্টা\",hh:\"%d ঘন্টা\",d:\"এক দিন\",dd:\"%d দিন\",M:\"এক মাস\",MM:\"%d মাস\",y:\"এক বছর\",yy:\"%d বছর\"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),\"রাত\"===t&&e>=4||\"দুপুর\"===t&&e<5||\"বিকাল\"===t?e+12:e},meridiem:function(e,t,n){return e<4?\"রাত\":e<10?\"সকাল\":e<17?\"দুপুর\":e<20?\"বিকাল\":\"রাত\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"༡\",2:\"༢\",3:\"༣\",4:\"༤\",5:\"༥\",6:\"༦\",7:\"༧\",8:\"༨\",9:\"༩\",0:\"༠\"},n={\"༡\":\"1\",\"༢\":\"2\",\"༣\":\"3\",\"༤\":\"4\",\"༥\":\"5\",\"༦\":\"6\",\"༧\":\"7\",\"༨\":\"8\",\"༩\":\"9\",\"༠\":\"0\"},r=e.defineLocale(\"bo\",{months:\"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ\".split(\"_\"),monthsShort:\"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ\".split(\"_\"),weekdays:\"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་\".split(\"_\"),weekdaysShort:\"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་\".split(\"_\"),weekdaysMin:\"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[དི་རིང] LT\",nextDay:\"[སང་ཉིན] LT\",nextWeek:\"[བདུན་ཕྲག་རྗེས་མ], LT\",lastDay:\"[ཁ་སང] LT\",lastWeek:\"[བདུན་ཕྲག་མཐའ་མ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ལ་\",past:\"%s སྔན་ལ\",s:\"ལམ་སང\",ss:\"%d སྐར་ཆ།\",m:\"སྐར་མ་གཅིག\",mm:\"%d སྐར་མ\",h:\"ཆུ་ཚོད་གཅིག\",hh:\"%d ཆུ་ཚོད\",d:\"ཉིན་གཅིག\",dd:\"%d ཉིན་\",M:\"ཟླ་བ་གཅིག\",MM:\"%d ཟླ་བ\",y:\"ལོ་གཅིག\",yy:\"%d ལོ\"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"མཚན་མོ\"===t&&e>=4||\"ཉིན་གུང\"===t&&e<5||\"དགོང་དག\"===t?e+12:e},meridiem:function(e,t,n){return e<4?\"མཚན་མོ\":e<10?\"ཞོགས་ཀས\":e<17?\"ཉིན་གུང\":e<20?\"དགོང་དག\":\"མཚན་མོ\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r={mm:\"munutenn\",MM:\"miz\",dd:\"devezh\"};return e+\" \"+o(r[n],e)}function n(e){switch(r(e)){case 1:case 3:case 4:case 5:case 9:return e+\" bloaz\";default:return e+\" vloaz\"}}function r(e){return e>9?r(e%10):e}function o(e,t){return 2===t?i(e):e}function i(e){var t={m:\"v\",b:\"v\",d:\"z\"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}var a=e.defineLocale(\"br\",{months:\"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu\".split(\"_\"),monthsShort:\"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker\".split(\"_\"),weekdays:\"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn\".split(\"_\"),weekdaysShort:\"Sul_Lun_Meu_Mer_Yao_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Lu_Me_Mer_Ya_Gw_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h[e]mm A\",LTS:\"h[e]mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [a viz] MMMM YYYY\",LLL:\"D [a viz] MMMM YYYY h[e]mm A\",LLLL:\"dddd, D [a viz] MMMM YYYY h[e]mm A\"},calendar:{sameDay:\"[Hiziv da] LT\",nextDay:\"[Warc'hoazh da] LT\",nextWeek:\"dddd [da] LT\",lastDay:\"[Dec'h da] LT\",lastWeek:\"dddd [paset da] LT\",sameElse:\"L\"},relativeTime:{future:\"a-benn %s\",past:\"%s 'zo\",s:\"un nebeud segondennoù\",ss:\"%d eilenn\",m:\"ur vunutenn\",mm:t,h:\"un eur\",hh:\"%d eur\",d:\"un devezh\",dd:t,M:\"ur miz\",MM:t,y:\"ur bloaz\",yy:n},dayOfMonthOrdinalParse:/\\d{1,2}(añ|vet)/,ordinal:function(e){var t=1===e?\"añ\":\"vet\";return e+t},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r=e+\" \";switch(n){case\"ss\":return r+=1===e?\"sekunda\":2===e||3===e||4===e?\"sekunde\":\"sekundi\";case\"m\":return t?\"jedna minuta\":\"jedne minute\";case\"mm\":return r+=1===e?\"minuta\":2===e||3===e||4===e?\"minute\":\"minuta\";case\"h\":return t?\"jedan sat\":\"jednog sata\";case\"hh\":return r+=1===e?\"sat\":2===e||3===e||4===e?\"sata\":\"sati\";case\"dd\":return r+=1===e?\"dan\":\"dana\";case\"MM\":return r+=1===e?\"mjesec\":2===e||3===e||4===e?\"mjeseca\":\"mjeseci\";case\"yy\":return r+=1===e?\"godina\":2===e||3===e||4===e?\"godine\":\"godina\"}}var n=e.defineLocale(\"bs\",{months:\"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[jučer u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[prošlu] dddd [u] LT\";case 6:return\"[prošle] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[prošli] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",ss:t,m:t,mm:t,h:t,hh:t,d:\"dan\",dd:t,M:\"mjesec\",MM:t,y:\"godinu\",yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ca\",{months:{standalone:\"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre\".split(\"_\"),format:\"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\"_\"),isFormat:/D[oD]?(\\s)+MMMM/},monthsShort:\"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.\".split(\"_\"),monthsParseExact:!0,weekdays:\"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte\".split(\"_\"),weekdaysShort:\"dg._dl._dt._dc._dj._dv._ds.\".split(\"_\"),weekdaysMin:\"dg_dl_dt_dc_dj_dv_ds\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [de] YYYY\",ll:\"D MMM YYYY\",LLL:\"D MMMM [de] YYYY [a les] H:mm\",lll:\"D MMM YYYY, H:mm\",LLLL:\"dddd D MMMM [de] YYYY [a les] H:mm\",llll:\"ddd D MMM YYYY, H:mm\"},calendar:{sameDay:function(){return\"[avui a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextDay:function(){return\"[demà a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextWeek:function(){return\"dddd [a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastDay:function(){return\"[ahir a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [passat a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"d'aquí %s\",past:\"fa %s\",s:\"uns segons\",ss:\"%d segons\",m:\"un minut\",mm:\"%d minuts\",h:\"una hora\",hh:\"%d hores\",d:\"un dia\",dd:\"%d dies\",M:\"un mes\",MM:\"%d mesos\",y:\"un any\",yy:\"%d anys\"},dayOfMonthOrdinalParse:/\\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?\"r\":2===e?\"n\":3===e?\"r\":4===e?\"t\":\"è\";return\"w\"!==t&&\"W\"!==t||(n=\"a\"),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e>1&&e<5&&1!==~~(e/10)}function n(e,n,r,o){var i=e+\" \";switch(r){case\"s\":return n||o?\"pár sekund\":\"pár sekundami\";case\"ss\":return n||o?i+(t(e)?\"sekundy\":\"sekund\"):i+\"sekundami\";case\"m\":return n?\"minuta\":o?\"minutu\":\"minutou\";case\"mm\":return n||o?i+(t(e)?\"minuty\":\"minut\"):i+\"minutami\";case\"h\":return n?\"hodina\":o?\"hodinu\":\"hodinou\";case\"hh\":return n||o?i+(t(e)?\"hodiny\":\"hodin\"):i+\"hodinami\";case\"d\":return n||o?\"den\":\"dnem\";case\"dd\":return n||o?i+(t(e)?\"dny\":\"dní\"):i+\"dny\";case\"M\":return n||o?\"měsíc\":\"měsícem\";case\"MM\":return n||o?i+(t(e)?\"měsíce\":\"měsíců\"):i+\"měsíci\";case\"y\":return n||o?\"rok\":\"rokem\";case\"yy\":return n||o?i+(t(e)?\"roky\":\"let\"):i+\"lety\"}}var r=\"leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec\".split(\"_\"),o=\"led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro\".split(\"_\"),i=e.defineLocale(\"cs\",{months:r,monthsShort:o,monthsParse:function(e,t){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp(\"^\"+e[n]+\"$|^\"+t[n]+\"$\",\"i\");return r}(r,o),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp(\"^\"+e[t]+\"$\",\"i\");return n}(o),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp(\"^\"+e[t]+\"$\",\"i\");return n}(r),weekdays:\"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota\".split(\"_\"),weekdaysShort:\"ne_po_út_st_čt_pá_so\".split(\"_\"),weekdaysMin:\"ne_po_út_st_čt_pá_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd D. MMMM YYYY H:mm\",l:\"D. M. YYYY\"},calendar:{sameDay:\"[dnes v] LT\",nextDay:\"[zítra v] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v neděli v] LT\";case 1:case 2:return\"[v] dddd [v] LT\";case 3:return\"[ve středu v] LT\";case 4:return\"[ve čtvrtek v] LT\";case 5:return\"[v pátek v] LT\";case 6:return\"[v sobotu v] LT\"}},lastDay:\"[včera v] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulou neděli v] LT\";case 1:case 2:return\"[minulé] dddd [v] LT\";case 3:return\"[minulou středu v] LT\";case 4:case 5:return\"[minulý] dddd [v] LT\";case 6:return\"[minulou sobotu v] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"před %s\",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"cv\",{months:\"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав\".split(\"_\"),monthsShort:\"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш\".split(\"_\"),weekdays:\"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун\".split(\"_\"),weekdaysShort:\"выр_тун_ытл_юн_кӗҫ_эрн_шӑм\".split(\"_\"),weekdaysMin:\"вр_тн_ыт_юн_кҫ_эр_шм\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]\",LLL:\"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm\",LLLL:\"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm\"},calendar:{sameDay:\"[Паян] LT [сехетре]\",nextDay:\"[Ыран] LT [сехетре]\",lastDay:\"[Ӗнер] LT [сехетре]\",nextWeek:\"[Ҫитес] dddd LT [сехетре]\",lastWeek:\"[Иртнӗ] dddd LT [сехетре]\",sameElse:\"L\"},relativeTime:{future:function(e){var t=/сехет$/i.exec(e)?\"рен\":/ҫул$/i.exec(e)?\"тан\":\"ран\";return e+t},past:\"%s каялла\",s:\"пӗр-ик ҫеккунт\",ss:\"%d ҫеккунт\",m:\"пӗр минут\",mm:\"%d минут\",h:\"пӗр сехет\",hh:\"%d сехет\",d:\"пӗр кун\",dd:\"%d кун\",M:\"пӗр уйӑх\",MM:\"%d уйӑх\",y:\"пӗр ҫул\",yy:\"%d ҫул\"},dayOfMonthOrdinalParse:/\\d{1,2}-мӗш/,ordinal:\"%d-мӗш\",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"cy\",{months:\"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr\".split(\"_\"),monthsShort:\"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag\".split(\"_\"),weekdays:\"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn\".split(\"_\"),weekdaysShort:\"Sul_Llun_Maw_Mer_Iau_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Ll_Ma_Me_Ia_Gw_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Heddiw am] LT\",nextDay:\"[Yfory am] LT\",nextWeek:\"dddd [am] LT\",lastDay:\"[Ddoe am] LT\",lastWeek:\"dddd [diwethaf am] LT\",sameElse:\"L\"},relativeTime:{future:\"mewn %s\",past:\"%s yn ôl\",s:\"ychydig eiliadau\",ss:\"%d eiliad\",m:\"munud\",mm:\"%d munud\",h:\"awr\",hh:\"%d awr\",d:\"diwrnod\",dd:\"%d diwrnod\",M:\"mis\",MM:\"%d mis\",y:\"blwyddyn\",yy:\"%d flynedd\"},dayOfMonthOrdinalParse:/\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=e,n=\"\",r=[\"\",\"af\",\"il\",\"ydd\",\"ydd\",\"ed\",\"ed\",\"ed\",\"fed\",\"fed\",\"fed\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"fed\"];return t>20?n=40===t||50===t||60===t||80===t||100===t?\"fed\":\"ain\":t>0&&(n=r[t]),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"da\",{months:\"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),\nweekdaysShort:\"søn_man_tir_ons_tor_fre_lør\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd [d.] D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"på dddd [kl.] LT\",lastDay:\"[i går kl.] LT\",lastWeek:\"[i] dddd[s kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"få sekunder\",ss:\"%d sekunder\",m:\"et minut\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dage\",M:\"en måned\",MM:\"%d måneder\",y:\"et år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"de-at\",{months:\"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:t,mm:\"%d Minuten\",h:t,hh:\"%d Stunden\",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"de-ch\",{months:\"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:t,mm:\"%d Minuten\",h:t,hh:\"%d Stunden\",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"de\",{months:\"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:t,mm:\"%d Minuten\",h:t,hh:\"%d Stunden\",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"ޖެނުއަރީ\",\"ފެބްރުއަރީ\",\"މާރިޗު\",\"އޭޕްރީލު\",\"މޭ\",\"ޖޫން\",\"ޖުލައި\",\"އޯގަސްޓު\",\"ސެޕްޓެމްބަރު\",\"އޮކްޓޯބަރު\",\"ނޮވެމްބަރު\",\"ޑިސެމްބަރު\"],n=[\"އާދިއްތަ\",\"ހޯމަ\",\"އަންގާރަ\",\"ބުދަ\",\"ބުރާސްފަތި\",\"ހުކުރު\",\"ހޮނިހިރު\"],r=e.defineLocale(\"dv\",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:\"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/M/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/މކ|މފ/,isPM:function(e){return\"މފ\"===e},meridiem:function(e,t,n){return e<12?\"މކ\":\"މފ\"},calendar:{sameDay:\"[މިއަދު] LT\",nextDay:\"[މާދަމާ] LT\",nextWeek:\"dddd LT\",lastDay:\"[އިއްޔެ] LT\",lastWeek:\"[ފާއިތުވި] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"ތެރޭގައި %s\",past:\"ކުރިން %s\",s:\"ސިކުންތުކޮޅެއް\",ss:\"d% ސިކުންތު\",m:\"މިނިޓެއް\",mm:\"މިނިޓު %d\",h:\"ގަޑިއިރެއް\",hh:\"ގަޑިއިރު %d\",d:\"ދުވަހެއް\",dd:\"ދުވަސް %d\",M:\"މަހެއް\",MM:\"މަސް %d\",y:\"އަހަރެއް\",yy:\"އަހަރު %d\"},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:7,doy:12}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}var n=e.defineLocale(\"el\",{monthsNominativeEl:\"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος\".split(\"_\"),monthsGenitiveEl:\"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου\".split(\"_\"),months:function(e,t){return e?\"string\"==typeof t&&/D/.test(t.substring(0,t.indexOf(\"MMMM\")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:\"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ\".split(\"_\"),weekdays:\"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο\".split(\"_\"),weekdaysShort:\"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ\".split(\"_\"),weekdaysMin:\"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα\".split(\"_\"),meridiem:function(e,t,n){return e>11?n?\"μμ\":\"ΜΜ\":n?\"πμ\":\"ΠΜ\"},isPM:function(e){return\"μ\"===(e+\"\").toLowerCase()[0]},meridiemParse:/[ΠΜ]\\.?Μ?\\.?/i,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendarEl:{sameDay:\"[Σήμερα {}] LT\",nextDay:\"[Αύριο {}] LT\",nextWeek:\"dddd [{}] LT\",lastDay:\"[Χθες {}] LT\",lastWeek:function(){switch(this.day()){case 6:return\"[το προηγούμενο] dddd [{}] LT\";default:return\"[την προηγούμενη] dddd [{}] LT\"}},sameElse:\"L\"},calendar:function(e,n){var r=this._calendarEl[e],o=n&&n.hours();return t(r)&&(r=r.apply(n)),r.replace(\"{}\",o%12===1?\"στη\":\"στις\")},relativeTime:{future:\"σε %s\",past:\"%s πριν\",s:\"λίγα δευτερόλεπτα\",ss:\"%d δευτερόλεπτα\",m:\"ένα λεπτό\",mm:\"%d λεπτά\",h:\"μία ώρα\",hh:\"%d ώρες\",d:\"μία μέρα\",dd:\"%d μέρες\",M:\"ένας μήνας\",MM:\"%d μήνες\",y:\"ένας χρόνος\",yy:\"%d χρόνια\"},dayOfMonthOrdinalParse:/\\d{1,2}η/,ordinal:\"%dη\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-au\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-ca\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"YYYY-MM-DD\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-gb\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-ie\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-il\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-nz\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"eo\",{months:\"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec\".split(\"_\"),weekdays:\"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato\".split(\"_\"),weekdaysShort:\"dim_lun_mard_merk_ĵaŭ_ven_sab\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_ĵa_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D[-a de] MMMM, YYYY\",LLL:\"D[-a de] MMMM, YYYY HH:mm\",LLLL:\"dddd, [la] D[-a de] MMMM, YYYY HH:mm\"},meridiemParse:/[ap]\\.t\\.m/i,isPM:function(e){return\"p\"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?\"p.t.m.\":\"P.T.M.\":n?\"a.t.m.\":\"A.T.M.\"},calendar:{sameDay:\"[Hodiaŭ je] LT\",nextDay:\"[Morgaŭ je] LT\",nextWeek:\"dddd [je] LT\",lastDay:\"[Hieraŭ je] LT\",lastWeek:\"[pasinta] dddd [je] LT\",sameElse:\"L\"},relativeTime:{future:\"post %s\",past:\"antaŭ %s\",s:\"sekundoj\",ss:\"%d sekundoj\",m:\"minuto\",mm:\"%d minutoj\",h:\"horo\",hh:\"%d horoj\",d:\"tago\",dd:\"%d tagoj\",M:\"monato\",MM:\"%d monatoj\",y:\"jaro\",yy:\"%d jaroj\"},dayOfMonthOrdinalParse:/\\d{1,2}a/,ordinal:\"%da\",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),n=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],o=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,i=e.defineLocale(\"es-do\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY h:mm A\",LLLL:\"dddd, D [de] MMMM [de] YYYY h:mm A\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),n=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),r=e.defineLocale(\"es-us\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"MM/DD/YYYY\",LL:\"MMMM [de] D [de] YYYY\",LLL:\"MMMM [de] D [de] YYYY h:mm A\",LLLL:\"dddd, MMMM [de] D [de] YYYY h:mm A\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),n=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],o=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,i=e.defineLocale(\"es\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={s:[\"mõne sekundi\",\"mõni sekund\",\"paar sekundit\"],ss:[e+\"sekundi\",e+\"sekundit\"],m:[\"ühe minuti\",\"üks minut\"],mm:[e+\" minuti\",e+\" minutit\"],h:[\"ühe tunni\",\"tund aega\",\"üks tund\"],hh:[e+\" tunni\",e+\" tundi\"],d:[\"ühe päeva\",\"üks päev\"],M:[\"kuu aja\",\"kuu aega\",\"üks kuu\"],MM:[e+\" kuu\",e+\" kuud\"],y:[\"ühe aasta\",\"aasta\",\"üks aasta\"],yy:[e+\" aasta\",e+\" aastat\"]};return t?o[n][2]?o[n][2]:o[n][1]:r?o[n][0]:o[n][1]}var n=e.defineLocale(\"et\",{months:\"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember\".split(\"_\"),monthsShort:\"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets\".split(\"_\"),weekdays:\"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev\".split(\"_\"),weekdaysShort:\"P_E_T_K_N_R_L\".split(\"_\"),weekdaysMin:\"P_E_T_K_N_R_L\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[Täna,] LT\",nextDay:\"[Homme,] LT\",nextWeek:\"[Järgmine] dddd LT\",lastDay:\"[Eile,] LT\",lastWeek:\"[Eelmine] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s pärast\",past:\"%s tagasi\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:\"%d päeva\",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"eu\",{months:\"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua\".split(\"_\"),monthsShort:\"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.\".split(\"_\"),monthsParseExact:!0,weekdays:\"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata\".split(\"_\"),weekdaysShort:\"ig._al._ar._az._og._ol._lr.\".split(\"_\"),weekdaysMin:\"ig_al_ar_az_og_ol_lr\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY[ko] MMMM[ren] D[a]\",LLL:\"YYYY[ko] MMMM[ren] D[a] HH:mm\",LLLL:\"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm\",l:\"YYYY-M-D\",ll:\"YYYY[ko] MMM D[a]\",lll:\"YYYY[ko] MMM D[a] HH:mm\",llll:\"ddd, YYYY[ko] MMM D[a] HH:mm\"},calendar:{sameDay:\"[gaur] LT[etan]\",nextDay:\"[bihar] LT[etan]\",nextWeek:\"dddd LT[etan]\",lastDay:\"[atzo] LT[etan]\",lastWeek:\"[aurreko] dddd LT[etan]\",sameElse:\"L\"},relativeTime:{future:\"%s barru\",past:\"duela %s\",s:\"segundo batzuk\",ss:\"%d segundo\",m:\"minutu bat\",mm:\"%d minutu\",h:\"ordu bat\",hh:\"%d ordu\",d:\"egun bat\",dd:\"%d egun\",M:\"hilabete bat\",MM:\"%d hilabete\",y:\"urte bat\",yy:\"%d urte\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"۱\",2:\"۲\",3:\"۳\",4:\"۴\",5:\"۵\",6:\"۶\",7:\"۷\",8:\"۸\",9:\"۹\",0:\"۰\"},n={\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"۰\":\"0\"},r=e.defineLocale(\"fa\",{months:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),monthsShort:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),weekdays:\"یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه\".split(\"_\"),weekdaysShort:\"یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه\".split(\"_\"),weekdaysMin:\"ی_د_س_چ_پ_ج_ش\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?\"قبل از ظهر\":\"بعد از ظهر\"},calendar:{sameDay:\"[امروز ساعت] LT\",nextDay:\"[فردا ساعت] LT\",nextWeek:\"dddd [ساعت] LT\",lastDay:\"[دیروز ساعت] LT\",lastWeek:\"dddd [پیش] [ساعت] LT\",sameElse:\"L\"},relativeTime:{future:\"در %s\",past:\"%s پیش\",s:\"چند ثانیه\",ss:\"ثانیه d%\",m:\"یک دقیقه\",mm:\"%d دقیقه\",h:\"یک ساعت\",hh:\"%d ساعت\",d:\"یک روز\",dd:\"%d روز\",M:\"یک ماه\",MM:\"%d ماه\",y:\"یک سال\",yy:\"%d سال\"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},dayOfMonthOrdinalParse:/\\d{1,2}م/,ordinal:\"%dم\",week:{dow:6,doy:12}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,r,o){var i=\"\";switch(r){case\"s\":return o?\"muutaman sekunnin\":\"muutama sekunti\";case\"ss\":return o?\"sekunnin\":\"sekuntia\";case\"m\":return o?\"minuutin\":\"minuutti\";case\"mm\":i=o?\"minuutin\":\"minuuttia\";break;case\"h\":return o?\"tunnin\":\"tunti\";case\"hh\":i=o?\"tunnin\":\"tuntia\";break;case\"d\":return o?\"päivän\":\"päivä\";case\"dd\":i=o?\"päivän\":\"päivää\";break;case\"M\":return o?\"kuukauden\":\"kuukausi\";case\"MM\":i=o?\"kuukauden\":\"kuukautta\";break;case\"y\":return o?\"vuoden\":\"vuosi\";case\"yy\":i=o?\"vuoden\":\"vuotta\"}return i=n(e,o)+\" \"+i}function n(e,t){return e<10?t?o[e]:r[e]:e}var r=\"nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän\".split(\" \"),o=[\"nolla\",\"yhden\",\"kahden\",\"kolmen\",\"neljän\",\"viiden\",\"kuuden\",r[7],r[8],r[9]],i=e.defineLocale(\"fi\",{months:\"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu\".split(\"_\"),monthsShort:\"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu\".split(\"_\"),weekdays:\"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai\".split(\"_\"),weekdaysShort:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),weekdaysMin:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"Do MMMM[ta] YYYY\",LLL:\"Do MMMM[ta] YYYY, [klo] HH.mm\",LLLL:\"dddd, Do MMMM[ta] YYYY, [klo] HH.mm\",l:\"D.M.YYYY\",ll:\"Do MMM YYYY\",lll:\"Do MMM YYYY, [klo] HH.mm\",llll:\"ddd, Do MMM YYYY, [klo] HH.mm\"},calendar:{sameDay:\"[tänään] [klo] LT\",nextDay:\"[huomenna] [klo] LT\",nextWeek:\"dddd [klo] LT\",lastDay:\"[eilen] [klo] LT\",lastWeek:\"[viime] dddd[na] [klo] LT\",sameElse:\"L\"},relativeTime:{future:\"%s päästä\",past:\"%s sitten\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fo\",{months:\"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur\".split(\"_\"),weekdaysShort:\"sun_mán_týs_mik_hós_frí_ley\".split(\"_\"),weekdaysMin:\"su_má_tý_mi_hó_fr_le\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D. MMMM, YYYY HH:mm\"},calendar:{sameDay:\"[Í dag kl.] LT\",nextDay:\"[Í morgin kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[Í gjár kl.] LT\",lastWeek:\"[síðstu] dddd [kl] LT\",sameElse:\"L\"},relativeTime:{future:\"um %s\",past:\"%s síðani\",s:\"fá sekund\",ss:\"%d sekundir\",m:\"ein minutt\",mm:\"%d minuttir\",h:\"ein tími\",hh:\"%d tímar\",d:\"ein dagur\",dd:\"%d dagar\",M:\"ein mánaði\",MM:\"%d mánaðir\",y:\"eitt ár\",yy:\"%d ár\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fr-ca\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd’hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case\"M\":case\"Q\":case\"D\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fr-ch\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd’hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case\"M\":case\"Q\":case\"D\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fr\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd’hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"\n},dayOfMonthOrdinalParse:/\\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case\"D\":return e+(1===e?\"er\":\"\");default:case\"M\":case\"Q\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.\".split(\"_\"),n=\"jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),r=e.defineLocale(\"fy\",{months:\"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:\"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon\".split(\"_\"),weekdaysShort:\"si._mo._ti._wo._to._fr._so.\".split(\"_\"),weekdaysMin:\"Si_Mo_Ti_Wo_To_Fr_So\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[hjoed om] LT\",nextDay:\"[moarn om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[juster om] LT\",lastWeek:\"[ôfrûne] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oer %s\",past:\"%s lyn\",s:\"in pear sekonden\",ss:\"%d sekonden\",m:\"ien minút\",mm:\"%d minuten\",h:\"ien oere\",hh:\"%d oeren\",d:\"ien dei\",dd:\"%d dagen\",M:\"ien moanne\",MM:\"%d moannen\",y:\"ien jier\",yy:\"%d jierren\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"Am Faoilleach\",\"An Gearran\",\"Am Màrt\",\"An Giblean\",\"An Cèitean\",\"An t-Ògmhios\",\"An t-Iuchar\",\"An Lùnastal\",\"An t-Sultain\",\"An Dàmhair\",\"An t-Samhain\",\"An Dùbhlachd\"],n=[\"Faoi\",\"Gear\",\"Màrt\",\"Gibl\",\"Cèit\",\"Ògmh\",\"Iuch\",\"Lùn\",\"Sult\",\"Dàmh\",\"Samh\",\"Dùbh\"],r=[\"Didòmhnaich\",\"Diluain\",\"Dimàirt\",\"Diciadain\",\"Diardaoin\",\"Dihaoine\",\"Disathairne\"],o=[\"Did\",\"Dil\",\"Dim\",\"Dic\",\"Dia\",\"Dih\",\"Dis\"],i=[\"Dò\",\"Lu\",\"Mà\",\"Ci\",\"Ar\",\"Ha\",\"Sa\"],a=e.defineLocale(\"gd\",{months:t,monthsShort:n,monthsParseExact:!0,weekdays:r,weekdaysShort:o,weekdaysMin:i,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[An-diugh aig] LT\",nextDay:\"[A-màireach aig] LT\",nextWeek:\"dddd [aig] LT\",lastDay:\"[An-dè aig] LT\",lastWeek:\"dddd [seo chaidh] [aig] LT\",sameElse:\"L\"},relativeTime:{future:\"ann an %s\",past:\"bho chionn %s\",s:\"beagan diogan\",ss:\"%d diogan\",m:\"mionaid\",mm:\"%d mionaidean\",h:\"uair\",hh:\"%d uairean\",d:\"latha\",dd:\"%d latha\",M:\"mìos\",MM:\"%d mìosan\",y:\"bliadhna\",yy:\"%d bliadhna\"},dayOfMonthOrdinalParse:/\\d{1,2}(d|na|mh)/,ordinal:function(e){var t=1===e?\"d\":e%10===2?\"na\":\"mh\";return e+t},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"gl\",{months:\"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro\".split(\"_\"),monthsShort:\"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"domingo_luns_martes_mércores_xoves_venres_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mér._xov._ven._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mé_xo_ve_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},calendar:{sameDay:function(){return\"[hoxe \"+(1!==this.hours()?\"ás\":\"á\")+\"] LT\"},nextDay:function(){return\"[mañá \"+(1!==this.hours()?\"ás\":\"á\")+\"] LT\"},nextWeek:function(){return\"dddd [\"+(1!==this.hours()?\"ás\":\"a\")+\"] LT\"},lastDay:function(){return\"[onte \"+(1!==this.hours()?\"á\":\"a\")+\"] LT\"},lastWeek:function(){return\"[o] dddd [pasado \"+(1!==this.hours()?\"ás\":\"a\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:function(e){return 0===e.indexOf(\"un\")?\"n\"+e:\"en \"+e},past:\"hai %s\",s:\"uns segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"unha hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={s:[\"thodde secondanim\",\"thodde second\"],ss:[e+\" secondanim\",e+\" second\"],m:[\"eka mintan\",\"ek minute\"],mm:[e+\" mintanim\",e+\" mintam\"],h:[\"eka horan\",\"ek hor\"],hh:[e+\" horanim\",e+\" horam\"],d:[\"eka disan\",\"ek dis\"],dd:[e+\" disanim\",e+\" dis\"],M:[\"eka mhoinean\",\"ek mhoino\"],MM:[e+\" mhoineanim\",e+\" mhoine\"],y:[\"eka vorsan\",\"ek voros\"],yy:[e+\" vorsanim\",e+\" vorsam\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"gom-latn\",{months:\"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr\".split(\"_\"),monthsShort:\"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var\".split(\"_\"),weekdaysShort:\"Ait._Som._Mon._Bud._Bre._Suk._Son.\".split(\"_\"),weekdaysMin:\"Ai_Sm_Mo_Bu_Br_Su_Sn\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"A h:mm [vazta]\",LTS:\"A h:mm:ss [vazta]\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY A h:mm [vazta]\",LLLL:\"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]\",llll:\"ddd, D MMM YYYY, A h:mm [vazta]\"},calendar:{sameDay:\"[Aiz] LT\",nextDay:\"[Faleam] LT\",nextWeek:\"[Ieta to] dddd[,] LT\",lastDay:\"[Kal] LT\",lastWeek:\"[Fatlo] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%s\",past:\"%s adim\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}(er)/,ordinal:function(e,t){switch(t){case\"D\":return e+\"er\";default:case\"M\":case\"Q\":case\"DDD\":case\"d\":case\"w\":case\"W\":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),\"rati\"===t?e<4?e:e+12:\"sokalli\"===t?e:\"donparam\"===t?e>12?e:e+12:\"sanje\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"rati\":e<12?\"sokalli\":e<16?\"donparam\":e<20?\"sanje\":\"rati\"}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"૧\",2:\"૨\",3:\"૩\",4:\"૪\",5:\"૫\",6:\"૬\",7:\"૭\",8:\"૮\",9:\"૯\",0:\"૦\"},n={\"૧\":\"1\",\"૨\":\"2\",\"૩\":\"3\",\"૪\":\"4\",\"૫\":\"5\",\"૬\":\"6\",\"૭\":\"7\",\"૮\":\"8\",\"૯\":\"9\",\"૦\":\"0\"},r=e.defineLocale(\"gu\",{months:\"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર\".split(\"_\"),monthsShort:\"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.\".split(\"_\"),monthsParseExact:!0,weekdays:\"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર\".split(\"_\"),weekdaysShort:\"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ\".split(\"_\"),weekdaysMin:\"ર_સો_મં_બુ_ગુ_શુ_શ\".split(\"_\"),longDateFormat:{LT:\"A h:mm વાગ્યે\",LTS:\"A h:mm:ss વાગ્યે\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm વાગ્યે\",LLLL:\"dddd, D MMMM YYYY, A h:mm વાગ્યે\"},calendar:{sameDay:\"[આજ] LT\",nextDay:\"[કાલે] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ગઇકાલે] LT\",lastWeek:\"[પાછલા] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s મા\",past:\"%s પેહલા\",s:\"અમુક પળો\",ss:\"%d સેકંડ\",m:\"એક મિનિટ\",mm:\"%d મિનિટ\",h:\"એક કલાક\",hh:\"%d કલાક\",d:\"એક દિવસ\",dd:\"%d દિવસ\",M:\"એક મહિનો\",MM:\"%d મહિનો\",y:\"એક વર્ષ\",yy:\"%d વર્ષ\"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"રાત\"===t?e<4?e:e+12:\"સવાર\"===t?e:\"બપોર\"===t?e>=10?e:e+12:\"સાંજ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"રાત\":e<10?\"સવાર\":e<17?\"બપોર\":e<20?\"સાંજ\":\"રાત\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"he\",{months:\"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר\".split(\"_\"),monthsShort:\"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳\".split(\"_\"),weekdays:\"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת\".split(\"_\"),weekdaysShort:\"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳\".split(\"_\"),weekdaysMin:\"א_ב_ג_ד_ה_ו_ש\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [ב]MMMM YYYY\",LLL:\"D [ב]MMMM YYYY HH:mm\",LLLL:\"dddd, D [ב]MMMM YYYY HH:mm\",l:\"D/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd, D MMM YYYY HH:mm\"},calendar:{sameDay:\"[היום ב־]LT\",nextDay:\"[מחר ב־]LT\",nextWeek:\"dddd [בשעה] LT\",lastDay:\"[אתמול ב־]LT\",lastWeek:\"[ביום] dddd [האחרון בשעה] LT\",sameElse:\"L\"},relativeTime:{future:\"בעוד %s\",past:\"לפני %s\",s:\"מספר שניות\",ss:\"%d שניות\",m:\"דקה\",mm:\"%d דקות\",h:\"שעה\",hh:function(e){return 2===e?\"שעתיים\":e+\" שעות\"},d:\"יום\",dd:function(e){return 2===e?\"יומיים\":e+\" ימים\"},M:\"חודש\",MM:function(e){return 2===e?\"חודשיים\":e+\" חודשים\"},y:\"שנה\",yy:function(e){return 2===e?\"שנתיים\":e%10===0&&10!==e?e+\" שנה\":e+\" שנים\"}},meridiemParse:/אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה\"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?\"לפנות בוקר\":e<10?\"בבוקר\":e<12?n?'לפנה\"צ':\"לפני הצהריים\":e<18?n?'אחה\"צ':\"אחרי הצהריים\":\"בערב\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"},n={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},r=e.defineLocale(\"hi\",{months:\"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर\".split(\"_\"),monthsShort:\"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.\".split(\"_\"),monthsParseExact:!0,weekdays:\"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार\".split(\"_\"),weekdaysShort:\"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि\".split(\"_\"),weekdaysMin:\"र_सो_मं_बु_गु_शु_श\".split(\"_\"),longDateFormat:{LT:\"A h:mm बजे\",LTS:\"A h:mm:ss बजे\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm बजे\",LLLL:\"dddd, D MMMM YYYY, A h:mm बजे\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[कल] LT\",nextWeek:\"dddd, LT\",lastDay:\"[कल] LT\",lastWeek:\"[पिछले] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s में\",past:\"%s पहले\",s:\"कुछ ही क्षण\",ss:\"%d सेकंड\",m:\"एक मिनट\",mm:\"%d मिनट\",h:\"एक घंटा\",hh:\"%d घंटे\",d:\"एक दिन\",dd:\"%d दिन\",M:\"एक महीने\",MM:\"%d महीने\",y:\"एक वर्ष\",yy:\"%d वर्ष\"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),\"रात\"===t?e<4?e:e+12:\"सुबह\"===t?e:\"दोपहर\"===t?e>=10?e:e+12:\"शाम\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"रात\":e<10?\"सुबह\":e<17?\"दोपहर\":e<20?\"शाम\":\"रात\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r=e+\" \";switch(n){case\"ss\":return r+=1===e?\"sekunda\":2===e||3===e||4===e?\"sekunde\":\"sekundi\";case\"m\":return t?\"jedna minuta\":\"jedne minute\";case\"mm\":return r+=1===e?\"minuta\":2===e||3===e||4===e?\"minute\":\"minuta\";case\"h\":return t?\"jedan sat\":\"jednog sata\";case\"hh\":return r+=1===e?\"sat\":2===e||3===e||4===e?\"sata\":\"sati\";case\"dd\":return r+=1===e?\"dan\":\"dana\";case\"MM\":return r+=1===e?\"mjesec\":2===e||3===e||4===e?\"mjeseca\":\"mjeseci\";case\"yy\":return r+=1===e?\"godina\":2===e||3===e||4===e?\"godine\":\"godina\"}}var n=e.defineLocale(\"hr\",{months:{format:\"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca\".split(\"_\"),standalone:\"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac\".split(\"_\")},monthsShort:\"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[jučer u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[prošlu] dddd [u] LT\";case 6:return\"[prošle] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[prošli] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",ss:t,m:t,mm:t,h:t,hh:t,d:\"dan\",dd:t,M:\"mjesec\",MM:t,y:\"godinu\",yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o=e;switch(n){case\"s\":return r||t?\"néhány másodperc\":\"néhány másodperce\";case\"ss\":return o+(r||t)?\" másodperc\":\" másodperce\";case\"m\":return\"egy\"+(r||t?\" perc\":\" perce\");case\"mm\":return o+(r||t?\" perc\":\" perce\");case\"h\":return\"egy\"+(r||t?\" óra\":\" órája\");case\"hh\":return o+(r||t?\" óra\":\" órája\");case\"d\":return\"egy\"+(r||t?\" nap\":\" napja\");case\"dd\":return o+(r||t?\" nap\":\" napja\");case\"M\":return\"egy\"+(r||t?\" hónap\":\" hónapja\");case\"MM\":return o+(r||t?\" hónap\":\" hónapja\");case\"y\":return\"egy\"+(r||t?\" év\":\" éve\");case\"yy\":return o+(r||t?\" év\":\" éve\")}return\"\"}function n(e){return(e?\"\":\"[múlt] \")+\"[\"+r[this.day()]+\"] LT[-kor]\"}var r=\"vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton\".split(\" \"),o=e.defineLocale(\"hu\",{months:\"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december\".split(\"_\"),monthsShort:\"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec\".split(\"_\"),weekdays:\"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat\".split(\"_\"),weekdaysShort:\"vas_hét_kedd_sze_csüt_pén_szo\".split(\"_\"),weekdaysMin:\"v_h_k_sze_cs_p_szo\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY. MMMM D.\",LLL:\"YYYY. MMMM D. H:mm\",LLLL:\"YYYY. MMMM D., dddd H:mm\"},meridiemParse:/de|du/i,isPM:function(e){return\"u\"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?n===!0?\"de\":\"DE\":n===!0?\"du\":\"DU\"},calendar:{sameDay:\"[ma] LT[-kor]\",nextDay:\"[holnap] LT[-kor]\",nextWeek:function(){return n.call(this,!0)},lastDay:\"[tegnap] LT[-kor]\",lastWeek:function(){return n.call(this,!1)},sameElse:\"L\"},relativeTime:{future:\"%s múlva\",past:\"%s\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"hy-am\",{months:{format:\"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի\".split(\"_\"),standalone:\"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր\".split(\"_\")},monthsShort:\"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ\".split(\"_\"),weekdays:\"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ\".split(\"_\"),weekdaysShort:\"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ\".split(\"_\"),weekdaysMin:\"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY թ.\",LLL:\"D MMMM YYYY թ., HH:mm\",LLLL:\"dddd, D MMMM YYYY թ., HH:mm\"},calendar:{sameDay:\"[այսօր] LT\",nextDay:\"[վաղը] LT\",lastDay:\"[երեկ] LT\",nextWeek:function(){return\"dddd [օրը ժամը] LT\"},lastWeek:function(){return\"[անցած] dddd [օրը ժամը] LT\"},sameElse:\"L\"},relativeTime:{future:\"%s հետո\",past:\"%s առաջ\",s:\"մի քանի վայրկյան\",ss:\"%d վայրկյան\",m:\"րոպե\",mm:\"%d րոպե\",h:\"ժամ\",hh:\"%d ժամ\",d:\"օր\",dd:\"%d օր\",M:\"ամիս\",MM:\"%d ամիս\",y:\"տարի\",yy:\"%d տարի\"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?\"գիշերվա\":e<12?\"առավոտվա\":e<17?\"ցերեկվա\":\"երեկոյան\"},dayOfMonthOrdinalParse:/\\d{1,2}|\\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case\"DDD\":case\"w\":case\"W\":case\"DDDo\":return 1===e?e+\"-ին\":e+\"-րդ\";default:return e}},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"id\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Rab_Kam_Jum_Sab\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),\"pagi\"===t?e:\"siang\"===t?e>=11?e:e+12:\"sore\"===t||\"malam\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"pagi\":e<15?\"siang\":e<19?\"sore\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Besok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kemarin pukul] LT\",lastWeek:\"dddd [lalu pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lalu\",s:\"beberapa detik\",ss:\"%d detik\",m:\"semenit\",mm:\"%d menit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e%100===11||e%10!==1}function n(e,n,r,o){var i=e+\" \";switch(r){case\"s\":return n||o?\"nokkrar sekúndur\":\"nokkrum sekúndum\";case\"ss\":return t(e)?i+(n||o?\"sekúndur\":\"sekúndum\"):i+\"sekúnda\";case\"m\":return n?\"mínúta\":\"mínútu\";case\"mm\":return t(e)?i+(n||o?\"mínútur\":\"mínútum\"):n?i+\"mínúta\":i+\"mínútu\";case\"hh\":return t(e)?i+(n||o?\"klukkustundir\":\"klukkustundum\"):i+\"klukkustund\";case\"d\":return n?\"dagur\":o?\"dag\":\"degi\";case\"dd\":return t(e)?n?i+\"dagar\":i+(o?\"daga\":\"dögum\"):n?i+\"dagur\":i+(o?\"dag\":\"degi\");case\"M\":return n?\"mánuður\":o?\"mánuð\":\"mánuði\";case\"MM\":return t(e)?n?i+\"mánuðir\":i+(o?\"mánuði\":\"mánuðum\"):n?i+\"mánuður\":i+(o?\"mánuð\":\"mánuði\");case\"y\":return n||o?\"ár\":\"ári\";case\"yy\":return t(e)?i+(n||o?\"ár\":\"árum\"):i+(n||o?\"ár\":\"ári\")}}var r=e.defineLocale(\"is\",{months:\"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des\".split(\"_\"),weekdays:\"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur\".split(\"_\"),weekdaysShort:\"sun_mán_þri_mið_fim_fös_lau\".split(\"_\"),weekdaysMin:\"Su_Má_Þr_Mi_Fi_Fö_La\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] H:mm\",LLLL:\"dddd, D. MMMM YYYY [kl.] H:mm\"},calendar:{sameDay:\"[í dag kl.] LT\",nextDay:\"[á morgun kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[í gær kl.] LT\",lastWeek:\"[síðasta] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"eftir %s\",past:\"fyrir %s síðan\",s:n,ss:n,m:n,mm:n,h:\"klukkustund\",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"it\",{months:\"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),monthsShort:\"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),weekdays:\"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato\".split(\"_\"),weekdaysShort:\"dom_lun_mar_mer_gio_ven_sab\".split(\"_\"),weekdaysMin:\"do_lu_ma_me_gi_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Oggi alle] LT\",nextDay:\"[Domani alle] LT\",nextWeek:\"dddd [alle] LT\",lastDay:\"[Ieri alle] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[la scorsa] dddd [alle] LT\";default:return\"[lo scorso] dddd [alle] LT\"}},sameElse:\"L\"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?\"tra\":\"in\")+\" \"+e},past:\"%s fa\",s:\"alcuni secondi\",ss:\"%d secondi\",m:\"un minuto\",mm:\"%d minuti\",h:\"un'ora\",hh:\"%d ore\",d:\"un giorno\",dd:\"%d giorni\",M:\"un mese\",MM:\"%d mesi\",y:\"un anno\",yy:\"%d anni\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ja\",{months:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日\".split(\"_\"),weekdaysShort:\"日_月_火_水_木_金_土\".split(\"_\"),weekdaysMin:\"日_月_火_水_木_金_土\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日 dddd HH:mm\",l:\"YYYY/MM/DD\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日(ddd) HH:mm\"},meridiemParse:/午前|午後/i,isPM:function(e){return\"午後\"===e},meridiem:function(e,t,n){return e<12?\"午前\":\"午後\"},calendar:{sameDay:\"[今日] LT\",nextDay:\"[明日] LT\",nextWeek:function(e){return e.week()<this.week()?\"[来週]dddd LT\":\"dddd LT\"},lastDay:\"[昨日] LT\",lastWeek:function(e){return this.week()<e.week()?\"[先週]dddd LT\":\"dddd LT\"},sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}日/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";default:return e}},relativeTime:{future:\"%s後\",past:\"%s前\",s:\"数秒\",ss:\"%d秒\",m:\"1分\",mm:\"%d分\",h:\"1時間\",hh:\"%d時間\",d:\"1日\",dd:\"%d日\",M:\"1ヶ月\",MM:\"%dヶ月\",y:\"1年\",yy:\"%d年\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"jv\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des\".split(\"_\"),weekdays:\"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Reb_Kem_Jem_Sep\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sp\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),\"enjing\"===t?e:\"siyang\"===t?e>=11?e:e+12:\"sonten\"===t||\"ndalu\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"enjing\":e<15?\"siyang\":e<19?\"sonten\":\"ndalu\"},calendar:{sameDay:\"[Dinten puniko pukul] LT\",nextDay:\"[Mbenjang pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kala wingi pukul] LT\",lastWeek:\"dddd [kepengker pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"wonten ing %s\",past:\"%s ingkang kepengker\",s:\"sawetawis detik\",ss:\"%d detik\",m:\"setunggal menit\",mm:\"%d menit\",h:\"setunggal jam\",hh:\"%d jam\",d:\"sedinten\",dd:\"%d dinten\",M:\"sewulan\",MM:\"%d wulan\",y:\"setaun\",yy:\"%d taun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ka\",{months:{standalone:\"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი\".split(\"_\"),format:\"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს\".split(\"_\")},monthsShort:\"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ\".split(\"_\"),weekdays:{standalone:\"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი\".split(\"_\"),format:\"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს\".split(\"_\"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:\"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ\".split(\"_\"),weekdaysMin:\"კვ_ორ_სა_ოთ_ხუ_პა_შა\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[დღეს] LT[-ზე]\",nextDay:\"[ხვალ] LT[-ზე]\",lastDay:\"[გუშინ] LT[-ზე]\",nextWeek:\"[შემდეგ] dddd LT[-ზე]\",lastWeek:\"[წინა] dddd LT-ზე\",sameElse:\"L\"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,\"ში\"):e+\"ში\"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,\"ის წინ\"):/წელი/.test(e)?e.replace(/წელი$/,\"წლის წინ\"):void 0},s:\"რამდენიმე წამი\",ss:\"%d წამი\",m:\"წუთი\",mm:\"%d წუთი\",h:\"საათი\",hh:\"%d საათი\",d:\"დღე\",dd:\"%d დღე\",M:\"თვე\",MM:\"%d თვე\",y:\"წელი\",yy:\"%d წელი\"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+\"-ლი\":e<20||e<=100&&e%20===0||e%100===0?\"მე-\"+e:e+\"-ე\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={0:\"-ші\",1:\"-ші\",2:\"-ші\",3:\"-ші\",4:\"-ші\",5:\"-ші\",6:\"-шы\",7:\"-ші\",8:\"-ші\",9:\"-шы\",10:\"-шы\",20:\"-шы\",30:\"-шы\",40:\"-шы\",50:\"-ші\",60:\"-шы\",70:\"-ші\",80:\"-ші\",90:\"-шы\",100:\"-ші\"},n=e.defineLocale(\"kk\",{months:\"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан\".split(\"_\"),monthsShort:\"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел\".split(\"_\"),weekdays:\"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі\".split(\"_\"),weekdaysShort:\"жек_дүй_сей_сәр_бей_жұм_сен\".split(\"_\"),weekdaysMin:\"жк_дй_сй_ср_бй_жм_сн\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Бүгін сағат] LT\",nextDay:\"[Ертең сағат] LT\",nextWeek:\"dddd [сағат] LT\",lastDay:\"[Кеше сағат] LT\",lastWeek:\"[Өткен аптаның] dddd [сағат] LT\",sameElse:\"L\"},relativeTime:{future:\"%s ішінде\",past:\"%s бұрын\",s:\"бірнеше секунд\",ss:\"%d секунд\",m:\"бір минут\",mm:\"%d минут\",h:\"бір сағат\",hh:\"%d сағат\",d:\"бір күн\",dd:\"%d күн\",M:\"бір ай\",MM:\"%d ай\",y:\"бір жыл\",yy:\"%d жыл\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ші|шы)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"១\",2:\"២\",3:\"៣\",4:\"៤\",5:\"៥\",6:\"៦\",7:\"៧\",8:\"៨\",9:\"៩\",0:\"០\"},n={\"១\":\"1\",\"២\":\"2\",\"៣\":\"3\",\"៤\":\"4\",\"៥\":\"5\",\"៦\":\"6\",\"៧\":\"7\",\"៨\":\"8\",\"៩\":\"9\",\"០\":\"0\"},r=e.defineLocale(\"km\",{months:\"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ\".split(\"_\"),monthsShort:\"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ\".split(\"_\"),weekdays:\"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍\".split(\"_\"),weekdaysShort:\"អា_ច_អ_ព_ព្រ_សុ_ស\".split(\"_\"),weekdaysMin:\"អា_ច_អ_ព_ព្រ_សុ_ស\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return\"ល្ងាច\"===e},meridiem:function(e,t,n){return e<12?\"ព្រឹក\":\"ល្ងាច\"},calendar:{sameDay:\"[ថ្ងៃនេះ ម៉ោង] LT\",nextDay:\"[ស្អែក ម៉ោង] LT\",nextWeek:\"dddd [ម៉ោង] LT\",lastDay:\"[ម្សិលមិញ ម៉ោង] LT\",lastWeek:\"dddd [សប្តាហ៍មុន] [ម៉ោង] LT\",sameElse:\"L\"},relativeTime:{future:\"%sទៀត\",past:\"%sមុន\",s:\"ប៉ុន្មានវិនាទី\",ss:\"%d វិនាទី\",m:\"មួយនាទី\",mm:\"%d នាទី\",h:\"មួយម៉ោង\",hh:\"%d ម៉ោង\",d:\"មួយថ្ងៃ\",dd:\"%d ថ្ងៃ\",M:\"មួយខែ\",MM:\"%d ខែ\",y:\"មួយឆ្នាំ\",yy:\"%d ឆ្នាំ\"},dayOfMonthOrdinalParse:/ទី\\d{1,2}/,ordinal:\"ទី%d\",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"೧\",2:\"೨\",3:\"೩\",4:\"೪\",5:\"೫\",6:\"೬\",7:\"೭\",8:\"೮\",9:\"೯\",0:\"೦\"},n={\"೧\":\"1\",\"೨\":\"2\",\"೩\":\"3\",\"೪\":\"4\",\"೫\":\"5\",\"೬\":\"6\",\"೭\":\"7\",\"೮\":\"8\",\"೯\":\"9\",\"೦\":\"0\"},r=e.defineLocale(\"kn\",{months:\"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್\".split(\"_\"),monthsShort:\"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ\".split(\"_\"),monthsParseExact:!0,weekdays:\"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ\".split(\"_\"),weekdaysShort:\"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ\".split(\"_\"),weekdaysMin:\"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[ಇಂದು] LT\",nextDay:\"[ನಾಳೆ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ನಿನ್ನೆ] LT\",lastWeek:\"[ಕೊನೆಯ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ನಂತರ\",past:\"%s ಹಿಂದೆ\",s:\"ಕೆಲವು ಕ್ಷಣಗಳು\",ss:\"%d ಸೆಕೆಂಡುಗಳು\",m:\"ಒಂದು ನಿಮಿಷ\",mm:\"%d ನಿಮಿಷ\",h:\"ಒಂದು ಗಂಟೆ\",hh:\"%d ಗಂಟೆ\",d:\"ಒಂದು ದಿನ\",dd:\"%d ದಿನ\",M:\"ಒಂದು ತಿಂಗಳು\",MM:\"%d ತಿಂಗಳು\",y:\"ಒಂದು ವರ್ಷ\",yy:\"%d ವರ್ಷ\"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"ರಾತ್ರಿ\"===t?e<4?e:e+12:\"ಬೆಳಿಗ್ಗೆ\"===t?e:\"ಮಧ್ಯಾಹ್ನ\"===t?e>=10?e:e+12:\"ಸಂಜೆ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"ರಾತ್ರಿ\":e<10?\"ಬೆಳಿಗ್ಗೆ\":e<17?\"ಮಧ್ಯಾಹ್ನ\":e<20?\"ಸಂಜೆ\":\"ರಾತ್ರಿ\"},dayOfMonthOrdinalParse:/\\d{1,2}(ನೇ)/,ordinal:function(e){return e+\"ನೇ\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ko\",{months:\"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월\".split(\"_\"),monthsShort:\"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월\".split(\"_\"),weekdays:\"일요일_월요일_화요일_수요일_목요일_금요일_토요일\".split(\"_\"),weekdaysShort:\"일_월_화_수_목_금_토\".split(\"_\"),weekdaysMin:\"일_월_화_수_목_금_토\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY년 MMMM D일\",LLL:\"YYYY년 MMMM D일 A h:mm\",LLLL:\"YYYY년 MMMM D일 dddd A h:mm\",l:\"YYYY.MM.DD.\",ll:\"YYYY년 MMMM D일\",lll:\"YYYY년 MMMM D일 A h:mm\",llll:\"YYYY년 MMMM D일 dddd A h:mm\"},calendar:{sameDay:\"오늘 LT\",nextDay:\"내일 LT\",nextWeek:\"dddd LT\",lastDay:\"어제 LT\",lastWeek:\"지난주 dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s 후\",past:\"%s 전\",s:\"몇 초\",ss:\"%d초\",m:\"1분\",mm:\"%d분\",h:\"한 시간\",hh:\"%d시간\",d:\"하루\",dd:\"%d일\",M:\"한 달\",MM:\"%d달\",y:\"일 년\",yy:\"%d년\"},dayOfMonthOrdinalParse:/\\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"일\";case\"M\":return e+\"월\";case\"w\":case\"W\":return e+\"주\";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return\"오후\"===e},meridiem:function(e,t,n){return e<12?\"오전\":\"오후\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={0:\"-чү\",1:\"-чи\",2:\"-чи\",3:\"-чү\",4:\"-чү\",5:\"-чи\",6:\"-чы\",7:\"-чи\",8:\"-чи\",9:\"-чу\",10:\"-чу\",20:\"-чы\",30:\"-чу\",40:\"-чы\",50:\"-чү\",60:\"-чы\",70:\"-чи\",80:\"-чи\",90:\"-чу\",100:\"-чү\"},n=e.defineLocale(\"ky\",{months:\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),monthsShort:\"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби\".split(\"_\"),weekdaysShort:\"Жек_Дүй_Шей_Шар_Бей_Жум_Ише\".split(\"_\"),weekdaysMin:\"Жк_Дй_Шй_Шр_Бй_Жм_Иш\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Бүгүн саат] LT\",nextDay:\"[Эртең саат] LT\",nextWeek:\"dddd [саат] LT\",lastDay:\"[Кече саат] LT\",lastWeek:\"[Өткен аптанын] dddd [күнү] [саат] LT\",sameElse:\"L\"},relativeTime:{future:\"%s ичинде\",past:\"%s мурун\",s:\"бирнече секунд\",ss:\"%d секунд\",m:\"бир мүнөт\",mm:\"%d мүнөт\",h:\"бир саат\",hh:\"%d саат\",d:\"бир күн\",dd:\"%d күн\",M:\"бир ай\",MM:\"%d ай\",y:\"бир жыл\",yy:\"%d жыл\"},dayOfMonthOrdinalParse:/\\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eng Minutt\",\"enger Minutt\"],h:[\"eng Stonn\",\"enger Stonn\"],d:[\"een Dag\",\"engem Dag\"],M:[\"ee Mount\",\"engem Mount\"],y:[\"ee Joer\",\"engem Joer\"]};return t?o[n][0]:o[n][1]}function n(e){var t=e.substr(0,e.indexOf(\" \"));return o(t)?\"a \"+e:\"an \"+e}function r(e){var t=e.substr(0,e.indexOf(\" \"));return o(t)?\"viru \"+e:\"virun \"+e}function o(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10,n=e/10;return o(0===t?n:t)}if(e<1e4){for(;e>=10;)e/=10;return o(e)}return e/=1e3,o(e)}var i=e.defineLocale(\"lb\",{months:\"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg\".split(\"_\"),\nweekdaysShort:\"So._Mé._Dë._Më._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mé_Dë_Më_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm [Auer]\",LTS:\"H:mm:ss [Auer]\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm [Auer]\",LLLL:\"dddd, D. MMMM YYYY H:mm [Auer]\"},calendar:{sameDay:\"[Haut um] LT\",sameElse:\"L\",nextDay:\"[Muer um] LT\",nextWeek:\"dddd [um] LT\",lastDay:\"[Gëschter um] LT\",lastWeek:function(){switch(this.day()){case 2:case 4:return\"[Leschten] dddd [um] LT\";default:return\"[Leschte] dddd [um] LT\"}}},relativeTime:{future:n,past:r,s:\"e puer Sekonnen\",ss:\"%d Sekonnen\",m:t,mm:\"%d Minutten\",h:t,hh:\"%d Stonnen\",d:t,dd:\"%d Deeg\",M:t,MM:\"%d Méint\",y:t,yy:\"%d Joer\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"lo\",{months:\"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ\".split(\"_\"),monthsShort:\"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ\".split(\"_\"),weekdays:\"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ\".split(\"_\"),weekdaysShort:\"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ\".split(\"_\"),weekdaysMin:\"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"ວັນdddd D MMMM YYYY HH:mm\"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return\"ຕອນແລງ\"===e},meridiem:function(e,t,n){return e<12?\"ຕອນເຊົ້າ\":\"ຕອນແລງ\"},calendar:{sameDay:\"[ມື້ນີ້ເວລາ] LT\",nextDay:\"[ມື້ອື່ນເວລາ] LT\",nextWeek:\"[ວັນ]dddd[ໜ້າເວລາ] LT\",lastDay:\"[ມື້ວານນີ້ເວລາ] LT\",lastWeek:\"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT\",sameElse:\"L\"},relativeTime:{future:\"ອີກ %s\",past:\"%sຜ່ານມາ\",s:\"ບໍ່ເທົ່າໃດວິນາທີ\",ss:\"%d ວິນາທີ\",m:\"1 ນາທີ\",mm:\"%d ນາທີ\",h:\"1 ຊົ່ວໂມງ\",hh:\"%d ຊົ່ວໂມງ\",d:\"1 ມື້\",dd:\"%d ມື້\",M:\"1 ເດືອນ\",MM:\"%d ເດືອນ\",y:\"1 ປີ\",yy:\"%d ປີ\"},dayOfMonthOrdinalParse:/(ທີ່)\\d{1,2}/,ordinal:function(e){return\"ທີ່\"+e}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){return t?\"kelios sekundės\":r?\"kelių sekundžių\":\"kelias sekundes\"}function n(e,t,n,r){return t?o(n)[0]:r?o(n)[1]:o(n)[2]}function r(e){return e%10===0||e>10&&e<20}function o(e){return a[e].split(\"_\")}function i(e,t,i,a){var s=e+\" \";return 1===e?s+n(e,t,i[0],a):t?s+(r(e)?o(i)[1]:o(i)[0]):a?s+o(i)[1]:s+(r(e)?o(i)[1]:o(i)[2])}var a={ss:\"sekundė_sekundžių_sekundes\",m:\"minutė_minutės_minutę\",mm:\"minutės_minučių_minutes\",h:\"valanda_valandos_valandą\",hh:\"valandos_valandų_valandas\",d:\"diena_dienos_dieną\",dd:\"dienos_dienų_dienas\",M:\"mėnuo_mėnesio_mėnesį\",MM:\"mėnesiai_mėnesių_mėnesius\",y:\"metai_metų_metus\",yy:\"metai_metų_metus\"},s=e.defineLocale(\"lt\",{months:{format:\"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio\".split(\"_\"),standalone:\"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis\".split(\"_\"),isFormat:/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/},monthsShort:\"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd\".split(\"_\"),weekdays:{format:\"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį\".split(\"_\"),standalone:\"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis\".split(\"_\"),isFormat:/dddd HH:mm/},weekdaysShort:\"Sek_Pir_Ant_Tre_Ket_Pen_Šeš\".split(\"_\"),weekdaysMin:\"S_P_A_T_K_Pn_Š\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY [m.] MMMM D [d.]\",LLL:\"YYYY [m.] MMMM D [d.], HH:mm [val.]\",LLLL:\"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]\",l:\"YYYY-MM-DD\",ll:\"YYYY [m.] MMMM D [d.]\",lll:\"YYYY [m.] MMMM D [d.], HH:mm [val.]\",llll:\"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]\"},calendar:{sameDay:\"[Šiandien] LT\",nextDay:\"[Rytoj] LT\",nextWeek:\"dddd LT\",lastDay:\"[Vakar] LT\",lastWeek:\"[Praėjusį] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"po %s\",past:\"prieš %s\",s:t,ss:i,m:n,mm:i,h:n,hh:i,d:n,dd:i,M:n,MM:i,y:n,yy:i},dayOfMonthOrdinalParse:/\\d{1,2}-oji/,ordinal:function(e){return e+\"-oji\"},week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){return n?t%10===1&&t%100!==11?e[2]:e[3]:t%10===1&&t%100!==11?e[0]:e[1]}function n(e,n,r){return e+\" \"+t(i[r],e,n)}function r(e,n,r){return t(i[r],e,n)}function o(e,t){return t?\"dažas sekundes\":\"dažām sekundēm\"}var i={ss:\"sekundes_sekundēm_sekunde_sekundes\".split(\"_\"),m:\"minūtes_minūtēm_minūte_minūtes\".split(\"_\"),mm:\"minūtes_minūtēm_minūte_minūtes\".split(\"_\"),h:\"stundas_stundām_stunda_stundas\".split(\"_\"),hh:\"stundas_stundām_stunda_stundas\".split(\"_\"),d:\"dienas_dienām_diena_dienas\".split(\"_\"),dd:\"dienas_dienām_diena_dienas\".split(\"_\"),M:\"mēneša_mēnešiem_mēnesis_mēneši\".split(\"_\"),MM:\"mēneša_mēnešiem_mēnesis_mēneši\".split(\"_\"),y:\"gada_gadiem_gads_gadi\".split(\"_\"),yy:\"gada_gadiem_gads_gadi\".split(\"_\")},a=e.defineLocale(\"lv\",{months:\"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena\".split(\"_\"),weekdaysShort:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysMin:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY.\",LL:\"YYYY. [gada] D. MMMM\",LLL:\"YYYY. [gada] D. MMMM, HH:mm\",LLLL:\"YYYY. [gada] D. MMMM, dddd, HH:mm\"},calendar:{sameDay:\"[Šodien pulksten] LT\",nextDay:\"[Rīt pulksten] LT\",nextWeek:\"dddd [pulksten] LT\",lastDay:\"[Vakar pulksten] LT\",lastWeek:\"[Pagājušā] dddd [pulksten] LT\",sameElse:\"L\"},relativeTime:{future:\"pēc %s\",past:\"pirms %s\",s:o,ss:n,m:r,mm:n,h:r,hh:n,d:r,dd:n,M:r,MM:n,y:r,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={words:{ss:[\"sekund\",\"sekunda\",\"sekundi\"],m:[\"jedan minut\",\"jednog minuta\"],mm:[\"minut\",\"minuta\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mjesec\",\"mjeseca\",\"mjeseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var o=t.words[r];return 1===r.length?n?o[0]:o[1]:e+\" \"+t.correctGrammaticalCase(e,o)}},n=e.defineLocale(\"me\",{months:\"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sjutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[juče u] LT\",lastWeek:function(){var e=[\"[prošle] [nedjelje] [u] LT\",\"[prošlog] [ponedjeljka] [u] LT\",\"[prošlog] [utorka] [u] LT\",\"[prošle] [srijede] [u] LT\",\"[prošlog] [četvrtka] [u] LT\",\"[prošlog] [petka] [u] LT\",\"[prošle] [subote] [u] LT\"];return e[this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"nekoliko sekundi\",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:\"dan\",dd:t.translate,M:\"mjesec\",MM:t.translate,y:\"godinu\",yy:t.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"mi\",{months:\"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea\".split(\"_\"),monthsShort:\"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki\".split(\"_\"),monthsRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsShortRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,weekdays:\"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei\".split(\"_\"),weekdaysShort:\"Ta_Ma_Tū_We_Tāi_Pa_Hā\".split(\"_\"),weekdaysMin:\"Ta_Ma_Tū_We_Tāi_Pa_Hā\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [i] HH:mm\",LLLL:\"dddd, D MMMM YYYY [i] HH:mm\"},calendar:{sameDay:\"[i teie mahana, i] LT\",nextDay:\"[apopo i] LT\",nextWeek:\"dddd [i] LT\",lastDay:\"[inanahi i] LT\",lastWeek:\"dddd [whakamutunga i] LT\",sameElse:\"L\"},relativeTime:{future:\"i roto i %s\",past:\"%s i mua\",s:\"te hēkona ruarua\",ss:\"%d hēkona\",m:\"he meneti\",mm:\"%d meneti\",h:\"te haora\",hh:\"%d haora\",d:\"he ra\",dd:\"%d ra\",M:\"he marama\",MM:\"%d marama\",y:\"he tau\",yy:\"%d tau\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"mk\",{months:\"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември\".split(\"_\"),monthsShort:\"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек\".split(\"_\"),weekdays:\"недела_понеделник_вторник_среда_четврток_петок_сабота\".split(\"_\"),weekdaysShort:\"нед_пон_вто_сре_чет_пет_саб\".split(\"_\"),weekdaysMin:\"нe_пo_вт_ср_че_пе_сa\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[Денес во] LT\",nextDay:\"[Утре во] LT\",nextWeek:\"[Во] dddd [во] LT\",lastDay:\"[Вчера во] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[Изминатата] dddd [во] LT\";case 1:case 2:case 4:case 5:return\"[Изминатиот] dddd [во] LT\"}},sameElse:\"L\"},relativeTime:{future:\"после %s\",past:\"пред %s\",s:\"неколку секунди\",ss:\"%d секунди\",m:\"минута\",mm:\"%d минути\",h:\"час\",hh:\"%d часа\",d:\"ден\",dd:\"%d дена\",M:\"месец\",MM:\"%d месеци\",y:\"година\",yy:\"%d години\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+\"-ев\":0===n?e+\"-ен\":n>10&&n<20?e+\"-ти\":1===t?e+\"-ви\":2===t?e+\"-ри\":7===t||8===t?e+\"-ми\":e+\"-ти\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ml\",{months:\"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ\".split(\"_\"),monthsShort:\"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.\".split(\"_\"),monthsParseExact:!0,weekdays:\"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച\".split(\"_\"),weekdaysShort:\"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി\".split(\"_\"),weekdaysMin:\"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ\".split(\"_\"),longDateFormat:{LT:\"A h:mm -നു\",LTS:\"A h:mm:ss -നു\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm -നു\",LLLL:\"dddd, D MMMM YYYY, A h:mm -നു\"},calendar:{sameDay:\"[ഇന്ന്] LT\",nextDay:\"[നാളെ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ഇന്നലെ] LT\",lastWeek:\"[കഴിഞ്ഞ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s കഴിഞ്ഞ്\",past:\"%s മുൻപ്\",s:\"അൽപ നിമിഷങ്ങൾ\",ss:\"%d സെക്കൻഡ്\",m:\"ഒരു മിനിറ്റ്\",mm:\"%d മിനിറ്റ്\",h:\"ഒരു മണിക്കൂർ\",hh:\"%d മണിക്കൂർ\",d:\"ഒരു ദിവസം\",dd:\"%d ദിവസം\",M:\"ഒരു മാസം\",MM:\"%d മാസം\",y:\"ഒരു വർഷം\",yy:\"%d വർഷം\"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),\"രാത്രി\"===t&&e>=4||\"ഉച്ച കഴിഞ്ഞ്\"===t||\"വൈകുന്നേരം\"===t?e+12:e},meridiem:function(e,t,n){return e<4?\"രാത്രി\":e<12?\"രാവിലെ\":e<17?\"ഉച്ച കഴിഞ്ഞ്\":e<20?\"വൈകുന്നേരം\":\"രാത്രി\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){switch(n){case\"s\":return t?\"хэдхэн секунд\":\"хэдхэн секундын\";case\"ss\":return e+(t?\" секунд\":\" секундын\");case\"m\":case\"mm\":return e+(t?\" минут\":\" минутын\");case\"h\":case\"hh\":return e+(t?\" цаг\":\" цагийн\");case\"d\":case\"dd\":return e+(t?\" өдөр\":\" өдрийн\");case\"M\":case\"MM\":return e+(t?\" сар\":\" сарын\");case\"y\":case\"yy\":return e+(t?\" жил\":\" жилийн\");default:return e}}var n=e.defineLocale(\"mn\",{months:\"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар\".split(\"_\"),monthsShort:\"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар\".split(\"_\"),monthsParseExact:!0,weekdays:\"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба\".split(\"_\"),weekdaysShort:\"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям\".split(\"_\"),weekdaysMin:\"Ня_Да_Мя_Лх_Пү_Ба_Бя\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY оны MMMMын D\",LLL:\"YYYY оны MMMMын D HH:mm\",LLLL:\"dddd, YYYY оны MMMMын D HH:mm\"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(e){return\"ҮХ\"===e},meridiem:function(e,t,n){return e<12?\"ҮӨ\":\"ҮХ\"},calendar:{sameDay:\"[Өнөөдөр] LT\",nextDay:\"[Маргааш] LT\",nextWeek:\"[Ирэх] dddd LT\",lastDay:\"[Өчигдөр] LT\",lastWeek:\"[Өнгөрсөн] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s дараа\",past:\"%s өмнө\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2} өдөр/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\" өдөр\";default:return e}}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o=\"\";if(t)switch(n){case\"s\":o=\"काही सेकंद\";break;case\"ss\":o=\"%d सेकंद\";break;case\"m\":o=\"एक मिनिट\";break;case\"mm\":o=\"%d मिनिटे\";break;case\"h\":o=\"एक तास\";break;case\"hh\":o=\"%d तास\";break;case\"d\":o=\"एक दिवस\";break;case\"dd\":o=\"%d दिवस\";break;case\"M\":o=\"एक महिना\";break;case\"MM\":o=\"%d महिने\";break;case\"y\":o=\"एक वर्ष\";break;case\"yy\":o=\"%d वर्षे\"}else switch(n){case\"s\":o=\"काही सेकंदां\";break;case\"ss\":o=\"%d सेकंदां\";break;case\"m\":o=\"एका मिनिटा\";break;case\"mm\":o=\"%d मिनिटां\";break;case\"h\":o=\"एका तासा\";break;case\"hh\":o=\"%d तासां\";break;case\"d\":o=\"एका दिवसा\";break;case\"dd\":o=\"%d दिवसां\";break;case\"M\":o=\"एका महिन्या\";break;case\"MM\":o=\"%d महिन्यां\";break;case\"y\":o=\"एका वर्षा\";break;case\"yy\":o=\"%d वर्षां\"}return o.replace(/%d/i,e)}var n={1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"},r={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},o=e.defineLocale(\"mr\",{months:\"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर\".split(\"_\"),monthsShort:\"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.\".split(\"_\"),monthsParseExact:!0,weekdays:\"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार\".split(\"_\"),weekdaysShort:\"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि\".split(\"_\"),weekdaysMin:\"र_सो_मं_बु_गु_शु_श\".split(\"_\"),longDateFormat:{LT:\"A h:mm वाजता\",LTS:\"A h:mm:ss वाजता\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm वाजता\",LLLL:\"dddd, D MMMM YYYY, A h:mm वाजता\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[उद्या] LT\",nextWeek:\"dddd, LT\",lastDay:\"[काल] LT\",lastWeek:\"[मागील] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%sमध्ये\",past:\"%sपूर्वी\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return r[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return n[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),\"रात्री\"===t?e<4?e:e+12:\"सकाळी\"===t?e:\"दुपारी\"===t?e>=10?e:e+12:\"सायंकाळी\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"रात्री\":e<10?\"सकाळी\":e<17?\"दुपारी\":e<20?\"सायंकाळी\":\"रात्री\"},week:{dow:0,doy:6}});return o})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ms-my\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),\"pagi\"===t?e:\"tengahari\"===t?e>=11?e:e+12:\"petang\"===t||\"malam\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"pagi\":e<15?\"tengahari\":e<19?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",ss:\"%d saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ms\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),\"pagi\"===t?e:\"tengahari\"===t?e>=11?e:e+12:\"petang\"===t||\"malam\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"pagi\":e<15?\"tengahari\":e<19?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",ss:\"%d saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"mt\",{months:\"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru\".split(\"_\"),monthsShort:\"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ\".split(\"_\"),weekdays:\"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt\".split(\"_\"),weekdaysShort:\"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib\".split(\"_\"),weekdaysMin:\"Ħa_Tn_Tl_Er_Ħa_Ġi_Si\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Illum fil-]LT\",nextDay:\"[Għada fil-]LT\",nextWeek:\"dddd [fil-]LT\",lastDay:\"[Il-bieraħ fil-]LT\",lastWeek:\"dddd [li għadda] [fil-]LT\",sameElse:\"L\"},relativeTime:{future:\"f’ %s\",past:\"%s ilu\",s:\"ftit sekondi\",ss:\"%d sekondi\",m:\"minuta\",mm:\"%d minuti\",h:\"siegħa\",hh:\"%d siegħat\",d:\"ġurnata\",dd:\"%d ġranet\",M:\"xahar\",MM:\"%d xhur\",y:\"sena\",yy:\"%d sni\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"၁\",2:\"၂\",3:\"၃\",4:\"၄\",5:\"၅\",6:\"၆\",7:\"၇\",8:\"၈\",9:\"၉\",0:\"၀\"},n={\"၁\":\"1\",\"၂\":\"2\",\"၃\":\"3\",\"၄\":\"4\",\"၅\":\"5\",\"၆\":\"6\",\"၇\":\"7\",\"၈\":\"8\",\"၉\":\"9\",\"၀\":\"0\"},r=e.defineLocale(\"my\",{months:\"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ\".split(\"_\"),monthsShort:\"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ\".split(\"_\"),weekdays:\"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ\".split(\"_\"),weekdaysShort:\"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ\".split(\"_\"),weekdaysMin:\"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[ယနေ.] LT [မှာ]\",nextDay:\"[မနက်ဖြန်] LT [မှာ]\",nextWeek:\"dddd LT [မှာ]\",lastDay:\"[မနေ.က] LT [မှာ]\",lastWeek:\"[ပြီးခဲ့သော] dddd LT [မှာ]\",sameElse:\"L\"},relativeTime:{future:\"လာမည့် %s မှာ\",past:\"လွန်ခဲ့သော %s က\",s:\"စက္ကန်.အနည်းငယ်\",ss:\"%d စက္ကန့်\",m:\"တစ်မိနစ်\",mm:\"%d မိနစ်\",h:\"တစ်နာရီ\",hh:\"%d နာရီ\",d:\"တစ်ရက်\",dd:\"%d ရက်\",M:\"တစ်လ\",MM:\"%d လ\",y:\"တစ်နှစ်\",yy:\"%d နှစ်\"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"nb\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.\".split(\"_\"),monthsParseExact:!0,weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"sø._ma._ti._on._to._fr._lø.\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[i går kl.] LT\",lastWeek:\"[forrige] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"noen sekunder\",ss:\"%d sekunder\",m:\"ett minutt\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dager\",M:\"en måned\",MM:\"%d måneder\",y:\"ett år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"},n={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},r=e.defineLocale(\"ne\",{months:\"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर\".split(\"_\"),monthsShort:\"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.\".split(\"_\"),monthsParseExact:!0,weekdays:\"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार\".split(\"_\"),weekdaysShort:\"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.\".split(\"_\"),weekdaysMin:\"आ._सो._मं._बु._बि._शु._श.\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"Aको h:mm बजे\",LTS:\"Aको h:mm:ss बजे\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, Aको h:mm बजे\",LLLL:\"dddd, D MMMM YYYY, Aको h:mm बजे\"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"राति\"===t?e<4?e:e+12:\"बिहान\"===t?e:\"दिउँसो\"===t?e>=10?e:e+12:\"साँझ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?\"राति\":e<12?\"बिहान\":e<16?\"दिउँसो\":e<20?\"साँझ\":\"राति\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[भोलि] LT\",nextWeek:\"[आउँदो] dddd[,] LT\",lastDay:\"[हिजो] LT\",lastWeek:\"[गएको] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%sमा\",past:\"%s अगाडि\",s:\"केही क्षण\",ss:\"%d सेकेण्ड\",m:\"एक मिनेट\",mm:\"%d मिनेट\",h:\"एक घण्टा\",hh:\"%d घण्टा\",d:\"एक दिन\",dd:\"%d दिन\",M:\"एक महिना\",MM:\"%d महिना\",y:\"एक बर्ष\",yy:\"%d बर्ष\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),n=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],o=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,i=e.defineLocale(\"nl-be\",{months:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"zo_ma_di_wo_do_vr_za\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",ss:\"%d seconden\",m:\"één minuut\",mm:\"%d minuten\",h:\"één uur\",hh:\"%d uur\",d:\"één dag\",dd:\"%d dagen\",M:\"één maand\",MM:\"%d maanden\",y:\"één jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),n=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],o=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,i=e.defineLocale(\"nl\",{months:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"zo_ma_di_wo_do_vr_za\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",ss:\"%d seconden\",m:\"één minuut\",mm:\"%d minuten\",h:\"één uur\",hh:\"%d uur\",d:\"één dag\",dd:\"%d dagen\",M:\"één maand\",MM:\"%d maanden\",y:\"één jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"nn\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag\".split(\"_\"),weekdaysShort:\"sun_mån_tys_ons_tor_fre_lau\".split(\"_\"),weekdaysMin:\"su_må_ty_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] H:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[I dag klokka] LT\",nextDay:\"[I morgon klokka] LT\",nextWeek:\"dddd [klokka] LT\",lastDay:\"[I går klokka] LT\",lastWeek:\"[Føregåande] dddd [klokka] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s sidan\",s:\"nokre sekund\",ss:\"%d sekund\",m:\"eit minutt\",mm:\"%d minutt\",h:\"ein time\",hh:\"%d timar\",d:\"ein dag\",dd:\"%d dagar\",M:\"ein månad\",MM:\"%d månader\",y:\"eit år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"੧\",2:\"੨\",3:\"੩\",4:\"੪\",5:\"੫\",6:\"੬\",7:\"੭\",8:\"੮\",9:\"੯\",0:\"੦\"},n={\"੧\":\"1\",\"੨\":\"2\",\"੩\":\"3\",\"੪\":\"4\",\"੫\":\"5\",\"੬\":\"6\",\"੭\":\"7\",\"੮\":\"8\",\"੯\":\"9\",\"੦\":\"0\"},r=e.defineLocale(\"pa-in\",{months:\"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ\".split(\"_\"),monthsShort:\"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ\".split(\"_\"),weekdays:\"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ\".split(\"_\"),weekdaysShort:\"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ\".split(\"_\"),weekdaysMin:\"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ\".split(\"_\"),longDateFormat:{LT:\"A h:mm ਵਜੇ\",LTS:\"A h:mm:ss ਵਜੇ\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm ਵਜੇ\",LLLL:\"dddd, D MMMM YYYY, A h:mm ਵਜੇ\"},calendar:{sameDay:\"[ਅਜ] LT\",nextDay:\"[ਕਲ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ਕਲ] LT\",lastWeek:\"[ਪਿਛਲੇ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ਵਿੱਚ\",past:\"%s ਪਿਛਲੇ\",s:\"ਕੁਝ ਸਕਿੰਟ\",ss:\"%d ਸਕਿੰਟ\",m:\"ਇਕ ਮਿੰਟ\",mm:\"%d ਮਿੰਟ\",h:\"ਇੱਕ ਘੰਟਾ\",hh:\"%d ਘੰਟੇ\",d:\"ਇੱਕ ਦਿਨ\",dd:\"%d ਦਿਨ\",M:\"ਇੱਕ ਮਹੀਨਾ\",MM:\"%d ਮਹੀਨੇ\",y:\"ਇੱਕ ਸਾਲ\",yy:\"%d ਸਾਲ\"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"ਰਾਤ\"===t?e<4?e:e+12:\"ਸਵੇਰ\"===t?e:\"ਦੁਪਹਿਰ\"===t?e>=10?e:e+12:\"ਸ਼ਾਮ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"ਰਾਤ\":e<10?\"ਸਵੇਰ\":e<17?\"ਦੁਪਹਿਰ\":e<20?\"ਸ਼ਾਮ\":\"ਰਾਤ\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function n(e,n,r){var o=e+\" \";switch(r){case\"ss\":return o+(t(e)?\"sekundy\":\"sekund\");case\"m\":return n?\"minuta\":\"minutę\";case\"mm\":return o+(t(e)?\"minuty\":\"minut\");case\"h\":return n?\"godzina\":\"godzinę\";case\"hh\":return o+(t(e)?\"godziny\":\"godzin\");case\"MM\":return o+(t(e)?\"miesiące\":\"miesięcy\");case\"yy\":return o+(t(e)?\"lata\":\"lat\")}}var r=\"styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień\".split(\"_\"),o=\"stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia\".split(\"_\"),i=e.defineLocale(\"pl\",{months:function(e,t){return e?\"\"===t?\"(\"+o[e.month()]+\"|\"+r[e.month()]+\")\":/D MMMM/.test(t)?o[e.month()]:r[e.month()]:r},monthsShort:\"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru\".split(\"_\"),weekdays:\"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota\".split(\"_\"),weekdaysShort:\"ndz_pon_wt_śr_czw_pt_sob\".split(\"_\"),weekdaysMin:\"Nd_Pn_Wt_Śr_Cz_Pt_So\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Dziś o] LT\",nextDay:\"[Jutro o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[W niedzielę o] LT\";case 2:return\"[We wtorek o] LT\";case 3:return\"[W środę o] LT\";case 6:return\"[W sobotę o] LT\";default:return\"[W] dddd [o] LT\"}},lastDay:\"[Wczoraj o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[W zeszłą niedzielę o] LT\";case 3:return\"[W zeszłą środę o] LT\";case 6:return\"[W zeszłą sobotę o] LT\";default:return\"[W zeszły] dddd [o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"%s temu\",s:\"kilka sekund\",ss:n,m:n,mm:n,h:n,hh:n,d:\"1 dzień\",dd:\"%d dni\",M:\"miesiąc\",MM:n,y:\"rok\",yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"pt-br\",{months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),weekdays:\"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_Sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),\nweekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] HH:mm\"},calendar:{sameDay:\"[Hoje às] LT\",nextDay:\"[Amanhã às] LT\",nextWeek:\"dddd [às] LT\",lastDay:\"[Ontem às] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[Último] dddd [às] LT\":\"[Última] dddd [às] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"poucos segundos\",ss:\"%d segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\"});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"pt\",{months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),weekdays:\"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_Sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY HH:mm\"},calendar:{sameDay:\"[Hoje às] LT\",nextDay:\"[Amanhã às] LT\",nextWeek:\"dddd [às] LT\",lastDay:\"[Ontem às] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[Último] dddd [às] LT\":\"[Última] dddd [às] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"segundos\",ss:\"%d segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r={ss:\"secunde\",mm:\"minute\",hh:\"ore\",dd:\"zile\",MM:\"luni\",yy:\"ani\"},o=\" \";return(e%100>=20||e>=100&&e%100===0)&&(o=\" de \"),e+o+r[n]}var n=e.defineLocale(\"ro\",{months:\"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie\".split(\"_\"),monthsShort:\"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"duminică_luni_marți_miercuri_joi_vineri_sâmbătă\".split(\"_\"),weekdaysShort:\"Dum_Lun_Mar_Mie_Joi_Vin_Sâm\".split(\"_\"),weekdaysMin:\"Du_Lu_Ma_Mi_Jo_Vi_Sâ\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[azi la] LT\",nextDay:\"[mâine la] LT\",nextWeek:\"dddd [la] LT\",lastDay:\"[ieri la] LT\",lastWeek:\"[fosta] dddd [la] LT\",sameElse:\"L\"},relativeTime:{future:\"peste %s\",past:\"%s în urmă\",s:\"câteva secunde\",ss:t,m:\"un minut\",mm:t,h:\"o oră\",hh:t,d:\"o zi\",dd:t,M:\"o lună\",MM:t,y:\"un an\",yy:t},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t){var n=e.split(\"_\");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?\"секунда_секунды_секунд\":\"секунду_секунды_секунд\",mm:n?\"минута_минуты_минут\":\"минуту_минуты_минут\",hh:\"час_часа_часов\",dd:\"день_дня_дней\",MM:\"месяц_месяца_месяцев\",yy:\"год_года_лет\"};return\"m\"===r?n?\"минута\":\"минуту\":e+\" \"+t(o[r],+e)}var r=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],o=e.defineLocale(\"ru\",{months:{format:\"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\".split(\"_\"),standalone:\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\")},monthsShort:{format:\"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.\".split(\"_\"),standalone:\"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.\".split(\"_\")},weekdays:{standalone:\"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота\".split(\"_\"),format:\"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу\".split(\"_\"),isFormat:/\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/},weekdaysShort:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),weekdaysMin:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,monthsRegex:/^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,monthsShortRegex:/^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., H:mm\",LLLL:\"dddd, D MMMM YYYY г., H:mm\"},calendar:{sameDay:\"[Сегодня, в] LT\",nextDay:\"[Завтра, в] LT\",lastDay:\"[Вчера, в] LT\",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?\"[Во] dddd, [в] LT\":\"[В] dddd, [в] LT\";switch(this.day()){case 0:return\"[В следующее] dddd, [в] LT\";case 1:case 2:case 4:return\"[В следующий] dddd, [в] LT\";case 3:case 5:case 6:return\"[В следующую] dddd, [в] LT\"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?\"[Во] dddd, [в] LT\":\"[В] dddd, [в] LT\";switch(this.day()){case 0:return\"[В прошлое] dddd, [в] LT\";case 1:case 2:case 4:return\"[В прошлый] dddd, [в] LT\";case 3:case 5:case 6:return\"[В прошлую] dddd, [в] LT\"}},sameElse:\"L\"},relativeTime:{future:\"через %s\",past:\"%s назад\",s:\"несколько секунд\",ss:n,m:n,mm:n,h:\"час\",hh:n,d:\"день\",dd:n,M:\"месяц\",MM:n,y:\"год\",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?\"ночи\":e<12?\"утра\":e<17?\"дня\":\"вечера\"},dayOfMonthOrdinalParse:/\\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case\"M\":case\"d\":case\"DDD\":return e+\"-й\";case\"D\":return e+\"-го\";case\"w\":case\"W\":return e+\"-я\";default:return e}},week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"جنوري\",\"فيبروري\",\"مارچ\",\"اپريل\",\"مئي\",\"جون\",\"جولاءِ\",\"آگسٽ\",\"سيپٽمبر\",\"آڪٽوبر\",\"نومبر\",\"ڊسمبر\"],n=[\"آچر\",\"سومر\",\"اڱارو\",\"اربع\",\"خميس\",\"جمع\",\"ڇنڇر\"],r=e.defineLocale(\"sd\",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd، D MMMM YYYY HH:mm\"},meridiemParse:/صبح|شام/,isPM:function(e){return\"شام\"===e},meridiem:function(e,t,n){return e<12?\"صبح\":\"شام\"},calendar:{sameDay:\"[اڄ] LT\",nextDay:\"[سڀاڻي] LT\",nextWeek:\"dddd [اڳين هفتي تي] LT\",lastDay:\"[ڪالهه] LT\",lastWeek:\"[گزريل هفتي] dddd [تي] LT\",sameElse:\"L\"},relativeTime:{future:\"%s پوء\",past:\"%s اڳ\",s:\"چند سيڪنڊ\",ss:\"%d سيڪنڊ\",m:\"هڪ منٽ\",mm:\"%d منٽ\",h:\"هڪ ڪلاڪ\",hh:\"%d ڪلاڪ\",d:\"هڪ ڏينهن\",dd:\"%d ڏينهن\",M:\"هڪ مهينو\",MM:\"%d مهينا\",y:\"هڪ سال\",yy:\"%d سال\"},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"se\",{months:\"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu\".split(\"_\"),monthsShort:\"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov\".split(\"_\"),weekdays:\"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat\".split(\"_\"),weekdaysShort:\"sotn_vuos_maŋ_gask_duor_bear_láv\".split(\"_\"),weekdaysMin:\"s_v_m_g_d_b_L\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"MMMM D. [b.] YYYY\",LLL:\"MMMM D. [b.] YYYY [ti.] HH:mm\",LLLL:\"dddd, MMMM D. [b.] YYYY [ti.] HH:mm\"},calendar:{sameDay:\"[otne ti] LT\",nextDay:\"[ihttin ti] LT\",nextWeek:\"dddd [ti] LT\",lastDay:\"[ikte ti] LT\",lastWeek:\"[ovddit] dddd [ti] LT\",sameElse:\"L\"},relativeTime:{future:\"%s geažes\",past:\"maŋit %s\",s:\"moadde sekunddat\",ss:\"%d sekunddat\",m:\"okta minuhta\",mm:\"%d minuhtat\",h:\"okta diimmu\",hh:\"%d diimmut\",d:\"okta beaivi\",dd:\"%d beaivvit\",M:\"okta mánnu\",MM:\"%d mánut\",y:\"okta jahki\",yy:\"%d jagit\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"si\",{months:\"ජනවාරි_පෙබරවාරි_මාර්තු_අප්\u200dරේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්\".split(\"_\"),monthsShort:\"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ\".split(\"_\"),weekdays:\"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්\u200dරහස්පතින්දා_සිකුරාදා_සෙනසුරාදා\".split(\"_\"),weekdaysShort:\"ඉරි_සඳු_අඟ_බදා_බ්\u200dරහ_සිකු_සෙන\".split(\"_\"),weekdaysMin:\"ඉ_ස_අ_බ_බ්\u200dර_සි_සෙ\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"a h:mm\",LTS:\"a h:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY MMMM D\",LLL:\"YYYY MMMM D, a h:mm\",LLLL:\"YYYY MMMM D [වැනි] dddd, a h:mm:ss\"},calendar:{sameDay:\"[අද] LT[ට]\",nextDay:\"[හෙට] LT[ට]\",nextWeek:\"dddd LT[ට]\",lastDay:\"[ඊයේ] LT[ට]\",lastWeek:\"[පසුගිය] dddd LT[ට]\",sameElse:\"L\"},relativeTime:{future:\"%sකින්\",past:\"%sකට පෙර\",s:\"තත්පර කිහිපය\",ss:\"තත්පර %d\",m:\"මිනිත්තුව\",mm:\"මිනිත්තු %d\",h:\"පැය\",hh:\"පැය %d\",d:\"දිනය\",dd:\"දින %d\",M:\"මාසය\",MM:\"මාස %d\",y:\"වසර\",yy:\"වසර %d\"},dayOfMonthOrdinalParse:/\\d{1,2} වැනි/,ordinal:function(e){return e+\" වැනි\"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return\"ප.ව.\"===e||\"පස් වරු\"===e},meridiem:function(e,t,n){return e>11?n?\"ප.ව.\":\"පස් වරු\":n?\"පෙ.ව.\":\"පෙර වරු\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e>1&&e<5}function n(e,n,r,o){var i=e+\" \";switch(r){case\"s\":return n||o?\"pár sekúnd\":\"pár sekundami\";case\"ss\":return n||o?i+(t(e)?\"sekundy\":\"sekúnd\"):i+\"sekundami\";case\"m\":return n?\"minúta\":o?\"minútu\":\"minútou\";case\"mm\":return n||o?i+(t(e)?\"minúty\":\"minút\"):i+\"minútami\";case\"h\":return n?\"hodina\":o?\"hodinu\":\"hodinou\";case\"hh\":return n||o?i+(t(e)?\"hodiny\":\"hodín\"):i+\"hodinami\";case\"d\":return n||o?\"deň\":\"dňom\";case\"dd\":return n||o?i+(t(e)?\"dni\":\"dní\"):i+\"dňami\";case\"M\":return n||o?\"mesiac\":\"mesiacom\";case\"MM\":return n||o?i+(t(e)?\"mesiace\":\"mesiacov\"):i+\"mesiacmi\";case\"y\":return n||o?\"rok\":\"rokom\";case\"yy\":return n||o?i+(t(e)?\"roky\":\"rokov\"):i+\"rokmi\"}}var r=\"január_február_marec_apríl_máj_jún_júl_august_september_október_november_december\".split(\"_\"),o=\"jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec\".split(\"_\"),i=e.defineLocale(\"sk\",{months:r,monthsShort:o,weekdays:\"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota\".split(\"_\"),weekdaysShort:\"ne_po_ut_st_št_pi_so\".split(\"_\"),weekdaysMin:\"ne_po_ut_st_št_pi_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[dnes o] LT\",nextDay:\"[zajtra o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v nedeľu o] LT\";case 1:case 2:return\"[v] dddd [o] LT\";case 3:return\"[v stredu o] LT\";case 4:return\"[vo štvrtok o] LT\";case 5:return\"[v piatok o] LT\";case 6:return\"[v sobotu o] LT\"}},lastDay:\"[včera o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulú nedeľu o] LT\";case 1:case 2:return\"[minulý] dddd [o] LT\";case 3:return\"[minulú stredu o] LT\";case 4:case 5:return\"[minulý] dddd [o] LT\";case 6:return\"[minulú sobotu o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pred %s\",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o=e+\" \";switch(n){case\"s\":return t||r?\"nekaj sekund\":\"nekaj sekundami\";case\"ss\":return o+=1===e?t?\"sekundo\":\"sekundi\":2===e?t||r?\"sekundi\":\"sekundah\":e<5?t||r?\"sekunde\":\"sekundah\":\"sekund\";case\"m\":return t?\"ena minuta\":\"eno minuto\";case\"mm\":return o+=1===e?t?\"minuta\":\"minuto\":2===e?t||r?\"minuti\":\"minutama\":e<5?t||r?\"minute\":\"minutami\":t||r?\"minut\":\"minutami\";case\"h\":return t?\"ena ura\":\"eno uro\";case\"hh\":return o+=1===e?t?\"ura\":\"uro\":2===e?t||r?\"uri\":\"urama\":e<5?t||r?\"ure\":\"urami\":t||r?\"ur\":\"urami\";case\"d\":return t||r?\"en dan\":\"enim dnem\";case\"dd\":return o+=1===e?t||r?\"dan\":\"dnem\":2===e?t||r?\"dni\":\"dnevoma\":t||r?\"dni\":\"dnevi\";case\"M\":return t||r?\"en mesec\":\"enim mesecem\";case\"MM\":return o+=1===e?t||r?\"mesec\":\"mesecem\":2===e?t||r?\"meseca\":\"mesecema\":e<5?t||r?\"mesece\":\"meseci\":t||r?\"mesecev\":\"meseci\";case\"y\":return t||r?\"eno leto\":\"enim letom\";case\"yy\":return o+=1===e?t||r?\"leto\":\"letom\":2===e?t||r?\"leti\":\"letoma\":e<5?t||r?\"leta\":\"leti\":t||r?\"let\":\"leti\"}}var n=e.defineLocale(\"sl\",{months:\"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota\".split(\"_\"),weekdaysShort:\"ned._pon._tor._sre._čet._pet._sob.\".split(\"_\"),weekdaysMin:\"ne_po_to_sr_če_pe_so\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danes ob] LT\",nextDay:\"[jutri ob] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v] [nedeljo] [ob] LT\";case 3:return\"[v] [sredo] [ob] LT\";case 6:return\"[v] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[v] dddd [ob] LT\"}},lastDay:\"[včeraj ob] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[prejšnjo] [nedeljo] [ob] LT\";case 3:return\"[prejšnjo] [sredo] [ob] LT\";case 6:return\"[prejšnjo] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[prejšnji] dddd [ob] LT\"}},sameElse:\"L\"},relativeTime:{future:\"čez %s\",past:\"pred %s\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"sq\",{months:\"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor\".split(\"_\"),monthsShort:\"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj\".split(\"_\"),weekdays:\"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë\".split(\"_\"),weekdaysShort:\"Die_Hën_Mar_Mër_Enj_Pre_Sht\".split(\"_\"),weekdaysMin:\"D_H_Ma_Më_E_P_Sh\".split(\"_\"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return\"M\"===e.charAt(0)},meridiem:function(e,t,n){return e<12?\"PD\":\"MD\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Sot në] LT\",nextDay:\"[Nesër në] LT\",nextWeek:\"dddd [në] LT\",lastDay:\"[Dje në] LT\",lastWeek:\"dddd [e kaluar në] LT\",sameElse:\"L\"},relativeTime:{future:\"në %s\",past:\"%s më parë\",s:\"disa sekonda\",ss:\"%d sekonda\",m:\"një minutë\",mm:\"%d minuta\",h:\"një orë\",hh:\"%d orë\",d:\"një ditë\",dd:\"%d ditë\",M:\"një muaj\",MM:\"%d muaj\",y:\"një vit\",yy:\"%d vite\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={words:{ss:[\"секунда\",\"секунде\",\"секунди\"],m:[\"један минут\",\"једне минуте\"],mm:[\"минут\",\"минуте\",\"минута\"],h:[\"један сат\",\"једног сата\"],hh:[\"сат\",\"сата\",\"сати\"],dd:[\"дан\",\"дана\",\"дана\"],MM:[\"месец\",\"месеца\",\"месеци\"],yy:[\"година\",\"године\",\"година\"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var o=t.words[r];return 1===r.length?n?o[0]:o[1]:e+\" \"+t.correctGrammaticalCase(e,o)}},n=e.defineLocale(\"sr-cyrl\",{months:\"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар\".split(\"_\"),monthsShort:\"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.\".split(\"_\"),monthsParseExact:!0,weekdays:\"недеља_понедељак_уторак_среда_четвртак_петак_субота\".split(\"_\"),weekdaysShort:\"нед._пон._уто._сре._чет._пет._суб.\".split(\"_\"),weekdaysMin:\"не_по_ут_ср_че_пе_су\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[данас у] LT\",nextDay:\"[сутра у] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[у] [недељу] [у] LT\";case 3:return\"[у] [среду] [у] LT\";case 6:return\"[у] [суботу] [у] LT\";case 1:case 2:case 4:case 5:return\"[у] dddd [у] LT\"}},lastDay:\"[јуче у] LT\",lastWeek:function(){var e=[\"[прошле] [недеље] [у] LT\",\"[прошлог] [понедељка] [у] LT\",\"[прошлог] [уторка] [у] LT\",\"[прошле] [среде] [у] LT\",\"[прошлог] [четвртка] [у] LT\",\"[прошлог] [петка] [у] LT\",\"[прошле] [суботе] [у] LT\"];return e[this.day()]},sameElse:\"L\"},relativeTime:{future:\"за %s\",past:\"пре %s\",s:\"неколико секунди\",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:\"дан\",dd:t.translate,M:\"месец\",MM:t.translate,y:\"годину\",yy:t.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={words:{ss:[\"sekunda\",\"sekunde\",\"sekundi\"],m:[\"jedan minut\",\"jedne minute\"],mm:[\"minut\",\"minute\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mesec\",\"meseca\",\"meseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var o=t.words[r];return 1===r.length?n?o[0]:o[1]:e+\" \"+t.correctGrammaticalCase(e,o)}},n=e.defineLocale(\"sr\",{months:\"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sre._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedelju] [u] LT\";case 3:return\"[u] [sredu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[juče u] LT\",lastWeek:function(){var e=[\"[prošle] [nedelje] [u] LT\",\"[prošlog] [ponedeljka] [u] LT\",\"[prošlog] [utorka] [u] LT\",\"[prošle] [srede] [u] LT\",\"[prošlog] [četvrtka] [u] LT\",\"[prošlog] [petka] [u] LT\",\"[prošle] [subote] [u] LT\"];return e[this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pre %s\",s:\"nekoliko sekundi\",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:\"dan\",dd:t.translate,M:\"mesec\",MM:t.translate,y:\"godinu\",yy:t.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ss\",{months:\"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\"_\"),monthsShort:\"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo\".split(\"_\"),weekdays:\"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo\".split(\"_\"),weekdaysShort:\"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg\".split(\"_\"),weekdaysMin:\"Li_Us_Lb_Lt_Ls_Lh_Ug\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Namuhla nga] LT\",nextDay:\"[Kusasa nga] LT\",nextWeek:\"dddd [nga] LT\",lastDay:\"[Itolo nga] LT\",lastWeek:\"dddd [leliphelile] [nga] LT\",sameElse:\"L\"},relativeTime:{future:\"nga %s\",past:\"wenteka nga %s\",s:\"emizuzwana lomcane\",ss:\"%d mzuzwana\",m:\"umzuzu\",mm:\"%d emizuzu\",h:\"lihora\",hh:\"%d emahora\",d:\"lilanga\",dd:\"%d emalanga\",M:\"inyanga\",MM:\"%d tinyanga\",y:\"umnyaka\",yy:\"%d iminyaka\"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?\"ekuseni\":e<15?\"emini\":e<19?\"entsambama\":\"ebusuku\"},meridiemHour:function(e,t){return 12===e&&(e=0),\"ekuseni\"===t?e:\"emini\"===t?e>=11?e:e+12:\"entsambama\"===t||\"ebusuku\"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:\"%d\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"sv\",{months:\"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag\".split(\"_\"),weekdaysShort:\"sön_mån_tis_ons_tor_fre_lör\".split(\"_\"),weekdaysMin:\"sö_må_ti_on_to_fr_lö\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D MMMM YYYY [kl.] HH:mm\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd D MMM YYYY HH:mm\"},calendar:{sameDay:\"[Idag] LT\",nextDay:\"[Imorgon] LT\",lastDay:\"[Igår] LT\",nextWeek:\"[På] dddd LT\",lastWeek:\"[I] dddd[s] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"för %s sedan\",s:\"några sekunder\",ss:\"%d sekunder\",m:\"en minut\",mm:\"%d minuter\",h:\"en timme\",hh:\"%d timmar\",d:\"en dag\",dd:\"%d dagar\",M:\"en månad\",MM:\"%d månader\",y:\"ett år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}(e|a)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"e\":1===t?\"a\":2===t?\"a\":\"e\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"sw\",{months:\"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi\".split(\"_\"),weekdaysShort:\"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos\".split(\"_\"),weekdaysMin:\"J2_J3_J4_J5_Al_Ij_J1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[leo saa] LT\",nextDay:\"[kesho saa] LT\",nextWeek:\"[wiki ijayo] dddd [saat] LT\",lastDay:\"[jana] LT\",lastWeek:\"[wiki iliyopita] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s baadaye\",past:\"tokea %s\",s:\"hivi punde\",ss:\"sekunde %d\",m:\"dakika moja\",mm:\"dakika %d\",h:\"saa limoja\",hh:\"masaa %d\",d:\"siku moja\",dd:\"masiku %d\",M:\"mwezi mmoja\",MM:\"miezi %d\",y:\"mwaka mmoja\",yy:\"miaka %d\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"௧\",2:\"௨\",3:\"௩\",4:\"௪\",5:\"௫\",6:\"௬\",7:\"௭\",8:\"௮\",9:\"௯\",0:\"௦\"},n={\"௧\":\"1\",\"௨\":\"2\",\"௩\":\"3\",\"௪\":\"4\",\"௫\":\"5\",\"௬\":\"6\",\"௭\":\"7\",\"௮\":\"8\",\"௯\":\"9\",\"௦\":\"0\"},r=e.defineLocale(\"ta\",{months:\"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்\".split(\"_\"),monthsShort:\"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்\".split(\"_\"),weekdays:\"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை\".split(\"_\"),weekdaysShort:\"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி\".split(\"_\"),weekdaysMin:\"ஞா_தி_செ_பு_வி_வெ_ச\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, HH:mm\",LLLL:\"dddd, D MMMM YYYY, HH:mm\"},calendar:{sameDay:\"[இன்று] LT\",nextDay:\"[நாளை] LT\",nextWeek:\"dddd, LT\",lastDay:\"[நேற்று] LT\",lastWeek:\"[கடந்த வாரம்] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s இல்\",past:\"%s முன்\",s:\"ஒரு சில விநாடிகள்\",ss:\"%d விநாடிகள்\",m:\"ஒரு நிமிடம்\",mm:\"%d நிமிடங்கள்\",h:\"ஒரு மணி நேரம்\",hh:\"%d மணி நேரம்\",d:\"ஒரு நாள்\",dd:\"%d நாட்கள்\",M:\"ஒரு மாதம்\",MM:\"%d மாதங்கள்\",y:\"ஒரு வருடம்\",yy:\"%d ஆண்டுகள்\"},dayOfMonthOrdinalParse:/\\d{1,2}வது/,ordinal:function(e){return e+\"வது\"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?\" யாமம்\":e<6?\" வைகறை\":e<10?\" காலை\":e<14?\" நண்பகல்\":e<18?\" எற்பாடு\":e<22?\" மாலை\":\" யாமம்\"},meridiemHour:function(e,t){return 12===e&&(e=0),\"யாமம்\"===t?e<2?e:e+12:\"வைகறை\"===t||\"காலை\"===t?e:\"நண்பகல்\"===t&&e>=10?e:e+12},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"te\",{months:\"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్\".split(\"_\"),monthsShort:\"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.\".split(\"_\"),monthsParseExact:!0,weekdays:\"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం\".split(\"_\"),weekdaysShort:\"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని\".split(\"_\"),weekdaysMin:\"ఆ_సో_మం_బు_గు_శు_శ\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[నేడు] LT\",nextDay:\"[రేపు] LT\",nextWeek:\"dddd, LT\",lastDay:\"[నిన్న] LT\",lastWeek:\"[గత] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s లో\",past:\"%s క్రితం\",s:\"కొన్ని క్షణాలు\",ss:\"%d సెకన్లు\",m:\"ఒక నిమిషం\",mm:\"%d నిమిషాలు\",h:\"ఒక గంట\",hh:\"%d గంటలు\",d:\"ఒక రోజు\",dd:\"%d రోజులు\",M:\"ఒక నెల\",MM:\"%d నెలలు\",y:\"ఒక సంవత్సరం\",yy:\"%d సంవత్సరాలు\"},dayOfMonthOrdinalParse:/\\d{1,2}వ/,ordinal:\"%dవ\",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),\"రాత్రి\"===t?e<4?e:e+12:\"ఉదయం\"===t?e:\"మధ్యాహ్నం\"===t?e>=10?e:e+12:\"సాయంత్రం\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"రాత్రి\":e<10?\"ఉదయం\":e<17?\"మధ్యాహ్నం\":e<20?\"సాయంత్రం\":\"రాత్రి\"},week:{dow:0,doy:6}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tet\",{months:\"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ters_Kua_Kint_Sest_Sab\".split(\"_\"),weekdaysMin:\"Do_Seg_Te_Ku_Ki_Ses_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Ohin iha] LT\",nextDay:\"[Aban iha] LT\",nextWeek:\"dddd [iha] LT\",lastDay:\"[Horiseik iha] LT\",lastWeek:\"dddd [semana kotuk] [iha] LT\",sameElse:\"L\"},relativeTime:{future:\"iha %s\",past:\"%s liuba\",s:\"minutu balun\",ss:\"minutu %d\",m:\"minutu ida\",mm:\"minutu %d\",h:\"oras ida\",hh:\"oras %d\",d:\"loron ida\",dd:\"loron %d\",M:\"fulan ida\",MM:\"fulan %d\",y:\"tinan ida\",yy:\"tinan %d\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={0:\"-ум\",1:\"-ум\",2:\"-юм\",3:\"-юм\",4:\"-ум\",5:\"-ум\",6:\"-ум\",7:\"-ум\",8:\"-ум\",9:\"-ум\",10:\"-ум\",12:\"-ум\",13:\"-ум\",20:\"-ум\",30:\"-юм\",40:\"-ум\",50:\"-ум\",60:\"-ум\",70:\"-ум\",80:\"-ум\",90:\"-ум\",100:\"-ум\"},n=e.defineLocale(\"tg\",{months:\"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр\".split(\"_\"),monthsShort:\"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе\".split(\"_\"),weekdaysShort:\"яшб_дшб_сшб_чшб_пшб_ҷум_шнб\".split(\"_\"),weekdaysMin:\"яш_дш_сш_чш_пш_ҷм_шб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Имрӯз соати] LT\",nextDay:\"[Пагоҳ соати] LT\",lastDay:\"[Дирӯз соати] LT\",nextWeek:\"dddd[и] [ҳафтаи оянда соати] LT\",lastWeek:\"dddd[и] [ҳафтаи гузашта соати] LT\",sameElse:\"L\"},relativeTime:{future:\"баъди %s\",past:\"%s пеш\",s:\"якчанд сония\",m:\"як дақиқа\",mm:\"%d дақиқа\",h:\"як соат\",hh:\"%d соат\",d:\"як рӯз\",dd:\"%d рӯз\",M:\"як моҳ\",MM:\"%d моҳ\",y:\"як сол\",yy:\"%d сол\"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"шаб\"===t?e<4?e:e+12:\"субҳ\"===t?e:\"рӯз\"===t?e>=11?e:e+12:\"бегоҳ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"шаб\":e<11?\"субҳ\":e<16?\"рӯз\":e<19?\"бегоҳ\":\"шаб\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ум|юм)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"th\",{months:\"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม\".split(\"_\"),monthsShort:\"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.\".split(\"_\"),monthsParseExact:!0,weekdays:\"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์\".split(\"_\"),weekdaysShort:\"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์\".split(\"_\"),weekdaysMin:\"อา._จ._อ._พ._พฤ._ศ._ส.\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY เวลา H:mm\",LLLL:\"วันddddที่ D MMMM YYYY เวลา H:mm\"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return\"หลังเที่ยง\"===e},meridiem:function(e,t,n){return e<12?\"ก่อนเที่ยง\":\"หลังเที่ยง\"},calendar:{sameDay:\"[วันนี้ เวลา] LT\",nextDay:\"[พรุ่งนี้ เวลา] LT\",nextWeek:\"dddd[หน้า เวลา] LT\",lastDay:\"[เมื่อวานนี้ เวลา] LT\",lastWeek:\"[วัน]dddd[ที่แล้ว เวลา] LT\",sameElse:\"L\"},relativeTime:{future:\"อีก %s\",past:\"%sที่แล้ว\",s:\"ไม่กี่วินาที\",ss:\"%d วินาที\",m:\"1 นาที\",mm:\"%d นาที\",h:\"1 ชั่วโมง\",hh:\"%d ชั่วโมง\",d:\"1 วัน\",dd:\"%d วัน\",M:\"1 เดือน\",MM:\"%d เดือน\",y:\"1 ปี\",yy:\"%d ปี\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tl-ph\",{months:\"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre\".split(\"_\"),monthsShort:\"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis\".split(\"_\"),weekdays:\"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado\".split(\"_\"),weekdaysShort:\"Lin_Lun_Mar_Miy_Huw_Biy_Sab\".split(\"_\"),weekdaysMin:\"Li_Lu_Ma_Mi_Hu_Bi_Sab\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"MM/D/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY HH:mm\",LLLL:\"dddd, MMMM DD, YYYY HH:mm\"},calendar:{sameDay:\"LT [ngayong araw]\",nextDay:\"[Bukas ng] LT\",nextWeek:\"LT [sa susunod na] dddd\",lastDay:\"LT [kahapon]\",lastWeek:\"LT [noong nakaraang] dddd\",sameElse:\"L\"},relativeTime:{future:\"sa loob ng %s\",past:\"%s ang nakalipas\",s:\"ilang segundo\",ss:\"%d segundo\",m:\"isang minuto\",mm:\"%d minuto\",h:\"isang oras\",hh:\"%d oras\",d:\"isang araw\",dd:\"%d araw\",M:\"isang buwan\",MM:\"%d buwan\",y:\"isang taon\",yy:\"%d taon\"},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){var t=e;return t=e.indexOf(\"jaj\")!==-1?t.slice(0,-3)+\"leS\":e.indexOf(\"jar\")!==-1?t.slice(0,-3)+\"waQ\":e.indexOf(\"DIS\")!==-1?t.slice(0,-3)+\"nem\":t+\" pIq\"}function n(e){var t=e;return t=e.indexOf(\"jaj\")!==-1?t.slice(0,-3)+\"Hu’\":e.indexOf(\"jar\")!==-1?t.slice(0,-3)+\"wen\":e.indexOf(\"DIS\")!==-1?t.slice(0,-3)+\"ben\":t+\" ret\"}function r(e,t,n,r){var i=o(e);switch(n){case\"ss\":return i+\" lup\";case\"mm\":return i+\" tup\";case\"hh\":return i+\" rep\";case\"dd\":return i+\" jaj\";case\"MM\":return i+\" jar\";case\"yy\":return i+\" DIS\"}}function o(e){var t=Math.floor(e%1e3/100),n=Math.floor(e%100/10),r=e%10,o=\"\";return t>0&&(o+=i[t]+\"vatlh\"),n>0&&(o+=(\"\"!==o?\" \":\"\")+i[n]+\"maH\"),r>0&&(o+=(\"\"!==o?\" \":\"\")+i[r]),\"\"===o?\"pagh\":o}var i=\"pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut\".split(\"_\"),a=e.defineLocale(\"tlh\",{months:\"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’\".split(\"_\"),monthsShort:\"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’\".split(\"_\"),\nmonthsParseExact:!0,weekdays:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),weekdaysShort:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),weekdaysMin:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[DaHjaj] LT\",nextDay:\"[wa’leS] LT\",nextWeek:\"LLL\",lastDay:\"[wa’Hu’] LT\",lastWeek:\"LLL\",sameElse:\"L\"},relativeTime:{future:t,past:n,s:\"puS lup\",ss:r,m:\"wa’ tup\",mm:r,h:\"wa’ rep\",hh:r,d:\"wa’ jaj\",dd:r,M:\"wa’ jar\",MM:r,y:\"wa’ DIS\",yy:r},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"'inci\",5:\"'inci\",8:\"'inci\",70:\"'inci\",80:\"'inci\",2:\"'nci\",7:\"'nci\",20:\"'nci\",50:\"'nci\",3:\"'üncü\",4:\"'üncü\",100:\"'üncü\",6:\"'ncı\",9:\"'uncu\",10:\"'uncu\",30:\"'uncu\",60:\"'ıncı\",90:\"'ıncı\"},n=e.defineLocale(\"tr\",{months:\"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık\".split(\"_\"),monthsShort:\"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara\".split(\"_\"),weekdays:\"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi\".split(\"_\"),weekdaysShort:\"Paz_Pts_Sal_Çar_Per_Cum_Cts\".split(\"_\"),weekdaysMin:\"Pz_Pt_Sa_Ça_Pe_Cu_Ct\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[bugün saat] LT\",nextDay:\"[yarın saat] LT\",nextWeek:\"[gelecek] dddd [saat] LT\",lastDay:\"[dün] LT\",lastWeek:\"[geçen] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s önce\",s:\"birkaç saniye\",ss:\"%d saniye\",m:\"bir dakika\",mm:\"%d dakika\",h:\"bir saat\",hh:\"%d saat\",d:\"bir gün\",dd:\"%d gün\",M:\"bir ay\",MM:\"%d ay\",y:\"bir yıl\",yy:\"%d yıl\"},ordinal:function(e,n){switch(n){case\"d\":case\"D\":case\"Do\":case\"DD\":return e;default:if(0===e)return e+\"'ıncı\";var r=e%10,o=e%100-r,i=e>=100?100:null;return e+(t[r]||t[o]||t[i])}},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={s:[\"viensas secunds\",\"'iensas secunds\"],ss:[e+\" secunds\",\"\"+e+\" secunds\"],m:[\"'n míut\",\"'iens míut\"],mm:[e+\" míuts\",\"\"+e+\" míuts\"],h:[\"'n þora\",\"'iensa þora\"],hh:[e+\" þoras\",\"\"+e+\" þoras\"],d:[\"'n ziua\",\"'iensa ziua\"],dd:[e+\" ziuas\",\"\"+e+\" ziuas\"],M:[\"'n mes\",\"'iens mes\"],MM:[e+\" mesen\",\"\"+e+\" mesen\"],y:[\"'n ar\",\"'iens ar\"],yy:[e+\" ars\",\"\"+e+\" ars\"]};return r?o[n][0]:t?o[n][0]:o[n][1]}var n=e.defineLocale(\"tzl\",{months:\"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec\".split(\"_\"),weekdays:\"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi\".split(\"_\"),weekdaysShort:\"Súl_Lún_Mai_Már_Xhú_Vié_Sát\".split(\"_\"),weekdaysMin:\"Sú_Lú_Ma_Má_Xh_Vi_Sá\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM [dallas] YYYY\",LLL:\"D. MMMM [dallas] YYYY HH.mm\",LLLL:\"dddd, [li] D. MMMM [dallas] YYYY HH.mm\"},meridiemParse:/d\\'o|d\\'a/i,isPM:function(e){return\"d'o\"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?\"d'o\":\"D'O\":n?\"d'a\":\"D'A\"},calendar:{sameDay:\"[oxhi à] LT\",nextDay:\"[demà à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[ieiri à] LT\",lastWeek:\"[sür el] dddd [lasteu à] LT\",sameElse:\"L\"},relativeTime:{future:\"osprei %s\",past:\"ja%s\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tzm-latn\",{months:\"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir\".split(\"_\"),monthsShort:\"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir\".split(\"_\"),weekdays:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),weekdaysShort:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),weekdaysMin:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[asdkh g] LT\",nextDay:\"[aska g] LT\",nextWeek:\"dddd [g] LT\",lastDay:\"[assant g] LT\",lastWeek:\"dddd [g] LT\",sameElse:\"L\"},relativeTime:{future:\"dadkh s yan %s\",past:\"yan %s\",s:\"imik\",ss:\"%d imik\",m:\"minuḍ\",mm:\"%d minuḍ\",h:\"saɛa\",hh:\"%d tassaɛin\",d:\"ass\",dd:\"%d ossan\",M:\"ayowr\",MM:\"%d iyyirn\",y:\"asgas\",yy:\"%d isgasn\"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tzm\",{months:\"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ\".split(\"_\"),monthsShort:\"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ\".split(\"_\"),weekdays:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),weekdaysShort:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),weekdaysMin:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[ⴰⵙⴷⵅ ⴴ] LT\",nextDay:\"[ⴰⵙⴽⴰ ⴴ] LT\",nextWeek:\"dddd [ⴴ] LT\",lastDay:\"[ⴰⵚⴰⵏⵜ ⴴ] LT\",lastWeek:\"dddd [ⴴ] LT\",sameElse:\"L\"},relativeTime:{future:\"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s\",past:\"ⵢⴰⵏ %s\",s:\"ⵉⵎⵉⴽ\",ss:\"%d ⵉⵎⵉⴽ\",m:\"ⵎⵉⵏⵓⴺ\",mm:\"%d ⵎⵉⵏⵓⴺ\",h:\"ⵙⴰⵄⴰ\",hh:\"%d ⵜⴰⵙⵙⴰⵄⵉⵏ\",d:\"ⴰⵙⵙ\",dd:\"%d oⵙⵙⴰⵏ\",M:\"ⴰⵢoⵓⵔ\",MM:\"%d ⵉⵢⵢⵉⵔⵏ\",y:\"ⴰⵙⴳⴰⵙ\",yy:\"%d ⵉⵙⴳⴰⵙⵏ\"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ug-cn\",{months:\"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر\".split(\"_\"),monthsShort:\"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر\".split(\"_\"),weekdays:\"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە\".split(\"_\"),weekdaysShort:\"يە_دۈ_سە_چا_پە_جۈ_شە\".split(\"_\"),weekdaysMin:\"يە_دۈ_سە_چا_پە_جۈ_شە\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY-يىلىM-ئاينىڭD-كۈنى\",LLL:\"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm\",LLLL:\"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm\"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"يېرىم كېچە\"===t||\"سەھەر\"===t||\"چۈشتىن بۇرۇن\"===t?e:\"چۈشتىن كېيىن\"===t||\"كەچ\"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"يېرىم كېچە\":r<900?\"سەھەر\":r<1130?\"چۈشتىن بۇرۇن\":r<1230?\"چۈش\":r<1800?\"چۈشتىن كېيىن\":\"كەچ\"},calendar:{sameDay:\"[بۈگۈن سائەت] LT\",nextDay:\"[ئەتە سائەت] LT\",nextWeek:\"[كېلەركى] dddd [سائەت] LT\",lastDay:\"[تۆنۈگۈن] LT\",lastWeek:\"[ئالدىنقى] dddd [سائەت] LT\",sameElse:\"L\"},relativeTime:{future:\"%s كېيىن\",past:\"%s بۇرۇن\",s:\"نەچچە سېكونت\",ss:\"%d سېكونت\",m:\"بىر مىنۇت\",mm:\"%d مىنۇت\",h:\"بىر سائەت\",hh:\"%d سائەت\",d:\"بىر كۈن\",dd:\"%d كۈن\",M:\"بىر ئاي\",MM:\"%d ئاي\",y:\"بىر يىل\",yy:\"%d يىل\"},dayOfMonthOrdinalParse:/\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"-كۈنى\";case\"w\":case\"W\":return e+\"-ھەپتە\";default:return e}},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t){var n=e.split(\"_\");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?\"секунда_секунди_секунд\":\"секунду_секунди_секунд\",mm:n?\"хвилина_хвилини_хвилин\":\"хвилину_хвилини_хвилин\",hh:n?\"година_години_годин\":\"годину_години_годин\",dd:\"день_дні_днів\",MM:\"місяць_місяці_місяців\",yy:\"рік_роки_років\"};return\"m\"===r?n?\"хвилина\":\"хвилину\":\"h\"===r?n?\"година\":\"годину\":e+\" \"+t(o[r],+e)}function r(e,t){var n={nominative:\"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота\".split(\"_\"),accusative:\"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу\".split(\"_\"),genitive:\"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи\".split(\"_\")};if(!e)return n.nominative;var r=/(\\[[ВвУу]\\]) ?dddd/.test(t)?\"accusative\":/\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(t)?\"genitive\":\"nominative\";return n[r][e.day()]}function o(e){return function(){return e+\"о\"+(11===this.hours()?\"б\":\"\")+\"] LT\"}}var i=e.defineLocale(\"uk\",{months:{format:\"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня\".split(\"_\"),standalone:\"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень\".split(\"_\")},monthsShort:\"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд\".split(\"_\"),weekdays:r,weekdaysShort:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),weekdaysMin:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY р.\",LLL:\"D MMMM YYYY р., HH:mm\",LLLL:\"dddd, D MMMM YYYY р., HH:mm\"},calendar:{sameDay:o(\"[Сьогодні \"),nextDay:o(\"[Завтра \"),lastDay:o(\"[Вчора \"),nextWeek:o(\"[У] dddd [\"),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return o(\"[Минулої] dddd [\").call(this);case 1:case 2:case 4:return o(\"[Минулого] dddd [\").call(this)}},sameElse:\"L\"},relativeTime:{future:\"за %s\",past:\"%s тому\",s:\"декілька секунд\",ss:n,m:n,mm:n,h:\"годину\",hh:n,d:\"день\",dd:n,M:\"місяць\",MM:n,y:\"рік\",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?\"ночі\":e<12?\"ранку\":e<17?\"дня\":\"вечора\"},dayOfMonthOrdinalParse:/\\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return e+\"-й\";case\"D\":return e+\"-го\";default:return e}},week:{dow:1,doy:7}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"جنوری\",\"فروری\",\"مارچ\",\"اپریل\",\"مئی\",\"جون\",\"جولائی\",\"اگست\",\"ستمبر\",\"اکتوبر\",\"نومبر\",\"دسمبر\"],n=[\"اتوار\",\"پیر\",\"منگل\",\"بدھ\",\"جمعرات\",\"جمعہ\",\"ہفتہ\"],r=e.defineLocale(\"ur\",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd، D MMMM YYYY HH:mm\"},meridiemParse:/صبح|شام/,isPM:function(e){return\"شام\"===e},meridiem:function(e,t,n){return e<12?\"صبح\":\"شام\"},calendar:{sameDay:\"[آج بوقت] LT\",nextDay:\"[کل بوقت] LT\",nextWeek:\"dddd [بوقت] LT\",lastDay:\"[گذشتہ روز بوقت] LT\",lastWeek:\"[گذشتہ] dddd [بوقت] LT\",sameElse:\"L\"},relativeTime:{future:\"%s بعد\",past:\"%s قبل\",s:\"چند سیکنڈ\",ss:\"%d سیکنڈ\",m:\"ایک منٹ\",mm:\"%d منٹ\",h:\"ایک گھنٹہ\",hh:\"%d گھنٹے\",d:\"ایک دن\",dd:\"%d دن\",M:\"ایک ماہ\",MM:\"%d ماہ\",y:\"ایک سال\",yy:\"%d سال\"},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"uz-latn\",{months:\"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr\".split(\"_\"),monthsShort:\"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek\".split(\"_\"),weekdays:\"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba\".split(\"_\"),weekdaysShort:\"Yak_Dush_Sesh_Chor_Pay_Jum_Shan\".split(\"_\"),weekdaysMin:\"Ya_Du_Se_Cho_Pa_Ju_Sha\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"D MMMM YYYY, dddd HH:mm\"},calendar:{sameDay:\"[Bugun soat] LT [da]\",nextDay:\"[Ertaga] LT [da]\",nextWeek:\"dddd [kuni soat] LT [da]\",lastDay:\"[Kecha soat] LT [da]\",lastWeek:\"[O'tgan] dddd [kuni soat] LT [da]\",sameElse:\"L\"},relativeTime:{future:\"Yaqin %s ichida\",past:\"Bir necha %s oldin\",s:\"soniya\",ss:\"%d soniya\",m:\"bir daqiqa\",mm:\"%d daqiqa\",h:\"bir soat\",hh:\"%d soat\",d:\"bir kun\",dd:\"%d kun\",M:\"bir oy\",MM:\"%d oy\",y:\"bir yil\",yy:\"%d yil\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"uz\",{months:\"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр\".split(\"_\"),monthsShort:\"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба\".split(\"_\"),weekdaysShort:\"Якш_Душ_Сеш_Чор_Пай_Жум_Шан\".split(\"_\"),weekdaysMin:\"Як_Ду_Се_Чо_Па_Жу_Ша\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"D MMMM YYYY, dddd HH:mm\"},calendar:{sameDay:\"[Бугун соат] LT [да]\",nextDay:\"[Эртага] LT [да]\",nextWeek:\"dddd [куни соат] LT [да]\",lastDay:\"[Кеча соат] LT [да]\",lastWeek:\"[Утган] dddd [куни соат] LT [да]\",sameElse:\"L\"},relativeTime:{future:\"Якин %s ичида\",past:\"Бир неча %s олдин\",s:\"фурсат\",ss:\"%d фурсат\",m:\"бир дакика\",mm:\"%d дакика\",h:\"бир соат\",hh:\"%d соат\",d:\"бир кун\",dd:\"%d кун\",M:\"бир ой\",MM:\"%d ой\",y:\"бир йил\",yy:\"%d йил\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"vi\",{months:\"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12\".split(\"_\"),monthsShort:\"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12\".split(\"_\"),monthsParseExact:!0,weekdays:\"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy\".split(\"_\"),weekdaysShort:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysMin:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?\"sa\":\"SA\":n?\"ch\":\"CH\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [năm] YYYY\",LLL:\"D MMMM [năm] YYYY HH:mm\",LLLL:\"dddd, D MMMM [năm] YYYY HH:mm\",l:\"DD/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd, D MMM YYYY HH:mm\"},calendar:{sameDay:\"[Hôm nay lúc] LT\",nextDay:\"[Ngày mai lúc] LT\",nextWeek:\"dddd [tuần tới lúc] LT\",lastDay:\"[Hôm qua lúc] LT\",lastWeek:\"dddd [tuần rồi lúc] LT\",sameElse:\"L\"},relativeTime:{future:\"%s tới\",past:\"%s trước\",s:\"vài giây\",ss:\"%d giây\",m:\"một phút\",mm:\"%d phút\",h:\"một giờ\",hh:\"%d giờ\",d:\"một ngày\",dd:\"%d ngày\",M:\"một tháng\",MM:\"%d tháng\",y:\"một năm\",yy:\"%d năm\"},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"x-pseudo\",{months:\"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér\".split(\"_\"),monthsShort:\"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc\".split(\"_\"),monthsParseExact:!0,weekdays:\"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý\".split(\"_\"),weekdaysShort:\"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát\".split(\"_\"),weekdaysMin:\"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[T~ódá~ý át] LT\",nextDay:\"[T~ómó~rró~w át] LT\",nextWeek:\"dddd [át] LT\",lastDay:\"[Ý~ést~érdá~ý át] LT\",lastWeek:\"[L~ást] dddd [át] LT\",sameElse:\"L\"},relativeTime:{future:\"í~ñ %s\",past:\"%s á~gó\",s:\"á ~féw ~sécó~ñds\",ss:\"%d s~écóñ~ds\",m:\"á ~míñ~úté\",mm:\"%d m~íñú~tés\",h:\"á~ñ hó~úr\",hh:\"%d h~óúrs\",d:\"á ~dáý\",dd:\"%d d~áýs\",M:\"á ~móñ~th\",MM:\"%d m~óñt~hs\",y:\"á ~ýéár\",yy:\"%d ý~éárs\"},dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"yo\",{months:\"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀\".split(\"_\"),monthsShort:\"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀\".split(\"_\"),weekdays:\"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta\".split(\"_\"),weekdaysShort:\"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá\".split(\"_\"),weekdaysMin:\"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Ònì ni] LT\",nextDay:\"[Ọ̀la ni] LT\",nextWeek:\"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",lastDay:\"[Àna ni] LT\",lastWeek:\"dddd [Ọsẹ̀ tólọ́] [ni] LT\",sameElse:\"L\"},relativeTime:{future:\"ní %s\",past:\"%s kọjá\",s:\"ìsẹjú aayá die\",ss:\"aayá %d\",m:\"ìsẹjú kan\",mm:\"ìsẹjú %d\",h:\"wákati kan\",hh:\"wákati %d\",d:\"ọjọ́ kan\",dd:\"ọjọ́ %d\",M:\"osù kan\",MM:\"osù %d\",y:\"ọdún kan\",yy:\"ọdún %d\"},dayOfMonthOrdinalParse:/ọjọ́\\s\\d{1,2}/,ordinal:\"ọjọ́ %d\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"zh-cn\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),\"凌晨\"===t||\"早上\"===t||\"上午\"===t?e:\"下午\"===t||\"晚上\"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"凌晨\":r<900?\"早上\":r<1130?\"上午\":r<1230?\"中午\":r<1800?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天]LT\",nextDay:\"[明天]LT\",nextWeek:\"[下]ddddLT\",lastDay:\"[昨天]LT\",lastWeek:\"[上]ddddLT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";case\"M\":return e+\"月\";case\"w\":case\"W\":return e+\"周\";default:return e}},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",ss:\"%d 秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"zh-hk\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"週日_週一_週二_週三_週四_週五_週六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),\"凌晨\"===t||\"早上\"===t||\"上午\"===t?e:\"中午\"===t?e>=11?e:e+12:\"下午\"===t||\"晚上\"===t?e+12:void 0},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"凌晨\":r<900?\"早上\":r<1130?\"上午\":r<1230?\"中午\":r<1800?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天]LT\",nextDay:\"[明天]LT\",nextWeek:\"[下]ddddLT\",lastDay:\"[昨天]LT\",lastWeek:\"[上]ddddLT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";case\"M\":return e+\"月\";case\"w\":case\"W\":return e+\"週\";default:return e}},relativeTime:{future:\"%s內\",past:\"%s前\",s:\"幾秒\",ss:\"%d 秒\",m:\"1 分鐘\",mm:\"%d 分鐘\",h:\"1 小時\",hh:\"%d 小時\",d:\"1 天\",dd:\"%d 天\",M:\"1 個月\",MM:\"%d 個月\",y:\"1 年\",yy:\"%d 年\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"zh-tw\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"週日_週一_週二_週三_週四_週五_週六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),\"凌晨\"===t||\"早上\"===t||\"上午\"===t?e:\"中午\"===t?e>=11?e:e+12:\"下午\"===t||\"晚上\"===t?e+12:void 0},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"凌晨\":r<900?\"早上\":r<1130?\"上午\":r<1230?\"中午\":r<1800?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天] LT\",nextDay:\"[明天] LT\",nextWeek:\"[下]dddd LT\",lastDay:\"[昨天] LT\",lastWeek:\"[上]dddd LT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";case\"M\":return e+\"月\";case\"w\":case\"W\":return e+\"週\";default:return e}},relativeTime:{future:\"%s內\",past:\"%s前\",s:\"幾秒\",ss:\"%d 秒\",m:\"1 分鐘\",mm:\"%d 分鐘\",h:\"1 小時\",hh:\"%d 小時\",d:\"1 天\",dd:\"%d 天\",M:\"1 個月\",MM:\"%d 個月\",y:\"1 年\",yy:\"%d 年\"}});return t})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var i=e[t];return a.default.isValidElement(i)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`,expected an element type (a string \")+\", component class, or function component).\"):(0,s.isValidElementType)(i)?null:new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+i+\"` \"+(\"supplied to `\"+n+\"`, expected an element type (a string \")+\", component class, or function component).\")}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(1),a=r(i),s=n(612),u=n(559),l=r(u);t.default=(0,l.default)(o),e.exports=t.default},function(e,t){\"use strict\";function n(e){function t(t,n,r,o,i,a){var s=o||\"<<anonymous>>\",u=a||r;if(null==n[r])return t?new Error(\"Required \"+i+\" `\"+u+\"` was not specified \"+(\"in `\"+s+\"`.\")):null;for(var l=arguments.length,c=Array(l>6?l-6:0),d=6;d<l;d++)c[d-6]=arguments[d];return e.apply(void 0,[n,r,s,i,u].concat(c))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t){\"use strict\";var n=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";e.exports=n},function(e,t,n){var r=n(302),o=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];t.getBlocksCount=function(e,t){switch(t){case r.L:return o[4*(e-1)+0];case r.M:return o[4*(e-1)+1];case r.Q:return o[4*(e-1)+2];case r.H:return o[4*(e-1)+3];default:return}},t.getTotalCodewordsCount=function(e,t){switch(t){case r.L:return i[4*(e-1)+0];case r.M:return i[4*(e-1)+1];case r.Q:return i[4*(e-1)+2];case r.H:return i[4*(e-1)+3];default:return}}},function(e,t){var n=\"[0-9]+\",r=\"[A-Z $%*+\\\\-./:]+\",o=\"(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+\";o=o.replace(/u/g,\"\\\\u\");var i=\"(?:(?![A-Z0-9 $%*+\\\\-./:]|\"+o+\")(?:.|[\\r\\n]))+\";t.KANJI=new RegExp(o,\"g\"),t.BYTE_KANJI=new RegExp(\"[^A-Z0-9 $%*+\\\\-./:]+\",\"g\"),t.BYTE=new RegExp(i,\"g\"),t.NUMERIC=new RegExp(n,\"g\"),t.ALPHANUMERIC=new RegExp(r,\"g\");var a=new RegExp(\"^\"+o+\"$\"),s=new RegExp(\"^\"+n+\"$\"),u=new RegExp(\"^[A-Z0-9 $%*+\\\\-./:]+$\");t.testKanji=function(e){return a.test(e)},t.testNumeric=function(e){return s.test(e)},t.testAlphanumeric=function(e){return u.test(e)}},function(e,t){t.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}},function(e,t){function n(e){if(\"string\"!=typeof e)throw new Error(\"Color should be defined as hex string\");var t=e.slice().replace(\"#\",\"\").split(\"\");if(t.length<3||5===t.length||t.length>8)throw new Error(\"Invalid hex color: \"+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push(\"F\",\"F\");var n=parseInt(t.join(\"\"),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:\"#\"+t.slice(0,6).join(\"\")}}t.getOptions=function(e){e||(e={}),e.color||(e.color={});var t=\"undefined\"==typeof e.margin||null===e.margin||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,o=e.scale||4;return{width:r,scale:r?4:o,margin:t,color:{dark:n(e.color.dark||\"#000000ff\"),light:n(e.color.light||\"#ffffffff\")},type:e.type,rendererOpts:e.rendererOpts||{}}},t.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},t.getImageWidth=function(e,n){var r=t.getScale(e,n);return Math.floor((e+2*n.margin)*r)},t.qrToImageData=function(e,n,r){for(var o=n.modules.size,i=n.modules.data,a=t.getScale(o,r),s=Math.floor((o+2*r.margin)*a),u=r.margin*a,l=[r.color.light,r.color.dark],c=0;c<s;c++)for(var d=0;d<s;d++){var f=4*(c*s+d),p=r.color.light;if(c>=u&&d>=u&&c<s-u&&d<s-u){var h=Math.floor((c-u)/a),m=Math.floor((d-u)/a);p=l[i[h*o+m]?1:0]}e[f++]=p.r,e[f++]=p.g,e[f++]=p.b,e[f]=p.a}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=[\"minLines\",\"maxLines\",\"readOnly\",\"highlightActiveLine\",\"tabSize\",\"enableBasicAutocompletion\",\"enableLiveAutocompletion\",\"enableSnippets\"],r=[\"onChange\",\"onFocus\",\"onInput\",\"onBlur\",\"onCopy\",\"onPaste\",\"onSelectionChange\",\"onCursorChange\",\"onScroll\",\"handleOptions\",\"updateRef\"],o=function(e,t){var n=null;return function(){var r=this,o=arguments;clearTimeout(n),n=setTimeout(function(){e.apply(r,o)},t)}};t.editorOptions=n,t.editorEvents=r,t.debounce=o},function(e,t,n){(function(e){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(361),c=r(l),d=n(1),f=r(d),p=n(5),h=r(p),m=n(430),g=r(m),_=n(1304),b=r(_),y=n(565);n(901);var v=c.default.acequire(\"ace/range\"),M=v.Range,A=c.default.acequire(\"ace/split\"),w=A.Split,C=function(t){function n(e){o(this,n);var t=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return y.editorEvents.forEach(function(e){t[e]=t[e].bind(t)}),t.debounce=y.debounce,t}return a(n,t),u(n,[{key:\"componentDidMount\",value:function(){var t=this,n=this.props,r=n.className,o=n.onBeforeLoad,i=n.mode,a=n.focus,s=n.theme,u=n.fontSize,d=n.value,f=n.defaultValue,p=n.cursorStart,h=n.showGutter,m=n.wrapEnabled,g=n.showPrintMargin,_=n.scrollMargin,v=void 0===_?[0,0,0,0]:_,M=n.keyboardHandler,A=n.onLoad,C=n.commands,E=n.annotations,L=n.markers,T=n.splits;this.editor=c.default.edit(this.refEditor),o&&o(c.default);var O=Object.keys(this.props.editorProps),S=new w(this.editor.container,\"ace/theme/\"+s,T);this.editor.env.split=S,this.splitEditor=S.getEditor(0),this.split=S,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var N=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),S.forEach(function(n,r){for(var o=0;o<O.length;o++)n[O[o]]=t.props.editorProps[O[o]];var a=(0,b.default)(f,r),c=(0,b.default)(d,r,\"\");n.session.setUndoManager(new l.UndoManager),n.setTheme(\"ace/theme/\"+s),n.renderer.setScrollMargin(v[0],v[1],v[2],v[3]),n.getSession().setMode(\"ace/mode/\"+i),n.setFontSize(u),n.renderer.setShowGutter(h),n.getSession().setUseWrapMode(m),n.setShowPrintMargin(g),n.on(\"focus\",t.onFocus),n.on(\"blur\",t.onBlur),n.on(\"input\",t.onInput),n.on(\"copy\",t.onCopy),n.on(\"paste\",t.onPaste),n.on(\"change\",t.onChange),n.getSession().selection.on(\"changeSelection\",t.onSelectionChange),n.getSession().selection.on(\"changeCursor\",t.onCursorChange),n.session.on(\"changeScrollTop\",t.onScroll),n.setValue(void 0===a?c:a,p);var _=(0,b.default)(E,r,[]),A=(0,b.default)(L,r,[]);n.getSession().setAnnotations(_),A&&A.length>0&&t.handleMarkers(A,n);for(var w=0;w<y.editorOptions.length;w++){var T=y.editorOptions[w];N.hasOwnProperty(T)?n.setOption(T,t.props[T]):t.props[T]&&e.warn(\"ReaceAce: editor option \"+T+\" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?\")}t.handleOptions(t.props,n),Array.isArray(C)&&C.forEach(function(e){\"string\"==typeof e.exec?n.commands.bindKey(e.bindKey,e.exec):n.commands.addCommand(e)}),M&&n.setKeyboardHandler(\"ace/keyboard/\"+M)}),r&&(this.refEditor.className+=\" \"+r),a&&this.splitEditor.focus();var k=this.editor.env.split;k.setOrientation(\"below\"===this.props.orientation?k.BELOW:k.BESIDE),k.resize(!0),A&&A(k)}},{key:\"componentDidUpdate\",value:function(e){var t=this,n=e,r=this.props,o=this.editor.env.split;if(r.splits!==n.splits&&o.setSplits(r.splits),r.orientation!==n.orientation&&o.setOrientation(\"below\"===r.orientation?o.BELOW:o.BESIDE),o.forEach(function(e,o){r.mode!==n.mode&&e.getSession().setMode(\"ace/mode/\"+r.mode),r.keyboardHandler!==n.keyboardHandler&&(r.keyboardHandler?e.setKeyboardHandler(\"ace/keyboard/\"+r.keyboardHandler):e.setKeyboardHandler(null)),r.fontSize!==n.fontSize&&e.setFontSize(r.fontSize),r.wrapEnabled!==n.wrapEnabled&&e.getSession().setUseWrapMode(r.wrapEnabled),r.showPrintMargin!==n.showPrintMargin&&e.setShowPrintMargin(r.showPrintMargin),r.showGutter!==n.showGutter&&e.renderer.setShowGutter(r.showGutter);for(var i=0;i<y.editorOptions.length;i++){var a=y.editorOptions[i];r[a]!==n[a]&&e.setOption(a,r[a])}(0,g.default)(r.setOptions,n.setOptions)||t.handleOptions(r,e);var s=(0,b.default)(r.value,o,\"\");if(e.getValue()!==s){t.silent=!0;var u=e.session.selection.toJSON();e.setValue(s,r.cursorStart),e.session.selection.fromJSON(u),t.silent=!1}var l=(0,b.default)(r.annotations,o,[]),c=(0,b.default)(n.annotations,o,[]);(0,g.default)(l,c)||e.getSession().setAnnotations(l);var d=(0,b.default)(r.markers,o,[]),f=(0,b.default)(n.markers,o,[]);!(0,g.default)(d,f)&&Array.isArray(d)&&t.handleMarkers(d,e)}),r.className!==n.className){var i=this.refEditor.className,a=i.trim().split(\" \"),s=n.className.trim().split(\" \");s.forEach(function(e){var t=a.indexOf(e);a.splice(t,1)}),this.refEditor.className=\" \"+r.className+\" \"+a.join(\" \")}r.theme!==n.theme&&o.setTheme(\"ace/theme/\"+r.theme),r.focus&&!n.focus&&this.splitEditor.focus(),r.height===this.props.height&&r.width===this.props.width||this.editor.resize()}},{key:\"componentWillUnmount\",value:function(){this.editor.destroy(),this.editor=null}},{key:\"onChange\",value:function(e){if(this.props.onChange&&!this.silent){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getValue())}),this.props.onChange(t,e)}}},{key:\"onSelectionChange\",value:function(e){if(this.props.onSelectionChange){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getSelection())}),this.props.onSelectionChange(t,e)}}},{key:\"onCursorChange\",value:function(e){if(this.props.onCursorChange){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getSelection())}),this.props.onCursorChange(t,e)}}},{key:\"onFocus\",\nvalue:function(e){this.props.onFocus&&this.props.onFocus(e)}},{key:\"onInput\",value:function(e){this.props.onInput&&this.props.onInput(e)}},{key:\"onBlur\",value:function(e){this.props.onBlur&&this.props.onBlur(e)}},{key:\"onCopy\",value:function(e){this.props.onCopy&&this.props.onCopy(e)}},{key:\"onPaste\",value:function(e){this.props.onPaste&&this.props.onPaste(e)}},{key:\"onScroll\",value:function(){this.props.onScroll&&this.props.onScroll(this.editor)}},{key:\"handleOptions\",value:function(e,t){for(var n=Object.keys(e.setOptions),r=0;r<n.length;r++)t.setOption(n[r],e.setOptions[n[r]])}},{key:\"handleMarkers\",value:function(e,t){var n=t.getSession().getMarkers(!0);for(var r in n)n.hasOwnProperty(r)&&t.getSession().removeMarker(n[r].id);n=t.getSession().getMarkers(!1);for(var o in n)n.hasOwnProperty(o)&&t.getSession().removeMarker(n[o].id);e.forEach(function(e){var n=e.startRow,r=e.startCol,o=e.endRow,i=e.endCol,a=e.className,s=e.type,u=e.inFront,l=void 0!==u&&u,c=new M(n,r,o,i);t.getSession().addMarker(c,a,s,l)})}},{key:\"updateRef\",value:function(e){this.refEditor=e}},{key:\"render\",value:function(){var e=this.props,t=e.name,n=e.width,r=e.height,o=e.style,i=s({width:n,height:r},o);return f.default.createElement(\"div\",{ref:this.updateRef,id:t,style:i})}}]),n}(d.Component);t.default=C,C.propTypes={mode:h.default.string,splits:h.default.number,orientation:h.default.string,focus:h.default.bool,theme:h.default.string,name:h.default.string,className:h.default.string,height:h.default.string,width:h.default.string,fontSize:h.default.oneOfType([h.default.number,h.default.string]),showGutter:h.default.bool,onChange:h.default.func,onCopy:h.default.func,onPaste:h.default.func,onFocus:h.default.func,onInput:h.default.func,onBlur:h.default.func,onScroll:h.default.func,value:h.default.arrayOf(h.default.string),defaultValue:h.default.arrayOf(h.default.string),debounceChangePeriod:h.default.number,onLoad:h.default.func,onSelectionChange:h.default.func,onCursorChange:h.default.func,onBeforeLoad:h.default.func,minLines:h.default.number,maxLines:h.default.number,readOnly:h.default.bool,highlightActiveLine:h.default.bool,tabSize:h.default.number,showPrintMargin:h.default.bool,cursorStart:h.default.number,editorProps:h.default.object,setOptions:h.default.object,style:h.default.object,scrollMargin:h.default.array,annotations:h.default.array,markers:h.default.array,keyboardHandler:h.default.string,wrapEnabled:h.default.bool,enableBasicAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),enableLiveAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),commands:h.default.array},C.defaultProps={name:\"brace-editor\",focus:!1,orientation:\"beside\",splits:2,mode:\"\",theme:\"\",height:\"500px\",width:\"500px\",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1}}).call(t,n(38))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A={active:y.default.bool,href:y.default.string,title:y.default.node,target:y.default.string},w={active:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.active,n=e.href,r=e.title,o=e.target,a=e.className,u=(0,s.default)(e,[\"active\",\"href\",\"title\",\"target\",\"className\"]),l={href:n,title:r,target:o};return _.default.createElement(\"li\",{className:(0,m.default)(a,{active:t})},t?_.default.createElement(\"span\",u):_.default.createElement(M.default,(0,i.default)({},u,l)))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=C,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(220),M=r(v),A=n(166),w=r(A),C=n(13),E={vertical:y.default.bool,justified:y.default.bool,block:(0,M.default)(y.default.bool,function(e){var t=e.block,n=e.vertical;return t&&!n?new Error(\"`block` requires `vertical` to be set to have any effect\"):null})},L={block:!1,justified:!1,vertical:!1},T=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.block,r=t.justified,o=t.vertical,a=t.className,u=(0,s.default)(t,[\"block\",\"justified\",\"vertical\",\"className\"]),l=(0,C.splitBsProps)(u),c=l[0],d=l[1],f=(0,i.default)({},(0,C.getClassSet)(c),(e={},e[(0,C.prefix)(c)]=!o,e[(0,C.prefix)(c,\"vertical\")]=o,e[(0,C.prefix)(c,\"justified\")]=r,e[(0,C.prefix)(w.default.defaultProps,\"block\")]=n,e));return _.default.createElement(\"div\",(0,i.default)({},d,{className:(0,m.default)(a,f)}))},t}(_.default.Component);T.propTypes=E,T.defaultProps=L,t.default=(0,C.bsClass)(\"btn-group\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(29),M=r(v),A=n(1472),w=r(A),C={direction:y.default.oneOf([\"prev\",\"next\"]),onAnimateOutEnd:y.default.func,active:y.default.bool,animateIn:y.default.bool,animateOut:y.default.bool,index:y.default.number},E={active:!1,animateIn:!1,animateOut:!1},L=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleAnimateOutEnd=o.handleAnimateOutEnd.bind(o),o.state={direction:null},o.isUnmounted=!1,o}return(0,p.default)(t,e),t.prototype.componentWillReceiveProps=function(e){this.props.active!==e.active&&this.setState({direction:null})},t.prototype.componentDidUpdate=function(e){var t=this,n=this.props.active,r=e.active;!n&&r&&w.default.addEndEventListener(M.default.findDOMNode(this),this.handleAnimateOutEnd),n!==r&&setTimeout(function(){return t.startAnimation()},20)},t.prototype.componentWillUnmount=function(){this.isUnmounted=!0},t.prototype.handleAnimateOutEnd=function(){this.isUnmounted||this.props.onAnimateOutEnd&&this.props.onAnimateOutEnd(this.props.index)},t.prototype.startAnimation=function(){this.isUnmounted||this.setState({direction:\"prev\"===this.props.direction?\"right\":\"left\"})},t.prototype.render=function(){var e=this.props,t=e.direction,n=e.active,r=e.animateIn,o=e.animateOut,a=e.className,u=(0,s.default)(e,[\"direction\",\"active\",\"animateIn\",\"animateOut\",\"className\"]);delete u.onAnimateOutEnd,delete u.index;var l={item:!0,active:n&&!r||o};return t&&n&&r&&(l[t]=!0),this.state.direction&&(r||o)&&(l[this.state.direction]=!0),_.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(a,l)}))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=L,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(12),y=r(b),v=n(166),M=r(v),A=n(75),w=r(A),C=n(13),E={noCaret:_.default.bool,open:_.default.bool,title:_.default.string,useAnchor:_.default.bool},L={open:!1,useAnchor:!1,bsRole:\"toggle\"},T=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.noCaret,n=e.open,r=e.useAnchor,o=e.bsClass,a=e.className,u=e.children,l=(0,s.default)(e,[\"noCaret\",\"open\",\"useAnchor\",\"bsClass\",\"className\",\"children\"]);delete l.bsRole;var c=r?w.default:M.default,d=!t;return m.default.createElement(c,(0,i.default)({},l,{role:\"button\",className:(0,y.default)(a,o),\"aria-haspopup\":!0,\"aria-expanded\":n}),u||l.title,d&&\" \",d&&m.default.createElement(\"span\",{className:\"caret\"}))},t}(m.default.Component);T.propTypes=E,T.defaultProps=L,t.default=(0,C.bsClass)(\"dropdown-toggle\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w={fluid:y.default.bool,componentClass:M.default},C={componentClass:\"div\",fluid:!1},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.fluid,n=e.componentClass,r=e.className,o=(0,s.default)(e,[\"fluid\",\"componentClass\",\"className\"]),a=(0,A.splitBsProps)(o),u=a[0],l=a[1],c=(0,A.prefix)(u,t&&\"fluid\");return _.default.createElement(n,(0,i.default)({},l,{className:(0,m.default)(r,c)}))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"container\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(13),w=n(40),C={active:M.default.any,disabled:M.default.any,header:M.default.node,listItem:M.default.bool,onClick:M.default.func,href:M.default.string,type:M.default.string},E={listItem:!1},L=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderHeader=function(e,t){return y.default.isValidElement(e)?(0,b.cloneElement)(e,{className:(0,_.default)(e.props.className,t)}):y.default.createElement(\"h4\",{className:t},e)},t.prototype.render=function(){var e=this.props,t=e.active,n=e.disabled,r=e.className,o=e.header,i=e.listItem,a=e.children,u=(0,l.default)(e,[\"active\",\"disabled\",\"className\",\"header\",\"listItem\",\"children\"]),c=(0,A.splitBsProps)(u),d=c[0],f=c[1],p=(0,s.default)({},(0,A.getClassSet)(d),{active:t,disabled:n}),h=void 0;return f.href?h=\"a\":f.onClick?(h=\"button\",f.type=f.type||\"button\"):h=i?\"li\":\"span\",f.className=(0,_.default)(r,p),o?y.default.createElement(h,f,this.renderHeader(o,(0,A.prefix)(d,\"heading\")),y.default.createElement(\"p\",{className:(0,A.prefix)(d,\"text\")},a)):y.default.createElement(h,f,a)},t}(y.default.Component);L.propTypes=C,L.defaultProps=E,t.default=(0,A.bsClass)(\"list-group-item\",(0,A.bsStyles)((0,i.default)(w.State),L)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"modal-body\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"modal-footer\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(39),A=r(M),w={\"aria-label\":y.default.string,closeButton:y.default.bool,onHide:y.default.func},C={\"aria-label\":\"Close\",closeButton:!1},E={$bs_modal:y.default.shape({onHide:y.default.func})},L=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e[\"aria-label\"],n=e.closeButton,r=e.onHide,o=e.className,a=e.children,u=(0,s.default)(e,[\"aria-label\",\"closeButton\",\"onHide\",\"className\",\"children\"]),l=this.context.$bs_modal,c=(0,v.splitBsProps)(u),d=c[0],f=c[1],p=(0,v.getClassSet)(d);return _.default.createElement(\"div\",(0,i.default)({},f,{className:(0,m.default)(o,p)}),n&&_.default.createElement(\"button\",{type:\"button\",className:\"close\",\"aria-label\":t,onClick:(0,A.default)(l&&l.onHide,r)},_.default.createElement(\"span\",{\"aria-hidden\":\"true\"},\"×\")),a)},t}(_.default.Component);L.propTypes=w,L.defaultProps=C,L.contextTypes=E,t.default=(0,v.bsClass)(\"modal-header\",L),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"h4\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"modal-title\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(295),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(29),w=r(A),C=n(220),E=r(C),L=n(47),T=(r(L),n(13)),O=n(39),S=r(O),N=n(52),k=r(N),D={activeKey:M.default.any,activeHref:M.default.string,stacked:M.default.bool,justified:(0,E.default)(M.default.bool,function(e){var t=e.justified,n=e.navbar;return t&&n?Error(\"justified navbar `Nav`s are not supported\"):null}),onSelect:M.default.func,role:M.default.string,navbar:M.default.bool,pullRight:M.default.bool,pullLeft:M.default.bool},x={justified:!1,pullRight:!1,pullLeft:!1,stacked:!1},I={$bs_navbar:M.default.shape({bsClass:M.default.string,onSelect:M.default.func}),$bs_tabContainer:M.default.shape({activeKey:M.default.any,onSelect:M.default.func.isRequired,getTabId:M.default.func.isRequired,getPaneId:M.default.func.isRequired})},z=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.componentDidUpdate=function(){var e=this;if(this._needsRefocus){this._needsRefocus=!1;var t=this.props.children,n=this.getActiveProps(),r=n.activeKey,o=n.activeHref,i=k.default.find(t,function(t){return e.isActive(t,r,o)}),a=k.default.toArray(t),s=a.indexOf(i),u=w.default.findDOMNode(this).children,l=u&&u[s];l&&l.firstChild&&l.firstChild.focus()}},t.prototype.handleTabKeyDown=function(e,t){var n=void 0;switch(t.keyCode){case _.default.codes.left:case _.default.codes.up:n=this.getNextActiveChild(-1);break;case _.default.codes.right:case _.default.codes.down:n=this.getNextActiveChild(1);break;default:return}t.preventDefault(),e&&n&&null!=n.props.eventKey&&e(n.props.eventKey),this._needsRefocus=!0},t.prototype.getNextActiveChild=function(e){var t=this,n=this.props.children,r=n.filter(function(e){return null!=e.props.eventKey&&!e.props.disabled}),o=this.getActiveProps(),i=o.activeKey,a=o.activeHref,s=k.default.find(n,function(e){return t.isActive(e,i,a)}),u=r.indexOf(s);if(u===-1)return r[0];var l=u+e,c=r.length;return l>=c?l=0:l<0&&(l=c-1),r[l]},t.prototype.getActiveProps=function(){var e=this.context.$bs_tabContainer;return e?e:this.props},t.prototype.isActive=function(e,t,n){var r=e.props;return!!(r.active||null!=t&&r.eventKey===t||n&&r.href===n)||r.active},t.prototype.getTabProps=function(e,t,n,r,o){var i=this;if(!t&&\"tablist\"!==n)return null;var a=e.props,s=a.id,u=a[\"aria-controls\"],l=a.eventKey,c=a.role,d=a.onKeyDown,f=a.tabIndex;return t&&(s=t.getTabId(l),u=t.getPaneId(l)),\"tablist\"===n&&(c=c||\"tab\",d=(0,S.default)(function(e){return i.handleTabKeyDown(o,e)},d),f=r?f:-1),{id:s,role:c,onKeyDown:d,\"aria-controls\":u,tabIndex:f}},t.prototype.render=function(){var e,t=this,n=this.props,r=n.stacked,o=n.justified,a=n.onSelect,u=n.role,l=n.navbar,c=n.pullRight,d=n.pullLeft,f=n.className,p=n.children,h=(0,s.default)(n,[\"stacked\",\"justified\",\"onSelect\",\"role\",\"navbar\",\"pullRight\",\"pullLeft\",\"className\",\"children\"]),g=this.context.$bs_tabContainer,_=u||(g?\"tablist\":null),v=this.getActiveProps(),M=v.activeKey,A=v.activeHref;delete h.activeKey,delete h.activeHref;var w=(0,T.splitBsProps)(h),C=w[0],E=w[1],L=(0,i.default)({},(0,T.getClassSet)(C),(e={},e[(0,T.prefix)(C,\"stacked\")]=r,e[(0,T.prefix)(C,\"justified\")]=o,e)),O=null!=l?l:this.context.$bs_navbar,N=void 0,D=void 0;if(O){var x=this.context.$bs_navbar||{bsClass:\"navbar\"};L[(0,T.prefix)(x,\"nav\")]=!0,D=(0,T.prefix)(x,\"right\"),N=(0,T.prefix)(x,\"left\")}else D=\"pull-right\",N=\"pull-left\";return L[D]=c,L[N]=d,y.default.createElement(\"ul\",(0,i.default)({},E,{role:_,className:(0,m.default)(f,L)}),k.default.map(p,function(e){var n=t.isActive(e,M,A),r=(0,S.default)(e.props.onSelect,a,O&&O.onSelect,g&&g.onSelect);return(0,b.cloneElement)(e,(0,i.default)({},t.getTabProps(e,g,_,n,r),{active:n,activeKey:M,activeHref:A,onSelect:r}))}))},t}(y.default.Component);z.propTypes=D,z.defaultProps=x,z.contextTypes=I,t.default=(0,T.bsClass)(\"nav\",(0,T.bsStyles)([\"tabs\",\"pills\"],z)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A=n(39),w=r(A),C={active:y.default.bool,disabled:y.default.bool,role:y.default.string,href:y.default.string,onClick:y.default.func,onSelect:y.default.func,eventKey:y.default.any},E={active:!1,disabled:!1},L=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,p.default)(t,e),t.prototype.handleClick=function(e){this.props.onSelect&&(e.preventDefault(),this.props.disabled||this.props.onSelect(this.props.eventKey,e))},t.prototype.render=function(){var e=this.props,t=e.active,n=e.disabled,r=e.onClick,o=e.className,a=e.style,u=(0,s.default)(e,[\"active\",\"disabled\",\"onClick\",\"className\",\"style\"]);return delete u.onSelect,delete u.eventKey,delete u.activeKey,delete u.activeHref,u.role?\"tab\"===u.role&&(u[\"aria-selected\"]=t):\"#\"===u.href&&(u.role=\"button\"),_.default.createElement(\"li\",{role:\"presentation\",className:(0,m.default)(o,{active:t,disabled:n}),style:a},_.default.createElement(M.default,(0,i.default)({},u,{disabled:n,onClick:(0,w.default)(r,this.handleClick)})))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=L,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={$bs_navbar:y.default.shape({bsClass:y.default.string})},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,s.default)(e,[\"className\",\"children\"]),o=this.context.$bs_navbar||{bsClass:\"navbar\"},a=(0,v.prefix)(o,\"brand\");return _.default.isValidElement(n)?_.default.cloneElement(n,{className:(0,m.default)(n.props.className,t,a)}):_.default.createElement(\"span\",(0,i.default)({},r,{className:(0,m.default)(t,a)}),n)},t}(_.default.Component);A.contextTypes=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(1477),M=r(v),A=n(25),w=r(A),C=n(212),E=r(C),L=(0,p.default)({},M.default.propTypes,{show:y.default.bool,rootClose:y.default.bool,onHide:y.default.func,animation:y.default.oneOfType([y.default.bool,w.default]),onEnter:y.default.func,onEntering:y.default.func,onEntered:y.default.func,onExit:y.default.func,onExiting:y.default.func,onExited:y.default.func,placement:y.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"])}),T={animation:E.default,rootClose:!1,show:!1,placement:\"right\"},O=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.animation,n=e.children,r=(0,i.default)(e,[\"animation\",\"children\"]),o=t===!0?E.default:t||null,a=void 0;return a=o?n:(0,g.cloneElement)(n,{className:(0,m.default)(n.props.className,\"in\")}),_.default.createElement(M.default,(0,p.default)({},r,{transition:o}),a)},t}(_.default.Component);O.propTypes=L,O.defaultProps=T,t.default=O,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A=n(39),w=r(A),C={disabled:y.default.bool,previous:y.default.bool,next:y.default.bool,onClick:y.default.func,onSelect:y.default.func,eventKey:y.default.any},E={disabled:!1,previous:!1,next:!1},L=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleSelect=o.handleSelect.bind(o),o}return(0,p.default)(t,e),t.prototype.handleSelect=function(e){var t=this.props,n=t.disabled,r=t.onSelect,o=t.eventKey;(r||n)&&e.preventDefault(),n||r&&r(o,e)},t.prototype.render=function(){var e=this.props,t=e.disabled,n=e.previous,r=e.next,o=e.onClick,a=e.className,u=e.style,l=(0,s.default)(e,[\"disabled\",\"previous\",\"next\",\"onClick\",\"className\",\"style\"]);return delete l.onSelect,delete l.eventKey,_.default.createElement(\"li\",{className:(0,m.default)(a,{disabled:t,previous:n,next:r}),style:u},_.default.createElement(M.default,(0,i.default)({},l,{disabled:t,onClick:(0,w.default)(o,this.handleSelect)})))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=L,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(75),w=r(A),C=n(39),E=r(C),L={componentClass:M.default,className:y.default.string,eventKey:y.default.any,onSelect:y.default.func,disabled:y.default.bool,active:y.default.bool,onClick:y.default.func},T={componentClass:w.default,active:!1,disabled:!1},O=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,p.default)(t,e),t.prototype.handleClick=function(e){var t=this.props,n=t.disabled,r=t.onSelect,o=t.eventKey;n||r&&r(o,e)},t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.active,r=e.disabled,o=e.onClick,a=e.className,u=e.style,l=(0,s.default)(e,[\"componentClass\",\"active\",\"disabled\",\"onClick\",\"className\",\"style\"]);return t===w.default&&delete l.eventKey,delete l.onSelect,_.default.createElement(\"li\",{className:(0,m.default)(a,{active:n,disabled:r}),style:u},_.default.createElement(t,(0,i.default)({},l,{disabled:r,onClick:(0,E.default)(o,this.handleClick)})))},t}(_.default.Component);O.propTypes=L,O.defaultProps=T,t.default=O,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(359),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(13),w=n(39),C=r(w),E=n(52),L=r(E),T={accordion:M.default.bool,activeKey:M.default.any,defaultActiveKey:M.default.any,onSelect:M.default.func,role:M.default.string},O={accordion:!1},S=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleSelect=o.handleSelect.bind(o),o.state={activeKey:n.defaultActiveKey},o}return(0,m.default)(t,e),t.prototype.handleSelect=function(e,t){t.preventDefault(),this.props.onSelect&&this.props.onSelect(e,t),this.state.activeKey===e&&(e=null),this.setState({activeKey:e})},t.prototype.render=function(){var e=this,t=this.props,n=t.accordion,r=t.activeKey,o=t.className,a=t.children,u=(0,l.default)(t,[\"accordion\",\"activeKey\",\"className\",\"children\"]),c=(0,A.splitBsPropsAndOmit)(u,[\"defaultActiveKey\",\"onSelect\"]),d=c[0],f=c[1],p=void 0;n&&(p=null!=r?r:this.state.activeKey,f.role=f.role||\"tablist\");var h=(0,A.getClassSet)(d);return y.default.createElement(\"div\",(0,i.default)({},f,{className:(0,_.default)(o,h)}),L.default.map(a,function(t){var r={bsStyle:t.props.bsStyle||d.bsStyle};return n&&(0,s.default)(r,{headerRole:\"tab\",panelRole:\"tabpanel\",collapsible:!0,expanded:t.props.eventKey===p,onSelect:(0,C.default)(e.handleSelect,t.props.onSelect)}),(0,b.cloneElement)(t,r)}))},t}(y.default.Component);S.propTypes=T,S.defaultProps=O,t.default=(0,A.bsClass)(\"panel-group\",S),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(47),w=(r(A),n(13)),C=n(39),E=r(C),L=n(212),T=r(L),O={eventKey:y.default.any,animation:y.default.oneOfType([y.default.bool,M.default]),id:y.default.string,\"aria-labelledby\":y.default.string,bsClass:y.default.string,onEnter:y.default.func,onEntering:y.default.func,onEntered:y.default.func,onExit:y.default.func,onExiting:y.default.func,onExited:y.default.func,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool},S={$bs_tabContainer:y.default.shape({getTabId:y.default.func,getPaneId:y.default.func}),$bs_tabContent:y.default.shape({bsClass:y.default.string,animation:y.default.oneOfType([y.default.bool,M.default]),activeKey:y.default.any,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool,onPaneEnter:y.default.func.isRequired,onPaneExited:y.default.func.isRequired,exiting:y.default.bool.isRequired})},N={$bs_tabContainer:y.default.oneOf([null])},k=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleEnter=o.handleEnter.bind(o),o.handleExited=o.handleExited.bind(o),o.in=!1,o}return(0,p.default)(t,e),t.prototype.getChildContext=function(){return{$bs_tabContainer:null}},t.prototype.componentDidMount=function(){this.shouldBeIn()&&this.handleEnter()},t.prototype.componentDidUpdate=function(){this.in?this.shouldBeIn()||this.handleExited():this.shouldBeIn()&&this.handleEnter()},t.prototype.componentWillUnmount=function(){this.in&&this.handleExited()},t.prototype.handleEnter=function(){var e=this.context.$bs_tabContent;e&&(this.in=e.onPaneEnter(this,this.props.eventKey))},t.prototype.handleExited=function(){var e=this.context.$bs_tabContent;e&&(e.onPaneExited(this),this.in=!1)},t.prototype.getAnimation=function(){if(null!=this.props.animation)return this.props.animation;var e=this.context.$bs_tabContent;return e&&e.animation},t.prototype.isActive=function(){var e=this.context.$bs_tabContent,t=e&&e.activeKey;return this.props.eventKey===t},t.prototype.shouldBeIn=function(){return this.getAnimation()&&this.isActive()},t.prototype.render=function(){var e=this.props,t=e.eventKey,n=e.className,r=e.onEnter,o=e.onEntering,a=e.onEntered,u=e.onExit,l=e.onExiting,c=e.onExited,d=e.mountOnEnter,f=e.unmountOnExit,p=(0,s.default)(e,[\"eventKey\",\"className\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\",\"mountOnEnter\",\"unmountOnExit\"]),h=this.context,g=h.$bs_tabContent,b=h.$bs_tabContainer,y=(0,w.splitBsPropsAndOmit)(p,[\"animation\"]),v=y[0],M=y[1],A=this.isActive(),C=this.getAnimation(),L=null!=d?d:g&&g.mountOnEnter,O=null!=f?f:g&&g.unmountOnExit;if(!A&&!C&&O)return null;var S=C===!0?T.default:C||null;g&&(v.bsClass=(0,w.prefix)(g,\"pane\"));var N=(0,i.default)({},(0,w.getClassSet)(v),{active:A});b&&(M.id=b.getPaneId(t),M[\"aria-labelledby\"]=b.getTabId(t));var k=_.default.createElement(\"div\",(0,i.default)({},M,{role:\"tabpanel\",\"aria-hidden\":!A,className:(0,m.default)(n,N)}));if(S){var D=g&&g.exiting;return _.default.createElement(S,{in:A&&!D,onEnter:(0,E.default)(this.handleEnter,r),onEntering:o,onEntered:a,onExit:u,onExiting:l,onExited:(0,E.default)(this.handleExited,c),mountOnEnter:L,unmountOnExit:O},k)}return k},t}(_.default.Component);k.propTypes=O,k.contextTypes=S,k.childContextTypes=N,t.default=(0,w.bsClass)(\"tab-pane\",k),e.exports=t.default},function(e,t){\"use strict\";function n(e){return\"\"+e.charAt(0).toUpperCase()+e.slice(1)}t.__esModule=!0,t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1),i=r(o),a=n(29),s=r(a),u=n(328),l=r(u),c=n(167),d=r(c),f=n(310),p=r(f),h=i.default.createClass({displayName:\"Portal\",propTypes:{container:i.default.PropTypes.oneOfType([l.default,i.default.PropTypes.func])},componentDidMount:function(){this._renderOverlay()},componentDidUpdate:function(){this._renderOverlay()},componentWillReceiveProps:function(e){this._overlayTarget&&e.container!==this.props.container&&(this._portalContainerNode.removeChild(this._overlayTarget),this._portalContainerNode=(0,p.default)(e.container,(0,d.default)(this).body),this._portalContainerNode.appendChild(this._overlayTarget))},componentWillUnmount:function(){this._unrenderOverlay(),this._unmountOverlayTarget()},_mountOverlayTarget:function(){this._overlayTarget||(this._overlayTarget=document.createElement(\"div\"),this._portalContainerNode=(0,p.default)(this.props.container,(0,d.default)(this).body),this._portalContainerNode.appendChild(this._overlayTarget))},_unmountOverlayTarget:function(){this._overlayTarget&&(this._portalContainerNode.removeChild(this._overlayTarget),this._overlayTarget=null),this._portalContainerNode=null},_renderOverlay:function(){var e=this.props.children?i.default.Children.only(this.props.children):null;null!==e?(this._mountOverlayTarget(),this._overlayInstance=s.default.unstable_renderSubtreeIntoContainer(this,e,this._overlayTarget)):(this._unrenderOverlay(),this._unmountOverlayTarget())},_unrenderOverlay:function(){this._overlayTarget&&(s.default.unmountComponentAtNode(this._overlayTarget),this._overlayInstance=null)},render:function(){return null},getMountNode:function(){return this._overlayTarget},getOverlayDOMNode:function(){if(!this.isMounted())throw new Error(\"getOverlayDOMNode(): A component must be mounted to have a DOM node.\");return this._overlayInstance?s.default.findDOMNode(this._overlayInstance):null}});t.default=h,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);\ne.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return 0===e.button}function u(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(89),d=r(c),f=n(1),p=r(f),h=n(29),m=r(h),g=n(589),_=r(g),b=n(167),y=r(b),v=27,M=function(e){function t(e,n){o(this,t);var r=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.handleMouseCapture=function(e){r.preventMouseRootClose=u(e)||!s(e)||(0,d.default)(m.default.findDOMNode(r),e.target)},r.handleMouse=function(e){!r.preventMouseRootClose&&r.props.onRootClose&&r.props.onRootClose(e)},r.handleKeyUp=function(e){e.keyCode===v&&r.props.onRootClose&&r.props.onRootClose(e)},r.preventMouseRootClose=!1,r}return a(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.props.disabled||this.addEventListeners()}},{key:\"componentDidUpdate\",value:function(e){!this.props.disabled&&e.disabled?this.addEventListeners():this.props.disabled&&!e.disabled&&this.removeEventListeners()}},{key:\"componentWillUnmount\",value:function(){this.props.disabled||this.removeEventListeners()}},{key:\"addEventListeners\",value:function(){var e=this.props.event,t=(0,y.default)(this);this.documentMouseCaptureListener=(0,_.default)(t,e,this.handleMouseCapture,!0),this.documentMouseListener=(0,_.default)(t,e,this.handleMouse),this.documentKeyupListener=(0,_.default)(t,\"keyup\",this.handleKeyUp)}},{key:\"removeEventListeners\",value:function(){this.documentMouseCaptureListener&&this.documentMouseCaptureListener.remove(),this.documentMouseListener&&this.documentMouseListener.remove(),this.documentKeyupListener&&this.documentKeyupListener.remove()}},{key:\"render\",value:function(){return this.props.children}}]),t}(p.default.Component);M.displayName=\"RootCloseWrapper\",M.propTypes={onRootClose:p.default.PropTypes.func,children:p.default.PropTypes.element,disabled:p.default.PropTypes.bool,event:p.default.PropTypes.oneOf([\"click\",\"mousedown\"])},M.defaultProps={event:\"click\"},t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(){}Object.defineProperty(t,\"__esModule\",{value:!0}),t.EXITING=t.ENTERED=t.ENTERING=t.EXITED=t.UNMOUNTED=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),d=n(12),f=r(d),p=n(159),h=r(p),m=n(411),g=r(m),_=n(1),b=r(_),y=n(29),v=r(y),M=g.default.end,A=t.UNMOUNTED=0,w=t.EXITED=1,C=t.ENTERING=2,E=t.ENTERED=3,L=t.EXITING=4,T=function(e){function t(e,n){i(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),o=void 0;return r.nextStatus=null,e.in?e.transitionAppear?(o=w,r.nextStatus=C):o=E:o=e.unmountOnExit||e.mountOnEnter?A:w,r.state={status:o},r.nextCallback=null,r}return s(t,e),c(t,[{key:\"componentDidMount\",value:function(){this.updateStatus()}},{key:\"componentWillReceiveProps\",value:function(e){var t=this.state.status;e.in?(t===A&&this.setState({status:w}),t!==C&&t!==E&&(this.nextStatus=C)):t!==C&&t!==E||(this.nextStatus=L)}},{key:\"componentDidUpdate\",value:function(){this.updateStatus()}},{key:\"componentWillUnmount\",value:function(){this.cancelNextCallback()}},{key:\"updateStatus\",value:function(){var e=this;if(null!==this.nextStatus){this.cancelNextCallback();var t=v.default.findDOMNode(this);this.nextStatus===C?(this.props.onEnter(t),this.safeSetState({status:C},function(){e.props.onEntering(t),e.onTransitionEnd(t,function(){e.safeSetState({status:E},function(){e.props.onEntered(t)})})})):(this.props.onExit(t),this.safeSetState({status:L},function(){e.props.onExiting(t),e.onTransitionEnd(t,function(){e.safeSetState({status:w},function(){e.props.onExited(t)})})})),this.nextStatus=null}else this.props.unmountOnExit&&this.state.status===w&&this.setState({status:A})}},{key:\"cancelNextCallback\",value:function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)}},{key:\"safeSetState\",value:function(e,t){this.setState(e,this.setNextCallback(t))}},{key:\"setNextCallback\",value:function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback}},{key:\"onTransitionEnd\",value:function(e,t){this.setNextCallback(t),e?((0,h.default)(e,M,this.nextCallback),setTimeout(this.nextCallback,this.props.timeout)):setTimeout(this.nextCallback,0)}},{key:\"render\",value:function(){var e=this.state.status;if(e===A)return null;var n=this.props,r=n.children,i=n.className,a=o(n,[\"children\",\"className\"]);Object.keys(t.propTypes).forEach(function(e){return delete a[e]});var s=void 0;e===w?s=this.props.exitedClassName:e===C?s=this.props.enteringClassName:e===E?s=this.props.enteredClassName:e===L&&(s=this.props.exitingClassName);var u=b.default.Children.only(r);return b.default.cloneElement(u,l({},a,{className:(0,f.default)(u.props.className,i,s)}))}}]),t}(b.default.Component);T.propTypes={in:b.default.PropTypes.bool,mountOnEnter:b.default.PropTypes.bool,unmountOnExit:b.default.PropTypes.bool,transitionAppear:b.default.PropTypes.bool,timeout:b.default.PropTypes.number,exitedClassName:b.default.PropTypes.string,exitingClassName:b.default.PropTypes.string,enteredClassName:b.default.PropTypes.string,enteringClassName:b.default.PropTypes.string,onEnter:b.default.PropTypes.func,onEntering:b.default.PropTypes.func,onEntered:b.default.PropTypes.func,onExit:b.default.PropTypes.func,onExiting:b.default.PropTypes.func,onExited:b.default.PropTypes.func},T.displayName=\"Transition\",T.defaultProps={in:!1,unmountOnExit:!1,transitionAppear:!1,timeout:5e3,onEnter:u,onEntering:u,onEntered:u,onExit:u,onExiting:u,onExited:u},t.default=T},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n,r){return(0,i.default)(e,t,n,r),{remove:function(){(0,s.default)(e,t,n,r)}}};var o=n(159),i=r(o),a=n(199),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e&&\"body\"===e.tagName.toLowerCase()}function i(e){var t=(0,c.default)(e),n=(0,u.default)(t),r=n.innerWidth;if(!r){var o=t.documentElement.getBoundingClientRect();r=o.right-Math.abs(o.left)}return t.body.clientWidth<r}function a(e){var t=(0,u.default)(e);return t||o(e)?i(e):e.scrollHeight>e.clientHeight}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=a;var s=n(131),u=r(s),l=n(80),c=r(l);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var r={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(r).forEach(function(e){o.forEach(function(t){r[n(t,e)]=r[e]})});var i={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},a={isUnitlessNumber:r,shorthandPropertyExpansions:i};e.exports=a},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=n(24),i=n(112),a=(n(17),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o(\"24\"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=i.addPoolingTo(a)},function(e,t,n){\"use strict\";function r(e){return!!l.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(l[e]=!0,!0):(u[e]=!0,!1))}function o(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&t===!1}var i=n(138),a=(n(34),n(65),n(1543)),s=(n(20),new RegExp(\"^[\"+i.ATTRIBUTE_NAME_START_CHAR+\"][\"+i.ATTRIBUTE_NAME_CHAR+\"]*$\")),u={},l={},c={createMarkupForID:function(e){return i.ID_ATTRIBUTE_NAME+\"=\"+a(e)},setAttributeForID:function(e,t){e.setAttribute(i.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return i.ROOT_ATTRIBUTE_NAME+'=\"\"'},setAttributeForRoot:function(e){e.setAttribute(i.ROOT_ATTRIBUTE_NAME,\"\")},createMarkupForProperty:function(e,t){var n=i.properties.hasOwnProperty(e)?i.properties[e]:null;if(n){if(o(n,t))return\"\";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&t===!0?r+'=\"\"':r+\"=\"+a(t)}return i.isCustomAttribute(e)?null==t?\"\":e+\"=\"+a(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+\"=\"+a(t):\"\"},setValueForProperty:function(e,t,n){var r=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(r){var a=r.mutationMethod;if(a)a(e,n);else{if(o(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,\"\"+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&n===!0?e.setAttribute(s,\"\"):e.setAttribute(s,\"\"+n)}}}else if(i.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(r(t)){null==n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var o=n.propertyName;n.hasBooleanValue?e[o]=!1:e[o]=\"\"}else e.removeAttribute(n.attributeName)}else i.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=c},function(e,t){\"use strict\";var n={hasCachedChildNodes:1};e.exports=n},function(e,t,n){\"use strict\";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&o(this,Boolean(e.multiple),t)}}function o(e,t,n){var r,o,i=u.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[\"\"+n[o]]=!0;for(o=0;o<i.length;o++){var a=r.hasOwnProperty(i[o].value);i[o].selected!==a&&(i[o].selected=a)}}else{for(r=\"\"+n,o=0;o<i.length;o++)if(i[o].value===r)return void(i[o].selected=!0);i.length&&(i[0].selected=!0)}}function i(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),l.asap(r,this),n}var a=n(28),s=n(316),u=n(34),l=n(77),c=(n(20),!1),d={getHostProps:function(e,t){return a({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:i.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||c||(c=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,o(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?o(e,Boolean(t.multiple),t.defaultValue):o(e,Boolean(t.multiple),t.multiple?[]:\"\"))}};e.exports=d},function(e,t){\"use strict\";var n,r={injectEmptyComponentFactory:function(e){n=e}},o={create:function(e){return n(e)}};o.injection=r,e.exports=o},function(e,t){\"use strict\";var n={logTopLevelRenders:!1};e.exports=n},function(e,t,n){\"use strict\";function r(e){return s?void 0:a(\"111\",e.type),new s(e)}function o(e){return new u(e)}function i(e){return e instanceof u}var a=n(24),s=(n(17),null),u=null,l={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},c={createInternalComponent:r,createInstanceForText:o,isTextComponent:i,injection:l};e.exports=c},function(e,t,n){\"use strict\";function r(e){return i(document.documentElement,e)}var o=n(1503),i=n(1253),a=n(418),s=n(419),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&\"text\"===e.type||\"textarea\"===t||\"true\"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,o),a(n))},getSelection:function(e){var t;if(\"selectionStart\"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&\"input\"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart(\"character\",-e.value.length),end:-n.moveEnd(\"character\",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),\"selectionStart\"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&\"input\"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart(\"character\",n),i.moveEnd(\"character\",r-n),i.select()}else o.setOffsets(e,t)}};e.exports=u},function(e,t,n){(function(t){\"use strict\";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){return e?e.nodeType===I?e.documentElement:e.firstChild:null}function i(e){return e.getAttribute&&e.getAttribute(k)||\"\"}function a(e,n,r,o,i){var a;if(M.logTopLevelRenders){var s=e._currentElement.props.child,u=s.type;a=\"React mount: \"+(\"string\"==typeof u?u:u.displayName||u.name),t.time(a)}var l=C.mountComponent(e,r,null,y(e,n),i,0);a&&t.timeEnd(a),e._renderedComponent._topLevelWrapper=e,F._mountImageIntoNode(l,n,e,o,r)}function s(e,t,n,r){var o=L.ReactReconcileTransaction.getPooled(!n&&v.useCreateElement);o.perform(a,null,e,t,o,n,r),L.ReactReconcileTransaction.release(o)}function u(e,t,n){for(C.unmountComponent(e,n),t.nodeType===I&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function l(e){var t=o(e);if(t){var n=b.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function c(e){return!(!e||e.nodeType!==x&&e.nodeType!==I&&e.nodeType!==z)}function d(e){var t=o(e),n=t&&b.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function f(e){var t=d(e);return t?t._hostContainerInfo._topLevelWrapper:null}var p=n(24),h=n(137),m=n(138),g=n(143),_=n(214),b=(n(82),n(34)),y=n(1497),v=n(1499),M=n(597),A=n(170),w=(n(65),n(1513)),C=n(139),E=n(319),L=n(77),T=n(162),O=n(607),S=(n(17),n(218)),N=n(325),k=(n(20),m.ID_ATTRIBUTE_NAME),D=m.ROOT_ATTRIBUTE_NAME,x=1,I=9,z=11,P={},j=1,B=function(){this.rootID=j++};B.prototype.isReactComponent={},B.prototype.render=function(){return this.props.child},B.isReactTopLevelWrapper=!0;var F={TopLevelWrapper:B,_instancesByReactRootID:P,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return F.scrollMonitor(r,function(){E.enqueueElementInternal(e,t,n),o&&E.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,r){c(t)?void 0:p(\"37\"),_.ensureScrollValueMonitoring();var o=O(e,!1);L.batchedUpdates(s,o,t,n,r);var i=o._instance.rootID;return P[i]=o,o},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&A.has(e)?void 0:p(\"38\"),F._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){E.validateCallback(r,\"ReactDOM.render\"),g.isValidElement(t)?void 0:p(\"39\",\"string\"==typeof t?\" Instead of passing a string like 'div', pass React.createElement('div') or <div />.\":\"function\"==typeof t?\" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.\":null!=t&&void 0!==t.props?\" This may be caused by unintentionally loading two independent copies of React.\":\"\");var a,s=g.createElement(B,{child:t});if(e){var u=A.get(e);a=u._processChildContext(u._context)}else a=T;var c=f(n);if(c){var d=c._currentElement,h=d.props.child;if(N(h,t)){var m=c._renderedComponent.getPublicInstance(),_=r&&function(){r.call(m)};return F._updateRootComponent(c,s,a,n,_),m}F.unmountComponentAtNode(n)}var b=o(n),y=b&&!!i(b),v=l(n),M=y&&!c&&!v,w=F._renderNewRootComponent(s,n,M,a)._renderedComponent.getPublicInstance();return r&&r.call(w),w},render:function(e,t,n){return F._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)?void 0:p(\"40\");var t=f(e);if(!t){l(e),1===e.nodeType&&e.hasAttribute(D);return!1}return delete P[t._instance.rootID],L.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)?void 0:p(\"41\"),i){var s=o(t);if(w.canReuseMarkup(e,s))return void b.precacheNode(n,s);var u=s.getAttribute(w.CHECKSUM_ATTR_NAME);s.removeAttribute(w.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(w.CHECKSUM_ATTR_NAME,u);var d=e,f=r(d,l),m=\" (client) \"+d.substring(f-20,f+20)+\"\\n (server) \"+l.substring(f-20,f+20);t.nodeType===I?p(\"42\",m):void 0}if(t.nodeType===I?p(\"43\"):void 0,a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else S(t,e),b.precacheNode(n,t.firstChild)}};e.exports=F}).call(t,n(38))},function(e,t,n){\"use strict\";var r=n(24),o=n(143),i=(n(17),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?i.EMPTY:o.isValidElement(e)?\"function\"==typeof e.type?i.COMPOSITE:i.HOST:void r(\"26\",e)}});e.exports=i},function(e,t){\"use strict\";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){\"use strict\";function r(e,t){return null==t?o(\"30\"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=n(24);n(17);e.exports=r},function(e,t){\"use strict\";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t,n){\"use strict\";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=n(601);e.exports=r},function(e,t,n){\"use strict\";function r(){return!i&&o.canUseDOM&&(i=\"textContent\"in document.documentElement?\"textContent\":\"innerText\"),i}var o=n(46),i=null;e.exports=r},function(e,t,n){\"use strict\";function r(e){if(e){var t=e.getName();if(t)return\" Check the render method of `\"+t+\"`.\"}return\"\"}function o(e){return\"function\"==typeof e&&\"undefined\"!=typeof e.prototype&&\"function\"==typeof e.prototype.mountComponent&&\"function\"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||e===!1)n=l.create(i);else if(\"object\"==typeof e){var s=e,u=s.type;if(\"function\"!=typeof u&&\"string\"!=typeof u){var f=\"\";f+=r(s._owner),a(\"130\",null==u?u:typeof u,f)}\"string\"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new d(s)}else\"string\"==typeof e||\"number\"==typeof e?n=c.createInstanceForText(e):a(\"131\",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=n(24),s=n(28),u=n(1494),l=n(596),c=n(598),d=(n(1611),n(17),n(20),function(e){this.construct(e)});s(d.prototype,u,{_instantiateReactComponent:i}),e.exports=i},function(e,t){\"use strict\";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!r[e.type]:\"textarea\"===t}var r={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){\"use strict\";var r=n(46),o=n(217),i=n(218),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&(\"textContent\"in document.documentElement||(a=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void i(e,o(t))})),e.exports=a},function(e,t,n){\"use strict\";function r(e,t){return e&&\"object\"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var f=typeof e;if(\"undefined\"!==f&&\"boolean\"!==f||(e=null),null===e||\"string\"===f||\"number\"===f||\"object\"===f&&e.$$typeof===s)return n(i,e,\"\"===t?c+r(e,0):t),1;var p,h,m=0,g=\"\"===t?c:t+d;if(Array.isArray(e))for(var _=0;_<e.length;_++)p=e[_],h=g+r(p,_),m+=o(p,h,n,i);else{var b=u(e);if(b){var y,v=b.call(e);if(b!==e.entries)for(var M=0;!(y=v.next()).done;)p=y.value,h=g+r(p,M++),m+=o(p,h,n,i);else for(;!(y=v.next()).done;){var A=y.value;A&&(p=A[1],h=g+l.escape(A[0])+d+r(p,0),m+=o(p,h,n,i))}}else if(\"object\"===f){var w=\"\",C=String(e);a(\"31\",\"[object Object]\"===C?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":C,w)}}return m}function i(e,t,n){return null==e?0:o(e,\"\",t,n)}var a=n(24),s=(n(82),n(1509)),u=n(1540),l=(n(17),n(315)),c=(n(20),\".\"),d=\":\";e.exports=i},function(e,t,n){\"use strict\";function r(e){return(0,h.deprecated)('I18n was renamed to \"NamespacesConsumer\" to make it more clear what the render prop does.'),f.default.createElement(_,e)}var o=n(148),i=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.I18n=r,t.NamespacesConsumer=t.NamespacesConsumerComponent=void 0;var a=i(n(116)),s=i(n(117)),u=i(n(120)),l=i(n(118)),c=i(n(119)),d=i(n(340)),f=o(n(1)),p=n(140),h=n(141),m=!1,g=function(e){function t(e){var n;if((0,a.default)(this,t),n=(0,u.default)(this,(0,l.default)(t).call(this,e)),!e.i18n)return(0,u.default)(n,(0,h.warnOnce)(\"You will need pass in an i18next instance either by props, using I18nextProvider or by using i18nextReactModule. Learn more https://react.i18next.com/components/overview#getting-the-i-18-n-function-into-the-flow\"));(0,h.initSSR)(e),e.i18n.options&&e.i18n.options.isInitialSSR&&(e.i18nOptions.wait=!1);var r=n.getNamespaces();e.reportNS&&r.forEach(e.reportNS);var o=e.i18n.languages&&e.i18n.languages[0],i=!!o&&r.every(function(t){return e.i18n.hasResourceBundle(o,t)});return n.state={i18nLoadedAt:null,ready:i},n.t=n.getI18nTranslate(),n.onI18nChanged=n.onI18nChanged.bind((0,d.default)((0,d.default)(n))),n.getI18nTranslate=n.getI18nTranslate.bind((0,d.default)((0,d.default)(n))),n.namespaces=n.getNamespaces.bind((0,d.default)((0,d.default)(n))),n}return(0,c.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){this.loadNamespaces()}},{key:\"componentDidUpdate\",value:function(e){this.props.ns&&e.ns!==this.props.ns&&this.loadNamespaces()}},{key:\"componentWillUnmount\",value:function(){var e=this,t=this.props,n=t.i18n,r=t.i18nOptions;if(this.mounted=!1,this.onI18nChanged){if(r.bindI18n){var o=r.bindI18n.split(\" \");o.forEach(function(t){return n.off(t,e.onI18nChanged)})}if(r.bindStore){var i=r.bindStore.split(\" \");i.forEach(function(t){return n.store&&n.store.off(t,e.onI18nChanged)})}}}},{key:\"onI18nChanged\",value:function(){var e=this.props.i18nOptions,t=this.state.ready;this.mounted&&(!t&&e.omitBoundRerender||(this.t=this.getI18nTranslate(),this.setState({i18nLoadedAt:new Date})))}},{key:\"getI18nTranslate\",value:function(){var e=this.props,t=e.i18n,n=e.i18nOptions,r=this.getNamespaces();return t.getFixedT(null,\"fallback\"===n.nsMode?r:r&&r.length?r[0]:\"translation\")}},{key:\"getNamespaces\",value:function(){var e=this.props,t=e.i18n,n=e.ns,r=e.defaultNS,o=\"function\"==typeof n?n(this.props):n||r||t.options&&t.options.defaultNS;return\"string\"==typeof o?[o]:o||[]}},{key:\"loadNamespaces\",value:function(){var e=this,t=this.props,n=t.i18n,r=t.i18nOptions,o=this.state.ready,i=function(){r.bindI18n&&n&&n.on(r.bindI18n,e.onI18nChanged),r.bindStore&&n.store&&n.store.on(r.bindStore,e.onI18nChanged)};this.mounted=!0,n.loadNamespaces(this.getNamespaces(),function(){var t=function(){e.mounted&&!o&&e.setState({ready:!0},function(){r.wait||e.onI18nChanged()}),r.wait&&e.mounted&&i()};if(n.isInitialized)t();else{var a=function e(){setTimeout(function(){n.off(\"initialized\",e)},1e3),t()};n.on(\"initialized\",a)}}),r.wait||i()}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.i18n,r=e.defaultNS,o=e.reportNS,i=e.i18nOptions,a=this.state.ready,s=this.t;return!a&&i.wait?null:(n.options&&n.options.isInitialSSR&&!m&&(m=!0,setTimeout(function(){delete n.options.isInitialSSR},100)),f.default.createElement(p.I18nContext.Provider,{value:{i18n:n,t:s,defaultNS:r,reportNS:o,lng:n&&n.language}},t(this.t,{i18n:n,t:s,lng:n.language,ready:a})))}}]),t}(f.Component);t.NamespacesConsumerComponent=g;var _=(0,p.withI18n)()(g);t.NamespacesConsumer=_},function(e,t,n){\"use strict\";e.exports=n(1554)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(12),l=r(u),c=n(1169),d=r(c),f=n(132),p=r(f),h=n(409),m=r(h),g=n(200),_=r(g),b=n(413),y=r(b),v=n(5),M=r(v),A=n(1),w=r(A),C=n(29),E=r(C),L=n(219),T=r(L),O=n(616),S=r(O),N=n(91),k=r(N),D=n(617),x=r(D),I=function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));return a.onWindowScroll=function(){a.onUpdate()},a.onDocumentClick=function(){(0,y.default)(function(){return a.onUpdate()})},a.onUpdate=function(){if(a._isMounted){var e=a.props,t=e.offsetTop,n=e.viewportOffsetTop,r=(0,_.default)((0,x.default)(a)),o=r+(n||0);return o<=t?void a.updateState(\"top\",null,null):o>a.getPositionTopMax()?void(\"bottom\"===a.state.affixed?a.updateStateAtBottom():a.setState({affixed:\"bottom\",position:\"absolute\",top:null},function(){a._isMounted&&a.updateStateAtBottom()})):void a.updateState(\"affix\",\"fixed\",n)}},a.getPositionTopMax=function(){var e=(0,S.default)((0,k.default)(a)),t=(0,d.default)(E.default.findDOMNode(a));return e-t-a.props.offsetBottom},a.updateState=function(e,t,n){if(e!==a.state.affixed||t!==a.state.position||n!==a.state.top){var r=\"affix\"===e?\"\":e.charAt(0).toUpperCase()+e.substr(1);a.props[\"onAffix\"+r]&&a.props[\"onAffix\"+r](),a.setState({affixed:e,position:t,top:n},function(){a.props[\"onAffixed\"+r]&&a.props[\"onAffixed\"+r]()})}},a.updateStateAtBottom=function(){var e=a.getPositionTopMax(),t=(0,m.default)(E.default.findDOMNode(a)),n=(0,p.default)(t).top;a.updateState(\"bottom\",\"absolute\",e-n)},a.state={affixed:\"top\",position:null,top:null},a._needPositionUpdate=!1,a}return a(t,e),t.prototype.componentDidMount=function(){var e=this;this._isMounted=!0,this._windowScrollListener=(0,T.default)((0,x.default)(this),\"scroll\",function(){return e.onWindowScroll()}),this._documentClickListener=(0,T.default)((0,k.default)(this),\"click\",function(){return e.onDocumentClick()}),this.onUpdate()},t.prototype.componentWillReceiveProps=function(){this._needPositionUpdate=!0},t.prototype.componentDidUpdate=function(){this._needPositionUpdate&&(this._needPositionUpdate=!1,this.onUpdate())},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this._windowScrollListener&&this._windowScrollListener.remove(),this._documentClickListener&&this._documentClickListener.remove()},t.prototype.render=function(){var e=w.default.Children.only(this.props.children),t=e.props,n=t.className,r=t.style,o=this.state,i=o.affixed,a=o.position,u=o.top,c={position:a,top:u},d=void 0,f=void 0;return\"top\"===i?(d=this.props.topClassName,f=this.props.topStyle):\"bottom\"===i?(d=this.props.bottomClassName,f=this.props.bottomStyle):(d=this.props.affixClassName,f=this.props.affixStyle),w.default.cloneElement(e,{className:(0,l.default)(d,n),style:s({},c,f,r)})},t}(w.default.Component);I.propTypes={offsetTop:M.default.number,viewportOffsetTop:M.default.number,offsetBottom:M.default.number,topClassName:M.default.string,topStyle:M.default.object,affixClassName:M.default.string,affixStyle:M.default.object,bottomClassName:M.default.string,bottomStyle:M.default.object,onAffix:M.default.func,onAffixed:M.default.func,onAffixTop:M.default.func,onAffixedTop:M.default.func,onAffixBottom:M.default.func,onAffixedBottom:M.default.func},I.defaultProps={offsetTop:0,viewportOffsetTop:null,offsetBottom:0},t.default=I,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);\n}return e},l=n(12),c=r(l),d=n(5),f=r(d),p=n(165),h=r(p),m=n(1),g=r(m),_=n(29),b=r(_),y=n(1566),v=r(y),M=n(172),A=r(M),w=n(91),C=r(w),E=function(e){function t(n,r){i(this,t);var o=a(this,e.call(this,n,r));return o.getTarget=function(){var e=o.props.target,t=\"function\"==typeof e?e():e;return t&&b.default.findDOMNode(t)||null},o.maybeUpdatePosition=function(e){var t=o.getTarget();(o.props.shouldUpdatePosition||t!==o._lastTarget||e)&&o.updatePosition(t)},o.state={positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null},o._needsFlush=!1,o._lastTarget=null,o}return s(t,e),t.prototype.componentDidMount=function(){this.updatePosition(this.getTarget())},t.prototype.componentWillReceiveProps=function(){this._needsFlush=!0},t.prototype.componentDidUpdate=function(e){this._needsFlush&&(this._needsFlush=!1,this.maybeUpdatePosition(this.props.placement!==e.placement))},t.prototype.render=function(){var e=this.props,t=e.children,n=e.className,r=o(e,[\"children\",\"className\"]),i=this.state,a=i.positionLeft,s=i.positionTop,l=o(i,[\"positionLeft\",\"positionTop\"]);delete r.target,delete r.container,delete r.containerPadding,delete r.shouldUpdatePosition;var d=g.default.Children.only(t);return(0,m.cloneElement)(d,u({},r,l,{positionLeft:a,positionTop:s,className:(0,c.default)(n,d.props.className),style:u({},d.props.style,{left:a,top:s})}))},t.prototype.updatePosition=function(e){if(this._lastTarget=e,!e)return void this.setState({positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null});var t=b.default.findDOMNode(this),n=(0,A.default)(this.props.container,(0,C.default)(this).body);this.setState((0,v.default)(this.props.placement,t,e,n,this.props.containerPadding))},t}(g.default.Component);E.propTypes={target:f.default.oneOfType([h.default,f.default.func]),container:f.default.oneOfType([h.default,f.default.func]),containerPadding:f.default.number,placement:f.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),shouldUpdatePosition:f.default.bool},E.displayName=\"Position\",E.defaultProps={containerPadding:0,placement:\"right\",shouldUpdatePosition:!1},t.default=E,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return 0===e.button}function u(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}t.__esModule=!0;var l=n(89),c=r(l),d=n(5),f=r(d),p=n(1),h=r(p),m=n(29),g=r(m),_=n(219),b=r(_),y=n(91),v=r(y),M=27,A=function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));return a.addEventListeners=function(){var e=a.props.event,t=(0,v.default)(a);a.documentMouseCaptureListener=(0,b.default)(t,e,a.handleMouseCapture,!0),a.documentMouseListener=(0,b.default)(t,e,a.handleMouse),a.documentKeyupListener=(0,b.default)(t,\"keyup\",a.handleKeyUp)},a.removeEventListeners=function(){a.documentMouseCaptureListener&&a.documentMouseCaptureListener.remove(),a.documentMouseListener&&a.documentMouseListener.remove(),a.documentKeyupListener&&a.documentKeyupListener.remove()},a.handleMouseCapture=function(e){a.preventMouseRootClose=u(e)||!s(e)||(0,c.default)(g.default.findDOMNode(a),e.target)},a.handleMouse=function(e){!a.preventMouseRootClose&&a.props.onRootClose&&a.props.onRootClose(e)},a.handleKeyUp=function(e){e.keyCode===M&&a.props.onRootClose&&a.props.onRootClose(e)},a.preventMouseRootClose=!1,a}return a(t,e),t.prototype.componentDidMount=function(){this.props.disabled||this.addEventListeners()},t.prototype.componentDidUpdate=function(e){!this.props.disabled&&e.disabled?this.addEventListeners():this.props.disabled&&!e.disabled&&this.removeEventListeners()},t.prototype.componentWillUnmount=function(){this.props.disabled||this.removeEventListeners()},t.prototype.render=function(){return this.props.children},t}(h.default.Component);A.displayName=\"RootCloseWrapper\",A.propTypes={onRootClose:f.default.func,children:f.default.element,disabled:f.default.bool,event:f.default.oneOf([\"click\",\"mousedown\"])},A.defaultProps={event:\"click\"},t.default=A,e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){return Math.max(e.documentElement.offsetHeight||0,e.height||0,e.body.scrollHeight||0,e.body.offsetHeight||0)},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){return(0,s.default)(i.default.findDOMNode(e))};var o=n(29),i=r(o),a=n(1168),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(5),i=r(o);t.default=i.default.shape({subscribe:i.default.func.isRequired,dispatch:i.default.func.isRequired,getState:i.default.func.isRequired})},function(e,t,n){(function(e){\"use strict\";function n(t){\"undefined\"!=typeof e&&\"function\"==typeof e.error&&e.error(t);try{throw new Error(t)}catch(e){}}t.__esModule=!0,t.default=n}).call(t,n(38))},function(e,t){\"use strict\";function n(e){return function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return{type:r,payload:{method:e,args:n}}}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=t.CALL_HISTORY_METHOD=\"@@router/CALL_HISTORY_METHOD\",o=t.push=n(\"push\"),i=t.replace=n(\"replace\"),a=t.go=n(\"go\"),s=t.goBack=n(\"goBack\"),u=t.goForward=n(\"goForward\");t.routerActions={push:o,replace:i,go:a,goBack:s,goForward:u}},function(e,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.type,a=t.payload;return n===o?r({},e,{locationBeforeTransitions:a}):e}Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.routerReducer=n;var o=t.LOCATION_CHANGE=\"@@router/LOCATION_CHANGE\",i={locationBeforeTransitions:null}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e){return 0===e.button}function a(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function s(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function u(e,t){var n=t.query,r=t.hash,o=t.state;return n||r||o?{pathname:e,query:n,hash:r,state:o}:e}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(1),d=r(c),f=n(42),p=(r(f),n(33)),h=r(p),m=n(330),g=d.default.PropTypes,_=g.bool,b=g.object,y=g.string,v=g.func,M=g.oneOfType,A=d.default.createClass({displayName:\"Link\",contextTypes:{router:m.routerShape},propTypes:{to:M([y,b]).isRequired,query:b,hash:y,state:b,activeStyle:b,activeClassName:y,onlyActiveOnIndex:_.isRequired,onClick:v,target:y},getDefaultProps:function(){return{onlyActiveOnIndex:!1,style:{}}},handleClick:function(e){if(this.props.onClick&&this.props.onClick(e),!e.defaultPrevented&&(this.context.router?void 0:(0,h.default)(!1),!a(e)&&i(e)&&!this.props.target)){e.preventDefault();var t=this.props,n=t.to,r=t.query,o=t.hash,s=t.state,l=u(n,{query:r,hash:o,state:s});this.context.router.push(l)}},render:function(){var e=this.props,t=e.to,n=e.query,r=e.hash,i=e.state,a=e.activeClassName,c=e.activeStyle,f=e.onlyActiveOnIndex,p=o(e,[\"to\",\"query\",\"hash\",\"state\",\"activeClassName\",\"activeStyle\",\"onlyActiveOnIndex\"]),h=this.context.router;if(h){var m=u(t,{query:n,hash:r,state:i});p.href=h.createHref(m),(a||null!=c&&!s(c))&&h.isActive(m,f)&&(a&&(p.className?p.className+=\" \"+a:p.className=a),c&&(p.style=l({},p.style,c)))}return d.default.createElement(\"a\",l({},p,{onClick:this.handleClick}))}});t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(33),s=r(a),u=n(92),l=n(142),c=n(113),d=i.default.PropTypes,f=d.string,p=d.object,h=i.default.createClass({displayName:\"Redirect\",statics:{createRouteFromReactElement:function(e){var t=(0,u.createRouteFromReactElement)(e);return t.from&&(t.path=t.from),t.onEnter=function(e,n){var r=e.location,o=e.params,i=void 0;if(\"/\"===t.to.charAt(0))i=(0,l.formatPattern)(t.to,o);else if(t.to){var a=e.routes.indexOf(t),s=h.getRoutePattern(e.routes,a-1),u=s.replace(/\\/*$/,\"/\")+t.to;i=(0,l.formatPattern)(u,o)}else i=r.pathname;n({pathname:i,query:t.query||r.query,state:t.state||r.state})},t},getRoutePattern:function(e,t){for(var n=\"\",r=t;r>=0;r--){var o=e[r],i=o.path||\"\";if(n=i.replace(/\\/*$/,\"/\")+n,0===i.indexOf(\"/\"))break}return\"/\"+n}},propTypes:{path:f,from:f,to:f.isRequired,query:p,state:p,onEnter:c.falsy,children:c.falsy},render:function(){(0,s.default)(!1)}});t.default=h,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return a({},e,{setRouteLeaveHook:t.listenBeforeLeavingRoute,isActive:t.isActive})}function i(e,t){return e=a({},e,t)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.createRouterObject=o,t.createRoutingHistory=i;var s=n(224);r(s)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(0,c.default)(e),n=function(){return t},r=(0,a.default)((0,u.default)(n))(e);return r.__v2_compatible__=!0,r}t.__esModule=!0,t.default=o;var i=n(133),a=r(i),s=n(293),u=r(s),l=n(425),c=r(l);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){var t=void 0;return a&&(t=(0,i.default)(e)()),t};var o=n(628),i=r(o),a=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return i({},e,t)}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=o;var a=(n(224),n(42));r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return function(t){var n=(0,a.default)((0,u.default)(e))(t);return n.__v2_compatible__=!0,n}}t.__esModule=!0,t.default=o;var i=n(133),a=r(i),s=n(293),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp(\"^\"+t.call(n).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");try{var o=t.call(e);return r.test(o)}catch(e){return!1}}function o(e){var t=l(e);if(t){var n=t.childIDs;c(e),n.forEach(o)}}function i(e,t,n){return\"\\n    in \"+(e||\"Unknown\")+(t?\" (at \"+t.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+t.lineNumber+\")\":n?\" (created by \"+n+\")\":\"\")}function a(e){return null==e?\"#empty\":\"string\"==typeof e||\"number\"==typeof e?\"#text\":\"string\"==typeof e.type?e.type:e.type.displayName||e.type.name||\"Unknown\"}function s(e){var t,n=E.getDisplayName(e),r=E.getElement(e),o=E.getOwnerID(e);return o&&(t=E.getDisplayName(o)),i(n,r&&r._source,t)}var u,l,c,d,f,p,h,m=n(145),g=n(82),_=(n(17),n(20),\"function\"==typeof Array.from&&\"function\"==typeof Map&&r(Map)&&null!=Map.prototype&&\"function\"==typeof Map.prototype.keys&&r(Map.prototype.keys)&&\"function\"==typeof Set&&r(Set)&&null!=Set.prototype&&\"function\"==typeof Set.prototype.keys&&r(Set.prototype.keys));if(_){var b=new Map,y=new Set;u=function(e,t){b.set(e,t)},l=function(e){return b.get(e)},c=function(e){b.delete(e)},d=function(){return Array.from(b.keys())},f=function(e){y.add(e)},p=function(e){y.delete(e)},h=function(){return Array.from(y.keys())}}else{var v={},M={},A=function(e){return\".\"+e},w=function(e){return parseInt(e.substr(1),10)};u=function(e,t){var n=A(e);v[n]=t},l=function(e){var t=A(e);return v[t]},c=function(e){var t=A(e);delete v[t]},d=function(){return Object.keys(v).map(w)},f=function(e){var t=A(e);M[t]=!0},p=function(e){var t=A(e);delete M[t]},h=function(){return Object.keys(M).map(w)}}var C=[],E={onSetChildren:function(e,t){var n=l(e);n?void 0:m(\"144\"),n.childIDs=t;for(var r=0;r<t.length;r++){var o=t[r],i=l(o);i?void 0:m(\"140\"),null==i.childIDs&&\"object\"==typeof i.element&&null!=i.element?m(\"141\"):void 0,i.isMounted?void 0:m(\"71\"),null==i.parentID&&(i.parentID=e),i.parentID!==e?m(\"142\",o,i.parentID,e):void 0}},onBeforeMountComponent:function(e,t,n){var r={element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0};u(e,r)},onBeforeUpdateComponent:function(e,t){var n=l(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=l(e);t?void 0:m(\"144\"),t.isMounted=!0;var n=0===t.parentID;n&&f(e)},onUpdateComponent:function(e){var t=l(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=l(e);if(t){t.isMounted=!1;var n=0===t.parentID;n&&p(e)}C.push(e)},purgeUnmountedComponents:function(){if(!E._preventPurging){for(var e=0;e<C.length;e++){var t=C[e];o(t)}C.length=0}},isMounted:function(e){var t=l(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t=\"\";if(e){var n=a(e),r=e._owner;t+=i(n,e._source,r&&r.getName())}var o=g.current,s=o&&o._debugID;return t+=E.getStackAddendumByID(s)},getStackAddendumByID:function(e){for(var t=\"\";e;)t+=s(e),e=E.getParentID(e);return t},getChildIDs:function(e){var t=l(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=E.getElement(e);return t?a(t):null},getElement:function(e){var t=l(e);return t?t.element:null},getOwnerID:function(e){var t=E.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=l(e);return t?t.parentID:null},getSource:function(e){var t=l(e),n=t?t.element:null,r=null!=n?n._source:null;return r},getText:function(e){var t=E.getElement(e);return\"string\"==typeof t?t:\"number\"==typeof t?\"\"+t:null},getUpdateCount:function(e){var t=l(e);return t?t.updateCount:0},getRootIDs:h,getRegisteredIDs:d};e.exports=E},function(e,t){\"use strict\";var n=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;e.exports=n},function(e,t,n){\"use strict\";var r=!1;e.exports=r},function(e,t,n){\"use strict\";t.__esModule=!0,t.untouch=t.touch=t.swapArrayValues=t.submitFailed=t.stopSubmit=t.stopAsyncValidation=t.startSubmit=t.startAsyncValidation=t.reset=t.removeArrayValue=t.initialize=t.focus=t.destroy=t.change=t.blur=t.autofill=t.addArrayValue=void 0;var r=n(334);t.addArrayValue=function(e,t,n,o){return{type:r.ADD_ARRAY_VALUE,path:e,value:t,index:n,fields:o}},t.autofill=function(e,t){return{type:r.AUTOFILL,field:e,value:t}},t.blur=function(e,t){return{type:r.BLUR,field:e,value:t}},t.change=function(e,t){return{type:r.CHANGE,field:e,value:t}},t.destroy=function(){return{type:r.DESTROY}},t.focus=function(e){return{type:r.FOCUS,field:e}},t.initialize=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Array.isArray(t))throw new Error(\"must provide fields array to initialize() action creator\");return{type:r.INITIALIZE,data:e,fields:t,overwriteValues:n}},t.removeArrayValue=function(e,t){return{type:r.REMOVE_ARRAY_VALUE,path:e,index:t}},t.reset=function(){return{type:r.RESET}},t.startAsyncValidation=function(e){return{type:r.START_ASYNC_VALIDATION,field:e}},t.startSubmit=function(){return{type:r.START_SUBMIT}},t.stopAsyncValidation=function(e){return{type:r.STOP_ASYNC_VALIDATION,errors:e}},t.stopSubmit=function(e){return{type:r.STOP_SUBMIT,errors:e}},t.submitFailed=function(){return{type:r.SUBMIT_FAILED}},t.swapArrayValues=function(e,t,n){return{type:r.SWAP_ARRAY_VALUES,path:e,indexA:t,indexB:n}},t.touch=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{type:r.TOUCH,fields:t}},t.untouch=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{type:r.UNTOUCH,fields:t}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return\"function\"==typeof e?function(){return i({},e.apply(void 0,arguments),t)}:\"object\"==typeof e?(0,s.default)(e,function(e){return o(e,t)}):e}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=o;var a=n(335),s=r(a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(336),a=n(642),s=r(a),u=function(e,t,n){var r,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],u=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return o({},(0,s.default)(e,t,n,a),(r={_asyncValidating:!1,_active:void 0},r[i.globalErrorKey]=void 0,r._initialized=u,r._submitting=!1,r._submitFailed=!1,r))};t.default=u},function(e,t){\"use strict\";t.__esModule=!0;var n=t.dataKey=\"value\",r=function(e,t){return function(e){e.dataTransfer.setData(n,t())}};t.default=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(637),i=r(o),a=function(e){var t=[];if(e)for(var n=0;n<e.length;n++){var r=e[n];r.selected&&t.push(r.value)}return t},s=function(e,t){if((0,i.default)(e)){if(!t&&e.nativeEvent&&void 0!==e.nativeEvent.text)return e.nativeEvent.text;if(t&&void 0!==e.nativeEvent)return e.nativeEvent.text;var n=e.target,r=n.type,o=n.value,s=n.checked,u=n.files,l=e.dataTransfer;return\"checkbox\"===r?s:\"radio\"===r?s?o:\"\":\"file\"===r?u||l&&l.files:\"select-multiple\"===r?a(e.target.options):\"\"===o||\"number\"!==r&&\"range\"!==r?o:parseFloat(o)}return e&&\"object\"==typeof e&&void 0!==e.value?e.value:e};t.default=s},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e){return!!(e&&e.stopPropagation&&e.preventDefault)};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(637),i=r(o),a=function(e){var t=(0,i.default)(e);return t&&e.preventDefault(),t};t.default=a},function(e,t){\"use strict\";function n(e){return e.displayName||e.name||\"Component\"}t.__esModule=!0,t.default=n},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e){var t=e.value,n=e.initialValue;return\"undefined\"!=typeof t?t:n},r=function e(t,r,o){var i=t.indexOf(\".\"),a=t.indexOf(\"[\"),s=t.indexOf(\"]\");if(a>0&&s!==a+1)throw new Error(\"found [ not followed by ]\");if(a>0&&(i<0||a<i)){var u=t.substring(0,a),l=t.substring(s+1);\".\"===l[0]&&(l=l.substring(1));var c=r&&r[u]||[];l?(o[u]||(o[u]=[]),c.forEach(function(t,n){o[u][n]||(o[u][n]={}),e(l,t,o[u][n])})):o[u]=c.map(n)}else if(i>0){var d=t.substring(0,i),f=t.substring(i+1);o[d]||(o[d]={}),e(f,r&&r[d]||{},o[d])}else o[t]=r[t]&&n(r[t])},o=function(e,t){return e.reduce(function(e,n){return r(n,t,e),e},{})};t.default=o},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(146),o=function e(t){if(!t)return t;var n=Object.keys(t);if(n.length)return n.reduce(function(n,o){var i=t[o];if(i)if((0,r.isFieldValue)(i))void 0!==i.value&&(n[o]=i.value);else if(Array.isArray(i))n[o]=i.map(function(t){return(0,r.isFieldValue)(t)?t.value:e(t)});else if(\"object\"==typeof i){var a=e(i);a&&Object.keys(a).length>0&&(n[o]=a)}return n},{})};t.default=o},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(146),i=function(e,t,n){return void 0===e&&void 0===t?(0,o.makeFieldValue)({}):(0,o.makeFieldValue)({initial:e,value:n?e:t})},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t)throw new Error(\"fields must be passed when initializing state\");if(!e||!t.length)return n;var a=function e(t,n,a){var s=t.indexOf(\".\");if(0===s)return e(t.substring(1),n,a);var u=t.indexOf(\"[\"),l=t.indexOf(\"]\"),c=r({},a)||{};if(s>=0&&(u<0||s<u)){var d=t.substring(0,s);c[d]=n[d]&&e(t.substring(s+1),n[d],c[d]||{})}else if(u>=0&&(s<0||u<s)){if(l<0)throw new Error(\"found '[' but no ']': '\"+t+\"'\");var f=t.substring(0,u),p=n[f],h=c[f],m=t.substring(l+1);Array.isArray(p)?m.length?c[f]=p.map(function(t,n){return e(m,t,h&&h[n])}):c[f]=p.map(function(e,t){return i(e,h&&h[t]&&h[t].value,o)}):c[f]=[]}else c[t]=i(n&&n[t],a&&a[t]&&a[t].value,o);return c};return t.reduce(function(t,n){return a(n,e,t)},r({},n))};t.default=a},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e){if(\"boolean\"==typeof e)return e;if(\"string\"==typeof e){var t=e.toLowerCase();if(\"true\"===t)return!0;if(\"false\"===t)return!1}};t.default=n},function(e,t){\"use strict\";t.__esModule=!0;var n=function e(t,n){if(!t||!n)return n;var r=t.indexOf(\".\");if(0===r)return e(t.substring(1),n);var o=t.indexOf(\"[\"),i=t.indexOf(\"]\");if(r>=0&&(o<0||r<o))return e(t.substring(r+1),n[t.substring(0,r)]);if(o>=0&&(r<0||o<r)){if(i<0)throw new Error(\"found [ but no ]\");var a=t.substring(0,o),s=t.substring(o+1,i);if(!s.length)return n[a];if(0===o)return e(t.substring(i+1),n[s]);if(!n[a])return;return e(t.substring(i+1),n[a][s])}return n[t]};t.default=n},function(e,t){\"use strict\";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r=function e(t,r,o){var i,a=t.indexOf(\".\");if(0===a)return e(t.substring(1),r,o);var s=t.indexOf(\"[\"),u=t.indexOf(\"]\");if(a>=0&&(s<0||a<s)){var l,c=t.substring(0,a);return n({},o,(l={},l[c]=e(t.substring(a+1),r,o[c]||{}),l))}if(s>=0&&(a<0||s<a)){var d;if(u<0)throw new Error(\"found [ but no ]\");var f=t.substring(0,s),p=t.substring(s+1,u),h=o[f]||[],m=t.substring(u+1);if(p){var g;if(m.length){var _,b=h[p]||{},y=[].concat(h);return y[p]=e(m,r,b),n({},o||{},(_={},_[f]=y,_))}var v=[].concat(h);return v[p]=\"function\"==typeof r?r(v[p]):r,n({},o||{},(g={},g[f]=v,g))}if(m.length){var M;if(!(h&&h.length||\"function\"!=typeof r))return o;var A=h.map(function(t){return e(m,r,t)});return n({},o||{},(M={},M[f]=A,M))}var w=void 0;if(Array.isArray(r))w=r;else if(o[f])w=h.map(function(e){return\"function\"==typeof r?r(e):r});else{if(\"function\"==typeof r)return o;w=r}return n({},o||{},(d={},d[f]=w,d))}return n({},o,(i={},i[t]=\"function\"==typeof r?r(o[t]):r,i))};t.default=r},function(e,t){\"use strict\";e.exports=function(e){return e===e.window?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}},function(e,t,n){function r(){this.init(),this._w=h,d.call(this,64,56)}function o(e,t,n){return n^e&(t^n)}function i(e,t,n){return e&t|n&(e|t)}function a(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function s(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function u(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function l(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}var c=n(109),d=n(147),f=n(114).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],h=new Array(64);c(r,d),r.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},r.prototype._update=function(e){for(var t=this._w,n=0|this._a,r=0|this._b,c=0|this._c,d=0|this._d,f=0|this._e,h=0|this._f,m=0|this._g,g=0|this._h,_=0;_<16;++_)t[_]=e.readInt32BE(4*_);for(;_<64;++_)t[_]=l(t[_-2])+t[_-7]+u(t[_-15])+t[_-16]|0;for(var b=0;b<64;++b){var y=g+s(f)+o(f,h,m)+p[b]+t[b]|0,v=a(n)+i(n,r,c)|0;g=m,m=h,h=f,f=d+y|0,d=c,c=r,r=n,n=y+v|0}this._a=n+this._a|0,this._b=r+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=f+this._e|0,this._f=h+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},r.prototype._hash=function(){var e=f.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=_,h.call(this,128,112)}function o(e,t,n){return n^e&(t^n)}function i(e,t,n){return e&t|n&(e|t)}function a(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function s(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function u(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function l(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function c(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function d(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function f(e,t){return e>>>0<t>>>0?1:0}var p=n(109),h=n(147),m=n(114).Buffer,g=[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],_=new Array(160);p(r,h),r.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},r.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,p=0|this._ch,h=0|this._dh,m=0|this._eh,_=0|this._fh,b=0|this._gh,y=0|this._hh,v=0|this._al,M=0|this._bl,A=0|this._cl,w=0|this._dl,C=0|this._el,E=0|this._fl,L=0|this._gl,T=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var S=t[O-30],N=t[O-30+1],k=u(S,N),D=l(N,S);S=t[O-4],N=t[O-4+1];var x=c(S,N),I=d(N,S),z=t[O-14],P=t[O-14+1],j=t[O-32],B=t[O-32+1],F=D+P|0,R=k+z+f(F,D)|0;F=F+I|0,R=R+x+f(F,I)|0,F=F+B|0,R=R+j+f(F,B)|0,t[O]=R,t[O+1]=F}for(var W=0;W<160;W+=2){R=t[W],F=t[W+1];var Y=i(n,r,p),H=i(v,M,A),q=a(n,v),U=a(v,n),X=s(m,C),V=s(C,m),G=g[W],$=g[W+1],K=o(m,_,b),Q=o(C,E,L),Z=T+V|0,J=y+X+f(Z,T)|0;Z=Z+Q|0,J=J+K+f(Z,Q)|0,Z=Z+$|0,J=J+G+f(Z,$)|0,Z=Z+F|0,J=J+R+f(Z,F)|0;var ee=U+H|0,te=q+Y+f(ee,U)|0;y=b,T=L,b=_,L=E,_=m,E=C,C=w+Z|0,m=h+J+f(C,w)|0,h=p,w=A,p=r,A=M,r=n,M=v,v=Z+ee|0,n=J+te+f(v,Z)|0}this._al=this._al+v|0,this._bl=this._bl+M|0,this._cl=this._cl+A|0,this._dl=this._dl+w|0,this._el=this._el+C|0,this._fl=this._fl+E|0,this._gl=this._gl+L|0,this._hl=this._hl+T|0,this._ah=this._ah+n+f(this._al,v)|0,this._bh=this._bh+r+f(this._bl,M)|0,this._ch=this._ch+p+f(this._cl,A)|0,this._dh=this._dh+h+f(this._dl,w)|0,this._eh=this._eh+m+f(this._el,C)|0,this._fh=this._fh+_+f(this._fl,E)|0,this._gh=this._gh+b+f(this._gl,L)|0,this._hh=this._hh+y+f(this._hl,T)|0},r.prototype._hash=function(){function e(e,n,r){t.writeInt32BE(e,r),t.writeInt32BE(n,r+4)}var t=m.allocUnsafe(64);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},e.exports=r},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA6VJREFUaAXtWDtyGkEQ7UaqsiARiV04shRKCsQNxA2MM6MEdAKtT2DfwOgElhPJmdAJjE5gFAiFwpGxI5ywlKu07X67LAXywn6YrXIwUwU7n+7efm9menqWyBbLgGXAMmAZsAxYBiwDlgHLgGXAMpCFAc6ilEan8vZ+h1lOiaVGxNVAV3ok3BXhs+GXvUEae2llcwX4stF3FNh7BVZe5phH5Py82D9bNr5uf24AFVybmE7hoAj91keHmLtos0hViFrMtI22kJwPLw5OUDddcgH4otGvbzBdwVkFdzNxi/VRZ3c073y5/lDeKrptBdlE/6PQm1+X+515GRP1XABWjvsDNfxK0d3+uDyY7rtodyuNfldBHikRg+Hl/m60VPbeQnbVaM3nx3dVH5wOixScaKm5XuEWWgpyBzM/N2KkahzgBpHvpO6x7xohu3FeIopCFnIFlpWzHWcratw4wNlLdMnN6nGVNLJxtp6M5wcQezBhYZJyQtHUYsYBesI9eIE9hUM+ziNfhvkQcqFunE6aceMAEeqn556ClI9xznDBa0MGOn/cYjdOPu24cYBwQKPoB98Rpnrl+O6TX4/40zGV49eBrLSfnpURKqm71Jd8ip5v57pMm7COM06Y2jxdvtq1w+w5Cq46Hb/RM7CGuumSG0A4Og9ymeMK/rNmOk4es4d35goQL9AgUtN9htkKliI6/SLX4hXaSc7KUOO/fyL/TBJZTQLJdQaDhHpyqOukBqdxi8BTODhKhLwee4XbPO+ExgEC1LOS2yyQtMIgAlCrS34XYKMAEfbV4KkCK88D8nPNp+mYJgIq+0+2g7vhZFx6ZyroGAGIG8SG8BWylxAYoqOe9N3JeKuzyln/7khUUxJaqr8d6MvoUfjExP1wbYDTKHk1mzWhM/3Wgug4CMEmefr7tTR2dIM6IVAhPhle7J0n0V8msxZAzNwm8TcYR6qlztXXDfuIspoE4PPGIeyue9PPDBCMF0vjrwgkU3DVtLMGAFElmE23p87pHpWROy7trlrmUTbCvsy56FZpUp9FyWDmBqHRdZ8+GI9bgR0uF4vutJ7ecmaATJ4CRJHrdZdlYGfx37ep33T8Xpbm4mjy1mZy0UVJDSQ1DQY4tR8qjfujxVFTLXlQS7oXww/G6e1mBqiv6uivqVmKozdyJ/2rk2voHr9JLr0omXmJ4gaAs84PMIs2DbfkGt9VDRu15iwDlgHLgGXAMmAZsAxYBiwDlgHLQAwDfwE0GkXg4xLMngAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABQFJREFUaAXtWL12GkcUvheSc8CNaJKDq6xLy0XwExg9gXEXqSJPEPQE9htYb2BVUjrhJxB+AklFUClcRUka3FgU1o6/b3YvWohA+4OTZuYcmN2Ze+f+/8yKhBE0EDQQNBA0EDQQNBA0EDQQNBA0EDRQRgNaBikvzg97f3TqUnspznVVXUtEOwmuO3dOp6I6upX4/T9Hz87znlkU7psI+OPuuFcTeasqUR6GnJNJLLL/9/H2MA98EZiNCtj+5TISde8gWNeYAPOf8DzE+kSkhh9HHInTCA89wG5h9gOwI6z/ev3700m6VHnamIB0x+9ETuGGcEWBV8oHMPsGzI7WcZlaewBBXyRwbvpFZGdTbrsRARPh9IwM0mJwt/6yu7V6V61Gc/YzYWY3jYvp8MmUzzbae5d9IB+YRb+Ie74JIREq1QbdMrFcItytuq4Jxz1aiBQajVkHiWbEH5+5xj3AdPl8ffT0kLipSwvP9C7PzQqjsoCIrUO6JRkjg6Z1Mq81d1VHTNJ6yzxyjXuAOfXWAwBx74SEq2N/Ga/oeyUBvRAWO6oDE45M1Jyec0Y5UFqMsfjn0bbyx+fvH32OnCgTEHIOkks6eAbi5g1fmazMA9Lt/3Zq740nj/fGrr07HhllWsMsRvezZ9vPztwzF6U7miUJwzPTs6+yOEWfSyeZhcQS6w6tQmbpcrDb1MW1Vw9lUGP2Dg+YsT4B3oSWq6ucEKZKwintonXUMBJn7M0FqUnk1+B6s1nDuyjfHxqE5Tn8xeo6hGei4jufjRafi47SAqLGdVNiQyPKTEgLSKz95TJgMPfNHtZpb3bTjCwDL5x9R+s+9LVryMblhorvLZEJ2KGIMJ6szl0fry/u91E0F2/vXrp5nfRnK5KN27oPJ89aaQFB1Rdta7/SOof486NUbCfx62vmDk4ZqW/IeZ416f7sQn/lXbQQmf8PuLwFnbtIrBhHZJ+JAlak5ksPxK/HtwTlcMWCgzKTXZQ9tLSAKNJTkAZxjTilSWXEWGQJyRZ97j80WCoo2EJy4tmUD7Qewl+1X95F0VPyUCSAl3Y4mWw0b87qTk9sLc9MpWgtPmk++nyVLfbA7Xn8lFaes5ZhSgt4yzteQn3ejfAV7VXEX5EWiwmKLR2wW9a2pW2gz553tBKKRf5LC0gXdCIfPTF1rzn7gu9kn50H6xktSuusY4gwCZ524Irzyy4YGxCPNIq6e5aeD6PsQpHnbDvlmUOhN3wwHsHtzvy3l+SWPrI9zhSMtwW4eAtt3XMIObH9x7vjAWLvLd9vnbxaKv4GlmuuJCApsCmGc72Arhdu4owlNAPv2G6xQ/F10vepgES29Fm3eTMB7lZWOdkvA8D9cH283c0lyQqg0i46P89pP+kZtYWUfEoGuce2ja6KoBwsZMYU0a9hj8ISlstLwn1Chu5zvcqobEESTxhLPlnQkk5q+8a0MedbufQm/69yAKDELRnLyTedKjcIo8l5IwLyIAqJ8kB39ZkPVh2hUB/8dfTsPfdXDcYx3Og34HUJQ2/IfhlYhZd3fWMCkiATCxLHYRKTxgItypKCT4b4/ulXVSJ+OgTxnlmM64w5umU24Xj4Cn8bFdD48FZROcDhP9nauhkK+Bg7GVTJlqvO/yYCGjHvtrQS7nP+emU3EPSWyJxTWBuf7mVYpc4ZrTAHDQQNBA0EDQQNBA0EDQQNBA0EDQQNbFYDXwE4V1mUFO9fRQAAAABJRU5ErkJggg==\";\n},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAZFJREFUaAXtmLFOwzAQhm2HwUxkQSojY8XQvkHbN2CEPgWP0qcARt6g6RuUgXZkrcRSJrwkJhcaVFVGSpxrHaLfyyWnu8vdd5btWAgMEAABEAABEAABEAABEAABEPAhIH2cyOdqurIkbSYnm+d+Qs9tHKqNSXHmhAI5aYaI1fkOnnFRjW/fY31uBhRv89RfkLycvg0jqy5SmX1+PN4sSXc4XH6HNk3e2QrU2gyltPNdMsXqHFk5y3WjXFLBY1eiLj+Xna+u81MUBfpOjbb4oYNt6YRvHmyraNUEenfrsZDCmi/9un253rr8qmwvLj+X7uRTVCo7z7eOhLYHV0Kk220vCcm/bKrqT15g1cS47FAgF8lQcdDBUOS5vosOcpEMFQcdDEWe67tsRzVj9DI/nUz2E0ulfYgyFacq+z2S0TUj2ZB9Kav47cet81z8eddxKG3/y71o4w5aZQe9+3VxCVwWfwxZ3vPUjd24wHyVmgl59PqoLq/Z1vlVtG7HYQ8CIAACIAACIAACIAACIAACPwS+Abk5ZzIAaVwPAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA6xJREFUaAXtWL1S20AQ3lVSWK5cQhVTAgV+A8QTxGWggTxB4AkQT4B5A9OYlOYJIt7AFECJOpxOaWw3aPPtgWTGYxvrpMmQmbsZSee7/bn9dm/3zkSuOQQcAg4Bh4BDwCHgEHAIOAQcAg4BGwTYhuktT6P92Kj5kx1iCt6Ol+4LRZNx7TbpbyRlZJUycO3g4YgpPSfiRplFLOaVRMg7GfY2u4tpls9YG7j27SFgT34tF1/NrKS8N/y5GdlI+2zDZHhYQvMVuR2P60HRUDKhXZ/8mIxqFxmvgiae7PzubV3ovO+PImJG+BtdgdFX8OUVpM/JmWlXfwh7nWyB+eQKnZo/7jBJ6PvjMCdn6WNBHTX0RSZ3dS7TldMV6FgbSPCc0SMSFNCXk6ZEfRG6eSaKskHsly4gu55MagMdE6KWmct0mR/FXvZ78OAuZOJTVYeFaihFxVS/Qw3g4LlAqYTkbNjbDrVftFkbqIrW9u+jMuGzymLVy8OrrWAV2nk0pQxUgVoq4MIA3SaeKlusUVGmRFS5mA8rq5QHke2azHKONB4g11Vc7CVBio5E+AQ1MLZF0NpAU6fqo8fqDZs1RZLxqL5hU4pUknWh9+ujrhqHJPAHe+WYUopVYKHmYd/O8KUsDU84IZ0T6TBzQ3UlRO1Csl+JrQ0U4pa6H0/4ZHFWXHstMzi55CVgff9u8AknF4C2geQSgaYJDacI0x0b45SnRKGnivfc1IRnLzWyWT2pDQV3OlusZ824fnDXh+avKMOJiHcMtXEx1Ya6iXdsetNXE90YDxJY2oGOBnRcP/W22xgr3OxDNIVRyJ66R5BJu4U1r8SA06ru8RcAV+KYJbIOUZO6hVuK7qzQ6n5DNnSUKRPVreWDSrLeg5k95qhG6S6QbmZjlXxZYoRmNLzavCwjr5SB/+iwDSO39myNtDYwq2NGMe5rwtS3XcQ8PhYUdr3No5W5Llln0ZcFQLnQ5fBq+2jeIpeN6a0dWfgUoX2W/d+yvn/fAc+X8dj/jqNZiAjp4jp2CC+gHFG4TN6iOessmqEL5YNFwpeNo7S09UKr34wON/gjlPR2rTZp6dhUtmZru2ZtIDx3Y1SyHOrBu6h6eCnU0NNvzivcRjzq7SEyMiFb53JdOeHqHYBk1zTE/oe/Da09qCjjwP3dnDTsMHqXS2WrjmyPvsswh8Dag5ksvfTiitPy8GRjVXxT4QGuTQMYF1chz8lwCDgEHAIOAYeAQ8Ah4BBwCDgEHALFEPgL7etWTUYHOU0AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABH1JREFUaAXtWEtSm0cQ7hZJlWETbZKSVyhLyML4BMgnCMugjeEG8gmsnAByAssb7CWcAHGCkIXF0mJlKl5E2UCqAup834xGD+z/wfyiKouZheZXT/f0u3tmRNJIFkgWSBZIFkgWSBZIFkgWSBZIFkgWiLGAxhCVpfm+/WFrRWo/i1lL1eoiuuVp7dxMR6Lav5Pxyeejn87L7vlQvEdR8IfdwU5N5EBVmmUEMpPhWOTVn+82j8vgPwRnqQo2frloitobKNYKQpjIpZpQ8KGoHBAOhd7SowaPQoD1Ka5JX0z3r95vDAOs6rw0BRmO34icIgzrFApKnEHYLoTtByGftgfQF2tjfRHgE293YJRtj2ejW5EXywrbpSjoldPfgyLwzP7V0UYv/A9zY3fQ5/edWue+Ao32xR6scghFvyPOrdjz+ziEP3RUVpBhqbUxlPOeE4Tjzc3q/uj4x1GRMPWdj/Vv166bQZFG+0NXRV97OhvZuPa8ariiFlQcar2pctxKZefJ6g1zrnCsrl33/r1eGxLx6e6gM1OOEBgM+cyvKqOSgsyfae6YvIL3fnPCqPaKhEK4Opzg6Vu1PvL2b4TpHwxx0rNYkUfRXo+23mgPhiwcIbfIyFXSAo7MN0fHvJsboG2Fv9xzsvfHAIuZoz3IwoIEXidT9LDDwLwoZ5zXxYfeP9dPFkI5VFa3FyowZ3ixSV4OFvGDyh43VkRc6DCsiho0BVwxZeNvzbjZSQjPGWz2RWURIZc04oTX+Wy1/Fe0B9HjWmSDht3nnDV8C5HTReUc9naRZyYHBDROzyuLRx482oMq7myJuiJ/NXYvtjOZmHVRWeuugKh2HJ7rd1pfMTkAbTeTlscFDBjR9cZsvOyV6D4YTiXZWy+uzDd/FhkY6M0iRv6/T0ebUbLGh2i+PP+b1egQZb9C7DxDEL1FjvQyNVLrIv+2VcYMRx9y+EbggcROcFo5zKHdA+1LxysTKX8hWkGE3GgSM82F8n6PHwpJBxW0r6p15FLPLyNAUX3vVLqf329kVkf0wi7xycvTPfw3PkQn1RNCP8tjy3MmDtctKHQW8PhNWDiDBvhX5i0HK6jUX6GbgqISl9S+/PsbxHwBme5c8WO+EFW5WUR7kNZHQl06PcxeVtTnC3K1cYdA8ijh6S/oAyBaQW4wNnFCsInzNhA2rTq7vVDA5nnE7hkdooEhD8WskrD1Um7i4eSDKsvDwdnVu81W4BUzV/KgY2i6x4pIgVCST4uOX3lC3lMOVyfdy8Mvs1ZZQd4eWBE9M6+ke34ow30OhzQ0EA1FMPfk3nMoUZ+VQzRwpfV9v/NvKvBqHx74Na9HktbdAdVeM4/5n9FQsoUQvXAsTUFycpddNHOfk4E33laEz4a1IUri0EFVmihRTTDfCR4jnDnHsFyG5xwf/CxVwbCpewpUOcTm6wGWN8MAl6zIRffKvD2y1h5FwcDMhS29hPscDmd4RPKlH67iuwue7g1P93Jcpc8FXmlOFkgWSBZIFkgWSBZIFkgWSBZIFkgWWK4F/gOhQsVV/LFJmQAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA2dJREFUaAXtWD16GjEQ1eyXItCEEnekxBTGJwg+QShjN8YnCDlB8AnMDWw3kNI+gZ0ThBSOyziVKUkDrpi80e7iZRFhf6ROW4A0Gs3OeyONNKuUfzwDngHPgGfAM+AZ8Ax4BjwDngEnDJATqymj9ZPHHqnlZ6WoHQ7xhDkYTsfN65Sq9a5TgLXu71qlOr97BZb2nyeLefVodvN+lh6x1X9jy5DJTqUyvwe4AxljVt8VMfrSoQ6R+iDAhQCgO9RyBz/OIrh3/KuvSF1oPIrPp6PWIOl//eRhQIq+huN0Nh01r5LjttqBLUObdrgnMolcGpzItYz5p7TD/Skt+487gBQuzdWyNPjOpG5CcZx8DEolRe4AlnTM1nR3AKPlh4SCZGJ+iFVXj8S6ZrVSUmcAmYKheIZs2cE5qJNJ0lNJMhgMM2ykmxy31XaWRcXBveOHSQwC6WbCKtB7DkkFkYv2HaL3PG61bQFK23F6Dq6/jNqkOAKS4BXCdT27PWdLNDwH6QDe/2FFZ/qgj3yXtpZhTCKpde3iWllLULmSlW7UPz02KFj+gPM1XtLR9Fvz3mQUeh0K+A7Ld8bL4BB6Tya9MjInEQS4oYCD47fbwInT4Rjfii4RX5QBsm2udYASFTj8EcvwL6LS3/biWC46oovrTDecG4/Y+bcKUKoH3FwuxTWs/UGWJSc6oqvhYK62oTt2fqwCfFud93HuNXABRerfxzLN9mhdzJG5YiPbrGxa1gDqxBJXB7x7aabdQwGsgUmFIbbS40X7pbLoZqUubvDkedQqVN+tXwxCW2Ur/0IAbVfqtu0lo13oJmO7UrdtLwkwdwTzVOq4hH3ZlWzy2JPbT97Kv0CSyV6p48g4TbJpbme3V6Tyzw/QdqVu216KxUJ7MGXjv11TLbg+Addxh09+gFJ9C+u7KvVod6MaGmTyP4s9eXfOJzdAqdTh9CVuHbpSx6Y/T75TV+qv30KvsQ+fkuMbbaYGbJ1msleg8s+dRcXB9QPZXKlLzTcd73c2ABkEWeyF17/8lX/uCIp/i0W1o88unSAMlTqW0sui2jVgMYqy2BMd4+QdwkIRjG3qqxov8QUblbuUPErJN5irvGdV0h4i1UO/jSX7TqImW6Kovdiu//cMeAY8A54Bz4BnwDPgGfAMeAYcMPAPMNCXrbofRj8AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAdhJREFUaAXtmD9LA0EQxWc2QYik0CIaBAUrvaSysbezsrQTsbbSwj+VSSWJIPkCgvgJbK3EUrAKnhYp0pmLIEGCMcTcrXvRpEquGE6J8W1xuzC8uZ3fHvv2lggNBEAABEAABEAABEAABEAABCQEWCLyNck9e8uIs5q5+KZ4s35svSQPSwlyW9vSnIN1Sjt5Kzs4PjgSHRwKjpjiTol5wvSzcVdv1IkK5LWmmPkoWCmJal8kKlBJXudrNFOpq3UVP3THw9abBZC1RMaOqyatKy9SrOQX72RZoAIBEBh1AvJN5sBeini8Q6yLTixVoAy3ZzJP417zdTl0aC5p58S6keQV+2BU0yUxzZF5TDcea1WiM++9Ns/E15KJBGq+zEy0GGIfJE1ybWA14QbFK9hWtBbxqPOJVsupc39aTi5tm05E2tejgQAIjB4B8YaQ6OODw4hHvIv288Hkvp02Pnj/E4VWcinRYsi97D/6oIpNls1RbSX0FTRHtdBzIiEIgMCvEBBtvf7M/sqlk7hAc/F7a+5Av39uebWSs65GyweZF3rfmNZWbzxkA/FJRrPeZY8y/tV940NfdOpSY8/abWXDr1HBB8OHiowgAAIgAAIgAAIgAAIgAAKBBD4BOc6JltLUf9MAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABWNJREFUaAXtWF1sFFUUPufOrO2ObIG221WEGBuJbbdBA6IhEuMTCWoNxjbtmvgoiSbomy8+FDX+RHlRHtU340JrwEgUo4lIEGKQGP629S82oRS72x+CbbddunOv351tSynZ3ZlxfHI22Z27955zz/edv3t3icJX6IHQA6EHQg+EHgg9EHog9EDogdADoQf8eID9KPnW6ThjJSyrWVJxw9jBTUd97+NB8T8l2NB19i5hRJqZ6SFWtJWJNypWMYzvlMyv59Jt73nA6ks0cIJN3YM7mGWHYtokFMXxjDNzo4NO4RMWtVGl1LRN9NZYOvm2L+QulQIlGE9ltgviE0xggrCBhQMDjxF8y4HsMEn5HQnxvGBOapJSqXdzB9rfcInXs5jpWaOSAnMdg41SPArwV0DqFLH6hpQYGs3n/6QjD+a1euK5cx/JefMnIbhVEL3SlLpo5tLtvZW29rsWbAR7Mp0Gcz8o/q7I6MylW86XBbbzq5o71tx9Dul7H+SnlKT92QPJV8vK+1yAA4N7oXk0OLspElLOzVXc+ejjhdF0f5uU8iTyOcaC9iR6Bt6pqONjMVCCgsRGFJ6GYUg2Zqvj2SuzB9q3I6u/RYcFSfViUyqzr7qee4lACSqWNdo0+sv1+YLp1JsbKNl02w7U7Nc6kgC0O5HK9LnRcyMTKEEArNHsFPHEVHHGRQRvQBxNJ3cikl9CP4a67EIkP7ux6n8UKEEcA04EiWSEjmzxRFBTQCSfRCSP6CzHMfJMIjVw2D+1kmagBNGS7y2VIOMMR8tZ8Yr3ZF5KdF/4IN410L1iaelrNp18Cl31cz2BXNiFdP1iadHHIFCCaDDmwk1lfiWWePfAh4jK+2wYewxTfdz4bGb3SpnF7yD5tFTspCjStSPRnfmEHjtWu7ju5RkcwS1nIouGpaI/Fsf6WZ8a3CYE7RIIsT54Afp2Q9HLVs/P65bLLR/n0q1dqMnTeg6p30rfH7++fN3tODCC9S2ro0hPJ3LoM4XlAEwbp9zC+bE0j+tO7XWjrP26rkw9vBF15JkGiPbKJV0Pg7IGPOzhiJpyLgpA650alHSTt3N9LScx/4MuSudty7ySfHDy0P2Xy9m5LSLuQbTX6HVl07FyctXmA7uLclFaZAipcxApdVMENYhsS2tn0+BALwlK4lA/nutL7q8EjovUTiZvQFedMEy6WEm20lpgBOfJjEYI3VPXma1+u8XoXpY5ot5b5stMCENuW6jYken5uaEyYlWnA0tRERFRtHWnTpQQ41UtVxVQW3RDwpaT0/2bx6qKlxEILIKspG4ITg0irSpftLtORWNFw4rUWJawpcWIPhvCYqksEsqCPvbhel2vaLk/lsHuajo4ghI1KAzLwUT21qbUhQYhxQOl242+wik0DF7v3HIUKsxkCx0npusWXdfG4b6WDYrrtMQxUspOMJQ2n3DFpIxQcARZ1Dr1B0NCmK/pMRklnCXbTsLp1WWTTowwB1KOEGgSTeD7JH41a+2rSPezJX1/n4ERRPXVlVBq0PyrkhogKLJzBo4AMHoQSTCYxvuSYp7Dr/+CEnxZkT2M/ptnFZkhlrNK2HlVFPm54tTVqcMPg7D/V2AEc7Ozh+KrouNkcx5ez0vbzkeoOKtMjGeu5cc3PzJD6KT+oYaa/08PLFa+J/arnzi/tiZmvIlud8uNxdNGXoWlPZ79e3gf4f8ct6q+arB2FT2KRvJCYLcEl2jxP8+lxKrmT7NEQy5VyBfBojT+Mgy+gj9tb7pUuzXqVw79eZKLhRkv+r5SVBto7PllnRdDQcgWCtcK//bYCAJHuEfogdADoQdCD4QeCD0QeiD0QOgBNx74B0qFxRdN8XkPAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAvxJREFUaAXtmD+WEkEQxqtgA4dEEt/DDMLVQDyBeAIxc0nEE4gnkBu4N9g1WQ3XEyyeQAx2N5TMfc9kTJj1qZT1NYwMAwPD/MN9difTdBfd9fuqu7pniGyxClgFrAJWAauAVcAqYBWwClgFrAJJFOAkf8rqP7Vnl3VmeUksLSJuTseV4YT4+MfYeeueNty0c+0MsNa57DLJUTSAuDIpPb16vz+IttncsxPAuwcXPWJ6A/dE6Ls+TtWRobBUSVijSs9912XCj9NAFg54p3Pe3CP+ZABEPntepRVeirApCw8U9LZK4HrjSiNs4wuw6VnaZJB1/x5RH2Micqvg0Pft5P7wt9mX+MVVx/G6qCUphQOqw0/gqC6d/rqoAFJl+ABbIWrjmaQUCois6TspwgqwviiYsdGl+mi9ZXRvoYDqRj3aleUeFnaXW7drKRRwIRuWNsNqBJsGR5PRdlhz60IBMa0ml49mepHXczeWa9X2l6peAsx+1R07WLaI11I4oJ5zfbim+6pe65wfrXITcE5lfKZWVWRb3a+Hq+zitGkyK7YsnIM6tQKMhOlQ95tJKJpeW0yTHuDgmRC/uDrZP0Y9SSkUcApHJjKxnBV69fXdvcTRwxyFLdEgHJbdL5KHuIZpjMxZ5wOjD23a10gLhzELiWAYDreU6UHuYxHBpjwpuZppR/PW9LXcAePApceIHiFXwF3DATs3wH8BDoC5JJkg3EzFs/CeQ3sRJXPAMJyBYGpHHep5Q2YKGIQzNxAcA7N7JBN3dwGZGWAYDkcBLtd4qQ1B9vOOWnD8TACDcBgcnxrKVGqijpfav5AazetxJdXNBGNuU1Jn0SAclqV+KRsp4QM4EbxH4gKNtnVv8ejPuqQChNO3HG+EiAEOy/LnuDJynPFgFWTWzscZL9USNdFg7vlwOAoWlqR6gG+f+AYax5k8bFJF0HcIkQwvPfNON4skBLj2nHrYxv//jX0CsnZwMcA+vbEQ1nGrgFXAKmAVsApYBawCVgGrgFXgP1XgD3RPTPYvK6QFAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABRZJREFUaAXtWD12GzcQnlm6sNKIKZJIFZnSdCHmBKJPIKUL2Yg+QaQTxDlB5BNYaaR0kU9g+gSWClGl6Ep6SWG6kfLyrJ18H3axXIqOQmKplwZ4j8RgMBjMP4AViS1aIFogWiBaIFogWiBaIFogWiBaIFogxAIasmjeNV/1zto1SbbErKNqdRFtZ2vtxEzHojq4lfT1n4dPT+bluSjdgyj4dXe4nYj8oirNeQQyk1EqsvfHUet4HvpFaJaq4NoP501RewXFOosI4Wmh6EBMn1/99mTkcVV7GHo5jeGoSfquUM7s1HOG4B/FZM+PCTtcjjCR9wS5ljzIq6CtCCxFQQr0SPQdRKxTHhN9jl+RV7dqHeRcMXaw6XYhu8kF12RjrZPXspSsrCDD8pHIm0JYACop82+HOBP7+XNFBGGIcJSXpHGewxrCvpGnC3mPCOwrK4icO6Dn8jB0AntPUiY13Vjrnu+gira9jIS/6Z1tmdqqx5V5ZOGLaEA+T+bDoEpFhtWypvI7t2aIXR0+OYDVkUc25dF5Rbs1+Z6VtMzX4+blcZeukgcTlX0yhMXfUjnCqTvvHI6F5aXlBYRzM42FKA9TziW5l6kkeTocjpuZdQsgghV0VVOkwb1whjlFCYOhKx4Iw8HlUWv36rDVvLle+RKKFFWU3r48bOnl0dM2aWChU67FEdFxPf5QmHYJIz+bVQpOsIK1XBF6aOqAzs9A4E+8sOPjb8flKgqLjPxc1uuAPZTZzMYiLEzkzbHfy88t0gcrWFibh3OpIakbbpgmU/gSyQyIYjOeQQKhJscOX/Ls5+juw6EahzUVd7fEkSAfUCWd5U3TuudmibF6wglZgxIboHVtZk7sg59jdVVLnMLgt6rYAeFeqrY5kzk7z3dO8gnZem9YCD/BPhzEnA3hHh6iIbv9D2uCQ9RVPtUNlPNfkY8HXnZ/BvIGI6U8dAe95iXf3UUnVzdJ0g4C8SfysFSfeV5Iwj4Kz05RZYuJ+YFgBVHqx4wZCF5HqR/4Lde7Z6dAbnDsrmP5BC4ApHUjVtSpud5ZhxOYfT+F7w5fZHi8HQNbeIjinMv33CzvTcXd2LRZxt8Hw1BtN4934R26DD/Z6870fw+DFbyVvITjHsqrld8Kwh4Thre2PM71iTSLcQmub1/UQe1o/VrSkSfC01XPyV4Fh7kB8Axva73hCAwayMPB1VHrGTnxBYA8vCCMPDxAfjYhaIfj2WYnmB/hJHAG+iT2nX95FLwZtrgNza6dDxPsQbJPTXbZU4G13nmfMHJoZPkNBIWj/+/KkRrfaHLlOKqlCbwpst4d7tJwhP0ehENaJQ9yw7XucAAlNuGvsUmyh7fgj05wLw3umabJvhouBqUqirAb1VAlQTsVyvQ6DcPl7hJ/1OoQDm2VPOg2Ne1DkI8QtI7bzSuvXIYDhUrjr+vHeB1MjgXCf9+sDNBvZDxghJLXiXPrwdvNV/irrCBDkp8kyjLkuefyioqvfHH9xj+jPN3jlZt9eL7J8SeVPuheEPaNPMnbj0P7yiHqN+aTpmbKcHWVDx4YcA7jDnuGMJXN4RPA7Rx+DU+uejp6jsr5YpPRhP8vTUGK4L6h4BMGhEVOLt6g3FtU1f4yPOd3X6qCninPML72wbzhcff1zD9Wy6l35X0LFph7EAX9/i5s+TDGe849r/IrHCoIigo/3Rs+3cvxssLR7xv7aIFogWiBaIFogWiBaIFogWiBaIFogeoW+ActNvxFly5fgQAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABVVJREFUaAXtWE1yGkcU7kauFMMmbJKSVsJLo4XJCYxPELQL2hifQOQERicQOoHRBmVncgLLJzBZSFpKXolKFkYbwFUWL9/XQ+NmPCOrZ1Dlp6aroLtf9/t//fpNK5W33AK5BXIL5BbILZBbILdAboHcAv+MBfRDst3cO+topV/dxUNEvRudVOt37cmyVsiC/F/AffSQQmrRZbWIEVFysMpLt7C0rbV8vwpf7+xBQnTzl4u60vJKa1W34l73qyu8Npvnp1h/xnWE6ZVo1f00CY7Hg8dji7OOPrMHIWgPkn+cToMDChQE09dQruEKJ0p9cOccA2eIzigIRSuYd4vBtP3D3tnuX/2d4Wbz4oXW8/Z0UnqeRWnQTd/oKV2QtyEFGYvoMYW1FOGZ41stXQpsYW5fblyWi6VJW4luA88JVcF+XeNe0kASarl4PuNMCm7tnb23gqwwFflDpNAY/fbkagV+x2Sred6FW/fjtnxW8lOSkeL2u7DUWXRz76K1VM4opG5ImBa/Ptmp+ShHvOuTalvm+jnwDR1Q+p1wtg3Rh+HI/z+VBxlaQWlyCQXLFGg2DSpk/V0wrf95Uh34i/EFA2ewtjEvlGGgU0QIaOmfuXorajcN7VRJxpwbKGfEwhlzkkAm5UjPDUWZF9o440ZBhBq96E3f24NILBUwhfcQRMiOo361wvFdzWREhcyqVYP74PUrpXVvNikeOcaJJeFWQ7xLR/2dTuzGBKD3GcTFTEuGDRwpvJ1Ge4Yykscb4PSsctzDTKuVdBjmDMkonp3TmMiwz+wc3tg3MAu4R++t4K1Sx/QcaRtBITyvizheCOVDqxhx6AHzQ/0Z7tdlnJG3iUIXhMXAkjZoHM1mxXEcrySYd4iSkLm/gukAzI11o1UK91Bpe0cysyIRtd1wZBaGF19zL9fj7jo3ySDDPvbNzKTt7UEiuYLSM4R91bS0CON6VDnCR/0nPSrGMULYJBKO3QbcoZ37es7ipVLQIpueCSO+VQiGl4auQdyt82VW1OXEMF0gFIuzxLPq0oyOsysYpfgvm69Dwe0Ena4IR336lGc2bg+YN8I96uZb5wshugzXOFpJsFQKLgTGEQkzaSxx0T27brJpZJNJMlq9WIAHkWUzRQasWThCtGzHPr13Fv2xed6AVQ55RVhGrCFZWtm57c2n1EIJe7mbNZG6Tf+A3+Cui61dgX+5wkfpzn2KA8ufvbcHN5AdLVO4EHebfhmnHIkzeyJITdFMHF7u5re426gcPqfqieEppvh+R1qmifzq60lvBVkfWn64A4TpfjmPDJg9r/s7DRrBKsotoWHkgEW6W3tG0JVRXMvpEo66N9EYy02rA+8QJXrW+nBVhOQZrw637p1NglrSlZNExduDJDSblLrm7GAMC+0z6fDH85nE6L5w1qasgrjfrXvnolYqofvSS+VBEndLLQTdEKAKRCojanuo+F9yj28Ly7v5G9JBHA9gPWMwGDP122lqBSn8VvNsCDM//VoRGeKs7vqcF3x1sDD/cr4dolmeLDIpGFo8fHQyIavVGAS3rWz0Jr4+jpISCcO6WJrtazWHYosPaCLjCcQaDnRjC3HL41t9qjNoicJDpxQA4XTEjMgk4GZLPNu3Hin9nveZxbE9H5mC0vQjrw2rHLMrvcU3HZN5oWh41Vgs/z6TB5PYmSShcectPqe4L/pJBaVP7ToV06K6eFvt+WbJJBks/EEUtMTdp0B4pGPhppdFwQAv0WMra2ucpHp0ui9/0YIzGdowDEUHc2FaKD52oGsfZjqDa5cmJ5hbILdAboHcArkFcgvkFsgtkFvgf2SBvwGM/UcRGTApkAAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABPRJREFUaAXtmE1WIkkQx8U3C3Uz3MCaEzQu1YXlCQZP0PQJYE7Q5QkaTyCcoJkTiAt1CZ5AOEHjRl3J/P6QwSTVFJCFzLyZV/lekpGR8R2RUUXt7BSjiEARgSICRQSKCBQRKCJQRKCIwL8TgdI21d7d3SWlUunrCh23Jycn8Qqa3Me7uTn/I4y/bNNOslc2+ePx+NJgrZzVWA7B/6r9tsZWSvTh4SHGcJVmbIZThnO67u/vu5ydMTUGzOb+/n776OhoJMRHjY0ziKEtjPmBcZMMvb6+XuNcNWXgMLXXts80ByPgJrwN7u3F6elpnyB9fn9/bxwcHJxv4vRcVFESNFymbsSEUyPKTtGPtHejDb4pgw3hr71er/zy8tKArwF+Vqrw9MFVTAbZr/l8IfBGDhLtnmfITC8GPu7u7laPj48HM+QKgEpoQlJfRIa8o6wgLaL3cbm7KNmrmXNyCKHPTnAbYyohzomPLCmT5yYHmX86eWpI3wwOXXNl0JXWE4rLMoj7F0kxdyjG0I7gvIOqqJD9MgHqAnfQ8buTdZFHdq4m4+6NnNPda3pNYCPnJM8vRRxtIN8cVBaD5QdnkNKMUPokYxhDohpNoCU/6ojwVCHR1BiQmdbe3t6VF5zpSeqXLCbQfhUaGZcEIEmRLN0G30GU+PdhLOOzNKiUaR7f4WlBY86JXEFKqIQnlaQQi4aCiXNn3lldOG+/Egx2EIlt5tBJlqEtlMZuP7fggIJhjg2hvdQEdytCjC+z3GQZDW2X85hp44qsj2yzzlpahyhNo8zQUDrgJ9GlTH+SI6cx8MbxtmlEDb8cOa9xfm3nyKg5eLb4TYZg/BbamSUoTwZ3fEORMZxZ5AEYX3PbYdo54TG2xdIWDK01Em390bdNaOaML5eDxuzWQWpv20gAxvdTAbFzraqCSalmlanONd7e3ipTKOz3IxwM0/gPU3+Eg4cZNg+E5+580p3NoKk6/POq+0WJ9jNkLEXnctAZPHaSo0UacKxl566bzpGpyYD47JCducO/NxUDKdGywSHrT91vFTPPtSo0av+R0eLMuV6tbG+r+ytlTgzMae5lDI2mxjP4he+u8D9xHolIA7pknZeDKfX0NziDrjtGTsgQpV8WOadzdU/o7aU5Ak40OYqZGs/s46zyRPY5NLcTSn6g/SM0k8EO6v3QFEonxrW8/Ryo7smrVVVBwDhzVDSTh75e0v13zzlmNnIcvq7hgZtZwTCa9FpKI9bZb/p+uI4O0ejRgVMqUw09TytLHjlTqtRvcAbFz2eEJov9/6ur6Wi6+5lSEbbVuymOxeLCOf+9d+5NaF2puTIo4eqCGHAtmLXPElGKZeAWZfdF+NAhx/gO811y4O0wq05G7m+nuR2UYqKtbyefnBGzRQ5zVy9C7gvZV7YaMyEegLzcnyw2clARR/mNs0UlO2Iemm3KJvBVViNRWdMV6/p65rI2YYXv0Qtce9GLuOlYtea6gyaUDHWB28wrdUQ1AYybdUuMrDF77nlmbJMVnD4T/oA+8ZxTd1W2KuDUeR+RuTCrc8KWbDbKYJZcl9mE8zOjSf+lwsEuZ3Y+BNaH31Zol4Rv6diKg6ZRWQKua09GEq02yE4NOFKWlDHDf/Sa66PTukZg/AjHJuTAySI+znVvtzY2uoNbs6oQXESgiEARgSICRQSKCBQRKCJQROB/EIG/AFiYPfYPjk5nAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAj5JREFUaAXtmLFSwkAQhneDhdCYxhlKLBkLeQR4g7RS6Rvok/gIWjF28gbCG0ChllIyYxMbYiGcu2CGIwNMuDvI6WwaLpdk975/c7sbAOQQBUQBUUAUEAVEAVFAFBAFRAFR4M8qcNp+aVQvX5/D6D10DYGuDe5qj6GOy8kIEU4A1CCZVFpx9yze1c6m+4NNFw41P4dBvFn4w0a5MnEaycIjmApZbb9dIaj7xbm7SHoDyGAZyPgboPXROR+kIpj8egW4D0ingJwNSwrvTJTWn0FUDQAMF3PKKpJHumHbcWkWhBiopq0dgtNMYFgC6NJETZvMPXQKOA1mMUWwn9v75hsbi7JBhUPB5xRVtPnW7Vd0qbbfeaCrK4lGqaFSQTR+rI9M3XsFmIVLkkrTtuh7A7gPOI66F4D7gtsL4G9v+USJ4TZPkV7pRWnPuXgt9f3qtBflxXIvSRmwSek5V0/Je4zEaFK27LuGcxrBFI7eeirSlN4Br8ed+gOPizyc7EHuYDhiaffhCxwLaw3oM5w1oO9wVoBZONp1sVI4YKM2R97sm9eHcS9aAuQGOFw6wpCz5/LcbMQNu9mT658yBpyCiqix7ulNMbmwjyA17OuXajZrlWT4NV2B9KQ06FJYFXruVLhI0zfNkI3yfyrcdukOih5bRTBd/LzIlyc9QLzguX9VB32HdBLBdZD8Jf6VlGu233OpbdNfqz2Ydcow3DBz48x7s2i47PrkXBQQBUQBUUAUEAVEAVFAFBAFRIH8CvwAmekDRCRV+Q4AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAjhJREFUaAXtmL9LK0EQx2fOVBbiAw/uL1CTa55gYaPGShCs1BT+Ba99gnkptfNIIfg/WEhKe/FXYWWXGFCwvRBLn/Ag7rxZ5fTM6UXXjcQw29zc7M7OfD+zzS6ADCEgBISAEBACQkAICAEhIASEgAkBNAn6aIz3p1pAwL14HCkqhGW/Evd1wzYW6BVrh+8uCMllgbn4egKqAWEz7nvTRqAwyM29OZ8ykUmZS51ChNnUBS8mkxwfBCfdL6Js/BgLJKLNhwIQVnSxjx0BO0cusadDpmI/zdArViuIuMwCK2HgF0wLicfZ3NOJb9yPtgj87l2VDkoHe5yAHNEeb1DH8qSDHRH1+ALpYI83qGN5fd9B4+tSEh26Xukin/QbeBS5BlGvhlgTyPeuPBDlX83yUeenL3HPCfv+iFpk9UxNW/zQ5CPhISCMANCdAig5gDvxVezbbgS5tbjPtt2VDrrr1Z9M7iQS1wKYVwinUfFEcKZtTv7bW68tRP5ufK0L1OIGHDwCwB9A8E+Lawb+kzgtQuHAL+5qXduItMsxnra7MawKHCnWx7Q47t6QFqccZ6FdnBZB6v6uhbDI7zi3rHA44/Bj1QZZrSWCZXXTm+uxKxZ2HIlrbI0fRInav80t/4rAWdV+fjKb8v7Wp9vX2Pi3KhAqeB8O0hJ3ZiZNXFR4I8jug4I1BZnJsJzlY21/8Gn6muGWqhMZwnOdraVgtFnOXX5NZskiBISAEBACQkAICAEhIASEgBAwIfAfUWCXxX+gZ+AAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABTdJREFUaAXtWDF2GzcQxaxckGpIF8ljKq9KW4XpE5A5gZkuUiPmBNINRJ3A1AksN0xK+gRZ3YAuLJVeVVZeGqohWVg7+R/LJdfk2iaxelEDvAcSix0M5g8Gf4A1xhfvAe8B7wHvAe8B7wHvAe8B7wHvAe8BFw+Iy6Dvjfnp8GNzR4OXYrSpxjQpK2LaRWNUTcR+GDFSI6N7ST78O9gfFcm69j0IwMbv16GIHgNQB2BCV2M4DqBjGDVUlfPbv57HZXRxbCmA9c6nemV38kaMdNcMUf0A7TFA2xURlTGMTtuC1RWtzw1oGoVTRF6u6zD96bR6Nh7ujdfebdgRbCi3JkZw1d3J3xk4eP4Ohp7fq/ltOqk+VbGrUCOw28F+D+CGJkjarGyzbw66RtnPgxfCsdRhdXFGMSecg3OtGbBhh/MKNg6uLhCOR5xHjZ4lWJ0d0a59ToI+witie9OCMG9LkJxQ/osxvR2Gu5FTPgPwu9s/X3TZ3raUATgGwBrBmSSITGBanPx28PxsWyPy8o3Djz1jAjWJueRqpyB1/Hmw/zQvt2nbOUQJjpMgzLh3YmuQSaRxcG2BbmpAXo6ruAAHnfB+M30vziH6JD+BU1vInEmYGLlgOCA9vIKhN2iGGiS1xJibb1E/Uwo8/IwyO0kwtiuGPQslTDFvoS2EnlKlPEA7vdDQPsgjBjtGIA1FkBFvHYbfUSTNj9Jn+170hKDxrg5Qr56o7CUBRgMsgB0hOkIOfojirOeXwyvYkhKMUWnDqFaRQSCIGP2sRQX504RFLzDuEvEfZURDli2S+1Gf8x5cKAbBgOHaXxCalnCY/3KFAFDpgKIa5kTJlpfUQV3UackrL+DQLh+izG3GRPN9NkK7h2pIGAmSeYCkzmcWLIFtY+kpZwvTS8BcWZRWrG6nhcvU232yeNimkYWoHaPlTxz5uYtOSK4h6uyerwDOrUN4XYBeImT+y23PkVjxEO5uGbG5r5sHzPYjAtT34D/uL5sXl4ZpevYUjZHbUItKEoKgsEcZxl/nOuzHO/RH6H/Nka4AS+9BxbFsNqt0q9VpF3uLt4lWCkXqJBYYiEe8KSx4Z2NoGUgkGjwNZ9PqRaUya0qgFmDh8A06SwMkkfC0P0YexHx9u39g2Dxp1wENq7MoWXuU9QDMCLlzTMZcJZqfD67qOJOWKkvXbalmuQd1NJ3s/lrmSlM0dXZbwRJbpzxaiNIAXGk+VQ6v+7NJ5bws0JRBZ8diJifQXS8Cv03fA6zg6nSKzw/BENeB0ffOodmo7DwqJmiKSTrZimXvs/9HW0EcOf/AEYQsepQaIzBUUWEyOhDKthvkEaPBygLmNKFtLX5IRKm/yaA4pvXJvtD1diHi0HiAo5qJeRnVRPYIFsa9swauGENAqHQEa7jymjx7w7G81YNBQ974cQWLV+W2fXZmUYKAoTWyJSYlA8b4v5hX/KXHNdtIZWwz+8m+0dwHyfhb16lUN9aQK+pYnAFiviHqEULxtHF4rUUEk6P9aBv7lkSjp/NxnMupOJOMpfHqJDJib/SYHCcXfu5D/Wew/97FGuS9Dg7nr2FUZ8GguJ1Mp7ttV3Z2BkgAKchpD9xwvA5IRziGxSrpp0L7fv6hF/LtTF4UxzTREICaWd/iH1/Y8Nmw5wqOekoBzAzhQRnnxhNcyTtQ+Czrd/lHBNyI2k+O/DIXu+jIj3kQgHmF9tMEcxpWBsbaVQEZtfIybM+JY2T77aEaB/JkQVar4v7Ze8B7wHvAe8B7wHvAe8B7wHvAe8B74H/2wH8pKDtymrNtYgAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTA2IiBoZWlnaHQ9IjI4IiB2aWV3Qm94PSIwIDAgMTA2IDI4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyNDdjZjY7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQpOwogICAgICB9CgogICAgICAuY2xzLTQgewogICAgICAgIGZpbGw6IHVybCgjbGluZWFyLWdyYWRpZW50LTIpOwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6IHVybCgjbGluZWFyLWdyYWRpZW50LTMpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQiIHgxPSIwLjY1NSIgeTE9IjEiIHgyPSIwLjM3OSIgeTI9Ii0wLjA4MyIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNhNWNiZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYjRkNGZmIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQtMiIgeDE9IjAuNjQzIiB5MT0iMS4wNDgiIHgyPSIwLjQwMiIgeTI9Ii0wLjY5NiIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0MDkwZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYTVjYmZmIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQtMyIgeDE9IjAuNSIgeDI9IjAuNSIgeTI9IjEiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMmM4NWZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAzNWJkNCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPGcgaWQ9IkxvZ28tVmFwb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMCAtMTYpIj4KICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfNDY2NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgNDY2NSIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTA2IiBoZWlnaHQ9IjI4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMCAxNikiLz4KICAgIDxnIGlkPSJMb2dvLVZhcG9yLTIiIGRhdGEtbmFtZT0iTG9nby1WYXBvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEzOCAtMTU3LjI1NSkiPgogICAgICA8ZyBpZD0iR3JvdXBfODUzMCIgZGF0YS1uYW1lPSJHcm91cCA4NTMwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjggMTc1KSI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfMjYxMTciIGRhdGEtbmFtZT0iUGF0aCAyNjExNyIgY2xhc3M9ImNscy0yIiBkPSJNMzkzLjIyNyw0NDQuNjY0YTYwLjgyNyw2MC44MjcsMCwwLDAsOC4yNjUsMi4yMjQsNjAuOTgyLDYwLjk4MiwwLDAsMC03LjQ1NCw0LjE0Myw2MC44NzEsNjAuODcxLDAsMCwxLTE2LjEyOC01LjU2OCw2MS4wNDcsNjEuMDQ3LDAsMCwxLDcuNDY5LTQuMTQ5LDYxLjM3OCw2MS4zNzgsMCwwLDEtNy4zMTktNC40MTMsNjAuOTIzLDYwLjkyMywwLDAsMSw3Ljk5LTMuMDY1LDYxLjU3Nyw2MS41NzcsMCwwLDEtNi42NTMtNS40LDYwLjgsNjAuOCwwLDAsMSw4LjM0LTEuOTE3LDYxLjU3Myw2MS41NzMsMCwwLDAsMTMuOTY5LDkuODExLDYwLjg4LDYwLjg4LDAsMCwwLTguMzQyLDEuOTE5LDYwLjkzNyw2MC45MzcsMCwwLDAsNy44NCwzLjM0N0E2MC43NTgsNjAuNzU4LDAsMCwwLDM5My4yMjcsNDQ0LjY2NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzcuOTEgLTQyNi41MikiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNCIgZGF0YS1uYW1lPSJQYXRoIDI2MTE0IiBjbGFzcz0iY2xzLTMiIGQ9Ik00MDguNTQ5LDQzNi4zMzFhNjAuODc4LDYwLjg3OCwwLDAsMC04LjM0MiwxLjkxOSw2MS41ODgsNjEuNTg4LDAsMCwxLTEzLjk2OC05LjgxMyw2MC43OTQsNjAuNzk0LDAsMCwxLDguMzQtMS45MTcsNjEuNTcyLDYxLjU3MiwwLDAsMCwxMy45NjksOS44MTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzg0Ljc1MyAtNDI2LjUyKSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzI2MTE1IiBkYXRhLW5hbWU9IlBhdGggMjYxMTUiIGNsYXNzPSJjbHMtNCIgZD0iTTQwMS44OTUsNDc1LjI3YTYwLjc0OCw2MC43NDgsMCwwLDAtNy45NzcsMy4wNjcsNjAuNTY2LDYwLjU2NiwwLDAsMS03Ljg0OS0zLjM0OSw2MS4zODksNjEuMzg5LDAsMCwxLTcuMzE5LTQuNDEzLDYwLjkyLDYwLjkyLDAsMCwxLDcuOTktMy4wNjUsNjEuMzA3LDYxLjMwNywwLDAsMCwxNS4xNTUsNy43NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzguNiAtNDYwLjE5MykiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNiIgZGF0YS1uYW1lPSJQYXRoIDI2MTE2IiBjbGFzcz0iY2xzLTUiIGQ9Ik00MDEuNDkyLDUxNC45NzNhNjAuOTYxLDYwLjk2MSwwLDAsMC03LjQ1NCw0LjE0Myw2MC44ODQsNjAuODg0LDAsMCwxLTE2LjEyOC01LjU2OCw2MS4wNTUsNjEuMDU1LDAsMCwxLDcuNDY5LTQuMTQ5LDYwLjkyLDYwLjkyLDAsMCwwLDE2LjExNCw1LjU3M1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzcuOTEgLTQ5NC42MDUpIi8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMjU4ODAiIGRhdGEtbmFtZT0iUGF0aCAyNTg4MCIgZD0iTS0xNzMuNzY4LTEwMi4yNzZoLTMuNDFsLTMuMzYzLDEwLjkxMS0zLjM2My0xMC45MTFoLTMuMzg2bDUuNTI2LDE2Ljc0M2gyLjQ0NlptMTAuMTExLDE2Ljc0M1YtOTMuNmMwLTIuODY5LTEuNzg3LTQuMzI3LTUuMjItNC4zMjctMi4wNDYsMC0zLjIyMi4zNzYtNC40MjEsMS42OTNsMS45NTIsMS45YTIuNjMsMi42MywwLDAsMSwyLjM1Mi0xLjAxMWMxLjYyMywwLDIuMjgxLjU4OCwyLjI4MSwxLjkyOHYuNjExaC0yLjg5MmMtMi44NDUsMC00LjE4NiwxLjYtNC4xODYsMy41NTFBMy45MjUsMy45MjUsMCwwLDAtMTcyLjc4LTg2LjVhNC4xNzksNC4xNzksMCwwLDAsMy4xMjcsMS4wODIsMy43MjMsMy43MjMsMCwwLDAsMy4wMS0xLjE3NnYxLjA1OFptLTMuMDU3LTQuNTE1YTIuMDE0LDIuMDE0LDAsMCwxLS40NDcsMS41NTIsMi40MjMsMi40MjMsMCwwLDEtMS45MjguNTg4Yy0xLjIsMC0xLjc2NC0uNTY0LTEuNzY0LTEuNDExLDAtLjg3LjYxMS0xLjM4NywxLjcxNy0xLjM4N2gyLjQyMlptMTYuNi0xLjYyM2MwLTEuODM0LS4wMjQtMy45MjctMS4yNDYtNS4xNWE0LjI2Nyw0LjI2NywwLDAsMC0yLjk4Ni0xLjEwNSwzLjcyNSwzLjcyNSwwLDAsMC0zLjA1NywxLjI5M3YtMS4xNTJoLTIuOTYzdjE2Ljc0M2gzLjA1N3YtNS41NzNhMy42MjMsMy42MjMsMCwwLDAsMi45NjMsMS4yMjMsNC4yNjcsNC4yNjcsMCwwLDAsMi45ODYtMS4xMDVDLTE1MC4xMzUtODcuNzIxLTE1MC4xMTItODkuODM3LTE1MC4xMTItOTEuNjcxWm0tMy4wNTcsMGMwLDItLjIzNSwzLjUyNy0yLjA2OSwzLjUyN3MtMi4wNjktMS41MjgtMi4wNjktMy41MjcuMjM1LTMuNSwyLjA2OS0zLjVTLTE1My4xNjktOTMuNjctMTUzLjE2OS05MS42NzFabTE1LjgyNiwwYzAtMi4yMS0uMjgyLTMuNi0xLjM4Ny00Ljc1YTUuMDc4LDUuMDc4LDAsMCwwLTMuODA5LTEuNSw1LjAyMSw1LjAyMSwwLDAsMC0zLjc4NiwxLjVjLTEuMTA1LDEuMTUyLTEuMzg3LDIuNTQtMS4zODcsNC43NSwwLDIuMjM0LjI4MiwzLjYyMSwxLjM4Nyw0Ljc3NGE1LjAyMSw1LjAyMSwwLDAsMCwzLjc4NiwxLjUsNS4wNzgsNS4wNzgsMCwwLDAsMy44MDktMS41Qy0xMzcuNjI1LTg4LjA1LTEzNy4zNDMtODkuNDM3LTEzNy4zNDMtOTEuNjcxWm0tMy4wNTcsMGMwLDEuMjctLjA3MSwyLjM1Mi0uNzA1LDIuOTg2YTEuOTMzLDEuOTMzLDAsMCwxLTEuNDM0LjU0MSwxLjg3NywxLjg3NywwLDAsMS0xLjQxMS0uNTQxYy0uNjM1LS42MzUtLjcwNS0xLjcxNy0uNzA1LTIuOTg2cy4wNzEtMi4zMjguNzA1LTIuOTYzYTEuODc3LDEuODc3LDAsMCwxLDEuNDExLS41NDEsMS45MzMsMS45MzMsMCwwLDEsMS40MzQuNTQxQy0xNDAuNDcxLTk0LTE0MC40LTkyLjk0MS0xNDAuNC05MS42NzFabTE0LjkzMi01LjFhMy43LDMuNywwLDAsMC0yLjg5Mi0xLjE1Miw0LjE0Nyw0LjE0NywwLDAsMC0zLjA4LDEuMzE3di0xLjE3NmgtMi45ODZ2MTIuMjUxaDMuMDU3di03LjM4NGEyLjAzNiwyLjAzNiwwLDAsMSwxLjk3NS0yLjI1NywyLjAzNywyLjAzNywwLDAsMSwxLjYyMy43MjlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzODQuNzE5IDI3OC45NTMpIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMjAyNTJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iY29pbmJhc2UiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtNSkiPgogICAgPHJlY3QgaWQ9IuefqeW9ol8zNjk0IiBkYXRhLW5hbWU9IuefqeW9oiAzNjk0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNSkiLz4KICAgIDxwYXRoIGlkPSLogZTlkIhfMTIxIiBkYXRhLW5hbWU9IuiBlOWQiCAxMjEiIGNsYXNzPSJjbHMtMiIgZD0iTS0yOTAwLTQ5ODBoLTEzdi0xM2gxM3YxM2gwWm0tMTEuNjkzLTEuMzEyaDEwLjM3N3YtMTAuNDQ3aC0xMC4zNzdabTIuNDk0LTIuMnYtNS45NzVoNS4zNTd2MS4zMzRoLTQuMDA2djMuMzE4aDQuMDA2djEuMzIxaC01LjM1N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI5NzYuNSA1MDAwLjUpIi8+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./account.svg\":1678,\"./asset.svg\":1679,\"./balance.svg\":1680,\"./client_access_token.svg\":1681,\"./key.svg\":1682,\"./network_access_token.svg\":1683,\"./transaction.svg\":1684,\"./transactionFeed.svg\":1685,\"./unspent.svg\":1686};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=667},function(e,t){function n(e){if(Array.isArray(e))return e}e.exports=n},function(e,t){function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.exports=n},function(e,t){function n(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}e.exports=n},function(e,t){function n(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}e.exports=n},function(e,t){function n(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}e.exports=n},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){function r(e,t){return o(e)||i(e,t)||a()}var o=n(668),i=n(670),a=n(671);e.exports=r},function(e,t,n){(function(t){\"use strict\";function r(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0}function o(e){return t.Buffer&&\"function\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}function i(e){return Object.prototype.toString.call(e)}function a(e){return!o(e)&&(\"function\"==typeof t.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}function s(e){if(A.isFunction(e)){if(E)return e.name;var t=e.toString(),n=t.match(T);return n&&n[1]}}function u(e,t){return\"string\"==typeof e?e.length<t?e:e.slice(0,t):e}function l(e){if(E||!A.isFunction(e))return A.inspect(e);var t=s(e),n=t?\": \"+t:\"\";return\"[Function\"+n+\"]\"}function c(e){return u(l(e.actual),128)+\" \"+e.operator+\" \"+u(l(e.expected),128)}function d(e,t,n,r,o){throw new L.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function f(e,t){e||d(e,!0,t,\"==\",L.ok)}function p(e,t,n,s){if(e===t)return!0;if(o(e)&&o(t))return 0===r(e,t);if(A.isDate(e)&&A.isDate(t))return e.getTime()===t.getTime();if(A.isRegExp(e)&&A.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(a(e)&&a(t)&&i(e)===i(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===r(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(o(e)!==o(t))return!1;s=s||{actual:[],expected:[]};var u=s.actual.indexOf(e);return u!==-1&&u===s.expected.indexOf(t)||(s.actual.push(e),s.expected.push(t),m(e,t,n,s))}return n?e===t:e==t}function h(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function m(e,t,n,r){if(null===e||void 0===e||null===t||void 0===t)return!1;if(A.isPrimitive(e)||A.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var o=h(e),i=h(t);if(o&&!i||!o&&i)return!1;if(o)return e=C.call(e),t=C.call(t),p(e,t,n);var a,s,u=O(e),l=O(t);if(u.length!==l.length)return!1;for(u.sort(),l.sort(),s=u.length-1;s>=0;s--)if(u[s]!==l[s])return!1;for(s=u.length-1;s>=0;s--)if(a=u[s],!p(e[a],t[a],n,r))return!1;return!0}function g(e,t,n){p(e,t,!0)&&d(e,t,n,\"notDeepStrictEqual\",g)}function _(e,t){if(!e||!t)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function b(e){var t;try{e()}catch(e){t=e}return t}function y(e,t,n,r){var o;if(\"function\"!=typeof t)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof n&&(r=n,n=null),o=b(t),r=(n&&n.name?\" (\"+n.name+\").\":\".\")+(r?\" \"+r:\".\"),e&&!o&&d(o,n,\"Missing expected exception\"+r);var i=\"string\"==typeof r,a=!e&&A.isError(o),s=!e&&o&&!n;if((a&&i&&_(o,n)||s)&&d(o,n,\"Got unwanted exception\"+r),e&&o&&n&&!_(o,n)||!e&&o)throw o}function v(e,t){e||d(e,!0,t,\"==\",v)}var M=n(28),A=n(678),w=Object.prototype.hasOwnProperty,C=Array.prototype.slice,E=function(){return\"foo\"===function(){}.name}(),L=e.exports=f,T=/\\s*function\\s+([^\\(\\s]*)\\s*/;L.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=c(this),this.generatedMessage=!0);var t=e.stackStartFunction||d;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=s(t),i=r.indexOf(\"\\n\"+o);if(i>=0){var a=r.indexOf(\"\\n\",i+1);r=r.substring(a+1)}this.stack=r}}},A.inherits(L.AssertionError,Error),L.fail=d,L.ok=f,L.equal=function(e,t,n){e!=t&&d(e,t,n,\"==\",L.equal)},L.notEqual=function(e,t,n){e==t&&d(e,t,n,\"!=\",L.notEqual)},L.deepEqual=function(e,t,n){p(e,t,!1)||d(e,t,n,\"deepEqual\",L.deepEqual)},L.deepStrictEqual=function(e,t,n){p(e,t,!0)||d(e,t,n,\"deepStrictEqual\",L.deepStrictEqual)},L.notDeepEqual=function(e,t,n){p(e,t,!1)&&d(e,t,n,\"notDeepEqual\",L.notDeepEqual)},L.notDeepStrictEqual=g,L.strictEqual=function(e,t,n){e!==t&&d(e,t,n,\"===\",L.strictEqual)},L.notStrictEqual=function(e,t,n){e===t&&d(e,t,n,\"!==\",L.notStrictEqual)},L.throws=function(e,t,n){y(!0,e,t,n)},L.doesNotThrow=function(e,t,n){y(!1,e,t,n)},L.ifError=function(e){if(e)throw e},L.strict=M(v,L,{equal:L.strictEqual,deepEqual:L.deepStrictEqual,notEqual:L.notStrictEqual,notDeepEqual:L.notDeepStrictEqual}),L.strict.strict=L.strict;var O=Object.keys||function(e){var t=[];for(var n in e)w.call(e,n)&&t.push(n);return t}}).call(t,function(){return this}())},109,function(e,t){e.exports=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},[1706,677,676],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);\ne.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(27),f=n(14),p=n(41),h=n(1576),m=r(h),g=n(355),_=r(g),b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"componentWillMount\",value:function(){document.title=\"Vapor Dashboard\"}},{key:\"render\",value:function(){var e=this.props.store,t=(0,p.syncHistoryWithStore)(f.history,e);return l.default.createElement(c.Provider,{store:e},l.default.createElement(d.Router,{history:t,routes:(0,_.default)(e),render:(0,d.applyRouterMiddleware)((0,m.default)())}))}}]),t}(l.default.Component);t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){var e=(0,o.createStore)((0,d.default)(),(0,l.importState)(),(0,o.compose)((0,o.applyMiddleware)(a.default,f),window.devToolsExtension?window.devToolsExtension():function(e){return e}));return e.subscribe((0,l.exportState)(e)),e};var o=n(36),i=n(1638),a=r(i),s=n(41),u=n(14),l=n(357),c=n(873),d=r(c),f=(0,s.routerMiddleware)(u.history)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(682),f=r(d),p=n(16),h=n(10),m=n(41),g=n(174),_=r(g),b=n(1182),y=r(b),v=n(4),M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e={beginEditing:this.props.beginEditing,delete:this.props.delete},t=this.props.t,n=c.default.createElement(h.TableList,{titles:t(\"token.formTitle\",{returnObjects:!0})},this.props.tokens.map(function(t){return c.default.createElement(f.default,s({key:t.id,item:t},e))}));return c.default.createElement(\"div\",null,c.default.createElement(h.PageTitle,{title:t(\"token.accessToken\")}),c.default.createElement(h.PageContent,null,c.default.createElement(\"div\",{className:\"btn-group \"+y.default.btnGroup,role:\"group\"},c.default.createElement(\"button\",{className:\"btn btn-default \"+y.default.btn+\" \"+this.props.tokensButtonStyle,onClick:this.props.showTokens},\"Tokens\")),this.props.tokensSelected&&c.default.createElement(\"div\",null,c.default.createElement(\"button\",{className:\"btn btn-primary \"+y.default.newBtn,onClick:this.props.showTokenCreate},\"+ \",t(\"token.new\")),n)))}}]),t}(c.default.Component),A=function(e,t){var n=e.accessControl.tokens,r=\"token\"==t.location.query.type,o=\"token\"!=t.location.query.type;return{tokens:n||[],certs:n,tokensSelected:r,certificatesSelected:o,tokensButtonStyle:r&&y.default.active,certificatesButtonStyle:o&&y.default.active}},w=function(e){return{delete:function(t){return e(_.default.deleteToken(t))},showTokens:function(){return e((0,m.replace)(\"/access-control?type=token\"))},showCertificates:function(){return e((0,m.replace)(\"/access-control?type=certificate\"))},showTokenCreate:function(){return e((0,m.push)(\"/access-control/create-token\"))},showAddCertificate:function(){return e((0,m.push)(\"/access-control/add-certificate\"))},beginEditing:function(t){return e(_.default.beginEditing(t))}}};t.default=(0,p.connect)(A,w)((0,v.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(5),d=r(c),f=n(1183),p=r(f),h=n(4),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,e.id),l.default.createElement(\"td\",{className:\"\"+p.default.tdWrap},e.token),!e.isEditing&&l.default.createElement(\"td\",null,l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.props.delete.bind(this,e)},t(\"form.delete\"))))}}]),t}(l.default.Component);m.propTypes={item:d.default.object,delete:d.default.func},t.default=(0,h.withNamespaces)(\"translations\")(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(229),f=n(23),p=n(174),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(e).catch(function(e){return r(e)})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields.guardData,n=e.error,r=e.handleSubmit,o=e.submitting,i=this.props.t;return l.default.createElement(c.FormContainer,{error:n,label:i(\"token.newAccessToken\"),onSubmit:r(this.submitWithValidations),submitting:o},l.default.createElement(c.FormSection,{title:i(\"token.info\")},l.default.createElement(c.TextField,{title:i(\"token.name\"),fieldProps:t.id,autoFocus:!0})))}}]),t}(l.default.Component),_=function(e){return{submitForm:function(t){return e(h.default.submitTokenForm(t))}}};t.default=(0,m.withNamespaces)(\"translations\")(c.BaseNew.connect(c.BaseNew.mapStateToProps(\"accessControl\"),_,(0,f.reduxForm)({form:\"newAccessGrantForm\",fields:[\"guardType\",\"guardData.id\"].concat(d.policyOptions.map(function(e){return\"policies.\"+e.value})),validate:function(e,t){var n={},r=t.t;return e.guardData.id||(n.guardData={id:r(\"errorMessage.tokenError\")}),n}})(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,\"__esModule\",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(1648);r(s);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{ids:[],items:{}},t=arguments[1];if(\"RECEIVED_ACCESS_GRANTS\"==t.type){return{tokens:t.grants}}else{if(\"BEGIN_POLICY_EDITING\"==t.type){var n=t.id,r=a({},e.items[n]);return r.isEditing=!0,{ids:e.ids,items:a({},e.items,i({},n,r))}}if(\"DELETE_ACCESS_TOKEN\"==t.type){var s=[].concat(o(e.tokens)),u=e.tokens.map(function(e){return e.id}),l=t.id,c=u.indexOf(l);return s.splice(c,1),{tokens:s}}}return e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(681),i=r(o),a=n(683),s=r(a),u=n(37),l=n(174),c=r(l),d=function(e,t){return!![\"token\",\"certificate\"].includes(e.location.query.type)||(t({pathname:\"/access-control\",search:\"?type=token\",state:{preserveFlash:!0}}),!1)};t.default=function(e){var t=function(){return e.dispatch(c.default.fetchItems())},n=(0,u.makeRoutes)(e,\"accessControl\",i.default,null,null,{path:\"access-control\",name:\"accessControl\"});return n.indexRoute.onEnter=function(e,n){d(e,n)&&t()},n.indexRoute.onChange=function(e,t,n){d(t,n)},n.childRoutes.push({path:\"create-token\",component:s.default}),n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasProtectedGrant=t.isAccessToken=t.guardType=t.getPolicyNames=void 0;var r=n(1640),o=n(229),i=(t.getPolicyNames=(0,r.createSelector)(function(e){return e.grants},function(e){return e.map(function(e){var t=e.protected,n=e.policy,r=o.policyOptions.find(function(e){return e.value==n}),i=r?r.label:n;return t&&(i+=\" (Protected)\"),i})}),t.guardType=function(e){return e.guardType});t.isAccessToken=(0,r.createSelector)(i,function(e){return\"access_token\"==e}),t.hasProtectedGrant=function(e,t){return void 0!=e.find(function(e){return e.protected&&e.policy==t})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(14),a=n(66),s=n(41),u=n(15),l=(r(u),n(115)),c=r(l),d=\"account\",f=(0,a.baseListActions)(d,{defaultKey:\"alias\"}),p=(0,a.baseCreateActions)(d,{jsonFields:[\"tags\"],intFields:[\"quorum\"],redirectToShow:!0}),h=(0,a.baseUpdateActions)(d,{jsonFields:[\"tags\"]}),m=function(e){return function(t){t({type:\"SET_CURRENT_ACCOUNT\",account:e})}},g=function(){return function(e){return(0,i.chainClient)().accounts.query().then(function(t){var n=t.data[0].alias;return e(m(n)),n})}},_=function(e){return function(t){\"string\"==typeof e.alias&&(e.alias=e.alias.trim());var n={alias:e.alias+\"Key-\"+c.default.v4(),password:e.password};return(0,i.chainClient)().mockHsm.keys.create(n).then(function(n){if(\"fail\"===n.status)throw n;e.xpubs&&(e.rootXpubs=[n.data.xpub],e.xpubs.forEach(function(t){t.value&&e.rootXpubs.push(t.value)}),delete e.xpubs);var r={root_xpubs:e.rootXpubs,quorum:parseInt(e.quorum),alias:e.alias};return(0,i.chainClient)().accounts.create(r).then(function(e){if(\"fail\"===e.status)throw e;if(\"success\"===e.status)return t({type:\"SET_CURRENT_ACCOUNT\",account:e.data.alias}),(0,i.chainClient)().accounts.createAddress({account_alias:e.data.alias}).then(function(){t(b())}).catch(function(e){throw e})}).catch(function(e){throw e})}).catch(function(e){throw e})}},b=function(){return function(e){e(p.created()),e((0,s.push)(\"/accounts\"))}},y=o({},f,p,h,{createReceiver:function(e){return function(){return(0,i.chainClient)().accounts.createReceiver(e)}},createAddress:function(e){return function(){return(0,i.chainClient)().accounts.createAddress(e)}},listAddresses:function(e){return(0,i.chainClient)().accounts.listAddresses({accountId:e})},switchAccount:m,setDefaultAccount:g,createAccount:_,createSuccess:b});t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(53),f=r(d),p=n(27),h=n(16),m=n(15),g=r(m),_=n(4),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.createReceiver=n.createReceiver.bind(n),n.createAddress=n.createAddress.bind(n),n.listAddress=n.listAddress.bind(n),n.listAddress(),n}return a(t,e),s(t,[{key:\"listAddress\",value:function(){var e=this;this.props.listAddress(this.props.params.id).then(function(t){if(\"success\"===t.status){var n=t.data.filter(function(e){return!e.change}).map(function(e){return{address:e.address,program:e.controlProgram}}),r=t.data.filter(function(e){return e.change}).map(function(e){return{address:e.address,program:e.controlProgram}});e.setState({addresses:n,changeAddresses:r})}}).catch(function(e){})}},{key:\"createReceiver\",value:function(){var e=this;this.props.createReceiver({account_alias:this.props.item.alias}).then(function(t){var n=t.data;return e.props.showModal(l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,\"Copy this one-time use address to use in a transaction:\"),l.default.createElement(c.CopyableBlock,{value:JSON.stringify({controlProgram:n.controlProgram,expiresAt:n.expiresAt},null,1)})))})}},{key:\"createAddress\",value:function(){var e=this,t=this.props.t;this.props.createAddress({account_alias:this.props.item.alias}).then(function(n){var r=n.data;e.listAddress(),e.props.showModal(l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,t(\"account.copyAddress\")),l.default.createElement(c.CopyableBlock,{value:r.address})))})}},{key:\"showProgram\",value:function(e){var t=this.props.t;this.props.showModal(l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,t(\"account.copyProgram\")),l.default.createElement(c.CopyableBlock,{value:e})))}},{key:\"render\",value:function(){var e=this,t=this.props.item,n=this.props.t,r=void 0;if(t){var o=l.default.createElement(\"span\",null,n(\"account.account\"),l.default.createElement(\"code\",null,t.alias?t.alias:t.id));r=l.default.createElement(\"div\",{className:(0,f.default)(this)},l.default.createElement(c.PageTitle,{title:o,actions:[l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.createAddress},n(\"account.newAddress\"))]}),l.default.createElement(c.PageContent,null,l.default.createElement(c.KeyValueTable,{id:t.id,object:\"account\",title:n(\"form.detail\"),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:t})],items:[{label:\"ID\",value:t.id},{label:n(\"form.alias\"),value:t.alias,editUrl:\"/accounts/\"+t.id+\"/alias\"},{label:n(\"form.xpubs\"),value:(t.xpubs||[]).length},{label:n(\"form.quorum\"),value:t.quorum}]}),(t.xpubs||[]).map(function(e,t){return l.default.createElement(c.KeyValueTable,{key:t,title:n(\"account.xpubs\",{id:t+1}),actions:0===t&&[l.default.createElement(p.Link,{key:\"check-password-btn\",className:\"btn btn-link\",to:\"/accounts/key/check-password/\"+e},n(\"key.tryPassword\")),l.default.createElement(p.Link,{key:\"reset-password-btn\",className:\"btn btn-link\",to:\"/accounts/key/reset-password/\"+e},n(\"key.resetPassword\"))],items:[{label:n(\"account.accountXpub\"),value:e}]})}),(this.state.addresses||[]).length>0&&l.default.createElement(c.KeyValueTable,{title:n(\"account.address\"),items:this.state.addresses.map(function(t,n){return{label:n+1,value:t.address,program:function(n){return e.showProgram(t.program)},copy:!0}})}),(this.state.changeAddresses||[]).length>0&&l.default.createElement(c.KeyValueTable,{title:n(\"account.changeAddress\"),items:this.state.changeAddresses.map(function(t,n){return{label:n+1,value:t.address,program:function(n){return e.showProgram(t.program)},copy:!0}})})))}return this.renderIfFound(r)}}]),t}(c.BaseShow),y=function(e,t){return{item:e.account.items[t.params.id]}},v=function(e){return{fetchItem:function(t){return e(g.default.account.fetchItems({id:\"\"+t}))},showTransactions:function(t){var n=\"inputs(account_id='\"+t.id+\"') OR outputs(account_id='\"+t.id+\"')\";t.alias&&(n=\"inputs(account_alias='\"+t.alias+\"') OR outputs(account_alias='\"+t.alias+\"')\"),e(g.default.transaction.pushList({filter:n}))},showBalances:function(t){var n=\"account_id='\"+t.id+\"'\";t.alias&&(n=\"account_alias='\"+t.alias+\"'\"),e(g.default.balance.pushList({filter:n}))},createReceiver:function(t){return e(g.default.account.createReceiver(t))},createAddress:function(t){return e(g.default.account.createAddress(t))},showModal:function(t){return e(g.default.app.showModal(t,g.default.app.hideModal))},listAddress:g.default.account.listAddresses}};t.default=(0,_.withNamespaces)(\"translations\")((0,h.connect)(y,v)(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this.props.item.alias===this.props.currentAccount;return this.props.submitForm(e,this.props.item.id,t).catch(function(e){throw{_error:e}})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){0==t.data.length&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){if(this.state.notFound)return l.default.createElement(c.NotFound,null);var e=this.props.item;if(!e)return l.default.createElement(\"div\",null,\"Loading...\");var t=this.props,n=t.fields.alias,r=t.error,o=t.handleSubmit,i=t.submitting,a=t.t,s=l.default.createElement(\"span\",null,a(\"account.editAlias\"),l.default.createElement(\"code\",null,e.alias?e.alias:e.id));return l.default.createElement(c.FormContainer,{error:r,label:s,onSubmit:o(this.submitWithValidations),submitting:i},l.default.createElement(c.FormSection,{title:a(\"account.alias\")},l.default.createElement(c.TextField,{placeholder:a(\"account.aliasPlaceholder\"),fieldProps:n,type:\"text\"})))}}]),t}(l.default.Component),h=function(e,t){return{item:e.account.items[t.params.id],currentAccount:e.account.currentAccount}},m=function(e,t){var n=e.account.items[t.params.id];return n?{initialValues:{alias:n.alias}}:{}},g=(0,d.reduxForm)({form:\"updateAccountForm\",fields:[\"alias\"]},m)(p);t.default=(0,f.withNamespaces)(\"translations\")(c.BaseUpdate.connect(h,c.BaseUpdate.mapDispatchToProps(\"account\"),g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(16),p=n(15),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e,t){var n=this;return new Promise(function(r,o){var i={xpub:t,password:e.password};n.props.checkPassword(i).then(function(){return r()}).catch(function(e){return o({_error:e})})})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem().then(function(t){0==t.data.length&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){var e=this;if(this.state.notFound)return l.default.createElement(d.NotFound,null);var t=this.props.item;if(!t)return l.default.createElement(\"div\",null,\"Loading...\");var n=this.props,r=n.fields.password,o=n.error,i=n.handleSubmit,a=n.t,s=this.props.successCode&&a(\"btmError.\"+this.props.successCode),u=l.default.createElement(\"span\",null,a(\"key.tryPassword\"),l.default.createElement(\"code\",null,t.alias));return l.default.createElement(d.FormContainer,{error:o,success:s,label:u,onSubmit:i(function(n){return e.submitWithValidations(n,t.xpub)}),submitLabel:a(\"key.tryPassword\")},l.default.createElement(d.FormSection,null,l.default.createElement(d.PasswordField,{title:a(\"key.password\"),placeholder:a(\"key.tryPPlaceholder\"),fieldProps:r})))}}]),t}(u.Component),_=function(e,t){return{item:e.key.items[t.params.id],successCode:e.key.success}},b=function(e){return{fetchItem:function(){return e(h.default.key.fetchItems())},checkPassword:function(t){return e(h.default.key.checkPassword(t))}}};t.default=(0,f.connect)(_,b)((0,c.reduxForm)({form:\"CheckPassword\",fields:[\"password\"]})((0,m.withNamespaces)(\"translations\")(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(692),d=r(c),f=n(4),p=n(1),h=r(p),m=n(175),g=n(1184),_=r(g),b=\"account\",y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this,t=l.BaseList.ItemList,n=this.props.items;return n.map(function(t){t.alias===e.props.currentAccount?t.isUsed=!0:t.isUsed=!1}),h.default.createElement(t,s({},this.props,{items:n}))}}]),t}(h.default.Component),v=function(e,t){return s({currentAccount:e.account.currentAccount},l.BaseList.mapStateToProps(b,d.default,{wrapperComponent:l.TableList,wrapperProps:{titles:t.t(\"account.formTitle\",{returnObjects:!0}),styles:_.default.main}})(e))},M=function(e){return s({},l.BaseList.mapDispatchToProps(b)(e),{itemActions:{switch:function(t){return e(m.actions.switchAccount(t))}}})};t.default=(0,f.withNamespaces)(\"translations\")(l.BaseList.connect(v,M,y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(4),f=n(1185),p=r(f),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props.item,n=this.props.t,r=t.quorum+\" / \"+t.xpubs.length;return l.default.createElement(\"tr\",{className:p.default.tr},l.default.createElement(\"td\",null,l.default.createElement(c.Link,{to:\"/accounts/\"+t.id},t.alias||\"-\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.id)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,r)),l.default.createElement(\"td\",null,t.isUsed?l.default.createElement(\"button\",{className:\"btn btn-default btn-sm \"+p.default.selectButton+\" \"+p.default.buttonDisable,disabled:!0},n(\"account.selected\")):l.default.createElement(\"button\",{className:\"btn btn-outline-primary btn-sm \"+p.default.selectButton,onClick:function(){return e.props.switch(t.alias)}},n(\"account.select\"))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(10),h=n(53),m=r(h),g=n(1186),_=r(g),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){if(0===this.props.mnemonic.length)return l.default.createElement(p.NotFound,null);var e=this.props.t;return l.default.createElement(\"div\",{className:(0,m.default)(this,\"flex-container\")},l.default.createElement(p.PageTitle,{title:e(\"mnemonic.backup\")}),l.default.createElement(p.PageContent,null,l.default.createElement(\"div\",{className:_.default.content},l.default.createElement(p.StepList,null,l.default.createElement(p.Step,{nextL:e(\"mnemonic.continue\")},l.default.createElement(p.Mnemonic,{mnemonic:this.props.mnemonic})),l.default.createElement(p.Step,null,l.default.createElement(p.ConfirmMnemonic,{mnemonic:this.props.mnemonic,succeeded:this.props.succeeded}))))))}}]),t}(l.default.Component),v=function(e){var t=(e.key||{}).mnemonic||[];return t?{mnemonic:t}:{}},M=function(e){return{succeeded:function(){return e(f.default.account.createSuccess())}}};t.default=(0,b.withNamespaces)(\"translations\")((0,c.connect)(v,M)(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(4),h=n(15),m=r(h),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),u(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.createAccount(e).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.alias,r=t.xpubs,o=t.quorum,i=t.password,a=t.confirmPassword,s=e.error,u=e.handleSubmit,l=e.submitting,f=e.t;return c.default.createElement(d.FormContainer,{error:s,label:f(\"account.new.newAccount\"),onSubmit:u(this.submitWithValidations),submitting:l},c.default.createElement(d.FormSection,{title:f(\"account.new.information\")},c.default.createElement(d.TextField,{title:f(\"form.alias\"),placeholder:f(\"form.alias\"),fieldProps:n,autoFocus:!0}),c.default.createElement(d.PasswordField,{\ntitle:f(\"key.password\"),placeholder:f(\"key.passwordPlaceholder\"),fieldProps:i,autoFocus:!1}),c.default.createElement(d.PasswordField,{title:f(\"key.repeatPassword\"),placeholder:f(\"key.repeatPasswordPlaceholder\"),fieldProps:a,autoFocus:!1})),c.default.createElement(d.FormSection,{title:f(\"form.keyAndSign\")},c.default.createElement(d.KeyConfiguration,{xpubs:r,quorum:o,quorumHint:f(\"account.new.quorumHint\")})))}}]),t}(c.default.Component),_=function(e,t){var n={xpubs:{}},r=t.t,o=d.JsonField.validator(e.tags);return o&&(n.tags=o),e.alias||(n.alias=r(\"account.new.aliasWarning\")),e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.confirmPassword&&(n.confirmPassword=r(\"key.reset.repeatPWarning\")),e.xpubs.forEach(function(t,o){o>0&&!e.xpubs[o].value&&(n.xpubs[o]=s({},n.xpubs[o],{value:r(\"account.new.keyWarning\")}))}),n},b=[\"alias\",\"xpubs[].value\",\"xpubs[].type\",\"quorum\",\"password\",\"confirmPassword\"],y=function(e){return s({createAccount:function(t){return e(m.default.account.createAccount(t))}},d.BaseNew.mapDispatchToProps(\"account\")(e))};t.default=(0,p.withNamespaces)(\"translations\")(d.BaseNew.connect(d.BaseNew.mapStateToProps(\"account\"),y,(0,f.reduxForm)({form:\"newAccountForm\",fields:b,validate:_,initialValues:{quorum:1}})(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(16),p=n(15),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e,t){var n=this;return new Promise(function(r,o){var i={xpub:t,old_password:e.oldPassword,new_password:e.newPassword};n.props.submitReset(i).catch(function(e){return o({_error:e.message})})})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem().then(function(t){0==t.data.length&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){var e=this;if(this.state.notFound)return l.default.createElement(NotFound,null);var t=this.props,n=t.item,r=t.t;if(!n)return l.default.createElement(\"div\",null,\"Loading...\");var o=this.props,i=o.fields,a=i.oldPassword,s=i.newPassword,u=i.repeatPassword,c=o.error,f=o.handleSubmit,p=o.submitting,h=l.default.createElement(\"span\",null,r(\"key.reset.title\"),l.default.createElement(\"code\",null,n.alias));return l.default.createElement(d.FormContainer,{error:c,label:h,onSubmit:f(function(t){return e.submitWithValidations(t,n.xpub)}),submitting:p,submitLabel:r(\"key.reset.label\")},l.default.createElement(d.FormSection,{title:r(\"key.reset.label\")},l.default.createElement(d.PasswordField,{title:r(\"key.reset.oldPassword\"),placeholder:r(\"key.reset.oldPPlaceholder\"),fieldProps:a}),l.default.createElement(d.PasswordField,{title:r(\"key.reset.newPassword\"),placeholder:r(\"key.reset.newPasswordPlaceholder\"),fieldProps:s}),l.default.createElement(d.PasswordField,{title:r(\"key.reset.repeatPassword\"),placeholder:r(\"key.reset.repeatPasswordPlaceholder\"),fieldProps:u})))}}]),t}(u.Component),_=function(e,t){var n={},r=t.t;return e.oldPassword||(n.oldPassword=r(\"form.required\")),e.newPassword?e.newPassword.length<5&&(n.newPassword=r(\"key.reset.newPWarning\")):n.newPassword=r(\"form.required\"),e.newPassword!==e.repeatPassword&&(n.repeatPassword=r(\"key.reset.repeatPWarning\")),n},b=function(e,t){return{item:e.key.items[t.params.id]}},y=function(e){return{fetchItem:function(){return e(h.default.key.fetchItems())},submitReset:function(t){return e(h.default.key.submitResetForm(t))}}};t.default=(0,m.withNamespaces)(\"translations\")((0,f.connect)(b,y)((0,c.reduxForm)({form:\"ResetPassword\",fields:[\"oldPassword\",\"newPassword\",\"repeatPassword\"],validate:_})(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.MnemonicStepper=t.CheckPassword=t.ResetPassword=t.AccountUpdate=t.AccountShow=t.New=t.List=void 0;var o=n(691),i=r(o),a=n(694),s=r(a),u=n(688),l=r(u),c=n(689),d=r(c),f=n(695),p=r(f),h=n(690),m=r(h),g=n(693),_=r(g);t.List=i.default,t.New=s.default,t.AccountShow=l.default,t.AccountUpdate=d.default,t.ResetPassword=p.default,t.CheckPassword=m.default,t.MnemonicStepper=_.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.currentAccount=void 0;var r=n(37),o=n(36),i=\"account\",a=t.currentAccount=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"SET_CURRENT_ACCOUNT\"==t.type?t.account:e};t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i),queries:r.reducers.queriesReducer(i),autocompleteIsLoaded:r.reducers.autocompleteIsLoadedReducer(i),currentAccount:a})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(696),o=n(37);t.default=function(e){var t=(0,o.makeRoutes)(e,\"account\",r.List,r.New,r.AccountShow,{childRoutes:[{path:\":id/alias\",component:r.AccountUpdate},{path:\"key/reset-password/:id\",component:r.ResetPassword},{path:\"key/check-password/:id\",component:r.CheckPassword},{path:\"mnemonic\",component:r.MnemonicStepper}]});return t}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(41),o=n(14),i={dismissFlash:function(e){return{type:\"DISMISS_FLASH\",param:e}},displayedFlash:function(e){return{type:\"DISPLAYED_FLASH\",param:e}},updateAccountInit:function(e){return{type:\"UPDATE_ACCOUNT_INIT_STATUS\",param:e}},showModal:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return{type:\"SHOW_MODAL\",payload:{body:e,accept:t,cancel:n,options:r}}},hideModal:{type:\"HIDE_MODAL\"},showNavAdvanced:{type:\"SHOW_NAV_ADVANCE\"},hideNavAdvanced:function(e,t){\"advance\"===t().app.navAdvancedState&&e({type:\"HIDE_NAV_ADVANCE\"})},showRoot:(0,r.push)(\"/transactions\"),toggleDropdown:{type:\"TOGGLE_DROPDOWN\"},closeDropdown:function(e,t){\"open\"===t().app.dropdownState&&e({type:\"CLOSE_DROPDOWN\"})},showInitialization:function(){return function(e,t){var n=(t().routing.locationBeforeTransitions||{}).pathname;n.indexOf(\"initialization\")>=0||e((0,r.push)(\"/initialization\"))}},showConfiguration:function(){return function(e,t){var n=(t().routing.locationBeforeTransitions||{}).pathname;\"configuration\"!==n&&e((0,r.push)(\"/configuration\"))}},cmd:function(e){return function(){return(0,o.chainClient)().bytomCli.request(e)}}};t.default=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",null,l.default.createElement(\"div\",{className:\"container\"},this.props.children))}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(230),h=n(3),m=r(h),g=n(4),_=2e3,b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.redirectRoot=n.redirectRoot.bind(n),n}return a(t,e),s(t,[{key:\"redirectRoot\",value:function(e){var t=e.authOk,n=e.configKnown,r=(e.configured,e.location),o=e.accountInit;t&&n&&(o?(\"/\"===r.pathname||r.pathname.indexOf(\"initialization\")>=0)&&this.props.showRoot():this.props.showInitialization())}},{key:\"componentDidMount\",value:function(){\"zh\"===this.props.lng?m.default.locale(\"zh-cn\"):m.default.locale(this.props.lng)}},{key:\"componentWillMount\",value:function(){var e=this;this.props.fetchAccountItem().then(function(t){var n=new Promise(function(n,r){if(0==t.data.length)e.props.switchAccount(\"\"),n();else{var o=t.data.map(function(e){return e.alias});o.includes(e.props.currentAccount)?n():e.props.setDefaultAccount().then(function(){n()})}});return n.then(function(){return e.props.fetchKeyItem().then(function(t){return 0==t.data.length?e.props.updateAccountInit(!1):e.props.updateAccountInit(!0),e.props.fetchInfo().then(function(){e.redirectRoot(e.props)})})})}),setInterval(function(){return e.props.fetchInfo()},_)}},{key:\"componentWillReceiveProps\",value:function(e){e.accountInit==this.props.accountInit&&e.configured==this.props.configured&&e.location.pathname==this.props.location.pathname||this.redirectRoot(e)}},{key:\"render\",value:function(){var e=void 0,t=this.props,n=t.i18n,r=t.t;if(n.on(\"languageChanged\",function(e){\"zh\"===e?m.default.locale(\"zh-cn\"):m.default.locale(e)}),this.props.authOk){if(!this.props.configKnown)return l.default.createElement(p.Loading,null,r(\"main.loading\"));e=this.props.configured&&this.props.accountInit?l.default.createElement(p.Main,null,this.props.children):l.default.createElement(p.Config,null,this.props.children)}else e=l.default.createElement(p.Login,null);return l.default.createElement(\"div\",null,e,l.default.createElement(p.Modal,null),l.default.createElement(\"input\",{id:\"_copyInput\",onChange:function(){return\"do nothing\"},value:\"dummy\",style:{display:\"none\"}}))}}]),t}(l.default.Component);t.default=(0,c.connect)(function(e){return{authOk:!e.core.requireClientToken||e.core.validToken,configKnown:e.core.configKnown,configured:!0,accountInit:e.core.accountInit,currentAccount:e.account.currentAccount}},function(e){return{fetchInfo:function(t){return e(f.default.core.fetchCoreInfo(t))},showRoot:function(){return e(f.default.app.showRoot)},showInitialization:function(){return e(f.default.app.showInitialization())},updateAccountInit:function(t){return e(f.default.app.updateAccountInit(t))},fetchKeyItem:function(){return e(f.default.key.fetchItems())},fetchAccountItem:function(){return e(f.default.account.fetchItems())},setDefaultAccount:function(){return e(f.default.account.setDefaultAccount())},switchAccount:function(t){return e(f.default.account.switchAccount(t))}}})((0,g.withI18n)()(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1187),d=r(c),f=n(53),p=r(f),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:(0,p.default)(this,d.default.main)},l.default.createElement(\"img\",{src:n(1687),className:d.default.logo}),this.props.children)}}]),t}(l.default.Component);t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(1188),m=r(h),g=n(23),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.logIn(e.token).catch(function(e){return r({_error:e.message})})})}},{key:\"render\",value:function(){var e=n(664),t=this.props,r=t.fields.token,o=t.error,i=t.handleSubmit,a=t.submitting;return l.default.createElement(\"div\",{className:m.default.main},l.default.createElement(\"img\",{className:m.default.image,src:e}),l.default.createElement(\"div\",{className:m.default.form},l.default.createElement(\"form\",{onSubmit:i(this.submitWithValidations)},l.default.createElement(d.TextField,{placeholder:\"Enter client token (tokenname:xyz...)\",fieldProps:r,autoFocus:!0}),o&&l.default.createElement(d.ErrorBanner,{title:\"Error logging in\",error:o}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:a},\"Log In\"))))}}]),t}(l.default.Component);t.default=(0,c.connect)(function(){return{}},function(e){return{logIn:function(t){return e(p.default.core.logIn(t))}}})((0,g.reduxForm)({form:\"login\",fields:[\"token\"]})(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1189),d=r(c),f=n(76),p=n(27),h=n(16),m=n(15),g=r(m),_=n(237),b=r(_),y=n(863),v=r(y),M=n(230),A=n(4),w=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={tutorialHeight:0},n.toggleDropdown=n.toggleDropdown.bind(n),n.setTutorialHeight=n.setTutorialHeight.bind(n),n}return a(t,e),s(t,[{key:\"setTutorialHeight\",value:function(e){this.setState({tutorialHeight:e})}},{key:\"toggleDropdown\",value:function(e){e.stopPropagation(),this.props.toggleDropdown()}},{key:\"render\",value:function(){var e=n(664),t=this.props,r=t.t,o=t.i18n,i=t.version,a=function(e){o.changeLanguage(e)};return l.default.createElement(\"div\",{className:d.default.main,onClick:this.props.closeDropdown},l.default.createElement(\"div\",{className:d.default.sidebar},l.default.createElement(\"div\",{className:d.default.sidebarContent},l.default.createElement(\"div\",{className:d.default.logo},l.default.createElement(p.Link,{to:\"/\"},l.default.createElement(\"img\",{src:e,className:d.default.brand_image})),l.default.createElement(f.Dropdown,{id:\"dropdown-custom-1\",bsSize:\"xsmall\",className:d.default.languagesContainer,pullRight:!0,onSelect:a},l.default.createElement(f.Dropdown.Toggle,{className:d.default.languages,noCaret:!0},r(\"language\")),l.default.createElement(f.Dropdown.Menu,{className:d.default.languagesMenu},l.default.createElement(f.MenuItem,{eventKey:\"zh\"},\"中文\"),l.default.createElement(f.MenuItem,{eventKey:\"en\"},\"ENGLISH\"))),l.default.createElement(\"span\",null,l.default.createElement(\"span\",{className:d.default.settings,onClick:this.toggleDropdown},l.default.createElement(\"img\",{src:n(660)})),this.props.showDropwdown&&l.default.createElement(M.SecondaryNavigation,null))),l.default.createElement(M.Navigation,null),l.default.createElement(\"div\",{className:d.default.version},l.default.createElement(\"span\",null,r(\"commonWords.version\"),\": \",i)))),l.default.createElement(\"div\",{className:d.default.content+\" flex-container\",style:{marginTop:this.state.tutorialHeight}},!this.props.connected&&l.default.createElement(\"div\",{className:d.default.connectionIssue},\"There was an issue connecting to Chain Core. Please check your connection while dashboard attempts to reconnect.\"),l.default.createElement(v.default,{handleTutorialHeight:this.setTutorialHeight},l.default.createElement(b.default,{types:[\"TutorialInfo\"]})),this.props.children))}}]),t}(l.default.Component);t.default=(0,A.withNamespaces)(\"translations\")((0,h.connect)(function(e){return{canLogOut:e.core.requireClientToken,version:e.core.version,connected:!0,showDropwdown:\"open\"==e.app.dropdownState}},function(e){return{toggleDropdown:function(){return e(g.default.app.toggleDropdown)},closeDropdown:function(){return e(g.default.app.closeDropdown)}}})(w))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(1190),f=r(d),p=n(15),h=r(p),m=n(4),g=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.dispatch,n=e.isShowing,r=e.body,o=e.acceptAction,i=e.cancelAction,a=e.t;if(!n)return null;var s=function(){t(o),t(h.default.app.hideModal)},u=i?function(){return t(i)}:null,c=this.props.options.dialog?null:u||s,d=this.props.options.box,p=this.props.options.noCloseBtn;return l.default.createElement(\"div\",{className:f.default.main},l.default.createElement(\"div\",{className:f.default.backdrop,onClick:c}),l.default.createElement(\"div\",{className:(this.props.options.wide&&f.default.wide||\"\")+\" \"+(d?f.default.box:f.default.content)},d&&l.default.createElement(\"div\",{className:f.default.title},l.default.createElement(\"p\",null,a(\"console.title\")),l.default.createElement(\"button\",{className:\"btn \"+f.default.close,onClick:s},\"X\")),r,!p&&l.default.createElement(\"button\",{className:\"btn btn-\"+(this.props.options.danger?\"danger\":\"primary\")+\" \"+f.default.accept,onClick:s},a(\"form.ok\")),!p&&u&&l.default.createElement(\"button\",{className:\"btn btn-link \"+f.default.cancel,onClick:u},\"Cancel\")))}}]),t}(l.default.Component),_=function(e){return{isShowing:e.app.modal.isShowing,body:e.app.modal.body,acceptAction:e.app.modal.accept,cancelAction:e.app.modal.cancel,options:e.app.modal.options}};t.default=(0,c.connect)(_)((0,m.withNamespaces)(\"translations\")(g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(27),f=n(415),p=r(f),h=n(344),m=n(708),g=r(m),_=n(14),b=n(83),y=n(4),v=n(15),M=r(v),A=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.openTutorial=n.openTutorial.bind(n),n.state={showFed:!1},n}return a(t,e),s(t,[{key:\"openTutorial\",value:function(e){e.preventDefault(),this.props.openTutorial()}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchFederationItem().then(function(t){e.setState({showFed:!0})}).catch(function(t){e.setState({showFed:!1})})}},{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:p.default.main},this.props.update&&l.default.createElement(\"div\",{className:p.default.updateWarning+\" \"+p.default.smallFont},l.default.createElement(\"a\",{href:_.releaseUrl,target:\"_blank\"},l.default.createElement(\"img\",{src:n(1698),className:p.default.warningIcon}),this.props.newVersionCode,e(\"crumbName.update\"))),l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.coreData\")),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/transactions\",activeClassName:p.default.active},(0,h.navIcon)(\"transaction\",p.default),(0,b.capitalize)(e(\"crumbName.transaction\")))),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/assets\",activeClassName:p.default.active},(0,h.navIcon)(\"asset\",p.default),(0,b.capitalize)(e(\"crumbName.asset\")))),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/balances\",activeClassName:p.default.active},(0,h.navIcon)(\"balance\",p.default),(0,b.capitalize)(e(\"crumbName.balance\")))),this.state.showFed&&l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/federations\",activeClassName:p.default.active},(0,h.navIcon)(\"federation\",p.default),(0,b.capitalize)(e(\"crumbName.federation\"))))),l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.account\"),\"( \",this.props.currentAccount,\" )\"),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/accounts\",activeClassName:p.default.active},(0,h.navIcon)(\"account\",p.default),(0,b.capitalize)(e(\"crumbName.accountManagement\"))))),this.props.showNavAdvance&&l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.advanced\")),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/unspents\",activeClassName:p.default.active},(0,h.navIcon)(\"unspent\",p.default),(0,b.capitalize)(e(\"crumbName.unspent\"))))),l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.help\")),l.default.createElement(\"li\",null,l.default.createElement(\"a\",{href:_.docsRoot,target:\"_blank\"},(0,h.navIcon)(\"docs\",p.default),e(\"crumbName.doc\")))),l.default.createElement(g.default,null))}}]),t}(l.default.Component);t.default=(0,c.connect)(function(e){return{newVersionCode:e.core.newVersionCode,update:e.core.update,coreData:e.core.coreData,routing:e.routing,showNavAdvance:\"advance\"===e.app.navAdvancedState,currentAccount:e.account.currentAccount}},function(e){return{fetchFederationItem:function(){return e(M.default.federation.fetchItems())}}})((0,y.withNamespaces)(\"translations\")(A))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(16),f=n(15),p=r(f),h=n(344),m=n(1191),g=r(m),_=n(4),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.logOut=n.logOut.bind(n),n}return a(t,e),s(t,[{key:\"logOut\",value:function(e){e.preventDefault(),this.props.logOut()}},{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:g.default.main},l.default.createElement(\"ul\",{className:g.default.navigation},l.default.createElement(\"li\",{className:g.default.navigationTitle},e(\"crumbName.settings\")),l.default.createElement(\"li\",null,l.default.createElement(c.Link,{to:\"/core\",activeClassName:g.default.active},(0,h.navIcon)(\"core\",g.default),e(\"crumbName.coreStatus\"))),l.default.createElement(\"li\",null,l.default.createElement(c.Link,{to:\"/backup\",activeClassName:g.default.active},(0,h.navIcon)(\"client\",g.default),e(\"crumbName.backupRestore\"))),this.props.canViewTokens&&l.default.createElement(\"li\",null,l.default.createElement(c.Link,{to:\"/access-control\",activeClassName:g.default.active},(0,h.navIcon)(\"network\",g.default),e(\"crumbName.accessControl\"))),this.props.canLogOut&&l.default.createElement(\"li\",{className:g.default.logOut},l.default.createElement(\"a\",{href:\"#\",onClick:this.logOut},(0,h.navIcon)(\"logout\",g.default),e(\"crumbName.logout\")))))}}]),t}(l.default.Component);t.default=(0,d.connect)(function(e){return{canLogOut:!!e.core.clientToken,canViewTokens:!e.core.clientToken}},function(e){return{logOut:function(){return e(p.default.core.clearSession)}}})((0,_.withNamespaces)(\"translations\")(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(76),f=n(27),p=n(415),h=r(p),m=n(1192),g=r(m),_=n(4),b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.coreData,t=this.props.t;if(!e)return l.default.createElement(\"ul\",null);var n=e.networkId,r=e.syncing,o=e.peerCount,i=e.currentBlock,a=e.highestBlock,s=0===a?0:100*i/a,u=l.default.createElement(d.Tooltip,{id:\"tooltip\"},i,\"/\",a,\" \",l.default.createElement(\"strong\",null,\"(\",s.toFixed(1),\"%)\")),c=l.default.createElement(d.ProgressBar,{className:g.default.progressBar,now:s});if(r)return l.default.createElement(\"ul\",{className:h.default.navigation+\" \"+g.default.main},l.default.createElement(\"li\",{key:\"sync-title\",className:h.default.navigationTitle},n,\" \",t(\"sync.status\")),l.default.createElement(\"li\",{key:\"sync-peer-count\",className:o>0?g.default.blockHightlight:null},l.default.createElement(f.Link,{to:\"/peers\"},t(\"sync.peer\"),\": \",o)),l.default.createElement(\"li\",{key:\"sync-status\"},\" \",l.default.createElement(d.OverlayTrigger,{placement:\"top\",overlay:u},l.default.createElement(\"div\",null,\" \",t(\"sync.synchronizing\"),\" \",c,\" \"))));var p=[];return p.push(l.default.createElement(\"li\",{key:\"sync-title\",className:h.default.navigationTitle},n,\" \",t(\"sync.status\"))),p.push(l.default.createElement(\"li\",{key:\"sync-peer-count\",className:o>0?g.default.blockHightlight:null},l.default.createElement(f.Link,{to:\"/peers\"},t(\"sync.peer\"),\": \",o))),r||i!=a||p.push(l.default.createElement(\"li\",{className:g.default.blockHightlight,key:\"sync-done\"},l.default.createElement(d.OverlayTrigger,{placement:\"top\",overlay:u},l.default.createElement(\"div\",null,t(\"sync.synced\"),c)))),!r&&i<a&&p.push(l.default.createElement(\"li\",{\nkey:\"sync-disconnect\"},t(\"sync.disconnect\"))),l.default.createElement(\"ul\",{className:h.default.navigation+\" \"+g.default.main},p)}}]),t}(l.default.Component);t.default=(0,c.connect)(function(e){return{coreData:e.core.coreData}})((0,_.withNamespaces)(\"translations\")(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.dropdownState=t.navAdvancedState=t.modal=t.flashMessages=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(1),s=r(a),u=n(36),l=n(115),c=r(l),d=function(e,t,n){return{message:e,title:t,type:n,displayed:!1}},f=function(e,t){return i({},e,o({},c.default.v4(),t))},p=function(e,t,n){return i({},e,o({},c.default.v4(),d(t,n,\"success\")))},h=function(e,t,n){return i({},e,o({},c.default.v4(),d(t,n,\"danger\")))},m=t.flashMessages=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case\"@@router/LOCATION_CHANGE\":return t.payload.state&&t.payload.state.preserveFlash?e:(Object.keys(e).forEach(function(t){var n=e[t];n.displayed&&delete e[t]}),i({},e));case\"CREATED_ACCOUNT\":return p(e,\"CREATED_ACCOUNT\");case\"CREATED_ASSET\":return p(e,\"CREATED_ASSET\");case\"CREATED_TRANSACTION\":return p(e,\"CREATED_TRANSACTION\");case\"CREATED_KEY\":return p(e,\"CREATED_KEY\");case\"CREATED_TRANSACTIONFEED\":return p(e,s.default.createElement(\"p\",null,\"Created transaction feed.\"));case\"CREATED_TOKEN_WITH_GRANT\":return p(e,\"CREATED_TOKEN_WITH_GRANT\");case\"CREATED_X509_GRANT\":return p(e,s.default.createElement(\"p\",null,\"Granted policy to X509 certificate.\"));case\"RESET_PASSWORD_KEY\":return p(e,\"RESET_PASSWORD_KEY\");case\"DELETE_ACCESS_TOKEN\":case\"DELETE_TRANSACTIONFEED\":return f(e,d(t.message,null,\"info\"));case\"DISMISS_FLASH\":return delete e[t.param],i({},e);case\"DISPLAYED_FLASH\":var n=e[t.param];if(n&&!n.displayed){var r=i({},e);return n.displayed=!0,r[t.param]=n,r}return e;case\"UPDATED_ACCOUNT\":return p(e,\"UPDATED_ACCOUNT\");case\"UPDATED_KEY\":return p(e,\"UPDATED_KEY\");case\"UPDATED_ASSET\":return p(e,\"UPDATED_ASSET\");case\"CREATE_REGISTER_ACCOUNT\":return p(e,\"CREATE_REGISTER_ACCOUNT\");case\"ERROR\":return h(e,t.payload.message||t.payload.msg);case\"USER_LOG_IN\":return{};case\"RESTORE_SUCCESS\":return p(e,\"RESTORE_SUCCESS\");default:return e}},g=t.modal=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isShowing:!1},t=arguments[1];return\"SHOW_MODAL\"==t.type?i({isShowing:!0},t.payload):\"HIDE_MODAL\"==t.type?{isShowing:!1}:e},_=t.navAdvancedState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"normal\",t=arguments[1];return\"SHOW_NAV_ADVANCE\"==t.type?\"normal\"===e?\"advance\":\"normal\":\"HIDE_NAV_ADVANCE\"==t.type?\"normal\":e},b=t.dropdownState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"TOGGLE_DROPDOWN\"==t.type?\"\"===e?\"open\":\"\":\"CLOSE_DROPDOWN\"==t.type?\"\":e};t.default=(0,u.combineReducers)({flashMessages:m,modal:g,dropdownState:b,navAdvancedState:_})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=\"asset\",a=(0,o.baseListActions)(i,{defaultKey:\"alias\"}),s=(0,o.baseCreateActions)(i,{intFields:[\"quorum\"],redirectToShow:!0}),u=(0,o.baseUpdateActions)(i,{jsonFields:[\"tags\"]}),l=r({},a,s,u);t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(27),f=n(53),p=r(f),h=n(14),m=n(4),g=n(16),_=n(15),b=r(_),y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t,r=void 0;if(t){var o=l.default.createElement(\"span\",null,n(\"asset.asset\"),l.default.createElement(\"code\",null,t.alias?t.alias:t.id)),i=2.5*(t.limitHeight-this.props.blockHeight),a=void 0;this.props.blockHeight<t.limitHeight?a=l.default.createElement(\"span\",{className:\"text-danger\"},n(\"asset.issuableLabel\",{time:i})):t.limitHeight>0&&(a=l.default.createElement(\"span\",{className:\"text-danger\"},n(\"asset.noIssuableLabel\"))),r=l.default.createElement(\"div\",{className:(0,p.default)(this)},l.default.createElement(c.PageTitle,{title:o,actions:[t.id!==h.btmID&&l.default.createElement(d.Link,{key:\"create-asset-btn\",className:\"btn btn-link\",to:\"/transactions/create?type=issueAsset&alias=\"+t.alias},n(\"transaction.issue.issueAsset\"))]}),l.default.createElement(c.PageContent,null,l.default.createElement(c.KeyValueTable,{id:t.id,object:\"asset\",title:n(\"form.detail\"),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:t})],items:[{label:\"ID\",value:t.id},{label:n(\"form.alias\"),value:t.alias,editUrl:\"BTM\"===t.alias?null:\"/assets/\"+t.id+\"/alias\"},{label:n(\"form.symbol\"),value:t.definition.symbol},{label:n(\"form.decimals\"),value:t.definition.decimals},{label:n(\"form.reissueTitle\"),value:\"BTM\"===t.alias||t.limitHeight>0?\"false \":\"true\",note:a},{label:n(\"form.xpubs\"),value:(t.xpubs||[]).length},{label:n(\"form.quorum\"),value:t.quorum},{label:n(\"asset.additionInfo\"),value:t.definition.description}]}),(t.xpubs||[]).map(function(e,t){return l.default.createElement(c.KeyValueTable,{key:t,title:n(\"asset.xpubs\",{id:t+1}),items:[{label:n(\"form.index\"),value:t},{label:n(\"asset.assetPub\"),value:e}]})})))}return this.renderIfFound(r)}}]),t}(c.BaseShow),v=function(e,t){return{item:e.asset.items[t.params.id],blockHeight:e.core.blockHeight}},M=function(e){return{fetchItem:function(t){return e(b.default.asset.fetchItems({id:\"\"+t}))},showCirculation:function(t){var n=\"id='\"+t.id+\"'\";t.alias&&(n=\"alias='\"+t.alias+\"'\"),e(b.default.balance.pushList({filter:n}))}}};t.default=(0,m.withNamespaces)(\"translations\")((0,g.connect)(v,M)(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){return this.props.submitForm(e,this.props.item.id).catch(function(e){throw{_error:e}})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){\"fail\"==t.status&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){if(this.state.notFound)return l.default.createElement(c.NotFound,null);var e=this.props.item;if(!e)return l.default.createElement(\"div\",null,\"Loading...\");var t=this.props,n=t.fields.alias,r=t.error,o=t.handleSubmit,i=t.submitting,a=t.t,s=l.default.createElement(\"span\",null,a(\"asset.editAlias\"),l.default.createElement(\"code\",null,e.alias?e.alias:e.id));return l.default.createElement(c.FormContainer,{error:r,label:s,onSubmit:o(this.submitWithValidations),submitting:i},l.default.createElement(c.FormSection,{title:a(\"asset.alias\")},l.default.createElement(c.TextField,{placeholder:a(\"asset.aliasPlaceholder\"),fieldProps:n,type:\"text\"})))}}]),t}(l.default.Component),h=function(e,t){return{item:e.asset.items[t.params.id]}},m=function(e,t){var n=e.asset.items[t.params.id];return n?{initialValues:{alias:n.alias}}:{}},g=(0,d.reduxForm)({form:\"updateAssetForm\",fields:[\"alias\"]},m)(p);t.default=(0,f.withNamespaces)(\"translations\")(c.BaseUpdate.connect(h,c.BaseUpdate.mapDispatchToProps(\"asset\"),g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=(r(i),n(10)),s=n(714),u=r(s),l=n(4),c=\"asset\",d=function(e,t){return o({skipCreate:!0},a.BaseList.mapStateToProps(c,u.default,{wrapperComponent:a.TableList,wrapperProps:{titles:t.t(\"asset.formTitle\",{returnObjects:!0})}})(e))};t.default=(0,l.withNamespaces)(\"translations\")(a.BaseList.connect(d,a.BaseList.mapDispatchToProps(c)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(4),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,t.alias||\"-\"),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.id)),l.default.createElement(\"td\",null,l.default.createElement(c.Link,{to:\"/assets/\"+t.id},n(\"commonWords.viewDetails\"),\" →\")))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(717),p=r(f),h=n(716),m=r(h),g=n(4),_=n(23),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.nextPage=n.nextPage.bind(n),n.previousPage=n.previousPage.bind(n),n.state={page:1},n}return a(t,e),u(t,[{key:\"componentWillUnmount\",value:function(){this.props.destroyForm()}},{key:\"submitWithValidations\",value:function(e){var t=this,n={alias:e.alias,quorum:e.quorum,xpubs:e.xpubs,limit_height:\"true\"===e.reissue?0:this.props.blockHeight+3,definition:{name:e.alias.trim(),symbol:e.symbol.trim(),decimals:e.decimals,quorum:e.quorum,reissue:e.reissue,description:e.description}};return new Promise(function(e,r){t.props.submitForm(n).then(function(){t.props.destroyForm()}).catch(function(e){return r({_error:e})})})}},{key:\"nextPage\",value:function(){this.setState({page:this.state.page+1})}},{key:\"previousPage\",value:function(){this.setState({page:this.state.page-1})}},{key:\"render\",value:function(){var e=this.state.page;return c.default.createElement(\"div\",null,1===e&&c.default.createElement(m.default,{onSubmit:this.nextPage}),2===e&&c.default.createElement(p.default,{previousPage:this.previousPage,onSubmit:this.submitWithValidations}))}}]),t}(c.default.Component),y=function(e){return s({},d.BaseNew.mapDispatchToProps(\"asset\")(e),{destroyForm:function(){return e((0,_.destroy)(\"newAssetForm\"))}})},v=function(e){return s({},d.BaseNew.mapStateToProps(\"asset\"),{blockHeight:e.core.blockHeight})};t.default=(0,g.withNamespaces)(\"translations\")(d.BaseNew.connect(v,y,b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(4),h=n(1193),m=r(h),g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16].map(function(e){return{label:e,value:e}}),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.addReceiverItem=n.addReceiverItem.bind(n),n.removeReceiverItem=n.removeReceiverItem.bind(n),n}return a(t,e),u(t,[{key:\"addReceiverItem\",value:function(){this.props.fields.description.addField()}},{key:\"removeReceiverItem\",value:function(e){var t=this.props.fields.description;t.removeField(e)}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.alias,o=n.symbol,i=n.decimals,a=n.reissue,s=n.description,u=t.error,l=t.handleSubmit,f=t.submitting,p=t.t,h=[{label:p(\"form.reissueTrue\"),value:\"true\"},{label:p(\"form.reissueFalse\"),value:\"false\"}];return c.default.createElement(d.FormContainer,{error:u,label:p(\"asset.new\"),onSubmit:l,submitting:f,submitLabel:p(\"commonWords.next\")},c.default.createElement(d.FormSection,{title:p(\"asset.information\")},c.default.createElement(d.TextField,{title:p(\"form.alias\"),placeholder:p(\"asset.aliasLengthError\"),fieldProps:r,autoFocus:!0}),c.default.createElement(d.TextField,{title:p(\"form.symbol\"),placeholder:p(\"asset.symbolPlaceholder\"),fieldProps:o}),c.default.createElement(d.SelectField,{options:g,title:p(\"form.decimals\"),hint:p(\"asset.decimalPlaceholder\"),skipEmpty:!0,fieldProps:i}),c.default.createElement(d.RadioField,{title:p(\"form.reissueTitle\"),options:h,fieldProps:a}),c.default.createElement(\"label\",null,p(\"asset.additionInfo\")),c.default.createElement(\"div\",{className:m.default.panel},s.map(function(t,n){return c.default.createElement(\"div\",{className:m.default.subjectField},c.default.createElement(d.TextField,{title:p(\"asset.additionInfoKey\"),fieldProps:t.key}),c.default.createElement(d.TextField,{title:p(\"asset.additionInfoValue\"),fieldProps:t.value}),c.default.createElement(\"button\",{className:\"btn btn-danger btn-xs\",tabIndex:\"-1\",type:\"button\",onClick:function(){return e.removeReceiverItem(n)}},p(\"commonWords.remove\")))}),c.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:this.addReceiverItem},p(\"commonWords.addField\")))))}}]),t}(c.default.Component),b=function(e,t){var n={description:{}},r=t.t;return e.alias?e.alias.length>30&&(n.alias=r(\"asset.aliasLengthError\")):n.alias=r(\"asset.aliasError\"),e.symbol?e.symbol.isUpperCase()||(n.symbol=r(\"asset.symbolCaseError\")):n.symbol=r(\"asset.symbolError\"),e.decimals?/^\\d+$/.test(e.decimals)?(e.decimals>16||e.decimals<0)&&(n.decimals=r(\"asset.decimalsRangeError\")):n.decimals=r(\"asset.decimalsTypeError\"):n.decimals=r(\"asset.decimalsError\"),e.description.forEach(function(t,o){e.description[o].value||(n.description[o]=s({},n.description[o],{value:r(\"asset.additionInfoValueError\")})),e.description[o].key||(n.description[o]=s({},n.description[o],{key:r(\"asset.additionInfoKeyError\")}))}),n},y=[\"alias\",\"symbol\",\"decimals\",\"reissue\",\"description[].key\",\"description[].value\",\"quorum\"];t.default=(0,p.withNamespaces)(\"translations\")((0,f.reduxForm)({form:\"newAssetForm\",fields:y,validate:b,destroyOnUnmount:!1,initialValues:{decimals:8,reissue:\"false\",quorum:1}})(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(4),h=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.xpubs,r=t.quorum,o=e.error,i=e.previousPage,a=e.handleSubmit,s=e.submitting,u=e.t,l=function(){var e=new Promise(function(e,t){try{for(var r=0;r<n.length;r++)n.removeField()}catch(e){t(e)}e()});e.then(i)};return c.default.createElement(d.FormContainer,{error:o,label:u(\"asset.new\"),onSubmit:a,submitting:s,secondaryAction:l},c.default.createElement(d.FormSection,{title:u(\"form.keyAndSign\")},c.default.createElement(d.KeyConfiguration,{xpubs:n,quorum:r,quorumHint:u(\"asset.quorumHint\")})))}}]),t}(c.default.Component),m=function(e,t){var n={xpubs:{}},r=t.t;return e.xpubs.forEach(function(t,o){e.xpubs[o].value||(n.xpubs[o]=s({},n.xpubs[o],{value:r(\"asset.keysError\")}))}),n},g=[\"alias\",\"symbol\",\"decimals\",\"reissue\",\"description[].key\",\"description[].value\",\"xpubs[].value\",\"xpubs[].type\",\"quorum\"];t.default=(0,p.withNamespaces)(\"translations\")((0,f.reduxForm)({form:\"newAssetForm\",fields:g,validate:m,destroyOnUnmount:!1})(h))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.AssetUpdate=t.AssetShow=t.New=t.List=void 0;var o=n(713),i=r(o),a=n(715),s=r(a),u=n(711),l=r(u),c=n(712),d=r(c);t.List=i.default,t.New=s.default,t.AssetShow=l.default,t.AssetUpdate=d.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"asset\";t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i),queries:r.reducers.queriesReducer(i),autocompleteIsLoaded:r.reducers.autocompleteIsLoadedReducer(i)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(718),o=n(37);t.default=function(e){var t=(0,o.makeRoutes)(e,\"asset\",r.List,r.New,r.AssetShow);return t.childRoutes.push({path:\":id/alias\",component:r.AssetUpdate}),t}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o={backup:function(){return function(e){return(0,r.chainClient)().backUp.backup().then(function(e){if(\"fail\"===e.status)throw e;var t=new Date,n=t.toLocaleDateString().split(\" \")[0],r=t.getTime(),o=[\"vapor-wallet-backup-\",n,r].join(\"-\")+\".dat\",i=document.createElement(\"a\");i.setAttribute(\"href\",\"data:text/plain;charset=utf-8,\"+encodeURIComponent(JSON.stringify(e.data))),i.setAttribute(\"download\",o),i.style.display=\"none\",document.body.appendChild(i),i.click(),document.body.removeChild(i)}).catch(function(e){throw e})}},success:function(){return function(e){e({type:\"HIDE_MODAL\"}),e({type:\"RESTORE_SUCCESS\"})}}};t.default=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(1194),p=r(f),h=n(15),m=r(h),g=n(4),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:null,error:null},n.mnemonicPopup=n.mnemonicPopup.bind(n),n.keystorePopup=n.keystorePopup.bind(n),n.submitWithValidation=n.submitWithValidation.bind(n),n}return a(t,e),s(t,[{key:\"setValue\",value:function(e){this.setState({value:e.target.value})}},{key:\"mnemonicPopup\",value:function(e){e.preventDefault(),this.props.showModal(l.default.createElement(d.RestoreMnemonic,{success:this.props.success}))}},{key:\"keystorePopup\",value:function(e){e.preventDefault(),this.props.showModal(l.default.createElement(d.RestoreKeystore,{success:this.props.success}))}},{key:\"submitWithValidation\",value:function(){var e=this;this.props.backup().then(function(){e.setState({error:null})}).catch(function(t){e.setState({error:t})})}},{key:\"render\",value:function(){var e=this,t=this.props.t,n=this.state.error,r=l.default.createElement(\"button\",{className:\"btn btn-primary btn-lg \"+p.default.submit,onClick:function(){return e.submitWithValidation()}},t(\"backup.download\")),o=l.default.createElement(\"button\",{className:\"btn btn-primary btn-lg \"+p.default.submit,onClick:this.keystorePopup},t(\"backup.selectFile\"));return l.default.createElement(\"div\",{className:\"flex-container\"},l.default.createElement(d.PageTitle,{title:t(\"backup.title\")}),l.default.createElement(d.PageContent,null,l.default.createElement(\"div\",{onChange:function(t){return e.setValue(t)}},l.default.createElement(\"div\",{className:p.default.choices},l.default.createElement(\"div\",{className:p.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:p.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"backup\"}),l.default.createElement(\"div\",{className:p.default.choice+\" \"+p.default.backup+\" \"},l.default.createElement(\"span\",{className:p.default.choice_title},t(\"backup.backup\")),l.default.createElement(\"p\",null,t(\"backup.backupDescription\"))))),l.default.createElement(\"div\",{className:p.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:p.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"restoreKeystore\"}),l.default.createElement(\"div\",{className:p.default.choice+\" \"+p.default.restoreKeystore},l.default.createElement(\"span\",{className:p.default.choice_title},t(\"backup.restoreKeystore\")),l.default.createElement(\"p\",null,t(\"backup.restoreKeystoreDescription\")))))),l.default.createElement(\"div\",{className:p.default.choices},l.default.createElement(\"div\",null,\"backup\"===this.state.value&&[l.default.createElement(\"div\",{className:p.default.submitWrapper},n&&l.default.createElement(d.ErrorBanner,{error:n})),l.default.createElement(\"span\",{className:p.default.submitWrapper},r)]),l.default.createElement(\"div\",null,\"restoreKeystore\"===this.state.value&&l.default.createElement(\"span\",{className:p.default.submitWrapper},o)),l.default.createElement(\"div\",null,\"restoreMnemonic\"===this.state.value&&l.default.createElement(\"span\",{className:p.default.submitWrapper},restoreMnemonicButton))))))}}]),t}(l.default.Component),b=function(){return{}},y=function(e){return{backup:function(){return e(m.default.backUp.backup())},success:function(){return e(m.default.backUp.success())},showModal:function(t){return e(m.default.app.showModal(t,m.default.app.hideModal,null,{noCloseBtn:!0}))}}};t.default=(0,c.connect)(b,y)((0,g.withNamespaces)(\"translations\")(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Backup=void 0;var o=n(722),i=r(o);t.Backup=i.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(723);t.default={path:\"backup\",component:r.RoutingContainer,indexRoute:{component:o.Backup}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=n(14),a=n(41),s=function(e){return{type:\"UPDATE_WALLET_INFO\",param:e}},u=function(){return function(e){return(0,i.chainClient)().backUp.rescan().then(function(t){e(\"fail\"===t.status?{type:\"ERROR\",payload:{message:t.msg}}:{type:\"START_RESCAN\"})}).catch(function(e){throw{_error:e}})}},l=function(){return function(e){return(0,i.chainClient)().backUp.info().then(function(t){\"fail\"===t.status?e({type:\"ERROR\",payload:{message:t.msg}}):t.data.bestBlockHeight===t.data.walletHeight?(e({type:\"STOP_RESCAN\"}),e((0,a.push)(\"/balances\"))):e(s(t.data))}).catch(function(t){e({type:\"ERROR\",payload:t})})}},c=function(){return function(e){return(0,i.chainClient)().accounts.listAccountVotes({}).then(function(t){e({type:\"UPDATE_VOTE_DETAILS\",param:t.data})}).catch(function(t){e({type:\"ERROR\",payload:t})})}},d=r({updateInfo:s,rescan:u,walletInfo:l,getVoteDetail:c},(0,o.baseListActions)(\"balance\"));t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=(n(76),n(727)),d=r(c),f=n(1),p=r(f),h=n(15),m=r(h),g=n(728),_=r(g),b=n(4),y=\"balance\",v=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){this.props.getVoteDetail()}},{key:\"rescanWallet\",value:function(){this.props.showModal(p.default.createElement(_.default,{closeModal:this.props.closeModal()}))}},{key:\"render\",value:function(){var e=this,t=l.BaseList.ItemList,n=p.default.createElement(\"button\",{key:\"showRescan\",className:\"btn btn-primary\",onClick:function(){return e.rescanWallet()}},this.props.t(\"balances.rescan\")),r=void 0;if(0!==this.props.items.length){var o=function(e,t){return e.map(function(e){return s({},t.find(function(t){return t.accountId===e.accountId&&t}),e)})};r=0===this.props.voteDetail.length?this.props.items:o(this.props.items,this.props.voteDetail)}return p.default.createElement(\"div\",null,p.default.createElement(t,s({actions:[n]},this.props,{items:r})))}}]),t}(p.default.Component),M=function(e,t){var n=s({},l.BaseList.mapStateToProps(y,d.default)(e,t),{rescanning:e.balance.rescanning,rescanProgress:e.balance.rescanProgress,voteDetail:e.balance.voteDetail,skipCreate:!0});return n},A=function(e){return s({rescan:function(){return e(m.default.balance.rescan())},info:function(){return e(m.default.balance.walletInfo())},getVoteDetail:function(){return e(m.default.balance.getVoteDetail())},showModal:function(t){return e(m.default.app.showModal(t,m.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))},closeModal:function(){return e(m.default.app.hideModal)}},l.BaseList.mapDispatchToProps(y))};t.default=l.BaseList.connect(M,A,(0,b.withNamespaces)(\"translations\")(v))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),\nt&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(43),f=n(4),p=n(14),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=void 0;if(e){var n=function(t){return e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==p.btmID?(0,d.converIntToDec)(t,e.assetDefinition.decimals):t},r=n(e.amount);t={amount:r,assetId:e.assetId,assetAlias:e.assetAlias,accountAlias:e.accountAlias,accountId:e.accountId},e.totalVoteNumber&&(t.totalVoteNumber=n(e.totalVoteNumber))}return l.default.createElement(c.KeyValueTable,{items:(0,d.buildBalanceDisplay)(t,this.props.btmAmountUnit,this.props.t)})}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(76),d=n(1195),f=r(d),p=n(15),h=r(p),m=n(16),g=n(4),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={now:0},n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){var e=this,t=0;this.props.rescan().then(function(){return e.setStat()}),this.setStat=function(){e.props.rescanning?(e.props.fetchInfo(),t=e.props.rescanProgress.bestBlockHeight?(100*e.props.rescanProgress.walletHeight/e.props.rescanProgress.bestBlockHeight).toFixed(2):0,e.setState({now:t}),setTimeout(e.setStat,2e3)):e.setState({now:100})}}},{key:\"render\",value:function(){var e=this,t=this.state.now,n=this.props.t,r=n(\"balances.status.success\"),o=n(\"balances.status.start\"),i=n(\"balances.status.rescan\");return l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:f.default.title},100===t?r:0===t?o:i),100===t?l.default.createElement(\"pre\",{className:f.default.infoContainer},l.default.createElement(\"p\",null,n(\"balances.status.successMsg\"))):0===t?l.default.createElement(\"pre\",{className:f.default.infoContainer},l.default.createElement(\"p\",null,n(\"balances.status.startMsg\"))):l.default.createElement(\"pre\",{className:f.default.infoContainer},l.default.createElement(\"p\",null,n(\"balances.status.rescanMsg\")),l.default.createElement(c.ProgressBar,{now:t})),l.default.createElement(\"div\",{className:f.default.submitBtn},l.default.createElement(\"button\",{key:\"submit\",className:\"btn btn-primary\",onClick:function(){return e.props.closeModal()},disabled:100!==t},n(\"form.ok\"))))}}]),t}(l.default.Component),b=function(e){return{rescanning:e.balance.rescanning,rescanProgress:e.balance.rescanProgress}},y=function(e){return{rescan:function(){return e(h.default.balance.rescan())},fetchInfo:function(){return e(h.default.balance.walletInfo())},closeModal:function(){return e(h.default.app.hideModal)}}};t.default=(0,m.connect)(b,y)((0,g.withNamespaces)(\"translations\")(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(1196),p=r(f),h=n(4),m=n(15),g=r(m),_=n(43),b=n(14),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t,t=this.props.account,n=this.props.btmAmountUnit,r=void 0;if(t){var o=t.voteDetails,i=l.default.createElement(\"span\",null,e(\"balances.voteDetails\"),l.default.createElement(\"code\",null,t.accountAlias?t.accountAlias:t.accountId)),a=void 0;o&&(a=l.default.createElement(\"table\",{className:p.default.main},l.default.createElement(\"thead\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"th\",null,e(\"form.vote\")),l.default.createElement(\"th\",null,e(\"form.amount\")))),l.default.createElement(\"tbody\",null,o.map(function(e){return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,e.vote),l.default.createElement(\"td\",null,(0,_.normalizeGlobalBTMAmount)(b.btmID,e.voteNumber,n)))})))),r=l.default.createElement(\"div\",null,l.default.createElement(d.PageTitle,{title:i}),l.default.createElement(d.PageContent,null,l.default.createElement(d.Section,{title:e(\"balances.voteDetails\")},a)))}return this.renderIfFound(r)}}]),t}(d.BaseShow),v=function(e){return{fetchItem:function(t){return e(g.default.balance.getVoteDetail())}}};t.default=(0,c.connect)(function(e,t){var n=(e.balance||{}).voteDetail||[],r=n.find(function(e){return e.accountId==t.params.id});return r?{account:r,btmAmountUnit:e.core.btmAmountUnit}:{}},v)((0,h.withNamespaces)(\"translations\")(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.VoteDetails=t.List=void 0;var o=n(726),i=r(o),a=n(729),s=r(a);t.List=i.default,t.VoteDetails=s.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(36),i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(\"APPEND_BALANCE_PAGE\"==t.type){var n={};return t.param.data.forEach(function(e,t){var o=\"balance-\"+t;n[o]=r({id:\"balance-\"+t},e)}),n}return e},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"APPEND_BALANCE_PAGE\"==t.type?{loadedOnce:!0}:e},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"UPDATE_WALLET_INFO\"==t.type?t.param:e},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"UPDATE_VOTE_DETAILS\"==t.type?t.param:e},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"START_RESCAN\"==t.type||\"STOP_RESCAN\"!=t.type&&e};t.default=(0,o.combineReducers)({items:i,queries:a,rescanning:l,rescanProgress:s,voteDetail:u})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(730),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"balance\",r.List,null,null,{childRoutes:[{path:\"vote/:id\",component:r.VoteDetails}]})}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o=n(176),i=n(352),a=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return t(n).catch(function(o){for(var i=(new Date).getTime();i+200>=(new Date).getTime(););if(!(r>=1))throw o;e(t,n,r-1)})},s={submitConfiguration:function(e){var t=function(e,t){return(0,r.chainClient)().config.configure(t).then(function(){return a(e,o.actions.fetchCoreInfo({throw:!0}))})};return function(n){return\"testnet\"==e.type?n((0,i.fetchTestnetInfo)()).then(function(e){return t(n,e)}):(\"new\"==e.type&&(e={isGenerator:!0,isSigner:!0,quorum:1}),delete e.type,t(n,e))}}};t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(23),c=n(10),d=n(51),f=r(d),p=n(15),h=r(p),m=n(1),g=r(m),_=n(1197),b=r(_),y=n(14),v=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidation=n.submitWithValidation.bind(n),n}return a(t,e),u(t,[{key:\"showNewFields\",value:function(){return\"new\"===this.props.fields.type.value}},{key:\"showJoinFields\",value:function(){return\"join\"===this.props.fields.type.value}},{key:\"showTestnetFields\",value:function(){return\"testnet\"===this.props.fields.type.value}},{key:\"submitWithValidation\",value:function(e){var t=this;return e.generatorUrl&&!e.blockchainId?new Promise(function(e,t){return t({_error:\"You must specify a blockchain ID to connect to a network\"})}):new Promise(function(n,r){t.props.submitForm(e).catch(function(e){return r({type:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.type,r=t.generatorUrl,o=t.generatorAccessToken,i=t.blockchainId,a=e.handleSubmit,u=e.submitting,l=function(e){var t=n.onChange(e).value;\"join\"!=t&&(r.onChange(\"\"),o.onChange(\"\"),i.onChange(\"\"))},d=s({},(0,f.default)(n,[\"name\",\"value\",\"checked\",\"onBlur\",\"onFocus\"]),{onChange:l}),p=[n.error&&g.default.createElement(c.ErrorBanner,{key:\"configError\",title:\"There was a problem configuring your core\",error:n.error}),g.default.createElement(\"button\",{key:\"configSubmit\",type:\"submit\",className:\"btn btn-primary btn-lg \"+b.default.submit,disabled:u},\"\u00a0\",this.showNewFields()?\"Create\":\"Join\",\" network\")];return u&&p.push(g.default.createElement(c.SubmitIndicator,{text:this.showNewFields()?\"Creating network...\":\"Joining network...\"})),g.default.createElement(\"form\",{onSubmit:a(this.submitWithValidation)},g.default.createElement(\"h2\",{className:b.default.title},\"Configure Chain Core\"),g.default.createElement(\"div\",{className:b.default.choices},g.default.createElement(\"div\",{className:b.default.choice_wrapper},g.default.createElement(\"label\",null,g.default.createElement(\"input\",s({className:b.default.choice_radio_button,type:\"radio\"},d,{value:\"new\",disabled:!this.props.mockhsm})),g.default.createElement(\"div\",{className:b.default.choice+\" \"+b.default.new+\" \"+(this.props.mockhsm?\"\":b.default.disabled)},g.default.createElement(\"span\",{className:b.default.choice_title},\"Create new blockchain network\"),this.props.mockhsm&&g.default.createElement(\"p\",null,\"Start a new blockchain network with this Chain Core as the block generator.\"),!this.props.mockhsm&&g.default.createElement(\"p\",null,\"This core is compiled without a MockHSM. Use \",g.default.createElement(\"code\",null,\"corectl\"),\" to configure as a generator.\")))),g.default.createElement(\"div\",{className:b.default.choice_wrapper},g.default.createElement(\"label\",null,g.default.createElement(\"input\",s({className:b.default.choice_radio_button,type:\"radio\"},d,{value:\"join\"})),g.default.createElement(\"div\",{className:b.default.choice+\" \"+b.default.join},g.default.createElement(\"span\",{className:b.default.choice_title},\"Join existing blockchain network\"),g.default.createElement(\"p\",null,\"Connect this Chain Core to an existing blockchain network.\")))),g.default.createElement(\"div\",{className:b.default.choice_wrapper},g.default.createElement(\"label\",null,g.default.createElement(\"input\",s({className:b.default.choice_radio_button,type:\" radio\"},d,{value:\"testnet\"})),g.default.createElement(\"div\",{className:b.default.choice+\" \"+b.default.testnet},g.default.createElement(\"span\",{className:b.default.choice_title},\"Join the Chain Testnet\"),g.default.createElement(\"p\",null,\"Connect this Chain Core to the Chain Testnet. \",g.default.createElement(\"strong\",null,\"Data will be reset every week.\")))))),g.default.createElement(\"div\",{className:b.default.choices},g.default.createElement(\"div\",null,this.showNewFields()&&g.default.createElement(\"span\",{className:b.default.submitWrapper},p)),g.default.createElement(\"div\",null,this.showJoinFields()&&g.default.createElement(\"div\",{className:b.default.joinFields},g.default.createElement(c.TextField,{title:\"Block Generator URL\",placeholder:\"https://<block-generator-host>\",fieldProps:r}),g.default.createElement(c.TextField,{title:\"Blockchain ID\",placeholder:\"896a800000000000000\",fieldProps:i}),g.default.createElement(c.TextField,{title:[\"Cross-core Access Token\",g.default.createElement(\"a\",{href:y.docsRoot+\"/core/learn-more/authentication-and-authorization\",target:\"_blank\"},g.default.createElement(\"small\",{className:b.default.infoLink},g.default.createElement(\"span\",{className:\"glyphicon glyphicon-info-sign\"})))],placeholder:\"token-id:9e5f139755366add8c76\",fieldProps:o}),p)),g.default.createElement(\"div\",null,this.showTestnetFields()&&g.default.createElement(\"span\",{className:b.default.submitWrapper},p))))}}]),t}(g.default.Component),M=function(e){return{mockhsm:e.core.mockhsm}},A=function(e){return{submitForm:function(t){return e(h.default.configuration.submitConfiguration(t))}}},w={form:\"coreConfigurationForm\",fields:[\"type\",\"generatorUrl\",\"generatorAccessToken\",\"blockchainId\"]};t.default=(0,l.reduxForm)(w,M,A)(v)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Index=void 0;var o=n(734),i=r(o);t.Index=i.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(735);t.default={path:\"configuration\",component:r.RoutingContainer,indexRoute:{component:o.Index}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o=function(e){return{type:\"UPDATE_CORE_INFO\",param:e}},i=function(e){return{type:\"SET_CLIENT_TOKEN\",token:e}},a={type:\"USER_LOG_OUT\"},s=function(e){return{type:\"UPDATE_BTM_AMOUNT_UNIT\",param:e}},u=function(e){return function(t){return(0,r.chainClient)().config.mining(e).then(function(){t({type:\"UPDATE_MINING_STATE\",param:e})}).catch(function(e){if(!e.status)throw e})}},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){return(0,r.chainClient)().config.info().then(function(e){t(o(e))}).catch(function(n){if(e.throw||!n.status)throw n;t(401==n.status?{type:\"ERROR\",payload:n}:{type:\"CORE_DISCONNECT\"})})}},c={setClientToken:i,updateInfo:o,updateBTMAmountUnit:s,updateMiningState:u,fetchCoreInfo:l,clearSession:a,logIn:function(e){return function(t){return t(i(e)),t(l({throw:!0})).then(function(){return t({type:\"USER_LOG_IN\"})})}}};t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(16),l=n(76),c=n(53),d=r(c),f=n(10),p=n(1),h=r(p),m=n(1198),g=r(m),_=n(15),b=r(_),y=n(4),v=n(150),M=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={btmAmountUnit:\"BTM\"},n.handleMiningState=n.handleMiningState.bind(n),n.handleAdvancedOptionChange=n.handleAdvancedOptionChange.bind(n),n.changeBTMamount=n.changeBTMamount.bind(n),n.consolePopup=n.consolePopup.bind(n),n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){var e=this;window.ipcRenderer&&window.ipcRenderer.on(\"btmAmountUnitState\",function(t,n){e.props.uptdateBtmAmountUnit(n)})}},{key:\"changeBTMamount\",value:function(e){this.setState({btmAmountUnit:e}),this.props.uptdateBtmAmountUnit(e)}},{key:\"handleAdvancedOptionChange\",value:function(e){var t=e.target;t.checked?this.props.showNavAdvanced():this.props.hideNavAdvanced()}},{key:\"handleMiningState\",value:function(e){var t=e.target;t.checked?this.props.updateMiningState(!0):this.props.updateMiningState(!1)}},{key:\"consolePopup\",value:function(e){e.preventDefault(),this.props.showModal(h.default.createElement(f.ConsoleSection,{cmd:this.props.cmd}))}},{key:\"render\",value:function(){var e=\"advance\"===this.props.navAdvancedState,t=this.props.core.mingStatus,r=this.props.core.coreData,o=this.props.t,i=h.default.createElement(\"div\",{className:[g.default.left,g.default.col].join(\" \")},h.default.createElement(\"div\",null,h.default.createElement(\"h4\",null,o(\"coreIndex.configuration\")),h.default.createElement(\"table\",{className:g.default.table},h.default.createElement(\"tbody\",null,h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.version\"),\":\"),h.default.createElement(\"td\",null,h.default.createElement(\"code\",null,r?r.versionInfo.version:null))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"commonWords.language\"),\":\"),h.default.createElement(\"td\",null,o(\"languageFull\"))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.nodeXpub\"),\":\"),h.default.createElement(\"td\",{className:g.default.shorten_value},h.default.createElement(\"code\",null,String(r.nodeXpub))),h.default.createElement(\"td\",null,h.default.createElement(\"button\",{className:\"btn btn-link \"+g.default.copyButton,onClick:function(){return(0,v.copyToClipboard)(r.nodeXpub)}},h.default.createElement(\"img\",{src:n(338)})))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.fedAddress\"),\":\"),h.default.createElement(\"td\",{className:g.default.wordWrap},h.default.createElement(\"code\",null,String(r.federationAddress)))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{colSpan:3},h.default.createElement(\"hr\",null))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.advanced\"),\":\"),h.default.createElement(\"td\",null,h.default.createElement(\"label\",{className:g.default.switch},h.default.createElement(\"input\",{type:\"checkbox\",onChange:this.handleAdvancedOptionChange,checked:e}),h.default.createElement(\"span\",{className:g.default.slider})))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.mining\"),\":\"),h.default.createElement(\"td\",null,h.default.createElement(\"label\",{className:g.default.switch},h.default.createElement(\"input\",{type:\"checkbox\",onChange:this.handleMiningState,checked:t}),h.default.createElement(\"span\",{className:g.default.slider})))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.unit\"),\" \"),h.default.createElement(\"td\",null,h.default.createElement(l.DropdownButton,{bsSize:\"xsmall\",id:\"input-dropdown-amount\",title:this.props.core.btmAmountUnit||this.state.btmAmountUnit,onSelect:this.changeBTMamount},h.default.createElement(l.MenuItem,{eventKey:\"BTM\"},\"BTM\"),h.default.createElement(l.MenuItem,{eventKey:\"mBTM\"},\"mBTM\"),h.default.createElement(l.MenuItem,{eventKey:\"NEU\"},\"NEU\")))))))),a=void 0;a=r?h.default.createElement(\"div\",null,h.default.createElement(\"h4\",null,o(\"coreIndex.networkStatus\")),h.default.createElement(\"table\",{className:g.default.table},h.default.createElement(\"tbody\",null,h.default.createElement(\"tr\",{className:g.default.row,key:\"core-listening\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.listening\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,o(r.listening?\"coreIndex.connect\":\"coreIndex.disConnect\")))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-syncing\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.syncStatus\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,o(r.syncing?\"coreIndex.synchronizing\":\"coreIndex.synced\")))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-mining\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.miningStatus\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,o(r.mining?\"coreIndex.miningRuning\":\"coreIndex.miningStopped\")))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-peerCount\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.peer\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.peerCount)))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-currentBlock\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.currentBlock\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.currentBlock)))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-highestBlock\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.highestBlock\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.highestBlock)))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-networkID\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.networkId\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.networkId))))))):h.default.createElement(\"div\",null,\"loading...\");var s=h.default.createElement(\"div\",{className:[g.default.right,g.default.col].join(\" \")},a);return h.default.createElement(\"div\",{className:(0,d.default)(this,\"flex-container\")},h.default.createElement(f.PageTitle,{title:o(\"coreIndex.coreStatus\"),actions:[h.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.consolePopup},h.default.createElement(\"img\",{src:n(1677)}))]}),h.default.createElement(f.PageContent,null,h.default.createElement(\"div\",{className:g.default.flex+\" \"+g.default.mainContainer},i,s)))}}]),t}(h.default.Component),A=function(e){return{core:e.core,navAdvancedState:e.app.navAdvancedState}},w=function(e){return{showNavAdvanced:function(){return e(b.default.app.showNavAdvanced)},hideNavAdvanced:function(){return e(b.default.app.hideNavAdvanced)},uptdateBtmAmountUnit:function(t){return e(b.default.core.updateBTMAmountUnit(t))},updateMiningState:function(t){return e(b.default.core.updateMiningState(t))},showModal:function(t){return e(b.default.app.showModal(t,b.default.app.hideModal,null,{box:!0,wide:!0,noCloseBtn:!0}))},cmd:function(t){return e(b.default.app.cmd(t))}}};t.default=(0,u.connect)(A,w)((0,y.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreIndex=void 0;var o=n(738),i=r(o);t.CoreIndex=i.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.btmAmountUnit=t.connected=t.validToken=t.clientToken=t.requireClientToken=t.blockchainId=t.generatorAccessToken=t.generatorUrl=t.generator=t.signer=t.generatorBlockHeight=t.peerCount=t.currentBlockHeight=t.blockHeight=t.configuredAt=t.configured=void 0;var o=n(36),i=(n(14),n(3)),a=r(i),s=(n(358),\"YYYY-MM-DD, h:mm:ss a\"),u=function(e,t,n,r){return\"UPDATE_CORE_INFO\"==r.type?r.param.data[e]||n:t||n},l=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type||e},c=t.configured=function(e,t){return u(\"isConfigured\",e,!1,t)},d=t.configuredAt=function(e,t){var n=u(\"configuredAt\",e,\"\",t);return\"UPDATE_CORE_INFO\"==t.type&&\"\"!=n&&(n=(0,a.default)(n).format(s)),n},f=t.blockHeight=function(e,t){return u(\"highestBlock\",e,0,t)},p=t.currentBlockHeight=function(e,t){return u(\"currentBlock\",e,0,t)},h=t.peerCount=function(e,t){return u(\"peerCount\",e,0,t)},m=t.generatorBlockHeight=function(e,t){return\"UPDATE_CORE_INFO\"==t.type&&0==t.param.generatorBlockHeight?\"???\":u(\"generatorBlockHeight\",e,0,t)},g=t.signer=function(e,t){return u(\"isSigner\",e,!1,t)},_=t.generator=function(e,t){return u(\"isGenerator\",e,!1,t)},b=t.generatorUrl=function(e,t){return u(\"generatorUrl\",e,!1,t)},y=t.generatorAccessToken=function(e,t){return u(\"generatorAccessToken\",e,!1,t)},v=t.blockchainId=function(e,t){return u(\"blockchainId\",e,0,t)},M=t.requireClientToken=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"ERROR\"==t.type&&401==t.payload.status||e},A=t.clientToken=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"SET_CLIENT_TOKEN\"==t.type?t.token:\"ERROR\"==t.type&&401==t.payload.status?\"\":e},w=t.validToken=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"SET_CLIENT_TOKEN\"!=t.type&&(\"USER_LOG_IN\"==t.type||(\"ERROR\"!=t.type||401!=t.payload.status)&&e)},C=t.connected=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type||\"CORE_DISCONNECT\"!=t.type&&e},E=t.btmAmountUnit=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"BTM\",t=arguments[1];return\"UPDATE_BTM_AMOUNT_UNIT\"==t.type?t.param:e},L=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data.mining:e},T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data||null:e},O=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"CREATE_REGISTER_ACCOUNT\"==t.type||(\"UPDATE_ACCOUNT_INIT_STATUS\"==t.type?t.param:e)},S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.snapshot||null:e},N=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"N/A\",t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data.versionInfo.version:e},k=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data.versionInfo.update>0:e};t.default=(0,o.combineReducers)({accountInit:O,blockchainId:v,blockHeight:f,connected:C,clientToken:A,configKnown:l,configured:c,configuredAt:d,coreData:T,currentBlockHeight:p,generator:_,generatorAccessToken:y,generatorBlockHeight:m,generatorUrl:b,mingStatus:L,peerCount:h,requireClientToken:M,signer:g,snapshot:S,update:k,validToken:w,version:N,btmAmountUnit:E})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(739);t.default={path:\"core\",component:r.RoutingContainer,indexRoute:{component:o.CoreIndex}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=r({},(0,o.baseListActions)(\"federation\"));t.default=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1199),d=r(c),f=n(4),p=n(10),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"normalizeInouts\",value:function(e){var t={chain:e.sourceChainName,txHash:e.sourceTxHash,type:\"From\",address:e.crosschainRequests[0].fromAddress,timestamp:e.sourceBlockTimestamp},n={chain:\"vapor\"===e.sourceChainName?\"bytom\":\"vapor\",txHash:e.destTxHash,type:\"To\",address:e.crosschainRequests[0].toAddress,timestamp:e.destBlockTimestamp},r=[t,n];return r}},{key:\"render\",value:function(){var e=this.props.transaction,t=this.normalizeInouts(e),n=this.props.t;return l.default.createElement(\"div\",{className:d.default.main},t.map(function(e,t){return l.default.createElement(\"div\",{className:d.default.row+\" \"+d.default.titleBar,key:t},l.default.createElement(\"div\",{className:\"\"+d.default.title},l.default.createElement(\"label\",null,n(\"transaction.crossChainId\",{id:e.chain})),\"\u00a0\",l.default.createElement(\"code\",null,e.txHash||\"-\"),\"\u00a0\"),l.default.createElement(\"div\",{className:d.default.middle},l.default.createElement(\"div\",{className:d.default.account},l.default.createElement(\"div\",{className:d.default.colLabel+\"  \"+d.default.col},\" \",e.type),l.default.createElement(\"div\",{className:d.default.colAccount+\"  \"+d.default.col},e.address))),l.default.createElement(\"div\",{className:d.default.end},l.default.createElement(p.RelativeTime,{timestamp:e.source_block_timestamp})));\n}))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(10),a=n(745),s=r(a),u=n(4),l=\"federation\",c=function(e,t){var n=o({skipCreate:!0},i.BaseList.mapStateToProps(l,s.default)(e,t));return n};t.default=(0,u.withNamespaces)(\"translations\")(i.BaseList.connect(c,i.BaseList.mapDispatchToProps(l)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(347),f=n(1200),p=r(f),h=n(4),m=n(43),g=n(14),_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t,r=e.status,o=\"vapor\"===e.sourceChainName?\"crossOut\":\"crossIn\",i=function(e,t,n){if(e===g.btmID)switch(n){case\"BTM\":return(0,m.converIntToDec)(t,8);case\"mBTM\":return(0,m.converIntToDec)(t,5)}return t},a=e.crosschainRequests[0];return l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"div\",{className:p.default.titleBar},l.default.createElement(\"div\",{className:p.default.title},l.default.createElement(\"div\",{className:\"\"+p.default.colAction},l.default.createElement(\"img\",{src:n(339)(\"./\"+o+\".svg\")}),\" \",t(\"transaction.type.\"+o)),l.default.createElement(\"span\",{className:p.default.confirmation+\" \"+(\"pending\"===r?\"text-danger\":null)},t(\"transaction.\"+r))),l.default.createElement(\"div\",{className:p.default.end},a.asset&&[l.default.createElement(\"div\",{className:\"\"+p.default.recievedAmount},l.default.createElement(\"code\",{className:p.default.emphasisLabel+\" \"+p.default.col},i(a.asset.assetId,a.amount,this.props.btmAmountUnit))),l.default.createElement(\"div\",{className:\"\"+p.default.colUnit},l.default.createElement(c.Link,{to:\"/assets/\"+a.asset.assetId},a.asset.assetId===g.btmID?\"BTM\":a.asset.assetId))])),l.default.createElement(d.DetailSummary,{transaction:e,btmAmountUnit:this.props.btmAmountUnit}))}}]),t}(l.default.Component);t.default=(0,h.withNamespaces)(\"translations\")(_)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(36),i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(\"APPEND_FEDERATION_PAGE\"==t.type){var n={};return t.param.result.data.forEach(function(e,t){var o=\"federation-\"+t;n[o]=r({id:\"federation-\"+t},e)}),n}return e},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"APPEND_FEDERATION_PAGE\"==t.type?{loadedOnce:!0}:e};t.default=(0,o.combineReducers)({items:i,queries:a})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(347),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"federation\",r.List)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(23);t.default=r.reducer.normalize({newAssetForm:{symbol:function(e){return e&&e.toUpperCase()}}})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(14),i=(n(41),n(115)),a=r(i),s=function(e){return function(t){\"string\"==typeof e.accountAlias&&(e.accountAlias=e.accountAlias.trim());var n={alias:e.accountAlias+\"Key-\"+a.default.v4(),password:e.password};return(0,o.chainClient)().mockHsm.keys.create(n).then(function(n){if(\"fail\"===n.status)throw n;var r={root_xpubs:[n.data.xpub],quorum:1,alias:e.accountAlias};return t({type:\"INIT_ACCOUNT\",data:n.data.mnemonic}),(0,o.chainClient)().accounts.create(r).then(function(e){if(\"fail\"===e.status)throw e;if(\"success\"===e.status)return t({type:\"SET_CURRENT_ACCOUNT\",account:e.data.alias}),(0,o.chainClient)().accounts.createAddress({account_alias:e.data.alias}).then(function(){t(c())}).catch(function(e){throw e})}).catch(function(e){throw e})}).catch(function(e){throw e})}},u=function(e,t){return function(n){var r=e.file;return new Promise(function(e,i){var a=new FileReader;a.onload=function(r){var a=JSON.parse(r.target.result);return(0,o.chainClient)().backUp.restore(a).then(function(r){if(\"fail\"===r.status)throw r;e(),n(t)}).catch(function(e){i(e)})},a.readAsText(r,\"UTF-8\"),a.onerror=function(e){i(e)}})}},l=function(e,t){return function(n){\"string\"==typeof e.mnemonic&&(e.mnemonic=e.mnemonic.trim());var r={alias:\"key-\"+a.default.v4(),password:e.password,mnemonic:e.mnemonic};return(0,o.chainClient)().mockHsm.keys.create(r).then(function(e){if(\"fail\"===e.status)throw e;return(0,o.chainClient)().backUp.recovery({xpubs:[e.data.xpub]}).then(function(e){if(\"fail\"===e.status)throw e;n(t)}).catch(function(e){throw e})}).catch(function(e){throw e})}},c=function(){return function(e){e({type:\"CREATE_REGISTER_ACCOUNT\"})}},d={initSucceeded:c,registerKey:s,restoreKeystore:u,restoreMnemonic:l};t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1201),d=r(c),f=n(27),p=n(4),h=n(16),m=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:null},n}return a(t,e),s(t,[{key:\"setValue\",value:function(e){this.setState({value:e.target.value})}},{key:\"render\",value:function(){var e=this,t=this.props.coreData,n=this.props.t;if(!t)return l.default.createElement(\"ul\",null);var r=t.networkId,o=l.default.createElement(f.Link,{className:\"btn btn-primary \"+d.default.submit,to:\"/initialization/register\"},n(\"init.create\")),i=l.default.createElement(f.Link,{className:\"btn btn-primary \"+d.default.submit,to:\"/initialization/restoreKeystore\"},n(\"init.restoreWallet\"));return l.default.createElement(\"div\",{onChange:function(t){return e.setValue(t)}},l.default.createElement(\"h2\",{className:d.default.title},n(\"init.welcome\",{network:r})),l.default.createElement(\"div\",{className:d.default.choices},l.default.createElement(\"div\",{className:d.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:d.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"backup\"}),l.default.createElement(\"div\",{className:d.default.choice+\" \"+d.default.backup+\" \"},l.default.createElement(\"span\",{className:d.default.choice_title},n(\"init.create\")),l.default.createElement(\"p\",null,n(\"init.createDescription\"))))),l.default.createElement(\"div\",{className:d.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:d.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"restoreKeystore\"}),l.default.createElement(\"div\",{className:d.default.choice+\" \"+d.default.restoreKeystore},l.default.createElement(\"span\",{className:d.default.choice_title},n(\"backup.restoreKeystore\")),l.default.createElement(\"p\",null,n(\"backup.restoreKeystoreDescription\")))))),l.default.createElement(\"div\",{className:d.default.choices},l.default.createElement(\"div\",null,\"backup\"===this.state.value&&l.default.createElement(\"span\",{className:d.default.submitWrapper},o)),l.default.createElement(\"div\",null,\"restoreKeystore\"===this.state.value&&l.default.createElement(\"span\",{className:d.default.submitWrapper},i))))}}]),t}(l.default.Component);t.default=(0,p.withNamespaces)(\"translations\")((0,h.connect)(function(e){return{coreData:e.core.coreData}})(m))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(4),f=n(27),p=n(16),h=n(15),m=r(h),g=n(288),_=r(g),b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:_.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:_.default.title},e(\"backup.restoreKeystore\")),l.default.createElement(\"div\",{className:_.default.formWarpper},l.default.createElement(\"div\",{className:_.default.form},l.default.createElement(c.RestoreKeystore,{success:this.props.success}),l.default.createElement(f.Link,{className:\"btn btn-link\",to:\"/initialization/\"},e(\"commonWords.cancel\"))))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")((0,p.connect)(function(){return{}},function(e){return{success:function(){return e(m.default.initialization.initSucceeded())}}})(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(4),f=n(27),p=n(16),h=n(15),m=r(h),g=n(288),_=r(g),b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:_.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:_.default.title},e(\"backup.restoreMnemonic\")),l.default.createElement(\"div\",{className:_.default.formWarpper},l.default.createElement(\"div\",{className:_.default.form},l.default.createElement(c.RestoreMnemonic,{success:this.props.success}),l.default.createElement(f.Link,{className:\"btn btn-link\",to:\"/initialization/\"},e(\"commonWords.cancel\"))))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")((0,p.connect)(function(){return{}},function(e){return{success:function(){return e(m.default.initialization.initSucceeded())}}})(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(10),h=n(1202),m=r(h),g=n(4),_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:m.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:m.default.title},e(\"mnemonic.backup\")),l.default.createElement(\"div\",{className:m.default.formWarpper},l.default.createElement(\"div\",{className:m.default.form},l.default.createElement(p.StepList,null,l.default.createElement(p.Step,{nextL:e(\"mnemonic.continue\")},l.default.createElement(p.Mnemonic,{mnemonic:this.props.mnemonic})),l.default.createElement(p.Step,null,l.default.createElement(p.ConfirmMnemonic,{mnemonic:this.props.mnemonic,succeeded:this.props.succeeded})))))))}}]),t}(l.default.Component),b=function(e){var t=(e.initialization||{}).mnemonic||[];return t?{mnemonic:t}:{}},y=function(e){return{succeeded:function(){return e(f.default.initialization.initSucceeded())}}};t.default=(0,g.withNamespaces)(\"translations\")((0,c.connect)(b,y)(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(27),m=n(288),g=r(m),_=n(23),b=n(4),y=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.registerKey(e).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props.t,t=this.props,n=t.fields,r=n.password,o=n.repeatPassword,i=n.accountAlias,a=t.error,s=t.handleSubmit,u=t.submitting;return l.default.createElement(\"div\",{className:g.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:g.default.title},e(\"init.title\")),l.default.createElement(\"div\",{className:g.default.formWarpper},l.default.createElement(\"form\",{className:g.default.form,onSubmit:s(this.submitWithValidations)},l.default.createElement(d.TextField,{title:e(\"form.accountAlias\"),placeholder:e(\"init.accountPlaceholder\"),fieldProps:i}),l.default.createElement(d.PasswordField,{title:e(\"init.keyPassword\"),placeholder:e(\"init.passwordPlaceholder\"),fieldProps:r}),l.default.createElement(d.PasswordField,{title:e(\"init.repeatKeyPassword\"),placeholder:e(\"init.repeatPlaceHolder\"),fieldProps:o}),a&&l.default.createElement(d.ErrorBanner,{title:e(\"init.errorTitle\"),error:a}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:u},e(\"init.register\")),l.default.createElement(h.Link,{className:\"btn btn-link\",to:\"/initialization/\"},e(\"commonWords.cancel\"))))))}}]),t}(l.default.Component),v=function(e,t){var n={},r=t.t;return e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.repeatPassword&&(n.repeatPassword=r(\"key.reset.repeatPWarning\")),e.accountAlias||(n.accountAlias=r(\"account.new.aliasWarning\")),n};t.default=(0,b.withNamespaces)(\"translations\")((0,c.connect)(function(){return{}},function(e){return{registerKey:function(t){return e(p.default.initialization.registerKey(t))}}})((0,_.reduxForm)({form:\"initDefaultPassword\",fields:[\"password\",\"repeatPassword\",\"accountAlias\"],validate:v})(y)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.MnemonicStepper=t.Keystore=t.Mnemonic=t.Register=t.Index=void 0;var o=n(750),i=r(o),a=n(754),s=r(a),u=n(753),l=r(u),c=n(752),d=r(c),f=n(751),p=r(f);t.Index=i.default,t.Register=s.default,t.Mnemonic=d.default,t.Keystore=p.default,t.MnemonicStepper=l.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(36),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"INIT_ACCOUNT\"==t.type?t.data:e};t.default=(0,r.combineReducers)({mnemonic:o})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(755);t.default={path:\"initialization\",component:r.RoutingContainer,indexRoute:{component:o.Index},childRoutes:[{path:\"register\",component:o.Register},{path:\"mnemonic\",component:o.MnemonicStepper},{path:\"restore\",component:o.Restore},{path:\"restoreMnemonic\",component:o.Mnemonic},{path:\"restoreKeystore\",component:o.Keystore}]}},690,function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(1203),p=r(f),h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e,t){var n=this;return new Promise(function(r,o){var i={xpub:t.xpub,password:e.password};n.props.exportKey(i,t.alias).catch(function(e){return o({_error:e.message})})})}},{key:\"render\",value:function(){var e=this,t=this.props.item,n=this.props.lang,r=this.props,o=r.fields.password,i=r.handleSubmit,a=r.submitting;return l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"form\",{onSubmit:i(function(n){return e.submitWithValidations(n,t)})},l.default.createElement(c.TextField,{title:\"zh\"===n?\"密码\":\"Password\",placeholder:\"zh\"===n?\"请输入密码\":\"Please entered the password.\",fieldProps:o,type:\"password\"}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-default btn-sm\",disabled:a},\"zh\"===n?\"导出私钥\":\"Export private key\")))}}]),t}(u.Component),m=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,d.reduxForm)({form:\"ExportKey\",fields:[\"password\"],validate:m})(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){return this.props.submitForm(e,this.props.item.xpub).catch(function(e){throw{_error:e}})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){\"fail\"==t.status&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){if(this.state.notFound)return l.default.createElement(c.NotFound,null);var e=this.props.item;if(!e)return l.default.createElement(\"div\",null,\"Loading...\");var t=this.props,n=t.fields.alias,r=t.error,o=t.handleSubmit,i=t.submitting,a=t.t,s=l.default.createElement(\"span\",null,a(\"key.editAlias\"),l.default.createElement(\"code\",null,e.alias?e.alias:e.id));return l.default.createElement(c.FormContainer,{error:r,label:s,onSubmit:o(this.submitWithValidations),submitting:i},l.default.createElement(c.FormSection,{title:a(\"key.alias\")},l.default.createElement(c.TextField,{title:a(\"form.alias\"),placeholder:a(\"key.aliasPlaceHolder\"),fieldProps:n,type:\"text\"})))}}]),t}(l.default.Component),h=function(e,t){return{item:e.key.items[t.params.id]}},m=function(e,t){var n=e.key.items[t.params.id];return n?{initialValues:{alias:n.alias}}:{}},g=(0,d.reduxForm)({form:\"updateKeyForm\",fields:[\"alias\"]},m)(p);t.default=(0,f.withNamespaces)(\"translations\")(c.BaseUpdate.connect(h,c.BaseUpdate.mapDispatchToProps(\"key\"),g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(10),l=n(762),c=r(l),d=n(4),f=\"key\",p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),t}(u.BaseList.ItemList),h=function(e,t){return s({},u.BaseList.mapStateToProps(f,c.default,{skipQuery:!0,label:\"Keys\",wrapperComponent:u.TableList,wrapperProps:{titles:t.t(\"key.formTitle\",{returnObjects:!0})}})(e))};t.default=(0,d.withNamespaces)(\"translations\")(u.BaseList.connect(h,u.BaseList.mapDispatchToProps(f),p))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(4),f=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,t.alias),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.xpub)),l.default.createElement(\"td\",null,l.default.createElement(c.Link,{to:\"/keys/\"+t.id},n(\"form.more\"))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(10),h=n(53),m=r(h),g=n(1204),_=r(g),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this;if(0===this.props.mnemonic.length)return l.default.createElement(p.NotFound,null);var t=this.props.t;return l.default.createElement(\"div\",{className:(0,m.default)(this,\"flex-container\")},l.default.createElement(p.PageTitle,{title:t(\"mnemonic.backup\")}),l.default.createElement(\"div\",{className:_.default.main+\" flex-container\"},l.default.createElement(\"div\",{className:_.default.content},l.default.createElement(p.StepList,null,l.default.createElement(p.Step,{nextL:t(\"mnemonic.continue\")},l.default.createElement(p.Mnemonic,{mnemonic:this.props.mnemonic}),l.default.createElement(\"button\",{className:\"btn btn-default \"+_.default.marginLeft,onClick:function(){return e.props.succeeded()}},t(\"mnemonic.skip\"))),l.default.createElement(p.Step,null,l.default.createElement(p.ConfirmMnemonic,{mnemonic:this.props.mnemonic,succeeded:this.props.succeeded}))))))}}]),t}(l.default.Component),v=function(e){var t=(e.key||{}).mnemonic||[];return t?{mnemonic:t}:{}},M=function(e){return{succeeded:function(){return e(f.default.key.createSuccess())}}};t.default=(0,b.withNamespaces)(\"translations\")((0,c.connect)(v,M)(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={checked:!1,key:null},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{xprv:t.state.key,index:5e3})).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.alias,r=t.password,o=t.confirmPassword,i=(t.accountAlias,e.error),a=e.handleSubmit,s=e.submitting,u=e.t;return l.default.createElement(c.FormContainer,{error:i,label:u(\"key.new\"),onSubmit:a(this.submitWithValidations),submitting:s},l.default.createElement(c.FormSection,{title:u(\"key.info\")},l.default.createElement(c.TextField,{title:u(\"form.alias\"),placeholder:u(\"key.aliasPlaceHolder\"),fieldProps:n,autoFocus:!0}),l.default.createElement(c.PasswordField,{title:u(\"key.password\"),placeholder:u(\"key.passwordPlaceholder\"),fieldProps:r,autoFocus:!1}),l.default.createElement(c.PasswordField,{title:u(\"key.repeatPassword\"),placeholder:u(\"key.repeatPasswordPlaceholder\"),fieldProps:o,autoFocus:!1})))}}]),t}(l.default.Component),h=[\"alias\",\"password\",\"confirmPassword\",\"accountAlias\"];t.default=(0,f.withNamespaces)(\"translations\")(c.BaseNew.connect(c.BaseNew.mapStateToProps(\"key\"),c.BaseNew.mapDispatchToProps(\"key\"),(0,d.reduxForm)({form:\"newMockHsmKey\",fields:h,validate:function(e,t){var n={},r=t.t;return e.alias||(n.alias=r(\"key.aliasRequired\")),e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),\ne.password!==e.confirmPassword&&(n.confirmPassword=r(\"key.reset.repeatPWarning\")),n}})(p)))},695,function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(10),f=n(759),p=(r(f),n(53)),h=r(p),m=n(16),g=n(15),_=r(g),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t,r=void 0;if(t){var o=l.default.createElement(\"span\",null,n(\"key.keys\"),l.default.createElement(\"code\",null,t.alias?t.alias:t.id));r=l.default.createElement(\"div\",{className:(0,h.default)(this)},l.default.createElement(d.PageTitle,{title:o}),l.default.createElement(d.PageContent,null,l.default.createElement(d.KeyValueTable,{id:t.id,object:\"key\",title:n(\"form.detail\"),actions:[l.default.createElement(c.Link,{key:\"check-password-btn\",className:\"btn btn-link\",to:\"/keys/\"+t.id+\"/check-password\"},n(\"key.tryPassword\")),l.default.createElement(c.Link,{key:\"reset-password-btn\",className:\"btn btn-link\",to:\"/keys/\"+t.id+\"/reset-password\"},n(\"key.resetPassword\"))],items:[{label:n(\"form.alias\"),value:t.alias,editUrl:\"/keys/\"+t.id+\"/alias\"},{label:n(\"key.xpub\"),value:t.xpub}]})))}return this.renderIfFound(r)}}]),t}(d.BaseShow),v=function(e,t){return{item:e.key.items[t.params.id]}},M=function(e){return{fetchItem:function(){return e(_.default.key.fetchItems())},showModal:function(t){return e(_.default.app.showModal(t,_.default.app.hideModal))}}};t.default=(0,m.connect)(v,M)((0,b.withNamespaces)(\"translations\")(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.KeyUpdate=t.CheckPassword=t.ResetPassword=t.Show=t.MnemonicStepper=t.New=t.List=void 0;var o=n(761),i=r(o),a=n(764),s=r(a),u=n(763),l=r(u),c=n(766),d=r(c),f=n(765),p=r(f),h=n(758),m=r(h),g=n(760),_=r(g);t.List=i.default,t.New=s.default,t.MnemonicStepper=l.default,t.Show=d.default,t.ResetPassword=p.default,t.CheckPassword=m.default,t.KeyUpdate=_.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"key\",a=function(e){return e.xpub};t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i,a),queries:r.reducers.queriesReducer(i,a),autocompleteIsLoaded:r.reducers.autocompleteIsLoadedReducer(i),success:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"KEY_PASSWORD_SUCCESS\"==t.type?\"F_BTM002\":\"redux-form/CHANGE\"==t.type?\"\":e},mnemonic:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"NEW_KEY\"==t.type?t.data:e}})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(767),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"key\",r.List,r.New,r.Show,{childRoutes:[{path:\":id/reset-password\",component:r.ResetPassword},{path:\":id/check-password\",component:r.CheckPassword},{path:\"mnemonic\",component:r.MnemonicStepper},{path:\":id/alias\",component:r.KeyUpdate}],skipFilter:!0,name:\"key\"})}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=n(14),a=(n(41),function(e){return function(t){return(0,i.chainClient)().peers.disconnect({peer_id:e}).then(function(e){\"fail\"==e.status&&t({type:\"ERROR\",payload:{message:e.msg}})}).catch(function(e){e.status||t({type:\"ERROR\",payload:{message:e}})})}}),s=r({disconnect:a},(0,o.baseListActions)(\"peer\"));t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(772),d=r(c),f=n(4),p=n(1205),h=r(p),m=n(177),g=n(1),_=r(g),b=\"peer\",y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"componentWillReceiveProps\",value:function(e){e.peerCount!=this.props.peerCount&&this.props.getLatest()}},{key:\"render\",value:function(){var e=l.BaseList.ItemList;return _.default.createElement(e,this.props)}}]),t}(_.default.Component),v=function(e,t){return s({peerCount:e.core.peerCount,skipCreate:!0},l.BaseList.mapStateToProps(b,d.default,{wrapperComponent:l.TableList,wrapperProps:{titles:t.t(\"peers.formTitle\",{returnObjects:!0}),styles:h.default.main}})(e))},M=function(e){return s({itemActions:{disconnect:function(t){return e(m.actions.disconnect(t))}},getLatest:function(){return e(m.actions.fetchAll())}},l.BaseList.mapDispatchToProps(b))};t.default=(0,f.withNamespaces)(\"translations\")(l.BaseList.connect(v,M,y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(4),d=n(181),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.item,r=t.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,n.remoteAddr||\"-\"),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,n.height)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,n.ping)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,n.duration)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,(0,d.formatBytes)(n.totalSent+n.totalReceived,0))),l.default.createElement(\"td\",null,l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:function(){return e.props.disconnect(n.peerId)}},r(\"peers.disconnect\"))))}}]),t}(l.default.Component);t.default=(0,c.withNamespaces)(\"translations\")(f)},[1710,771],function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"peer\",a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"RECEIVED_PEER_ITEMS\"==t.type?t.param.data:e};t.default=(0,o.combineReducers)({items:a,queries:r.reducers.queriesReducer(i)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(773),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"peer\",r.List)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.listPath||\"/\"+e+\"s\",r=t.createPath||n+\"/create\",s=function(t){return{type:\"CREATED_\"+e.toUpperCase(),param:t}};return{showCreate:(0,a.push)(r),created:s,submitForm:function(r){var l=t.clientApi?t.clientApi():(0,o.chainClient)()[e+\"s\"],d=Promise.resolve();\"string\"==typeof r.id&&(r.id=r.id.trim()),\"string\"==typeof r.alias&&(r.alias=r.alias.trim());var f=t.jsonFields||[];f.map(function(e){r[e]=(0,i.parseNonblankJSON)(r[e])});var p=t.intFields||[];if(p.map(function(e){r[e]=parseInt(r[e])}),r.definition&&r.definition.description)if(0===r.definition.description.length)r.definition.description={};else{var h={};r.definition.description.forEach(function(e){h[e.key]=e.value}),r.definition.description=h}return r.xpubs&&(r.rootXpubs=[],r.xpubs.forEach(function(e){\"generate\"==e.type?d=d.then(function(){var t=(e.value||\"\").trim()?e.value.trim():(r.alias||\"generated\")+\"-\"+c.default.v4();return(0,o.chainClient)().mockHsm.keys.create({alias:t})}).then(function(e){r.rootXpubs.push(e.xpub)}):e.value&&r.rootXpubs.push(e.value)}),delete r.xpubs),function(e){return d.then(function(){return l.create(r).then(function(r){if(\"fail\"===r.status)throw r;e(s(r)),t.createModal&&e(u.default.app.showModal(t.createModal(r),u.default.app.hideModal));var o=n;t.redirectToShow&&(o=o+\"/\"+r.data.id),e((0,a.push)({pathname:o,state:{preserveFlash:!0}}))})})}}}};var o=n(14),i=n(83),a=n(41),s=n(15),u=r(s),l=n(115),c=r(l)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.listPath||\"/\"+e+\"s\",a=function(){return t.clientApi?t.clientApi():(0,o.chainClient)()[e+\"s\"]},s=function(t){return{type:\"RECEIVED_\"+e.toUpperCase()+\"_ITEMS\",param:t}},u=function(e){return{type:\"UPDATE_TRANSACTION_ID_ARRAY\",data:e}},l=function(){return{type:\"UPDATE_CONFIRM_PARAMS\"}},c=function(e){return{type:\"UPDATE_MIXED_PAGES_NUMBER_PARAMS\",data:e}},d=function(e,t){if(0!==e.length){var n=e[e.length-1].txId,r=t.pageIds;return t&&1===t.pageNumber?[n]:(t&&t.pageNumber>1&&(r[t.pageNumber-1]=n),r)}return[]},f=function(n,o){var i=t.requiredParams||{};return n=r({},n,i),function(t){var r=a().query(n);return r.then(function(r){if(\"fail\"==r.status)t({type:\"ERROR\",payload:{message:r.msg}});else if(\"transaction\"===e){var i=r.data,f=r;if(o.unconfirmed&&i.length<o.pageSize)return n.unconfirmed=!1,n.count=n.count-i.length,delete n.startTxId,a().query(n).then(function(e){\"fail\"==e.status?t({type:\"ERROR\",payload:{message:e.msg}}):(t(c(o.pageNumber)),f.data=i.concat(e.data),t(u(d(f.data,o))),t(s(f)),t(l()))});t(u(d(f.data,o))),t(s(r))}else t(s(r))}).catch(function(e){if(!e.body)throw e;t({type:\"ERROR\",payload:{message:e.body.msg}})}),r}},p=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.filter||\"\";return n=parseInt(n||1),function(i,a){var s=function(){return a()[e].queries[o]||{}};r.pageNumber=n,\"transaction\"===e&&(r.pageIds=a()[e].pageIds||[],r.mixPageNo=a()[e].mixPageNo||0);var u=function(){return i(m(t,s(),r)).then(function(e){if(e&&\"ERROR\"!=e.type)return Promise.resolve(e)})};return i(u)}},h=function(e){return p(\"\",-1,e)},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];return function(o){var i=n.cursor||null,a=r.refresh||!1;if(!a&&i&&i.lastPage)return Promise.resolve({last:!0});var u=void 0,l=t.filter||\"\",c=r.unconfirmed||!0,d=r.accountAlias||\"\";if(!a&&i){var p=void 0;u=i.nextPage().then(function(e){return p=e,o(s(p))}).then(function(){return p})}else{var h={};if(t.filter&&(h.filter=l),r.accountAlias&&(h.accountAlias=d),r.unconfirmed&&(h.unconfirmed=c),t.sumBy&&(h.sumBy=t.sumBy.split(\",\")),r.pageNumber!==-1){var m=r.pageSize;h.count=m,\"transaction\"===e&&r.mixPageNo===r.pageNumber&&(h.unconfirmed=r.unconfirmed=!0),\"transaction\"===e&&r.pageNumber>1&&(h.startTxId=r.pageIds[r.pageNumber-2])}u=o(f(h,r))}return u.then(function(t){return o({type:\"APPEND_\"+e.toUpperCase()+\"_PAGE\",param:t,refresh:a})}).catch(function(e){return o({type:\"ERROR\",payload:e})})}},g=function(t,n,r){return function(o){window.confirm(n)&&a().delete(t).then(function(){return o({type:\"DELETE_\"+e.toUpperCase(),id:t,message:r})}).catch(function(e){return o({type:\"ERROR\",payload:e})})}},_=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t&&(e=r({},e,{page:t}));var a={pathname:n,query:e};return o.replace?(0,i.replace)(a):(0,i.push)(a)};return{fetchItems:f,fetchPage:p,fetchAll:h,deleteItem:g,pushList:_,didLoadAutocomplete:{type:\"DID_LOAD_\"+e.toUpperCase()+\"_AUTOCOMPLETE\"}}};var o=n(14),i=n(41)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t){return{type:\"UPDATED_\"+e.toUpperCase(),param:t}};return{updated:n,submitUpdateForm:function(r,a,u){var l=t.clientApi?t.clientApi():(0,o.chainClient)()[e+\"s\"],c=Promise.resolve();return\"string\"==typeof r.alias&&(r.alias=r.alias.trim()),function(t){return c.then(function(){return l.updateAlias({id:a,alias:r.alias}).then(function(o){if(\"fail\"===o.status)throw o;\"account\"===e&&u&&t(s.default.account.switchAccount(r.alias)),t(n(o)),t((0,i.push)({pathname:\"/\"+e+\"s/\"+a,state:{preserveFlash:!0}}))})})}}}};var o=n(14),i=n(41),a=n(15),s=r(a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.isBTM;return e?l.default.createElement(c.AmountUnitField,{title:this.props.title,fieldProps:this.props.fieldProps}):l.default.createElement(c.AmountInputMask,{title:this.props.title,fieldProps:this.props.fieldProps,decimal:this.props.decimal})}}]),t}(l.default.Component);t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(43),f=n(10),p=n(51),h=r(p),m=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:e.fieldProps.value},n.handleChange=n.handleChange.bind(n),n.handleBlur=n.handleBlur.bind(n),n}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){if(this.props.fieldProps.value){var e=(this.props.fieldProps.value/Math.pow(10,8)).toString();this.props.fieldProps.onChange((0,d.parseBTMAmount)(e,this.props.decimal)),this.setState({value:0===this.props.decimal?e:(0,d.addZeroToDecimalPosition)(e,this.props.decimal)})}}},{key:\"componentDidUpdate\",value:function(e){if(e.decimal!==this.props.decimal&&e.fieldProps.value){var t=(e.fieldProps.value/Math.pow(10,e.decimal)).toString();this.props.fieldProps.onChange((0,d.parseBTMAmount)(t,this.props.decimal)),this.setState({value:0===this.props.decimal?t:(0,d.addZeroToDecimalPosition)(t,this.props.decimal)})}}},{key:\"handleBlur\",value:function(e){var t=e.target.value;this.props.decimal>0&&this.setState({value:(0,d.addZeroToDecimalPosition)(t,this.props.decimal)}),this.props.fieldProps.onBlur&&this.props.fieldProps.onBlur()}},{key:\"handleChange\",value:function(e){var t=e.target.value;this.setState({value:t}),this.props.fieldProps.onChange&&this.props.fieldProps.onChange((0,d.parseBTMAmount)(t,this.props.decimal))}},{key:\"render\",value:function(){var e=(0,h.default)(this.props.fieldProps,m),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(f.FieldLabel,null,this.props.title),c.default.createElement(\"input\",s({className:\"form-control\",type:\"text\"},e,{value:(0,d.formatBTMAmount)(this.state.value,this.props.decimal),placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,onBlur:this.handleBlur,onChange:this.handleChange,disabled:this.props.disabled})),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1206),f=r(d),p=n(76),h=n(43),m=n(10),g=n(51),_=r(g),b=[\"BTM\",\"mBTM\",\"NEU\"],y=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],v=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showDropdown:!1,selected:\"BTM\",pos:8,value:e.fieldProps.value},n.select=n.select.bind(n),n.toggleDropwdown=n.toggleDropwdown.bind(n),n.closeDropdown=n.closeDropdown.bind(n),n.handleChange=n.handleChange.bind(n),n.handleBlur=n.handleBlur.bind(n),n}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){this.props.fieldProps.value&&(this.props.fieldProps.onChange((0,h.parseBTMAmount)(this.props.fieldProps.value,this.state.pos)),this.setState({value:(0,h.addZeroToDecimalPosition)(this.props.fieldProps.value,this.state.pos)}))}},{key:\"toggleDropwdown\",value:function(){this.setState({showDropdown:!this.state.showDropdown})}},{key:\"closeDropdown\",value:function(){this.setState({showDropdown:!1})}},{key:\"select\",value:function(e){this.setState({selected:e});var t=this.props.fieldProps.value;switch(e){case\"BTM\":this.setState({pos:8}),this.setState({value:(0,h.converIntToDec)(t,8)});break;case\"mBTM\":this.setState({pos:5}),this.setState({value:(0,h.converIntToDec)(t,5)});break;case\"NEU\":this.setState({pos:0}),this.setState({value:t})}this.closeDropdown()}},{key:\"handleBlur\",value:function(e){var t=e.target.value;this.state.pos>0&&this.setState({value:(0,h.addZeroToDecimalPosition)(t,this.state.pos)}),this.props.fieldProps.onBlur&&this.props.fieldProps.onBlur()}},{key:\"handleChange\",value:function(e){var t=e.target.value;this.setState({value:t}),this.props.fieldProps.onChange&&this.props.fieldProps.onChange((0,h.parseBTMAmount)(t,this.state.pos))}},{key:\"render\",value:function(){var e=(0,_.default)(this.props.fieldProps,y),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(m.FieldLabel,null,this.props.title),c.default.createElement(\"div\",{className:\"input-group\"},c.default.createElement(\"input\",s({className:\"form-control\",type:this.state.type},e,{value:(0,h.formatBTMAmount)(this.state.value,this.state.pos),placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,disabled:this.props.disabled,onBlur:this.handleBlur,onChange:this.handleChange})),c.default.createElement(\"div\",{className:f.default.unit+\" input-group-btn \"+(this.state.showDropdown&&\"open\")},c.default.createElement(p.DropdownButton,{className:f.default.dropdownButton,id:\"input-dropdown-addon\",title:this.state.selected,onSelect:this.select},b.map(function(e){return c.default.createElement(p.MenuItem,{eventKey:e},e)})))),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=v},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(16),i=n(349),a=r(i),s=\"account\";t.default=(0,o.connect)((0,i.mapStateToProps)(s),(0,i.mapDispatchToProps)(s))(a.default)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(16),i=n(349),a=r(i),s=\"asset\";t.default=(0,o.connect)((0,i.mapStateToProps)(s),(0,i.mapDispatchToProps)(s))(a.default)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(782),i=r(o),a=n(783),s=r(a);t.default={AccountAlias:i.default,AssetAlias:s.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.connect=t.mapDispatchToProps=t.mapStateToProps=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(15),p=r(f),h=n(16),m=n(83),g=n(14),_=n(53),b=r(_),y=n(10),v=n(786),M=r(v),A=n(4),w=function(e){function t(){return i(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:\"render\",value:function(){var e=this,t=this.props.label||(0,m.pluralize)((0,m.humanize)(this.props.type)),n=this.props.type,r=[].concat(o(this.props.actions||[])),i=this.props.t,a=(0,m.humanize)(i(\"crumbName.\"+n.toLowerCase())),s=(0,m.capitalize)(i(\"crumbName.\"+n.toLowerCase())||t),l=d.default.createElement(\"button\",{key:\"showCreate\",className:\"btn btn-primary\",onClick:this.props.showCreate},\"+ \",i(\"crumbName.new\"));this.props.skipCreate||r.push(l);var c=d.default.createElement(y.PageTitle,{title:s,actions:r}),f=(0,b.default)(this,\"flex-container\");if(this.props.noResults)return d.default.createElement(\"div\",{className:f},c,d.default.createElement(M.default,{firstTimeContent:this.props.firstTimeContent,type:this.props.type,objectName:a,newButton:l,showFirstTimeFlow:this.props.showFirstTimeFlow,skipCreate:this.props.skipCreate,loadedOnce:this.props.loadedOnce}));var p=d.default.createElement(y.Pagination,{currentPage:this.props.currentPage,currentFilter:this.props.currentFilter,isLastPage:this.props.isLastPage,pushList:this.props.pushList}),h=this.props.items.map(function(t){return d.default.createElement(e.props.listItemComponent,u({key:t.id,item:t,btmAmountUnit:e.props.btmAmountUnit},e.props.itemActions))}),g=this.props.wrapperComponent;return d.default.createElement(\"div\",{className:f},c,d.default.createElement(y.PageContent,null,g?d.default.createElement(g,this.props.wrapperProps,h):h,(\"transactions\"===t||\"unspent outputs\"===t)&&p))}}]),t}(d.default.Component),C=t.mapStateToProps=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(r,o){var i=[\"unspent\",\"transaction\"],a=Object.assign({},r[e].items),s=r.core&&r.core.highestBlock,l=\"unspent\"===e?g.UTXOpageSize:g.pageSize,c=r.core.currentBlockHeight,d=i.includes(e)&&Math.max(parseInt(o.location.query.page)||1,1);\"key\"===e&&(r[e].importStatus||[]).forEach(function(e){a[e.xpub]&&Object.assign(a[e.xpub],e)});var f=[];for(var p in a)a[p].highest=s,f.push(a[p]);var h=f.length<l;return u({items:f,loadedOnce:r[e].queries.loadedOnce,type:e,currentBlock:c,isLastPage:h,currentPage:d,btmAmountUnit:r.core.btmAmountUnit,listItemComponent:t,noResults:0==f.length,showFirstTimeFlow:0==f.length},n)}},E=t.mapDispatchToProps=function(e){return function(t){return{pushList:function(n,r){return t(p.default[e].pushList(n,r))},showCreate:function(){return t(p.default[e].showCreate)}}}},L=t.connect=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:w;return(0,h.connect)(e,t)((0,A.withNamespaces)(\"translations\")(n))};t.default={mapStateToProps:C,mapDispatchToProps:E,connect:L,ItemList:w}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1208),d=r(c),f=n(53),p=r(f),h=(n(14),n(4)),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t,t=void 0;try{t=n(667)(\"./\"+this.props.type+\".svg\")}catch(e){}var r=void 0;this.props.loadedOnce?this.props.showFirstTimeFlow&&(r=l.default.createElement(\"div\",null,l.default.createElement(\"span\",{className:d.default.emptyLabel+\" \"+d.default.noResultsLabel},e(\"emptyList.noRecord\",{objectName:this.props.objectName})))):r=l.default.createElement(\"span\",null,e(\"emptyList.loading\"),\"…\");var o=[\"flex-container\",d.default.empty];return l.default.createElement(\"div\",{className:p.default.apply(void 0,[this].concat(o))},t&&l.default.createElement(\"img\",{className:d.default.image,src:t}),r)}}]),t}(l.default.Component);m.propTypes={type:l.default.PropTypes.string,objectName:l.default.PropTypes.string,newButton:l.default.PropTypes.object,loadedOnce:l.default.PropTypes.bool,showFirstTimeFlow:l.default.PropTypes.bool},t.default=(0,h.withNamespaces)(\"translations\")(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.connect=t.mapDispatchToProps=t.mapStateToProps=void 0;var o=n(16),i=n(15),a=r(i),s=t.mapStateToProps=function(e){return function(t){return{type:e}}},u=t.mapDispatchToProps=function(e){return function(t){return{submitForm:function(n){return t(a.default[e].submitForm(n)).then(function(r){return t(a.default.tutorial.submitTutorialForm(n,e)),r})}}}},l=t.connect=function(e,t,n){return(0,o.connect)(e,t)(n)};t.default={mapStateToProps:s,mapDispatchToProps:u,connect:l}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,\nr.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(351),d=r(c),f=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={},n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){t&&(\"fail\"==t.status||t.data&&0===t.data.length)&&e.setState({notFound:!0})}).catch(function(t){\"fail\"===t.status&&e.setState({notFound:!0})})}},{key:\"renderIfFound\",value:function(e){return this.state.notFound?l.default.createElement(d.default,null):e?e:l.default.createElement(\"div\",null,\"Loading...\")}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.connect=t.mapDispatchToProps=t.mapStateToProps=void 0;var o=n(16),i=n(15),a=r(i),s=t.mapStateToProps=function(e){return function(){return{type:e}}},u=t.mapDispatchToProps=function(e){return function(t){return{fetchItem:function(n){return t(a.default[e].fetchItems({id:\"\"+n})).then(function(e){return e})},submitForm:function(n,r,o){return t(a.default[e].submitUpdateForm(n,r,o))}}}},l=t.connect=function(e,t,n){return(0,o.connect)(e,t)(n)};t.default={mapStateToProps:s,mapDispatchToProps:u,connect:l}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(1209),h=r(p),m=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\",\"checked\",\"disabled\"],g=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,m);return c.default.createElement(\"div\",null,c.default.createElement(\"label\",{className:h.default.label},c.default.createElement(\"input\",s({type:\"checkbox\"},e)),c.default.createElement(\"span\",{className:h.default.title},this.props.title),this.props.hint&&c.default.createElement(\"div\",{className:h.default.hint},this.props.hint)))}}]),t}(c.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(1210),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state=n.getInitialState(),n.submitWithValidation=n.submitWithValidation.bind(n),n}return a(t,e),u(t,[{key:\"getInitialState\",value:function(){for(var e=[],t=.3,n=this.props.mnemonic.split(\" \"),r=0;r<n.length;r++){var o=Math.random();e.push({word:o>t?n[r]:\"\",show:o>t,index:r}),o<=t&&this.props.fields.words.addField({seedIndex:r})}return{seedWords:e,splitMnemoic:n}}},{key:\"submitWithValidation\",value:function(e){var t=this,n=!0,r=!1,o=void 0;try{for(var i,a=e.words[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var s=i.value;if(s.value.trim()!==this.state.splitMnemoic[s.seedIndex])return new Promise(function(e,t){return t({_error:\"please match the word\"})})}}catch(e){r=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw o}}return new Promise(function(e,n){t.props.succeeded().catch(function(e){return n({type:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields.words,n=e.error,r=e.handleSubmit,o=e.submitting,i=e.t,a=this.state.seedWords,s=0;return c.default.createElement(\"form\",{className:h.default.container,onSubmit:r(this.submitWithValidation)},c.default.createElement(\"h4\",null,i(\"mnemonic.confirmTitle\")),c.default.createElement(\"p\",null,i(\"mnemonic.confirmMessage\")),c.default.createElement(\"div\",{className:h.default.seedArea},a.map(function(e){return e.show?c.default.createElement(\"div\",{key:e.index,className:h.default.seed+\" \"+h.default.seedWord},e.word):t[s]?c.default.createElement(d.SingletonField,{className:h.default.seedWord,key:e.index,fieldProps:t[s++].value}):null})),n&&c.default.createElement(d.ErrorBanner,{error:n}),c.default.createElement(\"button\",{className:\"btn btn-primary \"+h.default.submit,type:\"submit\",disabled:o},i(\"mnemonic.confirm\")))}}]),t}(c.default.Component),_=function(e,t){var n={words:{}},r=t.mnemonic.split(\" \"),o=void 0;return e.words.forEach(function(t,i){var a=e.words[i].seedIndex;o=e.words[i].value!==r[a],o&&(n.words[i]=s({},n.words[i],{value:\" \"}))}),n};t.default=(0,m.withNamespaces)(\"translations\")((0,f.reduxForm)({form:\"MnemonicInit\",fields:[\"words[].value\",\"words[].seedIndex\"],validate:_})(g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(29),f=r(d),p=n(1211),h=r(p),m=n(1299),g=r(m),_=n(793),b=r(_),y=n(67),v=r(y),M=n(4),A=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={data:[],historyCount:0,commandHistory:[]},n.handleSubmit=n.handleSubmit.bind(n),n.scrollToBottom=n.scrollToBottom.bind(n),n}return a(t,e),u(t,[{key:\"scrollToBottom\",value:function(){var e=f.default.findDOMNode(this.messagesContainer);e.scrollTop=e.scrollHeight}},{key:\"componentDidMount\",value:function(){this.scrollToBottom()}},{key:\"componentDidUpdate\",value:function(){this.scrollToBottom()}},{key:\"handleSubmit\",value:function(e){var t=this;e.preventDefault();var n=this.state.data,r=e.target[0].value.trim();this.setState({commandHistory:this.state.commandHistory.concat(r),historyCount:this.state.commandHistory.length}),e.target[0].value=\"\",\"help\"===r?(n=n.concat([{command:r,success:!0,commandOutput:g.default.help}]),this.setState({data:n})):\"clear\"===r?this.setState({data:[]}):this.props.cmd(r).then(function(e){n=\"fail\"===e.status?n.concat([{command:r,success:!1,commandOutput:e.msg}]):n.concat([{command:r,success:!0,commandOutput:e.data}]),t.setState({data:n})}).catch(function(){n=n.concat([{command:r,success:!1,commandOutput:\"command not found\"}]),t.setState({data:n})})}},{key:\"keyDownEvent\",value:function(e){if([38,40].includes(e.keyCode)&&this.state.commandHistory.length>0){var t=this.state.historyCount;38===e.keyCode?t>0&&this.setState({historyCount:t-1}):t<this.state.commandHistory.length-1&&this.setState({historyCount:t+1}),e.target.value=this.state.commandHistory[t]}}},{key:\"render\",value:function(){var e=this,t=this.props.t,n=this.state.data.map(function(e){return c.default.createElement(b.default,{content:e})});return c.default.createElement(\"div\",{className:h.default.main},c.default.createElement(\"div\",{className:h.default.reactConsoleContainer,ref:function(t){e.messagesContainer=t}},c.default.createElement(M.Trans,{i18nKey:\"console.message\",parent:\"p\"},\"Welcome to the Vapor Core API console.\",c.default.createElement(\"br\",null),\" Type \",c.default.createElement(\"code\",null,\"help\"),\" for an overview of available commands\"),c.default.createElement(\"p\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,t(\"console.warning\"),\":\"),t(\"console.warningMessage\")),n),c.default.createElement(\"div\",null,c.default.createElement(\"form\",s({className:h.default.inputBox,onSubmit:this.handleSubmit},v.default),c.default.createElement(\"span\",null,c.default.createElement(\"input\",{className:h.default.input,type:\"text\",autoFocus:\"autofocus\",onKeyDown:function(t){return e.keyDownEvent(t)},placeholder:t(\"console.placeholder\")})),c.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",tabIndex:\"-1\"},\"> \",t(\"form.enter\")))))}}]),t}(c.default.Component);t.default=(0,M.withNamespaces)(\"translations\")(A)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1212),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.content,t=e.commandOutput;if(e.success){if(t)if(\"help\"===e.command){var n=[];t.forEach(function(e){n.push(l.default.createElement(\"div\",null,e))}),t=n}else{var r=Object.keys(t);t=1===r.length?t[r[0]].toString():JSON.stringify(t,null,2)}}else t=t.replace(/\"/g,\"\");return l.default.createElement(\"div\",{className:d.default.main},l.default.createElement(\"div\",{className:d.default.title},e.command),t&&l.default.createElement(\"div\",{className:d.default.messageBox+\" \"+(e.success?null:\"text-danger\")},t))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(150),d=n(1213),f=r(d),p=n(4),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"copyClick\",value:function(){(0,c.copyToClipboard)(this.props.value)}},{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:f.default.main},l.default.createElement(\"pre\",{className:f.default.pre},this.props.value),l.default.createElement(\"div\",{className:f.default.copyButton},l.default.createElement(\"button\",{className:\"btn btn-default btn-sm\",onClick:this.copyClick.bind(this)},this.props.t(\"account.copyClipboard\"))))}}]),t}(l.default.Component);t.default=(0,p.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1214),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.emptyContainer},this.props.children&&l.default.createElement(\"div\",{className:d.default.emptyContent},this.props.children))}}]),t}(l.default.Component);f.propTypes={title:l.default.PropTypes.string},t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1215),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.t,n=e.i18n,r=this.props.error||\"\",o=r.code&&n.exists(\"btmError.\"+r.code)&&t(\"btmError.\"+r.code),i=this.props.success,a=o||r.chainMessage||r.message||r||i;return l.default.createElement(\"div\",{className:i?d.default.mainSuccess:d.default.main},this.props.title&&l.default.createElement(\"strong\",null,this.props.title,l.default.createElement(\"br\",null)),a&&l.default.createElement(\"div\",{className:r.code||r.requestId?d.default.message:\"\"},a),r.code&&l.default.createElement(\"div\",{className:d.default.extra},t(\"commonWords.errorCode\"),\" \",l.default.createElement(\"strong\",null,r.code)),r.requestId&&l.default.createElement(\"div\",{className:d.default.extra},t(\"commonWords.requestId\"),\" \",l.default.createElement(\"strong\",null,r.requestId)))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(51),f=r(d),p=[\"value\",\"onBlur\",\"onFocus\",\"name\"],h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onChange=n.onChange.bind(n),n}return a(t,e),s(t,[{key:\"onChange\",value:function e(t){var e=this.props.fieldProps.onChange;e(t.target.files[0])}},{key:\"render\",value:function(){var e=((0,f.default)(this.props.fieldProps,p),this.props.fieldProps),t=e.touched,n=e.error;return l.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&l.default.createElement(c.FieldLabel,null,this.props.title),l.default.createElement(\"input\",{type:\"file\",onChange:this.onChange}),t&&n&&l.default.createElement(\"span\",{className:\"text-danger\"},l.default.createElement(\"strong\",null,n)),this.props.hint&&l.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(l.default.Component);t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1217),d=r(c),f=n(16),p=n(4),h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Object.keys(e.messages).forEach(function(t){var r=e.messages[t];r.displayed||(n.props.markFlashDisplayed(t),setTimeout(function(){n.props.dismissFlash(t)},5e3))}),n}return a(t,e),s(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=this;Object.keys(e.messages).forEach(function(n){var r=e.messages[n];r.displayed||(t.props.markFlashDisplayed(n),setTimeout(function(){t.props.dismissFlash(n)},5e3))})}},{key:\"render\",value:function(){var e=this;if(!this.props.messages||this.props.hideFlash)return null;var t=this.props.t,n=[];return Object.keys(this.props.messages).forEach(function(r){var o=e.props.messages[r],i=t([\"message.\"+o.message,o.message]);n.push(l.default.createElement(\"div\",{className:d.default.alert+\" \"+d.default[o.type]+\" \"+d.default.main,key:r},l.default.createElement(\"div\",{className:d.default.content},o.title&&l.default.createElement(\"div\",null,l.default.createElement(\"strong\",null,o.title)),i),l.default.createElement(\"button\",{type:\"button\",className:\"close\",onClick:function(){return e.props.dismissFlash(r)}},l.default.createElement(\"span\",null,\"×\"))))}),l.default.createElement(\"div\",{className:this.props.className},n)}}]),t}(l.default.Component),m=function(e){return{hideFlash:!1}};t.default=(0,f.connect)(m)((0,p.withNamespaces)(\"translations\")(h))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(53),p=r(f),h=n(67),m=r(h),g=n(1218),_=r(g),b=n(237),y=r(b),v=n(4),M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props.t;return c.default.createElement(\"div\",{className:(0,p.default)(this,\"flex-container\")},c.default.createElement(d.PageTitle,{title:this.props.label}),c.default.createElement(\"div\",{className:_.default.main+\" flex-container\"},c.default.createElement(\"div\",{className:_.default.content},c.default.createElement(\"form\",s({onSubmit:this.props.onSubmit},m.default),this.props.children,c.default.createElement(d.FormSection,{className:_.default.submitSection},this.props.error&&c.default.createElement(d.ErrorBanner,{title:e(\"form.errorTitle\"),error:this.props.error}),this.props.success&&c.default.createElement(d.ErrorBanner,{title:e(\"form.successTitle\"),success:this.props.success}),c.default.createElement(\"div\",{className:_.default.submit},this.props.secondaryAction&&c.default.createElement(\"button\",{type:\"button\",className:\"btn btn-link\",onClick:this.props.secondaryAction},this.props.secondaryLabel||e(\"commonWords.previous\")),c.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:this.props.submitting||this.props.disabled},this.props.submitLabel||e(\"form.submit\")),this.props.showSubmitIndicator&&this.props.submitting&&c.default.createElement(d.SubmitIndicator,null))))),c.default.createElement(y.default,{types:[\"TutorialForm\"]})))}}]),t}(c.default.Component);t.default=(0,v.withNamespaces)(\"translations\")(M)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1219),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.main+\" \"+(this.props.className||\"\")},l.default.createElement(\"div\",{className:d.default.title},this.props.title),l.default.createElement(\"div\",{className:d.default.content},this.props.children))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(43),h=n(14),m=n(1220),g=r(m),_=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,_),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group \"+g.default.slider},c.default.createElement(\"span\",null,(0,p.normalizeBTMAmountUnit)(h.btmID,e.value*this.props.gas,this.props.btmAmountUnit)),c.default.createElement(\"input\",s({type:\"range\",min:0,max:3,step:\"1\"},e)),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"input\",{className:\"form-control\",type:\"hidden\",onChange:this.props.fieldProps.onChange,value:this.props.fieldProps.value})}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1221),f=r(d),p=n(1403),h=r(p),m=n(83),g=n(10);n(902),n(903);var _=n(4),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={syntaxError:{}},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this,t=this.props.t,n=this.props.hint||t(\"errorMessage.jsonObjectError\"),r=this.props.fieldProps,o={mode:\"json\",theme:\"github\",height:this.props.height||\"80px\",width:\"100%\",tabSize:2,showGutter:!1,highlightActiveLine:!1,showPrintMargin:!1,editorProps:{$blockScrolling:!0}},i=function(t){var n=e;t.navigateFileStart(),t.navigateDown(),t.navigateRight(1),t.commands.bindKey(\"Tab\",null),t.commands.bindKey(\"Shift-Tab\",null),t.getSession().on(\"changeAnnotation\",function(){n.setState({syntaxError:t.getSession().getAnnotations()[0]})})},a=r.touched&&!r.active&&r.error,u=this.state.syntaxError,l=[f.default.editorWrapper];a&&l.push(f.default.editorError);var d=function(e){return function(t,n){var r=n.getValue();e(r)}};return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(g.FieldLabel,null,this.props.title),c.default.createElement(\"div\",{className:l.join(\" \")},c.default.createElement(h.default,s({},r,o,{onBlur:d(r.onBlur),onLoad:i}))),a&&c.default.createElement(\"span\",{className:\"help-block \"+f.default.errorBlock},r.error,\":\",u&&t(\"errorMessage.jsonRowError\",{error:u.text,row:u.row})),!a&&c.default.createElement(\"span\",{className:\"help-block\"},n))}}]),t}(c.default.Component);b.validator=function(e){try{(0,m.parseNonblankJSON)(e)}catch(e){return\"Error parsing JSON\"}return null},t.default=(0,_.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\");\n}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=\"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},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(10),p=n(4),h=[1,2,3,4,5,6].map(function(e){return{label:e,value:e}}),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),l(t,[{key:\"componentWillMount\",value:function(){this.setState({keys:1}),this.props.xpubs.addField()}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.quorum,r=t.quorumHint,o=t.xpubs,i=t.t,a=function(t,n){var r=parseInt(\"object\"==(\"undefined\"==typeof t?\"undefined\":u(t))?t.target.value:t);isNaN(r)||(void 0==n&&(n=parseInt(e.state.keys||0)),r>n&&(r=n),e.props.quorum.onChange(r))},l=function(t){var n=parseInt(t.target.value)||0,r=e.state.keys||0;if(n>r)for(var o=0;o<n-r;o++)e.props.xpubs.addField();else if(n<r)for(var i=0;i<r-n;i++)e.props.xpubs.removeField();e.setState({keys:n}),a(e.props.quorum.value,n)},c=h.slice(0,this.state.keys);return d.default.createElement(\"div\",null,d.default.createElement(f.SelectField,{options:h,title:i(\"form.keys\"),skipEmpty:!0,fieldProps:{value:this.state.keys,onChange:l}}),d.default.createElement(f.SelectField,{options:c,title:i(\"form.quorum\"),skipEmpty:!0,hint:r,fieldProps:s({},n,{onChange:a})}),o.map(function(e,t){return d.default.createElement(f.XpubField,{key:\"xpub-\"+t,index:t,typeProps:e.type,valueProps:e.value})}))}}]),t}(d.default.Component);t.default=(0,p.withNamespaces)(\"translations\")(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=\"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},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1222),f=r(d),p=n(10),h=n(27),m=n(301),g=n(150),_=n(4),b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"shouldUsePre\",value:function(e){return!!e.pre||null!=e.value&&\"object\"==s(e.value)}},{key:\"stringify\",value:function(e){if((0,m.isObject)(e)&&1==(0,m.size)(e)){var t=(0,m.sample)(e);if(!(0,m.isObject)(t)){if((0,m.isArray)(e))return JSON.stringify(e);var n=(0,m.toPairs)(e)[0];return\"{\"+JSON.stringify(n[0])+\": \"+JSON.stringify(n[1])+\"}\"}}return JSON.stringify(e,null,\"  \")}},{key:\"renderValue\",value:function(e){var t=e.value;return this.shouldUsePre(e)&&(t=c.default.createElement(\"pre\",{className:f.default.pre},this.stringify(e.value))),e.link&&(t=c.default.createElement(h.Link,{to:e.link},t)),void 0!==t&&null!==t&&\"\"!==t||(t=\"-\"),t}},{key:\"render\",value:function(){var e=this,t=this.props.t;return c.default.createElement(p.Section,{title:this.props.title,actions:this.props.actions},c.default.createElement(\"table\",{className:f.default.table},c.default.createElement(\"tbody\",null,this.props.items.map(function(r){return c.default.createElement(\"tr\",{key:r.label},c.default.createElement(\"td\",{className:f.default.label},r.label),c.default.createElement(\"td\",{className:f.default.value},e.renderValue(r),r.copy&&c.default.createElement(\"button\",{className:\"btn btn-link \"+f.default.copyButton,onClick:function(){return(0,g.copyToClipboard)(e.renderValue(r))}},c.default.createElement(\"img\",{src:n(338)})),r.note,r.editUrl&&c.default.createElement(h.Link,{to:r.editUrl,className:f.default.edit},c.default.createElement(\"span\",{className:f.default.pencil+\" glyphicon glyphicon-pencil\"}),t(\"form.edit\")),r.details&&c.default.createElement(h.Link,{to:r.details,className:f.default.edit},t(\"form.detail\")),r.program&&c.default.createElement(\"button\",{onClick:r.program,className:f.default.detail+\" \"+f.default.edit+\" btn btn-link\"},t(\"commonWords.program\"))))}))))}}]),t}(c.default.Component);t.default=(0,_.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(150),d=n(1223),f=r(d),p=n(4),h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={mnemonicArray:n.props.mnemonic.split(\" \")},n}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props.t,r=this.state.mnemonicArray;return l.default.createElement(\"div\",{className:f.default.container},l.default.createElement(\"div\",{className:f.default.flexContainer},l.default.createElement(\"h4\",null,t(\"init.mnemonic\")),l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:function(){return(0,c.copyToClipboard)(e.props.mnemonic)}},l.default.createElement(\"img\",{className:f.default.copy,src:n(338)}))),l.default.createElement(\"p\",null,t(\"mnemonic.backupMessage\")),l.default.createElement(\"div\",{className:f.default.flexContainer+\" \"+f.default.seedArea},r.map(function(e){return l.default.createElement(\"div\",{className:f.default.seed},e)})))}}]),t}(l.default.Component);t.default=(0,p.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1224),f=r(d),p=n(76),h=n(10),m=n(4),g=\"Alias\",_=\"ID\",b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showDropdown:!1,selected:e.selected||g},n.select=n.select.bind(n),n.toggleDropwdown=n.toggleDropwdown.bind(n),n.closeDropdown=n.closeDropdown.bind(n),n}return a(t,e),u(t,[{key:\"toggleDropwdown\",value:function(){this.setState({showDropdown:!this.state.showDropdown})}},{key:\"closeDropdown\",value:function(){this.setState({showDropdown:!1})}},{key:\"select\",value:function(e){this.setState({selected:e}),this.closeDropdown()}},{key:\"componentDidUpdate\",value:function(e){this.props.selected!==e.selected&&this.setState({selected:this.props.selected})}},{key:\"render\",value:function(){var e=this,t=function(t){e.props.fieldProps.id.onChange(t.target.value),e.props.fieldProps.alias.onChange(\"\")},n=function(t){e.props.fieldProps.alias.onChange(t),e.props.fieldProps.id.onChange(\"\")},r=this.props.t,o=r(\"form.alias\"),i=Object.assign(s({},this.props.fieldProps.id),{onChange:t}),a=Object.assign(s({},this.props.fieldProps.alias),{onChange:n});return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(h.FieldLabel,null,this.props.title),c.default.createElement(\"div\",{className:\"input-group\"},c.default.createElement(\"div\",{className:\"input-group-btn \"+(this.state.showDropdown&&\"open\")},c.default.createElement(p.DropdownButton,{className:f.default.dropdownButton,id:this.props.keyIndex?\"input-dropdown-addon-\"+this.props.keyIndex:\"input-dropdown-addon\",title:this.state.selected===g?o:this.state.selected,onSelect:this.select},c.default.createElement(p.MenuItem,{eventKey:g},r(\"form.alias\")),c.default.createElement(p.MenuItem,{eventKey:_},\"ID\"))),this.state.selected==_&&c.default.createElement(\"input\",s({className:\"form-control\",type:this.state.type,disabled:this.props.disabled,placeholder:this.props.title+\" ID\"},i)),this.state.selected==g&&c.default.createElement(this.props.aliasField,{className:f.default.aliasFieldGroupItem,disabled:this.props.disabled,placeholder:r(\"form.objectField.aliasPlaceholder\",{title:this.props.title.toLowerCase()}),fieldProps:a})),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1225),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.main},this.props.children)}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(27),p=n(83),h=n(1564),m=n(355),g=r(m),_=n(15),b=r(_),y=n(1226),v=r(y),M=n(53),A=r(M),w=n(4),C=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=n(1660);return l.default.createElement(\"div\",{className:(0,A.default)(this)},l.default.createElement(\"div\",{className:v.default.main+\" navbar\"},l.default.createElement(\"div\",{className:v.default.navigation},l.default.createElement(\"ul\",{className:v.default.crumbs},this.props.breadcrumbs.map(function(n){return l.default.createElement(\"li\",{className:v.default.crumb,key:n.name},!n.last&&l.default.createElement(f.Link,{to:\"/\"+n.path},(0,p.capitalize)(n.name),l.default.createElement(\"img\",{src:t,className:v.default.chevron})),n.last&&l.default.createElement(\"span\",{className:v.default.title},e.props.title||n.name))}))),Array.isArray(this.props.actions)&&l.default.createElement(\"ul\",{className:v.default.actions},this.props.actions.map(function(e){return l.default.createElement(\"li\",{key:e.key},e)}))),l.default.createElement(h.Affix,{affixClassName:v.default.flash,affixStyle:{top:void 0}},l.default.createElement(\"div\",null,l.default.createElement(d.Flash,{messages:this.props.flashMessages,markFlashDisplayed:this.props.markFlashDisplayed,dismissFlash:this.props.dismissFlash}))))}}]),t}(l.default.Component),E=function(e,t){var n=(0,g.default)(),r=e.routing.locationBeforeTransitions.pathname,o=[],i=n.childRoutes,a=[];return r.split(\"/\").forEach(function(e){var n=i.find(function(t){return t.path==e||t.path.indexOf(\":\")>=0});n&&(i=n.childRoutes||[],a.push(e),n.skipBreadcrumb||o.push({name:t.t(\"crumbName.\"+n.name)||(0,p.humanize)(e),path:a.join(\"/\")}))}),o[o.length-1].last=!0,{breadcrumbs:o,flashMessages:e.app.flashMessages}};t.default=(0,w.withNamespaces)(\"translations\")((0,c.connect)(E,function(e){return{markFlashDisplayed:function(t){return e(b.default.app.displayedFlash(t))},dismissFlash:function(t){return e(b.default.app.dismissFlash(t))}}})(C))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1227),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props.t,n=d.default.button+\" \"+(this.props.currentPage>1?\"\":d.default.disabled),r=d.default.button+\" \"+(this.props.isLastPage?d.default.disabled:\"\"),o=function(){return e.props.pushList(e.props.currentFilter,e.props.currentPage+1)},i=function(){return e.props.pushList(e.props.currentFilter,e.props.currentPage-1)};return l.default.createElement(\"ul\",{className:d.default.main},l.default.createElement(\"li\",null,l.default.createElement(\"a\",{className:n,onClick:i},\"←\")),l.default.createElement(\"li\",{className:d.default.label},t(\"commonWords.page\"),\" \",this.props.currentPage),l.default.createElement(\"li\",null,l.default.createElement(\"a\",{className:r,onClick:o},\"→\")))}}]),t}(l.default.Component);p.propTypes={currentPage:l.default.PropTypes.number,isLastPage:l.default.PropTypes.bool,pushList:l.default.PropTypes.func,currentFilter:l.default.PropTypes.object},t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(1228),h=r(p),m=n(10),g=n(67),_=r(g),b=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],y=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={capLock:!1},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this,t=(0,f.default)(this.props.fieldProps,b),n=this.props.fieldProps,r=n.touched,o=n.error,i=function(t){t.getModifierState(\"CapsLock\")?e.setState({capLock:!0}):e.setState({capLock:!1})};return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(m.FieldLabel,null,this.props.title),c.default.createElement(\"input\",s({className:\"form-control \"+h.default.password+\" \"+(t.value?h.default.dotFont:null)+\"\\n         \"+(this.state.capLock?h.default.capsIconGreen:h.default.capsIcon),type:\"text\",placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,onKeyUp:i},_.default,t)),r&&o&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,o)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(1229),m=r(h),g=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,g),t=this.props.options;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(p.FieldLabel,null,this.props.title),c.default.createElement(\"div\",null,t.map(function(t){return c.default.createElement(\"label\",{className:m.default.label},c.default.createElement(\"input\",s({type:\"radio\",className:m.default.radio,key:t.label},e,{checked:t.value==e.value,value:t.value})),t.label)})))}}]),t}(c.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(241),f=n(16),p=n(15),h=r(p),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"showRawJson\",value:function(e){var t=d.Connection.snakeize(s({},e));this.props.showJsonModal(c.default.createElement(\"pre\",null,JSON.stringify(t,null,2)))}},{key:\"render\",value:function(){return c.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.showRawJson.bind(this,this.props.item)},\"Raw JSON\")}}]),t}(c.default.Component),g=function(e){return{showJsonModal:function(t){return e(h.default.app.showModal(t,h.default.app.hideModal,null,{wide:!0}))}}};t.default=(0,f.connect)(function(){return{}},g)(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(3),d=r(c),f=n(358),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=(0,d.default)(this.props.timestamp),t=e.fromNow(),n=e.diff((0,d.default)());return n>0?t=(0,f.humanizeDuration)(n/1e3)+\" ahead of local time\":d.default.duration(n).asHours()<-24&&(t=e.format(\"YYYY-MM-DD HH:mm:ss\")),l.default.createElement(\"span\",null,t)}}]),t}(l.default.Component);t.default=p},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(23),m=n(4),g=n(1230),_=r(g),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.restoreKeystore(e,t.props.success).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props.t,t=this.props,n=t.fields.file,r=t.error,o=t.handleSubmit,i=t.submitting;return l.default.createElement(\"div\",null,l.default.createElement(\"div\",null,l.default.createElement(\"h4\",null,e(\"init.restoreWallet\")),l.default.createElement(\"div\",null,l.default.createElement(\"form\",{onSubmit:o(this.submitWithValidations)},l.default.createElement(\"p\",null,e(\"init.restoreLabel\")),l.default.createElement(d.FileField,{fieldProps:n}),r&&l.default.createElement(d.ErrorBanner,{title:e(\"init.errorTitle\"),error:r}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary \"+_.default.submitButton,disabled:i},e(\"init.restore\"))))))}}]),t}(l.default.Component),y=function(e,t){var n={},r=t.t;return e.file||(n.file=r(\"form.required\")),n};t.default=(0,m.withNamespaces)(\"translations\")((0,c.connect)(function(){return{}},function(e){return{restoreKeystore:function(t,n){return e(p.default.initialization.restoreKeystore(t,n))}}})((0,h.reduxForm)({form:\"restoreKeystore\",fields:[\"file\"],validate:y})(b)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(23),m=n(4),g=n(1231),_=r(g),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.restoreMnemonic(e,t.props.success).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props.t,t=this.props,n=t.fields,r=n.mnemonic,o=n.password,i=n.confirmPassword,a=t.error,s=t.handleSubmit,u=t.submitting;return l.default.createElement(\"div\",null,l.default.createElement(\"h4\",null,e(\"init.restoreWallet\")),l.default.createElement(\"div\",null,l.default.createElement(\"form\",{onSubmit:s(this.submitWithValidations)},l.default.createElement(d.TextareaField,{title:e(\"init.mnemonic\"),fieldProps:r}),l.default.createElement(d.PasswordField,{title:e(\"init.keyPassword\"),placeholder:e(\"init.passwordPlaceholder\"),fieldProps:o}),l.default.createElement(d.PasswordField,{title:e(\"init.repeatKeyPassword\"),placeholder:e(\"init.repeatPlaceHolder\"),fieldProps:i}),a&&l.default.createElement(d.ErrorBanner,{title:e(\"init.errorTitle\"),error:a}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary \"+_.default.submitButton,disabled:u},e(\"init.restore\")))))}}]),t}(l.default.Component),y=function(e,t){var n={},r=t.t;return e.mnemonic||(n.mnemonic=r(\"init.mnemonicRequire\")),e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.confirmPassword&&(n.confirmPassword=r(\"key.reset.repeatPWarning\")),n};t.default=(0,m.withNamespaces)(\"translations\")((0,c.connect)(function(){return{}},function(e){return{restoreMnemonic:function(t,n){return e(p.default.initialization.restoreMnemonic(t,n))}}})((0,h.reduxForm)({form:\"restoreMnemonic\",fields:[\"mnemonic\",\"password\",\"confirmPassword\"],validate:y})(b)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:\"flex-container\"},this.props.children)}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);\ne.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1232),f=r(d),p=n(67),h=r(p),m=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={query:n.props.currentFilter.filter||\"\",sumBy:n.props.currentFilter.sumBy||\"\",sumByVisible:!1},n.state.showClear=n.state.query!=(n.props.defaultFilter||\"\")||\"\"!=n.state.sumBy,n.state.sumByVisible=\"\"!=n.state.sumBy,n.filterKeydown=n.filterKeydown.bind(n),n.filterOnChange=n.filterOnChange.bind(n),n.sumByOnChange=n.sumByOnChange.bind(n),n.showSumBy=n.showSumBy.bind(n),n.handleSubmit=n.handleSubmit.bind(n),n.clearQuery=n.clearQuery.bind(n),n}return a(t,e),u(t,[{key:\"componentWillReceiveProps\",value:function(e){e.currentFilter.filter!=this.props.currentFilter.filter&&this.setState({query:e.currentFilter.filter})}},{key:\"filterKeydown\",value:function(e){this.setState({lastKeypress:e.key})}},{key:\"filterOnChange\",value:function(e){var t=e.target,n=this.state.lastKeypress,r=e.target.value,o=t.selectionStart;switch(n){case'\"':r=r.substr(0,r.length-1)+\"'\";break;case\"'\":\"'\"==r[o]&&\"'\"==r[o-1]&&(r=r.substr(0,o-1)+r.substr(o));break;case\"(\":r=r.substr(0,o)+\")\"+r.substr(o);break;case\")\":\")\"==r[o]&&\")\"==r[o-1]&&(r=r.substr(0,o-1)+r.substr(o))}this.setState({query:r}),setTimeout(function(){t.setSelectionRange(o,o)},0)}},{key:\"showSumBy\",value:function(){this.setState({sumByVisible:!0})}},{key:\"sumByOnChange\",value:function(e){this.setState({sumBy:e.target.value})}},{key:\"handleSubmit\",value:function(e){e.preventDefault();var t={},n={showClear:this.state.query&&this.state.query!=this.props.defaultFilter||this.state.sumBy};this.state.query?t.filter=this.state.query:this.props.defaultFilter&&(n.query=this.props.defaultFilter,t.filter=this.props.defaultFilter),this.state.sumBy&&(t.sumBy=this.state.sumBy),this.setState(n),this.props.pushList(t)}},{key:\"clearQuery\",value:function(){var e={query:this.props.defaultFilter||\"\",sumBy:\"\",showClear:!1};this.setState(e);var t={};e.query&&(t.filter=e.query),this.props.pushList(t)}},{key:\"render\",value:function(){var e=!1,t=f.default.search_field_full;return void 0!==this.props.sumBy&&(e=!0),this.state.sumByVisible&&(t=f.default.search_field_half),c.default.createElement(\"div\",{className:f.default.main},c.default.createElement(\"form\",s({onSubmit:this.handleSubmit},h.default),c.default.createElement(\"span\",{className:f.default.searchField+\" \"+t},c.default.createElement(\"input\",{value:this.state.query||\"\",onKeyDown:this.filterKeydown,onChange:this.filterOnChange,className:\"form-control \"+f.default.search_input,type:\"search\",autoFocus:\"autofocus\",placeholder:\"Enter filter...\"}),e&&!this.state.sumByVisible&&c.default.createElement(\"span\",{onClick:this.showSumBy,className:f.default.showSumBy},\"set sum_by\")),e&&this.state.sumByVisible&&c.default.createElement(\"span\",{className:f.default.sum_by_field},c.default.createElement(\"input\",{value:this.state.sumBy,onChange:this.sumByOnChange,className:\"form-control \"+f.default.search_input+\" \"+f.default.sum_by_input,type:\"search\",autoFocus:\"autofocus\",placeholder:\"Enter sum_by...\"})),c.default.createElement(\"input\",{type:\"submit\",className:f.default.submit,tabIndex:\"-1\"})),c.default.createElement(\"span\",{className:f.default.queryTime},this.props.defaultFilter&&!this.state.query.trim()&&\"Filter is required • \",\"Queried at \",this.props.queryTime,this.state.showClear&&c.default.createElement(\"span\",null,\" • \",c.default.createElement(\"span\",{type:\"button\",className:f.default.clearSearch,onClick:this.clearQuery},this.props.defaultFilter?\"Restore default filter\":\"Clear filter\"))))}}]),t}(c.default.Component);t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1233),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.main},this.props.title&&l.default.createElement(\"div\",{className:d.default.title},l.default.createElement(\"h5\",null,this.props.title),this.props.actions&&l.default.createElement(\"div\",null,this.props.actions)),l.default.createElement(\"div\",{className:d.default.children},this.props.children))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(350),f=r(d),p=n(51),h=r(p),m=n(1557),g=r(m),_=n(4),b=[\"value\",\"onBlur\",\"onChange\",\"onFocus\"],y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props.t,t=this.props.options,n=this.props.emptyLabel||e(\"form.selectPlaceholder\"),r=this.props.valueKey||\"value\",o=this.props.labelKey||\"label\",i=(0,h.default)(this.props.fieldProps,b),a=this.props.fieldProps,u=a.touched,l=a.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(f.default,null,this.props.title),c.default.createElement(\"select\",s({className:\"form-control\"},i,{autoFocus:!!this.props.autoFocus}),!this.props.skipEmpty&&c.default.createElement(\"option\",{value:\"\"},n),t.map(function(e){return c.default.createElement(\"option\",{value:e[r],key:e[r]},e[o])})),u&&l&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,l)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},c.default.createElement(g.default,{source:this.props.hint})))}}]),t}(c.default.Component);t.default=(0,_.withNamespaces)(\"translations\")(y)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(67),h=r(p),m=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],g=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,m),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\" \"+this.props.className+\" \"+(n&&r&&\"has-error\")},c.default.createElement(\"input\",s({className:\"form-control\",autoFocus:!!this.props.autoFocus},h.default,e)))}}]),t}(c.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1234),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.isActive,r=t.displayPrevious,o=t.displayNext,i=t.component,a=t.children,s=t.t,u=t.nextL,c=t.prevL;return n===!1?null:l.default.createElement(\"div\",null,i?l.default.createElement(i):a,l.default.createElement(h,{label:u||s(\"commonWords.continue\"),isActive:o,goToNextStep:function(){return e.props.goToNextStep()}}),l.default.createElement(m,{label:c||s(\"commonWords.cancel\"),isActive:r,goToPreviousStep:function(){return e.props.goToPreviousStep()}}))}}]),t}(l.default.Component),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.isActive,r=t.label;return n===!1?null:l.default.createElement(\"button\",{className:\"btn btn-primary \"+d.default.floatLeft,onClick:function(){return e.props.goToNextStep()}},r)}}]),t}(l.default.Component),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.isActive,r=t.label;return n===!1?null:l.default.createElement(\"a\",{className:\"btn btn-link \"+d.default.marginLeft,onClick:function(){return e.props.goToPreviousStep()}},r)}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={currentStep:0,totalSteps:n.props.children.length-1},n}return a(t,e),s(t,[{key:\"goToPreviousStep\",value:function(){this.setState({currentStep:this.state.currentStep-1})}},{key:\"goToNextStep\",value:function(){this.setState({currentStep:this.state.currentStep+1})}},{key:\"render\",value:function(){var e=this,t=l.default.Children.map(this.props.children,function(t,n){var r=e.state,o=r.currentStep,i=r.totalSteps;return l.default.cloneElement(t,{isActive:n===o,displayPrevious:o>0,displayNext:o<i,displaySubmit:o===i,goToPreviousStep:function(){return e.goToPreviousStep()},goToNextStep:function(){return e.goToNextStep()}})});return l.default.createElement(\"div\",null,t,\" \")}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1235),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.text||\"Submitting...\";return l.default.createElement(\"div\",{className:d.default.activeSubmit},e)}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1236),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"table\",{className:d.default.main+\" \"+(this.props.styles||\"\")},l.default.createElement(\"thead\",null,l.default.createElement(\"tr\",null,this.props.titles.map(function(e){return l.default.createElement(\"th\",{key:e},e)}),l.default.createElement(\"th\",null))),l.default.createElement(\"tbody\",null,this.props.children))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(67),m=r(h),g=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=e.type||\"text\";return n.state={type:r},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,g),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(p.FieldLabel,null,this.props.title),c.default.createElement(\"input\",s({className:\"form-control\",title:e.value||\"\",type:this.state.type,placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,disabled:this.props.disabled},m.default,e)),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(67),m=r(h),g=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,g),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(p.FieldLabel,null,this.props.title),c.default.createElement(\"textarea\",s({className:\"form-control\",title:e.value||\"\",placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus},m.default,e)),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(1237),p=r(f),h=n(10),m=n(16),g=n(348),_=r(g),b=n(4),y=[\"provide\"],v=function(e){function t(e){i(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={generate:\"\",mockhsm:\"\",provide:\"\",autofocusInput:!1},n}return s(t,e),l(t,[{key:\"componentDidMount\",value:function(){var e=this;this.props.autocompleteIsLoaded||this.props.fetchAll().then(function(){e.props.didLoadAutocomplete()}),this.props.typeProps.onChange(y[0])}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.typeProps,r=t.valueProps,i=t.mockhsmKeys,a=t.t,s=function(t){var o=n.onChange(t).value;r.onChange(e.state[o]||\"\"),e.setState({autofocusInput:!0})},l=function(t){var i=r.onChange(t).value;e.setState(o({},n.value,i))},c={mockhsm:d.default.createElement(h.SelectField,{options:i,autoFocus:this.state.autofocusInput,valueKey:\"xpub\",labelKey:\"label\",fieldProps:u({},r,{onChange:l})}),provide:d.default.createElement(h.TextField,{autoFocus:this.state.autofocusInput,fieldProps:u({},r,{onChange:l}),placeholder:a(\"xpub.providePlaceholder\")}),generate:d.default.createElement(h.TextField,{autoFocus:this.state.autofocusInput,fieldProps:u({},r,{onChange:l}),placeholder:\"Alias for generated key (leave blank for automatic value)\"})};return d.default.createElement(\"div\",{className:p.default.main},d.default.createElement(h.FieldLabel,null,a(\"form.key\"),this.props.index+1),d.default.createElement(\"table\",{className:p.default.options},d.default.createElement(\"tbody\",null,y.map(function(t){return d.default.createElement(\"tr\",{key:\"key-\"+e.props.index+\"-option-\"+t},0===e.props.index?d.default.createElement(\"td\",null,d.default.createElement(\"label\",null,d.default.createElement(\"input\",{type:\"radio\",className:p.default.radio,name:\"keys-\"+e.props.index,onChange:s,checked:t==n.value,value:t,disabled:!0}),a(\"xpub.methodOptions.currentAccount\"))):[d.default.createElement(\"td\",{className:p.default.label},d.default.createElement(\"label\",null,d.default.createElement(\"input\",{type:\"radio\",className:p.default.radio,name:\"keys-\"+e.props.index,onChange:s,checked:t==n.value,value:t,disabled:!0}),a(\"xpub.methodOptions\",{returnObjects:!0})[t])),d.default.createElement(\"td\",{className:p.default.field},n.value==t&&c[t])])}))))}}]),t}(d.default.Component);v.propTypes={index:d.default.PropTypes.number,typeProps:d.default.PropTypes.object,valueProps:d.default.PropTypes.object,mockhsmKeys:d.default.PropTypes.array,autocompleteIsLoaded:d.default.PropTypes.bool,fetchAll:d.default.PropTypes.func,didLoadAutocomplete:d.default.PropTypes.func},t.default=(0,m.connect)(function(e){var t=[];for(var n in e.key.items){var r=e.key.items[n];t.push(u({},r,{label:r.alias?r.alias:r.id.slice(0,32)+\"...\"}))}return{autocompleteIsLoaded:e.key.autocompleteIsLoaded,mockhsmKeys:t}},function(e){return{didLoadAutocomplete:function(){return e(_.default.didLoadAutocomplete)},fetchAll:function(t){return e(_.default.fetchAll(t))}}})((0,b.withNamespaces)(\"translations\")(v))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.queriesReducer=t.listViewReducer=t.autocompleteIsLoadedReducer=t.queryTimeReducer=t.queryCursorReducer=t.queryItemsReducer=t.itemsReducer=void 0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(36),a=n(3),s=r(a),u=function(e){return e.id},l=(t.itemsReducer=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];if(r.type==\"RECEIVED_\"+e.toUpperCase()+\"_ITEMS\"){var i={},a=\"TRANSACTION\"!==e.toUpperCase()?r.param.data:r.param.data.map(function(e){return o({},e,{id:e.txId,timestamp:e.blockTime,blockId:e.blockHash,position:e.blockIndex})});return(a||[]).forEach(function(e){e.id||(e.id=t(e)),i[t(e)]=e}),i}return r.type==\"DELETE_\"+e.toUpperCase()?(delete n[r.id],o({},n)):n}},t.queryItemsReducer=function(e){arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];arguments[1];return e}}),c=t.queryCursorReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return n.type==\"APPEND_\"+e.toUpperCase()+\"_PAGE\"?n.param:t}},d=t.queryTimeReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",n=arguments[1];return n.type==\"APPEND_\"+e.toUpperCase()+\"_PAGE\"?(0,s.default)().format(\"h:mm:ss a\"):t}};t.autocompleteIsLoadedReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments[1];return n.type==\"DID_LOAD_\"+e.toUpperCase()+\"_AUTOCOMPLETE\"||t}},t.listViewReducer=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return(0,i.combineReducers)({itemIds:l(e,t),cursor:c(e),queryTime:d(e)})},t.queriesReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return n.type==\"APPEND_\"+e.toUpperCase()+\"_PAGE\"?o({},t,{loadedOnce:!0}):t}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(10),s=n(83),u=n(14),l=n(15),c=r(l),d=function(e,t,n,r,l){var d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},f=function(n){var r=new Promise(function(t,n){var r=e.getState().account.currentAccount;r?t(r):e.dispatch(c.default.account.setDefaultAccount()).then(function(e){t(e)})});r.then(function(r){if(\"transaction\"===t||\"unspent\"===t){var o=n.location.query,a=e.getState().transaction.unconfirm,s=parseInt(n.location.query.page||1),l=\"unspent\"===t?u.UTXOpageSize:u.pageSize,d={pageSize:l};1==s?(d=\"transaction\"===t?i({},d,{refresh:!0,accountAlias:r,unconfirmed:!0}):d,e.dispatch(c.default[t].fetchPage(o,s,d))):(d=\"transaction\"===t?i({},d,{accountAlias:r,unconfirmed:a}):d,e.dispatch(c.default[t].fetchPage(o,s,d)))}else\"balance\"===t?e.dispatch(c.default[t].fetchAll({accountAlias:r})):e.dispatch(c.default[t].fetchAll())})},p=[];return r&&p.push({path:\"create\",component:r}),d.childRoutes&&p.push.apply(p,o(d.childRoutes)),l&&p.push({path:\":id\",component:l}),{path:d.path||t+\"s\",component:a.RoutingContainer,name:d.name||(0,s.humanize)(t),indexRoute:{component:n,onEnter:function(e,t){f(e,t)},onChange:function(e,t,n){f(t,n)}},childRoutes:p}};t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.testnetInfo=t.crosscoreRpcVersion=t.blockchainId=t.nextReset=void 0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(36),a=n(1370),s=r(a),u=t.nextReset=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"TESTNET_CONFIG\"==t.type?t.data.next_reset?(0,s.default)(t.data.next_reset):(0,s.default)().tz(\"America/Los_Angeles\").day(7).startOf(\"day\"):e},l=t.blockchainId=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];return\"TESTNET_CONFIG\"==t.type?t.data.blockchain_id:e},c=t.crosscoreRpcVersion=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];return\"TESTNET_CONFIG\"==t.type?t.data.crosscore_rpc_version||t.data.network_rpc_version:e},d=t.testnetInfo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!0},t=arguments[1];return\"TESTNET_CONFIG\"==t.type&&(e=o({},t.data)),e};t.default=(0,i.combineReducers)({blockchainId:l,nextReset:u,crosscoreRpcVersion:c,testnetInfo:d})},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){return!!e.core.onTestnet&&(!!e.core.blockchainId&&!!e.testnet.blockchainId&&e.core.blockchainId!=e.testnet.blockchainId)},r=function(e){return!!e.core.onTestnet&&(!!e.core.crosscoreRpcVersion&&!!e.testnet.crosscoreRpcVersion&&e.core.crosscoreRpcVersion!=e.testnet.crosscoreRpcVersion)};t.default={isBlockchainMismatch:n,isCrosscoreRpcMismatch:r}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=\"transactionFeed\";t.default=r({},(0,o.baseCreateActions)(i,{listPath:\"transaction-feeds\",className:\"TransactionFeed\"}),(0,o.baseListActions)(i,{listPath:\"transaction-feeds\",className:\"TransactionFeed\"}))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(10),u=n(835),l=r(u),c=n(178),d=n(14),f=\"transactionFeed\",p=a.default.createElement(s.EmptyContent,null,a.default.createElement(\"p\",null,\"Transaction feeds enable real-time processing of transactions as they arrive on the blockchain.\"),a.default.createElement(\"a\",{href:d.docsRoot+\"/core/build-applications/real-time-transaction-processing\",target:\"_blank\"},\"Learn more\"),\" about how to use transaction feeds.\"),h=function(e){return o({},s.BaseList.mapDispatchToProps(f)(e),{\nitemActions:{delete:function(t){var n=\"ID \"+t.id;t.alias&&t.alias.length>0&&(n='\"'+t.alias+'\"'),e(c.actions.deleteItem(t.id,\"Really delete transaction feed \"+n+\"?\",\"Deleted transaction feed \"+n+\".\"))}}})};t.default=s.BaseList.connect(s.BaseList.mapStateToProps(f,l.default,{skipQuery:!0,label:\"transaction feeds\",firstTimeContent:p}),h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=s({},this.props.item),t=e.after.split(\"-\")[0].split(\":\"),n=t[0],r=t[1],o=\"2147483647\"!=r,i=[{label:\"ID\",value:e.id}];return e.alias&&i.push({label:\"Alias\",value:e.alias}),i.push({label:\"Filter\",value:e.filter,link:\"/transactions?filter=\"+e.filter,pre:!0}),o?i.push({label:\"Last Acknowledged\",value:{blockHeight:n,blockPosition:r}}):i.push({label:\"Last Acknowledged\",value:\"None\"}),c.default.createElement(d.KeyValueTable,{items:i})}}]),t}(c.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(e).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.alias,r=t.filter,o=e.error,i=e.handleSubmit,a=e.submitting;return l.default.createElement(c.FormContainer,{error:o,label:\"New transaction feed\",onSubmit:i(this.submitWithValidations),submitting:a},l.default.createElement(c.FormSection,{title:\"Feed Information\"},l.default.createElement(c.TextField,{title:\"Alias\",placeholder:\"Alias\",fieldProps:n,autoFocus:!0}),l.default.createElement(c.TextField,{title:\"Filter\",placeholder:\"Filter\",fieldProps:r})))}}]),t}(l.default.Component),p=[\"alias\",\"filter\"];t.default=c.BaseNew.connect(c.BaseNew.mapStateToProps(\"transactionFeed\"),c.BaseNew.mapDispatchToProps(\"transactionFeed\"),(0,d.reduxForm)({form:\"newTxFeed\",fields:p})(f))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.New=t.List=void 0;var o=n(834),i=r(o),a=n(836),s=r(a);t.List=i.default,t.New=s.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"transactionFeed\";t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i),queries:r.reducers.queriesReducer(i)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(837),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"transactionFeed\",r.List,r.New,null,{path:\"transaction-feeds\",name:\"Transaction feeds\"})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=JSON.parse(JSON.stringify(e)),n={baseTransaction:t.baseTransaction,actions:t.actions||[]};if(\"normalTx\"===e.form){var r=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.normalTxActionBuilder)(e,Number(r),\"amount\")}if(\"crossChainTx\"===e.form){var o=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.crossChainTxActionBuilder)(e,Number(o))}if(\"voteTx\"===e.form){var i=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.voteTxActionBuilder)(e,Number(i),e.state.address)}if(\"issueAssetTx\"===e.form){var a=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.issueAssetTxActionBuilder)(e,Number(a),\"amount\")}\"\"==n.baseTransaction&&delete n.baseTransaction,\"generate\"==e.submitAction&&(n.ttl=\"1h\");var s=function(e){var t=n.actions[e];delete t.ID;var r=[\"amount\",\"position\",\"sourcePos\",\"vmVersion\"];r.forEach(function(n){var r=t[n];if(r){if(parseInt(r)+\"\"!=r)throw new Error(\"Action \"+(parseInt(e)+1)+\" \"+n+\" must be an integer.\");t[n]=parseInt(r)}});try{t.referenceData=(0,l.parseNonblankJSON)(t.referenceData)}catch(t){throw new Error(\"Action \"+(parseInt(e)+1)+\" reference data should be valid JSON, or blank.\")}try{t.receiver=(0,l.parseNonblankJSON)(t.receiver)}catch(t){throw new Error(\"Action \"+(parseInt(e)+1)+\" receiver should be valid JSON.\")}};for(var u in n.actions)s(u);return n}Object.defineProperty(t,\"__esModule\",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(115),s=r(a),u=n(14),l=n(83),c=n(41),d=n(66),f=n(149),p=\"transaction\",h=(0,d.baseListActions)(p,{defaultKey:\"id\"}),m=(0,d.baseCreateActions)(p);m.submitForm=function(e){return function(t){var n=(0,u.chainClient)(),r=function(t){var n=o(e);t.actions=n.actions,n.baseTransaction&&(t.baseTransaction=n.baseTransaction)},i=function(){t(m.created()),t((0,c.push)({pathname:\"/transactions\",state:{preserveFlash:!0}}))};if(\"normalTx\"===e.form||\"voteTx\"===e.form||\"crossChainTx\"===e.form){var a=e.accountId,l=e.accountAlias,d=Object.assign({},\"\"!==l?{alias:l}:{id:a});return n.accounts.query(d).then(function(t){if(t.data[0].xpubs.length>1)throw{code:\"F_BTM003\"};var r=Object.assign({},{xpub:t.data[0].xpubs[0],password:e.password});return n.mockHsm.keys.checkPassword(r)}).then(function(e){if(!e.data.checkResult)throw new Error(\"PasswordWrong\");return n.transactions.build(r)}).then(function(t){var r=Object.assign({},{password:e.password,transaction:t.data});return n.transactions.sign(r)}).then(function(e){if(!e.data.signComplete)throw{code:\"F_BTM100\"};return n.transactions.submit(e.data.transaction.rawTransaction)}).then(i)}if(\"advancedTx\"===e.form){var f=e.state.showAdvanced&&e.signTransaction?null:n.transactions.build(r);if(\"submit\"==e.submitAction){var p=function(t){var r=Object.assign({},{password:e.password,transaction:t});return n.transactions.sign(r).then(function(e){return n.transactions.submit(e.data.transaction.rawTransaction)}).then(i)};if(e.state.showAdvanced&&e.signTransaction){var h=JSON.parse(e.signTransaction);return p(h)}return f.then(function(e){return p(e.data)})}var g=function(r){var o=Object.assign({},{password:e.password,transaction:r});return n.transactions.sign(o).then(function(e){var n=s.default.v4();t({type:\"GENERATED_TX_HEX\",generated:{id:n,hex:JSON.stringify(e.data.transaction)}}),t((0,c.push)(\"/transactions/generated/\"+n))})};if(e.state.showAdvanced&&e.signTransaction){var _=JSON.parse(e.signTransaction);return g(_)}return f.then(function(e){return g(e.data)})}if(\"issueAssetTx\"===e.form){var b=function(r){var o=Object.assign({},{password:e.password,transaction:r});return n.transactions.sign(o).then(function(e){if(e.data.signComplete)return n.transactions.submit(e.data.transaction.rawTransaction).then(i);var r=s.default.v4();t({type:\"GENERATED_TX_HEX\",generated:{id:r,hex:JSON.stringify(e.data.transaction)}}),t((0,c.push)(\"/transactions/generated/\"+r))})};if(\"submit\"==e.submitAction)return n.transactions.build(r).then(function(e){return b(e.data)});if(\"sign\"==e.submitAction){var y=JSON.parse(e.signTransaction);return b(y)}}}};var g=function(e){return function(t){return(0,u.chainClient)().transactions.decodeTransaction(e).then(function(e){t(\"fail\"===e.status?{type:\"ERROR\",payload:{message:e.msg}}:{type:\"DECODE_TRANSACTION\",data:e.data})}).catch(function(e){throw t({type:\"DECODE_TRANSACTION\",data:[]}),{_error:e}})}},_=function(e){return new Promise(function(t,n){var r=Object.assign({from:0,count:1},e);(0,u.chainClient)().accounts.listAddresses(r).then(function(r){var o=r.data;o.length>0?t(o[0].address):(0,u.chainClient)().accounts.createAddress(e).then(function(e){t(e.data.address)}).catch(function(e){return n(e)})}).catch(function(e){return n(e)})})},b=function(e){return(0,u.chainClient)().transactions.estimateGas(e)},y=function(e){var t=function(t){var n=o(e);t.actions=n.actions,t.ttl=e.ttl,n.baseTransaction&&(t.baseTransaction=n.baseTransaction)};return(0,u.chainClient)().transactions.build(t)},v=function(e){return function(t){var n=(0,u.chainClient)().transactions.getTransaction(e);return n.then(function(e){\"fail\"==e.status?t({type:\"ERROR\",payload:{message:e.msg}}):(e.data=[e.data],t({type:\"RECEIVED_\"+p.toUpperCase()+\"_ITEMS\",param:e}))}).catch(function(e){if(!e.body)throw e;t({type:\"ERROR\",payload:{message:e.body.msg}})}),n}};t.default=i({},h,m,{decode:g,getAddresses:_,estimateGas:b,buildTransaction:y,getTransaction:v})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(43),f=n(14),p=n(1238),h=r(p),m=n(4),g=[\"vote\",\"veto\"],b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"normalizeInouts\",value:function(e){var t={};return e.forEach(function(e){var n=t[e.assetId];if(n||(n=t[e.assetId]={alias:e.assetAlias,decimals:e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==f.btmID?e.assetDefinition.decimals:null,issue:0,retire:0,crossOut:0,crossIn:0}),[\"issue\",\"retire\",\"cross_chain_out\",\"cross_chain_in\"].includes(e.type))switch(e.type){case\"cross_chain_out\":n.crossOut+=e.amount;break;case\"cross_chain_in\":n.crossIn+=e.amount;break;default:n[e.type]+=e.amount}else{var r=e.accountId||\"external\",o=n[r];if(o||(o=n[r]={alias:e.accountAlias,spend:0,control:0,vote:{},veto:0}),\"spend\"==e.type)o.spend+=e.amount;else if(\"veto\"==e.type)o.veto+=e.amount;else if(\"control\"==e.type&&\"change\"==e.purpose)o.spend-=e.amount;else if(\"control\"==e.type)o.control+=e.amount;else if(\"vote\"==e.type){var i=e.vote,a=o.vote,s=a[i];void 0===s&&(a[i]=0),a[i]+=e.amount}}}),t}},{key:\"render\",value:function(){var e=this,t=this.props.transaction,r=t.confirmations,o=t.inputs.length>0&&\"coinbase\"===t.inputs[0].type,i=o&&r>=100,a=this.props.transaction.inputs.concat(this.props.transaction.outputs),s=this.normalizeInouts(a),u=[],p=this.props.t,m=function(e,t,n){if(e===f.btmID)switch(n){case\"BTM\":return(0,d.converIntToDec)(t,8);case\"mBTM\":return(0,d.converIntToDec)(t,5)}return t},b=[\"issue\",\"received\",\"crossIn\"];Object.keys(s).forEach(function(t){var n=s[t],r=[\"issue\",\"retire\",\"cross_chain_out\",\"cross_chain_in\"];Object.keys(n).forEach(function(o){if(!r.includes(o)){var i=n[o];if(i){var a=\"BTM\"===n.alias?e.props.btmAmountUnit:n.alias;if(\"external\"!==o){if(!_.isEmpty(i.vote)){var s=i.vote,c=!0,f=!1,p=void 0;try{for(var g,b=Object.keys(s)[Symbol.iterator]();!(c=(g=b.next()).done);c=!0){var y=g.value,v=s[y];i.spend=i.spend-v,u.push({type:\"vote\",amount:n.decimals?(0,d.converIntToDec)(v,n.decimals):m(t,v,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o,nodePubkey:l.default.createElement(\"code\",{className:h.default.rawId},y)})}}catch(e){f=!0,p=e}finally{try{!c&&b.return&&b.return()}finally{if(f)throw p}}}if(i.spend>i.control&&i.spend>0){var M=void 0,A=i.spend-i.control;if(n.crossOut>0)if(A<n.crossOut)n.crossOut=n.crossOut-A,M=\"crossOut\";else{var w=n.crossOut;A-=w,M=\"sent\",u.push({type:\"crossOut\",amount:n.decimals?(0,d.converIntToDec)(w,n.decimals):m(t,w,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o}),n.crossOut=0}else if(0===n.retire)M=\"sent\";else if(n.retire>=A)M=\"retire\";else{M=\"retire\";var C=A-n.retire;A=n.retire,u.push({type:\"sent\",amount:m(t,C,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}u.push({type:M,amount:n.decimals?(0,d.converIntToDec)(A,n.decimals):m(t,A,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}if(i.spend<i.control&&i.control>0){var E=void 0,L=i.control-i.spend;if(n.crossIn>0)if(L<n.crossIn)n.crossIn=n.crossIn-L,E=\"crossIn\";else{var T=n.crossIn;L-=T,E=\"received\",u.push({type:\"crossIn\",amount:n.decimals?(0,d.converIntToDec)(T,n.decimals):m(t,T,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o}),n.crossIn=0}else E=n.issue>=L?\"issue\":\"received\";L>0&&u.push({type:E,amount:n.decimals?(0,d.converIntToDec)(L,n.decimals):m(t,L,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}if(i.veto>0){var O=\"veto\",S=i.veto;u.push({type:O,amount:n.decimals?(0,d.converIntToDec)(S,n.decimals):m(t,S,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}}}}})});var y=[\"vote\",\"veto\",\"issue\",\"cross_chain_in\",\"received\",\"retire\",\"cross_chain_out\",\"sent\"];return u.sort(function(e,t){return y.indexOf(e.type)-y.indexOf(t.type)}),l.default.createElement(\"div\",{className:h.default.main},u.map(function(e,t){return l.default.createElement(\"div\",{className:h.default.row,key:t},l.default.createElement(\"div\",{className:h.default.colAction+\" \"+h.default.col},o?[l.default.createElement(\"img\",{src:n(665)}),p(\"transaction.type.coinbase\"),!i&&l.default.createElement(\"small\",{className:h.default.immature},p(\"transaction.type.immature\"))]:[l.default.createElement(\"img\",{src:n(339)(\"./\"+e.type+\".svg\")}),p(\"transaction.type.\"+e.type)]),l.default.createElement(\"div\",{className:h.default.middle},l.default.createElement(\"div\",{className:h.default.account},g.includes(e.type)?l.default.createElement(\"div\",{className:h.default.colLabel+\"  \"+h.default.col},p(\"form.account\")):l.default.createElement(\"div\",{className:h.default.colLabel+\"  \"+h.default.col},e.account&&e.type&&(b.includes(e.type)?\"To\":\"From\")),l.default.createElement(\"div\",{className:h.default.colAccount+\"  \"+h.default.col},e.accountId&&l.default.createElement(c.Link,{to:\"/accounts/\"+e.accountId},e.account),!e.accountId&&e.account)),\"vote\"===e.type&&[l.default.createElement(\"div\",{className:h.default.colLabel+\"  \"+h.default.col},\" \",p(\"form.vote\")),l.default.createElement(\"div\",{className:\"\"+h.default.col},e.nodePubkey)]),l.default.createElement(\"div\",{className:h.default.end},l.default.createElement(\"div\",{className:h.default.colAmount+\" \"+h.default.recievedAmount+\"  \"+h.default.col},g.includes(e.type)?l.default.createElement(\"code\",{className:h.default.amount+\" \"+h.default.emphasisLabel},\" \",e.amount):l.default.createElement(\"code\",{className:h.default.amount+\" \"+(b.includes(e.type)?h.default.emphasisLabel:\"text-danger\")},\" \",e.type&&(b.includes(e.type)?\"+\":\"-\"),\" \",e.amount)),l.default.createElement(\"div\",{className:h.default.colUnit+\"  \"+h.default.col},l.default.createElement(c.Link,{to:\"/assets/\"+e.assetId},e.asset))))}))}}]),t}(l.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(1239),p=r(f),h=n(150),m=n(4),g=n(15),_=r(g),b=n(843),y=r(b),v=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.showQrCode=n.showQrCode.bind(n),n.showSignatureQrCode=n.showSignatureQrCode.bind(n),n}return a(t,e),s(t,[{key:\"showQrCode\",value:function(e){e.preventDefault(),this.props.showModal(l.default.createElement(y.default,{hex:this.props.hex}))}},{key:\"showSignatureQrCode\",value:function(e){e.preventDefault();var t=JSON.parse(this.props.hex),n=t.signingInstructions.map(function(e){return e.witnessComponents[0].signatures}),r={signingInstructionsSignatures:n};this.props.showModal(l.default.createElement(y.default,{hex:JSON.stringify(r)}))}},{key:\"render\",value:function(){var e=this,t=this.props.t;return this.props.hex?l.default.createElement(\"div\",null,l.default.createElement(d.PageTitle,{title:t(\"transaction.advance.generated.title\")}),l.default.createElement(d.PageContent,null,l.default.createElement(d.Section,{title:t(\"transaction.advance.generated.title\"),actions:[l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.showQrCode},t(\"transaction.advance.generated.qrBtnText\")),l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.showSignatureQrCode},t(\"transaction.advance.generated.signatureQrBtnText\"))]},l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"p\",null,t(\"transaction.advance.generated.lead\")),l.default.createElement(\"button\",{className:\"btn btn-primary\",onClick:function(){return(0,h.copyToClipboard)(e.props.hex)}},t(\"account.copyClipboard\")),l.default.createElement(\"pre\",{className:p.default.hex},this.props.hex))))):l.default.createElement(d.NotFound,null)}}]),t}(l.default.Component),M=function(e){return{showModal:function(t){return e(_.default.app.showModal(t,_.default.app.hideModal,null,{noCloseBtn:!0}))}}};t.default=(0,c.connect)(function(e,t){var n=(e.transaction||{}).generated||[],r=n.find(function(e){return e.id==t.params.id});return r?{hex:r.hex}:{}},M)((0,m.withNamespaces)(\"translations\")(v))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(4),d=n(76),f=n(1240),p=r(f),h=n(1380),m=r(h),g=n(181),_={width:340},b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={step:0,url:\"\"},n.array=(0,g.splitSlice)(n.props.hex,450),n.previous=n.previous.bind(n),n.next=n.next.bind(n),n.setQrImage=n.setQrImage.bind(n),n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){this.setQrImage(this.state.step)}},{key:\"setQrImage\",value:function(e){var t=this;m.default.toDataURL(this.array[e],_).then(function(e){t.setState({url:e})}).catch(function(e){throw e})}},{key:\"previous\",value:function(e){e.preventDefault();var t=this.state.step;t>0&&(this.setState({step:t-1}),this.setQrImage(t-1))}},{key:\"next\",value:function(e){e.preventDefault();var t=this.state.step;t<this.array.length&&(this.setState({step:t+1}),this.setQrImage(t+1))}},{key:\"render\",value:function(){var e=this.props.t,t=this.array.length,n=this.state.step,r=0===n?0:100*n/(t-1);return this.props.hex?l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,1===t?e(\"transaction.advance.generated.qrModalLabel\"):e(\"transaction.advance.generated.qrModalLabels\",{size:t})),this.state.url&&l.default.createElement(\"img\",{className:p.default.code,src:this.state.url}),t>1&&l.default.createElement(d.ProgressBar,{className:p.default.progressBar,now:r}),t>1&&l.default.createElement(\"button\",{className:\"btn btn-primary\",onClick:this.next,disabled:this.state.step===t-1},e(\"commonWords.next\")),this.state.step>0&&l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.previous},e(\"commonWords.previous\"))):l.default.createElement(\"div\",null)}}]),t}(l.default.Component);t.default=(0,c.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(14),p=n(845),h=r(p),m=n(15),g=r(m),_=\"transaction\",b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"componentWillReceiveProps\",value:function(e){e.currentBlock!=this.props.currentBlock&&1==e.currentPage&&this.props.getLatest({accountAlias:this.props.accountAlias})}},{key:\"render\",value:function(){var e=d.BaseList.ItemList;return c.default.createElement(e,this.props)}}]),t}(c.default.Component);t.default=d.BaseList.connect(function(e,t){return s({},d.BaseList.mapStateToProps(_,h.default)(e,t),{accountAlias:e.account.currentAccount})},function(e){return s({},d.BaseList.mapDispatchToProps(_)(e),{getLatest:function(t){return e(g.default.transaction.fetchPage(t,1,{refresh:!0,pageSize:f.pageSize,accountAlias:t.accountAlias,unconfirmed:!0}))}})},b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(236),f=n(10),p=n(1241),h=r(p),m=n(76),g=n(4),_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t,r=e.highest-e.blockHeight+1;e.confirmations=r;var o=e.inputs.length>0&&\"coinbase\"===e.inputs[0].type,i=0===e.blockHeight&&\"0000000000000000000000000000000000000000000000000000000000000000\"===e.blockHash,a=r<=6?t(\"transaction.confirmation\",{count:r}):t(\"transaction.confirmed\"),s=l.default.createElement(m.Tooltip,{id:\"tooltip\"},t(\"transaction.contractStatus\")),u=l.default.createElement(m.OverlayTrigger,{placement:\"top\",overlay:s},l.default.createElement(\"img\",{src:n(339)(\"./\"+(e.statusFail?\"fail\":\"success\")+\".svg\")}));return l.default.createElement(\"div\",{className:h.default.main},l.default.createElement(\"div\",{className:h.default.titleBar},l.default.createElement(\"div\",{className:h.default.title},l.default.createElement(\"label\",null,t(\"transaction.id\")),\"\u00a0\",l.default.createElement(\"code\",null,e.id),\"\u00a0\",!o&&l.default.createElement(\"span\",{className:h.default.confirmation+\" \"+(i?\"text-danger\":null)},i?t(\"transaction.unconfirmedTx\"):[a,u])),i?null:l.default.createElement(\"span\",{className:h.default.timestamp},l.default.createElement(f.RelativeTime,{timestamp:e.timestamp})),l.default.createElement(c.Link,{className:h.default.viewLink,to:\"/transactions/\"+e.id},t(\"commonWords.viewDetails\"))),l.default.createElement(d.DetailSummary,{transaction:e,btmAmountUnit:this.props.btmAmountUnit}))}}]),t}(l.default.Component);t.default=(0,g.withNamespaces)(\"translations\")(_)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(852),d=r(c),f=n(76),p=n(23),h=n(850),m=r(h),g=n(1),_=r(g),b=n(161),y=r(b),v=n(179),M=r(v),A=n(67),w=(r(A),n(15)),C=r(w),E=n(149),L=n(4),T=n(14),O=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showDropdown:!1,showAdvanced:!1,counter:0},n.submitWithValidation=n.submitWithValidation.bind(n),n.addActionItem=n.addActionItem.bind(n),n.removeActionItem=n.removeActionItem.bind(n),n.toggleDropwdown=n.toggleDropwdown.bind(n),n.closeDropdown=n.closeDropdown.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"toggleDropwdown\",value:function(){this.setState({showDropdown:!this.state.showDropdown})}},{key:\"closeDropdown\",value:function(){this.setState({showDropdown:!1})}},{key:\"addActionItem\",value:function(e){var t=this.state.counter,n=void 0;n=\"spend_account\"===e||\"veto\"===e?{type:e,ID:t,accountAlias:this.props.currentAccount}:{type:e,ID:t},this.props.fields.actions.addField(n),this.closeDropdown(),this.setState({counter:t+1})}},{key:\"disableSubmit\",value:function(e){return 0==e.length&&!this.state.showAdvanced}},{key:\"removeActionItem\",value:function(e){this.props.fields.actions.removeField(e)}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"advancedTx\"})).catch(function(e){var t={};return e.data&&(t.actions=[],e.data.forEach(function(e){t.actions[e.data.actionIndex]={type:e}})),t._error=e,r(t)})})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.signTransaction,o=n.actions,i=n.submitAction,a=n.password,u=t.error,c=t.handleSubmit,p=t.submitting,h=this.props.t,g=h(\"transaction.new.submit\"),b=(r.value||\"\").trim().length>0;return\"generate\"!=i.value||b||(g=h(\"transaction.advance.generateJson\")),_.default.createElement(M.default,{error:u,onSubmit:c(this.submitWithValidation),submitting:p,submitLabel:g,disabled:this.disableSubmit(o),className:y.default.content+\" \"+y.default.center},_.default.createElement(l.FormSection,{title:\"Actions\"},o.map(function(t,n){return _.default.createElement(m.default,{key:\"form-action-\"+t.ID.value,index:n,fieldProps:t,accounts:e.props.accounts,assets:e.props.assets,remove:e.removeActionItem,decimal:(0,E.getAssetDecimal)(t,e.props.asset)})}),_.default.createElement(\"div\",{className:\"btn-group \"+y.default.addActionContainer+\" \"+(this.state.showDropdown&&\"open\")},_.default.createElement(f.DropdownButton,{className:\"btn btn-default \"+y.default.addAction,\nid:\"input-dropdown-addon\",title:\"+ Add action\",onSelect:this.addActionItem},_.default.createElement(f.MenuItem,{eventKey:\"spend_account\"},\"Spend from account\"),_.default.createElement(f.MenuItem,{eventKey:\"control_address\"},\"Control with address\"),_.default.createElement(f.MenuItem,{eventKey:\"vote_output\"},\"Vote\"),_.default.createElement(f.MenuItem,{eventKey:\"veto\"},\"Veto\"),_.default.createElement(f.MenuItem,{eventKey:\"cross_chain_in\"},\"Cross Chain In\"),_.default.createElement(f.MenuItem,{eventKey:\"cross_chain_out\"},\"Cross Chain Out\")))),!this.state.showAdvanced&&_.default.createElement(l.FormSection,null,_.default.createElement(\"a\",{href:\"#\",className:y.default.showAdvanced,onClick:function(t){t.preventDefault(),e.setState({showAdvanced:!0})}},h(\"transaction.advance.showAdvanced\"))),this.state.showAdvanced&&_.default.createElement(l.FormSection,{title:h(\"transaction.advance.option\")},_.default.createElement(\"div\",null,_.default.createElement(d.default,{fieldProps:r,decode:this.props.decode,transaction:this.props.decodedTx,showJsonModal:this.props.showJsonModal,asset:this.props.asset,btmAmountUnit:this.props.btmAmountUnit}),_.default.createElement(l.FieldLabel,null,h(\"transaction.advance.buildType\")),_.default.createElement(\"table\",{className:y.default.submitTable},_.default.createElement(\"tbody\",null,_.default.createElement(\"tr\",null,_.default.createElement(\"td\",null,_.default.createElement(\"input\",s({id:\"submit_action_submit\",type:\"radio\"},i,{value:\"submit\",checked:\"submit\"==i.value}))),_.default.createElement(\"td\",null,_.default.createElement(\"label\",{htmlFor:\"submit_action_submit\"},h(\"transaction.advance.submitToBlockchain\")),_.default.createElement(\"br\",null),_.default.createElement(\"label\",{htmlFor:\"submit_action_submit\",className:y.default.submitDescription},h(\"transaction.advance.submitLabel\")))),_.default.createElement(\"tr\",null,_.default.createElement(\"td\",null,_.default.createElement(\"input\",s({id:\"submit_action_generate\",type:\"radio\"},i,{value:\"generate\",checked:\"generate\"==i.value}))),_.default.createElement(\"td\",null,_.default.createElement(\"label\",{htmlFor:\"submit_action_generate\"},h(\"transaction.advance.needMoreSign\")),_.default.createElement(\"br\",null),_.default.createElement(\"label\",{htmlFor:\"submit_action_generate\",className:y.default.submitDescription},h(\"transaction.advance.needMoreSignDescription\")))))))),(o.length>0||this.state.showAdvanced)&&_.default.createElement(l.FormSection,null,_.default.createElement(\"label\",{className:y.default.title},h(\"key.password\")),_.default.createElement(l.PasswordField,{placeholder:h(\"key.passwordPlaceholder\"),fieldProps:a})))}}]),t}(_.default.Component),S=function(e,t){var n={actions:{}},r=t.t,o=(e.signTransaction||\"\").trim();try{JSON.parse(o)}catch(e){o&&e&&(n.signTransaction=r(\"errorMessage.jsonError\"))}var i=void 0;return e.actions.forEach(function(t,o){var a=e.actions[o];i=!/^\\d+(\\.\\d+)?$/i.test(e.actions[o].amount),i&&(n.actions[o]=s({},n.actions[o],{amount:r(\"errorMessage.amountError\")})),(a.assetAlias&&\"BTM\"!==a.assetAlias.toUpperCase()||a.assetId&&a.assetId!==T.btmID)&&\"cross_chain_in\"==a.type&&!a.rawDefinitionByte&&(n.actions[o]=s({},n.actions[o],{rawDefinitionByte:r(\"errorMessage.rawDefinitionByteError\")}))}),n},N=function(e){return s({},l.BaseNew.mapDispatchToProps(\"transaction\")(e),{decode:function(t){return e(C.default.transaction.decode(t))},showJsonModal:function(t){return e(C.default.app.showModal(t,C.default.app.hideModal,null,{wide:!0}))}})};t.default=(0,L.withNamespaces)(\"translations\")(l.BaseNew.connect(function(e,t){return s({},l.BaseNew.mapStateToProps(\"transaction\")(e,t),{decodedTx:e.transaction.decodedTx,currentAccount:e.account.currentAccount})},N,(0,p.reduxForm)({form:\"AdvancedTransactionForm\",fields:[\"signTransaction\",\"actions[].ID\",\"actions[].accountId\",\"actions[].accountAlias\",\"actions[].assetId\",\"actions[].assetAlias\",\"actions[].amount\",\"actions[].outputId\",\"actions[].type\",\"actions[].address\",\"actions[].vote\",\"actions[].sourceId\",\"actions[].vmVersion\",\"actions[].rawDefinitionByte\",\"actions[].issuanceProgram\",\"actions[].sourcePos\",\"actions[].password\",\"submitAction\",\"password\"],validate:S,touchOnChange:!0,initialValues:{submitAction:\"submit\"}})(O)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(14),p=n(181),h=n(43),m=n(1242),g=r(m),_=n(27),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.accountId,r=t.accountAlias,o=t.assetId,i=t.assetAlias,a=t.receivers,s=t.password,u=t.gasLevel,c=e.handleSubmit,m=e.submitting,b=e.cancel,y=e.error,v=e.gas,M=e.t,A=e.btmAmountUnit,w=e.assetDecimal,C=Number(u.value*v),E=(0,p.sum)(a,\"amount.value\"),L=\"BTM\"===i.value||o.value===f.btmID?E+C:E,T=M(\"transaction.new.submit\"),O=function(e,t){return t===f.btmID||\"BTM\"===t?(0,h.normalizeBTMAmountUnit)(f.btmID,e,A):w?(0,h.converIntToDec)(e,w):e},S=o.value&&this.props.asset.find(function(e){return e.id===o.value}),N=i.value&&this.props.asset.find(function(e){return e.alias===i.value}),k=i.value||S&&S.alias||o.value,D=o.value||N&&N.id,x=l.default.createElement(_.Link,{to:\"/assets/\"+D,className:g.default.unit,target:\"_blank\"},k!==f.btmID&&\"BTM\"!==k&&k);return l.default.createElement(\"div\",null,l.default.createElement(\"h3\",null,M(\"transaction.normal.confirmation\")),l.default.createElement(\"table\",{className:g.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},\"From\"),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,r.value||n.value))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null)),a.map(function(e){return[l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},\"To\"),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,e.address.value),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},M(\"form.amount\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(e.amount.value,k),\" \",x),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null))]}),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},M(\"form.fee\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,(0,h.normalizeBTMAmountUnit)(f.btmID,C,A)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},M(\"transaction.normal.total\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(L,k),\" \",x),\" \")))),l.default.createElement(\"hr\",{className:g.default.hr}),l.default.createElement(\"form\",{onSubmit:c},l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,M(\"key.password\")),l.default.createElement(d.PasswordField,{placeholder:M(\"key.passwordPlaceholder\"),fieldProps:s})),y&&\"PasswordWrong\"===y.message&&l.default.createElement(d.ErrorBanner,{title:M(\"form.errorTitle\"),error:M(\"errorMessage.password\")}),l.default.createElement(\"div\",{className:g.default.btnGroup},l.default.createElement(\"div\",null,l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:m},T),m&&l.default.createElement(d.SubmitIndicator,{className:g.default.submitIndicator})),l.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:b},l.default.createElement(\"i\",null),\" \",M(\"form.cancel\")))))}}]),t}(u.Component),v=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,b.withNamespaces)(\"translations\")((0,c.reduxForm)({form:\"NormalTransactionForm\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"receivers[].amount\",\"receivers[].address\",\"gasLevel\",\"password\"],destroyOnUnmount:!1,validate:v})(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(14),p=n(43),h=n(1243),m=r(h),g=n(27),_=n(4),b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.accountId,r=t.accountAlias,o=t.assetId,i=t.assetAlias,a=t.address,s=t.amount,u=t.password,c=t.gasLevel,h=e.handleSubmit,_=e.submitting,b=e.cancel,y=e.error,v=e.gas,M=e.t,A=e.btmAmountUnit,w=e.assetDecimal,C=Number(c.value*v),E=Number(s.value),L=\"BTM\"===i.value||o.value===f.btmID?E+C:E,T=M(\"transaction.crossChain.confirm\"),O=function(e,t){return t===f.btmID||\"BTM\"===t?(0,p.normalizeBTMAmountUnit)(f.btmID,e,A):w?(0,p.converIntToDec)(e,w):e},S=o.value&&this.props.asset.find(function(e){return e.id===o.value}),N=i.value&&this.props.asset.find(function(e){return e.alias===i.value}),k=i.value||S&&S.alias||o.value,D=o.value||N&&N.id,x=l.default.createElement(g.Link,{to:\"/assets/\"+D,className:m.default.unit,target:\"_blank\"},k!==f.btmID&&\"BTM\"!==k&&k);return l.default.createElement(\"div\",null,l.default.createElement(\"h3\",null,M(\"transaction.crossChain.confirm\")),l.default.createElement(\"table\",{className:m.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"form.account\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,r.value||n.value))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"transaction.crossChain.crossChainAddress\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,a.value),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"form.amount\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(s.value,k),\" \",x),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"form.fee\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,(0,p.normalizeBTMAmountUnit)(f.btmID,C,A)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"transaction.normal.total\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(L,k),\" \",x),\" \")))),l.default.createElement(\"hr\",{className:m.default.hr}),l.default.createElement(\"form\",{onSubmit:h},l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,M(\"key.password\")),l.default.createElement(d.PasswordField,{placeholder:M(\"key.passwordPlaceholder\"),fieldProps:u})),y&&\"PasswordWrong\"===y.message&&l.default.createElement(d.ErrorBanner,{title:M(\"form.errorTitle\"),error:M(\"errorMessage.password\")}),l.default.createElement(\"div\",{className:m.default.btnGroup},l.default.createElement(\"div\",null,l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:_},T),_&&l.default.createElement(d.SubmitIndicator,{className:m.default.submitIndicator})),l.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:b},l.default.createElement(\"i\",null),\" \",M(\"form.cancel\")))))}}]),t}(u.Component),y=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,_.withNamespaces)(\"translations\")((0,c.reduxForm)({form:\"CrossChainTransaction\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"amount\",\"address\",\"gasLevel\",\"password\"],destroyOnUnmount:!1,validate:y})(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(14),d=n(23),f=n(1),p=r(f),h=n(161),m=r(h),g=n(179),_=r(g),b=n(15),y=r(b),v=n(848),M=r(v),A=n(149),w=n(4),C=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.connection=(0,c.chainClient)().connection,n.state={estimateGas:null,displayGas:!0},n.submitWithValidation=n.submitWithValidation.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"disableSubmit\",value:function(){return this.state.displayGas&&!this.state.estimateGas}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"crossChainTx\"})).then(function(){t.props.closeModal(),t.props.destroyForm()}).catch(function(e){\"PasswordWrong\"!==e.message&&t.props.closeModal(),r({_error:e})})})}},{key:\"confirmedTransaction\",value:function(e,t){e.preventDefault(),this.props.showModal(p.default.createElement(M.default,{cancel:this.props.closeModal,onSubmit:this.submitWithValidation,gas:this.state.estimateGas,btmAmountUnit:this.props.btmAmountUnit,assetDecimal:t,asset:this.props.asset}))}},{key:\"estimateNormalTransactionGas\",value:function(){var e=this,t=this.props.fields,n=t.accountAlias.value,r=t.accountId.value,o=t.assetAlias.value,i=t.assetId.value,a=t.address.value,s=Number(t.amount.value),u=this.props,l=u.t,c=u.i18n,d=!n&&!r,f=!o&&!i;if(\"\"===a||0===s||d||f)return void this.setState({estimateGas:null});var p=(0,A.crossChainTxActionBuilder)(t,Math.pow(10,7));this.props.buildTransaction({actions:p,ttl:1}).then(function(t){return e.props.estimateGasFee(t.data).then(function(t){var n=t.data.totalNeu;0===n?e.setState({displayGas:!1}):e.setState({estimateGas:1e5*Math.ceil(n/1e5),displayGas:!0})}).catch(function(e){throw e})}).catch(function(t){e.setState({estimateGas:null,address:null});var n=t.code&&c.exists(\"btmError.\"+t.code)&&l(\"btmError.\"+t.code)||t.msg;e.props.showError(new Error(n))})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.accountId,o=n.accountAlias,i=n.assetAlias,a=n.assetId,s=n.amount,u=n.address,d=n.gasLevel,f=t.error,h=t.submitting,g=this.props.t;[o,r,i,a,s,u].forEach(function(t){t.onBlur=e.estimateNormalTransactionGas.bind(e)});var b=g(\"transaction.crossChain.submit\"),y=(0,A.getAssetDecimal)(this.props.fields,this.props.asset)||0,v=(o.value||r.value)&&(i.value||a.value),M=(0,A.balance)(this.props.fields,y,this.props.balances,this.props.btmAmountUnit),w=\"BTM\"===i.value||a.value===c.btmID,C=this.props.networkId;return p.default.createElement(_.default,{error:f,onSubmit:function(t){return e.confirmedTransaction(t)},submitting:h,submitLabel:b,disabled:this.disableSubmit(),className:m.default.container},p.default.createElement(\"div\",{className:m.default.borderBottom},p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.crossChain.title\")),p.default.createElement(\"div\",{className:m.default.mainBox+\" \"},p.default.createElement(l.ObjectSelectorField,{key:\"account-selector-field\",keyIndex:\"votetx-account\",title:g(\"form.account\"),aliasField:l.Autocomplete.AccountAlias,fieldProps:{id:r,alias:o},disabled:!0}),p.default.createElement(l.ObjectSelectorField,{key:\"asset-selector-field\",keyIndex:\"normaltx-asset\",title:g(\"form.asset\"),aliasField:l.Autocomplete.AssetAlias,fieldProps:{id:a,alias:i}}),v&&M&&p.default.createElement(\"small\",{className:m.default.balanceHint},g(\"transaction.normal.availableBalance\"),\" \",M),p.default.createElement(l.AmountField,{isBTM:w,title:g(\"form.amount\"),fieldProps:s,decimal:y}),p.default.createElement(l.TextField,{title:g(\"transaction.crossChain.address\"),fieldProps:u,hint:g(\"transaction.crossChain.addressHint\",{id:C})})),this.state.displayGas&&[p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.normal.selectFee\")),p.default.createElement(\"div\",{className:m.default.txFeeBox},p.default.createElement(l.GasField,{gas:this.state.estimateGas,fieldProps:d,btmAmountUnit:this.props.btmAmountUnit}),p.default.createElement(\"span\",{className:m.default.feeDescription},\" \",g(\"transaction.normal.feeDescription\")))]))}}]),t}(p.default.Component),E=function(e,t){var n={gas:{}},r=t.t;return e.amount&&!/^\\d+(\\.\\d+)?$/i.test(e.amount)&&(n.amount=r(\"errorMessage.amountError\")),n},L=function(e){return s({showError:function(t){return e({type:\"ERROR\",payload:t})},closeModal:function(){return e(y.default.app.hideModal)},showModal:function(t){return e(y.default.app.showModal(t,y.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))},estimateGasFee:y.default.transaction.estimateGas,buildTransaction:y.default.transaction.buildTransaction},l.BaseNew.mapDispatchToProps(\"transaction\")(e))},T=function(e,t){var n=e.account.currentAccount;return n?{initialValues:{accountAlias:n,accountId:\"\",gasLevel:\"1\"}}:{}},O=function(e,t){var n=e.core.coreData,r=void 0;if(n&&n.networkId)switch(n.networkId){case\"mainnet\":r=\"bm\";break;case\"testnet\":r=\"tm\";break;case\"solonet\":r=\"sm\"}return s({},l.BaseNew.mapStateToProps(\"transaction\")(e,t),{networkId:r})};t.default=(0,w.withNamespaces)(\"translations\")(l.BaseNew.connect(O,L,(0,d.reduxForm)({form:\"CrossChainTransaction\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"amount\",\"address\",\"gasLevel\"],validate:E,touchOnChange:!0},T)(C)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,\"__esModule\",{value:!0});var u,l,c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),d=n(1),f=r(d),p=n(10),h=n(1244),m=r(h),g=n(14),_=n(4),b=\"cross_chain_out\",y=\"cross_chain_in\",v=\"vote_output\",M=\"veto\",A=\"spend_account\",w=\"spend_account_unspent_output\",C=\"control_receiver\",E=\"control_address\",L=\"retire\",T=\"set_transaction_reference_data\",O=(u={},s(u,b,\"Cross Chain Out\"),s(u,y,\"Cross Chain In\"),s(u,v,\"Vote Output\"),s(u,M,\"Veto\"),s(u,A,\"Spend from account\"),s(u,w,\"Spend unspent output\"),s(u,C,\"Control with receiver\"),s(u,E,\"Control with address\"),s(u,L,\"Retire\"),s(u,T,\"Set transaction reference data\"),u),S=(l={},s(l,b,{asset:!0,amount:!0,address:!0}),s(l,y,{asset:!0,amount:!0,sourceId:!0,sourcePos:!0,vmVersion:!0,issuanceProgram:!0,rawDefinitionByte:!0}),s(l,v,{asset:!0,amount:!0,address:!0,vote:!0}),s(l,M,{account:!0,amount:!0,asset:!0,vote:!0}),s(l,A,{asset:!0,account:!0,amount:!0,password:!0}),s(l,w,{outputId:!0,password:!0}),s(l,C,{asset:!0,receiver:!0,amount:!0}),s(l,E,{asset:!0,address:!0,amount:!0}),s(l,L,{asset:!0,amount:!0}),s(l,T,{}),l),N=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={referenceDataOpen:e.fieldProps.type.value==T},n.openReferenceData=n.openReferenceData.bind(n),n}return a(t,e),c(t,[{key:\"openReferenceData\",value:function(){this.setState({referenceDataOpen:!0})}},{key:\"componentDidMount\",value:function(){window.scroll(window.scrollX,window.scrollY+this.scrollRef.getBoundingClientRect().top-10)}},{key:\"render\",value:function(){var e=this,t=this.props.fieldProps,n=t.outputId,r=t.type,o=t.address,i=t.accountId,a=t.accountAlias,s=t.receiver,u=t.assetId,l=t.assetAlias,c=t.password,d=t.amount,h=t.vote,_=t.sourceId,b=t.sourcePos,y=t.vmVersion,v=t.rawDefinitionByte,M=t.issuanceProgram,A=(t.referenceData,S[r.value]||{}),w=function(t){t.preventDefault(),e.props.remove(e.props.index)},C=this.props.t,E=\"BTM\"===l.value||u.value===g.btmID,L=this.props.decimal||0,T=[m.default.main];return r.error&&T.push(m.default.error),f.default.createElement(\"div\",{className:T.join(\" \"),ref:function(t){return e.scrollRef=t}},f.default.createElement(p.HiddenField,{fieldProps:r}),f.default.createElement(\"div\",{className:m.default.header},f.default.createElement(\"label\",{className:m.default.title},O[r.value]),f.default.createElement(\"a\",{href:\"#\",className:\"btn btn-sm btn-danger\",onClick:w},C(\"commonWords.remove\"))),r.error&&f.default.createElement(p.ErrorBanner,{message:r.error}),A.account&&f.default.createElement(p.ObjectSelectorField,{keyIndex:\"advtx-account\",title:C(\"form.account\"),aliasField:p.Autocomplete.AccountAlias,fieldProps:{id:i,alias:a},disabled:!0}),A.receiver&&f.default.createElement(p.JsonField,{title:\"Receiver\",fieldProps:s}),A.address&&f.default.createElement(p.TextField,{title:C(\"form.address\"),fieldProps:o}),A.vote&&f.default.createElement(p.TextField,{title:C(\"form.vote\"),fieldProps:h}),A.sourceId&&f.default.createElement(p.TextField,{title:C(\"form.sourceId\"),fieldProps:_}),A.sourcePos&&f.default.createElement(p.TextField,{title:C(\"form.sourcePos\"),fieldProps:b}),A.vmVersion&&f.default.createElement(p.TextField,{title:C(\"form.vmVersion\"),fieldProps:y}),A.issuanceProgram&&f.default.createElement(p.TextField,{title:C(\"form.issuanceProgram\"),fieldProps:M}),A.rawDefinitionByte&&f.default.createElement(p.TextField,{title:C(\"form.rawDefinitionByte\"),fieldProps:v}),A.outputId&&f.default.createElement(p.TextField,{title:\"Output ID\",fieldProps:n}),A.asset&&f.default.createElement(p.ObjectSelectorField,{keyIndex:\"advtx-asset\",title:C(\"form.asset\"),aliasField:p.Autocomplete.AssetAlias,fieldProps:{id:u,alias:l}}),A.amount&&f.default.createElement(p.AmountField,{isBTM:E,title:C(\"form.amount\"),fieldProps:d,decimal:L}),A.password&&!1&&f.default.createElement(p.TextField,{title:C(\"key.password\"),placeholder:C(\"key.password\"),fieldProps:c,autoFocus:!1,type:\"password\"}),!1,!1)}}]),t}(f.default.Component);t.default=(0,_.withNamespaces)(\"translations\")(N)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(14),d=n(10),f=n(416),p=r(f),h=n(43),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showJson:!1},n.normalize=n.normalize.bind(n),n}return a(t,e),s(t,[{key:\"normalize\",value:function(e){var t=this,n=[],r=this.props.asset;return e.forEach(function(e){var o=e.assetId,i=r;i=i.filter(function(e){return e.id===o});var a=o,s=e.amount;1===i.length&&(a=i[0].alias,s=o===c.btmID?(0,h.normalizeGlobalBTMAmount)(c.btmID,s,t.props.btmAmountUnit):(0,h.converIntToDec)(s,i[0].definition.decimals)),n.push({type:e.type,amount:s,assetAlias:a,assetId:o,address:e.address,controlProgram:e.controlProgram})}),n}},{key:\"showForm\",value:function(e,t){e.preventDefault();var n=\"json\"===t;this.setState({showJson:n})}},{key:\"render\",value:function(){var e=this,t=this.props.transaction,n=this.props.btmAmountUnit,r=this.props.t,o=l.default.createElement(\"div\",null);if(0!==t.length){var i=(0,h.normalizeGlobalBTMAmount)(c.btmID,t.fee,n),a=this.normalize(t.inputs),s=this.normalize(t.outputs),u=function(e){return e.map(function(e,t){return l.default.createElement(\"table\",{key:t,className:p.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.type\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.type))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.address\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.address))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.amount\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.amount))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.asset\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.assetAlias))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.controlProgram\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.controlProgram)))))})};o=l.default.createElement(\"div\",null,l.default.createElement(d.FieldLabel,null,r(\"transaction.advance.transactionContent\")),l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"div\",{className:p.default.txID},l.default.createElement(\"label\",null,r(\"form.summary\")),l.default.createElement(\"table\",{key:\"txsummary\",className:p.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},r(\"form.transactionId\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.txId))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\"Gas\"),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,i)))))),l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,r(\"form.input\")),u(a),l.default.createElement(\"label\",null,r(\"form.output\")),u(s))));var f=l.default.createElement(\"pre\",null,JSON.stringify(this.props.transaction,null,2));return l.default.createElement(\"div\",null,l.default.createElement(\"div\",{className:p.default.btnGroup},l.default.createElement(\"div\",{className:\"btn-group\",role:\"group\"},l.default.createElement(\"button\",{className:\"btn btn-default \"+(this.state.showJson?null:\"active\"),onClick:function(t){return e.showForm(t,\"normal\")}},r(\"transaction.advance.normalView\")),l.default.createElement(\"button\",{className:\"btn btn-default \"+(this.state.showJson?\"active\":null),onClick:function(t){return e.showForm(t,\"json\")}},r(\"transaction.advance.jsonView\")))),!this.state.showJson&&o,this.state.showJson&&f)}}}]),t}(l.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(g)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(67),m=r(h),g=n(416),_=r(g),b=n(241),y=n(851),v=r(y),M=n(4),A=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],w=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.showDetailTransactions=n.showDetailTransactions.bind(n),n}return a(t,e),u(t,[{key:\"showDetailTransactions\",value:function(e,t){var n=this;e.preventDefault();var r=b.Connection.camelize(JSON.parse(t)).rawTransaction;this.props.decode(r).then(function(){n.props.showJsonModal(c.default.createElement(v.default,{transaction:n.props.transaction,btmAmountUnit:n.props.btmAmountUnit,asset:n.props.asset}))})}},{key:\"render\",value:function(){var e=this,t=(0,f.default)(this.props.fieldProps,A),n=this.props.fieldProps,r=n.touched,o=n.error,i=this.props.t;return c.default.createElement(\"div\",{className:\"form-group\"},c.default.createElement(p.FieldLabel,null,i(\"transaction.advance.toSignTransaction\")),c.default.createElement(\"input\",s({className:\"form-control\",type:\"text\",placeholder:i(\"transaction.advance.signPlaceholder\"),autoFocus:!0},m.default,t)),r&&o&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,o)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint),c.default.createElement(\"a\",{className:\"btn btn-link \"+_.default.btn,onClick:function(n){\nreturn e.showDetailTransactions(n,t.value)}},i(\"transaction.advance.showDetails\")))}}]),t}(c.default.Component);t.default=(0,M.withNamespaces)(\"translations\")(w)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(1),d=r(c),f=n(16),p=n(161),h=r(p),m=n(15),g=r(m),_=n(53),b=r(_),y=n(237),v=r(y),M=n(854),A=r(M),w=n(849),C=r(w),E=n(846),L=r(E),T=n(855),O=r(T),S=n(27),N=n(23),k=n(4),D=n(41),x=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleFormEmpty=n.handleFormEmpty.bind(n),n}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){var e=this;this.props.autocompleteIsBalanceLoaded||this.props.fetchBalanceAll().then(function(){e.props.didLoadBalanceAutocomplete()}),this.props.autocompleteIsAssetLoaded||this.props.fetchAssetAll().then(function(){e.props.didLoadAssetAutocomplete()}),this.props.router.setRouteLeaveHook(this.props.route,function(t){if(!(e.handleFormEmpty()||t.state||t.pathname.startsWith(\"/transactions/generated/\")))return e.props.t(\"transaction.new.unsaveWarning\")})}},{key:\"handleKeyDown\",value:function(e,t,n){\"Enter\"!==e.key||e.shiftKey!==!1||n||(e.preventDefault(),t())}},{key:\"handleFormEmpty\",value:function(){if(this.props.normalSelected){var e=[\"assetAlias\",\"assetId\",\"password\"];for(var t in e)if(this.props.normalform[e[t]])return!1;return!(this.props.normalform.receivers.length>1)}if(this.props.advancedSelected)return!(this.props.advform.actions.length>0||this.props.advform.signTransaction||this.props.advform.password);if(this.props.voteSelected){var n=[\"amount\",\"nodePubkey\"];for(var r in n)if(this.props.voteform[n[r]])return!1;return!0}if(this.props.crossChainSelected){var o=[\"assetAlias\",\"assetId\",\"address\",\"amount\",\"password\"];for(var i in o)if(this.props.crossChainform[o[i]])return!1;return!0}}},{key:\"showForm\",value:function(e,t){e.preventDefault(),(this.handleFormEmpty()||window.confirm(this.props.t(\"transaction.new.unsaveWarning\")))&&this.props.createForm(t)}},{key:\"render\",value:function(){var e=this,t=this.props.t;return d.default.createElement(\"div\",{className:(0,b.default)(this,\"flex-container\")},d.default.createElement(l.PageTitle,{title:t(\"transaction.new.new\")}),d.default.createElement(\"div\",{className:h.default.mainContainer+\" flex-container\"},d.default.createElement(\"div\",{className:h.default.center},d.default.createElement(\"div\",{className:h.default.btnGroup},d.default.createElement(\"div\",{className:\"btn-group\",role:\"group\"},d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.normalSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"normal\")}},t(\"transaction.new.normal\")),d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.advancedSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"advanced\")}},t(\"transaction.new.advanced\")),d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.voteSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"vote\")}},t(\"transaction.new.vote\")),d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.crossChainSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"crossChain\")}},t(\"transaction.new.crossChain\")))),this.props.normalSelected&&d.default.createElement(A.default,{btmAmountUnit:this.props.btmAmountUnit,asset:this.props.asset,balances:this.props.balances,handleKeyDown:this.handleKeyDown,tutorialVisible:this.props.tutorialVisible}),this.props.advancedSelected&&d.default.createElement(L.default,{btmAmountUnit:this.props.btmAmountUnit,asset:this.props.asset,handleKeyDown:this.handleKeyDown}),this.props.voteSelected&&d.default.createElement(O.default,s({handleKeyDown:this.handleKeyDown},this.props)),this.props.crossChainSelected&&d.default.createElement(C.default,s({handleKeyDown:this.handleKeyDown},this.props))),d.default.createElement(v.default,{types:[\"TutorialForm\"],advTx:this.props.advancedSelected})))}}]),t}(d.default.Component),I=function(e,t){var n=[];for(var r in e.balance.items)n.push(e.balance.items[r]);return{autocompleteIsBalanceLoaded:e.balance.autocompleteIsLoaded,autocompleteIsAssetLoaded:e.asset.autocompleteIsLoaded,btmAmountUnit:e.core.btmAmountUnit,balances:n,asset:Object.keys(e.asset.items).map(function(t){return e.asset.items[t]}),normalform:(0,N.getValues)(e.form.NormalTransactionForm),advform:(0,N.getValues)(e.form.AdvancedTransactionForm),voteform:(0,N.getValues)(e.form.Vote),crossChainform:(0,N.getValues)(e.form.CrossChainTransaction),tutorialVisible:!e.tutorial.location.isVisited,normalSelected:\"normal\"==t.location.query.type||void 0==t.location.query.type,advancedSelected:\"advanced\"==t.location.query.type,voteSelected:\"vote\"==t.location.query.type,crossChainSelected:\"crossChain\"==t.location.query.type}},z=function(e){return{didLoadBalanceAutocomplete:function(){return e(g.default.balance.didLoadAutocomplete)},fetchBalanceAll:function(t){return e(g.default.balance.fetchAll(t))},didLoadAssetAutocomplete:function(){return e(g.default.asset.didLoadAutocomplete)},fetchAssetAll:function(t){return e(g.default.asset.fetchAll(t))},createForm:function(t){return e((0,D.replace)(\"/transactions/create?type=\"+t))}}};t.default=(0,f.connect)(I,z)((0,k.withNamespaces)(\"translations\")((0,S.withRouter)(x)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(14),d=n(23),f=n(1),p=r(f),h=n(161),m=r(h),g=n(179),_=r(g),b=n(15),y=r(b),v=n(847),M=r(v),A=n(149),w=n(4),C=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.connection=(0,c.chainClient)().connection,n.state={estimateGas:null,counter:1,displayGas:!0},n.submitWithValidation=n.submitWithValidation.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n.addReceiverItem=n.addReceiverItem.bind(n),n}return a(t,e),u(t,[{key:\"disableSubmit\",value:function(){return this.state.displayGas&&!this.state.estimateGas}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"normalTx\"})).then(function(){t.props.closeModal(),t.props.destroyForm()}).catch(function(e){\"PasswordWrong\"!==e.message&&t.props.closeModal(),r({_error:e})})})}},{key:\"confirmedTransaction\",value:function(e,t){e.preventDefault(),this.props.showModal(p.default.createElement(M.default,{cancel:this.props.closeModal,onSubmit:this.submitWithValidation,gas:this.state.estimateGas,btmAmountUnit:this.props.btmAmountUnit,assetDecimal:t,asset:this.props.asset}))}},{key:\"addReceiverItem\",value:function(){var e=this.state.counter;this.props.fields.receivers.addField({id:e}),this.setState({counter:e+1,estimateGas:null})}},{key:\"removeReceiverItem\",value:function(e){var t=this,n=this.props.fields.receivers,r=new Promise(function(t,r){try{n.removeField(e)}catch(e){r(e)}t()});r.then(function(){return t.estimateNormalTransactionGas()})}},{key:\"estimateNormalTransactionGas\",value:function(){var e=this,t=this.props.fields,n=t.accountAlias.value,r=t.accountId.value,o=t.assetAlias.value,i=t.assetId.value,a=t.receivers,s=a.map(function(e){return e.address.value}),u=a.map(function(e){return Number(e.amount.value)}),l=this.props,c=l.t,d=l.i18n,f=!n&&!r,p=!o&&!i;if(s.includes(\"\")||u.includes(0)||f||p)return void this.setState({estimateGas:null});var h=(0,A.normalTxActionBuilder)(t,Math.pow(10,7),\"amount.value\"),m={actions:h,ttl:1};this.props.buildTransaction(m).then(function(t){return e.props.estimateGasFee(t.data).then(function(t){var n=t.data.totalNeu;0===n?e.setState({displayGas:!1}):e.setState({estimateGas:1e5*Math.ceil(n/1e5),displayGas:!0})})}).catch(function(t){e.setState({estimateGas:null,address:null});var n=t.code&&d.exists(\"btmError.\"+t.code)&&c(\"btmError.\"+t.code)||t.msg;e.props.showError(new Error(n))})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.accountId,o=n.accountAlias,i=n.assetId,a=n.assetAlias,u=n.receivers,d=n.gasLevel,f=t.error,h=t.submitting,g=this.props.t;[o,r,a,i].forEach(function(t){t.onBlur=e.estimateNormalTransactionGas.bind(e)}),u.map(function(e){return e.amount}).forEach(function(t){t.onBlur=e.estimateNormalTransactionGas.bind(e)});var b=g(\"transaction.new.submit\"),y=(0,A.getAssetDecimal)(this.props.fields,this.props.asset)||0,v=(o.value||r.value)&&(a.value||i.value),M=(0,A.balance)(this.props.fields,y,this.props.balances,this.props.btmAmountUnit),w=\"BTM\"===a.value||i.value===c.btmID;return p.default.createElement(_.default,{error:f,onSubmit:function(t){return e.confirmedTransaction(t,y)},submitting:h,submitLabel:b,disabled:this.disableSubmit(),className:m.default.container},p.default.createElement(\"div\",{className:m.default.borderBottom},p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.normal.from\")),p.default.createElement(\"div\",{className:m.default.mainBox+\" \"},p.default.createElement(l.ObjectSelectorField,{key:\"account-selector-field\",keyIndex:\"normaltx-account\",title:g(\"form.account\"),aliasField:l.Autocomplete.AccountAlias,fieldProps:{id:r,alias:o},disabled:!0}),p.default.createElement(\"div\",null,p.default.createElement(l.ObjectSelectorField,{key:\"asset-selector-field\",keyIndex:\"normaltx-asset\",title:g(\"form.asset\"),aliasField:l.Autocomplete.AssetAlias,fieldProps:{id:i,alias:a}}),v&&M&&p.default.createElement(\"small\",{className:m.default.balanceHint},g(\"transaction.normal.availableBalance\"),\" \",M))),p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.normal.to\")),p.default.createElement(\"div\",{className:m.default.mainBox},u.map(function(t,n){return p.default.createElement(\"div\",{className:e.props.tutorialVisible?m.default.tutorialItem:m.default.subjectField,key:t.id.value},p.default.createElement(l.TextField,{title:g(\"form.address\"),fieldProps:s({},t.address,{onBlur:function(n){t.address.onBlur(n),e.estimateNormalTransactionGas()}})}),p.default.createElement(l.AmountField,{isBTM:w,title:g(\"form.amount\"),fieldProps:t.amount,decimal:y}),p.default.createElement(\"button\",{className:\"btn btn-danger btn-xs \"+m.default.deleteButton,tabIndex:\"-1\",type:\"button\",onClick:function(){return e.removeReceiverItem(n)}},g(\"commonWords.remove\")))}),p.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:this.addReceiverItem},g(\"commonWords.addField\"))),this.state.displayGas&&[p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.normal.selectFee\")),p.default.createElement(\"div\",{className:m.default.txFeeBox},p.default.createElement(l.GasField,{gas:this.state.estimateGas,fieldProps:d,btmAmountUnit:this.props.btmAmountUnit}),p.default.createElement(\"span\",{className:m.default.feeDescription},\" \",g(\"transaction.normal.feeDescription\")))]))}}]),t}(p.default.Component),E=function(e,t){var n={gas:{}},r=t.t;return e.amount&&!/^\\d+(\\.\\d+)?$/i.test(e.amount)&&(n.amount=r(\"errorMessage.amountError\")),n},L=function(e,t,n){var r=[],o=[];return e.receivers.forEach(function(t,i){var a=e.receivers[i].address;a&&0!==a.length?o.push((0,c.chainClient)().accounts.validateAddresses(a).then(function(e){return e.data.valid||(r[i]={address:n.t(\"errorMessage.addressError\")}),{}})):o.push(Promise.resolve())}),Promise.all(o).then(function(){if(r.length>0)throw{receivers:r};return{}})},T=function(e){return s({showError:function(t){return e({type:\"ERROR\",payload:t})},closeModal:function(){return e(y.default.app.hideModal)},showModal:function(t){return e(y.default.app.showModal(t,y.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))},estimateGasFee:y.default.transaction.estimateGas,buildTransaction:y.default.transaction.buildTransaction},l.BaseNew.mapDispatchToProps(\"transaction\")(e))},O=function(e,t){var n=e.account.currentAccount;return n?{initialValues:{accountAlias:n,accountId:\"\",gasLevel:\"1\",receivers:[{id:0,amount:\"\",address:\"\"}]}}:{}};t.default=(0,w.withNamespaces)(\"translations\")(l.BaseNew.connect(l.BaseNew.mapStateToProps(\"transaction\"),T,(0,d.reduxForm)({form:\"NormalTransactionForm\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"receivers[].id\",\"receivers[].amount\",\"receivers[].address\",\"gasLevel\"],asyncValidate:L,asyncBlurFields:[\"receivers[].address\"],validate:E,touchOnChange:!0},O)(C)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(14),d=n(23),f=n(1),p=r(f),h=n(161),m=r(h),g=n(179),_=r(g),b=n(15),y=r(b),v=n(856),M=r(v),A=n(149),w=n(4),C=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.connection=(0,c.chainClient)().connection,n.state={estimateGas:null,address:null,displayGas:!0},n.submitWithValidation=n.submitWithValidation.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"disableSubmit\",value:function(){return this.state.displayGas&&!this.state.estimateGas}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"voteTx\"})).then(function(){t.props.closeModal(),t.props.destroyForm()}).catch(function(e){\"PasswordWrong\"!==e.message&&t.props.closeModal(),r({_error:e})})})}},{key:\"confirmedTransaction\",value:function(e){e.preventDefault(),this.props.showModal(p.default.createElement(M.default,{cancel:this.props.closeModal,onSubmit:this.submitWithValidation,gas:this.state.estimateGas,btmAmountUnit:this.props.btmAmountUnit}))}},{key:\"estimateNormalTransactionGas\",value:function(){var e=this,t=this.props.fields,n=t.accountAlias.value,r=t.accountId.value,o=t.nodePubkey.value,i=Number(t.amount.value),a=this.props,s=a.t,u=a.i18n,l=!n&&!r;return\"\"===o||0===i||l?void this.setState({estimateGas:null}):void this.props.getAddress({accountAlias:n,accountId:r}).then(function(n){e.setState({address:n});var r=(0,A.voteTxActionBuilder)(t,Math.pow(10,7),n);return e.props.buildTransaction({actions:r,ttl:1}).then(function(t){return e.props.estimateGasFee(t.data).then(function(t){var n=t.data.totalNeu;0===n?e.setState({displayGas:!1}):e.setState({estimateGas:1e5*Math.ceil(n/1e5),displayGas:!0})}).catch(function(e){throw e})}).catch(function(e){throw e})}).catch(function(t){e.setState({estimateGas:null,address:null});var n=t.code&&u.exists(\"btmError.\"+t.code)&&s(\"btmError.\"+t.code)||t.msg;e.props.showError(new Error(n))})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.action,o=n.accountId,i=n.accountAlias,a=n.nodePubkey,s=n.amount,u=n.gasLevel,c=t.error,d=t.submitting,f=this.props.t;[i,o,a,s].forEach(function(t){t.onBlur=e.estimateNormalTransactionGas.bind(e)});var h=f(\"transaction.vote.\"+r.value+\".submit\"),g=[{label:f(\"transaction.vote.vote.title\"),value:\"vote\"},{label:f(\"transaction.vote.veto.title\"),value:\"veto\"}];return p.default.createElement(_.default,{error:c,onSubmit:function(t){return e.confirmedTransaction(t)},submitting:d,submitLabel:h,disabled:this.disableSubmit(),className:m.default.container},p.default.createElement(\"div\",{className:m.default.borderBottom},p.default.createElement(\"label\",{className:m.default.title},f(\"transaction.vote.info\")),p.default.createElement(\"div\",{className:m.default.mainBox+\" \"},p.default.createElement(l.RadioField,{title:f(\"transaction.vote.action\"),options:g,fieldProps:r}),p.default.createElement(l.ObjectSelectorField,{key:\"account-selector-field\",keyIndex:\"votetx-account\",title:f(\"form.account\"),aliasField:l.Autocomplete.AccountAlias,fieldProps:{id:o,alias:i},disabled:!0}),p.default.createElement(\"div\",null,p.default.createElement(l.TextField,{key:\"asset-selector-field\",keyIndex:\"votetx-nodePubkey\",title:f(\"form.vote\"),fieldProps:a})),p.default.createElement(\"div\",null,p.default.createElement(l.AmountUnitField,{key:\"asset-selector-field\",keyIndex:\"votetx-amount\",title:f(\"transaction.vote.\"+r.value+\".voteAmount\"),fieldProps:s}))),this.state.displayGas&&[p.default.createElement(\"label\",{className:m.default.title},f(\"transaction.normal.selectFee\")),p.default.createElement(\"div\",{className:m.default.txFeeBox},p.default.createElement(l.GasField,{gas:this.state.estimateGas,fieldProps:u,btmAmountUnit:this.props.btmAmountUnit}),p.default.createElement(\"span\",{className:m.default.feeDescription},\" \",f(\"transaction.normal.feeDescription\")))]))}}]),t}(p.default.Component),E=function(e,t){var n={gas:{}},r=t.t;return e.amount&&!/^\\d+(\\.\\d+)?$/i.test(e.amount)&&(n.amount=r(\"errorMessage.amountError\")),n},L=function(e){return s({showError:function(t){return e({type:\"ERROR\",payload:t})},closeModal:function(){return e(y.default.app.hideModal)},showModal:function(t){return e(y.default.app.showModal(t,y.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))},getAddress:y.default.transaction.getAddresses,estimateGasFee:y.default.transaction.estimateGas,buildTransaction:y.default.transaction.buildTransaction},l.BaseNew.mapDispatchToProps(\"transaction\")(e))},T=function(e,t){var n=e.account.currentAccount;return n?{initialValues:{accountAlias:n,accountId:\"\",gasLevel:\"1\",action:\"vote\"}}:{}};t.default=(0,w.withNamespaces)(\"translations\")(l.BaseNew.connect(l.BaseNew.mapStateToProps(\"transaction\"),L,(0,d.reduxForm)({form:\"Vote\",fields:[\"action\",\"accountAlias\",\"accountId\",\"nodePubkey\",\"amount\",\"gasLevel\"],validate:E,touchOnChange:!0},T)(C)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(14),p=n(43),h=n(1246),m=r(h),g=n(4),_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.action,r=t.accountId,o=t.accountAlias,i=t.nodePubkey,a=t.amount,s=t.password,u=t.gasLevel,c=e.handleSubmit,h=e.submitting,g=e.cancel,_=e.error,b=e.gas,y=e.t,v=e.btmAmountUnit,M=Number(u.value*b),A=Number(a.value)+M,w=y(\"transaction.vote.\"+n.value+\".confirm\"),C=function(e){return(0,p.normalizeBTMAmountUnit)(f.btmID,e,v)};return l.default.createElement(\"div\",null,l.default.createElement(\"h3\",null,y(\"transaction.vote.\"+n.value+\".confirm\")),l.default.createElement(\"table\",{className:m.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"form.account\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,o.value||r.value))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"transaction.vote.\"+n.value+\".for\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,i.value),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"transaction.vote.\"+n.value+\".voteAmount\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,C(a.value)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"form.fee\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,C(M)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"transaction.normal.total\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,C(A)),\" \")))),l.default.createElement(\"hr\",{className:m.default.hr}),l.default.createElement(\"form\",{onSubmit:c},l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,y(\"key.password\")),l.default.createElement(d.PasswordField,{placeholder:y(\"key.passwordPlaceholder\"),fieldProps:s})),_&&\"PasswordWrong\"===_.message&&l.default.createElement(d.ErrorBanner,{title:y(\"form.errorTitle\"),error:y(\"errorMessage.password\")}),l.default.createElement(\"div\",{className:m.default.btnGroup},l.default.createElement(\"div\",null,l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:h},w),h&&l.default.createElement(d.SubmitIndicator,{className:m.default.submitIndicator})),l.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:g},l.default.createElement(\"i\",null),\" \",y(\"form.cancel\")))))}}]),t}(u.Component),b=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,g.withNamespaces)(\"translations\")((0,c.reduxForm)({form:\"Vote\",fields:[\"action\",\"accountAlias\",\"accountId\",\"nodePubkey\",\"amount\",\"gasLevel\",\"password\"],destroyOnUnmount:!1,validate:b})(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(43),f=n(236),p=n(14),h=n(3),m=r(h),g=n(898),_=r(g),b=n(180),y=n(16),v=n(4),M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t,n=this.props.btmAmountUnit,r=void 0;if(e){var o=this.props.highestBlock-e.blockHeight+1,i=e.inputs.reduce(function(e,t){return\"spend\"!==t.type&&\"cross_chain_in\"!==t.type&&\"veto\"!==t.type||t.assetId!==p.btmID||(e=(0,_.default)(t.amount).plus(e)),e},0);e.confirmations=o;var a=e.outputs.reduce(function(e,t){return\"control\"!==t.type&&\"retire\"!==t.type&&\"vote\"!==t.type&&\"cross_chain_out\"!==t.type||t.assetId!==p.btmID||(e=(0,_.default)(t.amount).plus(e)),e},0),s=i>0?i.minus(a):0,u=(0,d.normalizeGlobalBTMAmount)(p.btmID,s,n),h=0===e.blockHeight&&\"0000000000000000000000000000000000000000000000000000000000000000\"===e.blockId,g=t(e.statusFail?\"form.failed\":\"form.succeed\"),b=function(e){var t={};return t.id=e.id,e.address?t.address=e.address:e.controlProgram&&(t.controlProgram=e.controlProgram),t.amount=e.amount,(e.accountAlias||e.accountId)&&(t.account=e.accountAlias||e.accountId),\"vote\"===e.type&&(t.vote=e.vote),t.accountId=e.accountId,t.asset=e.assetAlias||e.assetId,t.assetId=e.assetId,t.assetDefinition=e.assetDefinition,t.type=e.type,t},y=[];e.outputs.forEach(function(e,t){var n=b(e);y[t]=n});var v=[];e.inputs.forEach(function(e,t){var n=b(e);v[t]=n});var M=l.default.createElement(\"span\",null,t(\"transaction.transaction\"),\"\u00a0\",l.default.createElement(\"code\",null,e.id));r=l.default.createElement(\"div\",null,l.default.createElement(c.PageTitle,{title:M}),l.default.createElement(c.PageContent,null,l.default.createElement(c.Section,{title:t(\"form.summary\"),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:e})]},l.default.createElement(f.Summary,{transaction:e,btmAmountUnit:n})),l.default.createElement(c.KeyValueTable,{title:t(\"form.detail\"),items:[{label:\"ID\",value:e.id},{label:t(\"form.timestamp\"),value:h?\"-\":(0,m.default)(e.timestamp).format()},{label:t(\"form.blockId\"),value:h?\"-\":e.blockId},{label:t(\"form.blockHeight\"),value:h?t(\"transaction.unconfirmedItem\"):e.blockHeight},{label:t(\"form.position\"),value:h?\"-\":e.position},{label:\"Gas\",value:u},{label:t(\"form.txStatus\"),value:g}]}),v.map(function(e,r){return l.default.createElement(c.KeyValueTable,{key:r,title:0==r?t(\"form.input\"):\"\",items:(0,d.buildTxInputDisplay)(e,n,t)})}),y.map(function(e,r){return l.default.createElement(c.KeyValueTable,{key:r,title:0==r?t(\"form.output\"):\"\",items:(0,d.buildTxOutputDisplay)(e,n,t)})})))}return this.renderIfFound(r)}}]),t}(c.BaseShow),A=function(e,t){return{item:e.transaction.items[t.params.id],btmAmountUnit:e.core.btmAmountUnit,highestBlock:e.core.coreData&&e.core.coreData.highestBlock}},w=function(e){return{fetchItem:function(t){return e(b.actions.getTransaction({tx_id:\"\"+t}))}}};t.default=(0,y.connect)(A,w)((0,v.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(43),f=n(14),p=n(1247),h=r(p),m=n(4),g={issue:\"Issue\",spend:\"Spend\",control:\"Control\",retire:\"Retire\",vote:\"Vote\",veto:\"Veto\",crossOut:\"Cross Out\",crossIn:\"Cross In\"},b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"normalizeInouts\",value:function(e){var t={};return e.forEach(function(e){var n=t[e.assetId];if(n||(n=t[e.assetId]={alias:e.assetAlias,decimals:e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==f.btmID?e.assetDefinition.decimals:null,issue:0,retire:0,crossOut:0,crossIn:0}),[\"issue\",\"retire\",\"cross_chain_out\",\"cross_chain_in\"].includes(e.type))switch(e.type){case\"cross_chain_out\":n.crossOut+=e.amount;break;case\"cross_chain_in\":n.crossIn+=e.amount;break;default:n[e.type]+=e.amount}else{var r=e.accountId||\"external\",o=n[r];if(o||(o=n[r]={alias:e.accountAlias,spend:0,control:0,vote:{},veto:0}),\"spend\"==e.type)o.spend+=e.amount;else if(\"veto\"==e.type)o.veto+=e.amount;else if(\"control\"==e.type&&\"change\"==e.purpose)o.spend-=e.amount;else if(\"control\"==e.type)o.control+=e.amount;else if(\"vote\"==e.type){var i=e.vote,a=o.vote,s=a[i];void 0===s&&(a[i]=0),a[i]+=e.amount}}}),t}},{key:\"render\",value:function(){var e=this,t=this.props.transaction,n=t.confirmations,r=t.inputs.length>0&&\"coinbase\"===t.inputs[0].type,o=r&&n>=100,i=this.props.transaction.inputs.concat(this.props.transaction.outputs),a=this.normalizeInouts(i),s=[],u=this.props.t,p=function(e,t,n){if(e===f.btmID)switch(n){case\"BTM\":return(0,d.converIntToDec)(t,8);case\"mBTM\":return(0,d.converIntToDec)(t,5)}return t};Object.keys(a).forEach(function(t){var n=a[t],r=[\"issue\",\"retire\",\"crossOut\",\"crossIn\"];r.forEach(function(r){n[r]>0&&s.push({type:g[r],rawAction:r,amount:n.decimals?(0,d.converIntToDec)(n[r],n.decimals):p(t,n[r],e.props.btmAmountUnit),asset:n.alias?n.alias:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t})}),Object.keys(n).forEach(function(o){if(!r.includes(o)){var i=n[o];if(i){\"external\"==o&&(i.alias=\"external\",o=null);var a=[\"spend\",\"control\",\"veto\"];if(a.forEach(function(r){i[r]>0&&s.push({type:g[r],rawAction:r,amount:n.decimals?(0,d.converIntToDec)(i[r],n.decimals):p(t,i[r],e.props.btmAmountUnit),asset:n.alias?n.alias:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}),!_.isEmpty(i.vote)){var u=i.vote,c=!0,f=!1,m=void 0;try{for(var b,y=Object.keys(u)[Symbol.iterator]();!(c=(b=y.next()).done);c=!0){var v=b.value,M=u[v],A=\"vote\";s.push({type:g[A],rawAction:A,amount:n.decimals?(0,d.converIntToDec)(M,n.decimals):p(t,M,e.props.btmAmountUnit),asset:n.alias?n.alias:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{\nclassName:h.default.rawId},o),accountId:o,nodePubkey:l.default.createElement(\"code\",{className:h.default.rawId},v)})}}catch(e){f=!0,m=e}finally{try{!c&&y.return&&y.return()}finally{if(f)throw m}}}}}})});var m=[\"issue\",\"spend\",\"crossIn\",\"veto\",\"control\",\"retire\",\"vote\",\"crossOut\"];return s.sort(function(e,t){return m.indexOf(e.rawAction)-m.indexOf(t.rawAction)}),l.default.createElement(\"table\",{className:h.default.main},l.default.createElement(\"tbody\",null,s.map(function(e,t){return l.default.createElement(\"tr\",{key:t},!r&&l.default.createElement(\"td\",{className:h.default.colAction},e.type),r&&l.default.createElement(\"td\",{className:h.default.colAction},\"Coinbase\",!o&&l.default.createElement(\"small\",{className:h.default.immature},u(\"transaction.type.immature\"))),l.default.createElement(\"td\",{className:h.default.colLabel},u(\"form.amount\")),l.default.createElement(\"td\",{className:\"vote\"===e.rawAction?h.default.colVote:h.default.colAmount},l.default.createElement(\"code\",{className:h.default.amount},e.amount)),l.default.createElement(\"td\",{className:h.default.colLabel},u(\"form.asset\")),l.default.createElement(\"td\",{className:\"vote\"===e.rawAction?h.default.colVote:h.default.colAccount},l.default.createElement(c.Link,{to:\"/assets/\"+e.assetId},e.asset)),l.default.createElement(\"td\",{className:h.default.colLabel},e.account&&u(\"form.account\")),l.default.createElement(\"td\",{className:\"vote\"===e.rawAction?h.default.colVote:h.default.colAccount},e.accountId&&l.default.createElement(c.Link,{to:\"/accounts/\"+e.accountId},e.account),!e.accountId&&e.account),\"vote\"===e.rawAction?[l.default.createElement(\"td\",{className:h.default.colLabel+\" \"+h.default.nodePubkey},\" \",u(\"form.vote\")),l.default.createElement(\"td\",{className:h.default.colVote},e.nodePubkey)]:[l.default.createElement(\"td\",null),l.default.createElement(\"td\",null)])})))}}]),t}(l.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(37),i=n(36),a=\"transaction\",s=50,u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"DECODE_TRANSACTION\"==t.type?t.data:e},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"UPDATE_TRANSACTION_ID_ARRAY\"==t.type?t.data:e},c=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments[1];return\"UPDATE_CONFIRM_PARAMS\"!=t.type&&e},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];return\"UPDATE_MIXED_PAGES_NUMBER_PARAMS\"==t.type?t.data:e};t.default=(0,i.combineReducers)({items:o.reducers.itemsReducer(a),queries:o.reducers.queriesReducer(a),generated:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"GENERATED_TX_HEX\"==t.type?[t.generated].concat(r(e)).slice(0,s):e},decodedTx:u,pageIds:l,unconfirm:c,mixPageNo:d})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(236),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"transaction\",r.List,r.New,r.Show,{childRoutes:[{path:\"generated/:id\",component:r.GeneratedTxHex}]})}},function(e,t){\"use strict\";function n(e){return{type:\"TUTORIAL_NEXT_STEP\",route:e}}function r(e,t){return{type:\"UPDATE_TUTORIAL\",object:t,data:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o={tutorialNextStep:n,submitTutorialForm:r};t.default=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1248),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t,t=e(\"tutorial.content.\"+this.props.title,{returnObjects:!0}),n=e(\"tutorial.content.\"+this.props.title+\"_ad\",{returnObjects:!0}),r=this.props.advTx?n:t;return l.default.createElement(\"div\",{className:d.default.container},l.default.createElement(\"div\",{className:d.default.tutorialContainer+\" \"+d.default.fixedTutorial},l.default.createElement(\"div\",{className:d.default.header},r.header),l.default.createElement(\"div\",{className:d.default.list},l.default.createElement(\"table\",{className:d.default.listItemContainer},r.steps.map(function(e,t){var n=e.title,r=[l.default.createElement(\"tr\",{key:\"item-title-\"+t},l.default.createElement(\"td\",{className:d.default.listBullet},t+1),l.default.createElement(\"td\",null,n))];if(e.description){var o=[];e.description.forEach(function(e,t){var n=e;n.line&&(n=n.line),o.push(n)}),r.push(l.default.createElement(\"tr\",{key:\"item-description-\"+t,className:d.default.listItemDescription},l.default.createElement(\"td\",null),l.default.createElement(\"td\",null,o)))}return l.default.createElement(\"tbody\",{key:\"item-\"+t,className:d.default.listItemGroup},r)})))))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1249),d=r(c),f=n(83),p=n(16),h=n(4),m=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"componentDidUpdate\",value:function(e){this.tutorialContainer&&this.props.tutorial!=e.tutorial?this.props.handleTutorialHeight(this.tutorialContainer.clientHeight):this.tutorialContainer||this.props.tutorial==e.tutorial||this.props.handleTutorialHeight(0)}},{key:\"render\",value:function(){var e=this,t=this.props.t;return this.props.isVisited?l.default.createElement(\"div\",null,this.props.children):l.default.createElement(\"div\",{className:d.default.main+\" \"+(!this.props.isVisited&&d.default.collapsed),ref:function(t){return e.tutorialContainer=t}},l.default.createElement(\"div\",{className:d.default.header},this.props.content&&(0,f.capitalize)(t(\"crumbName.\"+this.props.content.title)),l.default.createElement(\"div\",{className:d.default.skip},!this.props.isVisited&&l.default.createElement(\"a\",{onClick:this.props.dismissTutorial},t(\"commonWords.close\")))),!this.props.isVisited&&this.props.children)}}]),t}(l.default.Component),g=function(e){return{visitedLocation:e.tutorial.location.visited,isVisited:e.tutorial.location.isVisited,content:e.tutorial.content,tutorial:e.tutorial}},_=function(e){return{dismissTutorial:function(){return e({type:\"DISMISS_TUTORIAL\"})}}};t.default=(0,p.connect)(g,_)((0,h.withNamespaces)(\"translations\")(m))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1250),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t(\"tutorial.content.\"+this.props.title,{returnObjects:!0}),t=void 0;try{t=n(667)(\"./\"+this.props.image+\".svg\")}catch(e){}return l.default.createElement(\"div\",null,l.default.createElement(\"div\",{className:d.default.container},this.props.image&&l.default.createElement(\"img\",{className:d.default.image,src:t}),l.default.createElement(\"div\",{className:d.default.text},e.map(function(e,t){var n=e;if(e.line&&(n=e.line),e.list){var r=[];return e.list.forEach(function(e,t){r.push(l.default.createElement(\"tr\",{key:t,className:d.default.listItemGroup},l.default.createElement(\"td\",{className:d.default.listBullet},t+1),l.default.createElement(\"td\",null,e)))}),l.default.createElement(\"table\",{key:t,className:d.default.listItemContainer},l.default.createElement(\"tbody\",null,r))}return l.default.createElement(\"p\",{key:t},n)}))))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.location=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(1300),s=r(a),u=[\"/backup\",\"/access-control\",\"/core\",\"/keys/create\",\"/keys\",\"/balances\",\"/accounts/create\",\"/assets/create\",\"/assets\",\"/accounts\",\"/transactions/create\",\"/transactions\",\"/access-control/create-token\"],l=t.location=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{visited:[],isVisited:!1},t=arguments[1];if(\"@@router/LOCATION_CHANGE\"==t.type){if(e.visited.includes(t.payload.pathname)||!u.includes(t.payload.pathname))return t.payload.pathname.match(/^\\/keys.*reset-password$/g)&&!e.visited.includes(\"/keys/:id/reset-password\")?i({},e,{visited:[\"/keys/:id/reset-password\"].concat(o(e.visited)),isVisited:!1}):i({},e,{isVisited:!0});if(\"/access-control\"!==t.payload.pathname||t.payload.search.includes(\"?type=token\")&&\"/access-control\"===t.payload.pathname)return i({},e,{visited:[t.payload.pathname].concat(o(e.visited)),isVisited:!1})}return\"DISMISS_TUTORIAL\"==t.type?i({},e,{isVisited:!0}):e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],n={location:l(e.location,t)};return n.content=s.default[n.location.visited[0]],n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(66),o=n(14);t.default=(0,r.baseListActions)(\"unspent\",{clientApi:function(){return(0,o.chainClient)().unspentOutputs}})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=(r(i),n(10)),s=n(868),u=r(s),l=\"unspent\",c=function(e,t){return o({},a.BaseList.mapStateToProps(l,u.default)(e,t),{skipCreate:!0,label:\"unspent outputs\"})};t.default=a.BaseList.connect(c,a.BaseList.mapDispatchToProps(l))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(43),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(c.KeyValueTable,{title:l.default.createElement(\"span\",null,\"ID \",l.default.createElement(\"code\",null,this.props.item.id)),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:this.props.item})],items:(0,d.buildUnspentDisplay)(this.props.item,this.props.btmAmountUnit,this.props.t)})}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},[1710,867],function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"unspent\",a=function(e){return\"\"+e.id};t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i,a),queries:r.reducers.queriesReducer(i,a)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(869),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"unspent\",r.List)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1293),i=r(o),a=n(1283),s=r(a),u=n(1302),l=r(u),c=n(1301),d=r(c);i.default.use(s.default).init({resources:{en:{translations:d.default},zh:{translations:l.default}},fallbackLng:\"en\",debug:!1,ns:[\"translations\"],defaultNS:\"translations\",interpolation:{escapeValue:!1,prefix:\"__\",suffix:\"__\"},react:{wait:!0,bindStore:!1}}),t.default=i.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(36),i=n(41),a=n(748),s=r(a),u=n(684),l=r(u),c=n(175),d=n(343),f=n(231),p=n(232),h=n(176),m=n(233),g=n(234),_=n(235),b=n(353),y=n(180),v=n(178),M=n(354),A=n(238),w=n(177),C=n(357),E=function(){return function(e,t){return(\"UPDATE_CORE_INFO\"!=t.type||t.param.isConfigured)&&\"USER_LOG_OUT\"==t.type&&(e=void 0,(0,C.clear)(),window.location.href=\"/\"),(0,o.combineReducers)({accessControl:l.default,account:c.reducers,app:d.reducers,asset:f.reducers,balance:p.reducers,core:h.reducers,form:s.default,federation:m.reducers,initialization:g.reducers,key:_.reducers,routing:i.routerReducer,peer:w.reducers,testnet:b.reducers,transaction:y.reducers,transactionFeed:v.reducers,tutorial:M.reducers,unspent:A.reducers})(e,t)}};t.default=E},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){return r.create(e,\"/create-access-token\",t,{skipArray:!0,cb:n})},query:function(t,n){return r.query(e,\"accessTokens\",\"/list-access-tokens\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"/list-access-tokens\",t,n,o)},delete:function(t,n){return r.tryCallback(e.request(\"/delete-access-token\",{id:t}),n)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){return r.create(e,\"/create-account\",t,{cb:n,skipArray:!0})},createBatch:function(t,n){return r.createBatch(e,\"/create-account\",t,{cb:n})},updateTags:function(t,n){return r.singletonBatchRequest(e,\"/update-account-tags\",{account_info:t.id,tags:t.tags},n)},updateTagsBatch:function(t,n){return r.batchRequest(e,\"/update-account-tags\",t,n)},updateAlias:function(t,n){var o={account_id:t.id,new_alias:t.alias};return r.singletonBatchRequest(e,\"/update-account-alias\",o,n)},query:function(t,n){return r.query(e,\"accounts\",\"/list-accounts\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"accounts\",t,n,o)},createReceiver:function(t,n){return r.create(e,\"/create-account-receiver\",t,{cb:n,skipArray:!0})},createAddress:function(t,n){return r.create(e,\"/create-account-receiver\",t,{cb:n,skipArray:!0})},createReceiverBatch:function(t,n){return r.createBatch(e,\"/create-account-receiver\",t,{cb:n})},listAddresses:function(t){return r.query(e,\"accounts\",\"/list-addresses\",t)},validateAddresses:function(t,n){return r.query(e,\"accounts\",\"/validate-address\",{address:t},{cb:n})},listAccountVotes:function(t,n){return r.query(e,\"accounts\",\"/list-account-votes\",t,{cb:n})}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){return r.create(e,\"/create-asset\",t,{cb:n,skipArray:!0})},createBatch:function(t,n){return r.createBatch(e,\"/create-asset\",t,{cb:n})},updateTags:function(t,n){var o={asset_info:t.id,tags:t.tags};return r.singletonBatchRequest(e,\"/update-asset-tags\",o,n)},updateAlias:function(t,n){var o={id:t.id,alias:t.alias};return r.singletonBatchRequest(e,\"/update-asset-alias\",o,n)},updateTagsBatch:function(t,n){return r.batchRequest(e,\"/update-asset-tags\",t,n)},query:function(t,n){return r.query(e,\"assets\",\"/list-assets\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"assets\",t,n,o)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=n(890),i=function(e){return{create:function(t,n){return t=Object.assign({},t),\"x509\"==t.guardType&&(t.guardData=o.sanitizeX509GuardData(t.guardData)),r.create(e,\"/create-authorization-grant\",t,{skipArray:!0,cb:n})},delete:function(t,n){return r.tryCallback(e.request(\"/delete-authorization-grant\",t),n)},list:function(t){return r.query(e,\"accessTokens\",\"/list-access-tokens\",{},{cb:t})}}};e.exports=i},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{backup:function(t){return r.tryCallback(e.request(\"/backup-wallet\",{},!0),t)},restore:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return r.tryCallback(e.request(\"/restore-wallet\",t),n)},recovery:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return r.tryCallback(e.request(\"/recovery-wallet\",t),n)},rescan:function(t){return r.tryCallback(e.request(\"/rescan-wallet\"),t)},info:function(t){return r.tryCallback(e.request(\"/wallet-info\"),t)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{query:function(t,n){return r.query(e,\"balances\",\"/list-balances\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"balances\",t,n,o)}}};e.exports=o},function(e,t){\"use strict\";var n=function(e){return{request:function(t){var n=t.split(\" \"),r={},o=[\"get-block\",\"get-block-header\",\"get-difficulty\",\"get-hash-rate\"];return\"validate-address\"===n[0]?r={address:n[1]}:\"sign-message\"===n[0]?r={address:n[1],message:n[2],password:n[3]}:\"get-transaction\"===n[0]?r={tx_id:n[1]}:\"sign-transaction\"===n[0]?r={password:n[1],transaction:JSON.parse(n[2])}:\"build-transaction\"===n[0]?r={base_transaction:JSON.parse(n[1]),actions:JSON.parse(n[2]),ttl:Number(n[3]),time_range:Number(n[4])}:\"submit-transaction\"===n[0]?r={raw_transaction:JSON.parse(n[1])}:\"estimate-transaction-gas\"===n[0]?r={transaction_template:JSON.parse(n[1])}:\"get-unconfirmed-transaction\"===n[0]?r={tx_id:n[1]}:\"decode-raw-transaction\"===n[0]?r={raw_transaction:n[1]}:o.includes(n[0])?n[1]&&(r=isNaN(n[1])?{block_hash:n[1]}:{block_height:Number(n[1])}):\"set-mining\"===n[0]?r={is_mining:\"true\"===n[1]||\"false\"!==n[1]&&n[1]}:\"verify-message\"===n[0]?r={address:n[1],derived_xpub:n[2],message:n[3],signature:n[4]}:\"decode-program\"===n[0]&&(r={program:n[1]}),e.request(\"/\"+n[0],r)}}};e.exports=n},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{reset:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments[1];return r.tryCallback(e.request(\"/reset\",{everything:t}),n)},configure:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return r.tryCallback(e.request(\"/configure\",t),n)},mining:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments[1];return r.tryCallback(e.request(\"/set-mining\",{is_mining:t}),n)},info:function(t){return r.tryCallback(e.request(\"/net-info\"),t)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(14),o=n(45),i=n(239),a=\"/api/v1/federation/\",s=function(e){return{query:function(e,t){return o.query(new i(r.federationApiHost,\"\",\"\"),\"federation\",a+\"list-crosschain-txs\",e,{cb:t})},queryAll:function(t,n,r){return o.queryAll(e,\"federation\",t,n,r)}}};e.exports=s},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){var o=Object.assign({},t),i=o.xprv?\"/import-private-key\":\"/create-key\";return r.tryCallback(e.request(i,o).then(function(e){return e}),n)},query:function(t,n){return Array.isArray(t.aliases)&&t.aliases.length>0&&(t.pageSize=t.aliases.length),r.query(e,\"mockHsm.keys\",\"/list-keys\",t,{cb:n})},resetPassword:function(t){return e.request(\"/reset-key-password\",t)},updateAlias:function(t,n){var o={xpub:t.id,new_alias:t.alias};return r.singletonBatchRequest(e,\"/update-key-alias\",o,n)},checkPassword:function(t){return e.request(\"/check-key-password\",t)},queryAll:function(t,n,o){return r.queryAll(e,\"mockHsm.keys\",t,n,o)},export:function(t){return e.request(\"/export-private-key\",t)},progress:function(){return e.request(\"/import-key-progress\")}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{query:function(t,n){return r.query(e,\"peers\",\"/list-peers\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"peers\",t,n,o)},connect:function(t,n){return r.query(e,\"peers\",\"/connect-peer\",t,{cb:n})},disconnect:function(t,n){return r.query(e,\"peers\",\"/disconnect-peer\",t,{cb:n})}}};e.exports=o},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=n(45),i=n(115),a=\"9223372036854775807\",s=function e(t,n){var i=this;r(this,e),this.id=t.id,this.alias=t.alias,this.after=t.after,this.filter=t.filter;var s=void 0,u=function(){return n.request(\"/update-transaction-feed\",{id:i.id,after:s,previousAfter:i.after}).then(function(){i.after=s})},l=function(e){return n.transactions.query(e)};this.consume=function(e){var t=86400,n=void 0;switch(arguments.length<=1?0:arguments.length-1){case 0:break;case 1:(arguments.length<=1?void 0:arguments[1])instanceof Function?n=arguments.length<=1?void 0:arguments[1]:t=arguments.length<=1?void 0:arguments[1];break;case 2:t=arguments.length<=1?void 0:arguments[1],n=arguments.length<=2?void 0:arguments[2];break;default:throw new Error(\"Invalid arguments\")}var r=new Promise(function(n,r){var o={filter:i.filter,after:i.after,timeout:1e3*t,ascendingWithLongPoll:!0},c=function t(){l(o).then(function(i){var l=0,c=void 0,d=function(e){var t=void 0;t=e?u(c):Promise.resolve(),t.then(n).catch(r)},f=function n(f){var p=void 0;p=f&&c?u(c):Promise.resolve(),p.then(function(){if(l>=i.items.length)return o=i.next,void t();c=i.items[l],s=c.blockHeight+\":\"+c.position+\"-\"+a,l++;var u=e(c,n,d,r);u&&\"function\"==typeof u.catch&&u.catch(r)}).catch(r)};f()}).catch(r)};c()});return o.tryCallback(r,n)}},u=function(e){return{create:function(t,n){var r=Object.assign({clientToken:i.v4()},t);return o.tryCallback(e.request(\"/create-transaction-feed\",r).then(function(t){return new s(t,e)}),n)},get:function(t,n){return o.tryCallback(e.request(\"/get-transaction-feed\",t).then(function(t){return new s(t,e)}),n)},delete:function(t,n){return o.tryCallback(e.request(\"/delete-transaction-feed\",t).then(function(e){return e}),n)},query:function(t,n){return o.query(e,\"transactionFeeds\",\"/list-transaction-feeds\",t,{cb:n})},queryAll:function(t,n,r){return o.queryAll(e,\"transactionFeeds\",t,n,r)}}};e.exports=u},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e){if(\"code\"in e)throw s.create(s.types.BAD_REQUEST,s.formatErrMsg(e,\"\"),{body:e});if(\"fail\"===e.status)throw new Error(e.msg);return e}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(45),s=n(240),u=function(){function e(){r(this,e),this.actions=[],this.allowAdditionalActions=!1,this.baseTransaction=null}return i(e,[{key:\"issue\",value:function(e){this.actions.push(Object.assign({},e,{type:\"issue\"}))}},{key:\"controlWithReceiver\",value:function(e){this.actions.push(Object.assign({},e,{type:\"control_receiver\"}))}},{key:\"spendFromAccount\",value:function(e){this.actions.push(Object.assign({},e,{type:\"spend_account\"}))}},{key:\"spendUnspentOutput\",value:function(e){this.actions.push(Object.assign({},e,{type:\"spend_account_unspent_output\"}))}},{key:\"retire\",value:function(e){this.actions.push(Object.assign({},e,{type:\"retire\"}))}},{key:\"transactionReferenceData\",value:function(e){this.actions.push({type:\"set_transaction_reference_data\",referenceData:e})}}]),e}(),l=function(e){var t=function(e,t){return a.tryCallback(Promise.resolve(e),t)},n=function(e,t){return a.tryCallback(Promise.resolve(new a.BatchResponse(e)),t)};return{query:function(t,n){return a.query(e,\"transactions\",\"/list-transactions\",Object.assign({},t,{detail:!0}),{cb:n})},getTransaction:function(t,n){return a.query(e,\"transactions\",\"/get-transaction\",t,{cb:n})},queryAll:function(t,n,r){return a.queryAll(e,\"transactions\",t,n,r)},build:function(t,n){var r=new u;try{t(r)}catch(e){return Promise.reject(e)}return a.tryCallback(e.request(\"/build-transaction\",r),n).then(function(e){return o(e)}).catch(function(e){throw o(e)})},buildBatch:function(t,n){var r=[];for(var o in t){var i=new u;try{t[o](i)}catch(e){return Promise.reject(e)}r.push(i)}return a.createBatch(e,\"/build-transaction\",r,{cb:n})},decodeTransaction:function(t,n){return a.tryCallback(e.request(\"/decode-raw-transaction\",{raw_transaction:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)},sign:function(n,r){return t(n).then(function(t){return e.request(\"/sign-transaction\",t).then(function(e){return o(e)}).catch(function(e){throw o(e)})},r)},signBatch:function(t,r){return n(t).then(function(t){return e.signer.signBatch(t.successes,r)})},submit:function(t,n){return a.tryCallback(e.request(\"/submit-transaction\",{raw_transaction:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)},submitBatch:function(t,n){return a.tryCallback(e.request(\"/submit-transaction\",{transactions:t}).then(function(e){return new a.BatchResponse(e)}),n)},estimateGas:function(t,n){return a.tryCallback(e.request(\"/estimate-transaction-gas\",{transactionTemplate:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)}}};e.exports=l},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{query:function(t,n){return r.query(e,\"unspentOutputs\",\"/list-unspent-outputs\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"unspentOutputs\",t,n,o)}}};e.exports=o},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(239),a=n(877),s=n(874),u=n(875),l=n(876),c=n(878),d=n(879),f=n(880),p=n(881),h=n(882),m=n(356),g=n(883),_=n(886),b=n(885),y=n(887),v=n(884),M=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r(this,e),\"string\"==typeof t&&(t={url:arguments[0],accessToken:arguments[1]||\"\"}),t.url=t.url||\"http://localhost:9889\",this.connection=new i(t.url,t.accessToken,t.agent),this.signer=new m,this.accessTokens=s(this),this.authorizationGrants=a(this),this.accounts=u(this),this.assets=l(this),this.backUp=c(this),this.balances=d(this),this.bytomCli=f(this),this.config=p(this),this.federations=h(this),this.mockHsm={keys:g(this),signerConnection:new i(t.url+\"/mockhsm\",t.accessToken,t.agent)},this.peers=v(this),this.transactions=_(this),this.transactionFeeds=b(this),this.unspentOutputs=y(this)}return o(e,[{key:\"request\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.connection.request(e,t,n)}}]),e}();e.exports=M},function(e,t){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(t,r,o){n(this,e),this.items=[],this.next={},this.lastPage=!1,Object.assign(this,t),this.client=r,this.memberPath=o}return r(e,[{key:\"nextPage\",value:function(e){var t=this.client;return this.memberPath.split(\".\").forEach(function(e){t=t[e]}),t.query(this.next,e)}}]),e}();e.exports=o},function(e,t){\"use strict\";var n={C:{array:!0},O:{array:!0},OU:{array:!0},L:{array:!0},ST:{array:!0},STREET:{array:!0},POSTALCODE:{array:!0},SERIALNUMBER:{array:!1},CN:{array:!1}},r=function(e){var t=Object.keys(e);if(1!==t.length||\"subject\"!==t[0].toLowerCase())throw new Error('X509 guard data must contain exactly one key, \"subject\"');var r={},o=e[t[0]];for(var i in o){var a=n[i.toUpperCase()];if(!a)throw new Error(\"X509 guard data contains invalid subject attribute: \"+i);var s=o[i];if(!a.array&&Array.isArray(s))throw new Error(\"X509 guard data contains invalid array for attribute \"+i+\": \"+s.toString());a.array&&!Array.isArray(s)?r[i]=[s]:r[i]=s}return{subject:r}};e.exports={sanitizeX509GuardData:r}},function(e,t,n){(function(e){\"use strict\";function t(e,t,n){e[t]||Object[r](e,t,{writable:!0,configurable:!0,value:n})}if(n(1155),n(1639),n(914),e._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");e._babelPolyfill=!0;var r=\"defineProperty\";t(String.prototype,\"padLeft\",\"\".padStart),t(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(e){[][e]&&t(Array,e,Function.call.bind([][e]))})}).call(t,function(){return this}())},function(e,t,n){e.exports={default:n(915),__esModule:!0}},function(e,t,n){e.exports={default:n(917),__esModule:!0}},function(e,t,n){e.exports={default:n(919),__esModule:!0}},function(e,t,n){e.exports={default:n(921),__esModule:!0}},function(e,t,n){e.exports={default:n(922),__esModule:!0}},function(e,t){\"use strict\";function n(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=e.indexOf(\"=\");\nn===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function r(e){var t=n(e),r=t[0],o=t[1];return 3*(r+o)/4-o}function o(e,t,n){return 3*(t+n)/4-n}function i(e){for(var t,r=n(e),i=r[0],a=r[1],s=new d(o(e,i,a)),u=0,l=a>0?i-4:i,f=0;f<l;f+=4)t=c[e.charCodeAt(f)]<<18|c[e.charCodeAt(f+1)]<<12|c[e.charCodeAt(f+2)]<<6|c[e.charCodeAt(f+3)],s[u++]=t>>16&255,s[u++]=t>>8&255,s[u++]=255&t;return 2===a&&(t=c[e.charCodeAt(f)]<<2|c[e.charCodeAt(f+1)]>>4,s[u++]=255&t),1===a&&(t=c[e.charCodeAt(f)]<<10|c[e.charCodeAt(f+1)]<<4|c[e.charCodeAt(f+2)]>>2,s[u++]=t>>8&255,s[u++]=255&t),s}function a(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function s(e,t,n){for(var r,o=[],i=t;i<n;i+=3)r=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),o.push(a(r));return o.join(\"\")}function u(e){for(var t,n=e.length,r=n%3,o=[],i=16383,a=0,u=n-r;a<u;a+=i)o.push(s(e,a,a+i>u?u:a+i));return 1===r?(t=e[n-1],o.push(l[t>>2]+l[t<<4&63]+\"==\")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(l[t>>10]+l[t>>4&63]+l[t<<2&63]+\"=\")),o.join(\"\")}t.byteLength=r,t.toByteArray=i,t.fromByteArray=u;for(var l=[],c=[],d=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",p=0,h=f.length;p<h;++p)l[p]=f[p],c[f.charCodeAt(p)]=p;c[\"-\".charCodeAt(0)]=62,c[\"_\".charCodeAt(0)]=63},function(e,t,n){var r;!function(o){\"use strict\";function i(e){function t(e,n){var r,o,i,a,s,u,c,d,f=this;if(!(f instanceof t))return new t(e,n);if(null==n){if(e instanceof t)return f.s=e.s,f.e=e.e,void(f.c=(e=e.c)?e.slice():e);if(u=\"number\"==typeof e,u&&0*e==0){if(f.s=1/e<0?(e=-e,-1):1,e===~~e){for(a=0,s=e;s>=10;s/=10,a++);return f.e=a,void(f.c=[e])}d=e+\"\"}else{if(!m.test(d=e+\"\"))return O(f,d,u);f.s=45==d.charCodeAt(0)?(d=d.slice(1),-1):1}(a=d.indexOf(\".\"))>-1&&(d=d.replace(\".\",\"\")),(s=d.search(/e/i))>0?(a<0&&(a=s),a+=+d.slice(s+1),d=d.substring(0,s)):a<0&&(a=d.length)}else{if(l(n,2,W.length,\"Base\"),d=e+\"\",10==n)return f=new t(e instanceof t?e:d),h(f,k+f.e+1,D);if(u=\"number\"==typeof e){if(0*e!=0)return O(f,d,u,n);if(f.s=1/e<0?(d=d.slice(1),-1):1,t.DEBUG&&d.replace(/^0\\.0*|\\./,\"\").length>15)throw Error(y+e);u=!1}else f.s=45===d.charCodeAt(0)?(d=d.slice(1),-1):1;for(r=W.slice(0,n),a=s=0,c=d.length;s<c;s++)if(r.indexOf(o=d.charAt(s))<0){if(\".\"==o){if(s>a){a=c;continue}}else if(!i&&(d==d.toUpperCase()&&(d=d.toLowerCase())||d==d.toLowerCase()&&(d=d.toUpperCase()))){i=!0,s=-1,a=0;continue}return O(f,e+\"\",u,n)}d=T(d,n,10,f.s),(a=d.indexOf(\".\"))>-1?d=d.replace(\".\",\"\"):a=d.length}for(s=0;48===d.charCodeAt(s);s++);for(c=d.length;48===d.charCodeAt(--c););if(d=d.slice(s,++c)){if(c-=s,u&&t.DEBUG&&c>15&&(e>A||e!==_(e)))throw Error(y+f.s*e);if(a=a-s-1,a>P)f.c=f.e=null;else if(a<z)f.c=[f.e=0];else{if(f.e=a,f.c=[],s=(a+1)%M,a<0&&(s+=M),s<c){for(s&&f.c.push(+d.slice(0,s)),c-=M;s<c;)f.c.push(+d.slice(s,s+=M));d=d.slice(s),s=M-d.length}else s-=c;for(;s--;d+=\"0\");f.c.push(+d)}}else f.c=[f.e=0]}function n(e,n,r,o){var i,a,u,c,d;if(null==r?r=D:l(r,0,8),!e.c)return e.toString();if(i=e.c[0],u=e.e,null==n)d=s(e.c),d=1==o||2==o&&u<=x?f(d,u):p(d,u,\"0\");else if(e=h(new t(e),n,r),a=e.e,d=s(e.c),c=d.length,1==o||2==o&&(n<=a||a<=x)){for(;c<n;d+=\"0\",c++);d=f(d,a)}else if(n-=u,d=p(d,a,\"0\"),a+1>c){if(--n>0)for(d+=\".\";n--;d+=\"0\");}else if(n+=a-c,n>0)for(a+1==c&&(d+=\".\");n--;d+=\"0\");return e.s<0&&i?\"-\"+d:d}function r(e,n){var r,o,i=0;for(c(e[0])&&(e=e[0]),r=new t(e[0]);++i<e.length;){if(o=new t(e[i]),!o.s){r=o;break}n.call(r,o)&&(r=o)}return r}function o(e,t,n){for(var r=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,r++);return(n=r+n*M-1)>P?e.c=e.e=null:n<z?e.c=[e.e=0]:(e.e=n,e.c=t),e}function h(e,t,n,r){var o,i,a,s,u,l,c,d=e.c,f=w;if(d){e:{for(o=1,s=d[0];s>=10;s/=10,o++);if(i=t-o,i<0)i+=M,a=t,u=d[l=0],c=u/f[o-a-1]%10|0;else if(l=g((i+1)/M),l>=d.length){if(!r)break e;for(;d.length<=l;d.push(0));u=c=0,o=1,i%=M,a=i-M+1}else{for(u=s=d[l],o=1;s>=10;s/=10,o++);i%=M,a=i-M+o,c=a<0?0:u/f[o-a-1]%10|0}if(r=r||t<0||null!=d[l+1]||(a<0?u:u%f[o-a-1]),r=n<4?(c||r)&&(0==n||n==(e.s<0?3:2)):c>5||5==c&&(4==n||r||6==n&&(i>0?a>0?u/f[o-a]:0:d[l-1])%10&1||n==(e.s<0?8:7)),t<1||!d[0])return d.length=0,r?(t-=e.e+1,d[0]=f[(M-t%M)%M],e.e=-t||0):d[0]=e.e=0,e;if(0==i?(d.length=l,s=1,l--):(d.length=l+1,s=f[M-i],d[l]=a>0?_(u/f[o-a]%f[a])*s:0),r)for(;;){if(0==l){for(i=1,a=d[0];a>=10;a/=10,i++);for(a=d[0]+=s,s=1;a>=10;a/=10,s++);i!=s&&(e.e++,d[0]==v&&(d[0]=1));break}if(d[l]+=s,d[l]!=v)break;d[l--]=0,s=1}for(i=d.length;0===d[--i];d.pop());}e.e>P?e.c=e.e=null:e.e<z&&(e.c=[e.e=0])}return e}var L,T,O,S=t.prototype={constructor:t,toString:null,valueOf:null},N=new t(1),k=20,D=4,x=-7,I=21,z=-1e7,P=1e7,j=!1,B=1,F=0,R={decimalSeparator:\".\",groupSeparator:\",\",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:\"\u00a0\",fractionGroupSize:0},W=\"0123456789abcdefghijklmnopqrstuvwxyz\";return t.clone=i,t.ROUND_UP=0,t.ROUND_DOWN=1,t.ROUND_CEIL=2,t.ROUND_FLOOR=3,t.ROUND_HALF_UP=4,t.ROUND_HALF_DOWN=5,t.ROUND_HALF_EVEN=6,t.ROUND_HALF_CEIL=7,t.ROUND_HALF_FLOOR=8,t.EUCLID=9,t.config=t.set=function(e){var t,n;if(null!=e){if(\"object\"!=typeof e)throw Error(b+\"Object expected: \"+e);if(e.hasOwnProperty(t=\"DECIMAL_PLACES\")&&(n=e[t],l(n,0,E,t),k=n),e.hasOwnProperty(t=\"ROUNDING_MODE\")&&(n=e[t],l(n,0,8,t),D=n),e.hasOwnProperty(t=\"EXPONENTIAL_AT\")&&(n=e[t],c(n)?(l(n[0],-E,0,t),l(n[1],0,E,t),x=n[0],I=n[1]):(l(n,-E,E,t),x=-(I=n<0?-n:n))),e.hasOwnProperty(t=\"RANGE\"))if(n=e[t],c(n))l(n[0],-E,-1,t),l(n[1],1,E,t),z=n[0],P=n[1];else{if(l(n,-E,E,t),!n)throw Error(b+t+\" cannot be zero: \"+n);z=-(P=n<0?-n:n)}if(e.hasOwnProperty(t=\"CRYPTO\")){if(n=e[t],n!==!!n)throw Error(b+t+\" not true or false: \"+n);if(n){if(\"undefined\"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw j=!n,Error(b+\"crypto unavailable\");j=n}else j=n}if(e.hasOwnProperty(t=\"MODULO_MODE\")&&(n=e[t],l(n,0,9,t),B=n),e.hasOwnProperty(t=\"POW_PRECISION\")&&(n=e[t],l(n,0,E,t),F=n),e.hasOwnProperty(t=\"FORMAT\")){if(n=e[t],\"object\"!=typeof n)throw Error(b+t+\" not an object: \"+n);R=n}if(e.hasOwnProperty(t=\"ALPHABET\")){if(n=e[t],\"string\"!=typeof n||/^.$|\\.|(.).*\\1/.test(n))throw Error(b+t+\" invalid: \"+n);W=n}}return{DECIMAL_PLACES:k,ROUNDING_MODE:D,EXPONENTIAL_AT:[x,I],RANGE:[z,P],CRYPTO:j,MODULO_MODE:B,POW_PRECISION:F,FORMAT:R,ALPHABET:W}},t.isBigNumber=function(e){return e instanceof t||e&&e._isBigNumber===!0||!1},t.maximum=t.max=function(){return r(arguments,S.lt)},t.minimum=t.min=function(){return r(arguments,S.gt)},t.random=function(){var e=9007199254740992,n=Math.random()*e&2097151?function(){return _(Math.random()*e)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(e){var r,o,i,a,s,u=0,c=[],d=new t(N);if(null==e?e=k:l(e,0,E),a=g(e/M),j)if(crypto.getRandomValues){for(r=crypto.getRandomValues(new Uint32Array(a*=2));u<a;)s=131072*r[u]+(r[u+1]>>>11),s>=9e15?(o=crypto.getRandomValues(new Uint32Array(2)),r[u]=o[0],r[u+1]=o[1]):(c.push(s%1e14),u+=2);u=a/2}else{if(!crypto.randomBytes)throw j=!1,Error(b+\"crypto unavailable\");for(r=crypto.randomBytes(a*=7);u<a;)s=281474976710656*(31&r[u])+1099511627776*r[u+1]+4294967296*r[u+2]+16777216*r[u+3]+(r[u+4]<<16)+(r[u+5]<<8)+r[u+6],s>=9e15?crypto.randomBytes(7).copy(r,u):(c.push(s%1e14),u+=7);u=a/7}if(!j)for(;u<a;)s=n(),s<9e15&&(c[u++]=s%1e14);for(a=c[--u],e%=M,a&&e&&(s=w[M-e],c[u]=_(a/s)*s);0===c[u];c.pop(),u--);if(u<0)c=[i=0];else{for(i=-1;0===c[0];c.splice(0,1),i-=M);for(u=1,s=c[0];s>=10;s/=10,u++);u<M&&(i-=M-u)}return d.e=i,d.c=c,d}}(),T=function(){function e(e,t,n,r){for(var o,i,a=[0],s=0,u=e.length;s<u;){for(i=a.length;i--;a[i]*=t);for(a[0]+=r.indexOf(e.charAt(s++)),o=0;o<a.length;o++)a[o]>n-1&&(null==a[o+1]&&(a[o+1]=0),a[o+1]+=a[o]/n|0,a[o]%=n)}return a.reverse()}var n=\"0123456789\";return function(r,o,i,a,u){var l,c,d,f,h,m,g,_,b=r.indexOf(\".\"),y=k,v=D;for(b>=0&&(f=F,F=0,r=r.replace(\".\",\"\"),_=new t(o),m=_.pow(r.length-b),F=f,_.c=e(p(s(m.c),m.e,\"0\"),10,i,n),_.e=_.c.length),g=e(r,o,i,u?(l=W,n):(l=n,W)),d=f=g.length;0==g[--f];g.pop());if(!g[0])return l.charAt(0);if(b<0?--d:(m.c=g,m.e=d,m.s=a,m=L(m,_,y,v,i),g=m.c,h=m.r,d=m.e),c=d+y+1,b=g[c],f=i/2,h=h||c<0||null!=g[c+1],h=v<4?(null!=b||h)&&(0==v||v==(m.s<0?3:2)):b>f||b==f&&(4==v||h||6==v&&1&g[c-1]||v==(m.s<0?8:7)),c<1||!g[0])r=h?p(l.charAt(1),-y,l.charAt(0)):l.charAt(0);else{if(g.length=c,h)for(--i;++g[--c]>i;)g[c]=0,c||(++d,g=[1].concat(g));for(f=g.length;!g[--f];);for(b=0,r=\"\";b<=f;r+=l.charAt(g[b++]));r=p(r,d,l.charAt(0))}return r}}(),L=function(){function e(e,t,n){var r,o,i,a,s=0,u=e.length,l=t%C,c=t/C|0;for(e=e.slice();u--;)i=e[u]%C,a=e[u]/C|0,r=c*i+a*l,o=l*i+r%C*C+s,s=(o/n|0)+(r/C|0)+c*a,e[u]=o%n;return s&&(e=[s].concat(e)),e}function n(e,t,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;o<n;o++)if(e[o]!=t[o]){i=e[o]>t[o]?1:-1;break}return i}function r(e,t,n,r){for(var o=0;n--;)e[n]-=o,o=e[n]<t[n]?1:0,e[n]=o*r+e[n]-t[n];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(o,i,s,u,l){var c,d,f,p,m,g,b,y,A,w,C,E,L,T,O,S,N,k=o.s==i.s?1:-1,D=o.c,x=i.c;if(!(D&&D[0]&&x&&x[0]))return new t(o.s&&i.s&&(D?!x||D[0]!=x[0]:x)?D&&0==D[0]||!x?0*k:k/0:NaN);for(y=new t(k),A=y.c=[],d=o.e-i.e,k=s+d+1,l||(l=v,d=a(o.e/M)-a(i.e/M),k=k/M|0),f=0;x[f]==(D[f]||0);f++);if(x[f]>(D[f]||0)&&d--,k<0)A.push(1),p=!0;else{for(T=D.length,S=x.length,f=0,k+=2,m=_(l/(x[0]+1)),m>1&&(x=e(x,m,l),D=e(D,m,l),S=x.length,T=D.length),L=S,w=D.slice(0,S),C=w.length;C<S;w[C++]=0);N=x.slice(),N=[0].concat(N),O=x[0],x[1]>=l/2&&O++;do{if(m=0,c=n(x,w,S,C),c<0){if(E=w[0],S!=C&&(E=E*l+(w[1]||0)),m=_(E/O),m>1)for(m>=l&&(m=l-1),g=e(x,m,l),b=g.length,C=w.length;1==n(g,w,b,C);)m--,r(g,S<b?N:x,b,l),b=g.length,c=1;else 0==m&&(c=m=1),g=x.slice(),b=g.length;if(b<C&&(g=[0].concat(g)),r(w,g,C,l),C=w.length,c==-1)for(;n(x,w,S,C)<1;)m++,r(w,S<C?N:x,C,l),C=w.length}else 0===c&&(m++,w=[0]);A[f++]=m,w[0]?w[C++]=D[L]||0:(w=[D[L]],C=1)}while((L++<T||null!=w[0])&&k--);p=null!=w[0],A[0]||A.splice(0,1)}if(l==v){for(f=1,k=A[0];k>=10;k/=10,f++);h(y,s+(y.e=f+d*M-1)+1,u,p)}else y.e=d,y.r=+p;return y}}(),O=function(){var e=/^(-?)0([xbo])(?=\\w[\\w.]*$)/i,n=/^([^.]+)\\.$/,r=/^\\.([^.]+)$/,o=/^-?(Infinity|NaN)$/,i=/^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;return function(a,s,u,l){var c,d=u?s:s.replace(i,\"\");if(o.test(d))a.s=isNaN(d)?null:d<0?-1:1,a.c=a.e=null;else{if(!u&&(d=d.replace(e,function(e,t,n){return c=\"x\"==(n=n.toLowerCase())?16:\"b\"==n?2:8,l&&l!=c?e:t}),l&&(c=l,d=d.replace(n,\"$1\").replace(r,\"0.$1\")),s!=d))return new t(d,c);if(t.DEBUG)throw Error(b+\"Not a\"+(l?\" base \"+l:\"\")+\" number: \"+s);a.c=a.e=a.s=null}}}(),S.absoluteValue=S.abs=function(){var e=new t(this);return e.s<0&&(e.s=1),e},S.comparedTo=function(e,n){return u(this,new t(e,n))},S.decimalPlaces=S.dp=function(e,n){var r,o,i,s=this;if(null!=e)return l(e,0,E),null==n?n=D:l(n,0,8),h(new t(s),e+s.e+1,n);if(!(r=s.c))return null;if(o=((i=r.length-1)-a(this.e/M))*M,i=r[i])for(;i%10==0;i/=10,o--);return o<0&&(o=0),o},S.dividedBy=S.div=function(e,n){return L(this,new t(e,n),k,D)},S.dividedToIntegerBy=S.idiv=function(e,n){return L(this,new t(e,n),0,1)},S.exponentiatedBy=S.pow=function(e,n){var r,o,i,a,s,u,l,c,f=this;if(e=new t(e),e.c&&!e.isInteger())throw Error(b+\"Exponent not an integer: \"+e);if(null!=n&&(n=new t(n)),s=e.e>14,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return c=new t(Math.pow(+f.valueOf(),s?2-d(e):+e)),n?c.mod(n):c;if(u=e.s<0,n){if(n.c?!n.c[0]:!n.s)return new t(NaN);o=!u&&f.isInteger()&&n.isInteger(),o&&(f=f.mod(n))}else{if(e.e>9&&(f.e>0||f.e<-1||(0==f.e?f.c[0]>1||s&&f.c[1]>=24e7:f.c[0]<8e13||s&&f.c[0]<=9999975e7)))return i=f.s<0&&d(e)?-0:0,f.e>-1&&(i=1/i),new t(u?1/i:i);F&&(i=g(F/M+2))}for(s?(r=new t(.5),l=d(e)):l=e%2,u&&(e.s=1),c=new t(N);;){if(l){if(c=c.times(f),!c.c)break;i?c.c.length>i&&(c.c.length=i):o&&(c=c.mod(n))}if(s){if(e=e.times(r),h(e,e.e+1,1),!e.c[0])break;s=e.e>14,l=d(e)}else{if(e=_(e/2),!e)break;l=e%2}f=f.times(f),i?f.c&&f.c.length>i&&(f.c.length=i):o&&(f=f.mod(n))}return o?c:(u&&(c=N.div(c)),n?c.mod(n):i?h(c,F,D,a):c)},S.integerValue=function(e){var n=new t(this);return null==e?e=D:l(e,0,8),h(n,n.e+1,e)},S.isEqualTo=S.eq=function(e,n){return 0===u(this,new t(e,n))},S.isFinite=function(){return!!this.c},S.isGreaterThan=S.gt=function(e,n){return u(this,new t(e,n))>0},S.isGreaterThanOrEqualTo=S.gte=function(e,n){return 1===(n=u(this,new t(e,n)))||0===n},S.isInteger=function(){return!!this.c&&a(this.e/M)>this.c.length-2},S.isLessThan=S.lt=function(e,n){return u(this,new t(e,n))<0},S.isLessThanOrEqualTo=S.lte=function(e,n){return(n=u(this,new t(e,n)))===-1||0===n},S.isNaN=function(){return!this.s},S.isNegative=function(){return this.s<0},S.isPositive=function(){return this.s>0},S.isZero=function(){return!!this.c&&0==this.c[0]},S.minus=function(e,n){var r,i,s,u,l=this,c=l.s;if(e=new t(e,n),n=e.s,!c||!n)return new t(NaN);if(c!=n)return e.s=-n,l.plus(e);var d=l.e/M,f=e.e/M,p=l.c,h=e.c;if(!d||!f){if(!p||!h)return p?(e.s=-n,e):new t(h?l:NaN);if(!p[0]||!h[0])return h[0]?(e.s=-n,e):new t(p[0]?l:3==D?-0:0)}if(d=a(d),f=a(f),p=p.slice(),c=d-f){for((u=c<0)?(c=-c,s=p):(f=d,s=h),s.reverse(),n=c;n--;s.push(0));s.reverse()}else for(i=(u=(c=p.length)<(n=h.length))?c:n,c=n=0;n<i;n++)if(p[n]!=h[n]){u=p[n]<h[n];break}if(u&&(s=p,p=h,h=s,e.s=-e.s),n=(i=h.length)-(r=p.length),n>0)for(;n--;p[r++]=0);for(n=v-1;i>c;){if(p[--i]<h[i]){for(r=i;r&&!p[--r];p[r]=n);--p[r],p[i]+=v}p[i]-=h[i]}for(;0==p[0];p.splice(0,1),--f);return p[0]?o(e,p,f):(e.s=3==D?-1:1,e.c=[e.e=0],e)},S.modulo=S.mod=function(e,n){var r,o,i=this;return e=new t(e,n),!i.c||!e.s||e.c&&!e.c[0]?new t(NaN):!e.c||i.c&&!i.c[0]?new t(i):(9==B?(o=e.s,e.s=1,r=L(i,e,0,3),e.s=o,r.s*=o):r=L(i,e,0,B),e=i.minus(r.times(e)),e.c[0]||1!=B||(e.s=i.s),e)},S.multipliedBy=S.times=function(e,n){var r,i,s,u,l,c,d,f,p,h,m,g,_,b,y,A=this,w=A.c,E=(e=new t(e,n)).c;if(!(w&&E&&w[0]&&E[0]))return!A.s||!e.s||w&&!w[0]&&!E||E&&!E[0]&&!w?e.c=e.e=e.s=null:(e.s*=A.s,w&&E?(e.c=[0],e.e=0):e.c=e.e=null),e;for(i=a(A.e/M)+a(e.e/M),e.s*=A.s,d=w.length,h=E.length,d<h&&(_=w,w=E,E=_,s=d,d=h,h=s),s=d+h,_=[];s--;_.push(0));for(b=v,y=C,s=h;--s>=0;){for(r=0,m=E[s]%y,g=E[s]/y|0,l=d,u=s+l;u>s;)f=w[--l]%y,p=w[l]/y|0,c=g*f+p*m,f=m*f+c%y*y+_[u]+r,r=(f/b|0)+(c/y|0)+g*p,_[u--]=f%b;_[u]=r}return r?++i:_.splice(0,1),o(e,_,i)},S.negated=function(){var e=new t(this);return e.s=-e.s||null,e},S.plus=function(e,n){var r,i=this,s=i.s;if(e=new t(e,n),n=e.s,!s||!n)return new t(NaN);if(s!=n)return e.s=-n,i.minus(e);var u=i.e/M,l=e.e/M,c=i.c,d=e.c;if(!u||!l){if(!c||!d)return new t(s/0);if(!c[0]||!d[0])return d[0]?e:new t(c[0]?i:0*s)}if(u=a(u),l=a(l),c=c.slice(),s=u-l){for(s>0?(l=u,r=d):(s=-s,r=c),r.reverse();s--;r.push(0));r.reverse()}for(s=c.length,n=d.length,s-n<0&&(r=d,d=c,c=r,n=s),s=0;n;)s=(c[--n]=c[n]+d[n]+s)/v|0,c[n]=v===c[n]?0:c[n]%v;return s&&(c=[s].concat(c),++l),o(e,c,l)},S.precision=S.sd=function(e,n){var r,o,i,a=this;if(null!=e&&e!==!!e)return l(e,1,E),null==n?n=D:l(n,0,8),h(new t(a),e,n);if(!(r=a.c))return null;if(i=r.length-1,o=i*M+1,i=r[i]){for(;i%10==0;i/=10,o--);for(i=r[0];i>=10;i/=10,o++);}return e&&a.e+1>o&&(o=a.e+1),o},S.shiftedBy=function(e){return l(e,-A,A),this.times(\"1e\"+e)},S.squareRoot=S.sqrt=function(){var e,n,r,o,i,u=this,l=u.c,c=u.s,d=u.e,f=k+4,p=new t(\"0.5\");if(1!==c||!l||!l[0])return new t(!c||c<0&&(!l||l[0])?NaN:l?u:1/0);if(c=Math.sqrt(+u),0==c||c==1/0?(n=s(l),(n.length+d)%2==0&&(n+=\"0\"),c=Math.sqrt(n),d=a((d+1)/2)-(d<0||d%2),c==1/0?n=\"1e\"+d:(n=c.toExponential(),n=n.slice(0,n.indexOf(\"e\")+1)+d),r=new t(n)):r=new t(c+\"\"),r.c[0])for(d=r.e,c=d+f,c<3&&(c=0);;)if(i=r,r=p.times(i.plus(L(u,i,f,1))),s(i.c).slice(0,c)===(n=s(r.c)).slice(0,c)){if(r.e<d&&--c,n=n.slice(c-3,c+1),\"9999\"!=n&&(o||\"4999\"!=n)){+n&&(+n.slice(1)||\"5\"!=n.charAt(0))||(h(r,r.e+k+2,1),e=!r.times(r).eq(u));break}if(!o&&(h(i,i.e+k+2,0),i.times(i).eq(u))){r=i;break}f+=4,c+=4,o=1}return h(r,r.e+k+1,D,e)},S.toExponential=function(e,t){return null!=e&&(l(e,0,E),e++),n(this,e,t,1)},S.toFixed=function(e,t){return null!=e&&(l(e,0,E),e=e+this.e+1),n(this,e,t)},S.toFormat=function(e,t){var n=this.toFixed(e,t);if(this.c){var r,o=n.split(\".\"),i=+R.groupSize,a=+R.secondaryGroupSize,s=R.groupSeparator,u=o[0],l=o[1],c=this.s<0,d=c?u.slice(1):u,f=d.length;if(a&&(r=i,i=a,a=r,f-=r),i>0&&f>0){for(r=f%i||i,u=d.substr(0,r);r<f;r+=i)u+=s+d.substr(r,i);a>0&&(u+=s+d.slice(r)),c&&(u=\"-\"+u)}n=l?u+R.decimalSeparator+((a=+R.fractionGroupSize)?l.replace(new RegExp(\"\\\\d{\"+a+\"}\\\\B\",\"g\"),\"$&\"+R.fractionGroupSeparator):l):u}return n},S.toFraction=function(e){var n,r,o,i,a,u,l,c,d,f,p,h,m=this,g=m.c;if(null!=e&&(c=new t(e),!c.isInteger()&&(c.c||1!==c.s)||c.lt(N)))throw Error(b+\"Argument \"+(c.isInteger()?\"out of range: \":\"not an integer: \")+e);if(!g)return m.toString();for(r=new t(N),f=o=new t(N),i=d=new t(N),h=s(g),u=r.e=h.length-m.e-1,r.c[0]=w[(l=u%M)<0?M+l:l],e=!e||c.comparedTo(r)>0?u>0?r:f:c,l=P,P=1/0,c=new t(h),d.c[0]=0;p=L(c,r,0,1),a=o.plus(p.times(i)),1!=a.comparedTo(e);)o=i,i=a,f=d.plus(p.times(a=f)),d=a,r=c.minus(p.times(a=r)),c=a;return a=L(e.minus(o),i,0,1),d=d.plus(a.times(f)),o=o.plus(a.times(i)),d.s=f.s=m.s,u*=2,n=L(f,i,u,D).minus(m).abs().comparedTo(L(d,o,u,D).minus(m).abs())<1?[f.toString(),i.toString()]:[d.toString(),o.toString()],P=l,n},S.toNumber=function(){return+this},S.toPrecision=function(e,t){return null!=e&&l(e,1,E),n(this,e,t,2)},S.toString=function(e){var t,n=this,r=n.s,o=n.e;return null===o?r?(t=\"Infinity\",r<0&&(t=\"-\"+t)):t=\"NaN\":(t=s(n.c),null==e?t=o<=x||o>=I?f(t,o):p(t,o,\"0\"):(l(e,2,W.length,\"Base\"),t=T(p(t,o,\"0\"),10,e,r,!0)),r<0&&n.c[0]&&(t=\"-\"+t)),t},S.valueOf=S.toJSON=function(){var e,t=this,n=t.e;return null===n?t.toString():(e=s(t.c),e=n<=x||n>=I?f(e,n):p(e,n,\"0\"),t.s<0?\"-\"+e:e)},S._isBigNumber=!0,null!=e&&t.set(e),t}function a(e){var t=0|e;return e>0||e===t?t:t-1}function s(e){for(var t,n,r=1,o=e.length,i=e[0]+\"\";r<o;){for(t=e[r++]+\"\",n=M-t.length;n--;t=\"0\"+t);i+=t}for(o=i.length;48===i.charCodeAt(--o););return i.slice(0,o+1||1)}function u(e,t){var n,r,o=e.c,i=t.c,a=e.s,s=t.s,u=e.e,l=t.e;if(!a||!s)return null;if(n=o&&!o[0],r=i&&!i[0],n||r)return n?r?0:-s:a;if(a!=s)return a;if(n=a<0,r=u==l,!o||!i)return r?0:!o^n?1:-1;if(!r)return u>l^n?1:-1;for(s=(u=o.length)<(l=i.length)?u:l,a=0;a<s;a++)if(o[a]!=i[a])return o[a]>i[a]^n?1:-1;return u==l?0:u>l^n?1:-1}function l(e,t,n,r){if(e<t||e>n||e!==(e<0?g(e):_(e)))throw Error(b+(r||\"Argument\")+(\"number\"==typeof e?e<t||e>n?\" out of range: \":\" not an integer: \":\" not a primitive number: \")+e)}function c(e){return\"[object Array]\"==Object.prototype.toString.call(e)}function d(e){var t=e.c.length-1;return a(e.e/M)==t&&e.c[t]%2!=0}function f(e,t){return(e.length>1?e.charAt(0)+\".\"+e.slice(1):e)+(t<0?\"e\":\"e+\")+t}function p(e,t,n){var r,o;if(t<0){for(o=n+\".\";++t;o+=n);e=o+e}else if(r=e.length,++t>r){for(o=n,t-=r;--t;o+=n);e+=o}else t<r&&(e=e.slice(0,t)+\".\"+e.slice(t));return e}var h,m=/^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,g=Math.ceil,_=Math.floor,b=\"[BigNumber Error] \",y=b+\"Number primitive has more than 15 significant digits: \",v=1e14,M=14,A=9007199254740991,w=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],C=1e7,E=1e9;h=i(),h.default=h.BigNumber=h,r=function(){return h}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(this)},function(e,t,n){n(1181)},function(e,t,n){n(899)},function(e,t){ace.define(\"ace/split\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/editor\",\"ace/virtual_renderer\",\"ace/edit_session\"],function(e,t,n){\"use strict\";function r(e,t){this.$u=e,this.$doc=t}var o=e(\"./lib/oop\"),i=e(\"./lib/lang\"),a=e(\"./lib/event_emitter\").EventEmitter,s=e(\"./editor\").Editor,u=e(\"./virtual_renderer\").VirtualRenderer,l=e(\"./edit_session\").EditSession,c=function(e,t,n){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS=\"\",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(n||1),this.$cEditor=this.$editors[0],this.on(\"focus\",function(e){this.$cEditor=e}.bind(this))};(function(){o.implement(this,a),this.$createEditor=function(){var e=document.createElement(\"div\");e.className=this.$editorCSS,e.style.cssText=\"position: absolute; top:0px; bottom:0px\",this.$container.appendChild(e);var t=new s(new u(e,this.$theme));return t.on(\"focus\",function(){this._emit(\"focus\",t)}.bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw\"The number of splits have to be > 0!\";if(e!=this.$splits){if(e>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<e;)t=this.$editors[this.$splits],this.$container.appendChild(t.container),t.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<e;)this.$createEditor(),this.$splits++}else for(;this.$splits>e;)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach(function(t){t.setTheme(e)})},this.setKeyboardHandler=function(e){this.$editors.forEach(function(t){t.setKeyboardHandler(e)})},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize=\"\",this.setFontSize=function(e){this.$fontSize=e,this.forEach(function(t){t.setFontSize(e)})},this.$cloneSession=function(e){var t=new l(e.getDocument(),e.getMode()),n=e.getUndoManager();if(n){var o=new r(n,t);t.setUndoManager(o)}return t.$informUndoManager=i.delayedCall(function(){t.$deltas=[]}),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var n;n=null==t?this.$cEditor:this.$editors[t];var r=this.$editors.some(function(t){return t.session===e});return r&&(e=this.$cloneSession(e)),n.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){this.$orientation!=e&&(this.$orientation=e,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,n=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var r=t/this.$splits,o=0;o<this.$splits;o++)e=this.$editors[o],e.container.style.width=r+\"px\",e.container.style.top=\"0px\",e.container.style.left=o*r+\"px\",e.container.style.height=n+\"px\",e.resize();else for(var i=n/this.$splits,o=0;o<this.$splits;o++)e=this.$editors[o],e.container.style.width=t+\"px\",e.container.style.top=o*i+\"px\",e.container.style.left=\"0px\",e.container.style.height=i+\"px\",e.resize()}}).call(c.prototype),function(){this.execute=function(e){this.$u.execute(e)},this.undo=function(){var e=this.$u.undo(!0);e&&this.$doc.selection.setSelectionRange(e)},this.redo=function(){var e=this.$u.redo(!0);e&&this.$doc.selection.setSelectionRange(e)},this.reset=function(){this.$u.reset()},this.hasUndo=function(){return this.$u.hasUndo()},this.hasRedo=function(){return this.$u.hasRedo()}}.call(r.prototype),t.Split=c}),ace.define(\"ace/ext/split\",[\"require\",\"exports\",\"module\",\"ace/split\"],function(e,t,n){\"use strict\";n.exports=e(\"../split\")}),function(){ace.acequire([\"ace/ext/split\"],function(){})}()},function(e,t,n){ace.define(\"ace/mode/json_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"],function(e,t,n){\"use strict\";var r=e(\"../lib/oop\"),o=e(\"./text_highlight_rules\").TextHighlightRules,i=function(){this.$rules={start:[{token:\"variable\",regex:'[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]\\\\s*(?=:)'},{token:\"string\",regex:'\"',next:\"string\"},{token:\"constant.numeric\",regex:\"0[xX][0-9a-fA-F]+\\\\b\"},{token:\"constant.numeric\",regex:\"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"},{token:\"constant.language.boolean\",regex:\"(?:true|false)\\\\b\"},{token:\"text\",regex:\"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"},{token:\"comment\",regex:\"\\\\/\\\\/.*$\"},{token:\"comment.start\",regex:\"\\\\/\\\\*\",next:\"comment\"},{token:\"paren.lparen\",regex:\"[[({]\"},{token:\"paren.rparen\",regex:\"[\\\\])}]\"},{token:\"text\",regex:\"\\\\s+\"}],string:[{token:\"constant.language.escape\",regex:/\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[\"\\\\\\/bfnrt])/},{token:\"string\",regex:'\"|$',next:\"start\"},{defaultToken:\"string\"}],comment:[{token:\"comment.end\",regex:\"\\\\*\\\\/\",next:\"start\"},{defaultToken:\"comment\"}]}};r.inherits(i,o),t.JsonHighlightRules=i}),ace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"../range\").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\\s+$/.test(e)&&/^\\s*\\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t),o=n.match(/^(\\s*\\})/);if(!o)return 0;var i=o[1].length,a=e.findMatchingBracket({row:t,column:i});if(!a||a.row==t)return 0;var s=this.$getIndent(e.getLine(a.row));e.replace(new r(t,0,t,i-1),s)},this.$getIndent=function(e){return e.match(/^\\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"],function(e,t,n){\"use strict\";var r=e(\"../../lib/oop\"),o=e(\"../../range\").Range,i=e(\"./fold_mode\").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\\|[^|]*?$/,\"|\"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\\|[^|]*?$/,\"|\"+e.end)))};r.inherits(a,i),function(){this.foldingStartMarker=/([\\{\\[\\(])[^\\}\\]\\)]*$|^\\s*(\\/\\*)/,this.foldingStopMarker=/^[^\\[\\{\\(]*([\\}\\]\\)])|^[\\s\\*]*(\\*\\/)/,this.singleLineBlockCommentRe=/^\\s*(\\/\\*).*\\*\\/\\s*$/,this.tripleStarBlockCommentRe=/^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/,this.startRegionRe=/^\\s*(\\/\\*|\\/\\/)#?region\\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return\"\";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?\"start\":o},this.getFoldWidgetRange=function(e,t,n,r){var o=e.getLine(n);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,n);var i=o.match(this.foldingStartMarker);if(i){var a=i.index;if(i[1])return this.openingBracketBlock(e,i[1],n,a);var s=e.getCommentFoldRange(n,a+i[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):\"all\"!=t&&(s=null)),s}if(\"markbegin\"!==t){var i=o.match(this.foldingStopMarker);if(i){var a=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],n,a):e.getCommentFoldRange(n,a,-1)}}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\\S/),i=t,a=n.length;t+=1;for(var s=t,u=e.getLength();++t<u;){n=e.getLine(t);var l=n.search(/\\S/);if(l!==-1){if(r>l)break;var c=this.getFoldWidgetRange(e,\"all\",t);if(c){if(c.start.row<=i)break;if(c.isMultiLine())t=c.end.row;else if(r==l)break}s=t}}return new o(i,a,s,e.getLine(s).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\\s*$/),i=e.getLength(),a=n,s=/^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/,u=1;++n<i;){t=e.getLine(n);var l=s.exec(t);if(l&&(l[1]?u--:u++,!u))break}var c=n;if(c>a)return new o(a,r,c,t.length)}}.call(a.prototype)}),ace.define(\"ace/mode/json\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/json_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/behaviour/cstyle\",\"ace/mode/folding/cstyle\",\"ace/worker/worker_client\"],function(e,t,r){\"use strict\";var o=e(\"../lib/oop\"),i=e(\"./text\").Mode,a=e(\"./json_highlight_rules\").JsonHighlightRules,s=e(\"./matching_brace_outdent\").MatchingBraceOutdent,u=e(\"./behaviour/cstyle\").CstyleBehaviour,l=e(\"./folding/cstyle\").FoldMode,c=e(\"../worker/worker_client\").WorkerClient,d=function(){this.HighlightRules=a,this.$outdent=new s,this.$behaviour=new u,this.foldingRules=new l};o.inherits(d,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(\"start\"==e){var o=t.match(/^.*[\\{\\(\\[]\\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new c([\"ace\"],n(904),\"JsonWorker\");return t.attachToDocument(e.getDocument()),t.on(\"annotate\",function(t){e.setAnnotations(t.data)}),t.on(\"terminate\",function(){e.clearAnnotations()}),t},this.$id=\"ace/mode/json\"}.call(d.prototype),t.Mode=d})},function(e,t){ace.define(\"ace/theme/github\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){t.isDark=!1,t.cssClass=\"ace-github\",t.cssText='\\t.ace-github .ace_gutter {\\tbackground: #e8e8e8;\\tcolor: #AAA;\\t}\\t.ace-github  {\\tbackground: #fff;\\tcolor: #000;\\t}\\t.ace-github .ace_keyword {\\tfont-weight: bold;\\t}\\t.ace-github .ace_string {\\tcolor: #D14;\\t}\\t.ace-github .ace_variable.ace_class {\\tcolor: teal;\\t}\\t.ace-github .ace_constant.ace_numeric {\\tcolor: #099;\\t}\\t.ace-github .ace_constant.ace_buildin {\\tcolor: #0086B3;\\t}\\t.ace-github .ace_support.ace_function {\\tcolor: #0086B3;\\t}\\t.ace-github .ace_comment {\\tcolor: #998;\\tfont-style: italic;\\t}\\t.ace-github .ace_variable.ace_language  {\\tcolor: #0086B3;\\t}\\t.ace-github .ace_paren {\\tfont-weight: bold;\\t}\\t.ace-github .ace_boolean {\\tfont-weight: bold;\\t}\\t.ace-github .ace_string.ace_regexp {\\tcolor: #009926;\\tfont-weight: normal;\\t}\\t.ace-github .ace_variable.ace_instance {\\tcolor: teal;\\t}\\t.ace-github .ace_constant.ace_language {\\tfont-weight: bold;\\t}\\t.ace-github .ace_cursor {\\tcolor: black;\\t}\\t.ace-github.ace_focus .ace_marker-layer .ace_active-line {\\tbackground: rgb(255, 255, 204);\\t}\\t.ace-github .ace_marker-layer .ace_active-line {\\tbackground: rgb(245, 245, 245);\\t}\\t.ace-github .ace_marker-layer .ace_selection {\\tbackground: rgb(181, 213, 255);\\t}\\t.ace-github.ace_multiselect .ace_selection.ace_start {\\tbox-shadow: 0 0 3px 0px white;\\t}\\t.ace-github.ace_nobold .ace_line > span {\\tfont-weight: normal !important;\\t}\\t.ace-github .ace_marker-layer .ace_step {\\tbackground: rgb(252, 255, 0);\\t}\\t.ace-github .ace_marker-layer .ace_stack {\\tbackground: rgb(164, 229, 101);\\t}\\t.ace-github .ace_marker-layer .ace_bracket {\\tmargin: -1px 0 0 -1px;\\tborder: 1px solid rgb(192, 192, 192);\\t}\\t.ace-github .ace_gutter-active-line {\\tbackground-color : rgba(0, 0, 0, 0.07);\\t}\\t.ace-github .ace_marker-layer .ace_selected-word {\\tbackground: rgb(250, 250, 255);\\tborder: 1px solid rgb(200, 200, 250);\\t}\\t.ace-github .ace_invisible {\\tcolor: #BFBFBF\\t}\\t.ace-github .ace_print-margin {\\twidth: 1px;\\tbackground: #e8e8e8;\\t}\\t.ace-github .ace_indent-guide {\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\\t}';var r=e(\"../lib/dom\");r.importCssString(t.cssText,t.cssClass)})},function(e,t){e.exports.id=\"ace/mode/json_worker\",e.exports.src='\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\"\").replace(/\\\\/\\\\.\\\\//,\"/\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\"insert\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\"\\\\n\").split(\"\\\\n\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\"\\\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\\\r\\\\n\";case\"unix\":return\"\\\\n\";default:return this.$autoNewLine||\"\\\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\\\r\\\\n\"==text||\"\\\\r\"==text||\"\\\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\\'\\', \\'\\']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\"\\\\\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/\\'/g,\"&#39;\").replace(/</g,\"&#60;\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\"ace/worker/mirror\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/document\",\"ace/lib/lang\"],function(acequire,exports){\"use strict\";acequire(\"../range\").Range;var Document=acequire(\"../document\").Document,lang=acequire(\"../lib/lang\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\"\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\"change\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/json/json_parse\",[\"require\",\"exports\",\"module\"],function(){\"use strict\";var at,ch,text,value,escapee={\\'\"\\':\\'\"\\',\"\\\\\\\\\":\"\\\\\\\\\",\"/\":\"/\",b:\"\\\\b\",f:\"\\\\f\",n:\"\\\\n\",r:\"\\\\r\",t:\"\\t\"},error=function(m){throw{name:\"SyntaxError\",message:m,at:at,text:text}},next=function(c){return c&&c!==ch&&error(\"Expected \\'\"+c+\"\\' instead of \\'\"+ch+\"\\'\"),ch=text.charAt(at),at+=1,ch},number=function(){var number,string=\"\";for(\"-\"===ch&&(string=\"-\",next(\"-\"));ch>=\"0\"&&\"9\">=ch;)string+=ch,next();if(\".\"===ch)for(string+=\".\";next()&&ch>=\"0\"&&\"9\">=ch;)string+=ch;if(\"e\"===ch||\"E\"===ch)for(string+=ch,next(),(\"-\"===ch||\"+\"===ch)&&(string+=ch,next());ch>=\"0\"&&\"9\">=ch;)string+=ch,next();return number=+string,isNaN(number)?(error(\"Bad number\"),void 0):number},string=function(){var hex,i,uffff,string=\"\";if(\\'\"\\'===ch)for(;next();){if(\\'\"\\'===ch)return next(),string;if(\"\\\\\\\\\"===ch)if(next(),\"u\"===ch){for(uffff=0,i=0;4>i&&(hex=parseInt(next(),16),isFinite(hex));i+=1)uffff=16*uffff+hex;string+=String.fromCharCode(uffff)}else{if(\"string\"!=typeof escapee[ch])break;string+=escapee[ch]}else string+=ch}error(\"Bad string\")},white=function(){for(;ch&&\" \">=ch;)next()},word=function(){switch(ch){case\"t\":return next(\"t\"),next(\"r\"),next(\"u\"),next(\"e\"),!0;case\"f\":return next(\"f\"),next(\"a\"),next(\"l\"),next(\"s\"),next(\"e\"),!1;case\"n\":return next(\"n\"),next(\"u\"),next(\"l\"),next(\"l\"),null}error(\"Unexpected \\'\"+ch+\"\\'\")},array=function(){var array=[];if(\"[\"===ch){if(next(\"[\"),white(),\"]\"===ch)return next(\"]\"),array;for(;ch;){if(array.push(value()),white(),\"]\"===ch)return next(\"]\"),array;next(\",\"),white()}}error(\"Bad array\")},object=function(){var key,object={};if(\"{\"===ch){if(next(\"{\"),white(),\"}\"===ch)return next(\"}\"),object;for(;ch;){if(key=string(),white(),next(\":\"),Object.hasOwnProperty.call(object,key)&&error(\\'Duplicate key \"\\'+key+\\'\"\\'),object[key]=value(),white(),\"}\"===ch)return next(\"}\"),object;next(\",\"),white()}}error(\"Bad object\")};return value=function(){switch(white(),ch){case\"{\":return object();case\"[\":return array();case\\'\"\\':return string();case\"-\":return number();default:return ch>=\"0\"&&\"9\">=ch?number():word()}},function(source,reviver){var result;return text=source,at=0,ch=\" \",result=value(),white(),ch&&error(\"Syntax error\"),\"function\"==typeof reviver?function walk(holder,key){var k,v,value=holder[key];if(value&&\"object\"==typeof value)for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),void 0!==v?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}({\"\":result},\"\"):result}}),ace.define(\"ace/mode/json_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/json/json_parse\"],function(acequire,exports){\"use strict\";var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,parse=acequire(\"./json/json_parse\"),JsonWorker=exports.JsonWorker=function(sender){Mirror.call(this,sender),this.setTimeout(200)};oop.inherits(JsonWorker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{value&&parse(value)}catch(e){var pos=this.doc.indexToPosition(e.at-1);errors.push({row:pos.row,column:pos.column,text:e.message,type:\"error\"})}this.sender.emit(\"annotate\",errors)}}.call(JsonWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0\\n}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != \\'object\\'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\\t\\\\n\\v\\\\f\\\\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\\\\u2028\\\\u2029\\ufeff\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can\\'t convert \"+o+\" to object\");return Object(o)}});';\n},function(e,t,n){(function(t){!function(){\"use strict\";function n(e){var n;return n=e instanceof t?e:t.from(e.toString(),\"binary\"),n.toString(\"base64\")}e.exports=n}()}).call(t,n(243).Buffer)},function(e,t,n){\"use strict\";function r(e){return{key:e.nodeKey,className:e.className,\"data-sourcepos\":e[\"data-sourcepos\"]}}function o(e){var t=e.toLowerCase(),n=A[t]||t;return\"undefined\"!=typeof w[n]?n:e}function i(e){return Object.keys(e||{}).reduce(function(t,n){var r=o(n);return t[r]=e[n],t},{})}function a(e){var t=r(e),n=e.escapeHtml?{}:{dangerouslySetInnerHTML:{__html:e.literal}},o=e.escapeHtml?[e.literal]:null;if(e.escapeHtml||!e.skipHtml){var i=b(t,n);return l(e.isBlock?\"div\":\"span\",i,o)}}function s(e){var t=e.parent.parent;return t&&\"list\"===t.type.toLowerCase()&&t.listTight}function u(e,t){var n=e;do n=n.parent;while(!n.react);n.react.children.push(t)}function l(e,t,n){var r=Array.isArray(n)&&n.reduce(c,[]),o=[e,t].concat(r||n);return _.createElement.apply(_,o)}function c(e,t){var n=e.length-1;return\"string\"==typeof t&&\"string\"==typeof e[n]?e[n]+=t:e.push(t),e}function d(e){return[e[0][0],\":\",e[0][1],\"-\",e[1][0],\":\",e[1][1]].map(String).join(\"\")}function f(e,t,n,r){var i,a={key:t};n.sourcePos&&e.sourcepos&&(a[\"data-sourcepos\"]=d(e.sourcepos));var s=o(e.type);switch(s){case\"html_inline\":case\"html_block\":a.isBlock=\"html_block\"===s,a.escapeHtml=n.escapeHtml,a.skipHtml=n.skipHtml;break;case\"code_block\":var u=e.info?e.info.split(/ +/):[];u.length>0&&u[0].length>0&&(a.language=u[0],a.codeinfo=u);break;case\"code\":a.children=e.literal,a.inline=!0;break;case\"heading\":a.level=e.level;break;case\"softbreak\":a.softBreak=n.softBreak;break;case\"link\":a.href=n.transformLinkUri?n.transformLinkUri(e.destination):e.destination,a.title=e.title||i,n.linkTarget&&(a.target=n.linkTarget);break;case\"image\":a.src=n.transformImageUri?n.transformImageUri(e.destination):e.destination,a.title=e.title||i,a.alt=e.react.children.join(\"\"),e.react.children=i;break;case\"list\":a.start=e.listStart,a.type=e.listType,a.tight=e.listTight}\"string\"!=typeof r&&(a.literal=e.literal);var l=a.children||e.react&&e.react.children;return Array.isArray(l)&&(a.children=l.reduce(c,[])||null),a}function p(e){return e?e.sourcepos?d(e.sourcepos):p(e.parent):null}function h(e){for(var t,n,r,i,a,l,c,d,h,m=e.walker(),g={sourcePos:this.sourcePos,escapeHtml:this.escapeHtml,skipHtml:this.skipHtml,transformLinkUri:this.transformLinkUri,transformImageUri:this.transformImageUri,softBreak:this.softBreak,linkTarget:this.linkTarget},y=0;t=m.next();){var v=p(t.node.sourcepos?t.node:t.node.parent);if(h===v?(c=v+y,y++):(c=v,y=0),h=v,r=t.entering,i=!r,n=t.node,a=o(n.type),d=null,l){if(n!==l&&!(\"paragraph\"===a&&s(n)||this.skipHtml&&(\"html_block\"===a||\"html_inline\"===a))){var A=n===l,w=this.allowedTypes.indexOf(a)===-1,C=!1,E=n.isContainer&&i,L=this.renderers[a];if(this.allowNode&&(E||!n.isContainer)){var T=E?n.react.children:[];d=f(n,c,g,L),C=!this.allowNode({type:M(a),renderer:this.renderers[a],props:d,children:T})}if(A||!C&&!w){var O=\"text\"===a||\"softbreak\"===a;if(\"function\"!=typeof L&&!O&&\"string\"!=typeof L)throw new Error(\"Renderer for type `\"+M(n.type)+\"` not defined or is not renderable\");if(n.isContainer&&r)n.react={component:L,props:{},children:[]};else{var S=d||f(n,c,g,L);if(L)S=\"string\"==typeof L?S:b(S,{nodeKey:S.key}),u(n,_.createElement(L,S));else if(\"text\"===a)u(n,n.literal);else if(\"softbreak\"===a){var N=\"br\"===this.softBreak?_.createElement(\"br\",{key:c}):this.softBreak;u(n,N)}}}else!this.unwrapDisallowed&&r&&n.isContainer&&m.resumeAt(n,!1)}}else l=n,n.react={children:[]}}return l.react.children}function m(e){var t=e.replace(/file:\\/\\//g,\"x-file://\");return decodeURI(v.uriInDoubleQuotedAttr(t))}function g(e){var t=e||{};if(t.allowedTypes&&t.disallowedTypes)throw new Error(\"Only one of `allowedTypes` and `disallowedTypes` should be defined\");if(t.allowedTypes&&!Array.isArray(t.allowedTypes))throw new Error(\"`allowedTypes` must be an array\");if(t.disallowedTypes&&!Array.isArray(t.disallowedTypes))throw new Error(\"`disallowedTypes` must be an array\");if(t.allowNode&&\"function\"!=typeof t.allowNode)throw new Error(\"`allowNode` must be a function\");var n=t.transformLinkUri;if(\"undefined\"==typeof n)n=m;else if(n&&\"function\"!=typeof n)throw new Error(\"`transformLinkUri` must either be a function, or `null` to disable\");var r=t.transformImageUri;if(\"undefined\"!=typeof r&&\"function\"!=typeof r)throw new Error(\"`transformImageUri` must be a function\");if(t.renderers&&!y(t.renderers))throw new Error(\"`renderers` must be a plain object of `Type`: `Renderer` pairs\");var a=t.allowedTypes&&t.allowedTypes.map(o)||C;if(t.disallowedTypes){var s=t.disallowedTypes.map(o);a=a.filter(function(e){return s.indexOf(e)===-1})}return{sourcePos:Boolean(t.sourcePos),softBreak:t.softBreak||\"\\n\",renderers:b({},w,i(t.renderers)),escapeHtml:Boolean(t.escapeHtml),skipHtml:Boolean(t.skipHtml),transformLinkUri:n,transformImageUri:r,allowNode:t.allowNode,allowedTypes:a,unwrapDisallowed:Boolean(t.unwrapDisallowed),render:h,linkTarget:t.linkTarget||!1}}var _=n(1),b=n(1303),y=n(1305),v=n(1703),M=n(1373),A={blockquote:\"block_quote\",thematicbreak:\"thematic_break\",htmlblock:\"html_block\",htmlinline:\"html_inline\",codeblock:\"code_block\",hardbreak:\"linebreak\"},w={block_quote:\"blockquote\",emph:\"em\",linebreak:\"br\",image:\"img\",item:\"li\",link:\"a\",paragraph:\"p\",strong:\"strong\",thematic_break:\"hr\",html_block:a,html_inline:a,list:function(e){var t=\"bullet\"===e.type.toLowerCase()?\"ul\":\"ol\",n=r(e);return null!==e.start&&1!==e.start&&(n.start=e.start.toString()),l(t,n,e.children)},code_block:function(e){var t=e.language&&\"language-\"+e.language,n=l(\"code\",{className:t},e.literal);return l(\"pre\",r(e),n)},code:function(e){return l(\"code\",r(e),e.children)},heading:function(e){return l(\"h\"+e.level,r(e),e.children)},text:null,softbreak:null},C=Object.keys(w);g.uriTransformer=m,g.types=C.map(M),g.renderers=C.reduce(function(e,t){return e[M(t)]=w[t],e},{}),e.exports=g},function(e,t,n){(function(t){\"use strict\";function r(e){return{doc:new U,blocks:j,blockStarts:B,tip:this.doc,oldtip:this.doc,currentLine:\"\",lineNumber:0,offset:0,column:0,nextNonspace:0,nextNonspaceColumn:0,indent:0,indented:!1,blank:!1,allClosed:!0,lastMatchedContainer:this.doc,refmap:{},lastLineLength:0,inlineParser:new m(e),findNextNonspace:W,advanceOffset:F,advanceNextNonspace:R,breakOutOfLists:k,addLine:D,addChild:x,incorporateLine:Y,finalize:H,processInlines:q,closeUnmatchedBlocks:P,parse:X,options:e||{}}}var o=n(244),i=n(122).unescapeString,a=n(122).OPENTAG,s=n(122).CLOSETAG,u=4,l=9,c=10,d=62,f=60,p=32,h=91,m=n(911),g=[/./,/^<(?:script|pre|style)(?:\\s|>|$)/i,/^<!--/,/^<[?]/,/^<![A-Z]/,/^<!\\[CDATA\\[/,/^<[\\/]?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\\s|[\\/]?[>]|$)/i,new RegExp(\"^(?:\"+a+\"|\"+s+\")s*$\",\"i\")],_=[/./,/<\\/(?:script|pre|style)>/i,/-->/,/\\?>/,/>/,/\\]\\]>/],b=/^(?:(?:\\* *){3,}|(?:_ *){3,}|(?:- *){3,}) *$/,y=/^[#`~*+_=<>0-9-]/,v=/[^ \\t\\f\\v\\r\\n]/,M=/^[*+-]/,A=/^(\\d{1,9})([.)])/,w=/^#{1,6}(?: +|$)/,C=/^`{3,}(?!.*`)|^~{3,}(?!.*~)/,E=/^(?:`{3,}|~{3,})(?= *$)/,L=/^(?:=+|-+) *$/,T=/\\r\\n|\\n|\\r/,O=function(e){return!v.test(e)},S=function(e,t){return t<e.length?e.charCodeAt(t):-1},N=function(e){for(;e;){if(e._lastLineBlank)return!0;var t=e.type;if(\"List\"!==t&&\"Item\"!==t)break;e=e._lastChild}return!1},k=function(e){var t=e,n=null;do\"List\"===t.type&&(n=t),t=t._parent;while(t);if(n){for(;e!==n;)this.finalize(e,this.lineNumber),e=e._parent;this.finalize(n,this.lineNumber),this.tip=n._parent}},D=function(){this.tip._string_content+=this.currentLine.slice(this.offset)+\"\\n\"},x=function(e,t){for(;!this.blocks[this.tip.type].canContain(e);)this.finalize(this.tip,this.lineNumber-1);var n=t+1,r=new o(e,[[this.lineNumber,n],[0,0]]);return r._string_content=\"\",this.tip.appendChild(r),this.tip=r,r},I=function(e){var t,n,r,o,i=e.currentLine.slice(e.nextNonspace),a={type:null,tight:!0,bulletChar:null,start:null,delimiter:null,padding:null,markerOffset:e.indent};if(t=i.match(M))a.type=\"Bullet\",a.bulletChar=t[0][0];else{if(!(t=i.match(A)))return null;a.type=\"Ordered\",a.start=parseInt(t[1]),a.delimiter=t[2]}if(n=S(e.currentLine,e.nextNonspace+t[0].length),n!==-1&&n!==l&&n!==p)return null;e.advanceNextNonspace(),e.advanceOffset(t[0].length,!0),r=e.column,o=e.offset;do e.advanceOffset(1,!0),n=S(e.currentLine,e.offset);while(e.column-r<5&&(n===p||n===l));var s=S(e.currentLine,e.offset)===-1,u=e.column-r;return u>=5||u<1||s?(a.padding=t[0].length+1,e.column=r,e.offset=o,S(e.currentLine,e.offset)===p&&e.advanceOffset(1,!0)):a.padding=t[0].length+u,a},z=function(e,t){return e.type===t.type&&e.delimiter===t.delimiter&&e.bulletChar===t.bulletChar},P=function(){if(!this.allClosed){for(;this.oldtip!==this.lastMatchedContainer;){var e=this.oldtip._parent;this.finalize(this.oldtip,this.lineNumber-1),this.oldtip=e}this.allClosed=!0}},j={Document:{continue:function(){return 0},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},List:{continue:function(){return 0},finalize:function(e,t){for(var n=t._firstChild;n;){if(N(n)&&n._next){t._listData.tight=!1;break}for(var r=n._firstChild;r;){if(N(r)&&(n._next||r._next)){t._listData.tight=!1;break}r=r._next}n=n._next}},canContain:function(e){return\"Item\"===e},acceptsLines:!1},BlockQuote:{continue:function(e){var t=e.currentLine;return e.indented||S(t,e.nextNonspace)!==d?1:(e.advanceNextNonspace(),e.advanceOffset(1,!1),S(t,e.offset)===p&&e.offset++,0)},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},Item:{continue:function(e,t){if(e.blank&&null!==t._firstChild)e.advanceNextNonspace();else{if(!(e.indent>=t._listData.markerOffset+t._listData.padding))return 1;e.advanceOffset(t._listData.markerOffset+t._listData.padding,!0)}return 0},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},Heading:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},ThematicBreak:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},CodeBlock:{continue:function(e,t){var n=e.currentLine,r=e.indent;if(t._isFenced){var o=r<=3&&n.charAt(e.nextNonspace)===t._fenceChar&&n.slice(e.nextNonspace).match(E);if(o&&o[0].length>=t._fenceLength)return e.finalize(t,e.lineNumber),2;for(var i=t._fenceOffset;i>0&&S(n,e.offset)===p;)e.advanceOffset(1,!1),i--}else if(r>=u)e.advanceOffset(u,!0);else{if(!e.blank)return 1;e.advanceNextNonspace()}return 0},finalize:function(e,t){if(t._isFenced){var n=t._string_content,r=n.indexOf(\"\\n\"),o=n.slice(0,r),a=n.slice(r+1);t.info=i(o.trim()),t._literal=a}else t._literal=t._string_content.replace(/(\\n *)+$/,\"\\n\");t._string_content=null},canContain:function(){return!1},acceptsLines:!0},HtmlBlock:{continue:function(e,t){return!e.blank||6!==t._htmlBlockType&&7!==t._htmlBlockType?0:1},finalize:function(e,t){t._literal=t._string_content.replace(/(\\n *)+$/,\"\"),t._string_content=null},canContain:function(){return!1},acceptsLines:!0},Paragraph:{continue:function(e){return e.blank?1:0},finalize:function(e,t){for(var n,r=!1;S(t._string_content,0)===h&&(n=e.inlineParser.parseReference(t._string_content,e.refmap));)t._string_content=t._string_content.slice(n),r=!0;r&&O(t._string_content)&&t.unlink()},canContain:function(){return!1},acceptsLines:!0}},B=[function(e){return e.indented||S(e.currentLine,e.nextNonspace)!==d?0:(e.advanceNextNonspace(),e.advanceOffset(1,!1),S(e.currentLine,e.offset)===p&&e.advanceOffset(1,!1),e.closeUnmatchedBlocks(),e.addChild(\"BlockQuote\",e.nextNonspace),1)},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(w))){e.advanceNextNonspace(),e.advanceOffset(t[0].length,!1),e.closeUnmatchedBlocks();var n=e.addChild(\"Heading\",e.nextNonspace);return n.level=t[0].trim().length,n._string_content=e.currentLine.slice(e.offset).replace(/^ *#+ *$/,\"\").replace(/ +#+ *$/,\"\"),e.advanceOffset(e.currentLine.length-e.offset),2}return 0},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(C))){var n=t[0].length;e.closeUnmatchedBlocks();var r=e.addChild(\"CodeBlock\",e.nextNonspace);return r._isFenced=!0,r._fenceLength=n,r._fenceChar=t[0][0],r._fenceOffset=e.indent,e.advanceNextNonspace(),e.advanceOffset(n,!1),2}return 0},function(e,t){if(!e.indented&&S(e.currentLine,e.nextNonspace)===f){var n,r=e.currentLine.slice(e.nextNonspace);for(n=1;n<=7;n++)if(g[n].test(r)&&(n<7||\"Paragraph\"!==t.type)){e.closeUnmatchedBlocks();var o=e.addChild(\"HtmlBlock\",e.offset);return o._htmlBlockType=n,2}}return 0},function(e,t){var n;if(!e.indented&&\"Paragraph\"===t.type&&(n=e.currentLine.slice(e.nextNonspace).match(L))){e.closeUnmatchedBlocks();var r=new o(\"Heading\",t.sourcepos);return r.level=\"=\"===n[0][0]?1:2,r._string_content=t._string_content,t.insertAfter(r),t.unlink(),e.tip=r,e.advanceOffset(e.currentLine.length-e.offset,!1),2}return 0},function(e){return!e.indented&&b.test(e.currentLine.slice(e.nextNonspace))?(e.closeUnmatchedBlocks(),e.addChild(\"ThematicBreak\",e.nextNonspace),e.advanceOffset(e.currentLine.length-e.offset,!1),2):0},function(e,t){var n;return e.indented&&\"List\"!==t.type||!(n=I(e))?0:(e.closeUnmatchedBlocks(),\"List\"===e.tip.type&&z(t._listData,n)||(t=e.addChild(\"List\",e.nextNonspace),t._listData=n),t=e.addChild(\"Item\",e.nextNonspace),t._listData=n,1)},function(e){return e.indented&&\"Paragraph\"!==e.tip.type&&!e.blank?(e.advanceOffset(u,!0),e.closeUnmatchedBlocks(),e.addChild(\"CodeBlock\",e.offset),2):0}],F=function(e,t){for(var n,r,o=0,i=this.currentLine;e>0&&(r=i[this.offset]);)\"\\t\"===r?(n=4-this.column%4,this.column+=n,this.offset+=1,e-=t?n:1):(o+=1,this.offset+=1,this.column+=1,e-=1)},R=function(){this.offset=this.nextNonspace,this.column=this.nextNonspaceColumn},W=function(){for(var e,t=this.currentLine,n=this.offset,r=this.column;\"\"!==(e=t.charAt(n));)if(\" \"===e)n++,r++;else{if(\"\\t\"!==e)break;n++,r+=4-r%4}this.blank=\"\\n\"===e||\"\\r\"===e||\"\"===e,this.nextNonspace=n,this.nextNonspaceColumn=r,this.indent=this.nextNonspaceColumn-this.column,this.indented=this.indent>=u},Y=function(e){var t,n=!0,r=this.doc;this.oldtip=this.tip,this.offset=0,this.column=0,this.lineNumber+=1,e.indexOf(\"\\0\")!==-1&&(e=e.replace(/\\0/g,\"�\")),this.currentLine=e;for(var o;(o=r._lastChild)&&o._open;){switch(r=o,this.findNextNonspace(),this.blocks[r.type].continue(this,r)){case 0:break;case 1:n=!1;break;case 2:return void(this.lastLineLength=e.length);default:throw\"continue returned illegal value, must be 0, 1, or 2\"}if(!n){r=r._parent;break}}this.allClosed=r===this.oldtip,this.lastMatchedContainer=r,this.blank&&r._lastLineBlank&&(this.breakOutOfLists(r),r=this.tip);for(var i=\"Paragraph\"!==r.type&&j[r.type].acceptsLines,a=this.blockStarts,s=a.length;!i;){if(this.findNextNonspace(),!this.indented&&!y.test(e.slice(this.nextNonspace))){this.advanceNextNonspace();break}for(var u=0;u<s;){var l=a[u](this,r);if(1===l){r=this.tip;break}if(2===l){r=this.tip,i=!0;break}u++}if(u===s){this.advanceNextNonspace();break}}if(this.allClosed||this.blank||\"Paragraph\"!==this.tip.type){this.closeUnmatchedBlocks(),this.blank&&r.lastChild&&(r.lastChild._lastLineBlank=!0),t=r.type;for(var c=this.blank&&!(\"BlockQuote\"===t||\"CodeBlock\"===t&&r._isFenced||\"Item\"===t&&!r._firstChild&&r.sourcepos[0][0]===this.lineNumber),d=r;d;)d._lastLineBlank=c,d=d._parent;this.blocks[t].acceptsLines?(this.addLine(),\"HtmlBlock\"===t&&r._htmlBlockType>=1&&r._htmlBlockType<=5&&_[r._htmlBlockType].test(this.currentLine.slice(this.offset))&&this.finalize(r,this.lineNumber)):this.offset<e.length&&!this.blank&&(r=this.addChild(\"Paragraph\",this.offset),this.advanceNextNonspace(),this.addLine())}else this.addLine();this.lastLineLength=e.length},H=function(e,t){var n=e._parent;e._open=!1,e.sourcepos[1]=[t,this.lastLineLength],this.blocks[e.type].finalize(this,e),this.tip=n},q=function(e){var t,n,r,o=e.walker();for(this.inlineParser.refmap=this.refmap,this.inlineParser.options=this.options;n=o.next();)t=n.node,r=t.type,n.entering||\"Paragraph\"!==r&&\"Heading\"!==r||this.inlineParser.parse(t)},U=function(){var e=new o(\"Document\",[[1,1],[0,0]]);return e},X=function(e){this.doc=new U,this.tip=this.doc,this.refmap={},this.lineNumber=0,this.lastLineLength=0,this.offset=0,this.column=0,this.lastMatchedContainer=this.doc,this.currentLine=\"\",this.options.time&&t.time(\"preparing input\");var n=e.split(T),r=n.length;e.charCodeAt(e.length-1)===c&&(r-=1),this.options.time&&t.timeEnd(\"preparing input\"),this.options.time&&t.time(\"block parsing\");for(var o=0;o<r;o++)this.incorporateLine(n[o]);for(;this.tip;)this.finalize(this.tip,r);return this.options.time&&t.timeEnd(\"block parsing\"),this.options.time&&t.time(\"inline parsing\"),this.processInlines(this.doc),this.options.time&&t.timeEnd(\"inline parsing\"),this.doc};e.exports=r}).call(t,n(38))},function(e,t){\"use strict\";if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var n=String.fromCharCode,r=Math.floor,o=function(){var e,t,o=16384,i=[],a=-1,s=arguments.length;if(!s)return\"\";for(var u=\"\";++a<s;){var l=Number(arguments[a]);if(!isFinite(l)||l<0||l>1114111||r(l)!==l)return String.fromCharCode(65533);l<=65535?i.push(l):(l-=65536,e=(l>>10)+55296,t=l%1024+56320,i.push(e,t)),(a+1===s||i.length>o)&&(u+=n.apply(null,i),i.length=0)}return u};e.exports=o}},function(e,t,n){(function(t){\"use strict\";function r(e){return{softbreak:\"\\n\",escape:o,options:e||{},render:c}}var o=n(122).escapeXml,i=function(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var o,i=0;void 0!==(o=t[i]);)r+=\" \"+o[0]+'=\"'+o[1]+'\"',i++;return n&&(r+=\" /\"),r+=\">\"},a=/\\<[^>]*\\>/,s=/^javascript:|vbscript:|file:|data:/i,u=/^data:image\\/(?:png|gif|jpeg|webp)/i,l=function(e){return s.test(e)&&!u.test(e)},c=function(e){var n,r,o,s,u,c,d,f=e.walker(),p=\"\",h=\"\\n\",m=0,g=function(e){p+=m>0?e.replace(a,\"\"):e,h=e},_=this.escape,b=function(){\"\\n\"!==h&&(p+=\"\\n\",h=\"\\n\")},y=this.options;for(y.time&&t.time(\"rendering\");s=f.next();){if(c=s.entering,u=s.node,n=[],y.sourcepos){var v=u.sourcepos;v&&n.push([\"data-sourcepos\",String(v[0][0])+\":\"+String(v[0][1])+\"-\"+String(v[1][0])+\":\"+String(v[1][1])])}switch(u.type){case\"Text\":g(_(u.literal,!1));break;case\"Softbreak\":g(this.softbreak);break;case\"Hardbreak\":g(i(\"br\",[],!0)),b();break;case\"Emph\":g(i(c?\"em\":\"/em\"));break;case\"Strong\":g(i(c?\"strong\":\"/strong\"));break;case\"HtmlInline\":g(y.safe?\"<!-- raw HTML omitted -->\":u.literal);break;case\"CustomInline\":c&&u.onEnter?g(u.onEnter):!c&&u.onExit&&g(u.onExit);break;case\"Link\":c?(y.safe&&l(u.destination)||n.push([\"href\",_(u.destination,!0)]),u.title&&n.push([\"title\",_(u.title,!0)]),g(i(\"a\",n))):g(i(\"/a\"));break;case\"Image\":c?(0===m&&g(y.safe&&l(u.destination)?'<img src=\"\" alt=\"':'<img src=\"'+_(u.destination,!0)+'\" alt=\"'),m+=1):(m-=1,0===m&&(u.title&&g('\" title=\"'+_(u.title,!0)),g('\" />')));break;case\"Code\":g(i(\"code\")+_(u.literal,!1)+i(\"/code\"));break;case\"Document\":break;case\"Paragraph\":if(d=u.parent.parent,null!==d&&\"List\"===d.type&&d.listTight)break;c?(b(),g(i(\"p\",n))):(g(i(\"/p\")),b());break;case\"BlockQuote\":c?(b(),g(i(\"blockquote\",n)),b()):(b(),g(i(\"/blockquote\")),b());break;case\"Item\":c?g(i(\"li\",n)):(g(i(\"/li\")),b());break;case\"List\":if(o=\"Bullet\"===u.listType?\"ul\":\"ol\",c){var M=u.listStart;null!==M&&1!==M&&n.push([\"start\",M.toString()]),b(),g(i(o,n)),b()}else b(),g(i(\"/\"+o)),b();break;case\"Heading\":o=\"h\"+u.level,c?(b(),g(i(o,n))):(g(i(\"/\"+o)),b());break;case\"CodeBlock\":r=u.info?u.info.split(/\\s+/):[],r.length>0&&r[0].length>0&&n.push([\"class\",\"language-\"+_(r[0],!0)]),b(),g(i(\"pre\")+i(\"code\",n)),g(_(u.literal,!1)),g(i(\"/code\")+i(\"/pre\")),b();break;case\"HtmlBlock\":b(),g(y.safe?\"<!-- raw HTML omitted -->\":u.literal),b();break;case\"CustomBlock\":b(),c&&u.onEnter?g(u.onEnter):!c&&u.onExit&&g(u.onExit),b();break;case\"ThematicBreak\":b(),g(i(\"hr\",n,!0)),b();break;default:throw\"Unknown node type \"+u.type}}return y.time&&t.timeEnd(\"rendering\"),p};e.exports=r}).call(t,n(38))},function(e,t,n){\"use strict\";e.exports.version=\"0.24.0\",e.exports.Node=n(244),e.exports.Parser=n(907),e.exports.HtmlRenderer=n(909),e.exports.XmlRenderer=n(913)},function(e,t,n){\"use strict\";function r(e){return{subject:\"\",delimiters:null,pos:0,refmap:{},match:J,peek:ee,spnl:te,parseBackticks:ne,parseBackslash:re,parseAutolink:oe,parseHtmlTag:ie,scanDelims:ae,handleDelim:se,parseLinkTitle:de,parseLinkDestination:fe,parseLinkLabel:pe,parseOpenBracket:he,parseCloseBracket:ge,parseBang:me,parseEntity:_e,parseString:be,parseNewline:ye,parseReference:ve,parseInline:Me,processEmphasis:ce,removeDelimiter:ue,options:e||{},parse:Ae}}var o=n(244),i=n(122),a=n(912),s=i.normalizeURI,u=i.unescapeString,l=n(908),c=n(414).decodeHTML;n(1655);var d=10,f=42,p=95,h=96,m=91,g=93,_=60,b=33,y=92,v=38,M=40,A=41,w=58,C=39,E=34,L=i.ESCAPABLE,T=\"\\\\\\\\\"+L,O=\"[^\\\\\\\\()\\\\x00-\\\\x20]\",S=\"\\\\((\"+O+\"|\"+T+\"|\\\\\\\\)*\\\\)\",N=i.ENTITY,k=i.reHtmlTag,D=new RegExp(/^[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#\\$%&\\(\\)\\*\\+,\\-\\.\\/:;<=>\\?@\\[\\]\\^_`\\{\\|\\}~]/),x=new RegExp('^(?:\"('+T+'|[^\"\\\\x00])*\"|\\'('+T+\"|[^'\\\\x00])*'|\\\\((\"+T+\"|[^)\\\\x00])*\\\\))\"),I=new RegExp(\"^(?:[<](?:[^ <>\\\\t\\\\n\\\\\\\\\\\\x00]|\"+T+\"|\\\\\\\\)*[>])\"),z=new RegExp(\"^(?:\"+O+\"+|\"+T+\"|\\\\\\\\|\"+S+\")*\"),P=new RegExp(\"^\"+L),j=new RegExp(\"^\"+N,\"i\"),B=/`+/,F=/^`+/,R=/\\.\\.\\./g,W=/--+/g,Y=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,H=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\\x00-\\x20]*>/i,q=/^ *(?:\\n *)?/,U=/^\\s/,X=/\\s+/g,V=/ *$/,G=/^ */,$=/^ *(?:\\n|$)/,K=new RegExp(\"^\\\\[(?:[^\\\\\\\\\\\\[\\\\]]|\"+T+\"|\\\\\\\\){0,1000}\\\\]\"),Q=/^[^\\n`\\[\\]\\\\!<&*_'\"]+/m,Z=function(e){var t=new o(\"Text\");return t._literal=e,t},J=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},ee=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},te=function(){return this.match(q),!0},ne=function(e){var t=this.match(F);if(null===t)return!1;for(var n,r,i=this.pos;null!==(n=this.match(B));)if(n===t)return r=new o(\"Code\"),r._literal=this.subject.slice(i,this.pos-t.length).trim().replace(X,\" \"),e.appendChild(r),!0;return this.pos=i,e.appendChild(Z(t)),!0},re=function(e){var t,n=this.subject;return this.pos+=1,this.peek()===d?(this.pos+=1,t=new o(\"Hardbreak\"),e.appendChild(t)):P.test(n.charAt(this.pos))?(e.appendChild(Z(n.charAt(this.pos))),this.pos+=1):e.appendChild(Z(\"\\\\\")),!0},oe=function(e){var t,n,r;return(t=this.match(Y))?(n=t.slice(1,t.length-1),r=new o(\"Link\"),r._destination=s(\"mailto:\"+n),r._title=\"\",r.appendChild(Z(n)),e.appendChild(r),!0):!!(t=this.match(H))&&(n=t.slice(1,t.length-1),r=new o(\"Link\"),r._destination=s(n),r._title=\"\",r.appendChild(Z(n)),e.appendChild(r),!0)},ie=function(e){var t=this.match(k);if(null===t)return!1;var n=new o(\"HtmlInline\");return n._literal=t,e.appendChild(n),!0},ae=function(e){var t,n,r,o,i,a,s,u,c,d,f,h=0,m=this.pos;if(e===C||e===E)h++,this.pos++;else for(;this.peek()===e;)h++,this.pos++;return 0===h?null:(t=0===m?\"\\n\":this.subject.charAt(m-1),r=this.peek(),n=r===-1?\"\\n\":l(r),u=U.test(n),c=D.test(n),d=U.test(t),f=D.test(t),o=!(u||c&&!d&&!f),i=!(d||f&&!u&&!c),e===p?(a=o&&(!i||f),s=i&&(!o||c)):e===C||e===E?(a=o&&!i,s=i):(a=o,s=i),this.pos=m,{numdelims:h,can_open:a,can_close:s})},se=function(e,t){var n=this.scanDelims(e);if(!n)return!1;var r,o=n.numdelims,i=this.pos;this.pos+=o,r=e===C?\"’\":e===E?\"“\":this.subject.slice(i,this.pos);var a=Z(r);return t.appendChild(a),this.delimiters={cc:e,numdelims:o,node:a,previous:this.delimiters,next:null,can_open:n.can_open,can_close:n.can_close,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},ue=function(e){null!==e.previous&&(e.previous.next=e.next),null===e.next?this.delimiters=e.previous:e.next.previous=e.previous},le=function(e,t){e.next!==t&&(e.next=t,t.previous=e)},ce=function(e){var t,n,r,i,a,s,u,l,c,d,h=[];for(h[p]=e,h[f]=e,h[C]=e,h[E]=e,n=this.delimiters;null!==n&&n.previous!==e;)n=n.previous;for(;null!==n;){var m=n.cc;if(!n.can_close||m!==p&&m!==f&&m!==C&&m!==E)n=n.next;else{for(t=n.previous,d=!1;null!==t&&t!==e&&t!==h[m];){if(t.cc===n.cc&&t.can_open){d=!0;break}t=t.previous}if(r=n,m===f||m===p)if(d){u=n.numdelims<3||t.numdelims<3?n.numdelims<=t.numdelims?n.numdelims:t.numdelims:n.numdelims%2===0?2:1,i=t.node,a=n.node,t.numdelims-=u,n.numdelims-=u,i._literal=i._literal.slice(0,i._literal.length-u),a._literal=a._literal.slice(0,a._literal.length-u);var g=new o(1===u?\"Emph\":\"Strong\");for(l=i._next;l&&l!==a;)c=l._next,l.unlink(),g.appendChild(l),l=c;i.insertAfter(g),le(t,n),0===t.numdelims&&(i.unlink(),this.removeDelimiter(t)),0===n.numdelims&&(a.unlink(),s=n.next,this.removeDelimiter(n),n=s)}else n=n.next;else m===C?(n.node._literal=\"’\",d&&(t.node._literal=\"‘\"),n=n.next):m===E&&(n.node._literal=\"”\",d&&(t.node.literal=\"“\"),n=n.next);d||(h[m]=r.previous,r.can_open||this.removeDelimiter(r))}}for(;null!==this.delimiters&&this.delimiters!==e;)this.removeDelimiter(this.delimiters)},de=function(){var e=this.match(x);return null===e?null:u(e.substr(1,e.length-2))},fe=function(){var e=this.match(I);return null===e?(e=this.match(z),null===e?null:s(u(e))):s(u(e.substr(1,e.length-2)))},pe=function(){var e=this.match(K);return null===e||e.length>1001?0:e.length},he=function(e){var t=this.pos;this.pos+=1;var n=Z(\"[\");return e.appendChild(n),this.delimiters={cc:m,numdelims:1,node:n,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:t,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},me=function(e){var t=this.pos;if(this.pos+=1,this.peek()===m){this.pos+=1;var n=Z(\"![\");e.appendChild(n),this.delimiters={cc:b,numdelims:1,node:n,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:t+1,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters)}else e.appendChild(Z(\"!\"));return!0},ge=function(e){var t,n,r,i,s,u,l=!1;for(this.pos+=1,t=this.pos,u=this.delimiters;null!==u&&u.cc!==m&&u.cc!==b;)u=u.previous;if(null===u)return e.appendChild(Z(\"]\")),!0;if(!u.active)return e.appendChild(Z(\"]\")),this.removeDelimiter(u),!0;if(n=u.cc===b,this.peek()===M)this.pos++,this.spnl()&&null!==(r=this.parseLinkDestination())&&this.spnl()&&(U.test(this.subject.charAt(this.pos-1))&&(i=this.parseLinkTitle()),!0)&&this.spnl()&&this.peek()===A&&(this.pos+=1,l=!0);else{var c=this.pos,d=this.pos,f=this.parseLinkLabel();s=0===f||2===f?this.subject.slice(u.index,t):this.subject.slice(d,d+f),0===f&&(this.pos=c);var p=this.refmap[a(s)];p&&(r=p.destination,i=p.title,l=!0)}if(l){var h=new o(n?\"Image\":\"Link\");h._destination=r,h._title=i||\"\";var g,_;for(g=u.node._next;g;)_=g._next,g.unlink(),h.appendChild(g),g=_;if(e.appendChild(h),this.processEmphasis(u.previous),u.node.unlink(),!n)for(u=this.delimiters;null!==u;)u.cc===m&&(u.active=!1),u=u.previous;return!0}return this.removeDelimiter(u),this.pos=t,e.appendChild(Z(\"]\")),!0},_e=function(e){var t;return!!(t=this.match(j))&&(e.appendChild(Z(c(t))),!0)},be=function(e){var t;return!!(t=this.match(Q))&&(this.options.smart?e.appendChild(Z(t.replace(R,\"…\").replace(W,function(e){var t=0,n=0;return e.length%3===0?n=e.length/3:e.length%2===0?t=e.length/2:e.length%3===2?(t=1,n=(e.length-2)/3):(t=2,n=(e.length-4)/3),\"—\".repeat(n)+\"–\".repeat(t)}))):e.appendChild(Z(t)),!0)},ye=function(e){this.pos+=1;var t=e._lastChild;if(t&&\"Text\"===t.type&&\" \"===t._literal[t._literal.length-1]){var n=\" \"===t._literal[t._literal.length-2];t._literal=t._literal.replace(V,\"\"),e.appendChild(new o(n?\"Hardbreak\":\"Softbreak\"))}else e.appendChild(new o(\"Softbreak\"));return this.match(G),!0},ve=function(e,t){this.subject=e,this.pos=0;var n,r,o,i,s=this.pos;if(i=this.parseLinkLabel(),0===i)return 0;if(n=this.subject.substr(0,i),this.peek()!==w)return this.pos=s,0;if(this.pos++,this.spnl(),r=this.parseLinkDestination(),null===r||0===r.length)return this.pos=s,0;var u=this.pos;this.spnl(),o=this.parseLinkTitle(),null===o&&(o=\"\",this.pos=u);var l=!0;if(null===this.match($)&&(\"\"===o?l=!1:(o=\"\",this.pos=u,l=null!==this.match($))),!l)return this.pos=s,0;var c=a(n);return\"\"===c?(this.pos=s,0):(t[c]||(t[c]={destination:r,title:o}),this.pos-s)},Me=function(e){var t=!1,n=this.peek();if(n===-1)return!1;switch(n){case d:t=this.parseNewline(e);break;case y:t=this.parseBackslash(e);break;case h:t=this.parseBackticks(e);break;case f:case p:t=this.handleDelim(n,e);break;case C:case E:t=this.options.smart&&this.handleDelim(n,e);break;case m:t=this.parseOpenBracket(e);break;case b:t=this.parseBang(e);break;case g:t=this.parseCloseBracket(e);break;case _:t=this.parseAutolink(e)||this.parseHtmlTag(e);break;case v:t=this.parseEntity(e);break;default:t=this.parseString(e)}return t||(this.pos+=1,e.appendChild(Z(l(n)))),!0},Ae=function(e){for(this.subject=e._string_content.trim(),this.pos=0,this.delimiters=null;this.parseInline(e););e._string_content=null,this.processEmphasis(null)};e.exports=r},function(e,t){\"use strict\";var n=/[ \\t\\r\\n]+|[A-Z\\xB5\\xC0-\\xD6\\xD8-\\xDF\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u0149\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u017F\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C5\\u01C7\\u01C8\\u01CA\\u01CB\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F0-\\u01F2\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0345\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03AB\\u03B0\\u03C2\\u03CF-\\u03D1\\u03D5\\u03D6\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F0\\u03F1\\u03F4\\u03F5\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u0587\\u10A0-\\u10C5\\u10C7\\u10CD\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E96-\\u1E9B\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F50\\u1F52\\u1F54\\u1F56\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1F80-\\u1FAF\\u1FB2-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD2\\u1FD3\\u1FD6-\\u1FDB\\u1FE2-\\u1FE4\\u1FE6-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2126\\u212A\\u212B\\u2132\\u2160-\\u216F\\u2183\\u24B6-\\u24CF\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AD\\uA7B0\\uA7B1\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27]|\\uD806[\\uDCA0-\\uDCBF]/g,r={\nA:\"a\",B:\"b\",C:\"c\",D:\"d\",E:\"e\",F:\"f\",G:\"g\",H:\"h\",I:\"i\",J:\"j\",K:\"k\",L:\"l\",M:\"m\",N:\"n\",O:\"o\",P:\"p\",Q:\"q\",R:\"r\",S:\"s\",T:\"t\",U:\"u\",V:\"v\",W:\"w\",X:\"x\",Y:\"y\",Z:\"z\",\"µ\":\"μ\",\"À\":\"à\",\"Á\":\"á\",\"Â\":\"â\",\"Ã\":\"ã\",\"Ä\":\"ä\",\"Å\":\"å\",\"Æ\":\"æ\",\"Ç\":\"ç\",\"È\":\"è\",\"É\":\"é\",\"Ê\":\"ê\",\"Ë\":\"ë\",\"Ì\":\"ì\",\"Í\":\"í\",\"Î\":\"î\",\"Ï\":\"ï\",\"Ð\":\"ð\",\"Ñ\":\"ñ\",\"Ò\":\"ò\",\"Ó\":\"ó\",\"Ô\":\"ô\",\"Õ\":\"õ\",\"Ö\":\"ö\",\"Ø\":\"ø\",\"Ù\":\"ù\",\"Ú\":\"ú\",\"Û\":\"û\",\"Ü\":\"ü\",\"Ý\":\"ý\",\"Þ\":\"þ\",\"Ā\":\"ā\",\"Ă\":\"ă\",\"Ą\":\"ą\",\"Ć\":\"ć\",\"Ĉ\":\"ĉ\",\"Ċ\":\"ċ\",\"Č\":\"č\",\"Ď\":\"ď\",\"Đ\":\"đ\",\"Ē\":\"ē\",\"Ĕ\":\"ĕ\",\"Ė\":\"ė\",\"Ę\":\"ę\",\"Ě\":\"ě\",\"Ĝ\":\"ĝ\",\"Ğ\":\"ğ\",\"Ġ\":\"ġ\",\"Ģ\":\"ģ\",\"Ĥ\":\"ĥ\",\"Ħ\":\"ħ\",\"Ĩ\":\"ĩ\",\"Ī\":\"ī\",\"Ĭ\":\"ĭ\",\"Į\":\"į\",\"IJ\":\"ij\",\"Ĵ\":\"ĵ\",\"Ķ\":\"ķ\",\"Ĺ\":\"ĺ\",\"Ļ\":\"ļ\",\"Ľ\":\"ľ\",\"Ŀ\":\"ŀ\",\"Ł\":\"ł\",\"Ń\":\"ń\",\"Ņ\":\"ņ\",\"Ň\":\"ň\",\"Ŋ\":\"ŋ\",\"Ō\":\"ō\",\"Ŏ\":\"ŏ\",\"Ő\":\"ő\",\"Œ\":\"œ\",\"Ŕ\":\"ŕ\",\"Ŗ\":\"ŗ\",\"Ř\":\"ř\",\"Ś\":\"ś\",\"Ŝ\":\"ŝ\",\"Ş\":\"ş\",\"Š\":\"š\",\"Ţ\":\"ţ\",\"Ť\":\"ť\",\"Ŧ\":\"ŧ\",\"Ũ\":\"ũ\",\"Ū\":\"ū\",\"Ŭ\":\"ŭ\",\"Ů\":\"ů\",\"Ű\":\"ű\",\"Ų\":\"ų\",\"Ŵ\":\"ŵ\",\"Ŷ\":\"ŷ\",\"Ÿ\":\"ÿ\",\"Ź\":\"ź\",\"Ż\":\"ż\",\"Ž\":\"ž\",\"ſ\":\"s\",\"Ɓ\":\"ɓ\",\"Ƃ\":\"ƃ\",\"Ƅ\":\"ƅ\",\"Ɔ\":\"ɔ\",\"Ƈ\":\"ƈ\",\"Ɖ\":\"ɖ\",\"Ɗ\":\"ɗ\",\"Ƌ\":\"ƌ\",\"Ǝ\":\"ǝ\",\"Ə\":\"ə\",\"Ɛ\":\"ɛ\",\"Ƒ\":\"ƒ\",\"Ɠ\":\"ɠ\",\"Ɣ\":\"ɣ\",\"Ɩ\":\"ɩ\",\"Ɨ\":\"ɨ\",\"Ƙ\":\"ƙ\",\"Ɯ\":\"ɯ\",\"Ɲ\":\"ɲ\",\"Ɵ\":\"ɵ\",\"Ơ\":\"ơ\",\"Ƣ\":\"ƣ\",\"Ƥ\":\"ƥ\",\"Ʀ\":\"ʀ\",\"Ƨ\":\"ƨ\",\"Ʃ\":\"ʃ\",\"Ƭ\":\"ƭ\",\"Ʈ\":\"ʈ\",\"Ư\":\"ư\",\"Ʊ\":\"ʊ\",\"Ʋ\":\"ʋ\",\"Ƴ\":\"ƴ\",\"Ƶ\":\"ƶ\",\"Ʒ\":\"ʒ\",\"Ƹ\":\"ƹ\",\"Ƽ\":\"ƽ\",\"DŽ\":\"dž\",\"Dž\":\"dž\",\"LJ\":\"lj\",\"Lj\":\"lj\",\"NJ\":\"nj\",\"Nj\":\"nj\",\"Ǎ\":\"ǎ\",\"Ǐ\":\"ǐ\",\"Ǒ\":\"ǒ\",\"Ǔ\":\"ǔ\",\"Ǖ\":\"ǖ\",\"Ǘ\":\"ǘ\",\"Ǚ\":\"ǚ\",\"Ǜ\":\"ǜ\",\"Ǟ\":\"ǟ\",\"Ǡ\":\"ǡ\",\"Ǣ\":\"ǣ\",\"Ǥ\":\"ǥ\",\"Ǧ\":\"ǧ\",\"Ǩ\":\"ǩ\",\"Ǫ\":\"ǫ\",\"Ǭ\":\"ǭ\",\"Ǯ\":\"ǯ\",\"DZ\":\"dz\",\"Dz\":\"dz\",\"Ǵ\":\"ǵ\",\"Ƕ\":\"ƕ\",\"Ƿ\":\"ƿ\",\"Ǹ\":\"ǹ\",\"Ǻ\":\"ǻ\",\"Ǽ\":\"ǽ\",\"Ǿ\":\"ǿ\",\"Ȁ\":\"ȁ\",\"Ȃ\":\"ȃ\",\"Ȅ\":\"ȅ\",\"Ȇ\":\"ȇ\",\"Ȉ\":\"ȉ\",\"Ȋ\":\"ȋ\",\"Ȍ\":\"ȍ\",\"Ȏ\":\"ȏ\",\"Ȑ\":\"ȑ\",\"Ȓ\":\"ȓ\",\"Ȕ\":\"ȕ\",\"Ȗ\":\"ȗ\",\"Ș\":\"ș\",\"Ț\":\"ț\",\"Ȝ\":\"ȝ\",\"Ȟ\":\"ȟ\",\"Ƞ\":\"ƞ\",\"Ȣ\":\"ȣ\",\"Ȥ\":\"ȥ\",\"Ȧ\":\"ȧ\",\"Ȩ\":\"ȩ\",\"Ȫ\":\"ȫ\",\"Ȭ\":\"ȭ\",\"Ȯ\":\"ȯ\",\"Ȱ\":\"ȱ\",\"Ȳ\":\"ȳ\",\"Ⱥ\":\"ⱥ\",\"Ȼ\":\"ȼ\",\"Ƚ\":\"ƚ\",\"Ⱦ\":\"ⱦ\",\"Ɂ\":\"ɂ\",\"Ƀ\":\"ƀ\",\"Ʉ\":\"ʉ\",\"Ʌ\":\"ʌ\",\"Ɇ\":\"ɇ\",\"Ɉ\":\"ɉ\",\"Ɋ\":\"ɋ\",\"Ɍ\":\"ɍ\",\"Ɏ\":\"ɏ\",\"ͅ\":\"ι\",\"Ͱ\":\"ͱ\",\"Ͳ\":\"ͳ\",\"Ͷ\":\"ͷ\",\"Ϳ\":\"ϳ\",\"Ά\":\"ά\",\"Έ\":\"έ\",\"Ή\":\"ή\",\"Ί\":\"ί\",\"Ό\":\"ό\",\"Ύ\":\"ύ\",\"Ώ\":\"ώ\",\"Α\":\"α\",\"Β\":\"β\",\"Γ\":\"γ\",\"Δ\":\"δ\",\"Ε\":\"ε\",\"Ζ\":\"ζ\",\"Η\":\"η\",\"Θ\":\"θ\",\"Ι\":\"ι\",\"Κ\":\"κ\",\"Λ\":\"λ\",\"Μ\":\"μ\",\"Ν\":\"ν\",\"Ξ\":\"ξ\",\"Ο\":\"ο\",\"Π\":\"π\",\"Ρ\":\"ρ\",\"Σ\":\"σ\",\"Τ\":\"τ\",\"Υ\":\"υ\",\"Φ\":\"φ\",\"Χ\":\"χ\",\"Ψ\":\"ψ\",\"Ω\":\"ω\",\"Ϊ\":\"ϊ\",\"Ϋ\":\"ϋ\",\"ς\":\"σ\",\"Ϗ\":\"ϗ\",\"ϐ\":\"β\",\"ϑ\":\"θ\",\"ϕ\":\"φ\",\"ϖ\":\"π\",\"Ϙ\":\"ϙ\",\"Ϛ\":\"ϛ\",\"Ϝ\":\"ϝ\",\"Ϟ\":\"ϟ\",\"Ϡ\":\"ϡ\",\"Ϣ\":\"ϣ\",\"Ϥ\":\"ϥ\",\"Ϧ\":\"ϧ\",\"Ϩ\":\"ϩ\",\"Ϫ\":\"ϫ\",\"Ϭ\":\"ϭ\",\"Ϯ\":\"ϯ\",\"ϰ\":\"κ\",\"ϱ\":\"ρ\",\"ϴ\":\"θ\",\"ϵ\":\"ε\",\"Ϸ\":\"ϸ\",\"Ϲ\":\"ϲ\",\"Ϻ\":\"ϻ\",\"Ͻ\":\"ͻ\",\"Ͼ\":\"ͼ\",\"Ͽ\":\"ͽ\",\"Ѐ\":\"ѐ\",\"Ё\":\"ё\",\"Ђ\":\"ђ\",\"Ѓ\":\"ѓ\",\"Є\":\"є\",\"Ѕ\":\"ѕ\",\"І\":\"і\",\"Ї\":\"ї\",\"Ј\":\"ј\",\"Љ\":\"љ\",\"Њ\":\"њ\",\"Ћ\":\"ћ\",\"Ќ\":\"ќ\",\"Ѝ\":\"ѝ\",\"Ў\":\"ў\",\"Џ\":\"џ\",\"А\":\"а\",\"Б\":\"б\",\"В\":\"в\",\"Г\":\"г\",\"Д\":\"д\",\"Е\":\"е\",\"Ж\":\"ж\",\"З\":\"з\",\"И\":\"и\",\"Й\":\"й\",\"К\":\"к\",\"Л\":\"л\",\"М\":\"м\",\"Н\":\"н\",\"О\":\"о\",\"П\":\"п\",\"Р\":\"р\",\"С\":\"с\",\"Т\":\"т\",\"У\":\"у\",\"Ф\":\"ф\",\"Х\":\"х\",\"Ц\":\"ц\",\"Ч\":\"ч\",\"Ш\":\"ш\",\"Щ\":\"щ\",\"Ъ\":\"ъ\",\"Ы\":\"ы\",\"Ь\":\"ь\",\"Э\":\"э\",\"Ю\":\"ю\",\"Я\":\"я\",\"Ѡ\":\"ѡ\",\"Ѣ\":\"ѣ\",\"Ѥ\":\"ѥ\",\"Ѧ\":\"ѧ\",\"Ѩ\":\"ѩ\",\"Ѫ\":\"ѫ\",\"Ѭ\":\"ѭ\",\"Ѯ\":\"ѯ\",\"Ѱ\":\"ѱ\",\"Ѳ\":\"ѳ\",\"Ѵ\":\"ѵ\",\"Ѷ\":\"ѷ\",\"Ѹ\":\"ѹ\",\"Ѻ\":\"ѻ\",\"Ѽ\":\"ѽ\",\"Ѿ\":\"ѿ\",\"Ҁ\":\"ҁ\",\"Ҋ\":\"ҋ\",\"Ҍ\":\"ҍ\",\"Ҏ\":\"ҏ\",\"Ґ\":\"ґ\",\"Ғ\":\"ғ\",\"Ҕ\":\"ҕ\",\"Җ\":\"җ\",\"Ҙ\":\"ҙ\",\"Қ\":\"қ\",\"Ҝ\":\"ҝ\",\"Ҟ\":\"ҟ\",\"Ҡ\":\"ҡ\",\"Ң\":\"ң\",\"Ҥ\":\"ҥ\",\"Ҧ\":\"ҧ\",\"Ҩ\":\"ҩ\",\"Ҫ\":\"ҫ\",\"Ҭ\":\"ҭ\",\"Ү\":\"ү\",\"Ұ\":\"ұ\",\"Ҳ\":\"ҳ\",\"Ҵ\":\"ҵ\",\"Ҷ\":\"ҷ\",\"Ҹ\":\"ҹ\",\"Һ\":\"һ\",\"Ҽ\":\"ҽ\",\"Ҿ\":\"ҿ\",\"Ӏ\":\"ӏ\",\"Ӂ\":\"ӂ\",\"Ӄ\":\"ӄ\",\"Ӆ\":\"ӆ\",\"Ӈ\":\"ӈ\",\"Ӊ\":\"ӊ\",\"Ӌ\":\"ӌ\",\"Ӎ\":\"ӎ\",\"Ӑ\":\"ӑ\",\"Ӓ\":\"ӓ\",\"Ӕ\":\"ӕ\",\"Ӗ\":\"ӗ\",\"Ә\":\"ә\",\"Ӛ\":\"ӛ\",\"Ӝ\":\"ӝ\",\"Ӟ\":\"ӟ\",\"Ӡ\":\"ӡ\",\"Ӣ\":\"ӣ\",\"Ӥ\":\"ӥ\",\"Ӧ\":\"ӧ\",\"Ө\":\"ө\",\"Ӫ\":\"ӫ\",\"Ӭ\":\"ӭ\",\"Ӯ\":\"ӯ\",\"Ӱ\":\"ӱ\",\"Ӳ\":\"ӳ\",\"Ӵ\":\"ӵ\",\"Ӷ\":\"ӷ\",\"Ӹ\":\"ӹ\",\"Ӻ\":\"ӻ\",\"Ӽ\":\"ӽ\",\"Ӿ\":\"ӿ\",\"Ԁ\":\"ԁ\",\"Ԃ\":\"ԃ\",\"Ԅ\":\"ԅ\",\"Ԇ\":\"ԇ\",\"Ԉ\":\"ԉ\",\"Ԋ\":\"ԋ\",\"Ԍ\":\"ԍ\",\"Ԏ\":\"ԏ\",\"Ԑ\":\"ԑ\",\"Ԓ\":\"ԓ\",\"Ԕ\":\"ԕ\",\"Ԗ\":\"ԗ\",\"Ԙ\":\"ԙ\",\"Ԛ\":\"ԛ\",\"Ԝ\":\"ԝ\",\"Ԟ\":\"ԟ\",\"Ԡ\":\"ԡ\",\"Ԣ\":\"ԣ\",\"Ԥ\":\"ԥ\",\"Ԧ\":\"ԧ\",\"Ԩ\":\"ԩ\",\"Ԫ\":\"ԫ\",\"Ԭ\":\"ԭ\",\"Ԯ\":\"ԯ\",\"Ա\":\"ա\",\"Բ\":\"բ\",\"Գ\":\"գ\",\"Դ\":\"դ\",\"Ե\":\"ե\",\"Զ\":\"զ\",\"Է\":\"է\",\"Ը\":\"ը\",\"Թ\":\"թ\",\"Ժ\":\"ժ\",\"Ի\":\"ի\",\"Լ\":\"լ\",\"Խ\":\"խ\",\"Ծ\":\"ծ\",\"Կ\":\"կ\",\"Հ\":\"հ\",\"Ձ\":\"ձ\",\"Ղ\":\"ղ\",\"Ճ\":\"ճ\",\"Մ\":\"մ\",\"Յ\":\"յ\",\"Ն\":\"ն\",\"Շ\":\"շ\",\"Ո\":\"ո\",\"Չ\":\"չ\",\"Պ\":\"պ\",\"Ջ\":\"ջ\",\"Ռ\":\"ռ\",\"Ս\":\"ս\",\"Վ\":\"վ\",\"Տ\":\"տ\",\"Ր\":\"ր\",\"Ց\":\"ց\",\"Ւ\":\"ւ\",\"Փ\":\"փ\",\"Ք\":\"ք\",\"Օ\":\"օ\",\"Ֆ\":\"ֆ\",\"Ⴀ\":\"ⴀ\",\"Ⴁ\":\"ⴁ\",\"Ⴂ\":\"ⴂ\",\"Ⴃ\":\"ⴃ\",\"Ⴄ\":\"ⴄ\",\"Ⴅ\":\"ⴅ\",\"Ⴆ\":\"ⴆ\",\"Ⴇ\":\"ⴇ\",\"Ⴈ\":\"ⴈ\",\"Ⴉ\":\"ⴉ\",\"Ⴊ\":\"ⴊ\",\"Ⴋ\":\"ⴋ\",\"Ⴌ\":\"ⴌ\",\"Ⴍ\":\"ⴍ\",\"Ⴎ\":\"ⴎ\",\"Ⴏ\":\"ⴏ\",\"Ⴐ\":\"ⴐ\",\"Ⴑ\":\"ⴑ\",\"Ⴒ\":\"ⴒ\",\"Ⴓ\":\"ⴓ\",\"Ⴔ\":\"ⴔ\",\"Ⴕ\":\"ⴕ\",\"Ⴖ\":\"ⴖ\",\"Ⴗ\":\"ⴗ\",\"Ⴘ\":\"ⴘ\",\"Ⴙ\":\"ⴙ\",\"Ⴚ\":\"ⴚ\",\"Ⴛ\":\"ⴛ\",\"Ⴜ\":\"ⴜ\",\"Ⴝ\":\"ⴝ\",\"Ⴞ\":\"ⴞ\",\"Ⴟ\":\"ⴟ\",\"Ⴠ\":\"ⴠ\",\"Ⴡ\":\"ⴡ\",\"Ⴢ\":\"ⴢ\",\"Ⴣ\":\"ⴣ\",\"Ⴤ\":\"ⴤ\",\"Ⴥ\":\"ⴥ\",\"Ⴧ\":\"ⴧ\",\"Ⴭ\":\"ⴭ\",\"Ḁ\":\"ḁ\",\"Ḃ\":\"ḃ\",\"Ḅ\":\"ḅ\",\"Ḇ\":\"ḇ\",\"Ḉ\":\"ḉ\",\"Ḋ\":\"ḋ\",\"Ḍ\":\"ḍ\",\"Ḏ\":\"ḏ\",\"Ḑ\":\"ḑ\",\"Ḓ\":\"ḓ\",\"Ḕ\":\"ḕ\",\"Ḗ\":\"ḗ\",\"Ḙ\":\"ḙ\",\"Ḛ\":\"ḛ\",\"Ḝ\":\"ḝ\",\"Ḟ\":\"ḟ\",\"Ḡ\":\"ḡ\",\"Ḣ\":\"ḣ\",\"Ḥ\":\"ḥ\",\"Ḧ\":\"ḧ\",\"Ḩ\":\"ḩ\",\"Ḫ\":\"ḫ\",\"Ḭ\":\"ḭ\",\"Ḯ\":\"ḯ\",\"Ḱ\":\"ḱ\",\"Ḳ\":\"ḳ\",\"Ḵ\":\"ḵ\",\"Ḷ\":\"ḷ\",\"Ḹ\":\"ḹ\",\"Ḻ\":\"ḻ\",\"Ḽ\":\"ḽ\",\"Ḿ\":\"ḿ\",\"Ṁ\":\"ṁ\",\"Ṃ\":\"ṃ\",\"Ṅ\":\"ṅ\",\"Ṇ\":\"ṇ\",\"Ṉ\":\"ṉ\",\"Ṋ\":\"ṋ\",\"Ṍ\":\"ṍ\",\"Ṏ\":\"ṏ\",\"Ṑ\":\"ṑ\",\"Ṓ\":\"ṓ\",\"Ṕ\":\"ṕ\",\"Ṗ\":\"ṗ\",\"Ṙ\":\"ṙ\",\"Ṛ\":\"ṛ\",\"Ṝ\":\"ṝ\",\"Ṟ\":\"ṟ\",\"Ṡ\":\"ṡ\",\"Ṣ\":\"ṣ\",\"Ṥ\":\"ṥ\",\"Ṧ\":\"ṧ\",\"Ṩ\":\"ṩ\",\"Ṫ\":\"ṫ\",\"Ṭ\":\"ṭ\",\"Ṯ\":\"ṯ\",\"Ṱ\":\"ṱ\",\"Ṳ\":\"ṳ\",\"Ṵ\":\"ṵ\",\"Ṷ\":\"ṷ\",\"Ṹ\":\"ṹ\",\"Ṻ\":\"ṻ\",\"Ṽ\":\"ṽ\",\"Ṿ\":\"ṿ\",\"Ẁ\":\"ẁ\",\"Ẃ\":\"ẃ\",\"Ẅ\":\"ẅ\",\"Ẇ\":\"ẇ\",\"Ẉ\":\"ẉ\",\"Ẋ\":\"ẋ\",\"Ẍ\":\"ẍ\",\"Ẏ\":\"ẏ\",\"Ẑ\":\"ẑ\",\"Ẓ\":\"ẓ\",\"Ẕ\":\"ẕ\",\"ẛ\":\"ṡ\",\"Ạ\":\"ạ\",\"Ả\":\"ả\",\"Ấ\":\"ấ\",\"Ầ\":\"ầ\",\"Ẩ\":\"ẩ\",\"Ẫ\":\"ẫ\",\"Ậ\":\"ậ\",\"Ắ\":\"ắ\",\"Ằ\":\"ằ\",\"Ẳ\":\"ẳ\",\"Ẵ\":\"ẵ\",\"Ặ\":\"ặ\",\"Ẹ\":\"ẹ\",\"Ẻ\":\"ẻ\",\"Ẽ\":\"ẽ\",\"Ế\":\"ế\",\"Ề\":\"ề\",\"Ể\":\"ể\",\"Ễ\":\"ễ\",\"Ệ\":\"ệ\",\"Ỉ\":\"ỉ\",\"Ị\":\"ị\",\"Ọ\":\"ọ\",\"Ỏ\":\"ỏ\",\"Ố\":\"ố\",\"Ồ\":\"ồ\",\"Ổ\":\"ổ\",\"Ỗ\":\"ỗ\",\"Ộ\":\"ộ\",\"Ớ\":\"ớ\",\"Ờ\":\"ờ\",\"Ở\":\"ở\",\"Ỡ\":\"ỡ\",\"Ợ\":\"ợ\",\"Ụ\":\"ụ\",\"Ủ\":\"ủ\",\"Ứ\":\"ứ\",\"Ừ\":\"ừ\",\"Ử\":\"ử\",\"Ữ\":\"ữ\",\"Ự\":\"ự\",\"Ỳ\":\"ỳ\",\"Ỵ\":\"ỵ\",\"Ỷ\":\"ỷ\",\"Ỹ\":\"ỹ\",\"Ỻ\":\"ỻ\",\"Ỽ\":\"ỽ\",\"Ỿ\":\"ỿ\",\"Ἀ\":\"ἀ\",\"Ἁ\":\"ἁ\",\"Ἂ\":\"ἂ\",\"Ἃ\":\"ἃ\",\"Ἄ\":\"ἄ\",\"Ἅ\":\"ἅ\",\"Ἆ\":\"ἆ\",\"Ἇ\":\"ἇ\",\"Ἐ\":\"ἐ\",\"Ἑ\":\"ἑ\",\"Ἒ\":\"ἒ\",\"Ἓ\":\"ἓ\",\"Ἔ\":\"ἔ\",\"Ἕ\":\"ἕ\",\"Ἠ\":\"ἠ\",\"Ἡ\":\"ἡ\",\"Ἢ\":\"ἢ\",\"Ἣ\":\"ἣ\",\"Ἤ\":\"ἤ\",\"Ἥ\":\"ἥ\",\"Ἦ\":\"ἦ\",\"Ἧ\":\"ἧ\",\"Ἰ\":\"ἰ\",\"Ἱ\":\"ἱ\",\"Ἲ\":\"ἲ\",\"Ἳ\":\"ἳ\",\"Ἴ\":\"ἴ\",\"Ἵ\":\"ἵ\",\"Ἶ\":\"ἶ\",\"Ἷ\":\"ἷ\",\"Ὀ\":\"ὀ\",\"Ὁ\":\"ὁ\",\"Ὂ\":\"ὂ\",\"Ὃ\":\"ὃ\",\"Ὄ\":\"ὄ\",\"Ὅ\":\"ὅ\",\"Ὑ\":\"ὑ\",\"Ὓ\":\"ὓ\",\"Ὕ\":\"ὕ\",\"Ὗ\":\"ὗ\",\"Ὠ\":\"ὠ\",\"Ὡ\":\"ὡ\",\"Ὢ\":\"ὢ\",\"Ὣ\":\"ὣ\",\"Ὤ\":\"ὤ\",\"Ὥ\":\"ὥ\",\"Ὦ\":\"ὦ\",\"Ὧ\":\"ὧ\",\"Ᾰ\":\"ᾰ\",\"Ᾱ\":\"ᾱ\",\"Ὰ\":\"ὰ\",\"Ά\":\"ά\",\"ι\":\"ι\",\"Ὲ\":\"ὲ\",\"Έ\":\"έ\",\"Ὴ\":\"ὴ\",\"Ή\":\"ή\",\"Ῐ\":\"ῐ\",\"Ῑ\":\"ῑ\",\"Ὶ\":\"ὶ\",\"Ί\":\"ί\",\"Ῠ\":\"ῠ\",\"Ῡ\":\"ῡ\",\"Ὺ\":\"ὺ\",\"Ύ\":\"ύ\",\"Ῥ\":\"ῥ\",\"Ὸ\":\"ὸ\",\"Ό\":\"ό\",\"Ὼ\":\"ὼ\",\"Ώ\":\"ώ\",\"Ω\":\"ω\",\"K\":\"k\",\"Å\":\"å\",\"Ⅎ\":\"ⅎ\",\"Ⅰ\":\"ⅰ\",\"Ⅱ\":\"ⅱ\",\"Ⅲ\":\"ⅲ\",\"Ⅳ\":\"ⅳ\",\"Ⅴ\":\"ⅴ\",\"Ⅵ\":\"ⅵ\",\"Ⅶ\":\"ⅶ\",\"Ⅷ\":\"ⅷ\",\"Ⅸ\":\"ⅸ\",\"Ⅹ\":\"ⅹ\",\"Ⅺ\":\"ⅺ\",\"Ⅻ\":\"ⅻ\",\"Ⅼ\":\"ⅼ\",\"Ⅽ\":\"ⅽ\",\"Ⅾ\":\"ⅾ\",\"Ⅿ\":\"ⅿ\",\"Ↄ\":\"ↄ\",\"Ⓐ\":\"ⓐ\",\"Ⓑ\":\"ⓑ\",\"Ⓒ\":\"ⓒ\",\"Ⓓ\":\"ⓓ\",\"Ⓔ\":\"ⓔ\",\"Ⓕ\":\"ⓕ\",\"Ⓖ\":\"ⓖ\",\"Ⓗ\":\"ⓗ\",\"Ⓘ\":\"ⓘ\",\"Ⓙ\":\"ⓙ\",\"Ⓚ\":\"ⓚ\",\"Ⓛ\":\"ⓛ\",\"Ⓜ\":\"ⓜ\",\"Ⓝ\":\"ⓝ\",\"Ⓞ\":\"ⓞ\",\"Ⓟ\":\"ⓟ\",\"Ⓠ\":\"ⓠ\",\"Ⓡ\":\"ⓡ\",\"Ⓢ\":\"ⓢ\",\"Ⓣ\":\"ⓣ\",\"Ⓤ\":\"ⓤ\",\"Ⓥ\":\"ⓥ\",\"Ⓦ\":\"ⓦ\",\"Ⓧ\":\"ⓧ\",\"Ⓨ\":\"ⓨ\",\"Ⓩ\":\"ⓩ\",\"Ⰰ\":\"ⰰ\",\"Ⰱ\":\"ⰱ\",\"Ⰲ\":\"ⰲ\",\"Ⰳ\":\"ⰳ\",\"Ⰴ\":\"ⰴ\",\"Ⰵ\":\"ⰵ\",\"Ⰶ\":\"ⰶ\",\"Ⰷ\":\"ⰷ\",\"Ⰸ\":\"ⰸ\",\"Ⰹ\":\"ⰹ\",\"Ⰺ\":\"ⰺ\",\"Ⰻ\":\"ⰻ\",\"Ⰼ\":\"ⰼ\",\"Ⰽ\":\"ⰽ\",\"Ⰾ\":\"ⰾ\",\"Ⰿ\":\"ⰿ\",\"Ⱀ\":\"ⱀ\",\"Ⱁ\":\"ⱁ\",\"Ⱂ\":\"ⱂ\",\"Ⱃ\":\"ⱃ\",\"Ⱄ\":\"ⱄ\",\"Ⱅ\":\"ⱅ\",\"Ⱆ\":\"ⱆ\",\"Ⱇ\":\"ⱇ\",\"Ⱈ\":\"ⱈ\",\"Ⱉ\":\"ⱉ\",\"Ⱊ\":\"ⱊ\",\"Ⱋ\":\"ⱋ\",\"Ⱌ\":\"ⱌ\",\"Ⱍ\":\"ⱍ\",\"Ⱎ\":\"ⱎ\",\"Ⱏ\":\"ⱏ\",\"Ⱐ\":\"ⱐ\",\"Ⱑ\":\"ⱑ\",\"Ⱒ\":\"ⱒ\",\"Ⱓ\":\"ⱓ\",\"Ⱔ\":\"ⱔ\",\"Ⱕ\":\"ⱕ\",\"Ⱖ\":\"ⱖ\",\"Ⱗ\":\"ⱗ\",\"Ⱘ\":\"ⱘ\",\"Ⱙ\":\"ⱙ\",\"Ⱚ\":\"ⱚ\",\"Ⱛ\":\"ⱛ\",\"Ⱜ\":\"ⱜ\",\"Ⱝ\":\"ⱝ\",\"Ⱞ\":\"ⱞ\",\"Ⱡ\":\"ⱡ\",\"Ɫ\":\"ɫ\",\"Ᵽ\":\"ᵽ\",\"Ɽ\":\"ɽ\",\"Ⱨ\":\"ⱨ\",\"Ⱪ\":\"ⱪ\",\"Ⱬ\":\"ⱬ\",\"Ɑ\":\"ɑ\",\"Ɱ\":\"ɱ\",\"Ɐ\":\"ɐ\",\"Ɒ\":\"ɒ\",\"Ⱳ\":\"ⱳ\",\"Ⱶ\":\"ⱶ\",\"Ȿ\":\"ȿ\",\"Ɀ\":\"ɀ\",\"Ⲁ\":\"ⲁ\",\"Ⲃ\":\"ⲃ\",\"Ⲅ\":\"ⲅ\",\"Ⲇ\":\"ⲇ\",\"Ⲉ\":\"ⲉ\",\"Ⲋ\":\"ⲋ\",\"Ⲍ\":\"ⲍ\",\"Ⲏ\":\"ⲏ\",\"Ⲑ\":\"ⲑ\",\"Ⲓ\":\"ⲓ\",\"Ⲕ\":\"ⲕ\",\"Ⲗ\":\"ⲗ\",\"Ⲙ\":\"ⲙ\",\"Ⲛ\":\"ⲛ\",\"Ⲝ\":\"ⲝ\",\"Ⲟ\":\"ⲟ\",\"Ⲡ\":\"ⲡ\",\"Ⲣ\":\"ⲣ\",\"Ⲥ\":\"ⲥ\",\"Ⲧ\":\"ⲧ\",\"Ⲩ\":\"ⲩ\",\"Ⲫ\":\"ⲫ\",\"Ⲭ\":\"ⲭ\",\"Ⲯ\":\"ⲯ\",\"Ⲱ\":\"ⲱ\",\"Ⲳ\":\"ⲳ\",\"Ⲵ\":\"ⲵ\",\"Ⲷ\":\"ⲷ\",\"Ⲹ\":\"ⲹ\",\"Ⲻ\":\"ⲻ\",\"Ⲽ\":\"ⲽ\",\"Ⲿ\":\"ⲿ\",\"Ⳁ\":\"ⳁ\",\"Ⳃ\":\"ⳃ\",\"Ⳅ\":\"ⳅ\",\"Ⳇ\":\"ⳇ\",\"Ⳉ\":\"ⳉ\",\"Ⳋ\":\"ⳋ\",\"Ⳍ\":\"ⳍ\",\"Ⳏ\":\"ⳏ\",\"Ⳑ\":\"ⳑ\",\"Ⳓ\":\"ⳓ\",\"Ⳕ\":\"ⳕ\",\"Ⳗ\":\"ⳗ\",\"Ⳙ\":\"ⳙ\",\"Ⳛ\":\"ⳛ\",\"Ⳝ\":\"ⳝ\",\"Ⳟ\":\"ⳟ\",\"Ⳡ\":\"ⳡ\",\"Ⳣ\":\"ⳣ\",\"Ⳬ\":\"ⳬ\",\"Ⳮ\":\"ⳮ\",\"Ⳳ\":\"ⳳ\",\"Ꙁ\":\"ꙁ\",\"Ꙃ\":\"ꙃ\",\"Ꙅ\":\"ꙅ\",\"Ꙇ\":\"ꙇ\",\"Ꙉ\":\"ꙉ\",\"Ꙋ\":\"ꙋ\",\"Ꙍ\":\"ꙍ\",\"Ꙏ\":\"ꙏ\",\"Ꙑ\":\"ꙑ\",\"Ꙓ\":\"ꙓ\",\"Ꙕ\":\"ꙕ\",\"Ꙗ\":\"ꙗ\",\"Ꙙ\":\"ꙙ\",\"Ꙛ\":\"ꙛ\",\"Ꙝ\":\"ꙝ\",\"Ꙟ\":\"ꙟ\",\"Ꙡ\":\"ꙡ\",\"Ꙣ\":\"ꙣ\",\"Ꙥ\":\"ꙥ\",\"Ꙧ\":\"ꙧ\",\"Ꙩ\":\"ꙩ\",\"Ꙫ\":\"ꙫ\",\"Ꙭ\":\"ꙭ\",\"Ꚁ\":\"ꚁ\",\"Ꚃ\":\"ꚃ\",\"Ꚅ\":\"ꚅ\",\"Ꚇ\":\"ꚇ\",\"Ꚉ\":\"ꚉ\",\"Ꚋ\":\"ꚋ\",\"Ꚍ\":\"ꚍ\",\"Ꚏ\":\"ꚏ\",\"Ꚑ\":\"ꚑ\",\"Ꚓ\":\"ꚓ\",\"Ꚕ\":\"ꚕ\",\"Ꚗ\":\"ꚗ\",\"Ꚙ\":\"ꚙ\",\"Ꚛ\":\"ꚛ\",\"Ꜣ\":\"ꜣ\",\"Ꜥ\":\"ꜥ\",\"Ꜧ\":\"ꜧ\",\"Ꜩ\":\"ꜩ\",\"Ꜫ\":\"ꜫ\",\"Ꜭ\":\"ꜭ\",\"Ꜯ\":\"ꜯ\",\"Ꜳ\":\"ꜳ\",\"Ꜵ\":\"ꜵ\",\"Ꜷ\":\"ꜷ\",\"Ꜹ\":\"ꜹ\",\"Ꜻ\":\"ꜻ\",\"Ꜽ\":\"ꜽ\",\"Ꜿ\":\"ꜿ\",\"Ꝁ\":\"ꝁ\",\"Ꝃ\":\"ꝃ\",\"Ꝅ\":\"ꝅ\",\"Ꝇ\":\"ꝇ\",\"Ꝉ\":\"ꝉ\",\"Ꝋ\":\"ꝋ\",\"Ꝍ\":\"ꝍ\",\"Ꝏ\":\"ꝏ\",\"Ꝑ\":\"ꝑ\",\"Ꝓ\":\"ꝓ\",\"Ꝕ\":\"ꝕ\",\"Ꝗ\":\"ꝗ\",\"Ꝙ\":\"ꝙ\",\"Ꝛ\":\"ꝛ\",\"Ꝝ\":\"ꝝ\",\"Ꝟ\":\"ꝟ\",\"Ꝡ\":\"ꝡ\",\"Ꝣ\":\"ꝣ\",\"Ꝥ\":\"ꝥ\",\"Ꝧ\":\"ꝧ\",\"Ꝩ\":\"ꝩ\",\"Ꝫ\":\"ꝫ\",\"Ꝭ\":\"ꝭ\",\"Ꝯ\":\"ꝯ\",\"Ꝺ\":\"ꝺ\",\"Ꝼ\":\"ꝼ\",\"Ᵹ\":\"ᵹ\",\"Ꝿ\":\"ꝿ\",\"Ꞁ\":\"ꞁ\",\"Ꞃ\":\"ꞃ\",\"Ꞅ\":\"ꞅ\",\"Ꞇ\":\"ꞇ\",\"Ꞌ\":\"ꞌ\",\"Ɥ\":\"ɥ\",\"Ꞑ\":\"ꞑ\",\"Ꞓ\":\"ꞓ\",\"Ꞗ\":\"ꞗ\",\"Ꞙ\":\"ꞙ\",\"Ꞛ\":\"ꞛ\",\"Ꞝ\":\"ꞝ\",\"Ꞟ\":\"ꞟ\",\"Ꞡ\":\"ꞡ\",\"Ꞣ\":\"ꞣ\",\"Ꞥ\":\"ꞥ\",\"Ꞧ\":\"ꞧ\",\"Ꞩ\":\"ꞩ\",\"Ɦ\":\"ɦ\",\"Ɜ\":\"ɜ\",\"Ɡ\":\"ɡ\",\"Ɬ\":\"ɬ\",\"Ʞ\":\"ʞ\",\"Ʇ\":\"ʇ\",\"A\":\"a\",\"B\":\"b\",\"C\":\"c\",\"D\":\"d\",\"E\":\"e\",\"F\":\"f\",\"G\":\"g\",\"H\":\"h\",\"I\":\"i\",\"J\":\"j\",\"K\":\"k\",\"L\":\"l\",\"M\":\"m\",\"N\":\"n\",\"O\":\"o\",\"P\":\"p\",\"Q\":\"q\",\"R\":\"r\",\"S\":\"s\",\"T\":\"t\",\"U\":\"u\",\"V\":\"v\",\"W\":\"w\",\"X\":\"x\",\"Y\":\"y\",\"Z\":\"z\",\"𐐀\":\"𐐨\",\"𐐁\":\"𐐩\",\"𐐂\":\"𐐪\",\"𐐃\":\"𐐫\",\"𐐄\":\"𐐬\",\"𐐅\":\"𐐭\",\"𐐆\":\"𐐮\",\"𐐇\":\"𐐯\",\"𐐈\":\"𐐰\",\"𐐉\":\"𐐱\",\"𐐊\":\"𐐲\",\"𐐋\":\"𐐳\",\"𐐌\":\"𐐴\",\"𐐍\":\"𐐵\",\"𐐎\":\"𐐶\",\"𐐏\":\"𐐷\",\"𐐐\":\"𐐸\",\"𐐑\":\"𐐹\",\"𐐒\":\"𐐺\",\"𐐓\":\"𐐻\",\"𐐔\":\"𐐼\",\"𐐕\":\"𐐽\",\"𐐖\":\"𐐾\",\"𐐗\":\"𐐿\",\"𐐘\":\"𐑀\",\"𐐙\":\"𐑁\",\"𐐚\":\"𐑂\",\"𐐛\":\"𐑃\",\"𐐜\":\"𐑄\",\"𐐝\":\"𐑅\",\"𐐞\":\"𐑆\",\"𐐟\":\"𐑇\",\"𐐠\":\"𐑈\",\"𐐡\":\"𐑉\",\"𐐢\":\"𐑊\",\"𐐣\":\"𐑋\",\"𐐤\":\"𐑌\",\"𐐥\":\"𐑍\",\"𐐦\":\"𐑎\",\"𐐧\":\"𐑏\",\"𑢠\":\"𑣀\",\"𑢡\":\"𑣁\",\"𑢢\":\"𑣂\",\"𑢣\":\"𑣃\",\"𑢤\":\"𑣄\",\"𑢥\":\"𑣅\",\"𑢦\":\"𑣆\",\"𑢧\":\"𑣇\",\"𑢨\":\"𑣈\",\"𑢩\":\"𑣉\",\"𑢪\":\"𑣊\",\"𑢫\":\"𑣋\",\"𑢬\":\"𑣌\",\"𑢭\":\"𑣍\",\"𑢮\":\"𑣎\",\"𑢯\":\"𑣏\",\"𑢰\":\"𑣐\",\"𑢱\":\"𑣑\",\"𑢲\":\"𑣒\",\"𑢳\":\"𑣓\",\"𑢴\":\"𑣔\",\"𑢵\":\"𑣕\",\"𑢶\":\"𑣖\",\"𑢷\":\"𑣗\",\"𑢸\":\"𑣘\",\"𑢹\":\"𑣙\",\"𑢺\":\"𑣚\",\"𑢻\":\"𑣛\",\"𑢼\":\"𑣜\",\"𑢽\":\"𑣝\",\"𑢾\":\"𑣞\",\"𑢿\":\"𑣟\",\"ß\":\"ss\",\"İ\":\"i̇\",\"ʼn\":\"ʼn\",\"ǰ\":\"ǰ\",\"ΐ\":\"ΐ\",\"ΰ\":\"ΰ\",\"և\":\"եւ\",\"ẖ\":\"ẖ\",\"ẗ\":\"ẗ\",\"ẘ\":\"ẘ\",\"ẙ\":\"ẙ\",\"ẚ\":\"aʾ\",\"ẞ\":\"ss\",\"ὐ\":\"ὐ\",\"ὒ\":\"ὒ\",\"ὔ\":\"ὔ\",\"ὖ\":\"ὖ\",\"ᾀ\":\"ἀι\",\"ᾁ\":\"ἁι\",\"ᾂ\":\"ἂι\",\"ᾃ\":\"ἃι\",\"ᾄ\":\"ἄι\",\"ᾅ\":\"ἅι\",\"ᾆ\":\"ἆι\",\"ᾇ\":\"ἇι\",\"ᾈ\":\"ἀι\",\"ᾉ\":\"ἁι\",\"ᾊ\":\"ἂι\",\"ᾋ\":\"ἃι\",\"ᾌ\":\"ἄι\",\"ᾍ\":\"ἅι\",\"ᾎ\":\"ἆι\",\"ᾏ\":\"ἇι\",\"ᾐ\":\"ἠι\",\"ᾑ\":\"ἡι\",\"ᾒ\":\"ἢι\",\"ᾓ\":\"ἣι\",\"ᾔ\":\"ἤι\",\"ᾕ\":\"ἥι\",\"ᾖ\":\"ἦι\",\"ᾗ\":\"ἧι\",\"ᾘ\":\"ἠι\",\"ᾙ\":\"ἡι\",\"ᾚ\":\"ἢι\",\"ᾛ\":\"ἣι\",\"ᾜ\":\"ἤι\",\"ᾝ\":\"ἥι\",\"ᾞ\":\"ἦι\",\"ᾟ\":\"ἧι\",\"ᾠ\":\"ὠι\",\"ᾡ\":\"ὡι\",\"ᾢ\":\"ὢι\",\"ᾣ\":\"ὣι\",\"ᾤ\":\"ὤι\",\"ᾥ\":\"ὥι\",\"ᾦ\":\"ὦι\",\"ᾧ\":\"ὧι\",\"ᾨ\":\"ὠι\",\"ᾩ\":\"ὡι\",\"ᾪ\":\"ὢι\",\"ᾫ\":\"ὣι\",\"ᾬ\":\"ὤι\",\"ᾭ\":\"ὥι\",\"ᾮ\":\"ὦι\",\"ᾯ\":\"ὧι\",\"ᾲ\":\"ὰι\",\"ᾳ\":\"αι\",\"ᾴ\":\"άι\",\"ᾶ\":\"ᾶ\",\"ᾷ\":\"ᾶι\",\"ᾼ\":\"αι\",\"ῂ\":\"ὴι\",\"ῃ\":\"ηι\",\"ῄ\":\"ήι\",\"ῆ\":\"ῆ\",\"ῇ\":\"ῆι\",\"ῌ\":\"ηι\",\"ῒ\":\"ῒ\",\"ΐ\":\"ΐ\",\"ῖ\":\"ῖ\",\"ῗ\":\"ῗ\",\"ῢ\":\"ῢ\",\"ΰ\":\"ΰ\",\"ῤ\":\"ῤ\",\"ῦ\":\"ῦ\",\"ῧ\":\"ῧ\",\"ῲ\":\"ὼι\",\"ῳ\":\"ωι\",\"ῴ\":\"ώι\",\"ῶ\":\"ῶ\",\"ῷ\":\"ῶι\",\"ῼ\":\"ωι\",\"ff\":\"ff\",\"fi\":\"fi\",\"fl\":\"fl\",\"ffi\":\"ffi\",\"ffl\":\"ffl\",\"ſt\":\"st\",\"st\":\"st\",\"ﬓ\":\"մն\",\"ﬔ\":\"մե\",\"ﬕ\":\"մի\",\"ﬖ\":\"վն\",\"ﬗ\":\"մխ\"};e.exports=function(e){return e.slice(1,e.length-1).trim().replace(n,function(e){return r[e]||\" \"})}},function(e,t,n){(function(t){\"use strict\";function r(e){return{softbreak:\"\\n\",escape:o,options:e||{},render:u}}var o=n(122).escapeXml,i=function(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var o,i=0;void 0!==(o=t[i]);)r+=\" \"+o[0]+'=\"'+o[1]+'\"',i++;return n&&(r+=\" /\"),r+=\">\"},a=/\\<[^>]*\\>/,s=function(e){return e.replace(/([a-z])([A-Z])/g,\"$1_$2\").toLowerCase()},u=function(e){var n,r,o,u,l,c,d,f,p=e.walker(),h=\"\",m=\"\\n\",g=0,_=0,b=\"  \",y=function(e){h+=g>0?e.replace(a,\"\"):e,m=e},v=this.escape,M=function(){if(\"\\n\"!==m){h+=\"\\n\",m=\"\\n\";for(var e=_;e>0;e--)h+=b}},A=this.options;for(A.time&&t.time(\"rendering\"),h+='<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n',h+='<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\\n';o=p.next();)if(l=o.entering,u=o.node,f=u.type,c=u.isContainer,d=\"ThematicBreak\"===f||\"Hardbreak\"===f||\"Softbreak\"===f,r=s(f),l){switch(n=[],f){case\"Document\":n.push([\"xmlns\",\"http://commonmark.org/xml/1.0\"]);break;case\"List\":null!==u.listType&&n.push([\"type\",u.listType.toLowerCase()]),null!==u.listStart&&n.push([\"start\",String(u.listStart)]),null!==u.listTight&&n.push([\"tight\",u.listTight?\"true\":\"false\"]);var w=u.listDelimiter;if(null!==w){var C=\"\";C=\".\"===w?\"period\":\"paren\",n.push([\"delimiter\",C])}break;case\"CodeBlock\":u.info&&n.push([\"info\",u.info]);break;case\"Heading\":n.push([\"level\",String(u.level)]);break;case\"Link\":case\"Image\":n.push([\"destination\",u.destination]),n.push([\"title\",u.title]);break;case\"CustomInline\":case\"CustomBlock\":n.push([\"on_enter\",u.onEnter]),n.push([\"on_exit\",u.onExit])}if(A.sourcepos){var E=u.sourcepos;E&&n.push([\"sourcepos\",String(E[0][0])+\":\"+String(E[0][1])+\"-\"+String(E[1][0])+\":\"+String(E[1][1])])}if(M(),y(i(r,n,d)),c)_+=1;else if(!c&&!d){var L=u.literal;L&&y(v(L)),y(i(\"/\"+r))}}else _-=1,M(),y(i(\"/\"+r));return A.time&&t.timeEnd(\"rendering\"),h+=\"\\n\"};e.exports=r}).call(t,n(38))},function(e,t,n){n(963),e.exports=n(60).RegExp.escape},function(e,t,n){n(372),n(945),e.exports=n(58).Array.from},function(e,t,n){n(947),e.exports=n(58).Object.assign},function(e,t,n){n(948);var r=n(58).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(952),e.exports=n(58).Object.entries},function(e,t,n){n(949),e.exports=n(58).Object.setPrototypeOf},function(e,t,n){n(953),e.exports=n(58).Object.values},function(e,t,n){n(951),n(950),n(954),n(955),e.exports=n(58).Symbol},function(e,t,n){n(372),n(956),e.exports=n(258).f(\"iterator\")},44,function(e,t){e.exports=function(){}},[1712,96,371,943],[1713,245,68],[1714,95,155],[1718,153,250,154],[1720,85],[1723,152,68],[1724,245],[1725,123],[1726,249,155,251,125,68],[1728,68],386,[1729,183,126,94,95,151],[1730,153,250,154,255,364,151],[1733,95,123,153,124],[1735,96,367],[1737,94,255,252],[1741,126,123,246,366],[1745,254,247],[1746,254],[1754,926,68,152,58],[1755,246,84,255,932,930,371,927,944,934],[1756,924,935,152,96,365],[1757,84,937],[1758,84,249],[1759,84,941],function(e,t){},[1761,85,94,124,84,370,936,151,253,251,183,68,258,257,928,931,123,126,96,256,155,249,939,366,95,153,367,154,250,182,125],[1762,84,369],[1763,84,369],[1764,257],[1765,257],function(e,t,n){n(946);for(var r=n(85),o=n(125),i=n(152),a=n(68)(\"toStringTag\"),s=\"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\".split(\",\"),u=0;u<s.length;u++){var l=s[u],c=r[l],d=c&&c.prototype;d&&!d[a]&&o(d,a,l),i[l]=i.Array}},function(e,t,n){var r=n(22),o=n(188),i=n(26)(\"species\");e.exports=function(e){var t;return o(e)&&(t=e.constructor,\"function\"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&(t=t[i],null===t&&(t=void 0))),void 0===t?Array:t}},function(e,t,n){\"use strict\";var r=n(21),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(e){return e>9?e:\"0\"+e};e.exports=r(function(){return\"0385-07-25T07:06:39.999Z\"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError(\"Invalid time value\");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?\"-\":t>9999?\"+\":\"\";return r+(\"00000\"+Math.abs(t)).slice(r?-6:-4)+\"-\"+a(e.getUTCMonth()+1)+\"-\"+a(e.getUTCDate())+\"T\"+a(e.getUTCHours())+\":\"+a(e.getUTCMinutes())+\":\"+a(e.getUTCSeconds())+\".\"+(n>99?n:\"0\"+a(n))+\"Z\"}:i},function(e,t,n){\"use strict\";var r=n(18),o=n(73),i=\"number\";e.exports=function(e){if(\"string\"!==e&&e!==i&&\"default\"!==e)throw TypeError(\"Incorrect hint\");return o(r(this),e!=i)}},[1718,101,192,158],function(e,t){e.exports=function(e,t){var n=t===Object(t)?function(e){return t[e]}:t;return function(t){return String(t).replace(e,n)}}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e===1/t:e!=e&&t!=t}},function(e,t,n){var r=n(2),o=n(961)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\");r(r.S,\"RegExp\",{escape:function(e){return o(e)}})},function(e,t,n){var r=n(2);r(r.P,\"Array\",{copyWithin:n(374)}),n(86)(\"copyWithin\")},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(4);r(r.P+r.F*!n(62)([].every,!0),\"Array\",{every:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(2);r(r.P,\"Array\",{fill:n(259)}),n(86)(\"fill\")},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(2);r(r.P+r.F*!n(62)([].filter,!0),\"Array\",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(6),i=\"findIndex\",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,\"Array\",{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(86)(i)},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(5),i=\"find\",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,\"Array\",{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(86)(i)},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(0),i=n(62)([].forEach,!0);r(r.P+r.F*!i,\"Array\",{forEach:function(e){return o(this,e,arguments[1])}})},[1755,61,2,35,385,267,32,261,283,190],function(e,t,n){\"use strict\";var r=n(2),o=n(184)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(62)(i)),\"Array\",{indexOf:function(e){return a?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(2);r(r.S,\"Array\",{isArray:n(188)})},function(e,t,n){\"use strict\";var r=n(2),o=n(57),i=[].join;r(r.P+r.F*(n(157)!=Object||!n(62)(i)),\"Array\",{join:function(e){return i.call(o(this),void 0===e?\",\":e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(57),i=n(72),a=n(32),s=[].lastIndexOf,u=!!s&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(u||!n(62)(s)),\"Array\",{lastIndexOf:function(e){if(u)return s.apply(this,arguments)||0;var t=o(this),n=a(t.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}})},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(1);r(r.P+r.F*!n(62)([].map,!0),\"Array\",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){\"use strict\";var r=n(2),o=n(261);r(r.S+r.F*n(21)(function(){function e(){}return!(Array.of.call(e)instanceof e)}),\"Array\",{of:function(){for(var e=0,t=arguments.length,n=new(\"function\"==typeof this?this:Array)(t);t>e;)o(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){\"use strict\";var r=n(2),o=n(376);r(r.P+r.F*!n(62)([].reduceRight,!0),\"Array\",{reduceRight:function(e){return o(this,e,arguments.length,arguments[1],!0)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(376);r(r.P+r.F*!n(62)([].reduce,!0),\"Array\",{reduce:function(e){return o(this,e,arguments.length,arguments[1],!1)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(265),i=n(59),a=n(105),s=n(32),u=[].slice;r(r.P+r.F*n(21)(function(){o&&u.call(o)}),\"Array\",{slice:function(e,t){var n=s(this.length),r=i(this);if(t=void 0===t?n:t,\"Array\"==r)return u.call(this,e,t);for(var o=a(e,n),l=a(t,n),c=s(l-o),d=new Array(c),f=0;f<c;f++)d[f]=\"String\"==r?this.charAt(o+f):this[o+f];return d}})},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(3);r(r.P+r.F*!n(62)([].some,!0),\"Array\",{some:function(e){return o(this,e,arguments[1])}})},function(e,t,n){\"use strict\";var r=n(2),o=n(44),i=n(35),a=n(21),s=[].sort,u=[1,2,3];r(r.P+r.F*(a(function(){u.sort(void 0)})||!a(function(){u.sort(null)})||!n(62)(s)),\"Array\",{sort:function(e){return void 0===e?s.call(i(this)):s.call(i(this),o(e))}})},function(e,t,n){n(104)(\"Array\")},function(e,t,n){var r=n(2);r(r.S,\"Date\",{now:function(){return(new Date).getTime()}})},function(e,t,n){var r=n(2),o=n(958);r(r.P+r.F*(Date.prototype.toISOString!==o),\"Date\",{toISOString:o})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(73);r(r.P+r.F*n(21)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function(e){var t=o(this),n=i(t);return\"number\"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){var r=n(26)(\"toPrimitive\"),o=Date.prototype;r in o||n(48)(o,r,n(959))},function(e,t,n){var r=Date.prototype,o=\"Invalid Date\",i=\"toString\",a=r[i],s=r.getTime;new Date(NaN)+\"\"!=o&&n(49)(r,i,function(){var e=s.call(this);return e===e?a.call(this):o})},function(e,t,n){var r=n(2);r(r.P,\"Function\",{bind:n(377)})},function(e,t,n){\"use strict\";var r=n(22),o=n(56),i=n(26)(\"hasInstance\"),a=Function.prototype;i in a||n(31).f(a,i,{value:function(e){if(\"function\"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=o(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){var r=n(31).f,o=Function.prototype,i=/^\\s*function ([^ (]*)/,a=\"name\";a in o||n(30)&&r(o,a,{configurable:!0,get:function(){try{return(\"\"+this).match(i)[1]}catch(e){return\"\"}}})},function(e,t,n){var r=n(2),o=n(388),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),\"Math\",{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:o(e-1+i(e-1)*i(e+1))}})},function(e,t,n){function r(e){return isFinite(e=+e)&&0!=e?e<0?-r(-e):Math.log(e+Math.sqrt(e*e+1)):e}var o=n(2),i=Math.asinh;o(o.S+o.F*!(i&&1/i(0)>0),\"Math\",{asinh:r})},function(e,t,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),\"Math\",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},function(e,t,n){var r=n(2),o=n(271);r(r.S,\"Math\",{cbrt:function(e){return o(e=+e)*Math.pow(Math.abs(e),1/3)}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{clz32:function(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(e,t,n){var r=n(2),o=Math.exp;r(r.S,\"Math\",{cosh:function(e){return(o(e=+e)+o(-e))/2}})},function(e,t,n){var r=n(2),o=n(270);r(r.S+r.F*(o!=Math.expm1),\"Math\",{expm1:o})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{fround:n(387)})},function(e,t,n){var r=n(2),o=Math.abs;r(r.S,\"Math\",{hypot:function(e,t){for(var n,r,i=0,a=0,s=arguments.length,u=0;a<s;)n=o(arguments[a++]),u<n?(r=u/n,i=i*r*r+1,u=n):n>0?(r=n/u,i+=r*r):i+=n;return u===1/0?1/0:u*Math.sqrt(i)}})},function(e,t,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(21)(function(){return o(4294967295,5)!=-5||2!=o.length}),\"Math\",{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{log10:function(e){return Math.log(e)*Math.LOG10E}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{log1p:n(388)})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{sign:n(271)})},function(e,t,n){var r=n(2),o=n(270),i=Math.exp;r(r.S+r.F*n(21)(function(){return!Math.sinh(-2e-17)!=-2e-17}),\"Math\",{sinh:function(e){return Math.abs(e=+e)<1?(o(e)-o(-e))/2:(i(e-1)-i(-e-1))*(Math.E/2)}})},function(e,t,n){var r=n(2),o=n(270),i=Math.exp;r(r.S,\"Math\",{tanh:function(e){var t=o(e=+e),n=o(-e);return t==1/0?1:n==1/0?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(e,t,n){\"use strict\";var r=n(19),o=n(54),i=n(59),a=n(266),s=n(73),u=n(21),l=n(100).f,c=n(55).f,d=n(31).f,f=n(129).trim,p=\"Number\",h=r[p],m=h,g=h.prototype,_=i(n(99)(g))==p,b=\"trim\"in String.prototype,y=function(e){var t=s(e,!1);if(\"string\"==typeof t&&t.length>2){t=b?t.trim():f(t,3);var n,r,o,i=t.charCodeAt(0);if(43===i||45===i){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(t.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+t}for(var a,u=t.slice(2),l=0,c=u.length;l<c;l++)if(a=u.charCodeAt(l),a<48||a>o)return NaN;return parseInt(u,r)}}return+t};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof h&&(_?u(function(){g.valueOf.call(n)}):i(n)!=p)?a(new m(y(t)),n,h):y(t)};for(var v,M=n(30)?l(m):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),A=0;M.length>A;A++)o(m,v=M[A])&&!o(h,v)&&d(h,v,c(m,v));h.prototype=g,g.constructor=h,n(49)(r,p,h)}},function(e,t,n){var r=n(2);r(r.S,\"Number\",{EPSILON:Math.pow(2,-52)})},function(e,t,n){var r=n(2),o=n(19).isFinite;r(r.S,\"Number\",{isFinite:function(e){return\"number\"==typeof e&&o(e)}})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{isInteger:n(384)})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{isNaN:function(e){return e!=e}})},function(e,t,n){var r=n(2),o=n(384),i=Math.abs;r(r.S,\"Number\",{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){var r=n(2),o=n(396);r(r.S+r.F*(Number.parseFloat!=o),\"Number\",{parseFloat:o})},function(e,t,n){var r=n(2),o=n(397);r(r.S+r.F*(Number.parseInt!=o),\"Number\",{parseInt:o})},function(e,t,n){\"use strict\";var r=n(2),o=n(72),i=n(373),a=n(278),s=1..toFixed,u=Math.floor,l=[0,0,0,0,0,0],c=\"Number.toFixed: incorrect invocation!\",d=\"0\",f=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*l[n],l[n]=r%1e7,r=u(r/1e7)},p=function(e){for(var t=6,n=0;--t>=0;)n+=l[t],l[t]=u(n/e),n=n%e*1e7},h=function(){for(var e=6,t=\"\";--e>=0;)if(\"\"!==t||0===e||0!==l[e]){var n=String(l[e]);t=\"\"===t?n:t+a.call(d,7-n.length)+n}return t},m=function(e,t,n){return 0===t?n:t%2===1?m(e,t-1,n*e):m(e*e,t/2,n)},g=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};r(r.P+r.F*(!!s&&(\"0.000\"!==8e-5.toFixed(3)||\"1\"!==.9.toFixed(0)||\"1.25\"!==1.255.toFixed(2)||\"1000000000000000128\"!==(0xde0b6b3a7640080).toFixed(0))||!n(21)(function(){s.call({})})),\"Number\",{toFixed:function(e){var t,n,r,s,u=i(this,c),l=o(e),_=\"\",b=d;if(l<0||l>20)throw RangeError(c);if(u!=u)return\"NaN\";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(_=\"-\",u=-u),u>1e-21)if(t=g(u*m(2,69,1))-69,n=t<0?u*m(2,-t,1):u/m(2,t,1),n*=4503599627370496,t=52-t,t>0){for(f(0,n),r=l;r>=7;)f(1e7,0),r-=7;for(f(m(10,r,1),0),r=t-1;r>=23;)p(1<<23),r-=23;p(1<<r),f(1,1),p(2),b=h()}else f(0,n),f(1<<-t,0),b=h()+a.call(d,l);return l>0?(s=b.length,b=_+(s<=l?\"0.\"+a.call(d,l-s)+b:b.slice(0,s-l)+\".\"+b.slice(s-l))):b=_+b,b}})},function(e,t,n){\"use strict\";var r=n(2),o=n(21),i=n(373),a=1..toPrecision;r(r.P+r.F*(o(function(){return\"1\"!==a.call(1,void 0)})||!o(function(){a.call({})})),\"Number\",{toPrecision:function(e){var t=i(this,\"Number#toPrecision: incorrect invocation!\");return void 0===e?a.call(t):a.call(t,e)}})},[1757,2,390],[1758,2,99],function(e,t,n){var r=n(2);r(r.S+r.F*!n(30),\"Object\",{defineProperties:n(391)})},function(e,t,n){var r=n(2);r(r.S+r.F*!n(30),\"Object\",{defineProperty:n(31).f})},function(e,t,n){var r=n(22),o=n(88).onFreeze;n(71)(\"freeze\",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(57),o=n(55).f;n(71)(\"getOwnPropertyDescriptor\",function(){return function(e,t){return o(r(e),t)}})},function(e,t,n){n(71)(\"getOwnPropertyNames\",function(){return n(392).f})},function(e,t,n){var r=n(35),o=n(56);n(71)(\"getPrototypeOf\",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(22);n(71)(\"isExtensible\",function(e){return function(t){return!!r(t)&&(!e||e(t))}})},function(e,t,n){var r=n(22);n(71)(\"isFrozen\",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(22);n(71)(\"isSealed\",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(2);r(r.S,\"Object\",{is:n(962)})},function(e,t,n){var r=n(35),o=n(101);n(71)(\"keys\",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(22),o=n(88).onFreeze;n(71)(\"preventExtensions\",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(22),o=n(88).onFreeze;n(71)(\"seal\",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},[1759,2,274],function(e,t,n){\"use strict\";var r=n(156),o={};o[n(26)(\"toStringTag\")]=\"z\",o+\"\"!=\"[object z]\"&&n(49)(Object.prototype,\"toString\",function(){return\"[object \"+r(this)+\"]\"},!0)},function(e,t,n){var r=n(2),o=n(396);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(e,t,n){var r=n(2),o=n(397);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(e,t,n){\"use strict\";var r,o,i,a,s=n(87),u=n(19),l=n(61),c=n(156),d=n(2),f=n(22),p=n(44),h=n(97),m=n(98),g=n(196),_=n(280).set,b=n(272)(),y=n(273),v=n(398),M=n(198),A=n(399),w=\"Promise\",C=u.TypeError,E=u.process,L=E&&E.versions,T=L&&L.v8||\"\",O=u[w],S=\"process\"==c(E),N=function(){},k=o=y.f,D=!!function(){try{var e=O.resolve(1),t=(e.constructor={})[n(26)(\"species\")]=function(e){e(N,N)};return(S||\"function\"==typeof PromiseRejectionEvent)&&e.then(N)instanceof t&&0!==T.indexOf(\"6.6\")&&M.indexOf(\"Chrome/66\")===-1}catch(e){}}(),x=function(e){var t;return!(!f(e)||\"function\"!=typeof(t=e.then))&&t},I=function(e,t){if(!e._n){e._n=!0;var n=e._c;b(function(){for(var r=e._v,o=1==e._s,i=0,a=function(t){var n,i,a,s=o?t.ok:t.fail,u=t.resolve,l=t.reject,c=t.domain;try{s?(o||(2==e._h&&j(e),e._h=1),s===!0?n=r:(c&&c.enter(),n=s(r),c&&(c.exit(),a=!0)),n===t.promise?l(C(\"Promise-chain cycle\")):(i=x(n))?i.call(n,u,l):u(n)):l(r)}catch(e){c&&!a&&c.exit(),l(e)}};n.length>i;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&z(e)})}},z=function(e){_.call(u,function(){var t,n,r,o=e._v,i=P(e);if(i&&(t=v(function(){S?E.emit(\"unhandledRejection\",o,e):(n=u.onunhandledrejection)?n({promise:e,reason:o}):(r=u.console)&&r.error&&r.error(\"Unhandled promise rejection\",o)}),e._h=S||P(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},P=function(e){return 1!==e._h&&0===(e._a||e._c).length},j=function(e){_.call(u,function(){var t;S?E.emit(\"rejectionHandled\",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},B=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),I(t,!0))},F=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw C(\"Promise can't be resolved itself\");(t=x(e))?b(function(){var r={_w:n,_d:!1};try{t.call(e,l(F,r,1),l(B,r,1))}catch(e){B.call(r,e)}}):(n._v=e,n._s=1,I(n,!1))}catch(e){B.call({_w:n,_d:!1},e)}}};D||(O=function(e){h(this,O,w,\"_h\"),p(e),r.call(this);try{e(l(F,this,1),l(B,this,1))}catch(e){B.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(103)(O.prototype,{then:function(e,t){var n=k(g(this,O));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=S?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=l(F,e,1),this.reject=l(B,e,1)},y.f=k=function(e){return e===O||e===a?new i(e):o(e)}),d(d.G+d.W+d.F*!D,{Promise:O}),n(128)(O,w),n(104)(w),a=n(60)[w],d(d.S+d.F*!D,w,{reject:function(e){var t=k(this),n=t.reject;return n(e),t.promise}}),d(d.S+d.F*(s||!D),w,{resolve:function(e){return A(s&&this===a?O:this,e)}}),d(d.S+d.F*!(D&&n(190)(function(e){O.all(e).catch(N)})),w,{all:function(e){var t=this,n=k(t),r=n.resolve,o=n.reject,i=v(function(){var n=[],i=0,a=1;m(e,!1,function(e){var s=i++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(e){var t=this,n=k(t),r=n.reject,o=v(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(e,t,n){var r=n(2),o=n(44),i=n(18),a=(n(19).Reflect||{}).apply,s=Function.apply;r(r.S+r.F*!n(21)(function(){a(function(){})}),\"Reflect\",{apply:function(e,t,n){var r=o(e),u=i(n);return a?a(r,t,u):s.call(r,t,u)}})},function(e,t,n){var r=n(2),o=n(99),i=n(44),a=n(18),s=n(22),u=n(21),l=n(377),c=(n(19).Reflect||{}).construct,d=u(function(){function e(){}return!(c(function(){},[],e)instanceof e)}),f=!u(function(){c(function(){})});r(r.S+r.F*(d||f),\"Reflect\",{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(f&&!d)return c(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(l.apply(e,r))}var u=n.prototype,p=o(s(u)?u:Object.prototype),h=Function.apply.call(e,p,t);return s(h)?h:p}})},function(e,t,n){var r=n(31),o=n(2),i=n(18),a=n(73);o(o.S+o.F*n(21)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function(e,t,n){i(e),t=a(t,!0),i(n);try{return r.f(e,t,n),!0}catch(e){return!1}}})},function(e,t,n){var r=n(2),o=n(55).f,i=n(18);r(r.S,\"Reflect\",{deleteProperty:function(e,t){var n=o(i(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){\"use strict\";var r=n(2),o=n(18),i=function(e){this._t=o(e),this._i=0;var t,n=this._k=[];for(t in e)n.push(t)};n(268)(i,\"Object\",function(){var e,t=this,n=t._k;do if(t._i>=n.length)return{value:void 0,done:!0};while(!((e=n[t._i++])in t._t));return{value:e,done:!1}}),r(r.S,\"Reflect\",{enumerate:function(e){return new i(e)}})},function(e,t,n){var r=n(55),o=n(2),i=n(18);o(o.S,\"Reflect\",{getOwnPropertyDescriptor:function(e,t){return r.f(i(e),t)}})},function(e,t,n){var r=n(2),o=n(56),i=n(18);r(r.S,\"Reflect\",{getPrototypeOf:function(e){return o(i(e))}})},function(e,t,n){function r(e,t){var n,s,c=arguments.length<3?e:arguments[2];return l(e)===c?e[t]:(n=o.f(e,t))?a(n,\"value\")?n.value:void 0!==n.get?n.get.call(c):void 0:u(s=i(e))?r(s,t,c):void 0;\n}var o=n(55),i=n(56),a=n(54),s=n(2),u=n(22),l=n(18);s(s.S,\"Reflect\",{get:r})},function(e,t,n){var r=n(2);r(r.S,\"Reflect\",{has:function(e,t){return t in e}})},function(e,t,n){var r=n(2),o=n(18),i=Object.isExtensible;r(r.S,\"Reflect\",{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){var r=n(2);r(r.S,\"Reflect\",{ownKeys:n(395)})},function(e,t,n){var r=n(2),o=n(18),i=Object.preventExtensions;r(r.S,\"Reflect\",{preventExtensions:function(e){o(e);try{return i&&i(e),!0}catch(e){return!1}}})},function(e,t,n){var r=n(2),o=n(274);o&&r(r.S,\"Reflect\",{setPrototypeOf:function(e,t){o.check(e,t);try{return o.set(e,t),!0}catch(e){return!1}}})},function(e,t,n){function r(e,t,n){var u,f,p=arguments.length<4?e:arguments[3],h=i.f(c(e),t);if(!h){if(d(f=a(e)))return r(f,t,n,p);h=l(0)}if(s(h,\"value\")){if(h.writable===!1||!d(p))return!1;if(u=i.f(p,t)){if(u.get||u.set||u.writable===!1)return!1;u.value=n,o.f(p,t,u)}else o.f(p,t,l(0,n));return!0}return void 0!==h.set&&(h.set.call(p,n),!0)}var o=n(31),i=n(55),a=n(56),s=n(54),u=n(2),l=n(102),c=n(18),d=n(22);u(u.S,\"Reflect\",{set:r})},function(e,t,n){var r=n(19),o=n(266),i=n(31).f,a=n(100).f,s=n(189),u=n(187),l=r.RegExp,c=l,d=l.prototype,f=/a/g,p=/a/g,h=new l(f)!==f;if(n(30)&&(!h||n(21)(function(){return p[n(26)(\"match\")]=!1,l(f)!=f||l(p)==p||\"/a/i\"!=l(f,\"i\")}))){l=function(e,t){var n=this instanceof l,r=s(e),i=void 0===t;return!n&&r&&e.constructor===l&&i?e:o(h?new c(r&&!i?e.source:e,t):c((r=e instanceof l)?e.source:e,r&&i?u.call(e):t),n?this:d,l)};for(var m=(function(e){e in l||i(l,e,{configurable:!0,get:function(){return c[e]},set:function(t){c[e]=t}})}),g=a(c),_=0;g.length>_;)m(g[_++]);d.constructor=l,l.prototype=d,n(49)(r,\"RegExp\",l)}n(104)(\"RegExp\")},function(e,t,n){n(186)(\"match\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(186)(\"replace\",2,function(e,t,n){return[function(r,o){\"use strict\";var i=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(e,t,n){n(186)(\"search\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(186)(\"split\",2,function(e,t,r){\"use strict\";var o=n(189),i=r,a=[].push,s=\"split\",u=\"length\",l=\"lastIndex\";if(\"c\"==\"abbc\"[s](/(b)*/)[1]||4!=\"test\"[s](/(?:)/,-1)[u]||2!=\"ab\"[s](/(?:ab)*/)[u]||4!=\".\"[s](/(.?)(.?)/)[u]||\".\"[s](/()()/)[u]>1||\"\"[s](/.?/)[u]){var c=void 0===/()??/.exec(\"\")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!o(e))return i.call(n,e,t);var r,s,d,f,p,h=[],m=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),g=0,_=void 0===t?4294967295:t>>>0,b=new RegExp(e.source,m+\"g\");for(c||(r=new RegExp(\"^\"+b.source+\"$(?!\\\\s)\",m));(s=b.exec(n))&&(d=s.index+s[0][u],!(d>g&&(h.push(n.slice(g,s.index)),!c&&s[u]>1&&s[0].replace(r,function(){for(p=1;p<arguments[u]-2;p++)void 0===arguments[p]&&(s[p]=void 0)}),s[u]>1&&s.index<n[u]&&a.apply(h,s.slice(1)),f=s[0][u],g=d,h[u]>=_)));)b[l]===s.index&&b[l]++;return g===n[u]?!f&&b.test(\"\")||h.push(\"\"):h.push(n.slice(g)),h[u]>_?h.slice(0,_):h}}else\"0\"[s](void 0,0)[u]&&(r=function(e,t){return void 0===e&&0===t?[]:i.call(this,e,t)});return[function(n,o){var i=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(e,t,n){\"use strict\";n(404);var r=n(18),o=n(187),i=n(30),a=\"toString\",s=/./[a],u=function(e){n(49)(RegExp.prototype,a,e,!0)};n(21)(function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})})?u(function(){var e=r(this);return\"/\".concat(e.source,\"/\",\"flags\"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)}):s.name!=a&&u(function(){return s.call(this)})},function(e,t,n){\"use strict\";n(50)(\"anchor\",function(e){return function(t){return e(this,\"a\",\"name\",t)}})},function(e,t,n){\"use strict\";n(50)(\"big\",function(e){return function(){return e(this,\"big\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"blink\",function(e){return function(){return e(this,\"blink\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"bold\",function(e){return function(){return e(this,\"b\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(2),o=n(276)(!1);r(r.P,\"String\",{codePointAt:function(e){return o(this,e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(32),i=n(277),a=\"endsWith\",s=\"\"[a];r(r.P+r.F*n(264)(a),\"String\",{endsWith:function(e){var t=i(this,e,a),n=arguments.length>1?arguments[1]:void 0,r=o(t.length),u=void 0===n?r:Math.min(o(n),r),l=String(e);return s?s.call(t,l,u):t.slice(u-l.length,u)===l}})},function(e,t,n){\"use strict\";n(50)(\"fixed\",function(e){return function(){return e(this,\"tt\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"fontcolor\",function(e){return function(t){return e(this,\"font\",\"color\",t)}})},function(e,t,n){\"use strict\";n(50)(\"fontsize\",function(e){return function(t){return e(this,\"font\",\"size\",t)}})},function(e,t,n){var r=n(2),o=n(105),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),\"String\",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+\" is not a valid code point\");n.push(t<65536?i(t):i(((t-=65536)>>10)+55296,t%1024+56320))}return n.join(\"\")}})},function(e,t,n){\"use strict\";var r=n(2),o=n(277),i=\"includes\";r(r.P+r.F*n(264)(i),\"String\",{includes:function(e){return!!~o(this,e,i).indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){\"use strict\";n(50)(\"italics\",function(e){return function(){return e(this,\"i\",\"\",\"\")}})},[1760,276,269],function(e,t,n){\"use strict\";n(50)(\"link\",function(e){return function(t){return e(this,\"a\",\"href\",t)}})},function(e,t,n){var r=n(2),o=n(57),i=n(32);r(r.S,\"String\",{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s<r&&a.push(String(arguments[s]));return a.join(\"\")}})},function(e,t,n){var r=n(2);r(r.P,\"String\",{repeat:n(278)})},function(e,t,n){\"use strict\";n(50)(\"small\",function(e){return function(){return e(this,\"small\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(2),o=n(32),i=n(277),a=\"startsWith\",s=\"\"[a];r(r.P+r.F*n(264)(a),\"String\",{startsWith:function(e){var t=i(this,e,a),n=o(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){\"use strict\";n(50)(\"strike\",function(e){return function(){return e(this,\"strike\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"sub\",function(e){return function(){return e(this,\"sub\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"sup\",function(e){return function(){return e(this,\"sup\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(129)(\"trim\",function(e){return function(){return e(this,3)}})},[1761,19,54,30,2,49,88,21,195,128,106,26,402,282,960,188,18,22,57,73,102,99,392,55,31,101,100,158,192,87,48],function(e,t,n){\"use strict\";var r=n(2),o=n(197),i=n(281),a=n(18),s=n(105),u=n(32),l=n(22),c=n(19).ArrayBuffer,d=n(196),f=i.ArrayBuffer,p=i.DataView,h=o.ABV&&c.isView,m=f.prototype.slice,g=o.VIEW,_=\"ArrayBuffer\";r(r.G+r.W+r.F*(c!==f),{ArrayBuffer:f}),r(r.S+r.F*!o.CONSTR,_,{isView:function(e){return h&&h(e)||l(e)&&g in e}}),r(r.P+r.U+r.F*n(21)(function(){return!new f(2).slice(1,void 0).byteLength}),_,{slice:function(e,t){if(void 0!==m&&void 0===t)return m.call(a(this),e);for(var n=a(this).byteLength,r=s(e,n),o=s(void 0===t?n:t,n),i=new(d(this,f))(u(o-r)),l=new p(this),c=new p(i),h=0;r<o;)c.setUint8(h++,l.getUint8(r++));return i}}),n(104)(_)},function(e,t,n){var r=n(2);r(r.G+r.W+r.F*!n(197).ABV,{DataView:n(281).DataView})},function(e,t,n){n(79)(\"Float32\",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Float64\",8,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Int16\",2,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Int32\",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Int8\",1,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint16\",2,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint32\",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint8\",1,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint8\",1,function(e){return function(t,n,r){return e(this,t,n,r)}},!0)},function(e,t,n){\"use strict\";var r=n(380),o=n(130),i=\"WeakSet\";n(185)(i,function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,i),e,!0)}},r,!1,!0)},function(e,t,n){\"use strict\";var r=n(2),o=n(381),i=n(35),a=n(32),s=n(44),u=n(260);r(r.P,\"Array\",{flatMap:function(e){var t,n,r=i(this);return s(e),t=a(r.length),n=u(r,0),o(n,r,r,t,0,1,e,arguments[1]),n}}),n(86)(\"flatMap\")},function(e,t,n){\"use strict\";var r=n(2),o=n(381),i=n(35),a=n(32),s=n(72),u=n(260);r(r.P,\"Array\",{flatten:function(){var e=arguments[0],t=i(this),n=a(t.length),r=u(t,0);return o(r,t,t,n,0,void 0===e?1:s(e)),r}}),n(86)(\"flatten\")},function(e,t,n){\"use strict\";var r=n(2),o=n(184)(!0);r(r.P,\"Array\",{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(86)(\"includes\")},function(e,t,n){var r=n(2),o=n(272)(),i=n(19).process,a=\"process\"==n(59)(i);r(r.G,{asap:function(e){var t=a&&i.domain;o(t?t.bind(e):e)}})},function(e,t,n){var r=n(2),o=n(59);r(r.S,\"Error\",{isError:function(e){return\"Error\"===o(e)}})},function(e,t,n){var r=n(2);r(r.G,{global:n(19)})},function(e,t,n){n(193)(\"Map\")},function(e,t,n){n(194)(\"Map\")},function(e,t,n){var r=n(2);r(r.P+r.R,\"Map\",{toJSON:n(379)(\"Map\")})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{clamp:function(e,t,n){return Math.min(n,Math.max(t,e))}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},function(e,t,n){var r=n(2),o=180/Math.PI;r(r.S,\"Math\",{degrees:function(e){return e*o}})},function(e,t,n){var r=n(2),o=n(389),i=n(387);r(r.S,\"Math\",{fscale:function(e,t,n,r,a){return i(o(e,t,n,r,a))}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{iaddh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i+(r>>>0)+((o&a|(o|a)&~(o+a>>>0))>>>31)|0}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{imulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>16,u=o>>16,l=(s*a>>>0)+(i*a>>>16);return s*u+(l>>16)+((i*u>>>0)+(l&n)>>16)}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{isubh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i-(r>>>0)-((~o&a|~(o^a)&o-a>>>0)>>>31)|0}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},function(e,t,n){var r=n(2),o=Math.PI/180;r(r.S,\"Math\",{radians:function(e){return e*o}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{scale:n(389)})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{signbit:function(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{umulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>>16,u=o>>>16,l=(s*a>>>0)+(i*a>>>16);return s*u+(l>>>16)+((i*u>>>0)+(l&n)>>>16)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(44),a=n(31);n(30)&&r(r.P+n(191),\"Object\",{__defineGetter__:function(e,t){a.f(o(this),e,{get:i(t),enumerable:!0,configurable:!0})}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(44),a=n(31);n(30)&&r(r.P+n(191),\"Object\",{__defineSetter__:function(e,t){a.f(o(this),e,{set:i(t),enumerable:!0,configurable:!0})}})},[1762,2,394],function(e,t,n){var r=n(2),o=n(395),i=n(57),a=n(55),s=n(261);r(r.S,\"Object\",{getOwnPropertyDescriptors:function(e){for(var t,n,r=i(e),u=a.f,l=o(r),c={},d=0;l.length>d;)n=u(r,t=l[d++]),void 0!==n&&s(c,t,n);return c}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(73),a=n(56),s=n(55).f;n(30)&&r(r.P+n(191),\"Object\",{__lookupGetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.get;while(n=a(n))}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(73),a=n(56),s=n(55).f;n(30)&&r(r.P+n(191),\"Object\",{__lookupSetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.set;while(n=a(n))}})},[1763,2,394],function(e,t,n){\"use strict\";var r=n(2),o=n(19),i=n(60),a=n(272)(),s=n(26)(\"observable\"),u=n(44),l=n(18),c=n(97),d=n(103),f=n(48),p=n(98),h=p.RETURN,m=function(e){return null==e?void 0:u(e)},g=function(e){var t=e._c;t&&(e._c=void 0,t())},_=function(e){return void 0===e._o},b=function(e){_(e)||(e._o=void 0,g(e))},y=function(e,t){l(e),this._c=void 0,this._o=e,e=new v(this);try{var n=t(e),r=n;null!=n&&(\"function\"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:u(n),this._c=n)}catch(t){return void e.error(t)}_(this)&&g(this)};y.prototype=d({},{unsubscribe:function(){b(this)}});var v=function(e){this._s=e};v.prototype=d({},{next:function(e){var t=this._s;if(!_(t)){var n=t._o;try{var r=m(n.next);if(r)return r.call(n,e)}catch(e){try{b(t)}finally{throw e}}}},error:function(e){var t=this._s;if(_(t))throw e;var n=t._o;t._o=void 0;try{var r=m(n.error);if(!r)throw e;e=r.call(n,e)}catch(e){try{g(t)}finally{throw e}}return g(t),e},complete:function(e){var t=this._s;if(!_(t)){var n=t._o;t._o=void 0;try{var r=m(n.complete);e=r?r.call(n,e):void 0}catch(e){try{g(t)}finally{throw e}}return g(t),e}}});var M=function(e){c(this,M,\"Observable\",\"_f\")._f=u(e)};d(M.prototype,{subscribe:function(e){return new y(e,this._f)},forEach:function(e){var t=this;return new(i.Promise||o.Promise)(function(n,r){u(e);var o=t.subscribe({next:function(t){try{return e(t)}catch(e){r(e),o.unsubscribe()}},error:r,complete:n})})}}),d(M,{from:function(e){var t=\"function\"==typeof this?this:M,n=m(l(e)[s]);if(n){var r=l(n.call(e));return r.constructor===t?r:new t(function(e){return r.subscribe(e)})}return new t(function(t){var n=!1;return a(function(){if(!n){try{if(p(e,!1,function(e){if(t.next(e),n)return h})===h)return}catch(e){if(n)throw e;return void t.error(e)}t.complete()}}),function(){n=!0}})},of:function(){for(var e=0,t=arguments.length,n=new Array(t);e<t;)n[e]=arguments[e++];return new(\"function\"==typeof this?this:M)(function(e){var t=!1;return a(function(){if(!t){for(var r=0;r<n.length;++r)if(e.next(n[r]),t)return;e.complete()}}),function(){t=!0}})}}),f(M.prototype,s,function(){return this}),r(r.G,{Observable:M}),n(104)(\"Observable\")},function(e,t,n){\"use strict\";var r=n(2),o=n(60),i=n(19),a=n(196),s=n(399);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,o.Promise||i.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(273),i=n(398);r(r.S,\"Promise\",{try:function(e){var t=o.f(this),n=i(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){var r=n(78),o=n(18),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},function(e,t,n){var r=n(78),o=n(18),i=r.key,a=r.map,s=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=s.get(t);return u.delete(n),!!u.size||s.delete(t)}})},function(e,t,n){var r=n(405),o=n(375),i=n(78),a=n(18),s=n(56),u=i.keys,l=i.key,c=function(e,t){var n=u(e,t),i=s(e);if(null===i)return n;var a=c(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return c(a(e),arguments.length<2?void 0:l(arguments[1]))}})},function(e,t,n){var r=n(78),o=n(18),i=n(56),a=r.has,s=r.get,u=r.key,l=function(e,t,n){var r=a(e,t,n);if(r)return s(e,t,n);var o=i(t);return null!==o?l(e,o,n):void 0};r.exp({getMetadata:function(e,t){return l(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},function(e,t,n){var r=n(78),o=n(18),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=n(56),a=r.has,s=r.key,u=function(e,t,n){var r=a(e,t,n);if(r)return!0;var o=i(t);return null!==o&&u(e,o,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:s(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=n(44),a=r.key,s=r.set;r.exp({metadata:function(e,t){return function(n,r){s(e,t,(void 0!==r?o:i)(n),a(r))}}})},function(e,t,n){n(193)(\"Set\")},function(e,t,n){n(194)(\"Set\")},function(e,t,n){var r=n(2);r(r.P+r.R,\"Set\",{toJSON:n(379)(\"Set\")})},function(e,t,n){\"use strict\";var r=n(2),o=n(276)(!0);r(r.P,\"String\",{at:function(e){return o(this,e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(70),i=n(32),a=n(189),s=n(187),u=RegExp.prototype,l=function(e,t){this._r=e,this._s=t};n(268)(l,\"RegExp String\",function(){var e=this._r.exec(this._s);return{value:e,done:null===e}}),r(r.P,\"String\",{matchAll:function(e){if(o(this),!a(e))throw TypeError(e+\" is not a regexp!\");var t=String(this),n=\"flags\"in u?String(e.flags):s.call(e),r=new RegExp(e.source,~n.indexOf(\"g\")?n:\"g\"+n);return r.lastIndex=i(e.lastIndex),new l(r,t)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(400),i=n(198);r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(i),\"String\",{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(400),i=n(198);r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(i),\"String\",{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(e,t,n){\"use strict\";n(129)(\"trimLeft\",function(e){return function(){return e(this,1)}},\"trimStart\")},function(e,t,n){\"use strict\";n(129)(\"trimRight\",function(e){return function(){return e(this,2)}},\"trimEnd\")},[1764,282],[1765,282],function(e,t,n){var r=n(2);r(r.S,\"System\",{global:n(19)})},function(e,t,n){n(193)(\"WeakMap\")},function(e,t,n){n(194)(\"WeakMap\")},function(e,t,n){n(193)(\"WeakSet\")},function(e,t,n){n(194)(\"WeakSet\")},function(e,t,n){for(var r=n(284),o=n(101),i=n(49),a=n(19),s=n(48),u=n(127),l=n(26),c=l(\"iterator\"),d=l(\"toStringTag\"),f=u.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(p),m=0;m<h.length;m++){var g,_=h[m],b=p[_],y=a[_],v=y&&y.prototype;if(v&&(v[c]||s(v,c,f),v[d]||s(v,d,_),u[_]=f,b))for(g in r)v[g]||i(v,g,r[g],!0)}},function(e,t,n){var r=n(2),o=n(280);r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},function(e,t,n){var r=n(19),o=n(2),i=n(198),a=[].slice,s=/MSIE .\\./.test(i),u=function(e){return function(t,n){var r=arguments.length>2,o=!!r&&a.call(arguments,2);return e(r?function(){(\"function\"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};o(o.G+o.B+o.F*s,{setTimeout:u(r.setTimeout),setInterval:u(r.setInterval)})},function(e,t,n){n(1083),n(1022),n(1024),n(1023),n(1026),n(1028),n(1033),n(1027),n(1025),n(1035),n(1034),n(1030),n(1031),n(1029),n(1021),n(1032),n(1036),n(1037),n(989),n(991),n(990),n(1039),n(1038),n(1009),n(1019),n(1020),n(1010),n(1011),n(1012),n(1013),n(1014),n(1015),n(1016),n(1017),n(1018),n(992),n(993),n(994),n(995),n(996),n(997),n(998),n(999),n(1e3),n(1001),n(1002),n(1003),n(1004),n(1005),n(1006),n(1007),n(1008),n(1070),n(1075),n(1082),n(1073),n(1065),n(1066),n(1071),n(1076),n(1078),n(1061),n(1062),n(1063),n(1064),n(1067),n(1068),n(1069),n(1072),n(1074),n(1077),n(1079),n(1080),n(1081),n(984),n(986),n(985),n(988),n(987),n(973),n(971),n(977),n(974),n(980),n(982),n(970),n(976),n(967),n(981),n(965),n(979),n(978),n(972),n(975),n(964),n(966),n(969),n(968),n(983),n(284),n(1055),n(1060),n(404),n(1056),n(1057),n(1058),n(1059),n(1040),n(403),n(405),n(406),n(1095),n(1084),n(1085),n(1090),n(1093),n(1094),n(1088),n(1091),n(1089),n(1092),n(1086),n(1087),n(1041),n(1042),n(1043),n(1044),n(1045),n(1048),n(1046),n(1047),n(1049),n(1050),n(1051),n(1052),n(1054),n(1053),n(1098),n(1096),n(1097),n(1139),n(1142),n(1141),n(1143),n(1144),n(1140),n(1145),n(1146),n(1120),n(1123),n(1119),n(1117),n(1118),n(1121),n(1122),n(1104),n(1138),n(1103),n(1137),n(1149),n(1151),n(1102),n(1136),n(1148),n(1150),n(1101),n(1147),n(1100),n(1105),n(1106),n(1107),n(1108),n(1109),n(1111),n(1110),n(1112),n(1113),n(1114),n(1116),n(1115),n(1125),n(1126),n(1127),n(1128),n(1130),n(1129),n(1132),n(1131),n(1133),n(1134),n(1135),n(1099),n(1124),n(1154),n(1153),n(1152),e.exports=n(60)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function u(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter(function(t){return t!==e})},get:function(){return e},set:function(n,r){e=n,t.forEach(function(t){return t(e,r)})}}}function l(e){return Array.isArray(e)?e[0]:e}function c(e,t){var n,r,c=\"__create-react-context-\"+(0,m.default)()+\"__\",f=function(e){function n(){var t,r,a;o(this,n);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return t=r=i(this,e.call.apply(e,[this].concat(l))),r.emitter=u(r.props.value),a=t,i(r,a)}return a(n,e),n.prototype.getChildContext=function(){var e;return e={},e[c]=this.emitter,e},n.prototype.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n=this.props.value,r=e.value,o=void 0;s(n,r)?o=0:(o=\"function\"==typeof t?t(n,r):_,o|=0,0!==o&&this.emitter.set(e.value,o))}},n.prototype.render=function(){return this.props.children},n}(d.Component);f.childContextTypes=(n={},n[c]=p.default.object.isRequired,n);var h=function(t){function n(){var e,r,a;o(this,n);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return e=r=i(this,t.call.apply(t,[this].concat(u))),r.state={value:r.getValue()},r.onUpdate=function(e,t){var n=0|r.observedBits;0!==(n&t)&&r.setState({value:r.getValue()})},a=e,i(r,a)}return a(n,t),n.prototype.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?_:t},n.prototype.componentDidMount=function(){this.context[c]&&this.context[c].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?_:e},n.prototype.componentWillUnmount=function(){this.context[c]&&this.context[c].off(this.onUpdate)},n.prototype.getValue=function(){return this.context[c]?this.context[c].get():e},n.prototype.render=function(){return l(this.props.children)(this.state.value)},n}(d.Component);return h.contextTypes=(r={},r[c]=p.default.object,r),{Provider:f,Consumer:h}}t.__esModule=!0;var d=n(1),f=(r(d),n(5)),p=r(f),h=n(1264),m=r(h),g=n(20),_=(r(g),1073741823);t.default=c,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(1156),s=r(a);t.default=i.default.createContext||s.default,e.exports=t.default},function(e,t){function n(){return(new Date).getTime()}e.exports=n},function(e,t){function n(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function r(e){return e&&\"object\"==typeof e&&\"number\"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,\"callee\")&&!Object.prototype.propertyIsEnumerable.call(e,\"callee\")||!1}var o=\"[object Arguments]\"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=o?n:r,t.supported=n,t.unsupported=r},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports=\"function\"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t){function n(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32}var r=-1,o=1,i=0;n.Diff,n.prototype.diff_main=function(e,t,n,r){\"undefined\"==typeof r&&(r=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var o=r;if(null==e||null==t)throw new Error(\"Null input. (diff_main)\");if(e==t)return e?[[i,e]]:[];\"undefined\"==typeof n&&(n=!0);var a=n,s=this.diff_commonPrefix(e,t),u=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var l=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var c=this.diff_compute_(e,t,a,o);return u&&c.unshift([i,u]),l&&c.push([i,l]),this.diff_cleanupMerge(c),c},n.prototype.diff_compute_=function(e,t,n,a){var s;if(!e)return[[o,t]];if(!t)return[[r,e]];var u=e.length>t.length?e:t,l=e.length>t.length?t:e,c=u.indexOf(l);if(c!=-1)return s=[[o,u.substring(0,c)],[i,l],[o,u.substring(c+l.length)]],e.length>t.length&&(s[0][0]=s[2][0]=r),s;if(1==l.length)return[[r,e],[o,t]];var d=this.diff_halfMatch_(e,t);if(d){var f=d[0],p=d[1],h=d[2],m=d[3],g=d[4],_=this.diff_main(f,h,n,a),b=this.diff_main(p,m,n,a);return _.concat([[i,g]],b)}return n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,a):this.diff_bisect_(e,t,a)},n.prototype.diff_lineMode_=function(e,t,n){var a=this.diff_linesToChars_(e,t);e=a.chars1,t=a.chars2;var s=a.lineArray,u=this.diff_main(e,t,!1,n);this.diff_charsToLines_(u,s),this.diff_cleanupSemantic(u),u.push([i,\"\"]);for(var l=0,c=0,d=0,f=\"\",p=\"\";l<u.length;){switch(u[l][0]){case o:d++,p+=u[l][1];break;case r:c++,f+=u[l][1];break;case i:if(c>=1&&d>=1){u.splice(l-c-d,c+d),l=l-c-d;for(var a=this.diff_main(f,p,!1,n),h=a.length-1;h>=0;h--)u.splice(l,0,a[h]);l+=a.length}d=0,c=0,f=\"\",p=\"\"}l++}return u.pop(),u},n.prototype.diff_bisect_=function(e,t,n){for(var i=e.length,a=t.length,s=Math.ceil((i+a)/2),u=s,l=2*s,c=new Array(l),d=new Array(l),f=0;f<l;f++)c[f]=-1,d[f]=-1;c[u+1]=0,d[u+1]=0;for(var p=i-a,h=p%2!=0,m=0,g=0,_=0,b=0,y=0;y<s&&!((new Date).getTime()>n);y++){for(var v=-y+m;v<=y-g;v+=2){var M,A=u+v;M=v==-y||v!=y&&c[A-1]<c[A+1]?c[A+1]:c[A-1]+1;for(var w=M-v;M<i&&w<a&&e.charAt(M)==t.charAt(w);)M++,w++;if(c[A]=M,M>i)g+=2;else if(w>a)m+=2;else if(h){var C=u+p-v;if(C>=0&&C<l&&d[C]!=-1){var E=i-d[C];if(M>=E)return this.diff_bisectSplit_(e,t,M,w,n)}}}for(var L=-y+_;L<=y-b;L+=2){var E,C=u+L;E=L==-y||L!=y&&d[C-1]<d[C+1]?d[C+1]:d[C-1]+1;for(var T=E-L;E<i&&T<a&&e.charAt(i-E-1)==t.charAt(a-T-1);)E++,T++;if(d[C]=E,E>i)b+=2;else if(T>a)_+=2;else if(!h){var A=u+p-L;if(A>=0&&A<l&&c[A]!=-1){var M=c[A],w=u+M-A;if(E=i-E,M>=E)return this.diff_bisectSplit_(e,t,M,w,n)}}}}return[[r,e],[o,t]]},n.prototype.diff_bisectSplit_=function(e,t,n,r,o){var i=e.substring(0,n),a=t.substring(0,r),s=e.substring(n),u=t.substring(r),l=this.diff_main(i,a,!1,o),c=this.diff_main(s,u,!1,o);return l.concat(c)},n.prototype.diff_linesToChars_=function(e,t){function n(e){for(var t=\"\",n=0,i=-1,a=r.length;i<e.length-1;){i=e.indexOf(\"\\n\",n),i==-1&&(i=e.length-1);var s=e.substring(n,i+1);n=i+1,(o.hasOwnProperty?o.hasOwnProperty(s):void 0!==o[s])?t+=String.fromCharCode(o[s]):(t+=String.fromCharCode(a),o[s]=a,r[a++]=s)}return t}var r=[],o={};r[0]=\"\";var i=n(e),a=n(t);return{chars1:i,chars2:a,lineArray:r}},n.prototype.diff_charsToLines_=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],o=[],i=0;i<r.length;i++)o[i]=t[r.charCodeAt(i)];e[n][1]=o.join(\"\")}},n.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),o=r,i=0;n<o;)e.substring(i,o)==t.substring(i,o)?(n=o,i=n):r=o,o=Math.floor((r-n)/2+n);return o},n.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var n=0,r=Math.min(e.length,t.length),o=r,i=0;n<o;)e.substring(e.length-o,e.length-i)==t.substring(t.length-o,t.length-i)?(n=o,i=n):r=o,o=Math.floor((r-n)/2+n);return o},n.prototype.diff_commonOverlap_=function(e,t){var n=e.length,r=t.length;if(0==n||0==r)return 0;n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n));var o=Math.min(n,r);if(e==t)return o;for(var i=0,a=1;;){var s=e.substring(o-a),u=t.indexOf(s);if(u==-1)return i;a+=u,0!=u&&e.substring(o-a)!=t.substring(0,a)||(i=a,a++)}},n.prototype.diff_halfMatch_=function(e,t){function n(e,t,n){for(var r,o,i,s,u=e.substring(n,n+Math.floor(e.length/4)),l=-1,c=\"\";(l=t.indexOf(u,l+1))!=-1;){var d=a.diff_commonPrefix(e.substring(n),t.substring(l)),f=a.diff_commonSuffix(e.substring(0,n),t.substring(0,l));c.length<f+d&&(c=t.substring(l-f,l)+t.substring(l,l+d),r=e.substring(0,n-f),o=e.substring(n+d),i=t.substring(0,l-f),s=t.substring(l+d))}return 2*c.length>=e.length?[r,o,i,s,c]:null}if(this.Diff_Timeout<=0)return null;var r=e.length>t.length?e:t,o=e.length>t.length?t:e;if(r.length<4||2*o.length<r.length)return null;var i,a=this,s=n(r,o,Math.ceil(r.length/4)),u=n(r,o,Math.ceil(r.length/2));if(!s&&!u)return null;i=u?s&&s[4].length>u[4].length?s:u:s;var l,c,d,f;e.length>t.length?(l=i[0],c=i[1],d=i[2],f=i[3]):(d=i[0],f=i[1],l=i[2],c=i[3]);var p=i[4];return[l,c,d,f,p]},n.prototype.diff_cleanupSemantic=function(e){for(var t=!1,n=[],a=0,s=null,u=0,l=0,c=0,d=0,f=0;u<e.length;)e[u][0]==i?(n[a++]=u,l=d,c=f,d=0,f=0,s=e[u][1]):(e[u][0]==o?d+=e[u][1].length:f+=e[u][1].length,s&&s.length<=Math.max(l,c)&&s.length<=Math.max(d,f)&&(e.splice(n[a-1],0,[r,s]),e[n[a-1]+1][0]=o,a--,a--,u=a>0?n[a-1]:-1,l=0,c=0,d=0,f=0,s=null,t=!0)),u++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),u=1;u<e.length;){if(e[u-1][0]==r&&e[u][0]==o){var p=e[u-1][1],h=e[u][1],m=this.diff_commonOverlap_(p,h),g=this.diff_commonOverlap_(h,p);m>=g?(m>=p.length/2||m>=h.length/2)&&(e.splice(u,0,[i,h.substring(0,m)]),e[u-1][1]=p.substring(0,p.length-m),e[u+1][1]=h.substring(m),u++):(g>=p.length/2||g>=h.length/2)&&(e.splice(u,0,[i,p.substring(0,g)]),e[u-1][0]=o,e[u-1][1]=h.substring(0,h.length-g),e[u+1][0]=r,e[u+1][1]=p.substring(g),u++),u++}u++}},n.prototype.diff_cleanupSemanticLossless=function(e){function t(e,t){if(!e||!t)return 6;var r=e.charAt(e.length-1),o=t.charAt(0),i=r.match(n.nonAlphaNumericRegex_),a=o.match(n.nonAlphaNumericRegex_),s=i&&r.match(n.whitespaceRegex_),u=a&&o.match(n.whitespaceRegex_),l=s&&r.match(n.linebreakRegex_),c=u&&o.match(n.linebreakRegex_),d=l&&e.match(n.blanklineEndRegex_),f=c&&t.match(n.blanklineStartRegex_);return d||f?5:l||c?4:i&&!s&&u?3:s||u?2:i||a?1:0}for(var r=1;r<e.length-1;){if(e[r-1][0]==i&&e[r+1][0]==i){var o=e[r-1][1],a=e[r][1],s=e[r+1][1],u=this.diff_commonSuffix(o,a);if(u){var l=a.substring(a.length-u);o=o.substring(0,o.length-u),a=l+a.substring(0,a.length-u),s=l+s}for(var c=o,d=a,f=s,p=t(o,a)+t(a,s);a.charAt(0)===s.charAt(0);){o+=a.charAt(0),a=a.substring(1)+s.charAt(0),s=s.substring(1);var h=t(o,a)+t(a,s);h>=p&&(p=h,c=o,d=a,f=s)}e[r-1][1]!=c&&(c?e[r-1][1]=c:(e.splice(r-1,1),r--),e[r][1]=d,f?e[r+1][1]=f:(e.splice(r+1,1),r--))}r++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\\s/,n.linebreakRegex_=/[\\r\\n]/,n.blanklineEndRegex_=/\\n\\r?\\n$/,n.blanklineStartRegex_=/^\\r?\\n\\r?\\n/,n.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],a=0,s=null,u=0,l=!1,c=!1,d=!1,f=!1;u<e.length;)e[u][0]==i?(e[u][1].length<this.Diff_EditCost&&(d||f)?(n[a++]=u,l=d,c=f,s=e[u][1]):(a=0,s=null),d=f=!1):(e[u][0]==r?f=!0:d=!0,s&&(l&&c&&d&&f||s.length<this.Diff_EditCost/2&&l+c+d+f==3)&&(e.splice(n[a-1],0,[r,s]),e[n[a-1]+1][0]=o,a--,s=null,l&&c?(d=f=!0,a=0):(a--,u=a>0?n[a-1]:-1,d=f=!1),t=!0)),u++;t&&this.diff_cleanupMerge(e)},n.prototype.diff_cleanupMerge=function(e){\ne.push([i,\"\"]);for(var t,n=0,a=0,s=0,u=\"\",l=\"\";n<e.length;)switch(e[n][0]){case o:s++,l+=e[n][1],n++;break;case r:a++,u+=e[n][1],n++;break;case i:a+s>1?(0!==a&&0!==s&&(t=this.diff_commonPrefix(l,u),0!==t&&(n-a-s>0&&e[n-a-s-1][0]==i?e[n-a-s-1][1]+=l.substring(0,t):(e.splice(0,0,[i,l.substring(0,t)]),n++),l=l.substring(t),u=u.substring(t)),t=this.diff_commonSuffix(l,u),0!==t&&(e[n][1]=l.substring(l.length-t)+e[n][1],l=l.substring(0,l.length-t),u=u.substring(0,u.length-t))),0===a?e.splice(n-s,a+s,[o,l]):0===s?e.splice(n-a,a+s,[r,u]):e.splice(n-a-s,a+s,[r,u],[o,l]),n=n-a-s+(a?1:0)+(s?1:0)+1):0!==n&&e[n-1][0]==i?(e[n-1][1]+=e[n][1],e.splice(n,1)):n++,s=0,a=0,u=\"\",l=\"\"}\"\"===e[e.length-1][1]&&e.pop();var c=!1;for(n=1;n<e.length-1;)e[n-1][0]==i&&e[n+1][0]==i&&(e[n][1].substring(e[n][1].length-e[n-1][1].length)==e[n-1][1]?(e[n][1]=e[n-1][1]+e[n][1].substring(0,e[n][1].length-e[n-1][1].length),e[n+1][1]=e[n-1][1]+e[n+1][1],e.splice(n-1,1),c=!0):e[n][1].substring(0,e[n+1][1].length)==e[n+1][1]&&(e[n-1][1]+=e[n+1][1],e[n][1]=e[n][1].substring(e[n+1][1].length)+e[n+1][1],e.splice(n+1,1),c=!0)),n++;c&&this.diff_cleanupMerge(e)},n.prototype.diff_xIndex=function(e,t){var n,i=0,a=0,s=0,u=0;for(n=0;n<e.length&&(e[n][0]!==o&&(i+=e[n][1].length),e[n][0]!==r&&(a+=e[n][1].length),!(i>t));n++)s=i,u=a;return e.length!=n&&e[n][0]===r?u:u+(t-s)},n.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,a=/</g,s=/>/g,u=/\\n/g,l=0;l<e.length;l++){var c=e[l][0],d=e[l][1],f=d.replace(n,\"&amp;\").replace(a,\"&lt;\").replace(s,\"&gt;\").replace(u,\"&para;<br>\");switch(c){case o:t[l]='<ins style=\"background:#e6ffe6;\">'+f+\"</ins>\";break;case r:t[l]='<del style=\"background:#ffe6e6;\">'+f+\"</del>\";break;case i:t[l]=\"<span>\"+f+\"</span>\"}}return t.join(\"\")},n.prototype.diff_text1=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==o&&(t[n]=e[n][1]);return t.join(\"\")},n.prototype.diff_text2=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==r&&(t[n]=e[n][1]);return t.join(\"\")},n.prototype.diff_levenshtein=function(e){for(var t=0,n=0,a=0,s=0;s<e.length;s++){var u=e[s][0],l=e[s][1];switch(u){case o:n+=l.length;break;case r:a+=l.length;break;case i:t+=Math.max(n,a),n=0,a=0}}return t+=Math.max(n,a)},n.prototype.diff_toDelta=function(e){for(var t=[],n=0;n<e.length;n++)switch(e[n][0]){case o:t[n]=\"+\"+encodeURI(e[n][1]);break;case r:t[n]=\"-\"+e[n][1].length;break;case i:t[n]=\"=\"+e[n][1].length}return t.join(\"\\t\").replace(/%20/g,\" \")},n.prototype.diff_fromDelta=function(e,t){for(var n=[],a=0,s=0,u=t.split(/\\t/g),l=0;l<u.length;l++){var c=u[l].substring(1);switch(u[l].charAt(0)){case\"+\":try{n[a++]=[o,decodeURI(c)]}catch(e){throw new Error(\"Illegal escape in diff_fromDelta: \"+c)}break;case\"-\":case\"=\":var d=parseInt(c,10);if(isNaN(d)||d<0)throw new Error(\"Invalid number in diff_fromDelta: \"+c);var f=e.substring(s,s+=d);\"=\"==u[l].charAt(0)?n[a++]=[i,f]:n[a++]=[r,f];break;default:if(u[l])throw new Error(\"Invalid diff operation in diff_fromDelta: \"+u[l])}}if(s!=e.length)throw new Error(\"Delta length (\"+s+\") does not equal source text length (\"+e.length+\").\");return n},n.prototype.match_main=function(e,t,n){if(null==e||null==t||null==n)throw new Error(\"Null input. (match_main)\");return n=Math.max(0,Math.min(n,e.length)),e==t?0:e.length?e.substring(n,n+t.length)==t?n:this.match_bitap_(e,t,n):-1},n.prototype.match_bitap_=function(e,t,n){function r(e,r){var o=e/t.length,a=Math.abs(n-r);return i.Match_Distance?o+a/i.Match_Distance:a?1:o}if(t.length>this.Match_MaxBits)throw new Error(\"Pattern too long for this browser.\");var o=this.match_alphabet_(t),i=this,a=this.Match_Threshold,s=e.indexOf(t,n);s!=-1&&(a=Math.min(r(0,s),a),s=e.lastIndexOf(t,n+t.length),s!=-1&&(a=Math.min(r(0,s),a)));var u=1<<t.length-1;s=-1;for(var l,c,d,f=t.length+e.length,p=0;p<t.length;p++){for(l=0,c=f;l<c;)r(p,n+c)<=a?l=c:f=c,c=Math.floor((f-l)/2+l);f=c;var h=Math.max(1,n-c+1),m=Math.min(n+c,e.length)+t.length,g=Array(m+2);g[m+1]=(1<<p)-1;for(var _=m;_>=h;_--){var b=o[e.charAt(_-1)];if(0===p?g[_]=(g[_+1]<<1|1)&b:g[_]=(g[_+1]<<1|1)&b|((d[_+1]|d[_])<<1|1)|d[_+1],g[_]&u){var y=r(p,_-1);if(y<=a){if(a=y,s=_-1,!(s>n))break;h=Math.max(1,2*n-s)}}}if(r(p+1,n)>a)break;d=g}return s},n.prototype.match_alphabet_=function(e){for(var t={},n=0;n<e.length;n++)t[e.charAt(n)]=0;for(var n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t},n.prototype.patch_addContext_=function(e,t){if(0!=t.length){for(var n=t.substring(e.start2,e.start2+e.length1),r=0;t.indexOf(n)!=t.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)r+=this.Patch_Margin,n=t.substring(e.start2-r,e.start2+e.length1+r);r+=this.Patch_Margin;var o=t.substring(e.start2-r,e.start2);o&&e.diffs.unshift([i,o]);var a=t.substring(e.start2+e.length1,e.start2+e.length1+r);a&&e.diffs.push([i,a]),e.start1-=o.length,e.start2-=o.length,e.length1+=o.length+a.length,e.length2+=o.length+a.length}},n.prototype.patch_make=function(e,t,a){var s,u;if(\"string\"==typeof e&&\"string\"==typeof t&&\"undefined\"==typeof a)s=e,u=this.diff_main(s,t,!0),u.length>2&&(this.diff_cleanupSemantic(u),this.diff_cleanupEfficiency(u));else if(e&&\"object\"==typeof e&&\"undefined\"==typeof t&&\"undefined\"==typeof a)u=e,s=this.diff_text1(u);else if(\"string\"==typeof e&&t&&\"object\"==typeof t&&\"undefined\"==typeof a)s=e,u=t;else{if(\"string\"!=typeof e||\"string\"!=typeof t||!a||\"object\"!=typeof a)throw new Error(\"Unknown call format to patch_make.\");s=e,u=a}if(0===u.length)return[];for(var l=[],c=new n.patch_obj,d=0,f=0,p=0,h=s,m=s,g=0;g<u.length;g++){var _=u[g][0],b=u[g][1];switch(d||_===i||(c.start1=f,c.start2=p),_){case o:c.diffs[d++]=u[g],c.length2+=b.length,m=m.substring(0,p)+b+m.substring(p);break;case r:c.length1+=b.length,c.diffs[d++]=u[g],m=m.substring(0,p)+m.substring(p+b.length);break;case i:b.length<=2*this.Patch_Margin&&d&&u.length!=g+1?(c.diffs[d++]=u[g],c.length1+=b.length,c.length2+=b.length):b.length>=2*this.Patch_Margin&&d&&(this.patch_addContext_(c,h),l.push(c),c=new n.patch_obj,d=0,h=m,f=p)}_!==o&&(f+=b.length),_!==r&&(p+=b.length)}return d&&(this.patch_addContext_(c,h),l.push(c)),l},n.prototype.patch_deepCopy=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r],i=new n.patch_obj;i.diffs=[];for(var a=0;a<o.diffs.length;a++)i.diffs[a]=o.diffs[a].slice();i.start1=o.start1,i.start2=o.start2,i.length1=o.length1,i.length2=o.length2,t[r]=i}return t},n.prototype.patch_apply=function(e,t){if(0==e.length)return[t,[]];e=this.patch_deepCopy(e);var n=this.patch_addPadding(e);t=n+t+n,this.patch_splitMax(e);for(var a=0,s=[],u=0;u<e.length;u++){var l,c=e[u].start2+a,d=this.diff_text1(e[u].diffs),f=-1;if(d.length>this.Match_MaxBits?(l=this.match_main(t,d.substring(0,this.Match_MaxBits),c),l!=-1&&(f=this.match_main(t,d.substring(d.length-this.Match_MaxBits),c+d.length-this.Match_MaxBits),(f==-1||l>=f)&&(l=-1))):l=this.match_main(t,d,c),l==-1)s[u]=!1,a-=e[u].length2-e[u].length1;else{s[u]=!0,a=l-c;var p;if(p=f==-1?t.substring(l,l+d.length):t.substring(l,f+this.Match_MaxBits),d==p)t=t.substring(0,l)+this.diff_text2(e[u].diffs)+t.substring(l+d.length);else{var h=this.diff_main(d,p,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(h)/d.length>this.Patch_DeleteThreshold)s[u]=!1;else{this.diff_cleanupSemanticLossless(h);for(var m,g=0,_=0;_<e[u].diffs.length;_++){var b=e[u].diffs[_];b[0]!==i&&(m=this.diff_xIndex(h,g)),b[0]===o?t=t.substring(0,l+m)+b[1]+t.substring(l+m):b[0]===r&&(t=t.substring(0,l+m)+t.substring(l+this.diff_xIndex(h,g+b[1].length))),b[0]!==r&&(g+=b[1].length)}}}}}return t=t.substring(n.length,t.length-n.length),[t,s]},n.prototype.patch_addPadding=function(e){for(var t=this.Patch_Margin,n=\"\",r=1;r<=t;r++)n+=String.fromCharCode(r);for(var r=0;r<e.length;r++)e[r].start1+=t,e[r].start2+=t;var o=e[0],a=o.diffs;if(0==a.length||a[0][0]!=i)a.unshift([i,n]),o.start1-=t,o.start2-=t,o.length1+=t,o.length2+=t;else if(t>a[0][1].length){var s=t-a[0][1].length;a[0][1]=n.substring(a[0][1].length)+a[0][1],o.start1-=s,o.start2-=s,o.length1+=s,o.length2+=s}if(o=e[e.length-1],a=o.diffs,0==a.length||a[a.length-1][0]!=i)a.push([i,n]),o.length1+=t,o.length2+=t;else if(t>a[a.length-1][1].length){var s=t-a[a.length-1][1].length;a[a.length-1][1]+=n.substring(0,s),o.length1+=s,o.length2+=s}return n},n.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,a=0;a<e.length;a++)if(!(e[a].length1<=t)){var s=e[a];e.splice(a--,1);for(var u=s.start1,l=s.start2,c=\"\";0!==s.diffs.length;){var d=new n.patch_obj,f=!0;for(d.start1=u-c.length,d.start2=l-c.length,\"\"!==c&&(d.length1=d.length2=c.length,d.diffs.push([i,c]));0!==s.diffs.length&&d.length1<t-this.Patch_Margin;){var p=s.diffs[0][0],h=s.diffs[0][1];p===o?(d.length2+=h.length,l+=h.length,d.diffs.push(s.diffs.shift()),f=!1):p===r&&1==d.diffs.length&&d.diffs[0][0]==i&&h.length>2*t?(d.length1+=h.length,u+=h.length,f=!1,d.diffs.push([p,h]),s.diffs.shift()):(h=h.substring(0,t-d.length1-this.Patch_Margin),d.length1+=h.length,u+=h.length,p===i?(d.length2+=h.length,l+=h.length):f=!1,d.diffs.push([p,h]),h==s.diffs[0][1]?s.diffs.shift():s.diffs[0][1]=s.diffs[0][1].substring(h.length))}c=this.diff_text2(d.diffs),c=c.substring(c.length-this.Patch_Margin);var m=this.diff_text1(s.diffs).substring(0,this.Patch_Margin);\"\"!==m&&(d.length1+=m.length,d.length2+=m.length,0!==d.diffs.length&&d.diffs[d.diffs.length-1][0]===i?d.diffs[d.diffs.length-1][1]+=m:d.diffs.push([i,m])),f||e.splice(++a,0,d)}}},n.prototype.patch_toText=function(e){for(var t=[],n=0;n<e.length;n++)t[n]=e[n];return t.join(\"\")},n.prototype.patch_fromText=function(e){var t=[];if(!e)return t;for(var a=e.split(\"\\n\"),s=0,u=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;s<a.length;){var l=a[s].match(u);if(!l)throw new Error(\"Invalid patch string: \"+a[s]);var c=new n.patch_obj;for(t.push(c),c.start1=parseInt(l[1],10),\"\"===l[2]?(c.start1--,c.length1=1):\"0\"==l[2]?c.length1=0:(c.start1--,c.length1=parseInt(l[2],10)),c.start2=parseInt(l[3],10),\"\"===l[4]?(c.start2--,c.length2=1):\"0\"==l[4]?c.length2=0:(c.start2--,c.length2=parseInt(l[4],10)),s++;s<a.length;){var d=a[s].charAt(0);try{var f=decodeURI(a[s].substring(1))}catch(e){throw new Error(\"Illegal escape in patch_fromText: \"+f)}if(\"-\"==d)c.diffs.push([r,f]);else if(\"+\"==d)c.diffs.push([o,f]);else if(\" \"==d)c.diffs.push([i,f]);else{if(\"@\"==d)break;if(\"\"!==d)throw new Error('Invalid patch mode \"'+d+'\" in: '+f)}s++}}return t},n.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},n.patch_obj.prototype.toString=function(){var e,t;e=0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1,t=0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2;for(var n,a=[\"@@ -\"+e+\" +\"+t+\" @@\\n\"],s=0;s<this.diffs.length;s++){switch(this.diffs[s][0]){case o:n=\"+\";break;case r:n=\"-\";break;case i:n=\" \"}a[s+1]=n+encodeURI(this.diffs[s][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")},e.exports=n,e.exports.diff_match_patch=n,e.exports.DIFF_DELETE=r,e.exports.DIFF_INSERT=o,e.exports.DIFF_EQUAL=i},function(e,t,n){\"use strict\";var r={single_source_shortest_paths:function(e,t,n){var o={},i={};i[t]=0;var a=r.PriorityQueue.make();a.push(t,0);for(var s,u,l,c,d,f,p,h,m;!a.empty();){s=a.pop(),u=s.value,c=s.cost,d=e[u]||{};for(l in d)d.hasOwnProperty(l)&&(f=d[l],p=c+f,h=i[l],m=\"undefined\"==typeof i[l],(m||h>p)&&(i[l]=p,a.push(l,p),o[l]=u))}if(\"undefined\"!=typeof n&&\"undefined\"==typeof i[n]){var g=[\"Could not find a path from \",t,\" to \",n,\".\"].join(\"\");throw new Error(g)}return o},extract_shortest_path_from_predecessor_list:function(e,t){for(var n,r=[],o=t;o;)r.push(o),n=e[o],o=e[o];return r.reverse(),r},find_path:function(e,t,n){var o=r.single_source_shortest_paths(e,t,n);return r.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(e){var t,n=r.PriorityQueue,o={};e=e||{};for(t in n)n.hasOwnProperty(t)&&(o[t]=n[t]);return o.queue=[],o.sorter=e.sorter||n.default_sorter,o},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){e.classList?e.classList.add(t):(0,a.default)(e,t)||(\"string\"==typeof e.className?e.className=e.className+\" \"+t:e.setAttribute(\"class\",(e.className&&e.className.baseVal||\"\")+\" \"+t))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(407),a=r(i);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){return e.replace(new RegExp(\"(^|\\\\s)\"+t+\"(?:\\\\s|$)\",\"g\"),\"$1\").replace(/\\s+/g,\" \").replace(/^\\s*|\\s*$/g,\"\")}e.exports=function(e,t){e.classList?e.classList.remove(t):\"string\"==typeof e.className?e.className=n(e.className,t):e.setAttribute(\"class\",n(e.className&&e.className.baseVal||\"\",t))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return function(n){var r=n.currentTarget,o=n.target,i=(0,u.default)(r,e);i.some(function(e){return(0,a.default)(e,o)})&&t.call(this,n)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(89),a=r(i),s=n(1170),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.listen=t.filter=t.off=t.on=void 0;var o=n(159),i=r(o),a=n(199),s=r(a),u=n(1165),l=r(u),c=n(1167),d=r(c);t.on=i.default,t.off=s.default,t.filter=l.default,t.listen=d.default,t.default={on:i.default,off:s.default,filter:l.default,listen:d.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(74),i=r(o),a=n(159),s=r(a),u=n(199),l=r(u),c=function(){};i.default&&(c=function(e,t,n,r){return(0,s.default)(e,t,n,r),function(){(0,l.default)(e,t,n,r)}}),t.default=c,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(0,a.default)(e);return t&&t.defaultView||t.parentWindow}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(80),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,u.default)(e);return n?n.innerHeight:t?e.clientHeight:(0,a.default)(e).height}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(132),a=r(i),s=n(131),u=r(s);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){var n,i=\"#\"===t[0],a=\".\"===t[0],s=i||a?t.slice(1):t,u=r.test(s);return u?i?(e=e.getElementById?e:document,(n=e.getElementById(s))?[n]:[]):o(e.getElementsByClassName&&a?e.getElementsByClassName(s):e.getElementsByTagName(t)):o(e.querySelectorAll(t))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/^[\\w-]*$/,o=Function.prototype.bind.call(Function.prototype.call,[].slice);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,a.default)(e);return void 0===t?n?\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft:e.scrollLeft:void(n?n.scrollTo(t,\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop):e.scrollLeft=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(131),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(!e)throw new TypeError(\"No Element passed to `getComputedStyle()`\");var t=e.ownerDocument;return\"defaultView\"in t?t.defaultView.opener?e.ownerDocument.defaultView.getComputedStyle(e,null):window.getComputedStyle(e,null):{getPropertyValue:function(t){var n=e.style;t=(0,a.default)(t),\"float\"==t&&(t=\"styleFloat\");var r=e.currentStyle[t]||null;if(null==r&&n&&n[t]&&(r=n[t]),u.test(r)&&!s.test(t)){var o=n.left,i=e.runtimeStyle,l=i&&i.left;l&&(i.left=e.currentStyle.left),n.left=\"fontSize\"===t?\"1em\":r,r=n.pixelLeft+\"px\",n.left=o,l&&(i.left=l)}return r}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(412),a=r(i),s=/^(top|right|bottom|left)$/,u=/^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;e.exports=t.default},function(e,t){\"use strict\";function n(e,t){return\"removeProperty\"in e.style?e.style.removeProperty(t):e.style.removeAttribute(t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t){\"use strict\";function n(e){return!(!e||!r.test(e))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;e.exports=t.default},function(e,t){\"use strict\";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/-(.)/g;e.exports=t.default},function(e,t){\"use strict\";function n(e){return e.replace(r,\"-$1\").toLowerCase()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/([A-Z])/g;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return(0,a.default)(e).replace(s,\"-ms-\")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(1176),a=r(i),s=/^ms-/;e.exports=t.default},function(e,t,n){function r(e){var t=Object.keys(e).join(\"|\"),n=i(e);t+=\"|#[xX][\\\\da-fA-F]+|#\\\\d+\";var r=new RegExp(\"&(?:\"+t+\");\",\"g\");return function(e){return String(e).replace(r,n)}}function o(e,t){return e<t?1:-1}function i(e){return function(t){return\"#\"===t.charAt(1)?l(\"X\"===t.charAt(2)||\"x\"===t.charAt(2)?parseInt(t.substr(3),16):parseInt(t.substr(2),10)):e[t.slice(1,-1)]}}var a=n(428),s=n(1297),u=n(429),l=n(1179),c=r(u),d=r(a),f=function(){function e(e){return\";\"!==e.substr(-1)&&(e+=\";\"),c(e)}for(var t=Object.keys(s).sort(o),n=Object.keys(a).sort(o),r=0,u=0;r<n.length;r++)t[u]===n[r]?(n[r]+=\";?\",u++):n[r]+=\";\";var l=new RegExp(\"&(?:\"+n.join(\"|\")+\"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\",\"g\"),c=i(a);return function(t){return String(t).replace(l,e)}}();e.exports={XML:c,HTML:f,HTMLStrict:d}},function(e,t,n){function r(e){if(e>=55296&&e<=57343||e>1114111)return\"�\";e in o&&(e=o[e]);var t=\"\";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e)}var o=n(1296);e.exports=r},function(e,t,n){function r(e){return Object.keys(e).sort().reduce(function(t,n){return t[e[n]]=\"&\"+n+\";\",t},{})}function o(e){var t=[],n=[];return Object.keys(e).forEach(function(e){1===e.length?t.push(\"\\\\\"+e):n.push(e)}),n.unshift(\"[\"+t.join(\"\")+\"]\"),new RegExp(n.join(\"|\"),\"g\")}function i(e){return\"&#x\"+e.charCodeAt(0).toString(16).toUpperCase()+\";\"}function a(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),r=1024*(t-55296)+n-56320+65536;return\"&#x\"+r.toString(16).toUpperCase()+\";\"}function s(e,t){function n(t){return e[t]}return function(e){return e.replace(t,n).replace(h,a).replace(p,i)}}function u(e){return e.replace(m,i).replace(h,a).replace(p,i)}var l=r(n(429)),c=o(l);t.XML=s(l,c);var d=r(n(428)),f=o(d);t.HTML=s(d,f);var p=/[^\\0-\\x7F]/g,h=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,m=o(l);t.escape=u},function(e,t){},function(e,t){e.exports={progress:\"AccessControlList__progress__20Hmu\",\"progress-bar\":\"AccessControlList__progress-bar__3eQh9\",\"progress-striped\":\"AccessControlList__progress-striped__n2ZIO\",\"progress-bar-striped\":\"AccessControlList__progress-bar-striped__rNAP_\",active:\"AccessControlList__active__2iFGN\",\"progress-bar-stripes\":\"AccessControlList__progress-bar-stripes__3Lb0s\",\"progress-bar-success\":\"AccessControlList__progress-bar-success__1cpGz\",\"progress-bar-info\":\"AccessControlList__progress-bar-info__1G1Gt\",\"progress-bar-warning\":\"AccessControlList__progress-bar-warning__1TxPq\",\"progress-bar-danger\":\"AccessControlList__progress-bar-danger__2vfmI\",tooltip:\"AccessControlList__tooltip__14sjr\",in:\"AccessControlList__in__1HQSn\",top:\"AccessControlList__top__2_OgA\",right:\"AccessControlList__right__WSNlL\",bottom:\"AccessControlList__bottom__Zbrzm\",left:\"AccessControlList__left__3RjWS\",\"tooltip-arrow\":\"AccessControlList__tooltip-arrow__3w8HR\",\"top-left\":\"AccessControlList__top-left__FDYQm\",\"top-right\":\"AccessControlList__top-right__2l3LZ\",\"bottom-left\":\"AccessControlList__bottom-left__3K2y4\",\"bottom-right\":\"AccessControlList__bottom-right__2ohIx\",\"tooltip-inner\":\"AccessControlList__tooltip-inner__2NEwt\",newBtn:\"AccessControlList__newBtn__1SEFR\",btnGroup:\"AccessControlList__btnGroup__BEtXR\",btn:\"AccessControlList__btn__3r9CX\"}},function(e,t){e.exports={progress:\"GrantListItem__progress__2EzsC\",\"progress-bar\":\"GrantListItem__progress-bar__MOEWU\",\"progress-striped\":\"GrantListItem__progress-striped__3al23\",\"progress-bar-striped\":\"GrantListItem__progress-bar-striped__3u5QQ\",active:\"GrantListItem__active__2vtoY\",\"progress-bar-stripes\":\"GrantListItem__progress-bar-stripes__1NdrI\",\"progress-bar-success\":\"GrantListItem__progress-bar-success__3kaNO\",\"progress-bar-info\":\"GrantListItem__progress-bar-info__2NjL2\",\"progress-bar-warning\":\"GrantListItem__progress-bar-warning__1TsVt\",\"progress-bar-danger\":\"GrantListItem__progress-bar-danger__31WBf\",tooltip:\"GrantListItem__tooltip__3Wvfl\",in:\"GrantListItem__in__1LtW_\",top:\"GrantListItem__top__1fr-T\",right:\"GrantListItem__right__-1p8s\",bottom:\"GrantListItem__bottom__OYqLU\",left:\"GrantListItem__left__F5Xls\",\"tooltip-arrow\":\"GrantListItem__tooltip-arrow__3ED75\",\"top-left\":\"GrantListItem__top-left__1f0CJ\",\"top-right\":\"GrantListItem__top-right__2IGTh\",\"bottom-left\":\"GrantListItem__bottom-left__3Y3bj\",\"bottom-right\":\"GrantListItem__bottom-right__2eWzT\",\"tooltip-inner\":\"GrantListItem__tooltip-inner__7eEj9\",tdWrap:\"GrantListItem__tdWrap__lMI3F\"}},function(e,t){e.exports={progress:\"List__progress__3YcGh\",\"progress-bar\":\"List__progress-bar__2xWdL\",\"progress-striped\":\"List__progress-striped__SiKIP\",\"progress-bar-striped\":\"List__progress-bar-striped__1o5l9\",active:\"List__active__3rKEi\",\"progress-bar-stripes\":\"List__progress-bar-stripes__1sN4X\",\"progress-bar-success\":\"List__progress-bar-success__1ivu-\",\"progress-bar-info\":\"List__progress-bar-info__3P9jG\",\"progress-bar-warning\":\"List__progress-bar-warning__3Mvhs\",\"progress-bar-danger\":\"List__progress-bar-danger__Vk4I4\",tooltip:\"List__tooltip__3RTyo\",in:\"List__in__1GLum\",top:\"List__top__2dta7\",right:\"List__right__28YIZ\",bottom:\"List__bottom__1o1qs\",left:\"List__left__3J6zG\",\"tooltip-arrow\":\"List__tooltip-arrow__14zgU\",\"top-left\":\"List__top-left__1Qn8J\",\"top-right\":\"List__top-right__22Nzx\",\"bottom-left\":\"List__bottom-left__1b_x_\",\"bottom-right\":\"List__bottom-right__2JAmX\",\"tooltip-inner\":\"List__tooltip-inner__3v3YO\",main:\"List__main__1Uqei\"}},function(e,t){e.exports={progress:\"ListItem__progress__yQ5xH\",\"progress-bar\":\"ListItem__progress-bar__2O2xo\",\"progress-striped\":\"ListItem__progress-striped__2j7Bp\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__2nwhY\",active:\"ListItem__active__2dUxQ\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__3kfeX\",\"progress-bar-success\":\"ListItem__progress-bar-success__2TeL1\",\"progress-bar-info\":\"ListItem__progress-bar-info__1zYsZ\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__29gOY\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__EDS_i\",tooltip:\"ListItem__tooltip__1TMFy\",in:\"ListItem__in__a8l-3\",top:\"ListItem__top__1lIlT\",right:\"ListItem__right__3bVNJ\",bottom:\"ListItem__bottom__36mZW\",left:\"ListItem__left__1lzK4\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__xTUJ4\",\"top-left\":\"ListItem__top-left__2Dg5g\",\"top-right\":\"ListItem__top-right__25NCA\",\"bottom-left\":\"ListItem__bottom-left__qr7wA\",\"bottom-right\":\"ListItem__bottom-right__hdpq0\",\"tooltip-inner\":\"ListItem__tooltip-inner__237x1\",selectButton:\"ListItem__selectButton__2XVGK\",buttonDisable:\"ListItem__buttonDisable__2Mk5k\",tr:\"ListItem__tr__2DYB8\"}},function(e,t){e.exports={progress:\"MnemonicStepper__progress__vumsh\",\"progress-bar\":\"MnemonicStepper__progress-bar__2silB\",\"progress-striped\":\"MnemonicStepper__progress-striped__1FMBY\",\"progress-bar-striped\":\"MnemonicStepper__progress-bar-striped__3YT8l\",active:\"MnemonicStepper__active__21CZL\",\"progress-bar-stripes\":\"MnemonicStepper__progress-bar-stripes__2UxBv\",\"progress-bar-success\":\"MnemonicStepper__progress-bar-success__13qjh\",\"progress-bar-info\":\"MnemonicStepper__progress-bar-info__SVlD9\",\"progress-bar-warning\":\"MnemonicStepper__progress-bar-warning__29n14\",\"progress-bar-danger\":\"MnemonicStepper__progress-bar-danger__3WlmD\",tooltip:\"MnemonicStepper__tooltip__1AdsT\",in:\"MnemonicStepper__in__1UR9T\",top:\"MnemonicStepper__top__1wvoS\",right:\"MnemonicStepper__right__O_whf\",bottom:\"MnemonicStepper__bottom__Zohjw\",left:\"MnemonicStepper__left__3-d3S\",\"tooltip-arrow\":\"MnemonicStepper__tooltip-arrow__2zraH\",\"top-left\":\"MnemonicStepper__top-left__2j4Gd\",\"top-right\":\"MnemonicStepper__top-right__2SFKw\",\"bottom-left\":\"MnemonicStepper__bottom-left__1bOj_\",\"bottom-right\":\"MnemonicStepper__bottom-right__3s5S8\",\"tooltip-inner\":\"MnemonicStepper__tooltip-inner__3A73h\",content:\"MnemonicStepper__content__c5QSh\",marginLeft:\"MnemonicStepper__marginLeft__3yw1h\"}},function(e,t){e.exports={progress:\"Loading__progress__1nevk\",\"progress-bar\":\"Loading__progress-bar__Y4vE2\",\"progress-striped\":\"Loading__progress-striped__3dURX\",\"progress-bar-striped\":\"Loading__progress-bar-striped__VrWWQ\",active:\"Loading__active__3tIdR\",\"progress-bar-stripes\":\"Loading__progress-bar-stripes__3XzRg\",\"progress-bar-success\":\"Loading__progress-bar-success__3uE-N\",\"progress-bar-info\":\"Loading__progress-bar-info__2qCEh\",\"progress-bar-warning\":\"Loading__progress-bar-warning__Cz44m\",\"progress-bar-danger\":\"Loading__progress-bar-danger__2neAH\",tooltip:\"Loading__tooltip__1gIoP\",in:\"Loading__in__4ySFz\",top:\"Loading__top__vD3U3\",right:\"Loading__right__3W2FR\",bottom:\"Loading__bottom__31boG\",left:\"Loading__left__2PNMa\",\"tooltip-arrow\":\"Loading__tooltip-arrow__1zq8c\",\"top-left\":\"Loading__top-left__2GFts\",\"top-right\":\"Loading__top-right__1AeFH\",\"bottom-left\":\"Loading__bottom-left__3genF\",\"bottom-right\":\"Loading__bottom-right__A4Tgx\",\"tooltip-inner\":\"Loading__tooltip-inner__3MYtb\",main:\"Loading__main__11Yng\",logo:\"Loading__logo__2xsAb\",pulsing:\"Loading__pulsing__3RSez\"}},function(e,t){e.exports={progress:\"Login__progress__3Dh0F\",\"progress-bar\":\"Login__progress-bar__32iE9\",\"progress-striped\":\"Login__progress-striped__21p8e\",\"progress-bar-striped\":\"Login__progress-bar-striped__3SLfT\",active:\"Login__active__3QMlL\",\"progress-bar-stripes\":\"Login__progress-bar-stripes__-vr4P\",\"progress-bar-success\":\"Login__progress-bar-success__3fziN\",\"progress-bar-info\":\"Login__progress-bar-info__3Hx2D\",\"progress-bar-warning\":\"Login__progress-bar-warning__2mI9n\",\"progress-bar-danger\":\"Login__progress-bar-danger__1cq9j\",tooltip:\"Login__tooltip__jpSTt\",in:\"Login__in__BYTfP\",top:\"Login__top__3BTy0\",right:\"Login__right__1TRRm\",bottom:\"Login__bottom__1JhAq\",left:\"Login__left__k0_Wx\",\"tooltip-arrow\":\"Login__tooltip-arrow__1glnE\",\"top-left\":\"Login__top-left__1ECol\",\"top-right\":\"Login__top-right__3VoUH\",\"bottom-left\":\"Login__bottom-left__3wQYy\",\"bottom-right\":\"Login__bottom-right__2Y0HF\",\"tooltip-inner\":\"Login__tooltip-inner__19mys\",main:\"Login__main__37Jey\",image:\"Login__image__2YQqX\",form:\"Login__form__25_4X\"}},function(e,t){e.exports={progress:\"Main__progress__S94Hk\",\"progress-bar\":\"Main__progress-bar__1167Q\",\"progress-striped\":\"Main__progress-striped__3F4wp\",\"progress-bar-striped\":\"Main__progress-bar-striped__1mSaW\",active:\"Main__active__3v2Qq\",\"progress-bar-stripes\":\"Main__progress-bar-stripes__2Qq8h\",\"progress-bar-success\":\"Main__progress-bar-success__1ftDk\",\"progress-bar-info\":\"Main__progress-bar-info__1B2ic\",\"progress-bar-warning\":\"Main__progress-bar-warning__2QF-g\",\"progress-bar-danger\":\"Main__progress-bar-danger__3lG54\",tooltip:\"Main__tooltip__3GC3n\",in:\"Main__in__1lbLc\",top:\"Main__top__1gxkl\",right:\"Main__right__2E0Tj\",bottom:\"Main__bottom__3cesW\",left:\"Main__left__1aX5Z\",\"tooltip-arrow\":\"Main__tooltip-arrow__1gzva\",\"top-left\":\"Main__top-left__3eiYD\",\"top-right\":\"Main__top-right__3A2vK\",\"bottom-left\":\"Main__bottom-left__j-r1q\",\"bottom-right\":\"Main__bottom-right__I9LgK\",\"tooltip-inner\":\"Main__tooltip-inner__1P3Z0\",main:\"Main__main__2CrUS\",sidebar:\"Main__sidebar__23xrF\",content:\"Main__content__3EmN7\",sidebarContent:\"Main__sidebarContent__3xf4d\",version:\"Main__version__30V6N\",logo:\"Main__logo__3c8sL\",settings:\"Main__settings__2SkYg\",languagesContainer:\"Main__languagesContainer__2ghdd\",languages:\"Main__languages__XSMu9\",connectionIssue:\"Main__connectionIssue__MlmQz\",languagesMenu:\"Main__languagesMenu__2cz3H\"}},function(e,t){e.exports={progress:\"Modal__progress__1pk_p\",\"progress-bar\":\"Modal__progress-bar__mHFYY\",\"progress-striped\":\"Modal__progress-striped__1vkq3\",\"progress-bar-striped\":\"Modal__progress-bar-striped__pLbcU\",active:\"Modal__active__2Q0cA\",\"progress-bar-stripes\":\"Modal__progress-bar-stripes__ECNxO\",\"progress-bar-success\":\"Modal__progress-bar-success__qs27E\",\"progress-bar-info\":\"Modal__progress-bar-info__2S4Dr\",\"progress-bar-warning\":\"Modal__progress-bar-warning__dx2VK\",\"progress-bar-danger\":\"Modal__progress-bar-danger__3xS8c\",tooltip:\"Modal__tooltip__XyByj\",in:\"Modal__in__1fFZB\",top:\"Modal__top__11_Nm\",right:\"Modal__right__2qf1s\",bottom:\"Modal__bottom__3Hx97\",left:\"Modal__left__1YS9_\",\"tooltip-arrow\":\"Modal__tooltip-arrow__TalEl\",\"top-left\":\"Modal__top-left__yjFKr\",\"top-right\":\"Modal__top-right__2msdI\",\"bottom-left\":\"Modal__bottom-left__1_klG\",\"bottom-right\":\"Modal__bottom-right__1qabe\",\"tooltip-inner\":\"Modal__tooltip-inner__1d25M\",main:\"Modal__main__1qTNQ\",backdrop:\"Modal__backdrop__TKcEi\",content:\"Modal__content__4bKWt\",wide:\"Modal__wide__3bblv\",cancel:\"Modal__cancel__3c2lX\",box:\"Modal__box__2ZGSs\",title:\"Modal__title__1PCgn\",close:\"Modal__close__UG6xL\"}},function(e,t){e.exports={progress:\"SecondaryNavigation__progress__19Oy6\",\"progress-bar\":\"SecondaryNavigation__progress-bar__2L7zy\",\"progress-striped\":\"SecondaryNavigation__progress-striped__2JTvg\",\"progress-bar-striped\":\"SecondaryNavigation__progress-bar-striped__35txP\",active:\"SecondaryNavigation__active__d6pyG\",\"progress-bar-stripes\":\"SecondaryNavigation__progress-bar-stripes__1mw-t\",\"progress-bar-success\":\"SecondaryNavigation__progress-bar-success__1SLtl\",\"progress-bar-info\":\"SecondaryNavigation__progress-bar-info__2udhj\",\"progress-bar-warning\":\"SecondaryNavigation__progress-bar-warning__1rDxZ\",\"progress-bar-danger\":\"SecondaryNavigation__progress-bar-danger__2zgth\",tooltip:\"SecondaryNavigation__tooltip__1kL7B\",in:\"SecondaryNavigation__in__2lyL8\",top:\"SecondaryNavigation__top__2F9N2\",right:\"SecondaryNavigation__right__2B25y\",bottom:\"SecondaryNavigation__bottom__3Chcd\",left:\"SecondaryNavigation__left__2YG70\",\"tooltip-arrow\":\"SecondaryNavigation__tooltip-arrow__1veBG\",\"top-left\":\"SecondaryNavigation__top-left__KqLem\",\"top-right\":\"SecondaryNavigation__top-right__25Ipl\",\"bottom-left\":\"SecondaryNavigation__bottom-left__1RS1d\",\"bottom-right\":\"SecondaryNavigation__bottom-right__W1MgK\",\"tooltip-inner\":\"SecondaryNavigation__tooltip-inner__3I8_r\",main:\"SecondaryNavigation__main__3Hsa-\",navigation:\"SecondaryNavigation__navigation__im_Yu\",navigationTitle:\"SecondaryNavigation__navigationTitle__1GL7l\",logOut:\"SecondaryNavigation__logOut__EO-se\",activeIcon:\"SecondaryNavigation__activeIcon__1Z7VF\",icon:\"SecondaryNavigation__icon__24hic\",iconWrapper:\"SecondaryNavigation__iconWrapper__3D9qC\"}},function(e,t){e.exports={progress:\"Sync__progress__1p5_H\",\"progress-bar\":\"Sync__progress-bar__2ANl3\",\"progress-striped\":\"Sync__progress-striped__26Ij5\",\"progress-bar-striped\":\"Sync__progress-bar-striped__BMwXj\",active:\"Sync__active__1cjBg\",\"progress-bar-stripes\":\"Sync__progress-bar-stripes__2Q-L9\",\"progress-bar-success\":\"Sync__progress-bar-success__2TOc_\",\"progress-bar-info\":\"Sync__progress-bar-info__3fO79\",\"progress-bar-warning\":\"Sync__progress-bar-warning__vKS8V\",\"progress-bar-danger\":\"Sync__progress-bar-danger__2O28w\",tooltip:\"Sync__tooltip__2n85E\",in:\"Sync__in__2ttnB\",top:\"Sync__top__32Nv1\",right:\"Sync__right__BX-r7\",bottom:\"Sync__bottom__1eKbw\",left:\"Sync__left__1A5rB\",\"tooltip-arrow\":\"Sync__tooltip-arrow__l7Ggu\",\"top-left\":\"Sync__top-left__EuuJA\",\"top-right\":\"Sync__top-right__I8QCz\",\"bottom-left\":\"Sync__bottom-left__2lOFX\",\n\"bottom-right\":\"Sync__bottom-right__ofNjk\",\"tooltip-inner\":\"Sync__tooltip-inner__1ix_4\",main:\"Sync__main__16_Oi\",testnetError:\"Sync__testnetError__1dv29\",testnetReset:\"Sync__testnetReset__36ijp\",blockHightlight:\"Sync__blockHightlight__NgZDE\",progressBar:\"Sync__progressBar__146Vd\"}},function(e,t){e.exports={progress:\"New__progress__WpGSM\",\"progress-bar\":\"New__progress-bar__FzorI\",\"progress-striped\":\"New__progress-striped__2G8Gi\",\"progress-bar-striped\":\"New__progress-bar-striped__2phve\",active:\"New__active__1ZqEV\",\"progress-bar-stripes\":\"New__progress-bar-stripes__2Yy_D\",\"progress-bar-success\":\"New__progress-bar-success__1BVE7\",\"progress-bar-info\":\"New__progress-bar-info__2Hl0L\",\"progress-bar-warning\":\"New__progress-bar-warning__3FlV3\",\"progress-bar-danger\":\"New__progress-bar-danger__VnGR3\",tooltip:\"New__tooltip__WzRW6\",in:\"New__in__17d97\",top:\"New__top__HXQ4l\",right:\"New__right__1JLw8\",bottom:\"New__bottom__2yk_R\",left:\"New__left__2G8_L\",\"tooltip-arrow\":\"New__tooltip-arrow__36gJa\",\"top-left\":\"New__top-left__1AaOH\",\"top-right\":\"New__top-right__MKVXW\",\"bottom-left\":\"New__bottom-left__2KgGR\",\"bottom-right\":\"New__bottom-right__3BjDI\",\"tooltip-inner\":\"New__tooltip-inner__3SNji\",subjectField:\"New__subjectField__heTjx\",receiverBtn:\"New__receiverBtn__1ABhp\",panel:\"New__panel__3IKRi\"}},function(e,t){e.exports={progress:\"Backup__progress__19G1j\",\"progress-bar\":\"Backup__progress-bar__3HtFc\",\"progress-striped\":\"Backup__progress-striped__AePft\",\"progress-bar-striped\":\"Backup__progress-bar-striped__ilGkH\",active:\"Backup__active__39bjS\",\"progress-bar-stripes\":\"Backup__progress-bar-stripes__3E0u9\",\"progress-bar-success\":\"Backup__progress-bar-success__12jhV\",\"progress-bar-info\":\"Backup__progress-bar-info__N4lu9\",\"progress-bar-warning\":\"Backup__progress-bar-warning__LPBuQ\",\"progress-bar-danger\":\"Backup__progress-bar-danger__16DO-\",tooltip:\"Backup__tooltip__3u91M\",in:\"Backup__in__3m1QN\",top:\"Backup__top__2HXzO\",right:\"Backup__right__3UWL_\",bottom:\"Backup__bottom__19fPR\",left:\"Backup__left__1sbB5\",\"tooltip-arrow\":\"Backup__tooltip-arrow__2OTPx\",\"top-left\":\"Backup__top-left__GhHJM\",\"top-right\":\"Backup__top-right__3OP7j\",\"bottom-left\":\"Backup__bottom-left__2REpU\",\"bottom-right\":\"Backup__bottom-right__375U5\",\"tooltip-inner\":\"Backup__tooltip-inner__30VGR\",mainContainer:\"Backup__mainContainer__1D29U\",choices:\"Backup__choices__2fwuU\",choice_wrapper:\"Backup__choice_wrapper__55pV-\",choice_radio_button:\"Backup__choice_radio_button__13ADI\",choice:\"Backup__choice__3vlYc\",disabled:\"Backup__disabled__3Ph7h\",choice_title:\"Backup__choice_title__3nyE7\",backup:\"Backup__backup__1iu6I\",restoreKeystore:\"Backup__restoreKeystore__2B53A\",restoreMnemonic:\"Backup__restoreMnemonic__2dauK\",submitWrapper:\"Backup__submitWrapper__3GmPu\",submit:\"Backup__submit__34nLc\",infoLink:\"Backup__infoLink__2tKe2\"}},function(e,t){e.exports={progress:\"RescanDialog__progress__3XubD\",\"progress-bar\":\"RescanDialog__progress-bar__1HaX3\",\"progress-striped\":\"RescanDialog__progress-striped__15HnX\",\"progress-bar-striped\":\"RescanDialog__progress-bar-striped__2spKu\",active:\"RescanDialog__active__8R4RW\",\"progress-bar-stripes\":\"RescanDialog__progress-bar-stripes__211F3\",\"progress-bar-success\":\"RescanDialog__progress-bar-success__2w1sQ\",\"progress-bar-info\":\"RescanDialog__progress-bar-info__1DQB0\",\"progress-bar-warning\":\"RescanDialog__progress-bar-warning__3wFGj\",\"progress-bar-danger\":\"RescanDialog__progress-bar-danger__jJINj\",tooltip:\"RescanDialog__tooltip__aOL4m\",in:\"RescanDialog__in__3baGS\",top:\"RescanDialog__top__2j_4o\",right:\"RescanDialog__right__2ZwFj\",bottom:\"RescanDialog__bottom__1YwgM\",left:\"RescanDialog__left__2CAqS\",\"tooltip-arrow\":\"RescanDialog__tooltip-arrow__25bWP\",\"top-left\":\"RescanDialog__top-left__1zx-7\",\"top-right\":\"RescanDialog__top-right__15v7q\",\"bottom-left\":\"RescanDialog__bottom-left__RxxOT\",\"bottom-right\":\"RescanDialog__bottom-right__26Afx\",\"tooltip-inner\":\"RescanDialog__tooltip-inner__602aP\",title:\"RescanDialog__title__1eOLf\",submitBtn:\"RescanDialog__submitBtn__K0Qj9\",infoContainer:\"RescanDialog__infoContainer__2BMzq\"}},function(e,t){e.exports={progress:\"VoteDetails__progress__jEtNI\",\"progress-bar\":\"VoteDetails__progress-bar__O0CtV\",\"progress-striped\":\"VoteDetails__progress-striped__HKOux\",\"progress-bar-striped\":\"VoteDetails__progress-bar-striped__3TPcq\",active:\"VoteDetails__active__3ABoF\",\"progress-bar-stripes\":\"VoteDetails__progress-bar-stripes__1KIUx\",\"progress-bar-success\":\"VoteDetails__progress-bar-success__11Bp1\",\"progress-bar-info\":\"VoteDetails__progress-bar-info__3I3Fx\",\"progress-bar-warning\":\"VoteDetails__progress-bar-warning__1xOot\",\"progress-bar-danger\":\"VoteDetails__progress-bar-danger__3M8LA\",tooltip:\"VoteDetails__tooltip__20Pk4\",in:\"VoteDetails__in__Kw8Fy\",top:\"VoteDetails__top__3N_cd\",right:\"VoteDetails__right__3ygHj\",bottom:\"VoteDetails__bottom__2as6j\",left:\"VoteDetails__left__F60la\",\"tooltip-arrow\":\"VoteDetails__tooltip-arrow__3uByT\",\"top-left\":\"VoteDetails__top-left__1PoqF\",\"top-right\":\"VoteDetails__top-right__1MvhM\",\"bottom-left\":\"VoteDetails__bottom-left__14zqZ\",\"bottom-right\":\"VoteDetails__bottom-right__3pB-I\",\"tooltip-inner\":\"VoteDetails__tooltip-inner__R4qqQ\",main:\"VoteDetails__main__1yaqL\"}},function(e,t){e.exports={progress:\"Index__progress__2yXf0\",\"progress-bar\":\"Index__progress-bar__ZToC5\",\"progress-striped\":\"Index__progress-striped__O-yOF\",\"progress-bar-striped\":\"Index__progress-bar-striped__T2VOf\",active:\"Index__active__2BvM9\",\"progress-bar-stripes\":\"Index__progress-bar-stripes__zmrYR\",\"progress-bar-success\":\"Index__progress-bar-success__1k9g0\",\"progress-bar-info\":\"Index__progress-bar-info__1R6h0\",\"progress-bar-warning\":\"Index__progress-bar-warning__R00OQ\",\"progress-bar-danger\":\"Index__progress-bar-danger__2GtWv\",tooltip:\"Index__tooltip__1gef1\",in:\"Index__in__3GVmE\",top:\"Index__top__1E1fY\",right:\"Index__right__3qRVa\",bottom:\"Index__bottom__14iVH\",left:\"Index__left__2l0Y3\",\"tooltip-arrow\":\"Index__tooltip-arrow__2os-c\",\"top-left\":\"Index__top-left__164-H\",\"top-right\":\"Index__top-right__3vvNN\",\"bottom-left\":\"Index__bottom-left__x1wyW\",\"bottom-right\":\"Index__bottom-right__29mww\",\"tooltip-inner\":\"Index__tooltip-inner__3BSCQ\",title:\"Index__title__2C-1_\",choices:\"Index__choices__z1D6y\",choice_wrapper:\"Index__choice_wrapper__aUflq\",choice_radio_button:\"Index__choice_radio_button__3N5lo\",choice:\"Index__choice__113bB\",disabled:\"Index__disabled__35ptv\",choice_title:\"Index__choice_title__LJh-1\",new:\"Index__new__3iNcH\",join:\"Index__join__1q1y7\",testnet:\"Index__testnet__1gJyo\",joinFields:\"Index__joinFields__3IheX\",submitWrapper:\"Index__submitWrapper__163w8\",submit:\"Index__submit__3i4UA\",infoLink:\"Index__infoLink__cX96b\"}},function(e,t){e.exports={progress:\"CoreIndex__progress__YcMom\",\"progress-bar\":\"CoreIndex__progress-bar__3eWGJ\",\"progress-striped\":\"CoreIndex__progress-striped__3_X2V\",\"progress-bar-striped\":\"CoreIndex__progress-bar-striped__3dXd0\",active:\"CoreIndex__active__12qOz\",\"progress-bar-stripes\":\"CoreIndex__progress-bar-stripes__1SfHI\",\"progress-bar-success\":\"CoreIndex__progress-bar-success__1SdPN\",\"progress-bar-info\":\"CoreIndex__progress-bar-info__1u5JQ\",\"progress-bar-warning\":\"CoreIndex__progress-bar-warning__3Pm_p\",\"progress-bar-danger\":\"CoreIndex__progress-bar-danger__JYq5B\",tooltip:\"CoreIndex__tooltip__gNTyC\",in:\"CoreIndex__in__1t15g\",top:\"CoreIndex__top__3hUB5\",right:\"CoreIndex__right__1ivs4\",bottom:\"CoreIndex__bottom__OWOVC\",left:\"CoreIndex__left__36Tt0\",\"tooltip-arrow\":\"CoreIndex__tooltip-arrow__2ZrXO\",\"top-left\":\"CoreIndex__top-left__DC0BE\",\"top-right\":\"CoreIndex__top-right__2uBgT\",\"bottom-left\":\"CoreIndex__bottom-left__1fR4i\",\"bottom-right\":\"CoreIndex__bottom-right__4rksZ\",\"tooltip-inner\":\"CoreIndex__tooltip-inner__2W9aX\",page_header:\"CoreIndex__page_header__5QQUg\",table:\"CoreIndex__table__Dceyw\",actionBtn:\"CoreIndex__actionBtn__21s5W\",row:\"CoreIndex__row__28vvd\",row_label:\"CoreIndex__row_label__1wXx4\",row_value:\"CoreIndex__row_value__15ygI\",shorten_value:\"CoreIndex__shorten_value__Zv0Qs\",block_hash:\"CoreIndex__block_hash__2Cz48\",flex:\"CoreIndex__flex__3F9Af\",col:\"CoreIndex__col__3Mv9x\",wordWrap:\"CoreIndex__wordWrap__oQe8i\",copyButton:\"CoreIndex__copyButton__1IwKv\",\"sub-row\":\"CoreIndex__sub-row__3OQu5\",replication_lag:\"CoreIndex__replication_lag__3RmHd\",green:\"CoreIndex__green__2pqbx\",yellow:\"CoreIndex__yellow__3eSHB\",red:\"CoreIndex__red__1oSeH\",mainContainer:\"CoreIndex__mainContainer__3G2_G\",switch:\"CoreIndex__switch__3nsIV\",slider:\"CoreIndex__slider__2PcsQ\"}},function(e,t){e.exports={progress:\"DetailSummary__progress__1f9x1\",\"progress-bar\":\"DetailSummary__progress-bar__1Y7M1\",\"progress-striped\":\"DetailSummary__progress-striped__fVb4W\",\"progress-bar-striped\":\"DetailSummary__progress-bar-striped__2scRv\",active:\"DetailSummary__active__5GwCs\",\"progress-bar-stripes\":\"DetailSummary__progress-bar-stripes__209md\",\"progress-bar-success\":\"DetailSummary__progress-bar-success__1GFpq\",\"progress-bar-info\":\"DetailSummary__progress-bar-info__oO1FT\",\"progress-bar-warning\":\"DetailSummary__progress-bar-warning__nAdgI\",\"progress-bar-danger\":\"DetailSummary__progress-bar-danger__DL5wc\",tooltip:\"DetailSummary__tooltip__1twCh\",in:\"DetailSummary__in__1NvMu\",top:\"DetailSummary__top__3rq9M\",right:\"DetailSummary__right__3u1fK\",bottom:\"DetailSummary__bottom__2sSLl\",left:\"DetailSummary__left__2X5SF\",\"tooltip-arrow\":\"DetailSummary__tooltip-arrow__ODqzF\",\"top-left\":\"DetailSummary__top-left__13LPN\",\"top-right\":\"DetailSummary__top-right__6yaqQ\",\"bottom-left\":\"DetailSummary__bottom-left__2nKDZ\",\"bottom-right\":\"DetailSummary__bottom-right__b7Yu3\",\"tooltip-inner\":\"DetailSummary__tooltip-inner__2EkAq\",main:\"DetailSummary__main__3bBER\",row:\"DetailSummary__row__1ePRR\",col:\"DetailSummary__col__2UzKA\",rawId:\"DetailSummary__rawId__2Quy9\",colAction:\"DetailSummary__colAction__1md-X\",colAmount:\"DetailSummary__colAmount__3pXSq\",account:\"DetailSummary__account__zR2O3\",middle:\"DetailSummary__middle__3m0HU\",end:\"DetailSummary__end__3NvRk\",amount:\"DetailSummary__amount__eTrOb\",emphasisLabel:\"DetailSummary__emphasisLabel__3XRU_\",colAccount:\"DetailSummary__colAccount__1lAm3\",colLabel:\"DetailSummary__colLabel__1GpAa\",colUnit:\"DetailSummary__colUnit__EiGni\",immature:\"DetailSummary__immature__CVc0s\",recievedAmount:\"DetailSummary__recievedAmount__1QuIp\",titleBar:\"DetailSummary__titleBar__1kjA7\",title:\"DetailSummary__title__BDGyL\"}},function(e,t){e.exports={progress:\"ListItem__progress__1Z0bU\",\"progress-bar\":\"ListItem__progress-bar__2xrEB\",\"progress-striped\":\"ListItem__progress-striped__3nE6O\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__234VW\",active:\"ListItem__active__1wrjj\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__ftQUL\",\"progress-bar-success\":\"ListItem__progress-bar-success__32Yfx\",\"progress-bar-info\":\"ListItem__progress-bar-info__3BLRt\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__1KnMX\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__2NQP-\",tooltip:\"ListItem__tooltip__BDBF1\",in:\"ListItem__in__11Jze\",top:\"ListItem__top__1uBie\",right:\"ListItem__right__2ohZ_\",bottom:\"ListItem__bottom__2b4rs\",left:\"ListItem__left__1lx8q\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__2UQYC\",\"top-left\":\"ListItem__top-left__3VfXL\",\"top-right\":\"ListItem__top-right__Vjx-R\",\"bottom-left\":\"ListItem__bottom-left__2SrnB\",\"bottom-right\":\"ListItem__bottom-right__24sep\",\"tooltip-inner\":\"ListItem__tooltip-inner__1O_-i\",main:\"ListItem__main__3HK-c\",titleBar:\"ListItem__titleBar__95ibV\",title:\"ListItem__title__1prs7\",colAction:\"ListItem__colAction__3EKK_\",confirmation:\"ListItem__confirmation__1OdaI\",end:\"ListItem__end__1XqGY\",emphasisLabel:\"ListItem__emphasisLabel__3Vc4W\",colUnit:\"ListItem__colUnit__2W6kX\",recievedAmount:\"ListItem__recievedAmount__GI2yq\",col:\"ListItem__col__Ih0v0\"}},function(e,t){e.exports={progress:\"Index__progress__1h05H\",\"progress-bar\":\"Index__progress-bar__142hW\",\"progress-striped\":\"Index__progress-striped__2c1ts\",\"progress-bar-striped\":\"Index__progress-bar-striped__28Xca\",active:\"Index__active__3W7cZ\",\"progress-bar-stripes\":\"Index__progress-bar-stripes__Za6qP\",\"progress-bar-success\":\"Index__progress-bar-success__2HUhJ\",\"progress-bar-info\":\"Index__progress-bar-info__gKt04\",\"progress-bar-warning\":\"Index__progress-bar-warning__epJRD\",\"progress-bar-danger\":\"Index__progress-bar-danger__1UT-2\",tooltip:\"Index__tooltip__37G-b\",in:\"Index__in__2lszE\",top:\"Index__top__3kkw6\",right:\"Index__right__3qfDM\",bottom:\"Index__bottom__1zwWz\",left:\"Index__left__1e83H\",\"tooltip-arrow\":\"Index__tooltip-arrow__2HpXY\",\"top-left\":\"Index__top-left__1eip8\",\"top-right\":\"Index__top-right__2qPTz\",\"bottom-left\":\"Index__bottom-left__2CUqG\",\"bottom-right\":\"Index__bottom-right__2O08v\",\"tooltip-inner\":\"Index__tooltip-inner__2kxgG\",main:\"Index__main__2EDWo\",title:\"Index__title__3WA9V\",choices:\"Index__choices__zm6bs\",choice_wrapper:\"Index__choice_wrapper__26rG1\",choice_radio_button:\"Index__choice_radio_button__2_EdP\",choice:\"Index__choice__38C__\",disabled:\"Index__disabled__2cU-g\",choice_title:\"Index__choice_title__2wFO9\",backup:\"Index__backup__2__Y7\",restoreKeystore:\"Index__restoreKeystore__2kxGg\",restoreMnemonic:\"Index__restoreMnemonic__8QGc9\",submitWrapper:\"Index__submitWrapper__30JLz\",submit:\"Index__submit__p2c2r\",infoLink:\"Index__infoLink__3fkmH\"}},function(e,t){e.exports={progress:\"MnemonicStepper__progress__1Qo7Z\",\"progress-bar\":\"MnemonicStepper__progress-bar__3oqj6\",\"progress-striped\":\"MnemonicStepper__progress-striped__IsaNH\",\"progress-bar-striped\":\"MnemonicStepper__progress-bar-striped__2z5-H\",active:\"MnemonicStepper__active__XviSm\",\"progress-bar-stripes\":\"MnemonicStepper__progress-bar-stripes__uFLMv\",\"progress-bar-success\":\"MnemonicStepper__progress-bar-success__17hBv\",\"progress-bar-info\":\"MnemonicStepper__progress-bar-info__2M5Kx\",\"progress-bar-warning\":\"MnemonicStepper__progress-bar-warning__1EaZK\",\"progress-bar-danger\":\"MnemonicStepper__progress-bar-danger__2xBuA\",tooltip:\"MnemonicStepper__tooltip__duoi4\",in:\"MnemonicStepper__in__2KMT7\",top:\"MnemonicStepper__top__2_dhh\",right:\"MnemonicStepper__right__2Bhzp\",bottom:\"MnemonicStepper__bottom__zfa3m\",left:\"MnemonicStepper__left__3MIVH\",\"tooltip-arrow\":\"MnemonicStepper__tooltip-arrow__3oogb\",\"top-left\":\"MnemonicStepper__top-left__6K4H1\",\"top-right\":\"MnemonicStepper__top-right__ghh5i\",\"bottom-left\":\"MnemonicStepper__bottom-left__3_Aap\",\"bottom-right\":\"MnemonicStepper__bottom-right__Ni_3A\",\"tooltip-inner\":\"MnemonicStepper__tooltip-inner__Le-SG\",main:\"MnemonicStepper__main__T98E_\",title:\"MnemonicStepper__title__3kGml\",formWarpper:\"MnemonicStepper__formWarpper__s10LS\",form:\"MnemonicStepper__form__2JMd7\"}},function(e,t){e.exports={progress:\"ExportKey__progress__j9Q4i\",\"progress-bar\":\"ExportKey__progress-bar__1xJI2\",\"progress-striped\":\"ExportKey__progress-striped__3qt4I\",\"progress-bar-striped\":\"ExportKey__progress-bar-striped__dREUT\",active:\"ExportKey__active__2DafI\",\"progress-bar-stripes\":\"ExportKey__progress-bar-stripes__Tr6Vs\",\"progress-bar-success\":\"ExportKey__progress-bar-success__2MQ4m\",\"progress-bar-info\":\"ExportKey__progress-bar-info__2A0xB\",\"progress-bar-warning\":\"ExportKey__progress-bar-warning__3aWpZ\",\"progress-bar-danger\":\"ExportKey__progress-bar-danger__3CntM\",tooltip:\"ExportKey__tooltip__2iDVa\",in:\"ExportKey__in__jmknh\",top:\"ExportKey__top__en0er\",right:\"ExportKey__right__2UThf\",bottom:\"ExportKey__bottom__1G0ik\",left:\"ExportKey__left__25ZLY\",\"tooltip-arrow\":\"ExportKey__tooltip-arrow__1g5Zd\",\"top-left\":\"ExportKey__top-left__PD9CY\",\"top-right\":\"ExportKey__top-right__WQMlJ\",\"bottom-left\":\"ExportKey__bottom-left__3-u3j\",\"bottom-right\":\"ExportKey__bottom-right__1aMKB\",\"tooltip-inner\":\"ExportKey__tooltip-inner__ryDGD\",main:\"ExportKey__main__1x33C\"}},function(e,t){e.exports={progress:\"MnemonicStepper__progress__3wkIK\",\"progress-bar\":\"MnemonicStepper__progress-bar__3-QZF\",\"progress-striped\":\"MnemonicStepper__progress-striped__2mjgM\",\"progress-bar-striped\":\"MnemonicStepper__progress-bar-striped__2sb4n\",active:\"MnemonicStepper__active__66hST\",\"progress-bar-stripes\":\"MnemonicStepper__progress-bar-stripes__1HPes\",\"progress-bar-success\":\"MnemonicStepper__progress-bar-success__2Gkz-\",\"progress-bar-info\":\"MnemonicStepper__progress-bar-info__1eMrq\",\"progress-bar-warning\":\"MnemonicStepper__progress-bar-warning__2eiSb\",\"progress-bar-danger\":\"MnemonicStepper__progress-bar-danger__1nybQ\",tooltip:\"MnemonicStepper__tooltip__2R2EU\",in:\"MnemonicStepper__in__2245d\",top:\"MnemonicStepper__top__Ts5b6\",right:\"MnemonicStepper__right__oACiT\",bottom:\"MnemonicStepper__bottom__K2_nx\",left:\"MnemonicStepper__left__1pIvY\",\"tooltip-arrow\":\"MnemonicStepper__tooltip-arrow__11nla\",\"top-left\":\"MnemonicStepper__top-left__DQ2-s\",\"top-right\":\"MnemonicStepper__top-right__SiYff\",\"bottom-left\":\"MnemonicStepper__bottom-left__3kFjm\",\"bottom-right\":\"MnemonicStepper__bottom-right__jN_fV\",\"tooltip-inner\":\"MnemonicStepper__tooltip-inner__3MDnm\",main:\"MnemonicStepper__main__2RplQ\",content:\"MnemonicStepper__content__IdMni\",marginLeft:\"MnemonicStepper__marginLeft__1wt7k\"}},function(e,t){e.exports={progress:\"List__progress__2Dh9E\",\"progress-bar\":\"List__progress-bar__YbEBL\",\"progress-striped\":\"List__progress-striped__1UFwo\",\"progress-bar-striped\":\"List__progress-bar-striped__U4E9h\",active:\"List__active__2me18\",\"progress-bar-stripes\":\"List__progress-bar-stripes__39id3\",\"progress-bar-success\":\"List__progress-bar-success__1TTJY\",\"progress-bar-info\":\"List__progress-bar-info__3lzpL\",\"progress-bar-warning\":\"List__progress-bar-warning__26JGp\",\"progress-bar-danger\":\"List__progress-bar-danger__SZrXy\",tooltip:\"List__tooltip__-QXEl\",in:\"List__in__VBAGe\",top:\"List__top__SglWV\",right:\"List__right__1zdrn\",bottom:\"List__bottom__13A0p\",left:\"List__left__efcFr\",\"tooltip-arrow\":\"List__tooltip-arrow__1s3hP\",\"top-left\":\"List__top-left__30DE9\",\"top-right\":\"List__top-right__1_Kii\",\"bottom-left\":\"List__bottom-left__1iFXx\",\"bottom-right\":\"List__bottom-right__3Pv0Q\",\"tooltip-inner\":\"List__tooltip-inner__20srf\",main:\"List__main__3aglb\"}},function(e,t){e.exports={progress:\"AmountUnitField__progress__21S1C\",\"progress-bar\":\"AmountUnitField__progress-bar__UgpH0\",\"progress-striped\":\"AmountUnitField__progress-striped__1vhAn\",\"progress-bar-striped\":\"AmountUnitField__progress-bar-striped__2Yy3N\",active:\"AmountUnitField__active__1MpMw\",\"progress-bar-stripes\":\"AmountUnitField__progress-bar-stripes__uuBVY\",\"progress-bar-success\":\"AmountUnitField__progress-bar-success__1FNp4\",\"progress-bar-info\":\"AmountUnitField__progress-bar-info__1Oo_P\",\"progress-bar-warning\":\"AmountUnitField__progress-bar-warning__2JaOk\",\"progress-bar-danger\":\"AmountUnitField__progress-bar-danger__18VUs\",tooltip:\"AmountUnitField__tooltip__3CiI2\",in:\"AmountUnitField__in__1sS6g\",top:\"AmountUnitField__top__3jvd6\",right:\"AmountUnitField__right__w8s3I\",bottom:\"AmountUnitField__bottom__3PYgP\",left:\"AmountUnitField__left__2zMX4\",\"tooltip-arrow\":\"AmountUnitField__tooltip-arrow__1LcpL\",\"top-left\":\"AmountUnitField__top-left__26t_4\",\"top-right\":\"AmountUnitField__top-right__3YQOF\",\"bottom-left\":\"AmountUnitField__bottom-left__1naBf\",\"bottom-right\":\"AmountUnitField__bottom-right__ioxJo\",\"tooltip-inner\":\"AmountUnitField__tooltip-inner__3OwLT\",base:\"AmountUnitField__base__1Fg35\",unit:\"AmountUnitField__unit__FVVwA\"}},function(e,t){e.exports={progress:\"AutocompleteField__progress__3Ho2G\",\"progress-bar\":\"AutocompleteField__progress-bar__3cOaz\",\"progress-striped\":\"AutocompleteField__progress-striped__39v8F\",\"progress-bar-striped\":\"AutocompleteField__progress-bar-striped__3hIP0\",active:\"AutocompleteField__active__2cBDW\",\"progress-bar-stripes\":\"AutocompleteField__progress-bar-stripes__2eH4S\",\"progress-bar-success\":\"AutocompleteField__progress-bar-success__1qJ27\",\"progress-bar-info\":\"AutocompleteField__progress-bar-info__13u8H\",\"progress-bar-warning\":\"AutocompleteField__progress-bar-warning__YLRon\",\"progress-bar-danger\":\"AutocompleteField__progress-bar-danger__3Kh-p\",tooltip:\"AutocompleteField__tooltip__1SKAY\",in:\"AutocompleteField__in__1TAkw\",top:\"AutocompleteField__top__2XrIo\",right:\"AutocompleteField__right__CyNJs\",bottom:\"AutocompleteField__bottom__3VHcl\",left:\"AutocompleteField__left__1Fg1D\",\"tooltip-arrow\":\"AutocompleteField__tooltip-arrow__EGv_4\",\"top-left\":\"AutocompleteField__top-left__2NghJ\",\"top-right\":\"AutocompleteField__top-right__2Uoke\",\"bottom-left\":\"AutocompleteField__bottom-left__3RIok\",\"bottom-right\":\"AutocompleteField__bottom-right__2ySey\",\"tooltip-inner\":\"AutocompleteField__tooltip-inner__Xwcw3\",container:\"AutocompleteField__container__3bx1h\",suggestionsContainer:\"AutocompleteField__suggestionsContainer__1XjWG\",suggestionsContainerOpen:\"AutocompleteField__suggestionsContainerOpen__1s0BC\",suggestionsList:\"AutocompleteField__suggestionsList__3326u\",suggestion:\"AutocompleteField__suggestion__wB3Wf\",suggestionHighlighted:\"AutocompleteField__suggestionHighlighted__2uhI8\"}},function(e,t){e.exports={progress:\"EmptyList__progress__2L_Hh\",\"progress-bar\":\"EmptyList__progress-bar__OpZz-\",\"progress-striped\":\"EmptyList__progress-striped__1liw7\",\"progress-bar-striped\":\"EmptyList__progress-bar-striped__1asYW\",active:\"EmptyList__active__DolKG\",\"progress-bar-stripes\":\"EmptyList__progress-bar-stripes__1Jjas\",\"progress-bar-success\":\"EmptyList__progress-bar-success__1ei_Z\",\"progress-bar-info\":\"EmptyList__progress-bar-info__3fE7b\",\"progress-bar-warning\":\"EmptyList__progress-bar-warning__3qQxn\",\"progress-bar-danger\":\"EmptyList__progress-bar-danger__3BYEp\",tooltip:\"EmptyList__tooltip__1XoMm\",in:\"EmptyList__in__1-ODX\",top:\"EmptyList__top__3QNWa\",right:\"EmptyList__right__26zZU\",bottom:\"EmptyList__bottom__3xhga\",left:\"EmptyList__left__2EH1p\",\"tooltip-arrow\":\"EmptyList__tooltip-arrow__JrjXp\",\"top-left\":\"EmptyList__top-left__Mr2pl\",\"top-right\":\"EmptyList__top-right__2TGrl\",\"bottom-left\":\"EmptyList__bottom-left__1pzfN\",\"bottom-right\":\"EmptyList__bottom-right__2XkE9\",\"tooltip-inner\":\"EmptyList__tooltip-inner__ydWol\",empty:\"EmptyList__empty__1pTM6\",emptyContainer:\"EmptyList__emptyContainer__1467p\",emptyContent:\"EmptyList__emptyContent__1gaoa\",emptyLabel:\"EmptyList__emptyLabel__bXs_y\",noResults:\"EmptyList__noResults__3Tisc\",noResultsLabel:\"EmptyList__noResultsLabel__K4m_A\",image:\"EmptyList__image__1k3Yi\",code:\"EmptyList__code__3JZWJ\"}},function(e,t){e.exports={progress:\"CheckboxField__progress__wB5V-\",\"progress-bar\":\"CheckboxField__progress-bar__2KLUY\",\"progress-striped\":\"CheckboxField__progress-striped__13LqG\",\"progress-bar-striped\":\"CheckboxField__progress-bar-striped__3iWcp\",active:\"CheckboxField__active__dwy53\",\"progress-bar-stripes\":\"CheckboxField__progress-bar-stripes__1BBPY\",\"progress-bar-success\":\"CheckboxField__progress-bar-success__NktQf\",\"progress-bar-info\":\"CheckboxField__progress-bar-info__3lbbL\",\"progress-bar-warning\":\"CheckboxField__progress-bar-warning__QkB48\",\"progress-bar-danger\":\"CheckboxField__progress-bar-danger__2tetS\",tooltip:\"CheckboxField__tooltip__23RbA\",in:\"CheckboxField__in__bt1uj\",top:\"CheckboxField__top__njrkB\",right:\"CheckboxField__right__SRGHn\",bottom:\"CheckboxField__bottom__3wQua\",left:\"CheckboxField__left__1rIHc\",\"tooltip-arrow\":\"CheckboxField__tooltip-arrow__2YwBA\",\"top-left\":\"CheckboxField__top-left__25-3-\",\"top-right\":\"CheckboxField__top-right__39yMe\",\"bottom-left\":\"CheckboxField__bottom-left__39SKV\",\"bottom-right\":\"CheckboxField__bottom-right__27sTk\",\"tooltip-inner\":\"CheckboxField__tooltip-inner__3wLbY\",label:\"CheckboxField__label__2Ug2d\",title:\"CheckboxField__title__3hm4r\",hint:\"CheckboxField__hint__33L32\"}},function(e,t){e.exports={progress:\"ConfirmMnemonic__progress__2wGv_\",\"progress-bar\":\"ConfirmMnemonic__progress-bar__28wLF\",\"progress-striped\":\"ConfirmMnemonic__progress-striped__2SXql\",\"progress-bar-striped\":\"ConfirmMnemonic__progress-bar-striped__v-TKi\",active:\"ConfirmMnemonic__active__3BQ33\",\"progress-bar-stripes\":\"ConfirmMnemonic__progress-bar-stripes__hzvI5\",\"progress-bar-success\":\"ConfirmMnemonic__progress-bar-success__1l0w4\",\"progress-bar-info\":\"ConfirmMnemonic__progress-bar-info__38Onq\",\"progress-bar-warning\":\"ConfirmMnemonic__progress-bar-warning__1iNMP\",\"progress-bar-danger\":\"ConfirmMnemonic__progress-bar-danger__1Ybfu\",tooltip:\"ConfirmMnemonic__tooltip__1VXcq\",in:\"ConfirmMnemonic__in__2C6us\",top:\"ConfirmMnemonic__top__2OovI\",right:\"ConfirmMnemonic__right__1BO6Z\",bottom:\"ConfirmMnemonic__bottom__1_6zW\",left:\"ConfirmMnemonic__left__3qyaT\",\"tooltip-arrow\":\"ConfirmMnemonic__tooltip-arrow__2Mmg6\",\"top-left\":\"ConfirmMnemonic__top-left__1tQ2S\",\"top-right\":\"ConfirmMnemonic__top-right__Tbred\",\"bottom-left\":\"ConfirmMnemonic__bottom-left__fg21-\",\"bottom-right\":\"ConfirmMnemonic__bottom-right__3SQnf\",\"tooltip-inner\":\"ConfirmMnemonic__tooltip-inner__3O-Qm\",submit:\"ConfirmMnemonic__submit__1Shoc\",seed:\"ConfirmMnemonic__seed__nWB5b\",seedWord:\"ConfirmMnemonic__seedWord__3KN5P\",seedArea:\"ConfirmMnemonic__seedArea__3ZdYC\",container:\"ConfirmMnemonic__container__2SqXP\"}},function(e,t){e.exports={progress:\"ConsoleSection__progress__3OO9b\",\"progress-bar\":\"ConsoleSection__progress-bar__1b0PU\",\"progress-striped\":\"ConsoleSection__progress-striped__1Xxz4\",\"progress-bar-striped\":\"ConsoleSection__progress-bar-striped__1e9_q\",active:\"ConsoleSection__active__1-bEw\",\"progress-bar-stripes\":\"ConsoleSection__progress-bar-stripes__2tlpB\",\"progress-bar-success\":\"ConsoleSection__progress-bar-success__1eNaV\",\"progress-bar-info\":\"ConsoleSection__progress-bar-info__Cz2ak\",\"progress-bar-warning\":\"ConsoleSection__progress-bar-warning__2TKfU\",\"progress-bar-danger\":\"ConsoleSection__progress-bar-danger__2Zf54\",tooltip:\"ConsoleSection__tooltip__GkFSS\",in:\"ConsoleSection__in__36AYU\",top:\"ConsoleSection__top__1EBdJ\",right:\"ConsoleSection__right__3JOvF\",bottom:\"ConsoleSection__bottom__2Grn9\",left:\"ConsoleSection__left__1RoJV\",\"tooltip-arrow\":\"ConsoleSection__tooltip-arrow__r5pTQ\",\"top-left\":\"ConsoleSection__top-left__1_jY2\",\"top-right\":\"ConsoleSection__top-right__3dlY6\",\"bottom-left\":\"ConsoleSection__bottom-left__20WrN\",\"bottom-right\":\"ConsoleSection__bottom-right__2phiX\",\"tooltip-inner\":\"ConsoleSection__tooltip-inner__2YkFQ\",main:\"ConsoleSection__main__dLChn\",reactConsoleContainer:\"ConsoleSection__reactConsoleContainer__34lQ6\",input:\"ConsoleSection__input__BLXlA\",inputBox:\"ConsoleSection__inputBox__301o3\"}},function(e,t){e.exports={progress:\"ListItem__progress__3FfjV\",\"progress-bar\":\"ListItem__progress-bar__1Lgtj\",\"progress-striped\":\"ListItem__progress-striped__9KLa0\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__1C2_f\",active:\"ListItem__active__3sHME\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__31rn8\",\"progress-bar-success\":\"ListItem__progress-bar-success__1cHLI\",\"progress-bar-info\":\"ListItem__progress-bar-info__2CC8p\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__3POTB\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__34TNF\",tooltip:\"ListItem__tooltip__2fhGc\",in:\"ListItem__in__3640W\",top:\"ListItem__top__2mZoE\",right:\"ListItem__right__1jvZV\",bottom:\"ListItem__bottom__2h7cM\",left:\"ListItem__left__xR670\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__1kw7y\",\"top-left\":\"ListItem__top-left__OYOVh\",\"top-right\":\"ListItem__top-right__NuiGB\",\"bottom-left\":\"ListItem__bottom-left__3u3SI\",\"bottom-right\":\"ListItem__bottom-right__4eHhU\",\"tooltip-inner\":\"ListItem__tooltip-inner__29d02\",main:\"ListItem__main__1i9rL\",title:\"ListItem__title__3-OgI\",messageBox:\"ListItem__messageBox__1apGn\"}},function(e,t){e.exports={progress:\"CopyableBlock__progress__2stXW\",\"progress-bar\":\"CopyableBlock__progress-bar__3xi0A\",\"progress-striped\":\"CopyableBlock__progress-striped__1D6HZ\",\"progress-bar-striped\":\"CopyableBlock__progress-bar-striped__2lmkl\",active:\"CopyableBlock__active__1X4VL\",\"progress-bar-stripes\":\"CopyableBlock__progress-bar-stripes__1ipG6\",\"progress-bar-success\":\"CopyableBlock__progress-bar-success__2th1A\",\"progress-bar-info\":\"CopyableBlock__progress-bar-info__rmB4P\",\"progress-bar-warning\":\"CopyableBlock__progress-bar-warning__17lrc\",\"progress-bar-danger\":\"CopyableBlock__progress-bar-danger__1x_WG\",tooltip:\"CopyableBlock__tooltip__2s-8y\",in:\"CopyableBlock__in__amhuo\",top:\"CopyableBlock__top__1SBh_\",right:\"CopyableBlock__right__3M_BP\",bottom:\"CopyableBlock__bottom__2faDE\",left:\"CopyableBlock__left__1orYH\",\"tooltip-arrow\":\"CopyableBlock__tooltip-arrow__1_NZj\",\"top-left\":\"CopyableBlock__top-left__3cdG_\",\"top-right\":\"CopyableBlock__top-right__30nd4\",\"bottom-left\":\"CopyableBlock__bottom-left__1imtm\",\"bottom-right\":\"CopyableBlock__bottom-right__gzmDN\",\"tooltip-inner\":\"CopyableBlock__tooltip-inner__3h-61\",main:\"CopyableBlock__main__1KLm8\",pre:\"CopyableBlock__pre__3OKn9\",copyButton:\"CopyableBlock__copyButton__1m-rB\"}},function(e,t){e.exports={progress:\"EmptyContent__progress__bX7n8\",\"progress-bar\":\"EmptyContent__progress-bar__GwaJi\",\"progress-striped\":\"EmptyContent__progress-striped__2fOvp\",\"progress-bar-striped\":\"EmptyContent__progress-bar-striped__2H4IL\",active:\"EmptyContent__active__2dGx5\",\"progress-bar-stripes\":\"EmptyContent__progress-bar-stripes__1yHSl\",\"progress-bar-success\":\"EmptyContent__progress-bar-success__s_lGk\",\"progress-bar-info\":\"EmptyContent__progress-bar-info__1O6yZ\",\"progress-bar-warning\":\"EmptyContent__progress-bar-warning__3yx4R\",\"progress-bar-danger\":\"EmptyContent__progress-bar-danger__a7E9O\",tooltip:\"EmptyContent__tooltip__Uv8sG\",in:\"EmptyContent__in__2dN4D\",top:\"EmptyContent__top__AVFxC\",right:\"EmptyContent__right__2LpDL\",bottom:\"EmptyContent__bottom__30en-\",left:\"EmptyContent__left__3O_Q5\",\"tooltip-arrow\":\"EmptyContent__tooltip-arrow__2anDt\",\"top-left\":\"EmptyContent__top-left__QeKkN\",\"top-right\":\"EmptyContent__top-right__1xklU\",\"bottom-left\":\"EmptyContent__bottom-left__1yJWY\",\"bottom-right\":\"EmptyContent__bottom-right__3mOIr\",\"tooltip-inner\":\"EmptyContent__tooltip-inner__hb2Fm\",emptyContainer:\"EmptyContent__emptyContainer__3Y4UB\",emptyContent:\"EmptyContent__emptyContent__kTzeB\"}},function(e,t){e.exports={progress:\"ErrorBanner__progress__3D-He\",\"progress-bar\":\"ErrorBanner__progress-bar__JX1wI\",\"progress-striped\":\"ErrorBanner__progress-striped__1gumd\",\"progress-bar-striped\":\"ErrorBanner__progress-bar-striped__2UqpK\",active:\"ErrorBanner__active__AEp9i\",\"progress-bar-stripes\":\"ErrorBanner__progress-bar-stripes__3ku9y\",\"progress-bar-success\":\"ErrorBanner__progress-bar-success__XPu7b\",\"progress-bar-info\":\"ErrorBanner__progress-bar-info__3Vfht\",\"progress-bar-warning\":\"ErrorBanner__progress-bar-warning__xe5IK\",\"progress-bar-danger\":\"ErrorBanner__progress-bar-danger__1p2XN\",tooltip:\"ErrorBanner__tooltip__HAEZC\",in:\"ErrorBanner__in__1dSay\",top:\"ErrorBanner__top__1GIKL\",right:\"ErrorBanner__right__2J93q\",bottom:\"ErrorBanner__bottom__3Abvh\",left:\"ErrorBanner__left__IRdDJ\",\"tooltip-arrow\":\"ErrorBanner__tooltip-arrow__1jDcV\",\"top-left\":\"ErrorBanner__top-left__HUq1S\",\"top-right\":\"ErrorBanner__top-right__bZwNC\",\"bottom-left\":\"ErrorBanner__bottom-left__1Mvpa\",\"bottom-right\":\"ErrorBanner__bottom-right__1dYOm\",\"tooltip-inner\":\"ErrorBanner__tooltip-inner__2-nRg\",main:\"ErrorBanner__main__1Py51\",mainSuccess:\"ErrorBanner__mainSuccess__2jGHr\",message:\"ErrorBanner__message__R0tyV\",extra:\"ErrorBanner__extra__1j-Fm\"}},function(e,t){e.exports={progress:\"FieldLabel__progress__3YeL-\",\"progress-bar\":\"FieldLabel__progress-bar__2eLcu\",\"progress-striped\":\"FieldLabel__progress-striped__2m6hE\",\"progress-bar-striped\":\"FieldLabel__progress-bar-striped__2zJbx\",active:\"FieldLabel__active__1f483\",\"progress-bar-stripes\":\"FieldLabel__progress-bar-stripes__2-oBG\",\"progress-bar-success\":\"FieldLabel__progress-bar-success__9zwDp\",\"progress-bar-info\":\"FieldLabel__progress-bar-info__2747F\",\"progress-bar-warning\":\"FieldLabel__progress-bar-warning__2xbaa\",\"progress-bar-danger\":\"FieldLabel__progress-bar-danger__23aul\",tooltip:\"FieldLabel__tooltip__2UeB2\",in:\"FieldLabel__in__39x3l\",top:\"FieldLabel__top__17UQE\",right:\"FieldLabel__right__1wvfo\",bottom:\"FieldLabel__bottom__ipWXH\",left:\"FieldLabel__left__1mn7T\",\"tooltip-arrow\":\"FieldLabel__tooltip-arrow__3Oea5\",\"top-left\":\"FieldLabel__top-left__30u3Z\",\"top-right\":\"FieldLabel__top-right__h8TBT\",\"bottom-left\":\"FieldLabel__bottom-left__JS4MQ\",\"bottom-right\":\"FieldLabel__bottom-right__nM2LH\",\"tooltip-inner\":\"FieldLabel__tooltip-inner__bfQZW\",main:\"FieldLabel__main__IFBc0\"}},function(e,t){e.exports={progress:\"Flash__progress__24VZm\",\"progress-bar\":\"Flash__progress-bar__22Dwb\",\"progress-striped\":\"Flash__progress-striped__3VoEB\",\"progress-bar-striped\":\"Flash__progress-bar-striped__qd-6_\",\nactive:\"Flash__active__13uae\",\"progress-bar-stripes\":\"Flash__progress-bar-stripes__1az7e\",\"progress-bar-success\":\"Flash__progress-bar-success__ioNuj\",\"progress-bar-info\":\"Flash__progress-bar-info__1XGc8\",\"progress-bar-warning\":\"Flash__progress-bar-warning__3Teta\",\"progress-bar-danger\":\"Flash__progress-bar-danger__129aY\",tooltip:\"Flash__tooltip__3_PIV\",in:\"Flash__in__JJM7r\",top:\"Flash__top__1cfxW\",right:\"Flash__right__2NFte\",bottom:\"Flash__bottom__12V-2\",left:\"Flash__left__1PTHD\",\"tooltip-arrow\":\"Flash__tooltip-arrow__1OBM2\",\"top-left\":\"Flash__top-left__3WUPn\",\"top-right\":\"Flash__top-right__3MZdy\",\"bottom-left\":\"Flash__bottom-left__rxgVg\",\"bottom-right\":\"Flash__bottom-right__qtoEa\",\"tooltip-inner\":\"Flash__tooltip-inner__27N93\",main:\"Flash__main__33MVw\",alert:\"Flash__alert__1rexD\",info:\"Flash__info__1Pa8b\",success:\"Flash__success__2JEIi\",danger:\"Flash__danger__1S0HK\",content:\"Flash__content__16af6\"}},function(e,t){e.exports={progress:\"FormContainer__progress__1Zz89\",\"progress-bar\":\"FormContainer__progress-bar__NFDHe\",\"progress-striped\":\"FormContainer__progress-striped__2SmvL\",\"progress-bar-striped\":\"FormContainer__progress-bar-striped__92lyR\",active:\"FormContainer__active__lciQM\",\"progress-bar-stripes\":\"FormContainer__progress-bar-stripes__17Ypv\",\"progress-bar-success\":\"FormContainer__progress-bar-success__3Z1EW\",\"progress-bar-info\":\"FormContainer__progress-bar-info__TYeRo\",\"progress-bar-warning\":\"FormContainer__progress-bar-warning__3z_Dt\",\"progress-bar-danger\":\"FormContainer__progress-bar-danger__3za5W\",tooltip:\"FormContainer__tooltip__18ury\",in:\"FormContainer__in__tsIs-\",top:\"FormContainer__top__2L2N6\",right:\"FormContainer__right__F5eW_\",bottom:\"FormContainer__bottom__qnt-J\",left:\"FormContainer__left__f5n2Q\",\"tooltip-arrow\":\"FormContainer__tooltip-arrow__n9Dkn\",\"top-left\":\"FormContainer__top-left__18sot\",\"top-right\":\"FormContainer__top-right__1j8uC\",\"bottom-left\":\"FormContainer__bottom-left__2Q22_\",\"bottom-right\":\"FormContainer__bottom-right__zvxVK\",\"tooltip-inner\":\"FormContainer__tooltip-inner__25zye\",main:\"FormContainer__main__1XmHt\",content:\"FormContainer__content__1sxOR\",submit:\"FormContainer__submit__3QrVn\"}},function(e,t){e.exports={progress:\"FormSection__progress__2ci9w\",\"progress-bar\":\"FormSection__progress-bar__AUG20\",\"progress-striped\":\"FormSection__progress-striped__25AVN\",\"progress-bar-striped\":\"FormSection__progress-bar-striped__15CLT\",active:\"FormSection__active__2q6gP\",\"progress-bar-stripes\":\"FormSection__progress-bar-stripes__1QcMN\",\"progress-bar-success\":\"FormSection__progress-bar-success__3UiIb\",\"progress-bar-info\":\"FormSection__progress-bar-info__35WLU\",\"progress-bar-warning\":\"FormSection__progress-bar-warning__1xku2\",\"progress-bar-danger\":\"FormSection__progress-bar-danger__2W36c\",tooltip:\"FormSection__tooltip__Xwzx9\",in:\"FormSection__in__1JTyJ\",top:\"FormSection__top__3TiPS\",right:\"FormSection__right__2cUZo\",bottom:\"FormSection__bottom__GOGKq\",left:\"FormSection__left__1l0XJ\",\"tooltip-arrow\":\"FormSection__tooltip-arrow__2EioC\",\"top-left\":\"FormSection__top-left__3lgou\",\"top-right\":\"FormSection__top-right__2R4Nu\",\"bottom-left\":\"FormSection__bottom-left__3lmed\",\"bottom-right\":\"FormSection__bottom-right__2F5cK\",\"tooltip-inner\":\"FormSection__tooltip-inner__owcub\",main:\"FormSection__main__1qV8i\",title:\"FormSection__title__1XQXa\"}},function(e,t){e.exports={progress:\"GasField__progress__3IAKc\",\"progress-bar\":\"GasField__progress-bar__1vy-M\",\"progress-striped\":\"GasField__progress-striped__3sc3P\",\"progress-bar-striped\":\"GasField__progress-bar-striped__1dEbd\",active:\"GasField__active__ol0k0\",\"progress-bar-stripes\":\"GasField__progress-bar-stripes__3fjg-\",\"progress-bar-success\":\"GasField__progress-bar-success__1KpYp\",\"progress-bar-info\":\"GasField__progress-bar-info__8oF5j\",\"progress-bar-warning\":\"GasField__progress-bar-warning__RLo-L\",\"progress-bar-danger\":\"GasField__progress-bar-danger__22Lak\",tooltip:\"GasField__tooltip__1BxZF\",in:\"GasField__in__3_LTt\",top:\"GasField__top__1Hawz\",right:\"GasField__right__HZale\",bottom:\"GasField__bottom__3uLzR\",left:\"GasField__left__3srf7\",\"tooltip-arrow\":\"GasField__tooltip-arrow__35QXQ\",\"top-left\":\"GasField__top-left__3HEke\",\"top-right\":\"GasField__top-right__1XBMU\",\"bottom-left\":\"GasField__bottom-left__3K0RW\",\"bottom-right\":\"GasField__bottom-right__3khFt\",\"tooltip-inner\":\"GasField__tooltip-inner__146qW\",slider:\"GasField__slider__DySSx\"}},function(e,t){e.exports={progress:\"JsonField__progress__3_KNn\",\"progress-bar\":\"JsonField__progress-bar__b6nzW\",\"progress-striped\":\"JsonField__progress-striped__gm4b_\",\"progress-bar-striped\":\"JsonField__progress-bar-striped__2exSW\",active:\"JsonField__active__3Cyw-\",\"progress-bar-stripes\":\"JsonField__progress-bar-stripes__1yb9Z\",\"progress-bar-success\":\"JsonField__progress-bar-success__1ZCav\",\"progress-bar-info\":\"JsonField__progress-bar-info__33nT7\",\"progress-bar-warning\":\"JsonField__progress-bar-warning__Ko7kG\",\"progress-bar-danger\":\"JsonField__progress-bar-danger__392-Y\",tooltip:\"JsonField__tooltip__3XnpT\",in:\"JsonField__in__3IuNj\",top:\"JsonField__top__2BT55\",right:\"JsonField__right__qRPYP\",bottom:\"JsonField__bottom__FNUjL\",left:\"JsonField__left__3sudf\",\"tooltip-arrow\":\"JsonField__tooltip-arrow__2aWgB\",\"top-left\":\"JsonField__top-left__1xgAI\",\"top-right\":\"JsonField__top-right__2bkYr\",\"bottom-left\":\"JsonField__bottom-left__2JGqG\",\"bottom-right\":\"JsonField__bottom-right__In1HQ\",\"tooltip-inner\":\"JsonField__tooltip-inner__2CWD9\",editorWrapper:\"JsonField__editorWrapper__24TdT\",editorError:\"JsonField__editorError__3aglE\",errorBlock:\"JsonField__errorBlock__2YbXG\"}},function(e,t){e.exports={progress:\"KeyValueTable__progress__1iAIc\",\"progress-bar\":\"KeyValueTable__progress-bar__d0dyO\",\"progress-striped\":\"KeyValueTable__progress-striped__2GNYd\",\"progress-bar-striped\":\"KeyValueTable__progress-bar-striped__2vnML\",active:\"KeyValueTable__active__Dzb4m\",\"progress-bar-stripes\":\"KeyValueTable__progress-bar-stripes__39-LP\",\"progress-bar-success\":\"KeyValueTable__progress-bar-success__3eE_r\",\"progress-bar-info\":\"KeyValueTable__progress-bar-info__30oiy\",\"progress-bar-warning\":\"KeyValueTable__progress-bar-warning__v6bAo\",\"progress-bar-danger\":\"KeyValueTable__progress-bar-danger__3nmtw\",tooltip:\"KeyValueTable__tooltip__1ApT3\",in:\"KeyValueTable__in__JPSct\",top:\"KeyValueTable__top__1eqqI\",right:\"KeyValueTable__right__2nDg9\",bottom:\"KeyValueTable__bottom__1vH8n\",left:\"KeyValueTable__left__O8-Mv\",\"tooltip-arrow\":\"KeyValueTable__tooltip-arrow__2meU4\",\"top-left\":\"KeyValueTable__top-left__1U9Td\",\"top-right\":\"KeyValueTable__top-right__2GFqG\",\"bottom-left\":\"KeyValueTable__bottom-left__33hAb\",\"bottom-right\":\"KeyValueTable__bottom-right__2JSpw\",\"tooltip-inner\":\"KeyValueTable__tooltip-inner__Ku1LL\",table:\"KeyValueTable__table__2B4pY\",pre:\"KeyValueTable__pre__1bjMa\",edit:\"KeyValueTable__edit__2nkqO\",detail:\"KeyValueTable__detail__d9uZX\",pencil:\"KeyValueTable__pencil__VD-63\",label:\"KeyValueTable__label__35Rgy\",value:\"KeyValueTable__value__bwXOr\",copyButton:\"KeyValueTable__copyButton__2nsqx\"}},function(e,t){e.exports={progress:\"Mnemonic__progress__3Fsru\",\"progress-bar\":\"Mnemonic__progress-bar__3hte8\",\"progress-striped\":\"Mnemonic__progress-striped__3B9g4\",\"progress-bar-striped\":\"Mnemonic__progress-bar-striped__3Zdco\",active:\"Mnemonic__active__iuzOz\",\"progress-bar-stripes\":\"Mnemonic__progress-bar-stripes__2D_Gk\",\"progress-bar-success\":\"Mnemonic__progress-bar-success__3Mftm\",\"progress-bar-info\":\"Mnemonic__progress-bar-info__38xfx\",\"progress-bar-warning\":\"Mnemonic__progress-bar-warning__67_hE\",\"progress-bar-danger\":\"Mnemonic__progress-bar-danger__2aiVf\",tooltip:\"Mnemonic__tooltip__WUlaF\",in:\"Mnemonic__in__mUU6D\",top:\"Mnemonic__top__1b1U5\",right:\"Mnemonic__right__2DyRZ\",bottom:\"Mnemonic__bottom__2xGK0\",left:\"Mnemonic__left__8dShv\",\"tooltip-arrow\":\"Mnemonic__tooltip-arrow__28eAo\",\"top-left\":\"Mnemonic__top-left__gO9Zk\",\"top-right\":\"Mnemonic__top-right__2ANj3\",\"bottom-left\":\"Mnemonic__bottom-left__2bntD\",\"bottom-right\":\"Mnemonic__bottom-right__deJxw\",\"tooltip-inner\":\"Mnemonic__tooltip-inner__32_Dh\",seed:\"Mnemonic__seed__2aDuu\",copy:\"Mnemonic__copy__3nTWY\",flexContainer:\"Mnemonic__flexContainer__pWQMX\",seedArea:\"Mnemonic__seedArea__3T2B_\",container:\"Mnemonic__container__1Sfnd\"}},function(e,t){e.exports={progress:\"ObjectSelectorField__progress__15Yfn\",\"progress-bar\":\"ObjectSelectorField__progress-bar__obc8A\",\"progress-striped\":\"ObjectSelectorField__progress-striped__1SjQq\",\"progress-bar-striped\":\"ObjectSelectorField__progress-bar-striped__1T6dz\",active:\"ObjectSelectorField__active__3iUnq\",\"progress-bar-stripes\":\"ObjectSelectorField__progress-bar-stripes__1iky2\",\"progress-bar-success\":\"ObjectSelectorField__progress-bar-success__3LW7l\",\"progress-bar-info\":\"ObjectSelectorField__progress-bar-info__292eA\",\"progress-bar-warning\":\"ObjectSelectorField__progress-bar-warning__l0MJ3\",\"progress-bar-danger\":\"ObjectSelectorField__progress-bar-danger__Ty_VX\",tooltip:\"ObjectSelectorField__tooltip__1oKiC\",in:\"ObjectSelectorField__in__1Mrx7\",top:\"ObjectSelectorField__top__3jiYf\",right:\"ObjectSelectorField__right__2YSY0\",bottom:\"ObjectSelectorField__bottom__iMRXd\",left:\"ObjectSelectorField__left__4nx0u\",\"tooltip-arrow\":\"ObjectSelectorField__tooltip-arrow__3mqn0\",\"top-left\":\"ObjectSelectorField__top-left__1GCdl\",\"top-right\":\"ObjectSelectorField__top-right__3FjQs\",\"bottom-left\":\"ObjectSelectorField__bottom-left__2BQ_G\",\"bottom-right\":\"ObjectSelectorField__bottom-right__LvC3L\",\"tooltip-inner\":\"ObjectSelectorField__tooltip-inner__1DAhx\",dropdownButton:\"ObjectSelectorField__dropdownButton__3wU1e\",aliasFieldGroupItem:\"ObjectSelectorField__aliasFieldGroupItem__35ZI4\"}},function(e,t){e.exports={progress:\"PageContent__progress__3a9Vk\",\"progress-bar\":\"PageContent__progress-bar__38e5Z\",\"progress-striped\":\"PageContent__progress-striped__2fSkw\",\"progress-bar-striped\":\"PageContent__progress-bar-striped__1sOF4\",active:\"PageContent__active__ZWILU\",\"progress-bar-stripes\":\"PageContent__progress-bar-stripes__3Nj8t\",\"progress-bar-success\":\"PageContent__progress-bar-success__U0myE\",\"progress-bar-info\":\"PageContent__progress-bar-info__qHReg\",\"progress-bar-warning\":\"PageContent__progress-bar-warning__HmRxk\",\"progress-bar-danger\":\"PageContent__progress-bar-danger__2e7ia\",tooltip:\"PageContent__tooltip__Z365i\",in:\"PageContent__in__1jDne\",top:\"PageContent__top__2kTaR\",right:\"PageContent__right__3b3d2\",bottom:\"PageContent__bottom__oTp-8\",left:\"PageContent__left__E5kad\",\"tooltip-arrow\":\"PageContent__tooltip-arrow__3tteJ\",\"top-left\":\"PageContent__top-left__3X2hD\",\"top-right\":\"PageContent__top-right__3Bk3q\",\"bottom-left\":\"PageContent__bottom-left__3y6Ud\",\"bottom-right\":\"PageContent__bottom-right__1ygzY\",\"tooltip-inner\":\"PageContent__tooltip-inner__1JhrP\",main:\"PageContent__main__2Yu_Q\"}},function(e,t){e.exports={progress:\"PageTitle__progress__3U4Ea\",\"progress-bar\":\"PageTitle__progress-bar__3L0vx\",\"progress-striped\":\"PageTitle__progress-striped__3yHWy\",\"progress-bar-striped\":\"PageTitle__progress-bar-striped__Yr53t\",active:\"PageTitle__active__1TYMZ\",\"progress-bar-stripes\":\"PageTitle__progress-bar-stripes__1xdhc\",\"progress-bar-success\":\"PageTitle__progress-bar-success__3IZXU\",\"progress-bar-info\":\"PageTitle__progress-bar-info__8z84B\",\"progress-bar-warning\":\"PageTitle__progress-bar-warning__2RIPY\",\"progress-bar-danger\":\"PageTitle__progress-bar-danger__3uYv5\",tooltip:\"PageTitle__tooltip__35dTR\",in:\"PageTitle__in__C0X6E\",top:\"PageTitle__top__qvPWB\",right:\"PageTitle__right__18DIo\",bottom:\"PageTitle__bottom__3xAZ3\",left:\"PageTitle__left__3XIs6\",\"tooltip-arrow\":\"PageTitle__tooltip-arrow__LZW1I\",\"top-left\":\"PageTitle__top-left__34hmC\",\"top-right\":\"PageTitle__top-right__3pbms\",\"bottom-left\":\"PageTitle__bottom-left__2Q9Ty\",\"bottom-right\":\"PageTitle__bottom-right__3zojQ\",\"tooltip-inner\":\"PageTitle__tooltip-inner__1xtqP\",main:\"PageTitle__main__ABEpT\",title:\"PageTitle__title__3Es27\",navigation:\"PageTitle__navigation__3_HhP\",crumbs:\"PageTitle__crumbs__-Ay5t\",crumb:\"PageTitle__crumb__gVdBx\",chevron:\"PageTitle__chevron__2f3I4\",actions:\"PageTitle__actions__2ch3W\",flash:\"PageTitle__flash__1OtqT\"}},function(e,t){e.exports={progress:\"Pagination__progress__3LBnR\",\"progress-bar\":\"Pagination__progress-bar__2djEG\",\"progress-striped\":\"Pagination__progress-striped__2DBtK\",\"progress-bar-striped\":\"Pagination__progress-bar-striped__34ir2\",active:\"Pagination__active__2VQ-0\",\"progress-bar-stripes\":\"Pagination__progress-bar-stripes__2zR5F\",\"progress-bar-success\":\"Pagination__progress-bar-success__3Zp6q\",\"progress-bar-info\":\"Pagination__progress-bar-info__2JNrd\",\"progress-bar-warning\":\"Pagination__progress-bar-warning__2G2aS\",\"progress-bar-danger\":\"Pagination__progress-bar-danger__2Loi9\",tooltip:\"Pagination__tooltip__w_NQ1\",in:\"Pagination__in__2tW2K\",top:\"Pagination__top__3NRAH\",right:\"Pagination__right__2lD9Z\",bottom:\"Pagination__bottom__1nk1a\",left:\"Pagination__left__2aU6x\",\"tooltip-arrow\":\"Pagination__tooltip-arrow__e4hJY\",\"top-left\":\"Pagination__top-left__1k-hR\",\"top-right\":\"Pagination__top-right__3gjcz\",\"bottom-left\":\"Pagination__bottom-left__1CCyh\",\"bottom-right\":\"Pagination__bottom-right__3g8YE\",\"tooltip-inner\":\"Pagination__tooltip-inner__1172w\",main:\"Pagination__main__2oPNq\",button:\"Pagination__button__7PNQR\",disabled:\"Pagination__disabled__2U4H8\"}},function(e,t){e.exports={progress:\"PasswordField__progress__3N7qR\",\"progress-bar\":\"PasswordField__progress-bar__DtrQF\",\"progress-striped\":\"PasswordField__progress-striped__3ZHh7\",\"progress-bar-striped\":\"PasswordField__progress-bar-striped__WoGge\",active:\"PasswordField__active__3E0Di\",\"progress-bar-stripes\":\"PasswordField__progress-bar-stripes__yyFGx\",\"progress-bar-success\":\"PasswordField__progress-bar-success__2-oUj\",\"progress-bar-info\":\"PasswordField__progress-bar-info__SjBKC\",\"progress-bar-warning\":\"PasswordField__progress-bar-warning__3QtNg\",\"progress-bar-danger\":\"PasswordField__progress-bar-danger__LM6g6\",tooltip:\"PasswordField__tooltip__2c8Yz\",in:\"PasswordField__in__jw6AB\",top:\"PasswordField__top__2vUGF\",right:\"PasswordField__right__2XGbC\",bottom:\"PasswordField__bottom__13ViL\",left:\"PasswordField__left__3MJD-\",\"tooltip-arrow\":\"PasswordField__tooltip-arrow__3Nmmp\",\"top-left\":\"PasswordField__top-left__2Dzeh\",\"top-right\":\"PasswordField__top-right__1GlF9\",\"bottom-left\":\"PasswordField__bottom-left__1RLLL\",\"bottom-right\":\"PasswordField__bottom-right__mAEV7\",\"tooltip-inner\":\"PasswordField__tooltip-inner__3-3LR\",capsIcon:\"PasswordField__capsIcon__3MrOT\",capsIconGreen:\"PasswordField__capsIconGreen__axeCy\",password:\"PasswordField__password__3SXbs\",dotFont:\"PasswordField__dotFont__19fE5\"}},function(e,t){e.exports={progress:\"RadioField__progress__3qFVF\",\"progress-bar\":\"RadioField__progress-bar__pxEck\",\"progress-striped\":\"RadioField__progress-striped__1vYrR\",\"progress-bar-striped\":\"RadioField__progress-bar-striped__10nF1\",active:\"RadioField__active__2w0w2\",\"progress-bar-stripes\":\"RadioField__progress-bar-stripes__3YpNP\",\"progress-bar-success\":\"RadioField__progress-bar-success__3_kUu\",\"progress-bar-info\":\"RadioField__progress-bar-info__3EGh-\",\"progress-bar-warning\":\"RadioField__progress-bar-warning__v1n-v\",\"progress-bar-danger\":\"RadioField__progress-bar-danger__1qPgq\",tooltip:\"RadioField__tooltip__2mlcK\",in:\"RadioField__in__3WzBr\",top:\"RadioField__top__2-VdY\",right:\"RadioField__right__1Ca27\",bottom:\"RadioField__bottom__CG-hS\",left:\"RadioField__left__vXIzj\",\"tooltip-arrow\":\"RadioField__tooltip-arrow__2--ao\",\"top-left\":\"RadioField__top-left__3vNwa\",\"top-right\":\"RadioField__top-right__3TJXX\",\"bottom-left\":\"RadioField__bottom-left__1BbaB\",\"bottom-right\":\"RadioField__bottom-right__2b73U\",\"tooltip-inner\":\"RadioField__tooltip-inner__2QX8g\",radio:\"RadioField__radio__3Eql3\",label:\"RadioField__label__397An\"}},function(e,t){e.exports={progress:\"RestoreKeystore__progress__1dEXP\",\"progress-bar\":\"RestoreKeystore__progress-bar__1v5Nh\",\"progress-striped\":\"RestoreKeystore__progress-striped__QSLB4\",\"progress-bar-striped\":\"RestoreKeystore__progress-bar-striped__SCCkv\",active:\"RestoreKeystore__active__2Osp-\",\"progress-bar-stripes\":\"RestoreKeystore__progress-bar-stripes__3ZHmd\",\"progress-bar-success\":\"RestoreKeystore__progress-bar-success__1MhH0\",\"progress-bar-info\":\"RestoreKeystore__progress-bar-info__1_EYW\",\"progress-bar-warning\":\"RestoreKeystore__progress-bar-warning__19uTJ\",\"progress-bar-danger\":\"RestoreKeystore__progress-bar-danger__AHn1g\",tooltip:\"RestoreKeystore__tooltip__2L2Xt\",in:\"RestoreKeystore__in__4tDR0\",top:\"RestoreKeystore__top__bBQdY\",right:\"RestoreKeystore__right__13FIn\",bottom:\"RestoreKeystore__bottom__-7omJ\",left:\"RestoreKeystore__left__k5zHL\",\"tooltip-arrow\":\"RestoreKeystore__tooltip-arrow__2hynC\",\"top-left\":\"RestoreKeystore__top-left__CyWh7\",\"top-right\":\"RestoreKeystore__top-right__34hdM\",\"bottom-left\":\"RestoreKeystore__bottom-left__2Tgj4\",\"bottom-right\":\"RestoreKeystore__bottom-right__3Ajst\",\"tooltip-inner\":\"RestoreKeystore__tooltip-inner__r5aO-\",submitButton:\"RestoreKeystore__submitButton__1cFjI\"}},function(e,t){e.exports={progress:\"RestoreMnemonic__progress__35Vbx\",\"progress-bar\":\"RestoreMnemonic__progress-bar__3GkMq\",\"progress-striped\":\"RestoreMnemonic__progress-striped__28JrI\",\"progress-bar-striped\":\"RestoreMnemonic__progress-bar-striped__swvjc\",active:\"RestoreMnemonic__active__3EaAH\",\"progress-bar-stripes\":\"RestoreMnemonic__progress-bar-stripes__3Lyt1\",\"progress-bar-success\":\"RestoreMnemonic__progress-bar-success__3inPy\",\"progress-bar-info\":\"RestoreMnemonic__progress-bar-info__vuGK-\",\"progress-bar-warning\":\"RestoreMnemonic__progress-bar-warning__3hyUJ\",\"progress-bar-danger\":\"RestoreMnemonic__progress-bar-danger__1GnQo\",tooltip:\"RestoreMnemonic__tooltip__2sQy9\",in:\"RestoreMnemonic__in__cXJz-\",top:\"RestoreMnemonic__top__3bC1x\",right:\"RestoreMnemonic__right__1w9AI\",bottom:\"RestoreMnemonic__bottom__2DBZw\",left:\"RestoreMnemonic__left__1mi8a\",\"tooltip-arrow\":\"RestoreMnemonic__tooltip-arrow__276jG\",\"top-left\":\"RestoreMnemonic__top-left__1qElw\",\"top-right\":\"RestoreMnemonic__top-right__3u2IW\",\"bottom-left\":\"RestoreMnemonic__bottom-left__t9d7r\",\"bottom-right\":\"RestoreMnemonic__bottom-right__3Jww8\",\"tooltip-inner\":\"RestoreMnemonic__tooltip-inner__2gTnu\",submitButton:\"RestoreMnemonic__submitButton__3IEuJ\"}},function(e,t){e.exports={progress:\"SearchBar__progress__3O7nP\",\"progress-bar\":\"SearchBar__progress-bar__3qbD1\",\"progress-striped\":\"SearchBar__progress-striped__3Rw_9\",\"progress-bar-striped\":\"SearchBar__progress-bar-striped__1WWbT\",active:\"SearchBar__active__1AeyI\",\"progress-bar-stripes\":\"SearchBar__progress-bar-stripes___L-Kx\",\"progress-bar-success\":\"SearchBar__progress-bar-success__3CbbN\",\"progress-bar-info\":\"SearchBar__progress-bar-info__3AlZd\",\"progress-bar-warning\":\"SearchBar__progress-bar-warning__tUw9c\",\"progress-bar-danger\":\"SearchBar__progress-bar-danger__33hmO\",tooltip:\"SearchBar__tooltip__CSgzd\",in:\"SearchBar__in__n8Oip\",top:\"SearchBar__top__1TDCY\",right:\"SearchBar__right__2bflR\",bottom:\"SearchBar__bottom__2SVku\",left:\"SearchBar__left__efOY3\",\"tooltip-arrow\":\"SearchBar__tooltip-arrow__2INP-\",\"top-left\":\"SearchBar__top-left__7E0r6\",\"top-right\":\"SearchBar__top-right__3mAxB\",\"bottom-left\":\"SearchBar__bottom-left__2KMkT\",\"bottom-right\":\"SearchBar__bottom-right__1fNgf\",\"tooltip-inner\":\"SearchBar__tooltip-inner__1q1ys\",main:\"SearchBar__main__39O9j\",search_field_full:\"SearchBar__search_field_full__3k8Mt\",search_field_half:\"SearchBar__search_field_half__3zle5\",sum_by_field:\"SearchBar__sum_by_field__25K5l\",searchField:\"SearchBar__searchField__1QxVJ\",label:\"SearchBar__label__MMYXk\",search_input:\"SearchBar__search_input__2ADny\",sum_by_input:\"SearchBar__sum_by_input__2N2c9\",showSumBy:\"SearchBar__showSumBy__uBJtx\",submit:\"SearchBar__submit__1CViG\",clearSearch:\"SearchBar__clearSearch__3DOpG\",queryTime:\"SearchBar__queryTime__SRpkj\"}},function(e,t){e.exports={progress:\"Section__progress__3FuJl\",\"progress-bar\":\"Section__progress-bar__19MJw\",\"progress-striped\":\"Section__progress-striped__2LUc8\",\"progress-bar-striped\":\"Section__progress-bar-striped__2Is6j\",active:\"Section__active__2oIa-\",\"progress-bar-stripes\":\"Section__progress-bar-stripes__mZ0KE\",\"progress-bar-success\":\"Section__progress-bar-success__1Cm9i\",\"progress-bar-info\":\"Section__progress-bar-info__1Xqei\",\"progress-bar-warning\":\"Section__progress-bar-warning__2T9HJ\",\"progress-bar-danger\":\"Section__progress-bar-danger__2Nrto\",tooltip:\"Section__tooltip__1VtVu\",in:\"Section__in__1jeey\",top:\"Section__top__3WRzV\",right:\"Section__right__2_WLq\",bottom:\"Section__bottom__4HUov\",left:\"Section__left__2cDFN\",\"tooltip-arrow\":\"Section__tooltip-arrow__1uQXJ\",\"top-left\":\"Section__top-left__3LMns\",\"top-right\":\"Section__top-right__1a3f8\",\"bottom-left\":\"Section__bottom-left__3FMyS\",\"bottom-right\":\"Section__bottom-right__2Urg4\",\"tooltip-inner\":\"Section__tooltip-inner__1CT6E\",main:\"Section__main__14cl4\",title:\"Section__title__8yHMA\"}},function(e,t){e.exports={progress:\"stepper__progress__3PiT3\",\"progress-bar\":\"stepper__progress-bar__3M508\",\"progress-striped\":\"stepper__progress-striped__1burD\",\"progress-bar-striped\":\"stepper__progress-bar-striped__1uCa1\",active:\"stepper__active__2otz9\",\"progress-bar-stripes\":\"stepper__progress-bar-stripes__Wkf2J\",\"progress-bar-success\":\"stepper__progress-bar-success__Z3HAi\",\"progress-bar-info\":\"stepper__progress-bar-info__m7X7w\",\"progress-bar-warning\":\"stepper__progress-bar-warning__1BmuU\",\"progress-bar-danger\":\"stepper__progress-bar-danger__-o5y8\",tooltip:\"stepper__tooltip__1TbaP\",in:\"stepper__in__2FIAD\",top:\"stepper__top__25j30\",right:\"stepper__right__1_AZY\",bottom:\"stepper__bottom__32L8-\",left:\"stepper__left__24svJ\",\"tooltip-arrow\":\"stepper__tooltip-arrow__25fLh\",\"top-left\":\"stepper__top-left__FDaaK\",\"top-right\":\"stepper__top-right__2Fz9t\",\"bottom-left\":\"stepper__bottom-left__3-JCK\",\"bottom-right\":\"stepper__bottom-right__2kTqR\",\"tooltip-inner\":\"stepper__tooltip-inner__1A4ao\",marginLeft:\"stepper__marginLeft__2HF9S\",floatLeft:\"stepper__floatLeft__2EIk8\"}},function(e,t){e.exports={progress:\"SubmitIndicator__progress__3mx7R\",\"progress-bar\":\"SubmitIndicator__progress-bar__oFjIQ\",\"progress-striped\":\"SubmitIndicator__progress-striped__2eC6l\",\"progress-bar-striped\":\"SubmitIndicator__progress-bar-striped__2UvzG\",active:\"SubmitIndicator__active__1qm89\",\"progress-bar-stripes\":\"SubmitIndicator__progress-bar-stripes__33r1W\",\"progress-bar-success\":\"SubmitIndicator__progress-bar-success__2hJcL\",\"progress-bar-info\":\"SubmitIndicator__progress-bar-info__3-d9k\",\"progress-bar-warning\":\"SubmitIndicator__progress-bar-warning__1Ui9z\",\"progress-bar-danger\":\"SubmitIndicator__progress-bar-danger__1B53Z\",tooltip:\"SubmitIndicator__tooltip__F5Lyy\",in:\"SubmitIndicator__in__1WTVD\",top:\"SubmitIndicator__top__2ffeP\",right:\"SubmitIndicator__right__3n1Yw\",bottom:\"SubmitIndicator__bottom__3wC62\",left:\"SubmitIndicator__left__1TLzo\",\"tooltip-arrow\":\"SubmitIndicator__tooltip-arrow__3Scd-\",\"top-left\":\"SubmitIndicator__top-left__WpLdP\",\"top-right\":\"SubmitIndicator__top-right__3lubo\",\"bottom-left\":\"SubmitIndicator__bottom-left__McmiD\",\"bottom-right\":\"SubmitIndicator__bottom-right__2Q2y9\",\"tooltip-inner\":\"SubmitIndicator__tooltip-inner__12QWs\",activeSubmit:\"SubmitIndicator__activeSubmit__36Ovr\",pulse:\"SubmitIndicator__pulse__33QCg\"}},function(e,t){e.exports={progress:\"TableList__progress__-pc-m\",\"progress-bar\":\"TableList__progress-bar__BeiqZ\",\"progress-striped\":\"TableList__progress-striped__DeROy\",\"progress-bar-striped\":\"TableList__progress-bar-striped__2ikdv\",active:\"TableList__active__1zeto\",\"progress-bar-stripes\":\"TableList__progress-bar-stripes__3Da4G\",\"progress-bar-success\":\"TableList__progress-bar-success__12kjh\",\"progress-bar-info\":\"TableList__progress-bar-info__1R-ep\",\"progress-bar-warning\":\"TableList__progress-bar-warning__3aDQk\",\"progress-bar-danger\":\"TableList__progress-bar-danger__1dLjQ\",tooltip:\"TableList__tooltip__1Eehn\",in:\"TableList__in__3Wsgc\",top:\"TableList__top__fXXGt\",right:\"TableList__right__29LrY\",bottom:\"TableList__bottom__3hLbI\",left:\"TableList__left__2KSMH\",\"tooltip-arrow\":\"TableList__tooltip-arrow__kCk2k\",\"top-left\":\"TableList__top-left__3XOgn\",\"top-right\":\"TableList__top-right__1MOHt\",\"bottom-left\":\"TableList__bottom-left__3ZD2a\",\"bottom-right\":\"TableList__bottom-right__1eJTK\",\"tooltip-inner\":\"TableList__tooltip-inner__2dfOG\",main:\"TableList__main__1sTEz\"}},function(e,t){e.exports={progress:\"XpubField__progress__1SM0I\",\"progress-bar\":\"XpubField__progress-bar__iTGGs\",\"progress-striped\":\"XpubField__progress-striped__11p60\",\"progress-bar-striped\":\"XpubField__progress-bar-striped__1QBEo\",active:\"XpubField__active__mBj3I\",\"progress-bar-stripes\":\"XpubField__progress-bar-stripes__1Wxxl\",\"progress-bar-success\":\"XpubField__progress-bar-success__bp4QU\",\"progress-bar-info\":\"XpubField__progress-bar-info__10yBi\",\"progress-bar-warning\":\"XpubField__progress-bar-warning__1FQYZ\",\"progress-bar-danger\":\"XpubField__progress-bar-danger__3cIV0\",tooltip:\"XpubField__tooltip__2dURq\",in:\"XpubField__in__JOMhq\",top:\"XpubField__top__1_QYf\",right:\"XpubField__right__1TVYv\",bottom:\"XpubField__bottom__1TXXq\",left:\"XpubField__left__2R3H7\",\"tooltip-arrow\":\"XpubField__tooltip-arrow__2C0Ya\",\"top-left\":\"XpubField__top-left__1zO5A\",\"top-right\":\"XpubField__top-right__2-AsW\",\"bottom-left\":\"XpubField__bottom-left__3tjAe\",\"bottom-right\":\"XpubField__bottom-right__J_vQW\",\"tooltip-inner\":\"XpubField__tooltip-inner__U_urd\",main:\"XpubField__main__2C7z_\",options:\"XpubField__options__1NX5P\",radio:\"XpubField__radio__1_BQb\",label:\"XpubField__label__SLmLW\",field:\"XpubField__field__1jRWW\"}},function(e,t){e.exports={progress:\"DetailSummary__progress__1D8wI\",\"progress-bar\":\"DetailSummary__progress-bar__3FEB_\",\"progress-striped\":\"DetailSummary__progress-striped__2HKyU\",\"progress-bar-striped\":\"DetailSummary__progress-bar-striped__3-3Nm\",active:\"DetailSummary__active__LGdP-\",\"progress-bar-stripes\":\"DetailSummary__progress-bar-stripes__gjzay\",\"progress-bar-success\":\"DetailSummary__progress-bar-success__3grbl\",\"progress-bar-info\":\"DetailSummary__progress-bar-info__15ebM\",\"progress-bar-warning\":\"DetailSummary__progress-bar-warning__1QoBo\",\"progress-bar-danger\":\"DetailSummary__progress-bar-danger__1EKdn\",tooltip:\"DetailSummary__tooltip__3VWZA\",in:\"DetailSummary__in__1o16O\",top:\"DetailSummary__top__2fmu1\",right:\"DetailSummary__right__19ZOp\",bottom:\"DetailSummary__bottom__2cWJv\",left:\"DetailSummary__left__37zqH\",\"tooltip-arrow\":\"DetailSummary__tooltip-arrow__10iK2\",\"top-left\":\"DetailSummary__top-left__12aE1\",\"top-right\":\"DetailSummary__top-right__ZnrAL\",\"bottom-left\":\"DetailSummary__bottom-left__1EXyG\",\"bottom-right\":\"DetailSummary__bottom-right__2kSLV\",\"tooltip-inner\":\"DetailSummary__tooltip-inner__2i4YI\",main:\"DetailSummary__main__28Xcp\",row:\"DetailSummary__row__qH5eY\",col:\"DetailSummary__col__2H41Y\",rawId:\"DetailSummary__rawId__1QgaQ\",colAction:\"DetailSummary__colAction__k6Ki1\",colAmount:\"DetailSummary__colAmount__18s5E\",account:\"DetailSummary__account__4k-W8\",middle:\"DetailSummary__middle__3LiUa\",end:\"DetailSummary__end__1woyG\",amount:\"DetailSummary__amount__1x3FD\",emphasisLabel:\"DetailSummary__emphasisLabel__3IZEE\",colLabel:\"DetailSummary__colLabel__1Km8p\",colUnit:\"DetailSummary__colUnit__1QVzI\",immature:\"DetailSummary__immature__2XJcR\",recievedAmount:\"DetailSummary__recievedAmount__1GOAH\"}},function(e,t){e.exports={progress:\"GeneratedTxHex__progress__3xmiG\",\"progress-bar\":\"GeneratedTxHex__progress-bar__2nG81\",\"progress-striped\":\"GeneratedTxHex__progress-striped__1EXXb\",\"progress-bar-striped\":\"GeneratedTxHex__progress-bar-striped__2e3wB\",active:\"GeneratedTxHex__active__3Wthg\",\"progress-bar-stripes\":\"GeneratedTxHex__progress-bar-stripes__3h0VL\",\"progress-bar-success\":\"GeneratedTxHex__progress-bar-success__G7HFx\",\"progress-bar-info\":\"GeneratedTxHex__progress-bar-info__VRKGW\",\"progress-bar-warning\":\"GeneratedTxHex__progress-bar-warning__1ZePZ\",\"progress-bar-danger\":\"GeneratedTxHex__progress-bar-danger__1X-hD\",tooltip:\"GeneratedTxHex__tooltip__2JhUN\",in:\"GeneratedTxHex__in__3Of5d\",top:\"GeneratedTxHex__top__3_Tcd\",right:\"GeneratedTxHex__right__3hMFa\",bottom:\"GeneratedTxHex__bottom__1evC3\",left:\"GeneratedTxHex__left__dSeji\",\"tooltip-arrow\":\"GeneratedTxHex__tooltip-arrow__1L1Lg\",\"top-left\":\"GeneratedTxHex__top-left__Vk9iy\",\"top-right\":\"GeneratedTxHex__top-right__1AHdX\",\"bottom-left\":\"GeneratedTxHex__bottom-left__30E92\",\"bottom-right\":\"GeneratedTxHex__bottom-right__hYHS_\",\"tooltip-inner\":\"GeneratedTxHex__tooltip-inner__15WkF\",main:\"GeneratedTxHex__main__3OJO4\",hex:\"GeneratedTxHex__hex__fvV-s\",mgl:\"GeneratedTxHex__mgl__2-jYS\"}},function(e,t){e.exports={progress:\"QrCode__progress__1PnDK\",\"progress-bar\":\"QrCode__progress-bar__I2BvB\",\"progress-striped\":\"QrCode__progress-striped__1R4wh\",\"progress-bar-striped\":\"QrCode__progress-bar-striped__2etPO\",active:\"QrCode__active__27IZy\",\"progress-bar-stripes\":\"QrCode__progress-bar-stripes__1iCCZ\",\"progress-bar-success\":\"QrCode__progress-bar-success__sYc9k\",\"progress-bar-info\":\"QrCode__progress-bar-info__3woV1\",\"progress-bar-warning\":\"QrCode__progress-bar-warning__29naC\",\"progress-bar-danger\":\"QrCode__progress-bar-danger__1BJdo\",tooltip:\"QrCode__tooltip__3X4JO\",in:\"QrCode__in__R4UxO\",top:\"QrCode__top__1CSTZ\",right:\"QrCode__right__22-LS\",bottom:\"QrCode__bottom__3z03l\",left:\"QrCode__left__33KTN\",\"tooltip-arrow\":\"QrCode__tooltip-arrow__1gMox\",\"top-left\":\"QrCode__top-left__2Ub_7\",\"top-right\":\"QrCode__top-right__uWZ_O\",\"bottom-left\":\"QrCode__bottom-left__3fs5F\",\"bottom-right\":\"QrCode__bottom-right__2MXv0\",\"tooltip-inner\":\"QrCode__tooltip-inner__ffDXZ\",code:\"QrCode__code__2GSi9\",progressBar:\"QrCode__progressBar__2cJxt\"}},function(e,t){e.exports={progress:\"ListItem__progress__1N5lv\",\"progress-bar\":\"ListItem__progress-bar__aURWZ\",\"progress-striped\":\"ListItem__progress-striped__2ZTBU\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__BtkFr\",active:\"ListItem__active__2VmTV\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__2adlD\",\"progress-bar-success\":\"ListItem__progress-bar-success__1yG1-\",\"progress-bar-info\":\"ListItem__progress-bar-info__2l-aC\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__1V5wZ\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__vH209\",tooltip:\"ListItem__tooltip__JumnF\",in:\"ListItem__in__1kJZP\",top:\"ListItem__top__1UKht\",right:\"ListItem__right__2C0Gt\",bottom:\"ListItem__bottom__2Yzvc\",left:\"ListItem__left__2LqD7\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__1fNpC\",\"top-left\":\"ListItem__top-left__2C14K\",\"top-right\":\"ListItem__top-right__2Z_mI\",\"bottom-left\":\"ListItem__bottom-left__RweVE\",\"bottom-right\":\"ListItem__bottom-right__2NEP2\",\"tooltip-inner\":\"ListItem__tooltip-inner__cDIZl\",main:\"ListItem__main__1d1Ux\",titleBar:\"ListItem__titleBar__3-1At\",title:\"ListItem__title__3-0qJ\",timestamp:\"ListItem__timestamp__1gwZn\",confirmation:\"ListItem__confirmation__3FoPX\",viewLink:\"ListItem__viewLink__2ybtJ\"}},function(e,t){e.exports={progress:\"ConfirmModal__progress__2EhGZ\",\"progress-bar\":\"ConfirmModal__progress-bar__365ZH\",\"progress-striped\":\"ConfirmModal__progress-striped__2p3Ez\",\"progress-bar-striped\":\"ConfirmModal__progress-bar-striped__2OawW\",active:\"ConfirmModal__active__3q90o\",\"progress-bar-stripes\":\"ConfirmModal__progress-bar-stripes__jTTXQ\",\"progress-bar-success\":\"ConfirmModal__progress-bar-success__1ye2p\",\"progress-bar-info\":\"ConfirmModal__progress-bar-info__3HWAk\",\"progress-bar-warning\":\"ConfirmModal__progress-bar-warning__2GPs4\",\"progress-bar-danger\":\"ConfirmModal__progress-bar-danger__2S7lb\",tooltip:\"ConfirmModal__tooltip__2APw_\",in:\"ConfirmModal__in__1wEMm\",top:\"ConfirmModal__top__NqetT\",right:\"ConfirmModal__right__IIJZ2\",bottom:\"ConfirmModal__bottom__Ty0xr\",left:\"ConfirmModal__left__2y66G\",\"tooltip-arrow\":\"ConfirmModal__tooltip-arrow__28hFR\",\"top-left\":\"ConfirmModal__top-left__37LZF\",\"top-right\":\"ConfirmModal__top-right__2CGie\",\"bottom-left\":\"ConfirmModal__bottom-left__mvXjG\",\"bottom-right\":\"ConfirmModal__bottom-right__1S-mZ\",\"tooltip-inner\":\"ConfirmModal__tooltip-inner__rIpCx\",submitIndicator:\"ConfirmModal__submitIndicator__1OsG9\",btnGroup:\"ConfirmModal__btnGroup__1RPWA\",hr:\"ConfirmModal__hr__yYS1d\",table:\"ConfirmModal__table__reOw8\",colLabel:\"ConfirmModal__colLabel__2ALAD\",unit:\"ConfirmModal__unit__3Mem1\"}},function(e,t){e.exports={progress:\"CrossChainConfirmModal__progress__B15O8\",\"progress-bar\":\"CrossChainConfirmModal__progress-bar__2cL2v\",\"progress-striped\":\"CrossChainConfirmModal__progress-striped__1CgoG\",\n\"progress-bar-striped\":\"CrossChainConfirmModal__progress-bar-striped__aTCun\",active:\"CrossChainConfirmModal__active__2s0Eo\",\"progress-bar-stripes\":\"CrossChainConfirmModal__progress-bar-stripes__1bh1L\",\"progress-bar-success\":\"CrossChainConfirmModal__progress-bar-success__2yZzs\",\"progress-bar-info\":\"CrossChainConfirmModal__progress-bar-info__2dFLj\",\"progress-bar-warning\":\"CrossChainConfirmModal__progress-bar-warning__FxpUJ\",\"progress-bar-danger\":\"CrossChainConfirmModal__progress-bar-danger__3Vwnw\",tooltip:\"CrossChainConfirmModal__tooltip__a9_OF\",in:\"CrossChainConfirmModal__in__13zJA\",top:\"CrossChainConfirmModal__top__36hwL\",right:\"CrossChainConfirmModal__right__2Kj4g\",bottom:\"CrossChainConfirmModal__bottom__12dlt\",left:\"CrossChainConfirmModal__left__LSWpJ\",\"tooltip-arrow\":\"CrossChainConfirmModal__tooltip-arrow__s_q9i\",\"top-left\":\"CrossChainConfirmModal__top-left__24xTZ\",\"top-right\":\"CrossChainConfirmModal__top-right__2qYMP\",\"bottom-left\":\"CrossChainConfirmModal__bottom-left__1CHdC\",\"bottom-right\":\"CrossChainConfirmModal__bottom-right__MuMfS\",\"tooltip-inner\":\"CrossChainConfirmModal__tooltip-inner__qKzjR\",submitIndicator:\"CrossChainConfirmModal__submitIndicator__3ebbq\",btnGroup:\"CrossChainConfirmModal__btnGroup__pUWkl\",hr:\"CrossChainConfirmModal__hr__CN2PZ\",table:\"CrossChainConfirmModal__table__MoPCf\",colLabel:\"CrossChainConfirmModal__colLabel__2A27x\",unit:\"CrossChainConfirmModal__unit__30Fqe\"}},function(e,t){e.exports={progress:\"FormActionItem__progress__179Ws\",\"progress-bar\":\"FormActionItem__progress-bar__30Ryz\",\"progress-striped\":\"FormActionItem__progress-striped__28X4D\",\"progress-bar-striped\":\"FormActionItem__progress-bar-striped__E_8cV\",active:\"FormActionItem__active__1UGMY\",\"progress-bar-stripes\":\"FormActionItem__progress-bar-stripes__1gkL3\",\"progress-bar-success\":\"FormActionItem__progress-bar-success__1iK2u\",\"progress-bar-info\":\"FormActionItem__progress-bar-info__2sajB\",\"progress-bar-warning\":\"FormActionItem__progress-bar-warning__1yU5N\",\"progress-bar-danger\":\"FormActionItem__progress-bar-danger__2mA3w\",tooltip:\"FormActionItem__tooltip__3urBp\",in:\"FormActionItem__in__2o_7v\",top:\"FormActionItem__top__OUhRa\",right:\"FormActionItem__right__3D4M8\",bottom:\"FormActionItem__bottom__2ZBES\",left:\"FormActionItem__left__3ekYp\",\"tooltip-arrow\":\"FormActionItem__tooltip-arrow__1Q3LO\",\"top-left\":\"FormActionItem__top-left__2vKy1\",\"top-right\":\"FormActionItem__top-right__102U9\",\"bottom-left\":\"FormActionItem__bottom-left__2gC3m\",\"bottom-right\":\"FormActionItem__bottom-right__2qk_n\",\"tooltip-inner\":\"FormActionItem__tooltip-inner__MgAN6\",main:\"FormActionItem__main__q9zTA\",error:\"FormActionItem__error__2JMgJ\",header:\"FormActionItem__header__1hync\",title:\"FormActionItem__title__LVKpm\"}},function(e,t){e.exports={progress:\"TxContainer__progress__8hjSE\",\"progress-bar\":\"TxContainer__progress-bar__X-3tP\",\"progress-striped\":\"TxContainer__progress-striped__3hyc1\",\"progress-bar-striped\":\"TxContainer__progress-bar-striped__1vt1j\",active:\"TxContainer__active__12dLY\",\"progress-bar-stripes\":\"TxContainer__progress-bar-stripes__ufAdb\",\"progress-bar-success\":\"TxContainer__progress-bar-success__3yAN3\",\"progress-bar-info\":\"TxContainer__progress-bar-info__1_Kem\",\"progress-bar-warning\":\"TxContainer__progress-bar-warning__J1Hf2\",\"progress-bar-danger\":\"TxContainer__progress-bar-danger__1EMQN\",tooltip:\"TxContainer__tooltip__2NT88\",in:\"TxContainer__in__23yjE\",top:\"TxContainer__top__1cS8z\",right:\"TxContainer__right__qGDVG\",bottom:\"TxContainer__bottom__3P1qF\",left:\"TxContainer__left__22TYt\",\"tooltip-arrow\":\"TxContainer__tooltip-arrow__3olGA\",\"top-left\":\"TxContainer__top-left__2aap7\",\"top-right\":\"TxContainer__top-right__3E39S\",\"bottom-left\":\"TxContainer__bottom-left__2VYCj\",\"bottom-right\":\"TxContainer__bottom-right__XC4-d\",\"tooltip-inner\":\"TxContainer__tooltip-inner__14x3D\",main:\"TxContainer__main__BhstN\",content:\"TxContainer__content__2PfIm\",submit:\"TxContainer__submit__m3Y45\"}},function(e,t){e.exports={progress:\"VoteConfirmModal__progress__20v1g\",\"progress-bar\":\"VoteConfirmModal__progress-bar__8pT-y\",\"progress-striped\":\"VoteConfirmModal__progress-striped__376Sh\",\"progress-bar-striped\":\"VoteConfirmModal__progress-bar-striped__ONZnu\",active:\"VoteConfirmModal__active__1I4Ve\",\"progress-bar-stripes\":\"VoteConfirmModal__progress-bar-stripes__1vkJW\",\"progress-bar-success\":\"VoteConfirmModal__progress-bar-success__11pbI\",\"progress-bar-info\":\"VoteConfirmModal__progress-bar-info__LbTKr\",\"progress-bar-warning\":\"VoteConfirmModal__progress-bar-warning__2et3n\",\"progress-bar-danger\":\"VoteConfirmModal__progress-bar-danger__2iPp4\",tooltip:\"VoteConfirmModal__tooltip__2NJrG\",in:\"VoteConfirmModal__in__vcY-J\",top:\"VoteConfirmModal__top__2NUe7\",right:\"VoteConfirmModal__right__2tqUp\",bottom:\"VoteConfirmModal__bottom__RImAq\",left:\"VoteConfirmModal__left__1espM\",\"tooltip-arrow\":\"VoteConfirmModal__tooltip-arrow__15RH2\",\"top-left\":\"VoteConfirmModal__top-left__3izD9\",\"top-right\":\"VoteConfirmModal__top-right__3ymmT\",\"bottom-left\":\"VoteConfirmModal__bottom-left__6dHB_\",\"bottom-right\":\"VoteConfirmModal__bottom-right__3qZTI\",\"tooltip-inner\":\"VoteConfirmModal__tooltip-inner__2lxda\",submitIndicator:\"VoteConfirmModal__submitIndicator__2EpHu\",btnGroup:\"VoteConfirmModal__btnGroup__rA57m\",hr:\"VoteConfirmModal__hr__3TzmN\",table:\"VoteConfirmModal__table__1-kzp\",colLabel:\"VoteConfirmModal__colLabel__1RMRz\",unit:\"VoteConfirmModal__unit__1ukVS\"}},function(e,t){e.exports={progress:\"Summary__progress__3RTEa\",\"progress-bar\":\"Summary__progress-bar__1EEvk\",\"progress-striped\":\"Summary__progress-striped__1tm-F\",\"progress-bar-striped\":\"Summary__progress-bar-striped__-QKGo\",active:\"Summary__active__5bGe_\",\"progress-bar-stripes\":\"Summary__progress-bar-stripes__25EuB\",\"progress-bar-success\":\"Summary__progress-bar-success__1V4zz\",\"progress-bar-info\":\"Summary__progress-bar-info__3oEOY\",\"progress-bar-warning\":\"Summary__progress-bar-warning__1PM3S\",\"progress-bar-danger\":\"Summary__progress-bar-danger__2aKFH\",tooltip:\"Summary__tooltip__eDiAG\",in:\"Summary__in__7sgfl\",top:\"Summary__top__pxRha\",right:\"Summary__right__1O3bt\",bottom:\"Summary__bottom__1cuEf\",left:\"Summary__left__vZGJ_\",\"tooltip-arrow\":\"Summary__tooltip-arrow__2W71o\",\"top-left\":\"Summary__top-left__1obgG\",\"top-right\":\"Summary__top-right__3upDU\",\"bottom-left\":\"Summary__bottom-left__2oU3o\",\"bottom-right\":\"Summary__bottom-right__2k6i4\",\"tooltip-inner\":\"Summary__tooltip-inner__1Yroz\",main:\"Summary__main__3L15I\",rawId:\"Summary__rawId__1m-WX\",colAction:\"Summary__colAction__1pBsx\",colAmount:\"Summary__colAmount__2zblu\",colAsset:\"Summary__colAsset__tmO7c\",colAccount:\"Summary__colAccount__1pnMT\",colVote:\"Summary__colVote__2OkOE\",amount:\"Summary__amount__s6hW7\",colLabel:\"Summary__colLabel__BG0DE\",immature:\"Summary__immature__Pzq3K\",nodePubkey:\"Summary__nodePubkey__2JtMo\"}},function(e,t){e.exports={progress:\"TutorialForm__progress__3Py0L\",\"progress-bar\":\"TutorialForm__progress-bar__1norf\",\"progress-striped\":\"TutorialForm__progress-striped__3MXLM\",\"progress-bar-striped\":\"TutorialForm__progress-bar-striped__3j7pW\",active:\"TutorialForm__active__2KK-s\",\"progress-bar-stripes\":\"TutorialForm__progress-bar-stripes__lmJAW\",\"progress-bar-success\":\"TutorialForm__progress-bar-success__3nHcH\",\"progress-bar-info\":\"TutorialForm__progress-bar-info__2TKnI\",\"progress-bar-warning\":\"TutorialForm__progress-bar-warning__1lBEu\",\"progress-bar-danger\":\"TutorialForm__progress-bar-danger__1zNDb\",tooltip:\"TutorialForm__tooltip__2tCOR\",in:\"TutorialForm__in__34NG5\",top:\"TutorialForm__top__3yJ3W\",right:\"TutorialForm__right__sFnqN\",bottom:\"TutorialForm__bottom__2EFYx\",left:\"TutorialForm__left__39_VJ\",\"tooltip-arrow\":\"TutorialForm__tooltip-arrow__5dmJe\",\"top-left\":\"TutorialForm__top-left__1RLVV\",\"top-right\":\"TutorialForm__top-right__Vm-PE\",\"bottom-left\":\"TutorialForm__bottom-left__W5h9d\",\"bottom-right\":\"TutorialForm__bottom-right__2Q0jU\",\"tooltip-inner\":\"TutorialForm__tooltip-inner__3ZsY_\",container:\"TutorialForm__container__1_1bJ\",tutorialContainer:\"TutorialForm__tutorialContainer__24YDK\",fixedTutorial:\"TutorialForm__fixedTutorial__-0whm\",header:\"TutorialForm__header__2HZt3\",list:\"TutorialForm__list__1RRZe\",listItemContainer:\"TutorialForm__listItemContainer__2XitV\",listBullet:\"TutorialForm__listBullet__1FBxg\",listItemGroup:\"TutorialForm__listItemGroup__2v66w\",listItemDescription:\"TutorialForm__listItemDescription__jb1ji\",userInputData:\"TutorialForm__userInputData__2g-H0\"}},function(e,t){e.exports={progress:\"TutorialHeader__progress__1csQm\",\"progress-bar\":\"TutorialHeader__progress-bar__3fpuy\",\"progress-striped\":\"TutorialHeader__progress-striped__3qJox\",\"progress-bar-striped\":\"TutorialHeader__progress-bar-striped__268AW\",active:\"TutorialHeader__active__17imu\",\"progress-bar-stripes\":\"TutorialHeader__progress-bar-stripes__2Idgf\",\"progress-bar-success\":\"TutorialHeader__progress-bar-success__3Y_7x\",\"progress-bar-info\":\"TutorialHeader__progress-bar-info__3GpVb\",\"progress-bar-warning\":\"TutorialHeader__progress-bar-warning__3X0oo\",\"progress-bar-danger\":\"TutorialHeader__progress-bar-danger__1aMSb\",tooltip:\"TutorialHeader__tooltip__1FWB7\",in:\"TutorialHeader__in__3MF9h\",top:\"TutorialHeader__top__3Qffl\",right:\"TutorialHeader__right__23-nH\",bottom:\"TutorialHeader__bottom__HHc8i\",left:\"TutorialHeader__left__3Ahef\",\"tooltip-arrow\":\"TutorialHeader__tooltip-arrow__2htH-\",\"top-left\":\"TutorialHeader__top-left__2vq4A\",\"top-right\":\"TutorialHeader__top-right__3V8cv\",\"bottom-left\":\"TutorialHeader__bottom-left__21__4\",\"bottom-right\":\"TutorialHeader__bottom-right__2TIJr\",\"tooltip-inner\":\"TutorialHeader__tooltip-inner__2vge0\",main:\"TutorialHeader__main__lEKJv\",collapsed:\"TutorialHeader__collapsed__2uFMY\",header:\"TutorialHeader__header__2yjuR\",skip:\"TutorialHeader__skip__1HyRy\"}},function(e,t){e.exports={progress:\"TutorialInfo__progress__nsfo6\",\"progress-bar\":\"TutorialInfo__progress-bar__1rXlE\",\"progress-striped\":\"TutorialInfo__progress-striped__X6dpF\",\"progress-bar-striped\":\"TutorialInfo__progress-bar-striped__evIaI\",active:\"TutorialInfo__active__3vG-z\",\"progress-bar-stripes\":\"TutorialInfo__progress-bar-stripes__2vFTS\",\"progress-bar-success\":\"TutorialInfo__progress-bar-success__3AIrj\",\"progress-bar-info\":\"TutorialInfo__progress-bar-info__2_pjS\",\"progress-bar-warning\":\"TutorialInfo__progress-bar-warning__2gq25\",\"progress-bar-danger\":\"TutorialInfo__progress-bar-danger__3WjNO\",tooltip:\"TutorialInfo__tooltip__1AmCG\",in:\"TutorialInfo__in__3w60o\",top:\"TutorialInfo__top__2OnVl\",right:\"TutorialInfo__right__3rsqe\",bottom:\"TutorialInfo__bottom__Lieo-\",left:\"TutorialInfo__left__35VbX\",\"tooltip-arrow\":\"TutorialInfo__tooltip-arrow__1nSCS\",\"top-left\":\"TutorialInfo__top-left__3W-qq\",\"top-right\":\"TutorialInfo__top-right__3BdQr\",\"bottom-left\":\"TutorialInfo__bottom-left__1D0OA\",\"bottom-right\":\"TutorialInfo__bottom-right__1cDj0\",\"tooltip-inner\":\"TutorialInfo__tooltip-inner__1UksN\",container:\"TutorialInfo__container__3Xwmp\",image:\"TutorialInfo__image__2fEBi\",text:\"TutorialInfo__text__3SM08\",listItemContainer:\"TutorialInfo__listItemContainer__31PCM\",listBullet:\"TutorialInfo__listBullet__cYqkK\",listItemGroup:\"TutorialInfo__listItemGroup__3F-EB\",nextWrapper:\"TutorialInfo__nextWrapper__sfXS8\",next:\"TutorialInfo__next__172nR\"}},function(e,t){\"use strict\";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}var r=/-(.)/g;e.exports=n},function(e,t,n){\"use strict\";function r(e){return o(e.replace(i,\"ms-\"))}var o=n(1251),i=/^-ms-/;e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=n(1261);e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e.length;if(Array.isArray(e)||\"object\"!=typeof e&&\"function\"!=typeof e?a(!1):void 0,\"number\"!=typeof t?a(!1):void 0,0===t||t-1 in e?void 0:a(!1),\"function\"==typeof e.callee?a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}function o(e){return!!e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"length\"in e&&!(\"setInterval\"in e)&&\"number\"!=typeof e.nodeType&&(Array.isArray(e)||\"callee\"in e||\"item\"in e)}function i(e){return o(e)?Array.isArray(e)?e.slice():r(e):[e]}var a=n(17);e.exports=i},function(e,t,n){\"use strict\";function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function o(e,t){var n=l;l?void 0:u(!1);var o=r(e),i=o&&s(o);if(i){n.innerHTML=i[1]+e+i[2];for(var c=i[0];c--;)n=n.lastChild}else n.innerHTML=e;var d=n.getElementsByTagName(\"script\");d.length&&(t?void 0:u(!1),a(d).forEach(t));for(var f=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var i=n(46),a=n(1254),s=n(1256),u=n(17),l=i.canUseDOM?document.createElement(\"div\"):null,c=/^\\s*<(\\w+)/;e.exports=o},function(e,t,n){\"use strict\";function r(e){return a?void 0:i(!1),f.hasOwnProperty(e)||(e=\"*\"),s.hasOwnProperty(e)||(\"*\"===e?a.innerHTML=\"<link />\":a.innerHTML=\"<\"+e+\"></\"+e+\">\",s[e]=!a.firstChild),s[e]?f[e]:null}var o=n(46),i=n(17),a=o.canUseDOM?document.createElement(\"div\"):null,s={},u=[1,'<select multiple=\"true\">',\"</select>\"],l=[1,\"<table>\",\"</table>\"],c=[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],d=[1,'<svg xmlns=\"http://www.w3.org/2000/svg\">',\"</svg>\"],f={\"*\":[1,\"?<div>\",\"</div>\"],area:[1,\"<map>\",\"</map>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],param:[1,\"<object>\",\"</object>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},p=[\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"g\",\"image\",\"line\",\"linearGradient\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"text\",\"tspan\"];p.forEach(function(e){f[e]=d,s[e]=!0}),e.exports=r},function(e,t){\"use strict\";function n(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t){\"use strict\";function n(e){return e.replace(r,\"-$1\").toLowerCase()}var r=/([A-Z])/g;e.exports=n},function(e,t,n){\"use strict\";function r(e){return o(e).replace(i,\"-ms-\")}var o=n(1258),i=/^ms-/;e.exports=r},function(e,t){\"use strict\";function n(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!(\"function\"==typeof n.Node?e instanceof n.Node:\"object\"==typeof e&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName))}e.exports=n},function(e,t,n){\"use strict\";function r(e){return o(e)&&3==e.nodeType}var o=n(1260);e.exports=r},function(e,t){\"use strict\";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){e.exports=n.p+\"favicon.ico\"},function(e,t){(function(t){\"use strict\";var n=\"__global_unique_id__\";e.exports=function(){return t[n]=(t[n]||0)+1}}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(e,t,n){function o(){return s=!0,u?void(c=[].concat(r.call(arguments))):void n.apply(this,arguments)}function i(){if(!s&&(l=!0,!u)){for(u=!0;!s&&a<e&&l;)l=!1,t.call(this,a++,i,o);return u=!1,s?void n.apply(this,c):void(a>=e&&l&&(s=!0,n()))}}var a=0,s=!1,u=!1,l=!1,c=void 0;i()}t.__esModule=!0;var r=Array.prototype.slice;t.loopAsync=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(108),i=r(o),a=n(426),s=r(a);t.default=i.default(s.default,\"enableBeforeUnload is deprecated, use useBeforeUnload instead\"),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(108),i=r(o),a=n(133),s=r(a);t.default=i.default(s.default,\"enableQueries is deprecated, use useQueries instead\"),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(108),i=r(o),a=n(424),s=r(a),u=n(421),l=r(u);t.createHistory=l.default;var c=n(291),d=r(c);t.createHashHistory=d.default;var f=n(425),p=r(f);t.createMemoryHistory=p.default;var h=n(293),m=r(h);t.useBasename=m.default;var g=n(426),_=r(g);t.useBeforeUnload=_.default;var b=n(133),y=r(b);t.useQueries=y.default;var v=n(90),M=r(v);t.Actions=M.default;var A=n(1266),w=r(A);t.enableBeforeUnload=w.default;var C=n(1267),E=r(C);t.enableQueries=E.default;var L=i.default(s.default,\"Using createLocation without a history instance is deprecated; please use history.createLocation instead\");t.createLocation=L},function(e,t,n){!function(t,n){e.exports=n()}(this,function(){\"use strict\";var e={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},t={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},n=Object.defineProperty,r=Object.getOwnPropertyNames,o=Object.getOwnPropertySymbols,i=Object.getOwnPropertyDescriptor,a=Object.getPrototypeOf,s=a&&a(Object);return function u(l,c,d){if(\"string\"!=typeof c){if(s){var f=a(c);f&&f!==s&&u(l,f,d)}var p=r(c);o&&(p=p.concat(o(c)));for(var h=0;h<p.length;++h){var m=p[h];if(!(e[m]||t[m]||d&&d[m])){var g=i(c,m);try{n(l,m,g)}catch(e){}}}return l}return l}})},function(e,t,n){e.exports={parse:n(1272),stringify:n(1273)}},function(e,t,n){var r=/([\\w-]+)|=|(['\"])([.\\s\\S]*?)\\2/g,o=n(1702);e.exports=function(e){var t,n=0,i=!0,a={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]};return e.replace(r,function(r){return\"=\"===r?(i=!0,void n++):(i?0===n?((o[r]||\"/\"===e.charAt(e.length-2))&&(a.voidElement=!0),a.name=r):(a.attrs[t]=r.replace(/^['\"]|['\"]$/g,\"\"),t=void 0):(t&&(a.attrs[t]=t),t=r),n++,void(i=!1))}),a}},function(e,t,n){function r(e,t,n,r,o){var i=t.indexOf(\"<\",r),a=t.slice(r,i===-1?void 0:i);/^\\s*$/.test(a)&&(a=\" \"),(!o&&i>-1&&n+e.length>=0||\" \"!==a)&&e.push({type:\"text\",content:a})}var o=/(?:<!--[\\S\\s]*?-->|<(?:\"[^\"]*\"['\"]*|'[^']*'['\"]*|[^'\">])+>)/g,i=n(1271),a=Object.create?Object.create(null):{};e.exports=function(e,t){t||(t={}),t.components||(t.components=a);var n,s=[],u=-1,l=[],c={},d=!1;return e.replace(o,function(o,a){if(d){if(o!==\"</\"+n.name+\">\")return;d=!1}var f,p=\"/\"!==o.charAt(1),h=0===o.indexOf(\"<!--\"),m=a+o.length,g=e.charAt(m);p&&!h&&(u++,n=i(o),\"tag\"===n.type&&t.components[n.name]&&(n.type=\"component\",d=!0),n.voidElement||d||!g||\"<\"===g||r(n.children,e,u,m,t.ignoreWhitespace),c[n.tagName]=n,0===u&&s.push(n),f=l[u-1],f&&f.children.push(n),l[u]=n),(h||!p||n.voidElement)&&(h||u--,!d&&\"<\"!==g&&g&&(f=u===-1?s:l[u].children,r(f,e,u,m,t.ignoreWhitespace)))}),!s.length&&e.length&&r(s,e,0,0,t.ignoreWhitespace),s}},function(e,t){function n(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}function r(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?n(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(r,\"\")+\"</\"+t.name+\">\"}}e.exports=function(e){return e.reduce(function(e,t){return e+r(\"\",t)},\"\")}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={create:function(e,t,n,r){var o=void 0;if(n){var i=new Date;i.setTime(i.getTime()+60*n*1e3),o=\"; expires=\"+i.toGMTString()}else o=\"\";r=r?\"domain=\"+r+\";\":\"\",document.cookie=e+\"=\"+t+o+\";\"+r+\"path=/\"},read:function(e){for(var t=e+\"=\",n=document.cookie.split(\";\"),r=0;r<n.length;r++){for(var o=n[r];\" \"===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},remove:function(e){this.create(e,\"\",-1)}};t.default={name:\"cookie\",lookup:function(e){var t=void 0;if(e.lookupCookie&&\"undefined\"!=typeof document){var r=n.read(e.lookupCookie);r&&(t=r)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&\"undefined\"!=typeof document&&n.create(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain)}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"htmlTag\",lookup:function(e){var t=void 0,n=e.htmlTag||(\"undefined\"!=typeof document?document.documentElement:null);return n&&\"function\"==typeof n.getAttribute&&(t=n.getAttribute(\"lang\")),t}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=void 0;try{n=\"undefined\"!==window&&null!==window.localStorage;var r=\"i18next.translate.boo\";window.localStorage.setItem(r,\"foo\"),window.localStorage.removeItem(r)}catch(e){n=!1}t.default={name:\"localStorage\",lookup:function(e){var t=void 0;if(e.lookupLocalStorage&&n){var r=window.localStorage.getItem(e.lookupLocalStorage);r&&(t=r)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&n&&window.localStorage.setItem(t.lookupLocalStorage,e)}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"navigator\",lookup:function(e){var t=[];if(\"undefined\"!=typeof navigator){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)t.push(navigator.languages[n]);navigator.userLanguage&&t.push(navigator.userLanguage),navigator.language&&t.push(navigator.language)}return t.length>0?t:void 0}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"path\",lookup:function(e){var t=void 0;if(\"undefined\"!=typeof window){var n=window.location.pathname.match(/\\/([a-zA-Z-]*)/g);if(n instanceof Array)if(\"number\"==typeof e.lookupFromPathIndex){if(\"string\"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace(\"/\",\"\")}else t=n[0].replace(\"/\",\"\")}return t}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"querystring\",lookup:function(e){var t=void 0;if(\"undefined\"!=typeof window)for(var n=window.location.search.substring(1),r=n.split(\"&\"),o=0;o<r.length;o++){var i=r[o].indexOf(\"=\");if(i>0){var a=r[o].substring(0,i);a===e.lookupQuerystring&&(t=r[o].substring(i+1))}}return t}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"subdomain\",lookup:function(e){var t=void 0;if(\"undefined\"!=typeof window){var n=window.location.pathname.match(/(?:http[s]*\\:\\/\\/)*(.*?)\\.(?=[^\\/]*\\..{2,5})/gi);n instanceof Array&&(t=\"number\"==typeof e.lookupFromSubdomainIndex?n[e.lookupFromSubdomainIndex].replace(\"http://\",\"\").replace(\"https://\",\"\").replace(\".\",\"\"):n[0].replace(\"http://\",\"\").replace(\"https://\",\"\").replace(\".\",\"\"))}return t}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(){return{order:[\"querystring\",\"cookie\",\"localStorage\",\"navigator\",\"htmlTag\"],lookupQuerystring:\"lng\",lookupCookie:\"i18next\",lookupLocalStorage:\"i18nextLng\",caches:[\"localStorage\"],excludeCacheFor:[\"cimode\"]}}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1282),l=o(u),c=n(1274),d=r(c),f=n(1279),p=r(f),h=n(1276),m=r(h),g=n(1277),_=r(g),b=n(1275),y=r(b),v=n(1278),M=r(v),A=n(1280),w=r(A),C=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i(this,e),this.type=\"languageDetector\",this.detectors={},this.init(t,n)}return s(e,[{key:\"init\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=l.defaults(t,this.options||{},a()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(d.default),this.addDetector(p.default),this.addDetector(m.default),this.addDetector(_.default),this.addDetector(y.default),this.addDetector(M.default),this.addDetector(w.default)}},{key:\"addDetector\",value:function(e){this.detectors[e.name]=e}},{key:\"detect\",value:function(e){var t=this;e||(e=this.options.order);var n=[];e.forEach(function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&\"string\"==typeof r&&(r=[r]),r&&(n=n.concat(r))}});var r=void 0;if(n.forEach(function(e){if(!r){var n=t.services.languageUtils.formatLanguageCode(e);t.services.languageUtils.isWhitelisted(n)&&(r=n)}}),!r){var o=this.i18nOptions.fallbackLng;\"string\"==typeof o&&(o=[o]),o||(o=[]),r=\"[object Array]\"===Object.prototype.toString.apply(o)?o[0]:o[0]||o.default&&o.default[0]}return r}},{key:\"cacheUserLanguage\",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)}))}}]),e}();C.type=\"languageDetector\",t.default=C},function(e,t){\"use strict\";function n(e){return i.call(a.call(arguments,1),function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])}),e}function r(e){return i.call(a.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaults=n,t.extend=r;var o=[],i=o.forEach,a=o.slice},[1766,1281],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):i(e,t))}function l(e,t){for(var n=e.indexOf(t);n!==-1;)e.splice(n,1),n=e.indexOf(t)}Object.defineProperty(t,\"__esModule\",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),f=n(203),p=o(f),h=n(134),m=r(h),g=n(202),_=r(g),b=function(e){function t(n,r,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};a(this,t);var u=s(this,e.call(this));return u.backend=n,u.store=r,u.languageUtils=o.languageUtils,u.options=i,u.logger=m.default.create(\"backendConnector\"),u.state={},u.queue=[],u.backend&&u.backend.init&&u.backend.init(o,i.backend,i),u}return u(t,e),t.prototype.queueLoad=function(e,t,n,r){var o=this,i=[],a=[],s=[],u=[];return e.forEach(function(e){var r=!0;t.forEach(function(t){var s=e+\"|\"+t;!n.reload&&o.store.hasResourceBundle(e,t)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?a.indexOf(s)<0&&a.push(s):(o.state[s]=1,r=!1,a.indexOf(s)<0&&a.push(s),i.indexOf(s)<0&&i.push(s),u.indexOf(t)<0&&u.push(t)))}),r||s.push(e)}),(i.length||a.length)&&this.queue.push({pending:a,loaded:{},errors:[],callback:r}),{toLoad:i,pending:a,toLoadLanguages:s,toLoadNamespaces:u}},t.prototype.loaded=function e(t,n,r){var o=t.split(\"|\"),i=d(o,2),a=i[0],s=i[1];n&&this.emit(\"failedLoading\",a,s,n),r&&this.store.addResourceBundle(a,s,r),this.state[t]=n?-1:2;var e={};this.queue.forEach(function(r){p.pushPath(r.loaded,[a],s),l(r.pending,t),n&&r.errors.push(n),0!==r.pending.length||r.done||(Object.keys(r.loaded).forEach(function(t){e[t]||(e[t]=[]),r.loaded[t].length&&r.loaded[t].forEach(function(n){e[t].indexOf(n)<0&&e[t].push(n)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit(\"loaded\",e),this.queue=this.queue.filter(function(e){return!e.done})},t.prototype.read=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=this,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:250,a=arguments[5];return e.length?this.backend[n](e,t,function(s,u){return s&&u&&r<5?void setTimeout(function(){o.read.call(o,e,t,n,r+1,2*i,a)},i):void a(s,u)}):a(null,{})},t.prototype.prepareLoading=function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments[3];if(!this.backend)return this.logger.warn(\"No backend was added via i18next.use. Will not load resources.\"),o&&o();\"string\"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),\"string\"==typeof t&&(t=[t]);var i=this.queueLoad(e,t,r,o);return i.toLoad.length?void i.toLoad.forEach(function(e){n.loadOne(e)}):(i.pending.length||o(),null)},t.prototype.load=function(e,t,n){this.prepareLoading(e,t,{},n)},t.prototype.reload=function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)},t.prototype.loadOne=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",r=e.split(\"|\"),o=d(r,2),i=o[0],a=o[1];this.read(i,a,\"read\",null,null,function(r,o){r&&t.logger.warn(n+\"loading namespace \"+a+\" for language \"+i+\" failed\",r),!r&&o&&t.logger.log(n+\"loaded namespace \"+a+\" for language \"+i,o),t.loaded(e,r,o)})},t.prototype.saveMissing=function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backend&&this.backend.create&&this.backend.create(e,t,n,r,null,c({},i,{isUpdate:o})),e&&e[0]&&this.store.addResource(e[0],t,n,r)},t}(_.default);t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(203),u=o(s),l=n(134),c=r(l),d=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.logger=c.default.create(\"interpolator\"),this.init(t,!0)}return e.prototype.init=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];t&&(this.options=e,this.format=e.interpolation&&e.interpolation.format||function(e){return e}),e.interpolation||(e.interpolation={escapeValue:!0});var n=e.interpolation;this.escape=void 0!==n.escape?n.escape:u.escape,this.escapeValue=void 0===n.escapeValue||n.escapeValue,this.useRawValueToEscape=void 0!==n.useRawValueToEscape&&n.useRawValueToEscape,this.prefix=n.prefix?u.regexEscape(n.prefix):n.prefixEscaped||\"{{\",this.suffix=n.suffix?u.regexEscape(n.suffix):n.suffixEscaped||\"}}\",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||\",\",this.unescapePrefix=n.unescapeSuffix?\"\":n.unescapePrefix||\"-\",this.unescapeSuffix=this.unescapePrefix?\"\":n.unescapeSuffix||\"\",this.nestingPrefix=n.nestingPrefix?u.regexEscape(n.nestingPrefix):n.nestingPrefixEscaped||u.regexEscape(\"$t(\"),this.nestingSuffix=n.nestingSuffix?u.regexEscape(n.nestingSuffix):n.nestingSuffixEscaped||u.regexEscape(\")\"),this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.resetRegExp()},e.prototype.reset=function(){this.options&&this.init(this.options)},e.prototype.resetRegExp=function(){var e=this.prefix+\"(.+?)\"+this.suffix;this.regexp=new RegExp(e,\"g\");var t=\"\"+this.prefix+this.unescapePrefix+\"(.+?)\"+this.unescapeSuffix+this.suffix;this.regexpUnescape=new RegExp(t,\"g\");\nvar n=this.nestingPrefix+\"(.+?)\"+this.nestingSuffix;this.nestingRegexp=new RegExp(n,\"g\")},e.prototype.interpolate=function(e,t,n){function r(e){return e.replace(/\\$/g,\"$$$$\")}var o=this,i=void 0,a=void 0,s=void 0,l=function(e){if(e.indexOf(o.formatSeparator)<0)return u.getPath(t,e);var r=e.split(o.formatSeparator),i=r.shift().trim(),a=r.join(o.formatSeparator).trim();return o.format(u.getPath(t,i),a,n)};for(this.resetRegExp(),s=0;(i=this.regexpUnescape.exec(e))&&(a=l(i[1].trim()),e=e.replace(i[0],a),this.regexpUnescape.lastIndex=0,s++,!(s>=this.maxReplaces)););for(s=0;i=this.regexp.exec(e);){if(a=l(i[1].trim()),void 0===a)if(\"function\"==typeof this.options.missingInterpolationHandler){var c=this.options.missingInterpolationHandler(e,i);a=\"string\"==typeof c?c:\"\"}else this.logger.warn(\"missed to pass in variable \"+i[1]+\" for interpolating \"+e),a=\"\";else\"string\"==typeof a||this.useRawValueToEscape||(a=u.makeString(a));if(a=r(this.escapeValue?this.escape(a):a),e=e.replace(i[0],a),this.regexp.lastIndex=0,s++,s>=this.maxReplaces)break}return e},e.prototype.nest=function(e,t){function n(e,t){if(e.indexOf(\",\")<0)return e;var n=e.split(\",\");e=n.shift();var r=n.join(\",\");r=this.interpolate(r,s),r=r.replace(/'/g,'\"');try{s=JSON.parse(r),t&&(s=a({},t,s))}catch(t){this.logger.error(\"failed parsing options string in nesting for key \"+e,t)}return e}var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=void 0,i=void 0,s=a({},r);for(s.applyPostProcessor=!1;o=this.nestingRegexp.exec(e);){if(i=t(n.call(this,o[1].trim(),s),s),i&&o[0]===e&&\"string\"!=typeof i)return i;\"string\"!=typeof i&&(i=u.makeString(i)),i||(this.logger.warn(\"missed to resolve \"+o[1]+\" for nesting \"+e),i=\"\"),e=e.replace(o[0],i),this.regexp.lastIndex=0}return e},e}();t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(134),s=r(a),u=function(){function e(t){o(this,e),this.options=t,this.whitelist=this.options.whitelist||!1,this.logger=s.default.create(\"languageUtils\")}return e.prototype.getScriptPartFromCode=function(e){if(!e||e.indexOf(\"-\")<0)return null;var t=e.split(\"-\");return 2===t.length?null:(t.pop(),this.formatLanguageCode(t.join(\"-\")))},e.prototype.getLanguagePartFromCode=function(e){if(!e||e.indexOf(\"-\")<0)return e;var t=e.split(\"-\");return this.formatLanguageCode(t[0])},e.prototype.formatLanguageCode=function(e){if(\"string\"==typeof e&&e.indexOf(\"-\")>-1){var t=[\"hans\",\"hant\",\"latn\",\"cyrl\",\"cans\",\"mong\",\"arab\"],n=e.split(\"-\");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=i(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),\"sgn\"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=i(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=i(n[2].toLowerCase()))),n.join(\"-\")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e},e.prototype.isWhitelisted=function(e){return(\"languageOnly\"===this.options.load||this.options.nonExplicitWhitelist)&&(e=this.getLanguagePartFromCode(e)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(e)>-1},e.prototype.getFallbackCodes=function(e,t){if(!e)return[];if(\"string\"==typeof e&&(e=[e]),\"[object Array]\"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e.default),n||[]},e.prototype.toResolveHierarchy=function(e,t){var n=this,r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],i=function(e){e&&(n.isWhitelisted(e)?o.push(e):n.logger.warn(\"rejecting non-whitelisted language code: \"+e))};return\"string\"==typeof e&&e.indexOf(\"-\")>-1?(\"languageOnly\"!==this.options.load&&i(this.formatLanguageCode(e)),\"languageOnly\"!==this.options.load&&\"currentOnly\"!==this.options.load&&i(this.getScriptPartFromCode(e)),\"currentOnly\"!==this.options.load&&i(this.getLanguagePartFromCode(e))):\"string\"==typeof e&&i(this.formatLanguageCode(e)),r.forEach(function(e){o.indexOf(e)<0&&i(n.formatLanguageCode(e))}),o},e}();t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(){var e={};return u.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:l[t.fc]}})}),e}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(134),s=r(a),u=[{lngs:[\"ach\",\"ak\",\"am\",\"arn\",\"br\",\"fil\",\"gun\",\"ln\",\"mfe\",\"mg\",\"mi\",\"oc\",\"pt\",\"pt-BR\",\"tg\",\"ti\",\"tr\",\"uz\",\"wa\"],nr:[1,2],fc:1},{lngs:[\"af\",\"an\",\"ast\",\"az\",\"bg\",\"bn\",\"ca\",\"da\",\"de\",\"dev\",\"el\",\"en\",\"eo\",\"es\",\"et\",\"eu\",\"fi\",\"fo\",\"fur\",\"fy\",\"gl\",\"gu\",\"ha\",\"he\",\"hi\",\"hu\",\"hy\",\"ia\",\"it\",\"kn\",\"ku\",\"lb\",\"mai\",\"ml\",\"mn\",\"mr\",\"nah\",\"nap\",\"nb\",\"ne\",\"nl\",\"nn\",\"no\",\"nso\",\"pa\",\"pap\",\"pms\",\"ps\",\"pt-PT\",\"rm\",\"sco\",\"se\",\"si\",\"so\",\"son\",\"sq\",\"sv\",\"sw\",\"ta\",\"te\",\"tk\",\"ur\",\"yo\"],nr:[1,2],fc:2},{lngs:[\"ay\",\"bo\",\"cgg\",\"fa\",\"id\",\"ja\",\"jbo\",\"ka\",\"kk\",\"km\",\"ko\",\"ky\",\"lo\",\"ms\",\"sah\",\"su\",\"th\",\"tt\",\"ug\",\"vi\",\"wo\",\"zh\"],nr:[1],fc:3},{lngs:[\"be\",\"bs\",\"dz\",\"hr\",\"ru\",\"sr\",\"uk\"],nr:[1,2,5],fc:4},{lngs:[\"ar\"],nr:[0,1,2,3,11,100],fc:5},{lngs:[\"cs\",\"sk\"],nr:[1,2,5],fc:6},{lngs:[\"csb\",\"pl\"],nr:[1,2,5],fc:7},{lngs:[\"cy\"],nr:[1,2,3,8],fc:8},{lngs:[\"fr\"],nr:[1,2],fc:9},{lngs:[\"ga\"],nr:[1,2,3,7,11],fc:10},{lngs:[\"gd\"],nr:[1,2,3,20],fc:11},{lngs:[\"is\"],nr:[1,2],fc:12},{lngs:[\"jv\"],nr:[0,1],fc:13},{lngs:[\"kw\"],nr:[1,2,3,4],fc:14},{lngs:[\"lt\"],nr:[1,2,10],fc:15},{lngs:[\"lv\"],nr:[1,2,0],fc:16},{lngs:[\"mk\"],nr:[1,2],fc:17},{lngs:[\"mnk\"],nr:[0,1,2],fc:18},{lngs:[\"mt\"],nr:[1,2,11,20],fc:19},{lngs:[\"or\"],nr:[2,1],fc:2},{lngs:[\"ro\"],nr:[1,2,20],fc:20},{lngs:[\"sl\"],nr:[5,1,2,3],fc:21}],l={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0===e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)}},c=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.languageUtils=t,this.options=n,this.logger=s.default.create(\"pluralResolver\"),this.rules=i()}return e.prototype.addRule=function(e,t){this.rules[e]=t},e.prototype.getRule=function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]},e.prototype.needsPlural=function(e){var t=this.getRule(e);return t&&t.numbers.length>1},e.prototype.getPluralFormsOfKey=function(e,t){var n=this,r=[],o=this.getRule(e);return o?(o.numbers.forEach(function(o){var i=n.getSuffix(e,o);r.push(\"\"+t+i)}),r):r},e.prototype.getSuffix=function(e,t){var n=this,r=this.getRule(e);if(r){var o=r.noAbs?r.plurals(t):r.plurals(Math.abs(t)),i=r.numbers[o];this.options.simplifyPluralSuffix&&2===r.numbers.length&&1===r.numbers[0]&&(2===i?i=\"plural\":1===i&&(i=\"\"));var a=function(){return n.options.prepend&&i.toString()?n.options.prepend+i.toString():i.toString()};return\"v1\"===this.options.compatibilityJSON?1===i?\"\":\"number\"==typeof i?\"_plural_\"+i.toString():a():\"v2\"===this.options.compatibilityJSON&&2===r.numbers.length&&1===r.numbers[0]?a():this.options.simplifyPluralSuffix&&2===r.numbers.length&&1===r.numbers[0]?a():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}return this.logger.warn(\"no plural rule found for: \"+e),\"\"},e}();t.default=c},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):i(e,t))}Object.defineProperty(t,\"__esModule\",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(202),d=o(c),f=n(203),p=r(f),h=function(e){function t(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:[\"translation\"],defaultNS:\"translation\"};a(this,t);var o=s(this,e.call(this));return o.data=n||{},o.options=r,void 0===o.options.keySeparator&&(o.options.keySeparator=\".\"),o}return u(t,e),t.prototype.addNamespaces=function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)},t.prototype.removeNamespaces=function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)},t.prototype.getResource=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=[e,t];return n&&\"string\"!=typeof n&&(i=i.concat(n)),n&&\"string\"==typeof n&&(i=i.concat(o?n.split(o):n)),e.indexOf(\".\")>-1&&(i=e.split(\".\")),p.getPath(this.data,i)},t.prototype.addResource=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=this.options.keySeparator;void 0===i&&(i=\".\");var a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(\".\")>-1&&(a=e.split(\".\"),r=t,t=a[1]),this.addNamespaces(t),p.setPath(this.data,a,r),o.silent||this.emit(\"added\",e,t,n,r)},t.prototype.addResources=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)\"string\"==typeof n[o]&&this.addResource(e,t,o,n[o],{silent:!0});r.silent||this.emit(\"added\",e,t,n)},t.prototype.addResourceBundle=function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(\".\")>-1&&(a=e.split(\".\"),r=n,n=t,t=a[1]),this.addNamespaces(t);var s=p.getPath(this.data,a)||{};r?p.deepExtend(s,n,o):s=l({},s,n),p.setPath(this.data,a,s),i.silent||this.emit(\"added\",e,t,n)},t.prototype.removeResourceBundle=function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(\"removed\",e,t)},t.prototype.hasResourceBundle=function(e,t){return void 0!==this.getResource(e,t)},t.prototype.getResourceBundle=function(e,t){return t||(t=this.options.defaultNS),\"v1\"===this.options.compatibilityAPI?l({},this.getResource(e,t)):this.getResource(e,t)},t.prototype.getDataByLanguage=function(e){return this.data[e]},t.prototype.toJSON=function(){return this.data},t}(d.default);t.default=h},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):i(e,t))}Object.defineProperty(t,\"__esModule\",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=\"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},d=n(134),f=o(d),p=n(202),h=o(p),m=n(427),g=o(m),_=n(203),b=r(_),y=function(e){function t(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(this,t);var o=s(this,e.call(this));return b.copy([\"resourceStore\",\"languageUtils\",\"pluralResolver\",\"interpolator\",\"backendConnector\",\"i18nFormat\"],n,o),o.options=r,void 0===o.options.keySeparator&&(o.options.keySeparator=\".\"),o.logger=f.default.create(\"translator\"),o}return u(t,e),t.prototype.changeLanguage=function(e){e&&(this.language=e)},t.prototype.exists=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=this.resolve(e,t);return n&&void 0!==n.res},t.prototype.extractFromKey=function(e,t){var n=t.nsSeparator||this.options.nsSeparator;void 0===n&&(n=\":\");var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS;if(n&&e.indexOf(n)>-1){var i=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(r)}return\"string\"==typeof o&&(o=[o]),{key:e,namespaces:o}},t.prototype.translate=function(e,t){var n=this;if(\"object\"!==(\"undefined\"==typeof t?\"undefined\":c(t))&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),void 0===e||null===e||\"\"===e)return\"\";\"number\"==typeof e&&(e=String(e)),\"string\"==typeof e&&(e=[e]);var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=this.extractFromKey(e[e.length-1],t),i=o.key,a=o.namespaces,s=a[a.length-1],u=t.lng||this.language,d=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&\"cimode\"===u.toLowerCase()){if(d){var f=t.nsSeparator||this.options.nsSeparator;return s+f+i}return i}var p=this.resolve(e,t),h=p&&p.res,m=p&&p.usedKey||i,g=Object.prototype.toString.apply(h),_=[\"[object Number]\",\"[object Function]\",\"[object RegExp]\"],b=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,v=\"string\"!=typeof h&&\"boolean\"!=typeof h&&\"number\"!=typeof h;if(y&&h&&v&&_.indexOf(g)<0&&(!b||\"[object Array]\"!==g)){if(!t.returnObjects&&!this.options.returnObjects)return this.logger.warn(\"accessing an object - but returnObjects options is not enabled!\"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,h,t):\"key '\"+i+\" (\"+this.language+\")' returned an object instead of string.\";if(r){var M=\"[object Array]\"===g?[]:{};for(var A in h)if(Object.prototype.hasOwnProperty.call(h,A)){var w=\"\"+m+r+A;M[A]=this.translate(w,l({},t,{joinArrays:!1,ns:a})),M[A]===w&&(M[A]=h[A])}h=M}}else if(y&&b&&\"[object Array]\"===g)h=h.join(b),h&&(h=this.extendTranslation(h,e,t));else{var C=!1,E=!1;if(!this.isValidLookup(h)&&void 0!==t.defaultValue){if(C=!0,void 0!==t.count){var L=this.pluralResolver.getSuffix(u,t.count);h=t[\"defaultValue\"+L]}h||(h=t.defaultValue)}this.isValidLookup(h)||(E=!0,h=i);var T=t.defaultValue&&t.defaultValue!==h&&this.options.updateMissing;if(E||C||T){this.logger.log(T?\"updateKey\":\"missingKey\",u,s,i,T?t.defaultValue:h);var O=[],S=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(\"fallback\"===this.options.saveMissingTo&&S&&S[0])for(var N=0;N<S.length;N++)O.push(S[N]);else\"all\"===this.options.saveMissingTo?O=this.languageUtils.toResolveHierarchy(t.lng||this.language):O.push(t.lng||this.language);var k=function(e,r){n.options.missingKeyHandler?n.options.missingKeyHandler(e,s,r,T?t.defaultValue:h,T,t):n.backendConnector&&n.backendConnector.saveMissing&&n.backendConnector.saveMissing(e,s,r,T?t.defaultValue:h,T,t),n.emit(\"missingKey\",e,s,r,h)};if(this.options.saveMissing){var D=void 0!==t.count&&\"string\"!=typeof t.count;this.options.saveMissingPlurals&&D?O.forEach(function(e){var t=n.pluralResolver.getPluralFormsOfKey(e,i);t.forEach(function(t){return k([e],t)})}):k(O,i)}}h=this.extendTranslation(h,e,t,p),E&&h===i&&this.options.appendNamespaceToMissingKey&&(h=s+\":\"+i),E&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(h))}return h},t.prototype.extendTranslation=function(e,t,n,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,n,r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(l({},n,{interpolation:l({},this.options.interpolation,n.interpolation)}));var i=n.replace&&\"string\"!=typeof n.replace?n.replace:n;this.options.interpolation.defaultVariables&&(i=l({},this.options.interpolation.defaultVariables,i)),e=this.interpolator.interpolate(e,i,n.lng||this.language),n.nest!==!1&&(e=this.interpolator.nest(e,function(){return o.translate.apply(o,arguments)},n)),n.interpolation&&this.interpolator.reset()}var a=n.postProcess||this.options.postProcess,s=\"string\"==typeof a?[a]:a;return void 0!==e&&null!==e&&s&&s.length&&n.applyPostProcessor!==!1&&(e=g.default.handle(s,e,t,n,this)),e},t.prototype.resolve=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=void 0,o=void 0,i=void 0,a=void 0;return\"string\"==typeof e&&(e=[e]),e.forEach(function(e){if(!t.isValidLookup(r)){var s=t.extractFromKey(e,n),u=s.key;o=u;var l=s.namespaces;t.options.fallbackNS&&(l=l.concat(t.options.fallbackNS));var c=void 0!==n.count&&\"string\"!=typeof n.count,d=void 0!==n.context&&\"string\"==typeof n.context&&\"\"!==n.context,f=n.lngs?n.lngs:t.languageUtils.toResolveHierarchy(n.lng||t.language,n.fallbackLng);l.forEach(function(e){t.isValidLookup(r)||(a=e,f.forEach(function(o){if(!t.isValidLookup(r)){i=o;var a=u,s=[a];if(t.i18nFormat&&t.i18nFormat.addLookupKeys)t.i18nFormat.addLookupKeys(s,u,o,e,n);else{var l=void 0;c&&(l=t.pluralResolver.getSuffix(o,n.count)),c&&d&&s.push(a+l),d&&s.push(a+=\"\"+t.options.contextSeparator+n.context),c&&s.push(a+=l)}for(var f=void 0;f=s.pop();)t.isValidLookup(r)||(r=t.getResource(o,e,f,n))}}))})}}),{res:r,usedKey:o,usedLng:i,usedNS:a}},t.prototype.isValidLookup=function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&\"\"===e)},t.prototype.getResource=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)},t}(h.default);t.default=y},function(e,t){\"use strict\";function n(){return{debug:!1,initImmediate:!0,ns:[\"translation\"],defaultNS:[\"translation\"],fallbackLng:[\"dev\"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:\"all\",preload:!1,simplifyPluralSuffix:!0,keySeparator:\".\",nsSeparator:\":\",pluralSeparator:\"_\",contextSeparator:\"_\",saveMissing:!1,updateMissing:!1,saveMissingTo:\"fallback\",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:function(){},parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};return e[1]&&(t.defaultValue=e[1]),e[2]&&(t.tDescription=e[2]),t},interpolation:{escapeValue:!0,format:function(e,t,n){return e},prefix:\"{{\",suffix:\"}}\",formatSeparator:\",\",unescapePrefix:\"-\",nestingPrefix:\"$t(\",nestingSuffix:\")\",maxReplaces:1e3}}}function r(e){return\"string\"==typeof e.ns&&(e.ns=[e.ns]),\"string\"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),\"string\"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&e.whitelist.indexOf(\"cimode\")<0&&(e.whitelist=e.whitelist.concat([\"cimode\"])),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transformOptions=r,t.get=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):o(e,t))}function u(){}Object.defineProperty(t,\"__esModule\",{value:!0});var l=\"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},c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=n(134),f=r(d),p=n(202),h=r(p),m=n(1288),g=r(m),_=n(1289),b=r(_),y=n(1286),v=r(y),M=n(1287),A=r(M),w=n(1285),C=r(w),E=n(1284),L=r(E),T=n(1290),O=n(427),S=r(O),N=function(e){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];i(this,t);var o=a(this,e.call(this));if(o.options=(0,T.transformOptions)(n),o.services={},o.logger=f.default,o.modules={external:[]},r&&!o.isInitialized&&!n.isClone){var s;if(!o.options.initImmediate)return s=o.init(n,r),a(o,s);setTimeout(function(){o.init(n,r)},0)}return o}return s(t,e),t.prototype.init=function(){function e(e){return e?\"function\"==typeof e?new e:e:null}var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];if(\"function\"==typeof n&&(r=n,n={}),this.options=c({},(0,T.get)(),this.options,(0,T.transformOptions)(n)),this.format=this.options.interpolation.format,r||(r=u),!this.options.isClone){this.modules.logger?f.default.init(e(this.modules.logger),this.options):f.default.init(null,this.options);var o=new v.default(this.options);this.store=new g.default(this.options.resources,this.options);var i=this.services;i.logger=f.default,i.resourceStore=this.store,i.languageUtils=o,i.pluralResolver=new A.default(o,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),i.interpolator=new C.default(this.options),i.backendConnector=new L.default(e(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on(\"*\",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];t.emit.apply(t,[e].concat(r))}),this.modules.languageDetector&&(i.languageDetector=e(this.modules.languageDetector),i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=e(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new b.default(this.services,this.options),this.translator.on(\"*\",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];t.emit.apply(t,[e].concat(r))}),this.modules.external.forEach(function(e){e.init&&e.init(t)})}var a=[\"getResource\",\"addResource\",\"addResources\",\"addResourceBundle\",\"removeResourceBundle\",\"hasResourceBundle\",\"getResourceBundle\",\"getDataByLanguage\"];a.forEach(function(e){t[e]=function(){var n;return(n=t.store)[e].apply(n,arguments)}});var s=function(){t.changeLanguage(t.options.lng,function(e,n){t.isInitialized=!0,t.logger.log(\"initialized\",t.options),t.emit(\"initialized\",t.options),r(e,n)})};return this.options.resources||!this.options.initImmediate?s():setTimeout(s,0),this},t.prototype.loadResources=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u;if(this.options.resources)t(null);else{if(this.language&&\"cimode\"===this.language.toLowerCase())return t();var n=[],r=function(t){if(t){var r=e.services.languageUtils.toResolveHierarchy(t);r.forEach(function(e){n.indexOf(e)<0&&n.push(e)})}};if(this.language)r(this.language);else{var o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);o.forEach(function(e){return r(e)})}this.options.preload&&this.options.preload.forEach(function(e){return r(e)}),this.services.backendConnector.load(n,this.options.ns,t)}},t.prototype.reloadResources=function(e,t,n){e||(e=this.languages),t||(t=this.options.ns),n||(n=function(){}),this.services.backendConnector.reload(e,t,n)},t.prototype.use=function(e){return\"backend\"===e.type&&(this.modules.backend=e),(\"logger\"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),\"languageDetector\"===e.type&&(this.modules.languageDetector=e),\"i18nFormat\"===e.type&&(this.modules.i18nFormat=e),\"postProcessor\"===e.type&&S.default.addPostProcessor(e),\"3rdParty\"===e.type&&this.modules.external.push(e),this},t.prototype.changeLanguage=function(e,t){var n=this,r=function(e,r){n.translator.changeLanguage(r),r&&(n.emit(\"languageChanged\",r),n.logger.log(\"languageChanged\",r)),t&&t(e,function(){return n.t.apply(n,arguments)})},o=function(e){e&&(n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.translator.language||n.translator.changeLanguage(e),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(e)),n.loadResources(function(t){r(t,e)})};e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect())},t.prototype.getFixedT=function(e,t){var n=this,r=function e(t,r){for(var o=arguments.length,i=Array(o>2?o-2:0),a=2;a<o;a++)i[a-2]=arguments[a];var s=c({},r);return\"object\"!==(\"undefined\"==typeof r?\"undefined\":l(r))&&(s=n.options.overloadTranslationOptionHandler([t,r].concat(i))),s.lng=s.lng||e.lng,s.lngs=s.lngs||e.lngs,s.ns=s.ns||e.ns,n.t(t,s)};return\"string\"==typeof e?r.lng=e:r.lngs=e,r.ns=t,r},t.prototype.t=function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)},t.prototype.exists=function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)},t.prototype.setDefaultNamespace=function(e){this.options.defaultNS=e},t.prototype.loadNamespaces=function(e,t){var n=this;return this.options.ns?(\"string\"==typeof e&&(e=[e]),e.forEach(function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)}),void this.loadResources(t)):t&&t()},t.prototype.loadLanguages=function(e,t){\"string\"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter(function(e){return n.indexOf(e)<0});return r.length?(this.options.preload=n.concat(r),void this.loadResources(t)):t()},t.prototype.dir=function(e){if(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),!e)return\"rtl\";var t=[\"ar\",\"shu\",\"sqr\",\"ssh\",\"xaa\",\"yhd\",\"yud\",\"aao\",\"abh\",\"abv\",\"acm\",\"acq\",\"acw\",\"acx\",\"acy\",\"adf\",\"ads\",\"aeb\",\"aec\",\"afb\",\"ajp\",\"apc\",\"apd\",\"arb\",\"arq\",\"ars\",\"ary\",\"arz\",\"auz\",\"avl\",\"ayh\",\"ayl\",\"ayn\",\"ayp\",\"bbz\",\"pga\",\"he\",\"iw\",\"ps\",\"pbt\",\"pbu\",\"pst\",\"prp\",\"prd\",\"ur\",\"ydd\",\"yds\",\"yih\",\"ji\",\"yi\",\"hbo\",\"men\",\"xmn\",\"fa\",\"jpr\",\"peo\",\"pes\",\"prs\",\"dv\",\"sam\"];return t.indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?\"rtl\":\"ltr\"},t.prototype.createInstance=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return new t(e,n)},t.prototype.cloneInstance=function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,o=c({},this.options,n,{isClone:!0}),i=new t(o),a=[\"store\",\"services\",\"language\"];return a.forEach(function(t){i[t]=e[t]}),i.translator=new b.default(i.services,i.options),i.translator.on(\"*\",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];i.emit.apply(i,[e].concat(n))}),i.init(o,r),i.translator.options=i.options,i},t}(h.default);t.default=new N},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.use=t.t=t.setDefaultNamespace=t.on=t.off=t.loadResources=t.loadNamespaces=t.loadLanguages=t.init=t.getFixedT=t.exists=t.dir=t.createInstance=t.cloneInstance=t.changeLanguage=void 0;var o=n(1291),i=r(o);t.default=i.default;t.changeLanguage=i.default.changeLanguage.bind(i.default),t.cloneInstance=i.default.cloneInstance.bind(i.default),t.createInstance=i.default.createInstance.bind(i.default),t.dir=i.default.dir.bind(i.default),t.exists=i.default.exists.bind(i.default),t.getFixedT=i.default.getFixedT.bind(i.default),t.init=i.default.init.bind(i.default),t.loadLanguages=i.default.loadLanguages.bind(i.default),t.loadNamespaces=i.default.loadNamespaces.bind(i.default),t.loadResources=i.default.loadResources.bind(i.default),t.off=i.default.off.bind(i.default),t.on=i.default.on.bind(i.default),t.setDefaultNamespace=i.default.setDefaultNamespace.bind(i.default),t.t=i.default.t.bind(i.default),t.use=i.default.use.bind(i.default)},[1766,1292],function(e,t){t.read=function(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,l=u>>1,c=-7,d=n?o-1:0,f=n?-1:1,p=e[t+d];for(d+=f,i=p&(1<<-c)-1,p>>=-c,c+=s;c>0;i=256*i+e[t+d],d+=f,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=r;c>0;a=256*a+e[t+d],d+=f,c-=8);if(0===i)i=1-l;else{if(i===u)return a?NaN:(p?-1:1)*(1/0);a+=Math.pow(2,r),i-=l}return(p?-1:1)*a*Math.pow(2,i-r)},t.write=function(e,t,n,r,o,i){var a,s,u,l=8*i-o-1,c=(1<<l)-1,d=c>>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,h=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),t+=a+d>=1?f/u:f*Math.pow(2,1-d),t*u>=2&&(a++,u/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(t*u-1)*Math.pow(2,o),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[n+p]=255&s,p+=h,s/=256,o-=8);for(a=a<<o|s,l+=o;l>0;e[n+p]=255&a,p+=h,a/=256,l-=8);e[n+p-h]|=128*m}},303,function(e,t){e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",AElig:\"Æ\",aelig:\"æ\",Agrave:\"À\",agrave:\"à\",amp:\"&\",AMP:\"&\",Aring:\"Å\",aring:\"å\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",brvbar:\"¦\",Ccedil:\"Ç\",ccedil:\"ç\",cedil:\"¸\",cent:\"¢\",copy:\"©\",COPY:\"©\",curren:\"¤\",deg:\"°\",divide:\"÷\",Eacute:\"É\",eacute:\"é\",Ecirc:\"Ê\",ecirc:\"ê\",Egrave:\"È\",egrave:\"è\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",\nfrac12:\"½\",frac14:\"¼\",frac34:\"¾\",gt:\">\",GT:\">\",Iacute:\"Í\",iacute:\"í\",Icirc:\"Î\",icirc:\"î\",iexcl:\"¡\",Igrave:\"Ì\",igrave:\"ì\",iquest:\"¿\",Iuml:\"Ï\",iuml:\"ï\",laquo:\"«\",lt:\"<\",LT:\"<\",macr:\"¯\",micro:\"µ\",middot:\"·\",nbsp:\"\u00a0\",not:\"¬\",Ntilde:\"Ñ\",ntilde:\"ñ\",Oacute:\"Ó\",oacute:\"ó\",Ocirc:\"Ô\",ocirc:\"ô\",Ograve:\"Ò\",ograve:\"ò\",ordf:\"ª\",ordm:\"º\",Oslash:\"Ø\",oslash:\"ø\",Otilde:\"Õ\",otilde:\"õ\",Ouml:\"Ö\",ouml:\"ö\",para:\"¶\",plusmn:\"±\",pound:\"£\",quot:'\"',QUOT:'\"',raquo:\"»\",reg:\"®\",REG:\"®\",sect:\"§\",shy:\"\u00ad\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",szlig:\"ß\",THORN:\"Þ\",thorn:\"þ\",times:\"×\",Uacute:\"Ú\",uacute:\"ú\",Ucirc:\"Û\",ucirc:\"û\",Ugrave:\"Ù\",ugrave:\"ù\",uml:\"¨\",Uuml:\"Ü\",uuml:\"ü\",Yacute:\"Ý\",yacute:\"ý\",yen:\"¥\",yuml:\"ÿ\"}},function(e,t){e.exports={version:\"2018e\",zones:[\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\",\"Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5\",\"Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5\",\"Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\",\"Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6\",\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4\",\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\",\"Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6\",\"Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5\",\"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3\",\"Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4\",\"Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5\",\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0\",\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\",\"Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5\",\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\",\"Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0\",\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\",\"Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\",\"Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\"America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\",\"America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\",\"America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3\",\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\",\"America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\"America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\"America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\"America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0\",\"America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\"America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0\",\"America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\"America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0\",\"America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0\",\"America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0\",\"America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0\",\"America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0\",\"America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4\",\"America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5\",\"America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2\",\"America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3\",\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\",\"America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\",\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\",\"America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3\",\"America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2\",\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\",\"America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5\",\"America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\",\"America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\",\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4\",\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\"America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5\",\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\",\"America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5\",\"America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\",\"America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4\",\"America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\",\"America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2\",\"America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4\",\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\",\"America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\",\"America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2\",\"America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\",\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\",\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\",\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\",\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\",\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\",\"America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\"America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\",\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\"America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3\",\"America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\",\"America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\",\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\",\"America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5\",\"America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4\",\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\",\"America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\",\"America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\",\"America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\",\"America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\",\"America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\",\"America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\",\"America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5\",\"America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\",\"America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\",\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\",\"America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\",\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\",\"America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4\",\"America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\",\"America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4\",\"America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\",\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5\",\"America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\"America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6\",\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\",\"America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\",\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5\",\"America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\"America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\",\"America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4\",\"America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\",\"America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2\",\"America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\",\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\",\"America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\"America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\",\"America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\",\"America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\",\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\",\"America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5\",\"America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0\",\"America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842\",\"America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\",\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\",\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\",\"America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\",\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\",\"America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5\",\"America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\",\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6\",\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452\",\"America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\",\"America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\",\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\",\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\",\"America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\"America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\"America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\"America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\",\"America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\",\"America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10\",\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\",\"Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80\",\"Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1\",\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\",\"Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5\",\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\",\"Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20\",\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40\",\"Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25\",\"Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4\",\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\",\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5\",\"Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5\",\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\",\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\",\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\",\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\",\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0\",\"Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\",\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\",\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\"Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6\",\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\"Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5\",\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\",\"Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4\",\"Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6\",\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\",\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\",\"Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\",\"Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\",\"Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\",\"Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5\",\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\",\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\",\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\",\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5\",\"Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4\",\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5\",\"Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\",\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\",\"Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\"Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\"Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\",\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\",\"Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4\",\"Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5\",\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\",\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\",\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\",\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\",\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\",\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\"Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5\",\"Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4\",\"Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4\",\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\",\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\",\"Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\",\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4\",\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\",\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\",\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\",\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\",\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\",\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5\",\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4\",\"Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5\",\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\",\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\",\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\",\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\",\"Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\",\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\",\"Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\",\"Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6\",\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\",\"Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6\",\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\",\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\",\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\",\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\",\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\",\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\",\"Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4\",\"Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\",\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4\",\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3\",\"Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4\",\"Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4\",\"Atlantic/South_Georgia|-02|20|0||30\",\"Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\",\"Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5\",\"Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5\",\"Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\",\"Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3\",\"Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746\",\"Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4\",\"Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\",\"Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4\",\"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347\",\"Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\",\"Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5\",\"Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\",\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2\",\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"EST|EST|50|0|\",\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"Etc/GMT-0|GMT|0|0|\",\"Etc/GMT-1|+01|-10|0|\",\"Pacific/Port_Moresby|+10|-a0|0||25e4\",\"Pacific/Pohnpei|+11|-b0|0||34e3\",\"Pacific/Tarawa|+12|-c0|0||29e3\",\"Etc/GMT-13|+13|-d0|0|\",\"Etc/GMT-14|+14|-e0|0|\",\"Etc/GMT-2|+02|-20|0|\",\"Etc/GMT-3|+03|-30|0|\",\"Etc/GMT-4|+04|-40|0|\",\"Etc/GMT-5|+05|-50|0|\",\"Etc/GMT-6|+06|-60|0|\",\"Indian/Christmas|+07|-70|0||21e2\",\"Etc/GMT-8|+08|-80|0|\",\"Pacific/Palau|+09|-90|0||21e3\",\"Etc/GMT+1|-01|10|0|\",\"Etc/GMT+10|-10|a0|0|\",\"Etc/GMT+11|-11|b0|0|\",\"Etc/GMT+12|-12|c0|0|\",\"Etc/GMT+3|-03|30|0|\",\"Etc/GMT+4|-04|40|0|\",\"Etc/GMT+5|-05|50|0|\",\"Etc/GMT+6|-06|60|0|\",\"Etc/GMT+7|-07|70|0|\",\"Etc/GMT+8|-08|80|0|\",\"Etc/GMT+9|-09|90|0|\",\"Etc/UCT|UCT|0|0|\",\"Etc/UTC|UTC|0|0|\",\"Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5\",\"Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3\",\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\"Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5\",\"Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6\",\"Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5\",\"Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5\",\"Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5\",\"Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5\",\"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4\",\"Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4\",\"Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3\",\"Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\",\"Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5\",\"Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\",\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5\",\"Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5\",\"Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\"Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\",\"Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3\",\"Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\",\"Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6\",\"Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4\",\"Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5\",\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\",\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810\",\"Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\"Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5\",\"Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4\",\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\"Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4\",\"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5\",\"Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\"Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\"Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4\",\"HST|HST|a0|0|\",\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\",\"Indian/Cocos|+0630|-6u|0||596\",\"Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130\",\"Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3\",\"Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4\",\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\",\"Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4\",\"Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3\",\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"MST|MST|70|0|\",\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600\",\"Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3\",\"Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4\",\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\",\"Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1\",\"Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483\",\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4\",\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\",\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\",\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\",\"Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4\",\"Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4\",\"Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2\",\"Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2\",\"Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3\",\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\",\"Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2\",\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3\",\"Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2\",\"Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4\",\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\",\"Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56\",\"Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\",\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\",\"Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\",\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\"],\nlinks:[\"Africa/Abidjan|Africa/Bamako\",\"Africa/Abidjan|Africa/Banjul\",\"Africa/Abidjan|Africa/Conakry\",\"Africa/Abidjan|Africa/Dakar\",\"Africa/Abidjan|Africa/Freetown\",\"Africa/Abidjan|Africa/Lome\",\"Africa/Abidjan|Africa/Nouakchott\",\"Africa/Abidjan|Africa/Ouagadougou\",\"Africa/Abidjan|Africa/Timbuktu\",\"Africa/Abidjan|Atlantic/St_Helena\",\"Africa/Cairo|Egypt\",\"Africa/Johannesburg|Africa/Maseru\",\"Africa/Johannesburg|Africa/Mbabane\",\"Africa/Lagos|Africa/Bangui\",\"Africa/Lagos|Africa/Brazzaville\",\"Africa/Lagos|Africa/Douala\",\"Africa/Lagos|Africa/Kinshasa\",\"Africa/Lagos|Africa/Libreville\",\"Africa/Lagos|Africa/Luanda\",\"Africa/Lagos|Africa/Malabo\",\"Africa/Lagos|Africa/Niamey\",\"Africa/Lagos|Africa/Porto-Novo\",\"Africa/Maputo|Africa/Blantyre\",\"Africa/Maputo|Africa/Bujumbura\",\"Africa/Maputo|Africa/Gaborone\",\"Africa/Maputo|Africa/Harare\",\"Africa/Maputo|Africa/Kigali\",\"Africa/Maputo|Africa/Lubumbashi\",\"Africa/Maputo|Africa/Lusaka\",\"Africa/Nairobi|Africa/Addis_Ababa\",\"Africa/Nairobi|Africa/Asmara\",\"Africa/Nairobi|Africa/Asmera\",\"Africa/Nairobi|Africa/Dar_es_Salaam\",\"Africa/Nairobi|Africa/Djibouti\",\"Africa/Nairobi|Africa/Kampala\",\"Africa/Nairobi|Africa/Mogadishu\",\"Africa/Nairobi|Indian/Antananarivo\",\"Africa/Nairobi|Indian/Comoro\",\"Africa/Nairobi|Indian/Mayotte\",\"Africa/Tripoli|Libya\",\"America/Adak|America/Atka\",\"America/Adak|US/Aleutian\",\"America/Anchorage|US/Alaska\",\"America/Argentina/Buenos_Aires|America/Buenos_Aires\",\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\",\"America/Argentina/Catamarca|America/Catamarca\",\"America/Argentina/Cordoba|America/Cordoba\",\"America/Argentina/Cordoba|America/Rosario\",\"America/Argentina/Jujuy|America/Jujuy\",\"America/Argentina/Mendoza|America/Mendoza\",\"America/Atikokan|America/Coral_Harbour\",\"America/Chicago|US/Central\",\"America/Curacao|America/Aruba\",\"America/Curacao|America/Kralendijk\",\"America/Curacao|America/Lower_Princes\",\"America/Denver|America/Shiprock\",\"America/Denver|Navajo\",\"America/Denver|US/Mountain\",\"America/Detroit|US/Michigan\",\"America/Edmonton|Canada/Mountain\",\"America/Fort_Wayne|America/Indiana/Indianapolis\",\"America/Fort_Wayne|America/Indianapolis\",\"America/Fort_Wayne|US/East-Indiana\",\"America/Halifax|Canada/Atlantic\",\"America/Havana|Cuba\",\"America/Indiana/Knox|America/Knox_IN\",\"America/Indiana/Knox|US/Indiana-Starke\",\"America/Jamaica|Jamaica\",\"America/Kentucky/Louisville|America/Louisville\",\"America/Los_Angeles|US/Pacific\",\"America/Los_Angeles|US/Pacific-New\",\"America/Manaus|Brazil/West\",\"America/Mazatlan|Mexico/BajaSur\",\"America/Mexico_City|Mexico/General\",\"America/New_York|US/Eastern\",\"America/Noronha|Brazil/DeNoronha\",\"America/Panama|America/Cayman\",\"America/Phoenix|US/Arizona\",\"America/Port_of_Spain|America/Anguilla\",\"America/Port_of_Spain|America/Antigua\",\"America/Port_of_Spain|America/Dominica\",\"America/Port_of_Spain|America/Grenada\",\"America/Port_of_Spain|America/Guadeloupe\",\"America/Port_of_Spain|America/Marigot\",\"America/Port_of_Spain|America/Montserrat\",\"America/Port_of_Spain|America/St_Barthelemy\",\"America/Port_of_Spain|America/St_Kitts\",\"America/Port_of_Spain|America/St_Lucia\",\"America/Port_of_Spain|America/St_Thomas\",\"America/Port_of_Spain|America/St_Vincent\",\"America/Port_of_Spain|America/Tortola\",\"America/Port_of_Spain|America/Virgin\",\"America/Regina|Canada/Saskatchewan\",\"America/Rio_Branco|America/Porto_Acre\",\"America/Rio_Branco|Brazil/Acre\",\"America/Santiago|Chile/Continental\",\"America/Sao_Paulo|Brazil/East\",\"America/St_Johns|Canada/Newfoundland\",\"America/Tijuana|America/Ensenada\",\"America/Tijuana|America/Santa_Isabel\",\"America/Tijuana|Mexico/BajaNorte\",\"America/Toronto|America/Montreal\",\"America/Toronto|Canada/Eastern\",\"America/Vancouver|Canada/Pacific\",\"America/Whitehorse|Canada/Yukon\",\"America/Winnipeg|Canada/Central\",\"Asia/Ashgabat|Asia/Ashkhabad\",\"Asia/Bangkok|Asia/Phnom_Penh\",\"Asia/Bangkok|Asia/Vientiane\",\"Asia/Dhaka|Asia/Dacca\",\"Asia/Dubai|Asia/Muscat\",\"Asia/Ho_Chi_Minh|Asia/Saigon\",\"Asia/Hong_Kong|Hongkong\",\"Asia/Jerusalem|Asia/Tel_Aviv\",\"Asia/Jerusalem|Israel\",\"Asia/Kathmandu|Asia/Katmandu\",\"Asia/Kolkata|Asia/Calcutta\",\"Asia/Kuala_Lumpur|Asia/Singapore\",\"Asia/Kuala_Lumpur|Singapore\",\"Asia/Macau|Asia/Macao\",\"Asia/Makassar|Asia/Ujung_Pandang\",\"Asia/Nicosia|Europe/Nicosia\",\"Asia/Qatar|Asia/Bahrain\",\"Asia/Rangoon|Asia/Yangon\",\"Asia/Riyadh|Asia/Aden\",\"Asia/Riyadh|Asia/Kuwait\",\"Asia/Seoul|ROK\",\"Asia/Shanghai|Asia/Chongqing\",\"Asia/Shanghai|Asia/Chungking\",\"Asia/Shanghai|Asia/Harbin\",\"Asia/Shanghai|PRC\",\"Asia/Taipei|ROC\",\"Asia/Tehran|Iran\",\"Asia/Thimphu|Asia/Thimbu\",\"Asia/Tokyo|Japan\",\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\"Asia/Urumqi|Asia/Kashgar\",\"Atlantic/Faroe|Atlantic/Faeroe\",\"Atlantic/Reykjavik|Iceland\",\"Atlantic/South_Georgia|Etc/GMT+2\",\"Australia/Adelaide|Australia/South\",\"Australia/Brisbane|Australia/Queensland\",\"Australia/Broken_Hill|Australia/Yancowinna\",\"Australia/Darwin|Australia/North\",\"Australia/Hobart|Australia/Tasmania\",\"Australia/Lord_Howe|Australia/LHI\",\"Australia/Melbourne|Australia/Victoria\",\"Australia/Perth|Australia/West\",\"Australia/Sydney|Australia/ACT\",\"Australia/Sydney|Australia/Canberra\",\"Australia/Sydney|Australia/NSW\",\"Etc/GMT-0|Etc/GMT\",\"Etc/GMT-0|Etc/GMT+0\",\"Etc/GMT-0|Etc/GMT0\",\"Etc/GMT-0|Etc/Greenwich\",\"Etc/GMT-0|GMT\",\"Etc/GMT-0|GMT+0\",\"Etc/GMT-0|GMT-0\",\"Etc/GMT-0|GMT0\",\"Etc/GMT-0|Greenwich\",\"Etc/UCT|UCT\",\"Etc/UTC|Etc/Universal\",\"Etc/UTC|Etc/Zulu\",\"Etc/UTC|UTC\",\"Etc/UTC|Universal\",\"Etc/UTC|Zulu\",\"Europe/Belgrade|Europe/Ljubljana\",\"Europe/Belgrade|Europe/Podgorica\",\"Europe/Belgrade|Europe/Sarajevo\",\"Europe/Belgrade|Europe/Skopje\",\"Europe/Belgrade|Europe/Zagreb\",\"Europe/Chisinau|Europe/Tiraspol\",\"Europe/Dublin|Eire\",\"Europe/Helsinki|Europe/Mariehamn\",\"Europe/Istanbul|Asia/Istanbul\",\"Europe/Istanbul|Turkey\",\"Europe/Lisbon|Portugal\",\"Europe/London|Europe/Belfast\",\"Europe/London|Europe/Guernsey\",\"Europe/London|Europe/Isle_of_Man\",\"Europe/London|Europe/Jersey\",\"Europe/London|GB\",\"Europe/London|GB-Eire\",\"Europe/Moscow|W-SU\",\"Europe/Oslo|Arctic/Longyearbyen\",\"Europe/Oslo|Atlantic/Jan_Mayen\",\"Europe/Prague|Europe/Bratislava\",\"Europe/Rome|Europe/San_Marino\",\"Europe/Rome|Europe/Vatican\",\"Europe/Warsaw|Poland\",\"Europe/Zurich|Europe/Busingen\",\"Europe/Zurich|Europe/Vaduz\",\"Indian/Christmas|Etc/GMT-7\",\"Pacific/Auckland|Antarctica/McMurdo\",\"Pacific/Auckland|Antarctica/South_Pole\",\"Pacific/Auckland|NZ\",\"Pacific/Chatham|NZ-CHAT\",\"Pacific/Easter|Chile/EasterIsland\",\"Pacific/Guam|Pacific/Saipan\",\"Pacific/Honolulu|Pacific/Johnston\",\"Pacific/Honolulu|US/Hawaii\",\"Pacific/Kwajalein|Kwajalein\",\"Pacific/Pago_Pago|Pacific/Midway\",\"Pacific/Pago_Pago|Pacific/Samoa\",\"Pacific/Pago_Pago|US/Samoa\",\"Pacific/Palau|Etc/GMT-9\",\"Pacific/Pohnpei|Etc/GMT-11\",\"Pacific/Pohnpei|Pacific/Ponape\",\"Pacific/Port_Moresby|Etc/GMT-10\",\"Pacific/Port_Moresby|Pacific/Chuuk\",\"Pacific/Port_Moresby|Pacific/Truk\",\"Pacific/Port_Moresby|Pacific/Yap\",\"Pacific/Tarawa|Etc/GMT-12\",\"Pacific/Tarawa|Pacific/Funafuti\",\"Pacific/Tarawa|Pacific/Wake\",\"Pacific/Tarawa|Pacific/Wallis\"]}},function(e,t){e.exports={help:[\"validate-address <address>\",\"sign-message <address> <message> <password>\",\"get-transaction <transaction id>\",\"list-transactions\",'build-transaction <base_transaction> [{\"account_id\":id,\"amount\":amount,\"asset_id\": id,\"type\":type of transaction}…] <ttl> <time_range>',\"sign-transaction <password> <transaction>\",\"estimate-transaction-gas <transaction>\",\"get-unconfirmed-transaction <tx_id>\",\"list-unconfirmed-transactions\",\"decode-raw-transaction <raw_transaction>\",\"get-block-count\",\"get-block-hash\",\"get-block  (\u00a0<block_height> | <block_hash> )\",\"get-block-header  (\u00a0<block_height> | <block_hash> )\",\"get-difficulty  (\u00a0<block_height> | <block_hash> )\",\"get-hash-rate (\u00a0<block_height> | <block_hash> )\",\"net-info\",\"is-mining\",\"set-mining <true|false>\",\"gas-rate\",\"verify-message <address> <derived_xpub> <message> <signature>\",\"decode-program <program>\"]}},function(e,t){e.exports={\"/transactions\":{component:\"TutorialInfo\",title:\"transaction\",image:\"transaction\"},\"/keys\":{component:\"TutorialInfo\",title:\"key\",image:\"key\"},\"/accounts\":{component:\"TutorialInfo\",title:\"account\",image:\"account\"},\"/assets\":{component:\"TutorialInfo\",title:\"asset\",image:\"asset\"},\"/balances\":{component:\"TutorialInfo\",title:\"balance\",image:\"balance\"},\"/core\":{component:\"TutorialInfo\",title:\"coreStatus\"},\"/access-control\":{component:\"TutorialInfo\",title:\"accessControl\",image:\"network_access_token\"},\"/unspents\":{component:\"TutorialInfo\",title:\"unspent\",image:\"unspent\"},\"/backup\":{component:\"TutorialInfo\",title:\"backupRestore\",image:\"client_access_token\"},\"/transactions/create\":{component:\"TutorialForm\",title:\"newTx\"},\"/accounts/create\":{component:\"TutorialForm\",title:\"newAccount\"},\"/assets/create\":{component:\"TutorialForm\",title:\"newAsset\"},\"/keys/create\":{component:\"TutorialForm\",title:\"newKey\"},\"/keys/:id/reset-password\":{component:\"TutorialForm\",title:\"resetPassword\"},\"/access-control/create-token\":{component:\"TutorialForm\",title:\"newToken\"}}},function(e,t){e.exports={language:\"EN\",languageFull:\"English\",main:{loading:\"Connecting to Vapor Core...\"},asset:{asset:\"Asset\",xpubs:\"xpub __id__\",assetPub:\"Asset Pubkey\",formTitle:[\"Asset Alias\",\"Asset ID\"],new:\"New asset\",information:\"Asset Information\",quorumHint:\"Number of signatures required to issue\",aliasError:\"Asset alias is required\",aliasLengthError:\"The Length of the Asset alias should be less than 30 characters.\",symbolError:\"Symbol is required\",symbolCaseError:\"Symbol must be in UpperCase.\",symbolPlaceholder:\"Symbols must be made up of uppercase letters, 3 or 4 letters is better.\",decimalPlaceholder:\"Define the number of decimals the token uses.\",keysError:\"Please provide keys\",editAlias:\"Edit asset alias\",alias:\"Asset Alias\",aliasPlaceholder:\"Please entered asset alias\",decimalsError:\"Decimals is required.\",decimalsTypeError:\"Please enter a number.\",decimalsRangeError:\"Please enter a decimals number smaller or equal to 16.\",additionInfo:\"Additional Info\",additionInfoKey:\"Description\",additionInfoValue:\"Value\",additionInfoKeyError:\"Description is required.\",additionInfoValueError:\"Value is required.\",issuableLabel:\"(Please issue the asset within approx. __time__ mins.)\",noIssuableLabel:\"(The asset can't be issued anymore.)\"},commonWords:{version:\"Version\",viewDetails:\"View details\",language:\"Language\",program:\"Program\",remove:\"Remove\",page:\"Page\",close:\"Close\",errorCode:\"Error Code:\",requestId:\"Request ID:\",cancel:\"Cancel\",continue:\"Continue\",next:\"Next\",previous:\"Previous\",addField:\"Add Field\"},crumbName:{transaction:\"transactions\",asset:\"assets\",key:\"keys\",account:\"accounts\",accountManagement:\"Management\",unspent:\"Unspent outputs\",balance:\"balances\",accessControl:\"Access control\",new:\"New\",update:\" update available\",coreData:\"core data\",services:\"services\",advanced:\"advanced\",help:\"help\",doc:\"Documentation\",developer:\"Developer\",equity:\"Equity Contract\",settings:\"settings\",coreStatus:\"Core status\",logout:\"Log Out\",backupRestore:\"Backup or Restore\",newTx:\"Create a new transaction\",newAccount:\"Create an account\",newKey:\"Create a key\",newToken:\"Create an access token\",newAsset:\"Create an asset\",resetPassword:\"Reset password\",peer:\"Peers information\",federation:\"Federation\"},form:{detail:\"Details\",alias:\"Alias\",definition:\"Definition\",xpubs:\"xpubs\",quorum:\"Quorum\",index:\"Index\",keys:\"Keys\",key:\"Key\",keyAlias:\"Key Alias\",keyAndSign:\"Keys and Signing\",selectPlaceholder:\"Select one...\",enter:\"Enter\",ok:\"OK\",delete:\"Delete\",cancel:\"Cancel\",more:\"More\",required:\"Required\",submit:\"Submit\",edit:\"Edit\",succeed:\"Succeed\",failed:\"Failed\",summary:\"Summary\",timestamp:\"Timestamp\",blockId:\"Block ID\",blockHeight:\"Block Height\",position:\"Position\",txStatus:\"Transaction status\",input:\"Inputs\",output:\"Outputs\",id:\"ID\",type:\"Type\",purpose:\"Purpose\",transactionId:\"Transaction ID\",assetId:\"Asset ID\",assetAlias:\"Asset Alias\",asset:\"Asset\",assetDefinition:\"Asset Definition\",assetTags:\"Asset Tags\",assetIsLocal:\"Asset Is Local?\",amount:\"Amount\",accountId:\"Account ID\",accountAlias:\"Account Alias\",account:\"Account\",accountTags:\"Account Tags\",controlProgram:\"Control Program\",address:\"Address\",programIndex:\"Program Index\",spentOutputId:\"Spent Output ID\",refData:\"Reference Data\",sourceId:\"Source ID\",sourcePos:\"Source Position\",issuanceProgram:\"Issuance Program\",isLocal:\"Local?\",referenceData:\"Reference Data\",change:\"Change\",errorTitle:\"Error submitting form\",fee:\"Fee\",successTitle:\"Success\",objectField:{aliasPlaceholder:\"Start typing __title__ alias...\"},symbol:\"Symbol\",decimals:\"Decimals\",reissueTitle:\"Token reissuable\",reissueTrue:\"Able to be reissued\",reissueFalse:\"Unable to be reissued\",vote:\"Node Public Key\",totalVoteNumber:\"Vote\",vmVersion:\"VM Version\",rawDefinitionByte:\"Raw Definition Byte\"},xpub:{methodOptions:{mockhsm:\"Use existing key\",provide:\"Provide existing xpub\",generate:\"Generate a new key\",currentAccount:\"Current account xpub\"},providePlaceholder:\"Enter xpub\"},sync:{status:\"Sync Status\",peer:\"Peer Count\",synchronizing:\"Synchronizing...\",synced:\"Fully synced\",disconnect:\"Disconnect\"},coreIndex:{configuration:\"Configuration\",version:\"Core Versions\",advanced:\"Advanced\",mining:\"Block Producing\",unit:\"Unit to show amount in\",networkStatus:\"Network status\",listening:\"Peer Listening\",connect:\"true\",disConnect:\"false\",syncStatus:\"Syncing\",synchronizing:\"true\",synced:\"false\",miningStatus:\"Block Producing\",miningRuning:\"true\",miningStopped:\"false\",peer:\"Peer Count\",currentBlock:\"Current Block\",highestBlock:\"Highest Block\",networkId:\"Network Id\",nodeXpub:\"Node Xpub\",coreStatus:\"Core Status\",fedAddress:\"Federation Addr.\"},console:{title:\"Console\",message:\"Welcome to the Vapor Core API console.<1/> Type <2>help</2> for an overview of available commands\",warning:\"WARNING\",warningMessage:\"Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramification of a command.\",placeholder:'Enter \"help\" for an overview of available commands'},key:{keys:\"Keys\",xpub:\"xpub\",formTitle:[\"Alias\",\"xpub\"],reset:{title:\"Reset key password\",label:\"Reset the password\",oldPassword:\"Old Password\",oldPPlaceholder:\"Please entered the old password.\",newPassword:\"New Password\",newPasswordPlaceholder:\"Please entered the new password.\",repeatPassword:\"Repeat Password\",repeatPasswordPlaceholder:\"Please repeated the new password.\",newPWarning:\"Please enter at least 5 characters password.\",repeatPWarning:\"Please match the repeat password.\"},new:\"New key\",info:\"Key Information\",aliasPlaceHolder:\"Please enter key alias...\",password:\"Password\",passwordPlaceholder:\"Please enter your password...\",repeatPassword:\"Repeat Password\",repeatPasswordPlaceholder:\"Please repeat your password\",aliasRequired:\"Key alias is required\",passwordRequired:\"Password is required\",tryPassword:\"Try Password\",resetPassword:\"Reset Password\",tryPPlaceholder:\"Please entered the password that you need to check.\",editAlias:\"Edit key alias\",alias:\"Key Alias\"},account:{account:\"Account\",formTitle:[\"Account Alias\",\"Account ID\",\"Signature Structure\"],accountXpub:\"Account Xpub\",keyIndex:\"Key Index\",address:\"Addresses\",xpubs:\"XPUB __id__\",changeAddress:\"Addresses for Change\",newAddress:\"Create address\",copyAddress:\"Copy this address to use in a transaction:\",copyProgram:\"Copy this control program to use in a transaction:\",copyClipboard:\"Copy to clipboard\",select:\"Select\",selected:\"Selected\",new:{newAccount:\"New account\",information:\"Account Information\",quorumHint:\"Number of keys required for transfer\",aliasWarning:\"Account alias is required\",keyWarning:\"Please provide keys\"},editAlias:\"Edit account alias\",alias:\"Account Alias\",aliasPlaceholder:\"Please entered account alias\"},transaction:{transaction:\"Transaction\",unconfirmedTx:\"unconfirmed transaction\",id:\"Tx ID:\",crossChainId:\"Tx ID(__id__):\",confirmed:\"confirmed\",contractStatus:\"Contract Execution Status\",confirmation:\"__count__ confirmation\",confirmation_plural:\"__count__ confirmations\",unconfirmedItem:\"Unknown (0 confirmation)\",pending:\"Pending\",completed:\"Completed\",type:{issue:\"issue\",sent:\"sent\",received:\"received\",retire:\"retire\",coinbase:\"coinbase\",immature:\"immature\",vote:\"vote\",veto:\"veto\",crossOut:\"Vapor -> Bytom\",crossIn:\"Bytom -> Vapor\"},new:{unsaveWarning:\"Your work is not saved! Are you sure you want to leave?\",new:\"New transaction\",normal:\"Normal\",vote:\"Vote\",submit:\"Submit transaction\",advanced:\"Advanced\",crossChain:\"Cross Chain\"},normal:{from:\"From\",availableBalance:\"Available balance:\",to:\"To\",selectFee:\"Select Fee\",feeDescription:\"This is the money that might be used to process this transaction. Your transaction will be mined usually within 2.5 minutes.\",confirmation:\"Confirm Transaction\",total:\"Total\"},advance:{generateJson:\"Generate transaction JSON\",showAdvanced:\"Show advanced options\",option:\"Advanced Options\",buildType:\"Transaction Build Type\",submitToBlockchain:\"Submit transaction to blockchain\",submitLabel:\"This transaction will be signed by the key and submitted to the blockchain.\",needMoreSign:\"Need more signature\",needMoreSignDescription:\"These actions will be signed by the Key and returned as a transaction JSON string, which should be used to sign transaction in a multi-sign spend.\",toSignTransaction:\"To sign transaction\",signPlaceholder:\"Paste transaction hex here...\",showDetails:\"Show transaction details\",transactionContent:\"Transaction Content\",normalView:\"Normal View\",jsonView:\"Json View\",generated:{title:\"Generated Transaction\",lead:\"Use the following JSON string as the transaction to sign by another account:\",qrBtnText:\"Qr Code\",signatureQrBtnText:\"Signature Qr Code\",qrModalLabel:\"The following Qr Code represent the Json String. Please use the phone scanner to scan the Qr code.\",qrModalLabels:\"The Json is separated into __size__ different chunk of substring. Please use the phone scanner to scan the Qr code.\"}},issue:{issueAsset:\"Issue Asset\",transactionType:\"Transaction Type\",signRaw:\"Sign Raw Transaction\",accountAddress:\"Gas Paid Account Address\",gasAccount:\"Gas Paid Account\",signTx:\"Sign Transaction\"},vote:{info:\"Vote Information\",action:\"Action\",vote:{title:\"Vote\",voteAmount:\"Amount Vote\",for:\"Vote for\",confirm:\"Confirm Vote\",submit:\"Submit Vote\"},veto:{title:\"Veto\",voteAmount:\"Amount Veto\",for:\"Veto for\",confirm:\"Confirm Veto\",submit:\"Submit Veto\"}},crossChain:{title:\"Cross Chain info (Vapor->Bytom)\",address:\"Bytom Address\",addressHint:\"Note: the address must start with '__id__'.\",submit:\"Submit Cross Chain\",confirm:\"Confirm Cross Chain\",crossChainAddress:\"Cross Chain Address\"}},balances:{rescan:\"Rescan\",status:{success:\"Success\",start:\"Starting...\",rescan:\"Rescanning...\",successMsg:\"Successfully rescanned spent outputs.\",startMsg:\"Rescan is starting...\",rescanMsg:\"Wallet Rescanning...\"},voteDetails:\"Vote Details\"},errorMessage:{password:\"Your password is wrong, please check your password.\",amountError:\"Invalid amount type\",addressError:\"Invalid address\",jsonError:\"To sign transaction must be a JSON string.\",tokenError:\"Token name is required\",jsonObjectError:\"Contents must be represented as a JSON object\",jsonRowError:\" __error__ on row __row__`\",parseError:\"Error parsing JSON\",rawDefinitionByteError:\"Raw Definition Byte is required\"},emptyList:{loading:\"LOADING\",noRecord:\"There are no __objectName__\"},token:{accessToken:\"Access control\",formTitle:[\"Token Name\",\"Token\"],new:\"New token\",newAccessToken:\"New access token\",info:\"Token information\",name:\"Token Name\"},init:{title:\"Init your account\",keyPassword:\"Key Password\",repeatKeyPassword:\"Repeat your key password\",register:\"Register\",restoreWallet:\"Restore wallet\",restore:\"Restore\",restoreLabel:\"Click the button, and select the backup file\",accountPlaceholder:\"Please enter the account alias...\",keyPlaceholder:\"Please enter the key alias...\",passwordPlaceholder:\"Please enter the key password...\",repeatPlaceHolder:\"Please repeat the key password...\",errorTitle:\"Error in initialization\",mnemonic:\"mnemonic\",mnemonicRequire:\"Mnemonic is Required\",create:\"Create Wallet\",createDescription:\"This option will create a default account, key password.  Warning: it's important to remember your password.\",welcome:\"Welcome to Vapor __network__\"},backup:{title:\"Backup and Restore\",backup:\"Back Up\",backupDescription:\"This option will back up all data stored in this core, including blockchain data, accounts, assets and balances.\",restoreKeystore:\"Restore from Keystore File\",restoreKeystoreDescription:\"This option will restore the wallet data form a file. You might need to rescan your wallet, if you balance is not up to date.\",restoreMnemonic:\"Restore by Mnemonic\",restoreMnemonicDescription:\"This option will restore the key related data by mnemonic. You might need to rescan your wallet, if you balance is not up to date.\",download:\"Download Backup\",selectFile:\"Select Restore File\",restore:\"Restore\"},peers:{formTitle:[\"Remote Address\",\"Height\",\"Ping\",\"Duration\",\"Total Byte\"],disconnect:\"Disconnect\"},mnemonic:{backup:\"Backup Seed\",backupMessage:\"Mnemonic used to restore the key related information. Please write down the following seed and save it in a secure location.\",continue:\"I have written down the seed\",skip:\"Skip the backup\",confirmTitle:\"Enter your wallet recover phrase\",confirm:\"Confirm Seed\",confirmMessage:\"Confirm that you backed up your Mnemonic by filling the missing words.\"},notFound:{title:\"Not Found\",word:\"We couldn't find the page you were looking for.\"},tutorial:{content:{transaction:[\"A transaction provides the amount of the asset either spend out from your account or come in to your account. In your transaction, the total amount of assets spent was equal to the total amount of assets controlled (received) plus the gas cost of transactions fee. SPEND Actions represent what comes in the transactions, while CONTROL Actions represent what comes out. Any combination of actions can be added to a single advanced transaction, as long as what goes in bigger than what comes out. Note that the differences of which become the amount of transactions fee.\"],key:[\"Cryptographic private keys are the primary authorization mechanism on a blockchain. They control both the issuance and transfer of asset units. An asset or account will define one or more keys required for issuance or transfers.\"],account:[\"An account is an object in Vapor that tracks ownership of assets on a blockchain by creating and tracking control programs. The account object does not exist on the blockchain - it is local to this Vapor. Only the control programs created in the account are visible on the blockchain.\"],asset:[\"An asset is a type of value that can be issued on a blockchain. All units of an asset are fungible and can be transacted directly between parties without the involvement of the issuer.\"],balance:[\"The balance shows the amount and the type of asset that a local Vapor account possess.\"],coreStatus:[\"The core status shows the blockchain network status and the local setting.\"],accessControl:[\"Access token is used for remote authorizations. An access token is required to connect a remote Vapor Core.\"],unspent:[\"Each new transaction in the blockchain consumes some unspent outputs and creates others. An output is considered unspent when it has not yet been used as an input to a new transaction. All asset units on a blockchain exist in the unspent output set.\"],backupRestore:[\"Backup and Restore the wallet information will be stored in a txt format. It’s important to keep your backup files in a safe place.\"],newTx:{header:\"Normal Transactions\",steps:[{title:'Fill in the account \"Alias\" or \"ID\"',description:[\"The account that you wished to spend from.\"]},{title:'Fill in the asset \"Alias\" or \"ID\"',description:[\"The asset type that you wished to spend.\"]},{title:'Paste the \"Address\"',description:[\"The address that you wish to send amount of asset to.\"]},{title:\"Fill in the amount of the asset\"},{title:\"Choose the gas\",description:[\"Choose the gas (tx. fees) that you want to spend for this transaction.\"]},{title:\"Fill in the Key password\",description:[\"Fill in the key password when account created. Note:please use advanced transaction for multi-sign.\"]},{title:'Click the \"Submit transaction\" button'}]},newTx_ad:{header:\"Advanced Transactions\",steps:[{title:'Click the \"Add action\" button',description:['Select \"Spend from account\" to add a new spend action.']},{title:\"Fill in the spend action\",description:[{index:0,line:\"Enter the account alias, \"},{line:\"the asset alias \"},{line:\"and the spend amount.\"}]},{title:'Click the \"Add action\" button',description:['Select \"Control with address\" to add a new control action.']},{title:\"Fill in the control action\",description:[{index:1,line:\"Paste the address, \"},{line:\"fill in the asset alias\"},{line:\"and the received amount.\"}]},{title:\"Fill in the Key password\",description:['The key password when account created. Please use the \"show advanced options\" for multi-sign.']},{title:'Click the \"Submit transaction\" button'}]},newAccount:{header:\"New account\",steps:[{title:'Type name for account alias (ex. \"alice\")',description:[\"An alias is a friendly label used to distinguish between accounts.\"]},{title:'Select \"Use existing keys\" or \"Provide existing xpub\" under \"Keys and Signing\"',description:[\"Choose an existing key alias or enter an existing xpub.\"]},{title:'Click the \"Submit\" button'}]},newAsset:{header:\"New asset\",steps:[{title:'Enter an alias for your asset (ex. \"gold\")',description:[\"An alias is a friendly label used to distinguish between assets.\"]},{title:'Select \"Use existing a key\" or \"Provide existing xpub\" under \"Keys and Signing\"',description:[\"Choose an existing key alias or enter an existing xpub.\"]},{title:'Click the \"Submit\" button'}]},newKey:{header:\"New key\",steps:[{title:'Enter an alias for your key (ex. \"goldkey\")',description:[\"An alias is a friendly label used to distinguish between keys.\"]},{title:\"Enter and repeat the password for your key\",description:[\"It's important to memorize the password for your key and keep it somewhere safe. Vapor doesn't provide any lost and found. \"]},{title:'Click the \"Submit\" button'}]},resetPassword:{header:\"Reset password\",steps:[{title:\"Enter the original password for your key\"},{title:\"Enter and repeat the new password for your key\",description:[\"It's important to memorize the password for your key and keep it somewhere safe. Vapor doesn't provide any lost and found. \"]},{title:'Click the \"Reset the Password\" button'}]},newToken:{header:\"Create an access token\",steps:[{title:\"Enter alias for the access token\"},{title:'Click the \"Submit\" button'}]}}},message:{CREATED_ASSET:\"Asset has been created successfully.\",CREATED_ACCOUNT:\"Account has been created successfully.\",CREATED_TRANSACTION:\"Transaction has been submitted successfully.\",CREATED_KEY:\"Key has been created successfully.\",RESET_PASSWORD_KEY:\"Key password has been reset successfully.\",CREATE_REGISTER_ACCOUNT:\"Default account and key have been initialized successfully.\",RESTORE_SUCCESS:\"Wallet restore successfully\",UPDATED_ASSET:\"Updated asset alias.\",UPDATED_ACCOUNT:\"Updated account alias.\",UPDATED_KEY:\"Updated key alias.\",CREATED_TOKEN_WITH_GRANT:\"Access token has been created successfully.\"},btmError:{BTM000:\"Vapor API Error\",BTM001:\"Request timed out\",BTM002:\"Invalid request body\",BTM103:\"A peer core is operating on a different blockchain network\",BTM200:\"Quorum must be greater than 1 and less than or equal to the length of xpubs\",BTM201:\"Invalid xpub format\",BTM202:\"At least one xpub is required\",BTM203:\"Root XPubs cannot contain the same key more than once\",BTM700:\"Funds of account are insufficient\",BTM701:\"Available funds of account are immature\",BTM702:\"Available UTXOs of account have been reserved\",BTM703:\"Not found UTXO with given hash\",BTM704:\"Invalid action type\",BTM705:\"Invalid action object\",BTM706:\"Invalid action construction\",BTM707:\"One or more fields are missing\",BTM708:\"Invalid asset amount\",BTM709:\"Not found account\",BTM710:\"Not found asset\",BTM730:\"Invalid transaction version\",BTM731:\"Invalid transaction size\",BTM732:\"Invalid transaction time range\",BTM733:\"Not standard transaction\",BTM734:\"Invalid coinbase transaction\",BTM735:\"Invalid coinbase assetID\",BTM736:\"Invalid coinbase arbitrary size\",BTM737:\"No results in the transaction\",BTM738:\"Mismatched assetID\",BTM739:\"Mismatched value source/dest position\",BTM740:\"Mismatched reference\",BTM741:\"Mismatched value\",BTM742:\"Missing required field\",BTM743:\"No source for value\",BTM744:\"Arithmetic overflow/underflow\",BTM745:\"Invalid source or destination position\",BTM746:\"Unbalanced asset amount between input and output\",BTM747:\"Gas credit has been spent\",BTM748:\"Gas usage calculate got a math error\",BTM760:\"Alt stack underflow\",BTM761:\"Bad value\",BTM762:\"Wrong context\",BTM763:\"Data stack underflow\",BTM764:\"Disallowed opcode\",BTM765:\"Division by zero\",BTM766:\"False result for executing VM\",BTM767:\"Program size exceeds max int32\",BTM768:\"Arithmetic range error\",BTM769:\"RETURN executed\",BTM770:\"Run limit exceeded because the BTM Fee is insufficient\",BTM771:\"Unexpected end of program\",BTM772:\"Unrecognized token\",BTM773:\"Unexpected error\",BTM774:\"Unsupported VM because the version of VM is mismatched\",BTM775:\"VERIFY failed\",BTM800:\"Key Alias already exists\",BTM801:\"Invalid after in query\",BTM802:\"Key not found or wrong password\",BTM803:\"Requested key aliases exceeds limit\",BTM804:\"Could not decrypt key with given passphrase\",BTM860:\"Request could not be authenticated\",F_BTM000:\"Your Password is wrong\",F_BTM001:\"Unable to reset the key password.\",F_BTM002:\"Your key password is correct.\",F_BTM003:\"Your account has multiple keys, please use advanced transactions.\",F_BTM100:\"Signature failed.\"}}},function(e,t){e.exports={language:\"中\",languageFull:\"中文\",main:{loading:\"等待连接Vapor Core...\"},asset:{asset:\"资产\",xpubs:\"扩展公钥 __id__\",assetPub:\"资产公钥\",formTitle:[\"资产别名\",\"资产ID\"],new:\"新建资产\",information:\"资产信息\",quorumHint:\"所需的签名数\",aliasError:\"资产别名是必须项\",aliasLengthError:\"资产别名的长度应该小于30字符。\",symbolError:\"资产代号是必须项\",symbolCaseError:\"资产代号必须是大写\",symbolPlaceholder:\"资产代号必须是大写, 3或者4个字符最好。\",decimalPlaceholder:\"定义资产小数位。\",keysError:\"请输入或选择密钥\",editAlias:\"编辑资产别名\",alias:\"资产别名\",aliasPlaceholder:\"请输入资产别名\",decimalsError:\"精度是必须项\",decimalsTypeError:\"请输入数字\",decimalsRangeError:\"精度的最大值是16。\",additionInfo:\"附加信息\",additionInfoKey:\"描述\",additionInfoValue:\"值\",additionInfoKeyError:\"描述是必须项。\",additionInfoValueError:\"值是必须项。\",issuableLabel:\"(请在大约__time__分钟内完成发布资产)\",noIssuableLabel:\"(资产不可发行)\"},commonWords:{version:\"版本号\",viewDetails:\"查看详情\",language:\"语言\",program:\"合约程序\",remove:\"删除\",page:\"页面\",close:\"关闭\",errorCode:\"错误代码:\",requestId:\"请求ID:\",cancel:\"返回\",continue:\"继续\",next:\"下一页\",previous:\"上一页\",addField:\"添加项\"},crumbName:{transaction:\"交易\",asset:\"资产\",key:\"密钥\",account:\"账户\",accountManagement:\"管理\",balance:\"余额\",unspent:\"未花费输出\",accessControl:\"访问控制\",new:\"新建\",update:\"版本更新\",coreData:\"核心数据\",services:\"服务\",advanced:\"高级\",help:\"帮助\",doc:\"文档\",developer:\"开发者\",equity:\"Equity 合约\",settings:\"设置\",coreStatus:\"核心状态\",logout:\"退出\",backupRestore:\"备份与恢复\",newTx:\"新建交易\",newAccount:\"新建账户\",newKey:\"新建密钥\",newToken:\"新建访问令牌\",newAsset:\"新建资产\",resetPassword:\"重置密钥密码\",peer:\"节点信息\",federation:\"联邦\"},form:{detail:\"详情\",alias:\"别名\",definition:\"定义\",xpubs:\"扩展公钥数\",quorum:\"签名数\",index:\"索引\",keys:\"密钥数\",key:\"密钥\",keyAlias:\"密钥别名\",keyAndSign:\"密钥和签名\",selectPlaceholder:\"请选择...\",enter:\"输入\",ok:\"关闭\",delete:\"删除\",cancel:\"返回\",more:\"更多\",required:\"必须项\",submit:\"提交\",edit:\"编辑\",succeed:\"成功\",failed:\"失败\",summary:\"概括\",timestamp:\"时间戳\",blockId:\"区块ID\",blockHeight:\"区块高度\",position:\"位置\",txStatus:\"交易状态\",input:\"输入\",output:\"输出\",id:\"ID\",type:\"类型\",purpose:\"Purpose\",transactionId:\"交易ID\",asset:\"资产\",assetId:\"资产ID\",assetAlias:\"资产别名\",assetDefinition:\"资产定义\",assetTags:\"Asset Tags\",assetIsLocal:\"Asset Is Local?\",amount:\"数量\",account:\"账户\",accountId:\"账户ID\",accountAlias:\"账户别名\",accountTags:\"Account Tags\",controlProgram:\"合约程序\",address:\"地址\",programIndex:\"程序索引\",spentOutputId:\"花费输出ID\",refData:\"Reference Data\",sourceId:\"源ID\",sourcePos:\"源位置\",issuanceProgram:\"资产发布程序\",isLocal:\"Local?\",referenceData:\"Reference Data\",change:\"找零\",errorTitle:\"表格提交错误\",fee:\"手续费\",successTitle:\"成功\",objectField:{aliasPlaceholder:\"输入__title__别名...\"\n},symbol:\"资产代号\",decimals:\"精度\",reissueTitle:\"是否可重复发行\",reissueTrue:\"可重复发行\",reissueFalse:\"不可重复发行\",vote:\"节点公钥\",totalVoteNumber:\"投票\",vmVersion:\"VM版本号\",rawDefinitionByte:\"资产描述\"},xpub:{methodOptions:{mockhsm:\"使用已有的密钥\",provide:\"提供已有的扩展公钥\",generate:\"新建密钥\",currentAccount:\"本账户扩展密钥\"},providePlaceholder:\"输入扩展公钥\"},sync:{status:\"同步状态\",peer:\"连接数\",synchronizing:\"区块同步中...\",synced:\"同步完成\",disconnect:\"同步中断\"},coreIndex:{configuration:\"配置\",version:\"核心版本号\",advanced:\"高级导航选项\",mining:\"节点出块\",unit:\"比原数量单位显示\",networkStatus:\"网络状态\",listening:\"节点监听\",connect:\"连接\",disConnect:\"断开\",syncStatus:\"网络同步\",synchronizing:\"同步中\",synced:\"同步完成\",miningStatus:\"节点出块状态\",miningRuning:\"运行\",miningStopped:\"停止\",peer:\"连接数\",currentBlock:\"当前高度\",highestBlock:\"最高高度\",networkId:\"网络ID\",nodeXpub:\"节点公钥\",coreStatus:\"核心状态\",fedAddress:\"联邦地址\"},console:{title:\"命令行\",message:\"欢迎来到Vapor Core API 命令行。<1/> 输入<2>help</2> 查看所有可用命令行。\",warning:\"注意\",warningMessage:\"骗子可能会让你在此输入命令,以盗取你的钱包内容。 如果你没有了解命令所带来的后果,请不要在此输入命令。\",placeholder:'输入 \"help\" 查看所有可用的命令'},key:{keys:\"密钥\",xpub:\"主公钥\",formTitle:[\"别名\",\"主公钥\"],reset:{title:\"重置密钥密码\",label:\"重置密码\",oldPassword:\"原始密码\",oldPPlaceholder:\"请输入原始密码\",newPassword:\"新密码\",newPasswordPlaceholder:\"请输入新密码\",repeatPassword:\"重复新密码\",repeatPasswordPlaceholder:\"请重复输入新密码\",newPWarning:\"请输入至少5位数的密码\",repeatPWarning:\"请重复输入刚刚所输入的密码\"},new:\"新建密钥\",info:\"密钥信息\",aliasPlaceHolder:\"请输入密钥别名...\",password:\"密码\",passwordPlaceholder:\"请输入密码...\",repeatPassword:\"重复密码\",repeatPasswordPlaceholder:\"请重复输入密码...\",aliasRequired:\"密钥别名是必须项\",passwordRequired:\"密码是必须项\",tryPassword:\"密码校验\",resetPassword:\"重置密码\",tryPPlaceholder:\"请输入校验密码\",editAlias:\"编辑密钥别名\",alias:\"密钥别名\"},account:{account:\"账户\",formTitle:[\"账户别名\",\"账户ID\",\"签名构成\"],accountXpub:\"账户公钥\",keyIndex:\"密钥索引\",address:\"地址\",xpubs:\"扩展公钥 __id__\",changeAddress:\"找零地址\",newAddress:\"新建地址\",copyAddress:\"拷贝这个地址以用于交易中:\",copyProgram:\"拷贝这个合约程序以用于交易中:\",copyClipboard:\"拷贝到剪贴板\",select:\"切换\",selected:\"使用中\",new:{newAccount:\"新建账户\",information:\"账户信息\",quorumHint:\"传输所需的密钥数\",aliasWarning:\"账户别名是必须项\",keyWarning:\"请输入或选择密钥\"},editAlias:\"编辑账户别名\",alias:\"账户别名\",aliasPlaceholder:\"请输入账户别名\"},transaction:{transaction:\"交易\",unconfirmedTx:\"未确认交易\",id:\"交易ID:\",crossChainId:\"交易ID(__id__):\",confirmed:\"已确认\",contractStatus:\"合约运行状态\",confirmation:\"确认数 __count__\",unconfirmedItem:\"未知 (确认数 0)\",pending:\"等待确认中\",completed:\"已完成\",type:{issue:\"创建资产\",sent:\"支出\",received:\"收入\",retire:\"销毁资产\",coinbase:\"挖矿收入\",immature:\"未成熟\",vote:\"投票\",veto:\"取消投票\"},new:{unsaveWarning:\"交易表格有未完成内容,你确定要离开么?\",new:\"新建交易\",normal:\"简单交易\",advanced:\"高级交易\",vote:\"投票\",submit:\"提交交易\",crossChain:\"跨链\"},normal:{from:\"从\",availableBalance:\"可用余额: \",to:\"至\",selectFee:\"选择手续费\",feeDescription:\"交易所需手续费, 你的交易将会在2.5分钟之后完成。\",confirmation:\"确认交易\",total:\"交易总数\"},advance:{generateJson:\"生成交易JSON\",showAdvanced:\"显示高级选项\",option:\"高级选项\",buildType:\"交易构建类型\",submitToBlockchain:\"向区块链提交交易\",submitLabel:\"此次交易将通过密钥签名然后提交到区块链。\",needMoreSign:\"需要更多签名\",needMoreSignDescription:\"这些actions将通过密钥签名然后作为一个交易 JSON 字符串返回。 作为多签交易的输入,这个JSON字符串需要更多的签名数据。\",toSignTransaction:\"带签名交易\",signPlaceholder:\"在这里复制交易 HEX ...\",showDetails:\"展示交易内容\",transactionContent:\"交易内容\",normalView:\"普通展示\",jsonView:\"Json格式\",generated:{title:\"生成的交易\",lead:\"请将下面的JSON交易发送给其他账户进行签名:\",qrBtnText:\"二维码\",signatureQrBtnText:\"Signature二维码\",qrModalLabel:\"Json转换成为下面的二维码。 请用手机扫描二维码。\",qrModalLabels:\"Json被分成了__size__个不同的字段, 并转换成二维码。 请用手机扫描二维码并拼接。\"}},issue:{issueAsset:\"发布资产\",transactionType:\"交易类型\",signRaw:\"签名交易Json\",accountAddress:\"Gas付款账户地址\",gasAccount:\"Gas付款账户\",signTx:\"签名提交交易\"},vote:{info:\"投票信息\",action:\"操作\",vote:{title:\"投票\",voteAmount:\"投票数量\",for:\"投票给\",confirm:\"确认投票\",submit:\"提交投票\"},veto:{title:\"取消投票\",voteAmount:\"取消投票数量\",for:\"取消投票给\",confirm:\"取消投票\",submit:\"提交取消投票\"}},crossChain:{title:\"跨链信息(Vapor->Bytom)\",address:\"Bytom地址\",addressHint:\"注意:所填地址必须以__id__开头。\",submit:\"提交跨链\",confirm:\"确认跨链\",crossChainAddress:\"跨链地址\"}},balances:{rescan:\"重新扫描\",status:{success:\"扫描成功\",start:\"扫描开始...\",rescan:\"扫描中...\",successMsg:\"已经成功扫描资产余额。\",startMsg:\"扫描正在启动...\",rescanMsg:\"钱包正在扫描中...\"},voteDetails:\"投票详情\"},errorMessage:{password:\"密码错误,请重新查看密码。\",amountError:\"请输入数字\",addressError:\"地址无效\",jsonError:\"请使用JSON字符来签名交易\",tokenError:\"令牌名称是必须项\",jsonObjectError:\"内容必须表示为JSON对象\",jsonRowError:\" 行数:__row__,  __error__\",parseError:\"转换错误\",rawDefinitionByteError:\"资产描述是必须项\"},emptyList:{loading:\"加载中\",noRecord:\"没有__objectName__记录\"},token:{accessToken:\"访问控制\",formTitle:[\"令牌名称\",\"令牌\"],new:\"新建令牌\",newAccessToken:\"新建访问令牌\",info:\"令牌信息\",name:\"令牌名称\"},init:{title:\"初始账户\",keyPassword:\"密钥密码\",repeatKeyPassword:\"重复输入密钥密码\",register:\"注册\",restoreWallet:\"恢复钱包\",restore:\"恢复\",restoreLabel:\"点击恢复按钮,选择备份文件进行恢复\",accountPlaceholder:\"请输入账户别名...\",keyPlaceholder:\"请输入密钥别名...\",passwordPlaceholder:\"请输入密钥密码...\",repeatPlaceHolder:\"请重复输入密钥密码...\",errorTitle:\"初始化错误\",mnemonic:\"助记词\",mnemonicRequire:\"助记词是必须项\",create:\"新建钱包\",createDescription:\"这个选项将生成默认的挖矿账户和默认密钥。注意: 请将密码妥善保存\",welcome:\"欢迎来到Vapor __network__\"},backup:{title:\"备份与恢复\",backup:\"备份\",backupDescription:\"这个选项备份所有本地数据,包括账户,资产和余额。 请妥善保管你的备份文件。\",restoreKeystore:\"从Keystore文件恢复\",restoreKeystoreDescription:\"这个选项将从文件中恢复钱包数据。 如果你的钱包余额显示不正确,请点击扫描钱包的按钮。\",restoreMnemonic:\"通过助记词恢复\",restoreMnemonicDescription:\"这个选项将通过助记词恢复密钥相关的数据。 如果你的钱包余额显示不正确,请点击扫描钱包的按钮。\",download:\"下载备份\",selectFile:\"选择备份文件\",restore:\"恢复\"},peers:{formTitle:[\"远程地址\",\"高度\",\"Ping\",\"时长\",\"总字节\"],disconnect:\"断开\"},mnemonic:{backup:\"备份助记词\",backupMessage:\"助记词只展示一次。用于恢复密钥相关的信息。 请将它准确的抄写到纸上,并存放在的安全的地方。\",continue:\"我已抄写助记词\",skip:\"跳过备份\",confirmTitle:\"请重复输入钱包助记词\",confirm:\"验证助记词\",confirmMessage:\"填写缺失的文字以验证你已经抄写下助记词。\"},notFound:{title:\"页面找不到\",word:\"我们找不到你所寻找的页面。\"},tutorial:{content:{transaction:[\"交易记录展示了账户资产的输入输出数额。 在你的交易显示中,个人的资产账户的输出与输入,手续费消耗燃料的总额是相等的。SPEND行为代表输入行为,  CONTROL代表输出行为,在高级交易中, 任何Actions只要满足输入大于输出都可以组合成交易进行发送, 但要注意差额形成的手续费数量。\"],key:[\"加密私钥是区块链上的主要授权机制。 他们控制着资产单位的发行和交易。资产或账户将定义发行或转账所需的一个或多个密钥。\"],account:[\"账户是Vapor中的对象,它通过创建和追溯Control Program来追溯区块链上资产的所有权。账户对象不存在与区块链中, 它是存在于本地Vapor中。 只有账户中创建的Control Program存在于区块链上。\"],asset:[\"资产是可以在区块链上发行的一种价值。资产的所有单位都是可替代的,并且可以在各方之间直接进行交易,而无需发行人的参与。\"],balance:[\"余额显示了本地比原账户所拥有的资产种类和资产数。\"],coreStatus:[\"核心状态显示了一些区块链网络的状态和本地的配置。\"],accessControl:[\"访问令牌是用于远程授权。远程控制非本地节点,需要访问令牌。\"],unspent:[\"区块链上的每个新交易都会消耗一些未花费的输出并创建其他交易。输出如果未用作新交易的输入,将被视为未花费输出。区块链上的所有资产单位都存在于未花费输出集中。\"],backupRestore:[\"备份和恢复钱包信息将会以TXT文件的形式储存。 请妥善保管你的备份信息。\"],newTx:{header:\"简单交易\",steps:[{title:'填写账户的 \"别名\" 或者 \"ID\"',description:[\"选择你想要花费的账户。\"]},{title:'填写资产的 \"别名\" 或者 \"ID\"',description:[\"选择你想要发送的资产类型。\"]},{title:'复制 \"地址\"',description:[\"复制接受资产的地址。\"]},{title:\"填写所发送的资产数额\"},{title:\"选择gas\",description:[\"选择交易的手续费gas。\"]},{title:\"填写密钥密码\",description:[\"填写创建账户时所选密钥的密码。注意,多重签名交易请使用高级交易。\"]},{title:'点击 \"提交交易\" 的按钮'}]},newTx_ad:{header:\"高级交易\",steps:[{title:'点击 \"Add action\" 的按钮',description:['选择 \"Spend from account\" 添加一个spend action']},{title:\"填写 spend action\",description:[\"填写账户别名, 资产别名和发送数额。\"]},{title:'点击 \"Add action\"的按钮',description:['选择\"Control with address\" 添加一个control action。']},{title:\"填写 control action\",description:[\"复制地址, 填写资产和接收数额\"]},{title:\"填写密钥密码\",description:[\"填写创建账户时所选密钥的密码。 多重签名交易请点击 show advanced options。\"]},{title:'点击 \"提交交易\" 的按钮'}]},newAccount:{header:\"新建账户\",steps:[{title:'在账户别名栏填写名称 (例如: \"alice\")',description:[\"别名是用来区分账户的用户友好的标签。\"]},{title:'在 \"密钥和签名\" 栏目中选择 \"使用已有的密钥\" 或者 \"提供已有的扩展公钥\"',description:[\"选择已有的密钥或者输入提供公钥。\"]},{title:'点击 \"提交\" 按钮'}]},newAsset:{header:\"新建资产\",steps:[{title:'填写资产别名 (例如: \"gold\")',description:[\"别名是用来区分资产的用户友好的标签。\"]},{title:'在 \"密钥和签名\" 栏目中选择 \"使用已有的密钥\" 或者 \"提供已有的扩展公钥\"',description:[\"选择已有的密钥或者输入提供公钥。\"]},{title:'点击 \"提交\" 按钮'}]},newKey:{header:\"新建密钥\",steps:[{title:'填写密钥别名 (例如. \"goldkey\")',description:[\"别名是用来区分密钥的用户友好的标签。\"]},{title:\"输入和重复输入密钥的密码\",description:[\"请妥善保管你的密钥密码, Vapor 不提供找回密码的功能。 \"]},{title:'点击 \"提交\" 按钮'}]},resetPassword:{header:\"重置密码密钥\",steps:[{title:\"输入原始的密钥密码\"},{title:\"输入和重复输入密钥的新密码\",description:[\"请妥善保管你的密钥密码, Vapor 不提供找回密码的功能。\"]},{title:'点击 \"提交\" 按钮'}]},newToken:{header:\"新建访问令牌\",steps:[{title:\"填写访问令牌的别名\"},{title:'点击\"提交\" 按钮'}]}}},message:{CREATED_ASSET:\"资产已经成功创建。\",CREATED_ACCOUNT:\"账户已经成功创建。\",CREATED_TRANSACTION:\"交易已经成功提交。\",CREATED_KEY:\"密钥已经成功创建。\",RESET_PASSWORD_KEY:\"密钥密码已经重置成功。\",CREATE_REGISTER_ACCOUNT:\"默认账户和密钥已经初始化成功。\",RESTORE_SUCCESS:\"钱包已经成功恢复。\",UPDATED_ASSET:\"资产别名更改成功。\",UPDATED_ACCOUNT:\"账户别名更改成功。\",UPDATED_KEY:\"密钥别名更改成功。\",CREATED_TOKEN_WITH_GRANT:\"访问令牌创建成功。\"},btmError:{BTM000:\"非比原标准错误\",BTM001:\"API请求超时\",BTM002:\"非法的API请求结构\",BTM103:\"区块链网络类型不匹配\",BTM200:\"签名数必须大于或者等于1 并且小于或者等于所提供的密钥数\",BTM201:\"签名格式错误\",BTM202:\"请提供至少一个扩展公钥\",BTM203:\"主公钥重复\",BTM700:\"账户资产余额不足\",BTM701:\"coinbase交易未成熟,币不可花费\",BTM702:\"UTXO已经被用来构建交易,导致被临时锁定,不可花费\",BTM703:\"UTXO不属于当前钱包\",BTM704:\"action类型无效\",BTM705:\"action 内容无效\",BTM706:\"action结构错误(只有输入或者只有输出)\",BTM707:\"action输入内容缺失\",BTM708:\"资产数量格式错误(超过最大数量)\",BTM709:\"所输入账户不存在\",BTM710:\"所输入资产不存在\",BTM730:\"交易版本无效\",BTM731:\"交易大小无效,不能为0\",BTM732:\"超出交易时间范围,用于将停留时间过久的未确认交易作废\",BTM733:\"非标准的交易\",BTM734:\"非法coinbase交易\",BTM735:\"非法的coinbase资产ID\",BTM736:\"coinbase尺寸过大,附加数据超过一定限制\",BTM737:\"交易结构异常\",BTM738:\"资产ID无法匹配\",BTM739:\"action位置不匹配\",BTM740:\"引用不匹配\",BTM741:\"不匹配的值,action的资产值不匹配\",BTM742:\"缺少所必须的项目\",BTM743:\"输入源不存在\",BTM744:\"计算溢出,资产计算值超出限制\",BTM745:\"源位置或者目标位置无效\",BTM746:\"输入数资产数不等于输出资产数\",BTM747:\"交易的输入UTXO数量超过上限,最高为20个\",BTM748:\"Gas运算错误\",BTM760:\"子虚拟机栈溢出\",BTM761:\"非法栈数据\",BTM762:\"context值错误,context为虚拟机执行上下文\",BTM763:\"虚拟机数据溢出\",BTM764:\"虚拟机指令不存在\",BTM765:\"除零错误\",BTM766:\"虚拟机执行结果为Fasle\",BTM767:\"合约的字节大小超过int32上限\",BTM768:\"运算结果溢出\",BTM769:\"执行了op FAIL指令,直接返回\",BTM770:\"手续费不足,引起合约终止\",BTM771:\"异常的program合约程序\",BTM772:\"不识别的虚拟机指令数据\",BTM773:\"异常错误\",BTM774:\"虚拟机版本不匹配\",BTM775:\"verify指令执行失败\",BTM800:\"密钥别名已经存在,请选择其他名字\",BTM801:\"Invalid after in query\",BTM802:\"密钥不存在或者密码错误\",BTM803:\"Requested key aliases exceeds limit\",BTM804:\"无法根据提供的密码进行解密\",BTM860:\"请求没有经过认证。一般由Access Token造成\",F_BTM000:\"账户对应的密码错误\",F_BTM001:\"重置密钥失败\",F_BTM002:\"你的密钥密码是正确的。\",F_BTM003:\"发送账户为多签账户,请使用高级交易\",F_BTM100:\"签名失败。\"}}},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function r(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function o(e,t){return function(n){return e(t(n))}}function i(e,t){var n=z(e)||m(e)?r(e.length,String):[],o=n.length,i=!!o;for(var a in e)!t&&!S.call(e,a)||i&&(\"length\"==a||d(a,o))||n.push(a);return n}function a(e,t,n){var r=e[t];S.call(e,t)&&h(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function s(e){if(!p(e))return D(e);var t=[];for(var n in Object(e))S.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function u(e,t){return t=x(void 0===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=x(r.length-t,0),a=Array(i);++o<i;)a[o]=r[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=r[o];return s[t]=a,n(e,this,s)}}function l(e,t,n,r){n||(n={});for(var o=-1,i=t.length;++o<i;){var s=t[o],u=r?r(n[s],e[s],s,n,e):void 0;a(n,s,void 0===u?e[s]:u)}return n}function c(e){return u(function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&\"function\"==typeof i?(o--,i):void 0,a&&f(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=Object(t);++r<o;){var s=n[r];s&&e(t,s,r,i)}return t})}function d(e,t){return t=null==t?w:t,!!t&&(\"number\"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}function f(e,t,n){if(!v(n))return!1;var r=typeof t;return!!(\"number\"==r?g(n)&&d(t,n.length):\"string\"==r&&t in n)&&h(n[t],e)}function p(e){var t=e&&e.constructor,n=\"function\"==typeof t&&t.prototype||O;return e===n}function h(e,t){return e===t||e!==e&&t!==t}function m(e){return _(e)&&S.call(e,\"callee\")&&(!k.call(e,\"callee\")||N.call(e)==C)}function g(e){return null!=e&&y(e.length)&&!b(e)}function _(e){return M(e)&&g(e)}function b(e){var t=v(e)?N.call(e):\"\";return t==E||t==L}function y(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=w}function v(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function M(e){return!!e&&\"object\"==typeof e}function A(e){return g(e)?i(e):s(e)}var w=9007199254740991,C=\"[object Arguments]\",E=\"[object Function]\",L=\"[object GeneratorFunction]\",T=/^(?:0|[1-9]\\d*)$/,O=Object.prototype,S=O.hasOwnProperty,N=O.toString,k=O.propertyIsEnumerable,D=o(Object.keys,Object),x=Math.max,I=!k.call({valueOf:1},\"valueOf\"),z=Array.isArray,P=c(function(e,t){if(I||p(t)||g(t))return void l(t,A(t),e);for(var n in t)S.call(t,n)&&a(e,n,t[n])});e.exports=P},function(e,t){(function(t){function n(e,t){return null==e?void 0:e[t]}function r(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function o(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function i(){this.__data__=ge?ge(null):{}}function a(e){return this.has(e)&&delete this.__data__[e]}function s(e){var t=this.__data__;if(ge){var n=t[e];return n===H?void 0:n}return ce.call(t,e)?t[e]:void 0}function u(e){var t=this.__data__;return ge?void 0!==t[e]:ce.call(t,e)}function l(e,t){var n=this.__data__;return n[e]=ge&&void 0===t?H:t,this}function c(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function d(){this.__data__=[]}function f(e){var t=this.__data__,n=A(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():he.call(t,n,1),!0}function p(e){var t=this.__data__,n=A(t,e);return n<0?void 0:t[n][1]}function h(e){return A(this.__data__,e)>-1}function m(e,t){var n=this.__data__,r=A(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function g(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _(){this.__data__={hash:new o,map:new(me||c),string:new o}}function b(e){return T(this,e).delete(e)}function y(e){return T(this,e).get(e)}function v(e){return T(this,e).has(e)}function M(e,t){return T(this,e).set(e,t),this}function A(e,t){for(var n=e.length;n--;)if(z(e[n][0],t))return n;return-1}function w(e,t){t=S(t,e)?[t]:L(t);for(var n=0,r=t.length;null!=e&&n<r;)e=e[D(t[n++])];return n&&n==r?e:void 0}function C(e){if(!j(e)||k(e))return!1;var t=P(e)||r(e)?fe:ee;return t.test(x(e))}function E(e){if(\"string\"==typeof e)return e;if(F(e))return be?be.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-q?\"-0\":t}function L(e){return ve(e)?e:ye(e)}function T(e,t){var n=e.__data__;return N(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function O(e,t){var r=n(e,t);return C(r)?r:void 0}function S(e,t){if(ve(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!F(e))||($.test(e)||!G.test(e)||null!=t&&e in Object(t))}function N(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function k(e){return!!ue&&ue in e}function D(e){if(\"string\"==typeof e||F(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-q?\"-0\":t}function x(e){if(null!=e){try{return le.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function I(e,t){if(\"function\"!=typeof e||t&&\"function\"!=typeof t)throw new TypeError(Y);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a),a};return n.cache=new(I.Cache||g),n}function z(e,t){return e===t||e!==e&&t!==t}function P(e){var t=j(e)?de.call(e):\"\";return t==U||t==X}function j(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function B(e){return!!e&&\"object\"==typeof e}function F(e){return\"symbol\"==typeof e||B(e)&&de.call(e)==V}function R(e){return null==e?\"\":E(e)}function W(e,t,n){var r=null==e?void 0:w(e,t);return void 0===r?n:r}var Y=\"Expected a function\",H=\"__lodash_hash_undefined__\",q=1/0,U=\"[object Function]\",X=\"[object GeneratorFunction]\",V=\"[object Symbol]\",G=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,$=/^\\w*$/,K=/^\\./,Q=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Z=/[\\\\^$.*+?()[\\]{}|]/g,J=/\\\\(\\\\)?/g,ee=/^\\[object .+?Constructor\\]$/,te=\"object\"==typeof t&&t&&t.Object===Object&&t,ne=\"object\"==typeof self&&self&&self.Object===Object&&self,re=te||ne||Function(\"return this\")(),oe=Array.prototype,ie=Function.prototype,ae=Object.prototype,se=re[\"__core-js_shared__\"],ue=function(){var e=/[^.]+$/.exec(se&&se.keys&&se.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),le=ie.toString,ce=ae.hasOwnProperty,de=ae.toString,fe=RegExp(\"^\"+le.call(ce).replace(Z,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),pe=re.Symbol,he=oe.splice,me=O(re,\"Map\"),ge=O(Object,\"create\"),_e=pe?pe.prototype:void 0,be=_e?_e.toString:void 0;o.prototype.clear=i,o.prototype.delete=a,o.prototype.get=s,o.prototype.has=u,o.prototype.set=l,c.prototype.clear=d,c.prototype.delete=f,c.prototype.get=p,c.prototype.has=h,c.prototype.set=m,g.prototype.clear=_,g.prototype.delete=b,g.prototype.get=y,g.prototype.has=v,g.prototype.set=M;var ye=I(function(e){e=R(e);var t=[];return K.test(e)&&t.push(\"\"),e.replace(Q,function(e,n,r,o){t.push(r?o.replace(J,\"$1\"):n||e)}),t});I.Cache=g;var ve=Array.isArray;e.exports=W}).call(t,function(){return this}())},function(e,t){function n(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function r(e,t){return function(n){return e(t(n))}}function o(e){return!!e&&\"object\"==typeof e}function i(e){if(!o(e)||f.call(e)!=a||n(e))return!1;var t=p(e);if(null===t)return!0;var r=c.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&l.call(r)==d}var a=\"[object Object]\",s=Function.prototype,u=Object.prototype,l=s.toString,c=u.hasOwnProperty,d=l.call(Object),f=u.toString,p=r(Object.getPrototypeOf,Object);e.exports=i},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(1332),i=n(1333),a=n(1334),s=n(1335),u=n(1336);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(1341),i=n(1342),a=n(1343),s=n(1344),u=n(1345);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){var r=n(296),o=n(297),i=r(o,\"Map\");e.exports=i},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(1346),i=n(1347),a=n(1348),s=n(1349),u=n(1350);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}e.exports=n},function(e,t,n){function r(e,t,n){var r=e[t];s.call(e,t)&&i(r,n)&&(void 0!==n||t in e)||o(e,t,n)}var o=n(1314),i=n(433),a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t,n){\"__proto__\"==t&&o?o(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var o=n(431);e.exports=r},function(e,t,n){function r(e,t,n,a,s){var u=-1,l=e.length;for(n||(n=i),s||(s=[]);++u<l;){var c=e[u];t>0&&n(c)?t>1?r(c,t-1,n,a,s):o(s,c):a||(s[s.length]=c)}return s}var o=n(1312),i=n(1337);e.exports=r},function(e,t,n){function r(e,t){t=o(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[i(t[n++])];return n&&n==r?e:void 0}var o=n(207),i=n(298);e.exports=r},function(e,t){function n(e,t){return null!=e&&t in Object(e)}e.exports=n},function(e,t,n){function r(e){return i(e)&&o(e)==a}var o=n(206),i=n(210),a=\"[object Arguments]\";e.exports=r},function(e,t,n){function r(e){if(!a(e)||i(e))return!1;var t=o(e)?h:l;return t.test(s(e))}var o=n(1363),i=n(1340),a=n(299),s=n(1358),u=/[\\\\^$.*+?()[\\]{}|]/g,l=/^\\[object .+?Constructor\\]$/,c=Function.prototype,d=Object.prototype,f=c.toString,p=d.hasOwnProperty,h=RegExp(\"^\"+f.call(p).replace(u,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=r},function(e,t,n){function r(e,t){return o(e,t,function(t,n){return i(e,n)})}var o=n(1321),i=n(1361);e.exports=r},function(e,t,n){function r(e,t,n){for(var r=-1,s=t.length,u={};++r<s;){var l=t[r],c=o(e,l);n(c,l)&&i(u,a(l,e),c)}return u}var o=n(1316),i=n(1322),a=n(207);e.exports=r},function(e,t,n){function r(e,t,n,r){if(!s(e))return e;t=i(t,e);for(var l=-1,c=t.length,d=c-1,f=e;null!=f&&++l<c;){var p=u(t[l]),h=n;if(l!=d){var m=f[p];h=r?r(m,p,f):void 0,void 0===h&&(h=s(m)?m:a(t[l+1])?[]:{})}o(f,p,h),f=f[p]}return e}var o=n(1313),i=n(207),a=n(432),s=n(299),u=n(298);e.exports=r},function(e,t,n){var r=n(1359),o=n(431),i=n(1362),a=o?function(e,t){return o(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:i;e.exports=a},function(e,t,n){function r(e){if(\"string\"==typeof e)return e;if(a(e))return i(e,r)+\"\";if(s(e))return c?c.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-u?\"-0\":t}var o=n(204),i=n(1311),a=n(164),s=n(300),u=1/0,l=o?o.prototype:void 0,c=l?l.toString:void 0;e.exports=r},function(e,t,n){var r=n(297),o=r[\"__core-js_shared__\"];e.exports=o},function(e,t,n){function r(e){return a(i(e,void 0,o),e+\"\")}var o=n(1360),i=n(1354),a=n(1355);e.exports=r},function(e,t){(function(t){var n=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,function(){return this}())},function(e,t,n){var r=n(1353),o=r(Object.getPrototypeOf,Object);e.exports=o},function(e,t,n){function r(e){var t=a.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(e){}var o=s.call(e);return r&&(t?e[u]=n:delete e[u]),o}var o=n(204),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,u=o?o.toStringTag:void 0;e.exports=r},function(e,t){function n(e,t){return null==e?void 0:e[t]}e.exports=n},function(e,t,n){function r(e,t,n){t=o(t,e);for(var r=-1,c=t.length,d=!1;++r<c;){var f=l(t[r]);if(!(d=null!=e&&n(e,f)))break;e=e[f]}return d||++r!=c?d:(c=null==e?0:e.length,!!c&&u(c)&&s(f,c)&&(a(e)||i(e)))}var o=n(207),i=n(434),a=n(164),s=n(432),u=n(1364),l=n(298);e.exports=r},function(e,t,n){function r(){this.__data__=o?o(null):{},this.size=0}var o=n(209);e.exports=r},function(e,t){function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__;if(o){var n=t[e];return n===i?void 0:n}return s.call(t,e)?t[e]:void 0}var o=n(209),i=\"__lodash_hash_undefined__\",a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=this.__data__;return o?void 0!==t[e]:a.call(t,e)}var o=n(209),i=Object.prototype,a=i.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=o&&void 0===t?i:t,this}var o=n(209),i=\"__lodash_hash_undefined__\";e.exports=r},function(e,t,n){function r(e){return a(e)||i(e)||!!(s&&e&&e[s])}var o=n(204),i=n(434),a=n(164),s=o?o.isConcatSpreadable:void 0;e.exports=r},function(e,t,n){function r(e,t){if(o(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!i(e))||(s.test(e)||!a.test(e)||null!=t&&e in Object(t))}var o=n(164),i=n(300),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,s=/^\\w*$/;e.exports=r},function(e,t){function n(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return!!i&&i in e}var o=n(1325),i=function(){var e=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}();e.exports=r},function(e,t){function n(){this.__data__=[],this.size=0}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),--this.size,!0}var o=n(205),i=Array.prototype,a=i.splice;e.exports=r},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);return n<0?void 0:t[n][1]}var o=n(205);e.exports=r},function(e,t,n){function r(e){return o(this.__data__,e)>-1}var o=n(205);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var o=n(205);e.exports=r},function(e,t,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(1306),i=n(1307),a=n(1308);e.exports=r},function(e,t,n){function r(e){var t=o(this,e).delete(e);return this.size-=t?1:0,t}var o=n(208);e.exports=r},function(e,t,n){function r(e){return o(this,e).get(e)}var o=n(208);e.exports=r},function(e,t,n){function r(e){return o(this,e).has(e)}var o=n(208);e.exports=r},function(e,t,n){function r(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var o=n(208);e.exports=r},function(e,t,n){function r(e){var t=o(e,function(e){return n.size===i&&n.clear(),e}),n=t.cache;return t}var o=n(1366),i=500;e.exports=r},function(e,t){function n(e){return o.call(e)}var r=Object.prototype,o=r.toString;e.exports=n},function(e,t){function n(e,t){return function(n){return e(t(n))}}e.exports=n},function(e,t,n){function r(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var r=arguments,a=-1,s=i(r.length-t,0),u=Array(s);++a<s;)u[a]=r[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=r[a];return l[t]=n(u),o(e,this,l)}}var o=n(1310),i=Math.max;e.exports=r},function(e,t,n){var r=n(1323),o=n(1356),i=o(r);e.exports=i},function(e,t){function n(e){var t=0,n=0;return function(){var a=i(),s=o-(a-n);if(n=a,s>0){if(++t>=r)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;e.exports=n},function(e,t,n){var r=n(1351),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,i=/\\\\(\\\\)?/g,a=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(o,function(e,n,r,o){t.push(r?o.replace(i,\"$1\"):n||e)}),t});e.exports=a},function(e,t){function n(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var r=Function.prototype,o=r.toString;e.exports=n},function(e,t){function n(e){return function(){return e}}e.exports=n},function(e,t,n){function r(e){var t=null==e?0:e.length;return t?o(e,1):[]}var o=n(1315);e.exports=r},function(e,t,n){function r(e,t){return null!=e&&i(e,t,o)}var o=n(1317),i=n(1331);e.exports=r},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){function r(e){if(!i(e))return!1;var t=o(e);return t==s||t==u||t==a||t==l}var o=n(206),i=n(299),a=\"[object AsyncFunction]\",s=\"[object Function]\",u=\"[object GeneratorFunction]\",l=\"[object Proxy]\";e.exports=r},function(e,t){function n(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){function r(e){if(!a(e)||o(e)!=s)return!1;var t=i(e);if(null===t)return!0;var n=d.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&c.call(n)==f}var o=n(206),i=n(1328),a=n(210),s=\"[object Object]\",u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,f=c.call(Object);e.exports=r},function(e,t,n){function r(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(r.Cache||o),n}var o=n(1309),i=\"Expected a function\";r.Cache=o,e.exports=r},function(e,t,n){function r(e){return null==e?\"\":o(e)}var o=n(1324);e.exports=r},function(e,t){\"use strict\";function n(e){var t,n,r=o[e];if(r)return r;for(r=o[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),r.push(n);for(t=0;t<e.length;t++)n=e.charCodeAt(t),r[n]=\"%\"+(\"0\"+n.toString(16).toUpperCase()).slice(-2);return r}function r(e,t){var o;return\"string\"!=typeof t&&(t=r.defaultChars),o=n(t),e.replace(/(%[a-f0-9]{2})+/gi,function(e){var t,n,r,i,a,s,u,l=\"\";for(t=0,n=e.length;t<n;t+=3)r=parseInt(e.slice(t+1,t+3),16),r<128?l+=o[r]:192===(224&r)&&t+3<n&&(i=parseInt(e.slice(t+4,t+6),16),128===(192&i))?(u=r<<6&1984|63&i,l+=u<128?\"��\":String.fromCharCode(u),t+=3):224===(240&r)&&t+6<n&&(i=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),128===(192&i)&&128===(192&a))?(u=r<<12&61440|i<<6&4032|63&a,l+=u<2048||u>=55296&&u<=57343?\"���\":String.fromCharCode(u),t+=6):240===(248&r)&&t+9<n&&(i=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),s=parseInt(e.slice(t+10,t+12),16),128===(192&i)&&128===(192&a)&&128===(192&s))?(u=r<<18&1835008|i<<12&258048|a<<6&4032|63&s,u<65536||u>1114111?l+=\"����\":(u-=65536,l+=String.fromCharCode(55296+(u>>10),56320+(1023&u))),t+=9):l+=\"�\";return l})}var o={};r.defaultChars=\";/?:@&=+$,#\",r.componentChars=\"\",e.exports=r},function(e,t){\"use strict\";function n(e){var t,n,r=o[e];if(r)return r;for(r=o[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?r.push(n):r.push(\"%\"+(\"0\"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t<e.length;t++)r[e.charCodeAt(t)]=e[t];return r}function r(e,t,o){var i,a,s,u,l,c=\"\";for(\"string\"!=typeof t&&(o=t,t=r.defaultChars),\"undefined\"==typeof o&&(o=!0),l=n(t),i=0,a=e.length;i<a;i++)if(s=e.charCodeAt(i),o&&37===s&&i+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3)))c+=e.slice(i,i+3),i+=2;else if(s<128)c+=l[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&i+1<a&&(u=e.charCodeAt(i+1),u>=56320&&u<=57343)){c+=encodeURIComponent(e[i]+e[i+1]),i++;continue}c+=\"%EF%BF%BD\"}else c+=encodeURIComponent(e[i]);return c}var o={};r.defaultChars=\";/?:@&=+$,-_.!~*'()#\",r.componentChars=\"-_.!~*'()\",e.exports=r},function(e,t,n){var r=e.exports=n(1371);r.tz.load(n(1298))},function(e,t,n){var r,o,i;(function(a){!function(a,s){\"use strict\";o=[n(3)],r=s,i=\"function\"==typeof r?r.apply(t,o):r,!(void 0!==i&&(e.exports=i))}(this,function(e){\"use strict\";function t(e){return e>96?e-87:e>64?e-29:e-48}function n(e){var n,r=0,o=e.split(\".\"),i=o[0],a=o[1]||\"\",s=1,u=0,l=1;for(45===e.charCodeAt(0)&&(r=1,l=-1),r;r<i.length;r++)n=t(i.charCodeAt(r)),u=60*u+n;for(r=0;r<a.length;r++)s/=60,n=t(a.charCodeAt(r)),u+=n*s;return u*l}function r(e){for(var t=0;t<e.length;t++)e[t]=n(e[t])}function o(e,t){for(var n=0;n<t;n++)e[n]=Math.round((e[n-1]||0)+6e4*e[n]);e[t-1]=1/0}function i(e,t){var n,r=[];for(n=0;n<t.length;n++)r[n]=e[t[n]];return r}function s(e){var t=e.split(\"|\"),n=t[2].split(\" \"),a=t[3].split(\"\"),s=t[4].split(\" \");return r(n),r(a),r(s),o(s,a.length),{name:t[0],abbrs:i(t[1].split(\" \"),a),offsets:i(n,a),untils:s,population:0|t[5]}}function u(e){e&&this._set(s(e))}function l(e){var t=e.toTimeString(),n=t.match(/\\([a-z ]+\\)/i);n&&n[0]?(n=n[0].match(/[A-Z]/g),n=n?n.join(\"\"):void 0):(n=t.match(/[A-Z]{3,5}/g),n=n?n[0]:void 0),\"GMT\"===n&&(n=void 0),this.at=+e,this.abbr=n,this.offset=e.getTimezoneOffset()}function c(e){this.zone=e,this.offsetScore=0,this.abbrScore=0}function d(e,t){for(var n,r;r=6e4*((t.at-e.at)/12e4|0);)n=new l(new Date(e.at+r)),n.offset===e.offset?e=n:t=n;return e}function f(){var e,t,n,r=(new Date).getFullYear()-2,o=new l(new Date(r,0,1)),i=[o];for(n=1;n<48;n++)t=new l(new Date(r,n,1)),t.offset!==o.offset&&(e=d(o,t),i.push(e),i.push(new l(new Date(e.at+6e4)))),o=t;for(n=0;n<4;n++)i.push(new l(new Date(r+n,0,1))),i.push(new l(new Date(r+n,6,1)));return i}function p(e,t){return e.offsetScore!==t.offsetScore?e.offsetScore-t.offsetScore:e.abbrScore!==t.abbrScore?e.abbrScore-t.abbrScore:t.zone.population-e.zone.population}function h(e,t){var n,o;for(r(t),n=0;n<t.length;n++)o=t[n],z[o]=z[o]||{},z[o][e]=!0}function m(e){var t,n,r,o=e.length,i={},a=[];for(t=0;t<o;t++){r=z[e[t].offset]||{};for(n in r)r.hasOwnProperty(n)&&(i[n]=!0)}for(t in i)i.hasOwnProperty(t)&&a.push(I[t]);return a}function g(){try{var e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e&&e.length>3){var t=I[b(e)];if(t)return t;L(\"Moment Timezone found \"+e+\" from the Intl api, but did not have that data loaded.\")}}catch(e){}var n,r,o,i=f(),a=i.length,s=m(i),u=[];for(r=0;r<s.length;r++){for(n=new c(v(s[r]),a),o=0;o<a;o++)n.scoreOffsetAt(i[o]);u.push(n)}return u.sort(p),u.length>0?u[0].zone.name:void 0}function _(e){return N&&!e||(N=g()),N}function b(e){return(e||\"\").toLowerCase().replace(/\\//g,\"_\")}function y(e){var t,n,r,o;for(\"string\"==typeof e&&(e=[e]),t=0;t<e.length;t++)r=e[t].split(\"|\"),n=r[0],o=b(n),D[o]=e[t],I[o]=n,h(o,r[2].split(\" \"))}function v(e,t){e=b(e);var n,r=D[e];return r instanceof u?r:\"string\"==typeof r?(r=new u(r),D[e]=r,r):x[e]&&t!==v&&(n=v(x[e],v))?(r=D[e]=new u,r._set(n),r.name=I[e],r):null}function M(){var e,t=[];for(e in I)I.hasOwnProperty(e)&&(D[e]||D[x[e]])&&I[e]&&t.push(I[e]);\nreturn t.sort()}function A(e){var t,n,r,o;for(\"string\"==typeof e&&(e=[e]),t=0;t<e.length;t++)n=e[t].split(\"|\"),r=b(n[0]),o=b(n[1]),x[r]=o,I[r]=n[0],x[o]=r,I[o]=n[1]}function w(e){y(e.zones),A(e.links),T.dataVersion=e.version}function C(e){return C.didShowError||(C.didShowError=!0,L(\"moment.tz.zoneExists('\"+e+\"') has been deprecated in favor of !moment.tz.zone('\"+e+\"')\")),!!v(e)}function E(e){var t=\"X\"===e._f||\"x\"===e._f;return!(!e._a||void 0!==e._tzm||t)}function L(e){\"undefined\"!=typeof a&&\"function\"==typeof a.error&&a.error(e)}function T(t){var n=Array.prototype.slice.call(arguments,0,-1),r=arguments[arguments.length-1],o=v(r),i=e.utc.apply(null,n);return o&&!e.isMoment(t)&&E(i)&&i.add(o.parse(i),\"minutes\"),i.tz(r),i}function O(e){return function(){return this._z?this._z.abbr(this):e.call(this)}}function S(e){return function(){return this._z=null,e.apply(this,arguments)}}var N,k=\"0.5.17\",D={},x={},I={},z={},P=e.version.split(\".\"),j=+P[0],B=+P[1];(j<2||2===j&&B<6)&&L(\"Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js \"+e.version+\". See momentjs.com\"),u.prototype={_set:function(e){this.name=e.name,this.abbrs=e.abbrs,this.untils=e.untils,this.offsets=e.offsets,this.population=e.population},_index:function(e){var t,n=+e,r=this.untils;for(t=0;t<r.length;t++)if(n<r[t])return t},parse:function(e){var t,n,r,o,i=+e,a=this.offsets,s=this.untils,u=s.length-1;for(o=0;o<u;o++)if(t=a[o],n=a[o+1],r=a[o?o-1:o],t<n&&T.moveAmbiguousForward?t=n:t>r&&T.moveInvalidForward&&(t=r),i<s[o]-6e4*t)return a[o];return a[u]},abbr:function(e){return this.abbrs[this._index(e)]},offset:function(e){return L(\"zone.offset has been deprecated in favor of zone.utcOffset\"),this.offsets[this._index(e)]},utcOffset:function(e){return this.offsets[this._index(e)]}},c.prototype.scoreOffsetAt=function(e){this.offsetScore+=Math.abs(this.zone.utcOffset(e.at)-e.offset),this.zone.abbr(e.at).replace(/[^A-Z]/g,\"\")!==e.abbr&&this.abbrScore++},T.version=k,T.dataVersion=\"\",T._zones=D,T._links=x,T._names=I,T.add=y,T.link=A,T.load=w,T.zone=v,T.zoneExists=C,T.guess=_,T.names=M,T.Zone=u,T.unpack=s,T.unpackBase60=n,T.needsOffset=E,T.moveInvalidForward=!0,T.moveAmbiguousForward=!1;var F=e.fn;e.tz=T,e.defaultZone=null,e.updateOffset=function(t,n){var r,o=e.defaultZone;void 0===t._z&&(o&&E(t)&&!t._isUTC&&(t._d=e.utc(t._a)._d,t.utc().add(o.parse(t),\"minutes\")),t._z=o),t._z&&(r=t._z.utcOffset(t),Math.abs(r)<16&&(r/=60),void 0!==t.utcOffset?t.utcOffset(-r,n):t.zone(r,n))},F.tz=function(t,n){return t?(this._z=v(t),this._z?e.updateOffset(this,n):L(\"Moment Timezone has no data for \"+t+\". See http://momentjs.com/timezone/docs/#/data-loading/.\"),this):this._z?this._z.name:void 0},F.zoneName=O(F.zoneName),F.zoneAbbr=O(F.zoneAbbr),F.utc=S(F.utc),e.tz.setDefault=function(t){return(j<2||2===j&&B<9)&&L(\"Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js \"+e.version+\".\"),e.defaultZone=t?v(t):null,e};var R=e.momentProperties;return\"[object Array]\"===Object.prototype.toString.call(R)?(R.push(\"_z\"),R.push(\"_a\")):R&&(R._z=null),e})}).call(t,n(38))},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./af\":435,\"./af.js\":435,\"./ar\":442,\"./ar-dz\":436,\"./ar-dz.js\":436,\"./ar-kw\":437,\"./ar-kw.js\":437,\"./ar-ly\":438,\"./ar-ly.js\":438,\"./ar-ma\":439,\"./ar-ma.js\":439,\"./ar-sa\":440,\"./ar-sa.js\":440,\"./ar-tn\":441,\"./ar-tn.js\":441,\"./ar.js\":442,\"./az\":443,\"./az.js\":443,\"./be\":444,\"./be.js\":444,\"./bg\":445,\"./bg.js\":445,\"./bm\":446,\"./bm.js\":446,\"./bn\":447,\"./bn.js\":447,\"./bo\":448,\"./bo.js\":448,\"./br\":449,\"./br.js\":449,\"./bs\":450,\"./bs.js\":450,\"./ca\":451,\"./ca.js\":451,\"./cs\":452,\"./cs.js\":452,\"./cv\":453,\"./cv.js\":453,\"./cy\":454,\"./cy.js\":454,\"./da\":455,\"./da.js\":455,\"./de\":458,\"./de-at\":456,\"./de-at.js\":456,\"./de-ch\":457,\"./de-ch.js\":457,\"./de.js\":458,\"./dv\":459,\"./dv.js\":459,\"./el\":460,\"./el.js\":460,\"./en-au\":461,\"./en-au.js\":461,\"./en-ca\":462,\"./en-ca.js\":462,\"./en-gb\":463,\"./en-gb.js\":463,\"./en-ie\":464,\"./en-ie.js\":464,\"./en-il\":465,\"./en-il.js\":465,\"./en-nz\":466,\"./en-nz.js\":466,\"./eo\":467,\"./eo.js\":467,\"./es\":470,\"./es-do\":468,\"./es-do.js\":468,\"./es-us\":469,\"./es-us.js\":469,\"./es.js\":470,\"./et\":471,\"./et.js\":471,\"./eu\":472,\"./eu.js\":472,\"./fa\":473,\"./fa.js\":473,\"./fi\":474,\"./fi.js\":474,\"./fo\":475,\"./fo.js\":475,\"./fr\":478,\"./fr-ca\":476,\"./fr-ca.js\":476,\"./fr-ch\":477,\"./fr-ch.js\":477,\"./fr.js\":478,\"./fy\":479,\"./fy.js\":479,\"./gd\":480,\"./gd.js\":480,\"./gl\":481,\"./gl.js\":481,\"./gom-latn\":482,\"./gom-latn.js\":482,\"./gu\":483,\"./gu.js\":483,\"./he\":484,\"./he.js\":484,\"./hi\":485,\"./hi.js\":485,\"./hr\":486,\"./hr.js\":486,\"./hu\":487,\"./hu.js\":487,\"./hy-am\":488,\"./hy-am.js\":488,\"./id\":489,\"./id.js\":489,\"./is\":490,\"./is.js\":490,\"./it\":491,\"./it.js\":491,\"./ja\":492,\"./ja.js\":492,\"./jv\":493,\"./jv.js\":493,\"./ka\":494,\"./ka.js\":494,\"./kk\":495,\"./kk.js\":495,\"./km\":496,\"./km.js\":496,\"./kn\":497,\"./kn.js\":497,\"./ko\":498,\"./ko.js\":498,\"./ky\":499,\"./ky.js\":499,\"./lb\":500,\"./lb.js\":500,\"./lo\":501,\"./lo.js\":501,\"./lt\":502,\"./lt.js\":502,\"./lv\":503,\"./lv.js\":503,\"./me\":504,\"./me.js\":504,\"./mi\":505,\"./mi.js\":505,\"./mk\":506,\"./mk.js\":506,\"./ml\":507,\"./ml.js\":507,\"./mn\":508,\"./mn.js\":508,\"./mr\":509,\"./mr.js\":509,\"./ms\":511,\"./ms-my\":510,\"./ms-my.js\":510,\"./ms.js\":511,\"./mt\":512,\"./mt.js\":512,\"./my\":513,\"./my.js\":513,\"./nb\":514,\"./nb.js\":514,\"./ne\":515,\"./ne.js\":515,\"./nl\":517,\"./nl-be\":516,\"./nl-be.js\":516,\"./nl.js\":517,\"./nn\":518,\"./nn.js\":518,\"./pa-in\":519,\"./pa-in.js\":519,\"./pl\":520,\"./pl.js\":520,\"./pt\":522,\"./pt-br\":521,\"./pt-br.js\":521,\"./pt.js\":522,\"./ro\":523,\"./ro.js\":523,\"./ru\":524,\"./ru.js\":524,\"./sd\":525,\"./sd.js\":525,\"./se\":526,\"./se.js\":526,\"./si\":527,\"./si.js\":527,\"./sk\":528,\"./sk.js\":528,\"./sl\":529,\"./sl.js\":529,\"./sq\":530,\"./sq.js\":530,\"./sr\":532,\"./sr-cyrl\":531,\"./sr-cyrl.js\":531,\"./sr.js\":532,\"./ss\":533,\"./ss.js\":533,\"./sv\":534,\"./sv.js\":534,\"./sw\":535,\"./sw.js\":535,\"./ta\":536,\"./ta.js\":536,\"./te\":537,\"./te.js\":537,\"./tet\":538,\"./tet.js\":538,\"./tg\":539,\"./tg.js\":539,\"./th\":540,\"./th.js\":540,\"./tl-ph\":541,\"./tl-ph.js\":541,\"./tlh\":542,\"./tlh.js\":542,\"./tr\":543,\"./tr.js\":543,\"./tzl\":544,\"./tzl.js\":544,\"./tzm\":546,\"./tzm-latn\":545,\"./tzm-latn.js\":545,\"./tzm.js\":546,\"./ug-cn\":547,\"./ug-cn.js\":547,\"./uk\":548,\"./uk.js\":548,\"./ur\":549,\"./ur.js\":549,\"./uz\":551,\"./uz-latn\":550,\"./uz-latn.js\":550,\"./uz.js\":551,\"./vi\":552,\"./vi.js\":552,\"./x-pseudo\":553,\"./x-pseudo.js\":553,\"./yo\":554,\"./yo.js\":554,\"./zh-cn\":555,\"./zh-cn.js\":555,\"./zh-hk\":556,\"./zh-hk.js\":556,\"./zh-tw\":557,\"./zh-tw.js\":557};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=1372},function(e,t){function n(e){if(\"string\"!=typeof e)throw new TypeError(\"expected a string.\");return e=e.replace(/([A-Z])/g,\" $1\"),1===e.length?e.toUpperCase():(e=e.replace(/^[\\W_]+|[\\W_]+$/g,\"\").toLowerCase(),e=e.charAt(0).toUpperCase()+e.slice(1),e.replace(/[\\W_]+(\\w|$)/g,function(e,t){return t.toUpperCase()}))}e.exports=n},function(e,t,n){!function(t,n){e.exports=n()}(this,function(){function e(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()}function t(e){return\"string\"==typeof e?new RegExp(\"^\"+e+\"$\",\"i\"):e}function n(t,n){return t===t.toUpperCase()?n.toUpperCase():t[0]===t[0].toUpperCase()?e(n):n.toLowerCase()}function r(e,t){return e.replace(/\\$(\\d{1,2})/g,function(e,n){return t[n]||\"\"})}function o(e,t,o){if(!e.length||l.hasOwnProperty(e))return t;for(var i=o.length;i--;){var a=o[i];if(a[0].test(t))return t.replace(a[0],function(e,t,o){var i=r(a[1],arguments);return\"\"===e?n(o[t-1],i):n(e,i)})}return t}function i(e,t,r){return function(i){var a=i.toLowerCase();return t.hasOwnProperty(a)?n(i,a):e.hasOwnProperty(a)?n(i,e[a]):o(a,i,r)}}function a(e,t,n){var r=1===t?a.singular(e):a.plural(e);return(n?t+\" \":\"\")+r}var s=[],u=[],l={},c={},d={};return a.plural=i(d,c,s),a.singular=i(c,d,u),a.addPluralRule=function(e,n){s.push([t(e),n])},a.addSingularRule=function(e,n){u.push([t(e),n])},a.addUncountableRule=function(e){return\"string\"==typeof e?void(l[e.toLowerCase()]=!0):(a.addPluralRule(e,\"$0\"),void a.addSingularRule(e,\"$0\"))},a.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),d[e]=t,c[t]=e},[[\"I\",\"we\"],[\"me\",\"us\"],[\"he\",\"they\"],[\"she\",\"they\"],[\"them\",\"them\"],[\"myself\",\"ourselves\"],[\"yourself\",\"yourselves\"],[\"itself\",\"themselves\"],[\"herself\",\"themselves\"],[\"himself\",\"themselves\"],[\"themself\",\"themselves\"],[\"is\",\"are\"],[\"was\",\"were\"],[\"has\",\"have\"],[\"this\",\"these\"],[\"that\",\"those\"],[\"echo\",\"echoes\"],[\"dingo\",\"dingoes\"],[\"volcano\",\"volcanoes\"],[\"tornado\",\"tornadoes\"],[\"torpedo\",\"torpedoes\"],[\"genus\",\"genera\"],[\"viscus\",\"viscera\"],[\"stigma\",\"stigmata\"],[\"stoma\",\"stomata\"],[\"dogma\",\"dogmata\"],[\"lemma\",\"lemmata\"],[\"schema\",\"schemata\"],[\"anathema\",\"anathemata\"],[\"ox\",\"oxen\"],[\"axe\",\"axes\"],[\"die\",\"dice\"],[\"yes\",\"yeses\"],[\"foot\",\"feet\"],[\"eave\",\"eaves\"],[\"goose\",\"geese\"],[\"tooth\",\"teeth\"],[\"quiz\",\"quizzes\"],[\"human\",\"humans\"],[\"proof\",\"proofs\"],[\"carve\",\"carves\"],[\"valve\",\"valves\"],[\"looey\",\"looies\"],[\"thief\",\"thieves\"],[\"groove\",\"grooves\"],[\"pickaxe\",\"pickaxes\"],[\"whiskey\",\"whiskies\"]].forEach(function(e){return a.addIrregularRule(e[0],e[1])}),[[/s?$/i,\"s\"],[/([^aeiou]ese)$/i,\"$1\"],[/(ax|test)is$/i,\"$1es\"],[/(alias|[^aou]us|tlas|gas|ris)$/i,\"$1es\"],[/(e[mn]u)s?$/i,\"$1s\"],[/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i,\"$1\"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,\"$1i\"],[/(alumn|alg|vertebr)(?:a|ae)$/i,\"$1ae\"],[/(seraph|cherub)(?:im)?$/i,\"$1im\"],[/(her|at|gr)o$/i,\"$1oes\"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,\"$1a\"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,\"$1a\"],[/sis$/i,\"ses\"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,\"$1$2ves\"],[/([^aeiouy]|qu)y$/i,\"$1ies\"],[/([^ch][ieo][ln])ey$/i,\"$1ies\"],[/(x|ch|ss|sh|zz)$/i,\"$1es\"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,\"$1ices\"],[/(m|l)(?:ice|ouse)$/i,\"$1ice\"],[/(pe)(?:rson|ople)$/i,\"$1ople\"],[/(child)(?:ren)?$/i,\"$1ren\"],[/eaux$/i,\"$0\"],[/m[ae]n$/i,\"men\"],[\"thou\",\"you\"]].forEach(function(e){return a.addPluralRule(e[0],e[1])}),[[/s$/i,\"\"],[/(ss)$/i,\"$1\"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(?:sis|ses)$/i,\"$1sis\"],[/(^analy)(?:sis|ses)$/i,\"$1sis\"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i,\"$1fe\"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,\"$1f\"],[/ies$/i,\"y\"],[/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,\"$1ie\"],[/\\b(mon|smil)ies$/i,\"$1ey\"],[/(m|l)ice$/i,\"$1ouse\"],[/(seraph|cherub)im$/i,\"$1\"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i,\"$1\"],[/(e[mn]u)s?$/i,\"$1\"],[/(movie|twelve)s$/i,\"$1\"],[/(cris|test|diagnos)(?:is|es)$/i,\"$1is\"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,\"$1us\"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,\"$1um\"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,\"$1on\"],[/(alumn|alg|vertebr)ae$/i,\"$1a\"],[/(cod|mur|sil|vert|ind)ices$/i,\"$1ex\"],[/(matr|append)ices$/i,\"$1ix\"],[/(pe)(rson|ople)$/i,\"$1rson\"],[/(child)ren$/i,\"$1\"],[/(eau)x?$/i,\"$1\"],[/men$/i,\"man\"]].forEach(function(e){return a.addSingularRule(e[0],e[1])}),[\"advice\",\"adulthood\",\"agenda\",\"aid\",\"alcohol\",\"ammo\",\"athletics\",\"bison\",\"blood\",\"bream\",\"buffalo\",\"butter\",\"carp\",\"cash\",\"chassis\",\"chess\",\"clothing\",\"commerce\",\"cod\",\"cooperation\",\"corps\",\"digestion\",\"debris\",\"diabetes\",\"energy\",\"equipment\",\"elk\",\"excretion\",\"expertise\",\"flounder\",\"fun\",\"gallows\",\"garbage\",\"graffiti\",\"headquarters\",\"health\",\"herpes\",\"highjinks\",\"homework\",\"housework\",\"information\",\"jeans\",\"justice\",\"kudos\",\"labour\",\"literature\",\"machinery\",\"mackerel\",\"mail\",\"media\",\"mews\",\"moose\",\"music\",\"news\",\"pike\",\"plankton\",\"pliers\",\"pollution\",\"premises\",\"rain\",\"research\",\"rice\",\"salmon\",\"scissors\",\"series\",\"sewage\",\"shambles\",\"shrimp\",\"species\",\"staff\",\"swine\",\"trout\",\"traffic\",\"transporation\",\"tuna\",\"wealth\",\"welfare\",\"whiting\",\"wildebeest\",\"wildlife\",\"you\",/pox$/i,/ois$/i,/deer$/i,/fish$/i,/sheep$/i,/measles$/i,/[^aeiou]ese$/i].forEach(a.addUncountableRule),a})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return function(n,r,o,i,a){var l=o||\"<<anonymous>>\",c=a||r;if(null!=n[r]){var d=o+\".\"+r;(0,s.default)(u[d],\"The \"+i+\" `\"+c+\"` of \"+(\"`\"+l+\"` is deprecated. \"+t+\".\")),u[d]=!0}for(var f=arguments.length,p=Array(f>5?f-5:0),h=5;h<f;h++)p[h-5]=arguments[h];return e.apply(void 0,[n,r,o,i,a].concat(p))}}function i(){u={}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var a=n(47),s=r(a),u={};o._resetWarned=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r,o){}e.exports=r},function(e,t,n){\"use strict\";var r=n(1379);e.exports=function(e){var t=!1;return r(e,t)}},function(e,t,n){\"use strict\";function r(){}var o=n(560);e.exports=function(){function e(e,t,n,r,i,a){if(a!==o){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){\"use strict\";function r(){return null}var o=n(28),i=n(560),a=n(1376),s=function(){};e.exports=function(e,t){function n(e){var t=e&&(O&&e[O]||e[S]);if(\"function\"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=\"\"}function c(e){function n(n,r,o,a,s,u,c){if(a=a||N,u=u||o,c!==i){if(t){var d=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");throw d.name=\"Invariant Violation\",d}}return null==r[o]?n?new l(null===r[o]?\"The \"+s+\" `\"+u+\"` is marked as required \"+(\"in `\"+a+\"`, but its value is `null`.\"):\"The \"+s+\" `\"+u+\"` is marked as required in \"+(\"`\"+a+\"`, but its value is `undefined`.\")):null:e(r,o,a,s,u)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function d(e){function t(t,n,r,o,i,a){var s=t[n],u=C(s);if(u!==e){var c=E(s);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+c+\"` supplied to `\"+r+\"`, expected \")+(\"`\"+e+\"`.\"))}return null}return c(t)}function f(){return c(r)}function p(e){function t(t,n,r,o,a){if(\"function\"!=typeof e)return new l(\"Property `\"+a+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var s=t[n];if(!Array.isArray(s)){var u=C(s);return new l(\"Invalid \"+o+\" `\"+a+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an array.\"))}for(var c=0;c<s.length;c++){var d=e(s,c,r,o,a+\"[\"+c+\"]\",i);if(d instanceof Error)return d}return null}return c(t)}function h(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){var s=C(a);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected a single ReactElement.\"))}return null}return c(t)}function m(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||N,s=T(t[n]);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected \")+(\"instance of `\"+a+\"`.\"))}return null}return c(t)}function g(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(u(a,e[s]))return null;var c=JSON.stringify(e);return new l(\"Invalid \"+o+\" `\"+i+\"` of value `\"+a+\"` \"+(\"supplied to `\"+r+\"`, expected one of \"+c+\".\"))}return Array.isArray(e)?c(t):r}function _(e){function t(t,n,r,o,a){if(\"function\"!=typeof e)return new l(\"Property `\"+a+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var s=t[n],u=C(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+a+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an object.\"));for(var c in s)if(s.hasOwnProperty(c)){var d=e(s,c,r,o,a+\".\"+c,i);if(d instanceof Error)return d}return null}return c(t)}function b(e){function t(t,n,r,o,a){for(var s=0;s<e.length;s++){var u=e[s];if(null==u(t,n,r,o,a,i))return null}return new l(\"Invalid \"+o+\" `\"+a+\"` supplied to \"+(\"`\"+r+\"`.\"))}if(!Array.isArray(e))return r;for(var n=0;n<e.length;n++){var o=e[n];if(\"function\"!=typeof o)return s(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \"+L(o)+\" at index \"+n+\".\"),r}return c(t)}function y(){function e(e,t,n,r,o){return A(e[t])?null:new l(\"Invalid \"+r+\" `\"+o+\"` supplied to \"+(\"`\"+n+\"`, expected a ReactNode.\"))}return c(e)}function v(e){function t(t,n,r,o,a){var s=t[n],u=C(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+a+\"` of type `\"+u+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"));for(var c in e){var d=e[c];if(d){var f=d(s,c,r,o,a+\".\"+c,i);if(f)return f}}return null}return c(t)}function M(e){function t(t,n,r,a,s){var u=t[n],c=C(u);if(\"object\"!==c)return new l(\"Invalid \"+a+\" `\"+s+\"` of type `\"+c+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"));var d=o({},t[n],e);for(var f in d){var p=e[f];if(!p)return new l(\"Invalid \"+a+\" `\"+s+\"` key `\"+f+\"` supplied to `\"+r+\"`.\\nBad object: \"+JSON.stringify(t[n],null,\"  \")+\"\\nValid keys: \"+JSON.stringify(Object.keys(e),null,\"  \"));var h=p(u,f,r,a,s+\".\"+f,i);if(h)return h}return null}return c(t)}function A(t){switch(typeof t){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!t;case\"object\":if(Array.isArray(t))return t.every(A);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!A(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!A(a[1]))return!1}return!0;default:return!1}}function w(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function C(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":w(t,e)?\"symbol\":t}function E(e){if(\"undefined\"==typeof e||null===e)return\"\"+e;var t=C(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function L(e){var t=E(e);switch(t){case\"array\":case\"object\":return\"an \"+t;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+t;default:return t}}function T(e){return e.constructor&&e.constructor.name?e.constructor.name:N}var O=\"function\"==typeof Symbol&&Symbol.iterator,S=\"@@iterator\",N=\"<<anonymous>>\",k={array:d(\"array\"),bool:d(\"boolean\"),func:d(\"function\"),number:d(\"number\"),object:d(\"object\"),string:d(\"string\"),symbol:d(\"symbol\"),any:f(),arrayOf:p,element:h(),instanceOf:m,node:y(),objectOf:_,oneOf:g,oneOfType:b,shape:v,exact:M};return l.prototype=Error.prototype,k.checkPropTypes=a,k.PropTypes=k,k}},function(e,t,n){function r(e,t,n,r,a){var s=[].slice.call(arguments,1),u=s.length,l=\"function\"==typeof s[u-1];if(!l&&!o())throw new Error(\"Callback required as last argument\");if(!l){if(u<1)throw new Error(\"Too few arguments provided\");return 1===u?(n=t,t=r=void 0):2!==u||t.getContext||(r=n,n=t,t=void 0),new Promise(function(o,a){try{var s=i.create(n,r);o(e(s,t,r))}catch(e){a(e)}})}if(u<2)throw new Error(\"Too few arguments provided\");2===u?(a=n,n=t,t=r=void 0):3===u&&(t.getContext&&\"undefined\"==typeof a?(a=r,r=void 0):(a=r,r=n,n=t,t=void 0));try{var c=i.create(n,r);a(null,e(c,t,r))}catch(e){a(e)}}var o=n(1381),i=n(1394),a=n(1398),s=n(1399);t.create=i.create,t.toCanvas=r.bind(null,a.render),t.toDataURL=r.bind(null,a.renderToDataURL),t.toString=r.bind(null,function(e,t,n){return s.render(e,n)})},function(e,t){e.exports=function(){return\"function\"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},function(e,t,n){var r=n(111).getSymbolSize;t.getRowColCoords=function(e){if(1===e)return[];for(var t=Math.floor(e/7)+2,n=r(e),o=145===n?26:2*Math.ceil((n-13)/(2*t-2)),i=[n-7],a=1;a<t-1;a++)i[a]=i[a-1]-o;return i.push(6),i.reverse()},t.getPositions=function(e){for(var n=[],r=t.getRowColCoords(e),o=r.length,i=0;i<o;i++)for(var a=0;a<o;a++)0===i&&0===a||0===i&&a===o-1||i===o-1&&0===a||n.push([r[i],r[a]]);return n}},function(e,t,n){function r(e){this.mode=o.ALPHANUMERIC,this.data=e}var o=n(110),i=[\"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\",\" \",\"$\",\"%\",\"*\",\"+\",\"-\",\".\",\"/\",\":\"];r.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){var t;for(t=0;t+2<=this.data.length;t+=2){var n=45*i.indexOf(this.data[t]);n+=i.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(i.indexOf(this.data[t]),6)},e.exports=r},function(e,t){function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){var t=Math.floor(e/8);return 1===(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(var n=0;n<t;n++)this.putBit(1===(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},e.exports=n},function(e,t,n){function r(e){if(!e||e<1)throw new Error(\"BitMatrix size must be defined and greater than 0\");this.size=e,this.data=new o(e*e),this.data.fill(0),this.reservedBit=new o(e*e),this.reservedBit.fill(0)}var o=n(136);r.prototype.set=function(e,t,n,r){var o=e*this.size+t;this.data[o]=n,r&&(this.reservedBit[o]=!0)},r.prototype.get=function(e,t){return this.data[e*this.size+t]},r.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},r.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},e.exports=r},function(e,t,n){function r(e){this.mode=i.BYTE,this.data=new o(e)}var o=n(136),i=n(110);r.getBitsLength=function(e){return 8*e},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(var t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},e.exports=r},function(e,t,n){var r=n(111).getSymbolSize,o=7;t.getPositions=function(e){var t=r(e);return[[0,0],[t-o,0],[0,t-o]]}},function(e,t,n){var r=n(111),o=1335,i=21522,a=r.getBCHDigit(o);t.getEncodedBits=function(e,t){for(var n=e.bit<<3|t,s=n<<10;r.getBCHDigit(s)-a>=0;)s^=o<<r.getBCHDigit(s)-a;return(n<<10|s)^i}},function(e,t,n){var r=n(136);if(r.alloc)var o=r.alloc(512),i=r.alloc(256);else var o=new r(512),i=new r(256);!function(){for(var e=1,t=0;t<255;t++)o[t]=e,i[e]=t,e<<=1,256&e&&(e^=285);for(t=255;t<512;t++)o[t]=o[t-255]}(),t.log=function(e){if(e<1)throw new Error(\"log(\"+e+\")\");return i[e]},t.exp=function(e){return o[e]},t.mul=function(e,t){return 0===e||0===t?0:o[i[e]+i[t]]}},function(e,t,n){function r(e){this.mode=o.KANJI,this.data=e}var o=n(110),i=n(111);r.getBitsLength=function(e){return 13*e},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){var t;for(t=0;t<this.data.length;t++){var n=i.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error(\"Invalid SJIS character: \"+this.data[t]+\"\\nMake sure your charset is UTF-8\");n-=49472}n=192*(n>>>8&255)+(255&n),e.put(n,13)}},e.exports=r},function(e,t){function n(e,n,r){switch(e){case t.Patterns.PATTERN000:return(n+r)%2===0;case t.Patterns.PATTERN001:return n%2===0;case t.Patterns.PATTERN010:return r%3===0;case t.Patterns.PATTERN011:return(n+r)%3===0;case t.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2===0;case t.Patterns.PATTERN101:return n*r%2+n*r%3===0;case t.Patterns.PATTERN110:return(n*r%2+n*r%3)%2===0;case t.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2===0;default:throw new Error(\"bad maskPattern:\"+e)}}t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var r={N1:3,N2:3,N3:40,N4:10};t.isValid=function(e){return null!=e&&\"\"!==e&&!isNaN(e)&&e>=0&&e<=7},t.from=function(e){return t.isValid(e)?parseInt(e,10):void 0},t.getPenaltyN1=function(e){for(var t=e.size,n=0,o=0,i=0,a=null,s=null,u=0;u<t;u++){o=i=0,a=s=null;for(var l=0;l<t;l++){var c=e.get(u,l);c===a?o++:(o>=5&&(n+=r.N1+(o-5)),a=c,o=1),c=e.get(l,u),c===s?i++:(i>=5&&(n+=r.N1+(i-5)),s=c,i=1)}o>=5&&(n+=r.N1+(o-5)),i>=5&&(n+=r.N1+(i-5))}return n},t.getPenaltyN2=function(e){for(var t=e.size,n=0,o=0;o<t-1;o++)for(var i=0;i<t-1;i++){var a=e.get(o,i)+e.get(o,i+1)+e.get(o+1,i)+e.get(o+1,i+1);4!==a&&0!==a||n++}return n*r.N2},t.getPenaltyN3=function(e){for(var t=e.size,n=0,o=0,i=0,a=0;a<t;a++){o=i=0;for(var s=0;s<t;s++)o=o<<1&2047|e.get(a,s),s>=10&&(1488===o||93===o)&&n++,i=i<<1&2047|e.get(s,a),s>=10&&(1488===i||93===i)&&n++}return n*r.N3},t.getPenaltyN4=function(e){for(var t=0,n=e.data.length,o=0;o<n;o++)t+=e.data[o];var i=Math.abs(Math.ceil(100*t/n/5)-10);return i*r.N4},t.applyMask=function(e,t){for(var r=t.size,o=0;o<r;o++)for(var i=0;i<r;i++)t.isReserved(i,o)||t.xor(i,o,n(e,i,o))},t.getBestMask=function(e,n){for(var r=Object.keys(t.Patterns).length,o=0,i=1/0,a=0;a<r;a++){n(a),t.applyMask(a,e);var s=t.getPenaltyN1(e)+t.getPenaltyN2(e)+t.getPenaltyN3(e)+t.getPenaltyN4(e);t.applyMask(a,e),s<i&&(i=s,o=a)}return o}},function(e,t,n){function r(e){this.mode=o.NUMERIC,this.data=e.toString()}var o=n(110);r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){var t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);var o=this.data.length-t;o>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,3*o+1))},e.exports=r},function(e,t,n){var r=n(136),o=n(1389);t.mul=function(e,t){var n=new r(e.length+t.length-1);n.fill(0);for(var i=0;i<e.length;i++)for(var a=0;a<t.length;a++)n[i+a]^=o.mul(e[i],t[a]);return n},t.mod=function(e,t){for(var n=new r(e);n.length-t.length>=0;){for(var i=n[0],a=0;a<t.length;a++)n[a]^=o.mul(t[a],i);for(var s=0;s<n.length&&0===n[s];)s++;n=n.slice(s)}return n},t.generateECPolynomial=function(e){for(var n=new r([1]),i=0;i<e;i++)n=t.mul(n,[1,o.exp(i)]);return n}},function(e,t,n){function r(e,t){for(var n=e.size,r=b.getPositions(t),o=0;o<r.length;o++)for(var i=r[o][0],a=r[o][1],s=-1;s<=7;s++)if(!(i+s<=-1||n<=i+s))for(var u=-1;u<=7;u++)a+u<=-1||n<=a+u||(s>=0&&s<=6&&(0===u||6===u)||u>=0&&u<=6&&(0===s||6===s)||s>=2&&s<=4&&u>=2&&u<=4?e.set(i+s,a+u,!0,!0):e.set(i+s,a+u,!1,!0))}function o(e){for(var t=e.size,n=8;n<t-8;n++){var r=n%2===0;e.set(n,6,r,!0),e.set(6,n,r,!0)}}function i(e,t){for(var n=_.getPositions(t),r=0;r<n.length;r++)for(var o=n[r][0],i=n[r][1],a=-2;a<=2;a++)for(var s=-2;s<=2;s++)a===-2||2===a||s===-2||2===s||0===a&&0===s?e.set(o+a,i+s,!0,!0):e.set(o+a,i+s,!1,!0)}function a(e,t){for(var n,r,o,i=e.size,a=A.getEncodedBits(t),s=0;s<18;s++)n=Math.floor(s/3),r=s%3+i-8-3,o=1===(a>>s&1),e.set(n,r,o,!0),e.set(r,n,o,!0)}function s(e,t,n){var r,o,i=e.size,a=w.getEncodedBits(t,n);for(r=0;r<15;r++)o=1===(a>>r&1),r<6?e.set(r,8,o,!0):r<8?e.set(r+1,8,o,!0):e.set(i-15+r,8,o,!0),r<8?e.set(8,i-r-1,o,!0):r<9?e.set(8,15-r-1+1,o,!0):e.set(8,15-r-1,o,!0);e.set(i-8,8,1,!0)}function u(e,t){for(var n=e.size,r=-1,o=n-1,i=7,a=0,s=n-1;s>0;s-=2)for(6===s&&s--;;){for(var u=0;u<2;u++)if(!e.isReserved(o,s-u)){var l=!1;a<t.length&&(l=1===(t[a]>>>i&1)),e.set(o,s-u,l),i--,i===-1&&(a++,i=7)}if(o+=r,o<0||n<=o){o-=r,r=-r;break}}}function l(e,t,n){var r=new m;n.forEach(function(t){r.put(t.mode.bit,4),r.put(t.getLength(),C.getCharCountIndicator(t.mode,e)),t.write(r)});var o=p.getSymbolTotalCodewords(e),i=v.getTotalCodewordsCount(e,t),a=8*(o-i);for(r.getLengthInBits()+4<=a&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);for(var s=(a-r.getLengthInBits())/8,u=0;u<s;u++)r.put(u%2?17:236,8);return c(r,e,t)}function c(e,t,n){for(var r=p.getSymbolTotalCodewords(t),o=v.getTotalCodewordsCount(t,n),i=r-o,a=v.getBlocksCount(t,n),s=r%a,u=a-s,l=Math.floor(r/a),c=Math.floor(i/a),d=c+1,h=l-c,m=new M(h),g=0,_=new Array(a),b=new Array(a),y=0,A=new f(e.buffer),w=0;w<a;w++){var C=w<u?c:d;_[w]=A.slice(g,g+C),b[w]=m.encode(_[w]),g+=C,y=Math.max(y,C)}var E,L,T=new f(r),O=0;for(E=0;E<y;E++)for(L=0;L<a;L++)E<_[L].length&&(T[O++]=_[L][E]);for(E=0;E<h;E++)for(L=0;L<a;L++)T[O++]=b[L][E];return T}function d(e,t,n,c){var d;if(L(e))d=E.fromArray(e);else{if(\"string\"!=typeof e)throw new Error(\"Invalid data\");var f=t;if(!f){var h=E.rawSplit(e);f=A.getBestVersionForData(h,n)}d=E.fromString(e,f||40)}var m=A.getBestVersionForData(d,n);if(!m)throw new Error(\"The amount of data is too big to be stored in a QR Code\");if(t){if(t<m)throw new Error(\"\\nThe chosen QR Code version cannot contain this amount of data.\\nMinimum version required to store current data is: \"+m+\".\\n\")}else t=m;var _=l(t,n,d),b=p.getSymbolSize(t),v=new g(b);return r(v,t),o(v),i(v,t),s(v,n,0),t>=7&&a(v,t),u(v,_),isNaN(c)&&(c=y.getBestMask(v,s.bind(null,v,n))),y.applyMask(c,v),s(v,n,c),{modules:v,version:t,errorCorrectionLevel:n,maskPattern:c,segments:d}}var f=n(136),p=n(111),h=n(302),m=n(1384),g=n(1385),_=n(1382),b=n(1387),y=n(1391),v=n(561),M=n(1395),A=n(1397),w=n(1388),C=n(110),E=n(1396),L=n(303);t.create=function(e,t){if(\"undefined\"==typeof e||\"\"===e)throw new Error(\"No input text\");var n,r,o=h.M;return\"undefined\"!=typeof t&&(o=h.from(t.errorCorrectionLevel,h.M),n=A.from(t.version),r=y.from(t.maskPattern),t.toSJISFunc&&p.setToSJISFunction(t.toSJISFunc)),d(e,n,o,r)}},function(e,t,n){function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}var o=n(136),i=n(1393);r.prototype.initialize=function(e){this.degree=e,this.genPoly=i.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw new Error(\"Encoder not initialized\");var t=new o(this.degree);t.fill(0);var n=o.concat([e,t],e.length+this.degree),r=i.mod(n,this.genPoly),a=this.degree-r.length;if(a>0){var s=new o(this.degree);return s.fill(0),r.copy(s,a),s}return r},e.exports=r},function(e,t,n){function r(e){return unescape(encodeURIComponent(e)).length}function o(e,t,n){for(var r,o=[];null!==(r=e.exec(n));)o.push({data:r[0],index:r.index,mode:t,length:r[0].length});return o}function i(e){var t,n,r=o(g.NUMERIC,d.NUMERIC,e),i=o(g.ALPHANUMERIC,d.ALPHANUMERIC,e);_.isKanjiModeEnabled()?(t=o(g.BYTE,d.BYTE,e),n=o(g.KANJI,d.KANJI,e)):(t=o(g.BYTE_KANJI,d.BYTE,e),n=[]);var a=r.concat(i,t,n);return a.sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function a(e,t){switch(t){case d.NUMERIC:return f.getBitsLength(e);case d.ALPHANUMERIC:return p.getBitsLength(e);case d.KANJI:return m.getBitsLength(e);case d.BYTE:return h.getBitsLength(e)}}function s(e){return e.reduce(function(e,t){var n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function u(e){for(var t=[],n=0;n<e.length;n++){var o=e[n];switch(o.mode){case d.NUMERIC:t.push([o,{data:o.data,mode:d.ALPHANUMERIC,length:o.length},{data:o.data,mode:d.BYTE,length:o.length}]);break;case d.ALPHANUMERIC:t.push([o,{data:o.data,mode:d.BYTE,length:o.length}]);break;case d.KANJI:t.push([o,{data:o.data,mode:d.BYTE,length:r(o.data)}]);break;case d.BYTE:t.push([{data:o.data,mode:d.BYTE,length:r(o.data)}])}}return t}function l(e,t){for(var n={},r={start:{}},o=[\"start\"],i=0;i<e.length;i++){for(var s=e[i],u=[],l=0;l<s.length;l++){var c=s[l],f=\"\"+i+l;u.push(f),n[f]={node:c,lastCount:0},r[f]={};for(var p=0;p<o.length;p++){var h=o[p];n[h]&&n[h].node.mode===c.mode?(r[h][f]=a(n[h].lastCount+c.length,c.mode)-a(n[h].lastCount,c.mode),n[h].lastCount+=c.length):(n[h]&&(n[h].lastCount=c.length),r[h][f]=a(c.length,c.mode)+4+d.getCharCountIndicator(c.mode,t))}}o=u}for(p=0;p<o.length;p++)r[o[p]].end=0;return{map:r,table:n}}function c(e,t){var n,r=d.getBestModeForData(e);\nif(n=d.from(t,r),n!==d.BYTE&&n.bit<r.bit)throw new Error('\"'+e+'\" cannot be encoded with mode '+d.toString(n)+\".\\n Suggested mode is: \"+d.toString(r));switch(n!==d.KANJI||_.isKanjiModeEnabled()||(n=d.BYTE),n){case d.NUMERIC:return new f(e);case d.ALPHANUMERIC:return new p(e);case d.KANJI:return new m(e);case d.BYTE:return new h(e)}}var d=n(110),f=n(1392),p=n(1383),h=n(1386),m=n(1390),g=n(562),_=n(111),b=n(1162);t.fromArray=function(e){return e.reduce(function(e,t){return\"string\"==typeof t?e.push(c(t,null)):t.data&&e.push(c(t.data,t.mode)),e},[])},t.fromString=function(e,n){for(var r=i(e,_.isKanjiModeEnabled()),o=u(r),a=l(o,n),c=b.find_path(a.map,\"start\",\"end\"),d=[],f=1;f<c.length-1;f++)d.push(a.table[c[f]].node);return t.fromArray(s(d))},t.rawSplit=function(e){return t.fromArray(i(e,_.isKanjiModeEnabled()))}},function(e,t,n){function r(e,n,r){for(var o=1;o<=40;o++)if(n<=t.getCapacity(o,r,e))return o}function o(e,t){return c.getCharCountIndicator(e,t)+4}function i(e,t){var n=0;return e.forEach(function(e){var r=o(e.mode,t);n+=r+e.getBitsLength()}),n}function a(e,n){for(var r=1;r<=40;r++){var o=i(e,r);if(o<=t.getCapacity(r,n,c.MIXED))return r}}var s=n(111),u=n(561),l=n(302),c=n(110),d=n(563),f=n(303),p=7973,h=s.getBCHDigit(p);t.from=function(e,t){return d.isValid(e)?parseInt(e,10):t},t.getCapacity=function(e,t,n){if(!d.isValid(e))throw new Error(\"Invalid QR Code version\");\"undefined\"==typeof n&&(n=c.BYTE);var r=s.getSymbolTotalCodewords(e),i=u.getTotalCodewordsCount(e,t),a=8*(r-i);if(n===c.MIXED)return a;var l=a-o(n,e);switch(n){case c.NUMERIC:return Math.floor(l/10*3);case c.ALPHANUMERIC:return Math.floor(l/11*2);case c.KANJI:return Math.floor(l/13);case c.BYTE:default:return Math.floor(l/8)}},t.getBestVersionForData=function(e,t){var n,o=l.from(t,l.M);if(f(e)){if(e.length>1)return a(e,o);if(0===e.length)return 1;n=e[0]}else n=e;return r(n.mode,n.getLength(),o)},t.getEncodedBits=function(e){if(!d.isValid(e)||e<7)throw new Error(\"Invalid QR Code version\");for(var t=e<<12;s.getBCHDigit(t)-h>=0;)t^=p<<s.getBCHDigit(t)-h;return e<<12|t}},function(e,t,n){function r(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=n,t.width=n,t.style.height=n+\"px\",t.style.width=n+\"px\"}function o(){try{return document.createElement(\"canvas\")}catch(e){throw new Error(\"You need to specify a canvas element\")}}var i=n(564);t.render=function(e,t,n){var a=n,s=t;\"undefined\"!=typeof a||t&&t.getContext||(a=t,t=void 0),t||(s=o()),a=i.getOptions(a);var u=i.getImageWidth(e.modules.size,a),l=s.getContext(\"2d\"),c=l.createImageData(u,u);return i.qrToImageData(c.data,e,a),r(l,s,u),l.putImageData(c,0,0),s},t.renderToDataURL=function(e,n,r){var o=r;\"undefined\"!=typeof o||n&&n.getContext||(o=n,n=void 0),o||(o={});var i=t.render(e,n,o),a=o.type||\"image/png\",s=o.rendererOpts||{};return i.toDataURL(a,s.quality)}},function(e,t,n){function r(e,t){var n=e.a/255,r=t+'=\"'+e.hex+'\"';return n<1?r+\" \"+t+'-opacity=\"'+n.toFixed(2).slice(1)+'\"':r}function o(e,t,n){var r=e+t;return\"undefined\"!=typeof n&&(r+=\" \"+n),r}function i(e,t,n){for(var r=\"\",i=0,a=!1,s=0,u=0;u<e.length;u++){var l=Math.floor(u%t),c=Math.floor(u/t);l||a||(a=!0),e[u]?(s++,u>0&&l>0&&e[u-1]||(r+=a?o(\"M\",l+n,.5+c+n):o(\"m\",i,0),i=0,a=!1),l+1<t&&e[u+1]||(r+=o(\"h\",s),s=0)):i++}return r}var a=n(564);t.render=function(e,t,n){var o=a.getOptions(t),s=e.modules.size,u=e.modules.data,l=s+2*o.margin,c=o.color.light.a?\"<path \"+r(o.color.light,\"fill\")+' d=\"M0 0h'+l+\"v\"+l+'H0z\"/>':\"\",d=\"<path \"+r(o.color.dark,\"stroke\")+' d=\"'+i(u,s,o.margin)+'\"/>',f='viewBox=\"0 0 '+l+\" \"+l+'\"',p=o.width?'width=\"'+o.width+'\" height=\"'+o.width+'\" ':\"\",h='<svg xmlns=\"http://www.w3.org/2000/svg\" '+p+f+' shape-rendering=\"crispEdges\">'+c+d+\"</svg>\\n\";return\"function\"==typeof n&&n(null,h),h}},function(e,t,n){\"use strict\";var r=n(1654);t.extract=function(e){return e.split(\"?\")[1]||\"\"},t.parse=function(e){return\"string\"!=typeof e?{}:(e=e.trim().replace(/^(\\?|#|&)/,\"\"),e?e.split(\"&\").reduce(function(e,t){var n=t.replace(/\\+/g,\" \").split(\"=\"),r=n.shift(),o=n.length>0?n.join(\"=\"):void 0;return r=decodeURIComponent(r),o=void 0===o?null:decodeURIComponent(o),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]:e[r]=o,e},{}):{})},t.stringify=function(e){return e?Object.keys(e).sort().map(function(t){var n=e[t];return void 0===n?\"\":null===n?t:Array.isArray(n)?n.slice().sort().map(function(e){return r(t)+\"=\"+r(e)}).join(\"&\"):r(t)+\"=\"+r(n)}).filter(function(e){return e.length>0}).join(\"&\"):\"\"}},function(e,t,n){(function(e){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(361),c=r(l),d=n(1),f=r(d),p=n(5),h=r(p),m=n(430),g=r(m),_=n(565),b=c.default.acequire(\"ace/range\"),y=b.Range,v=function(t){function n(e){o(this,n);var t=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return _.editorEvents.forEach(function(e){t[e]=t[e].bind(t)}),t.debounce=_.debounce,t}return a(n,t),u(n,[{key:\"componentDidMount\",value:function(){var t=this,n=this.props,r=n.className,o=n.onBeforeLoad,i=n.onValidate,a=n.mode,s=n.focus,u=n.theme,l=n.fontSize,d=n.value,f=n.defaultValue,p=n.cursorStart,h=n.showGutter,m=n.wrapEnabled,g=n.showPrintMargin,b=n.scrollMargin,y=void 0===b?[0,0,0,0]:b,v=n.keyboardHandler,M=n.onLoad,A=n.commands,w=n.annotations,C=n.markers;this.editor=c.default.edit(this.refEditor),o&&o(c.default);for(var E=Object.keys(this.props.editorProps),L=0;L<E.length;L++)this.editor[E[L]]=this.props.editorProps[E[L]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin(y[0],y[1],y[2],y[3]),this.editor.getSession().setMode(\"ace/mode/\"+a),this.editor.setTheme(\"ace/theme/\"+u),this.editor.setFontSize(l),this.editor.getSession().setValue(f?f:d,p),this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter(h),this.editor.getSession().setUseWrapMode(m),this.editor.setShowPrintMargin(g),this.editor.on(\"focus\",this.onFocus),this.editor.on(\"blur\",this.onBlur),this.editor.on(\"copy\",this.onCopy),this.editor.on(\"paste\",this.onPaste),this.editor.on(\"change\",this.onChange),this.editor.on(\"input\",this.onInput),this.editor.getSession().selection.on(\"changeSelection\",this.onSelectionChange),this.editor.getSession().selection.on(\"changeCursor\",this.onCursorChange),i&&this.editor.getSession().on(\"changeAnnotation\",function(){var e=t.editor.getSession().getAnnotations();t.props.onValidate(e)}),this.editor.session.on(\"changeScrollTop\",this.onScroll),this.editor.getSession().setAnnotations(w||[]),C&&C.length>0&&this.handleMarkers(C);for(var T=this.editor.$options,O=0;O<_.editorOptions.length;O++){var S=_.editorOptions[O];T.hasOwnProperty(S)?this.editor.setOption(S,this.props[S]):this.props[S]&&e.warn(\"ReactAce: editor option \"+S+\" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?\")}this.handleOptions(this.props),Array.isArray(A)&&A.forEach(function(e){\"string\"==typeof e.exec?t.editor.commands.bindKey(e.bindKey,e.exec):t.editor.commands.addCommand(e)}),v&&this.editor.setKeyboardHandler(\"ace/keyboard/\"+v),r&&(this.refEditor.className+=\" \"+r),s&&this.editor.focus(),M&&M(this.editor),this.editor.resize()}},{key:\"componentDidUpdate\",value:function(e){for(var t=e,n=this.props,r=0;r<_.editorOptions.length;r++){var o=_.editorOptions[r];n[o]!==t[o]&&this.editor.setOption(o,n[o])}if(n.className!==t.className){var i=this.refEditor.className,a=i.trim().split(\" \"),s=t.className.trim().split(\" \");s.forEach(function(e){var t=a.indexOf(e);a.splice(t,1)}),this.refEditor.className=\" \"+n.className+\" \"+a.join(\" \")}if(this.editor&&this.editor.getValue()!==n.value){this.silent=!0;var u=this.editor.session.selection.toJSON();this.editor.setValue(n.value,n.cursorStart),this.editor.session.selection.fromJSON(u),this.silent=!1}n.mode!==t.mode&&this.editor.getSession().setMode(\"ace/mode/\"+n.mode),n.theme!==t.theme&&this.editor.setTheme(\"ace/theme/\"+n.theme),n.keyboardHandler!==t.keyboardHandler&&(n.keyboardHandler?this.editor.setKeyboardHandler(\"ace/keyboard/\"+n.keyboardHandler):this.editor.setKeyboardHandler(null)),n.fontSize!==t.fontSize&&this.editor.setFontSize(n.fontSize),n.wrapEnabled!==t.wrapEnabled&&this.editor.getSession().setUseWrapMode(n.wrapEnabled),n.showPrintMargin!==t.showPrintMargin&&this.editor.setShowPrintMargin(n.showPrintMargin),n.showGutter!==t.showGutter&&this.editor.renderer.setShowGutter(n.showGutter),(0,g.default)(n.setOptions,t.setOptions)||this.handleOptions(n),(0,g.default)(n.annotations,t.annotations)||this.editor.getSession().setAnnotations(n.annotations||[]),!(0,g.default)(n.markers,t.markers)&&Array.isArray(n.markers)&&this.handleMarkers(n.markers),(0,g.default)(n.scrollMargin,t.scrollMargin)||this.handleScrollMargins(n.scrollMargin),e.height===this.props.height&&e.width===this.props.width||this.editor.resize(),this.props.focus&&!e.focus&&this.editor.focus()}},{key:\"handleScrollMargins\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0];this.editor.renderer.setScrollMargins(e[0],e[1],e[2],e[3])}},{key:\"componentWillUnmount\",value:function(){this.editor.destroy(),this.editor=null}},{key:\"onChange\",value:function(e){if(this.props.onChange&&!this.silent){var t=this.editor.getValue();this.props.onChange(t,e)}}},{key:\"onSelectionChange\",value:function(e){if(this.props.onSelectionChange){var t=this.editor.getSelection();this.props.onSelectionChange(t,e)}}},{key:\"onCursorChange\",value:function(e){if(this.props.onCursorChange){var t=this.editor.getSelection();this.props.onCursorChange(t,e)}}},{key:\"onInput\",value:function(e){this.props.onInput&&this.props.onInput(e)}},{key:\"onFocus\",value:function(e){this.props.onFocus&&this.props.onFocus(e)}},{key:\"onBlur\",value:function(e){this.props.onBlur&&this.props.onBlur(e,this.editor)}},{key:\"onCopy\",value:function(e){this.props.onCopy&&this.props.onCopy(e)}},{key:\"onPaste\",value:function(e){this.props.onPaste&&this.props.onPaste(e)}},{key:\"onScroll\",value:function(){this.props.onScroll&&this.props.onScroll(this.editor)}},{key:\"handleOptions\",value:function(e){for(var t=Object.keys(e.setOptions),n=0;n<t.length;n++)this.editor.setOption(t[n],e.setOptions[t[n]])}},{key:\"handleMarkers\",value:function(e){var t=this,n=this.editor.getSession().getMarkers(!0);for(var r in n)n.hasOwnProperty(r)&&this.editor.getSession().removeMarker(n[r].id);n=this.editor.getSession().getMarkers(!1);for(var o in n)n.hasOwnProperty(o)&&this.editor.getSession().removeMarker(n[o].id);e.forEach(function(e){var n=e.startRow,r=e.startCol,o=e.endRow,i=e.endCol,a=e.className,s=e.type,u=e.inFront,l=void 0!==u&&u,c=new y(n,r,o,i);t.editor.getSession().addMarker(c,a,s,l)})}},{key:\"updateRef\",value:function(e){this.refEditor=e}},{key:\"render\",value:function(){var e=this.props,t=e.name,n=e.width,r=e.height,o=e.style,i=s({width:n,height:r},o);return f.default.createElement(\"div\",{ref:this.updateRef,id:t,style:i})}}]),n}(d.Component);t.default=v,v.propTypes={mode:h.default.string,focus:h.default.bool,theme:h.default.string,name:h.default.string,className:h.default.string,height:h.default.string,width:h.default.string,fontSize:h.default.oneOfType([h.default.number,h.default.string]),showGutter:h.default.bool,onChange:h.default.func,onCopy:h.default.func,onPaste:h.default.func,onFocus:h.default.func,onInput:h.default.func,onBlur:h.default.func,onScroll:h.default.func,value:h.default.string,defaultValue:h.default.string,onLoad:h.default.func,onSelectionChange:h.default.func,onCursorChange:h.default.func,onBeforeLoad:h.default.func,onValidate:h.default.func,minLines:h.default.number,maxLines:h.default.number,readOnly:h.default.bool,highlightActiveLine:h.default.bool,tabSize:h.default.number,showPrintMargin:h.default.bool,cursorStart:h.default.number,debounceChangePeriod:h.default.number,editorProps:h.default.object,setOptions:h.default.object,style:h.default.object,scrollMargin:h.default.array,annotations:h.default.array,markers:h.default.array,keyboardHandler:h.default.string,wrapEnabled:h.default.bool,enableBasicAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),enableLiveAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),commands:h.default.array},v.defaultProps={name:\"brace-editor\",focus:!1,mode:\"\",theme:\"\",height:\"500px\",width:\"500px\",value:\"\",fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1}}).call(t,n(38))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(566),l=r(u),c=n(1),d=r(c),f=n(5),p=r(f),h=n(1161),m=r(h),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:n.props.value},n.onChange=n.onChange.bind(n),n.diff=n.diff.bind(n),n}return a(t,e),s(t,[{key:\"componentDidUpdate\",value:function(){var e=this.props.value;e!==this.state.value&&this.setState({value:e})}},{key:\"onChange\",value:function(e){this.setState({value:e}),this.props.onChange&&this.props.onChange(e)}},{key:\"diff\",value:function e(){var t=new m.default,n=this.state.value[0],r=this.state.value[1];if(0===n.length&&0===r.length)return[];var e=t.diff_main(n,r);t.diff_cleanupSemantic(e);var o=this.generateDiffedLines(e),i=this.setCodeMarkers(o);return i}},{key:\"generateDiffedLines\",value:function(e){var t={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1},n={left:[],right:[]},r={left:1,right:1};return e.forEach(function(e){var o=e[0],i=e[1],a=i.split(\"\\n\").length-1;if(0!==i.length){var s=i[0],u=i[i.length-1],l=0;switch(o){case t.DIFF_EQUAL:r.left+=a,r.right+=a;break;case t.DIFF_DELETE:\"\\n\"===s&&(r.left++,a--),l=a,0===l&&n.right.push({startLine:r.right,endLine:r.right}),\"\\n\"===u&&(l-=1),n.left.push({startLine:r.left,endLine:r.left+l}),r.left+=a;break;case t.DIFF_INSERT:\"\\n\"===s&&(r.right++,a--),l=a,0===l&&n.left.push({startLine:r.left,endLine:r.left}),\"\\n\"===u&&(l-=1),n.right.push({startLine:r.right,endLine:r.right+l}),r.right+=a;break;default:throw new Error(\"Diff type was not defined.\")}}}),n}},{key:\"setCodeMarkers\",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{left:[],right:[]},t=[],n={left:[],right:[]},r=0;r<e.left.length;r++){var o={startRow:e.left[r].startLine-1,endRow:e.left[r].endLine,type:\"text\",className:\"codeMarker\"};n.left.push(o)}for(var i=0;i<e.right.length;i++){var a={startRow:e.right[i].startLine-1,endRow:e.right[i].endLine,type:\"text\",className:\"codeMarker\"};n.right.push(a)}return t[0]=n.left,t[1]=n.right,t}},{key:\"render\",value:function(){var e=this.diff();return d.default.createElement(l.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:e})}}]),t}(c.Component);t.default=g,g.propTypes={cursorStart:p.default.number,editorProps:p.default.object,enableBasicAutocompletion:p.default.bool,enableLiveAutocompletion:p.default.bool,focus:p.default.bool,fontSize:p.default.number,height:p.default.string,highlightActiveLine:p.default.bool,maxLines:p.default.func,minLines:p.default.func,mode:p.default.string,name:p.default.string,className:p.default.string,onLoad:p.default.func,onPaste:p.default.func,onScroll:p.default.func,onChange:p.default.func,orientation:p.default.string,readOnly:p.default.bool,scrollMargin:p.default.array,setOptions:p.default.object,showGutter:p.default.bool,showPrintMargin:p.default.bool,splits:p.default.number,style:p.default.object,tabSize:p.default.number,theme:p.default.string,value:p.default.array,width:p.default.string,wrapEnabled:p.default.bool},g.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:\"500px\",highlightActiveLine:!0,maxLines:null,minLines:null,mode:\"\",name:\"brace-editor\",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:\"beside\",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:\"github\",value:[\"\",\"\"],width:\"500px\",wrapEnabled:!0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.diff=t.split=void 0;var o=n(1401),i=r(o),a=n(566),s=r(a),u=n(1402),l=r(u);t.split=s.default,t.diff=l.default,t.default=i.default},function(e,t,n){(function(e){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(5),f=r(d),p=n(1653),h=r(p),m=n(1411),g=r(m),_=n(1406),b=function(){return!0},y=function(e){return e.trim().length>0},v=function(e){var t=e.containerProps,n=e.children;return c.default.createElement(\"div\",t,n)},M=function(t){function n(e){var t=e.alwaysRenderSuggestions;o(this,n);var r=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return A.call(r),r.state={isFocused:!1,isCollapsed:!t,highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:null},r.justPressedUpDown=!1,r.justMouseEntered=!1,r.pressedSuggestion=null,r}return a(n,t),u(n,[{key:\"componentDidMount\",value:function(){document.addEventListener(\"mousedown\",this.onDocumentMouseDown),document.addEventListener(\"mouseup\",this.onDocumentMouseUp),this.input=this.autowhatever.input,this.suggestionsContainer=this.autowhatever.itemsContainer}},{key:\"componentWillReceiveProps\",value:function(e){(0,h.default)(e.suggestions,this.props.suggestions)?e.highlightFirstSuggestion&&e.suggestions.length>0&&this.justPressedUpDown===!1&&this.justMouseEntered===!1&&this.highlightFirstSuggestion():this.willRenderSuggestions(e)?this.state.isCollapsed&&!this.justSelectedSuggestion&&this.revealSuggestions():this.resetHighlightedSuggestion()}},{key:\"componentDidUpdate\",value:function(e,t){var n=this.props,r=n.suggestions,o=n.onSuggestionHighlighted,i=n.highlightFirstSuggestion;if(!(0,h.default)(r,e.suggestions)&&r.length>0&&i)return void this.highlightFirstSuggestion();if(o){var a=this.getHighlightedSuggestion(),s=t.highlightedSuggestion;a!=s&&o({suggestion:a})}}},{key:\"componentWillUnmount\",value:function(){document.removeEventListener(\"mousedown\",this.onDocumentMouseDown),document.removeEventListener(\"mouseup\",this.onDocumentMouseUp)}},{key:\"updateHighlightedSuggestion\",value:function(e,t,n){var r=this;this.setState(function(o){var i=o.valueBeforeUpDown;return null===t?i=null:null===i&&\"undefined\"!=typeof n&&(i=n),{highlightedSectionIndex:e,highlightedSuggestionIndex:t,highlightedSuggestion:null===t?null:r.getSuggestion(e,t),valueBeforeUpDown:i}})}},{key:\"resetHighlightedSuggestion\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.setState(function(t){var n=t.valueBeforeUpDown;return{highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:e?null:n}})}},{key:\"revealSuggestions\",value:function(){this.setState({isCollapsed:!1})}},{key:\"closeSuggestions\",value:function(){this.setState({highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:null,isCollapsed:!0})}},{key:\"getSuggestion\",value:function(e,t){var n=this.props,r=n.suggestions,o=n.multiSection,i=n.getSectionSuggestions;return o?i(r[e])[t]:r[t]}},{key:\"getHighlightedSuggestion\",value:function(){var e=this.state,t=e.highlightedSectionIndex,n=e.highlightedSuggestionIndex;return null===n?null:this.getSuggestion(t,n)}},{key:\"getSuggestionValueByIndex\",value:function(e,t){var n=this.props.getSuggestionValue;return n(this.getSuggestion(e,t))}},{key:\"getSuggestionIndices\",value:function(e){var t=e.getAttribute(\"data-section-index\"),n=e.getAttribute(\"data-suggestion-index\");return{sectionIndex:\"string\"==typeof t?parseInt(t,10):null,suggestionIndex:parseInt(n,10)}}},{key:\"findSuggestionElement\",value:function(t){var n=t;do{if(null!==n.getAttribute(\"data-suggestion-index\"))return n;n=n.parentNode}while(null!==n);throw e.error(\"Clicked element:\",t),new Error(\"Couldn't find suggestion element\")}},{key:\"maybeCallOnChange\",value:function(e,t,n){var r=this.props.inputProps,o=r.value,i=r.onChange;t!==o&&i(e,{newValue:t,method:n})}},{key:\"willRenderSuggestions\",value:function(e){var t=e.suggestions,n=e.inputProps,r=e.shouldRenderSuggestions,o=n.value;return t.length>0&&r(o)}},{key:\"getQuery\",value:function(){var e=this.props.inputProps,t=e.value,n=this.state.valueBeforeUpDown;return(null===n?t:n).trim()}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.suggestions,r=t.renderInputComponent,o=t.onSuggestionsFetchRequested,i=t.renderSuggestion,a=t.inputProps,u=t.multiSection,l=t.renderSectionTitle,d=t.id,f=t.getSectionSuggestions,p=t.theme,h=t.getSuggestionValue,m=t.alwaysRenderSuggestions,y=t.highlightFirstSuggestion,v=this.state,M=v.isFocused,A=v.isCollapsed,w=v.highlightedSectionIndex,C=v.highlightedSuggestionIndex,E=v.valueBeforeUpDown,L=m?b:this.props.shouldRenderSuggestions,T=a.value,O=a.onFocus,S=a.onKeyDown,N=this.willRenderSuggestions(this.props),k=m||M&&!A&&N,D=k?n:[],x=s({},a,{onFocus:function(t){if(!e.justSelectedSuggestion&&!e.justClickedOnSuggestionsContainer){var n=L(T);e.setState({isFocused:!0,isCollapsed:!n}),O&&O(t),n&&o({value:T,reason:\"input-focused\"})}},onBlur:function(t){return e.justClickedOnSuggestionsContainer?void e.input.focus():(e.blurEvent=t,void(e.justSelectedSuggestion||(e.onBlur(),e.onSuggestionsClearRequested())))},onChange:function(t){var n=t.target.value,r=L(n);e.maybeCallOnChange(t,n,\"type\"),e.setState(s({},y?{}:{highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null},{valueBeforeUpDown:null,isCollapsed:!r})),r?o({value:n,reason:\"input-changed\"}):e.onSuggestionsClearRequested()},onKeyDown:function(t,r){var i=t.keyCode;switch(i){case 40:case 38:if(A)L(T)&&(o({value:T,reason:\"suggestions-revealed\"}),e.revealSuggestions());else if(n.length>0){var a=r.newHighlightedSectionIndex,s=r.newHighlightedItemIndex,u=void 0;u=null===s?null===E?T:E:e.getSuggestionValueByIndex(a,s),e.updateHighlightedSuggestion(a,s,T),e.maybeCallOnChange(t,u,40===i?\"down\":\"up\")}t.preventDefault(),e.justPressedUpDown=!0,setTimeout(function(){e.justPressedUpDown=!1});break;case 13:if(229===t.keyCode)break;var l=e.getHighlightedSuggestion();if(k&&!m&&e.closeSuggestions(),null!=l){var c=h(l);e.maybeCallOnChange(t,c,\"enter\"),e.onSuggestionSelected(t,{suggestion:l,suggestionValue:c,suggestionIndex:C,sectionIndex:w,method:\"enter\"}),e.justSelectedSuggestion=!0,setTimeout(function(){e.justSelectedSuggestion=!1})}break;case 27:k&&t.preventDefault();var d=k&&!m;if(null===E){if(!d){var f=\"\";e.maybeCallOnChange(t,f,\"escape\"),L(f)?o({value:f,reason:\"escape-pressed\"}):e.onSuggestionsClearRequested()}}else e.maybeCallOnChange(t,E,\"escape\");d?(e.onSuggestionsClearRequested(),e.closeSuggestions()):e.resetHighlightedSuggestion()}S&&S(t)}}),I={query:this.getQuery()};return c.default.createElement(g.default,{multiSection:u,items:D,renderInputComponent:r,renderItemsContainer:this.renderSuggestionsContainer,renderItem:i,renderItemData:I,renderSectionTitle:l,getSectionItems:f,highlightedSectionIndex:w,highlightedItemIndex:C,inputProps:x,itemProps:this.itemProps,theme:(0,_.mapToAutowhateverTheme)(p),id:d,ref:this.storeAutowhateverRef})}}]),n}(l.Component);M.propTypes={suggestions:f.default.array.isRequired,onSuggestionsFetchRequested:function e(t,n){var e=t[n];if(\"function\"!=typeof e)throw new Error(\"'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp\")},onSuggestionsClearRequested:function e(t,n){var e=t[n];if(t.alwaysRenderSuggestions===!1&&\"function\"!=typeof e)throw new Error(\"'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp\")},onSuggestionSelected:f.default.func,onSuggestionHighlighted:f.default.func,renderInputComponent:f.default.func,renderSuggestionsContainer:f.default.func,getSuggestionValue:f.default.func.isRequired,renderSuggestion:f.default.func.isRequired,inputProps:function e(t,n){var e=t[n];if(!e.hasOwnProperty(\"value\"))throw new Error(\"'inputProps' must have 'value'.\");if(!e.hasOwnProperty(\"onChange\"))throw new Error(\"'inputProps' must have 'onChange'.\")},shouldRenderSuggestions:f.default.func,alwaysRenderSuggestions:f.default.bool,multiSection:f.default.bool,renderSectionTitle:function e(t,n){var e=t[n];if(t.multiSection===!0&&\"function\"!=typeof e)throw new Error(\"'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp\")},getSectionSuggestions:function e(t,n){var e=t[n];if(t.multiSection===!0&&\"function\"!=typeof e)throw new Error(\"'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp\")},focusInputOnSuggestionClick:f.default.bool,highlightFirstSuggestion:f.default.bool,theme:f.default.object,id:f.default.string},M.defaultProps={renderSuggestionsContainer:v,shouldRenderSuggestions:y,alwaysRenderSuggestions:!1,multiSection:!1,focusInputOnSuggestionClick:!0,highlightFirstSuggestion:!1,theme:_.defaultTheme,id:\"1\"};var A=function(){var e=this;this.onDocumentMouseDown=function(t){e.justClickedOnSuggestionsContainer=!1;for(var n=t.detail&&t.detail.target||t.target;null!==n&&n!==document;){if(null!==n.getAttribute(\"data-suggestion-index\"))return;if(n===e.suggestionsContainer)return void(e.justClickedOnSuggestionsContainer=!0);n=n.parentNode}},this.storeAutowhateverRef=function(t){null!==t&&(e.autowhatever=t)},this.onSuggestionMouseEnter=function(t,n){var r=n.sectionIndex,o=n.itemIndex;e.updateHighlightedSuggestion(r,o),t.target===e.pressedSuggestion&&(e.justSelectedSuggestion=!0),e.justMouseEntered=!0,setTimeout(function(){e.justMouseEntered=!1})},this.highlightFirstSuggestion=function(){e.updateHighlightedSuggestion(e.props.multiSection?0:null,0)},this.onDocumentMouseUp=function(){e.pressedSuggestion&&!e.justSelectedSuggestion&&e.input.focus(),e.pressedSuggestion=null},this.onSuggestionMouseDown=function(t){e.justSelectedSuggestion||(e.justSelectedSuggestion=!0,e.pressedSuggestion=t.target)},this.onSuggestionsClearRequested=function(){var t=e.props.onSuggestionsClearRequested;t&&t()},this.onSuggestionSelected=function(t,n){var r=e.props,o=r.alwaysRenderSuggestions,i=r.onSuggestionSelected,a=r.onSuggestionsFetchRequested;i&&i(t,n),o?a({value:n.suggestionValue,reason:\"suggestion-selected\"}):e.onSuggestionsClearRequested(),e.resetHighlightedSuggestion()},this.onSuggestionClick=function(t){var n=e.props,r=n.alwaysRenderSuggestions,o=n.focusInputOnSuggestionClick,i=e.getSuggestionIndices(e.findSuggestionElement(t.target)),a=i.sectionIndex,s=i.suggestionIndex,u=e.getSuggestion(a,s),l=e.props.getSuggestionValue(u);e.maybeCallOnChange(t,l,\"click\"),e.onSuggestionSelected(t,{suggestion:u,suggestionValue:l,suggestionIndex:s,sectionIndex:a,method:\"click\"}),r||e.closeSuggestions(),o===!0?e.input.focus():e.onBlur(),setTimeout(function(){e.justSelectedSuggestion=!1})},this.onBlur=function(){var t=e.props,n=t.inputProps,r=t.shouldRenderSuggestions,o=n.value,i=n.onBlur,a=e.getHighlightedSuggestion(),s=r(o);e.setState({isFocused:!1,highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:null,isCollapsed:!s}),i&&i(e.blurEvent,{highlightedSuggestion:a})},this.onSuggestionMouseLeave=function(t){e.resetHighlightedSuggestion(!1),e.justSelectedSuggestion&&t.target===e.pressedSuggestion&&(e.justSelectedSuggestion=!1)},this.onSuggestionTouchStart=function(){e.justSelectedSuggestion=!0},this.onSuggestionTouchMove=function(){e.justSelectedSuggestion=!1,e.pressedSuggestion=null,e.input.focus()},this.itemProps=function(t){var n=t.sectionIndex,r=t.itemIndex;return{\"data-section-index\":n,\"data-suggestion-index\":r,onMouseEnter:e.onSuggestionMouseEnter,onMouseLeave:e.onSuggestionMouseLeave,onMouseDown:e.onSuggestionMouseDown,onTouchStart:e.onSuggestionTouchStart,onTouchMove:e.onSuggestionTouchMove,onClick:e.onSuggestionClick}},this.renderSuggestionsContainer=function(t){var n=t.containerProps,r=t.children,o=e.props.renderSuggestionsContainer;return o({\ncontainerProps:n,children:r,query:e.getQuery()})}};t.default=M}).call(t,n(38))},function(e,t,n){\"use strict\";e.exports=n(1404).default},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.defaultTheme={container:\"react-autosuggest__container\",containerOpen:\"react-autosuggest__container--open\",input:\"react-autosuggest__input\",inputOpen:\"react-autosuggest__input--open\",inputFocused:\"react-autosuggest__input--focused\",suggestionsContainer:\"react-autosuggest__suggestions-container\",suggestionsContainerOpen:\"react-autosuggest__suggestions-container--open\",suggestionsList:\"react-autosuggest__suggestions-list\",suggestion:\"react-autosuggest__suggestion\",suggestionFirst:\"react-autosuggest__suggestion--first\",suggestionHighlighted:\"react-autosuggest__suggestion--highlighted\",sectionContainer:\"react-autosuggest__section-container\",sectionContainerFirst:\"react-autosuggest__section-container--first\",sectionTitle:\"react-autosuggest__section-title\"},t.mapToAutowhateverTheme=function(e){var t={};for(var n in e)switch(n){case\"suggestionsContainer\":t.itemsContainer=e[n];break;case\"suggestionsContainerOpen\":t.itemsContainerOpen=e[n];break;case\"suggestion\":t.item=e[n];break;case\"suggestionFirst\":t.itemFirst=e[n];break;case\"suggestionHighlighted\":t.itemHighlighted=e[n];break;case\"suggestionsList\":t.itemsList=e[n];break;default:t[n]=e[n]}return t}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(5),p=r(f),h=n(1647),m=r(h),g=n(1599),_=r(g),b=n(1410),y=r(b),v=n(1409),M=r(v),A={},w=function(e){return d.default.createElement(\"input\",e)},C=function(e){var t=e.containerProps,n=e.children;return d.default.createElement(\"div\",t,n)},E={container:\"react-autowhatever__container\",containerOpen:\"react-autowhatever__container--open\",input:\"react-autowhatever__input\",inputOpen:\"react-autowhatever__input--open\",inputFocused:\"react-autowhatever__input--focused\",itemsContainer:\"react-autowhatever__items-container\",itemsContainerOpen:\"react-autowhatever__items-container--open\",itemsList:\"react-autowhatever__items-list\",item:\"react-autowhatever__item\",itemFirst:\"react-autowhatever__item--first\",itemHighlighted:\"react-autowhatever__item--highlighted\",sectionContainer:\"react-autowhatever__section-container\",sectionContainerFirst:\"react-autowhatever__section-container--first\",sectionTitle:\"react-autowhatever__section-title\"},L=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.storeInputReference=function(e){null!==e&&(n.input=e)},n.storeItemsContainerReference=function(e){null!==e&&(n.itemsContainer=e)},n.onHighlightedItemChange=function(e){n.highlightedItem=e},n.getItemId=function(e,t){if(null===t)return null;var r=n.props.id,o=null===e?\"\":\"section-\"+e;return\"react-autowhatever-\"+r+\"-\"+o+\"-item-\"+t},n.onFocus=function(e){var t=n.props.inputProps;n.setState({isInputFocused:!0}),t.onFocus&&t.onFocus(e)},n.onBlur=function(e){var t=n.props.inputProps;n.setState({isInputFocused:!1}),t.onBlur&&t.onBlur(e)},n.onKeyDown=function(e){var t=n.props,r=t.inputProps,o=t.highlightedSectionIndex,i=t.highlightedItemIndex;switch(e.key){case\"ArrowDown\":case\"ArrowUp\":var a=\"ArrowDown\"===e.key?\"next\":\"prev\",s=n.sectionIterator[a]([o,i]),l=u(s,2),c=l[0],d=l[1];r.onKeyDown(e,{newHighlightedSectionIndex:c,newHighlightedItemIndex:d});break;default:r.onKeyDown(e,{highlightedSectionIndex:o,highlightedItemIndex:i})}},n.highlightedItem=null,n.state={isInputFocused:!1},n.setSectionsItems(e),n.setSectionIterator(e),n.setTheme(e),n}return a(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.ensureHighlightedItemIsVisible()}},{key:\"componentWillReceiveProps\",value:function(e){e.items!==this.props.items&&this.setSectionsItems(e),e.items===this.props.items&&e.multiSection===this.props.multiSection||this.setSectionIterator(e),e.theme!==this.props.theme&&this.setTheme(e)}},{key:\"componentDidUpdate\",value:function(){this.ensureHighlightedItemIsVisible()}},{key:\"setSectionsItems\",value:function(e){e.multiSection&&(this.sectionsItems=e.items.map(function(t){return e.getSectionItems(t)}),this.sectionsLengths=this.sectionsItems.map(function(e){return e.length}),this.allSectionsAreEmpty=this.sectionsLengths.every(function(e){return 0===e}))}},{key:\"setSectionIterator\",value:function(e){this.sectionIterator=(0,m.default)({multiSection:e.multiSection,data:e.multiSection?this.sectionsLengths:e.items.length})}},{key:\"setTheme\",value:function(e){this.theme=(0,_.default)(e.theme)}},{key:\"renderSections\",value:function(){var e=this;if(this.allSectionsAreEmpty)return null;var t=this.theme,n=this.props,r=n.id,o=n.items,i=n.renderItem,a=n.renderItemData,s=n.renderSectionTitle,u=n.highlightedSectionIndex,l=n.highlightedItemIndex,c=n.itemProps;return o.map(function(n,o){var f=\"react-autowhatever-\"+r+\"-\",p=f+\"section-\"+o+\"-\",h=0===o;return d.default.createElement(\"div\",t(p+\"container\",\"sectionContainer\",h&&\"sectionContainerFirst\"),d.default.createElement(y.default,{section:n,renderSectionTitle:s,theme:t,sectionKeyPrefix:p}),d.default.createElement(M.default,{items:e.sectionsItems[o],itemProps:c,renderItem:i,renderItemData:a,sectionIndex:o,highlightedItemIndex:u===o?l:null,onHighlightedItemChange:e.onHighlightedItemChange,getItemId:e.getItemId,theme:t,keyPrefix:f,ref:e.storeItemsListReference}))})}},{key:\"renderItems\",value:function(){var e=this.props.items;if(0===e.length)return null;var t=this.theme,n=this.props,r=n.id,o=n.renderItem,i=n.renderItemData,a=n.highlightedSectionIndex,s=n.highlightedItemIndex,u=n.itemProps;return d.default.createElement(M.default,{items:e,itemProps:u,renderItem:o,renderItemData:i,highlightedItemIndex:null===a?s:null,onHighlightedItemChange:this.onHighlightedItemChange,getItemId:this.getItemId,theme:t,keyPrefix:\"react-autowhatever-\"+r+\"-\"})}},{key:\"ensureHighlightedItemIsVisible\",value:function(){var e=this.highlightedItem;if(e){var t=this.itemsContainer,n=e.offsetParent===t?e.offsetTop:e.offsetTop-t.offsetTop,r=t.scrollTop;n<r?r=n:n+e.offsetHeight>r+t.offsetHeight&&(r=n+e.offsetHeight-t.offsetHeight),r!==t.scrollTop&&(t.scrollTop=r)}}},{key:\"render\",value:function(){var e=this.theme,t=this.props,n=t.id,r=t.multiSection,o=t.renderInputComponent,i=t.renderItemsContainer,a=t.highlightedSectionIndex,u=t.highlightedItemIndex,l=this.state.isInputFocused,c=r?this.renderSections():this.renderItems(),f=null!==c,p=this.getItemId(a,u),h=\"react-autowhatever-\"+n,m=s({role:\"combobox\",\"aria-haspopup\":\"listbox\",\"aria-owns\":h,\"aria-expanded\":f},e(\"react-autowhatever-\"+n+\"-container\",\"container\",f&&\"containerOpen\")),g=o(s({type:\"text\",value:\"\",autoComplete:\"off\",\"aria-autocomplete\":\"list\",\"aria-controls\":h,\"aria-activedescendant\":p},e(\"react-autowhatever-\"+n+\"-input\",\"input\",f&&\"inputOpen\",l&&\"inputFocused\"),this.props.inputProps,{onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.props.inputProps.onKeyDown&&this.onKeyDown,ref:this.storeInputReference})),_=i({containerProps:s({id:h,role:\"listbox\"},e(\"react-autowhatever-\"+n+\"-items-container\",\"itemsContainer\",f&&\"itemsContainerOpen\"),{ref:this.storeItemsContainerReference}),children:c});return d.default.createElement(\"div\",m,g,_)}}]),t}(c.Component);L.propTypes={id:p.default.string,multiSection:p.default.bool,renderInputComponent:p.default.func,renderItemsContainer:p.default.func,items:p.default.array.isRequired,renderItem:p.default.func,renderItemData:p.default.object,renderSectionTitle:p.default.func,getSectionItems:p.default.func,inputProps:p.default.object,itemProps:p.default.oneOfType([p.default.object,p.default.func]),highlightedSectionIndex:p.default.number,highlightedItemIndex:p.default.number,theme:p.default.oneOfType([p.default.object,p.default.array])},L.defaultProps={id:\"1\",multiSection:!1,renderInputComponent:w,renderItemsContainer:C,renderItem:function(){throw new Error(\"`renderItem` must be provided\")},renderItemData:A,renderSectionTitle:function(){throw new Error(\"`renderSectionTitle` must be provided\")},getSectionItems:function(){throw new Error(\"`getSectionItems` must be provided\")},inputProps:A,itemProps:A,highlightedSectionIndex:null,highlightedItemIndex:null,theme:E},t.default=L},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(5),p=r(f),h=n(304),m=r(h),g=function(e){function t(){var e,n,r,o;i(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.storeItemReference=function(e){null!==e&&(r.item=e)},r.onMouseEnter=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onMouseEnter(e,{sectionIndex:n,itemIndex:o})},r.onMouseLeave=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onMouseLeave(e,{sectionIndex:n,itemIndex:o})},r.onMouseDown=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onMouseDown(e,{sectionIndex:n,itemIndex:o})},r.onClick=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onClick(e,{sectionIndex:n,itemIndex:o})},o=n,a(r,o)}return s(t,e),l(t,[{key:\"shouldComponentUpdate\",value:function(e){return(0,m.default)(e,this.props,[\"renderItemData\"])}},{key:\"render\",value:function(){var e=this.props,t=e.isHighlighted,n=e.item,r=e.renderItem,i=e.renderItemData,a=o(e,[\"isHighlighted\",\"item\",\"renderItem\",\"renderItemData\"]);return delete a.sectionIndex,delete a.itemIndex,\"function\"==typeof a.onMouseEnter&&(a.onMouseEnter=this.onMouseEnter),\"function\"==typeof a.onMouseLeave&&(a.onMouseLeave=this.onMouseLeave),\"function\"==typeof a.onMouseDown&&(a.onMouseDown=this.onMouseDown),\"function\"==typeof a.onClick&&(a.onClick=this.onClick),d.default.createElement(\"li\",u({role:\"option\"},a,{ref:this.storeItemReference}),r(n,u({isHighlighted:t},i)))}}]),t}(c.Component);g.propTypes={sectionIndex:p.default.number,isHighlighted:p.default.bool.isRequired,itemIndex:p.default.number.isRequired,item:p.default.any.isRequired,renderItem:p.default.func.isRequired,renderItemData:p.default.object.isRequired,onMouseEnter:p.default.func,onMouseLeave:p.default.func,onMouseDown:p.default.func,onClick:p.default.func},t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(5),f=r(d),p=n(1408),h=r(p),m=n(304),g=r(m),_=function(e){function t(){var e,n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.storeHighlightedItemReference=function(e){r.props.onHighlightedItemChange(null===e?null:e.item)},a=n,i(r,a)}return a(t,e),u(t,[{key:\"shouldComponentUpdate\",value:function(e){return(0,g.default)(e,this.props,[\"itemProps\"])}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.items,r=t.itemProps,o=t.renderItem,i=t.renderItemData,a=t.sectionIndex,u=t.highlightedItemIndex,l=t.getItemId,d=t.theme,f=t.keyPrefix,p=null===a?f:f+\"section-\"+a+\"-\",m=\"function\"==typeof r;return c.default.createElement(\"ul\",s({role:\"listbox\"},d(p+\"items-list\",\"itemsList\")),n.map(function(t,n){var f=0===n,g=n===u,_=p+\"item-\"+n,b=m?r({sectionIndex:a,itemIndex:n}):r,y=s({id:l(a,n),\"aria-selected\":g},d(_,\"item\",f&&\"itemFirst\",g&&\"itemHighlighted\"),b);return g&&(y.ref=e.storeHighlightedItemReference),c.default.createElement(h.default,s({},y,{sectionIndex:a,isHighlighted:g,itemIndex:n,item:t,renderItem:o,renderItemData:i}))}))}}]),t}(l.Component);_.propTypes={items:f.default.array.isRequired,itemProps:f.default.oneOfType([f.default.object,f.default.func]),renderItem:f.default.func.isRequired,renderItemData:f.default.object.isRequired,sectionIndex:f.default.number,highlightedItemIndex:f.default.number,onHighlightedItemChange:f.default.func.isRequired,getItemId:f.default.func.isRequired,theme:f.default.func.isRequired,keyPrefix:f.default.string.isRequired},_.defaultProps={sectionIndex:null},t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(5),d=r(c),f=n(304),p=r(f),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"shouldComponentUpdate\",value:function(e){return(0,p.default)(e,this.props)}},{key:\"render\",value:function(){var e=this.props,t=e.section,n=e.renderSectionTitle,r=e.theme,o=e.sectionKeyPrefix,i=n(t);return i?l.default.createElement(\"div\",r(o+\"title\",\"sectionTitle\"),i):null}}]),t}(u.Component);h.propTypes={section:d.default.any.isRequired,renderSectionTitle:d.default.func.isRequired,theme:d.default.func.isRequired,sectionKeyPrefix:d.default.string.isRequired},t.default=h},function(e,t,n){\"use strict\";e.exports=n(1407).default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(1),p=r(f),h=n(583),m=r(h),g=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return p.default.createElement(m.default,(0,i.default)({},this.props,{accordion:!0}),this.props.children)},t}(p.default.Component);t.default=g,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(13),w=n(40),C={onDismiss:M.default.func,closeLabel:M.default.string},E={closeLabel:\"Close alert\"},L=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderDismissButton=function(e){return y.default.createElement(\"button\",{type:\"button\",className:\"close\",onClick:e,\"aria-hidden\":\"true\",tabIndex:\"-1\"},y.default.createElement(\"span\",null,\"×\"))},t.prototype.renderSrOnlyDismissButton=function(e,t){return y.default.createElement(\"button\",{type:\"button\",className:\"close sr-only\",onClick:e},t)},t.prototype.render=function(){var e,t=this.props,n=t.onDismiss,r=t.closeLabel,o=t.className,i=t.children,a=(0,l.default)(t,[\"onDismiss\",\"closeLabel\",\"className\",\"children\"]),u=(0,A.splitBsProps)(a),c=u[0],d=u[1],f=!!n,p=(0,s.default)({},(0,A.getClassSet)(c),(e={},e[(0,A.prefix)(c,\"dismissable\")]=f,e));return y.default.createElement(\"div\",(0,s.default)({},d,{role:\"alert\",className:(0,_.default)(o,p)}),f&&this.renderDismissButton(n),i,f&&this.renderSrOnlyDismissButton(n,r))},t}(y.default.Component);L.propTypes=C,L.defaultProps=E,t.default=(0,A.bsStyles)((0,i.default)(w.State),w.State.INFO,(0,A.bsClass)(\"alert\",L)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={pullRight:y.default.bool},A={pullRight:!1},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.hasContent=function(e){var t=!1;return _.default.Children.forEach(e,function(e){t||(e||0===e)&&(t=!0)}),t},t.prototype.render=function(){var e=this.props,t=e.pullRight,n=e.className,r=e.children,o=(0,s.default)(e,[\"pullRight\",\"className\",\"children\"]),a=(0,v.splitBsProps)(o),u=a[0],l=a[1],c=(0,i.default)({},(0,v.getClassSet)(u),{\"pull-right\":t,hidden:!this.hasContent(r)});return _.default.createElement(\"span\",(0,i.default)({},l,{className:(0,m.default)(n,c)}),r)},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"badge\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(567),y=r(b),v=n(13),M=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,v.splitBsProps)(n),o=r[0],a=r[1],u=(0,v.getClassSet)(o);return _.default.createElement(\"ol\",(0,i.default)({},a,{role:\"navigation\",\"aria-label\":\"breadcrumbs\",className:(0,m.default)(t,u)}))},t}(_.default.Component);M.Item=y.default,t.default=(0,v.bsClass)(\"breadcrumb\",M),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(166),y=r(b),v=n(13),M=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,v.splitBsProps)(n),o=r[0],a=r[1],u=(0,v.getClassSet)(o);return _.default.createElement(\"div\",(0,i.default)({},a,{role:\"toolbar\",className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,v.bsClass)(\"btn-toolbar\",(0,v.bsSizes)(y.default.SIZES,M)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(1418),M=r(v),A=n(569),w=r(A),C=n(306),E=r(C),L=n(75),T=r(L),O=n(13),S=n(52),N=r(S),k={slide:y.default.bool,indicators:y.default.bool,interval:y.default.number,controls:y.default.bool,pauseOnHover:y.default.bool,wrap:y.default.bool,onSelect:y.default.func,onSlideEnd:y.default.func,activeIndex:y.default.number,defaultActiveIndex:y.default.number,direction:y.default.oneOf([\"prev\",\"next\"]),prevIcon:y.default.node,prevLabel:y.default.string,nextIcon:y.default.node,nextLabel:y.default.string},D={slide:!0,interval:5e3,pauseOnHover:!0,wrap:!0,indicators:!0,controls:!0,prevIcon:_.default.createElement(E.default,{glyph:\"chevron-left\"}),prevLabel:\"Previous\",nextIcon:_.default.createElement(E.default,{glyph:\"chevron-right\"}),nextLabel:\"Next\"},x=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));o.handleMouseOver=o.handleMouseOver.bind(o),o.handleMouseOut=o.handleMouseOut.bind(o),o.handlePrev=o.handlePrev.bind(o),o.handleNext=o.handleNext.bind(o),o.handleItemAnimateOutEnd=o.handleItemAnimateOutEnd.bind(o);var i=n.defaultActiveIndex;return o.state={activeIndex:null!=i?i:0,previousActiveIndex:null,direction:null},o.isUnmounted=!1,o}return(0,p.default)(t,e),t.prototype.componentWillReceiveProps=function(e){var t=this.getActiveIndex();null!=e.activeIndex&&e.activeIndex!==t&&(clearTimeout(this.timeout),this.setState({previousActiveIndex:t,direction:null!=e.direction?e.direction:this.getDirection(t,e.activeIndex)}))},t.prototype.componentDidMount=function(){this.waitForNext()},t.prototype.componentWillUnmount=function(){clearTimeout(this.timeout),this.isUnmounted=!0},t.prototype.handleMouseOver=function(){this.props.pauseOnHover&&this.pause()},t.prototype.handleMouseOut=function(){this.isPaused&&this.play()},t.prototype.handlePrev=function(e){var t=this.getActiveIndex()-1;if(t<0){if(!this.props.wrap)return;t=N.default.count(this.props.children)-1}this.select(t,e,\"prev\")},t.prototype.handleNext=function(e){var t=this.getActiveIndex()+1,n=N.default.count(this.props.children);if(t>n-1){if(!this.props.wrap)return;t=0}this.select(t,e,\"next\")},t.prototype.handleItemAnimateOutEnd=function(){var e=this;this.setState({previousActiveIndex:null,direction:null},function(){e.waitForNext(),e.props.onSlideEnd&&e.props.onSlideEnd()})},t.prototype.getActiveIndex=function(){var e=this.props.activeIndex;return null!=e?e:this.state.activeIndex},t.prototype.getDirection=function(e,t){return e===t?null:e>t?\"prev\":\"next\"},t.prototype.select=function(e,t,n){if(clearTimeout(this.timeout),!this.isUnmounted){var r=this.props.slide?this.getActiveIndex():null;n=n||this.getDirection(r,e);var o=this.props.onSelect;if(o&&(o.length>1?(t?(t.persist(),t.direction=n):t={direction:n},o(e,t)):o(e)),null==this.props.activeIndex&&e!==r){if(null!=this.state.previousActiveIndex)return;this.setState({activeIndex:e,previousActiveIndex:r,direction:n})}}},t.prototype.waitForNext=function(){var e=this.props,t=e.slide,n=e.interval,r=e.activeIndex;!this.isPaused&&t&&n&&null==r&&(this.timeout=setTimeout(this.handleNext,n))},t.prototype.pause=function(){this.isPaused=!0,clearTimeout(this.timeout)},t.prototype.play=function(){this.isPaused=!1,this.waitForNext()},t.prototype.renderIndicators=function(e,t,n){var r=this,o=[];return N.default.forEach(e,function(e,n){o.push(_.default.createElement(\"li\",{key:n,className:n===t?\"active\":null,onClick:function(e){return r.select(n,e)}}),\" \")}),_.default.createElement(\"ol\",{className:(0,O.prefix)(n,\"indicators\")},o)},t.prototype.renderControls=function(e){var t=e.wrap,n=e.children,r=e.activeIndex,o=e.prevIcon,i=e.nextIcon,a=e.bsProps,s=e.prevLabel,u=e.nextLabel,l=(0,O.prefix)(a,\"control\"),c=N.default.count(n);return[(t||0!==r)&&_.default.createElement(T.default,{key:\"prev\",className:(0,m.default)(l,\"left\"),onClick:this.handlePrev},o,s&&_.default.createElement(\"span\",{className:\"sr-only\"},s)),(t||r!==c-1)&&_.default.createElement(T.default,{key:\"next\",className:(0,m.default)(l,\"right\"),onClick:this.handleNext},i,u&&_.default.createElement(\"span\",{className:\"sr-only\"},u))]},t.prototype.render=function(){var e=this,t=this.props,n=t.slide,r=t.indicators,o=t.controls,a=t.wrap,u=t.prevIcon,l=t.prevLabel,c=t.nextIcon,d=t.nextLabel,f=t.className,p=t.children,h=(0,s.default)(t,[\"slide\",\"indicators\",\"controls\",\"wrap\",\"prevIcon\",\"prevLabel\",\"nextIcon\",\"nextLabel\",\"className\",\"children\"]),b=this.state,y=b.previousActiveIndex,v=b.direction,M=(0,O.splitBsPropsAndOmit)(h,[\"interval\",\"pauseOnHover\",\"onSelect\",\"onSlideEnd\",\"activeIndex\",\"defaultActiveIndex\",\"direction\"]),A=M[0],w=M[1],C=this.getActiveIndex(),E=(0,i.default)({},(0,O.getClassSet)(A),{slide:n});return _.default.createElement(\"div\",(0,i.default)({},w,{className:(0,m.default)(f,E),onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut}),r&&this.renderIndicators(p,C,A),_.default.createElement(\"div\",{className:(0,O.prefix)(A,\"inner\")},N.default.map(p,function(t,r){var o=r===C,i=n&&r===y;return(0,g.cloneElement)(t,{active:o,index:r,animateOut:i,animateIn:o&&null!=y&&n,direction:v,onAnimateOutEnd:i?e.handleItemAnimateOutEnd:null})})),o&&this.renderControls({wrap:a,children:p,activeIndex:C,prevIcon:u,prevLabel:l,nextIcon:c,nextLabel:d,bsProps:A}))},t}(_.default.Component);x.propTypes=k,x.defaultProps=D,x.Caption=M.default,x.Item=w.default,t.default=(0,O.bsClass)(\"carousel\",x),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"carousel-caption\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={inline:y.default.bool,disabled:y.default.bool,validationState:y.default.oneOf([\"success\",\"warning\",\"error\",null]),inputRef:y.default.func},w={inline:!1,disabled:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.inline,n=e.disabled,r=e.validationState,o=e.inputRef,a=e.className,u=e.style,l=e.children,c=(0,s.default)(e,[\"inline\",\"disabled\",\"validationState\",\"inputRef\",\"className\",\"style\",\"children\"]),d=(0,M.splitBsProps)(c),f=d[0],p=d[1],h=_.default.createElement(\"input\",(0,i.default)({},p,{ref:o,type:\"checkbox\",disabled:n}));if(t){var g,b=(g={},g[(0,M.prefix)(f,\"inline\")]=!0,g.disabled=n,g);return _.default.createElement(\"label\",{className:(0,m.default)(a,b),style:u},h,l)}var y=(0,i.default)({},(0,M.getClassSet)(f),{disabled:n});return r&&(y[\"has-\"+r]=!0),_.default.createElement(\"div\",{className:(0,m.default)(a,y),style:u},_.default.createElement(\"label\",null,h,l))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=(0,M.bsClass)(\"checkbox\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w=n(585),C=r(w),E=n(40),L={componentClass:M.default,visibleXsBlock:y.default.bool,visibleSmBlock:y.default.bool,visibleMdBlock:y.default.bool,visibleLgBlock:y.default.bool},T={componentClass:\"div\"},O=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);return E.DEVICE_SIZES.forEach(function(e){var t=\"visible\"+(0,C.default)(e)+\"Block\";u[t]&&(l[\"visible-\"+e+\"-block\"]=!0),delete u[t]}),_.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);O.propTypes=L,O.defaultProps=T,t.default=(0,A.bsClass)(\"clearfix\",O),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w=n(40),C={componentClass:M.default,xs:y.default.number,sm:y.default.number,md:y.default.number,lg:y.default.number,xsHidden:y.default.bool,smHidden:y.default.bool,mdHidden:y.default.bool,lgHidden:y.default.bool,xsOffset:y.default.number,smOffset:y.default.number,mdOffset:y.default.number,lgOffset:y.default.number,xsPush:y.default.number,smPush:y.default.number,mdPush:y.default.number,lgPush:y.default.number,xsPull:y.default.number,smPull:y.default.number,mdPull:y.default.number,lgPull:y.default.number},E={componentClass:\"div\"},L=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=[];return w.DEVICE_SIZES.forEach(function(e){function t(t,n){var r=\"\"+e+t,o=u[r];null!=o&&l.push((0,A.prefix)(a,\"\"+e+n+\"-\"+o)),delete u[r]}t(\"\",\"\"),t(\"Offset\",\"-offset\"),t(\"Push\",\"-push\"),t(\"Pull\",\"-pull\");var n=e+\"Hidden\";u[n]&&l.push(\"hidden-\"+e),delete u[n]}),_.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=(0,A.bsClass)(\"col\",L),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e\n}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={htmlFor:y.default.string,srOnly:y.default.bool},w={srOnly:!1},C={$bs_formGroup:y.default.object},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.context.$bs_formGroup,t=e&&e.controlId,n=this.props,r=n.htmlFor,o=void 0===r?t:r,a=n.srOnly,u=n.className,l=(0,s.default)(n,[\"htmlFor\",\"srOnly\",\"className\"]),c=(0,M.splitBsProps)(l),d=c[0],f=c[1],p=(0,i.default)({},(0,M.getClassSet)(d),{\"sr-only\":a});return _.default.createElement(\"label\",(0,i.default)({},f,{htmlFor:o,className:(0,m.default)(u,p)}))},t}(_.default.Component);E.propTypes=A,E.defaultProps=w,E.contextTypes=C,t.default=(0,M.bsClass)(\"control-label\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(211),y=r(b),v=n(213),M=r(v),A=(0,p.default)({},y.default.propTypes,{bsStyle:_.default.string,bsSize:_.default.string,title:_.default.node.isRequired,noCaret:_.default.bool,children:_.default.node}),w=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.bsSize,n=e.bsStyle,r=e.title,o=e.children,a=(0,i.default)(e,[\"bsSize\",\"bsStyle\",\"title\",\"children\"]),s=(0,M.default)(a,y.default.ControlledComponent),u=s[0],l=s[1];return m.default.createElement(y.default,(0,p.default)({},u,{bsSize:t,bsStyle:n}),m.default.createElement(y.default.Toggle,(0,p.default)({},l,{bsSize:t,bsStyle:n}),r),m.default.createElement(y.default.Menu,null,o))},t}(m.default.Component);w.propTypes=A,t.default=w,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(892),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(295),y=r(b),v=n(1),M=r(v),A=n(5),w=r(A),C=n(29),E=r(C),L=n(587),T=r(L),O=n(13),S=n(39),N=r(S),k=n(52),D=r(k),x={open:w.default.bool,pullRight:w.default.bool,onClose:w.default.func,labelledBy:w.default.oneOfType([w.default.string,w.default.number]),onSelect:w.default.func,rootCloseEvent:w.default.oneOf([\"click\",\"mousedown\"])},I={bsRole:\"menu\",pullRight:!1},z=function(e){function t(n){(0,d.default)(this,t);var r=(0,p.default)(this,e.call(this,n));return r.handleRootClose=r.handleRootClose.bind(r),r.handleKeyDown=r.handleKeyDown.bind(r),r}return(0,m.default)(t,e),t.prototype.handleRootClose=function(e){this.props.onClose(e,{source:\"rootClose\"})},t.prototype.handleKeyDown=function(e){switch(e.keyCode){case y.default.codes.down:this.focusNext(),e.preventDefault();break;case y.default.codes.up:this.focusPrevious(),e.preventDefault();break;case y.default.codes.esc:case y.default.codes.tab:this.props.onClose(e,{source:\"keydown\"})}},t.prototype.getItemsAndActiveIndex=function(){var e=this.getFocusableMenuItems(),t=e.indexOf(document.activeElement);return{items:e,activeIndex:t}},t.prototype.getFocusableMenuItems=function(){var e=E.default.findDOMNode(this);return e?(0,l.default)(e.querySelectorAll('[tabIndex=\"-1\"]')):[]},t.prototype.focusNext=function(){var e=this.getItemsAndActiveIndex(),t=e.items,n=e.activeIndex;if(0!==t.length){var r=n===t.length-1?0:n+1;t[r].focus()}},t.prototype.focusPrevious=function(){var e=this.getItemsAndActiveIndex(),t=e.items,n=e.activeIndex;if(0!==t.length){var r=0===n?t.length-1:n-1;t[r].focus()}},t.prototype.render=function(){var e,t=this,n=this.props,r=n.open,o=n.pullRight,a=n.labelledBy,u=n.onSelect,l=n.className,c=n.rootCloseEvent,d=n.children,f=(0,s.default)(n,[\"open\",\"pullRight\",\"labelledBy\",\"onSelect\",\"className\",\"rootCloseEvent\",\"children\"]),p=(0,O.splitBsPropsAndOmit)(f,[\"onClose\"]),h=p[0],m=p[1],g=(0,i.default)({},(0,O.getClassSet)(h),(e={},e[(0,O.prefix)(h,\"right\")]=o,e));return M.default.createElement(T.default,{disabled:!r,onRootClose:this.handleRootClose,event:c},M.default.createElement(\"ul\",(0,i.default)({},m,{role:\"menu\",className:(0,_.default)(l,g),\"aria-labelledby\":a}),D.default.map(d,function(e){return M.default.cloneElement(e,{onKeyDown:(0,N.default)(e.props.onKeyDown,t.handleKeyDown),onSelect:(0,N.default)(e.props.onSelect,u)})})))},t}(M.default.Component);z.propTypes=x,z.defaultProps=I,t.default=(0,O.bsClass)(\"dropdown-menu\",z),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w={horizontal:y.default.bool,inline:y.default.bool,componentClass:M.default},C={horizontal:!1,inline:!1,componentClass:\"form\"},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.horizontal,n=e.inline,r=e.componentClass,o=e.className,a=(0,s.default)(e,[\"horizontal\",\"inline\",\"componentClass\",\"className\"]),u=(0,A.splitBsProps)(a),l=u[0],c=u[1],d=[];return t&&d.push((0,A.prefix)(l,\"horizontal\")),n&&d.push((0,A.prefix)(l,\"inline\")),_.default.createElement(r,(0,i.default)({},c,{className:(0,m.default)(o,d)}))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"form\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(47),w=(r(A),n(1427)),C=r(w),E=n(1428),L=r(E),T=n(13),O=n(40),S={componentClass:M.default,type:y.default.string,id:y.default.string,inputRef:y.default.func},N={componentClass:\"input\"},k={$bs_formGroup:y.default.object},D=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.context.$bs_formGroup,t=e&&e.controlId,n=this.props,r=n.componentClass,o=n.type,a=n.id,u=void 0===a?t:a,l=n.inputRef,c=n.className,d=n.bsSize,f=(0,s.default)(n,[\"componentClass\",\"type\",\"id\",\"inputRef\",\"className\",\"bsSize\"]),p=(0,T.splitBsProps)(f),h=p[0],g=p[1],b=void 0;if(\"file\"!==o&&(b=(0,T.getClassSet)(h)),d){var y=O.SIZE_MAP[d]||d;b[(0,T.prefix)({bsClass:\"input\"},y)]=!0}return _.default.createElement(r,(0,i.default)({},g,{type:o,id:u,ref:l,className:(0,m.default)(c,b)}))},t}(_.default.Component);D.propTypes=S,D.defaultProps=N,D.contextTypes=k,D.Feedback=C.default,D.Static=L.default,t.default=(0,T.bsClass)(\"form-control\",(0,T.bsSizes)([O.Size.SMALL,O.Size.LARGE],D)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(9),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(306),M=r(v),A=n(13),w={bsRole:\"feedback\"},C={$bs_formGroup:y.default.object},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.getGlyph=function(e){switch(e){case\"success\":return\"ok\";case\"warning\":return\"warning-sign\";case\"error\":return\"remove\";default:return null}},t.prototype.renderDefaultFeedback=function(e,t,n,r){var o=this.getGlyph(e&&e.validationState);return o?_.default.createElement(M.default,(0,s.default)({},r,{glyph:o,className:(0,m.default)(t,n)})):null},t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,i.default)(e,[\"className\",\"children\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);if(!n)return this.renderDefaultFeedback(this.context.$bs_formGroup,t,l,u);var c=_.default.Children.only(n);return _.default.cloneElement(c,(0,s.default)({},u,{className:(0,m.default)(c.props.className,t,l)}))},t}(_.default.Component);E.defaultProps=w,E.contextTypes=C,t.default=(0,A.bsClass)(\"form-control-feedback\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"p\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"form-control-static\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(40),A=n(52),w=r(A),C={controlId:y.default.string,validationState:y.default.oneOf([\"success\",\"warning\",\"error\",null])},E={$bs_formGroup:y.default.object.isRequired},L=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.controlId,n=e.validationState;return{$bs_formGroup:{controlId:t,validationState:n}}},t.prototype.hasFeedback=function(e){var t=this;return w.default.some(e,function(e){return\"feedback\"===e.props.bsRole||e.props.children&&t.hasFeedback(e.props.children)})},t.prototype.render=function(){var e=this.props,t=e.validationState,n=e.className,r=e.children,o=(0,s.default)(e,[\"validationState\",\"className\",\"children\"]),a=(0,v.splitBsPropsAndOmit)(o,[\"controlId\"]),u=a[0],l=a[1],c=(0,i.default)({},(0,v.getClassSet)(u),{\"has-feedback\":this.hasFeedback(r)});return t&&(c[\"has-\"+t]=!0),_.default.createElement(\"div\",(0,i.default)({},l,{className:(0,m.default)(n,c)}),r)},t}(_.default.Component);L.propTypes=C,L.childContextTypes=E,t.default=(0,v.bsClass)(\"form-group\",(0,v.bsSizes)([M.Size.LARGE,M.Size.SMALL],L)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"help-block\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={responsive:y.default.bool,rounded:y.default.bool,circle:y.default.bool,thumbnail:y.default.bool},A={responsive:!1,rounded:!1,circle:!1,thumbnail:!1},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.responsive,r=t.rounded,o=t.circle,a=t.thumbnail,u=t.className,l=(0,s.default)(t,[\"responsive\",\"rounded\",\"circle\",\"thumbnail\",\"className\"]),c=(0,v.splitBsProps)(l),d=c[0],f=c[1],p=(e={},e[(0,v.prefix)(d,\"responsive\")]=n,e[(0,v.prefix)(d,\"rounded\")]=r,e[(0,v.prefix)(d,\"circle\")]=o,e[(0,v.prefix)(d,\"thumbnail\")]=a,e);return _.default.createElement(\"img\",(0,i.default)({},f,{className:(0,m.default)(u,p)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"img\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(1433),y=r(b),v=n(1434),M=r(v),A=n(13),w=n(40),C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,A.splitBsProps)(n),o=r[0],a=r[1],u=(0,A.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);C.Addon=y.default,C.Button=M.default,t.default=(0,A.bsClass)(\"input-group\",(0,A.bsSizes)([w.Size.LARGE,w.Size.SMALL],C)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"input-group-addon\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"input-group-btn\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(1),m=r(h),g=n(12),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return m.default.createElement(t,(0,i.default)({},u,{className:(0,_.default)(n,l)}))},t}(m.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"jumbotron\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(13),M=n(40),A=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.hasContent=function(e){var t=!1;return y.default.Children.forEach(e,function(e){t||(e||0===e)&&(t=!0)}),t},t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,l.default)(e,[\"className\",\"children\"]),o=(0,v.splitBsProps)(r),i=o[0],a=o[1],u=(0,s.default)({},(0,v.getClassSet)(i),{hidden:!this.hasContent(n)});return y.default.createElement(\"span\",(0,s.default)({},a,{className:(0,_.default)(t,u)}),n)},t}(y.default.Component);t.default=(0,v.bsClass)(\"label\",(0,v.bsStyles)([].concat((0,i.default)(M.State),[M.Style.DEFAULT,M.Style.PRIMARY]),M.Style.DEFAULT,A)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e?E.default.some(e,function(e){return e.type!==A.default||e.props.href||e.props.onClick})?\"div\":\"ul\":\"div\"}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(12),g=r(m),_=n(1),b=r(_),y=n(25),v=r(y),M=n(572),A=r(M),w=n(13),C=n(52),E=r(C),L={componentClass:v.default},T=function(e){function t(){return(0,c.default)(this,t),(0,f.default)(this,e.apply(this,arguments))}return(0,h.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=e.componentClass,r=void 0===n?o(t):n,i=e.className,s=(0,u.default)(e,[\"children\",\"componentClass\",\"className\"]),l=(0,w.splitBsProps)(s),c=l[0],d=l[1],f=(0,w.getClassSet)(c),p=\"ul\"===r&&E.default.every(t,function(e){return e.type===A.default});return b.default.createElement(r,(0,a.default)({},d,{className:(0,g.default)(i,f)}),p?E.default.map(t,function(e){return(0,_.cloneElement)(e,{listItem:!0})}):t)},t}(b.default.Component);T.propTypes=L,t.default=(0,w.bsClass)(\"list-group\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"media-body\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"h4\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"media-heading\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(307),M=r(v),A=n(13),w={align:y.default.oneOf([\"top\",\"middle\",\"bottom\"])},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.align,n=e.className,r=(0,s.default)(e,[\"align\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);return t&&(l[(0,A.prefix)(M.default.defaultProps,t)]=!0),_.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);C.propTypes=w,t.default=(0,A.bsClass)(\"media-left\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"ul\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"media-list\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"li\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"media\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(307),M=r(v),A=n(13),w={align:y.default.oneOf([\"top\",\"middle\",\"bottom\"])},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.align,n=e.className,r=(0,s.default)(e,[\"align\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);return t&&(l[(0,A.prefix)(M.default.defaultProps,t)]=!0),_.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);C.propTypes=w,t.default=(0,A.bsClass)(\"media-right\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(220),M=r(v),A=n(75),w=r(A),C=n(13),E=n(39),L=r(E),T={active:y.default.bool,disabled:y.default.bool,divider:(0,M.default)(y.default.bool,function(e){var t=e.divider,n=e.children;return t&&n?new Error(\"Children will not be rendered for dividers\"):null}),eventKey:y.default.any,header:y.default.bool,href:y.default.string,onClick:y.default.func,onSelect:y.default.func},O={divider:!1,disabled:!1,header:!1},S=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,p.default)(t,e),t.prototype.handleClick=function(e){var t=this.props,n=t.href,r=t.disabled,o=t.onSelect,i=t.eventKey;n&&!r||e.preventDefault(),r||o&&o(i,e)},t.prototype.render=function(){var e=this.props,t=e.active,n=e.disabled,r=e.divider,o=e.header,a=e.onClick,u=e.className,l=e.style,c=(0,s.default)(e,[\"active\",\"disabled\",\"divider\",\"header\",\"onClick\",\"className\",\"style\"]),d=(0,C.splitBsPropsAndOmit)(c,[\"eventKey\",\"onSelect\"]),f=d[0],p=d[1];return r?(p.children=void 0,_.default.createElement(\"li\",(0,i.default)({},p,{role:\"separator\",className:(0,m.default)(u,\"divider\"),style:l}))):o?_.default.createElement(\"li\",(0,i.default)({},p,{role:\"heading\",className:(0,m.default)(u,(0,C.prefix)(f,\"header\")),style:l})):_.default.createElement(\"li\",{role:\"presentation\",className:(0,m.default)(u,{active:t,disabled:n}),style:l},_.default.createElement(w.default,(0,i.default)({},p,{role:\"menuitem\",tabIndex:\"-1\",onClick:(0,L.default)(a,this.handleClick)})))},t}(_.default.Component);S.propTypes=T,S.defaultProps=O,t.default=(0,C.bsClass)(\"dropdown\",S),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(12),m=r(h),g=n(1166),_=r(g),b=n(80),y=r(b),v=n(74),M=r(v),A=n(287),w=r(A),C=n(1),E=r(C),L=n(5),T=r(L),O=n(29),S=r(O),N=n(1475),k=r(N),D=n(590),x=r(D),I=n(25),z=r(I),P=n(212),j=r(P),B=n(573),F=r(B),R=n(1446),W=r(R),Y=n(574),H=r(Y),q=n(575),U=r(q),X=n(576),V=r(X),G=n(13),$=n(39),K=r($),Q=n(213),Z=r(Q),J=n(40),ee=(0,p.default)({},k.default.propTypes,W.default.propTypes,{backdrop:T.default.oneOf([\"static\",!0,!1]),keyboard:T.default.bool,animation:T.default.bool,dialogComponentClass:z.default,autoFocus:T.default.bool,enforceFocus:T.default.bool,restoreFocus:T.default.bool,show:T.default.bool,onHide:T.default.func,onEnter:T.default.func,onEntering:T.default.func,onEntered:T.default.func,onExit:T.default.func,onExiting:T.default.func,onExited:T.default.func,container:k.default.propTypes.container}),te=(0,p.default)({},k.default.defaultProps,{animation:!0,dialogComponentClass:W.default}),ne={$bs_modal:T.default.shape({onHide:T.default.func})},re=function(e){function t(n,r){(0,s.default)(this,t);var o=(0,l.default)(this,e.call(this,n,r));return o.handleEntering=o.handleEntering.bind(o),o.handleExited=o.handleExited.bind(o),o.handleWindowResize=o.handleWindowResize.bind(o),o.handleDialogClick=o.handleDialogClick.bind(o),o.state={style:{}},o}return(0,d.default)(t,e),t.prototype.getChildContext=function(){return{$bs_modal:{onHide:this.props.onHide}}},t.prototype.componentWillUnmount=function(){this.handleExited()},t.prototype.handleEntering=function(){_.default.on(window,\"resize\",this.handleWindowResize),this.updateStyle()},t.prototype.handleExited=function(){_.default.off(window,\"resize\",this.handleWindowResize)},t.prototype.handleWindowResize=function(){this.updateStyle()},t.prototype.handleDialogClick=function(e){e.target===e.currentTarget&&this.props.onHide()},t.prototype.updateStyle=function(){if(M.default){var e=this._modal.getDialogElement(),t=e.scrollHeight,n=(0,y.default)(e),r=(0,x.default)(S.default.findDOMNode(this.props.container||n.body)),o=t>n.documentElement.clientHeight;this.setState({style:{paddingRight:r&&!o?(0,w.default)():void 0,paddingLeft:!r&&o?(0,w.default)():void 0}})}},t.prototype.render=function(){var e=this,n=this.props,r=n.backdrop,o=n.animation,a=n.show,s=n.dialogComponentClass,u=n.className,l=n.style,c=n.children,d=n.onEntering,f=n.onExited,h=(0,i.default)(n,[\"backdrop\",\"animation\",\"show\",\"dialogComponentClass\",\"className\",\"style\",\"children\",\"onEntering\",\"onExited\"]),g=(0,Z.default)(h,k.default),_=g[0],b=g[1],y=a&&!o&&\"in\";return E.default.createElement(k.default,(0,p.default)({},_,{ref:function(t){e._modal=t},show:a,onEntering:(0,K.default)(d,this.handleEntering),onExited:(0,K.default)(f,this.handleExited),backdrop:r,backdropClassName:(0,m.default)((0,G.prefix)(h,\"backdrop\"),y),containerClassName:(0,G.prefix)(h,\"open\"),transition:o?j.default:void 0,dialogTransitionTimeout:t.TRANSITION_DURATION,backdropTransitionTimeout:t.BACKDROP_TRANSITION_DURATION}),E.default.createElement(s,(0,p.default)({},b,{style:(0,p.default)({},this.state.style,l),className:(0,m.default)(u,y),onClick:r===!0?this.handleDialogClick:null}),c))},t}(E.default.Component);re.propTypes=ee,re.defaultProps=te,re.childContextTypes=ne,re.Body=F.default,re.Header=U.default,re.Title=V.default,re.Footer=H.default,re.Dialog=W.default,re.TRANSITION_DURATION=300,re.BACKDROP_TRANSITION_DURATION=150,t.default=(0,G.bsClass)(\"modal\",(0,G.bsSizes)([J.Size.LARGE,J.Size.SMALL],re)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(40),A={dialogClassName:y.default.string},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.dialogClassName,r=t.className,o=t.style,a=t.children,u=(0,s.default)(t,[\"dialogClassName\",\"className\",\"style\",\"children\"]),l=(0,v.splitBsProps)(u),c=l[0],d=l[1],f=(0,v.prefix)(c),p=(0,i.default)({display:\"block\"},o),h=(0,i.default)({},(0,v.getClassSet)(c),(e={},e[f]=!1,e[(0,v.prefix)(c,\"dialog\")]=!0,e));return _.default.createElement(\"div\",(0,i.default)({},d,{tabIndex:\"-1\",role:\"dialog\",style:p,className:(0,m.default)(r,f)}),_.default.createElement(\"div\",{className:(0,m.default)(n,h)},_.default.createElement(\"div\",{className:(0,v.prefix)(c,\"content\"),role:\"document\"},a)))},t}(_.default.Component);w.propTypes=A,t.default=(0,v.bsClass)(\"modal\",(0,v.bsSizes)([M.Size.LARGE,M.Size.SMALL],w)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(211),M=r(v),A=n(213),w=r(A),C=n(52),E=r(C),L=(0,p.default)({},M.default.propTypes,{title:y.default.node.isRequired,noCaret:y.default.bool,active:y.default.bool,children:y.default.node}),T=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.isActive=function(e,t,n){var r=e.props,o=this;return!!(r.active||null!=t&&r.eventKey===t||n&&r.href===n)||(!!E.default.some(r.children,function(e){return o.isActive(e,t,n)})||r.active)},t.prototype.render=function(){var e=this,t=this.props,n=t.title,r=t.activeKey,o=t.activeHref,a=t.className,s=t.style,u=t.children,l=(0,i.default)(t,[\"title\",\"activeKey\",\"activeHref\",\"className\",\"style\",\"children\"]),c=this.isActive(this,r,o);delete l.active,delete l.eventKey;var d=(0,w.default)(l,M.default.ControlledComponent),f=d[0],h=d[1];return _.default.createElement(M.default,(0,p.default)({},f,{componentClass:\"li\",className:(0,m.default)(a,{active:c}),style:s}),_.default.createElement(M.default.Toggle,(0,p.default)({},h,{useAnchor:!0}),n),_.default.createElement(M.default.Menu,null,E.default.map(u,function(t){return _.default.cloneElement(t,{active:e.isActive(t,r,o)})})))},t}(_.default.Component);T.propTypes=L,t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=function(e,n){var r=n.$bs_navbar,o=void 0===r?{bsClass:\"navbar\"}:r,i=e.componentClass,s=e.className,l=e.pullRight,c=e.pullLeft,d=(0,u.default)(e,[\"componentClass\",\"className\",\"pullRight\",\"pullLeft\"]);return b.default.createElement(i,(0,a.default)({},d,{className:(0,g.default)(s,(0,z.prefix)(o,t),l&&(0,z.prefix)(o,\"right\"),c&&(0,z.prefix)(o,\"left\"))}))};return r.displayName=n,r.propTypes={componentClass:A.default,pullRight:v.default.bool,pullLeft:v.default.bool},r.defaultProps={componentClass:e,pullRight:!1,pullLeft:!1},r.contextTypes={$bs_navbar:v.default.shape({bsClass:v.default.string})},r}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(12),g=r(m),_=n(1),b=r(_),y=n(5),v=r(y),M=n(25),A=r(M),w=n(226),C=r(w),E=n(571),L=r(E),T=n(579),O=r(T),S=n(1449),N=r(S),k=n(1450),D=r(k),x=n(1451),I=r(x),z=n(13),P=n(40),j=n(39),B=r(j),F={fixedTop:v.default.bool,fixedBottom:v.default.bool,staticTop:v.default.bool,inverse:v.default.bool,fluid:v.default.bool,componentClass:A.default,onToggle:v.default.func,onSelect:v.default.func,collapseOnSelect:v.default.bool,expanded:v.default.bool,role:v.default.string},R={componentClass:\"nav\",fixedTop:!1,fixedBottom:!1,staticTop:!1,inverse:!1,fluid:!1,collapseOnSelect:!1},W={$bs_navbar:v.default.shape({bsClass:v.default.string,expanded:v.default.bool,onToggle:v.default.func.isRequired,onSelect:v.default.func})},Y=function(e){function t(n,r){(0,c.default)(this,t);var o=(0,f.default)(this,e.call(this,n,r));return o.handleToggle=o.handleToggle.bind(o),o.handleCollapse=o.handleCollapse.bind(o),o}return(0,h.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.bsClass,n=e.expanded,r=e.onSelect,o=e.collapseOnSelect;return{$bs_navbar:{bsClass:t,expanded:n,onToggle:this.handleToggle,onSelect:(0,B.default)(r,o?this.handleCollapse:null)}}},t.prototype.handleCollapse=function(){var e=this.props,t=e.onToggle,n=e.expanded;n&&t(!1)},t.prototype.handleToggle=function(){var e=this.props,t=e.onToggle,n=e.expanded;t(!n)},t.prototype.render=function(){var e,t=this.props,n=t.componentClass,r=t.fixedTop,o=t.fixedBottom,i=t.staticTop,s=t.inverse,l=t.fluid,c=t.className,d=t.children,f=(0,\nu.default)(t,[\"componentClass\",\"fixedTop\",\"fixedBottom\",\"staticTop\",\"inverse\",\"fluid\",\"className\",\"children\"]),p=(0,z.splitBsPropsAndOmit)(f,[\"expanded\",\"onToggle\",\"onSelect\",\"collapseOnSelect\"]),h=p[0],m=p[1];void 0===m.role&&\"nav\"!==n&&(m.role=\"navigation\"),s&&(h.bsStyle=P.Style.INVERSE);var _=(0,a.default)({},(0,z.getClassSet)(h),(e={},e[(0,z.prefix)(h,\"fixed-top\")]=r,e[(0,z.prefix)(h,\"fixed-bottom\")]=o,e[(0,z.prefix)(h,\"static-top\")]=i,e));return b.default.createElement(n,(0,a.default)({},m,{className:(0,g.default)(c,_)}),b.default.createElement(L.default,{fluid:l},d))},t}(b.default.Component);Y.propTypes=F,Y.defaultProps=R,Y.childContextTypes=W,(0,z.bsClass)(\"navbar\",Y);var H=(0,C.default)(Y,{expanded:\"onToggle\"});H.Brand=O.default,H.Header=D.default,H.Toggle=I.default,H.Collapse=N.default,H.Form=o(\"div\",\"form\",\"NavbarForm\"),H.Text=o(\"p\",\"text\",\"NavbarText\"),H.Link=o(\"a\",\"link\",\"NavbarLink\"),t.default=(0,z.bsStyles)([P.Style.DEFAULT,P.Style.INVERSE],P.Style.DEFAULT,H),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(305),y=r(b),v=n(13),M={$bs_navbar:_.default.shape({bsClass:_.default.string,expanded:_.default.bool})},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=(0,s.default)(e,[\"children\"]),r=this.context.$bs_navbar||{bsClass:\"navbar\"},o=(0,v.prefix)(r,\"collapse\");return m.default.createElement(y.default,(0,i.default)({in:r.expanded},n),m.default.createElement(\"div\",{className:o},t))},t}(m.default.Component);A.contextTypes=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={$bs_navbar:y.default.shape({bsClass:y.default.string})},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=this.context.$bs_navbar||{bsClass:\"navbar\"},o=(0,v.prefix)(r,\"header\");return _.default.createElement(\"div\",(0,i.default)({},n,{className:(0,m.default)(t,o)}))},t}(_.default.Component);A.contextTypes=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(39),A=r(M),w={onClick:y.default.func,children:y.default.node},C={$bs_navbar:y.default.shape({bsClass:y.default.string,expanded:y.default.bool,onToggle:y.default.func.isRequired})},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.onClick,n=e.className,r=e.children,o=(0,s.default)(e,[\"onClick\",\"className\",\"children\"]),a=this.context.$bs_navbar||{bsClass:\"navbar\"},u=(0,i.default)({type:\"button\"},o,{onClick:(0,A.default)(t,a.onToggle),className:(0,m.default)(n,(0,v.prefix)(a,\"toggle\"),!a.expanded&&\"collapsed\")});return r?_.default.createElement(\"button\",u,r):_.default.createElement(\"button\",u,_.default.createElement(\"span\",{className:\"sr-only\"},\"Toggle navigation\"),_.default.createElement(\"span\",{className:\"icon-bar\"}),_.default.createElement(\"span\",{className:\"icon-bar\"}),_.default.createElement(\"span\",{className:\"icon-bar\"}))},t}(_.default.Component);E.propTypes=w,E.contextTypes=C,t.default=E,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return Array.isArray(t)?t.indexOf(e)>=0:e===t}t.__esModule=!0;var i=n(11),a=r(i),s=n(6),u=r(s),l=n(8),c=r(l),d=n(7),f=r(d),p=n(9),h=r(p),m=n(89),g=r(m),_=n(1),b=r(_),y=n(5),v=r(y),M=n(29),A=r(M),w=n(47),C=(r(w),n(580)),E=r(C),L=n(39),T=r(L),O=v.default.oneOf([\"click\",\"hover\",\"focus\"]),S=(0,h.default)({},E.default.propTypes,{trigger:v.default.oneOfType([O,v.default.arrayOf(O)]),delay:v.default.number,delayShow:v.default.number,delayHide:v.default.number,defaultOverlayShown:v.default.bool,overlay:v.default.node.isRequired,onBlur:v.default.func,onClick:v.default.func,onFocus:v.default.func,onMouseOut:v.default.func,onMouseOver:v.default.func,target:v.default.oneOf([null]),onHide:v.default.oneOf([null]),show:v.default.oneOf([null])}),N={defaultOverlayShown:!1,trigger:[\"hover\",\"focus\"]},k=function(e){function t(n,r){(0,u.default)(this,t);var o=(0,c.default)(this,e.call(this,n,r));return o.handleToggle=o.handleToggle.bind(o),o.handleDelayedShow=o.handleDelayedShow.bind(o),o.handleDelayedHide=o.handleDelayedHide.bind(o),o.handleHide=o.handleHide.bind(o),o.handleMouseOver=function(e){return o.handleMouseOverOut(o.handleDelayedShow,e)},o.handleMouseOut=function(e){return o.handleMouseOverOut(o.handleDelayedHide,e)},o._mountNode=null,o.state={show:n.defaultOverlayShown},o}return(0,f.default)(t,e),t.prototype.componentDidMount=function(){this._mountNode=document.createElement(\"div\"),this.renderOverlay()},t.prototype.componentDidUpdate=function(){this.renderOverlay()},t.prototype.componentWillUnmount=function(){A.default.unmountComponentAtNode(this._mountNode),this._mountNode=null,clearTimeout(this._hoverShowDelay),clearTimeout(this._hoverHideDelay)},t.prototype.handleToggle=function(){this.state.show?this.hide():this.show()},t.prototype.handleDelayedShow=function(){var e=this;if(null!=this._hoverHideDelay)return clearTimeout(this._hoverHideDelay),void(this._hoverHideDelay=null);if(!this.state.show&&null==this._hoverShowDelay){var t=null!=this.props.delayShow?this.props.delayShow:this.props.delay;return t?void(this._hoverShowDelay=setTimeout(function(){e._hoverShowDelay=null,e.show()},t)):void this.show()}},t.prototype.handleDelayedHide=function(){var e=this;if(null!=this._hoverShowDelay)return clearTimeout(this._hoverShowDelay),void(this._hoverShowDelay=null);if(this.state.show&&null==this._hoverHideDelay){var t=null!=this.props.delayHide?this.props.delayHide:this.props.delay;return t?void(this._hoverHideDelay=setTimeout(function(){e._hoverHideDelay=null,e.hide()},t)):void this.hide()}},t.prototype.handleMouseOverOut=function(e,t){var n=t.currentTarget,r=t.relatedTarget||t.nativeEvent.toElement;r&&(r===n||(0,g.default)(n,r))||e(t)},t.prototype.handleHide=function(){this.hide()},t.prototype.show=function(){this.setState({show:!0})},t.prototype.hide=function(){this.setState({show:!1})},t.prototype.makeOverlay=function(e,t){return b.default.createElement(E.default,(0,h.default)({},t,{show:this.state.show,onHide:this.handleHide,target:this}),e)},t.prototype.renderOverlay=function(){A.default.unstable_renderSubtreeIntoContainer(this,this._overlay,this._mountNode)},t.prototype.render=function(){var e=this.props,t=e.trigger,n=e.overlay,r=e.children,i=e.onBlur,s=e.onClick,u=e.onFocus,l=e.onMouseOut,c=e.onMouseOver,d=(0,a.default)(e,[\"trigger\",\"overlay\",\"children\",\"onBlur\",\"onClick\",\"onFocus\",\"onMouseOut\",\"onMouseOver\"]);delete d.delay,delete d.delayShow,delete d.delayHide,delete d.defaultOverlayShown;var f=b.default.Children.only(r),p=f.props,h={};return this.state.show&&(h[\"aria-describedby\"]=n.props.id),h.onClick=(0,T.default)(p.onClick,s),o(\"click\",t)&&(h.onClick=(0,T.default)(h.onClick,this.handleToggle)),o(\"hover\",t)&&(h.onMouseOver=(0,T.default)(p.onMouseOver,c,this.handleMouseOver),h.onMouseOut=(0,T.default)(p.onMouseOut,l,this.handleMouseOut)),o(\"focus\",t)&&(h.onFocus=(0,T.default)(p.onFocus,u,this.handleDelayedShow),h.onBlur=(0,T.default)(p.onBlur,i,this.handleDelayedHide)),this._overlay=this.makeOverlay(n,d),(0,_.cloneElement)(f,h)},t}(b.default.Component);k.propTypes=S,k.defaultProps=N,t.default=k,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,s.default)(e,[\"className\",\"children\"]),o=(0,b.splitBsProps)(r),a=o[0],u=o[1],l=(0,b.getClassSet)(a);return _.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(t,l)}),_.default.createElement(\"h1\",null,n))},t}(_.default.Component);t.default=(0,b.bsClass)(\"page-header\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(581),i=r(o),a=n(1473),s=r(a);t.default=s.default.wrapper(i.default,\"`<PageItem>`\",\"`<Pager.Item>`\"),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(581),M=r(v),A=n(13),w=n(39),C=r(w),E=n(52),L=r(E),T={onSelect:y.default.func},O=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.onSelect,n=e.className,r=e.children,o=(0,s.default)(e,[\"onSelect\",\"className\",\"children\"]),a=(0,A.splitBsProps)(o),u=a[0],l=a[1],c=(0,A.getClassSet)(u);return _.default.createElement(\"ul\",(0,i.default)({},l,{className:(0,m.default)(n,c)}),L.default.map(r,function(e){return(0,g.cloneElement)(e,{onSelect:(0,C.default)(e.props.onSelect,t)})}))},t}(_.default.Component);O.propTypes=T,O.Item=M.default,t.default=(0,A.bsClass)(\"pager\",O),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(9),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(582),w=r(A),C=n(13),E={activePage:y.default.number,items:y.default.number,maxButtons:y.default.number,boundaryLinks:y.default.bool,ellipsis:y.default.oneOfType([y.default.bool,y.default.node]),first:y.default.oneOfType([y.default.bool,y.default.node]),last:y.default.oneOfType([y.default.bool,y.default.node]),prev:y.default.oneOfType([y.default.bool,y.default.node]),next:y.default.oneOfType([y.default.bool,y.default.node]),onSelect:y.default.func,buttonComponentClass:M.default},L={activePage:1,items:1,maxButtons:0,first:!1,last:!1,prev:!1,next:!1,ellipsis:!0,boundaryLinks:!1},T=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.renderPageButtons=function(e,t,n,r,o,i){var a=[],u=void 0,l=void 0;n&&n<t?(u=Math.max(Math.min(e-Math.floor(n/2,10),t-n+1),1),l=u+n-1):(u=1,l=t);for(var c=u;c<=l;++c)a.push(_.default.createElement(w.default,(0,s.default)({},i,{key:c,eventKey:c,active:c===e}),c));return o&&r&&u>1&&(u>2&&a.unshift(_.default.createElement(w.default,{key:\"ellipsisFirst\",disabled:!0,componentClass:i.componentClass},_.default.createElement(\"span\",{\"aria-label\":\"More\"},o===!0?\"…\":o))),a.unshift(_.default.createElement(w.default,(0,s.default)({},i,{key:1,eventKey:1,active:!1}),\"1\"))),o&&l<t&&((!r||l<t-1)&&a.push(_.default.createElement(w.default,{key:\"ellipsis\",disabled:!0,componentClass:i.componentClass},_.default.createElement(\"span\",{\"aria-label\":\"More\"},o===!0?\"…\":o))),r&&a.push(_.default.createElement(w.default,(0,s.default)({},i,{key:t,eventKey:t,active:!1}),t))),a},t.prototype.render=function(){var e=this.props,t=e.activePage,n=e.items,r=e.maxButtons,o=e.boundaryLinks,a=e.ellipsis,u=e.first,l=e.last,c=e.prev,d=e.next,f=e.onSelect,p=e.buttonComponentClass,h=e.className,g=(0,i.default)(e,[\"activePage\",\"items\",\"maxButtons\",\"boundaryLinks\",\"ellipsis\",\"first\",\"last\",\"prev\",\"next\",\"onSelect\",\"buttonComponentClass\",\"className\"]),b=(0,C.splitBsProps)(g),y=b[0],v=b[1],M=(0,C.getClassSet)(y),A={onSelect:f,componentClass:p};return _.default.createElement(\"ul\",(0,s.default)({},v,{className:(0,m.default)(h,M)}),u&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:1,disabled:1===t}),_.default.createElement(\"span\",{\"aria-label\":\"First\"},u===!0?\"«\":u)),c&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:t-1,disabled:1===t}),_.default.createElement(\"span\",{\"aria-label\":\"Previous\"},c===!0?\"‹\":c)),this.renderPageButtons(t,n,r,o,a,A),d&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:t+1,disabled:t>=n}),_.default.createElement(\"span\",{\"aria-label\":\"Next\"},d===!0?\"›\":d)),l&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:n,disabled:t>=n}),_.default.createElement(\"span\",{\"aria-label\":\"Last\"},l===!0?\"»\":l)))},t}(_.default.Component);T.propTypes=E,T.defaultProps=L,t.default=(0,C.bsClass)(\"pagination\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(11),s=r(a),u=n(9),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(305),w=r(A),C=n(13),E=n(40),L={collapsible:M.default.bool,onSelect:M.default.func,header:M.default.node,id:M.default.oneOfType([M.default.string,M.default.number]),footer:M.default.node,defaultExpanded:M.default.bool,expanded:M.default.bool,eventKey:M.default.any,headerRole:M.default.string,panelRole:M.default.string,onEnter:M.default.func,onEntering:M.default.func,onEntered:M.default.func,onExit:M.default.func,onExiting:M.default.func,onExited:M.default.func},T={defaultExpanded:!1},O=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleClickTitle=o.handleClickTitle.bind(o),o.state={expanded:o.props.defaultExpanded},o}return(0,m.default)(t,e),t.prototype.handleClickTitle=function(e){e.persist(),e.selected=!0,this.props.onSelect?this.props.onSelect(this.props.eventKey,e):e.preventDefault(),e.selected&&this.setState({expanded:!this.state.expanded})},t.prototype.renderHeader=function(e,t,n,r,o,i){var a=(0,C.prefix)(i,\"title\");return e?y.default.isValidElement(t)?(0,b.cloneElement)(t,{className:(0,_.default)(t.props.className,a),children:this.renderAnchor(t.props.children,n,r,o)}):y.default.createElement(\"h4\",{role:\"presentation\",className:a},this.renderAnchor(t,n,r,o)):y.default.isValidElement(t)?(0,b.cloneElement)(t,{className:(0,_.default)(t.props.className,a)}):t},t.prototype.renderAnchor=function(e,t,n,r){return y.default.createElement(\"a\",{role:n,href:t&&\"#\"+t,onClick:this.handleClickTitle,\"aria-controls\":t,\"aria-expanded\":r,\"aria-selected\":r,className:r?null:\"collapsed\"},e)},t.prototype.renderCollapsibleBody=function(e,t,n,r,o,i){return y.default.createElement(w.default,(0,l.default)({in:t},i),y.default.createElement(\"div\",{id:e,role:n,className:(0,C.prefix)(o,\"collapse\"),\"aria-hidden\":!t},this.renderBody(r,o)))},t.prototype.renderBody=function(e,t){function n(){o.length&&(r.push(y.default.createElement(\"div\",{key:r.length,className:i},o)),o=[])}var r=[],o=[],i=(0,C.prefix)(t,\"body\");return y.default.Children.toArray(e).forEach(function(e){return y.default.isValidElement(e)&&e.props.fill?(n(),void r.push((0,b.cloneElement)(e,{fill:void 0}))):void o.push(e)}),n(),r},t.prototype.render=function(){var e=this.props,t=e.collapsible,n=e.header,r=e.id,o=e.footer,i=e.expanded,a=e.headerRole,u=e.panelRole,c=e.className,d=e.children,f=e.onEnter,p=e.onEntering,h=e.onEntered,m=e.onExit,g=e.onExiting,b=e.onExited,v=(0,s.default)(e,[\"collapsible\",\"header\",\"id\",\"footer\",\"expanded\",\"headerRole\",\"panelRole\",\"className\",\"children\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\"]),M=(0,C.splitBsPropsAndOmit)(v,[\"defaultExpanded\",\"eventKey\",\"onSelect\"]),A=M[0],w=M[1],E=null!=i?i:this.state.expanded,L=(0,C.getClassSet)(A);return y.default.createElement(\"div\",(0,l.default)({},w,{className:(0,_.default)(c,L),id:t?null:r}),n&&y.default.createElement(\"div\",{className:(0,C.prefix)(A,\"heading\")},this.renderHeader(t,n,r,a,E,A)),t?this.renderCollapsibleBody(r,E,u,d,A,{onEnter:f,onEntering:p,onEntered:h,onExit:m,onExiting:g,onExited:b}):this.renderBody(d,A),o&&y.default.createElement(\"div\",{className:(0,C.prefix)(A,\"footer\")},o))},t}(y.default.Component);O.propTypes=L,O.defaultProps=T,t.default=(0,C.bsClass)(\"panel\",(0,C.bsStyles)([].concat((0,i.default)(E.State),[E.Style.DEFAULT,E.Style.PRIMARY]),E.Style.DEFAULT,O)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(221),M=r(v),A=n(13),w={id:(0,M.default)(y.default.oneOfType([y.default.string,y.default.number])),placement:y.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),positionTop:y.default.oneOfType([y.default.number,y.default.string]),positionLeft:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetTop:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetLeft:y.default.oneOfType([y.default.number,y.default.string]),title:y.default.node},C={placement:\"right\"},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.placement,r=t.positionTop,o=t.positionLeft,a=t.arrowOffsetTop,u=t.arrowOffsetLeft,l=t.title,c=t.className,d=t.style,f=t.children,p=(0,s.default)(t,[\"placement\",\"positionTop\",\"positionLeft\",\"arrowOffsetTop\",\"arrowOffsetLeft\",\"title\",\"className\",\"style\",\"children\"]),h=(0,A.splitBsProps)(p),g=h[0],b=h[1],y=(0,i.default)({},(0,A.getClassSet)(g),(e={},e[n]=!0,e)),v=(0,i.default)({display:\"block\",top:r,left:o},d),M={top:a,left:u};return _.default.createElement(\"div\",(0,i.default)({},b,{role:\"tooltip\",className:(0,m.default)(c,y),style:v}),_.default.createElement(\"div\",{className:\"arrow\",style:M}),l&&_.default.createElement(\"h3\",{className:(0,A.prefix)(g,\"title\")},l),_.default.createElement(\"div\",{className:(0,A.prefix)(g,\"content\")},f))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"popover\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=e[t];if(!r)return null;var o=null;return M.default.Children.forEach(r,function(e){if(!o&&e.type!==k){var t=M.default.isValidElement(e)?e.type.displayName||e.type.name||e.type:e;o=new Error(\"Children of \"+n+\" can contain only ProgressBar \"+(\"components. Found \"+t+\".\"))}}),o}function i(e,t,n){var r=(e-t)/(n-t)*100;return Math.round(r*O)/O}t.__esModule=!0;var a=n(121),s=r(a),u=n(9),l=r(u),c=n(11),d=r(c),f=n(6),p=r(f),h=n(8),m=r(h),g=n(7),_=r(g),b=n(12),y=r(b),v=n(1),M=r(v),A=n(5),w=r(A),C=n(13),E=n(40),L=n(52),T=r(L),O=1e3,S={min:w.default.number,now:w.default.number,max:w.default.number,label:w.default.node,srOnly:w.default.bool,striped:w.default.bool,active:w.default.bool,children:o,isChild:w.default.bool},N={min:0,max:100,active:!1,isChild:!1,srOnly:!1,striped:!1},k=function(e){function t(){return(0,p.default)(this,t),(0,m.default)(this,e.apply(this,arguments))}return(0,_.default)(t,e),t.prototype.renderProgressBar=function(e){var t,n=e.min,r=e.now,o=e.max,a=e.label,s=e.srOnly,u=e.striped,c=e.active,f=e.className,p=e.style,h=(0,d.default)(e,[\"min\",\"now\",\"max\",\"label\",\"srOnly\",\"striped\",\"active\",\"className\",\"style\"]),m=(0,C.splitBsProps)(h),g=m[0],_=m[1],b=(0,l.default)({},(0,C.getClassSet)(g),(t={active:c},t[(0,C.prefix)(g,\"striped\")]=c||u,t));return M.default.createElement(\"div\",(0,l.default)({},_,{role:\"progressbar\",className:(0,y.default)(f,b),style:(0,l.default)({width:i(r,n,o)+\"%\"},p),\"aria-valuenow\":r,\"aria-valuemin\":n,\"aria-valuemax\":o}),s?M.default.createElement(\"span\",{className:\"sr-only\"},a):a)},t.prototype.render=function(){var e=this.props,t=e.isChild,n=(0,d.default)(e,[\"isChild\"]);if(t)return this.renderProgressBar(n);var r=n.min,o=n.now,i=n.max,a=n.label,s=n.srOnly,u=n.striped,c=n.active,f=n.bsClass,p=n.bsStyle,h=n.className,m=n.children,g=(0,d.default)(n,[\"min\",\"now\",\"max\",\"label\",\"srOnly\",\"striped\",\"active\",\"bsClass\",\"bsStyle\",\"className\",\"children\"]);return M.default.createElement(\"div\",(0,l.default)({},g,{className:(0,y.default)(h,\"progress\")}),m?T.default.map(m,function(e){return(0,v.cloneElement)(e,{isChild:!0})}):this.renderProgressBar({min:r,now:o,max:i,label:a,srOnly:s,striped:u,active:c,bsClass:f,bsStyle:p}))},t}(M.default.Component);k.propTypes=S,k.defaultProps=N,t.default=(0,C.bsClass)(\"progress-bar\",(0,C.bsStyles)((0,s.default)(E.State),k)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={inline:y.default.bool,disabled:y.default.bool,validationState:y.default.oneOf([\"success\",\"warning\",\"error\",null]),inputRef:y.default.func},w={inline:!1,disabled:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.inline,n=e.disabled,r=e.validationState,o=e.inputRef,a=e.className,u=e.style,l=e.children,c=(0,s.default)(e,[\"inline\",\"disabled\",\"validationState\",\"inputRef\",\"className\",\"style\",\"children\"]),d=(0,M.splitBsProps)(c),f=d[0],p=d[1],h=_.default.createElement(\"input\",(0,i.default)({},p,{ref:o,type:\"radio\",disabled:n}));if(t){var g,b=(g={},g[(0,M.prefix)(f,\"inline\")]=!0,g.disabled=n,g);return _.default.createElement(\"label\",{className:(0,m.default)(a,b),style:u},h,l)}var y=(0,i.default)({},(0,M.getClassSet)(f),{disabled:n});return r&&(y[\"has-\"+r]=!0),_.default.createElement(\"div\",{className:(0,m.default)(a,y),style:u},_.default.createElement(\"label\",null,h,l))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=(0,M.bsClass)(\"radio\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={children:y.default.element.isRequired,a16by9:y.default.bool,a4by3:y.default.bool},w={a16by9:!1,a4by3:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.a16by9,r=t.a4by3,o=t.className,a=t.children,u=(0,s.default)(t,[\"a16by9\",\"a4by3\",\"className\",\"children\"]),l=(0,M.splitBsProps)(u),c=l[0],d=l[1],f=(0,i.default)({},(0,M.getClassSet)(c),(e={},e[(0,M.prefix)(c,\"16by9\")]=n,e[(0,M.prefix)(c,\"4by3\")]=r,e));return _.default.createElement(\"div\",{className:(0,m.default)(f)},(0,g.cloneElement)(a,(0,i.default)({},d,{className:(0,m.default)(o,(0,M.prefix)(c,\"item\"))})))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=(0,M.bsClass)(\"embed-responsive\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"row\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(166),y=r(b),v=n(211),M=r(v),A=n(1464),w=r(A),C=n(213),E=r(C),L=(0,p.default)({},M.default.propTypes,{bsStyle:_.default.string,bsSize:_.default.string,href:_.default.string,onClick:_.default.func,title:_.default.node.isRequired,toggleLabel:_.default.string,children:_.default.node}),T=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.bsSize,n=e.bsStyle,r=e.title,o=e.toggleLabel,a=e.children,s=(0,i.default)(e,[\"bsSize\",\"bsStyle\",\"title\",\"toggleLabel\",\"children\"]),u=(0,E.default)(s,M.default.ControlledComponent),l=u[0],c=u[1];return m.default.createElement(M.default,(0,p.default)({},l,{bsSize:t,bsStyle:n}),m.default.createElement(y.default,(0,p.default)({},c,{disabled:s.disabled,bsSize:t,bsStyle:n}),r),m.default.createElement(w.default,{\"aria-label\":o||r,bsSize:t,bsStyle:n}),m.default.createElement(M.default.Menu,null,a))},t}(m.default.Component);T.propTypes=L,T.Toggle=w.default,t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(1),p=r(f),h=n(570),m=r(h),g=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return p.default.createElement(m.default,(0,i.default)({},this.props,{useAnchor:!1,noCaret:!1}))},t}(p.default.Component);g.defaultProps=m.default.defaultProps,t.default=g,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(6),i=r(o),a=n(8),s=r(a),u=n(7),l=r(u),c=n(9),d=r(c),f=n(1),p=r(f),h=n(5),m=r(h),g=n(308),_=r(g),b=n(309),y=r(b),v=n(584),M=r(v),A=(0,d.default)({},M.default.propTypes,{disabled:m.default.bool,title:m.default.node,tabClassName:m.default.string}),w=function(e){function t(){return(0,i.default)(this,t),(0,s.default)(this,e.apply(this,arguments))}return(0,l.default)(t,e),t.prototype.render=function(){var e=(0,d.default)({},this.props);return delete e.title,delete e.disabled,delete e.tabClassName,p.default.createElement(M.default,e)},t}(p.default.Component);w.propTypes=A,w.Container=_.default,w.Content=y.default,w.Pane=M.default,t.default=w,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={striped:y.default.bool,bordered:y.default.bool,condensed:y.default.bool,hover:y.default.bool,responsive:y.default.bool},A={bordered:!1,condensed:!1,hover:!1,responsive:!1,striped:!1},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.striped,r=t.bordered,o=t.condensed,a=t.hover,u=t.responsive,l=t.className,c=(0,s.default)(t,[\"striped\",\"bordered\",\"condensed\",\"hover\",\"responsive\",\"className\"]),d=(0,v.splitBsProps)(c),f=d[0],p=d[1],h=(0,i.default)({},(0,v.getClassSet)(f),(e={},e[(0,v.prefix)(f,\"striped\")]=n,e[(0,v.prefix)(f,\"bordered\")]=r,e[(0,v.prefix)(f,\"condensed\")]=o,e[(0,v.prefix)(f,\"hover\")]=a,e)),g=_.default.createElement(\"table\",(0,i.default)({},p,{className:(0,m.default)(l,h)}));return u?_.default.createElement(\"div\",{className:(0,v.prefix)(f,\"responsive\")},g):g},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"table\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=void 0;return x.default.forEach(e,function(e){null==t&&(t=e.props.eventKey)}),t}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(1),g=r(m),_=n(5),b=r(_),y=n(221),v=r(y),M=n(226),A=r(M),w=n(577),C=r(w),E=n(578),L=r(E),T=n(308),O=r(T),S=n(309),N=r(S),k=n(13),D=n(52),x=r(D),I=O.default.ControlledComponent,z={activeKey:b.default.any,bsStyle:b.default.oneOf([\"tabs\",\"pills\"]),animation:b.default.bool,id:(0,v.default)(b.default.oneOfType([b.default.string,b.default.number])),onSelect:b.default.func,mountOnEnter:b.default.bool,unmountOnExit:b.default.bool},P={bsStyle:\"tabs\",animation:!0,mountOnEnter:!1,unmountOnExit:!1},j=function(e){function t(){return(0,c.default)(this,t),(0,f.default)(this,e.apply(this,arguments))}return(0,h.default)(t,e),t.prototype.renderTab=function(e){var t=e.props,n=t.title,r=t.eventKey,o=t.disabled,i=t.tabClassName;return null==n?null:g.default.createElement(L.default,{eventKey:r,disabled:o,className:i},n)},t.prototype.render=function(){var e=this.props,t=e.id,n=e.onSelect,r=e.animation,i=e.mountOnEnter,s=e.unmountOnExit,l=e.bsClass,c=e.className,d=e.style,f=e.children,p=e.activeKey,h=void 0===p?o(f):p,m=(0,u.default)(e,[\"id\",\"onSelect\",\"animation\",\"mountOnEnter\",\"unmountOnExit\",\"bsClass\",\"className\",\"style\",\"children\",\"activeKey\"]);return g.default.createElement(I,{id:t,activeKey:h,onSelect:n,className:c,style:d},g.default.createElement(\"div\",null,g.default.createElement(C.default,(0,a.default)({},m,{role:\"tablist\"}),x.default.map(f,this.renderTab)),g.default.createElement(N.default,{bsClass:l,animation:r,mountOnEnter:i,unmountOnExit:s},f)))},t}(g.default.Component);j.propTypes=z,j.defaultProps=P,(0,k.bsClass)(\"tab\",j),t.default=(0,A.default)(j,{activeKey:\"onSelect\"}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A=n(13),w={src:y.default.string,alt:y.default.string,href:y.default.string},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.src,n=e.alt,r=e.className,o=e.children,a=(0,s.default)(e,[\"src\",\"alt\",\"className\",\"children\"]),u=(0,A.splitBsProps)(a),l=u[0],c=u[1],d=c.href?M.default:\"div\",f=(0,A.getClassSet)(l);return _.default.createElement(d,(0,i.default)({},c,{className:(0,m.default)(r,f)}),_.default.createElement(\"img\",{src:t,alt:n}),o&&_.default.createElement(\"div\",{className:\"caption\"},o))},t}(_.default.Component);C.propTypes=w,t.default=(0,A.bsClass)(\"thumbnail\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(221),M=r(v),A=n(13),w={id:(0,M.default)(y.default.oneOfType([y.default.string,y.default.number])),placement:y.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),positionTop:y.default.oneOfType([y.default.number,y.default.string]),positionLeft:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetTop:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetLeft:y.default.oneOfType([y.default.number,y.default.string])},C={placement:\"right\"},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.placement,r=t.positionTop,o=t.positionLeft,a=t.arrowOffsetTop,u=t.arrowOffsetLeft,l=t.className,c=t.style,d=t.children,f=(0,s.default)(t,[\"placement\",\"positionTop\",\"positionLeft\",\"arrowOffsetTop\",\"arrowOffsetLeft\",\"className\",\"style\",\"children\"]),p=(0,A.splitBsProps)(f),h=p[0],g=p[1],b=(0,i.default)({},(0,A.getClassSet)(h),(e={},e[n]=!0,e)),y=(0,i.default)({top:r,left:o},c),v={top:a,left:u};return _.default.createElement(\"div\",(0,i.default)({},g,{role:\"tooltip\",className:(0,m.default)(l,b),style:y}),_.default.createElement(\"div\",{className:(0,A.prefix)(h,\"arrow\"),style:v\n}),_.default.createElement(\"div\",{className:(0,A.prefix)(h,\"inner\")},d))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"tooltip\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=n(40),v=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"div\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"well\",(0,b.bsSizes)([y.Size.LARGE,y.Size.SMALL],v)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.default)(function(e,n,r){var o=void 0;return t.every(function(t){return!!l.default.some(e.children,function(e){return e.props.bsRole===t})||(o=t,!1)}),o?new Error(\"(children) \"+r+\" - Missing a required child with bsRole: \"+(o+\". \"+r+\" must have at least one child of each of \")+(\"the following bsRoles: \"+t.join(\", \"))):null})}function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.default)(function(e,n,r){var o=void 0;return t.every(function(t){var n=l.default.filter(e.children,function(e){return e.props.bsRole===t});return!(n.length>1)||(o=t,!1)}),o?new Error(\"(children) \"+r+\" - Duplicate children detected of bsRole: \"+(o+\". Only one child each allowed with the following \")+(\"bsRoles: \"+t.join(\", \"))):null})}t.__esModule=!0,t.requiredRoles=o,t.exclusiveRoles=i;var a=n(222),s=r(a),u=n(52),l=r(u)},function(e,t){\"use strict\";function n(){var e=document.createElement(\"div\"),t=e.style;\"AnimationEvent\"in window||delete a.animationend.animation,\"TransitionEvent\"in window||delete a.transitionend.transition;for(var n in a){var r=a[n];for(var o in r)if(o in t){s.push(r[o]);break}}}function r(e,t,n){e.addEventListener(t,n,!1)}function o(e,t,n){e.removeEventListener(t,n,!1)}t.__esModule=!0;var i=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),a={transitionend:{transition:\"transitionend\",WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"mozTransitionEnd\",OTransition:\"oTransitionEnd\",msTransition:\"MSTransitionEnd\"},animationend:{animation:\"animationend\",WebkitAnimation:\"webkitAnimationEnd\",MozAnimation:\"mozAnimationEnd\",OAnimation:\"oAnimationEnd\",msAnimation:\"MSAnimationEnd\"}},s=[];i&&n();var u={addEndEventListener:function(e,t){return 0===s.length?void window.setTimeout(t,0):void s.forEach(function(n){r(e,n,t)})},removeEndEventListener:function(e,t){0!==s.length&&s.forEach(function(n){o(e,n,t)})}};t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=void 0;\"object\"===(\"undefined\"==typeof e?\"undefined\":(0,p.default)(e))?r=e.message:(r=e+\" is deprecated. Use \"+t+\" instead.\",n&&(r+=\"\\nYou can read more about it at \"+n)),m[r]||(m[r]=!0)}function i(){m={}}t.__esModule=!0;var a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(242),p=r(f);t._resetWarned=i;var h=n(47),m=(r(h),{});o.wrapper=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.componentWillMount=function(){if(o.apply(void 0,n),e.prototype.componentWillMount){for(var t,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];(t=e.prototype.componentWillMount).call.apply(t,[this].concat(i))}},t}(e)},t.default=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0,t.ValidComponentChildren=t.createChainedFunction=t.bootstrapUtils=void 0;var i=n(13),a=o(i),s=n(39),u=r(s),l=n(52),c=r(l);t.bootstrapUtils=a,t.createChainedFunction=u.default,t.ValidComponentChildren=c.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(47),u=r(s),l=n(328),c=r(l),d=n(25),f=r(d),p=n(586),h=r(p),m=n(1476),g=r(m),_=n(167),b=r(_),y=n(589),v=r(y),M=n(1479),A=r(M),w=n(74),C=r(w),E=n(286),L=r(E),T=n(89),O=r(T),S=n(310),N=r(S),k=new g.default,D=a.default.createClass({displayName:\"Modal\",propTypes:o({},h.default.propTypes,{show:a.default.PropTypes.bool,container:a.default.PropTypes.oneOfType([c.default,a.default.PropTypes.func]),onShow:a.default.PropTypes.func,onHide:a.default.PropTypes.func,backdrop:a.default.PropTypes.oneOfType([a.default.PropTypes.bool,a.default.PropTypes.oneOf([\"static\"])]),renderBackdrop:a.default.PropTypes.func,onEscapeKeyUp:a.default.PropTypes.func,onBackdropClick:a.default.PropTypes.func,backdropStyle:a.default.PropTypes.object,backdropClassName:a.default.PropTypes.string,containerClassName:a.default.PropTypes.string,keyboard:a.default.PropTypes.bool,transition:f.default,dialogTransitionTimeout:a.default.PropTypes.number,backdropTransitionTimeout:a.default.PropTypes.number,autoFocus:a.default.PropTypes.bool,enforceFocus:a.default.PropTypes.bool,restoreFocus:a.default.PropTypes.bool,onEnter:a.default.PropTypes.func,onEntering:a.default.PropTypes.func,onEntered:a.default.PropTypes.func,onExit:a.default.PropTypes.func,onExiting:a.default.PropTypes.func,onExited:a.default.PropTypes.func,manager:a.default.PropTypes.object.isRequired}),getDefaultProps:function(){var e=function(){};return{show:!1,backdrop:!0,keyboard:!0,autoFocus:!0,enforceFocus:!0,restoreFocus:!0,onHide:e,manager:k,renderBackdrop:function(e){return a.default.createElement(\"div\",e)}}},omitProps:function(e,t){var n=Object.keys(e),r={};return n.map(function(n){Object.prototype.hasOwnProperty.call(t,n)||(r[n]=e[n])}),r},getInitialState:function(){return{exited:!this.props.show}},render:function(){var e=this.props,t=e.show,n=e.container,r=e.children,s=e.transition,u=e.backdrop,l=e.dialogTransitionTimeout,c=e.className,d=e.style,f=e.onExit,p=e.onExiting,m=e.onEnter,g=e.onEntering,_=e.onEntered,b=a.default.Children.only(r),y=this.omitProps(this.props,D.propTypes),v=t||s&&!this.state.exited;if(!v)return null;var M=b.props,A=M.role,w=M.tabIndex;return void 0!==A&&void 0!==w||(b=(0,i.cloneElement)(b,{role:void 0===A?\"document\":A,tabIndex:null==w?\"-1\":w})),s&&(b=a.default.createElement(s,{transitionAppear:!0,unmountOnExit:!0,in:t,timeout:l,onExit:f,onExiting:p,onExited:this.handleHidden,onEnter:m,onEntering:g,onEntered:_},b)),a.default.createElement(h.default,{ref:this.setMountNode,container:n},a.default.createElement(\"div\",o({ref:\"modal\",role:A||\"dialog\"},y,{style:d,className:c}),u&&this.renderBackdrop(),b))},renderBackdrop:function e(){var t=this,n=this.props,r=n.backdropStyle,o=n.backdropClassName,e=n.renderBackdrop,i=n.transition,s=n.backdropTransitionTimeout,u=function(e){return t.backdrop=e},l=a.default.createElement(\"div\",{ref:u,style:this.props.backdropStyle,className:this.props.backdropClassName,onClick:this.handleBackdropClick});return i&&(l=a.default.createElement(i,{transitionAppear:!0,in:this.props.show,timeout:s},e({ref:u,style:r,className:o,onClick:this.handleBackdropClick}))),l},componentWillReceiveProps:function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})},componentWillUpdate:function(e){!this.props.show&&e.show&&this.checkForFocus()},componentDidMount:function(){this.props.show&&this.onShow()},componentDidUpdate:function(e){var t=this.props.transition;!e.show||this.props.show||t?!e.show&&this.props.show&&this.onShow():this.onHide()},componentWillUnmount:function(){var e=this.props,t=e.show,n=e.transition;(t||n&&!this.state.exited)&&this.onHide()},onShow:function(){var e=(0,b.default)(this),t=(0,N.default)(this.props.container,e.body);this.props.manager.add(this,t,this.props.containerClassName),this._onDocumentKeyupListener=(0,v.default)(e,\"keyup\",this.handleDocumentKeyUp),this._onFocusinListener=(0,A.default)(this.enforceFocus),this.focus(),this.props.onShow&&this.props.onShow()},onHide:function(){this.props.manager.remove(this),this._onDocumentKeyupListener.remove(),this._onFocusinListener.remove(),this.props.restoreFocus&&this.restoreLastFocus()},setMountNode:function(e){this.mountNode=e?e.getMountNode():e},handleHidden:function(){if(this.setState({exited:!0}),this.onHide(),this.props.onExited){var e;(e=this.props).onExited.apply(e,arguments)}},handleBackdropClick:function(e){e.target===e.currentTarget&&(this.props.onBackdropClick&&this.props.onBackdropClick(e),this.props.backdrop===!0&&this.props.onHide())},handleDocumentKeyUp:function(e){this.props.keyboard&&27===e.keyCode&&this.isTopModal()&&(this.props.onEscapeKeyUp&&this.props.onEscapeKeyUp(e),this.props.onHide())},checkForFocus:function(){C.default&&(this.lastFocus=(0,L.default)())},focus:function(){var e=this.props.autoFocus,t=this.getDialogElement(),n=(0,L.default)((0,b.default)(this)),r=n&&(0,O.default)(t,n);t&&e&&!r&&(this.lastFocus=n,t.hasAttribute(\"tabIndex\")||(t.setAttribute(\"tabIndex\",-1),(0,u.default)(!1,'The modal content node does not accept focus. For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".')),t.focus())},restoreLastFocus:function(){this.lastFocus&&this.lastFocus.focus&&(this.lastFocus.focus(),this.lastFocus=null)},enforceFocus:function e(){var e=this.props.enforceFocus;if(e&&this.isMounted()&&this.isTopModal()){var t=(0,L.default)((0,b.default)(this)),n=this.getDialogElement();n&&n!==t&&!(0,O.default)(n,t)&&n.focus()}},getDialogElement:function(){var e=this.refs.modal;return e&&e.lastChild},isTopModal:function(){return this.props.manager.isTopModal(this)}});D.Manager=g.default,t.default=D,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){var n=-1;return e.some(function(e,r){if(t(e,r))return n=r,!0}),n}function a(e,t){return i(e,function(e){return e.modals.indexOf(t)!==-1})}function s(e,t){var n={overflow:\"hidden\"};e.style={overflow:t.style.overflow,paddingRight:t.style.paddingRight},e.overflowing&&(n.paddingRight=parseInt((0,d.default)(t,\"paddingRight\")||0,10)+(0,m.default)()+\"px\"),(0,d.default)(t,n)}function u(e,t){var n=e.style;Object.keys(n).forEach(function(e){return t.style[e]=n[e]})}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(160),d=r(c),f=n(408),p=r(f),h=n(287),m=r(h),g=n(590),_=r(g),b=n(1481),y=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.hideSiblingNodes,r=void 0===n||n,i=t.handleContainerOverflow,a=void 0===i||i;o(this,e),this.hideSiblingNodes=r,this.handleContainerOverflow=a,this.modals=[],this.containers=[],this.data=[]}return l(e,[{key:\"add\",value:function(e,t,n){var r=this.modals.indexOf(e),o=this.containers.indexOf(t);if(r!==-1)return r;if(r=this.modals.length,this.modals.push(e),this.hideSiblingNodes&&(0,b.hideSiblings)(t,e.mountNode),o!==-1)return this.data[o].modals.push(e),r;var i={modals:[e],classes:n?n.split(/\\s+/):[],overflowing:(0,_.default)(t)};return this.handleContainerOverflow&&s(i,t),i.classes.forEach(p.default.addClass.bind(null,t)),this.containers.push(t),this.data.push(i),r}},{key:\"remove\",value:function(e){var t=this.modals.indexOf(e);if(t!==-1){var n=a(this.data,e),r=this.data[n],o=this.containers[n];r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length?(r.classes.forEach(p.default.removeClass.bind(null,o)),this.handleContainerOverflow&&u(r,o),this.hideSiblingNodes&&(0,b.showSiblings)(o,e.mountNode),this.containers.splice(n,1),this.data.splice(n,1)):this.hideSiblingNodes&&(0,b.ariaHidden)(!1,r.modals[r.modals.length-1].mountNode)}}},{key:\"isTopModal\",value:function(e){return!!this.modals.length&&this.modals[this.modals.length-1]===e}}]),e}();t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(586),p=r(f),h=n(1478),m=r(h),g=n(587),_=r(g),b=n(25),y=r(b),v=function(e){function t(e,n){i(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.state={exited:!e.show},r.onHiddenListener=r.handleHidden.bind(r),r}return s(t,e),l(t,[{key:\"componentWillReceiveProps\",value:function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})}},{key:\"render\",value:function(){var e=this.props,t=e.container,n=e.containerPadding,r=e.target,i=e.placement,a=e.shouldUpdatePosition,s=e.rootClose,u=e.children,l=e.transition,c=o(e,[\"container\",\"containerPadding\",\"target\",\"placement\",\"shouldUpdatePosition\",\"rootClose\",\"children\",\"transition\"]),f=c.show||l&&!this.state.exited;if(!f)return null;var h=u;if(h=d.default.createElement(m.default,{container:t,containerPadding:n,target:r,placement:i,shouldUpdatePosition:a},h),l){var g=c.onExit,b=c.onExiting,y=c.onEnter,v=c.onEntering,M=c.onEntered;h=d.default.createElement(l,{in:c.show,transitionAppear:!0,onExit:g,onExiting:b,onExited:this.onHiddenListener,onEnter:y,onEntering:v,onEntered:M},h)}return s&&(h=d.default.createElement(_.default,{onRootClose:c.onHide},h)),d.default.createElement(p.default,{container:t},h)}},{key:\"handleHidden\",value:function(){if(this.setState({exited:!0}),this.props.onExited){var e;(e=this.props).onExited.apply(e,arguments)}}}]),t}(d.default.Component);v.propTypes=u({},p.default.propTypes,m.default.propTypes,{show:d.default.PropTypes.bool,rootClose:d.default.PropTypes.bool,onHide:function(e){var t=d.default.PropTypes.func;e.rootClose&&(t=t.isRequired);for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.apply(void 0,[e].concat(r))},transition:y.default,onEnter:d.default.PropTypes.func,onEntering:d.default.PropTypes.func,onEntered:d.default.PropTypes.func,onExit:d.default.PropTypes.func,onExiting:d.default.PropTypes.func,onExited:d.default.PropTypes.func}),t.default=v,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(12),d=r(c),f=n(1),p=r(f),h=n(29),m=r(h),g=n(328),_=r(g),b=n(1480),y=r(b),v=n(310),M=r(v),A=n(167),w=r(A),C=function(e){function t(e,n){i(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.state={positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null},r._needsFlush=!1,r._lastTarget=null,r}return s(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.updatePosition(this.getTarget())}},{key:\"componentWillReceiveProps\",value:function(){this._needsFlush=!0}},{key:\"componentDidUpdate\",value:function(e){this._needsFlush&&(this._needsFlush=!1,this.maybeUpdatePosition(this.props.placement!==e.placement))}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.className,r=o(e,[\"children\",\"className\"]),i=this.state,a=i.positionLeft,s=i.positionTop,l=o(i,[\"positionLeft\",\"positionTop\"]);delete r.target,delete r.container,delete r.containerPadding,delete r.shouldUpdatePosition;var c=p.default.Children.only(t);return(0,f.cloneElement)(c,u({},r,l,{positionLeft:a,positionTop:s,className:(0,d.default)(n,c.props.className),style:u({},c.props.style,{left:a,top:s})}))}},{key:\"getTarget\",value:function(){var e=this.props.target,t=\"function\"==typeof e?e():e;return t&&m.default.findDOMNode(t)||null}},{key:\"maybeUpdatePosition\",value:function(e){var t=this.getTarget();(this.props.shouldUpdatePosition||t!==this._lastTarget||e)&&this.updatePosition(t)}},{key:\"updatePosition\",value:function(e){if(this._lastTarget=e,!e)return void this.setState({positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null});var t=m.default.findDOMNode(this),n=(0,M.default)(this.props.container,(0,w.default)(this).body);this.setState((0,y.default)(this.props.placement,t,e,n,this.props.containerPadding))}}]),t}(p.default.Component);C.propTypes={target:p.default.PropTypes.oneOfType([_.default,p.default.PropTypes.func]),container:p.default.PropTypes.oneOfType([_.default,p.default.PropTypes.func]),containerPadding:p.default.PropTypes.number,placement:p.default.PropTypes.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),shouldUpdatePosition:p.default.PropTypes.bool},C.displayName=\"Position\",C.defaultProps={containerPadding:0,placement:\"right\",shouldUpdatePosition:!1},t.default=C,e.exports=t.default},function(e,t){\"use strict\";function n(e){var t=!document.addEventListener,n=void 0;return t?(document.attachEvent(\"onfocusin\",e),n=function(){return document.detachEvent(\"onfocusin\",e)}):(document.addEventListener(\"focus\",e,!0),n=function(){return document.removeEventListener(\"focus\",e,!0)}),{remove:n}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=void 0,n=void 0,r=void 0;if(\"BODY\"===e.tagName)t=window.innerWidth,n=window.innerHeight,r=(0,p.default)((0,m.default)(e).documentElement)||(0,p.default)(e);else{var o=(0,l.default)(e);t=o.width,n=o.height,r=(0,p.default)(e)}return{width:t,height:n,scroll:r}}function i(e,t,n,r){var i=o(n),a=i.scroll,s=i.height,u=e-r-a,l=e+r-a+t;return u<0?-u:l>s?s-l:0}function a(e,t,n,r){var i=o(n),a=i.width,s=e-r,u=e+r+t;return s<0?-s:u>a?a-u:0}function s(e,t,n,r,o){var s=\"BODY\"===r.tagName?(0,l.default)(n):(0,d.default)(n,r),u=(0,l.default)(t),c=u.height,f=u.width,p=void 0,h=void 0,m=void 0,g=void 0;if(\"left\"===e||\"right\"===e){h=s.top+(s.height-c)/2,p=\"left\"===e?s.left-f:s.left+s.width;var _=i(h,c,r,o);h+=_,g=50*(1-2*_/c)+\"%\",m=void 0}else{if(\"top\"!==e&&\"bottom\"!==e)throw new Error('calcOverlayPosition(): No such placement of \"'+e+'\" found.');p=s.left+(s.width-f)/2,h=\"top\"===e?s.top-c:s.top+s.height;var b=a(p,f,r,o);p+=b,m=50*(1-2*b/f)+\"%\",g=void 0}return{positionLeft:p,positionTop:h,arrowOffsetLeft:m,arrowOffsetTop:g}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=s;var u=n(132),l=r(u),c=n(410),d=r(c),f=n(200),p=r(f),h=n(167),m=r(h);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){t&&(e?t.setAttribute(\"aria-hidden\",\"true\"):t.removeAttribute(\"aria-hidden\"))}function r(e,t){s(e,t,function(e){return n(!0,e)})}function o(e,t){s(e,t,function(e){return n(!1,e)})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.ariaHidden=n,t.hideSiblings=r,t.showSiblings=o;var i=[\"template\",\"script\",\"style\"],a=function(e){var t=e.nodeType,n=e.tagName;return 1===t&&i.indexOf(n.toLowerCase())===-1},s=function(e,t,n){t=[].concat(t),[].forEach.call(e.children,function(e){t.indexOf(e)===-1&&a(e)&&n(e)})}},function(e,t){\"use strict\";var n={Properties:{\"aria-current\":0,\"aria-details\":0,\"aria-disabled\":0,\"aria-hidden\":0,\"aria-invalid\":0,\"aria-keyshortcuts\":0,\"aria-label\":0,\"aria-roledescription\":0,\"aria-autocomplete\":0,\"aria-checked\":0,\"aria-expanded\":0,\"aria-haspopup\":0,\"aria-level\":0,\"aria-modal\":0,\"aria-multiline\":0,\"aria-multiselectable\":0,\"aria-orientation\":0,\"aria-placeholder\":0,\"aria-pressed\":0,\"aria-readonly\":0,\"aria-required\":0,\"aria-selected\":0,\"aria-sort\":0,\"aria-valuemax\":0,\"aria-valuemin\":0,\"aria-valuenow\":0,\"aria-valuetext\":0,\"aria-atomic\":0,\"aria-busy\":0,\"aria-live\":0,\"aria-relevant\":0,\"aria-dropeffect\":0,\"aria-grabbed\":0,\"aria-activedescendant\":0,\"aria-colcount\":0,\"aria-colindex\":0,\"aria-colspan\":0,\"aria-controls\":0,\"aria-describedby\":0,\"aria-errormessage\":0,\"aria-flowto\":0,\"aria-labelledby\":0,\"aria-owns\":0,\"aria-posinset\":0,\"aria-rowcount\":0,\"aria-rowindex\":0,\"aria-rowspan\":0,\"aria-setsize\":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=n},function(e,t,n){\"use strict\";var r=n(34),o=n(418),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){\"use strict\";function r(){var e=window.opera;return\"object\"==typeof e&&\"function\"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case\"topCompositionStart\":return L.compositionStart;case\"topCompositionEnd\":return L.compositionEnd;case\"topCompositionUpdate\":return L.compositionUpdate}}function a(e,t){return\"topKeyDown\"===e&&t.keyCode===y}function s(e,t){switch(e){case\"topKeyUp\":return b.indexOf(t.keyCode)!==-1;case\"topKeyDown\":return t.keyCode!==y;case\"topKeyPress\":case\"topMouseDown\":case\"topBlur\":return!0;default:return!1}}function u(e){var t=e.detail;return\"object\"==typeof t&&\"data\"in t?t.data:null}function l(e,t,n,r){var o,l;if(v?o=i(e):O?s(e,n)&&(o=L.compositionEnd):a(e,n)&&(o=L.compositionStart),!o)return null;w&&(O||o!==L.compositionStart?o===L.compositionEnd&&O&&(l=O.getData()):O=m.getPooled(r));var c=g.getPooled(o,t,n,r);if(l)c.data=l;else{var d=u(n);null!==d&&(c.data=d)}return p.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case\"topCompositionEnd\":return u(t);case\"topKeyPress\":var n=t.which;return n!==C?null:(T=!0,E);case\"topTextInput\":var r=t.data;return r===E&&T?null:r;default:return null}}function d(e,t){if(O){if(\"topCompositionEnd\"===e||!v&&s(e,t)){var n=O.getData();return m.release(O),O=null,n}return null}switch(e){case\"topPaste\":return null;case\"topKeyPress\":return t.which&&!o(t)?String.fromCharCode(t.which):null;case\"topCompositionEnd\":return w?null:t.data;default:return null}}function f(e,t,n,r){var o;if(o=A?c(e,n):d(e,n),!o)return null;var i=_.getPooled(L.beforeInput,t,n,r);return i.data=o,p.accumulateTwoPhaseDispatches(i),i}var p=n(169),h=n(46),m=n(1490),g=n(1527),_=n(1530),b=[9,13,27,32],y=229,v=h.canUseDOM&&\"CompositionEvent\"in window,M=null;h.canUseDOM&&\"documentMode\"in document&&(M=document.documentMode);var A=h.canUseDOM&&\"TextEvent\"in window&&!M&&!r(),w=h.canUseDOM&&(!v||M&&M>8&&M<=11),C=32,E=String.fromCharCode(C),L={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:[\"topBlur\",\"topCompositionEnd\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:[\"topBlur\",\"topCompositionStart\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:[\"topBlur\",\"topCompositionUpdate\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]}},T=!1,O=null,S={eventTypes:L,extractEvents:function(e,t,n,r){return[l(e,t,n,r),f(e,t,n,r)]}};e.exports=S},function(e,t,n){\"use strict\";var r=n(591),o=n(46),i=(n(65),n(1252),n(1536)),a=n(1259),s=n(1262),u=(n(20),s(function(e){return a(e)})),l=!1,c=\"cssFloat\";if(o.canUseDOM){var d=document.createElement(\"div\").style;try{d.font=\"\"}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c=\"styleFloat\")}var f={createMarkupForStyles:function(e,t){var n=\"\";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=u(r)+\":\",n+=i(r,o,t)+\";\")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if(\"float\"!==a&&\"cssFloat\"!==a||(a=c),s)o[a]=s;else{var u=l&&r.shorthandPropertyExpansions[a];if(u)for(var d in u)o[d]=\"\";else o[a]=\"\"}}}};e.exports=f},function(e,t,n){\"use strict\";function r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return\"select\"===t||\"input\"===t&&\"file\"===e.type}function o(e){var t=C.getPooled(O.change,N,e,E(e));v.accumulateTwoPhaseDispatches(t),w.batchedUpdates(i,t)}function i(e){y.enqueueEvents(e),y.processEventQueue(!1)}function a(e,t){S=e,N=t,S.attachEvent(\"onchange\",o)}function s(){S&&(S.detachEvent(\"onchange\",o),S=null,N=null)}function u(e,t){if(\"topChange\"===e)return t}function l(e,t,n){\"topFocus\"===e?(s(),a(t,n)):\"topBlur\"===e&&s()}function c(e,t){S=e,N=t,k=e.value,D=Object.getOwnPropertyDescriptor(e.constructor.prototype,\"value\"),Object.defineProperty(S,\"value\",z),S.attachEvent?S.attachEvent(\"onpropertychange\",f):S.addEventListener(\"propertychange\",f,!1)}function d(){S&&(delete S.value,S.detachEvent?S.detachEvent(\"onpropertychange\",f):S.removeEventListener(\"propertychange\",f,!1),S=null,N=null,k=null,D=null)}function f(e){if(\"value\"===e.propertyName){var t=e.srcElement.value;t!==k&&(k=t,o(e))}}function p(e,t){if(\"topInput\"===e)return t}function h(e,t,n){\"topFocus\"===e?(d(),c(t,n)):\"topBlur\"===e&&d()}function m(e,t){if((\"topSelectionChange\"===e||\"topKeyUp\"===e||\"topKeyDown\"===e)&&S&&S.value!==k)return k=S.value,N}function g(e){return e.nodeName&&\"input\"===e.nodeName.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)}function _(e,t){if(\"topClick\"===e)return t}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&\"number\"===t.type){var r=\"\"+t.value;t.getAttribute(\"value\")!==r&&t.setAttribute(\"value\",r)}}}var y=n(168),v=n(169),M=n(46),A=n(34),w=n(77),C=n(81),E=n(323),L=n(324),T=n(608),O={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:[\"topBlur\",\"topChange\",\"topClick\",\"topFocus\",\"topInput\",\"topKeyDown\",\"topKeyUp\",\"topSelectionChange\"]}},S=null,N=null,k=null,D=null,x=!1;M.canUseDOM&&(x=L(\"change\")&&(!document.documentMode||document.documentMode>8));var I=!1;M.canUseDOM&&(I=L(\"input\")&&(!document.documentMode||document.documentMode>11));var z={get:function(){return D.get.call(this)},set:function(e){k=\"\"+e,D.set.call(this,e)}},P={eventTypes:O,extractEvents:function(e,t,n,o){var i,a,s=t?A.getNodeFromInstance(t):window;if(r(s)?x?i=u:a=l:T(s)?I?i=p:(i=m,a=h):g(s)&&(i=_),i){var c=i(e,t);if(c){var d=C.getPooled(O.change,c,n,o);return d.type=\"change\",v.accumulateTwoPhaseDispatches(d),d}}a&&a(e,s,t),\"topBlur\"===e&&b(t,s)}};e.exports=P},function(e,t,n){\"use strict\";var r=n(24),o=n(137),i=n(46),a=n(1255),s=n(63),u=(n(17),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM?void 0:r(\"56\"),t?void 0:r(\"57\"),\"HTML\"===e.nodeName?r(\"58\"):void 0,\"string\"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},function(e,t){\"use strict\";var n=[\"ResponderEventPlugin\",\"SimpleEventPlugin\",\"TapEventPlugin\",\"EnterLeaveEventPlugin\",\"ChangeEventPlugin\",\"SelectEventPlugin\",\"BeforeInputEventPlugin\"];e.exports=n},function(e,t,n){\"use strict\";var r=n(169),o=n(34),i=n(215),a={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"topMouseOut\",\"topMouseOver\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"topMouseOut\",\"topMouseOver\"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if(\"topMouseOver\"===e&&(n.relatedTarget||n.fromElement))return null;if(\"topMouseOut\"!==e&&\"topMouseOver\"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,d;if(\"topMouseOut\"===e){c=t;var f=n.relatedTarget||n.toElement;d=f?o.getClosestInstanceFromNode(f):null}else c=null,d=t;if(c===d)return null;var p=null==c?u:o.getNodeFromInstance(c),h=null==d?u:o.getNodeFromInstance(d),m=i.getPooled(a.mouseLeave,c,n,s);m.type=\"mouseleave\",m.target=p,m.relatedTarget=h;var g=i.getPooled(a.mouseEnter,d,n,s);return g.type=\"mouseenter\",g.target=h,g.relatedTarget=p,r.accumulateEnterLeaveDispatches(m,g,c,d),[m,g]}};e.exports=s},function(e,t,n){\"use strict\";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(28),i=n(112),a=n(606);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return\"value\"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";var r=n(138),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp(\"^(data|aria)-[\"+r.ATTRIBUTE_NAME_CHAR+\"]*$\")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,\nmedia:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute(\"value\"):void(\"number\"!==e.type||e.hasAttribute(\"value\")===!1?e.setAttribute(\"value\",\"\"+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute(\"value\",\"\"+t))}}};e.exports=l},function(e,t,n){(function(t){\"use strict\";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=i(t,!0))}var o=n(139),i=n(607),a=(n(315),n(325)),s=n(610);n(20);\"undefined\"!=typeof t&&t.env,1;var u={instantiateChildren:function(e,t,n,o){if(null==e)return null;var i={};return s(e,r,i),i},updateChildren:function(e,t,n,r,s,u,l,c,d){if(t||e){var f,p;for(f in t)if(t.hasOwnProperty(f)){p=e&&e[f];var h=p&&p._currentElement,m=t[f];if(null!=p&&a(h,m))o.receiveComponent(p,m,s,c),t[f]=p;else{p&&(r[f]=o.getHostNode(p),o.unmountComponent(p,!1));var g=i(m,!0);t[f]=g;var _=o.mountComponent(g,s,u,l,c,d);n.push(_)}}for(f in e)!e.hasOwnProperty(f)||t&&t.hasOwnProperty(f)||(p=e[f],r[f]=o.getHostNode(p),o.unmountComponent(p,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}};e.exports=u}).call(t,n(135))},function(e,t,n){\"use strict\";var r=n(311),o=n(1500),i={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=i},function(e,t,n){\"use strict\";function r(e){}function o(e,t){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function a(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var s=n(24),u=n(28),l=n(143),c=n(317),d=n(82),f=n(318),p=n(170),h=(n(65),n(601)),m=n(139),g=n(162),_=(n(17),n(289)),b=n(325),y=(n(20),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=p.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return o(e,t),t};var v=1,M={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,u){this._context=u,this._mountOrder=v++,this._hostParent=t,this._hostContainerInfo=n;var c,d=this._currentElement.props,f=this._processContext(u),h=this._currentElement.type,m=e.getUpdateQueue(),_=i(h),b=this._constructComponent(_,d,f,m);_||null!=b&&null!=b.render?a(h)?this._compositeType=y.PureClass:this._compositeType=y.ImpureClass:(c=b,o(h,c),null===b||b===!1||l.isValidElement(b)?void 0:s(\"105\",h.displayName||h.name||\"Component\"),b=new r(h),this._compositeType=y.StatelessFunctional);b.props=d,b.context=f,b.refs=g,b.updater=m,this._instance=b,p.set(b,this);var M=b.state;void 0===M&&(b.state=M=null),\"object\"!=typeof M||Array.isArray(M)?s(\"106\",this.getName()||\"ReactCompositeComponent\"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var A;return A=b.unstable_handleError?this.performInitialMountWithErrorHandling(c,t,n,e,u):this.performInitialMount(c,t,n,e,u),b.componentDidMount&&e.getReactMountReady().enqueue(b.componentDidMount,b),A},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance,a=0;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var l=m.mountComponent(u,r,t,n,this._processChildContext(o),a);return l},getHostNode:function(){return m.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+\".componentWillUnmount()\";f.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(m.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,p.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return g;var r={};for(var o in n)r[o]=e[o];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){\"object\"!=typeof n.childContextTypes?s(\"107\",this.getName()||\"ReactCompositeComponent\"):void 0;for(var o in t)o in n.childContextTypes?void 0:s(\"108\",this.getName()||\"ReactCompositeComponent\",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?m.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var i=this._instance;null==i?s(\"136\",this.getName()||\"ReactCompositeComponent\"):void 0;var a,u=!1;this._context===o?a=i.context:(a=this._processContext(o),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&i.componentWillReceiveProps&&i.componentWillReceiveProps(c,a);var d=this._processPendingState(c,a),f=!0;this._pendingForceUpdate||(i.shouldComponentUpdate?f=i.shouldComponentUpdate(c,d,a):this._compositeType===y.PureClass&&(f=!_(l,c)||!_(i.state,d))),this._updateBatchNumber=null,f?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,d,a,e,o)):(this._currentElement=n,this._context=o,i.props=c,i.state=d,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=u({},o?r[0]:n.state),a=o?1:0;a<r.length;a++){var s=r[a];u(i,\"function\"==typeof s?s.call(n,i,e,t):s)}return i},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(o,i),c&&o.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent(),i=0;if(b(r,o))m.receiveComponent(n,o,e,this._processChildContext(t));else{var a=m.getHostNode(n);m.unmountComponent(n,!1);var s=h.getType(o);this._renderedNodeType=s;var u=this._instantiateReactComponent(o,s!==h.EMPTY);this._renderedComponent=u;var l=m.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),i);this._replaceNodeWithMarkup(a,l,n)}},_replaceNodeWithMarkup:function(e,t,n){c.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e,t=this._instance;return e=t.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==y.StatelessFunctional){d.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{d.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||e===!1||l.isValidElement(e)?void 0:s(\"109\",this.getName()||\"ReactCompositeComponent\"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n?s(\"110\"):void 0;var r=t.getPublicInstance(),o=n.refs===g?n.refs={}:n.refs;o[e]=r},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===y.StatelessFunctional?null:e},_instantiateReactComponent:null};e.exports=M},function(e,t,n){\"use strict\";var r=n(34),o=n(1508),i=n(600),a=n(139),s=n(77),u=n(1521),l=n(1537),c=n(605),d=n(1544);n(20);o.inject();var f={findDOMNode:l,render:i.render,unmountComponentAtNode:i.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:d};\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a});e.exports=f},function(e,t,n){\"use strict\";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return\" This DOM node was rendered by `\"+n+\"`.\"}}return\"\"}function o(e,t){t&&(G[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML?m(\"137\",e._tag,e._currentElement._owner?\" Check the render method of \"+e._currentElement._owner.getName()+\".\":\"\"):void 0),null!=t.dangerouslySetInnerHTML&&(null!=t.children?m(\"60\"):void 0,\"object\"==typeof t.dangerouslySetInnerHTML&&Y in t.dangerouslySetInnerHTML?void 0:m(\"61\")),null!=t.style&&\"object\"!=typeof t.style?m(\"62\",r(e)):void 0)}function i(e,t,n,r){if(!(r instanceof x)){var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===q,s=i?o._node:o._ownerDocument;B(t,s),r.getReactMountReady().enqueue(a,{inst:e,registrationName:t,listener:n})}}function a(){var e=this;w.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;O.postMountWrapper(e)}function u(){var e=this;k.postMountWrapper(e)}function l(){var e=this;S.postMountWrapper(e)}function c(){var e=this;e._rootNodeID?void 0:m(\"63\");var t=j(e);switch(t?void 0:m(\"64\"),e._tag){case\"iframe\":case\"object\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topLoad\",\"load\",t)];break;case\"video\":case\"audio\":e._wrapperState.listeners=[];for(var n in U)U.hasOwnProperty(n)&&e._wrapperState.listeners.push(E.trapBubbledEvent(n,U[n],t));break;case\"source\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topError\",\"error\",t)];break;case\"img\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topError\",\"error\",t),E.trapBubbledEvent(\"topLoad\",\"load\",t)];break;case\"form\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topReset\",\"reset\",t),E.trapBubbledEvent(\"topSubmit\",\"submit\",t)];break;case\"input\":case\"select\":case\"textarea\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topInvalid\",\"invalid\",t)]}}function d(){N.postUpdateWrapper(this)}function f(e){Q.call(K,e)||($.test(e)?void 0:m(\"65\",e),K[e]=!0)}function p(e,t){return e.indexOf(\"-\")>=0||null!=t.is}function h(e){var t=e.type;f(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=n(24),g=n(28),_=n(1483),b=n(1485),y=n(137),v=n(312),M=n(138),A=n(593),w=n(168),C=n(313),E=n(214),L=n(594),T=n(34),O=n(1501),S=n(1502),N=n(595),k=n(1505),D=(n(65),n(1514)),x=n(1519),I=(n(63),n(217)),z=(n(17),n(324),n(289),n(326),n(20),L),P=w.deleteListener,j=T.getNodeFromInstance,B=E.listenTo,F=C.registrationNameModules,R={string:!0,number:!0},W=\"style\",Y=\"__html\",H={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},q=11,U={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},V={listing:!0,pre:!0,textarea:!0},G=g({menuitem:!0},X),$=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,K={},Q={}.hasOwnProperty,Z=1;h.displayName=\"ReactDOMComponent\",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Z++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case\"input\":O.mountWrapper(this,i,t),i=O.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case\"option\":S.mountWrapper(this,i,t),i=S.getHostProps(this,i);break;case\"select\":N.mountWrapper(this,i,t),i=N.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case\"textarea\":k.mountWrapper(this,i,t),i=k.getHostProps(this,i),e.getReactMountReady().enqueue(c,this)}o(this,i);var a,d;null!=t?(a=t._namespaceURI,d=t._tag):n._tag&&(a=n._namespaceURI,d=n._tag),(null==a||a===v.svg&&\"foreignobject\"===d)&&(a=v.html),a===v.html&&(\"svg\"===this._tag?a=v.svg:\"math\"===this._tag&&(a=v.mathml)),this._namespaceURI=a;var f;if(e.useCreateElement){var p,h=n._ownerDocument;if(a===v.html)if(\"script\"===this._tag){var m=h.createElement(\"div\"),g=this._currentElement.type;m.innerHTML=\"<\"+g+\"></\"+g+\">\",p=m.removeChild(m.firstChild)}else p=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else p=h.createElementNS(a,this._currentElement.type);T.precacheNode(this,p),this._flags|=z.hasCachedChildNodes,this._hostParent||A.setAttributeForRoot(p),this._updateDOMProperties(null,i,e);var b=y(p);this._createInitialChildren(e,i,r,b),f=b}else{var M=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);f=!w&&X[this._tag]?M+\"/>\":M+\">\"+w+\"</\"+this._currentElement.type+\">\"}switch(this._tag){case\"input\":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"textarea\":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"select\":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"button\":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"option\":e.getReactMountReady().enqueue(l,this)}return f},_createOpenTagMarkupAndPutListeners:function(e,t){var n=\"<\"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(F.hasOwnProperty(r))o&&i(this,r,o,e);else{r===W&&(o&&(o=this._previousStyleCopy=g({},t.style)),o=b.createMarkupForStyles(o,this));var a=null;null!=this._tag&&p(this._tag,t)?H.hasOwnProperty(r)||(a=A.createMarkupForCustomAttribute(r,o)):a=A.createMarkupForProperty(r,o),a&&(n+=\" \"+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=\" \"+A.createMarkupForRoot()),n+=\" \"+A.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r=\"\",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=R[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=I(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join(\"\")}}return V[this._tag]&&\"\\n\"===r.charAt(0)?\"\\n\"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&y.queueHTML(r,o.__html);else{var i=R[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)\"\"!==i&&y.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u<s.length;u++)y.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var i=t.props,a=this._currentElement.props;switch(this._tag){case\"input\":i=O.getHostProps(this,i),a=O.getHostProps(this,a);break;case\"option\":i=S.getHostProps(this,i),a=S.getHostProps(this,a);break;case\"select\":i=N.getHostProps(this,i),a=N.getHostProps(this,a);break;case\"textarea\":i=k.getHostProps(this,i),a=k.getHostProps(this,a)}switch(o(this,a),this._updateDOMProperties(i,a,e),this._updateDOMChildren(i,a,e,r),this._tag){case\"input\":O.updateWrapper(this);break;case\"textarea\":k.updateWrapper(this);break;case\"select\":e.getReactMountReady().enqueue(d,this)}},_updateDOMProperties:function(e,t,n){var r,o,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===W){var s=this._previousStyleCopy;for(o in s)s.hasOwnProperty(o)&&(a=a||{},a[o]=\"\");this._previousStyleCopy=null}else F.hasOwnProperty(r)?e[r]&&P(this,r):p(this._tag,e)?H.hasOwnProperty(r)||A.deleteValueForAttribute(j(this),r):(M.properties[r]||M.isCustomAttribute(r))&&A.deleteValueForProperty(j(this),r);for(r in t){var u=t[r],l=r===W?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==l&&(null!=u||null!=l))if(r===W)if(u?u=this._previousStyleCopy=g({},u):this._previousStyleCopy=null,l){for(o in l)!l.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(a=a||{},a[o]=\"\");for(o in u)u.hasOwnProperty(o)&&l[o]!==u[o]&&(a=a||{},a[o]=u[o])}else a=u;else if(F.hasOwnProperty(r))u?i(this,r,u,n):l&&P(this,r);else if(p(this._tag,t))H.hasOwnProperty(r)||A.setValueForAttribute(j(this),r,u);else if(M.properties[r]||M.isCustomAttribute(r)){var c=j(this);null!=u?A.setValueForProperty(c,r,u):A.deleteValueForProperty(c,r)}}a&&b.setValueForStyles(j(this),a,this)},_updateDOMChildren:function(e,t,n,r){var o=R[typeof e.children]?e.children:null,i=R[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,l=null!=i?null:t.children,c=null!=o||null!=a,d=null!=i||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!d&&this.updateTextContent(\"\"),null!=i?o!==i&&this.updateTextContent(\"\"+i):null!=s?a!==s&&this.updateMarkup(\"\"+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return j(this)},unmountComponent:function(e){switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case\"html\":case\"head\":case\"body\":m(\"66\",this._tag)}this.unmountChildren(e),T.uncacheNode(this),w.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return j(this)}},g(h.prototype,h.Mixin,D.Mixin),e.exports=h},function(e,t,n){\"use strict\";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===o?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var o=(n(326),9);e.exports=r},function(e,t,n){\"use strict\";var r=n(28),o=n(137),i=n(34),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=\" react-empty: \"+this._domID+\" \";if(e.useCreateElement){var u=n._ownerDocument,l=u.createComment(s);return i.precacheNode(this,l),o(l)}return e.renderToStaticMarkup?\"\":\"<!--\"+s+\"-->\"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t){\"use strict\";var n={useCreateElement:!0,useFiber:!1};e.exports=n},function(e,t,n){\"use strict\";var r=n(311),o=n(34),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},function(e,t,n){\"use strict\";function r(){this._rootNodeID&&f.updateWrapper(this)}function o(e){var t=\"checkbox\"===e.type||\"radio\"===e.type;return t?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);d.asap(r,this);var o=t.name;if(\"radio\"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+o)+'][type=\"radio\"]'),f=0;f<u.length;f++){var p=u[f];if(p!==i&&p.form===i.form){var h=c.getInstanceFromNode(p);h?void 0:a(\"90\"),d.asap(r,h)}}}return n}var a=n(24),s=n(28),u=n(593),l=n(316),c=n(34),d=n(77),f=(n(17),n(20),{getHostProps:function(e,t){var n=l.getValue(t),r=l.getChecked(t),o=s({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange});return o},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:i.bind(e),controlled:o(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&u.setValueForProperty(c.getNodeFromInstance(e),\"checked\",n||!1);var r=c.getNodeFromInstance(e),o=l.getValue(t);if(null!=o)if(0===o&&\"\"===r.value)r.value=\"0\";else if(\"number\"===t.type){var i=parseFloat(r.value,10)||0;o!=i&&(r.value=\"\"+o)}else o!=r.value&&(r.value=\"\"+o);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==\"\"+t.defaultValue&&(r.defaultValue=\"\"+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=c.getNodeFromInstance(e);switch(t.type){case\"submit\":case\"reset\":break;case\"color\":case\"date\":case\"datetime\":case\"datetime-local\":case\"month\":case\"time\":case\"week\":n.value=\"\",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;\"\"!==r&&(n.name=\"\"),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,\"\"!==r&&(n.name=r)}});e.exports=f},function(e,t,n){\"use strict\";function r(e){var t=\"\";return i.Children.forEach(e,function(e){null!=e&&(\"string\"==typeof e||\"number\"==typeof e?t+=e:u||(u=!0))}),t}var o=n(28),i=n(143),a=n(34),s=n(595),u=(n(20),!1),l={mountWrapper:function(e,t,n){var o=null;if(null!=n){var i=n;\"optgroup\"===i._tag&&(i=i._hostParent),null!=i&&\"select\"===i._tag&&(o=s.getSelectValueContext(i))}var a=null;if(null!=o){var u;if(u=null!=t.value?t.value+\"\":r(t.children),a=!1,Array.isArray(o)){for(var l=0;l<o.length;l++)if(\"\"+o[l]===u){a=!0;break}}else a=\"\"+o===u}e._wrapperState={selected:a}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){var n=a.getNodeFromInstance(e);n.setAttribute(\"value\",t.value)}},getHostProps:function(e,t){var n=o({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var i=r(t.children);return i&&(n.children=i),n}};e.exports=l},function(e,t,n){\"use strict\";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint(\"EndToStart\",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function i(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=u?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var d=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),f=d?0:c.toString().length,p=f+l,h=document.createRange();h.setStart(n,o),h.setEnd(i,a);var m=h.collapsed;return{start:m?p:f,end:m?f:p}}function a(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart(\"character\",n),o.setEndPoint(\"EndToStart\",o),o.moveEnd(\"character\",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var d=document.createRange();d.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(d),n.extend(u.node,u.offset)):(d.setEnd(u.node,u.offset),n.addRange(d))}}}var u=n(46),l=n(1541),c=n(606),d=u.canUseDOM&&\"selection\"in document&&!(\"getSelection\"in window),f={getOffsets:d?o:i,setOffsets:d?a:s};e.exports=f},function(e,t,n){\"use strict\";var r=n(24),o=n(28),i=n(311),a=n(137),s=n(34),u=n(217),l=(n(17),n(326),function(e){this._currentElement=e,this._stringText=\"\"+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=\" react-text: \"+o+\" \",l=\" /react-text \";if(this._domID=o,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,d=c.createComment(i),f=c.createComment(l),p=a(c.createDocumentFragment());return a.queueChild(p,a(d)),this._stringText&&a.queueChild(p,a(c.createTextNode(this._stringText))),a.queueChild(p,a(f)),s.precacheNode(this,d),this._closingComment=f,p}var h=u(this._stringText);return e.renderToStaticMarkup?h:\"<!--\"+i+\"-->\"+h+\"<!--\"+l+\"-->\"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=\"\"+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r(\"67\",this._domID):void 0,8===n.nodeType&&\" /react-text \"===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},function(e,t,n){\"use strict\";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=n(24),a=n(28),s=n(316),u=n(34),l=n(77),c=(n(17),n(20),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?i(\"91\"):void 0;var n=a({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a?i(\"92\"):void 0,Array.isArray(u)&&(u.length<=1?void 0:i(\"93\"),u=u[0]),a=\"\"+u),null==a&&(a=\"\"),r=a}e._wrapperState={initialValue:\"\"+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=\"\"+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=c},function(e,t,n){\"use strict\";function r(e,t){\"_hostNode\"in e?void 0:u(\"33\"),\"_hostNode\"in t?void 0:u(\"33\");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){\"_hostNode\"in e?void 0:u(\"35\"),\"_hostNode\"in t?void 0:u(\"35\");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return\"_hostNode\"in e?void 0:u(\"36\"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],\"captured\",n);for(o=0;o<r.length;o++)t(r[o],\"bubbled\",n)}function s(e,t,n,o,i){for(var a=e&&t?r(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==a;)u.push(t),t=t._hostParent;var l;for(l=0;l<s.length;l++)n(s[l],\"bubbled\",o);for(l=u.length;l-- >0;)n(u[l],\"captured\",i)}var u=n(24);n(17);e.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},function(e,t,n){\"use strict\";function r(){this.reinitializeTransaction()}var o=n(28),i=n(77),a=n(216),s=n(63),u={initialize:s,close:function(){f.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var d=new r,f={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=f.isBatchingUpdates;return f.isBatchingUpdates=!0,a?e(t,n,r,o,i):d.perform(e,null,t,n,r,o,i)}};e.exports=f},function(e,t,n){\"use strict\";function r(){w||(w=!0,b.EventEmitter.injectReactEventListener(_),b.EventPluginHub.injectEventPluginOrder(s),b.EventPluginUtils.injectComponentTree(f),b.EventPluginUtils.injectTreeTraversal(h),b.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:A,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:M,BeforeInputEventPlugin:i}),b.HostComponent.injectGenericComponentClass(d),b.HostComponent.injectTextComponentClass(m),b.DOMProperty.injectDOMPropertyConfig(o),b.DOMProperty.injectDOMPropertyConfig(l),b.DOMProperty.injectDOMPropertyConfig(v),b.EmptyComponent.injectEmptyComponentFactory(function(e){return new p(e)}),b.Updates.injectReconcileTransaction(y),b.Updates.injectBatchingStrategy(g),b.Component.injectEnvironment(c))}var o=n(1482),i=n(1484),a=n(1486),s=n(1488),u=n(1489),l=n(1491),c=n(1493),d=n(1496),f=n(34),p=n(1498),h=n(1506),m=n(1504),g=n(1507),_=n(1511),b=n(1512),y=n(1517),v=n(1522),M=n(1523),A=n(1524),w=!1;e.exports={inject:r}},630,function(e,t,n){\"use strict\";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=n(168),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);r(a)}};e.exports=i},function(e,t,n){\"use strict\";function r(e){for(;e._hostParent;)e=e._hostParent;var t=d.getNodeFromInstance(e),n=t.parentNode;return d.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,\nthis.ancestors=[]}function i(e){var t=p(e.nativeEvent),n=d.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var i=0;i<e.ancestors.length;i++)n=e.ancestors[i],m._handleTopLevel(e.topLevelType,n,e.nativeEvent,p(e.nativeEvent))}function a(e){var t=h(window);e(t)}var s=n(28),u=n(417),l=n(46),c=n(112),d=n(34),f=n(77),p=n(323),h=n(1257);s(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(o,c.twoArgumentPooler);var m={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:l.canUseDOM?window:null,setHandleTopLevel:function(e){m._handleTopLevel=e},setEnabled:function(e){m._enabled=!!e},isEnabled:function(){return m._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,m.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,m.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,\"scroll\",t)},dispatchEvent:function(e,t){if(m._enabled){var n=o.getPooled(e,t);try{f.batchedUpdates(i,n)}finally{o.release(n)}}}};e.exports=m},function(e,t,n){\"use strict\";var r=n(138),o=n(168),i=n(314),a=n(317),s=n(596),u=n(214),l=n(598),c=n(77),d={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};e.exports=d},function(e,t,n){\"use strict\";var r=n(1535),o=/\\/?>/,i=/^<\\!\\-\\-/,a={CHECKSUM_ATTR_NAME:\"data-react-checksum\",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o,\" \"+a.CHECKSUM_ATTR_NAME+'=\"'+t+'\"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};e.exports=a},function(e,t,n){\"use strict\";function r(e,t,n){return{type:\"INSERT_MARKUP\",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:\"MOVE_EXISTING\",content:null,fromIndex:e._mountIndex,fromNode:f.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:\"REMOVE_NODE\",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:\"SET_MARKUP\",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:\"TEXT_CONTENT\",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){d.processChildrenUpdates(e,t)}var c=n(24),d=n(317),f=(n(170),n(65),n(82),n(139)),p=n(1492),h=(n(63),n(1538)),m=(n(17),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return p.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a,s=0;return a=h(t,s),p.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,l=f.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=i++,o.push(l)}return o},updateTextContent:function(e){var t=this._renderedChildren;p.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c(\"118\");var r=[s(e)];l(this,r)},updateMarkup:function(e){var t=this._renderedChildren;p.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c(\"118\");var r=[a(e)];l(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,d=0,p=0,h=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var g=r&&r[s],_=a[s];g===_?(c=u(c,this.moveChild(g,m,d,p)),p=Math.max(g._mountIndex,p),g._mountIndex=d):(g&&(p=Math.max(g._mountIndex,p)),c=u(c,this._mountChildAtIndex(_,i[h],m,d,t,n)),h++),d++,m=f.getHostNode(_)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;p.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return o(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return i(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});e.exports=m},function(e,t,n){\"use strict\";function r(e){return!(!e||\"function\"!=typeof e.attachRef||\"function\"!=typeof e.detachRef)}var o=n(24),i=(n(17),{addComponentAsRefTo:function(e,t,n){r(n)?void 0:o(\"119\"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)?void 0:o(\"120\");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=i},function(e,t){\"use strict\";var n=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";e.exports=n},function(e,t,n){\"use strict\";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=i.getPooled(null),this.useCreateElement=e}var o=n(28),i=n(592),a=n(112),s=n(214),u=n(599),l=(n(65),n(216)),c=n(319),d={initialize:u.getSelectionInformation,close:u.restoreSelection},f={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},p={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h=[d,f,p],m={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return c},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){i.release(this.reactMountReady),this.reactMountReady=null}};o(r.prototype,l,m),a.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){\"function\"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){\"function\"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=n(1515),a={};a.attachRefs=function(e,t){if(null!==t&&\"object\"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&\"object\"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&\"object\"==typeof t&&(o=t.ref,i=t._owner),n!==o||\"string\"==typeof o&&i!==r},a.detachRefs=function(e,t){if(null!==t&&\"object\"==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},e.exports=a},function(e,t,n){\"use strict\";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var o=n(28),i=n(112),a=n(216),s=(n(65),n(1520)),u=[],l={enqueue:function(){}},c={getTransactionWrappers:function(){return u},getReactMountReady:function(){return l},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};o(r.prototype,a,c),i.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){}var i=n(319),a=(n(20),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&i.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()?i.enqueueForceUpdate(e):o(e,\"forceUpdate\")},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()?i.enqueueReplaceState(e,t):o(e,\"replaceState\")},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()?i.enqueueSetState(e,t):o(e,\"setState\")},e}());e.exports=a},function(e,t){\"use strict\";e.exports=\"15.5.4\"},function(e,t){\"use strict\";var n={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},r={accentHeight:\"accent-height\",accumulate:0,additive:0,alignmentBaseline:\"alignment-baseline\",allowReorder:\"allowReorder\",alphabetic:0,amplitude:0,arabicForm:\"arabic-form\",ascent:0,attributeName:\"attributeName\",attributeType:\"attributeType\",autoReverse:\"autoReverse\",azimuth:0,baseFrequency:\"baseFrequency\",baseProfile:\"baseProfile\",baselineShift:\"baseline-shift\",bbox:0,begin:0,bias:0,by:0,calcMode:\"calcMode\",capHeight:\"cap-height\",clip:0,clipPath:\"clip-path\",clipRule:\"clip-rule\",clipPathUnits:\"clipPathUnits\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",contentScriptType:\"contentScriptType\",contentStyleType:\"contentStyleType\",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:\"diffuseConstant\",direction:0,display:0,divisor:0,dominantBaseline:\"dominant-baseline\",dur:0,dx:0,dy:0,edgeMode:\"edgeMode\",elevation:0,enableBackground:\"enable-background\",end:0,exponent:0,externalResourcesRequired:\"externalResourcesRequired\",fill:0,fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",filter:0,filterRes:\"filterRes\",filterUnits:\"filterUnits\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",focusable:0,fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",glyphRef:\"glyphRef\",gradientTransform:\"gradientTransform\",gradientUnits:\"gradientUnits\",hanging:0,horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",ideographic:0,imageRendering:\"image-rendering\",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:\"kernelMatrix\",kernelUnitLength:\"kernelUnitLength\",kerning:0,keyPoints:\"keyPoints\",keySplines:\"keySplines\",keyTimes:\"keyTimes\",lengthAdjust:\"lengthAdjust\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",limitingConeAngle:\"limitingConeAngle\",local:0,markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",markerHeight:\"markerHeight\",markerUnits:\"markerUnits\",markerWidth:\"markerWidth\",mask:0,maskContentUnits:\"maskContentUnits\",maskUnits:\"maskUnits\",mathematical:0,mode:0,numOctaves:\"numOctaves\",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pathLength:\"pathLength\",patternContentUnits:\"patternContentUnits\",patternTransform:\"patternTransform\",patternUnits:\"patternUnits\",pointerEvents:\"pointer-events\",points:0,pointsAtX:\"pointsAtX\",pointsAtY:\"pointsAtY\",pointsAtZ:\"pointsAtZ\",preserveAlpha:\"preserveAlpha\",preserveAspectRatio:\"preserveAspectRatio\",primitiveUnits:\"primitiveUnits\",r:0,radius:0,refX:\"refX\",refY:\"refY\",renderingIntent:\"rendering-intent\",repeatCount:\"repeatCount\",repeatDur:\"repeatDur\",requiredExtensions:\"requiredExtensions\",requiredFeatures:\"requiredFeatures\",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:\"shape-rendering\",slope:0,spacing:0,specularConstant:\"specularConstant\",specularExponent:\"specularExponent\",speed:0,spreadMethod:\"spreadMethod\",startOffset:\"startOffset\",stdDeviation:\"stdDeviation\",stemh:0,stemv:0,stitchTiles:\"stitchTiles\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",string:0,stroke:0,strokeDasharray:\"stroke-dasharray\",strokeDashoffset:\"stroke-dashoffset\",strokeLinecap:\"stroke-linecap\",strokeLinejoin:\"stroke-linejoin\",strokeMiterlimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",surfaceScale:\"surfaceScale\",systemLanguage:\"systemLanguage\",tableValues:\"tableValues\",targetX:\"targetX\",targetY:\"targetY\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",textLength:\"textLength\",to:0,transform:0,u1:0,u2:0,underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicode:0,unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",values:0,vectorEffect:\"vector-effect\",version:0,vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",viewBox:\"viewBox\",viewTarget:\"viewTarget\",visibility:0,widths:0,wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",x:0,xHeight:\"x-height\",x1:0,x2:0,xChannelSelector:\"xChannelSelector\",xlinkActuate:\"xlink:actuate\",xlinkArcrole:\"xlink:arcrole\",xlinkHref:\"xlink:href\",xlinkRole:\"xlink:role\",xlinkShow:\"xlink:show\",xlinkTitle:\"xlink:title\",xlinkType:\"xlink:type\",xmlBase:\"xml:base\",xmlns:0,xmlnsXlink:\"xmlns:xlink\",xmlLang:\"xml:lang\",xmlSpace:\"xml:space\",y:0,y1:0,y2:0,yChannelSelector:\"yChannelSelector\",z:0,zoomAndPan:\"zoomAndPan\"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:n.xlink,xlinkArcrole:n.xlink,xlinkHref:n.xlink,xlinkRole:n.xlink,xlinkShow:n.xlink,xlinkTitle:n.xlink,xlinkType:n.xlink,xmlBase:n.xml,xmlLang:n.xml,xmlSpace:n.xml},DOMAttributeNames:{}};Object.keys(r).forEach(function(e){o.Properties[e]=0,r[e]&&(o.DOMAttributeNames[e]=r[e])}),e.exports=o},function(e,t,n){\"use strict\";function r(e){if(\"selectionStart\"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e,t){if(b||null==m||m!==c())return null;var n=r(m);if(!_||!f(_,n)){_=n;var o=l.getPooled(h.select,g,e,t);return o.type=\"select\",o.target=m,i.accumulateTwoPhaseDispatches(o),o}return null}var i=n(169),a=n(46),s=n(34),u=n(599),l=n(81),c=n(419),d=n(608),f=n(289),p=a.canUseDOM&&\"documentMode\"in document&&document.documentMode<=11,h={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:[\"topBlur\",\"topContextMenu\",\"topFocus\",\"topKeyDown\",\"topKeyUp\",\"topMouseDown\",\"topMouseUp\",\"topSelectionChange\"]}},m=null,g=null,_=null,b=!1,y=!1,v={eventTypes:h,extractEvents:function(e,t,n,r){if(!y)return null;var i=t?s.getNodeFromInstance(t):window;switch(e){case\"topFocus\":(d(i)||\"true\"===i.contentEditable)&&(m=i,g=t,_=null);break;case\"topBlur\":m=null,g=null,_=null;break;case\"topMouseDown\":b=!0;break;case\"topContextMenu\":case\"topMouseUp\":return b=!1,o(n,r);case\"topSelectionChange\":if(p)break;case\"topKeyDown\":case\"topKeyUp\":return o(n,r)}return null},didPutListener:function(e,t,n){\"onSelect\"===t&&(y=!0)}};e.exports=v},function(e,t,n){\"use strict\";function r(e){return\".\"+e._rootNodeID}function o(e){return\"button\"===e||\"input\"===e||\"select\"===e||\"textarea\"===e}var i=n(24),a=n(417),s=n(169),u=n(34),l=n(1525),c=n(1526),d=n(81),f=n(1529),p=n(1531),h=n(215),m=n(1528),g=n(1532),_=n(1533),b=n(171),y=n(1534),v=n(63),M=n(321),A=(n(17),{}),w={};[\"abort\",\"animationEnd\",\"animationIteration\",\"animationStart\",\"blur\",\"canPlay\",\"canPlayThrough\",\"click\",\"contextMenu\",\"copy\",\"cut\",\"doubleClick\",\"drag\",\"dragEnd\",\"dragEnter\",\"dragExit\",\"dragLeave\",\"dragOver\",\"dragStart\",\"drop\",\"durationChange\",\"emptied\",\"encrypted\",\"ended\",\"error\",\"focus\",\"input\",\"invalid\",\"keyDown\",\"keyPress\",\"keyUp\",\"load\",\"loadedData\",\"loadedMetadata\",\"loadStart\",\"mouseDown\",\"mouseMove\",\"mouseOut\",\"mouseOver\",\"mouseUp\",\"paste\",\"pause\",\"play\",\"playing\",\"progress\",\"rateChange\",\"reset\",\"scroll\",\"seeked\",\"seeking\",\"stalled\",\"submit\",\"suspend\",\"timeUpdate\",\"touchCancel\",\"touchEnd\",\"touchMove\",\"touchStart\",\"transitionEnd\",\"volumeChange\",\"waiting\",\"wheel\"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n=\"on\"+t,r=\"top\"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+\"Capture\"},dependencies:[r]};A[e]=o,w[r]=o});var C={},E={eventTypes:A,extractEvents:function(e,t,n,r){var o=w[e];if(!o)return null;var a;switch(e){case\"topAbort\":case\"topCanPlay\":case\"topCanPlayThrough\":case\"topDurationChange\":case\"topEmptied\":case\"topEncrypted\":case\"topEnded\":case\"topError\":case\"topInput\":case\"topInvalid\":case\"topLoad\":case\"topLoadedData\":case\"topLoadedMetadata\":case\"topLoadStart\":case\"topPause\":case\"topPlay\":case\"topPlaying\":case\"topProgress\":case\"topRateChange\":case\"topReset\":case\"topSeeked\":case\"topSeeking\":case\"topStalled\":case\"topSubmit\":case\"topSuspend\":case\"topTimeUpdate\":case\"topVolumeChange\":case\"topWaiting\":a=d;break;case\"topKeyPress\":if(0===M(n))return null;case\"topKeyDown\":case\"topKeyUp\":a=p;break;case\"topBlur\":case\"topFocus\":a=f;break;case\"topClick\":if(2===n.button)return null;case\"topDoubleClick\":case\"topMouseDown\":case\"topMouseMove\":case\"topMouseUp\":case\"topMouseOut\":case\"topMouseOver\":case\"topContextMenu\":a=h;break;case\"topDrag\":case\"topDragEnd\":case\"topDragEnter\":case\"topDragExit\":case\"topDragLeave\":case\"topDragOver\":case\"topDragStart\":case\"topDrop\":a=m;break;case\"topTouchCancel\":case\"topTouchEnd\":case\"topTouchMove\":case\"topTouchStart\":a=g;break;case\"topAnimationEnd\":case\"topAnimationIteration\":case\"topAnimationStart\":a=l;break;case\"topTransitionEnd\":a=_;break;case\"topScroll\":a=b;break;case\"topWheel\":a=y;break;case\"topCopy\":case\"topCut\":case\"topPaste\":a=c}a?void 0:i(\"86\",e);var u=a.getPooled(o,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if(\"onClick\"===t&&!o(e._tag)){var i=r(e),s=u.getNodeFromInstance(e);C[i]||(C[i]=a.listen(s,\"click\",v))}},willDeleteListener:function(e,t){if(\"onClick\"===t&&!o(e._tag)){var n=r(e);C[n].remove(),delete C[n]}}};e.exports=E},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={animationName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(215),i={dataTransfer:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i={relatedTarget:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i=n(321),a=n(1539),s=n(322),u={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return\"keypress\"===e.type?i(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?i(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}};o.augmentClass(r,u),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i=n(322),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={propertyName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(215),i={deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),e.exports=r},function(e,t){\"use strict\";function n(e){for(var t=1,n=0,o=0,i=e.length,a=i&-4;o<a;){for(var s=Math.min(o+4096,a);o<s;o+=4)n+=(t+=e.charCodeAt(o))+(t+=e.charCodeAt(o+1))+(t+=e.charCodeAt(o+2))+(t+=e.charCodeAt(o+3));t%=r,n%=r}for(;o<i;o++)n+=t+=e.charCodeAt(o);return t%=r,n%=r,t|n<<16}var r=65521;e.exports=n},function(e,t,n){\"use strict\";function r(e,t,n){var r=null==t||\"boolean\"==typeof t||\"\"===t;if(r)return\"\";var o=isNaN(t);if(o||0===t||i.hasOwnProperty(e)&&i[e])return\"\"+t;if(\"string\"==typeof t){t=t.trim()}return t+\"px\"}var o=n(591),i=(n(20),o.isUnitlessNumber);e.exports=r},function(e,t,n){\"use strict\";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);return t?(t=s(t),t?i.getNodeFromInstance(t):null):void(\"function\"==typeof e.render?o(\"44\"):o(\"45\",Object.keys(e)))}var o=n(24),i=(n(82),n(34)),a=n(170),s=n(605);n(17),n(20);e.exports=r},function(e,t,n){(function(t){\"use strict\";function r(e,t,n,r){if(e&&\"object\"==typeof e){var o=e,i=void 0===o[n];i&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(n(315),n(610));n(20);\"undefined\"!=typeof t&&t.env,1,e.exports=o}).call(t,n(135))},function(e,t,n){\"use strict\";function r(e){if(e.key){var t=i[e.key]||e.key;if(\"Unidentified\"!==t)return t}if(\"keypress\"===e.type){var n=o(e);return 13===n?\"Enter\":String.fromCharCode(n)}return\"keydown\"===e.type||\"keyup\"===e.type?a[e.keyCode]||\"Unidentified\":\"\"}var o=n(321),i={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},a={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};e.exports=r},function(e,t){\"use strict\";function n(e){var t=e&&(r&&e[r]||e[o]);if(\"function\"==typeof t)return t}var r=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";e.exports=n},function(e,t){\"use strict\";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function r(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var o=n(e),i=0,a=0;o;){if(3===o.nodeType){if(a=i+o.textContent.length,i<=t&&a>=t)return{node:o,offset:t-i};i=a}o=n(r(o))}}e.exports=o},function(e,t,n){\"use strict\";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n[\"ms\"+e]=\"MS\"+t,n[\"O\"+e]=\"o\"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return\"\"}var i=n(46),a={animationend:r(\"Animation\",\"AnimationEnd\"),animationiteration:r(\"Animation\",\"AnimationIteration\"),animationstart:r(\"Animation\",\"AnimationStart\"),transitionend:r(\"Transition\",\"TransitionEnd\")},s={},u={};i.canUseDOM&&(u=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),\"TransitionEvent\"in window||delete a.transitionend.transition),e.exports=o},function(e,t,n){\"use strict\";function r(e){return'\"'+o(e)+'\"'}var o=n(217);e.exports=r},function(e,t,n){\"use strict\";var r=n(600);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){\"use strict\";function r(e,t,n,r,o){}e.exports=r},function(e,t,n){\"use strict\";var r=n(1547);e.exports=function(e){var t=!1;return r(e,t)}},function(e,t,n){\"use strict\";var r=n(63),o=n(17),i=n(20),a=n(1548),s=n(1545);e.exports=function(e,t){function n(e){var t=e&&(T&&e[T]||e[O]);if(\"function\"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=\"\"}function c(e){function n(n,r,i,s,u,c,d){if(s=s||S,c=c||i,d!==a)if(t)o(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");else;return null==r[i]?n?new l(null===r[i]?\"The \"+u+\" `\"+c+\"` is marked as required \"+(\"in `\"+s+\"`, but its value is `null`.\"):\"The \"+u+\" `\"+c+\"` is marked as required in \"+(\"`\"+s+\"`, but its value is `undefined`.\")):null:e(r,i,s,u,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function d(e){function t(t,n,r,o,i,a){var s=t[n],u=w(s);if(u!==e){var c=C(s);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+c+\"` supplied to `\"+r+\"`, expected \")+(\"`\"+e+\"`.\"))}return null}return c(t)}function f(){return c(r.thatReturnsNull)}function p(e){function t(t,n,r,o,i){if(\"function\"!=typeof e)return new l(\"Property `\"+i+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var s=t[n];if(!Array.isArray(s)){var u=w(s);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an array.\"))}for(var c=0;c<s.length;c++){var d=e(s,c,r,o,i+\"[\"+c+\"]\",a);if(d instanceof Error)return d}return null}return c(t)}function h(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){var s=w(a);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected a single ReactElement.\"))}return null}return c(t)}function m(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||S,s=L(t[n]);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected \")+(\"instance of `\"+a+\"`.\"))}return null}return c(t)}function g(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(u(a,e[s]))return null;var c=JSON.stringify(e);return new l(\"Invalid \"+o+\" `\"+i+\"` of value `\"+a+\"` \"+(\"supplied to `\"+r+\"`, expected one of \"+c+\".\"))}return Array.isArray(e)?c(t):r.thatReturnsNull}function _(e){function t(t,n,r,o,i){if(\"function\"!=typeof e)return new l(\"Property `\"+i+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var s=t[n],u=w(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an object.\"));for(var c in s)if(s.hasOwnProperty(c)){var d=e(s,c,r,o,i+\".\"+c,a);if(d instanceof Error)return d}return null}return c(t)}function b(e){function t(t,n,r,o,i){for(var s=0;s<e.length;s++){var u=e[s];if(null==u(t,n,r,o,i,a))return null}return new l(\"Invalid \"+o+\" `\"+i+\"` supplied to \"+(\"`\"+r+\"`.\"))}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var o=e[n];if(\"function\"!=typeof o)return i(!1,\"Invalid argument supplid to oneOfType. Expected an array of check functions, but received %s at index %s.\",E(o),n),r.thatReturnsNull}return c(t)}function y(){function e(e,t,n,r,o){return M(e[t])?null:new l(\"Invalid \"+r+\" `\"+o+\"` supplied to \"+(\"`\"+n+\"`, expected a ReactNode.\"))}return c(e)}function v(e){function t(t,n,r,o,i){var s=t[n],u=w(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+i+\"` of type `\"+u+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"));for(var c in e){var d=e[c];if(d){var f=d(s,c,r,o,i+\".\"+c,a);if(f)return f}}return null}return c(t)}function M(t){switch(typeof t){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!t;case\"object\":if(Array.isArray(t))return t.every(M);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!M(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!M(a[1]))return!1}return!0;default:return!1}}function A(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function w(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":A(t,e)?\"symbol\":t}function C(e){if(\"undefined\"==typeof e||null===e)return\"\"+e;var t=w(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function E(e){var t=C(e);switch(t){case\"array\":case\"object\":return\"an \"+t;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+t;default:return t}}function L(e){return e.constructor&&e.constructor.name?e.constructor.name:S}var T=\"function\"==typeof Symbol&&Symbol.iterator,O=\"@@iterator\",S=\"<<anonymous>>\",N={array:d(\"array\"),bool:d(\"boolean\"),func:d(\"function\"),number:d(\"number\"),object:d(\"object\"),string:d(\"string\"),symbol:d(\"symbol\"),any:f(),arrayOf:p,element:h(),instanceOf:m,node:y(),objectOf:_,oneOf:g,oneOfType:b,shape:v};return l.prototype=Error.prototype,N.checkPropTypes=s,N.PropTypes=N,N}},function(e,t){\"use strict\";var n=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";e.exports=n},function(e,t,n){\"use strict\";var r=n(148),o=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.I18nextProvider=void 0;var i=o(n(116)),a=o(n(117)),s=o(n(120)),u=o(n(118)),l=o(n(119)),c=r(n(1)),d=n(140),f=n(141),p=function(e){function t(e){var n;return(0,i.default)(this,t),n=(0,s.default)(this,(0,u.default)(t).call(this,e)),(0,f.initSSR)(e,!0),n}return(0,l.default)(t,e),(0,a.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){if(this.props.i18n!==e.i18n)throw new Error(\"[react-i18next][I18nextProvider]does not support changing the i18n object.\")}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.i18n,r=e.defaultNS,o=e.reportNS;return c.default.createElement(d.I18nContext.Provider,{value:{i18n:n,defaultNS:r,reportNS:o,lng:n&&n.language,t:n&&n.t.bind(n)}},t)}}]),t}(c.Component);t.I18nextProvider=p},function(e,t,n){\"use strict\";var r=n(148),o=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.Interpolate=t.InterpolateComponent=void 0;var i=o(n(173)),a=o(n(116)),s=o(n(117)),u=o(n(120)),l=o(n(118)),c=o(n(119)),d=r(n(1)),f=n(140),p=n(141),h=function(e){function t(e){var n;return(0,a.default)(this,t),n=(0,u.default)(this,(0,l.default)(t).call(this,e)),(0,p.deprecated)('Interpolate is deprecated and will be removed in the next major version (v9.0.0). Usage can be replaced by the \"Trans\" component'),n}return(0,c.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.i18n,r=t.t,o=t.i18nKey,a=t.options,s=t.className,u=t.style,l=this.props.parent||\"span\",c=this.props.regexp||n.services.interpolator.regexp,f=this.props.useDangerouslySetInnerHTML||!1,p=this.props.dangerouslySetInnerHTMLPartElement||\"span\",h=(0,i.default)({},{},a,{interpolation:{prefix:\"#$?\",suffix:\"?$#\"}}),m=r(o,h);if(!m||\"string\"!=typeof m)return d.default.createElement(\"noscript\",null);var g=[],_=function(e,t){if(e.indexOf(n.options.interpolation.formatSeparator)<0)return void 0===t[e]&&n.services.logger.warn(\"interpolator: missed to pass in variable \".concat(e,\" for interpolating \").concat(m)),t[e];var r=e.split(n.options.interpolation.formatSeparator),o=r.shift().trim(),i=r.join(n.options.interpolation.formatSeparator).trim();return void 0===t[o]&&n.services.logger.warn(\"interpolator: missed to pass in variable \".concat(o,\" for interpolating \").concat(m)),n.options.interpolation.format(t[o],i,n.language)};m.split(c).reduce(function(t,n,r){var o;if(r%2===0){if(0===n.length)return t;o=f?d.default.createElement(p,{dangerouslySetInnerHTML:{__html:n}}):n}else o=_(n,e.props);return t.push(o),t},g);var b={};if(n.options.react&&n.options.react.exposeNamespace){var y=\"string\"==typeof r.ns?r.ns:r.ns[0];if(o&&n.options.nsSeparator&&o.indexOf(n.options.nsSeparator)>-1){var v=o.split(n.options.nsSeparator);y=v[0]}r.ns&&(b[\"data-i18next-options\"]=JSON.stringify({ns:y}))}return s&&(b.className=s),u&&(b.style=u),d.default.createElement.apply(this,[l,b].concat(g))}}]),t}(d.Component);t.InterpolateComponent=h;var m=(0,f.withI18n)()(h);t.Interpolate=m},function(e,t,n){\"use strict\";function r(e){return e&&(e.children||e.props&&e.props.children)}function o(e){return e&&e.children?e.children:e.props&&e.props.children}function i(e,t,n){return t?(\"[object Array]\"!==Object.prototype.toString.call(t)&&(t=[t]),t.forEach(function(t,n){var a=\"\".concat(n);if(\"string\"==typeof t)e=\"\".concat(e).concat(t);else if(r(t))e=\"\".concat(e,\"<\").concat(a,\">\").concat(i(\"\",o(t),n+1),\"</\").concat(a,\">\");else if(g.default.isValidElement(t))e=\"\".concat(e,\"<\").concat(a,\"></\").concat(a,\">\");else if(\"object\"===(0,\nm.default)(t)){var s=(0,h.default)({},t),u=s.format;delete s.format;var l=Object.keys(s);u&&1===l.length?e=\"\".concat(e,\"{{\").concat(l[0],\", \").concat(u,\"}}\"):1===l.length?e=\"\".concat(e,\"{{\").concat(l[0],\"}}\"):(0,y.warn)(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\",t)}else(0,y.warn)(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\",t)}),e):\"\"}function a(e,t,n){function i(e){\"[object Array]\"!==Object.prototype.toString.call(e)&&(e=[e]),e.forEach(function(e){\"string\"!=typeof e&&(r(e)?i(o(e)):\"object\"!==(0,m.default)(e)||g.default.isValidElement(e)||Object.assign(s,e))})}function a(e,t){return\"[object Array]\"!==Object.prototype.toString.call(e)&&(e=[e]),\"[object Array]\"!==Object.prototype.toString.call(t)&&(t=[t]),t.reduce(function(t,n,i){if(\"tag\"===n.type){var s=e[parseInt(n.name,10)]||{},u=g.default.isValidElement(s);if(\"string\"==typeof s)t.push(s);else if(r(s)){var l=a(o(s),n.children);s.dummy&&(s.children=l),t.push(g.default.cloneElement(s,(0,h.default)({},s.props,{key:i}),l))}else if(\"object\"!==(0,m.default)(s)||u)t.push(s);else{var c=n.children[0]?n.children[0].content:null;c&&t.push(c)}}else\"text\"===n.type&&t.push(n.content);return t},[])}if(\"\"===t)return[];if(!e)return[t];var s={};i(e),t=n.services.interpolator.interpolate(t,s,n.language);var u=_.default.parse(\"<0>\".concat(t,\"</0>\")),l=a([{dummy:!0,children:e}],u);return o(l[0])}var s=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.Trans=t.TransComponent=void 0;var u=s(n(341)),l=s(n(116)),c=s(n(117)),d=s(n(120)),f=s(n(118)),p=s(n(119)),h=s(n(173)),m=s(n(228)),g=s(n(1)),_=s(n(1270)),b=n(140),y=n(141),v=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,(0,f.default)(t).apply(this,arguments))}return(0,p.default)(t,e),(0,c.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.count,r=e.parent,o=e.i18nKey,s=e.tOptions,l=e.values,c=e.defaults,d=e.components,f=e.ns,p=e.i18n,m=e.t,_=(e.defaultNS,e.reportNS,e.lng,e.i18nOptions,(0,u.default)(e,[\"children\",\"count\",\"parent\",\"i18nKey\",\"tOptions\",\"values\",\"defaults\",\"components\",\"ns\",\"i18n\",\"t\",\"defaultNS\",\"reportNS\",\"lng\",\"i18nOptions\"])),b=m||p.t.bind(p),y=p.options&&p.options.react||{},v=void 0!==r?r:y.defaultTransParent,M=c||i(\"\",t,0),A=y.hashTransKey,w=o||(A?A(M):M),C=l?{}:{interpolation:{prefix:\"#$?\",suffix:\"?$#\"}},E=w?b(w,(0,h.default)({},s,l,C,{defaultValue:M,count:n,ns:f})):M;if(y.exposeNamespace){var L=\"string\"==typeof b.ns?b.ns:b.ns[0];if(o&&p.options&&p.options.nsSeparator&&o.indexOf(p.options.nsSeparator)>-1){var T=o.split(p.options.nsSeparator);L=T[0]}b.ns&&(_[\"data-i18next-options\"]=JSON.stringify({ns:L}))}return v?g.default.createElement(v,_,a(d||t,E,p)):a(d||t,E,p)}}]),t}(g.default.Component);t.TransComponent=v;var M=(0,b.withI18n)()(v);t.Trans=M},function(e,t,n){\"use strict\";function r(e){return e.displayName||e.name||\"Component\"}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var o=function(r){function o(){return(0,c.default)(this,o),(0,f.default)(this,(0,p.default)(o).apply(this,arguments))}return(0,h.default)(o,r),(0,d.default)(o,[{key:\"shouldComponentUpdate\",value:function(e){var n=this.props.i18nOptions;return!n.usePureComponent&&!t.usePureComponent||!(0,_.shallowEqual)(this.props,e)}},{key:\"render\",value:function(){var r=this,o=this.props,i=o.namespaces,a=o.i18nOptions,s=(0,l.default)({},a,t),c={};return s.innerRef&&(c.ref=s.innerRef),m.default.createElement(y.NamespacesConsumer,(0,l.default)({ns:i||e},this.props,{i18nOptions:Object.keys(s).length>0?s:null}),function(e,t){var o=t.ready,i=(0,u.default)(t,[\"ready\"]);return m.default.createElement(n,(0,l.default)({tReady:o},r.props,c,i))})}}]),o}(m.Component),i=(0,b.withI18n)()(o);return i.WrappedComponent=n,i.displayName=\"LoadNamespace(\".concat(r(n),\")\"),i.namespaces=e,(0,g.default)(i,n)}}function i(e,t){return(0,_.deprecated)('translate was renamed to \"withNamespaces\" to make it more clear what the HOC does.'),o(e,t)}var a=n(148),s=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.withNamespaces=o,t.translate=i;var u=s(n(341)),l=s(n(173)),c=s(n(116)),d=s(n(117)),f=s(n(120)),p=s(n(118)),h=s(n(119)),m=a(n(1)),g=s(n(1553)),_=n(141),b=n(140),y=n(611);o.setDefaults=b.setDefaults,o.setI18n=b.setI18n},function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t,n){if(\"string\"!=typeof t){if(m){var r=h(t);r&&r!==m&&o(e,r,n)}var i=d(t);f&&(i=i.concat(f(t)));for(var a=l[e.$$typeof]||s,g=l[t.$$typeof]||s,_=0;_<i.length;++_){var b=i[_];if(!(u[b]||n&&n[b]||g&&g[b]||a&&a[b])){var y=p(t,b);try{c(e,b,y)}catch(e){}}}return e}return e}var i,a=n(612),s=(n(1),{childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0}),u={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l=r({},a.ForwardRef,(i={},r(i,\"$$typeof\",!0),r(i,\"render\",!0),i)),c=Object.defineProperty,d=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,h=Object.getPrototypeOf,m=Object.prototype;e.exports=o},function(e,t){\"use strict\";function n(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case c:case a:case s:return e;default:switch(e=e&&e.$$typeof){case l:case d:case u:return e;default:return t}}case i:return t}}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=\"function\"==typeof Symbol&&Symbol.for,o=r?Symbol.for(\"react.element\"):60103,i=r?Symbol.for(\"react.portal\"):60106,a=r?Symbol.for(\"react.fragment\"):60107,s=r?Symbol.for(\"react.strict_mode\"):60108,u=r?Symbol.for(\"react.provider\"):60109,l=r?Symbol.for(\"react.context\"):60110,c=r?Symbol.for(\"react.async_mode\"):60111,d=r?Symbol.for(\"react.forward_ref\"):60112;t.typeOf=n,t.AsyncMode=c,t.ContextConsumer=l,t.ContextProvider=u,t.Element=o,t.ForwardRef=d,t.Fragment=a,t.Portal=i,t.StrictMode=s,t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===a||e===c||e===s||\"object\"==typeof e&&null!==e&&(e.$$typeof===u||e.$$typeof===l||e.$$typeof===d)},t.isAsyncMode=function(e){return n(e)===c},t.isContextConsumer=function(e){return n(e)===l},t.isContextProvider=function(e){return n(e)===u},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return n(e)===d},t.isFragment=function(e){return n(e)===a},t.isPortal=function(e){return n(e)===i},t.isStrictMode=function(e){return n(e)===s}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){return!!(e&&t&&e.some(function(e){return~t.indexOf(e)}))}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(285),u=r(s),l=function(){function e(t,n){var r=this;o(this,e),this.component=t,this.allProps=[],this.cache=Object.keys(n).reduce(function(e,t){var o,i=n[t],s=i.fn,u=i.params;return u.forEach(function(e){~r.allProps.indexOf(e)||r.allProps.push(e)}),a({},e,(o={},o[t]={value:void 0,props:u,fn:s},o))},{})}return e.prototype.get=function(e){var t=this.component,n=this.cache[e],r=n.value,o=n.fn,i=n.props;if(void 0!==r)return r;var a=i.map(function(e){return t.props[e]}),s=o.apply(void 0,a);return this.cache[e].value=s,s},e.prototype.componentWillReceiveProps=function(e){var t=this,n=this.component,r=[];this.allProps.forEach(function(t){u.default(n.props[t],e[t])||r.push(t)}),r.length&&Object.keys(this.cache).forEach(function(e){i(r,t.cache[e].props)&&delete t.cache[e].value})},e}();t.default=l,e.exports=t.default},function(e,t,n){e.exports=n(1555)},function(e,t,n){\"use strict\";function r(e){o.Component.call(this,e)}var o=n(1),i=n(910).Parser,a=n(906),s=n(5);r.prototype=Object.create(o.Component.prototype),r.prototype.constructor=r,r.prototype.render=function(){var e=this.props.containerProps||{},t=new a(this.props),n=new i(this.props.parserOptions),r=n.parse(this.props.source||\"\");if(this.props.walker)for(var s,u=r.walker();s=u.next();)this.props.walker.call(this,s,u);return this.props.className&&(e.className=this.props.className),o.createElement.apply(o,[this.props.containerTagName,e,this.props.childBefore].concat(t.render(r).concat([this.props.childAfter])))},r.propTypes={className:s.string,containerProps:s.object,source:s.string.isRequired,containerTagName:s.string,childBefore:s.object,childAfter:s.object,sourcePos:s.bool,escapeHtml:s.bool,skipHtml:s.bool,softBreak:s.string,allowNode:s.func,allowedTypes:s.array,disallowedTypes:s.array,transformLinkUri:s.func,transformImageUri:s.func,unwrapDisallowed:s.bool,renderers:s.object,walker:s.func,parserOptions:s.object},r.defaultProps={containerTagName:\"div\",parserOptions:{}},r.types=a.types,r.renderers=a.renderers,r.uriTransformer=a.uriTransformer,e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(132),c=r(l),d=n(413),f=r(d),p=n(5),h=r(p),m=n(165),g=r(m),_=n(1),b=r(_),y=n(613),v=r(y),M=n(219),A=r(M),w=n(172),C=r(w),E=n(616),L=r(E),T=n(91),O=r(T),S=n(617),N=r(S),k=\"AutoAffix\",D=u({},v.default.propTypes,{container:h.default.oneOfType([g.default,h.default.func]),autoWidth:h.default.bool}),x={viewportOffsetTop:0,autoWidth:!0},I=function(e){function t(n,r){i(this,t);var o=a(this,e.call(this,n,r));return o.onWindowScroll=function(){o.onUpdate()},o.onWindowResize=function(){o.props.autoWidth&&(0,f.default)(function(){return o.onUpdate()})},o.onDocumentClick=function(){(0,f.default)(function(){return o.onUpdate()})},o.onUpdate=function(){if(o._isMounted){var e=(0,c.default)(o.positioner),t=e.top,n=e.width,r=(0,C.default)(o.props.container),i=void 0;if(r){var a=(0,L.default)((0,O.default)(o)),s=(0,c.default)(r),u=s.top,l=s.height;i=a-u-l}else i=null;o.updateState(t,i,n)}},o.updateState=function(e,t,n){e===o.state.offsetTop&&t===o.state.offsetBottom&&n===o.state.width||o.setState({offsetTop:e,offsetBottom:t,width:n})},o.state={offsetTop:null,offsetBottom:null,width:null},o}return s(t,e),t.prototype.componentDidMount=function(){var e=this;this._isMounted=!0,this._windowScrollListener=(0,A.default)((0,N.default)(this),\"scroll\",function(){return e.onWindowScroll()}),this._windowResizeListener=(0,A.default)((0,N.default)(this),\"resize\",function(){return e.onWindowResize()}),this._documentClickListener=(0,A.default)((0,O.default)(this),\"click\",function(){return e.onDocumentClick()}),this.onUpdate()},t.prototype.componentWillReceiveProps=function(){this._needPositionUpdate=!0},t.prototype.componentDidUpdate=function(){this._needPositionUpdate&&(this._needPositionUpdate=!1,this.onUpdate())},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this._windowScrollListener&&this._windowScrollListener.remove(),this._documentClickListener&&this._documentClickListener.remove(),this._windowResizeListener&&this._windowResizeListener.remove()},t.prototype.render=function(){var e=this,t=this.props,n=t.autoWidth,r=t.viewportOffsetTop,i=t.children,a=o(t,[\"autoWidth\",\"viewportOffsetTop\",\"children\"]),s=this.state,l=s.offsetTop,c=s.offsetBottom,d=s.width;delete a.container;var f=Math.max(l,r||0),p=this.props,h=p.affixStyle,m=p.bottomStyle;return n&&(h=u({width:d},h),m=u({width:d},m)),b.default.createElement(\"div\",null,b.default.createElement(\"div\",{ref:function(t){e.positioner=t}}),b.default.createElement(v.default,u({},a,{offsetTop:f,viewportOffsetTop:r,offsetBottom:c,affixStyle:h,bottomStyle:m}),i))},t}(b.default.Component);I.displayName=k,I.propTypes=D,I.defaultProps=x,t.default=I,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(5),u=r(s),l=n(165),c=r(l),d=n(1),f=r(d),p=n(29),h=r(p),m=n(172),g=r(m),_=n(91),b=r(_),y=function(e){function t(){var n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,e.call.apply(e,[this].concat(u))),r._mountOverlayTarget=function(){r._overlayTarget||(r._overlayTarget=document.createElement(\"div\"),r._portalContainerNode=(0,g.default)(r.props.container,(0,b.default)(r).body),r._portalContainerNode.appendChild(r._overlayTarget))},r._unmountOverlayTarget=function(){r._overlayTarget&&(r._portalContainerNode.removeChild(r._overlayTarget),r._overlayTarget=null),r._portalContainerNode=null},r._renderOverlay=function(){var e=r.props.children?f.default.Children.only(r.props.children):null;if(null!==e){r._mountOverlayTarget();var t=!r._overlayInstance;r._overlayInstance=h.default.unstable_renderSubtreeIntoContainer(r,e,r._overlayTarget,function(){t&&r.props.onRendered&&r.props.onRendered()})}else r._unrenderOverlay(),r._unmountOverlayTarget()},r._unrenderOverlay=function(){r._overlayTarget&&(h.default.unmountComponentAtNode(r._overlayTarget),r._overlayInstance=null)},r.getMountNode=function(){return r._overlayTarget},a=n,i(r,a)}return a(t,e),t.prototype.componentDidMount=function(){this._isMounted=!0,this._renderOverlay()},t.prototype.componentDidUpdate=function(){this._renderOverlay()},t.prototype.componentWillReceiveProps=function(e){this._overlayTarget&&e.container!==this.props.container&&(this._portalContainerNode.removeChild(this._overlayTarget),this._portalContainerNode=(0,g.default)(e.container,(0,b.default)(this).body),this._portalContainerNode.appendChild(this._overlayTarget))},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this._unrenderOverlay(),this._unmountOverlayTarget()},t.prototype.render=function(){return null},t}(f.default.Component);y.displayName=\"Portal\",y.propTypes={container:u.default.oneOfType([c.default,u.default.func]),onRendered:u.default.func},t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(286),l=r(u),c=n(89),d=r(c),f=n(74),p=r(f),h=n(5),m=r(h),g=n(165),_=r(g),b=n(1375),y=r(b),v=n(558),M=r(v),A=n(1),w=r(A),C=n(29),E=r(C),L=n(47),T=r(L),O=n(1561),S=r(O),N=n(327),k=r(N),D=n(1563),x=r(D),I=n(219),z=r(I),P=n(1565),j=r(P),B=n(172),F=r(B),R=n(91),W=r(R),Y=new S.default,H=function(e){function t(){var n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,e.call.apply(e,[this].concat(u))),q.call(r),a=n,i(r,a)}return a(t,e),t.prototype.omitProps=function(e,t){var n=Object.keys(e),r={};return n.map(function(n){Object.prototype.hasOwnProperty.call(t,n)||(r[n]=e[n])}),r},t.prototype.render=function(){var e=this.props,n=e.show,r=e.container,o=e.children,i=e.transition,a=e.backdrop,u=e.className,l=e.style,c=e.onExit,d=e.onExiting,f=e.onEnter,p=e.onEntering,h=e.onEntered,m=w.default.Children.only(o),g=this.omitProps(this.props,t.propTypes),_=n||i&&!this.state.exited;if(!_)return null;var b=m.props,y=b.role,v=b.tabIndex;return void 0!==y&&void 0!==v||(m=(0,A.cloneElement)(m,{role:void 0===y?\"document\":y,tabIndex:null==v?\"-1\":v})),i&&(m=w.default.createElement(i,{appear:!0,unmountOnExit:!0,in:n,onExit:c,onExiting:d,onExited:this.handleHidden,onEnter:f,onEntering:p,onEntered:h},m)),w.default.createElement(k.default,{ref:this.setMountNode,container:r,onRendered:this.onPortalRendered},w.default.createElement(\"div\",s({ref:this.setModalNodeRef,role:y||\"dialog\"},g,{style:l,className:u}),a&&this.renderBackdrop(),w.default.createElement(x.default,{ref:this.setDialogRef},m)))},t.prototype.componentWillReceiveProps=function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})},t.prototype.componentWillUpdate=function(e){!this.props.show&&e.show&&this.checkForFocus()},t.prototype.componentDidMount=function(){this._isMounted=!0,this.props.show&&this.onShow()},t.prototype.componentDidUpdate=function(e){var t=this.props.transition;!e.show||this.props.show||t?!e.show&&this.props.show&&this.onShow():this.onHide()},t.prototype.componentWillUnmount=function(){var e=this.props,t=e.show,n=e.transition;this._isMounted=!1,(t||n&&!this.state.exited)&&this.onHide()},t.prototype.autoFocus=function(){if(this.props.autoFocus){var e=this.getDialogElement(),t=(0,l.default)((0,W.default)(this));e&&!(0,d.default)(e,t)&&(this.lastFocus=t,e.hasAttribute(\"tabIndex\")||((0,T.default)(!1,'The modal content node does not accept focus. For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".'),e.setAttribute(\"tabIndex\",-1)),e.focus())}},t.prototype.restoreLastFocus=function(){this.lastFocus&&this.lastFocus.focus&&(this.lastFocus.focus(),this.lastFocus=null)},t.prototype.getDialogElement=function(){return E.default.findDOMNode(this.dialog)},t.prototype.isTopModal=function(){return this.props.manager.isTopModal(this)},t}(w.default.Component);H.propTypes=s({},k.default.propTypes,{show:m.default.bool,container:m.default.oneOfType([_.default,m.default.func]),onShow:m.default.func,onHide:m.default.func,backdrop:m.default.oneOfType([m.default.bool,m.default.oneOf([\"static\"])]),renderBackdrop:m.default.func,onEscapeKeyDown:m.default.func,onEscapeKeyUp:(0,y.default)(m.default.func,\"Please use onEscapeKeyDown instead for consistency\"),onBackdropClick:m.default.func,backdropStyle:m.default.object,backdropClassName:m.default.string,containerClassName:m.default.string,keyboard:m.default.bool,transition:M.default,backdropTransition:M.default,autoFocus:m.default.bool,enforceFocus:m.default.bool,restoreFocus:m.default.bool,onEnter:m.default.func,onEntering:m.default.func,onEntered:m.default.func,onExit:m.default.func,onExiting:m.default.func,onExited:m.default.func,manager:m.default.object.isRequired}),H.defaultProps={show:!1,backdrop:!0,keyboard:!0,autoFocus:!0,enforceFocus:!0,restoreFocus:!0,onHide:function(){},manager:Y,renderBackdrop:function(e){return w.default.createElement(\"div\",e)}};var q=function(){var e=this;this.state={exited:!this.props.show},this.renderBackdrop=function(){var t=e.props,n=t.backdropStyle,r=t.backdropClassName,o=t.renderBackdrop,i=t.backdropTransition,a=function(t){return e.backdrop=t},s=o({ref:a,style:n,className:r,onClick:e.handleBackdropClick});return i&&(s=w.default.createElement(i,{appear:!0,in:e.props.show},s)),s},this.onPortalRendered=function(){e.autoFocus(),e.props.onShow&&e.props.onShow()},this.onShow=function(){var t=(0,W.default)(e),n=(0,F.default)(e.props.container,t.body);e.props.manager.add(e,n,e.props.containerClassName),e._onDocumentKeydownListener=(0,z.default)(t,\"keydown\",e.handleDocumentKeyDown),e._onDocumentKeyupListener=(0,z.default)(t,\"keyup\",e.handleDocumentKeyUp),e._onFocusinListener=(0,j.default)(e.enforceFocus)},this.onHide=function(){e.props.manager.remove(e),e._onDocumentKeydownListener.remove(),e._onDocumentKeyupListener.remove(),e._onFocusinListener.remove(),e.props.restoreFocus&&e.restoreLastFocus()},this.setMountNode=function(t){e.mountNode=t?t.getMountNode():t},this.setModalNodeRef=function(t){e.modalNode=t},this.setDialogRef=function(t){e.dialog=t},this.handleHidden=function(){if(e.setState({exited:!0}),e.onHide(),e.props.onExited){var t;(t=e.props).onExited.apply(t,arguments)}},this.handleBackdropClick=function(t){t.target===t.currentTarget&&(e.props.onBackdropClick&&e.props.onBackdropClick(t),e.props.backdrop===!0&&e.props.onHide())},this.handleDocumentKeyDown=function(t){e.props.keyboard&&27===t.keyCode&&e.isTopModal()&&(e.props.onEscapeKeyDown&&e.props.onEscapeKeyDown(t),e.props.onHide())},this.handleDocumentKeyUp=function(t){e.props.keyboard&&27===t.keyCode&&e.isTopModal()&&e.props.onEscapeKeyUp&&e.props.onEscapeKeyUp(t)},this.checkForFocus=function(){p.default&&(e.lastFocus=(0,l.default)())},this.enforceFocus=function(){if(e.props.enforceFocus&&e._isMounted&&e.isTopModal()){var t=e.getDialogElement(),n=(0,l.default)((0,W.default)(e));t&&!(0,d.default)(t,n)&&t.focus()}}};H.Manager=S.default,t.default=H,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){var n=-1;return e.some(function(e,r){if(t(e,r))return n=r,!0}),n}function a(e,t){return i(e,function(e){return e.modals.indexOf(t)!==-1})}function s(e,t){var n={overflow:\"hidden\"};e.style={overflow:t.style.overflow,paddingRight:t.style.paddingRight},e.overflowing&&(n.paddingRight=parseInt((0,f.default)(t,\"paddingRight\")||0,10)+(0,h.default)()+\"px\"),(0,f.default)(t,n)}function u(e,t){var n=e.style;Object.keys(n).forEach(function(e){return t.style[e]=n[e]})}t.__esModule=!0;var l=n(408),c=r(l),d=n(160),f=r(d),p=n(287),h=r(p),m=n(1567),g=r(m),_=n(1568),b=function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.hideSiblingNodes,i=void 0===r||r,l=n.handleContainerOverflow,d=void 0===l||l;o(this,e),this.add=function(e,n,r){var o=t.modals.indexOf(e),i=t.containers.indexOf(n);if(o!==-1)return o;if(o=t.modals.length,t.modals.push(e),t.hideSiblingNodes&&(0,_.hideSiblings)(n,e.mountNode),i!==-1)return t.data[i].modals.push(e),o;var a={modals:[e],classes:r?r.split(/\\s+/):[],overflowing:(0,g.default)(n)};return t.handleContainerOverflow&&s(a,n),a.classes.forEach(c.default.addClass.bind(null,n)),t.containers.push(n),t.data.push(a),o},this.remove=function(e){var n=t.modals.indexOf(e);if(n!==-1){var r=a(t.data,e),o=t.data[r],i=t.containers[r];o.modals.splice(o.modals.indexOf(e),1),t.modals.splice(n,1),0===o.modals.length?(o.classes.forEach(c.default.removeClass.bind(null,i)),t.handleContainerOverflow&&u(o,i),t.hideSiblingNodes&&(0,_.showSiblings)(i,e.mountNode),t.containers.splice(r,1),t.data.splice(r,1)):t.hideSiblingNodes&&(0,_.ariaHidden)(!1,o.modals[o.modals.length-1].mountNode)}},this.isTopModal=function(e){return!!t.modals.length&&t.modals[t.modals.length-1]===e},this.hideSiblingNodes=i,this.handleContainerOverflow=d,this.modals=[],this.containers=[],this.data=[]};t.default=b,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(5),c=r(l),d=n(558),f=r(d),p=n(1),h=r(p),m=n(327),g=r(m),_=n(614),b=r(_),y=n(615),v=r(y),M=function(e){function t(n,r){i(this,t);var o=a(this,e.call(this,n,r));return o.handleHidden=function(){if(o.setState({exited:!0}),o.props.onExited){var e;(e=o.props).onExited.apply(e,arguments)}},o.state={exited:!n.show},o.onHiddenListener=o.handleHidden.bind(o),o}return s(t,e),t.prototype.componentWillReceiveProps=function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})},t.prototype.render=function(){var e=this.props,t=e.container,n=e.containerPadding,r=e.target,i=e.placement,a=e.shouldUpdatePosition,s=e.rootClose,u=e.children,l=e.transition,c=o(e,[\"container\",\"containerPadding\",\"target\",\"placement\",\"shouldUpdatePosition\",\"rootClose\",\"children\",\"transition\"]),d=c.show||l&&!this.state.exited;if(!d)return null;var f=u;if(f=h.default.createElement(b.default,{container:t,containerPadding:n,target:r,placement:i,shouldUpdatePosition:a},f),l){var p=c.onExit,m=c.onExiting,_=c.onEnter,y=c.onEntering,M=c.onEntered;f=h.default.createElement(l,{in:c.show,appear:!0,onExit:p,onExiting:m,onExited:this.onHiddenListener,onEnter:_,onEntering:y,onEntered:M},f)}return s&&(f=h.default.createElement(v.default,{onRootClose:c.onHide},f)),h.default.createElement(g.default,{container:t},f)},t}(h.default.Component);M.propTypes=u({},g.default.propTypes,b.default.propTypes,{show:c.default.bool,rootClose:c.default.bool,onHide:function(e){var t=c.default.func;e.rootClose&&(t=t.isRequired);for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.apply(void 0,[e].concat(r))},transition:f.default,onEnter:c.default.func,onEntering:c.default.func,onEntered:c.default.func,onExit:c.default.func,onExiting:c.default.func,onExited:c.default.func}),t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(5),u=r(s),l=n(1),c=r(l),d={children:u.default.node},f=function(e){function t(){return o(this,t),i(this,e.apply(this,arguments))}return a(t,e),t.prototype.render=function(){return this.props.children},t}(c.default.Component);f.propTypes=d,t.default=f,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.RootCloseWrapper=t.Position=t.Portal=t.Overlay=t.Modal=t.AutoAffix=t.Affix=void 0;var o=n(613),i=r(o),a=n(1558),s=r(a),u=n(1560),l=r(u),c=n(1562),d=r(c),f=n(327),p=r(f),h=n(614),m=r(h),g=n(615),_=r(g);t.Affix=i.default,t.AutoAffix=s.default,t.Modal=l.default,t.Overlay=d.default,t.Portal=p.default,t.Position=m.default,t.RootCloseWrapper=_.default},function(e,t){\"use strict\";function n(e){var t=!document.addEventListener,n=void 0;return t?(document.attachEvent(\"onfocusin\",e),n=function(){return document.detachEvent(\"onfocusin\",e)}):(document.addEventListener(\"focus\",e,!0),n=function(){return document.removeEventListener(\"focus\",e,!0)}),{remove:n}}t.__esModule=!0,t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=void 0,n=void 0,r=void 0;if(\"BODY\"===e.tagName)t=window.innerWidth,n=window.innerHeight,r=(0,p.default)((0,m.default)(e).documentElement)||(0,p.default)(e);else{var o=(0,l.default)(e);t=o.width,n=o.height,r=(0,p.default)(e)}return{width:t,height:n,scroll:r}}function i(e,t,n,r){var i=o(n),a=i.scroll,s=i.height,u=e-r-a,l=e+r-a+t;return u<0?-u:l>s?s-l:0}function a(e,t,n,r){var i=o(n),a=i.width,s=e-r,u=e+r+t;return s<0?-s:u>a?a-u:0}function s(e,t,n,r,o){var s=\"BODY\"===r.tagName?(0,l.default)(n):(0,d.default)(n,r),u=(0,l.default)(t),c=u.height,f=u.width,p=void 0,h=void 0,m=void 0,g=void 0;if(\"left\"===e||\"right\"===e){h=s.top+(s.height-c)/2,p=\"left\"===e?s.left-f:s.left+s.width;var _=i(h,c,r,o);h+=_,g=50*(1-2*_/c)+\"%\",m=void 0}else{if(\"top\"!==e&&\"bottom\"!==e)throw new Error('calcOverlayPosition(): No such placement of \"'+e+'\" found.');p=s.left+(s.width-f)/2,h=\"top\"===e?s.top-c:s.top+s.height;var b=a(p,f,r,o);p+=b,m=50*(1-2*b/f)+\"%\",g=void 0}return{positionLeft:p,positionTop:h,arrowOffsetLeft:m,arrowOffsetTop:g}}t.__esModule=!0,t.default=s;var u=n(132),l=r(u),c=n(410),d=r(c),f=n(200),p=r(f),h=n(91),m=r(h);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e&&\"body\"===e.tagName.toLowerCase()}function i(e){var t=(0,c.default)(e),n=(0,u.default)(t),r=n.innerWidth;if(!r){var o=t.documentElement.getBoundingClientRect();r=o.right-Math.abs(o.left)}return t.body.clientWidth<r}function a(e){var t=(0,u.default)(e);return t||o(e)?i(e):e.scrollHeight>e.clientHeight}t.__esModule=!0,t.default=a;var s=n(131),u=r(s),l=n(80),c=r(l);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){t&&(e?t.setAttribute(\"aria-hidden\",\"true\"):t.removeAttribute(\"aria-hidden\"))}function r(e,t){s(e,t,function(e){return n(!0,e)})}function o(e,t){s(e,t,function(e){return n(!1,e)})}t.__esModule=!0,t.ariaHidden=n,t.hideSiblings=r,t.showSiblings=o;var i=[\"template\",\"script\",\"style\"],a=function(e){var t=e.nodeType,n=e.tagName;return 1===t&&i.indexOf(n.toLowerCase())===-1},s=function(e,t,n){t=[].concat(t),[].forEach.call(e.children,function(e){t.indexOf(e)===-1&&a(e)&&n(e)})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0,t.default=void 0;var s=n(1),u=n(5),l=r(u),c=n(618),d=r(c),f=n(619),p=(r(f),function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));return a.store=n.store,a}return a(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){\nreturn s.Children.only(this.props.children)},t}(s.Component));t.default=p,p.propTypes={store:d.default.isRequired,children:l.default.element.isRequired},p.childContextTypes={store:d.default.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.displayName||e.name||\"Component\"}function u(e,t){try{return e.apply(t)}catch(e){return T.value=e,T}}function l(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=Boolean(e),f=e||C,h=void 0;h=\"function\"==typeof t?t:t?(0,_.default)(t):E;var g=n||L,b=r.pure,y=void 0===b||b,v=r.withRef,A=void 0!==v&&v,S=y&&g!==L,N=O++;return function(e){function t(e,t,n){var r=g(e,t,n);return r}var n=\"Connect(\"+s(e)+\")\",r=function(r){function s(e,t){o(this,s);var a=i(this,r.call(this,e,t));a.version=N,a.store=e.store||t.store,(0,w.default)(a.store,'Could not find \"store\" in either the context or '+('props of \"'+n+'\". ')+\"Either wrap the root component in a <Provider>, \"+('or explicitly pass \"store\" as a prop to \"'+n+'\".'));var u=a.store.getState();return a.state={storeState:u},a.clearCache(),a}return a(s,r),s.prototype.shouldComponentUpdate=function(){return!y||this.haveOwnPropsChanged||this.hasStoreStateChanged},s.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var n=e.getState(),r=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,t):this.finalMapStateToProps(n);return r},s.prototype.configureFinalMapState=function(e,t){var n=f(e.getState(),t),r=\"function\"==typeof n;return this.finalMapStateToProps=r?n:f,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(e,t):n},s.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var n=e.dispatch,r=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,t):this.finalMapDispatchToProps(n);return r},s.prototype.configureFinalMapDispatch=function(e,t){var n=h(e.dispatch,t),r=\"function\"==typeof n;return this.finalMapDispatchToProps=r?n:h,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(e,t):n},s.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,m.default)(e,this.stateProps))&&(this.stateProps=e,!0)},s.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,m.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},s.prototype.updateMergedPropsIfNeeded=function(){var e=t(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&S&&(0,m.default)(e,this.mergedProps))&&(this.mergedProps=e,!0)},s.prototype.isSubscribed=function(){return\"function\"==typeof this.unsubscribe},s.prototype.trySubscribe=function(){l&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},s.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},s.prototype.componentDidMount=function(){this.trySubscribe()},s.prototype.componentWillReceiveProps=function(e){y&&(0,m.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},s.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},s.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},s.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!y||t!==e){if(y&&!this.doStatePropsDependOnOwnProps){var n=u(this.updateStatePropsIfNeeded,this);if(!n)return;n===T&&(this.statePropsPrecalculationError=T.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},s.prototype.getWrappedInstance=function(){return(0,w.default)(A,\"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call.\"),this.refs.wrappedInstance},s.prototype.render=function(){var t=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,r=this.haveStatePropsBeenPrecalculated,o=this.statePropsPrecalculationError,i=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,o)throw o;var a=!0,s=!0;y&&i&&(a=n||t&&this.doStatePropsDependOnOwnProps,s=t&&this.doDispatchPropsDependOnOwnProps);var u=!1,l=!1;r?u=!0:a&&(u=this.updateStatePropsIfNeeded()),s&&(l=this.updateDispatchPropsIfNeeded());var f=!0;return f=!!(u||l||t)&&this.updateMergedPropsIfNeeded(),!f&&i?i:(A?this.renderedElement=(0,d.createElement)(e,c({},this.mergedProps,{ref:\"wrappedInstance\"})):this.renderedElement=(0,d.createElement)(e,this.mergedProps),this.renderedElement)},s}(d.Component);return r.displayName=n,r.WrappedComponent=e,r.contextTypes={store:p.default},r.propTypes={store:p.default},(0,M.default)(r,e)}}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=l;var d=n(1),f=n(618),p=r(f),h=n(1571),m=r(h),g=n(1572),_=r(g),b=n(619),y=(r(b),n(1365)),v=(r(y),n(1269)),M=r(v),A=n(33),w=r(A),C=function(e){return{}},E=function(e){return{dispatch:e}},L=function(e,t,n){return c({},n,e,t)},T={value:null},O=0},function(e,t){\"use strict\";function n(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i<n.length;i++)if(!o.call(t,n[i])||e[n[i]]!==t[n[i]])return!1;return!0}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){return function(t){return(0,o.bindActionCreators)(e,t)}}t.__esModule=!0,t.default=r;var o=n(36)},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e){return function(){return function(t){return function(n){if(n.type!==i.CALL_HISTORY_METHOD)return t(n);var o=n.payload,a=o.method,s=o.args;e[a].apply(e,r(s))}}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(620)},function(e,t,n){\"use strict\";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.selectLocationState,s=void 0===r?a:r,u=n.adjustUrlOnReplay,l=void 0===u||u;if(\"undefined\"==typeof s(t.getState()))throw new Error(\"Expected the routing state to be available either as `state.routing` or as the custom expression you can specify as `selectLocationState` in the `syncHistoryWithStore()` options. Ensure you have added the `routerReducer` to your store's reducers via `combineReducers` or whatever method you use to isolate your reducers.\");var c=void 0,d=void 0,f=void 0,p=void 0,h=void 0,m=function(e){var n=s(t.getState());return n.locationBeforeTransitions||(e?c:void 0)};if(c=m(),l){var g=function(){var t=m(!0);h!==t&&c!==t&&(d=!0,h=t,e.transitionTo(o({},t,{action:\"PUSH\"})),d=!1)};f=t.subscribe(g),g()}var _=function(e){d||(h=e,!c&&(c=e,m())||t.dispatch({type:i.LOCATION_CHANGE,payload:e}))};return p=e.listen(_),e.getCurrentLocation&&_(e.getCurrentLocation()),o({},e,{listen:function(n){var r=m(!0),o=!1,i=t.subscribe(function(){var e=m(!0);e!==r&&(r=e,o||n(r))});return e.getCurrentLocation||n(r),function(){o=!0,i()}},unsubscribe:function(){l&&f(),p()}})}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=r;var i=n(621),a=function(e){return e.routing}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(1),u=r(s),l=n(1641),c=r(l),d={shouldUpdateScroll:u.default.PropTypes.func,routerProps:u.default.PropTypes.object.isRequired,children:u.default.PropTypes.element.isRequired},f={scrollBehavior:u.default.PropTypes.object.isRequired},p=function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));h.call(a);var s=n.routerProps;return a.scrollBehavior=new c.default(s.router,function(){return a.props.routerProps.location},a.shouldUpdateScroll),a.scrollBehavior.updateScroll(null,s),a}return a(t,e),t.prototype.getChildContext=function(){return{scrollBehavior:this}},t.prototype.componentDidUpdate=function(e){var t=this.props.routerProps,n=e.routerProps;t.location!==n.location&&this.scrollBehavior.updateScroll(n,t)},t.prototype.componentWillUnmount=function(){this.scrollBehavior.stop()},t.prototype.render=function(){return this.props.children},t}(u.default.Component),h=function(){var e=this;this.shouldUpdateScroll=function(t,n){var r=e.props.shouldUpdateScroll;return!r||r.call(e.scrollBehavior,t,n)},this.registerElement=function(t,n,r){e.scrollBehavior.registerElement(t,n,r,e.props.routerProps)},this.unregisterElement=function(t){e.scrollBehavior.unregisterElement(t)}};p.propTypes=d,p.childContextTypes=f,t.default=p,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return{renderRouterContext:function(t,n){return a.default.createElement(u.default,{shouldUpdateScroll:e,routerProps:n},t)}}}t.__esModule=!0,t.default=o;var i=n(1),a=r(i),s=n(1575),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(42),i=(r(o),n(113)),a={contextTypes:{history:i.history},componentWillMount:function(){this.history=this.context.history}};t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(622),u=r(s),l=a.default.createClass({displayName:\"IndexLink\",render:function(){return a.default.createElement(u.default,o({},this.props,{onlyActiveOnIndex:!0}))}});t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(42),s=(r(a),n(33)),u=r(s),l=n(623),c=r(l),d=n(113),f=i.default.PropTypes,p=f.string,h=f.object,m=i.default.createClass({displayName:\"IndexRedirect\",statics:{createRouteFromReactElement:function(e,t){t&&(t.indexRoute=c.default.createRouteFromReactElement(e))}},propTypes:{to:p.isRequired,query:h,state:h,onEnter:d.falsy,children:d.falsy},render:function(){(0,u.default)(!1)}});t.default=m,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(42),s=(r(a),n(33)),u=r(s),l=n(92),c=n(113),d=i.default.PropTypes.func,f=i.default.createClass({displayName:\"IndexRoute\",statics:{createRouteFromReactElement:function(e,t){t&&(t.indexRoute=(0,l.createRouteFromReactElement)(e))}},propTypes:{path:c.falsy,component:c.component,components:c.components,getComponent:d,getComponents:d},render:function(){(0,u.default)(!1)}});t.default=f,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(42),i=(r(o),n(1)),a=r(i),s=n(33),u=r(s),l=a.default.PropTypes.object,c={contextTypes:{history:l.isRequired,route:l},propTypes:{route:l},componentDidMount:function(){this.routerWillLeave?void 0:(0,u.default)(!1);var e=this.props.route||this.context.route;e?void 0:(0,u.default)(!1),this._unlistenBeforeLeavingRoute=this.context.history.listenBeforeLeavingRoute(e,this.routerWillLeave)},componentWillUnmount:function(){this._unlistenBeforeLeavingRoute&&this._unlistenBeforeLeavingRoute()}};t.default=c,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(33),s=r(a),u=n(92),l=n(113),c=i.default.PropTypes,d=c.string,f=c.func,p=i.default.createClass({displayName:\"Route\",statics:{createRouteFromReactElement:u.createRouteFromReactElement},propTypes:{path:d,component:l.component,components:l.components,getComponent:f,getComponents:f},render:function(){(0,s.default)(!1)}});t.default=p,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(42),i=(r(o),n(1)),a=r(i),s=a.default.PropTypes.object,u={propTypes:{route:s.isRequired},childContextTypes:{route:s.isRequired},getChildContext:function(){return{route:this.props.route}},componentWillMount:function(){}};t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e){return!e||!e.__v2_compatible__}function a(e){return e&&e.getCurrentLocation}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(291),l=r(u),c=n(133),d=r(c),f=n(33),p=r(f),h=n(1),m=r(h),g=n(331),_=r(g),b=n(113),y=n(223),v=r(y),M=n(92),A=n(624),w=n(42),C=(r(w),m.default.PropTypes),E=C.func,L=C.object,T=m.default.createClass({displayName:\"Router\",propTypes:{history:L,children:b.routes,routes:b.routes,render:E,createElement:E,onError:E,onUpdate:E,parseQueryString:E,stringifyQuery:E,matchContext:L},getDefaultProps:function(){return{render:function(e){return m.default.createElement(v.default,e)}}},getInitialState:function(){return{location:null,routes:null,params:null,components:null}},handleError:function(e){if(!this.props.onError)throw e;this.props.onError.call(this,e)},componentWillMount:function(){var e=this,t=this.props,n=(t.parseQueryString,t.stringifyQuery,this.createRouterObjects()),r=n.history,o=n.transitionManager,i=n.router;this._unlisten=o.listen(function(t,n){t?e.handleError(t):e.setState(n,e.props.onUpdate)}),this.history=r,this.router=i},createRouterObjects:function(){var e=this.props.matchContext;if(e)return e;var t=this.props.history,n=this.props,r=n.routes,o=n.children;a(t)?(0,p.default)(!1):void 0,i(t)&&(t=this.wrapDeprecatedHistory(t));var s=(0,_.default)(t,(0,M.createRoutes)(r||o)),u=(0,A.createRouterObject)(t,s),l=(0,A.createRoutingHistory)(t,s);return{history:l,transitionManager:s,router:u}},wrapDeprecatedHistory:function(e){var t=this.props,n=t.parseQueryString,r=t.stringifyQuery,o=void 0;return o=e?function(){return e}:l.default,(0,d.default)(o)({parseQueryString:n,stringifyQuery:r})},componentWillReceiveProps:function(e){},componentWillUnmount:function(){this._unlisten&&this._unlisten()},render:function e(){var t=this.state,n=t.location,r=t.routes,i=t.params,a=t.components,u=this.props,l=u.createElement,e=u.render,c=o(u,[\"createElement\",\"render\"]);return null==n?null:(Object.keys(T.propTypes).forEach(function(e){return delete c[e]}),e(s({},c,{history:this.history,router:this.router,location:n,routes:r,params:i,components:a,createElement:l})))}});t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(223),s=r(a),u=n(42),l=(r(u),i.default.createClass({displayName:\"RoutingContext\",componentWillMount:function(){},render:function(){return i.default.createElement(s.default,this.props)}}));t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return function(){for(var r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];if(e.apply(t,o),e.length<n){var a=o[o.length-1];a()}}}function i(e){return e.reduce(function(e,t){return t.onEnter&&e.push(o(t.onEnter,t,3)),e},[])}function a(e){return e.reduce(function(e,t){return t.onChange&&e.push(o(t.onChange,t,4)),e},[])}function s(e,t,n){function r(e,t,n){return t?void(o={pathname:t,query:n,state:e}):void(o=e)}if(!e)return void n();var o=void 0;(0,d.loopAsync)(e,function(e,n,i){t(e,r,function(e){e||o?i(e,o):n()})},n)}function u(e,t,n){var r=i(e);return s(r.length,function(e,n,o){r[e](t,n,o)},n)}function l(e,t,n,r){var o=a(e);return s(o.length,function(e,r,i){o[e](t,n,r,i)},r)}function c(e,t){for(var n=0,r=e.length;n<r;++n)e[n].onLeave&&e[n].onLeave.call(e[n],t)}t.__esModule=!0,t.runEnterHooks=u,t.runChangeHooks=l,t.runLeaveHooks=c;var d=n(329),f=n(42);r(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(223),u=r(s);t.default=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.map(function(e){return e.renderRouterContext}).filter(function(e){return e}),s=t.map(function(e){return e.renderRouteComponent}).filter(function(e){return e}),l=function(){var e=arguments.length<=0||void 0===arguments[0]?i.createElement:arguments[0];return function(t,n){return s.reduceRight(function(e,t){return t(e,n)},e(t,n))}};return function(e){return r.reduceRight(function(t,n){return n(t,e)},a.default.createElement(u.default,o({},e,{createElement:l(e.createElement)})))}},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(421),i=r(o),a=n(626),s=r(a);t.default=(0,s.default)(i.default),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){if(!e.path)return!1;var r=(0,i.getParamNames)(e.path);return r.some(function(e){return t.params[e]!==n.params[e]})}function o(e,t){var n=e&&e.routes,o=t.routes,i=void 0,a=void 0,s=void 0;return n?!function(){var u=!1;i=n.filter(function(n){if(u)return!0;var i=o.indexOf(n)===-1||r(n,e,t);return i&&(u=!0),i}),i.reverse(),s=[],a=[],o.forEach(function(e){var t=n.indexOf(e)===-1,r=i.indexOf(e)!==-1;t||r?s.push(e):a.push(e)})}():(i=[],a=[],s=o),{leaveRoutes:i,changeRoutes:a,enterRoutes:s}}t.__esModule=!0;var i=n(142);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){if(t.component||t.components)return void n(null,t.component||t.components);var r=t.getComponent||t.getComponents;if(!r)return void n();var o=e.location,i=(0,u.default)(e,o);r.call(t,i,n)}function i(e,t){(0,a.mapAsync)(e.routes,function(t,n,r){o(e,t,r)},t)}t.__esModule=!0;var a=n(329),s=n(627),u=r(s);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){var n={};return e.path?((0,o.getParamNames)(e.path).forEach(function(e){Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e])}),n):n}t.__esModule=!0;var o=n(142);t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(291),i=r(o),a=n(626),s=r(a);t.default=(0,s.default)(i.default),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(e==t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e))return Array.isArray(t)&&e.length===t.length&&e.every(function(e,n){return r(e,t[n])});if(\"object\"===(\"undefined\"==typeof e?\"undefined\":u(e))){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))if(void 0===e[n]){if(void 0!==t[n])return!1}else{if(!Object.prototype.hasOwnProperty.call(t,n))return!1;if(!r(e[n],t[n]))return!1}return!0}return String(e)===String(t)}function o(e,t){return\"/\"!==t.charAt(0)&&(t=\"/\"+t),\"/\"!==e.charAt(e.length-1)&&(e+=\"/\"),\"/\"!==t.charAt(t.length-1)&&(t+=\"/\"),t===e}function i(e,t,n){for(var r=e,o=[],i=[],a=0,s=t.length;a<s;++a){var u=t[a],c=u.path||\"\";if(\"/\"===c.charAt(0)&&(r=e,o=[],i=[]),null!==r&&c){var d=(0,l.matchPattern)(c,r);if(d?(r=d.remainingPathname,o=[].concat(o,d.paramNames),i=[].concat(i,d.paramValues)):r=null,\"\"===r)return o.every(function(e,t){return String(i[t])===String(n[e])})}}return!1}function a(e,t){return null==t?null==e:null==e||r(e,t)}function s(e,t,n,r,s){var u=e.pathname,l=e.query;return null!=n&&(\"/\"!==u.charAt(0)&&(u=\"/\"+u),!!(o(u,n.pathname)||!t&&i(u,r,s))&&a(l,n.query))}t.__esModule=!0;var u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e};t.default=s;var l=n(142);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e,t){var n=e.history,r=e.routes,i=e.location,s=o(e,[\"history\",\"routes\",\"location\"]);n||i?void 0:(0,u.default)(!1),n=n?n:(0,c.default)(s);var l=(0,f.default)(n,(0,p.createRoutes)(r)),d=void 0;i?i=n.createLocation(i):d=n.listen(function(e){i=e});var m=(0,h.createRouterObject)(n,l);n=(0,h.createRoutingHistory)(n,l),l.match(i,function(e,r,o){t(e,r,o&&a({},o,{history:n,router:m,matchContext:{history:n,transitionManager:l,router:m}})),d&&d()})}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(33),u=r(s),l=n(625),c=r(l),d=n(331),f=r(d),p=n(92),h=n(624);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){if(e.childRoutes)return[null,e.childRoutes];if(!e.getChildRoutes)return[];var i=!0,a=void 0,u={location:t,params:s(n,r)},l=(0,h.default)(u,t);return e.getChildRoutes(l,function(e,t){return t=!e&&(0,_.createRoutes)(t),i?void(a=[e,t]):void o(e,t)}),i=!1,a}function i(e,t,n,r,o){if(e.indexRoute)o(null,e.indexRoute);else if(e.getIndexRoute){var a={location:t,params:s(n,r)},u=(0,h.default)(a,t);e.getIndexRoute(u,function(e,t){o(e,!e&&(0,_.createRoutes)(t)[0])})}else e.childRoutes?!function(){var a=e.childRoutes.filter(function(e){return!e.path});(0,f.loopAsync)(a.length,function(e,o,s){i(a[e],t,n,r,function(t,n){if(t||n){var r=[a[e]].concat(Array.isArray(n)?n:[n]);s(t,r)}else o()})},function(e,t){o(null,t)})}():o()}function a(e,t,n){return t.reduce(function(e,t,r){var o=n&&n[r];return Array.isArray(e[t])?e[t].push(o):t in e?e[t]=[e[t],o]:e[t]=o,e},e)}function s(e,t){return a({},e,t)}function u(e,t,n,r,a,u){var c=e.path||\"\";if(\"/\"===c.charAt(0)&&(n=t.pathname,r=[],a=[]),null!==n&&c){try{var f=(0,m.matchPattern)(c,n);f?(n=f.remainingPathname,r=[].concat(r,f.paramNames),a=[].concat(a,f.paramValues)):n=null}catch(e){u(e)}if(\"\"===n){var p=function(){var n={routes:[e],params:s(r,a)};return i(e,t,r,a,function(e,t){if(e)u(e);else{if(Array.isArray(t)){var r;(r=n.routes).push.apply(r,t)}else t&&n.routes.push(t);u(null,n)}}),{v:void 0}}();if(\"object\"===(\"undefined\"==typeof p?\"undefined\":d(p)))return p.v}}if(null!=n||e.childRoutes){var h=function(o,i){o?u(o):i?l(i,t,function(t,n){t?u(t):n?(n.routes.unshift(e),u(null,n)):u()},n,r,a):u()},g=o(e,t,r,a,h);g&&h.apply(void 0,g)}else u()}function l(e,t,n,r){var o=arguments.length<=4||void 0===arguments[4]?[]:arguments[4],i=arguments.length<=5||void 0===arguments[5]?[]:arguments[5];void 0===r&&(\"/\"!==t.pathname.charAt(0)&&(t=c({},t,{pathname:\"/\"+t.pathname})),r=t.pathname),(0,f.loopAsync)(e.length,function(n,a,s){u(e[n],t,r,o,i,function(e,t){e||t?s(e,t):a()})},n)}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e};t.default=l;var f=n(329),p=n(627),h=r(p),m=n(142),g=n(42),_=(r(g),n(92));e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.routes,r=o(t,[\"routes\"]),i=(0,u.default)(e)(r),s=(0,c.default)(i,n);return a({},i,s)}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(133),u=r(s),l=n(331),c=r(l),d=n(42);r(d);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.displayName||e.name||\"Component\"}function i(e){var t=u.default.createClass({displayName:\"WithRouter\",contextTypes:{router:d.routerShape},render:function(){return u.default.createElement(e,a({},this.props,{router:this.context.router}))}});return t.displayName=\"withRouter(\"+o(e)+\")\",t.WrappedComponent=e,(0,c.default)(t,e)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(1),u=r(s),l=n(1598),c=r(l),d=n(330);e.exports=t.default},function(e,t){\"use strict\";var n={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,arguments:!0,arity:!0},o=\"function\"==typeof Object.getOwnPropertySymbols;e.exports=function(e,t,i){if(\"string\"!=typeof t){var a=Object.getOwnPropertyNames(t);o&&(a=a.concat(Object.getOwnPropertySymbols(t)));for(var s=0;s<a.length;++s)if(!(n[a[s]]||r[a[s]]||i&&i[a[s]]))try{e[a[s]]=t[a[s]]}catch(e){}}return e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),a=n(1600),s=r(a),u=function(e){return e};t.default=function(e){var t=Array.isArray(e)&&2===e.length?e:[e,null],n=i(t,2),r=n[0],a=n[1];return function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var l=n.map(function(e){return r[e]}).filter(u);return\"string\"==typeof l[0]||\"function\"==typeof a?{key:e,className:a?a.apply(void 0,o(l)):l.join(\" \")}:{key:e,style:s.default.apply(void 0,[{}].concat(o(l)))}}},e.exports=t.default},function(e,t){\"use strict\";function n(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function r(e){var t=Object.getOwnPropertyNames(e);return Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e))),t.filter(function(t){return o.call(e,t)})}var o=Object.prototype.propertyIsEnumerable;e.exports=Object.assign||function(e,t){for(var o,i,a=n(e),s=1;s<arguments.length;s++){o=arguments[s],i=r(Object(o));for(var u=0;u<i.length;u++)a[i[u]]=o[i[u]]}return a}},315,[1767,145],function(e,t,n){\"use strict\";function r(e){return(\"\"+e).replace(v,\"$&/\")}function o(e,t){this.func=e,this.context=t,this.count=0}function i(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);_(e,i,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,i=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?l(u,o,n,g.thatReturnsArgument):null!=u&&(m.isValidElement(u)&&(u=m.cloneAndReplaceKey(u,i+(!u.key||t&&t.key===u.key?\"\":r(u.key)+\"/\")+n)),o.push(u))}function l(e,t,n,o,i){var a=\"\";null!=n&&(a=r(n)+\"/\");var l=s.getPooled(t,a,o,i);_(e,u,l),s.release(l)}function c(e,t,n){if(null==e)return e;var r=[];return l(e,r,null,t,n),r}function d(e,t,n){return null}function f(e,t){return _(e,d,null)}function p(e){var t=[];return l(e,t,null,g.thatReturnsArgument),t}var h=n(1602),m=n(144),g=n(63),_=n(1613),b=h.twoArgumentPooler,y=h.fourArgumentPooler,v=/\\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,b),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,y);var M={forEach:a,map:c,mapIntoWithKeyPrefixInternal:l,count:f,toArray:p};e.exports=M},function(e,t,n){\"use strict\";function r(e){return e}function o(e,t){var n=v.hasOwnProperty(t)?v[t]:null;A.hasOwnProperty(t)&&(\"OVERRIDE_BASE\"!==n?f(\"73\",t):void 0),e&&(\"DEFINE_MANY\"!==n&&\"DEFINE_MANY_MERGED\"!==n?f(\"74\",t):void 0)}function i(e,t){if(t){\"function\"==typeof t?f(\"75\"):void 0,m.isValidElement(t)?f(\"76\"):void 0;var n=e.prototype,r=n.__reactAutoBindPairs;t.hasOwnProperty(b)&&M.mixins(e,t.mixins);for(var i in t)if(t.hasOwnProperty(i)&&i!==b){var a=t[i],s=n.hasOwnProperty(i);if(o(s,i),M.hasOwnProperty(i))M[i](e,a);else{var c=v.hasOwnProperty(i),d=\"function\"==typeof a,p=d&&!c&&!s&&t.autobind!==!1;if(p)r.push(i,a),n[i]=a;else if(s){var h=v[i];!c||\"DEFINE_MANY_MERGED\"!==h&&\"DEFINE_MANY\"!==h?f(\"77\",h,i):void 0,\"DEFINE_MANY_MERGED\"===h?n[i]=u(n[i],a):\"DEFINE_MANY\"===h&&(n[i]=l(n[i],a))}else n[i]=a}}}else;}function a(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in M;o?f(\"78\",n):void 0;var i=n in e;i?f(\"79\",n):void 0,e[n]=r}}}function s(e,t){e&&t&&\"object\"==typeof e&&\"object\"==typeof t?void 0:f(\"80\");for(var n in t)t.hasOwnProperty(n)&&(void 0!==e[n]?f(\"81\",n):void 0,e[n]=t[n]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return s(o,n),s(o,r),o}}function l(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function c(e,t){var n=t.bind(e);return n}function d(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=c(e,o)}}var f=n(145),p=n(28),h=n(332),m=n(144),g=(n(1606),n(333)),_=n(162),b=(n(17),n(20),\"mixins\"),y=[],v={mixins:\"DEFINE_MANY\",statics:\"DEFINE_MANY\",propTypes:\"DEFINE_MANY\",contextTypes:\"DEFINE_MANY\",childContextTypes:\"DEFINE_MANY\",getDefaultProps:\"DEFINE_MANY_MERGED\",getInitialState:\"DEFINE_MANY_MERGED\",getChildContext:\"DEFINE_MANY_MERGED\",render:\"DEFINE_ONCE\",componentWillMount:\"DEFINE_MANY\",componentDidMount:\"DEFINE_MANY\",componentWillReceiveProps:\"DEFINE_MANY\",\nshouldComponentUpdate:\"DEFINE_ONCE\",componentWillUpdate:\"DEFINE_MANY\",componentDidUpdate:\"DEFINE_MANY\",componentWillUnmount:\"DEFINE_MANY\",updateComponent:\"OVERRIDE_BASE\"},M={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=p({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=p({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=p({},e.propTypes,t)},statics:function(e,t){a(e,t)},autobind:function(){}},A={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e),t&&this.updater.enqueueCallback(this,t,\"replaceState\")},isMounted:function(){return this.updater.isMounted(this)}},w=function(){};p(w.prototype,h.prototype,A);var C={createClass:function(e){var t=r(function(e,n,r){this.__reactAutoBindPairs.length&&d(this),this.props=e,this.context=n,this.refs=_,this.updater=r||g,this.state=null;var o=this.getInitialState?this.getInitialState():null;\"object\"!=typeof o||Array.isArray(o)?f(\"82\",t.displayName||\"ReactCompositeComponent\"):void 0,this.state=o});t.prototype=new w,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],y.forEach(i.bind(null,t)),i(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),t.prototype.render?void 0:f(\"83\");for(var n in v)t.prototype[n]||(t.prototype[n]=null);return t},injection:{injectMixin:function(e){y.push(e)}}};e.exports=C},function(e,t,n){\"use strict\";var r=n(144),o=r.createFactory,i={a:o(\"a\"),abbr:o(\"abbr\"),address:o(\"address\"),area:o(\"area\"),article:o(\"article\"),aside:o(\"aside\"),audio:o(\"audio\"),b:o(\"b\"),base:o(\"base\"),bdi:o(\"bdi\"),bdo:o(\"bdo\"),big:o(\"big\"),blockquote:o(\"blockquote\"),body:o(\"body\"),br:o(\"br\"),button:o(\"button\"),canvas:o(\"canvas\"),caption:o(\"caption\"),cite:o(\"cite\"),code:o(\"code\"),col:o(\"col\"),colgroup:o(\"colgroup\"),data:o(\"data\"),datalist:o(\"datalist\"),dd:o(\"dd\"),del:o(\"del\"),details:o(\"details\"),dfn:o(\"dfn\"),dialog:o(\"dialog\"),div:o(\"div\"),dl:o(\"dl\"),dt:o(\"dt\"),em:o(\"em\"),embed:o(\"embed\"),fieldset:o(\"fieldset\"),figcaption:o(\"figcaption\"),figure:o(\"figure\"),footer:o(\"footer\"),form:o(\"form\"),h1:o(\"h1\"),h2:o(\"h2\"),h3:o(\"h3\"),h4:o(\"h4\"),h5:o(\"h5\"),h6:o(\"h6\"),head:o(\"head\"),header:o(\"header\"),hgroup:o(\"hgroup\"),hr:o(\"hr\"),html:o(\"html\"),i:o(\"i\"),iframe:o(\"iframe\"),img:o(\"img\"),input:o(\"input\"),ins:o(\"ins\"),kbd:o(\"kbd\"),keygen:o(\"keygen\"),label:o(\"label\"),legend:o(\"legend\"),li:o(\"li\"),link:o(\"link\"),main:o(\"main\"),map:o(\"map\"),mark:o(\"mark\"),menu:o(\"menu\"),menuitem:o(\"menuitem\"),meta:o(\"meta\"),meter:o(\"meter\"),nav:o(\"nav\"),noscript:o(\"noscript\"),object:o(\"object\"),ol:o(\"ol\"),optgroup:o(\"optgroup\"),option:o(\"option\"),output:o(\"output\"),p:o(\"p\"),param:o(\"param\"),picture:o(\"picture\"),pre:o(\"pre\"),progress:o(\"progress\"),q:o(\"q\"),rp:o(\"rp\"),rt:o(\"rt\"),ruby:o(\"ruby\"),s:o(\"s\"),samp:o(\"samp\"),script:o(\"script\"),section:o(\"section\"),select:o(\"select\"),small:o(\"small\"),source:o(\"source\"),span:o(\"span\"),strong:o(\"strong\"),style:o(\"style\"),sub:o(\"sub\"),summary:o(\"summary\"),sup:o(\"sup\"),table:o(\"table\"),tbody:o(\"tbody\"),td:o(\"td\"),textarea:o(\"textarea\"),tfoot:o(\"tfoot\"),th:o(\"th\"),thead:o(\"thead\"),time:o(\"time\"),title:o(\"title\"),tr:o(\"tr\"),track:o(\"track\"),u:o(\"u\"),ul:o(\"ul\"),var:o(\"var\"),video:o(\"video\"),wbr:o(\"wbr\"),circle:o(\"circle\"),clipPath:o(\"clipPath\"),defs:o(\"defs\"),ellipse:o(\"ellipse\"),g:o(\"g\"),image:o(\"image\"),line:o(\"line\"),linearGradient:o(\"linearGradient\"),mask:o(\"mask\"),path:o(\"path\"),pattern:o(\"pattern\"),polygon:o(\"polygon\"),polyline:o(\"polyline\"),radialGradient:o(\"radialGradient\"),rect:o(\"rect\"),stop:o(\"stop\"),svg:o(\"svg\"),text:o(\"text\"),tspan:o(\"tspan\")};e.exports=i},function(e,t,n){\"use strict\";var r={};e.exports=r},function(e,t,n){\"use strict\";var r=n(144),o=r.isValidElement,i=n(1377);e.exports=i(o)},function(e,t,n){\"use strict\";function r(e,t,n){this.props=e,this.context=t,this.refs=u,this.updater=n||s}function o(){}var i=n(28),a=n(332),s=n(333),u=n(162);o.prototype=a.prototype,r.prototype=new o,r.prototype.constructor=r,i(r.prototype,a.prototype),r.prototype.isPureReactComponent=!0,e.exports=r},1521,1540,function(e,t){\"use strict\";function n(){return r++}var r=1;e.exports=n},function(e,t,n){\"use strict\";function r(e){return i.isValidElement(e)?void 0:o(\"143\"),e}var o=n(145),i=n(144);n(17);e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return e&&\"object\"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var f=typeof e;if(\"undefined\"!==f&&\"boolean\"!==f||(e=null),null===e||\"string\"===f||\"number\"===f||\"object\"===f&&e.$$typeof===s)return n(i,e,\"\"===t?c+r(e,0):t),1;var p,h,m=0,g=\"\"===t?c:t+d;if(Array.isArray(e))for(var _=0;_<e.length;_++)p=e[_],h=g+r(p,_),m+=o(p,h,n,i);else{var b=u(e);if(b){var y,v=b.call(e);if(b!==e.entries)for(var M=0;!(y=v.next()).done;)p=y.value,h=g+r(p,M++),m+=o(p,h,n,i);else for(;!(y=v.next()).done;){var A=y.value;A&&(p=A[1],h=g+l.escape(A[0])+d+r(p,0),m+=o(p,h,n,i))}}else if(\"object\"===f){var w=\"\",C=String(e);a(\"31\",\"[object Object]\"===C?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":C,w)}}return m}function i(e,t,n){return null==e?0:o(e,\"\",t,n)}var a=n(145),s=(n(82),n(630)),u=n(1610),l=(n(17),n(1601)),c=(n(20),\".\"),d=\":\";e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(294),i=r(o),a=n(225),s=r(a),u=function(e,t,n,r){t(r);var o=e();if(!(0,i.default)(o))throw new Error(\"asyncValidate function passed to reduxForm must return a promise\");var a=function(e){return function(t){if(!(0,s.default)(t))return n(t),Promise.reject();if(e)throw n(),new Error(\"Asynchronous validation promise was rejected without errors.\");return n(),Promise.resolve()}};return o.then(a(!1),a(!0))};t.default=u},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){return{actionTypes:b,addArrayValue:C,autofill:E,autofillWithKey:L,blur:T,change:O,changeWithKey:S,destroy:N,focus:k,getValues:A.default,initialize:D,initializeWithKey:x,propTypes:(0,v.default)(),reduxForm:(0,c.default)(e,t,n),reducer:u.default,removeArrayValue:I,reset:z,startAsyncValidation:P,startSubmit:j,stopAsyncValidation:B,stopSubmit:F,submitFailed:R,swapArrayValues:W,touch:Y,touchWithKey:H,untouch:q,untouchWithKey:U}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(336),u=o(s),l=n(1618),c=o(l),d=n(335),f=o(d),p=n(633),h=o(p),m=n(632),g=r(m),_=n(334),b=r(_),y=n(1617),v=o(y),M=n(641),A=o(M),w=a({},(0,f.default)(a({},g,{autofillWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.autofill,{key:e}).apply(void 0,n)},changeWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.change,{key:e}).apply(void 0,n)},initializeWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.initialize,{key:e}).apply(void 0,n)},reset:function(e){return(0,h.default)(g.reset,{key:e})()},touchWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.touch,{key:e}).apply(void 0,n)},untouchWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.untouch,{key:e}).apply(void 0,n)},destroy:function(e){return(0,h.default)(g.destroy,{key:e})()}}),function(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(0,h.default)(e,{form:t}).apply(void 0,r)}})),C=w.addArrayValue,E=w.autofill,L=w.autofillWithKey,T=w.blur,O=w.change,S=w.changeWithKey,N=w.destroy,k=w.focus,D=w.initialize,x=w.initializeWithKey,I=w.removeArrayValue,z=w.reset,P=w.startAsyncValidation,j=w.startSubmit,B=w.stopAsyncValidation,F=w.stopSubmit,R=w.submitFailed,W=w.swapArrayValues,Y=w.touch,H=w.touchWithKey,q=w.untouch,U=w.untouchWithKey},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(5),d=o(c),f=n(632),p=r(f),h=n(639),m=o(h),g=n(336),_=n(285),b=o(_),y=n(633),v=o(y),M=n(640),A=o(M),w=n(225),C=o(w),E=n(1629),L=o(E),T=n(1625),O=o(T),S=n(1614),N=o(S),k=n(1624),D=o(k),x=n(638),I=o(x),z=n(1635),P=o(z),j=n(1636),B=o(j),F=n(634),R=o(F),W=function(e,t,n,r,o,c,f,h,_){var y=n.Component;return function(M,w,E,T){var S=_||{},k=S.withRef,x=void 0!==k&&k,z=function(r){function c(n){a(this,c);var o=s(this,r.call(this,n));o.asyncValidate=o.asyncValidate.bind(o),o.handleSubmit=o.handleSubmit.bind(o);var i=o.props,u=i.initialValues,d=i.submitPassback,f=(0,b.default)(n.form,g.initialState)?(0,R.default)(u,e.fields,{},!0,!1):n.form;return o.fields=(0,L.default)(l({},n,{form:f}),{},{},o.asyncValidate,t),d(function(){return o.handleSubmit()}),o}return u(c,r),c.prototype.componentWillMount=function(){var e=this.props,t=e.fields,n=e.form,r=e.initialize,o=e.initialValues;o&&!n._initialized&&r(o,t)},c.prototype.componentWillReceiveProps=function(e){(0,b.default)(this.props.fields,e.fields)&&(0,b.default)(this.props.form,e.form,{strict:!0})||(this.fields=(0,L.default)(e,this.props,this.fields,this.asyncValidate,t)),(0,b.default)(this.props.initialValues,e.initialValues)||this.props.initialize(e.initialValues,e.fields,this.props.overwriteOnInitialValuesChange||!this.props.form._initialized)},c.prototype.componentWillUnmount=function(){e.destroyOnUnmount&&this.props.destroy()},c.prototype.asyncValidate=function e(t,n){var r=this,o=this.props,i=o.alwaysAsyncValidate,e=o.asyncValidate,a=o.dispatch,s=o.fields,u=o.form,l=o.startAsyncValidation,c=o.stopAsyncValidation,d=o.validate,f=!t;if(e){var p=(0,A.default)(s,u);t&&(p[t]=n);var h=d(p,this.props),m=this.fields._meta.allPristine,g=u._initialized,_=f||(0,C.default)(h[t]);if(i||_&&(f||!m||!g))return(0,N.default)(function(){return e(p,a,r.props)},l,c,t)}},c.prototype.handleSubmit=function(e){var t=this,n=this.props,r=n.onSubmit,o=n.fields,i=n.form,a=function(e){if(!e||\"function\"!=typeof e)throw new Error(\"You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop\");return e};return!e||(0,I.default)(e)?(0,O.default)(a(r),(0,A.default)(o,i),this.props,this.asyncValidate):(0,D.default)(function(){return(0,O.default)(a(e),(0,A.default)(o,i),t.props,t.asyncValidate)})},c.prototype.render=function(){var e,t=this,r=this.fields,a=this.props,s=(a.addArrayValue,a.asyncBlurFields,a.autofill,a.blur,a.change,a.destroy),u=(a.focus,a.fields),c=a.form,d=(a.initialValues,a.initialize),f=(a.onSubmit,a.propNamespace),p=a.reset,h=(a.removeArrayValue,a.returnRejectedSubmitPromise,a.startAsyncValidation,a.startSubmit,a.stopAsyncValidation,a.stopSubmit,a.submitFailed,a.swapArrayValues,a.touch),m=a.untouch,g=(a.validate,i(a,[\"addArrayValue\",\"asyncBlurFields\",\"autofill\",\"blur\",\"change\",\"destroy\",\"focus\",\"fields\",\"form\",\"initialValues\",\"initialize\",\"onSubmit\",\"propNamespace\",\"reset\",\"removeArrayValue\",\"returnRejectedSubmitPromise\",\"startAsyncValidation\",\"startSubmit\",\"stopAsyncValidation\",\"stopSubmit\",\"submitFailed\",\"swapArrayValues\",\"touch\",\"untouch\",\"validate\"])),_=r._meta,b=_.allPristine,y=_.allValid,v=_.errors,M=_.formError,A=_.values,w={active:c._active,asyncValidating:c._asyncValidating,dirty:!b,error:M,errors:v,fields:r,formKey:E,invalid:!y,pristine:b,submitting:c._submitting,submitFailed:c._submitFailed,valid:y,values:A,asyncValidate:(0,D.default)(function(){return t.asyncValidate()}),destroyForm:(0,D.default)(s),handleSubmit:this.handleSubmit,initializeForm:(0,D.default)(function(e){return d(e,u)}),resetForm:(0,D.default)(p),touch:(0,D.default)(function(){return h.apply(void 0,arguments)}),touchAll:(0,D.default)(function(){return h.apply(void 0,u)}),untouch:(0,D.default)(function(){return m.apply(void 0,arguments)}),untouchAll:(0,D.default)(function(){return m.apply(void 0,u)})},C=f?(e={},e[f]=w,e):w;return x?n.createElement(o,l({},l({},g,C),{ref:\"wrappedInstance\"})):n.createElement(o,l({},g,C))},c}(y);z.displayName=\"ReduxForm(\"+(0,m.default)(o)+\")\",z.WrappedComponent=o,z.propTypes={alwaysAsyncValidate:d.default.bool,asyncBlurFields:d.default.arrayOf(d.default.string),asyncValidate:d.default.func,dispatch:d.default.func.isRequired,fields:d.default.arrayOf(d.default.string).isRequired,form:d.default.object,initialValues:d.default.any,onSubmit:d.default.func,onSubmitSuccess:d.default.func,onSubmitFail:d.default.func,overwriteOnInitialValuesChange:d.default.bool.isRequired,propNamespace:d.default.string,readonly:d.default.bool,returnRejectedSubmitPromise:d.default.bool,submitPassback:d.default.func.isRequired,validate:d.default.func,addArrayValue:d.default.func.isRequired,autofill:d.default.func.isRequired,blur:d.default.func.isRequired,change:d.default.func.isRequired,destroy:d.default.func.isRequired,focus:d.default.func.isRequired,initialize:d.default.func.isRequired,removeArrayValue:d.default.func.isRequired,reset:d.default.func.isRequired,startAsyncValidation:d.default.func.isRequired,startSubmit:d.default.func.isRequired,stopAsyncValidation:d.default.func.isRequired,stopSubmit:d.default.func.isRequired,submitFailed:d.default.func.isRequired,swapArrayValues:d.default.func.isRequired,touch:d.default.func.isRequired,untouch:d.default.func.isRequired},z.defaultProps={asyncBlurFields:[],form:g.initialState,readonly:!1,returnRejectedSubmitPromise:!1,validate:function(){return{}}};var j=l({},p,{blur:(0,v.default)(p.blur,{touch:!!e.touchOnBlur}),change:(0,v.default)(p.change,{touch:!!e.touchOnChange})}),F=void 0!==E&&null!==E?r((0,B.default)(c,function(e){var t=T(e,M);if(!t)throw new Error('You need to mount the redux-form reducer at \"'+M+'\"');return t&&t[w]&&t[w][E]}),(0,P.default)(f,(0,v.default)(j,{form:w,key:E})),h,_):r((0,B.default)(c,function(e){var t=T(e,M);if(!t)throw new Error('You need to mount the redux-form reducer at \"'+M+'\"');return t&&t[w]}),(0,P.default)(f,(0,v.default)(j,{form:w})),h,_);return F(z)}};t.default=W},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(5),i=r(o),a=function(){return{active:i.default.string,asyncValidating:i.default.bool.isRequired,autofilled:i.default.bool,dirty:i.default.bool.isRequired,error:i.default.any,errors:i.default.object,fields:i.default.object.isRequired,formKey:i.default.any,invalid:i.default.bool.isRequired,pristine:i.default.bool.isRequired,submitting:i.default.bool.isRequired,submitFailed:i.default.bool.isRequired,valid:i.default.bool.isRequired,values:i.default.object.isRequired,asyncValidate:i.default.func.isRequired,destroyForm:i.default.func.isRequired,handleSubmit:i.default.func.isRequired,initializeForm:i.default.func.isRequired,resetForm:i.default.func.isRequired,touch:i.default.func.isRequired,touchAll:i.default.func.isRequired,untouch:i.default.func.isRequired,untouchAll:i.default.func.isRequired}};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(1619),l=r(u),c=n(1637),d=r(c),f=n(33),p=r(f),h=function(e,t,n){var r=t.Component,u=(0,l.default)(e,t,n);return function(e,n,l,c,f){return function(h){var m=u(h,n,l,c,f),g=f||{},_=g.withRef,b=void 0!==_&&_,y=s({overwriteOnInitialValuesChange:!0,touchOnBlur:!0,touchOnChange:!1,destroyOnUnmount:!0},e),v=function(e){function n(t){o(this,n);var r=i(this,e.call(this,t));return r.handleSubmitPassback=r.handleSubmitPassback.bind(r),r}return a(n,e),n.prototype.getWrappedInstance=function(){return(0,p.default)(b,\"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call.\"),this.refs.wrappedInstance.refs.wrappedInstance.getWrappedInstance().refs.wrappedInstance},n.prototype.handleSubmitPassback=function(e){this.submit=e},n.prototype.render=function(){return b?t.createElement(m,s({},y,this.props,{ref:\"wrappedInstance\",submitPassback:this.handleSubmitPassback})):t.createElement(m,s({},y,this.props,{submitPassback:this.handleSubmitPassback}))},n}(r);return(0,d.default)(v,h)}}};t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(5),c=r(l),d=n(1556),f=r(d),p=n(639),h=r(p),m=n(1616),g=r(m),_=function(e,t,n){return function(r,l,d,p,m){var _=t.Component,b=m||{},y=b.withRef,v=void 0!==y&&y,M=function(c){function h(o){i(this,h);var s=a(this,c.call(this,o));return s.cache=new f.default(s,{ReduxForm:{params:[\"reduxMountPoint\",\"form\",\"formKey\",\"getFormState\"],fn:(0,g.default)(o,e,t,n,r,l,d,p,m)}}),s}return s(h,c),h.prototype.componentWillReceiveProps=function(e){this.cache.componentWillReceiveProps(e)},h.prototype.render=function(){var e=this.cache.get(\"ReduxForm\"),n=this.props,r=(n.reduxMountPoint,n.destroyOnUnmount,n.form,n.getFormState,n.touchOnBlur,n.touchOnChange,o(n,[\"reduxMountPoint\",\"destroyOnUnmount\",\"form\",\"getFormState\",\"touchOnBlur\",\"touchOnChange\"]));return v?t.createElement(e,u({},r,{ref:\"wrappedInstance\"})):t.createElement(e,r)},h}(_);return M.displayName=\"ReduxFormConnector(\"+(0,h.default)(r)+\")\",M.WrappedComponent=r,M.propTypes={destroyOnUnmount:c.default.bool,reduxMountPoint:c.default.string,form:c.default.string.isRequired,formKey:c.default.string,getFormState:c.default.func,touchOnBlur:c.default.bool,touchOnChange:c.default.bool},M.defaultProps={reduxMountPoint:\"form\",getFormState:function(e,t){return e[t]}},M}};t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(636),i=r(o),a=function(e,t,n,r){return function(o){var a=(0,i.default)(o,n);t(e,a),r&&r(e,a)}};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(636),i=r(o),a=function(e,t,n){return function(r){return t(e,(0,i.default)(r,n))}};t.default=a},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(635),o=function(e,t){return function(n){t(e,n.dataTransfer.getData(r.dataKey))}};t.default=o},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e,t){return function(){return t(e)}};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(638),i=r(o),a=function(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(0,i.default)(t)?e.apply(void 0,r):e.apply(void 0,[t].concat(r))}};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(294),i=r(o),a=n(225),s=r(a),u=function(e,t,n,r){var o=n.dispatch,a=n.fields,u=n.onSubmitSuccess,l=n.onSubmitFail,c=n.startSubmit,d=n.stopSubmit,f=n.submitFailed,p=n.returnRejectedSubmitPromise,h=n.touch,m=n.validate,g=m(t,n);if(h.apply(void 0,a),(0,s.default)(g)){var _=function(){var r=e(t,o,n);return(0,i.default)(r)?(c(),r.then(function(e){return d(),u&&u(e),e},function(e){if(d(e),l&&l(e),p)return Promise.reject(e)})):(u&&u(r),r)},b=r();return(0,i.default)(b)?b.then(_,function(){return f(),l&&l(),p?Promise.reject():Promise.resolve()}):_()}if(f(),l&&l(g),p)return Promise.reject(g)};t.default=u},function(e,t){\"use strict\";function n(e,t){if(e===t)return!0;if(\"boolean\"==typeof e||\"boolean\"==typeof t)return e===t;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e&&\"object\"==typeof e){if(!t||\"object\"!=typeof t)return!1;var r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(var i=0;i<o.length;i++){var a=o[i];if(!n(e[a],t[a]))return!1}}else{if(e||t)return e===t;if(null===e&&0===t||0===e&&null===t)return!1}return!0}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){var t=e.indexOf(\".\"),n=e.indexOf(\"[\"),r=e.indexOf(\"]\");if(n>0&&r!==n+1)throw new Error(\"found [ not followed by ]\");var o=n>0&&(t<0||n<t),i=void 0,a=void 0;return o?(i=e.substring(0,n),a=e.substring(r+1),\".\"===a[0]&&(a=a.substring(1))):t>0?(i=e.substring(0,t),a=e.substring(t+1)):i=e,{isArray:o,key:i,nestedPath:a}}function o(e,t,n,i,a,u,l){if(e.isArray){if(e.nestedPath){var c=n&&n[e.key]||[],d=i&&i[e.key]||[],f=r(e.nestedPath);return c.map(function(e,n){return e[f.key]=o(f,t,e,d[n],a,u,l),e})}var p=l[t],h=p(n&&n[e.key],i&&i[e.key],a,u);return e.isArray?h&&h.map(s.makeFieldValue):h}if(e.nestedPath){var m=n&&n[e.key]||{},g=r(e.nestedPath);return m[g.key]=o(g,t,m,i&&i[e.key],a,u,l),m}var _=n&&Object.assign({},n[e.key]||{}),b=l[t];return _.value=b(_.value,i&&i[e.key]&&i[e.key].value,a,u),(0,s.makeFieldValue)(_)}function i(e,t,n,i,s){var u=Object.keys(e).reduce(function(a,u){var l=r(u);return a[l.key]=o(l,u,t,n,i,s,e),a},{});return a({},t,u)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(146)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=e.substring(t+1);return\".\"===n[0]&&(n=n.substring(1)),n}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(1620),s=r(a),u=n(1621),l=r(u),c=n(635),d=r(c),f=n(1622),p=r(f),h=n(1623),m=r(h),g=n(1633),_=r(g),b=n(644),y=r(b),v=n(1634),M=r(v),A=n(643),w=r(A),C=function(e){var t=e.indexOf(\".\"),n=e.indexOf(\"[\");return n>0&&(t<0||n<t)?e.substring(0,n):t>0?e.substring(0,t):e},E=function(e,t){return~t.indexOf(e.replace(/\\[[0-9]+\\]/g,\"[]\"))},L=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",a=arguments[3],u=arguments[4],c=arguments[5],f=arguments[6],h=arguments[7],g=arguments.length>8&&void 0!==arguments[8]?arguments[8]:function(){return null},b=arguments.length>9&&void 0!==arguments[9]?arguments[9]:\"\",v=h.asyncBlurFields,A=h.autofill,L=h.blur,T=h.change,O=h.focus,S=h.form,N=h.initialValues,k=h.readonly,D=h.addArrayValue,x=h.removeArrayValue,I=h.swapArrayValues,z=n.indexOf(\".\"),P=n.indexOf(\"[\"),j=n.indexOf(\"]\");if(P>0&&j!==P+1)throw new Error(\"found [ not followed by ]\");if(P>0&&(z<0||P<z)){var B=n.substring(0,P),F=o(n,j),R=t&&t[B]||[],W=b+n.substring(0,j+1),Y=h.fields.reduce(function(e,t){return 0===t.indexOf(W)&&e.push(t),e},[]).map(function(e){return o(e,b.length+j)}),H=function(e){return Object.defineProperty(e,\"addField\",{value:function(e,t){return D(r+B,e,t,Y)}}),Object.defineProperty(e,\"removeField\",{value:function(e){return x(r+B,e)}}),Object.defineProperty(e,\"swapFields\",{value:function(e,t){return I(r+B,e,t)}}),e};a[B]&&a[B].length===R.length||(a[B]=a[B]?[].concat(a[B]):[],H(a[B]));var q=a[B],U=!1;return R.forEach(function(t,n){F&&!q[n]&&(q[n]={},U=!0);var o=F?q[n]:{},a=\"\"+r+B+\"[\"+n+\"]\"+(F?\".\":\"\"),s=\"\"+b+B+\"[]\"+(F?\".\":\"\"),l=e(t,F,a,o,u,c,f,h,g,s);q[n]!==l&&(F&&(l=i({},o)),q[n]=l,U=!0)}),q.length>R.length&&q.splice(R.length,q.length-R.length),U&&(q=H([].concat(q))),a[B]=q,q}if(z>0){var X=n.substring(0,z),V=n.substring(z+1),G=a[X]||{},$=r+X+\".\",K=C(V),Q=b+X+\".\",Z=G[K],J=e(t[X]||{},V,$,G,u,c,f,h,g,Q);if(J!==Z){var ee;G=i({},G,(ee={},ee[K]=J,ee))}return a[X]=G,G}var te=r+n,ne=a[n]||{};if(ne.name!==te){var re=(0,l.default)(te,T,f),oe=(0,y.default)(te+\".initial\",S),ie=oe||(0,y.default)(te,N);ie=void 0===ie?\"\":ie,ne.name=te,ne.checked=(0,w.default)(ie),ne.value=ie,ne.initialValue=ie,k||(ne.autofill=function(e){return A(te,e)},ne.onBlur=(0,s.default)(te,L,f,E(te,v)&&function(e,t){return(0,_.default)(c(e,t))}),ne.onChange=re,ne.onDragStart=(0,d.default)(te,function(){return ne.value}),ne.onDrop=(0,p.default)(te,T),ne.onFocus=(0,m.default)(te,O),ne.onUpdate=re),ne.valid=!0,ne.invalid=!1,Object.defineProperty(ne,\"_isField\",{value:!0})}var ae=(n?t[n]:t)||{},se=(0,y.default)(te,u),ue=(0,M.default)(ne,ae,te===S._active,se);return(n||a[n]!==ue)&&(a[n]=ue),g(ue),ue};t.default=L},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1628),a=r(i),s=n(645),u=r(s),l=n(640),c=r(l),d=n(1630),f=r(d),p=function(e,t,n,r,i){var s=e.fields,l=e.form,d=e.validate,p=t.fields,h=(0,c.default)(s,l),m=d(h,e)||{},g={},_=m._error||l._error,b=!_,y=!0,v=function(e){e.error&&(g=(0,u.default)(e.name,e.error,g),b=!1),e.dirty&&(y=!1)},M=p?p.reduce(function(e,t){return~s.indexOf(t)?e:(0,f.default)(e,t)},o({},n)):o({},n);return s.forEach(function(t){(0,a.default)(l,t,void 0,M,m,r,i,e,v)}),Object.defineProperty(M,\"_meta\",{value:{allPristine:y,allValid:b,values:h,errors:g,formError:_}}),M};t.default=p},function(e,t){\"use strict\";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r=function(e,t){var r=n({},e);return delete r[t],r},o=function e(t,o){var i=o.indexOf(\".\"),a=o.indexOf(\"[\"),s=o.indexOf(\"]\");if(a>0&&s!==a+1)throw new Error(\"found [ not followed by ]\");if(a>0&&(i<0||a<i)){var u=o.substring(0,a);if(!Array.isArray(t[u]))return r(t,u);var l=o.substring(s+1);if(\".\"===l[0]&&(l=l.substring(1)),l){var c,d=[];return t[u].forEach(function(t,n){var r=e(t,l);Object.keys(r).length&&(d[n]=r)}),d.length?n({},t,(c={},c[u]=d,c)):r(t,u)}return r(t,u)}if(i>0){var f,p=o.substring(0,i),h=o.substring(i+1);if(!t[p])return t;var m=e(t[p],h);return Object.keys(m).length?n({},t,(f={},f[p]=e(t[p],h),f)):r(t,p)}return r(t,o)};t.default=o},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(146),o=function(e){return(0,r.makeFieldValue)(void 0===e||e&&void 0===e.initial?{}:{initial:e.initial,value:e.initial})},i=function e(t){return t?Object.keys(t).reduce(function(n,i){var a=t[i];return Array.isArray(a)?n[i]=a.map(function(t){return(0,r.isFieldValue)(t)?o(t):e(t)}):a&&((0,r.isFieldValue)(a)?n[i]=o(a):\"object\"==typeof a&&null!==a?n[i]=e(a):n[i]=a),n},{}):t};t.default=i},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(146),i=function(e){return\"_\"===e[0]},a=function e(t,n,a){var s=function(){if(Array.isArray(t))return t.map(function(t,r){return e(t,n&&n[r],a)});if(t&&\"object\"==typeof t){var s=Object.keys(t).reduce(function(o,s){var u;return i(s)?o:r({},o,(u={},u[s]=e(t[s],n&&n[s],a),u))},t);return(0,o.isFieldValue)(t)&&(0,o.makeFieldValue)(s),s}return(0,o.makeFieldValue)(t)};if(\"undefined\"!=typeof File&&t instanceof File)return t;if(!n){if(!t)return t;if(t[a]){var u=r({},t);return delete u[a],(0,o.makeFieldValue)(u)}return s()}if(\"string\"==typeof n){var l;return(0,o.makeFieldValue)(r({},t,(l={},l[a]=n,l)))}if(Array.isArray(n)){if(!t||Array.isArray(t)){var c=(t||[]).map(function(t,r){return e(t,n[r],a)});return n.forEach(function(t,n){return c[n]=e(c[n],t,a)}),c}return e(t,n[0],a)}if((0,o.isFieldValue)(t)){var d;return(0,o.makeFieldValue)(r({},t,(d={},d[a]=n,d)))}var f=Object.keys(n);return f.length||t?f.reduce(function(o,s){var u;return i(s)?o:r({},o,(u={},u[s]=e(t&&t[s],n[s],a),u))},s()||{}):t};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(294),i=r(o),a=function(){},s=function(e){return(0,i.default)(e)?e.then(a,a):e};t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1626),a=r(i),s=n(225),u=r(s),l=n(643),c=r(l),d=function(e,t,n,r){var i={},s=void 0===t.value?\"\":t.value;e.value!==s&&(i.value=s,i.checked=(0,c.default)(s));var l=(0,a.default)(s,t.initial);e.pristine!==l&&(i.dirty=!l,i.pristine=l);var d=r||t.submitError||t.asyncError;d!==e.error&&(i.error=d);var f=(0,u.default)(d);e.valid!==f&&(i.invalid=!f,i.valid=f),n!==e.active&&(i.active=n);var p=!!t.touched;p!==e.touched&&(i.touched=p);var h=!!t.visited;h!==e.visited&&(i.visited=h);var m=!!t.autofilled;return m!==e.autofilled&&(i.autofilled=m),\"initial\"in t&&t.initial!==e.initialValue&&(e.initialValue=t.initial),Object.keys(i).length?o({},e,i):e};t.default=d},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(36),i=function(e,t){return e?\"function\"==typeof e?e.length>1?function(n,i){return r({dispatch:n},e(n,i),(0,o.bindActionCreators)(t,n))}:function(n){return r({dispatch:n},e(n),(0,o.bindActionCreators)(t,n))}:function(n){return r({dispatch:n},(0,o.bindActionCreators)(e,n),(0,o.bindActionCreators)(t,n))}:function(e){return r({dispatch:e},(0,o.bindActionCreators)(t,e))}};t.default=i},function(e,t){\"use strict\";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r=function(e,t){if(e){if(\"function\"!=typeof e)throw new Error(\"mapStateToProps must be a function\");\nreturn e.length>1?function(r,o){return n({},e(r,o),{form:t(r)})}:function(r){return n({},e(r),{form:t(r)})}}return function(e){return{form:t(e)}}};t.default=r},1598,function(e,t){\"use strict\";function n(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(o){return\"function\"==typeof o?o(n,r,e):t(o)}}}}t.__esModule=!0;var r=n();r.withExtraArgument=n,t.default=r},function(e,t,n){(function(t,n){!function(t){\"use strict\";function r(e,t,n,r){var o=t&&t.prototype instanceof i?t:i,a=Object.create(o.prototype),s=new h(r||[]);return a._invoke=d(e,n,s),a}function o(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}function i(){}function a(){}function s(){}function u(e){[\"next\",\"throw\",\"return\"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function l(e){this.arg=e}function c(e){function t(n,r,i,a){var s=o(e[n],e,r);if(\"throw\"!==s.type){var u=s.arg,c=u.value;return c instanceof l?Promise.resolve(c.arg).then(function(e){t(\"next\",e,i,a)},function(e){t(\"throw\",e,i,a)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},a)}a(s.arg)}function r(e,n){function r(){return new Promise(function(r,o){t(e,n,r,o)})}return i=i?i.then(r,r):r()}\"object\"==typeof n&&n.domain&&(t=n.domain.bind(t));var i;this._invoke=r}function d(e,t,n){var r=C;return function(i,a){if(r===L)throw new Error(\"Generator is already running\");if(r===T){if(\"throw\"===i)throw a;return g()}for(;;){var s=n.delegate;if(s){if(\"return\"===i||\"throw\"===i&&s.iterator[i]===_){n.delegate=null;var u=s.iterator.return;if(u){var l=o(u,s.iterator,a);if(\"throw\"===l.type){i=\"throw\",a=l.arg;continue}}if(\"return\"===i)continue}var l=o(s.iterator[i],s.iterator,a);if(\"throw\"===l.type){n.delegate=null,i=\"throw\",a=l.arg;continue}i=\"next\",a=_;var c=l.arg;if(!c.done)return r=E,c;n[s.resultName]=c.value,n.next=s.nextLoc,n.delegate=null}if(\"next\"===i)n.sent=n._sent=a;else if(\"throw\"===i){if(r===C)throw r=T,a;n.dispatchException(a)&&(i=\"next\",a=_)}else\"return\"===i&&n.abrupt(\"return\",a);r=L;var l=o(e,t,n);if(\"normal\"===l.type){r=n.done?T:E;var c={value:l.arg,done:n.done};if(l.arg!==O)return c;n.delegate&&\"next\"===i&&(a=_)}else\"throw\"===l.type&&(r=T,i=\"throw\",a=l.arg)}}}function f(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 p(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(f,this),this.reset(!0)}function m(e){if(e){var t=e[v];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(b.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=_,t.done=!0,t};return r.next=r}}return{next:g}}function g(){return{value:_,done:!0}}var _,b=Object.prototype.hasOwnProperty,y=\"function\"==typeof Symbol?Symbol:{},v=y.iterator||\"@@iterator\",M=y.toStringTag||\"@@toStringTag\",A=\"object\"==typeof e,w=t.regeneratorRuntime;if(w)return void(A&&(e.exports=w));w=t.regeneratorRuntime=A?e.exports:{},w.wrap=r;var C=\"suspendedStart\",E=\"suspendedYield\",L=\"executing\",T=\"completed\",O={},S=s.prototype=i.prototype;a.prototype=S.constructor=s,s.constructor=a,s[M]=a.displayName=\"GeneratorFunction\",w.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===a||\"GeneratorFunction\"===(t.displayName||t.name))},w.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,M in e||(e[M]=\"GeneratorFunction\")),e.prototype=Object.create(S),e},w.awrap=function(e){return new l(e)},u(c.prototype),w.async=function(e,t,n,o){var i=new c(r(e,t,n,o));return w.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},u(S),S[v]=function(){return this},S[M]=\"Generator\",S.toString=function(){return\"[object Generator]\"},w.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},w.values=m,h.prototype={constructor:h,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=_,this.done=!1,this.delegate=null,this.tryEntries.forEach(p),!e)for(var t in this)\"t\"===t.charAt(0)&&b.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=_)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return i.type=\"throw\",i.arg=e,n.next=t,!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if(\"root\"===o.tryLoc)return t(\"end\");if(o.tryLoc<=this.prev){var a=b.call(o,\"catchLoc\"),s=b.call(o,\"finallyLoc\");if(a&&s){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!s)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&b.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===e||\"continue\"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?this.next=o.finallyLoc:this.complete(i),O},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=e.arg,this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t)},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),O}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;p(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,n){return this.delegate={iterator:m(e),resultName:t,nextLoc:n},O}}}(\"object\"==typeof t?t:\"object\"==typeof window?window:\"object\"==typeof self?self:this)}).call(t,function(){return this}(),n(135))},function(e,t){\"use strict\";function n(e,t){return e===t}function r(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,o=0;o<r;o++)if(!e(t[o],n[o]))return!1;return!0}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,o=null,i=null;return function(){return r(t,o,arguments)||(i=e.apply(null,arguments)),o=arguments,i}}function i(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every(function(e){return\"function\"==typeof e})){var n=t.map(function(e){return typeof e}).join(\", \");throw new Error(\"Selector creators expect all input-selectors to be functions, \"+(\"instead received the following types: [\"+n+\"]\"))}return t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=Array(t),a=0;a<t;a++)r[a]=arguments[a];var s=0,u=r.pop(),l=i(r),c=e.apply(void 0,[function(){return s++,u.apply(null,arguments)}].concat(n)),d=o(function(){for(var e=[],t=l.length,n=0;n<t;n++)e.push(l[n].apply(null,arguments));return c.apply(null,e)});return d.resultFunc=u,d.recomputations=function(){return s},d.resetRecomputations=function(){return s=0},d}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;if(\"object\"!=typeof e)throw new Error(\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof e);var n=Object.keys(e);return t(n.map(function(t){return e[t]}),function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t,r){return e[n[r]]=t,e},{})})}t.__esModule=!0,t.defaultMemoize=o,t.createSelectorCreator=a,t.createStructuredSelector=s;var u=t.createSelector=a(o)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var i=n(1642),a=r(i),s=n(1643),u=r(s),l=n(1644),c=r(l),d=n(1645),f=r(d),p=n(1646),h=r(p),m=n(90),g=n(290),_=n(33),b=r(_),y=\"s/\",v=2,M=function(){function e(t,n,r){var i=this;o(this,e),this._onWindowScroll=function(){if(null===i._saveWindowPositionHandle&&(i._saveWindowPositionHandle=(0,h.default)(i._saveWindowPosition)),i._windowScrollTarget){var e=i._windowScrollTarget,t=e[0],n=e[1],r=(0,c.default)(window),o=(0,f.default)(window);r===t&&o===n&&(i._windowScrollTarget=null,i._cancelCheckWindowScroll())}},this._saveWindowPosition=function(){i._saveWindowPositionHandle=null,i._savePosition(null,window)},this._checkWindowScrollPosition=function(){if(i._checkWindowScrollHandle=null,i._windowScrollTarget){var e=i._windowScrollTarget,t=e[0],n=e[1];return window.scrollTo(t,n),++i._numWindowScrollAttempts,i._numWindowScrollAttempts>=v?void(i._windowScrollTarget=null):void(i._checkWindowScrollHandle=(0,h.default)(i._checkWindowScrollPosition))}},this._history=t,this._getCurrentLocation=n,this._shouldUpdateScroll=r,\"scrollRestoration\"in window.history?(this._oldScrollRestoration=window.history.scrollRestoration,window.history.scrollRestoration=\"manual\"):this._oldScrollRestoration=null,this._saveWindowPositionHandle=null,this._checkWindowScrollHandle=null,this._windowScrollTarget=null,this._numWindowScrollAttempts=0,this._scrollElements={},(0,u.default)(window,\"scroll\",this._onWindowScroll),this._unlistenBefore=t.listenBefore(function(){null!==i._saveWindowPositionHandle&&(h.default.cancel(i._saveWindowPositionHandle),i._saveWindowPositionHandle=null),Object.keys(i._scrollElements).forEach(function(e){i._saveElementPosition(e)})})}return e.prototype.stop=function(){this._oldScrollRestoration&&(window.history.scrollRestoration=this._oldScrollRestoration),(0,a.default)(window,\"scroll\",this._onWindowScroll),this._cancelCheckWindowScroll(),this._unlistenBefore()},e.prototype.registerElement=function(e,t,n,r){this._scrollElements[e]?(0,b.default)(!1):void 0,this._scrollElements[e]={element:t,shouldUpdateScroll:n},this._updateElementScroll(e,null,r)},e.prototype.unregisterElement=function(e){this._scrollElements[e]?void 0:(0,b.default)(!1),delete this._scrollElements[e]},e.prototype.updateScroll=function(e,t){var n=this;this._updateWindowScroll(e,t),Object.keys(this._scrollElements).forEach(function(r){n._updateElementScroll(r,e,t)})},e.prototype.readPosition=function(e,t){return(0,g.readState)(this._getKey(e,t))},e.prototype._cancelCheckWindowScroll=function(){null!==this._checkWindowScrollHandle&&(h.default.cancel(this._checkWindowScrollHandle),this._checkWindowScrollHandle=null)},e.prototype._saveElementPosition=function(e){var t=this._scrollElements[e].element;this._savePosition(e,t)},e.prototype._savePosition=function(e,t){(0,g.saveState)(this._getKey(this._getCurrentLocation(),e),[(0,c.default)(t),(0,f.default)(t)])},e.prototype._getKey=function(e,t){var n=e.key||this._history.createHref(e);return null==t?\"\"+y+n:\"\"+y+t+\"/\"+n},e.prototype._updateWindowScroll=function(e,t){this._cancelCheckWindowScroll(),this._windowScrollTarget=this._getScrollTarget(null,this._shouldUpdateScroll,e,t),this._onWindowScroll(),this._windowScrollTarget&&(this._numWindowScrollAttempts=0,this._checkWindowScrollPosition())},e.prototype._updateElementScroll=function(e,t,n){var r=this._scrollElements[e],o=r.element,i=r.shouldUpdateScroll,a=this._getScrollTarget(e,i,t,n);if(a){var s=a[0],u=a[1];(0,c.default)(o,s),(0,f.default)(o,u)}},e.prototype._getScrollTarget=function(e,t,n,r){var o=!t||t.call(this,n,r);if(!o||Array.isArray(o))return o;var i=this._getCurrentLocation();return i.action===m.PUSH?[0,0]:this.readPosition(i,e)||[0,0]},e}();t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";var r=n(337),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent(\"on\"+t,n)}:void 0}()),e.exports=o},function(e,t,n){\"use strict\";var r=n(337),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent(\"on\"+t,n)}:void 0}()),e.exports=o},function(e,t,n){\"use strict\";var r=n(646);e.exports=function(e,t){var n=r(e);return void 0===t?n?\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft:e.scrollLeft:void(n?n.scrollTo(t,\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop):e.scrollLeft=t)}},function(e,t,n){\"use strict\";var r=n(646);e.exports=function(e,t){var n=r(e);return void 0===t?n?\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop:e.scrollTop:void(n?n.scrollTo(\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft,t):e.scrollTop=t)}},function(e,t,n){\"use strict\";function r(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-c)),r=setTimeout(e,n);return c=t,r}var o,i=n(337),a=[\"\",\"webkit\",\"moz\",\"o\",\"ms\"],s=\"clearTimeout\",u=r,l=function(e,t){return e+(e?t[0].toUpperCase()+t.substr(1):t)+\"AnimationFrame\"};i&&a.some(function(e){var t=l(e,\"request\");if(t in window)return s=l(e,\"cancel\"),u=function(e){return window[t](e)}});var c=(new Date).getTime();o=function(e){return u(e)},o.cancel=function(e){return window[s](e)},e.exports=o},function(e,t){\"use strict\";var n=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}();e.exports=function(e){function t(e){for(null===e?e=0:e++;e<s.length&&0===s[e];)e++;return e===s.length?null:e}function r(e){for(null===e?e=s.length-1:e--;e>=0&&0===s[e];)e--;return e===-1?null:e}function o(e){var r=n(e,2),o=r[0],i=r[1];return u?null===i||i===s[o]-1?(o=t(o),null===o?[null,null]:[o,0]):[o,i+1]:0===s||i===s-1?[null,null]:null===i?[null,0]:[null,i+1]}function i(e){var t=n(e,2),o=t[0],i=t[1];return u?null===i||0===i?(o=r(o),null===o?[null,null]:[o,s[o]-1]):[o,i-1]:0===s||0===i?[null,null]:null===i?[null,s-1]:[null,i-1]}function a(e){return null===o(e)[1]}var s=e.data,u=e.multiSection;return{next:o,prev:i,isLast:a}}},function(e,t,n){var t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+\" is not supported (we accept pull requests)\");return new n};t.sha=n(1649),t.sha1=n(1650),t.sha224=n(1651),t.sha256=n(647),t.sha384=n(1652),t.sha512=n(648)},function(e,t,n){function r(){this.init(),this._w=d,u.call(this,64,56)}function o(e){return e<<5|e>>>27}function i(e){return e<<30|e>>>2}function a(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}var s=n(109),u=n(147),l=n(114).Buffer,c=[1518500249,1859775393,-1894007588,-899497514],d=new Array(80);s(r,u),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},r.prototype._update=function(e){for(var t=this._w,n=0|this._a,r=0|this._b,s=0|this._c,u=0|this._d,l=0|this._e,d=0;d<16;++d)t[d]=e.readInt32BE(4*d);for(;d<80;++d)t[d]=t[d-3]^t[d-8]^t[d-14]^t[d-16];for(var f=0;f<80;++f){var p=~~(f/20),h=o(n)+a(p,r,s,u)+l+t[f]+c[p]|0;l=u,u=s,s=i(r),r=n,n=h}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=u+this._d|0,this._e=l+this._e|0},r.prototype._hash=function(){var e=l.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=f,l.call(this,64,56)}function o(e){return e<<1|e>>>31}function i(e){return e<<5|e>>>27}function a(e){return e<<30|e>>>2}function s(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}var u=n(109),l=n(147),c=n(114).Buffer,d=[1518500249,1859775393,-1894007588,-899497514],f=new Array(80);u(r,l),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},r.prototype._update=function(e){for(var t=this._w,n=0|this._a,r=0|this._b,u=0|this._c,l=0|this._d,c=0|this._e,f=0;f<16;++f)t[f]=e.readInt32BE(4*f);for(;f<80;++f)t[f]=o(t[f-3]^t[f-8]^t[f-14]^t[f-16]);for(var p=0;p<80;++p){var h=~~(p/20),m=i(n)+s(h,r,u,l)+c+t[p]+d[h]|0;c=l,l=u,u=a(r),r=n,n=m}this._a=n+this._a|0,this._b=r+this._b|0,this._c=u+this._c|0,this._d=l+this._d|0,this._e=c+this._e|0},r.prototype._hash=function(){var e=c.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=u,a.call(this,64,56)}var o=n(109),i=n(647),a=n(147),s=n(114).Buffer,u=new Array(64);o(r,i),r.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},r.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=u,a.call(this,128,112)}var o=n(109),i=n(648),a=n(147),s=n(114).Buffer,u=new Array(160);o(r,i),r.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},r.prototype._hash=function(){function e(e,n,r){t.writeInt32BE(e,r),t.writeInt32BE(n,r+4)}var t=s.allocUnsafe(48);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},e.exports=r},function(e,t){e.exports=function(e,t){if(e===t)return!0;var n=e.length;if(t.length!==n)return!1;for(var r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}},function(e,t){\"use strict\";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()})}},function(e,t){String.prototype.repeat||!function(){\"use strict\";var e=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),t=function(e){if(null==this)throw TypeError();var t=String(this),n=e?Number(e):0;if(n!=n&&(n=0),n<0||n==1/0)throw RangeError();for(var r=\"\";n;)n%2==1&&(r+=t),n>1&&(t+=t),n>>=1;return r};e?e(String.prototype,\"repeat\",{value:t,configurable:!0,writable:!0}):String.prototype.repeat=t}()},function(e,t,n){(function(e,r){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i,a=n(1657),s=o(a);i=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof e?e:r;var u=(0,s.default)(i);t.default=u}).call(t,function(){return this}(),n(227)(e))},function(e,t){\"use strict\";function n(e){var t,n=e.Symbol;return\"function\"==typeof n?n.observable?t=n.observable:(t=n(\"observable\"),n.observable=t):t=\"@@observable\",t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){function n(r,o){function u(e,n){var r=m.getLinkName(e),i=this.props[o[e]];r&&c(this.props,r)&&!i&&(i=this.props[r].requestChange);for(var a=arguments.length,s=Array(a>2?a-2:0),u=2;u<a;u++)s[u-2]=arguments[u];t(this,e,i,n,s)}function c(e,t){return void 0!==e[t]}function f(e){var t={};return m.each(e,function(e,n){w.indexOf(n)===-1&&(t[n]=e)}),t}var h,g,_,b=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],y=r.displayName||r.name||\"Component\",v=m.getType(r).propTypes,M=m.isReactComponent(r),A=Object.keys(o),w=[\"valueLink\",\"checkedLink\"].concat(A.map(m.defaultKey));_=m.uncontrolledPropTypes(o,v,y),(0,p.default)(M||!b.length,\"[uncontrollable] stateless function components cannot pass through methods because they have no associated instances. Check component: \"+y+\", attempting to pass through methods: \"+b.join(\", \")),b=m.transform(b,function(e,t){e[t]=function(){var e;return(e=this.refs.inner)[t].apply(e,arguments)}},{});var C=(g=h=function(t){function n(){return i(this,n),a(this,t.apply(this,arguments))}return s(n,t),n.prototype.shouldComponentUpdate=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return!e.shouldComponentUpdate||e.shouldComponentUpdate.apply(this,n)},n.prototype.componentWillMount=function(){var e=this,t=this.props;this._values={},A.forEach(function(n){e._values[n]=t[m.defaultKey(n)]})},n.prototype.componentWillReceiveProps=function(t){var n=this,r=this.props;e.componentWillReceiveProps&&e.componentWillReceiveProps.call(this,t),A.forEach(function(e){void 0===m.getValue(t,e)&&void 0!==m.getValue(r,e)&&(n._values[e]=t[m.defaultKey(e)])})},n.prototype.componentWillUnmount=function(){this.unmounted=!0},n.prototype.getControlledInstance=function(){return this.refs.inner},n.prototype.render=function(){var e=this,t={},n=f(this.props);return m.each(o,function(n,r){var o=m.getLinkName(r),i=e.props[r];o&&!c(e.props,r)&&c(e.props,o)&&(i=e.props[o].value),t[r]=void 0!==i?i:e._values[r],t[n]=u.bind(e,r)}),t=l({},n,t,{ref:M?\"inner\":null}),d.default.createElement(r,t)},n}(d.default.Component),h.displayName=\"Uncontrolled(\"+y+\")\",h.propTypes=_,g);return l(C.prototype,b),C.ControlledComponent=r,C.deferControlTo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];return n(e,l({},o,t),r)},C}return n}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=u;var c=n(1),d=o(c),f=n(33),p=o(f),h=n(1659),m=r(h);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r={};return r}function i(e){return b[0]>=15||0===b[0]&&b[1]>=13?e:e.type}function a(e,t){var n=u(t);return n&&!s(e,t)&&s(e,n)?e[n].value:e[t]}function s(e,t){return void 0!==e[t]}function u(e){return\"value\"===e?\"valueLink\":\"checked\"===e?\"checkedLink\":null}function l(e){return\"default\"+e.charAt(0).toUpperCase()+e.substr(1)}function c(e,t,n){return function(){for(var r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];t&&t.call.apply(t,[e].concat(o)),n&&n.call.apply(n,[e].concat(o))}}function d(e,t,n){return f(e,t.bind(null,n=n||(Array.isArray(e)?[]:{}))),n}function f(e,t,n){if(Array.isArray(e))return e.forEach(t,n);for(var r in e)p(e,r)&&t.call(n,e[r],r,e)}function p(e,t){return!!e&&Object.prototype.hasOwnProperty.call(e,t)}function h(e){return!!(e&&e.prototype&&e.prototype.isReactComponent)}t.__esModule=!0,t.version=void 0,t.uncontrolledPropTypes=o,t.getType=i,t.getValue=a,t.getLinkName=u,t.defaultKey=l,t.chain=c,t.transform=d,t.each=f,t.has=p,t.isReactComponent=h;var m=n(1),g=r(m),_=n(33),b=(r(_),t.version=g.default.version.split(\".\").map(parseFloat))},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAAAXNSR0IArs4c6QAAAVtJREFUKBWVkD9LA0EQxXfuEq1TCJaCKVQQS4mgUSKYTxDCwV0qC8XG0kbwGwiCQkAIucRcgqWQC2KhNpY2FoJYaSFaWV9unLfxovkn+Iq9ebu/ebs3Sv1Hruc7lcbl/F89BiBFqsRhcH123poZBRtEFJNDUkSJoB3ejIIJCa7X2lLEx6hZ8bs0L9m57BN8JAOFnd84UUzbqCV6gplv3YafhI+kQRjAzGoXtcCTgGu15hQ81AVhnHz2kJj3UAMODNWF9Rtx8Ftlzz8gUvudPX6hGKeGggAEvhN4UcPMVxjNgGS2R3J3BD2HxlhhIPEb2tHdzIBWCrnMa09iue4XBdjsXMGPZhhP2/nMG7yJRUZB03OposT/QO142rLWNQRGpsFUqbdK8ian06QeYuH4qmWtfcBHMpOzKTxcJ8nAh0KADdGp3P0p9b3ZDpb7k6JE/ZU/XahWLxI9m33mC4VShVyqSaDPAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA01JREFUaAXtWMuRGjEUXCgfgMuSAWwEwBE47GTgcQSwETCOwJuBIQJDBLARGA7AEYhghwyWC3ACd48ftRRmND/p4CqpSkijp093P+nNiIcHm6wCVgGrgFXAKmAVsApYBawCVgGrQBoFcmkGJRmzXC6r5/O5h+zkcrk6x6K+Rn2KPGg2m36S+ZL2NUpwsVh4IPMDRMoKYF6r1Roo7JlMxgiCXB/IeoJuh3JCr/EZpOnJLvIjMp+H7Xb7hXXdyQhBkHMBdCxgZ8Vi0W00Gh/X4FerVflwOFCEjrR/gycn13101E0R9AGuAs9s4Jm6CijEmML+jOyD4BNKrSmvdTZMNp/PSajCefP5vMdSlbBtu2KviudV3RPbtBMEAldQbBEhp1GIJIpu2U/OZtSQRHYTBC8A/EslRpmkb4zpPruYJBhs08+lwmvwXDncms2inSDO1FogVfmSj4LHPhhTY7+rsVHDYtu1E5RQz/cez9TPKCSn06kvfXZ4nUyj+ie1aycoAF6ldBFVf4WBgu0VXvtKO8To374rw8YlaTfyHiQAhPwhig7rSD4yPRVsX5CqwnMeyjramGbwvBPUNP8YI0icNyTDoI+wNT0T3uOCRglyAQQRR7wVbEW2MWFLvuFDoB/nXfl3xH/wy+/POJFVJxWjHpQP6hrOmkPQ8Fpw5vAcnEV4dg0vbkzeCbUTFFIdkOleBRGlU9DX2AVYK0GGfTDpgVj5htEWz/5NWxXP/3ztgOywVCp91xV0tBDkDQKkxgBM0Jc0Qtu0UChMVGDlBuFgUBf5EZlb+QNjX3TcDzMTlCg5BqCL1waoMzr6BBs3cWvv93u+Gz2MCYiSJOYZxp3jXr9MBMVzK5l4B0Bu1rDPKIvgM8FcNZk3000/NUFR/DeA1AGE5OpJvXZPcbZJoFqjWuF2xZl8Um3zsHnYnvpb9Hg8ukKOtwB6zlctlMRGMpizyzEo+d9NUOdz0pSaILaRy8Wg8FvWbXkPNOfE3BtZ4/JNe6+rsu2L0qowQlmHZpTviITPiq5ZTO8YzA8FHoNUKTVBrDZBprKeZBTG0iztzKm3KG8AWHSEHFxu0wKIGscjwP9Vo/pZu1XAKmAVsApYBawCVgGrgFXAKmAV0KvAH/rLLOXj7HrbAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABJBJREFUaAXtmM1VG0kQxyWeD3CyMtjZCIyOwIEhAuMMZiOwiMDOwGSAMrAcgYYDcBREwJCBdAFO4P+vXcUby2BmesbrS9d7TVVXV9d3d48YDBKkDKQMpAykDKQMpAykDKQMpAykDKQMxGRgGLOp6Z6zs7PtjY2N94+Pj7nGaDgcbrNX9KXopUb58PDwbW9v77KpzrZyfyTA8/PzQznyRSNr6FAluaPd3d1ZQ/nGYr0GeHFxkak6J7Ke1zxYiZ6JX6maFXxVLVP1MpEk4q2GQyn+fzs7O5UzuuLeAqQd5cxcDo7MqVPRn+Vs+TsnrdoTyewjp0QshQ76atteAiQ4BbPAQQEVK9bbbbFYjO7u7t4hsLW1dTUejwnkCVT9QsEdixEqKnrcR5AbTxYiCdpSW+e2fSXHcg+ONavQ4P7+flsyJcPoAWuSycUbqNJT9ookQcDcdP+YRf7tHKCcmlpbhuA86zivtWuNE6q37h881jQIpGCdvZrnIlfoZB1+F+gUoFUnnB05NPHgcEjzS8NDKsZZVGWHDOjb21suGq9WiSxgOj6HiS4r7wCb/79IxiuNR43SLVMNrxjt57Sv1zFryMATztgLDaDTdF8HRuSf6EumfrGoEgdUBWdpOY2lnoQP8Jr45fuQla5/tY/EHWr6FZ70RV84XVoUB4BVLZAMBq23ubkZWpT5a2CytCvneBt5u6i8hd3Wa6p+WY8OUEHkpm3mWhXolApoFOvPgMs8h5HVnkM9H5nfwHXdWsuf29eE96aJ0HMyyvRIhmmfinXOE++c5mS/hNcG6AJalXPn7yS6zUZ4G9voc9noAGU4PNr++WVv29wUR51tBRT2S9eB9JSysUSfcGhb090KRbdoKyt/UTi6gsr2FVXkwxn/uSgs89HhSB+VC7rAsuHH4Ip5DEQHWGufDMN2qZScRZ6Q+qPfxDHOH0mqX06ykbHXbUG3hegWVXZLjAm/d6M4qYtmIYfC++X81zBJUSd81dfNtXQUNfnwPLitGr8xGR2gLITnQcE8fY2Y1Uw4s4faWL9HXFDSA4wkWSJt+/32DLbgt4XoAK0FbzCoDH8C24N/pPmY94yKUh3WXgJk2KfgCLL+Y3die27atnvd1rA+aUvXP6fMuanrkOOZ2o52Xdpa6WtgAlMiTjRGemrGCrLydekluC82/7D2+LtYI9wpQCzImVJoX44uhZ9+iSuAQrwT8VZ8odCGmod3TgEfcKHovFZaf1tPztp/Bk4VXC6ZaIhuUbco5wrR4feb8Nwc9B+wY61P6jej77PPswnBqnpT+GvBobOA3wU6VxDjOCZnFtBUUi135E7DAziLVBF6/TmAR1tq7yfpGTEXHf0Lgv0OvQSIMguyFOk3Xyknj3VBfGP9JbBz/FHrucn89J+Bl/Y15fcWIAa5WBTUVOQ+c0BzzubMvlkreAIuoEz40CsGU3CqeVG/cH6w4//2GqC7YVU51vwf572Cb7Q+6XJbvqT/jwToxuzSoEq5KjkSfseaaL5jl8KlprMu7xz6EqQMpAykDKQMpAykDKQMpAykDKQMpAz0n4HvsENe7ajDHv0AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAXdJREFUaAXtmLFygzAMhgPXAabmTRJGYCh5oz5K36hkAEaSN0kmmHAlDnpJzoPBCk6434swkWTpk89W2GwwQAAEQAAEQAAEQAAEQAAEQGAOAW+OEduUZalYep53iOM45+dXHP4rBiUZExKUpOnC1+or+CFFta7rbdM0O/aXJMmRZVEUezqEPpVS1zRNT/zucejsHnVs5mIJtm27p0B+h2D605mS+6H5F0lOOBt+uxM6uzsFy8nqtygStNwhzs1RQeclsAxA7BQ1jaOqqoyuDRWG4TmKoovOzuR60dnp3i2+RSk3vkry4XrQxcQNPF8v+SC1OqYvF0/QNDApPSQoRdKVH1TQFXmpdVFBKZKu/KCCrshLrSvWqgVBcKLu5HAbGHUt377vb7uu+2/JqDvpdVifdU3tbv1Oee7/eU8xGHXf5buodQWpSrsx2TH5Z8jxO89U39YJ0oLcGC8xZu221Z+iS5DHGiAAAiAAAiAAAiAAAiAAAmsk8Aft62To/r7zNAAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA2xJREFUaAXtmM1R40AQhbFrD8DJGayJwPbRcEBEgDMAIlg2AkQEmAxMBhAB4oB9tB3BKgRzAU6w3/POUPKCCk3LRRVVoyp5ftTdb96bGfXIGxvxigpEBaICUYGoQFQgKhAViApEBaICFgUaFqeiz3Q6bT09PXUajUZS7K9bf319zba2tua9Xm9RJ1YtgpPJ5Pjl5eUCcq06gyjzheSi2Wz+7vf7ozKbz/rNBCGXMIDbzwDW8RwBDyCZWWL9sDjJB3KpK+fb29tJ6FLS0n5+fv61ubl56X2daJ3d3d1LPX98fMwg13FYifBCr2aoQ8F+X3WW0NAPsPDs0yr7dqiBU6bemPY19aGIKibkRu7ZEsvbhZRmggxmLiDKJASwYCsyd9xZoW9EvBtmdeb6uio9VsGuctW8B+/v71MUPnNIWkpZZdQKhk64RKbUz/f29lLVQy8zQQGNx+OMwrx88K1y3bEnkyqGH9nUIqiAShVO7fZHADX6cq2KOimiBvb3ca01g8xem9m70AyidmudtImpt6j2thJ9bo1tJujy1J91E/ufiIiSZ3csqUixzImeJDxy5B4oT4mVK2Dg1cY+L/pAqEW8BX1aHUNhCIv2oGhXtW4mCHDXgaSWF4FPM5B4SwH0zYjbIe6Ojma027TPXF9VTit25kRPlNZKpDU2OMAvY0Ns4cKat5LZEXWvGcCh9gjHtVPKPJQj/lqGK36+TyVEl0sUmxsS/SA0vuzNS9SRShhIiwGMLOD4vXPzfSqJrecPwnpnWLHDvET16mYAXQZyUxEr2EyxhVEnTQSDfjcH8x70RHVUY6/so3Tb962jZPZylqaOald14tUi+EWH7YzD9oGVpJmgz2MCRm19G15bB1HiN2BVKCcq/luuLLEt7Ta/RYnoX9tXvMKPSxFKHuirnYEriZ8rqcuMFTGk+Mm/aScczVLaI9pH3IfcKXfwZX6LenVBnAWj4gA5CSSSXiiFOeYe8F9NVw2uZWywfPtfb8CvmSAYd8JhgEc6eAdgLk2ZpRTfc5XeFyID6vp6yBRTsd2zJZa3CynNe9AtsdsQMKstxM1/G5pnUCoDfMKgH6wDr+CnL5UTv0cr2L8zMc+gj+Q+enWiMe8TH6tYQkxfFjPI5cX+WI8KRAWiAlGBqEBUICoQFYgKRAWiAl+jwF8TUm3TeJ7SpwAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABCJJREFUaAXtmM1VIkEQx4W3B/UiGUgGK0f1wBjBkoGYAUYgG4FsBI4ZYAQOB/UIG8FCBAsXvcn+/kP3vnEeM/R8uId9Xe81VV1dXZ/9NeztefAZ8BnwGfAZ8BnwGfAZ8BnwGfAZ8Bkok4FGmUmuc56enk6azea39Xod0FqNRuNEc6Fn0Eta9P7+/nB+fj5z1VlU7lMCfH5+7uHILa3t6NAcueuzs7Oxo7yzWK0Bvry8tKnOHdaDhAcLaDk+pylowX2ioscbVvwbUdWr09PTeYJXiawtQC1HPHnEwZbxaAI9xNnIekhl16LhX1i+qfYAdldjBL4EXdS1bGsJUMHh9FQOCqBVhTDuJH4IJlKXIAbpAKh+H/6I4SMj00nLiF8UKgeoZclBMSUoW7nxwcHBVafTUSVyYTqdtl5fX9s2EBI1RM+NJqmSHFCdqsu1meuBwyCOhIngNKP39vY2dpi6R3Dh4eHhXLJUd2CDU1860X0nugpUCtDsn3jv4MQ17YecwblQOA+YG2rcVppgIror8E/mX2kMCIyNTe9f/2J8TlvTImtbS9bSWVj7TfOEkzL0A9uXTqP7l+WVwaUraE7NY2NUh0MMu/YMTvfs0tvf3/+wlO3JKkVUcRgr5C41tky3GPpSTPyDdM/0VrsuaHPK6g4MrAaCfLDL0/KSWMGSjAU8JVG2ZslxV7p0BclwICNm72TaM9l/RCBICXUdKhNX2NpKzXfqlq4ggbUwLCO/yXQ3x9qQsRZthfxAcswdQYt3y9yheBmwFh/5+G7MkMlllw4QB79KM7gPUssFBceyCyXEYSKn7yADWkTLBeae5ArkDDZzxv6LodIVpAK6r1TFe3CYlQ3khox1ee3cUrl4yYlmjqr4wGtllDO3z9ilbGXJ7OKXDhAHl0Z5O3m8pw1ykOiFEtH0Mgk1ruCAFU2P8Zk628Duz4StbWK5vNJLFGcjaQbHezHLit6ZyASMTxIyE/HsGzTBT5Px3rO20oMu/TiVLoJpGXO3TcUnw1u/HtJzivT1yiEwHURKYukvi9IVNNlfGAcuizjvIss+HRi5hUOlM1WWDtBotE4E7BdLZxpzHZAuVoVd+pX0ll6i1lmciaC7LKMluPKXuH35EGALfROegQG4NFStoL3o9UqRQ48Oz69MZ1PBSWc/U9hxoHKAHPNzqhfIng1SB4T6RcDM+fufjnRKdxEd22QrL1Gr1JyqEf0jw4sI+HveHSk5AgsI5gYyUB/QR6/LFbKR3vFbW4Cyg7NtnAshu+oL6GtvjnmxzMFqAv2P0wb3TNXFE0zo9+uo3EYdq8oSdWIOnh76RrRjR70L5Aa7visddX0Q+5QArQVzaKhKWoYtcHz0Q+sduwRHyI6r3HPWlsc+Az4DPgM+Az4DPgM+Az4DPgM+Az4D9WbgD7hRzY7DM0fyAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAgZJREFUaAXtWL1xwjAYxb4U0GUENnAogSJkgrBBskGODbJBVmCDkAlCCkMLGzgbpHSF8z6dnaOxLX+SFbh7KixZ+v7ek/RJ9mDAQgbIABkgA2SADJABMkAGyAAZ0DAQaZTOddI0fY2i6Al94/N+3+3ZbKaK9cYlEIDbANyji42+ddUAy5kz4Iqi+IjjeINgs74D7mpfDRCOluJMwM3nc9Pu6jyEfKx1gqWZiG45c1ozveupAVaRYQbvqvYl1s4AAeplv99LFr3Iokq9gmS32xUhEWmPCR8z+B0SaFdfLlnU+EKyeUYjw16UTPomneh7kNq1lPvb2NTacgYojqfTaYZ9eEBAJg68b03D8QGbcgw5WfECsEsECHqBoBujHo1Gx8lk8tPFbp1scIDA9lkXTNWf57ks8W317lL7SDIu/nvXDT6D2nSvZYIzqGWuTg8XhC3GGpMM9ukKF/gD5JxL8CWKiO/bosYF/rZNxnb8PwB+tQV3Op28HBHiJzhAJJlFG0Cf40wyPtkUWzZfIXKX9XXd4wxazODYQuZPxOZLYzgcejkixKk6yeCsOiLYBLX8WVuLMZvia+nZ+BIZNUCAW0NfvtWW2FfvAJqhbQreW8+6Sraphs2kadxmLLIRqpMJ+eNXe4d1SjLl/9CVLNc6EthPBsgAGSADZIAMkAEyQAbIABm4TgZ+AUWef+9zrB8pAAAAAElFTkSuQmCC\";\n},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABDNJREFUaAXtWFloE0EY3plNai0oWBHSggi1Wtu0giiIvvimJGnFA1FQ8EnEihceeIF4oBa8WjxAUEEsPkRQTNLgi1RQ8aFFsYeI+iBoESr2QamNNTt+/7ChKWSzyWbXpxkImZ3//L5/Mv9ONE0NxYBiQDGgGFAMKAYUA4oBxYBiQDGgGMjBAMux5vqS0DQ+EA6v1ThfrQkxmzF2KxiPd7oeKIfD/wKwr7n5IQKtyY4vhOhsSiS2ZK95MedeOM322R+JbMqAw3c7gH0hOaq4GcA3Zut6MfcU4IdQaAqQXKTEqWLYlnvLOF+E+QitAfAlqUMPHg1PAY5xfgB5VwNdyq/rhwhDXSz2HUFPmHiqobPfnHvy5RlAVGYWqnfUzLptwePHQxkEDRUV1zH/KJ8ZOyZ1M0KXvz0DOKbrbdiCFch3qJLztuy8WTSaRuA9tEY6fzg/ly13cw7/7o+BUGiR4LyXThJ439oYj9/ti0Tq8XyDovHx8XXBJ09+4JDphsIK+oEyw2gMJpODbmfjSQUB7oYJ7jWBk6CEmE5gJCBdL5Nr6XQremSadA1dp23r+nAdYH84vB4JL6VMOQDky5gqxoW4SToEfLClZVKvzGdbqMxVgD2LF/sBTrYFbLtoQzL5yi6RtKYdg85P0jMM44r0YWdUhNxVgOVVVfsAcA61BVTmYCF5LEwkRvATPCV1YTs1ENhdiF2hOq4BNI/642ailxu6uj4XmkTq27d2kCL1BWMn3kYiMwq1tdNzDWCK8zMINg3VGK5k7LRd4Gz5kt7ecQDbZ65NQ1Lky5XhCkC0hQZks83M6Eh1LDZabHZN8fhDnKjPyA5gtw+sWlVbrI9c+q4AlEc89TwhBhsTidu5AhWyJk9d6omapgu//1ohNnY6JQPsb25uQUIrKJDOeSvmKISzQW0DxndM65XYGSFnniasSgJoHumXyB0Se1Qfi8ktNuF+Yubj/At0TtJHGx39NSGZPCs3jMPQkVtc6HqH2LBBn6xR3FNJAMsDgZ0IV4tdNa4bxt58oevi8a/Qa8dr2r1gd7clwHnJ5DC2+lnTV+3g79878vm1kzkGKI9yxk6ZATrs2gK1EWzf94bP12PXzFHFC/Arbx8GeiRsp9sBsZI7BsgZo55HbWEECWWAWsXR0n7/GF4CDHx+TK2pAVbrgSqmUEV5T8TZNQMtKHPtsjaykOQNZGEjl/FXxBCSrYKDXbipX82n61SG28ZL+F8GsJ9wOjtqG44rCHAzZeKG8dwpADs7XKGipIO+WGWnayX3WQns1rE1e7B9liP4A7SK+zj58N7s+qBDDAjFG6eeHQP0MXYgLcRTVHIugh93vNftMhdiDCe04/9tSsrrXTg8/y9j5wGy0i7PYuVILMWEeIErVGdTMvmpWHulrxhQDCgGFAOKAcWAYkAxoBhQDCgGFAN5GfgHJCZRZCwa9+sAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA0JJREFUaAXtWMtxGkEQFZRPXKwQyMDsETiwikBkIBSB5Qi8isBkIJSBHYHYA3AEMpAzkC4cwe9tzbhGW/ub3Z4qHXqrlvl0T2+/1/Nrrq70UQaUAWVAGVAGlAFlQBlQBpSBIAz0gljNGd3tdovz+fy91+uNKLpcLod+v78cj8fPOVXxZlCA+/3++nQ6vVhgee8JdDAY3ERR9JaXSbW/SBkqsgNwa4D7ZmQpAK1ZR1+MYkbgJAD1CG+QJ1gEt9vtAzz+Ra8B7HE6nSas22ez2SQA+JNtlPeYrisrkyz7ksZcWwC1MO00D4797IPOkXWuT5YhnmAAEZVsatppWeL8b/ZzqpbIO3cHA9jZMyEDwQDa6YfozCp8nVNmdSv0WouCAeQ5Z7yKcQ5mm4nrpdlksmns6LoqIvVguyi9A4iDsxZ5uGdrDpvK3K47Rg8bTrA1GPQcdENAQACTAUHdFV3chnQ92BTlOWii9xflPRxPHedT00fZyJyZjliu+oFKKbNYc0NMwz2cv8Z7g0N8XWQbejGi+oL3DdM3gt5rkV6XviARBLglwcHxP2Xg6DRl1DG62a2nC5iiseIAGRU4fIuPvSMqD0UfdfuMzjv65hzryiTqogCZPSAiT8axpMmUMzoJx3AsbZjxIoUoQGQGjNgQjh4nk8myqYfU5RiONTaaDq3VEwPIjQVTMzvQm0zNvGd2DG3QVl7ett1pF4UjHzJ1OoFIHHBwt8rv3IuBtQXgnTL/VgClM3Vpe260W91kpDN1aXsuQO8I+mTq+NCPus3Gxx7Wp3fm773JYI0tDEO1mTp071w2i+o+9tpk/t4AwaJopi5tL09iqzWYN1LVxk6bHR1lOohgmUik3xsgHDqSdbyzCg/mVgb9xNaryib2+O0qG0Uyb4A8l/ChJxjLMnVctR5dw26mjv5n6L668nwdwIbou8Nba4/fhp7X472L0rp7IANAYaYOtRQ7aEz9uqeJPUavTebvHUE6i7/bY3t2IQIjfHzEftRZ8DZzhM7/aZp1Vvw0tBdXmCgVtYqgtWauajZzZ8pzAMgVpu3K6viUtAdyFhhDwr6SKHNVW6GtjzKgDCgDyoAyoAwoA8qAMqAMfCYG/gEGFcJxKJP+IwAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAepJREFUaAXtmD9LAzEYxt83rX8QBRedVHAScXJxL4jWxUGkRaEVZyf9AtovIP0CglYQPToIhVKn4ig4FXVxcHBTRFEHrXcXE0Gn3g2vLZ7luSXh3ntyeX8JeZIQ4QEBEAABEAABEAABEAABEAABCQGWiKxm/7CyqolyzFTzO+IrKwvTD45THnjXvCZtM1indCY9mwuOB0fiwaHwiGbaNnT6zVfDXHczpsy7Sg2SR5vhSknUoDQwJUolEVkNk77+1ipSV9/1qJXiKeo41d66rqd8n2vZpZnzqCWG/oAACESDgHiR2SuWJ9lV68xcGxrszCcSCbdUKvU8vcanmp2ajsV0NjVzKmlX7IPsqWNj8iNEmm7v3x7Nz3de3jtGSVFV0pEwDWvfhkWD8RsfFGvDkml2TDyCfkzPs8tfU7Sbnndtx5YXk5emEJG2ejwgAALtR0C8IDTywSjiEa+ijXzwoFiZ8Dy6aEWimXRSNBhiLzPnQbG2FQCC2hSPYCMf7Ov6uDFbtUTQz6Tv7VZNqoUOBEDgbwmIll7b5f9y6SROsHBUOTPir8OtJp3MpudO2swHaexn8mke/6lHrCL2QSbe8LXeslf33YoKNq+47995xLnm56jgg82HihZBAARAAARAAARAAARAAARCCXwC+SWNEJILv24AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABK9JREFUaAXtmN9rXEUUx7O/spuVNknXPGjtQ4si/YEUkkg2WQKBUDBYaTHFv6AFhda3UuiDaUpb0b7YPra+ieCvtihGMWAIySZB82BEhKpYaJpWNE0Izd7sbrJJP+fm3rJ7093cnU6fnAuzZ2bOmTPf7znz496tqTGPiYCJgImAiYCJgImAiYCJgImAiYCJgEoEAiqDVMdMTk7Gc7ncrrW1tR2pVOo7VT/VjHuqBMfGxravrq7uCgQCrwKqFfkScgsEn6Pe397e/mE1YFVstRNMp9MHAH8QEq8gm5BNyGe94OhfpP88JC94dTrbWglOTEykyNiIFyBkZiDzL3Ia/Y/BYPAo7b0OyQ8gedY7Rlc7rMuR42erI/9B3qWMQeQHiNyqra39u6WlxRL91NTU1Uwm8zO63ehOjo6OhtmT74lO96M1gyzPXkB/Acg/yVJvW1vbr+UADwwMROvr66ewfxmSD7C73NHRcbqcvWp/UHXg48YBNuH0B5eXl7OPs3H7enp6coODg3topxm3BXl8fHz8fVevS+omKKekPCH22tJ6tfxvX1/fKvsvBcFBIcmYdyB5sfyI6jVaCbLUogIBmY/FYvZ+8wMpmUwewO57h+QxrpfP/YzzY6OVIABtgsj7oVBo0wwWAySTr9H+Vkgij5DJL4v1qnWtBIsyGGlubq6KoBCA5OuIb6SOrzfJ5HWpP8mjlSBAXhQwZKFAWfMC45Q9QblEdt7y6tw2JN+gfsNpH8L2a1enInUTtO9Vor/sBQPQK5D+iHIc/cdk55jXxm1D8jB1e4lie5CgfDI0NBRz9dVIbQR5kY4UTfxXUb0GgElOyENFfc9Qf5cL/vmivpIqJI/Q8ZPTuXt4eDhfYuCzoY3gyspKHXPamSNLueL5ufSD3iVLZgLclWXnJ8Pb8CE+5fldrpT1anW/ZSeozo1tXQfoF6SGLIk210Ca7lHbal0vV8hnXV1dd9w+ryQmO/HTIP0EZ8ir99vWRpDvvDhA7Ch7MyhgINmL6Af0V4A/xWvZmUogsduHnx3Y3Kf8Vsm2ks4+FCoZ+NUBRpZTQewB94d3nEPe9ws1PpKOjxmW/y2vP79tbRnka0GWqJvBWb8Aytnhq9nRzXV2dv5Xzm6zfm0ZZKI6smTvQU7Mii/aHCB1lmXFI5FInDceWdoyVmS8UCiIFD9yyNTga0Kk6qONoAMs7gBp5WpIsNf2k4kogKMAbRDgtCOUlTgPtvL3hWRdlnYj9SbGOC4eiQ0f0I80PiraCAIsBkB7Sur2AeK2RULO1rnSxeZt0y+HyhxjQviZp/6La6sitREkQ1sFrEPmJmBCTpGUzFDkRUCytYjNbcBnkTnKHco0bYuS4UBZwpcVDoctvvrnu7u7hbDyo41gNBq9ls/n5XCx2FcWoC2ujiUuc0s+nbgWMgTAPoSU0ZqB/8MIKP3pNDIy0sh+OceSK3nnfNrxY9nPLiwsXJT/c/zOpbQHmaiTCd72O4kuOwJ6O5FIfIo/3282SgQ54e4xifzvWfJSrYtIBT9znLKZCvoNKqUlKl4qfcttmEVTRzabzT3ptaEJinFjImAiYCJgImAiYCJgImAiYCKwaQQeAp1lzm5r0935AAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAe1JREFUaAXtmEFOg0AUhgtxQVj1CHqC2iVhY2+iN9ATtL2BN7A3KS6AJfUEegRXhRX4P5SENiQOvFcy4iNpB8ibx//9M/OGdjbTQx1QB9QBdUAdUAfUAXVAHVAH1IEhDjhDOlGfJEmqoX2pX1VV2zAMN5wcJn1dk6C/HHMlIP7JcZyDaR6M3N40ViKODUhwQRBEpmIwtU1DReImP0UVUGSeGCRJ0/TaIKx3iBUjCLh7FJ93ansT/NLBCsCyLB9JJyBfpCGtAPR9/w5wb5eAHB0QIFv6uK4bERAdy+Xy81KQ7Fc17IOrPvvgN1L3d5Zl8+PxGCHngiLQPiD3rjva7C57o28/hgTmeV6La983PUdfCl1jhHeAm6OlNTnjQIoCFkVxC4GsVzGAnfjBhRx9DZ6oH+FCdAQ9zztgFFcc3RixemrSFKU83HUoCkjVEJoiEjbk+Ckyeyk40iAKaAIVx/EGW0SF2Nd29W3B0Tpmj1yjZXRAjM4a07D+RQ8REQm5FBzlHh2QHnp+SO997fxWVFFM2WcSxS0obbDm3ApA2sgBd8PZ0Bug89YKQBIFuI9zcRLX1gBKwHTlmDwgu4qi5C+4fwJ3OS91jw0IIXUFlBIknWfyU1TaMM2nDqgD6oA6oA6oA+qAOqAOqAP/xYEvhq24/9BV9n0AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAArpJREFUaAXtmMFx4jAYhYEbXKAEp4KFI3CIU0GyFYStYNkKlg52OyDpIKkg5AAcIR24BHyBG+x7jLTDaITGsWQ5h18zHsnSb/O+98uWTKMhRRwQB8QBcUAcEAfEAXFAHBAHxIEyDjTLXBTqmvV6nZxOp5840maz2ed90d6i/dRut58Hg8HO97dqAwTcBDDzawAY27Vare/D4XBxLaZIfy2Aq9VqCnF/lMAc9QuOLaB6yF6C9iOOc8H5nQ9kdMDlctmH6A3VA+ij0+mk5lRUMQuEdJlJxNyYMby+SGkVCQocM1P3y21wHBuPx8xmyjbM6B0OhwnbZUp0QAi+V0JnrqwoyFcV+1AGjtdEBeRbUwsF6Fa3HbWOuXXEOIeiAkJJ4lRjDMKEndH16dOogMbbMCmgts8YvowKxFpDogIqBe+sIfq3VZHq3Gw2PcScn1dkcuGKdY1FB4TYmRKUYDmY28QRbr/fvyG2h/Ec9V9bXJG+WtdBJTBDTYAtzwGTHo/HqYLj+Q9M7SeOlSlRAbmAQ6TOTBG9v0ajUens8QeiTVEDLsfzNUB27lDrtU4Dc+wVYze+cLxhlAxa4FIu5JqINWOwud5hOmaX/b7tygGLwPlCuK6vFLBuOIJXBvgV4AhYyUvGgOPvvJnPHDtjlOCAFjhyPKDfuqhXDRkU0IDjDoTLwHkfifakDshggCYcwFJurvlRa0DOqs7a5f2DABpwvH8Xaxp3LQ1+1GpIgqLttTPhPT9TvN+iBhx3IRmm4zeKQP1/H8kNNPtcX/EcD128ACka/5dkENXFQbgUGcrwJbCwQYYWX+R+XlOU2QDIVMNxKbickhQA6Dn/A2W7juKVQS2YmTSnnvqm05nM8U91Ysbo66usgwBeE6im8AuyOK1rob+mTfrFAXFAHBAHxAFxQBwQB8QBcUAccDvwD+QhOE5BAoWcAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABHtJREFUaAXtl89VG0kQxiWeD3BCjgBlgDgCB4YILEeAHMGiCNaOYNkIVo7AIgKGA3CUiMBSBCsucIP9fe0q0dLDb2d65OdL93sz9be7v6rqqZlptfLIGcgZyBnIGcgZyBnIGcgZyBnIGcgZSMlAO2VS1Tk3Nze9ra2tDy8vLwVXp91u9zQXfgq/4Cqfn58vj4+Pp1XXrOv3SwK8vb3tA+Qvrm5FQDP8hkdHR+OK/pXdNhrg3d1dl+r8w+5FZQSrjiVV/XR4eDhbVadLW+lTV2fqOHLcJmgLWQj0XtTGA3TogvHS+ZgbU2gNreWGpnQjAQoQmZ9wdQRIVeCaOjiCLWJZPFff7dDvyJ8kQztcGwuycYA6luC6EjgfVEHP35lkgvvyVhPhGJaY/5YPQ5XTnHhc2dqxrjbfOEACGCnr7KwjFwCbHMDA7wP0DL+eoxNP1dVdd123tsaDZOx6nhuNRk3GuuU3IQCQmsOIYAqArVS0BsKP6qTxuswNuhprrLg2reCFrXat4MQTnKqp4RX1BvJDG93xvUcMVZcaOVTZXhfX5rp+dE1djSQHaJ1uz7bxQCX2dQNsCdBzru7Ozs57VEPpNVRt9G2ezZ58LFDpi+DADd258d0mXTU5QDYPgUDngBwbGJHC+KnR1sHBgb5aljL6mdtEsZUmnxhtWWPy6vtebq5MkwOMsl2u7Raqyifaun7N7VWkWotXaYUbS4r2WjFWEd5VcXrLB1B6X8n0L00hZF4694XfR/8SyzEf27SG29RdWTcEzBq72kPU7XVpQFh3kvzXAKYsUWuOntlaE8w5+YimbPY75jQ5ovccn31Af4WOHDzH6Uo89Ev8HCL3UHvLHzJn6nP4iimQ/5QMPXU9cwbwZ1C9TpJGcoAA8eekw/EpfXeeIQ+8ZZ9jwcQHgIIOvIKLbcwpbP481vMYfJbe9zKfWiT5iAK2tJ1O4h0dDLQb6/+HV3U1ZuH+egv6aK9XS0UuOUDWH2sPAumQ6X60X9AD6kOkE9uN5CU/mUzUjd03zJWfrblrc5Z6kyuTpM7kqwNiBr/Hpa+WU+n1B0Bw38VDR1bJQvL6wD7FPkMfEoR84H8e0dr6kOiuz60qN6mg9ji3jQoCG4jnGZpB5uIBP4AUXG8O7D0MITg50JQ6ogSndZU4DfHJo1EFtStgSsgJ2V8AcEhH/MOAow5VvEd/gV3gl10UfoZugK8fT7l71QdBaLWuqV5hfBJpWkGv0vL/LQruwRDtbW9vj9FPHaF4PsBL6L50BKrXQFx1qbXmQEyT0ThAHUkAFjEI5BHg+tJBO4+Pj1foVMHleHp6ukDommKA32fjA9GadtxjdW2+8RH1HfVLA8gS2TufeI1CNwAvFKzxai494y/hNaeQzHhQcN5sfqjS7xsLUBCsg45gV96NslUc1wQ72ETlfL+NBuiL0nj68DqC3gnd9DM6x6Cf4/HPHFL1vyRAB6NjC9+nKoWeQeiyqcAv0JXYx5s6jr5vpjkDOQM5AzkDOQM5AzkDOQM5AzkDOQPNM/AfPQLglaBBktYAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAiZJREFUaAXtmMFxwjAQRbEnF7iEEuggcGS4mA5IB0kHSSUpgXQQOgAODEegA0oIF7hB/s9YxKMxg9EusQ6rGY9l2Vrp/ZW0C42GFVPAFDAFTAFTwBQwBUwBU8AUMAVCFEhCOmn3WSwW3SRJPprN5nOv1/vWtF874Gq1ah8Ohy2gHk+n07rVag01IVNNtUJsEQbee2Nf3Lv7/X5K6BBbZX1q96Cb1HK5fIEHx3zW9GQ0gATzILkXh4PBYM13oSUqQEJoQ6oCutMwVG3XD0uUp+rvPkRd5MkHZ1TjnqZpGxPKpLYAdzaRg07Q0Dk33lBRBTwejzwR5zeMf+nTLl485i93EG106cNr7X9SXfvyn957e3CDVTHq9/vb0OGjAvThEPQzadCPBvAecPR6FID3grsLYJ5bfuFgeK8SpL1cdKOxLIv7VTUX5WSZS2KADFelnJJ7LA8tc204gqotUQeHMMEjnonzK06/T9brLCqAzGAAMc2DcjRwFFYMGDOcGDB2OBGgD4eDgmnamkYlperpW3WM4FwUMBMM0nYD5fsvc8+hdybsoX3L+gUDQukRoGYwek6KURd7kAl72URD20SHDJdpERL1KEJDUQxRoGemwiCNa0OjuI+ZdhUHqLsu8qCbfB7kZ/DgE9ti8qQKIKFihVQDLIHc4Z/qjvT3HO1KimgP+gMThgkz2ufcm3XD+fOzZ1PAFDAFTAFTwBQwBUwBU8AUMAWqK/AD1rESGBZG0cgAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAkJJREFUaAXtmL9LHEEUx98bD5IqJOBBmjRphLOxSJEmydnkPMEqOifCbZ1Wq5TmLxD8BwIuGu4uXQgnCuH8UYT8AZLC/8AyQYi4Pt+yu9zt6d2uu8+whDfNzLx5M/O+nzfDMgugRQkoASWgBJSAElACSkAJKAElkIUAZpl01zlua9fynNbgPCKyznK9M2i7j3ZmgVutbi9tQLxJGQArcX86IYCzuO32HhJSc3lu9vbR8dbS+OHRowj4ZvRomhGspKab2vHmvpkFAtDHcLmlIDt0wn2pIze0puFkZys52AQbuq0ui8JFvlMdvlP+XctdJNc0uaMp+AIqsOAJSgxPM5iIqOAOmsGCJygxPM1gIqKCO2gGC56gxPA0g4mICu6Q47kUV8bvw7L7uVuNW7P1+G1Uzv3MCbcWEwgIVUAUESglztf4399BSVjhoQiqnS+7094l9TirkwR0bsh84F8rmzEnoI1mo74Wt8n27iWD2+29GRZ3FInj41vzSt5xP3T6EbRxlX9ezfft8i1xgb64qyvvgMU94cz99cU5tj4gjkUQvieCX6HI7U/tb0/lpQUrigp0292pUNyjQJyZvyGO9zUlc44GFrj5h+/I4wkynfV1Eo0lAia66AP4fUqAh31xte/RRsN10875viu+nT8xL59X9l8N+0j0RQVaa72H5tm7CcTXjh0tLgrcadS+Mow1IHjh2LcHkV2ylvsOhlFZO33BzZ9pg3Qa9Y20vuqnBJSAElACSkAJKAEloASUgBL4dwSuAT6jj5dI8O7nAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABJ9JREFUaAXtmM9VIkEQxsG3B/UiG4FjBMJRPTAbwWIEshFoBmAEixGIGWAEjgf16BjBjhngRT3J/r622zfC4INu3vPS9V5NVdf0n/qqq6sHarVIMQIxAjECMQIxAjECMQIxAjECMQIxAj4RqPsM+mrMzc1Nc21tbXcymTTpJxal5jn7yKwpr9fr+dvb28PBwUE+283fshKAd3d3CYCOcaMDJ/7umJEFzxGAz/b29qQHURDA+/v7xvPz81+c6U57AeAHbAVsdoQ+Y+2S+ml34YZ0qAknvNs1rc+PwcbGxmmr1Rp/Ni/eWlu86+eeFtxVCdwTPc7gQ5z6idQubMFj0q6PHJGCqVi6tQn0lvru7+8r2Iew5niCRScE8EprvTeXf3rv4O3t7ZDljrQku3GKozmyqzZncEB6ZdIXJdJc4E9s/z6yw5w9274gAF2rLyVCACpttgQOQBl6WysD7FTSlyhSfeabMP7a7naPNZQFyoqlyTtFWUmpVSPKOjsFLIfq7KwBSntp0i46cAwu4KYmYQ3vFP2hCQKpA7AEJ4Z2nhaOPqIn2BWEx3mlX1cK77fVB2Bju2PKDNnPmTNBBtEqACrCcmiALEinDF0ppvRv4LgpGALD+wE2ndkTgeZdA1At7DvYNEZgj+AEXgnJCS8iFeWQKzApalvtCiqwiasowSiuomsFC/A9vbRVtqrfl7aQM2gmZhcyFk9xpgWfwg9TKya00zmsd2USKM3R0pyau/zSRw9OUZ0bFs7sOcvR+3BNBQNHG7DS15HT1c8QO5TD46prxZ5J19VLBqeoXTX4i6PsfdUXkm+Krgqg8Y/dGtq0ul72O5IdT5ikbXetayYsPb4NIKAuSbEUX8y96HzCPlb6IQtAF85eloDR9ZLQRxW2UX6H/oRdRea37L4Ag88gzg/W19e7Ly8vXfzowKaaWodTpCot5lnSO5GTtsc1csT37PD19VUf5Qagfbe0CAaIAw37tT9g9YHOjxyzqaZdaZa8cnpesmmXx0rt6ULDVaTxQRR8BnEu39zc/BXyk6YKQenXigmKb4oG34OkV5OfNP8oEr2QnzUOpObQXJpTczu7rwzewemFtaOk24gUVRrO/Q5149z3KGOU1p15oHx3MPgM4tAfQKU4fCSn5SBtVUU1a5wjI3kUltVOLEs3xJhysVEFHQC6QJ67Pj4yOEVZtCC6XQDtwH9oX8DuF3nZp4RGaln6ND1i0Fj9I5DwZdRHL+AgCtlBgdhStUSqAhbIoWXE++eapO0j9YMIhrkneacfs0rnGdI4+sleFbCZ/lWGEIAjJjzCgR5FYcJdeDZdSUtlP6tafJ7NXjXHpGfP9tFaXmTC4zPSlvEMgLsajzNjhBzRH0qXsi1LnNcO8+hiV7FpaDztB66hdDp4i87tDVALCCRfMH3UY7XLhGM5ThZw7uzYMunYUkkRNhWlBFvz3fLpecZ57PuC00xBAJ0r+lDGyRPaHXjb2T3lI+NGANY/c4XnHB/DVgLwYzYU3Wu607QzNN2utMt9rK7CkUunb6YrAdUVK5kjxQjECMQIxAjECMQIxAjECMQIxAjECHxjBP4DTHEmvys1hjIAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgY2xhc3M9Im5jLWljb24td3JhcHBlciI+PHBhdGggY2xhc3M9InN0MCIgZD0iTTIuNyAyVjBoLTJDLjMgMCAwIC4zIDAgLjdWMmgyLjd6IiBmaWxsPSIjNDQ0Ij48L3BhdGg+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE2IDJWLjdjMC0uNC0uMy0uNy0uNy0uN0g0djJoMTJ6IiBmaWxsPSIjNDQ0Ij48L3BhdGg+PHBhdGggY2xhc3M9InN0MCIgZD0iTTAgMy40djEwLjdjMCAuMy4zLjYuNy42aDE0LjdjLjQgMCAuNy0uMy43LS43VjMuNEgwem01LjggNS44bC0yLjUgMi41LS45LTEgMi0yLTItMiAuOS0uOSAyLjUgMi41Yy4zLjIuMy42IDAgLjl6bTUuNSAyLjJoLTR2LTEuM2g0djEuM3oiIGZpbGw9IiM0NDQiPjwvcGF0aD48L2c+PC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjcwcHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDcwIDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkI1NDExNjc3LTQ3RjMtNDM0OS05NDBGLThCMjVDMDI0REE3ODwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYWNjb3VudDotZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OTYuMDAwMDAwLCAtMjQ2LjAwMDAwMCkiIGZpbGw9IiNBM0E5QjgiPgogICAgICAgICAgICA8cGF0aCBkPSJNODQ5LjYyMDY5LDI2NS42MTIwNjkgQzg0OS42MjA2OSwyNTQuNzUgODQxLjIyOTg4NSwyNDYgODMwLjg4NTA1NywyNDYgQzgyMC41NDAyMywyNDYgODEyLjE0OTQyNSwyNTQuODEwMzQ1IDgxMi4xNDk0MjUsMjY1LjYxMjA2OSBDODEyLjE0OTQyNSwyNzYuNDEzNzkzIDgyMC41NDAyMywyODUuMjg0NDgzIDgzMC44ODUwNTcsMjg1LjI4NDQ4MyBDODQxLjIyOTg4NSwyODUuMjg0NDgzIDg0OS42MjA2OSwyNzYuNDc0MTM4IDg0OS42MjA2OSwyNjUuNjEyMDY5IFogTTg0NC42NzgxNjEsMjY1LjYxMjA2OSBDODQ0LjY3ODE2MSwyNzMuNTc3NTg2IDgzOC40NzEyNjQsMjgwLjA5NDgyOCA4MzAuODg1MDU3LDI4MC4wOTQ4MjggQzgyMy4yOTg4NTEsMjgwLjA5NDgyOCA4MTcuMDkxOTU0LDI3My41Nzc1ODYgODE3LjA5MTk1NCwyNjUuNjEyMDY5IEM4MTcuMDkxOTU0LDI1Ny42NDY1NTIgODIzLjI5ODg1MSwyNTEuMTI5MzEgODMwLjg4NTA1NywyNTEuMTI5MzEgQzgzOC40NzEyNjQsMjUxLjEyOTMxIDg0NC42NzgxNjEsMjU3LjY0NjU1MiA4NDQuNjc4MTYxLDI2NS42MTIwNjkgWiBNODYzLjUyODczNiwzMTYgQzg2NC45MDgwNDYsMzE2IDg2NiwzMTQuODUzNDQ4IDg2NiwzMTMuNDA1MTcyIEM4NjYsMjk5LjgyNzU4NiA4NTUuNDgyNzU5LDI4OC43MjQxMzggODQyLjQ5NDI1MywyODguNzI0MTM4IEw4MTkuNTA1NzQ3LDI4OC43MjQxMzggQzgwNi41NzQ3MTMsMjg4LjcyNDEzOCA3OTYsMjk5Ljc2NzI0MSA3OTYsMzEzLjQwNTE3MiBDNzk2LDMxNC44NTM0NDggNzk3LjA5MTk1NCwzMTYgNzk4LjQ3MTI2NCwzMTYgTDg2My41Mjg3MzYsMzE2IFogTTg0Mi40OTQyNTMsMjkzLjkxMzc5MyBDODUxLjkxOTU0LDI5My45MTM3OTMgODU5LjY3ODE2MSwzMDEuMjc1ODYyIDg2MC44ODUwNTcsMzEwLjgxMDM0NSBMODAxLjExNDk0MywzMTAuODEwMzQ1IEM4MDIuMzIxODM5LDMwMS4zMzYyMDcgODEwLjA4MDQ2LDI5My45MTM3OTMgODE5LjUwNTc0NywyOTMuOTEzNzkzIEw4NDIuNDk0MjUzLDI5My45MTM3OTMgWiIgaWQ9ImFjY291bnQtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijc2cHgiIGhlaWdodD0iNzZweCIgdmlld0JveD0iMCAwIDc2IDc2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0MC4zICgzMzgzOSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+YXNzZXQtZW1wdHktc3RhdGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYXNzZXQtZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuMDAwMDAwLCAzLjAwMDAwMCkiIHN0cm9rZT0iI0EzQTlCOCIgc3Ryb2tlLXdpZHRoPSI1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1LDY5LjU3NzIyMTcgQzU0LjMyOTk2NjIsNjkuNTc3MjIxNyA3MCw1NC4wMDE4MzAxIDcwLDM0Ljc4ODYxMDkgQzcwLDE4LjQyMzY3NDMgNTguNjMxNjI3Miw0LjY5NzkyNjcyIDQzLjMxNjMzOTUsMC45ODgwMDI4MjcgQzQwLjY1MDc0NiwwLjM0MjI5ODQwNCAzNy44NjU1ODk5LDAgMzUsMCBDMTUuNjcwMDMzOCwwIDAsMTUuNTc1MzkxNiAwLDM0Ljc4ODYxMDkgQzAsNTQuMDAxODMwMSAxNS42NzAwMzM4LDY5LjU3NzIyMTcgMzUsNjkuNTc3MjIxNyBaIiBpZD0iT3ZhbC0zIj48L3BhdGg+CiAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1kYXNoYXJyYXk9IjEsMTEiIGN4PSIzNSIgY3k9IjM0Ljc4ODYxMDkiIHJ4PSIyMy4zMzMzMzMzIiByeT0iMjMuMTkyNDA3MiI+PC9lbGxpcHNlPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjY2cHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDY2IDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkExNkE5NTQ0LUQ0MTctNEY1Qy05OTg3LTlERkUzMTczRDk2NzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYmFsYW5jZXM6LWVtcHR5LXN0YXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzk4LjAwMDAwMCwgLTI0Ni4wMDAwMDApIiBmaWxsPSIjQTNBOUI4Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwMi42Mzk3NjcsMzExLjA1NTk4NiBMODAyLjYzOTc2NywyNDguNDcyMDA3IEM4MDIuNjM5NzY3LDI0Ny4wODUyNzEgODAxLjYyMTI4MSwyNDYgODAwLjMxOTg4MywyNDYgQzc5OS4wMTg0ODUsMjQ2IDc5OCwyNDcuMDg1MjcxIDc5OCwyNDguNDcyMDA3IEw3OTgsMzEzLjUyNzk5MyBDNzk4LDMxNC45MTQ3MjkgNzk5LjAxODQ4NSwzMTYgODAwLjMxOTg4MywzMTYgTDg2MS4zNzI0MjQsMzE2IEM4NjIuNjczODIyLDMxNiA4NjMuNjkyMzA4LDMxNC45MTQ3MjkgODYzLjY5MjMwOCwzMTMuNTI3OTkzIEM4NjMuNjkyMzA4LDMxMi4xNDEyNTggODYyLjY3MzgyMiwzMTEuMDU1OTg2IDg2MS4zNzI0MjQsMzExLjA1NTk4NiBMODAyLjYzOTc2NywzMTEuMDU1OTg2IFogTTgyNS4xMDMwMjgsMjY1Ljk1NjkzNCBDODI1LjEwMzAyOCwyNjQuNTcwMTk4IDgyNC4wODQ1NDMsMjYzLjQ4NDkyNyA4MjIuNzgzMTQ1LDI2My40ODQ5MjcgQzgyMS40ODE3NDcsMjYzLjQ4NDkyNyA4MjAuNDYzMjYxLDI2NC41NzAxOTggODIwLjQ2MzI2MSwyNjUuOTU2OTM0IEw4MjAuNDYzMjYxLDMwMS41Mjk3MTYgQzgyMC40NjMyNjEsMzAyLjkxNjQ1MSA4MjEuNDgxNzQ3LDMwNC4wMDE3MjMgODIyLjc4MzE0NSwzMDQuMDAxNzIzIEM4MjQuMDg0NTQzLDMwNC4wMDE3MjMgODI1LjEwMzAyOCwzMDIuOTE2NDUxIDgyNS4xMDMwMjgsMzAxLjUyOTcxNiBMODI1LjEwMzAyOCwyNjUuOTU2OTM0IFogTTgxMy44OTk2ODksMjY1Ljk1NjkzNCBDODEzLjg5OTY4OSwyNjQuNTcwMTk4IDgxMi44ODEyMDMsMjYzLjQ4NDkyNyA4MTEuNTc5ODA1LDI2My40ODQ5MjcgQzgxMC4yNzg0MDcsMjYzLjQ4NDkyNyA4MDkuMjU5OTIyLDI2NC41NzAxOTggODA5LjI1OTkyMiwyNjUuOTU2OTM0IEw4MDkuMjU5OTIyLDMwMS41Mjk3MTYgQzgwOS4yNTk5MjIsMzAyLjkxNjQ1MSA4MTAuMjc4NDA3LDMwNC4wMDE3MjMgODExLjU3OTgwNSwzMDQuMDAxNzIzIEM4MTIuODgxMjAzLDMwNC4wMDE3MjMgODEzLjg5OTY4OSwzMDIuOTE2NDUxIDgxMy44OTk2ODksMzAxLjUyOTcxNiBMODEzLjg5OTY4OSwyNjUuOTU2OTM0IFogTTg0Ny41MDk3MDYsMjY1Ljk1NjkzNCBDODQ3LjUwOTcwNiwyNjQuNTcwMTk4IDg0Ni40OTEyMjEsMjYzLjQ4NDkyNyA4NDUuMTg5ODIzLDI2My40ODQ5MjcgQzg0My44ODg0MjUsMjYzLjQ4NDkyNyA4NDIuODY5OTQsMjY0LjU3MDE5OCA4NDIuODY5OTQsMjY1Ljk1NjkzNCBMODQyLjg2OTk0LDMwMS41Mjk3MTYgQzg0Mi44Njk5NCwzMDIuOTE2NDUxIDg0My44ODg0MjUsMzA0LjAwMTcyMyA4NDUuMTg5ODIzLDMwNC4wMDE3MjMgQzg0Ni40OTEyMjEsMzA0LjAwMTcyMyA4NDcuNTA5NzA2LDMwMi45MTY0NTEgODQ3LjUwOTcwNiwzMDEuNTI5NzE2IEw4NDcuNTA5NzA2LDI2NS45NTY5MzQgWiBNODU4LjcxMzA0NiwyODMuNzQzMzI1IEM4NTguNzEzMDQ2LDI4Mi4zNTY1ODkgODU3LjY5NDU2LDI4MS4yNzEzMTggODU2LjM5MzE2MiwyODEuMjcxMzE4IEM4NTUuMDkxNzY0LDI4MS4yNzEzMTggODU0LjA3MzI3OSwyODIuMzU2NTg5IDg1NC4wNzMyNzksMjgzLjc0MzMyNSBMODU0LjA3MzI3OSwzMDEuNTI5NzE2IEM4NTQuMDczMjc5LDMwMi45MTY0NTEgODU1LjA5MTc2NCwzMDQuMDAxNzIzIDg1Ni4zOTMxNjIsMzA0LjAwMTcyMyBDODU3LjY5NDU2LDMwNC4wMDE3MjMgODU4LjcxMzA0NiwzMDIuOTE2NDUxIDg1OC43MTMwNDYsMzAxLjUyOTcxNiBMODU4LjcxMzA0NiwyODMuNzQzMzI1IFogTTgzNi4zMDYzNjcsMjgzLjc0MzMyNSBDODM2LjMwNjM2NywyODIuMzU2NTg5IDgzNS4yODc4ODIsMjgxLjI3MTMxOCA4MzMuOTg2NDg0LDI4MS4yNzEzMTggQzgzMi42ODUwODYsMjgxLjI3MTMxOCA4MzEuNjY2NiwyODIuMzU2NTg5IDgzMS42NjY2LDI4My43NDMzMjUgTDgzMS42NjY2LDMwMS41Mjk3MTYgQzgzMS42NjY2LDMwMi45MTY0NTEgODMyLjY4NTA4NiwzMDQuMDAxNzIzIDgzMy45ODY0ODQsMzA0LjAwMTcyMyBDODM1LjI4Nzg4MiwzMDQuMDAxNzIzIDgzNi4zMDYzNjcsMzAyLjkxNjQ1MSA4MzYuMzA2MzY3LDMwMS41Mjk3MTYgTDgzNi4zMDYzNjcsMjgzLjc0MzMyNSBaIiBpZD0iQmFsYW5jZXMtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSIxMnB4IiB2aWV3Qm94PSIwIDAgMTIgMTIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQxLjIgKDM1Mzk3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5jbGllbnQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cmVjdCBpZD0icGF0aC0xIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTEuMDc2OTIzMSIgaGVpZ2h0PSIzLjM3MjM2NTM0IiByeD0iMS42ODYxODI2NyI+PC9yZWN0PgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIG1hc2tDb250ZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTEuMDc2OTIzMSIgaGVpZ2h0PSIzLjM3MjM2NTM0IiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTMiIHg9IjAiIHk9IjQuMjE1NDU2NjciIHdpZHRoPSIxMS4wNzY5MjMxIiBoZWlnaHQ9IjMuMzcyMzY1MzQiIHJ4PSIxLjY4NjE4MjY3Ij48L3JlY3Q+CiAgICAgICAgPG1hc2sgaWQ9Im1hc2stNCIgbWFza0NvbnRlbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hc2tVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHg9IjAiIHk9IjAiIHdpZHRoPSIxMS4wNzY5MjMxIiBoZWlnaHQ9IjMuMzcyMzY1MzQiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0zIj48L3VzZT4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHJlY3QgaWQ9InBhdGgtNSIgeD0iMCIgeT0iOC40MzA5MTMzNSIgd2lkdGg9IjExLjA3NjkyMzEiIGhlaWdodD0iMy4zNzIzNjUzNCIgcng9IjEuNjg2MTgyNjciPjwvcmVjdD4KICAgICAgICA8bWFzayBpZD0ibWFzay02IiBtYXNrQ29udGVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeD0iMCIgeT0iMCIgd2lkdGg9IjExLjA3NjkyMzEiIGhlaWdodD0iMy4zNzIzNjUzNCIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTUiPjwvdXNlPgogICAgICAgIDwvbWFzaz4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpY29uLXNldCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkyLjAwMDAwMCwgLTguMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJpY29ucyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iY2xpZW50IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4NC4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InNlcnZlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4wMDAwMDAsIDguMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaWQ9IlJlY3RhbmdsZSIgc3Ryb2tlPSIjQTNBOUI4IiBtYXNrPSJ1cmwoI21hc2stMikiIHN0cm9rZS13aWR0aD0iMS40IiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0iUmVjdGFuZ2xlIiBzdHJva2U9IiNBM0E5QjgiIG1hc2s9InVybCgjbWFzay00KSIgc3Ryb2tlLXdpZHRoPSIxLjQiIHhsaW5rOmhyZWY9IiNwYXRoLTMiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbCIgZmlsbD0iI0EzQTlCOCIgY3g9IjguNzIzMDc2OTEiIGN5PSIxLjcwNzI1OTk0IiByeD0iMC40MTUzODQ2MDQiIHJ5PSIwLjQ0MjYyMjkzOSI+PC9lbGxpcHNlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbCIgZmlsbD0iI0EzQTlCOCIgY3g9IjguNzIzMDc2OTEiIGN5PSI1LjkyMjcxNjYyIiByeD0iMC40MTUzODQ2MDQiIHJ5PSIwLjQ0MjYyMjkzOSI+PC9lbGxpcHNlPgogICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGlkPSJSZWN0YW5nbGUiIHN0cm9rZT0iI0EzQTlCOCIgbWFzaz0idXJsKCNtYXNrLTYpIiBzdHJva2Utd2lkdGg9IjEuNCIgeGxpbms6aHJlZj0iI3BhdGgtNSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iOC43MjMwNzY5MSIgY3k9IjEwLjEzODE3MzMiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iNi44NzY5MjMwNyIgY3k9IjEuNzA3MjU5OTQiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iNi44NzY5MjMwNyIgY3k9IjUuOTIyNzE2NjIiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iNi44NzY5MjMwNyIgY3k9IjEwLjEzODE3MzMiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjU0cHgiIGhlaWdodD0iNjlweCIgdmlld0JveD0iMCAwIDU0IDY5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPjYxNkI0Q0EzLTJGOTctNEVCNi1CQUY3LUY1NzEwODQ0NUY4MzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cmVjdCBpZD0icGF0aC0xIiB4PSIyMC41OTQ5MjQ3IiB5PSI3LjMyNzEyMjI2IiB3aWR0aD0iMzQuODc4NDcyMiIgaGVpZ2h0PSIzNC44Nzg0NzIyIiByeD0iMTcuNDM5MjM2MSI+PC9yZWN0PgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIG1hc2tDb250ZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB4PSIwIiB5PSIwIiB3aWR0aD0iMzQuODc4NDcyMiIgaGVpZ2h0PSIzNC44Nzg0NzIyIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Im1vY2sta2V5czotZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MDEuMDAwMDAwLCAtMjQ5LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzk5LjAwMDAwMCwgMjQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iI0EzQTlCOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUuMTcwMjMzLCA2Ny45NTQyOTEpIHJvdGF0ZSg0Mi4wMDAwMDApIHRyYW5zbGF0ZSgtMTUuMTcwMjMzLCAtNjcuOTU0MjkxKSAiIHg9IjUuNTg1MjMzMzEiIHk9IjY1Ljg2ODQ2NzciIHdpZHRoPSIxOS4xNzAwMDAxIiBoZWlnaHQ9IjQuMTcxNjQ2NjQiIHJ4PSIyLjA4NTgyMzMyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjQTNBOUI4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC4zNjEyOTksIDYxLjQ2NjkwNykgcm90YXRlKDQyLjAwMDAwMCkgdHJhbnNsYXRlKC0yMC4zNjEyOTksIC02MS40NjY5MDcpICIgeD0iMTIuNDcxMjk4OSIgeT0iNTkuNDE5ODQzMyIgd2lkdGg9IjE1Ljc3OTk5OTciIGhlaWdodD0iNC4wOTQxMjc2OSIgcng9IjIuMDQ3MDYzODUiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi43MDk4NTYzLDMzLjE3Njg2NTQgTDE4LjQwNzY4NDQsNzEuNzk1MDg2MiIgaWQ9IkxpbmUiIHN0cm9rZT0iI0EzQTlCOCIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3LjU1ODc3MCwgNTIuNDg1OTc2KSByb3RhdGUoNDIuMDAwMDAwKSB0cmFuc2xhdGUoLTE3LjU1ODc3MCwgLTUyLjQ4NTk3NikgIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8dXNlIGlkPSJSZWN0YW5nbGUtMiIgc3Ryb2tlPSIjQTNBOUI4IiBtYXNrPSJ1cmwoI21hc2stMikiIHN0cm9rZS13aWR0aD0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4LjAzNDE2MSwgMjQuNzY2MzU4KSByb3RhdGUoNDIuMDAwMDAwKSB0cmFuc2xhdGUoLTM4LjAzNDE2MSwgLTI0Ljc2NjM1OCkgIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSIxMnB4IiB2aWV3Qm94PSIwIDAgMTIgMTIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQxLjIgKDM1Mzk3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5uZXR3b3JrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTYsMCBDMi42OTE2LDAgMCwyLjY5MTYgMCw2IEMwLDkuMzA4MjggMi42OTE2LDEyIDYsMTIgQzkuMzA4MjgsMTIgMTIsOS4zMDgyOCAxMiw2IEMxMiwyLjY5MTYgOS4zMDgyOCwwIDYsMCBMNiwwIFogTTMuOTY0NjgsMS4xMzYyOCBDMy42OTAzNiwxLjQ4MzU2IDMuNDQ3NDgsMS44OTk5NiAzLjI0NDY4LDIuMzczMjQgQzIuOTg2OTIsMi4yODQ5MiAyLjczMjQsMi4xODczNiAyLjQ4NDYsMi4wNzQ1NiBDMi45MTkyNCwxLjY4NDY4IDMuNDE4NDQsMS4zNjU3MiAzLjk2NDY4LDEuMTM2MjggTDMuOTY0NjgsMS4xMzYyOCBaIE0xLjk1MTA4LDIuNjI2OCBDMi4yODg1MiwyLjc5MjE2IDIuNjM2MTYsMi45MzY0IDIuOTkxNiwzLjA1ODkyIEMyLjc0OTY4LDMuODI1MjQgMi42MDA4OCw0LjY5ODYgMi41NzAxNiw1LjYzNjQgTDAuNzQxMTIsNS42MzY0IEMwLjgxOTI0LDQuNDk2MTYgMS4yNjA0OCwzLjQ1NDQ0IDEuOTUxMDgsMi42MjY4IEwxLjk1MTA4LDIuNjI2OCBaIE0wLjc0MTEyLDYuMzYzNiBMMi41NzAyOCw2LjM2MzYgQzIuNjAxLDcuMzAxNCAyLjc0OTgsOC4xNzQ3NiAyLjk5MTcyLDguOTQxMDggQzIuNjM2NCw5LjA2MzYgMi4yODg2NCw5LjIwNzg0IDEuOTUxMiw5LjM3MzMyIEMxLjI2MDQ4LDguNTQ1NjggMC44MTkyNCw3LjUwMzg0IDAuNzQxMTIsNi4zNjM2IEwwLjc0MTEyLDYuMzYzNiBaIE0yLjQ4NDQ4LDkuOTI1NDQgQzIuNzMyMjgsOS44MTI2NCAyLjk4NjkyLDkuNzE1MDggMy4yNDQ1Niw5LjYyNjg4IEMzLjQ0NzQ4LDEwLjEwMDE2IDMuNjkwMjQsMTAuNTE2NTYgMy45NjQ1NiwxMC44NjM4NCBDMy40MTg0NCwxMC42MzQ0IDIuOTE5MjQsMTAuMzE1MiAyLjQ4NDQ4LDkuOTI1NDQgTDIuNDg0NDgsOS45MjU0NCBaIE01LjYzNjQsMTEuMjIxNjggQzQuOTc0LDExLjAzOTc2IDQuMzc5NzYsMTAuMzcxMjQgMy45NTUwOCw5LjQxMzUyIEM0LjUwNDU2LDkuMjc3NDQgNS4wNjg1Niw5LjE5OTA4IDUuNjM2NCw5LjE3NDcyIEw1LjYzNjQsMTEuMjIxNjggTDUuNjM2NCwxMS4yMjE2OCBaIE01LjYzNjQsOC40NDQxNiBDNC45ODAzNiw4LjQ3MDMyIDQuMzI5MTIsOC41NjY1NiAzLjY5NjEyLDguNzI5ODggQzMuNDcxNzIsOC4wMjY2OCAzLjMzMDEyLDcuMjE5NDQgMy4yOTg0NCw2LjM2MzYgTDUuNjM2NCw2LjM2MzYgTDUuNjM2NCw4LjQ0NDE2IEw1LjYzNjQsOC40NDQxNiBaIE01LjYzNjQsNS42MzY0IEwzLjI5ODQ0LDUuNjM2NCBDMy4zMzAxMiw0Ljc4MDQ0IDMuNDcxNzIsMy45NzMzMiAzLjY5NjEyLDMuMjcwMjQgQzQuMzI5MjQsMy40MzM0NCA0Ljk4MDM2LDMuNTI5NjggNS42MzY0LDMuNTU1NzIgTDUuNjM2NCw1LjYzNjQgTDUuNjM2NCw1LjYzNjQgWiBNNS42MzY0LDIuODI1NTIgQzUuMDY4NTYsMi44MDEwNCA0LjUwNDQ0LDIuNzIyNjggMy45NTQ5NiwyLjU4NjYgQzQuMzc5NzYsMS42MjkgNC45NzQsMC45NjAzNiA1LjYzNjQsMC43Nzg0NCBMNS42MzY0LDIuODI1NTIgTDUuNjM2NCwyLjgyNTUyIFogTTExLjI1ODg4LDUuNjM2NCBMOS40Mjk4NCw1LjYzNjQgQzkuMzk5MTIsNC42OTg2IDkuMjUwMzIsMy44MjUyNCA5LjAwODQsMy4wNTg5MiBDOS4zNjM3MiwyLjkzNjQgOS43MTE0OCwyLjc5MjE2IDEwLjA0ODkyLDIuNjI2OCBDMTAuNzM5NjQsMy40NTQ0NCAxMS4xODA3Niw0LjQ5NjI4IDExLjI1ODg4LDUuNjM2NCBMMTEuMjU4ODgsNS42MzY0IFogTTkuNTE1NjQsMi4wNzQ1NiBDOS4yNjc4NCwyLjE4NzQ4IDkuMDEzMiwyLjI4NDkyIDguNzU1NDQsMi4zNzMyNCBDOC41NTI2NCwxLjg5OTk2IDguMzA5NzYsMS40ODM1NiA4LjAzNTQ0LDEuMTM2MjggQzguNTgxNTYsMS4zNjU3MiA5LjA4MDg4LDEuNjg0NjggOS41MTU2NCwyLjA3NDU2IEw5LjUxNTY0LDIuMDc0NTYgWiBNNi4zNjM2LDAuNzc4MzIgQzcuMDI1ODgsMC45NjAyNCA3LjYyMDEyLDEuNjI4ODggOC4wNDQ5MiwyLjU4NjQ4IEM3LjQ5NTU2LDIuNzIyNTYgNi45MzE0NCwyLjgwMDkyIDYuMzYzNiwyLjgyNTQgTDYuMzYzNiwwLjc3ODMyIEw2LjM2MzYsMC43NzgzMiBaIE02LjM2MzYsMy41NTU3MiBDNy4wMTk2NCwzLjUyOTY4IDcuNjcwODgsMy40MzMzMiA4LjMwMzg4LDMuMjcwMjQgQzguNTI4MjgsMy45NzMzMiA4LjY2OTg4LDQuNzgwNDQgOC43MDE1Niw1LjYzNjQgTDYuMzYzNiw1LjYzNjQgTDYuMzYzNiwzLjU1NTcyIEw2LjM2MzYsMy41NTU3MiBaIE02LjM2MzYsNi4zNjM2IEw4LjcwMTU2LDYuMzYzNiBDOC42Njk3Niw3LjIxOTQ0IDguNTI4MjgsOC4wMjY1NiA4LjMwMzg4LDguNzI5ODggQzcuNjcwNzYsOC41NjY1NiA3LjAxOTY0LDguNDcwMzIgNi4zNjM2LDguNDQ0MTYgTDYuMzYzNiw2LjM2MzYgTDYuMzYzNiw2LjM2MzYgWiBNNi4zNjM2LDExLjIyMTY4IEw2LjM2MzYsOS4xNzQ2IEM2LjkzMTMyLDkuMTk4OTYgNy40OTU0NCw5LjI3NzMyIDguMDQ0OTIsOS40MTM1MiBDNy42MjAxMiwxMC4zNzEyNCA3LjAyNTg4LDExLjAzOTc2IDYuMzYzNiwxMS4yMjE2OCBMNi4zNjM2LDExLjIyMTY4IFogTTguMDM1NDQsMTAuODYzNzIgQzguMzA5NzYsMTAuNTE2NDQgOC41NTI2NCwxMC4xMDAxNiA4Ljc1NTQ0LDkuNjI2NzYgQzkuMDEzMiw5LjcxNTIgOS4yNjc4NCw5LjgxMjY0IDkuNTE1NjQsOS45MjU1NiBDOS4wODA4OCwxMC4zMTUzMiA4LjU4MTU2LDEwLjYzNDQgOC4wMzU0NCwxMC44NjM3MiBMOC4wMzU0NCwxMC44NjM3MiBaIE0xMC4wNDg5Miw5LjM3MzA4IEM5LjcxMTM2LDkuMjA3NzIgOS4zNjM3Miw5LjA2MzYgOS4wMDg0LDguOTQwOTYgQzkuMjUwMzIsOC4xNzQ2NCA5LjM5OTEyLDcuMzAxNCA5LjQyOTg0LDYuMzYzNDggTDExLjI1ODg4LDYuMzYzNDggQzExLjE4MDc2LDcuNTAzODQgMTAuNzM5NjQsOC41NDU1NiAxMC4wNDg5Miw5LjM3MzA4IEwxMC4wNDg5Miw5LjM3MzA4IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpY29uLXNldCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwNC4wMDAwMDAsIC04LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iaWNvbnMiPgogICAgICAgICAgICAgICAgPGcgaWQ9Im5ldHdvcmsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5Ni4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTEzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4LjAwMDAwMCwgOC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJPdmFsLTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0iTWFzayIgZmlsbD0iI0EzQTlCOCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==\";\n},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijc3cHgiIGhlaWdodD0iNzZweCIgdmlld0JveD0iMCAwIDc3IDc2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPjc2QzdENTMzLUE4M0ItNDMyNy04QTQzLTZCREZBRTcxQTJBQTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgIDxnIGlkPSJUWDotZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OTMuMDAwMDAwLCAtMjQzLjAwMDAwMCkiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlPSIjQTNBOUI4Ij4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc5Ni4wMDAwMDAsIDI0Ni4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS0yMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1LjcyODE5MiwgMjQuNTIxODkxKSByb3RhdGUoOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTQ1LjcyODE5MiwgLTI0LjUyMTg5MSkgIiBwb2ludHM9IjM3LjQyOTc1MzQgNDkuNTQ5MTQ1OCAzNy4yNTY2NDUgLTAuNTA1MzYyODQ5IDU0LjE5OTczODggMTQuODAwODc3OCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTY5LjY5MDI2MTEsLTAuMDYzODIyNTkzOSBMNTQuNjE2MTE3NCwxNS4xNTU1Nzg1IiBpZD0iU3Ryb2tlLTIyMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjIuMTUzMTg5LCA3LjU0NTg3OCkgcm90YXRlKDkwLjAwMDAwMCkgdHJhbnNsYXRlKC02Mi4xNTMxODksIC03LjU0NTg3OCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0iU3Ryb2tlLTIyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUuMjE3NzU0LCA2MS4zMTc5MTQpIHNjYWxlKDEsIC0xKSByb3RhdGUoLTkwLjAwMDAwMCkgdHJhbnNsYXRlKC0yNS4yMTc3NTQsIC02MS4zMTc5MTQpICIgcG9pbnRzPSIxNi45MTkzMTU2IDg2LjM0NTE2ODUgMTYuNzQ2MjA3MiAzNi4yOTA2NTk5IDMzLjY4OTMwMSA1MS41OTY5MDA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYuMzI5ODI4NSwzNi43MzIyMDAxIEwxLjI1NTY4NDg4LDUxLjk1MTYwMTIiIGlkPSJTdHJva2UtMjIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc5Mjc1NywgNDQuMzQxOTAxKSBzY2FsZSgxLCAtMSkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43OTI3NTcsIC00NC4zNDE5MDEpICI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijk2cHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDk2IDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkQ3QTA3REJELTExMjctNDhCMC1CMTJBLUUzODkxOTg5QTM3NDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iRmVlZHM6LWVtcHR5LXN0YXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzgwLjAwMDAwMCwgLTI0NC4wMDAwMDApIiBzdHJva2U9IiNBM0E5QjgiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc4MS4wMDAwMDAsIDI0NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xOSI+CiAgICAgICAgICAgICAgICAgICAgPGVsbGlwc2UgaWQ9Ik92YWwtNiIgZmlsbD0iI0EzQTlCOCIgY3g9IjMuNzMzMzMzMzkiIGN5PSIzLjk3ODE0MjE0IiByeD0iMy43MzMzMzMzOSIgcnk9IjMuOTc4MTQyMTQiPjwvZWxsaXBzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQuODg4ODg4OSwzLjUgTDkyLjAyODE4NDQsMy41IiBpZD0iTGluZSIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDIwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTYiIGZpbGw9IiNBM0E5QjgiIGN4PSIzLjczMzMzMzM5IiBjeT0iNC4yMDAzNjQzNiIgcng9IjMuNzMzMzMzMzkiIHJ5PSIzLjk3ODE0MjE0Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ljg4ODg4ODksMy41IEw5Mi4wMjgxODQ0LDMuNSIgaWQ9IkxpbmUiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49ImJldmVsIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA0MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC02IiBmaWxsPSIjQTNBOUI4IiBjeD0iMy4zNTA0Mjc0IiBjeT0iNC4wMTQ1NzIiIHJ4PSIzLjM1MDQyNzQiIHJ5PSIzLjU3MDEyNzU2Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ljg4ODg4ODksMy41IEw5Mi4wMjgxODQ0LDMuNSIgaWQ9IkxpbmUiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49ImJldmVsIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA2MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC02IiBmaWxsPSIjQTNBOUI4IiBjeD0iMy4zNTA0Mjc0IiBjeT0iNC4yMzY3OTQyMiIgcng9IjMuMzUwNDI3NCIgcnk9IjMuNTcwMTI3NTYiPjwvZWxsaXBzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQuODg4ODg4OSwzLjUgTDkyLjAyODE4NDQsMy41IiBpZD0iTGluZSIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjY2cHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDY2IDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkQ4MzE1QjM2LTZGMzktNDRGRC1BNUFGLTI5MDQ1MzNEQzVDMzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0idW5zcGVudC1vdXRwdXRzOi1lbXB0eS1zdGF0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgwMC4wMDAwMDAsIC0yNDYuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MDAuMDAwMDAwLCAyNDYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTcuMDc5NTQ3NiwxNi4xNDQ5MDI5IEM1Ni44NjM4MDE3LDEyLjIyNDMwMzggNDYuMTEwMjUwOSw5LjE5MDM2Nzc0IDMzLjA0Nzc0MTQsOS4zNjg0MTcwNCBDMTkuOTcwNzg2LDkuNTQ2NDY2MzMgOS4wNjcyMDUzMiwxMi44NjkwNzczIDguNzA2OTkwNTksMTYuNzg5Njc2NCBDOC4zNDY3NzU4NiwyMC43MTAyNzU1IDE5LjEzMzI0MTQsMjMuNzQ0MjExNiAzMi43ODYxNTc1LDIzLjU2NjE2MjMgQzQ2LjQyNDYyNzYsMjMuMzg4MTEzIDU3LjI5NTI5MzUsMjAuMDY1NTAyIDU3LjA3OTU0NzYsMTYuMTQ0OTAyOSBaIiBpZD0iT3ZhbC00IiBzdHJva2U9IiNBM0E5QjgiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWRhc2hhcnJheT0iNiw1LDYsNyI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMyLjY1MTc5NzksMC4yNTM5NTI4NTcgQzE0LjM0NjU5OTYsMC4yNTM5NTI4NTcgMCw3LjQ0OTg5OTAyIDAsMTYuNjE5NzMzMiBMMCw1My40NzM5NzEzIEMwLDYyLjY2ODc5MTQgMTQuMzQ2NTk5Niw2OS44Mzk3NTE3IDMyLjY1MTc5NzksNjkuODM5NzUxNyBDNTAuOTU2OTk2Miw2OS44Mzk3NTE3IDY1LjMwMzU5NTgsNjIuNjY4NzkxNCA2NS4zMDM1OTU4LDUzLjQ5ODk1NzMgTDY1LjMwMzU5NTgsMTYuNjQ0NzE5MSBDNjUuMzAzNTk1OCw3LjQ0OTg5OTAyIDUwLjk1Njk5NjIsMC4yNTM5NTI4NTcgMzIuNjUxNzk3OSwwLjI1Mzk1Mjg1NyBMMzIuNjUxNzk3OSwwLjI1Mzk1Mjg1NyBaIE02MC45NDY0ODA0LDUzLjQ5ODk1NzMgQzYwLjk0NjQ4MDQsNTkuNDIwNjIxMyA0OS41NzU0NzE4LDY1Ljc5MjAzMiAzMi42NTE3OTc5LDY1Ljc5MjAzMiBDMTUuNzI4MTI0LDY1Ljc5MjAzMiA0LjM1NzExNTQyLDU5LjQ0NTYwNzIgNC4zNTcxMTU0Miw1My40OTg5NTczIEw0LjM1NzExNTQyLDQ5LjQ3NjIyMzUgQzkuOTM2MzQ4NTksNTQuMzczNDY0NiAyMC40MDQwNTI3LDU3LjU5NjY0ODggMzIuNjUxNzk3OSw1Ny41OTY2NDg4IEM0NC44OTk1NDMxLDU3LjU5NjY0ODggNTUuMzY3MjQ3Miw1NC4zNzM0NjQ2IDYwLjk0NjQ4MDQsNDkuNDc2MjIzNSBMNjAuOTQ2NDgwNCw1My40OTg5NTczIEw2MC45NDY0ODA0LDUzLjQ5ODk1NzMgWiBNNjAuOTQ2NDgwNCw0MS4yMDU4ODI2IEM2MC45NDY0ODA0LDQ3LjEyNzU0NjYgNDkuNTc1NDcxOCw1My40OTg5NTczIDMyLjY1MTc5NzksNTMuNDk4OTU3MyBDMTUuNzI4MTI0LDUzLjQ5ODk1NzMgNC4zNTcxMTU0Miw0Ny4xNTI1MzI1IDQuMzU3MTE1NDIsNDEuMjA1ODgyNiBMNC4zNTcxMTU0MiwzNy4xODMxNDg4IEM5LjkzNjM0ODU5LDQyLjA4MDM4OTkgMjAuNDA0MDUyNyw0NS4zMDM1NzQxIDMyLjY1MTc5NzksNDUuMzAzNTc0MSBDNDQuODk5NTQzMSw0NS4zMDM1NzQxIDU1LjM2NzI0NzIsNDIuMDgwMzg5OSA2MC45NDY0ODA0LDM3LjE4MzE0ODggTDYwLjk0NjQ4MDQsNDEuMjA1ODgyNiBMNjAuOTQ2NDgwNCw0MS4yMDU4ODI2IFogTTYwLjk0NjQ4MDQsMjguOTEyODA3OSBDNjAuOTQ2NDgwNCwzNC44MzQ0NzE5IDQ5LjU3NTQ3MTgsNDEuMjA1ODgyNiAzMi42NTE3OTc5LDQxLjIwNTg4MjYgQzE1LjcyODEyNCw0MS4yMDU4ODI2IDQuMzU3MTE1NDIsMzQuODU5NDU3OCA0LjM1NzExNTQyLDI4LjkxMjgwNzkgTDQuMzU3MTE1NDIsMjQuODkwMDc0MSBDOS45MzYzNDg1OSwyOS43ODczMTUyIDIwLjQwNDA1MjcsMzMuMDEwNDk5NCAzMi42NTE3OTc5LDMzLjAxMDQ5OTQgQzQ0Ljg5OTU0MzEsMzMuMDEwNDk5NCA1NS4zNjcyNDcyLDI5Ljc4NzMxNTIgNjAuOTQ2NDgwNCwyNC44OTAwNzQxIEw2MC45NDY0ODA0LDI4LjkxMjgwNzkgTDYwLjk0NjQ4MDQsMjguOTEyODA3OSBaIE0zMi42NTE3OTc5LDI4LjkxMjgwNzkgQzE1LjcyODEyNCwyOC45MTI4MDc5IDQuMzU3MTE1NDIsMjIuNTY2MzgzMSA0LjM1NzExNTQyLDE2LjYxOTczMzIgQzQuMzU3MTE1NDIsMTAuNjk4MDY5MiAxNS43MjgxMjQsNC4zMjY2NTg1IDMyLjY1MTc5NzksNC4zMjY2NTg1IEM0OS41NzU0NzE4LDQuMzI2NjU4NSA2MC45NDY0ODA0LDEwLjY3MzA4MzIgNjAuOTQ2NDgwNCwxNi42MTk3MzMyIEM2MC45NDY0ODA0LDIyLjU2NjM4MzEgNDkuNTc1NDcxOCwyOC45MTI4MDc5IDMyLjY1MTc5NzksMjguOTEyODA3OSBMMzIuNjUxNzk3OSwyOC45MTI4MDc5IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0EzQTlCOCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTc0Ljc1NCIgaGVpZ2h0PSIxODAiIHZpZXdCb3g9IjAgMCAxNzQuNzU0IDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogIzI0N2NmNjsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudCk7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQtMik7CiAgICAgIH0KCiAgICAgIC5jbHMtNCB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQtMyk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudCIgeDE9IjAuNjU1IiB5MT0iMSIgeDI9IjAuMzc5IiB5Mj0iLTAuMDgzIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2E1Y2JmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNiNGQ0ZmYiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudC0yIiB4MT0iMC42NDMiIHkxPSIxLjA0OCIgeDI9IjAuNDAyIiB5Mj0iLTAuNjk2IiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzQwOTBmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhNWNiZmYiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudC0zIiB4MT0iMC41IiB4Mj0iMC41IiB5Mj0iMSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMyYzg1ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDM1YmQ0Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8ZyBpZD0iTG9hZGluZy1WYXBvcl9Mb2dvIiBkYXRhLW5hbWU9IkxvYWRpbmctVmFwb3IgTG9nbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc0OS42IC0yMzYpIj4KICAgIDxnIGlkPSJHcm91cF84NTQyIiBkYXRhLW5hbWU9Ikdyb3VwIDg1NDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc0OS42IDIzNikiPgogICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNyIgZGF0YS1uYW1lPSJQYXRoIDI2MTE3IiBjbGFzcz0iY2xzLTEiIGQ9Ik00OTAuNCw1NTkuNzU5YTQ0Ni43MDksNDQ2LjcwOSwwLDAsMCw2MC42OTQsMTYuMzM0LDQ0Ny44NjYsNDQ3Ljg2NiwwLDAsMC01NC43NDEsMzAuNDI2QTQ0Ny4wMSw0NDcuMDEsMCwwLDEsMzc3LjkxLDU2NS42MzJhNDQ4LjMxOSw0NDguMzE5LDAsMCwxLDU0Ljg0Ny0zMC40NjUsNDUwLjc3Miw0NTAuNzcyLDAsMCwxLTUzLjc0NS0zMi40MDYsNDQ3LjQsNDQ3LjQsMCwwLDEsNTguNjc1LTIyLjUwOEE0NTIuMjI2LDQ1Mi4yMjYsMCwwLDEsMzg4LjgzMiw0NDAuNmE0NDYuNDU4LDQ0Ni40NTgsMCwwLDEsNjEuMjQ1LTE0LjA3OSw0NTAuODEsNDUwLjgxLDAsMCwwLDQ4Ljg2OCwzOS42NTQsNDQ3Ljk1OCw0NDcuOTU4LDAsMCwwLDUzLjcxOSwzMi4zOTMsNDQ3LjEyLDQ0Ny4xMiwwLDAsMC02MS4yNTgsMTQuMDkyLDQ0Ny41MDcsNDQ3LjUwNywwLDAsMCw1Ny41NzQsMjQuNTc5QTQ0Ni4xODIsNDQ2LjE4MiwwLDAsMCw0OTAuNCw1NTkuNzU5WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM3Ny45MSAtNDI2LjUyKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNCIgZGF0YS1uYW1lPSJQYXRoIDI2MTE0IiBjbGFzcz0iY2xzLTIiIGQ9Ik01NTAuMDcyLDQ5OC41NjdhNDQ3LjEsNDQ3LjEsMCwwLDAtNjEuMjU4LDE0LjA5Miw0NDcuOTc2LDQ0Ny45NzYsMCwwLDEtNTMuNzE5LTMyLjQwNUE0NTIuMTI1LDQ1Mi4xMjUsMCwwLDEsMzg2LjI0LDQ0MC42YTQ0Ni40MzgsNDQ2LjQzOCwwLDAsMSw2MS4yNDUtMTQuMDc5LDQ1MC44NjUsNDUwLjg2NSwwLDAsMCw0OC44NjgsMzkuNjU0QTQ0OCw0NDgsMCwwLDAsNTUwLjA3Miw0OTguNTY3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM3NS4zMTkgLTQyNi41MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMjYxMTUiIGRhdGEtbmFtZT0iUGF0aCAyNjExNSIgY2xhc3M9ImNscy0zIiBkPSJNNTQ4LjcxOSw1MjQuNDk1YTQ0Ni4xMjIsNDQ2LjEyMiwwLDAsMC01OC41ODMsMjIuNTIyLDQ0NC43NSw0NDQuNzUsMCwwLDEtNTcuNjQtMjQuNTkzLDQ1MC43ODcsNDUwLjc4NywwLDAsMS01My43NDUtMzIuNDA1LDQ0Ny4zOTEsNDQ3LjM5MSwwLDAsMSw1OC42NzUtMjIuNTA4LDQ1MC4yMDgsNDUwLjIwOCwwLDAsMCwxMTEuMjkzLDU2Ljk4NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzcuNjQ4IC00MTMuNzc2KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNiIgZGF0YS1uYW1lPSJQYXRoIDI2MTE2IiBjbGFzcz0iY2xzLTQiIGQ9Ik01NTEuMDkxLDU1MC4zMjdhNDQ3LjcsNDQ3LjcsMCwwLDAtNTQuNzQxLDMwLjQyNkE0NDcuMTE4LDQ0Ny4xMTgsMCwwLDEsMzc3LjkxLDUzOS44NjYsNDQ4LjQsNDQ4LjQsMCwwLDEsNDMyLjc1Nyw1MDkuNGE0NDQuOTA2LDQ0NC45MDYsMCwwLDAsNTcuNjQsMjQuNTkzQTQ0Ni45MzEsNDQ2LjkzMSwwLDAsMCw1NTEuMDkxLDU1MC4zMjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzc3LjkxIC00MDAuNzUzKSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgICAgc3Ryb2tlOiByZ2JhKDAsMCwwLDApOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iVmFwb3IyQnl0b20iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtNSkiPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNjk0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNjk0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNSkiLz4KICAgIDxwYXRoIGlkPSJQYXRoXzIwMzMxIiBkYXRhLW5hbWU9IlBhdGggMjAzMzEiIGNsYXNzPSJjbHMtMiIgZD0iTS0zMTMyLjQ4Mi0yODIuNDE4bDMuNTUzLDMuNTUzaDBsLS45MjUuOTI2LTMuNTUzLTMuNTU0YS42NjcuNjY3LDAsMCwxLS4wMTYtLjkuNjQ2LjY0NiwwLDAsMSwuNDY2LS4yMTRoLjAxNkEuNjQ1LjY0NSwwLDAsMS0zMTMyLjQ4Mi0yODIuNDE4Wm0xMS44NzYuNzE1aDBsLTQuMjg3LDQuMjg3LS45LS45LDQuMjg0LTQuMjg1Wm0tNy40MjEsMy43NC45MzUuOTM2LS45MjYuOTI3LS45MzYtLjkzNy45MjYtLjkyNmgwWm0xLjgzOSwxLjgzOS45MzQuOTM1LS45MjYuOTI3LS45MzYtLjkzNi45MjYtLjkyNmgwWm0tNi4xMTgsMS4zMTR2Mi45ODFsMi45NTYtMi45NTcuOTE5LjkxOS0yLjk1NiwyLjk1N2gyLjk4djEuM2gtNS4ydi01LjJabTcuOTU2LjUyNCwzLjU0MSwzLjU0M2EuNjUyLjY1MiwwLDAsMSwwLC45MmwtLjAwNi4wMDhhLjY1Mi42NTIsMCwwLDEtLjkxMS4wMDlsLTMuNTUxLTMuNTUyLjkyNi0uOTI3aDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTk3LjEwNSAyOTAuMTA5KSIvPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgICAgc3Ryb2tlOiByZ2JhKDAsMCwwLDApOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iQnl0b20yVmFwb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtNSkiPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNjk0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNjk0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNSkiLz4KICAgIDxwYXRoIGlkPSJQYXRoXzIwMzMwIiBkYXRhLW5hbWU9IlBhdGggMjAzMzAiIGNsYXNzPSJjbHMtMiIgZD0iTS0zMTIxLjcyOS0yNjkuOGwtMy41NTMtMy41NTNoMGwuOTI1LS45MjYsMy41NTMsMy41NTRhLjY2Ny42NjcsMCwwLDEsLjAxNi45LjY0Ni42NDYsMCwwLDEtLjQ2Ni4yMTRoLS4wMTZBLjY0NS42NDUsMCwwLDEtMzEyMS43MjktMjY5LjhabS0xMS44NzYtLjcxNWgwbDQuMjg3LTQuMjg3LjkuOS00LjI4NCw0LjI4NVptNy40MjEtMy43NC0uOTM1LS45MzYuOTI2LS45MjcuOTM2LjkzNy0uOTI2LjkyNmgwWm0tMS44MzktMS44MzktLjkzNC0uOTM1LjkyNi0uOTI3LjkzNi45MzYtLjkyNi45MjZoMFptNi4xMTgtMS4zMTR2LTIuOTgxbC0yLjk1NiwyLjk1Ny0uOTE5LS45MTksMi45NTYtMi45NTdoLTIuOTh2LTEuM2g1LjJ2NS4yWm0tNy45NTYtLjUyNC0zLjU0MS0zLjU0M2EuNjUyLjY1MiwwLDAsMSwwLS45MmwuMDA2LS4wMDhhLjY1Mi42NTIsMCwwLDEsLjkxMS0uMDA5bDMuNTUxLDMuNTUyLS45MjYuOTI3aDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTk3LjEwNSAyOTAuMTA5KSIvPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTM2OTA1NDM3MDc2IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMzNzMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5ODk3NyA5NjEuNjEwMDQ0Yy0yNDguMzA2MjcyIDAtNDQ5LjYwNzk5OC0yMDEuMzA3ODY1LTQ0OS42MDc5OTgtNDQ5LjYxNDEzOFMyNjMuNjkyNzA0IDYyLjM4OTk1NiA1MTEuOTk4OTc3IDYyLjM4OTk1NmMyNDguMzY0NjAxIDAgNDQ5LjYxMDA0NCAyMDEuMjk5Njc5IDQ0OS42MTAwNDQgNDQ5LjYwNjk3NFM3NjAuMzYzNTc3IDk2MS42MTAwNDQgNTExLjk5ODk3NyA5NjEuNjEwMDQ0TDUxMS45OTg5NzcgOTYxLjYxMDA0NHpNNzE4LjE4Njk4OSAzODAuOTIxNjM5YzguNDU3NjI2LTguNDYyNzQyIDguNDU3NjI2LTIyLjIwMjY3NSAwLTMwLjY1ODI1NGwtNDUuOTI3MDA1LTQ1Ljg3MTc0N2MtOC40NTk2NzItOC40NTk2NzItMjIuMTM4MjA2LTguNDU5NjcyLTMwLjU5OTkyNSAwTDUxMS42MDM5ODEgNDM0LjQ0ODc0IDM4MS41NDY4NzkgMzA0LjM5MTYzOGMtOC40NTk2NzItOC40NTk2NzItMjIuMTQyMy04LjQ1OTY3Mi0zMC41OTk5MjUgMGwtNDUuOTI3MDA1IDQ1Ljg3MTc0N2MtOC40NTc2MjYgOC40NTU1NzktOC40NTc2MjYgMjIuMTk1NTExIDAgMzAuNjU4MjU0bDEzMC4wNTcxMDEgMTMwLjA1MzAwOEwzMDUuMDE5OTQ4IDY0MS4wMzE3NDhjLTguNDU3NjI2IDguNDU1NTc5LTguNDU3NjI2IDIyLjE0MDI1MyAwIDMwLjU5OTkyNUwzNTAuOTQ2OTU0IDcxNy41NTU2MDljOC40NTc2MjYgOC40MDQ0MTQgMjIuMTQwMjUzIDguNDA0NDE0IDMwLjU5OTkyNSAwbDEzMC4wNTcxMDEtMTMwLjA1NzEwMUw2NDEuNjYxMDgyIDcxNy41NTU2MDljOC40NjE3MTkgOC40MDQ0MTQgMjIuMTQwMjUzIDguNDA0NDE0IDMwLjU5OTkyNSAwbDQ1LjkyNzAwNS00NS45MjI5MTJjOC40NTc2MjYtOC40NTk2NzIgOC40NTc2MjYtMjIuMTQ0MzQ2IDAtMzAuNTk5OTI1TDU4OC4xMjk4ODggNTEwLjk3NTY3IDcxOC4xODY5ODkgMzgwLjkyMTYzOSA3MTguMTg2OTg5IDM4MC45MjE2Mzl6IiBwLWlkPSIzMzc0IiBmaWxsPSIjZDQ0YzRjIj48L3BhdGg+PC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMjAyNTJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iaXNzdWUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtODkpIj4KICAgIDxyZWN0IGlkPSLnn6nlvaJfMzY3MyIgZGF0YS1uYW1lPSLnn6nlvaIgMzY3MyIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxIDg5KSIvPgogICAgPGcgaWQ9Iue7hF8yOTY1IiBkYXRhLW5hbWU9Iue7hCAyOTY1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTgzLjczOCAtMTE1MS4xNzgpIj4KICAgICAgPHBhdGggaWQ9Iui3r+W+hF80OTU1IiBkYXRhLW5hbWU9Iui3r+W+hCA0OTU1IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zMDAuMDY0LDU1NC4xNThoLTEuMjgydjIuMTU5aC0yLjIyNVY1NTcuNmgyLjIyNXYyLjE1NGgxLjI4MlY1NTcuNkgzMDIuM3YtMS4yODJoLTIuMjMzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUxLjQxOSA2OTcuOTgpIi8+CiAgICAgIDxwYXRoIGlkPSLlh4/ljrtfMTQiIGRhdGEtbmFtZT0i5YeP5Y67IDE0IiBjbGFzcz0iY2xzLTIiIGQ9Ik05LjQ4MywxMy4xOTNoMGwtMi45ODktMS43LTIuMiwxLjQzM1YxMS41OTRMNS45LDEwLjQ4N1Y3LjgzM0wzLjYyMyw2LjUsMS4zMzcsNy43ODN2LjkyNEgwVjcuMTY0TDIuOTksNS4zOVYyLjAxTDYuNDk0LDAsMTAsMi4wMVY1LjMxOGwyLjk5LDEuODQ2djQuMDJsLTMuNSwyLjAwOVpNOS40LDYuNiw3LjE1OSw3Ljg4MnYyLjU3M0w5LjQsMTEuNzRsMi4yNDItMS4yODZWNy44ODJMOS40LDYuNlpNNi41MzksMS40MDhsLTIuMywxLjMxOFY1LjM2MmwyLjMsMS4zMTcsMi4zLTEuMzE3VjIuNzI2bC0yLjMtMS4zMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDcuMzE0IDEyNDIuNjc4KSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTggMTgiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEsIC5jbHMtMiB7CiAgICAgICAgZmlsbDogIzIwMjUyZDsKICAgICAgfQoKICAgICAgLmNscy0xIHsKICAgICAgICBjbGlwLXJ1bGU6IGV2ZW5vZGQ7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcC1wYXRoKTsKICAgICAgfQoKICAgICAgLmNscy01IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcC1wYXRoLTIpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cGF0aCBpZD0i6Lev5b6EXzUxMDgiIGRhdGEtbmFtZT0i6Lev5b6EIDUxMDgiIGNsYXNzPSJjbHMtMSIgZD0iTTUuMzc2LTEzLjUyN2wzLjAzNiwzLjIxNi45NDUtLjg4NUw3Ljc3OS0xMi44NUgxM3YtMS4zSDcuNzc5bDEuNTc4LTEuNjg1LS45NDUtLjg3NlpNNi41LTdIMFYtMjBINi41djIuNkg1LjJ2LTEuM0gxLjNWLTguM0g1LjJWLTkuNkg2LjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIi8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMiI+CiAgICAgIDxwYXRoIGlkPSLot6/lvoRfNTEwNyIgZGF0YS1uYW1lPSLot6/lvoQgNTEwNyIgY2xhc3M9ImNscy0yIiBkPSJNLTIyMCwzODlINTNWLTQwSC0yMjBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjAgNDApIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0icmVjaWV2ZWQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtMzMpIj4KICAgIDxyZWN0IGlkPSLnn6nlvaJfMzY3MyIgZGF0YS1uYW1lPSLnn6nlvaIgMzY3MyIgY2xhc3M9ImNscy0zIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxIDMzKSIvPgogICAgPGcgaWQ9Iue7hF8yOTY0IiBkYXRhLW5hbWU9Iue7hCAyOTY0IiBjbGFzcz0iY2xzLTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzLjUgNDguNSkgcm90YXRlKC05MCkiPgogICAgICA8ZyBpZD0i57uEXzI5NjMiIGRhdGEtbmFtZT0i57uEIDI5NjMiIGNsYXNzPSJjbHMtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0MyAtMzMpIj4KICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzUxMDYiIGRhdGEtbmFtZT0i6Lev5b6EIDUxMDYiIGNsYXNzPSJjbHMtMiIgZD0iTS01LTUuNUgxNC41Vi0yNUgtNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NC43NSAzNC43NSkiLz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTggMTgiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcGF0aCk7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogIzIwMjUyZDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4KICAgICAgPHJlY3QgaWQ9IuefqeW9ol8zNjczIiBkYXRhLW5hbWU9IuefqeW9oiAzNjczIiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgMTE3KSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9InJldGlyZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC0xMTcpIj4KICAgIDxnIGlkPSLokpnniYjnu4RfNjYiIGRhdGEtbmFtZT0i6JKZ54mI57uEIDY2IiBjbGFzcz0iY2xzLTIiPgogICAgICA8ZyBpZD0i57uEXzI5NjciIGRhdGEtbmFtZT0i57uEIDI5NjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xODMuNyAtMTEyMy4xNzgpIj4KICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzQ5NTUiIGRhdGEtbmFtZT0i6Lev5b6EIDQ5NTUiIGNsYXNzPSJjbHMtMyIgZD0iTTMuNTA4LDBIMi4yMjZWMi4xNTlIMFYzLjQ0MUgyLjIyNlY1LjZIMy41MDhWMy40NDFINS43NDFWMi4xNTlIMy41MDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDcuOTE1IDEyNTAuOTMpIHJvdGF0ZSg0NSkiLz4KICAgICAgICA8cGF0aCBpZD0i5YeP5Y67XzE0IiBkYXRhLW5hbWU9IuWHj+WOuyAxNCIgY2xhc3M9ImNscy0zIiBkPSJNOS40ODUsMTMuMmgwTDYuNSwxMS41LDQuMjksMTIuOTNWMTEuNkw1LjksMTAuNDg5VjcuODM1TDMuNjI0LDYuNSwxLjMzOCw3Ljc4NHYuOTI0SDBWNy4xNjZMMi45OSw1LjM5MVYyLjAxTDYuNSwwLDEwLDIuMDFWNS4zMmwyLjk5LDEuODQ2djQuMDIxTDkuNDg2LDEzLjJaTTkuNCw2LjYsNy4xNjEsNy44ODN2Mi41NzNMOS40LDExLjc0M2wyLjI0Mi0xLjI4NlY3Ljg4M0w5LjQsNi42Wk02LjU0MSwxLjQwOGwtMi4zLDEuMzE4VjUuMzYzbDIuMywxLjMxOCwyLjMtMS4zMThWMi43MjdsLTIuMy0xLjMxOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0Ny4yNzIgMTI0Mi42NzgpIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMjAyNTJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0ic2VudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC02MSkiPgogICAgPHJlY3QgaWQ9IuefqeW9ol8zNjczIiBkYXRhLW5hbWU9IuefqeW9oiAzNjczIiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNjEpIi8+CiAgICA8cGF0aCBpZD0i6IGU5ZCIXzEyMCIgZGF0YS1uYW1lPSLogZTlkIggMTIwIiBjbGFzcz0iY2xzLTIiIGQ9Ik0tMjkxMy00OTgwdi02LjVoMi42djEuM2gtMS4zdjMuOWgxMC40di0zLjloLTEuM3YtMS4zaDIuNnY2LjVabTUuODI4LTUuMzc3di01LjIyMWwtMS42NTQsMS41NzgtLjg4Ni0uOTQ1LDMuMjE3LTMuMDM2LDMuMTg0LDMuMDM2LS44NzcuOTQ1LTEuNjg0LTEuNTc4djUuMjIxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjk3Ni41IDUwNTYuNSkiLz4KICA8L2c+Cjwvc3ZnPgo=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTM2OTA4NTQwNjEyIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE4NDUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTE1LjQ3OTE2NSA2Ni45MjI3NTRjLTI0My41NDE1MjEgMC00NDEuMDM1Mjc1IDE5Ny4zOTE0MjYtNDQxLjAzNTI3NiA0NDEuMDM1Mjc1czE5Ny4zOTE0MjYgNDQxLjAzNTI3NSA0NDEuMDM1Mjc2IDQ0MS4wMzUyNzYgNDQxLjAzNTI3NS0xOTcuMzkxNDI2IDQ0MS4wMzUyNzUtNDQxLjAzNTI3Ni0xOTcuNDkzNzU0LTQ0MS4wMzUyNzUtNDQxLjAzNTI3NS00NDEuMDM1Mjc1eiBtMjY2Ljc3MDA2MSAzMzYuMjUxMDI0TDQ4Ni4zMTU1NzkgNjk5LjEwNzQyNWMtNy43NzY5NTYgNy43NzY5NTYtMTcuOTA3NDY1IDExLjY2NTQzNC0yOC4wMzc5NzMgMTEuNjY1NDM0LTEwLjEzMDUwOSAwLTIwLjI2MTAxNy0zLjg4ODQ3OC0yOC4wMzc5NzQtMTEuNjY1NDM0TDI4NS4wMzU2NzUgNTU0LjAwNTc5NmMtMTUuNTUzOTEyLTE1LjQ1MTU4NC0xNS41NTM5MTItNDAuNjI0MzYzIDAtNTYuMDc1OTQ3IDE1LjU1MzkxMi0xNS41NTM5MTIgNDAuNjI0MzYzLTE1LjU1MzkxMiA1Ni4wNzU5NDcgMGwxMTcuMDYzNjU1IDExNy4wNjM2NTYgMjY3Ljc5MzM0NS0yNjcuNzkzMzQ1YzE1LjU1MzkxMi0xNS41NTM5MTIgNDAuNjI0MzYzLTE1LjU1MzkxMiA1Ni4wNzU5NDcgMCAxNS42NTYyNDEgMTUuMzQ5MjU2IDE1LjY1NjI0MSA0MC41MjIwMzUgMC4yMDQ2NTcgNTUuOTczNjE4eiIgcC1pZD0iMTg0NiIgZmlsbD0iI2RmZjBkMyI+PC9wYXRoPjwvc3ZnPg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJ2b3RlLWNhbmNlbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC01KSI+CiAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM2OTQiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM2OTQiIGNsYXNzPSJjbHMtMSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MSA1KSIvPgogICAgPHBhdGggaWQ9ImluYm94X2Nsb3NlIiBjbGFzcz0iY2xzLTIiIGQ9Ik0xNTEuNywxNDIuNmgtLjY1VjE0MGgtOS4xdjIuNmgtLjY1bC0xLjMsMy44NDZWMTUzaDEzdi02LjU1NFptLTguNDUtMS4zaDYuNXY1LjJIMTQ3Ljh2Mi42aC0yLjZ2LTIuNmgtMS45NVptLTEuMywzLjJ2MmgtLjY1Wm05Ljc1LDcuMkgxNDEuM3YtMy45aDIuNnYyLjZoNS4ydi0yLjZoMi42Wm0tLjY1LTUuMnYtMmwuNjUsMlptLTUuNDY5LS43NjItLjkxOS0uOTE5LjkxOS0uOTE5LS45MTktLjkxOS45MTktLjkxOS45MTkuOTE5LjkxOS0uOTE5LjkxOS45MTktLjkxOS45MTkuOTE5LjkxOS0uOTE5LjkxOS0uOTE5LS45MTlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzYuNSAtMTMyLjUpIi8+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJ2b3RlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjEgLTUpIj4KICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzY5NCIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzY5NCIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxIDUpIi8+CiAgICA8cGF0aCBpZD0iaW5ib3hfcGFwZXIiIGNsYXNzPSJjbHMtMiIgZD0iTTE4MCwxMTNoMTN2LTYuNWwtMS4zLTMuOWgtLjY1VjEwMGgtOS4xdjIuNmgtLjY1bC0xLjMsMy45Wm05Ljc1LTYuNUgxODcuOHYyLjZoLTIuNnYtMi42aC0xLjk1di01LjJoNi41Wm0tNy44LTEuOTV2MS45NWgtLjY1Wm05Ljc1LDMuMjV2My45SDE4MS4zdi0zLjloMi42djIuNmg1LjJ2LTIuNlptLS42NS0xLjN2LTEuOTVsLjY1LDEuOTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTE2LjUgLTkyLjUpIi8+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy44MTcgMjEuMzAxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmVhYTE3OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBpZD0i6K2m5ZGKIiBjbGFzcz0iY2xzLTEiIGQ9Ik0xOTUuNiwyMTUuNzU5bC05LjM3NC0xNi4yNWEyLjUxNywyLjUxNywwLDAsMC00LjM2NCwwbC05LjM4OCwxNi4yNWEyLjUxNywyLjUxNywwLDAsMCwwLDIuNTI1LDIuNDg1LDIuNDg1LDAsMCwwLDIuMTgyLDEuMjYzaDE4Ljc3NWEyLjUxNCwyLjUxNCwwLDAsMCwyLjE2OS0zLjc4OFptLTExLjU3LDEuNDU1YTEuNTc4LDEuNTc4LDAsMSwxLDEuNTc4LTEuNTc4QTEuNTc5LDEuNTc5LDAsMCwxLDE4NC4wMywyMTcuMjE0Wm0xLjI0OS01LjM5NGExLjA0OCwxLjA0OCwwLDAsMS0xLjA0My45NzRoLS40YTEuMDM5LDEuMDM5LDAsMCwxLTEuMDQzLS45NzRsLS41MDgtNy40MzlhMS4wNTQsMS4wNTQsMCwwLDEsMS4wNDMtMS4xMjVoMS40MjdhMS4wNTQsMS4wNTQsMCwwLDEsMS4wNDMsMS4xMjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjEzNSAtMTk4LjI0NikiLz4KPC9zdmc+Cg==\"},677,[1706,1699,109],function(e,t){(function(t){var n,r=t.crypto||t.msCrypto;if(r&&r.getRandomValues){var o=new Uint8Array(16);n=function(){return r.getRandomValues(o),o}}if(!n){var i=new Array(16);n=function(){for(var e,t=0;t<16;t++)0===(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}e.exports=n}).call(t,function(){return this}())},function(e,t){e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,menuitem:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},function(e,t){function n(e,t,n){return r.yubl(t((n||r.yufull)(e)))}t._getPrivFilters=function(){function e(e){var t=e.split(w,2);return!t[0]||2!==t.length&&e.length===t[0].length?null:t[0]}function t(e,t,n,r){function o(e,n,o,a){return n?(n=Number(n[0]<=\"9\"?n:\"0\"+n),r?T(n):128===n?\"€\":130===n?\"‚\":131===n?\"ƒ\":132===n?\"„\":133===n?\"…\":134===n?\"†\":135===n?\"‡\":136===n?\"ˆ\":137===n?\"‰\":138===n?\"Š\":139===n?\"‹\":140===n?\"Œ\":142===n?\"Ž\":145===n?\"‘\":146===n?\"’\":147===n?\"“\":148===n?\"”\":149===n?\"•\":150===n?\"–\":151===n?\"—\":152===n?\"˜\":153===n?\"™\":154===n?\"š\":155===n?\"›\":156===n?\"œ\":158===n?\"ž\":159===n?\"Ÿ\":n>=55296&&n<=57343||13===n?\"�\":i.frCoPt(n)):t[o||a]||e}return t=t||m,n=n||h,void 0===e?\"undefined\":null===e?\"null\":e.toString().replace(c,\"�\").replace(n,o)}function n(e){return\"\\\\\"+e.charCodeAt(0).toString(16).toLowerCase()+\" \"}function r(e){return e.replace(y,function(e){return\"-x-\"+e})}function o(n){n=i.yufull(t(n));var r=e(n);return r&&A[r.toLowerCase()]?\"##\"+n:n}var i,a=/</g,s=/\"/g,u=/'/g,l=/&/g,c=/\\x00/g,d=/(?:^$|[\\x00\\x09-\\x0D \"'`=<>])/g,f=/[&<>\"'`]/g,p=/(?:\\x00|^-*!?>|--!?>|--?!?$|\\]>|\\]$)/g,h=/&(?:#([xX][0-9A-Fa-f]+|\\d+);?|(Tab|NewLine|colon|semi|lpar|rpar|apos|sol|comma|excl|ast|midast|ensp|emsp|thinsp);|(nbsp|amp|AMP|lt|LT|gt|GT|quot|QUOT);?)/g,m={Tab:\"\\t\",NewLine:\"\\n\",colon:\":\",semi:\";\",lpar:\"(\",rpar:\")\",apos:\"'\",sol:\"/\",comma:\",\",excl:\"!\",ast:\"*\",midast:\"*\",ensp:\"\u2002\",emsp:\"\u2003\",thinsp:\"\u2009\",nbsp:\"\u00a0\",amp:\"&\",lt:\"<\",gt:\">\",quot:'\"',QUOT:'\"'},g=/^(?:(?!-*expression)#?[-\\w]+|[+-]?(?:\\d+|\\d*\\.\\d+)(?:r?em|ex|ch|cm|mm|in|px|pt|pc|%|vh|vw|vmin|vmax)?|!important|)$/i,_=/[\\x00-\\x1F\\x7F\\[\\]{}\\\\\"]/g,b=/[\\x00-\\x1F\\x7F\\[\\]{}\\\\']/g,y=/url[\\(\\u207D\\u208D]+/g,v=/['\\(\\)]/g,M=/\\/\\/%5[Bb]([A-Fa-f0-9:]+)%5[Dd]/,A={javascript:1,data:1,vbscript:1,mhtml:1,\"x-schema\":1},w=/(?::|&#[xX]0*3[aA];?|&#0*58;?|&colon;)/,C=/(?:^[\\x00-\\x20]+|[\\t\\n\\r\\x00]+)/g,E={Tab:\"\\t\",NewLine:\"\\n\"},L=function(e,t,n){return void 0===e?\"undefined\":null===e?\"null\":e.toString().replace(t,n)},T=String.fromCodePoint||function(e){return 0===arguments.length?\"\":e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,e%1024+56320))};return i={frCoPt:function(e){return void 0===e||null===e?\"\":!isFinite(e=Number(e))||e<=0||e>1114111||e>=1&&e<=8||e>=14&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||11===e||65535===(65535&e)||65534===(65535&e)?\"�\":T(e)},d:t,yup:function(n){return n=e(n.replace(c,\"\")),n?t(n,E,null,!0).replace(C,\"\").toLowerCase():null},y:function(e){return L(e,f,function(e){return\"&\"===e?\"&amp;\":\"<\"===e?\"&lt;\":\">\"===e?\"&gt;\":'\"'===e?\"&quot;\":\"'\"===e?\"&#39;\":\"&#96;\"})},ya:function(e){return L(e,l,\"&amp;\")},yd:function(e){return L(e,a,\"&lt;\")},yc:function(e){return L(e,p,function(e){return\"\\0\"===e?\"�\":\"--!\"===e||\"--\"===e||\"-\"===e||\"]\"===e?e+\" \":e.slice(0,-1)+\" >\"})},yavd:function(e){return L(e,s,\"&quot;\")},yavs:function(e){return L(e,u,\"&#39;\")},yavu:function(e){return L(e,d,function(e){return\"\\t\"===e?\"&#9;\":\"\\n\"===e?\"&#10;\":\"\\v\"===e?\"&#11;\":\"\\f\"===e?\"&#12;\":\"\\r\"===e?\"&#13;\":\" \"===e?\"&#32;\":\"=\"===e?\"&#61;\":\"<\"===e?\"&lt;\":\">\"===e?\"&gt;\":'\"'===e?\"&quot;\":\"'\"===e?\"&#39;\":\"`\"===e?\"&#96;\":\"�\"})},yu:encodeURI,yuc:encodeURIComponent,yubl:function(e){\nreturn A[i.yup(e)]?\"x-\"+e:e},yufull:function(e){return i.yu(e).replace(M,function(e,t){return\"//[\"+t+\"]\"})},yublf:function(e){return i.yubl(i.yufull(e))},yceu:function(e){return e=t(e),g.test(e)?e:\";-x:'\"+r(e.replace(b,n))+\"';-v:\"},yced:function(e){return r(t(e).replace(_,n))},yces:function(e){return r(t(e).replace(b,n))},yceuu:function(e){return o(e).replace(v,function(e){return\"'\"===e?\"\\\\27 \":\"(\"===e?\"%28\":\"%29\"})},yceud:function(e){return o(e)},yceus:function(e){return o(e).replace(u,\"\\\\27 \")}}};var r=t._privFilters=t._getPrivFilters();t.inHTMLData=r.yd,t.inHTMLComment=r.yc,t.inSingleQuotedAttr=r.yavs,t.inDoubleQuotedAttr=r.yavd,t.inUnQuotedAttr=r.yavu,t.uriInSingleQuotedAttr=function(e){return n(e,r.yavs)},t.uriInDoubleQuotedAttr=function(e){return n(e,r.yavd)},t.uriInUnQuotedAttr=function(e){return n(e,r.yavu)},t.uriInHTMLData=r.yufull,t.uriInHTMLComment=function(e){return r.yc(r.yufull(e))},t.uriPathInSingleQuotedAttr=function(e){return n(e,r.yavs,r.yu)},t.uriPathInDoubleQuotedAttr=function(e){return n(e,r.yavd,r.yu)},t.uriPathInUnQuotedAttr=function(e){return n(e,r.yavu,r.yu)},t.uriPathInHTMLData=r.yu,t.uriPathInHTMLComment=function(e){return r.yc(r.yu(e))},t.uriQueryInSingleQuotedAttr=t.uriPathInSingleQuotedAttr,t.uriQueryInDoubleQuotedAttr=t.uriPathInDoubleQuotedAttr,t.uriQueryInUnQuotedAttr=t.uriPathInUnQuotedAttr,t.uriQueryInHTMLData=t.uriPathInHTMLData,t.uriQueryInHTMLComment=t.uriPathInHTMLComment,t.uriComponentInSingleQuotedAttr=function(e){return r.yavs(r.yuc(e))},t.uriComponentInDoubleQuotedAttr=function(e){return r.yavd(r.yuc(e))},t.uriComponentInUnQuotedAttr=function(e){return r.yavu(r.yuc(e))},t.uriComponentInHTMLData=r.yuc,t.uriComponentInHTMLComment=function(e){return r.yc(r.yuc(e))},t.uriFragmentInSingleQuotedAttr=function(e){return r.yubl(r.yavs(r.yuc(e)))},t.uriFragmentInDoubleQuotedAttr=function(e){return r.yubl(r.yavd(r.yuc(e)))},t.uriFragmentInUnQuotedAttr=function(e){return r.yubl(r.yavu(r.yuc(e)))},t.uriFragmentInHTMLData=t.uriComponentInHTMLData,t.uriFragmentInHTMLComment=t.uriComponentInHTMLComment},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./account-active.png\":649,\"./asset-active.png\":650,\"./balance-active.png\":651,\"./client-active.png\":652,\"./core-active.png\":653,\"./federation-active.png\":654,\"./feed-active.png\":655,\"./help-active.png\":656,\"./mockhsm-active.png\":657,\"./network-active.png\":658,\"./settings-active.png\":659,\"./transaction-active.png\":661,\"./tutorial-active.png\":662,\"./unspent-active.png\":663};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=1704},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./account-active.png\":649,\"./account.png\":1661,\"./asset-active.png\":650,\"./asset.png\":1662,\"./balance-active.png\":651,\"./balance.png\":1663,\"./client-active.png\":652,\"./client.png\":1664,\"./core-active.png\":653,\"./core.png\":1665,\"./docs.png\":1666,\"./error.png\":1667,\"./federation-active.png\":654,\"./federation.png\":1668,\"./feed-active.png\":655,\"./feed.png\":1669,\"./help-active.png\":656,\"./help.png\":1670,\"./logout.png\":1671,\"./mockhsm-active.png\":657,\"./mockhsm.png\":1672,\"./network-active.png\":658,\"./network.png\":1673,\"./settings-active.png\":659,\"./settings.png\":660,\"./transaction-active.png\":661,\"./transaction.png\":1674,\"./tutorial-active.png\":662,\"./tutorial.png\":1675,\"./unspent-active.png\":663,\"./unspent.png\":1676};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=1705},function(e,t,n,r,o){(function(e,i,a){function s(e,n){var r={seen:[],stylize:l};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),b(n)?r.showHidden=n:n&&t._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),d(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?\"\x1b[\"+s.colors[n][0]+\"m\"+e+\"\x1b[\"+s.colors[n][1]+\"m\":e}function l(e,t){return e}function c(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function d(e,n,r){if(e.customInspect&&n&&S(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,e);return A(o)||(o=d(e,o,r)),o}var i=f(e,n);if(i)return i;var a=Object.keys(n),s=c(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),O(n)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return p(n);if(0===a.length){if(S(n)){var u=n.name?\": \"+n.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(E(n))return e.stylize(RegExp.prototype.toString.call(n),\"regexp\");if(T(n))return e.stylize(Date.prototype.toString.call(n),\"date\");if(O(n))return p(n)}var l=\"\",b=!1,y=[\"{\",\"}\"];if(_(n)&&(b=!0,y=[\"[\",\"]\"]),S(n)){var v=n.name?\": \"+n.name:\"\";l=\" [Function\"+v+\"]\"}if(E(n)&&(l=\" \"+RegExp.prototype.toString.call(n)),T(n)&&(l=\" \"+Date.prototype.toUTCString.call(n)),O(n)&&(l=\" \"+p(n)),0===a.length&&(!b||0==n.length))return y[0]+l+y[1];if(r<0)return E(n)?e.stylize(RegExp.prototype.toString.call(n),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(n);var M;return M=b?h(e,n,r,s,a):a.map(function(t){return m(e,n,r,s,t,b)}),e.seen.pop(),g(M,l,y)}function f(e,t){if(C(t))return e.stylize(\"undefined\",\"undefined\");if(A(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}return M(t)?e.stylize(\"\"+t,\"number\"):b(t)?e.stylize(\"\"+t,\"boolean\"):y(t)?e.stylize(\"null\",\"null\"):void 0}function p(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function h(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)I(t,String(a))?i.push(m(e,t,n,r,String(a),!0)):i.push(\"\");return o.forEach(function(o){o.match(/^\\d+$/)||i.push(m(e,t,n,r,o,!0))}),i}function m(e,t,n,r,o,i){var a,s,u;if(u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]},u.get?s=u.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):u.set&&(s=e.stylize(\"[Setter]\",\"special\")),I(r,o)||(a=\"[\"+o+\"]\"),s||(e.seen.indexOf(u.value)<0?(s=y(n)?d(e,u.value,null):d(e,u.value,n-1),s.indexOf(\"\\n\")>-1&&(s=i?s.split(\"\\n\").map(function(e){return\"  \"+e}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(e){return\"   \"+e}).join(\"\\n\"))):s=e.stylize(\"[Circular]\",\"special\")),C(a)){if(i&&o.match(/^\\d+$/))return s;a=JSON.stringify(\"\"+o),a.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function g(e,t,n){var r=0,o=e.reduce(function(e,t){return r++,t.indexOf(\"\\n\")>=0&&r++,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return o>60?n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+n[1]:n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}function _(e){return Array.isArray(e)}function b(e){return\"boolean\"==typeof e}function y(e){return null===e}function v(e){return null==e}function M(e){return\"number\"==typeof e}function A(e){return\"string\"==typeof e}function w(e){return\"symbol\"==typeof e}function C(e){return void 0===e}function E(e){return L(e)&&\"[object RegExp]\"===k(e)}function L(e){return\"object\"==typeof e&&null!==e}function T(e){return L(e)&&\"[object Date]\"===k(e)}function O(e){return L(e)&&(\"[object Error]\"===k(e)||e instanceof Error)}function S(e){return\"function\"==typeof e}function N(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function k(e){return Object.prototype.toString.call(e)}function D(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function x(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(\":\");return[e.getDate(),B[e.getMonth()],t].join(\" \")}function I(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var z=/%[sdj%]/g;t.format=function(e){if(!A(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(\" \")}for(var n=1,r=arguments,o=r.length,i=String(e).replace(z,function(e){if(\"%%\"===e)return\"%\";if(n>=o)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}}),a=r[n];n<o;a=r[++n])i+=y(a)||!L(a)?\" \"+a:\" \"+s(a);return i},t.deprecate=function(n,r){function o(){if(!s){if(i.throwDeprecation)throw new Error(r);i.traceDeprecation?a.trace(r):a.error(r),s=!0}return n.apply(this,arguments)}if(C(e.process))return function(){return t.deprecate(n,r).apply(this,arguments)};if(i.noDeprecation===!0)return n;var s=!1;return o};var P,j={};t.debuglog=function(e){if(C(P)&&(P=i.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!j[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(P)){var n=i.pid;j[e]=function(){var r=t.format.apply(t,arguments);a.error(\"%s %d: %s\",e,n,r)}}else j[e]=function(){};return j[e]},t.inspect=s,s.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]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},t.isArray=_,t.isBoolean=b,t.isNull=y,t.isNullOrUndefined=v,t.isNumber=M,t.isString=A,t.isSymbol=w,t.isUndefined=C,t.isRegExp=E,t.isObject=L,t.isDate=T,t.isError=O,t.isFunction=S,t.isPrimitive=N,t.isBuffer=n(r);var B=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];t.log=function(){a.log(\"%s - %s\",x(),t.format.apply(t,arguments))},t.inherits=n(o),t._extend=function(e,t){if(!t||!L(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(t,function(){return this}(),n(135),n(38))},function(e,t,n,r,o,i){\"use strict\";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.routes=t.reducers=t.actions=void 0;var s=n(r),u=a(s),l=n(o),c=a(l),d=n(i),f=a(d);t.actions=u.default,t.reducers=c.default,t.routes=f.default},function(e,t,n,r,o){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.reducers=t.actions=void 0;var a=n(r),s=i(a),u=n(o),l=i(u);t.actions=s.default,t.reducers=l.default},function(e,t,n,r,o){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.routes=t.actions=void 0;var a=n(r),s=i(a),u=n(o),l=i(u);t.actions=s.default,t.routes=l.default},function(e,t,n,r){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.List=void 0;var i=n(r),a=o(i);t.List=a.default},function(e,t,n,r){var o=n(r);e.exports=function(e){if(!o(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i);e.exports=function(e){return function(t,n,r){var o,i=a(t),l=s(i.length),c=u(r,l);if(e&&n!=n){for(;l>c;)if(o=i[c++],o!=o)return!0}else for(;l>c;c++)if((e||c in i)&&i[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n,r,o){var i=n(r),a=n(o)(\"toStringTag\"),s=\"Arguments\"==i(function(){return arguments}()),u=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,r;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=u(t=Object(e),a))?n:s?i(t):\"Object\"==(r=i(t))&&\"function\"==typeof t.callee?\"Arguments\":r}},function(e,t,n,r,o){\"use strict\";var i=n(r),a=n(o);e.exports=function(e,t,n){t in e?i.f(e,t,a(0,n)):e[t]=n}},function(e,t,n,r){var o=n(r);e.exports=function(e,t,n){if(o(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n,r){e.exports=!n(r)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n,r,o){var i=n(r),a=n(o).document,s=i(a)&&i(a.createElement);e.exports=function(e){return s?a.createElement(e):{}}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i);e.exports=function(e){var t=a(e),n=s.f;if(n)for(var r,o=n(e),i=u.f,l=0;o.length>l;)i.call(e,r=o[l++])&&t.push(r);return t}},function(e,t,n,r,o,i){var a=n(r),s=n(o);e.exports=n(i)?function(e,t,n){return a.f(e,t,s(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n,r){var o=n(r).document;e.exports=o&&o.documentElement},function(e,t,n,r,o,i){e.exports=!n(r)&&!n(o)(function(){return 7!=Object.defineProperty(n(i)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n,r){var o=n(r);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==o(e)?e.split(\"\"):Object(e)}},function(e,t,n,r,o){var i=n(r),a=n(o)(\"iterator\"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||s[a]===e)}},function(e,t,n,r){var o=n(r);e.exports=Array.isArray||function(e){return\"Array\"==o(e)}},function(e,t,n,r){var o=n(r);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&o(i.call(e)),t}}},function(e,t,n,r,o,i,a,s){\"use strict\";var u=n(r),l=n(o),c=n(i),d={};n(a)(d,n(s)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=u(d,{next:l(1,n)}),c(e,t+\" Iterator\")}},function(e,t,n,r,o,i,a,s,u,l,c,d){\"use strict\";var f=n(r),p=n(o),h=n(i),m=n(a),g=n(s),_=n(u),b=n(l),y=n(c),v=n(d)(\"iterator\"),M=!([].keys&&\"next\"in[].keys()),A=\"@@iterator\",w=\"keys\",C=\"values\",E=function(){return this};e.exports=function(e,t,n,r,o,i,a){_(n,t,r);var s,u,l,c=function(e){if(!M&&e in O)return O[e];switch(e){case w:return function(){return new n(this,e)};case C:return function(){return new n(this,e)}}return function(){return new n(this,e)}},d=t+\" Iterator\",L=o==C,T=!1,O=e.prototype,S=O[v]||O[A]||o&&O[o],N=S||c(o),k=o?L?c(\"entries\"):N:void 0,D=\"Array\"==t?O.entries||S:S;if(D&&(l=y(D.call(new e)),l!==Object.prototype&&l.next&&(b(l,d,!0),f||\"function\"==typeof l[v]||m(l,v,E))),L&&S&&S.name!==C&&(T=!0,N=function(){return S.call(this)}),f&&!a||!M&&!T&&O[v]||m(O,v,N),g[t]=N,g[d]=E,o)if(s={values:L?N:c(C),keys:i?N:c(w),entries:k},a)for(u in s)u in O||h(O,u,s[u]);else p(p.P+p.F*(M||T),t,s);return s}},function(e,t,n,r){var o=n(r)(\"iterator\"),i=!1;try{var a=[7][o]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var r=[7],a=r[o]();a.next=function(){return{done:n=!0}},r[o]=function(){return a},e(r)}catch(e){}return n}},function(e,t,n,r,o,i,a,s){var u=n(r)(\"meta\"),l=n(o),c=n(i),d=n(a).f,f=0,p=Object.isExtensible||function(){return!0},h=!n(s)(function(){return p(Object.preventExtensions({}))}),m=function(e){d(e,u,{value:{i:\"O\"+ ++f,w:{}}})},g=function(e,t){if(!l(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!c(e,u)){if(!p(e))return\"F\";if(!t)return\"E\";m(e)}return e[u].i},_=function(e,t){if(!c(e,u)){if(!p(e))return!0;if(!t)return!1;m(e)}return e[u].w},b=function(e){return h&&y.NEED&&p(e)&&!c(e,u)&&m(e),e},y=e.exports={KEY:u,NEED:!1,fastKey:g,getWeak:_,onFreeze:b}},function(e,t,n,r,o,i,a,s,u){\"use strict\";var l=n(r),c=n(o),d=n(i),f=n(a),p=n(s),h=Object.assign;e.exports=!h||n(u)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=h({},e)[n]||Object.keys(h({},t)).join(\"\")!=r})?function(e,t){for(var n=f(e),r=arguments.length,o=1,i=c.f,a=d.f;r>o;)for(var s,u=p(arguments[o++]),h=i?l(u).concat(i(u)):l(u),m=h.length,g=0;m>g;)a.call(u,s=h[g++])&&(n[s]=u[s]);return n}:h},function(e,t,n,r,o,i,a,s,u){var l=n(r),c=n(o),d=n(i),f=n(a)(\"IE_PROTO\"),p=function(){},h=\"prototype\",m=function(){var e,t=n(s)(\"iframe\"),r=d.length,o=\"<\",i=\">\";for(t.style.display=\"none\",n(u).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(o+\"script\"+i+\"document.F=Object\"+o+\"/script\"+i),e.close(),m=e.F;r--;)delete m[h][d[r]];return m()};e.exports=Object.create||function(e,t){var n;return null!==e?(p[h]=l(e),n=new p,p[h]=null,n[f]=e):n=m(),void 0===t?n:c(n,t)}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=n(i),c=Object.defineProperty;t.f=n(a)?Object.defineProperty:function(e,t,n){if(s(e),t=l(t,!0),s(n),u)try{return c(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=n(i);e.exports=n(a)?Object.defineProperties:function(e,t){u(e);for(var n,r=l(t),o=r.length,i=0;o>i;)s.f(e,n=r[i++],t[n]);return e}},function(e,t,n,r,o,i,a,s,u,l){var c=n(r),d=n(o),f=n(i),p=n(a),h=n(s),m=n(u),g=Object.getOwnPropertyDescriptor;t.f=n(l)?g:function(e,t){if(e=f(e),t=p(t,!0),m)try{return g(e,t)}catch(e){}if(h(e,t))return d(!c.f.call(e,t),e[t])}},function(e,t,n,r,o){var i=n(r),a=n(o).f,s={}.toString,u=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],l=function(e){try{return a(e)}catch(e){return u.slice()}};e.exports.f=function(e){return u&&\"[object Window]\"==s.call(e)?l(e):a(i(e))}},function(e,t,n,r,o){var i=n(r),a=n(o).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return i(e,a)}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i)(\"IE_PROTO\"),l=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=s(e),a(e,u)?e[u]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=n(i)(!1),c=n(a)(\"IE_PROTO\");e.exports=function(e,t){var n,r=u(e),o=0,i=[];for(n in r)n!=c&&s(r,n)&&i.push(n);for(;t.length>o;)s(r,n=t[o++])&&(~l(i,n)||i.push(n));return i}},function(e,t,n,r,o){var i=n(r),a=n(o);e.exports=Object.keys||function(e){return i(e,a)}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i).f;e.exports=function(e){return function(t){for(var n,r=s(t),o=a(r),i=o.length,l=0,c=[];i>l;)u.call(r,n=o[l++])&&c.push(e?[n,r[n]]:r[n]);return c}}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=function(e,t){if(u(e),!s(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{r=n(i)(Function.call,n(a).f(Object.prototype,\"__proto__\").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return l(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:l}},function(e,t,n,r,o,i){var a=n(r).f,s=n(o),u=n(i)(\"toStringTag\");e.exports=function(e,t,n){e&&!s(e=n?e:e.prototype,u)&&a(e,u,{configurable:!0,value:t})}},function(e,t,n,r,o){var i=n(r)(\"keys\"),a=n(o);e.exports=function(e){return i[e]||(i[e]=a(e))}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=\"__core-js_shared__\",l=s[u]||(s[u]={});(e.exports=function(e,t){return l[e]||(l[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:a.version,mode:n(i)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(e,t,n,r,o){var i=n(r),a=n(o);e.exports=function(e){return function(t,n){var r,o,s=String(a(t)),u=i(n),l=s.length;return u<0||u>=l?e?\"\":void 0:(r=s.charCodeAt(u),r<55296||r>56319||u+1===l||(o=s.charCodeAt(u+1))<56320||o>57343?e?s.charAt(u):r:e?s.slice(u,u+2):(r-55296<<10)+(o-56320)+65536)}}},function(e,t,n,r){var o=n(r),i=Math.max,a=Math.min;e.exports=function(e,t){return e=o(e),e<0?i(e+t,0):a(e,t)}},function(e,t,n,r,o){var i=n(r),a=n(o);e.exports=function(e){return i(a(e))}},function(e,t,n,r){var o=n(r),i=Math.min;e.exports=function(e){return e>0?i(o(e),9007199254740991):0}},function(e,t,n,r){var o=n(r);e.exports=function(e){return Object(o(e))}},function(e,t,n,r){var o=n(r);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&\"function\"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if(\"function\"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&\"function\"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n,r,o,i,a,s){var u=n(r),l=n(o),c=n(i),d=n(a),f=n(s).f;e.exports=function(e){var t=l.Symbol||(l.Symbol=c?{}:u.Symbol||{});\"_\"==e.charAt(0)||e in t||f(t,e,{value:d.f(e)})}},function(e,t,n,r){t.f=n(r)},function(e,t,n,r,o,i){var a=n(r)(\"wks\"),s=n(o),u=n(i).Symbol,l=\"function\"==typeof u,c=e.exports=function(e){return a[e]||(a[e]=l&&u[e]||(l?u:s)(\"Symbol.\"+e))};c.store=a},function(e,t,n,r,o,i,a){var s=n(r),u=n(o)(\"iterator\"),l=n(i);e.exports=n(a).getIteratorMethod=function(e){if(void 0!=e)return e[u]||e[\"@@iterator\"]||l[s(e)]}},function(e,t,n,r,o,i,a,s,u,l,c,d){\"use strict\";var f=n(r),p=n(o),h=n(i),m=n(a),g=n(s),_=n(u),b=n(l),y=n(c);p(p.S+p.F*!n(d)(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,r,o,i=h(e),a=\"function\"==typeof this?this:Array,s=arguments.length,u=s>1?arguments[1]:void 0,l=void 0!==u,c=0,d=y(i);if(l&&(u=f(u,s>2?arguments[2]:void 0,2)),void 0==d||a==Array&&g(d))for(t=_(i.length),n=new a(t);t>c;c++)b(n,c,l?u(i[c],c):i[c]);else for(o=d.call(i),n=new a;!(r=o.next()).done;c++)b(n,c,l?m(o,u,[r.value,c],!0):r.value);return n.length=c,n}})},function(e,t,n,r,o,i,a,s){\"use strict\";var u=n(r),l=n(o),c=n(i),d=n(a);e.exports=n(s)(Array,\"Array\",function(e,t){this._t=d(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,l(1)):\"keys\"==t?l(0,n):\"values\"==t?l(0,e[n]):l(0,[n,e[n]])},\"values\"),c.Arguments=c.Array,u(\"keys\"),u(\"values\"),u(\"entries\")},function(e,t,n,r,o){var i=n(r);i(i.S+i.F,\"Object\",{assign:n(o)})},function(e,t,n,r,o){var i=n(r);i(i.S,\"Object\",{create:n(o)})},function(e,t,n,r,o){var i=n(r);i(i.S,\"Object\",{setPrototypeOf:n(o).set})},function(e,t,n,r,o){\"use strict\";var i=n(r)(!0);n(o)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=i(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n,r,o,i,a,s,u,l,c,d,f,p,h,m,g,_,b,y,v,M,A,w,C,E,L,T,O,S,N,k,D){\"use strict\";var x=n(r),I=n(o),z=n(i),P=n(a),j=n(s),B=n(u).KEY,F=n(l),R=n(c),W=n(d),Y=n(f),H=n(p),q=n(h),U=n(m),X=n(g),V=n(_),G=n(b),$=n(y),K=n(v),Q=n(M),Z=n(A),J=n(w),ee=n(C),te=n(E),ne=n(L),re=n(T),oe=te.f,ie=ne.f,ae=ee.f,se=x.Symbol,ue=x.JSON,le=ue&&ue.stringify,ce=\"prototype\",de=H(\"_hidden\"),fe=H(\"toPrimitive\"),pe={}.propertyIsEnumerable,he=R(\"symbol-registry\"),me=R(\"symbols\"),ge=R(\"op-symbols\"),_e=Object[ce],be=\"function\"==typeof se,ye=x.QObject,ve=!ye||!ye[ce]||!ye[ce].findChild,Me=z&&F(function(){return 7!=J(ie({},\"a\",{get:function(){return ie(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=oe(_e,t);r&&delete _e[t],ie(e,t,n),r&&e!==_e&&ie(_e,t,r)}:ie,Ae=function(e){var t=me[e]=J(se[ce]);return t._k=e,t},we=be&&\"symbol\"==typeof se.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof se},Ce=function(e,t,n){return e===_e&&Ce(ge,t,n),G(e),t=Q(t,!0),G(n),I(me,t)?(n.enumerable?(I(e,de)&&e[de][t]&&(e[de][t]=!1),n=J(n,{enumerable:Z(0,!1)})):(I(e,de)||ie(e,de,Z(1,{})),e[de][t]=!0),Me(e,t,n)):ie(e,t,n)},Ee=function(e,t){G(e);for(var n,r=X(t=K(t)),o=0,i=r.length;i>o;)Ce(e,n=r[o++],t[n]);return e},Le=function(e,t){return void 0===t?J(e):Ee(J(e),t)},Te=function(e){var t=pe.call(this,e=Q(e,!0));return!(this===_e&&I(me,e)&&!I(ge,e))&&(!(t||!I(this,e)||!I(me,e)||I(this,de)&&this[de][e])||t)},Oe=function(e,t){if(e=K(e),t=Q(t,!0),e!==_e||!I(me,t)||I(ge,t)){var n=oe(e,t);return!n||!I(me,t)||I(e,de)&&e[de][t]||(n.enumerable=!0),n}},Se=function(e){for(var t,n=ae(K(e)),r=[],o=0;n.length>o;)I(me,t=n[o++])||t==de||t==B||r.push(t);return r},Ne=function(e){for(var t,n=e===_e,r=ae(n?ge:K(e)),o=[],i=0;r.length>i;)!I(me,t=r[i++])||n&&!I(_e,t)||o.push(me[t]);return o};be||(se=function(){if(this instanceof se)throw TypeError(\"Symbol is not a constructor!\");var e=Y(arguments.length>0?arguments[0]:void 0),t=function(n){this===_e&&t.call(ge,n),I(this,de)&&I(this[de],e)&&(this[de][e]=!1),Me(this,e,Z(1,n))};return z&&ve&&Me(_e,e,{configurable:!0,set:t}),Ae(e)},j(se[ce],\"toString\",function(){return this._k}),te.f=Oe,ne.f=Ce,n(O).f=ee.f=Se,n(S).f=Te,n(N).f=Ne,z&&!n(k)&&j(_e,\"propertyIsEnumerable\",Te,!0),q.f=function(e){return Ae(H(e))}),P(P.G+P.W+P.F*!be,{Symbol:se});for(var ke=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),De=0;ke.length>De;)H(ke[De++]);for(var xe=re(H.store),Ie=0;xe.length>Ie;)U(xe[Ie++]);P(P.S+P.F*!be,\"Symbol\",{for:function(e){return I(he,e+=\"\")?he[e]:he[e]=se(e)},keyFor:function(e){if(!we(e))throw TypeError(e+\" is not a symbol!\");for(var t in he)if(he[t]===e)return t},useSetter:function(){ve=!0},useSimple:function(){ve=!1}}),P(P.S+P.F*!be,\"Object\",{create:Le,defineProperty:Ce,defineProperties:Ee,getOwnPropertyDescriptor:Oe,getOwnPropertyNames:Se,getOwnPropertySymbols:Ne}),ue&&P(P.S+P.F*(!be||F(function(){var e=se();return\"[null]\"!=le([e])||\"{}\"!=le({a:e})||\"{}\"!=le(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],($(t)||void 0!==e)&&!we(e))return V(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!we(t))return t}),r[1]=t,le.apply(ue,r)}}),se[ce][fe]||n(D)(se[ce],fe,se[ce].valueOf),W(se,\"Symbol\"),W(Math,\"Math\",!0),W(x.JSON,\"JSON\",!0)},function(e,t,n,r,o){var i=n(r),a=n(o)(!0);i(i.S,\"Object\",{entries:function(e){return a(e)}})},function(e,t,n,r,o){var i=n(r),a=n(o)(!1);i(i.S,\"Object\",{values:function(e){return a(e)}})},function(e,t,n,r){n(r)(\"asyncIterator\")},function(e,t,n,r){n(r)(\"observable\")},function(e,t,n,r){e.exports=n(r).default},function(e,t,n,r){\"use strict\";var o=n(r),i=(n(17),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},s=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},u=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},l=function(e){var t=this;e instanceof t?void 0:o(\"25\"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,d=i,f=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||d,n.poolSize||(n.poolSize=c),n.release=l,n},p={addPoolingTo:f,oneArgumentPooler:i,twoArgumentPooler:a,threeArgumentPooler:s,fourArgumentPooler:u};e.exports=p}]));",
+"dashboard.1326e7c324c102ee825f6e9e64f9d560.css": "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@font-face{font-family:Glyphicons Halflings;src:url(/dashboard/f4769f9bdb7466be65088239c12046d1.eot);src:url(/dashboard/f4769f9bdb7466be65088239c12046d1.eot) format(\"embedded-opentype\"),url(/dashboard/448c34a56d699c29117adc64c43affeb.woff2) format(\"woff2\"),url(/dashboard/fa2772327f55d8198301fdb8bcfc8158.woff) format(\"woff\"),url(/dashboard/e18bbf611f2a2e43afc071aa2f4e1512.ttf) format(\"truetype\"),url(/dashboard/89889688147bd7575d6327160d64e760.svg) format(\"svg\")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:\"*\"}.glyphicon-plus:before{content:\"+\"}.glyphicon-eur:before,.glyphicon-euro:before{content:\"\\20AC\"}.glyphicon-minus:before{content:\"\\2212\"}.glyphicon-cloud:before{content:\"\\2601\"}.glyphicon-envelope:before{content:\"\\2709\"}.glyphicon-pencil:before{content:\"\\270F\"}.glyphicon-glass:before{content:\"\\E001\"}.glyphicon-music:before{content:\"\\E002\"}.glyphicon-search:before{content:\"\\E003\"}.glyphicon-heart:before{content:\"\\E005\"}.glyphicon-star:before{content:\"\\E006\"}.glyphicon-star-empty:before{content:\"\\E007\"}.glyphicon-user:before{content:\"\\E008\"}.glyphicon-film:before{content:\"\\E009\"}.glyphicon-th-large:before{content:\"\\E010\"}.glyphicon-th:before{content:\"\\E011\"}.glyphicon-th-list:before{content:\"\\E012\"}.glyphicon-ok:before{content:\"\\E013\"}.glyphicon-remove:before{content:\"\\E014\"}.glyphicon-zoom-in:before{content:\"\\E015\"}.glyphicon-zoom-out:before{content:\"\\E016\"}.glyphicon-off:before{content:\"\\E017\"}.glyphicon-signal:before{content:\"\\E018\"}.glyphicon-cog:before{content:\"\\E019\"}.glyphicon-trash:before{content:\"\\E020\"}.glyphicon-home:before{content:\"\\E021\"}.glyphicon-file:before{content:\"\\E022\"}.glyphicon-time:before{content:\"\\E023\"}.glyphicon-road:before{content:\"\\E024\"}.glyphicon-download-alt:before{content:\"\\E025\"}.glyphicon-download:before{content:\"\\E026\"}.glyphicon-upload:before{content:\"\\E027\"}.glyphicon-inbox:before{content:\"\\E028\"}.glyphicon-play-circle:before{content:\"\\E029\"}.glyphicon-repeat:before{content:\"\\E030\"}.glyphicon-refresh:before{content:\"\\E031\"}.glyphicon-list-alt:before{content:\"\\E032\"}.glyphicon-lock:before{content:\"\\E033\"}.glyphicon-flag:before{content:\"\\E034\"}.glyphicon-headphones:before{content:\"\\E035\"}.glyphicon-volume-off:before{content:\"\\E036\"}.glyphicon-volume-down:before{content:\"\\E037\"}.glyphicon-volume-up:before{content:\"\\E038\"}.glyphicon-qrcode:before{content:\"\\E039\"}.glyphicon-barcode:before{content:\"\\E040\"}.glyphicon-tag:before{content:\"\\E041\"}.glyphicon-tags:before{content:\"\\E042\"}.glyphicon-book:before{content:\"\\E043\"}.glyphicon-bookmark:before{content:\"\\E044\"}.glyphicon-print:before{content:\"\\E045\"}.glyphicon-camera:before{content:\"\\E046\"}.glyphicon-font:before{content:\"\\E047\"}.glyphicon-bold:before{content:\"\\E048\"}.glyphicon-italic:before{content:\"\\E049\"}.glyphicon-text-height:before{content:\"\\E050\"}.glyphicon-text-width:before{content:\"\\E051\"}.glyphicon-align-left:before{content:\"\\E052\"}.glyphicon-align-center:before{content:\"\\E053\"}.glyphicon-align-right:before{content:\"\\E054\"}.glyphicon-align-justify:before{content:\"\\E055\"}.glyphicon-list:before{content:\"\\E056\"}.glyphicon-indent-left:before{content:\"\\E057\"}.glyphicon-indent-right:before{content:\"\\E058\"}.glyphicon-facetime-video:before{content:\"\\E059\"}.glyphicon-picture:before{content:\"\\E060\"}.glyphicon-map-marker:before{content:\"\\E062\"}.glyphicon-adjust:before{content:\"\\E063\"}.glyphicon-tint:before{content:\"\\E064\"}.glyphicon-edit:before{content:\"\\E065\"}.glyphicon-share:before{content:\"\\E066\"}.glyphicon-check:before{content:\"\\E067\"}.glyphicon-move:before{content:\"\\E068\"}.glyphicon-step-backward:before{content:\"\\E069\"}.glyphicon-fast-backward:before{content:\"\\E070\"}.glyphicon-backward:before{content:\"\\E071\"}.glyphicon-play:before{content:\"\\E072\"}.glyphicon-pause:before{content:\"\\E073\"}.glyphicon-stop:before{content:\"\\E074\"}.glyphicon-forward:before{content:\"\\E075\"}.glyphicon-fast-forward:before{content:\"\\E076\"}.glyphicon-step-forward:before{content:\"\\E077\"}.glyphicon-eject:before{content:\"\\E078\"}.glyphicon-chevron-left:before{content:\"\\E079\"}.glyphicon-chevron-right:before{content:\"\\E080\"}.glyphicon-plus-sign:before{content:\"\\E081\"}.glyphicon-minus-sign:before{content:\"\\E082\"}.glyphicon-remove-sign:before{content:\"\\E083\"}.glyphicon-ok-sign:before{content:\"\\E084\"}.glyphicon-question-sign:before{content:\"\\E085\"}.glyphicon-info-sign:before{content:\"\\E086\"}.glyphicon-screenshot:before{content:\"\\E087\"}.glyphicon-remove-circle:before{content:\"\\E088\"}.glyphicon-ok-circle:before{content:\"\\E089\"}.glyphicon-ban-circle:before{content:\"\\E090\"}.glyphicon-arrow-left:before{content:\"\\E091\"}.glyphicon-arrow-right:before{content:\"\\E092\"}.glyphicon-arrow-up:before{content:\"\\E093\"}.glyphicon-arrow-down:before{content:\"\\E094\"}.glyphicon-share-alt:before{content:\"\\E095\"}.glyphicon-resize-full:before{content:\"\\E096\"}.glyphicon-resize-small:before{content:\"\\E097\"}.glyphicon-exclamation-sign:before{content:\"\\E101\"}.glyphicon-gift:before{content:\"\\E102\"}.glyphicon-leaf:before{content:\"\\E103\"}.glyphicon-fire:before{content:\"\\E104\"}.glyphicon-eye-open:before{content:\"\\E105\"}.glyphicon-eye-close:before{content:\"\\E106\"}.glyphicon-warning-sign:before{content:\"\\E107\"}.glyphicon-plane:before{content:\"\\E108\"}.glyphicon-calendar:before{content:\"\\E109\"}.glyphicon-random:before{content:\"\\E110\"}.glyphicon-comment:before{content:\"\\E111\"}.glyphicon-magnet:before{content:\"\\E112\"}.glyphicon-chevron-up:before{content:\"\\E113\"}.glyphicon-chevron-down:before{content:\"\\E114\"}.glyphicon-retweet:before{content:\"\\E115\"}.glyphicon-shopping-cart:before{content:\"\\E116\"}.glyphicon-folder-close:before{content:\"\\E117\"}.glyphicon-folder-open:before{content:\"\\E118\"}.glyphicon-resize-vertical:before{content:\"\\E119\"}.glyphicon-resize-horizontal:before{content:\"\\E120\"}.glyphicon-hdd:before{content:\"\\E121\"}.glyphicon-bullhorn:before{content:\"\\E122\"}.glyphicon-bell:before{content:\"\\E123\"}.glyphicon-certificate:before{content:\"\\E124\"}.glyphicon-thumbs-up:before{content:\"\\E125\"}.glyphicon-thumbs-down:before{content:\"\\E126\"}.glyphicon-hand-right:before{content:\"\\E127\"}.glyphicon-hand-left:before{content:\"\\E128\"}.glyphicon-hand-up:before{content:\"\\E129\"}.glyphicon-hand-down:before{content:\"\\E130\"}.glyphicon-circle-arrow-right:before{content:\"\\E131\"}.glyphicon-circle-arrow-left:before{content:\"\\E132\"}.glyphicon-circle-arrow-up:before{content:\"\\E133\"}.glyphicon-circle-arrow-down:before{content:\"\\E134\"}.glyphicon-globe:before{content:\"\\E135\"}.glyphicon-wrench:before{content:\"\\E136\"}.glyphicon-tasks:before{content:\"\\E137\"}.glyphicon-filter:before{content:\"\\E138\"}.glyphicon-briefcase:before{content:\"\\E139\"}.glyphicon-fullscreen:before{content:\"\\E140\"}.glyphicon-dashboard:before{content:\"\\E141\"}.glyphicon-paperclip:before{content:\"\\E142\"}.glyphicon-heart-empty:before{content:\"\\E143\"}.glyphicon-link:before{content:\"\\E144\"}.glyphicon-phone:before{content:\"\\E145\"}.glyphicon-pushpin:before{content:\"\\E146\"}.glyphicon-usd:before{content:\"\\E148\"}.glyphicon-gbp:before{content:\"\\E149\"}.glyphicon-sort:before{content:\"\\E150\"}.glyphicon-sort-by-alphabet:before{content:\"\\E151\"}.glyphicon-sort-by-alphabet-alt:before{content:\"\\E152\"}.glyphicon-sort-by-order:before{content:\"\\E153\"}.glyphicon-sort-by-order-alt:before{content:\"\\E154\"}.glyphicon-sort-by-attributes:before{content:\"\\E155\"}.glyphicon-sort-by-attributes-alt:before{content:\"\\E156\"}.glyphicon-unchecked:before{content:\"\\E157\"}.glyphicon-expand:before{content:\"\\E158\"}.glyphicon-collapse-down:before{content:\"\\E159\"}.glyphicon-collapse-up:before{content:\"\\E160\"}.glyphicon-log-in:before{content:\"\\E161\"}.glyphicon-flash:before{content:\"\\E162\"}.glyphicon-log-out:before{content:\"\\E163\"}.glyphicon-new-window:before{content:\"\\E164\"}.glyphicon-record:before{content:\"\\E165\"}.glyphicon-save:before{content:\"\\E166\"}.glyphicon-open:before{content:\"\\E167\"}.glyphicon-saved:before{content:\"\\E168\"}.glyphicon-import:before{content:\"\\E169\"}.glyphicon-export:before{content:\"\\E170\"}.glyphicon-send:before{content:\"\\E171\"}.glyphicon-floppy-disk:before{content:\"\\E172\"}.glyphicon-floppy-saved:before{content:\"\\E173\"}.glyphicon-floppy-remove:before{content:\"\\E174\"}.glyphicon-floppy-save:before{content:\"\\E175\"}.glyphicon-floppy-open:before{content:\"\\E176\"}.glyphicon-credit-card:before{content:\"\\E177\"}.glyphicon-transfer:before{content:\"\\E178\"}.glyphicon-cutlery:before{content:\"\\E179\"}.glyphicon-header:before{content:\"\\E180\"}.glyphicon-compressed:before{content:\"\\E181\"}.glyphicon-earphone:before{content:\"\\E182\"}.glyphicon-phone-alt:before{content:\"\\E183\"}.glyphicon-tower:before{content:\"\\E184\"}.glyphicon-stats:before{content:\"\\E185\"}.glyphicon-sd-video:before{content:\"\\E186\"}.glyphicon-hd-video:before{content:\"\\E187\"}.glyphicon-subtitles:before{content:\"\\E188\"}.glyphicon-sound-stereo:before{content:\"\\E189\"}.glyphicon-sound-dolby:before{content:\"\\E190\"}.glyphicon-sound-5-1:before{content:\"\\E191\"}.glyphicon-sound-6-1:before{content:\"\\E192\"}.glyphicon-sound-7-1:before{content:\"\\E193\"}.glyphicon-copyright-mark:before{content:\"\\E194\"}.glyphicon-registration-mark:before{content:\"\\E195\"}.glyphicon-cloud-download:before{content:\"\\E197\"}.glyphicon-cloud-upload:before{content:\"\\E198\"}.glyphicon-tree-conifer:before{content:\"\\E199\"}.glyphicon-tree-deciduous:before{content:\"\\E200\"}.glyphicon-cd:before{content:\"\\E201\"}.glyphicon-save-file:before{content:\"\\E202\"}.glyphicon-open-file:before{content:\"\\E203\"}.glyphicon-level-up:before{content:\"\\E204\"}.glyphicon-copy:before{content:\"\\E205\"}.glyphicon-paste:before{content:\"\\E206\"}.glyphicon-alert:before{content:\"\\E209\"}.glyphicon-equalizer:before{content:\"\\E210\"}.glyphicon-king:before{content:\"\\E211\"}.glyphicon-queen:before{content:\"\\E212\"}.glyphicon-pawn:before{content:\"\\E213\"}.glyphicon-bishop:before{content:\"\\E214\"}.glyphicon-knight:before{content:\"\\E215\"}.glyphicon-baby-formula:before{content:\"\\E216\"}.glyphicon-tent:before{content:\"\\26FA\"}.glyphicon-blackboard:before{content:\"\\E218\"}.glyphicon-bed:before{content:\"\\E219\"}.glyphicon-apple:before{content:\"\\F8FF\"}.glyphicon-erase:before{content:\"\\E221\"}.glyphicon-hourglass:before{content:\"\\231B\"}.glyphicon-lamp:before{content:\"\\E223\"}.glyphicon-duplicate:before{content:\"\\E224\"}.glyphicon-piggy-bank:before{content:\"\\E225\"}.glyphicon-scissors:before{content:\"\\E226\"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:\"\\E227\"}.glyphicon-jpy:before,.glyphicon-yen:before{content:\"\\A5\"}.glyphicon-rub:before,.glyphicon-ruble:before{content:\"\\20BD\"}.glyphicon-scale:before{content:\"\\E230\"}.glyphicon-ice-lolly:before{content:\"\\E231\"}.glyphicon-ice-lolly-tasted:before{content:\"\\E232\"}.glyphicon-education:before{content:\"\\E233\"}.glyphicon-option-horizontal:before{content:\"\\E234\"}.glyphicon-option-vertical:before{content:\"\\E235\"}.glyphicon-menu-hamburger:before{content:\"\\E236\"}.glyphicon-modal-window:before{content:\"\\E237\"}.glyphicon-oil:before{content:\"\\E238\"}.glyphicon-grain:before{content:\"\\E239\"}.glyphicon-sunglasses:before{content:\"\\E240\"}.glyphicon-text-size:before{content:\"\\E241\"}.glyphicon-text-color:before{content:\"\\E242\"}.glyphicon-text-background:before{content:\"\\E243\"}.glyphicon-object-align-top:before{content:\"\\E244\"}.glyphicon-object-align-bottom:before{content:\"\\E245\"}.glyphicon-object-align-horizontal:before{content:\"\\E246\"}.glyphicon-object-align-left:before{content:\"\\E247\"}.glyphicon-object-align-vertical:before{content:\"\\E248\"}.glyphicon-object-align-right:before{content:\"\\E249\"}.glyphicon-triangle-right:before{content:\"\\E250\"}.glyphicon-triangle-left:before{content:\"\\E251\"}.glyphicon-triangle-bottom:before{content:\"\\E252\"}.glyphicon-triangle-top:before{content:\"\\E253\"}.glyphicon-console:before{content:\"\\E254\"}.glyphicon-superscript:before{content:\"\\E255\"}.glyphicon-subscript:before{content:\"\\E256\"}.glyphicon-menu-left:before{content:\"\\E257\"}.glyphicon-menu-right:before{content:\"\\E258\"}.glyphicon-menu-down:before{content:\"\\E259\"}.glyphicon-menu-up:before{content:\"\\E260\"}*,:after,:before{box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-size:13px;line-height:1.7;color:#8c8e94;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#1977d6;text-decoration:none}a:focus,a:hover{color:#115192;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:3px}.img-thumbnail{padding:4px;line-height:1.7;background-color:#fff;border:1px solid #ddd;border-radius:3px;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:22px;margin-bottom:22px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:#222834}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:22px;margin-bottom:11px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:11px;margin-bottom:11px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:33px}.h2,h2{font-size:26px}.h3,h3{font-size:23px}.h4,h4{font-size:17px}.h5,h5{font-size:13px}.h6,h6{font-size:12px}p{margin:0 0 11px}.lead{margin-bottom:22px;font-size:14px;font-weight:300;line-height:1.4}@media (min-width:2px){.lead{font-size:19.5px}}.small,small{font-size:92%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#1977d6}a.text-primary:focus,a.text-primary:hover{color:#145ea8}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#1977d6}a.bg-primary:focus,a.bg-primary:hover{background-color:#145ea8}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:10px;margin:44px 0 22px;border-bottom:1px solid #e3e3e3}ol,ul{margin-top:0;margin-bottom:11px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:22px}dd,dt{line-height:1.7}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{display:table;content:\" \"}.dl-horizontal dd:after{clear:both}@media (min-width:2px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help}.initialism{font-size:90%}blockquote{padding:11px 22px;margin:0 0 22px;font-size:16.25px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.7;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:\"\\2014   \\A0\"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:\"\"}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:\"\\A0   \\2014\"}address{margin-bottom:22px;font-style:normal;line-height:1.7}code,kbd,pre,samp{font-family:Nitti,Menlo,Monaco,Consolas,Courier New,monospace}code{color:#747c89;background-color:none}code,kbd{padding:2px 4px;font-size:90%;border-radius:3px}kbd{color:#fff;background-color:#333;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:10.5px;margin:0 0 11px;font-size:12px;line-height:1.7;color:#333;word-break:break-all;word-wrap:break-word;background-color:#fff;border:1px solid transparent;border-radius:3px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:after,.container:before{display:table;content:\" \"}.container:after{clear:both}@media (min-width:2px){.container{width:900px}}@media (min-width:1070px){.container{width:1070px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container-fluid:after,.container-fluid:before{display:table;content:\" \"}.container-fluid:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:after,.row:before{display:table;content:\" \"}.row:after{clear:both}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.col-lg-1,.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-10,.col-lg-11,.col-lg-12,.col-md-1,.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-10,.col-md-11,.col-md-12,.col-sm-1,.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-10,.col-sm-11,.col-sm-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:2px){.col-sm-1,.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-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:1070px){.col-md-1,.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-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.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-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:22px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.7;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:1px){.table-responsive{width:100%;margin-bottom:16.5px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;margin:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:22px;font-size:19.5px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:13px;line-height:1.7;color:#555}.form-control{width:100%;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#257bf2;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(37,123,242,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:36px}.input-group-sm>.input-group-btn>input.btn[type=date],.input-group-sm>.input-group-btn>input.btn[type=datetime-local],.input-group-sm>.input-group-btn>input.btn[type=month],.input-group-sm>.input-group-btn>input.btn[type=time],.input-group-sm>input.form-control[type=date],.input-group-sm>input.form-control[type=datetime-local],.input-group-sm>input.form-control[type=month],.input-group-sm>input.form-control[type=time],.input-group-sm>input.input-group-addon[type=date],.input-group-sm>input.input-group-addon[type=datetime-local],.input-group-sm>input.input-group-addon[type=month],.input-group-sm>input.input-group-addon[type=time],.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input.btn[type=date],.input-group-lg>.input-group-btn>input.btn[type=datetime-local],.input-group-lg>.input-group-btn>input.btn[type=month],.input-group-lg>.input-group-btn>input.btn[type=time],.input-group-lg>input.form-control[type=date],.input-group-lg>input.form-control[type=datetime-local],.input-group-lg>input.form-control[type=month],.input-group-lg>input.form-control[type=time],.input-group-lg>input.input-group-addon[type=date],.input-group-lg>input.input-group-addon[type=datetime-local],.input-group-lg>input.input-group-addon[type=month],.input-group-lg>input.input-group-addon[type=time],.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:45px}}.form-group{margin-bottom:30px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:22px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-top:4px\\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:35px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-right:0;padding-left:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select.btn[multiple],.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select.form-control[multiple],.input-group-sm>select.input-group-addon[multiple],.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:45px;padding:10px 16px;font-size:17px;line-height:1.33333;border-radius:3px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:45px;line-height:45px}.input-group-lg>.input-group-btn>select.btn[multiple],.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select.form-control[multiple],.input-group-lg>select.input-group-addon[multiple],.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:45px;padding:10px 16px;font-size:17px;line-height:1.33333;border-radius:3px}.form-group-lg select.form-control{height:45px;line-height:45px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:45px;min-height:39px;padding:11px 16px;font-size:17px;line-height:1.33333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:45px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:36px;height:36px;line-height:36px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:45px;height:45px;line-height:45px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:27px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#cecfd1}@media (min-width:2px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:29px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{display:table;content:\" \"}.form-horizontal .form-group:after{clear:both}@media (min-width:2px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:2px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:17px}}@media (min-width:2px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:13px;line-height:1.7;border-radius:3px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{background-color:#1977d6;border-color:#166abf}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#145ea8;border-color:#092b4d}.btn-primary:hover{color:#fff;background-color:#145ea8;border-color:#104c88}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#145ea8;background-image:none;border-color:#104c88}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#104c88;border-color:#092b4d}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#1977d6;border-color:#166abf}.btn-primary .badge{color:#1977d6;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#ef5354;border-color:#ed3c3d}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#eb2426;border-color:#9b0e0f}.btn-danger:hover{color:#fff;background-color:#eb2426;border-color:#d71415}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#eb2426;background-image:none;border-color:#d71415}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#d71415;border-color:#9b0e0f}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#ef5354;border-color:#ed3c3d}.btn-danger .badge{color:#ef5354;background-color:#fff}.btn-link{font-weight:400;color:#1977d6;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#115192;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:17px;line-height:1.33333;border-radius:3px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.alert{padding:15px;margin-bottom:22px;border:1px solid transparent;border-radius:3px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#1977d6}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#145ea8}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#ef5354}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#eb2426}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:13px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:3px;box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.7;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#1977d6;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.7;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:\"\";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:2px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:13px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:3px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:17px;border-radius:3px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:after,.nav:before{display:table;content:\" \"}.nav:after{clear:both}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#1977d6}.nav .nav-divider{height:1px;margin:10px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.7;border:1px solid transparent;border-radius:3px 3px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:3px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#1977d6}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:2px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:3px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:2px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:3px 3px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:22px;border:1px solid transparent}.navbar:after,.navbar:before{display:table;content:\" \"}.navbar:after{clear:both}@media (min-width:2px){.navbar{border-radius:3px}}.navbar-header:after,.navbar-header:before{display:table;content:\" \"}.navbar-header:after{clear:both}@media (min-width:2px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{display:table;content:\" \"}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:2px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:1px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@media (min-width:2px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:2px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:2px){.navbar-static-top{border-radius:0}}.navbar-brand{float:left;height:50px;padding:14px 15px;font-size:17px;line-height:22px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:2px){.navbar>.container-fluid .navbar-brand,.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:3px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:2px){.navbar-toggle{display:none}}.navbar-nav{margin:7px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:22px}@media (max-width:1px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:22px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:2px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:14px;padding-bottom:14px}}.navbar-form{padding:10px 15px;margin:7px -15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@media (min-width:2px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:1px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:2px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:7px;margin-bottom:7px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs,.navbar-text{margin-top:14px;margin-bottom:14px}@media (min-width:2px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:2px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#20252d;border-color:#12151a}.navbar-default .navbar-brand{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:hsla(0,0%,90%,.9);background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#fff;background-color:#12151a}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#fff;background-color:#12151a}@media (max-width:1px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#12151a}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#12151a}.navbar-default .navbar-link{color:hsla(0,0%,100%,.9)}.navbar-default .navbar-link:hover{color:#fff}.navbar-default .btn-link{color:hsla(0,0%,100%,.9)}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#fff}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#090909}@media (max-width:1px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:3px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:3px}.well-sm{padding:9px;border-radius:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:20px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .jumbotron{padding-right:15px;padding-left:15px;border-radius:3px}.jumbotron .container{max-width:100%}@media screen and (min-width:2px){.jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .jumbotron,.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:59px}}.pagination{display:inline-block;padding-left:0;margin:22px 0;border-radius:3px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.7;color:#1977d6;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#115192;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#1977d6;border-color:#1977d6}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:17px;line-height:1.33333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:22px 0;text-align:center;list-style:none}.pager:after,.pager:before{display:table;content:\" \"}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.panel{margin-bottom:22px;background-color:#fff;border:1px solid transparent;border-radius:3px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{display:table;content:\" \"}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:2px;border-top-right-radius:2px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:15px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#fff;border-top:1px solid #ddd;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:2px;border-top-right-radius:2px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:2px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:2px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:2px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:2px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:22px}.panel-group .panel{margin-bottom:0;border-radius:3px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#1977d6}.panel-primary>.panel-heading{color:#fff;background-color:#1977d6;border-color:#1977d6}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#1977d6}.panel-primary>.panel-heading .badge{color:#1977d6;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#1977d6}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.close{float:right;font-size:19.5px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.clearfix:after,.clearfix:before{display:table;content:\" \"}.clearfix:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:1px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:1px){.visible-xs-block{display:block!important}}@media (max-width:1px){.visible-xs-inline{display:inline!important}}@media (max-width:1px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm-block{display:block!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm-inline{display:inline!important}}@media (min-width:2px) and (max-width:1069px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:1070px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:1px){.hidden-xs{display:none!important}}@media (min-width:2px) and (max-width:1069px){.hidden-sm{display:none!important}}@media (min-width:1070px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{display:table;content:\" \"}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{display:table;content:\" \"}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}@-webkit-keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{0%{background-position:40px 0}to{background-position:0 0}}.progress{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#ef5354}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.tooltip{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}@font-face{font-family:Nitti;src:url(/dashboard/fb427eb9bb680754875eeef4610df402.woff)}@font-face{font-family:Nitti Grotesk;src:url(/dashboard/49e1682a2cd9fa8c91d83a0220e903ce.woff)}@font-face{font-family:Nitti Grotesk;font-weight:700;src:url(/dashboard/4f7ec7cd690231da6c8d1a66dbee15c2.woff)}@font-face{font-family:dotsfont;src:url(data:application/vnd.ms-fontobject;base64,jgoAAHQJAAABAAIABAAAAAAABQAAAAAAAAABAJABAAAAAExQAwAAAAAAAAAAAAAAAAAAAAEAACAAAAAAjYONWwAAAAAAAAAAAAAAAAAAAAAAABAAZABvAHQAcwBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwADsAUABTACAAMAAwADEALgAwADAAMAA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADgAOAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADYANAA3ADcANQAAACAAZABvAHQAcwBmAG8AbgB0ACAAcgBlAGcAdQBsAGEAcgAAAAAAAwAs6AAJbAAJcAAIVD0/ohuSzeRVnpCRMbc4pJ/skB21IZi1rlaJdC5P0A2pymVBprVlssbixSmouyb5rGdPyb3GYuOmIybrgR29S6F29ZUSFeQYY8Otpj4xnP244+E/AjiUO82KCCBZetRdMD3Ma8Z2B7VdsaQWY7hd/YhX7m22JlkMUdizprW1uLh+bve7UdVkAjn4VN8KrVGEuF1udwZ7uUyITrX0y2SXbPYuycUjeLEg/4xVGpdQjNeevbtdWcJ3yxNgTEx3EuoSP0sCI92nc8z6gLPRVQdhW2RTkADRQdTLUq46BfVWrZxTr59INDkeYA7ogD9jQYviFOPKqhZH9WnlQMowqjcCioqtiqtfJTxb5b+lzMIPuKtIsGjoKOl/ZLMQN/dB8wbHvP+MwpoBpKCoA1gQKpCVCDt/UhOnwtEZ/tRBTsMhlasFWzpBYCDdLEb4ezEav8LW/Ih6ofnrQJJJs5FwlaWROyn7ISEfYJez5SaYZImVLkUPdRIMRFSFqQYZ5ZmfmckzwK0BQT39f4V1MgRoDzxCHDtsJTYSzM2nWzYX+D1IP4+G7qDPwklDuz+iTc812wWjfk5qp5f6cX8zqRrVhSOlM7bXd90pFQYVONS5AMvsrwyh0UbNA06lYGqc1T3U6qEegCyHhDIQNJASOHFyCw5YgsC9XhKw4aZgFIk7k/IJDZ9Ny8xuhOhpshpEuxBDMI9DfThovaTWpDZnbrC0avlYLWaLN9wtm+0ls2MioNWo7RewismpTEi5I2yDc8ZyoFdbWppGPmZxnjlhQPCnFQAa7pTUm3l2DsBIkO/lT5sbiAJ3db18ct9L/Uk4Yat84YgIwQxoqglAxEJ2UOihRUHZ4yPQJ6bDQwZMCQARQElRDoJvBICItVIObSs0QWlJgByAKgUgEX7dqZ0m7HhhXd0gJVMQyNqzKQerAsAKouthUgnJqiNKyVECXjqCsoqYBMKnXTInDOImNDgWYw6RJGU8QZGQ8gsILDDNDmaT0hzcxAsDqIaWmgqjSi9S1S/rlpnUzJ5EZZ85wgYXNMnPTURqA58bEOfDVBgA2MbTNUk0in5PSQBLoKYl1E3SmhBMo2QWJOkFyDBOQHsDlBzAQ+W+XO5+Xc6NIs6dI8H86suc687M7c7s79ANAdAtA9BMVsV8WNBcWWyrJJMipB/kUIbF1l7S2NPSBSIekCEP6QRIj2QQInsg0G3ZBgN+SCjlQkFDLhLQOFloRK0JaB84/S2JD0aTEczjZwcmZIWTEWLMSPIzTpC7C0vgOFHAM6GSMAdweZzBfvPDVszYmfr5xiP+Y1Pz3W1Jy6aTO78NqJ3Rpi1cMT4D6KjVBwOqkKhikTcmnPCARFT9gESowxAzKFmcHMIGkqtnBxAqAFYV3bMEUSsExzBKHUAq4+QO7ugBZSFDliEIA5biuCQTiW5lnwKaFo6B1FsR+gqOP5KukCGKw2tHKwCKxTxY+uuDZZlIEgTti2I0RDr074Jz4d+AFR//9dgQL6PXvmfM86u34ZCPmclCPp0MwBELOdW92g9QfJ78ZIb1cUK9lr20Dv1dVfio1FeFEDBWqLDkYQMmmV4ucQWgOnp+uPuYBMHHIguv7oeA/bEhrlQgxbQdwZRZZg1YsuRVngLDaYoatDjdGhZTRKg+bkluERDS0bEBDJMIMys+nWU3TFXHgkHNkvD4GDAMmwM+jNEooQRFiAJOIokAZO1YwrP7BAlpoRrpPr27Drkd5BusvQWjKyOr7uxgXYkKQlLVctwcVhttkQDexWjwIQNmOAQkPyzXQuOnuHAdgI9hvgdB8/C+nwYvJz42ptKS05WyYPRxc4QP9KnOlWDmQKAsarsg3jkOxyGgcCEON0dA4A5IER6MGm8c2Agnt25E4PQIE36oyhEDJG4VQuRCDxx2Al28hPjZIponDI3vQHiPGxHTDc3Tbx4C9bXG7Ke3tBBx0Fkog0GdyCe9PPIrkSCqmHq0IWBljkoVzrGlEIYiunLXdNk6h0qEXVfNynJ/NzGbwsg9AtBYBD0Q+PoBph9Cpppz27TmwPLSpOAlKg0VzvnC8e3GfHgJagww1xgbFQgupHq+WzJRlspQ/sCUN9Y5D5ogqab33uQP13ErEgJLZiS6PZI2omaL/JrJ+/0hufSykS8euPwXvhc+JULCGAXaSMALEMSa1BHmyke0HA3ywmOOe0lBvSvGBTGMSD4DNHarPVi5GFleZsE7TSS6Rj0klEv9A8fhM9mmi7yOxlxMgkKfLmS8RhH1XLzl78PxqziVJf9d5wwijjUtDwk8ViDHmLzIijbWBWHHGBCMdoBxXJVgGu/0u6RalmY0iaUQGl66xgLwYpF5BOoDWY0oratKKMyCTjvQCGJOi9bwudl13DaupjDlK0ECl4gxuaQT569D0V3vVifkVQzzfShrCQbjIbUEoqFcgZAI2VOQ+CMwFzYclITgHpPZjIGVIDqQQQSCMsgAg2ukDmICQDlTcnO5RscjKoN4yt5qMhCCNJkQ/ka0g02EbIeHx0Tz/uMECMoHL4RZsZUwJ3cpDbLhzBkgIBD0GhauXdyvZ+nBIZ5dgUO6Whsit8WtYIy+0/hE+alrtB9zt8xp27G8TCK2SRbUzTxskMSHJEKQgpD/TcvT0xZbAAJ6Wc2spWEjGf1DmbGib/BQxpBtOY2tdI/fnIT2n1YA7EFcpam3BERi8kqJjIlSULekIpLQNfTdywPLY8EVP7hJHioehdGDAagSYdmZGTsL/f8TA76i/3OLI7WFFFhrEffaFEuaRz1oW90Ke10LM4tMZsCwfKKOnoLfcSogMLjfTWo92fGRvvtFJFZZvpgRmzyALgemI/PorZJJTHMl6Fw208hwrNolSieQmSOWYqL2Ipc0Uw2eGwkocUFNSYswmwTi8BUWWlbmdYbANCUal6kkJd/WkzMoFwCzLPzEoAYzJH5nCU2p7zgNHwdWo5ayKyDTc9aVCvtUbirJwKTS4IHNQcACWpYQQrtIC7qkqLxyaudZ6q0K48O6MWg0CNWg5xuikuRuWFdgM+lPNVixyuL7u9oSAGAZbVjDUuX5cQ9EQiJeXGuAq49W6HSQiTS2Xba9KGyj3Ad8HklYmTLoPuxbJmK7gSbrQHupQ6RWoxQtQlmJmkBvdqCWJ4r+24tCVwD7o1J6nfBk5yRy3Tj6qR7iDfMmp/m56EERu1gE/FwCx5REU5ezglHVxpwAAAAAAAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,jgoAAHQJAAABAAIABAAAAAAABQAAAAAAAAABAJABAAAAAExQAwAAAAAAAAAAAAAAAAAAAAEAACAAAAAAjYONWwAAAAAAAAAAAAAAAAAAAAAAABAAZABvAHQAcwBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAeABWAGUAcgBzAGkAbwBuACAAMQAuADAAMAAwADsAUABTACAAMAAwADEALgAwADAAMAA7AGgAbwB0AGMAbwBuAHYAIAAxAC4AMAAuADgAOAA7AG0AYQBrAGUAbwB0AGYALgBsAGkAYgAyAC4ANQAuADYANAA3ADcANQAAACAAZABvAHQAcwBmAG8AbgB0ACAAcgBlAGcAdQBsAGEAcgAAAAAAAwAs6AAJbAAJcAAIVD0/ohuSzeRVnpCRMbc4pJ/skB21IZi1rlaJdC5P0A2pymVBprVlssbixSmouyb5rGdPyb3GYuOmIybrgR29S6F29ZUSFeQYY8Otpj4xnP244+E/AjiUO82KCCBZetRdMD3Ma8Z2B7VdsaQWY7hd/YhX7m22JlkMUdizprW1uLh+bve7UdVkAjn4VN8KrVGEuF1udwZ7uUyITrX0y2SXbPYuycUjeLEg/4xVGpdQjNeevbtdWcJ3yxNgTEx3EuoSP0sCI92nc8z6gLPRVQdhW2RTkADRQdTLUq46BfVWrZxTr59INDkeYA7ogD9jQYviFOPKqhZH9WnlQMowqjcCioqtiqtfJTxb5b+lzMIPuKtIsGjoKOl/ZLMQN/dB8wbHvP+MwpoBpKCoA1gQKpCVCDt/UhOnwtEZ/tRBTsMhlasFWzpBYCDdLEb4ezEav8LW/Ih6ofnrQJJJs5FwlaWROyn7ISEfYJez5SaYZImVLkUPdRIMRFSFqQYZ5ZmfmckzwK0BQT39f4V1MgRoDzxCHDtsJTYSzM2nWzYX+D1IP4+G7qDPwklDuz+iTc812wWjfk5qp5f6cX8zqRrVhSOlM7bXd90pFQYVONS5AMvsrwyh0UbNA06lYGqc1T3U6qEegCyHhDIQNJASOHFyCw5YgsC9XhKw4aZgFIk7k/IJDZ9Ny8xuhOhpshpEuxBDMI9DfThovaTWpDZnbrC0avlYLWaLN9wtm+0ls2MioNWo7RewismpTEi5I2yDc8ZyoFdbWppGPmZxnjlhQPCnFQAa7pTUm3l2DsBIkO/lT5sbiAJ3db18ct9L/Uk4Yat84YgIwQxoqglAxEJ2UOihRUHZ4yPQJ6bDQwZMCQARQElRDoJvBICItVIObSs0QWlJgByAKgUgEX7dqZ0m7HhhXd0gJVMQyNqzKQerAsAKouthUgnJqiNKyVECXjqCsoqYBMKnXTInDOImNDgWYw6RJGU8QZGQ8gsILDDNDmaT0hzcxAsDqIaWmgqjSi9S1S/rlpnUzJ5EZZ85wgYXNMnPTURqA58bEOfDVBgA2MbTNUk0in5PSQBLoKYl1E3SmhBMo2QWJOkFyDBOQHsDlBzAQ+W+XO5+Xc6NIs6dI8H86suc687M7c7s79ANAdAtA9BMVsV8WNBcWWyrJJMipB/kUIbF1l7S2NPSBSIekCEP6QRIj2QQInsg0G3ZBgN+SCjlQkFDLhLQOFloRK0JaB84/S2JD0aTEczjZwcmZIWTEWLMSPIzTpC7C0vgOFHAM6GSMAdweZzBfvPDVszYmfr5xiP+Y1Pz3W1Jy6aTO78NqJ3Rpi1cMT4D6KjVBwOqkKhikTcmnPCARFT9gESowxAzKFmcHMIGkqtnBxAqAFYV3bMEUSsExzBKHUAq4+QO7ugBZSFDliEIA5biuCQTiW5lnwKaFo6B1FsR+gqOP5KukCGKw2tHKwCKxTxY+uuDZZlIEgTti2I0RDr074Jz4d+AFR//9dgQL6PXvmfM86u34ZCPmclCPp0MwBELOdW92g9QfJ78ZIb1cUK9lr20Dv1dVfio1FeFEDBWqLDkYQMmmV4ucQWgOnp+uPuYBMHHIguv7oeA/bEhrlQgxbQdwZRZZg1YsuRVngLDaYoatDjdGhZTRKg+bkluERDS0bEBDJMIMys+nWU3TFXHgkHNkvD4GDAMmwM+jNEooQRFiAJOIokAZO1YwrP7BAlpoRrpPr27Drkd5BusvQWjKyOr7uxgXYkKQlLVctwcVhttkQDexWjwIQNmOAQkPyzXQuOnuHAdgI9hvgdB8/C+nwYvJz42ptKS05WyYPRxc4QP9KnOlWDmQKAsarsg3jkOxyGgcCEON0dA4A5IER6MGm8c2Agnt25E4PQIE36oyhEDJG4VQuRCDxx2Al28hPjZIponDI3vQHiPGxHTDc3Tbx4C9bXG7Ke3tBBx0Fkog0GdyCe9PPIrkSCqmHq0IWBljkoVzrGlEIYiunLXdNk6h0qEXVfNynJ/NzGbwsg9AtBYBD0Q+PoBph9Cpppz27TmwPLSpOAlKg0VzvnC8e3GfHgJagww1xgbFQgupHq+WzJRlspQ/sCUN9Y5D5ogqab33uQP13ErEgJLZiS6PZI2omaL/JrJ+/0hufSykS8euPwXvhc+JULCGAXaSMALEMSa1BHmyke0HA3ywmOOe0lBvSvGBTGMSD4DNHarPVi5GFleZsE7TSS6Rj0klEv9A8fhM9mmi7yOxlxMgkKfLmS8RhH1XLzl78PxqziVJf9d5wwijjUtDwk8ViDHmLzIijbWBWHHGBCMdoBxXJVgGu/0u6RalmY0iaUQGl66xgLwYpF5BOoDWY0oratKKMyCTjvQCGJOi9bwudl13DaupjDlK0ECl4gxuaQT569D0V3vVifkVQzzfShrCQbjIbUEoqFcgZAI2VOQ+CMwFzYclITgHpPZjIGVIDqQQQSCMsgAg2ukDmICQDlTcnO5RscjKoN4yt5qMhCCNJkQ/ka0g02EbIeHx0Tz/uMECMoHL4RZsZUwJ3cpDbLhzBkgIBD0GhauXdyvZ+nBIZ5dgUO6Whsit8WtYIy+0/hE+alrtB9zt8xp27G8TCK2SRbUzTxskMSHJEKQgpD/TcvT0xZbAAJ6Wc2spWEjGf1DmbGib/BQxpBtOY2tdI/fnIT2n1YA7EFcpam3BERi8kqJjIlSULekIpLQNfTdywPLY8EVP7hJHioehdGDAagSYdmZGTsL/f8TA76i/3OLI7WFFFhrEffaFEuaRz1oW90Ke10LM4tMZsCwfKKOnoLfcSogMLjfTWo92fGRvvtFJFZZvpgRmzyALgemI/PorZJJTHMl6Fw208hwrNolSieQmSOWYqL2Ipc0Uw2eGwkocUFNSYswmwTi8BUWWlbmdYbANCUal6kkJd/WkzMoFwCzLPzEoAYzJH5nCU2p7zgNHwdWo5ayKyDTc9aVCvtUbirJwKTS4IHNQcACWpYQQrtIC7qkqLxyaudZ6q0K48O6MWg0CNWg5xuikuRuWFdgM+lPNVixyuL7u9oSAGAZbVjDUuX5cQ9EQiJeXGuAq49W6HSQiTS2Xba9KGyj3Ad8HklYmTLoPuxbJmK7gSbrQHupQ6RWoxQtQlmJmkBvdqCWJ4r+24tCVwD7o1J6nfBk5yRy3Tj6qR7iDfMmp/m56EERu1gE/FwCx5REU5ezglHVxpwAAAAAAAAAAAA=) format(\"embedded-opentype\"),url(/dashboard/5b616a89f38b69dc11821d9807d29be6.svg) format(\"svg\"),url(data:application/font-woff;base64,d09GRgABAAAAAAh4AA4AAAAAM0AAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABRAAAABsAAAAccrVgG0dERUYAAAFgAAAAHgAAACAA+wAET1MvMgAAAYAAAABIAAAAYF4So+pjbWFwAAAByAAAAU4AAAGS7FfHoGdhc3AAAAMYAAAACAAAAAj//wADZ2x5ZgAAAyAAAACxAAAmKJyo9FNoZWFkAAAD1AAAAC4AAAA2CUUAcWhoZWEAAAQEAAAAHwAAACQHZwSFaG10eAAABCQAAAAiAAADOLjTta5sb2NhAAAESAAAAVQAAAGe2DPOoG1heHAAAAWcAAAAGgAAACAC0QANbmFtZQAABbgAAAFaAAACwhsFaQNwb3N0AAAHFAAAAVwAAAHR29xF4HdlYmYAAAhwAAAABgAAAAYuTVcWeNpjYGBgZACCM7aLzoPoy9b3GqD0aQBN7AefAHjaY2BkYGDgA2IJBhBgYmAEwrNAzALmMQAADRkBAAAAeNpjYGZZyziBgZWBhamLKYKBgcEbQjPGAbEOAypgRub4+fu5MjgwKKj+YXr3n43hBPMjBjYFoCaQHNMGpg1ASoGBEQAF3Qv0eNpjYGBgZoBgGQZGBhDoAfIYwXwWhgIgLcEgABThYKhjWMOwheE/oyHTcaa7zHsUJJWEVP/8/w9UocCwkGEdwzagzDGmG0AZCYjM/8f/D/4/8H///76/v/6++svzYOO9nbcuQG3BChjZGODSjExAggldAdCpLKxs7BycXNw8vHz8AoJCwiKiYuISklLSMrJy8gqKSsoqqmrqGppa2jq6evoGhkbGJqZm5haWVtY2tnb2Do5Ozi6ubu4enl7ePr5+/gGBQcEhoWHhEZFR0TGxcfEJiQzNLW0dE6bOXjB/4eJFS5atWL5y1ZrVa9dt2LRx89YtO3fs2s1QkJySwVA6Ly+LoSSToXU6QyEDQxrEddmVDEu31yXlgtg5VQwM9U1TIBInT21j2AfzQxkQN3Y2dLX39PZ1T5rMMHHmrBn7DxzLP3T4SPnxowcB/ddsWQAAAAAAAf//AAJ42u3MvQkCQRiE4W93YQ2MFkXjVTAyWn+KMLAEa7AAQ3P1Ir0mTraEE+QMxC7EyALk/DlLENN3YIKBhxEt4W1Vru9ipCbS9s43nHdBrV/zoPoPcysnZlkupIqSq1iT6b3Uq9G03U5vNBwPQstk5zQtLrvtSc2SY77aFAc8Ho/H4/F4PB6Px+PxeDwej8fj8Xg8Ho/H4/F4PB6Px//jq+iooxgR553X8Tn99vevD5fjNtsAAAB42mNgZACDDyHfNsbz23xl4GZ+AeJftr53BkH/Z2Nez/QOyOVgYAKJAgCNYQ2jAAB42mNgZGBgevefjeEEywYGIGBez8DIgArOAQBwsQT0AHjaY/zCYMQABIy+DAwsGxiejeJRPIpxY6ZNkHwCAEKbRb0AAHjaHcIhsHAwAADgbWabzWbbeyeKoiiKoiiKoiiKoiiKoiiKoiiKoii9c//df98HAAj/S0AOKtCCAcxgAyd4IIERTGEBa9jBES5whxd8kUIxylCJGtSjCa3oQDf6nNBJnNypnNYZnNnZnNN5MMERTnGBa9zhES94xxd+XeXGbuaWbuP27uSu7uHe7kdCkpCcVKQlA5nJRk7yUEIjmtKC1rSjI13oTi/6MsVilrGSNaxnE1vZwW72eaGXeLlXea03eLO3eaf3cMIjnvKC17zjI1/4zi/+CiVikYlSNKIXk1jFIW7x+aGf+Llf+a0/+LO/+af/SCIjmcpC1rKTo1zkLi/5KqVilalSNapXk1rVoW71BWGQBHlQBW0wBHOwBWfwaKIjnepC17rTo170ri/9GmVik5nSNKY3k1nNYW7z2dAmNreVbe1gZ7vZ0z727+f3HymXbxB42mNgZGBgOMfAw8DEAAKMDFDABKUBF3QA4QAAeNqVkc8uxFAUxr+rQ7CYjI2FVZcmoekQpLohwkaCGGE9nemMRk2pIZmteAALT+ABrD2B+PME3sDSysLKd0+vod2INPfe3z3n63fPvQdAGXewoEpjAAKOjBVs7jIeoubSsIVFXBsuwcWD4WF08WF4BLZqGa6goq4MT6Csbgw/YlLdGn6Cq+4NP2NUvRl+wbh6z/jVwpT6xBoSnKCPFBE6OESPVU6jiSrXOVZTY3Uz5E1qYoSkA84xzniXvmiPTGYFx5y/dw49EkaqaHHtUd/m2hX/lPkOzqlrkHdzO5d/uvL52MI2xzqp6DFb8PjrDLtwyj53KfWR6O3cqTuoDyI+X0Q7N0V3wXhN4g6W+Do+79fgjUPRtBmN6Rgw42BBhiee/60+n9XvHfy6WVbBHvO6G6vsXipRT6r2sEx2Oc+zcz891FWG1CbSae21MXCs45RuETP65PgL8PBsIgAAeNp90EdvDgAAgOHn+6pK7Vl771FaalOU2nuVWi0fqhNfS20xYoQQCSeNdakEN0Ti5KBqlNhFyw21ap31F/RNnj/wCqq9xzUCgiLUEamuKPXUF62BhhpprImmmmmuhZZaaS1GG221014HHXXSWRddddNdDz310lsfffXT3wADxRpksDjxhhgqwTDDjTDSKKONMdY4icabYKIkk0yWbIqpppluhplmmW2OueaZb4GFFllsiRRLLZNquRVWWmW1NJcccNAdZ3xyyAnHnFPssqPK7XfaL78dd9hdFaoVueKvP/656Kr77rkm3RonrfVASIlSZR56VHPns3WeeeKp69b76ZSXnnthgyrfHLFRhkzZsuQ4L9cmeTbbIl9Yga2+2Ga7QjvsstMtF+yx2177fPXdba+89tFb77z3wRuVzrrhph+BYCAiKj8nIz4hOSk6HMrOy0oLh2Lj/gOvQl+BAAFXFi5MAAA=) format(\"woff\"),url(/dashboard/e85a11a9110b2b89aa8406d888e5e252.ttf) format(\"truetype\")}html{height:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;margin:0 auto;min-height:100%;min-width:930px;color:#747c89}#root,#root>div{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1}.focus,:focus{outline:none!important}.jumbotron p{margin-bottom:0;color:#777}p{line-height:1.5;margin-bottom:15px}label{font-weight:500}b,strong{font-weight:600}.flex-container{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1}pre{font-size:14px}.btn-default,.btn-outline-primary,.btn-primary{height:36px;padding:0 20px;border-radius:3px}.btn-primary{border-color:#195ad6;color:#fff;background-color:#195ad6}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary.focus .btn-primary:active.focus,.btn-primary:active,.btn-primary:active:focus,.btn-primary:active:hover,.btn-primary:focus,.btn-primary:hover{text-decoration:none;color:#fff;background:#3295de;border-color:#3295de}.btn-outline-primary{color:#195ad6;background-color:transparent;background-image:none;border-color:#195ad6}.btn-outline-primary.active.focus,.btn-outline-primary.active:focus,.btn-outline-primary.active:hover,.btn-outline-primary.focus .btn-outline-primary:active.focus,.btn-outline-primary:active,.btn-outline-primary:active:focus,.btn-outline-primary:active:hover,.btn-outline-primary:focus,.btn-outline-primary:hover{text-decoration:none;color:#fff;background:#195ad6;border-color:#195ad6}.btn-default{background-color:#fff;border-color:#ccc}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default.focus .btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.btn-default:focus,.btn-default:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#20252d;background-color:#f3f6f8;border-color:#ccc}a:focus,a:hover{color:#3295de;text-decoration:none}.form-control{height:36px}.form-control:focus{box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 2px rgba(37,123,242,.6)}.help-block{color:#bac0c7}.jumbotron{background:transparent}.btn-group-lg>.btn,.btn-lg{height:44px;font-size:16px}.label-primary{color:#747c89;background:#fafafa;border:1px solid hsla(0,0%,96%,.5)}.close{text-shadow:none;font-size:24px;font-weight:400}.text-danger{color:#dd2c2c}div.react-console-prompt-box{padding-top:1em;color:#444}span.react-console-prompt-label{font-weight:700}div.react-console-focus span.react-console-cursor{background:#333;color:#eee}div.react-console-nofocus span.react-console-cursor{background:none;color:#444;outline:.1em solid #333;outline-offset:-.1em}div.react-console-focus span.react-console-cursor-idle{-webkit-animation:react-console-cursor-animation 1s infinite;animation:react-console-cursor-animation 1s infinite}@-webkit-keyframes react-console-cursor-animation{0%{background:#333;color:#eee}50%{background:#333;color:#eee}51%{background:none;color:#444}to{background:none;color:#444}}@keyframes react-console-cursor-animation{0%{background:#333;color:#eee}50%{background:#333;color:#eee}51%{background:none;color:#444}to{background:none;color:#444}}div.react-console-message,span.react-console-prompt{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;padding:.1em}div.react-console-message-Error{color:#dd2c2c}input[type=range]{height:34px;-webkit-appearance:none}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{height:7px;cursor:pointer;animate:.2s;background:#e4e4e4}input[type=range]::-webkit-slider-thumb{height:18px;width:18px;border-radius:15px;background:#195ad6;cursor:pointer;-webkit-appearance:none;margin-top:-6px}input[type=range]:focus::-webkit-slider-runnable-track{background:#e4e4e4}input[type=range]::-moz-range-track{height:7px;cursor:pointer;animate:.2s;background:#e4e4e4}input[type=range]::-moz-range-thumb{border:none;height:18px;width:18px;border-radius:15px;background:#195ad6;cursor:pointer}input[type=range]::-ms-track{height:7px;cursor:pointer;animate:.2s;background:transparent;border-color:transparent;color:transparent}input[type=range]::-ms-fill-lower,input[type=range]::-ms-fill-upper{background:#e4e4e4;border-radius:2px}input[type=range]::-ms-thumb{margin-top:1px;height:18px;width:18px;border-radius:15px;background:#195ad6;cursor:pointer}input[type=range]:focus::-ms-fill-lower{background:#195ad6}input[type=range]:focus::-ms-fill-upper{background:#e4e4e4}@-webkit-keyframes AmountUnitField__progress-bar-stripes__uuBVY{0%{background-position:40px 0}to{background-position:0 0}}@keyframes AmountUnitField__progress-bar-stripes__uuBVY{0%{background-position:40px 0}to{background-position:0 0}}.AmountUnitField__progress__21S1C{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.AmountUnitField__progress-bar__UgpH0{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.AmountUnitField__progress-bar-striped__2Yy3N,.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar__UgpH0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.AmountUnitField__progress-bar__UgpH0.AmountUnitField__active__1MpMw,.AmountUnitField__progress__21S1C.AmountUnitField__active__1MpMw .AmountUnitField__progress-bar__UgpH0{-webkit-animation:AmountUnitField__progress-bar-stripes__uuBVY 2s linear infinite;animation:AmountUnitField__progress-bar-stripes__uuBVY 2s linear infinite}.AmountUnitField__progress-bar-success__1FNp4{background-color:#5cb85c}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-success__1FNp4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__progress-bar-info__1Oo_P{background-color:#5bc0de}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-info__1Oo_P{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__progress-bar-warning__2JaOk{background-color:#f0ad4e}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-warning__2JaOk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__progress-bar-danger__18VUs{background-color:#ef5354}.AmountUnitField__progress-striped__1vhAn .AmountUnitField__progress-bar-danger__18VUs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AmountUnitField__tooltip__3CiI2{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.AmountUnitField__tooltip__3CiI2.AmountUnitField__in__1sS6g{filter:alpha(opacity=90);opacity:.9}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top__3jvd6{padding:5px 0;margin-top:-3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__right__w8s3I{padding:0 5px;margin-left:3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom__3PYgP{padding:5px 0;margin-top:3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__left__2zMX4{padding:0 5px;margin-left:-3px}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top__3jvd6 .AmountUnitField__tooltip-arrow__1LcpL{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top-left__26t_4 .AmountUnitField__tooltip-arrow__1LcpL{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__top-right__3YQOF .AmountUnitField__tooltip-arrow__1LcpL{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__right__w8s3I .AmountUnitField__tooltip-arrow__1LcpL{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__left__2zMX4 .AmountUnitField__tooltip-arrow__1LcpL{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom__3PYgP .AmountUnitField__tooltip-arrow__1LcpL{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom-left__1naBf .AmountUnitField__tooltip-arrow__1LcpL{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AmountUnitField__tooltip__3CiI2.AmountUnitField__bottom-right__ioxJo .AmountUnitField__tooltip-arrow__1LcpL{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AmountUnitField__tooltip-inner__3OwLT{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.AmountUnitField__tooltip-arrow__1LcpL{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.AmountUnitField__base__1Fg35{background:red}.AmountUnitField__unit__FVVwA>div{z-index:unset!important}@-webkit-keyframes CheckboxField__progress-bar-stripes__1BBPY{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CheckboxField__progress-bar-stripes__1BBPY{0%{background-position:40px 0}to{background-position:0 0}}.CheckboxField__progress__wB5V-{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CheckboxField__progress-bar__2KLUY{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CheckboxField__progress-bar-striped__3iWcp,.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar__2KLUY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CheckboxField__progress-bar__2KLUY.CheckboxField__active__dwy53,.CheckboxField__progress__wB5V-.CheckboxField__active__dwy53 .CheckboxField__progress-bar__2KLUY{-webkit-animation:CheckboxField__progress-bar-stripes__1BBPY 2s linear infinite;animation:CheckboxField__progress-bar-stripes__1BBPY 2s linear infinite}.CheckboxField__progress-bar-success__NktQf{background-color:#5cb85c}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-success__NktQf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__progress-bar-info__3lbbL{background-color:#5bc0de}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-info__3lbbL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__progress-bar-warning__QkB48{background-color:#f0ad4e}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-warning__QkB48{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__progress-bar-danger__2tetS{background-color:#ef5354}.CheckboxField__progress-striped__13LqG .CheckboxField__progress-bar-danger__2tetS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CheckboxField__tooltip__23RbA{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CheckboxField__tooltip__23RbA.CheckboxField__in__bt1uj{filter:alpha(opacity=90);opacity:.9}.CheckboxField__tooltip__23RbA.CheckboxField__top__njrkB{padding:5px 0;margin-top:-3px}.CheckboxField__tooltip__23RbA.CheckboxField__right__SRGHn{padding:0 5px;margin-left:3px}.CheckboxField__tooltip__23RbA.CheckboxField__bottom__3wQua{padding:5px 0;margin-top:3px}.CheckboxField__tooltip__23RbA.CheckboxField__left__1rIHc{padding:0 5px;margin-left:-3px}.CheckboxField__tooltip__23RbA.CheckboxField__top__njrkB .CheckboxField__tooltip-arrow__2YwBA{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__top-left__25-3- .CheckboxField__tooltip-arrow__2YwBA{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__top-right__39yMe .CheckboxField__tooltip-arrow__2YwBA{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__right__SRGHn .CheckboxField__tooltip-arrow__2YwBA{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__left__1rIHc .CheckboxField__tooltip-arrow__2YwBA{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__bottom__3wQua .CheckboxField__tooltip-arrow__2YwBA{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__bottom-left__39SKV .CheckboxField__tooltip-arrow__2YwBA{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CheckboxField__tooltip__23RbA.CheckboxField__bottom-right__27sTk .CheckboxField__tooltip-arrow__2YwBA{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CheckboxField__tooltip-inner__3wLbY{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CheckboxField__tooltip-arrow__2YwBA{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CheckboxField__label__2Ug2d{position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.CheckboxField__label__2Ug2d .CheckboxField__title__3hm4r{position:absolute;left:20px}.CheckboxField__hint__33L32{color:#bac0c7;margin-left:20px}@-webkit-keyframes AutocompleteField__progress-bar-stripes__2eH4S{0%{background-position:40px 0}to{background-position:0 0}}@keyframes AutocompleteField__progress-bar-stripes__2eH4S{0%{background-position:40px 0}to{background-position:0 0}}.AutocompleteField__progress__3Ho2G{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.AutocompleteField__progress-bar__3cOaz{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.AutocompleteField__progress-bar-striped__3hIP0,.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar__3cOaz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.AutocompleteField__progress-bar__3cOaz.AutocompleteField__active__2cBDW,.AutocompleteField__progress__3Ho2G.AutocompleteField__active__2cBDW .AutocompleteField__progress-bar__3cOaz{-webkit-animation:AutocompleteField__progress-bar-stripes__2eH4S 2s linear infinite;animation:AutocompleteField__progress-bar-stripes__2eH4S 2s linear infinite}.AutocompleteField__progress-bar-success__1qJ27{background-color:#5cb85c}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-success__1qJ27{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__progress-bar-info__13u8H{background-color:#5bc0de}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-info__13u8H{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__progress-bar-warning__YLRon{background-color:#f0ad4e}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-warning__YLRon{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__progress-bar-danger__3Kh-p{background-color:#ef5354}.AutocompleteField__progress-striped__39v8F .AutocompleteField__progress-bar-danger__3Kh-p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AutocompleteField__tooltip__1SKAY{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.AutocompleteField__tooltip__1SKAY.AutocompleteField__in__1TAkw{filter:alpha(opacity=90);opacity:.9}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top__2XrIo{padding:5px 0;margin-top:-3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__right__CyNJs{padding:0 5px;margin-left:3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom__3VHcl{padding:5px 0;margin-top:3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__left__1Fg1D{padding:0 5px;margin-left:-3px}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top__2XrIo .AutocompleteField__tooltip-arrow__EGv_4{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top-left__2NghJ .AutocompleteField__tooltip-arrow__EGv_4{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__top-right__2Uoke .AutocompleteField__tooltip-arrow__EGv_4{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__right__CyNJs .AutocompleteField__tooltip-arrow__EGv_4{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__left__1Fg1D .AutocompleteField__tooltip-arrow__EGv_4{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom__3VHcl .AutocompleteField__tooltip-arrow__EGv_4{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom-left__3RIok .AutocompleteField__tooltip-arrow__EGv_4{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AutocompleteField__tooltip__1SKAY.AutocompleteField__bottom-right__2ySey .AutocompleteField__tooltip-arrow__EGv_4{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AutocompleteField__tooltip-inner__Xwcw3{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.AutocompleteField__tooltip-arrow__EGv_4{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.AutocompleteField__container__3bx1h{position:relative}.AutocompleteField__suggestionsContainer__1XjWG{display:none}.AutocompleteField__suggestionsContainerOpen__1s0BC{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 0 4px hsla(217,8%,50%,.5);list-style-type:none;margin-top:6px;max-height:200px;overflow-y:auto;padding:0;position:absolute;top:40px;width:100%;z-index:10;display:block}.AutocompleteField__suggestionsList__3326u{margin:0;padding:0;list-style-type:none}.AutocompleteField__suggestion__wB3Wf{cursor:pointer;border-bottom:1px solid #ccc}.AutocompleteField__suggestion__wB3Wf:last-child{border:none}.AutocompleteField__suggestion__wB3Wf div{padding:0}.AutocompleteField__suggestion__wB3Wf span{padding:12px;display:inline-block;width:100%}.AutocompleteField__suggestionHighlighted__2uhI8{color:#1977d6;background:#e6e6e6}@-webkit-keyframes EmptyList__progress-bar-stripes__1Jjas{0%{background-position:40px 0}to{background-position:0 0}}@keyframes EmptyList__progress-bar-stripes__1Jjas{0%{background-position:40px 0}to{background-position:0 0}}.EmptyList__progress__2L_Hh{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.EmptyList__progress-bar__OpZz-{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.EmptyList__progress-bar-striped__1asYW,.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar__OpZz-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.EmptyList__progress-bar__OpZz-.EmptyList__active__DolKG,.EmptyList__progress__2L_Hh.EmptyList__active__DolKG .EmptyList__progress-bar__OpZz-{-webkit-animation:EmptyList__progress-bar-stripes__1Jjas 2s linear infinite;animation:EmptyList__progress-bar-stripes__1Jjas 2s linear infinite}.EmptyList__progress-bar-success__1ei_Z{background-color:#5cb85c}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-success__1ei_Z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__progress-bar-info__3fE7b{background-color:#5bc0de}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-info__3fE7b{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__progress-bar-warning__3qQxn{background-color:#f0ad4e}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-warning__3qQxn{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__progress-bar-danger__3BYEp{background-color:#ef5354}.EmptyList__progress-striped__1liw7 .EmptyList__progress-bar-danger__3BYEp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyList__tooltip__1XoMm{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.EmptyList__tooltip__1XoMm.EmptyList__in__1-ODX{filter:alpha(opacity=90);opacity:.9}.EmptyList__tooltip__1XoMm.EmptyList__top__3QNWa{padding:5px 0;margin-top:-3px}.EmptyList__tooltip__1XoMm.EmptyList__right__26zZU{padding:0 5px;margin-left:3px}.EmptyList__tooltip__1XoMm.EmptyList__bottom__3xhga{padding:5px 0;margin-top:3px}.EmptyList__tooltip__1XoMm.EmptyList__left__2EH1p{padding:0 5px;margin-left:-3px}.EmptyList__tooltip__1XoMm.EmptyList__top__3QNWa .EmptyList__tooltip-arrow__JrjXp{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__top-left__Mr2pl .EmptyList__tooltip-arrow__JrjXp{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__top-right__2TGrl .EmptyList__tooltip-arrow__JrjXp{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__right__26zZU .EmptyList__tooltip-arrow__JrjXp{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__left__2EH1p .EmptyList__tooltip-arrow__JrjXp{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__bottom__3xhga .EmptyList__tooltip-arrow__JrjXp{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__bottom-left__1pzfN .EmptyList__tooltip-arrow__JrjXp{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyList__tooltip__1XoMm.EmptyList__bottom-right__2XkE9 .EmptyList__tooltip-arrow__JrjXp{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyList__tooltip-inner__ydWol{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.EmptyList__tooltip-arrow__JrjXp{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.EmptyList__empty__1pTM6{text-align:center;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;padding-top:100px;margin-top:60px}.EmptyList__emptyContainer__1467p{margin:0 auto;width:350px}.EmptyList__emptyContainer__1467p .EmptyList__emptyContent__1gaoa{margin-top:30px;border:1px solid #f5f5f5;padding:15px;text-align:left;background:#fff}.EmptyList__emptyContainer__1467p ol{padding-left:15px;margin-bottom:0;padding-top:10px;padding-bottom:10px}.EmptyList__emptyContainer__1467p li{padding-left:6px}.EmptyList__emptyLabel__bXs_y{color:#20252d;display:block;font-size:20px;padding-bottom:30px;width:250px;margin:0 auto;line-height:26px}.EmptyList__noResults__3Tisc{background:transparent}.EmptyList__noResultsLabel__K4m_A{padding-bottom:0}.EmptyList__image__1k3Yi{height:70px;margin-bottom:30px}.EmptyList__code__3JZWJ{padding:2px 6px;font-size:16px}@-webkit-keyframes CopyableBlock__progress-bar-stripes__1ipG6{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CopyableBlock__progress-bar-stripes__1ipG6{0%{background-position:40px 0}to{background-position:0 0}}.CopyableBlock__progress__2stXW{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CopyableBlock__progress-bar__3xi0A{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CopyableBlock__progress-bar-striped__2lmkl,.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar__3xi0A{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CopyableBlock__progress-bar__3xi0A.CopyableBlock__active__1X4VL,.CopyableBlock__progress__2stXW.CopyableBlock__active__1X4VL .CopyableBlock__progress-bar__3xi0A{-webkit-animation:CopyableBlock__progress-bar-stripes__1ipG6 2s linear infinite;animation:CopyableBlock__progress-bar-stripes__1ipG6 2s linear infinite}.CopyableBlock__progress-bar-success__2th1A{background-color:#5cb85c}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-success__2th1A{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__progress-bar-info__rmB4P{background-color:#5bc0de}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-info__rmB4P{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__progress-bar-warning__17lrc{background-color:#f0ad4e}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-warning__17lrc{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__progress-bar-danger__1x_WG{background-color:#ef5354}.CopyableBlock__progress-striped__1D6HZ .CopyableBlock__progress-bar-danger__1x_WG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CopyableBlock__tooltip__2s-8y{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CopyableBlock__tooltip__2s-8y.CopyableBlock__in__amhuo{filter:alpha(opacity=90);opacity:.9}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top__1SBh_{padding:5px 0;margin-top:-3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__right__3M_BP{padding:0 5px;margin-left:3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom__2faDE{padding:5px 0;margin-top:3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__left__1orYH{padding:0 5px;margin-left:-3px}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top__1SBh_ .CopyableBlock__tooltip-arrow__1_NZj{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top-left__3cdG_ .CopyableBlock__tooltip-arrow__1_NZj{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__top-right__30nd4 .CopyableBlock__tooltip-arrow__1_NZj{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__right__3M_BP .CopyableBlock__tooltip-arrow__1_NZj{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__left__1orYH .CopyableBlock__tooltip-arrow__1_NZj{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom__2faDE .CopyableBlock__tooltip-arrow__1_NZj{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom-left__1imtm .CopyableBlock__tooltip-arrow__1_NZj{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CopyableBlock__tooltip__2s-8y.CopyableBlock__bottom-right__gzmDN .CopyableBlock__tooltip-arrow__1_NZj{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CopyableBlock__tooltip-inner__3h-61{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CopyableBlock__tooltip-arrow__1_NZj{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CopyableBlock__main__1KLm8{margin:30px auto;border-radius:3px;background-color:#f3f6f8;padding:15px}.CopyableBlock__pre__3OKn9{padding:0!important;background-color:transparent!important;margin-bottom:10px}.CopyableBlock__copyButton__1m-rB{width:100%}@-webkit-keyframes ConfirmMnemonic__progress-bar-stripes__hzvI5{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ConfirmMnemonic__progress-bar-stripes__hzvI5{0%{background-position:40px 0}to{background-position:0 0}}.ConfirmMnemonic__progress__2wGv_{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ConfirmMnemonic__progress-bar__28wLF{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ConfirmMnemonic__progress-bar-striped__v-TKi,.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar__28wLF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ConfirmMnemonic__progress-bar__28wLF.ConfirmMnemonic__active__3BQ33,.ConfirmMnemonic__progress__2wGv_.ConfirmMnemonic__active__3BQ33 .ConfirmMnemonic__progress-bar__28wLF{-webkit-animation:ConfirmMnemonic__progress-bar-stripes__hzvI5 2s linear infinite;animation:ConfirmMnemonic__progress-bar-stripes__hzvI5 2s linear infinite}.ConfirmMnemonic__progress-bar-success__1l0w4{background-color:#5cb85c}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-success__1l0w4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__progress-bar-info__38Onq{background-color:#5bc0de}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-info__38Onq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__progress-bar-warning__1iNMP{background-color:#f0ad4e}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-warning__1iNMP{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__progress-bar-danger__1Ybfu{background-color:#ef5354}.ConfirmMnemonic__progress-striped__2SXql .ConfirmMnemonic__progress-bar-danger__1Ybfu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmMnemonic__tooltip__1VXcq{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__in__2C6us{filter:alpha(opacity=90);opacity:.9}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top__2OovI{padding:5px 0;margin-top:-3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__right__1BO6Z{padding:0 5px;margin-left:3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom__1_6zW{padding:5px 0;margin-top:3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__left__3qyaT{padding:0 5px;margin-left:-3px}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top__2OovI .ConfirmMnemonic__tooltip-arrow__2Mmg6{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top-left__1tQ2S .ConfirmMnemonic__tooltip-arrow__2Mmg6{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__top-right__Tbred .ConfirmMnemonic__tooltip-arrow__2Mmg6{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__right__1BO6Z .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__left__3qyaT .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom__1_6zW .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom-left__fg21- .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmMnemonic__tooltip__1VXcq.ConfirmMnemonic__bottom-right__3SQnf .ConfirmMnemonic__tooltip-arrow__2Mmg6{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmMnemonic__tooltip-inner__3O-Qm{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ConfirmMnemonic__tooltip-arrow__2Mmg6{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ConfirmMnemonic__submit__1Shoc{float:left}.ConfirmMnemonic__seed__nWB5b{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#f8f8f8;border-radius:3px;border:1px solid #f5f5f5;padding:6px 0;color:#20252d}.ConfirmMnemonic__seedWord__3KN5P{width:22%;height:36px;margin:5px 10px 5px 0}.ConfirmMnemonic__seedWord__3KN5P,.ConfirmMnemonic__seedWord__3KN5P input{text-align:center}.ConfirmMnemonic__seedArea__3ZdYC{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-bottom:15px}.ConfirmMnemonic__container__2SqXP{width:540px}@-webkit-keyframes ConsoleSection__progress-bar-stripes__2tlpB{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ConsoleSection__progress-bar-stripes__2tlpB{0%{background-position:40px 0}to{background-position:0 0}}.ConsoleSection__progress__3OO9b{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ConsoleSection__progress-bar__1b0PU{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ConsoleSection__progress-bar-striped__1e9_q,.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar__1b0PU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ConsoleSection__progress-bar__1b0PU.ConsoleSection__active__1-bEw,.ConsoleSection__progress__3OO9b.ConsoleSection__active__1-bEw .ConsoleSection__progress-bar__1b0PU{-webkit-animation:ConsoleSection__progress-bar-stripes__2tlpB 2s linear infinite;animation:ConsoleSection__progress-bar-stripes__2tlpB 2s linear infinite}.ConsoleSection__progress-bar-success__1eNaV{background-color:#5cb85c}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-success__1eNaV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__progress-bar-info__Cz2ak{background-color:#5bc0de}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-info__Cz2ak{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__progress-bar-warning__2TKfU{background-color:#f0ad4e}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-warning__2TKfU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__progress-bar-danger__2Zf54{background-color:#ef5354}.ConsoleSection__progress-striped__1Xxz4 .ConsoleSection__progress-bar-danger__2Zf54{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConsoleSection__tooltip__GkFSS{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ConsoleSection__tooltip__GkFSS.ConsoleSection__in__36AYU{filter:alpha(opacity=90);opacity:.9}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top__1EBdJ{padding:5px 0;margin-top:-3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__right__3JOvF{padding:0 5px;margin-left:3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom__2Grn9{padding:5px 0;margin-top:3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__left__1RoJV{padding:0 5px;margin-left:-3px}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top__1EBdJ .ConsoleSection__tooltip-arrow__r5pTQ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top-left__1_jY2 .ConsoleSection__tooltip-arrow__r5pTQ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__top-right__3dlY6 .ConsoleSection__tooltip-arrow__r5pTQ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__right__3JOvF .ConsoleSection__tooltip-arrow__r5pTQ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__left__1RoJV .ConsoleSection__tooltip-arrow__r5pTQ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom__2Grn9 .ConsoleSection__tooltip-arrow__r5pTQ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom-left__20WrN .ConsoleSection__tooltip-arrow__r5pTQ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConsoleSection__tooltip__GkFSS.ConsoleSection__bottom-right__2phiX .ConsoleSection__tooltip-arrow__r5pTQ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConsoleSection__tooltip-inner__2YkFQ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ConsoleSection__tooltip-arrow__r5pTQ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ConsoleSection__main__dLChn{height:100%}.ConsoleSection__reactConsoleContainer__34lQ6{box-sizing:border-box;height:calc(100% - 121px);padding:30px;overflow:scroll;background-color:#f3f6f8}.ConsoleSection__input__BLXlA{height:65px;border:none;color:#20252d;padding:10px 12px;width:750px}.ConsoleSection__inputBox__301o3{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-top:1px solid #f5f5f5}@-webkit-keyframes ListItem__progress-bar-stripes__31rn8{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__31rn8{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__3FfjV{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__1Lgtj{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__1C2_f,.ListItem__progress-striped__9KLa0 .ListItem__progress-bar__1Lgtj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__1Lgtj.ListItem__active__3sHME,.ListItem__progress__3FfjV.ListItem__active__3sHME .ListItem__progress-bar__1Lgtj{-webkit-animation:ListItem__progress-bar-stripes__31rn8 2s linear infinite;animation:ListItem__progress-bar-stripes__31rn8 2s linear infinite}.ListItem__progress-bar-success__1cHLI{background-color:#5cb85c}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-success__1cHLI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__2CC8p{background-color:#5bc0de}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-info__2CC8p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__3POTB{background-color:#f0ad4e}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-warning__3POTB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__34TNF{background-color:#ef5354}.ListItem__progress-striped__9KLa0 .ListItem__progress-bar-danger__34TNF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__2fhGc{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__2fhGc.ListItem__in__3640W{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__2fhGc.ListItem__top__2mZoE{padding:5px 0;margin-top:-3px}.ListItem__tooltip__2fhGc.ListItem__right__1jvZV{padding:0 5px;margin-left:3px}.ListItem__tooltip__2fhGc.ListItem__bottom__2h7cM{padding:5px 0;margin-top:3px}.ListItem__tooltip__2fhGc.ListItem__left__xR670{padding:0 5px;margin-left:-3px}.ListItem__tooltip__2fhGc.ListItem__top__2mZoE .ListItem__tooltip-arrow__1kw7y{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__2fhGc.ListItem__top-left__OYOVh .ListItem__tooltip-arrow__1kw7y{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__2fhGc.ListItem__top-right__NuiGB .ListItem__tooltip-arrow__1kw7y{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__2fhGc.ListItem__right__1jvZV .ListItem__tooltip-arrow__1kw7y{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__2fhGc.ListItem__left__xR670 .ListItem__tooltip-arrow__1kw7y{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__2fhGc.ListItem__bottom__2h7cM .ListItem__tooltip-arrow__1kw7y{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__2fhGc.ListItem__bottom-left__3u3SI .ListItem__tooltip-arrow__1kw7y{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__2fhGc.ListItem__bottom-right__4eHhU .ListItem__tooltip-arrow__1kw7y{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__29d02{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__1kw7y{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__main__1i9rL{background-color:#fff;border:1px solid #f5f5f5;margin-bottom:30px;font-family:Nitti}.ListItem__title__3-OgI{border-bottom:1px solid #f5f5f5;padding:10px;color:#20252d}.ListItem__messageBox__1apGn{padding:10px;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}@-webkit-keyframes EmptyContent__progress-bar-stripes__1yHSl{0%{background-position:40px 0}to{background-position:0 0}}@keyframes EmptyContent__progress-bar-stripes__1yHSl{0%{background-position:40px 0}to{background-position:0 0}}.EmptyContent__progress__bX7n8{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.EmptyContent__progress-bar__GwaJi{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.EmptyContent__progress-bar-striped__2H4IL,.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar__GwaJi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.EmptyContent__progress-bar__GwaJi.EmptyContent__active__2dGx5,.EmptyContent__progress__bX7n8.EmptyContent__active__2dGx5 .EmptyContent__progress-bar__GwaJi{-webkit-animation:EmptyContent__progress-bar-stripes__1yHSl 2s linear infinite;animation:EmptyContent__progress-bar-stripes__1yHSl 2s linear infinite}.EmptyContent__progress-bar-success__s_lGk{background-color:#5cb85c}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-success__s_lGk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__progress-bar-info__1O6yZ{background-color:#5bc0de}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-info__1O6yZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__progress-bar-warning__3yx4R{background-color:#f0ad4e}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-warning__3yx4R{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__progress-bar-danger__a7E9O{background-color:#ef5354}.EmptyContent__progress-striped__2fOvp .EmptyContent__progress-bar-danger__a7E9O{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.EmptyContent__tooltip__Uv8sG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.EmptyContent__tooltip__Uv8sG.EmptyContent__in__2dN4D{filter:alpha(opacity=90);opacity:.9}.EmptyContent__tooltip__Uv8sG.EmptyContent__top__AVFxC{padding:5px 0;margin-top:-3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__right__2LpDL{padding:0 5px;margin-left:3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom__30en-{padding:5px 0;margin-top:3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__left__3O_Q5{padding:0 5px;margin-left:-3px}.EmptyContent__tooltip__Uv8sG.EmptyContent__top__AVFxC .EmptyContent__tooltip-arrow__2anDt{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__top-left__QeKkN .EmptyContent__tooltip-arrow__2anDt{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__top-right__1xklU .EmptyContent__tooltip-arrow__2anDt{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__right__2LpDL .EmptyContent__tooltip-arrow__2anDt{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__left__3O_Q5 .EmptyContent__tooltip-arrow__2anDt{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom__30en- .EmptyContent__tooltip-arrow__2anDt{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom-left__1yJWY .EmptyContent__tooltip-arrow__2anDt{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyContent__tooltip__Uv8sG.EmptyContent__bottom-right__3mOIr .EmptyContent__tooltip-arrow__2anDt{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.EmptyContent__tooltip-inner__hb2Fm{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.EmptyContent__tooltip-arrow__2anDt{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.EmptyContent__emptyContainer__3Y4UB{margin:30px auto;width:350px}.EmptyContent__emptyContainer__3Y4UB .EmptyContent__emptyContent__kTzeB{border:1px solid #f5f5f5;padding:15px;text-align:left;background:#fff}.EmptyContent__emptyContainer__3Y4UB ol{padding-left:15px;margin-bottom:0;padding-top:10px;padding-bottom:10px}.EmptyContent__emptyContainer__3Y4UB li{padding-left:6px}@-webkit-keyframes ErrorBanner__progress-bar-stripes__3ku9y{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ErrorBanner__progress-bar-stripes__3ku9y{0%{background-position:40px 0}to{background-position:0 0}}.ErrorBanner__progress__3D-He{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ErrorBanner__progress-bar__JX1wI{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ErrorBanner__progress-bar-striped__2UqpK,.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar__JX1wI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ErrorBanner__progress-bar__JX1wI.ErrorBanner__active__AEp9i,.ErrorBanner__progress__3D-He.ErrorBanner__active__AEp9i .ErrorBanner__progress-bar__JX1wI{-webkit-animation:ErrorBanner__progress-bar-stripes__3ku9y 2s linear infinite;animation:ErrorBanner__progress-bar-stripes__3ku9y 2s linear infinite}.ErrorBanner__progress-bar-success__XPu7b{background-color:#5cb85c}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-success__XPu7b{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__progress-bar-info__3Vfht{background-color:#5bc0de}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-info__3Vfht{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__progress-bar-warning__xe5IK{background-color:#f0ad4e}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-warning__xe5IK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__progress-bar-danger__1p2XN{background-color:#ef5354}.ErrorBanner__progress-striped__1gumd .ErrorBanner__progress-bar-danger__1p2XN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ErrorBanner__tooltip__HAEZC{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ErrorBanner__tooltip__HAEZC.ErrorBanner__in__1dSay{filter:alpha(opacity=90);opacity:.9}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top__1GIKL{padding:5px 0;margin-top:-3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__right__2J93q{padding:0 5px;margin-left:3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom__3Abvh{padding:5px 0;margin-top:3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__left__IRdDJ{padding:0 5px;margin-left:-3px}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top__1GIKL .ErrorBanner__tooltip-arrow__1jDcV{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top-left__HUq1S .ErrorBanner__tooltip-arrow__1jDcV{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__top-right__bZwNC .ErrorBanner__tooltip-arrow__1jDcV{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__right__2J93q .ErrorBanner__tooltip-arrow__1jDcV{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__left__IRdDJ .ErrorBanner__tooltip-arrow__1jDcV{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom__3Abvh .ErrorBanner__tooltip-arrow__1jDcV{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom-left__1Mvpa .ErrorBanner__tooltip-arrow__1jDcV{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ErrorBanner__tooltip__HAEZC.ErrorBanner__bottom-right__1dYOm .ErrorBanner__tooltip-arrow__1jDcV{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ErrorBanner__tooltip-inner__2-nRg{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ErrorBanner__tooltip-arrow__1jDcV{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ErrorBanner__main__1Py51{background:#f8cece;color:#d02828;border:1px solid #f3aaaa;border-radius:3px;padding:20px;margin-bottom:20px;word-wrap:break-word}.ErrorBanner__main__1Py51 a{color:#d02828;text-decoration:underline}.ErrorBanner__mainSuccess__2jGHr{background:#dff0d3;color:#227855;border:1px solid #cbe6b7;border-radius:3px;padding:20px;margin-bottom:20px;word-wrap:break-word}.ErrorBanner__mainSuccess__2jGHr a{color:#227855;text-decoration:underline}.ErrorBanner__message__R0tyV{margin-bottom:15px}.ErrorBanner__extra__1j-Fm{line-height:1.3}@-webkit-keyframes FieldLabel__progress-bar-stripes__2-oBG{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FieldLabel__progress-bar-stripes__2-oBG{0%{background-position:40px 0}to{background-position:0 0}}.FieldLabel__progress__3YeL-{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FieldLabel__progress-bar__2eLcu{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FieldLabel__progress-bar-striped__2zJbx,.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar__2eLcu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FieldLabel__progress-bar__2eLcu.FieldLabel__active__1f483,.FieldLabel__progress__3YeL-.FieldLabel__active__1f483 .FieldLabel__progress-bar__2eLcu{-webkit-animation:FieldLabel__progress-bar-stripes__2-oBG 2s linear infinite;animation:FieldLabel__progress-bar-stripes__2-oBG 2s linear infinite}.FieldLabel__progress-bar-success__9zwDp{background-color:#5cb85c}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-success__9zwDp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__progress-bar-info__2747F{background-color:#5bc0de}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-info__2747F{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__progress-bar-warning__2xbaa{background-color:#f0ad4e}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-warning__2xbaa{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__progress-bar-danger__23aul{background-color:#ef5354}.FieldLabel__progress-striped__2m6hE .FieldLabel__progress-bar-danger__23aul{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FieldLabel__tooltip__2UeB2{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FieldLabel__tooltip__2UeB2.FieldLabel__in__39x3l{filter:alpha(opacity=90);opacity:.9}.FieldLabel__tooltip__2UeB2.FieldLabel__top__17UQE{padding:5px 0;margin-top:-3px}.FieldLabel__tooltip__2UeB2.FieldLabel__right__1wvfo{padding:0 5px;margin-left:3px}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom__ipWXH{padding:5px 0;margin-top:3px}.FieldLabel__tooltip__2UeB2.FieldLabel__left__1mn7T{padding:0 5px;margin-left:-3px}.FieldLabel__tooltip__2UeB2.FieldLabel__top__17UQE .FieldLabel__tooltip-arrow__3Oea5{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__top-left__30u3Z .FieldLabel__tooltip-arrow__3Oea5{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__top-right__h8TBT .FieldLabel__tooltip-arrow__3Oea5{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__right__1wvfo .FieldLabel__tooltip-arrow__3Oea5{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__left__1mn7T .FieldLabel__tooltip-arrow__3Oea5{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom__ipWXH .FieldLabel__tooltip-arrow__3Oea5{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom-left__JS4MQ .FieldLabel__tooltip-arrow__3Oea5{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FieldLabel__tooltip__2UeB2.FieldLabel__bottom-right__nM2LH .FieldLabel__tooltip-arrow__3Oea5{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FieldLabel__tooltip-inner__bfQZW{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FieldLabel__tooltip-arrow__3Oea5{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FieldLabel__main__IFBc0{font-size:12px;text-transform:uppercase}@-webkit-keyframes Flash__progress-bar-stripes__1az7e{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Flash__progress-bar-stripes__1az7e{0%{background-position:40px 0}to{background-position:0 0}}.Flash__progress__24VZm{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Flash__progress-bar__22Dwb{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Flash__progress-bar-striped__qd-6_,.Flash__progress-striped__3VoEB .Flash__progress-bar__22Dwb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Flash__progress-bar__22Dwb.Flash__active__13uae,.Flash__progress__24VZm.Flash__active__13uae .Flash__progress-bar__22Dwb{-webkit-animation:Flash__progress-bar-stripes__1az7e 2s linear infinite;animation:Flash__progress-bar-stripes__1az7e 2s linear infinite}.Flash__progress-bar-success__ioNuj{background-color:#5cb85c}.Flash__progress-striped__3VoEB .Flash__progress-bar-success__ioNuj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__progress-bar-info__1XGc8{background-color:#5bc0de}.Flash__progress-striped__3VoEB .Flash__progress-bar-info__1XGc8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__progress-bar-warning__3Teta{background-color:#f0ad4e}.Flash__progress-striped__3VoEB .Flash__progress-bar-warning__3Teta{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__progress-bar-danger__129aY{background-color:#ef5354}.Flash__progress-striped__3VoEB .Flash__progress-bar-danger__129aY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Flash__tooltip__3_PIV{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Flash__tooltip__3_PIV.Flash__in__JJM7r{filter:alpha(opacity=90);opacity:.9}.Flash__tooltip__3_PIV.Flash__top__1cfxW{padding:5px 0;margin-top:-3px}.Flash__tooltip__3_PIV.Flash__right__2NFte{padding:0 5px;margin-left:3px}.Flash__tooltip__3_PIV.Flash__bottom__12V-2{padding:5px 0;margin-top:3px}.Flash__tooltip__3_PIV.Flash__left__1PTHD{padding:0 5px;margin-left:-3px}.Flash__tooltip__3_PIV.Flash__top__1cfxW .Flash__tooltip-arrow__1OBM2{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Flash__tooltip__3_PIV.Flash__top-left__3WUPn .Flash__tooltip-arrow__1OBM2{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Flash__tooltip__3_PIV.Flash__top-right__3MZdy .Flash__tooltip-arrow__1OBM2{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Flash__tooltip__3_PIV.Flash__right__2NFte .Flash__tooltip-arrow__1OBM2{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Flash__tooltip__3_PIV.Flash__left__1PTHD .Flash__tooltip-arrow__1OBM2{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Flash__tooltip__3_PIV.Flash__bottom__12V-2 .Flash__tooltip-arrow__1OBM2{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Flash__tooltip__3_PIV.Flash__bottom-left__rxgVg .Flash__tooltip-arrow__1OBM2{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Flash__tooltip__3_PIV.Flash__bottom-right__qtoEa .Flash__tooltip-arrow__1OBM2{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Flash__tooltip-inner__27N93{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Flash__tooltip-arrow__1OBM2{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Flash__main__33MVw{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;top:60px}.Flash__alert__1rexD{padding:15px;border-bottom:1px solid transparent}.Flash__info__1Pa8b{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.Flash__success__2JEIi{background-color:#dff0d3;border-color:#cbe6b7;color:#227855}.Flash__danger__1S0HK{background-color:#f8cece;border-color:#f3aaaa;color:#d02828}.Flash__content__16af6{width:100%;-webkit-flex:1;-ms-flex:1;flex:1}.Flash__content__16af6 p{margin:0}@-webkit-keyframes FormContainer__progress-bar-stripes__17Ypv{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormContainer__progress-bar-stripes__17Ypv{0%{background-position:40px 0}to{background-position:0 0}}.FormContainer__progress__1Zz89{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormContainer__progress-bar__NFDHe{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormContainer__progress-bar-striped__92lyR,.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar__NFDHe{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormContainer__progress-bar__NFDHe.FormContainer__active__lciQM,.FormContainer__progress__1Zz89.FormContainer__active__lciQM .FormContainer__progress-bar__NFDHe{-webkit-animation:FormContainer__progress-bar-stripes__17Ypv 2s linear infinite;animation:FormContainer__progress-bar-stripes__17Ypv 2s linear infinite}.FormContainer__progress-bar-success__3Z1EW{background-color:#5cb85c}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-success__3Z1EW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__progress-bar-info__TYeRo{background-color:#5bc0de}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-info__TYeRo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__progress-bar-warning__3z_Dt{background-color:#f0ad4e}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-warning__3z_Dt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__progress-bar-danger__3za5W{background-color:#ef5354}.FormContainer__progress-striped__2SmvL .FormContainer__progress-bar-danger__3za5W{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormContainer__tooltip__18ury{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormContainer__tooltip__18ury.FormContainer__in__tsIs-{filter:alpha(opacity=90);opacity:.9}.FormContainer__tooltip__18ury.FormContainer__top__2L2N6{padding:5px 0;margin-top:-3px}.FormContainer__tooltip__18ury.FormContainer__right__F5eW_{padding:0 5px;margin-left:3px}.FormContainer__tooltip__18ury.FormContainer__bottom__qnt-J{padding:5px 0;margin-top:3px}.FormContainer__tooltip__18ury.FormContainer__left__f5n2Q{padding:0 5px;margin-left:-3px}.FormContainer__tooltip__18ury.FormContainer__top__2L2N6 .FormContainer__tooltip-arrow__n9Dkn{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormContainer__tooltip__18ury.FormContainer__top-left__18sot .FormContainer__tooltip-arrow__n9Dkn{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormContainer__tooltip__18ury.FormContainer__top-right__1j8uC .FormContainer__tooltip-arrow__n9Dkn{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormContainer__tooltip__18ury.FormContainer__right__F5eW_ .FormContainer__tooltip-arrow__n9Dkn{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormContainer__tooltip__18ury.FormContainer__left__f5n2Q .FormContainer__tooltip-arrow__n9Dkn{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormContainer__tooltip__18ury.FormContainer__bottom__qnt-J .FormContainer__tooltip-arrow__n9Dkn{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormContainer__tooltip__18ury.FormContainer__bottom-left__2Q22_ .FormContainer__tooltip-arrow__n9Dkn{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormContainer__tooltip__18ury.FormContainer__bottom-right__zvxVK .FormContainer__tooltip-arrow__n9Dkn{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormContainer__tooltip-inner__25zye{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormContainer__tooltip-arrow__n9Dkn{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormContainer__main__1XmHt{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0 30px;margin:90px 30px 30px}.FormContainer__content__1sxOR{min-width:400px;width:55%;margin:0 auto}.FormContainer__submit__3QrVn{text-align:right}@-webkit-keyframes TutorialInfo__progress-bar-stripes__2vFTS{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TutorialInfo__progress-bar-stripes__2vFTS{0%{background-position:40px 0}to{background-position:0 0}}.TutorialInfo__progress__nsfo6{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TutorialInfo__progress-bar__1rXlE{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TutorialInfo__progress-bar-striped__evIaI,.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar__1rXlE{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TutorialInfo__progress-bar__1rXlE.TutorialInfo__active__3vG-z,.TutorialInfo__progress__nsfo6.TutorialInfo__active__3vG-z .TutorialInfo__progress-bar__1rXlE{-webkit-animation:TutorialInfo__progress-bar-stripes__2vFTS 2s linear infinite;animation:TutorialInfo__progress-bar-stripes__2vFTS 2s linear infinite}.TutorialInfo__progress-bar-success__3AIrj{background-color:#5cb85c}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-success__3AIrj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__progress-bar-info__2_pjS{background-color:#5bc0de}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-info__2_pjS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__progress-bar-warning__2gq25{background-color:#f0ad4e}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-warning__2gq25{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__progress-bar-danger__3WjNO{background-color:#ef5354}.TutorialInfo__progress-striped__X6dpF .TutorialInfo__progress-bar-danger__3WjNO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialInfo__tooltip__1AmCG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TutorialInfo__tooltip__1AmCG.TutorialInfo__in__3w60o{filter:alpha(opacity=90);opacity:.9}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top__2OnVl{padding:5px 0;margin-top:-3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__right__3rsqe{padding:0 5px;margin-left:3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom__Lieo-{padding:5px 0;margin-top:3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__left__35VbX{padding:0 5px;margin-left:-3px}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top__2OnVl .TutorialInfo__tooltip-arrow__1nSCS{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top-left__3W-qq .TutorialInfo__tooltip-arrow__1nSCS{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__top-right__3BdQr .TutorialInfo__tooltip-arrow__1nSCS{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__right__3rsqe .TutorialInfo__tooltip-arrow__1nSCS{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__left__35VbX .TutorialInfo__tooltip-arrow__1nSCS{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom__Lieo- .TutorialInfo__tooltip-arrow__1nSCS{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom-left__1D0OA .TutorialInfo__tooltip-arrow__1nSCS{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialInfo__tooltip__1AmCG.TutorialInfo__bottom-right__1cDj0 .TutorialInfo__tooltip-arrow__1nSCS{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialInfo__tooltip-inner__1UksN{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TutorialInfo__tooltip-arrow__1nSCS{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TutorialInfo__container__3Xwmp{width:100%;background-color:#fafafa;padding:25px 30px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.TutorialInfo__container__3Xwmp .TutorialInfo__image__2fEBi{margin-right:20px;margin-top:5px;height:30px;width:30px;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.TutorialInfo__container__3Xwmp .TutorialInfo__text__3SM08{-webkit-flex:10;-ms-flex:10;flex:10;font-size:13px;line-height:1.3;max-width:600px;padding-right:30px}.TutorialInfo__container__3Xwmp .TutorialInfo__text__3SM08 p:last-child{margin:0}.TutorialInfo__container__3Xwmp .TutorialInfo__listItemContainer__31PCM{margin:15px 0}.TutorialInfo__container__3Xwmp .TutorialInfo__listItemContainer__31PCM .TutorialInfo__listBullet__cYqkK{margin-right:10px;padding:2px;display:inline-block;border-radius:50%;background:#6ea9fc;width:18px;height:18px;font-size:10px;font-weight:500;text-align:center;line-height:14px;color:#fff}.TutorialInfo__container__3Xwmp .TutorialInfo__listItemContainer__31PCM .TutorialInfo__listItemGroup__3F-EB{margin-bottom:10px;font-size:13px;font-weight:500;line-height:1.4}.TutorialInfo__container__3Xwmp .TutorialInfo__nextWrapper__sfXS8{margin-left:30px;text-align:right;-webkit-flex:1;-ms-flex:1;flex:1}.TutorialInfo__container__3Xwmp .TutorialInfo__next__172nR{background-color:#fff;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAAAXNSR0IArs4c6QAAAVNJREFUKBWVkb9Lw0AUx99dE8Wxg6UIAbEOLkETB3Go+peYSaQ2g44ugv+BmDYFQek/4qAuLlaFOgg2QVRQcHK0Js/3Yi7Qmgo+OO79+LzvvbsD+I9ZzWDd9HrmXz2SIQLamhRni144NwqWgKgJAEGrGIv4fBQsr93KCSJusZIQYpJhu/k0O6xMQj9mNXo1Av00fAXQq5268aDqUjmk3KIxdtK4DNC/WGiF06qegZzouJUDBNxNi2URxRmcHa06eacx9mmMPfZp/ucoHl/OBRmwG8ElCFhKYMBTjZ1ho7f1KJdAtAexHHN+KTJESTdtDiKpr9zWjJcBRbsZHBGwkUL3n31Y7W4bbxwXkiSisEtODjSTQMxodC1h+WGbfP5zvuWd1CfWuvWpd46VFaySwzMlxynoanMQYlgiiGOS+UCAmy+pVfMgpQrWYTBv+o/FLJHjfAPWE3v8cKPKngAAAABJRU5ErkJggg==);background-repeat:no-repeat;background-position:right 8px center;background-size:5px 9px;border:1px solid #6ea9fc;border-radius:2px;color:#6ea9fc;padding-right:20px}.TutorialInfo__container__3Xwmp button:active:focus{background-color:#6ea9fc;border-color:#6ea9fc;color:#fff}@-webkit-keyframes TutorialForm__progress-bar-stripes__lmJAW{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TutorialForm__progress-bar-stripes__lmJAW{0%{background-position:40px 0}to{background-position:0 0}}.TutorialForm__progress__3Py0L{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TutorialForm__progress-bar__1norf{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TutorialForm__progress-bar-striped__3j7pW,.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar__1norf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TutorialForm__progress-bar__1norf.TutorialForm__active__2KK-s,.TutorialForm__progress__3Py0L.TutorialForm__active__2KK-s .TutorialForm__progress-bar__1norf{-webkit-animation:TutorialForm__progress-bar-stripes__lmJAW 2s linear infinite;animation:TutorialForm__progress-bar-stripes__lmJAW 2s linear infinite}.TutorialForm__progress-bar-success__3nHcH{background-color:#5cb85c}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-success__3nHcH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__progress-bar-info__2TKnI{background-color:#5bc0de}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-info__2TKnI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__progress-bar-warning__1lBEu{background-color:#f0ad4e}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-warning__1lBEu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__progress-bar-danger__1zNDb{background-color:#ef5354}.TutorialForm__progress-striped__3MXLM .TutorialForm__progress-bar-danger__1zNDb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialForm__tooltip__2tCOR{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TutorialForm__tooltip__2tCOR.TutorialForm__in__34NG5{filter:alpha(opacity=90);opacity:.9}.TutorialForm__tooltip__2tCOR.TutorialForm__top__3yJ3W{padding:5px 0;margin-top:-3px}.TutorialForm__tooltip__2tCOR.TutorialForm__right__sFnqN{padding:0 5px;margin-left:3px}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom__2EFYx{padding:5px 0;margin-top:3px}.TutorialForm__tooltip__2tCOR.TutorialForm__left__39_VJ{padding:0 5px;margin-left:-3px}.TutorialForm__tooltip__2tCOR.TutorialForm__top__3yJ3W .TutorialForm__tooltip-arrow__5dmJe{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__top-left__1RLVV .TutorialForm__tooltip-arrow__5dmJe{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__top-right__Vm-PE .TutorialForm__tooltip-arrow__5dmJe{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__right__sFnqN .TutorialForm__tooltip-arrow__5dmJe{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__left__39_VJ .TutorialForm__tooltip-arrow__5dmJe{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom__2EFYx .TutorialForm__tooltip-arrow__5dmJe{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom-left__W5h9d .TutorialForm__tooltip-arrow__5dmJe{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialForm__tooltip__2tCOR.TutorialForm__bottom-right__2Q0jU .TutorialForm__tooltip-arrow__5dmJe{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialForm__tooltip-inner__3ZsY_{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TutorialForm__tooltip-arrow__5dmJe{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TutorialForm__container__1_1bJ{width:300px;margin:30px 60px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK{position:absolute;width:300px;min-height:100px;border:1px solid #6ea9fc;background-color:#fafafa}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK.TutorialForm__fixedTutorial__-0whm{position:fixed;top:150px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__header__2HZt3{background-color:#6ea9fc;box-sizing:border-box;color:#fff;padding:0 30px;height:60px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;width:100%}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe{margin:25px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV{margin:0}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listBullet__1FBxg{margin-right:10px;padding:2px;display:inline-block;border-radius:50%;background:#6ea9fc;width:18px;height:18px;font-size:10px;font-weight:500;text-align:center;line-height:14px;color:#fff}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemGroup__2v66w{display:inline-block;margin-bottom:10px;font-size:13px;font-weight:500;line-height:18px;color:#20252d}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemGroup__2v66w td{padding-bottom:5px}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemDescription__jb1ji{color:#a3a9b8}.TutorialForm__container__1_1bJ .TutorialForm__tutorialContainer__24YDK .TutorialForm__list__1RRZe .TutorialForm__listItemContainer__2XitV .TutorialForm__listItemDescription__jb1ji .TutorialForm__userInputData__2g-H0{color:#6ea9fc;font-weight:bolder}@-webkit-keyframes FormSection__progress-bar-stripes__1QcMN{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormSection__progress-bar-stripes__1QcMN{0%{background-position:40px 0}to{background-position:0 0}}.FormSection__progress__2ci9w{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormSection__progress-bar__AUG20{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormSection__progress-bar-striped__15CLT,.FormSection__progress-striped__25AVN .FormSection__progress-bar__AUG20{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormSection__progress-bar__AUG20.FormSection__active__2q6gP,.FormSection__progress__2ci9w.FormSection__active__2q6gP .FormSection__progress-bar__AUG20{-webkit-animation:FormSection__progress-bar-stripes__1QcMN 2s linear infinite;animation:FormSection__progress-bar-stripes__1QcMN 2s linear infinite}.FormSection__progress-bar-success__3UiIb{background-color:#5cb85c}.FormSection__progress-striped__25AVN .FormSection__progress-bar-success__3UiIb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__progress-bar-info__35WLU{background-color:#5bc0de}.FormSection__progress-striped__25AVN .FormSection__progress-bar-info__35WLU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__progress-bar-warning__1xku2{background-color:#f0ad4e}.FormSection__progress-striped__25AVN .FormSection__progress-bar-warning__1xku2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__progress-bar-danger__2W36c{background-color:#ef5354}.FormSection__progress-striped__25AVN .FormSection__progress-bar-danger__2W36c{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormSection__tooltip__Xwzx9{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormSection__tooltip__Xwzx9.FormSection__in__1JTyJ{filter:alpha(opacity=90);opacity:.9}.FormSection__tooltip__Xwzx9.FormSection__top__3TiPS{padding:5px 0;margin-top:-3px}.FormSection__tooltip__Xwzx9.FormSection__right__2cUZo{padding:0 5px;margin-left:3px}.FormSection__tooltip__Xwzx9.FormSection__bottom__GOGKq{padding:5px 0;margin-top:3px}.FormSection__tooltip__Xwzx9.FormSection__left__1l0XJ{padding:0 5px;margin-left:-3px}.FormSection__tooltip__Xwzx9.FormSection__top__3TiPS .FormSection__tooltip-arrow__2EioC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormSection__tooltip__Xwzx9.FormSection__top-left__3lgou .FormSection__tooltip-arrow__2EioC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormSection__tooltip__Xwzx9.FormSection__top-right__2R4Nu .FormSection__tooltip-arrow__2EioC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormSection__tooltip__Xwzx9.FormSection__right__2cUZo .FormSection__tooltip-arrow__2EioC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormSection__tooltip__Xwzx9.FormSection__left__1l0XJ .FormSection__tooltip-arrow__2EioC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormSection__tooltip__Xwzx9.FormSection__bottom__GOGKq .FormSection__tooltip-arrow__2EioC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormSection__tooltip__Xwzx9.FormSection__bottom-left__3lmed .FormSection__tooltip-arrow__2EioC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormSection__tooltip__Xwzx9.FormSection__bottom-right__2F5cK .FormSection__tooltip-arrow__2EioC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormSection__tooltip-inner__owcub{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormSection__tooltip-arrow__2EioC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormSection__main__1qV8i{padding-bottom:30px;border-bottom:1px solid #f5f5f5;margin:30px 0}.FormSection__main__1qV8i:first-child{margin-top:0;padding-top:30px}.FormSection__main__1qV8i:last-child{border:0;margin-bottom:0;padding-bottom:60px}.FormSection__title__1XQXa{color:#20252d;font-weight:600;font-size:16px;text-transform:uppercase;margin-bottom:30px}@-webkit-keyframes GasField__progress-bar-stripes__3fjg-{0%{background-position:40px 0}to{background-position:0 0}}@keyframes GasField__progress-bar-stripes__3fjg-{0%{background-position:40px 0}to{background-position:0 0}}.GasField__progress__3IAKc{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.GasField__progress-bar__1vy-M{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.GasField__progress-bar-striped__1dEbd,.GasField__progress-striped__3sc3P .GasField__progress-bar__1vy-M{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.GasField__progress-bar__1vy-M.GasField__active__ol0k0,.GasField__progress__3IAKc.GasField__active__ol0k0 .GasField__progress-bar__1vy-M{-webkit-animation:GasField__progress-bar-stripes__3fjg- 2s linear infinite;animation:GasField__progress-bar-stripes__3fjg- 2s linear infinite}.GasField__progress-bar-success__1KpYp{background-color:#5cb85c}.GasField__progress-striped__3sc3P .GasField__progress-bar-success__1KpYp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__progress-bar-info__8oF5j{background-color:#5bc0de}.GasField__progress-striped__3sc3P .GasField__progress-bar-info__8oF5j{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__progress-bar-warning__RLo-L{background-color:#f0ad4e}.GasField__progress-striped__3sc3P .GasField__progress-bar-warning__RLo-L{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__progress-bar-danger__22Lak{background-color:#ef5354}.GasField__progress-striped__3sc3P .GasField__progress-bar-danger__22Lak{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GasField__tooltip__1BxZF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.GasField__tooltip__1BxZF.GasField__in__3_LTt{filter:alpha(opacity=90);opacity:.9}.GasField__tooltip__1BxZF.GasField__top__1Hawz{padding:5px 0;margin-top:-3px}.GasField__tooltip__1BxZF.GasField__right__HZale{padding:0 5px;margin-left:3px}.GasField__tooltip__1BxZF.GasField__bottom__3uLzR{padding:5px 0;margin-top:3px}.GasField__tooltip__1BxZF.GasField__left__3srf7{padding:0 5px;margin-left:-3px}.GasField__tooltip__1BxZF.GasField__top__1Hawz .GasField__tooltip-arrow__35QXQ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.GasField__tooltip__1BxZF.GasField__top-left__3HEke .GasField__tooltip-arrow__35QXQ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GasField__tooltip__1BxZF.GasField__top-right__1XBMU .GasField__tooltip-arrow__35QXQ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GasField__tooltip__1BxZF.GasField__right__HZale .GasField__tooltip-arrow__35QXQ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.GasField__tooltip__1BxZF.GasField__left__3srf7 .GasField__tooltip-arrow__35QXQ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.GasField__tooltip__1BxZF.GasField__bottom__3uLzR .GasField__tooltip-arrow__35QXQ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GasField__tooltip__1BxZF.GasField__bottom-left__3K0RW .GasField__tooltip-arrow__35QXQ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GasField__tooltip__1BxZF.GasField__bottom-right__3khFt .GasField__tooltip-arrow__35QXQ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GasField__tooltip-inner__146qW{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.GasField__tooltip-arrow__35QXQ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.GasField__slider__DySSx{min-width:340px}@-webkit-keyframes JsonField__progress-bar-stripes__1yb9Z{0%{background-position:40px 0}to{background-position:0 0}}@keyframes JsonField__progress-bar-stripes__1yb9Z{0%{background-position:40px 0}to{background-position:0 0}}.JsonField__progress__3_KNn{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.JsonField__progress-bar__b6nzW{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.JsonField__progress-bar-striped__2exSW,.JsonField__progress-striped__gm4b_ .JsonField__progress-bar__b6nzW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.JsonField__progress-bar__b6nzW.JsonField__active__3Cyw-,.JsonField__progress__3_KNn.JsonField__active__3Cyw- .JsonField__progress-bar__b6nzW{-webkit-animation:JsonField__progress-bar-stripes__1yb9Z 2s linear infinite;animation:JsonField__progress-bar-stripes__1yb9Z 2s linear infinite}.JsonField__progress-bar-success__1ZCav{background-color:#5cb85c}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-success__1ZCav{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__progress-bar-info__33nT7{background-color:#5bc0de}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-info__33nT7{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__progress-bar-warning__Ko7kG{background-color:#f0ad4e}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-warning__Ko7kG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__progress-bar-danger__392-Y{background-color:#ef5354}.JsonField__progress-striped__gm4b_ .JsonField__progress-bar-danger__392-Y{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.JsonField__tooltip__3XnpT{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.JsonField__tooltip__3XnpT.JsonField__in__3IuNj{filter:alpha(opacity=90);opacity:.9}.JsonField__tooltip__3XnpT.JsonField__top__2BT55{padding:5px 0;margin-top:-3px}.JsonField__tooltip__3XnpT.JsonField__right__qRPYP{padding:0 5px;margin-left:3px}.JsonField__tooltip__3XnpT.JsonField__bottom__FNUjL{padding:5px 0;margin-top:3px}.JsonField__tooltip__3XnpT.JsonField__left__3sudf{padding:0 5px;margin-left:-3px}.JsonField__tooltip__3XnpT.JsonField__top__2BT55 .JsonField__tooltip-arrow__2aWgB{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.JsonField__tooltip__3XnpT.JsonField__top-left__1xgAI .JsonField__tooltip-arrow__2aWgB{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.JsonField__tooltip__3XnpT.JsonField__top-right__2bkYr .JsonField__tooltip-arrow__2aWgB{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.JsonField__tooltip__3XnpT.JsonField__right__qRPYP .JsonField__tooltip-arrow__2aWgB{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.JsonField__tooltip__3XnpT.JsonField__left__3sudf .JsonField__tooltip-arrow__2aWgB{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.JsonField__tooltip__3XnpT.JsonField__bottom__FNUjL .JsonField__tooltip-arrow__2aWgB{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.JsonField__tooltip__3XnpT.JsonField__bottom-left__2JGqG .JsonField__tooltip-arrow__2aWgB{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.JsonField__tooltip__3XnpT.JsonField__bottom-right__In1HQ .JsonField__tooltip-arrow__2aWgB{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.JsonField__tooltip-inner__2CWD9{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.JsonField__tooltip-arrow__2aWgB{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.JsonField__editorWrapper__24TdT{border:1px solid #ccc;border-radius:3px;padding:12px 8px}.JsonField__editorError__3aglE{border-color:#ef5354}.JsonField__errorBlock__2YbXG{color:#ef5354}@-webkit-keyframes KeyValueTable__progress-bar-stripes__39-LP{0%{background-position:40px 0}to{background-position:0 0}}@keyframes KeyValueTable__progress-bar-stripes__39-LP{0%{background-position:40px 0}to{background-position:0 0}}.KeyValueTable__progress__1iAIc{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.KeyValueTable__progress-bar__d0dyO{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.KeyValueTable__progress-bar-striped__2vnML,.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar__d0dyO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.KeyValueTable__progress-bar__d0dyO.KeyValueTable__active__Dzb4m,.KeyValueTable__progress__1iAIc.KeyValueTable__active__Dzb4m .KeyValueTable__progress-bar__d0dyO{-webkit-animation:KeyValueTable__progress-bar-stripes__39-LP 2s linear infinite;animation:KeyValueTable__progress-bar-stripes__39-LP 2s linear infinite}.KeyValueTable__progress-bar-success__3eE_r{background-color:#5cb85c}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-success__3eE_r{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__progress-bar-info__30oiy{background-color:#5bc0de}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-info__30oiy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__progress-bar-warning__v6bAo{background-color:#f0ad4e}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-warning__v6bAo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__progress-bar-danger__3nmtw{background-color:#ef5354}.KeyValueTable__progress-striped__2GNYd .KeyValueTable__progress-bar-danger__3nmtw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.KeyValueTable__tooltip__1ApT3{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.KeyValueTable__tooltip__1ApT3.KeyValueTable__in__JPSct{filter:alpha(opacity=90);opacity:.9}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top__1eqqI{padding:5px 0;margin-top:-3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__right__2nDg9{padding:0 5px;margin-left:3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom__1vH8n{padding:5px 0;margin-top:3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__left__O8-Mv{padding:0 5px;margin-left:-3px}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top__1eqqI .KeyValueTable__tooltip-arrow__2meU4{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top-left__1U9Td .KeyValueTable__tooltip-arrow__2meU4{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__top-right__2GFqG .KeyValueTable__tooltip-arrow__2meU4{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__right__2nDg9 .KeyValueTable__tooltip-arrow__2meU4{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__left__O8-Mv .KeyValueTable__tooltip-arrow__2meU4{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom__1vH8n .KeyValueTable__tooltip-arrow__2meU4{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom-left__33hAb .KeyValueTable__tooltip-arrow__2meU4{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.KeyValueTable__tooltip__1ApT3.KeyValueTable__bottom-right__2JSpw .KeyValueTable__tooltip-arrow__2meU4{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.KeyValueTable__tooltip-inner__Ku1LL{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.KeyValueTable__tooltip-arrow__2meU4{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.KeyValueTable__table__2B4pY{background:#fff;table-layout:fixed;width:100%}.KeyValueTable__table__2B4pY td{border-bottom:1px solid #f5f5f5;vertical-align:top;padding:13px 30px;line-height:15px}.KeyValueTable__table__2B4pY a .KeyValueTable__pre__1bjMa{color:#195ad6}.KeyValueTable__table__2B4pY tr:first-child td{padding-top:20px}.KeyValueTable__table__2B4pY tr:last-child td{border-bottom:none;padding-bottom:20px}.KeyValueTable__edit__2nkqO{float:right;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-size:13px}.KeyValueTable__detail__d9uZX{padding:0;margin:0;line-height:15px}.KeyValueTable__pencil__VD-63{padding-right:5px;font-size:10px;font-weight:600}.KeyValueTable__label__35Rgy{background:#fff;border-right:1px solid #f5f5f5;color:#20252d;font-weight:600;width:200px;font-size:13px;font-family:Nitti Grotesk;text-align:right;letter-spacing:.2px;text-transform:uppercase}.KeyValueTable__pre__1bjMa,.KeyValueTable__value__bwXOr{font-size:13px;color:#747c89}.KeyValueTable__value__bwXOr{word-wrap:break-word;font-family:Nitti}.KeyValueTable__pre__1bjMa{display:inline-block;padding:0;margin:0;word-break:break-all;word-wrap:break-word;white-space:pre-wrap;border:none;line-height:1.4}.KeyValueTable__copyButton__2nsqx{padding:0 8px 2px}.KeyValueTable__copyButton__2nsqx img{width:18px}@-webkit-keyframes Mnemonic__progress-bar-stripes__2D_Gk{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Mnemonic__progress-bar-stripes__2D_Gk{0%{background-position:40px 0}to{background-position:0 0}}.Mnemonic__progress__3Fsru{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Mnemonic__progress-bar__3hte8{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Mnemonic__progress-bar-striped__3Zdco,.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar__3hte8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Mnemonic__progress-bar__3hte8.Mnemonic__active__iuzOz,.Mnemonic__progress__3Fsru.Mnemonic__active__iuzOz .Mnemonic__progress-bar__3hte8{-webkit-animation:Mnemonic__progress-bar-stripes__2D_Gk 2s linear infinite;animation:Mnemonic__progress-bar-stripes__2D_Gk 2s linear infinite}.Mnemonic__progress-bar-success__3Mftm{background-color:#5cb85c}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-success__3Mftm{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__progress-bar-info__38xfx{background-color:#5bc0de}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-info__38xfx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__progress-bar-warning__67_hE{background-color:#f0ad4e}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-warning__67_hE{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__progress-bar-danger__2aiVf{background-color:#ef5354}.Mnemonic__progress-striped__3B9g4 .Mnemonic__progress-bar-danger__2aiVf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Mnemonic__tooltip__WUlaF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Mnemonic__tooltip__WUlaF.Mnemonic__in__mUU6D{filter:alpha(opacity=90);opacity:.9}.Mnemonic__tooltip__WUlaF.Mnemonic__top__1b1U5{padding:5px 0;margin-top:-3px}.Mnemonic__tooltip__WUlaF.Mnemonic__right__2DyRZ{padding:0 5px;margin-left:3px}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom__2xGK0{padding:5px 0;margin-top:3px}.Mnemonic__tooltip__WUlaF.Mnemonic__left__8dShv{padding:0 5px;margin-left:-3px}.Mnemonic__tooltip__WUlaF.Mnemonic__top__1b1U5 .Mnemonic__tooltip-arrow__28eAo{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__top-left__gO9Zk .Mnemonic__tooltip-arrow__28eAo{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__top-right__2ANj3 .Mnemonic__tooltip-arrow__28eAo{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__right__2DyRZ .Mnemonic__tooltip-arrow__28eAo{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__left__8dShv .Mnemonic__tooltip-arrow__28eAo{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom__2xGK0 .Mnemonic__tooltip-arrow__28eAo{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom-left__2bntD .Mnemonic__tooltip-arrow__28eAo{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Mnemonic__tooltip__WUlaF.Mnemonic__bottom-right__deJxw .Mnemonic__tooltip-arrow__28eAo{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Mnemonic__tooltip-inner__32_Dh{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Mnemonic__tooltip-arrow__28eAo{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Mnemonic__seed__2aDuu{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:22%;height:36px;background-color:#f8f8f8;border:1px solid #f5f5f5;border-radius:3px;color:#20252d;margin:5px 10px 5px 0;padding:6px 0;float:left;text-align:center}.Mnemonic__copy__3nTWY{width:18px;margin-bottom:3px}.Mnemonic__flexContainer__pWQMX{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.Mnemonic__seedArea__3T2B_{margin-bottom:15px}.Mnemonic__container__1Sfnd{width:540px}@-webkit-keyframes ObjectSelectorField__progress-bar-stripes__1iky2{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ObjectSelectorField__progress-bar-stripes__1iky2{0%{background-position:40px 0}to{background-position:0 0}}.ObjectSelectorField__progress__15Yfn{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ObjectSelectorField__progress-bar__obc8A{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ObjectSelectorField__progress-bar-striped__1T6dz,.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar__obc8A{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ObjectSelectorField__progress-bar__obc8A.ObjectSelectorField__active__3iUnq,.ObjectSelectorField__progress__15Yfn.ObjectSelectorField__active__3iUnq .ObjectSelectorField__progress-bar__obc8A{-webkit-animation:ObjectSelectorField__progress-bar-stripes__1iky2 2s linear infinite;animation:ObjectSelectorField__progress-bar-stripes__1iky2 2s linear infinite}.ObjectSelectorField__progress-bar-success__3LW7l{background-color:#5cb85c}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-success__3LW7l{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__progress-bar-info__292eA{background-color:#5bc0de}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-info__292eA{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__progress-bar-warning__l0MJ3{background-color:#f0ad4e}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-warning__l0MJ3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__progress-bar-danger__Ty_VX{background-color:#ef5354}.ObjectSelectorField__progress-striped__1SjQq .ObjectSelectorField__progress-bar-danger__Ty_VX{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ObjectSelectorField__tooltip__1oKiC{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__in__1Mrx7{filter:alpha(opacity=90);opacity:.9}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top__3jiYf{padding:5px 0;margin-top:-3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__right__2YSY0{padding:0 5px;margin-left:3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom__iMRXd{padding:5px 0;margin-top:3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__left__4nx0u{padding:0 5px;margin-left:-3px}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top__3jiYf .ObjectSelectorField__tooltip-arrow__3mqn0{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top-left__1GCdl .ObjectSelectorField__tooltip-arrow__3mqn0{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__top-right__3FjQs .ObjectSelectorField__tooltip-arrow__3mqn0{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__right__2YSY0 .ObjectSelectorField__tooltip-arrow__3mqn0{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__left__4nx0u .ObjectSelectorField__tooltip-arrow__3mqn0{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom__iMRXd .ObjectSelectorField__tooltip-arrow__3mqn0{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom-left__2BQ_G .ObjectSelectorField__tooltip-arrow__3mqn0{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ObjectSelectorField__tooltip__1oKiC.ObjectSelectorField__bottom-right__LvC3L .ObjectSelectorField__tooltip-arrow__3mqn0{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ObjectSelectorField__tooltip-inner__1DAhx{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ObjectSelectorField__tooltip-arrow__3mqn0{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ObjectSelectorField__dropdownButton__3wU1e{text-align:left;width:90px}.ObjectSelectorField__aliasFieldGroupItem__35ZI4{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-top-right-radius:3px!important;border-bottom-right-radius:3px!important}@-webkit-keyframes PageContent__progress-bar-stripes__3Nj8t{0%{background-position:40px 0}to{background-position:0 0}}@keyframes PageContent__progress-bar-stripes__3Nj8t{0%{background-position:40px 0}to{background-position:0 0}}.PageContent__progress__3a9Vk{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.PageContent__progress-bar__38e5Z{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.PageContent__progress-bar-striped__1sOF4,.PageContent__progress-striped__2fSkw .PageContent__progress-bar__38e5Z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.PageContent__progress-bar__38e5Z.PageContent__active__ZWILU,.PageContent__progress__3a9Vk.PageContent__active__ZWILU .PageContent__progress-bar__38e5Z{-webkit-animation:PageContent__progress-bar-stripes__3Nj8t 2s linear infinite;animation:PageContent__progress-bar-stripes__3Nj8t 2s linear infinite}.PageContent__progress-bar-success__U0myE{background-color:#5cb85c}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-success__U0myE{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__progress-bar-info__qHReg{background-color:#5bc0de}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-info__qHReg{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__progress-bar-warning__HmRxk{background-color:#f0ad4e}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-warning__HmRxk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__progress-bar-danger__2e7ia{background-color:#ef5354}.PageContent__progress-striped__2fSkw .PageContent__progress-bar-danger__2e7ia{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageContent__tooltip__Z365i{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.PageContent__tooltip__Z365i.PageContent__in__1jDne{filter:alpha(opacity=90);opacity:.9}.PageContent__tooltip__Z365i.PageContent__top__2kTaR{padding:5px 0;margin-top:-3px}.PageContent__tooltip__Z365i.PageContent__right__3b3d2{padding:0 5px;margin-left:3px}.PageContent__tooltip__Z365i.PageContent__bottom__oTp-8{padding:5px 0;margin-top:3px}.PageContent__tooltip__Z365i.PageContent__left__E5kad{padding:0 5px;margin-left:-3px}.PageContent__tooltip__Z365i.PageContent__top__2kTaR .PageContent__tooltip-arrow__3tteJ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.PageContent__tooltip__Z365i.PageContent__top-left__3X2hD .PageContent__tooltip-arrow__3tteJ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageContent__tooltip__Z365i.PageContent__top-right__3Bk3q .PageContent__tooltip-arrow__3tteJ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageContent__tooltip__Z365i.PageContent__right__3b3d2 .PageContent__tooltip-arrow__3tteJ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.PageContent__tooltip__Z365i.PageContent__left__E5kad .PageContent__tooltip-arrow__3tteJ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.PageContent__tooltip__Z365i.PageContent__bottom__oTp-8 .PageContent__tooltip-arrow__3tteJ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageContent__tooltip__Z365i.PageContent__bottom-left__3y6Ud .PageContent__tooltip-arrow__3tteJ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageContent__tooltip__Z365i.PageContent__bottom-right__1ygzY .PageContent__tooltip-arrow__3tteJ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageContent__tooltip-inner__1JhrP{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.PageContent__tooltip-arrow__3tteJ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.PageContent__main__2Yu_Q{padding:30px;position:relative;margin-top:60px}@-webkit-keyframes PageTitle__progress-bar-stripes__1xdhc{0%{background-position:40px 0}to{background-position:0 0}}@keyframes PageTitle__progress-bar-stripes__1xdhc{0%{background-position:40px 0}to{background-position:0 0}}.PageTitle__progress__3U4Ea{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.PageTitle__progress-bar__3L0vx{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.PageTitle__progress-bar-striped__Yr53t,.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar__3L0vx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.PageTitle__progress-bar__3L0vx.PageTitle__active__1TYMZ,.PageTitle__progress__3U4Ea.PageTitle__active__1TYMZ .PageTitle__progress-bar__3L0vx{-webkit-animation:PageTitle__progress-bar-stripes__1xdhc 2s linear infinite;animation:PageTitle__progress-bar-stripes__1xdhc 2s linear infinite}.PageTitle__progress-bar-success__3IZXU{background-color:#5cb85c}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-success__3IZXU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__progress-bar-info__8z84B{background-color:#5bc0de}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-info__8z84B{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__progress-bar-warning__2RIPY{background-color:#f0ad4e}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-warning__2RIPY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__progress-bar-danger__3uYv5{background-color:#ef5354}.PageTitle__progress-striped__3yHWy .PageTitle__progress-bar-danger__3uYv5{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PageTitle__tooltip__35dTR{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.PageTitle__tooltip__35dTR.PageTitle__in__C0X6E{filter:alpha(opacity=90);opacity:.9}.PageTitle__tooltip__35dTR.PageTitle__top__qvPWB{padding:5px 0;margin-top:-3px}.PageTitle__tooltip__35dTR.PageTitle__right__18DIo{padding:0 5px;margin-left:3px}.PageTitle__tooltip__35dTR.PageTitle__bottom__3xAZ3{padding:5px 0;margin-top:3px}.PageTitle__tooltip__35dTR.PageTitle__left__3XIs6{padding:0 5px;margin-left:-3px}.PageTitle__tooltip__35dTR.PageTitle__top__qvPWB .PageTitle__tooltip-arrow__LZW1I{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.PageTitle__tooltip__35dTR.PageTitle__top-left__34hmC .PageTitle__tooltip-arrow__LZW1I{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageTitle__tooltip__35dTR.PageTitle__top-right__3pbms .PageTitle__tooltip-arrow__LZW1I{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PageTitle__tooltip__35dTR.PageTitle__right__18DIo .PageTitle__tooltip-arrow__LZW1I{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.PageTitle__tooltip__35dTR.PageTitle__left__3XIs6 .PageTitle__tooltip-arrow__LZW1I{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.PageTitle__tooltip__35dTR.PageTitle__bottom__3xAZ3 .PageTitle__tooltip-arrow__LZW1I{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageTitle__tooltip__35dTR.PageTitle__bottom-left__2Q9Ty .PageTitle__tooltip-arrow__LZW1I{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageTitle__tooltip__35dTR.PageTitle__bottom-right__3zojQ .PageTitle__tooltip-arrow__LZW1I{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PageTitle__tooltip-inner__1xtqP{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.PageTitle__tooltip-arrow__LZW1I{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.PageTitle__main__ABEpT{background:#fff;padding:15px 30px;border-bottom:1px solid #f5f5f5;height:60px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;left:220px;z-index:99;position:fixed;right:0}.PageTitle__main__ABEpT code{display:inline-block;font-size:13px;font-weight:400;margin-left:3px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.4}.PageTitle__title__3Es27{color:#20252d}.PageTitle__navigation__3_HhP{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.PageTitle__crumbs__-Ay5t{display:-webkit-flex;display:-ms-flexbox;display:flex;font-size:20px;list-style-type:none;margin:0;padding:0}.PageTitle__crumb__gVdBx a{position:relative;padding-right:15px;margin-right:15px}.PageTitle__crumb__gVdBx a .PageTitle__chevron__2f3I4{width:5px;height:10px;position:absolute;right:-2px;top:calc(50% - 5px)}.PageTitle__actions__2ch3W{list-style-type:none;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:0;padding:0}.PageTitle__flash__1OtqT{z-index:10;width:calc(100% - 220px)}@-webkit-keyframes Pagination__progress-bar-stripes__2zR5F{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Pagination__progress-bar-stripes__2zR5F{0%{background-position:40px 0}to{background-position:0 0}}.Pagination__progress__3LBnR{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Pagination__progress-bar__2djEG{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Pagination__progress-bar-striped__34ir2,.Pagination__progress-striped__2DBtK .Pagination__progress-bar__2djEG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Pagination__progress-bar__2djEG.Pagination__active__2VQ-0,.Pagination__progress__3LBnR.Pagination__active__2VQ-0 .Pagination__progress-bar__2djEG{-webkit-animation:Pagination__progress-bar-stripes__2zR5F 2s linear infinite;animation:Pagination__progress-bar-stripes__2zR5F 2s linear infinite}.Pagination__progress-bar-success__3Zp6q{background-color:#5cb85c}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-success__3Zp6q{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__progress-bar-info__2JNrd{background-color:#5bc0de}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-info__2JNrd{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__progress-bar-warning__2G2aS{background-color:#f0ad4e}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-warning__2G2aS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__progress-bar-danger__2Loi9{background-color:#ef5354}.Pagination__progress-striped__2DBtK .Pagination__progress-bar-danger__2Loi9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Pagination__tooltip__w_NQ1{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Pagination__tooltip__w_NQ1.Pagination__in__2tW2K{filter:alpha(opacity=90);opacity:.9}.Pagination__tooltip__w_NQ1.Pagination__top__3NRAH{padding:5px 0;margin-top:-3px}.Pagination__tooltip__w_NQ1.Pagination__right__2lD9Z{padding:0 5px;margin-left:3px}.Pagination__tooltip__w_NQ1.Pagination__bottom__1nk1a{padding:5px 0;margin-top:3px}.Pagination__tooltip__w_NQ1.Pagination__left__2aU6x{padding:0 5px;margin-left:-3px}.Pagination__tooltip__w_NQ1.Pagination__top__3NRAH .Pagination__tooltip-arrow__e4hJY{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Pagination__tooltip__w_NQ1.Pagination__top-left__1k-hR .Pagination__tooltip-arrow__e4hJY{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Pagination__tooltip__w_NQ1.Pagination__top-right__3gjcz .Pagination__tooltip-arrow__e4hJY{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Pagination__tooltip__w_NQ1.Pagination__right__2lD9Z .Pagination__tooltip-arrow__e4hJY{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Pagination__tooltip__w_NQ1.Pagination__left__2aU6x .Pagination__tooltip-arrow__e4hJY{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Pagination__tooltip__w_NQ1.Pagination__bottom__1nk1a .Pagination__tooltip-arrow__e4hJY{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Pagination__tooltip__w_NQ1.Pagination__bottom-left__1CCyh .Pagination__tooltip-arrow__e4hJY{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Pagination__tooltip__w_NQ1.Pagination__bottom-right__3g8YE .Pagination__tooltip-arrow__e4hJY{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Pagination__tooltip-inner__1172w{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Pagination__tooltip-arrow__e4hJY{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Pagination__main__2oPNq{text-align:center;list-style-type:none;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-top:30px}.Pagination__main__2oPNq li{display:inline-block;margin:0 30px}.Pagination__button__7PNQR{border:2px solid #195ad6;color:#195ad6;cursor:pointer;display:block;line-height:26px;font-size:16px;height:30px;width:30px;border-radius:15px}.Pagination__button__7PNQR:hover{border-color:#3295de}.Pagination__disabled__2U4H8{border-color:#747c89;color:#747c89;opacity:0;pointer-events:none}@-webkit-keyframes PasswordField__progress-bar-stripes__yyFGx{0%{background-position:40px 0}to{background-position:0 0}}@keyframes PasswordField__progress-bar-stripes__yyFGx{0%{background-position:40px 0}to{background-position:0 0}}.PasswordField__progress__3N7qR{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.PasswordField__progress-bar__DtrQF{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.PasswordField__progress-bar-striped__WoGge,.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar__DtrQF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.PasswordField__progress-bar__DtrQF.PasswordField__active__3E0Di,.PasswordField__progress__3N7qR.PasswordField__active__3E0Di .PasswordField__progress-bar__DtrQF{-webkit-animation:PasswordField__progress-bar-stripes__yyFGx 2s linear infinite;animation:PasswordField__progress-bar-stripes__yyFGx 2s linear infinite}.PasswordField__progress-bar-success__2-oUj{background-color:#5cb85c}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-success__2-oUj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__progress-bar-info__SjBKC{background-color:#5bc0de}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-info__SjBKC{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__progress-bar-warning__3QtNg{background-color:#f0ad4e}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-warning__3QtNg{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__progress-bar-danger__LM6g6{background-color:#ef5354}.PasswordField__progress-striped__3ZHh7 .PasswordField__progress-bar-danger__LM6g6{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.PasswordField__tooltip__2c8Yz{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.PasswordField__tooltip__2c8Yz.PasswordField__in__jw6AB{filter:alpha(opacity=90);opacity:.9}.PasswordField__tooltip__2c8Yz.PasswordField__top__2vUGF{padding:5px 0;margin-top:-3px}.PasswordField__tooltip__2c8Yz.PasswordField__right__2XGbC{padding:0 5px;margin-left:3px}.PasswordField__tooltip__2c8Yz.PasswordField__bottom__13ViL{padding:5px 0;margin-top:3px}.PasswordField__tooltip__2c8Yz.PasswordField__left__3MJD-{padding:0 5px;margin-left:-3px}.PasswordField__tooltip__2c8Yz.PasswordField__top__2vUGF .PasswordField__tooltip-arrow__3Nmmp{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__top-left__2Dzeh .PasswordField__tooltip-arrow__3Nmmp{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__top-right__1GlF9 .PasswordField__tooltip-arrow__3Nmmp{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__right__2XGbC .PasswordField__tooltip-arrow__3Nmmp{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__left__3MJD- .PasswordField__tooltip-arrow__3Nmmp{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__bottom__13ViL .PasswordField__tooltip-arrow__3Nmmp{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__bottom-left__1RLLL .PasswordField__tooltip-arrow__3Nmmp{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PasswordField__tooltip__2c8Yz.PasswordField__bottom-right__mAEV7 .PasswordField__tooltip-arrow__3Nmmp{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.PasswordField__tooltip-inner__3-3LR{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.PasswordField__tooltip-arrow__3Nmmp{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.PasswordField__capsIcon__3MrOT{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzAgMzAiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGNsaXAtcGF0aDogdXJsKCNjbGlwLWNhcHNsb2Nrc18yKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjZTRlNGU0OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWNhcHNsb2Nrc18yIj4KICAgICAgPHJlY3Qgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iY2Fwc2xvY2tzXzIiIGRhdGEtbmFtZT0iY2Fwc2xvY2tzIOKAkyAyIiBjbGFzcz0iY2xzLTEiPgogICAgPHBhdGggaWQ9IlVuaW9uXzg2IiBkYXRhLW5hbWU9IlVuaW9uIDg2IiBjbGFzcz0iY2xzLTIiIGQ9Ik0tMjE0MC4wNDEtMzE4Ljh2LTMuMjMzaDguMDgxdjMuMjMzWm0wLTUuNjU3Vi0zMzFILTIxNDRsOC04LDgsOGgtMy45NTl2Ni41NDZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMTUxIDM0My4zOTgpIi8+CiAgPC9nPgo8L3N2Zz4K)}.PasswordField__capsIconGreen__axeCy{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMzAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCAzMCAzMCI+CiAgPGRlZnM+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcGF0aCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfNTM1MSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgNTM1MSIgd2lkdGg9IjMwIiBoZWlnaHQ9IjMwIiBmaWxsPSIjMTk3N2Q2Ii8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iY2Fwc2xvY2stZ3JlZW4iIGNsaXAtcGF0aD0idXJsKCNjbGlwLXBhdGgpIj4KICAgIDxwYXRoIGlkPSJVbmlvbl84NSIgZGF0YS1uYW1lPSJVbmlvbiA4NSIgZD0iTS0yMjQwLjA0MS0zMTguOHYtMy4yMzNoOC4wODF2My4yMzNabTAtNS42NTdWLTMzMUgtMjI0NGw4LTgsOCw4aC0zLjk1OXY2LjU0NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyNTEgMzQzLjM5OCkiIGZpbGw9IiMxOTc3ZDYiLz4KICA8L2c+Cjwvc3ZnPgo=)}.PasswordField__password__3SXbs{background-repeat:no-repeat;background-position:99%;background-size:20px 20px;padding-right:30px;-webkit-text-security:disc!important}.PasswordField__dotFont__19fE5{font-family:dotsfont}@-webkit-keyframes RadioField__progress-bar-stripes__3YpNP{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RadioField__progress-bar-stripes__3YpNP{0%{background-position:40px 0}to{background-position:0 0}}.RadioField__progress__3qFVF{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RadioField__progress-bar__pxEck{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RadioField__progress-bar-striped__10nF1,.RadioField__progress-striped__1vYrR .RadioField__progress-bar__pxEck{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RadioField__progress-bar__pxEck.RadioField__active__2w0w2,.RadioField__progress__3qFVF.RadioField__active__2w0w2 .RadioField__progress-bar__pxEck{-webkit-animation:RadioField__progress-bar-stripes__3YpNP 2s linear infinite;animation:RadioField__progress-bar-stripes__3YpNP 2s linear infinite}.RadioField__progress-bar-success__3_kUu{background-color:#5cb85c}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-success__3_kUu{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__progress-bar-info__3EGh-{background-color:#5bc0de}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-info__3EGh-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__progress-bar-warning__v1n-v{background-color:#f0ad4e}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-warning__v1n-v{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__progress-bar-danger__1qPgq{background-color:#ef5354}.RadioField__progress-striped__1vYrR .RadioField__progress-bar-danger__1qPgq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RadioField__tooltip__2mlcK{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RadioField__tooltip__2mlcK.RadioField__in__3WzBr{filter:alpha(opacity=90);opacity:.9}.RadioField__tooltip__2mlcK.RadioField__top__2-VdY{padding:5px 0;margin-top:-3px}.RadioField__tooltip__2mlcK.RadioField__right__1Ca27{padding:0 5px;margin-left:3px}.RadioField__tooltip__2mlcK.RadioField__bottom__CG-hS{padding:5px 0;margin-top:3px}.RadioField__tooltip__2mlcK.RadioField__left__vXIzj{padding:0 5px;margin-left:-3px}.RadioField__tooltip__2mlcK.RadioField__top__2-VdY .RadioField__tooltip-arrow__2--ao{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RadioField__tooltip__2mlcK.RadioField__top-left__3vNwa .RadioField__tooltip-arrow__2--ao{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RadioField__tooltip__2mlcK.RadioField__top-right__3TJXX .RadioField__tooltip-arrow__2--ao{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RadioField__tooltip__2mlcK.RadioField__right__1Ca27 .RadioField__tooltip-arrow__2--ao{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RadioField__tooltip__2mlcK.RadioField__left__vXIzj .RadioField__tooltip-arrow__2--ao{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RadioField__tooltip__2mlcK.RadioField__bottom__CG-hS .RadioField__tooltip-arrow__2--ao{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RadioField__tooltip__2mlcK.RadioField__bottom-left__1BbaB .RadioField__tooltip-arrow__2--ao{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RadioField__tooltip__2mlcK.RadioField__bottom-right__2b73U .RadioField__tooltip-arrow__2--ao{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RadioField__tooltip-inner__2QX8g{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RadioField__tooltip-arrow__2--ao{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RadioField__radio__3Eql3{margin-right:7.5px!important}.RadioField__label__397An{margin-right:30px}@-webkit-keyframes RestoreKeystore__progress-bar-stripes__3ZHmd{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RestoreKeystore__progress-bar-stripes__3ZHmd{0%{background-position:40px 0}to{background-position:0 0}}.RestoreKeystore__progress__1dEXP{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RestoreKeystore__progress-bar__1v5Nh{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RestoreKeystore__progress-bar-striped__SCCkv,.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar__1v5Nh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RestoreKeystore__progress-bar__1v5Nh.RestoreKeystore__active__2Osp-,.RestoreKeystore__progress__1dEXP.RestoreKeystore__active__2Osp- .RestoreKeystore__progress-bar__1v5Nh{-webkit-animation:RestoreKeystore__progress-bar-stripes__3ZHmd 2s linear infinite;animation:RestoreKeystore__progress-bar-stripes__3ZHmd 2s linear infinite}.RestoreKeystore__progress-bar-success__1MhH0{background-color:#5cb85c}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-success__1MhH0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__progress-bar-info__1_EYW{background-color:#5bc0de}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-info__1_EYW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__progress-bar-warning__19uTJ{background-color:#f0ad4e}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-warning__19uTJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__progress-bar-danger__AHn1g{background-color:#ef5354}.RestoreKeystore__progress-striped__QSLB4 .RestoreKeystore__progress-bar-danger__AHn1g{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreKeystore__tooltip__2L2Xt{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__in__4tDR0{filter:alpha(opacity=90);opacity:.9}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top__bBQdY{padding:5px 0;margin-top:-3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__right__13FIn{padding:0 5px;margin-left:3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom__-7omJ{padding:5px 0;margin-top:3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__left__k5zHL{padding:0 5px;margin-left:-3px}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top__bBQdY .RestoreKeystore__tooltip-arrow__2hynC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top-left__CyWh7 .RestoreKeystore__tooltip-arrow__2hynC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__top-right__34hdM .RestoreKeystore__tooltip-arrow__2hynC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__right__13FIn .RestoreKeystore__tooltip-arrow__2hynC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__left__k5zHL .RestoreKeystore__tooltip-arrow__2hynC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom__-7omJ .RestoreKeystore__tooltip-arrow__2hynC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom-left__2Tgj4 .RestoreKeystore__tooltip-arrow__2hynC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreKeystore__tooltip__2L2Xt.RestoreKeystore__bottom-right__3Ajst .RestoreKeystore__tooltip-arrow__2hynC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreKeystore__tooltip-inner__r5aO-{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RestoreKeystore__tooltip-arrow__2hynC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RestoreKeystore__submitButton__1cFjI{float:left}@-webkit-keyframes RestoreMnemonic__progress-bar-stripes__3Lyt1{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RestoreMnemonic__progress-bar-stripes__3Lyt1{0%{background-position:40px 0}to{background-position:0 0}}.RestoreMnemonic__progress__35Vbx{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RestoreMnemonic__progress-bar__3GkMq{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RestoreMnemonic__progress-bar-striped__swvjc,.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar__3GkMq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RestoreMnemonic__progress-bar__3GkMq.RestoreMnemonic__active__3EaAH,.RestoreMnemonic__progress__35Vbx.RestoreMnemonic__active__3EaAH .RestoreMnemonic__progress-bar__3GkMq{-webkit-animation:RestoreMnemonic__progress-bar-stripes__3Lyt1 2s linear infinite;animation:RestoreMnemonic__progress-bar-stripes__3Lyt1 2s linear infinite}.RestoreMnemonic__progress-bar-success__3inPy{background-color:#5cb85c}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-success__3inPy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__progress-bar-info__vuGK-{background-color:#5bc0de}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-info__vuGK-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__progress-bar-warning__3hyUJ{background-color:#f0ad4e}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-warning__3hyUJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__progress-bar-danger__1GnQo{background-color:#ef5354}.RestoreMnemonic__progress-striped__28JrI .RestoreMnemonic__progress-bar-danger__1GnQo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RestoreMnemonic__tooltip__2sQy9{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__in__cXJz-{filter:alpha(opacity=90);opacity:.9}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top__3bC1x{padding:5px 0;margin-top:-3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__right__1w9AI{padding:0 5px;margin-left:3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom__2DBZw{padding:5px 0;margin-top:3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__left__1mi8a{padding:0 5px;margin-left:-3px}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top__3bC1x .RestoreMnemonic__tooltip-arrow__276jG{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top-left__1qElw .RestoreMnemonic__tooltip-arrow__276jG{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__top-right__3u2IW .RestoreMnemonic__tooltip-arrow__276jG{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__right__1w9AI .RestoreMnemonic__tooltip-arrow__276jG{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__left__1mi8a .RestoreMnemonic__tooltip-arrow__276jG{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom__2DBZw .RestoreMnemonic__tooltip-arrow__276jG{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom-left__t9d7r .RestoreMnemonic__tooltip-arrow__276jG{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreMnemonic__tooltip__2sQy9.RestoreMnemonic__bottom-right__3Jww8 .RestoreMnemonic__tooltip-arrow__276jG{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RestoreMnemonic__tooltip-inner__2gTnu{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RestoreMnemonic__tooltip-arrow__276jG{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RestoreMnemonic__submitButton__3IEuJ{float:left}@-webkit-keyframes SearchBar__progress-bar-stripes___L-Kx{0%{background-position:40px 0}to{background-position:0 0}}@keyframes SearchBar__progress-bar-stripes___L-Kx{0%{background-position:40px 0}to{background-position:0 0}}.SearchBar__progress__3O7nP{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.SearchBar__progress-bar__3qbD1{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.SearchBar__progress-bar-striped__1WWbT,.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar__3qbD1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.SearchBar__progress-bar__3qbD1.SearchBar__active__1AeyI,.SearchBar__progress__3O7nP.SearchBar__active__1AeyI .SearchBar__progress-bar__3qbD1{-webkit-animation:SearchBar__progress-bar-stripes___L-Kx 2s linear infinite;animation:SearchBar__progress-bar-stripes___L-Kx 2s linear infinite}.SearchBar__progress-bar-success__3CbbN{background-color:#5cb85c}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-success__3CbbN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__progress-bar-info__3AlZd{background-color:#5bc0de}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-info__3AlZd{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__progress-bar-warning__tUw9c{background-color:#f0ad4e}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-warning__tUw9c{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__progress-bar-danger__33hmO{background-color:#ef5354}.SearchBar__progress-striped__3Rw_9 .SearchBar__progress-bar-danger__33hmO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SearchBar__tooltip__CSgzd{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.SearchBar__tooltip__CSgzd.SearchBar__in__n8Oip{filter:alpha(opacity=90);opacity:.9}.SearchBar__tooltip__CSgzd.SearchBar__top__1TDCY{padding:5px 0;margin-top:-3px}.SearchBar__tooltip__CSgzd.SearchBar__right__2bflR{padding:0 5px;margin-left:3px}.SearchBar__tooltip__CSgzd.SearchBar__bottom__2SVku{padding:5px 0;margin-top:3px}.SearchBar__tooltip__CSgzd.SearchBar__left__efOY3{padding:0 5px;margin-left:-3px}.SearchBar__tooltip__CSgzd.SearchBar__top__1TDCY .SearchBar__tooltip-arrow__2INP-{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__top-left__7E0r6 .SearchBar__tooltip-arrow__2INP-{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__top-right__3mAxB .SearchBar__tooltip-arrow__2INP-{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__right__2bflR .SearchBar__tooltip-arrow__2INP-{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__left__efOY3 .SearchBar__tooltip-arrow__2INP-{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__bottom__2SVku .SearchBar__tooltip-arrow__2INP-{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__bottom-left__2KMkT .SearchBar__tooltip-arrow__2INP-{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SearchBar__tooltip__CSgzd.SearchBar__bottom-right__1fNgf .SearchBar__tooltip-arrow__2INP-{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SearchBar__tooltip-inner__1q1ys{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.SearchBar__tooltip-arrow__2INP-{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.SearchBar__main__39O9j{padding:15px 30px}.SearchBar__search_field_full__3k8Mt,.SearchBar__search_field_half__3zle5,.SearchBar__sum_by_field__25K5l{display:inline-block;position:relative}.SearchBar__searchField__1QxVJ{position:relative}.SearchBar__search_field_full__3k8Mt{width:100%}.SearchBar__search_field_half__3zle5{width:55%;padding-right:15px}.SearchBar__sum_by_field__25K5l{width:45%}.SearchBar__label__MMYXk{padding-left:20px}.SearchBar__search_input__2ADny{height:50px;padding:10px 20px 10px 45px;border:1px solid #f5f5f5;height:44px;color:#20252d;border-radius:25px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAABY1JREFUWAnNWG1oW1UYPueknbVMxM3RD+i25ia1uaVJBVERP9Af9Y/rnHMbOP3jH0Go4hQd6LovN8Eqor+koLR/1IGCTpRNN5j4Rxli0pika9OkfrVqxblp99XkHp/3pPfmNs3tvWta2wPJ+Xif85wn7/l4zwlnHlMim63PX8p3SUN2Ms43SCYbuWQ3Msb/YpyNg+ZnztkJ3yp+tE3TfvJI6wrjbohYInMX4/mDEHK3lNIVT3wQ+i2QeztCweNu/G52xwFTqezGK0b+TXiqaw4J53m0/YHOk7CvZZLVoV5ViuOcnxRVVd3tLRtTpTav9bICB1PZewyZ+xADYwoLCYMNA3wE0/lJe6sWRZ1EqgTPivhQpo1JuVkyth31dtMGb/7DuG9nJOT/1Gy7mnyOwHgi82ie5d8FSbUi4uxXJkVPRPcP2EU5DULLYDA1ugNiD0Gsn3DoZ+DHPhNpC7zl1M+pfZZA5Tkj9yXAShxn/PjqGr5D07RzTgRO7ePj47WTZ6f6IXIbYSCSFvBDYT3wsVOfcu2WQFpzl2XudHFaeV9E15704rVyxNRG3oyl0q+A8wWqY7B/uRB3hENanOpekjBBtCFMceS5SsURL3mtQw/uRv4B1eHN1VIafVT2mpTA6JnRO63dijVH01qJ50oHX3PdNY/De0PULiW7PZYa3VqKcaorgTxvvGwBsCEWsuas/mUKTU1NFyFwt2UyDJyr3hKnCJG7mB+n9YI0jPWhL6b37DJiyZFv4MHbqM3n80XaW/2Ddnu5slDhayZC4FceWSpxhcHF+6YIQ8otZnm+XKjYaiJwCJvFpchXcVHkl/J+L2MIbLUNCojIgAjxvZdOC8WEQs1jOGv+pP7YlIVxXcgEgA0FjPwd02u44Cs24wijmw8Sr8O69xXKzt8CV6Z1yizZpDNsES2y4EGcN750+rc1bsw4ZnCfQ8IGWesGXgw7Zswmqv68GyfWoLps0ilfT0eNW4dK7ZjixgIH/zsY5Jfd+ASU/TIDqkom07pbh0rsyeRYAxyilhSuYRkvXBRJTprAHGObzfJS5Dme67LNkjXufGOJatvZhGnePh+4Ups0bPySe3oOCF33/4gtcnpm8EhsKPNwpULK9f9hKH0vNsh9ZMNCz4R1/6lyuNI2dVkQnO8zDdIwDmez2Rqzvhg5nXd5g71qckkmer2GVCUwrGufI6KcUgRSBs9fyL1jki1GHk+OvgGRtxS4ePr6WtHvlVcJJDDc3o3PFJWxFh8ZTIzsp3KlKZZIP4UHSbfiQTjl3PdYc3PzJa+80FRM8WR6C2LdR+ZOwzQM1FZrT3g5r4oshRJNKx5PryN/2rJx/lmHHnjAqnsozBJI+Ggq/SzCX69NZJwJ9nykNXDMA5+C0GNfsvxrqNxa2gcDvhhpCx4ubXeqzxFIQEzvNoPxfkx2rdkR3vwagea9Gl/10dbW9TMB37QyNjIysW7qyoVNjBt4crLOooVNY5BjWDabzDZwvRTRA4fM+nx5WYHUIZoYu5nzXB88ObO4CzQgx6VYTqhbCQI/xVaQNGKTNQJrrWlCA3sGEWNnOBT4LppM78EF4UCBRdk8iXQUSEQ0zXjg0OF9EJWgSe6e87QQrPfaKm3Avn4XInJegXYh5FHBph/EdaIT07UePqijKxNh4M2z+MrAmye44F+Eb9K+gvesv0Zm8ZR4EmfwHjzmi482O1hxlzR4rcK7vuHhiRtaWhrOQcy0136EK/Uk1kIPdnfZl55nD16NAC9YryKXTaDyZGq0hxnGfusHlfHkrF1nAf+nQkdIO8CE2GsNh10eJdG2tKweNHUoUXZPQrQSD8CyetAUOMeTEIvjTXl2RXjQFEqicN3bZ9aZ4M+tKIEkbJZI/NO24gSSyGhqZBfi+S48Od/+D5woEPCi3FK1AAAAAElFTkSuQmCC);background-repeat:no-repeat;background-size:15px 15px;background-position:20px}.SearchBar__sum_by_input__2N2c9{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAYAAAAehFoBAAAAAXNSR0IArs4c6QAAARJJREFUWAntmT0KwkAQhc3fSVxvYCM2giCWHsPjWYog2IiNR4gnSYLuSl4jKYbMDBJ4aV5YZt6+/UiKYbOZw3O9P+dd2x6Ksjxt18uX5RalpRm8uqY5x/cQ9Rh1gXULzS1MBjxCvwYdKBm35BV4XBpBFwMLIKlKSFiFT9BMwgJIqhISVuETNJOwAJKqhIRV+ATNJCyApCohYRU+QfPkCGffgbGfwQQH/GdJXVTVPk/TbUxhPns5nCykrHkaxaN57bCBtWWdsmbWrsnvcnu84bvbrEz3mNxPx8D4FLyUhL3IwpeEQcJLSdiLLHxJGCS8lIS9yMKXhEHCS0nYiyx8vQhj5IJiP7W63ISm6RZXt+qEPwYf8ZArb8Kgs60AAAAASUVORK5CYII=)}.SearchBar__showSumBy__uBJtx{border:1px solid #f5f5f5;border-radius:25px;color:#bac0c7;padding:0 10px;position:absolute;right:15px;bottom:8px}.SearchBar__showSumBy__uBJtx:hover{cursor:pointer;background-color:#fafafa}.SearchBar__search_input__2ADny::-webkit-input-placeholder{color:#b6bcc5}.SearchBar__submit__1CViG{position:absolute;left:-9999px}.SearchBar__clearSearch__3DOpG{display:inline-block;text-decoration:underline}.SearchBar__clearSearch__3DOpG:hover{cursor:pointer}.SearchBar__queryTime__SRpkj{display:inline-block;padding:4px 20px;opacity:.66}@-webkit-keyframes Section__progress-bar-stripes__mZ0KE{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Section__progress-bar-stripes__mZ0KE{0%{background-position:40px 0}to{background-position:0 0}}.Section__progress__3FuJl{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Section__progress-bar__19MJw{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Section__progress-bar-striped__2Is6j,.Section__progress-striped__2LUc8 .Section__progress-bar__19MJw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Section__progress-bar__19MJw.Section__active__2oIa-,.Section__progress__3FuJl.Section__active__2oIa- .Section__progress-bar__19MJw{-webkit-animation:Section__progress-bar-stripes__mZ0KE 2s linear infinite;animation:Section__progress-bar-stripes__mZ0KE 2s linear infinite}.Section__progress-bar-success__1Cm9i{background-color:#5cb85c}.Section__progress-striped__2LUc8 .Section__progress-bar-success__1Cm9i{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__progress-bar-info__1Xqei{background-color:#5bc0de}.Section__progress-striped__2LUc8 .Section__progress-bar-info__1Xqei{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__progress-bar-warning__2T9HJ{background-color:#f0ad4e}.Section__progress-striped__2LUc8 .Section__progress-bar-warning__2T9HJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__progress-bar-danger__2Nrto{background-color:#ef5354}.Section__progress-striped__2LUc8 .Section__progress-bar-danger__2Nrto{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Section__tooltip__1VtVu{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Section__tooltip__1VtVu.Section__in__1jeey{filter:alpha(opacity=90);opacity:.9}.Section__tooltip__1VtVu.Section__top__3WRzV{padding:5px 0;margin-top:-3px}.Section__tooltip__1VtVu.Section__right__2_WLq{padding:0 5px;margin-left:3px}.Section__tooltip__1VtVu.Section__bottom__4HUov{padding:5px 0;margin-top:3px}.Section__tooltip__1VtVu.Section__left__2cDFN{padding:0 5px;margin-left:-3px}.Section__tooltip__1VtVu.Section__top__3WRzV .Section__tooltip-arrow__1uQXJ{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Section__tooltip__1VtVu.Section__top-left__3LMns .Section__tooltip-arrow__1uQXJ{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Section__tooltip__1VtVu.Section__top-right__1a3f8 .Section__tooltip-arrow__1uQXJ{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Section__tooltip__1VtVu.Section__right__2_WLq .Section__tooltip-arrow__1uQXJ{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Section__tooltip__1VtVu.Section__left__2cDFN .Section__tooltip-arrow__1uQXJ{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Section__tooltip__1VtVu.Section__bottom__4HUov .Section__tooltip-arrow__1uQXJ{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Section__tooltip__1VtVu.Section__bottom-left__3FMyS .Section__tooltip-arrow__1uQXJ{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Section__tooltip__1VtVu.Section__bottom-right__2Urg4 .Section__tooltip-arrow__1uQXJ{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Section__tooltip-inner__1CT6E{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Section__tooltip-arrow__1uQXJ{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Section__main__14cl4{margin:0 0 30px}.Section__title__8yHMA{display:-webkit-flex;display:-ms-flexbox;display:flex}.Section__title__8yHMA h5{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-size:16px;font-weight:500}.Section__title__8yHMA code{display:inline-block;font-size:13px;font-weight:400;margin-left:3px;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.5}@-webkit-keyframes stepper__progress-bar-stripes__Wkf2J{0%{background-position:40px 0}to{background-position:0 0}}@keyframes stepper__progress-bar-stripes__Wkf2J{0%{background-position:40px 0}to{background-position:0 0}}.stepper__progress__3PiT3{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.stepper__progress-bar__3M508{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.stepper__progress-bar-striped__1uCa1,.stepper__progress-striped__1burD .stepper__progress-bar__3M508{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.stepper__progress-bar__3M508.stepper__active__2otz9,.stepper__progress__3PiT3.stepper__active__2otz9 .stepper__progress-bar__3M508{-webkit-animation:stepper__progress-bar-stripes__Wkf2J 2s linear infinite;animation:stepper__progress-bar-stripes__Wkf2J 2s linear infinite}.stepper__progress-bar-success__Z3HAi{background-color:#5cb85c}.stepper__progress-striped__1burD .stepper__progress-bar-success__Z3HAi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__progress-bar-info__m7X7w{background-color:#5bc0de}.stepper__progress-striped__1burD .stepper__progress-bar-info__m7X7w{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__progress-bar-warning__1BmuU{background-color:#f0ad4e}.stepper__progress-striped__1burD .stepper__progress-bar-warning__1BmuU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__progress-bar-danger__-o5y8{background-color:#ef5354}.stepper__progress-striped__1burD .stepper__progress-bar-danger__-o5y8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.stepper__tooltip__1TbaP{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.stepper__tooltip__1TbaP.stepper__in__2FIAD{filter:alpha(opacity=90);opacity:.9}.stepper__tooltip__1TbaP.stepper__top__25j30{padding:5px 0;margin-top:-3px}.stepper__tooltip__1TbaP.stepper__right__1_AZY{padding:0 5px;margin-left:3px}.stepper__tooltip__1TbaP.stepper__bottom__32L8-{padding:5px 0;margin-top:3px}.stepper__tooltip__1TbaP.stepper__left__24svJ{padding:0 5px;margin-left:-3px}.stepper__tooltip__1TbaP.stepper__top__25j30 .stepper__tooltip-arrow__25fLh{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.stepper__tooltip__1TbaP.stepper__top-left__FDaaK .stepper__tooltip-arrow__25fLh{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.stepper__tooltip__1TbaP.stepper__top-right__2Fz9t .stepper__tooltip-arrow__25fLh{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.stepper__tooltip__1TbaP.stepper__right__1_AZY .stepper__tooltip-arrow__25fLh{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.stepper__tooltip__1TbaP.stepper__left__24svJ .stepper__tooltip-arrow__25fLh{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.stepper__tooltip__1TbaP.stepper__bottom__32L8- .stepper__tooltip-arrow__25fLh{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.stepper__tooltip__1TbaP.stepper__bottom-left__3-JCK .stepper__tooltip-arrow__25fLh{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.stepper__tooltip__1TbaP.stepper__bottom-right__2kTqR .stepper__tooltip-arrow__25fLh{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.stepper__tooltip-inner__1A4ao{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.stepper__tooltip-arrow__25fLh{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.stepper__marginLeft__2HF9S{margin-left:15px;cursor:pointer}.stepper__floatLeft__2EIk8{float:left}@-webkit-keyframes SubmitIndicator__progress-bar-stripes__33r1W{0%{background-position:40px 0}to{background-position:0 0}}@keyframes SubmitIndicator__progress-bar-stripes__33r1W{0%{background-position:40px 0}to{background-position:0 0}}.SubmitIndicator__progress__3mx7R{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.SubmitIndicator__progress-bar__oFjIQ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.SubmitIndicator__progress-bar-striped__2UvzG,.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar__oFjIQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.SubmitIndicator__progress-bar__oFjIQ.SubmitIndicator__active__1qm89,.SubmitIndicator__progress__3mx7R.SubmitIndicator__active__1qm89 .SubmitIndicator__progress-bar__oFjIQ{-webkit-animation:SubmitIndicator__progress-bar-stripes__33r1W 2s linear infinite;animation:SubmitIndicator__progress-bar-stripes__33r1W 2s linear infinite}.SubmitIndicator__progress-bar-success__2hJcL{background-color:#5cb85c}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-success__2hJcL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__progress-bar-info__3-d9k{background-color:#5bc0de}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-info__3-d9k{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__progress-bar-warning__1Ui9z{background-color:#f0ad4e}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-warning__1Ui9z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__progress-bar-danger__1B53Z{background-color:#ef5354}.SubmitIndicator__progress-striped__2eC6l .SubmitIndicator__progress-bar-danger__1B53Z{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SubmitIndicator__tooltip__F5Lyy{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__in__1WTVD{filter:alpha(opacity=90);opacity:.9}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top__2ffeP{padding:5px 0;margin-top:-3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__right__3n1Yw{padding:0 5px;margin-left:3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom__3wC62{padding:5px 0;margin-top:3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__left__1TLzo{padding:0 5px;margin-left:-3px}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top__2ffeP .SubmitIndicator__tooltip-arrow__3Scd-{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top-left__WpLdP .SubmitIndicator__tooltip-arrow__3Scd-{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__top-right__3lubo .SubmitIndicator__tooltip-arrow__3Scd-{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__right__3n1Yw .SubmitIndicator__tooltip-arrow__3Scd-{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__left__1TLzo .SubmitIndicator__tooltip-arrow__3Scd-{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom__3wC62 .SubmitIndicator__tooltip-arrow__3Scd-{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom-left__McmiD .SubmitIndicator__tooltip-arrow__3Scd-{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SubmitIndicator__tooltip__F5Lyy.SubmitIndicator__bottom-right__2Q2y9 .SubmitIndicator__tooltip-arrow__3Scd-{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SubmitIndicator__tooltip-inner__12QWs{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.SubmitIndicator__tooltip-arrow__3Scd-{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.SubmitIndicator__activeSubmit__36Ovr{-webkit-animation:SubmitIndicator__pulse__33QCg 2s infinite;animation:SubmitIndicator__pulse__33QCg 2s infinite}@-webkit-keyframes SubmitIndicator__pulse__33QCg{0%{opacity:1}50%{opacity:0}to{opacity:1}}@keyframes SubmitIndicator__pulse__33QCg{0%{opacity:1}50%{opacity:0}to{opacity:1}}@-webkit-keyframes TableList__progress-bar-stripes__3Da4G{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TableList__progress-bar-stripes__3Da4G{0%{background-position:40px 0}to{background-position:0 0}}.TableList__progress__-pc-m{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TableList__progress-bar__BeiqZ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TableList__progress-bar-striped__2ikdv,.TableList__progress-striped__DeROy .TableList__progress-bar__BeiqZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TableList__progress-bar__BeiqZ.TableList__active__1zeto,.TableList__progress__-pc-m.TableList__active__1zeto .TableList__progress-bar__BeiqZ{-webkit-animation:TableList__progress-bar-stripes__3Da4G 2s linear infinite;animation:TableList__progress-bar-stripes__3Da4G 2s linear infinite}.TableList__progress-bar-success__12kjh{background-color:#5cb85c}.TableList__progress-striped__DeROy .TableList__progress-bar-success__12kjh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__progress-bar-info__1R-ep{background-color:#5bc0de}.TableList__progress-striped__DeROy .TableList__progress-bar-info__1R-ep{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__progress-bar-warning__3aDQk{background-color:#f0ad4e}.TableList__progress-striped__DeROy .TableList__progress-bar-warning__3aDQk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__progress-bar-danger__1dLjQ{background-color:#ef5354}.TableList__progress-striped__DeROy .TableList__progress-bar-danger__1dLjQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TableList__tooltip__1Eehn{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TableList__tooltip__1Eehn.TableList__in__3Wsgc{filter:alpha(opacity=90);opacity:.9}.TableList__tooltip__1Eehn.TableList__top__fXXGt{padding:5px 0;margin-top:-3px}.TableList__tooltip__1Eehn.TableList__right__29LrY{padding:0 5px;margin-left:3px}.TableList__tooltip__1Eehn.TableList__bottom__3hLbI{padding:5px 0;margin-top:3px}.TableList__tooltip__1Eehn.TableList__left__2KSMH{padding:0 5px;margin-left:-3px}.TableList__tooltip__1Eehn.TableList__top__fXXGt .TableList__tooltip-arrow__kCk2k{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TableList__tooltip__1Eehn.TableList__top-left__3XOgn .TableList__tooltip-arrow__kCk2k{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TableList__tooltip__1Eehn.TableList__top-right__1MOHt .TableList__tooltip-arrow__kCk2k{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TableList__tooltip__1Eehn.TableList__right__29LrY .TableList__tooltip-arrow__kCk2k{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TableList__tooltip__1Eehn.TableList__left__2KSMH .TableList__tooltip-arrow__kCk2k{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TableList__tooltip__1Eehn.TableList__bottom__3hLbI .TableList__tooltip-arrow__kCk2k{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TableList__tooltip__1Eehn.TableList__bottom-left__3ZD2a .TableList__tooltip-arrow__kCk2k{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TableList__tooltip__1Eehn.TableList__bottom-right__1eJTK .TableList__tooltip-arrow__kCk2k{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TableList__tooltip-inner__2dfOG{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TableList__tooltip-arrow__kCk2k{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TableList__main__1sTEz{background:#fff;color:#20252d;width:100%;table-layout:fixed;margin-bottom:30px}.TableList__main__1sTEz code{padding:0;font-size:13px}.TableList__main__1sTEz td{border-top:1px solid #f3f6f8;overflow:hidden;text-overflow:ellipsis;color:#747c89;line-height:20px;vertical-align:top}.TableList__main__1sTEz th{color:#20252d;text-transform:uppercase;font-weight:500;font-size:12px}.TableList__main__1sTEz td,.TableList__main__1sTEz th{padding:13px 30px 13px 0}.TableList__main__1sTEz td:first-child,.TableList__main__1sTEz th:first-child{padding-left:60px}.TableList__main__1sTEz td:last-child,.TableList__main__1sTEz th:last-child{text-align:right}.TableList__main__1sTEz .btn-link{padding-top:0;padding-bottom:0;line-height:1}@-webkit-keyframes XpubField__progress-bar-stripes__1Wxxl{0%{background-position:40px 0}to{background-position:0 0}}@keyframes XpubField__progress-bar-stripes__1Wxxl{0%{background-position:40px 0}to{background-position:0 0}}.XpubField__progress__1SM0I{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.XpubField__progress-bar__iTGGs{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.XpubField__progress-bar-striped__1QBEo,.XpubField__progress-striped__11p60 .XpubField__progress-bar__iTGGs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.XpubField__progress-bar__iTGGs.XpubField__active__mBj3I,.XpubField__progress__1SM0I.XpubField__active__mBj3I .XpubField__progress-bar__iTGGs{-webkit-animation:XpubField__progress-bar-stripes__1Wxxl 2s linear infinite;animation:XpubField__progress-bar-stripes__1Wxxl 2s linear infinite}.XpubField__progress-bar-success__bp4QU{background-color:#5cb85c}.XpubField__progress-striped__11p60 .XpubField__progress-bar-success__bp4QU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__progress-bar-info__10yBi{background-color:#5bc0de}.XpubField__progress-striped__11p60 .XpubField__progress-bar-info__10yBi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__progress-bar-warning__1FQYZ{background-color:#f0ad4e}.XpubField__progress-striped__11p60 .XpubField__progress-bar-warning__1FQYZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__progress-bar-danger__3cIV0{background-color:#ef5354}.XpubField__progress-striped__11p60 .XpubField__progress-bar-danger__3cIV0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.XpubField__tooltip__2dURq{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.XpubField__tooltip__2dURq.XpubField__in__JOMhq{filter:alpha(opacity=90);opacity:.9}.XpubField__tooltip__2dURq.XpubField__top__1_QYf{padding:5px 0;margin-top:-3px}.XpubField__tooltip__2dURq.XpubField__right__1TVYv{padding:0 5px;margin-left:3px}.XpubField__tooltip__2dURq.XpubField__bottom__1TXXq{padding:5px 0;margin-top:3px}.XpubField__tooltip__2dURq.XpubField__left__2R3H7{padding:0 5px;margin-left:-3px}.XpubField__tooltip__2dURq.XpubField__top__1_QYf .XpubField__tooltip-arrow__2C0Ya{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.XpubField__tooltip__2dURq.XpubField__top-left__1zO5A .XpubField__tooltip-arrow__2C0Ya{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.XpubField__tooltip__2dURq.XpubField__top-right__2-AsW .XpubField__tooltip-arrow__2C0Ya{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.XpubField__tooltip__2dURq.XpubField__right__1TVYv .XpubField__tooltip-arrow__2C0Ya{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.XpubField__tooltip__2dURq.XpubField__left__2R3H7 .XpubField__tooltip-arrow__2C0Ya{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.XpubField__tooltip__2dURq.XpubField__bottom__1TXXq .XpubField__tooltip-arrow__2C0Ya{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.XpubField__tooltip__2dURq.XpubField__bottom-left__3tjAe .XpubField__tooltip-arrow__2C0Ya{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.XpubField__tooltip__2dURq.XpubField__bottom-right__J_vQW .XpubField__tooltip-arrow__2C0Ya{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.XpubField__tooltip-inner__U_urd{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.XpubField__tooltip-arrow__2C0Ya{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.XpubField__main__2C7z_{border:1px solid #f5f5f5;margin-top:15px;padding:30px;margin-bottom:30px}.XpubField__main__2C7z_>div{margin-bottom:15px}.XpubField__options__1NX5P{width:100%}.XpubField__options__1NX5P td{border:none}.XpubField__options__1NX5P .XpubField__radio__1_BQb{margin-right:8px}.XpubField__label__SLmLW{width:220px;vertical-align:top}.XpubField__label__SLmLW label{font-weight:400;line-height:36px}.XpubField__field__1jRWW .form-group{margin:0}@-webkit-keyframes ListItem__progress-bar-stripes__3kfeX{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__3kfeX{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__yQ5xH{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__2O2xo{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__2nwhY,.ListItem__progress-striped__2j7Bp .ListItem__progress-bar__2O2xo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__2O2xo.ListItem__active__2dUxQ,.ListItem__progress__yQ5xH.ListItem__active__2dUxQ .ListItem__progress-bar__2O2xo{-webkit-animation:ListItem__progress-bar-stripes__3kfeX 2s linear infinite;animation:ListItem__progress-bar-stripes__3kfeX 2s linear infinite}.ListItem__progress-bar-success__2TeL1{background-color:#5cb85c}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-success__2TeL1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__1zYsZ{background-color:#5bc0de}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-info__1zYsZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__29gOY{background-color:#f0ad4e}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-warning__29gOY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__EDS_i{background-color:#ef5354}.ListItem__progress-striped__2j7Bp .ListItem__progress-bar-danger__EDS_i{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__1TMFy{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__1TMFy.ListItem__in__a8l-3{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__1TMFy.ListItem__top__1lIlT{padding:5px 0;margin-top:-3px}.ListItem__tooltip__1TMFy.ListItem__right__3bVNJ{padding:0 5px;margin-left:3px}.ListItem__tooltip__1TMFy.ListItem__bottom__36mZW{padding:5px 0;margin-top:3px}.ListItem__tooltip__1TMFy.ListItem__left__1lzK4{padding:0 5px;margin-left:-3px}.ListItem__tooltip__1TMFy.ListItem__top__1lIlT .ListItem__tooltip-arrow__xTUJ4{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__1TMFy.ListItem__top-left__2Dg5g .ListItem__tooltip-arrow__xTUJ4{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__1TMFy.ListItem__top-right__25NCA .ListItem__tooltip-arrow__xTUJ4{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__1TMFy.ListItem__right__3bVNJ .ListItem__tooltip-arrow__xTUJ4{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__1TMFy.ListItem__left__1lzK4 .ListItem__tooltip-arrow__xTUJ4{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__1TMFy.ListItem__bottom__36mZW .ListItem__tooltip-arrow__xTUJ4{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__1TMFy.ListItem__bottom-left__qr7wA .ListItem__tooltip-arrow__xTUJ4{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__1TMFy.ListItem__bottom-right__hdpq0 .ListItem__tooltip-arrow__xTUJ4{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__237x1{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__xTUJ4{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__selectButton__2XVGK{width:85px;height:28px}.ListItem__buttonDisable__2Mk5k{background-color:#f2f2f2}.ListItem__tr__2DYB8 td{vertical-align:middle}@-webkit-keyframes List__progress-bar-stripes__1sN4X{0%{background-position:40px 0}to{background-position:0 0}}@keyframes List__progress-bar-stripes__1sN4X{0%{background-position:40px 0}to{background-position:0 0}}.List__progress__3YcGh{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.List__progress-bar__2xWdL{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.List__progress-bar-striped__1o5l9,.List__progress-striped__SiKIP .List__progress-bar__2xWdL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.List__progress-bar__2xWdL.List__active__3rKEi,.List__progress__3YcGh.List__active__3rKEi .List__progress-bar__2xWdL{-webkit-animation:List__progress-bar-stripes__1sN4X 2s linear infinite;animation:List__progress-bar-stripes__1sN4X 2s linear infinite}.List__progress-bar-success__1ivu-{background-color:#5cb85c}.List__progress-striped__SiKIP .List__progress-bar-success__1ivu-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-info__3P9jG{background-color:#5bc0de}.List__progress-striped__SiKIP .List__progress-bar-info__3P9jG{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-warning__3Mvhs{background-color:#f0ad4e}.List__progress-striped__SiKIP .List__progress-bar-warning__3Mvhs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-danger__Vk4I4{background-color:#ef5354}.List__progress-striped__SiKIP .List__progress-bar-danger__Vk4I4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__tooltip__3RTyo{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.List__tooltip__3RTyo.List__in__1GLum{filter:alpha(opacity=90);opacity:.9}.List__tooltip__3RTyo.List__top__2dta7{padding:5px 0;margin-top:-3px}.List__tooltip__3RTyo.List__right__28YIZ{padding:0 5px;margin-left:3px}.List__tooltip__3RTyo.List__bottom__1o1qs{padding:5px 0;margin-top:3px}.List__tooltip__3RTyo.List__left__3J6zG{padding:0 5px;margin-left:-3px}.List__tooltip__3RTyo.List__top__2dta7 .List__tooltip-arrow__14zgU{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__3RTyo.List__top-left__1Qn8J .List__tooltip-arrow__14zgU{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__3RTyo.List__top-right__22Nzx .List__tooltip-arrow__14zgU{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__3RTyo.List__right__28YIZ .List__tooltip-arrow__14zgU{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.List__tooltip__3RTyo.List__left__3J6zG .List__tooltip-arrow__14zgU{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.List__tooltip__3RTyo.List__bottom__1o1qs .List__tooltip-arrow__14zgU{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__3RTyo.List__bottom-left__1b_x_ .List__tooltip-arrow__14zgU{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__3RTyo.List__bottom-right__2JAmX .List__tooltip-arrow__14zgU{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip-inner__3v3YO{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.List__tooltip-arrow__14zgU{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.List__main__1Uqei td:nth-child(2),.List__main__1Uqei th:nth-child(2){width:40%}.List__main__1Uqei td:nth-child(3),.List__main__1Uqei th:nth-child(3){width:20%}@-webkit-keyframes MnemonicStepper__progress-bar-stripes__2UxBv{0%{background-position:40px 0}to{background-position:0 0}}@keyframes MnemonicStepper__progress-bar-stripes__2UxBv{0%{background-position:40px 0}to{background-position:0 0}}.MnemonicStepper__progress__vumsh{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.MnemonicStepper__progress-bar__2silB{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.MnemonicStepper__progress-bar-striped__3YT8l,.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar__2silB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.MnemonicStepper__progress-bar__2silB.MnemonicStepper__active__21CZL,.MnemonicStepper__progress__vumsh.MnemonicStepper__active__21CZL .MnemonicStepper__progress-bar__2silB{-webkit-animation:MnemonicStepper__progress-bar-stripes__2UxBv 2s linear infinite;animation:MnemonicStepper__progress-bar-stripes__2UxBv 2s linear infinite}.MnemonicStepper__progress-bar-success__13qjh{background-color:#5cb85c}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-success__13qjh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-info__SVlD9{background-color:#5bc0de}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-info__SVlD9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-warning__29n14{background-color:#f0ad4e}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-warning__29n14{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-danger__3WlmD{background-color:#ef5354}.MnemonicStepper__progress-striped__1FMBY .MnemonicStepper__progress-bar-danger__3WlmD{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__tooltip__1AdsT{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__in__1UR9T{filter:alpha(opacity=90);opacity:.9}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top__1wvoS{padding:5px 0;margin-top:-3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__right__O_whf{padding:0 5px;margin-left:3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom__Zohjw{padding:5px 0;margin-top:3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__left__3-d3S{padding:0 5px;margin-left:-3px}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top__1wvoS .MnemonicStepper__tooltip-arrow__2zraH{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top-left__2j4Gd .MnemonicStepper__tooltip-arrow__2zraH{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__top-right__2SFKw .MnemonicStepper__tooltip-arrow__2zraH{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__right__O_whf .MnemonicStepper__tooltip-arrow__2zraH{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__left__3-d3S .MnemonicStepper__tooltip-arrow__2zraH{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom__Zohjw .MnemonicStepper__tooltip-arrow__2zraH{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom-left__1bOj_ .MnemonicStepper__tooltip-arrow__2zraH{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__1AdsT.MnemonicStepper__bottom-right__3s5S8 .MnemonicStepper__tooltip-arrow__2zraH{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip-inner__3A73h{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.MnemonicStepper__tooltip-arrow__2zraH{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.MnemonicStepper__content__c5QSh{display:-webkit-flex;display:-ms-flexbox;display:flex;background:#fff;min-width:400px;max-width:900px;width:100%;padding:30px 30px 60px}.MnemonicStepper__marginLeft__3yw1h{margin-left:15px}@-webkit-keyframes New__progress-bar-stripes__2Yy_D{0%{background-position:40px 0}to{background-position:0 0}}@keyframes New__progress-bar-stripes__2Yy_D{0%{background-position:40px 0}to{background-position:0 0}}.New__progress__WpGSM{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.New__progress-bar__FzorI{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.New__progress-bar-striped__2phve,.New__progress-striped__2G8Gi .New__progress-bar__FzorI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.New__progress-bar__FzorI.New__active__1ZqEV,.New__progress__WpGSM.New__active__1ZqEV .New__progress-bar__FzorI{-webkit-animation:New__progress-bar-stripes__2Yy_D 2s linear infinite;animation:New__progress-bar-stripes__2Yy_D 2s linear infinite}.New__progress-bar-success__1BVE7{background-color:#5cb85c}.New__progress-striped__2G8Gi .New__progress-bar-success__1BVE7{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-info__2Hl0L{background-color:#5bc0de}.New__progress-striped__2G8Gi .New__progress-bar-info__2Hl0L{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-warning__3FlV3{background-color:#f0ad4e}.New__progress-striped__2G8Gi .New__progress-bar-warning__3FlV3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-danger__VnGR3{background-color:#ef5354}.New__progress-striped__2G8Gi .New__progress-bar-danger__VnGR3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__tooltip__WzRW6{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.New__tooltip__WzRW6.New__in__17d97{filter:alpha(opacity=90);opacity:.9}.New__tooltip__WzRW6.New__top__HXQ4l{padding:5px 0;margin-top:-3px}.New__tooltip__WzRW6.New__right__1JLw8{padding:0 5px;margin-left:3px}.New__tooltip__WzRW6.New__bottom__2yk_R{padding:5px 0;margin-top:3px}.New__tooltip__WzRW6.New__left__2G8_L{padding:0 5px;margin-left:-3px}.New__tooltip__WzRW6.New__top__HXQ4l .New__tooltip-arrow__36gJa{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__WzRW6.New__top-left__1AaOH .New__tooltip-arrow__36gJa{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__WzRW6.New__top-right__MKVXW .New__tooltip-arrow__36gJa{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__WzRW6.New__right__1JLw8 .New__tooltip-arrow__36gJa{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.New__tooltip__WzRW6.New__left__2G8_L .New__tooltip-arrow__36gJa{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.New__tooltip__WzRW6.New__bottom__2yk_R .New__tooltip-arrow__36gJa{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__WzRW6.New__bottom-left__2KgGR .New__tooltip-arrow__36gJa{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__WzRW6.New__bottom-right__3BjDI .New__tooltip-arrow__36gJa{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip-inner__3SNji{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.New__tooltip-arrow__36gJa{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.New__subjectField__heTjx{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.New__subjectField__heTjx .form-group{-webkit-flex:1;-ms-flex:1;flex:1;margin-right:15px}.New__subjectField__heTjx button{margin-top:35px}.New__receiverBtn__1ABhp{width:25px;height:25px;font-size:22px;line-height:20px}.New__panel__3IKRi{padding:30px;border:1px solid #f5f5f5}@-webkit-keyframes Backup__progress-bar-stripes__3E0u9{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Backup__progress-bar-stripes__3E0u9{0%{background-position:40px 0}to{background-position:0 0}}.Backup__progress__19G1j{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Backup__progress-bar__3HtFc{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Backup__progress-bar-striped__ilGkH,.Backup__progress-striped__AePft .Backup__progress-bar__3HtFc{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Backup__progress-bar__3HtFc.Backup__active__39bjS,.Backup__progress__19G1j.Backup__active__39bjS .Backup__progress-bar__3HtFc{-webkit-animation:Backup__progress-bar-stripes__3E0u9 2s linear infinite;animation:Backup__progress-bar-stripes__3E0u9 2s linear infinite}.Backup__progress-bar-success__12jhV{background-color:#5cb85c}.Backup__progress-striped__AePft .Backup__progress-bar-success__12jhV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__progress-bar-info__N4lu9{background-color:#5bc0de}.Backup__progress-striped__AePft .Backup__progress-bar-info__N4lu9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__progress-bar-warning__LPBuQ{background-color:#f0ad4e}.Backup__progress-striped__AePft .Backup__progress-bar-warning__LPBuQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__progress-bar-danger__16DO-{background-color:#ef5354}.Backup__progress-striped__AePft .Backup__progress-bar-danger__16DO-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Backup__tooltip__3u91M{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Backup__tooltip__3u91M.Backup__in__3m1QN{filter:alpha(opacity=90);opacity:.9}.Backup__tooltip__3u91M.Backup__top__2HXzO{padding:5px 0;margin-top:-3px}.Backup__tooltip__3u91M.Backup__right__3UWL_{padding:0 5px;margin-left:3px}.Backup__tooltip__3u91M.Backup__bottom__19fPR{padding:5px 0;margin-top:3px}.Backup__tooltip__3u91M.Backup__left__1sbB5{padding:0 5px;margin-left:-3px}.Backup__tooltip__3u91M.Backup__top__2HXzO .Backup__tooltip-arrow__2OTPx{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Backup__tooltip__3u91M.Backup__top-left__GhHJM .Backup__tooltip-arrow__2OTPx{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Backup__tooltip__3u91M.Backup__top-right__3OP7j .Backup__tooltip-arrow__2OTPx{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Backup__tooltip__3u91M.Backup__right__3UWL_ .Backup__tooltip-arrow__2OTPx{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Backup__tooltip__3u91M.Backup__left__1sbB5 .Backup__tooltip-arrow__2OTPx{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Backup__tooltip__3u91M.Backup__bottom__19fPR .Backup__tooltip-arrow__2OTPx{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Backup__tooltip__3u91M.Backup__bottom-left__2REpU .Backup__tooltip-arrow__2OTPx{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Backup__tooltip__3u91M.Backup__bottom-right__375U5 .Backup__tooltip-arrow__2OTPx{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Backup__tooltip-inner__30VGR{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Backup__tooltip-arrow__2OTPx{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Backup__mainContainer__1D29U{background-color:#fff}code{padding-left:0;font-size:13px}.Backup__choices__2fwuU{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.Backup__choices__2fwuU>div{width:45%;min-height:100%}.Backup__choice_wrapper__55pV-,.Backup__choice_wrapper__55pV->label{display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:100%}.Backup__choice_wrapper__55pV->label{font-weight:400}.Backup__choice_radio_button__13ADI{position:absolute;visibility:hidden}.Backup__choice__3vlYc{border-radius:3px;cursor:pointer;min-height:100%;padding:20px 30px;padding-top:110px;text-align:center;background-color:#fff;background-repeat:no-repeat;background-position:center 25px;background-size:90px 90px}.Backup__choice__3vlYc:hover{background-color:#fafafa}.Backup__choice__3vlYc.Backup__disabled__3Ph7h{cursor:default;background-color:#fafafa;opacity:.75}.Backup__choice__3vlYc.Backup__disabled__3Ph7h .Backup__choice_title__3nyE7{color:#bac0c7}.Backup__choice__3vlYc p{line-height:1.4}.Backup__choice__3vlYc svg{display:block;margin:0 auto;width:80px;height:80px}.Backup__choice__3vlYc .Backup__choice_title__3nyE7{display:block;font-size:16px;margin:12px 0;color:#20252d;font-weight:600}.Backup__backup__1iu6I{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtYmFja3VwKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTMgewogICAgICAgIGZpbGw6ICNmMmYyZjI7CiAgICAgIH0KCiAgICAgIC5jbHMtMywgLmNscy00LCAuY2xzLTUsIC5jbHMtNiB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CgogICAgICAuY2xzLTQgewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cCI+CiAgICAgIDxyZWN0IHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iYmFja3VwIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9ImJhY2t1cC0yIiBkYXRhLW5hbWU9ImJhY2t1cCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy0yIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkwIiBkYXRhLW5hbWU9IlBhdGggNDc5MCIgY2xhc3M9ImNscy0zIiBkPSJNNzUuNi04Ny42MDYsMy42MDYtNDYuMDQxLDc1LjYtNC40NzZsNzEuOTkzLTQxLjU2NVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgY2xhc3M9ImNscy00IiBkPSJNMTQ3LjU5MS00Ni4wNDEsNzUuNi00LjQ3NiwzLjYwNi00Ni4wNDEsNzUuNi04Ny42MDZabS0xMzYuMDY4LDBMNzUuNi05LjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtODMuMDM1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTIiIGRhdGEtbmFtZT0iUGF0aCA0NzkyIiBjbGFzcz0iY2xzLTUiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MyIgZGF0YS1uYW1lPSJQYXRoIDQ3OTMiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtOTAuMDQxLDc1LjYtNDguNDc2LDMuNjA2LTkwLjA0MSw3NS42LTEzMS42MDZabS0xMzYuMDY4LDBMNzUuNi01My4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTEyNy4wMzVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGNsYXNzPSJjbHMtNiIgZD0iTTc1LjYtMTcxLjYwNiwzLjYwNi0xMzAuMDQxLDc1LjYtODguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjYwNikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NSIgZGF0YS1uYW1lPSJQYXRoIDQ3OTUiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}.Backup__restoreKeystore__2B53A{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9qc29uKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjZjJmMmYyOwogICAgICB9CgogICAgICAuY2xzLTIsIC5jbHMtMywgLmNscy01LCAuY2xzLTYgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zIHsKICAgICAgICBmaWxsOiAjYTNhOWI4OwogICAgICB9CgogICAgICAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CgogICAgICAuY2xzLTcgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcmVzdG9yZV9qc29uIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2pzb24iIGRhdGEtbmFtZT0icmVzdG9yZSBqc29uIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9Ikdyb3VwXzMwODgiIGRhdGEtbmFtZT0iR3JvdXAgMzA4OCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTAiIGRhdGEtbmFtZT0iUGF0aCA1MjEwIiBjbGFzcz0iY2xzLTIiIGQ9Ik03Ni4zNTItODcuNjA2bC03Mi43NDYsNDIsNzIuNzQ2LDQyLDcyLjc0Ni00MloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjExIiBkYXRhLW5hbWU9IlBhdGggNTIxMSIgY2xhc3M9ImNscy0zIiBkPSJNMTQ5LjEtNDUuNjA2bC03Mi43NDYsNDItNzIuNzQ2LTQyLDcyLjc0Ni00MlptLTEzNy40OTIsMEw3Ni4zNTItOC4yMjQsMTQxLjEtNDUuNjA2LDc2LjM1Mi04Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlVuaW9uXzEzMiIgZGF0YS1uYW1lPSJVbmlvbiAxMzIiIGNsYXNzPSJjbHMtNCIgZD0iTS00NjkuMzU5LTE4MjIuOTgzLTQyNC4zLTE4NDlsNi45MjgsNC00NS4wNjIsMjYuMDE2Wm0tMTcuMzItMTBMLTQ1Ny4yMDYtMTg1MGw2LjkyOCw0LTI5LjQ3MywxNy4wMTZabS0xNy4zMi0xMEwtNDg2LjY1MS0xODUzbDYuOTI4LDQtMTcuMzQ5LDEwLjAxNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU1MS40MTYgMTk3Ni4yMTEpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTUiIGRhdGEtbmFtZT0iUGF0aCA1MjE1IiBjbGFzcz0iY2xzLTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNiIgZGF0YS1uYW1lPSJQYXRoIDUyMTYiIGNsYXNzPSJjbHMtMyIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTciIGRhdGEtbmFtZT0iUGF0aCA1MjE3IiBjbGFzcz0iY2xzLTYiIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxOCIgZGF0YS1uYW1lPSJQYXRoIDUyMTgiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTMxIiBkYXRhLW5hbWU9IlVuaW9uIDEzMSIgY2xhc3M9ImNscy00IiBkPSJNLTQ2OS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS01MDQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NTEuNDE2IDE4NzYuMTk1KSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIGNsYXNzPSJjbHMtNyIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}.Backup__restoreMnemonic__2dauK{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9NbmVtaW5pY193b3Jkcyk7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2YyZjJmMjsKICAgICAgfQoKICAgICAgLmNscy0yLCAuY2xzLTMsIC5jbHMtNSwgLmNscy02LCAuY2xzLTcgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zLCAuY2xzLTggewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNCwgLmNscy02IHsKICAgICAgICBmaWxsOiAjZjdmN2Y3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICMwMGJkYTk7CiAgICAgIH0KCiAgICAgIC5jbHMtNyB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy05IHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfTW5lbWluaWNfd29yZHMiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9InJlc3RvcmVfTW5lbWluaWNfd29yZHMiIGRhdGEtbmFtZT0icmVzdG9yZSBNbmVtaW5pYyB3b3JkcyIgY2xhc3M9ImNscy0xIj4KICAgIDxnIGlkPSJHcm91cF8zMDkwIiBkYXRhLW5hbWU9Ikdyb3VwIDMwOTAiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgY2xhc3M9ImNscy0yIiBkPSJNNzYuMzUyLTg3LjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTQ1LjYwNmwtNzIuNzQ2LDQyLTcyLjc0Ni00Miw3Mi43NDYtNDJabS0xMzcuNDkzLDBMNzYuMzUyLTguMjI0LDE0MS4xLTQ1LjYwNiw3Ni4zNTItODIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBjbGFzcz0iY2xzLTQiIGQ9Ik0tMjE5LjM1OS0xNTcyLjk4My0xNzQuMy0xNTk5bDYuOTI4LDQtNDUuMDYxLDI2LjAxNlptLTE3LjMyLTEwTC0yMDcuMjA2LTE2MDBsNi45MjgsNC0yOS40NzMsMTcuMDE2Wm0tMTcuMzItMTBMLTIzNi42NTEtMTYwM2w2LjkyOCw0LTE3LjM0OCwxMC4wMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDMxIDE3MjYuMjAzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMwIiBkYXRhLW5hbWU9IlBhdGggNTIzMCIgY2xhc3M9ImNscy01IiBkPSJNNjUuOTU5LTEyOS42MDZsLTMxLjE3NywxOC0zMS4xNzctMTgsMzEuMTc3LTE4Wm0tNTQuMzU0LDAsMjMuMTc3LDEzLjM4MiwyMy4xNzctMTMuMzgyTDM0Ljc4My0xNDIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzEiIGRhdGEtbmFtZT0iUGF0aCA1MjMxIiBjbGFzcz0iY2xzLTYiIGQ9Ik0zNC43ODMtMTQ3LjYwNmwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzNSIgZGF0YS1uYW1lPSJQYXRoIDUyMzUiIGNsYXNzPSJjbHMtNyIgZD0iTTc2LjMzNy0xNzEuNjE0bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjM5IiBkYXRhLW5hbWU9IlBhdGggNTIzOSIgY2xhc3M9ImNscy03IiBkPSJNNzYuMzM3LTEyMy42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyNDMiIGRhdGEtbmFtZT0iUGF0aCA1MjQzIiBjbGFzcz0iY2xzLTYiIGQ9Ik0xMTcuOTA3LTE0Ny42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzUiIGRhdGEtbmFtZT0iVW5pb24gMTM1IiBjbGFzcz0iY2xzLTgiIGQ9Ik0tMjEyLjQ0NS0xNTM3bDMxLjE3Ny0xOCwzMS4xNzcsMTgtMzEuMTc3LDE4Wm04LDAsMjMuMTc3LDEzLjM4MkwtMTU4LjA5MS0xNTM3bC0yMy4xNzctMTMuMzhaTS0yNTQtMTU2MC45OTJsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxLDIzLjE3Ny0xMy4zODEtMjMuMTc3LTEzLjM4MVptNzUuMTI0LS4wMDgsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgsMjMuMTc4LTEzLjM4LTIzLjE3OC0xMy4zODFabS00OS41NjktMjQsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxTC0xNTguMDkxLTE1ODVsLTIzLjE3Ny0xMy4zODFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNzIgMTYwOS4yMTkpIi8+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy05IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Backup__choice__3vlYc strong{color:#dd2c2c}input[type=radio]:checked~.Backup__choice__3vlYc:hover{background-color:#fff}input[type=radio]:checked~.Backup__choice__3vlYc.Backup__backup__1iu6I{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cC1hY3RpdmUiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9ImJhY2t1cC1hY3RpdmUiIGNsaXAtcGF0aD0idXJsKCNjbGlwLWJhY2t1cC1hY3RpdmUpIj4KICAgIDxnIGlkPSJiYWNrdXAtYWN0aXZlLTIiIGRhdGEtbmFtZT0iYmFja3VwLWFjdGl2ZSI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiIGZpbGw9Im5vbmUiLz4KICAgICAgPGcgaWQ9Ikdyb3VwXzI1MjYiIGRhdGEtbmFtZT0iR3JvdXAgMjUyNiI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTAiIGQ9Ik03NS42LTg3LjYwNiwzLjYwNi00Ni4wNDEsNzUuNi00LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgZD0iTTE0Ny41OTEtNDYuMDQxLDc1LjYtNC40NzYsMy42MDYtNDYuMDQxLDc1LjYtODcuNjA2Wm0tMTM2LjA2OCwwTDc1LjYtOS4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTgzLjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MiIgZGF0YS1uYW1lPSJQYXRoIDQ3OTIiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTMiIGRhdGEtbmFtZT0iUGF0aCA0NzkzIiBkPSJNMTQ3LjU5MS05MC4wNDEsNzUuNi00OC40NzYsMy42MDYtOTAuMDQxLDc1LjYtMTMxLjYwNlptLTEzNi4wNjgsMEw3NS42LTUzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTI3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguMTkyKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGQ9Ik03NS42LTE3MS42MDYsMy42MDYtMTMwLjA0MSw3NS42LTg4LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3OC42MDYpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80Nzk1IiBkYXRhLW5hbWU9IlBhdGggNDc5NSIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}input[type=radio]:checked~.Backup__choice__3vlYc.Backup__restoreKeystore__2B53A{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfamFzb24tYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2phc29uLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIGphc29uLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9qYXNvbi1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg3IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODciPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjEwIiBkYXRhLW5hbWU9IlBhdGggNTIxMCIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxMSIgZGF0YS1uYW1lPSJQYXRoIDUyMTEiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzAiIGRhdGEtbmFtZT0iVW5pb24gMTMwIiBkPSJNLTIxOS4zNTktMTgyMi45ODMtMTc0LjMtMTg0OWw2LjkyOCw0LTQ1LjA2MiwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xODUwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE4NTNsNi45MjgsNC0xNy4zNDgsMTAuMDE2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQxNiAxOTc2LjIxMSkiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNSIgZGF0YS1uYW1lPSJQYXRoIDUyMTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE2IiBkYXRhLW5hbWU9IlBhdGggNTIxNiIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjMTk3N2Q2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNyIgZGF0YS1uYW1lPSJQYXRoIDUyMTciIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE4IiBkYXRhLW5hbWU9IlBhdGggNTIxOCIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMjkiIGRhdGEtbmFtZT0iVW5pb24gMTI5IiBkPSJNLTIxOS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS0yNTQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDE2IDE4NzYuMTk1KSIgZmlsbD0iI2QwZThmYSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIiBmaWxsPSJub25lIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)}input[type=radio]:checked~.Backup__choice__3vlYc.Backup__restoreMnemonic__2dauK{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfbW5lbWluaWMtYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX21uZW1pbmljLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIG1uZW1pbmljLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9tbmVtaW5pYy1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg5IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODkiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MywwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBkPSJNLTIxOS4zNTktMTU3Mi45ODMtMTc0LjMtMTU5OWw2LjkyOCw0LTQ1LjA2MSwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xNjAwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE2MDNsNi45MjgsNC0xNy4zNDgsMTAuMDE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQzMSAxNzI2LjIwMykiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzMCIgZGF0YS1uYW1lPSJQYXRoIDUyMzAiIGQ9Ik02NS45NTktMTI5LjYwNmwtMzEuMTc3LDE4LTMxLjE3Ny0xOCwzMS4xNzctMThabS01NC4zNTQsMCwyMy4xNzcsMTMuMzgyLDIzLjE3Ny0xMy4zODJMMzQuNzgzLTE0Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiMwMGJkYTkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMxIiBkYXRhLW5hbWU9IlBhdGggNTIzMSIgZD0iTTM0Ljc4My0xNDcuNjA2bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iI2QwZThmYSIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzUiIGRhdGEtbmFtZT0iUGF0aCA1MjM1IiBkPSJNNzYuMzM3LTE3MS42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzOSIgZGF0YS1uYW1lPSJQYXRoIDUyMzkiIGQ9Ik03Ni4zMzctMTIzLjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjQzIiBkYXRhLW5hbWU9IlBhdGggNTI0MyIgZD0iTTExNy45MDctMTQ3LjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTM1IiBkYXRhLW5hbWU9IlVuaW9uIDEzNSIgZD0iTS0yMTIuNDQ1LTE1MzdsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgyTC0xNTguMDkxLTE1MzdsLTIzLjE3Ny0xMy4zOFpNLTI1NC0xNTYwLjk5MmwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODEsMjMuMTc3LTEzLjM4MS0yMy4xNzctMTMuMzgxWm03NS4xMjQtLjAwOCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zOCwyMy4xNzgtMTMuMzgtMjMuMTc4LTEzLjM4MVptLTQ5LjU2OS0yNCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODFMLTE1OC4wOTEtMTU4NWwtMjMuMTc3LTEzLjM4MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3MiAxNjA5LjIxOSkiIGZpbGw9IiMxOTc3ZDYiLz4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNzM5IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNzM5IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgZmlsbD0ibm9uZSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Backup__choice__3vlYc .Backup__choice_title__3nyE7{color:#1977d6}input[type=radio]:checked~.Backup__choice__3vlYc svg polygon{stroke:#1977d6;fill:rgba(25,119,214,.15)}input[type=radio]:checked~.Backup__choice__3vlYc svg path,input[type=radio]:checked~.Backup__choice__3vlYc svg rect{fill:#1977d6}.Backup__submit__34nLc,.Backup__submitWrapper__3GmPu{display:block;margin-top:30px}.Backup__submit__34nLc{width:100%}.Backup__infoLink__2tKe2{position:relative;left:4px;top:1px;color:#bac0c7}@-webkit-keyframes RescanDialog__progress-bar-stripes__211F3{0%{background-position:40px 0}to{background-position:0 0}}@keyframes RescanDialog__progress-bar-stripes__211F3{0%{background-position:40px 0}to{background-position:0 0}}.RescanDialog__progress__3XubD{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.RescanDialog__progress-bar__1HaX3{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.RescanDialog__progress-bar-striped__2spKu,.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar__1HaX3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.RescanDialog__progress-bar__1HaX3.RescanDialog__active__8R4RW,.RescanDialog__progress__3XubD.RescanDialog__active__8R4RW .RescanDialog__progress-bar__1HaX3{-webkit-animation:RescanDialog__progress-bar-stripes__211F3 2s linear infinite;animation:RescanDialog__progress-bar-stripes__211F3 2s linear infinite}.RescanDialog__progress-bar-success__2w1sQ{background-color:#5cb85c}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-success__2w1sQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__progress-bar-info__1DQB0{background-color:#5bc0de}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-info__1DQB0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__progress-bar-warning__3wFGj{background-color:#f0ad4e}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-warning__3wFGj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__progress-bar-danger__jJINj{background-color:#ef5354}.RescanDialog__progress-striped__15HnX .RescanDialog__progress-bar-danger__jJINj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.RescanDialog__tooltip__aOL4m{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.RescanDialog__tooltip__aOL4m.RescanDialog__in__3baGS{filter:alpha(opacity=90);opacity:.9}.RescanDialog__tooltip__aOL4m.RescanDialog__top__2j_4o{padding:5px 0;margin-top:-3px}.RescanDialog__tooltip__aOL4m.RescanDialog__right__2ZwFj{padding:0 5px;margin-left:3px}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom__1YwgM{padding:5px 0;margin-top:3px}.RescanDialog__tooltip__aOL4m.RescanDialog__left__2CAqS{padding:0 5px;margin-left:-3px}.RescanDialog__tooltip__aOL4m.RescanDialog__top__2j_4o .RescanDialog__tooltip-arrow__25bWP{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__top-left__1zx-7 .RescanDialog__tooltip-arrow__25bWP{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__top-right__15v7q .RescanDialog__tooltip-arrow__25bWP{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__right__2ZwFj .RescanDialog__tooltip-arrow__25bWP{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__left__2CAqS .RescanDialog__tooltip-arrow__25bWP{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom__1YwgM .RescanDialog__tooltip-arrow__25bWP{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom-left__RxxOT .RescanDialog__tooltip-arrow__25bWP{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RescanDialog__tooltip__aOL4m.RescanDialog__bottom-right__26Afx .RescanDialog__tooltip-arrow__25bWP{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.RescanDialog__tooltip-inner__602aP{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.RescanDialog__tooltip-arrow__25bWP{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.RescanDialog__title__1eOLf{text-align:center}.RescanDialog__submitBtn__K0Qj9{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.RescanDialog__infoContainer__2BMzq{word-break:break-word}@-webkit-keyframes VoteDetails__progress-bar-stripes__1KIUx{0%{background-position:40px 0}to{background-position:0 0}}@keyframes VoteDetails__progress-bar-stripes__1KIUx{0%{background-position:40px 0}to{background-position:0 0}}.VoteDetails__progress__jEtNI{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.VoteDetails__progress-bar__O0CtV{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.VoteDetails__progress-bar-striped__3TPcq,.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar__O0CtV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.VoteDetails__progress-bar__O0CtV.VoteDetails__active__3ABoF,.VoteDetails__progress__jEtNI.VoteDetails__active__3ABoF .VoteDetails__progress-bar__O0CtV{-webkit-animation:VoteDetails__progress-bar-stripes__1KIUx 2s linear infinite;animation:VoteDetails__progress-bar-stripes__1KIUx 2s linear infinite}.VoteDetails__progress-bar-success__11Bp1{background-color:#5cb85c}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-success__11Bp1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__progress-bar-info__3I3Fx{background-color:#5bc0de}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-info__3I3Fx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__progress-bar-warning__1xOot{background-color:#f0ad4e}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-warning__1xOot{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__progress-bar-danger__3M8LA{background-color:#ef5354}.VoteDetails__progress-striped__HKOux .VoteDetails__progress-bar-danger__3M8LA{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteDetails__tooltip__20Pk4{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.VoteDetails__tooltip__20Pk4.VoteDetails__in__Kw8Fy{filter:alpha(opacity=90);opacity:.9}.VoteDetails__tooltip__20Pk4.VoteDetails__top__3N_cd{padding:5px 0;margin-top:-3px}.VoteDetails__tooltip__20Pk4.VoteDetails__right__3ygHj{padding:0 5px;margin-left:3px}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom__2as6j{padding:5px 0;margin-top:3px}.VoteDetails__tooltip__20Pk4.VoteDetails__left__F60la{padding:0 5px;margin-left:-3px}.VoteDetails__tooltip__20Pk4.VoteDetails__top__3N_cd .VoteDetails__tooltip-arrow__3uByT{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__top-left__1PoqF .VoteDetails__tooltip-arrow__3uByT{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__top-right__1MvhM .VoteDetails__tooltip-arrow__3uByT{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__right__3ygHj .VoteDetails__tooltip-arrow__3uByT{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__left__F60la .VoteDetails__tooltip-arrow__3uByT{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom__2as6j .VoteDetails__tooltip-arrow__3uByT{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom-left__14zqZ .VoteDetails__tooltip-arrow__3uByT{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteDetails__tooltip__20Pk4.VoteDetails__bottom-right__3pB-I .VoteDetails__tooltip-arrow__3uByT{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteDetails__tooltip-inner__R4qqQ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.VoteDetails__tooltip-arrow__3uByT{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.VoteDetails__main__1yaqL{background:#fff;color:#20252d;width:100%;table-layout:fixed}.VoteDetails__main__1yaqL code{padding:0;font-size:13px}.VoteDetails__main__1yaqL td{border-top:1px solid #f3f6f8;word-wrap:break-word;color:#747c89;line-height:20px;vertical-align:top}.VoteDetails__main__1yaqL th{color:#20252d;text-transform:uppercase;font-weight:500;font-size:12px}.VoteDetails__main__1yaqL td,.VoteDetails__main__1yaqL th{padding:13px 30px 13px 0}.VoteDetails__main__1yaqL td:first-child,.VoteDetails__main__1yaqL th:first-child{padding-left:60px}.VoteDetails__main__1yaqL td:last-child,.VoteDetails__main__1yaqL th:last-child{width:30%}.VoteDetails__main__1yaqL .btn-link{padding-top:0;padding-bottom:0;line-height:1}@-webkit-keyframes CoreIndex__progress-bar-stripes__1SfHI{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CoreIndex__progress-bar-stripes__1SfHI{0%{background-position:40px 0}to{background-position:0 0}}.CoreIndex__progress__YcMom{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CoreIndex__progress-bar__3eWGJ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CoreIndex__progress-bar-striped__3dXd0,.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar__3eWGJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CoreIndex__progress-bar__3eWGJ.CoreIndex__active__12qOz,.CoreIndex__progress__YcMom.CoreIndex__active__12qOz .CoreIndex__progress-bar__3eWGJ{-webkit-animation:CoreIndex__progress-bar-stripes__1SfHI 2s linear infinite;animation:CoreIndex__progress-bar-stripes__1SfHI 2s linear infinite}.CoreIndex__progress-bar-success__1SdPN{background-color:#5cb85c}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-success__1SdPN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__progress-bar-info__1u5JQ{background-color:#5bc0de}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-info__1u5JQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__progress-bar-warning__3Pm_p{background-color:#f0ad4e}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-warning__3Pm_p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__progress-bar-danger__JYq5B{background-color:#ef5354}.CoreIndex__progress-striped__3_X2V .CoreIndex__progress-bar-danger__JYq5B{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CoreIndex__tooltip__gNTyC{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CoreIndex__tooltip__gNTyC.CoreIndex__in__1t15g{filter:alpha(opacity=90);opacity:.9}.CoreIndex__tooltip__gNTyC.CoreIndex__top__3hUB5{padding:5px 0;margin-top:-3px}.CoreIndex__tooltip__gNTyC.CoreIndex__right__1ivs4{padding:0 5px;margin-left:3px}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom__OWOVC{padding:5px 0;margin-top:3px}.CoreIndex__tooltip__gNTyC.CoreIndex__left__36Tt0{padding:0 5px;margin-left:-3px}.CoreIndex__tooltip__gNTyC.CoreIndex__top__3hUB5 .CoreIndex__tooltip-arrow__2ZrXO{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__top-left__DC0BE .CoreIndex__tooltip-arrow__2ZrXO{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__top-right__2uBgT .CoreIndex__tooltip-arrow__2ZrXO{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__right__1ivs4 .CoreIndex__tooltip-arrow__2ZrXO{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__left__36Tt0 .CoreIndex__tooltip-arrow__2ZrXO{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom__OWOVC .CoreIndex__tooltip-arrow__2ZrXO{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom-left__1fR4i .CoreIndex__tooltip-arrow__2ZrXO{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CoreIndex__tooltip__gNTyC.CoreIndex__bottom-right__4rksZ .CoreIndex__tooltip-arrow__2ZrXO{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CoreIndex__tooltip-inner__2W9aX{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CoreIndex__tooltip-arrow__2ZrXO{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CoreIndex__page_header__5QQUg h1{margin-bottom:0}.CoreIndex__table__Dceyw{margin-bottom:30px}.CoreIndex__table__Dceyw td{vertical-align:top}.CoreIndex__actionBtn__21s5W img{margin-bottom:3px}.CoreIndex__row__28vvd{line-height:30px}.CoreIndex__row_label__1wXx4{padding-right:30px;text-transform:capitalize;font-weight:500;white-space:pre}.CoreIndex__row_value__15ygI{white-space:pre;text-align:right}.CoreIndex__shorten_value__Zv0Qs{max-width:220px;text-overflow:ellipsis;overflow:hidden}.CoreIndex__block_hash__2Cz48{display:block;word-wrap:break-word;word-break:break-all}.CoreIndex__col__3Mv9x,.CoreIndex__flex__3F9Af{display:-webkit-flex;display:-ms-flexbox;display:flex}.CoreIndex__col__3Mv9x{width:50%;padding:30px}.CoreIndex__col__3Mv9x h4{margin-top:0}.CoreIndex__wordWrap__oQe8i{word-wrap:break-word;word-break:break-all}.CoreIndex__copyButton__1IwKv{padding:0 9px 4px}.CoreIndex__copyButton__1IwKv img{width:18px}.CoreIndex__sub-row__3OQu5{padding:30px 30px 0}.CoreIndex__top__3hUB5{border-bottom:1px solid #f5f5f5}.CoreIndex__left__36Tt0{padding-left:0;width:67%}.CoreIndex__right__1ivs4{border-left:1px solid #f5f5f5;width:33%}.CoreIndex__replication_lag__3RmHd{display:inline-block;float:right;border-radius:3px;color:#fff;padding:0 8px;line-height:1.5;margin-top:2px;margin-left:-8px}.CoreIndex__green__2pqbx{background:#3295de}.CoreIndex__yellow__3eSHB{background:#f0ad4e}.CoreIndex__red__1oSeH{background:#eb7575}.CoreIndex__mainContainer__3G2_G{background-color:#fff;padding:0 30px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}code{padding-left:0;font-size:13px}.CoreIndex__switch__3nsIV{margin-top:5px;position:relative;display:inline-block;width:44px;height:22px}.CoreIndex__switch__3nsIV input{display:none}.CoreIndex__switch__3nsIV input:checked+.CoreIndex__slider__2PcsQ{background-color:#195ad6}.CoreIndex__switch__3nsIV input:focus+.CoreIndex__slider__2PcsQ{box-shadow:0 0 1px #195ad6}.CoreIndex__switch__3nsIV input:checked+.CoreIndex__slider__2PcsQ:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.CoreIndex__slider__2PcsQ{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.CoreIndex__slider__2PcsQ:before{position:absolute;content:\"\";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}@-webkit-keyframes Index__progress-bar-stripes__zmrYR{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Index__progress-bar-stripes__zmrYR{0%{background-position:40px 0}to{background-position:0 0}}.Index__progress__2yXf0{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Index__progress-bar__ZToC5{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Index__progress-bar-striped__T2VOf,.Index__progress-striped__O-yOF .Index__progress-bar__ZToC5{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Index__progress-bar__ZToC5.Index__active__2BvM9,.Index__progress__2yXf0.Index__active__2BvM9 .Index__progress-bar__ZToC5{-webkit-animation:Index__progress-bar-stripes__zmrYR 2s linear infinite;animation:Index__progress-bar-stripes__zmrYR 2s linear infinite}.Index__progress-bar-success__1k9g0{background-color:#5cb85c}.Index__progress-striped__O-yOF .Index__progress-bar-success__1k9g0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-info__1R6h0{background-color:#5bc0de}.Index__progress-striped__O-yOF .Index__progress-bar-info__1R6h0{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-warning__R00OQ{background-color:#f0ad4e}.Index__progress-striped__O-yOF .Index__progress-bar-warning__R00OQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-danger__2GtWv{background-color:#ef5354}.Index__progress-striped__O-yOF .Index__progress-bar-danger__2GtWv{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__tooltip__1gef1{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Index__tooltip__1gef1.Index__in__3GVmE{filter:alpha(opacity=90);opacity:.9}.Index__tooltip__1gef1.Index__top__1E1fY{padding:5px 0;margin-top:-3px}.Index__tooltip__1gef1.Index__right__3qRVa{padding:0 5px;margin-left:3px}.Index__tooltip__1gef1.Index__bottom__14iVH{padding:5px 0;margin-top:3px}.Index__tooltip__1gef1.Index__left__2l0Y3{padding:0 5px;margin-left:-3px}.Index__tooltip__1gef1.Index__top__1E1fY .Index__tooltip-arrow__2os-c{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__1gef1.Index__top-left__164-H .Index__tooltip-arrow__2os-c{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__1gef1.Index__top-right__3vvNN .Index__tooltip-arrow__2os-c{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__1gef1.Index__right__3qRVa .Index__tooltip-arrow__2os-c{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Index__tooltip__1gef1.Index__left__2l0Y3 .Index__tooltip-arrow__2os-c{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Index__tooltip__1gef1.Index__bottom__14iVH .Index__tooltip-arrow__2os-c{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__1gef1.Index__bottom-left__x1wyW .Index__tooltip-arrow__2os-c{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__1gef1.Index__bottom-right__29mww .Index__tooltip-arrow__2os-c{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip-inner__3BSCQ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Index__tooltip-arrow__2os-c{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Index__title__2C-1_{font-size:26px;font-weight:400;margin-top:30px;margin-bottom:30px;text-align:center}.Index__choices__z1D6y{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.Index__choices__z1D6y>div{width:30%;min-height:100%}.Index__choice_wrapper__aUflq,.Index__choice_wrapper__aUflq>label{display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:100%}.Index__choice_wrapper__aUflq>label{font-weight:400}.Index__choice_radio_button__3N5lo{position:absolute;visibility:hidden}.Index__choice__113bB{border:1px solid #ddd;border-radius:3px;cursor:pointer;min-height:100%;padding:20px 30px;padding-top:110px;text-align:center;background-repeat:no-repeat;background-position:center 25px;background-size:90px 90px}.Index__choice__113bB:hover{background-color:#fafafa}.Index__choice__113bB.Index__disabled__35ptv{cursor:default;background-color:#fafafa;opacity:.75}.Index__choice__113bB.Index__disabled__35ptv .Index__choice_title__LJh-1{color:#bac0c7}.Index__choice__113bB p{line-height:1.4}.Index__choice__113bB svg{display:block;margin:0 auto;width:80px;height:80px}.Index__choice__113bB .Index__choice_title__LJh-1{display:block;font-size:16px;margin:12px 0;color:#20252d;font-weight:600}.Index__new__3iNcH{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAG/FJREFUeAHtXWlwHMd1bhIk7msXu4s9ABLXAlgsbgIgKcmW5VRSshUrEi0plk3HVtmpcklWUi47thMnPlI5yrLjqkRllcuOSxVJsWyaEZWUldCukhlFtnngIK7FwSUuAtjFnrhvgsh7Iw21mGkAC2AW2Nl9/Wdmunt6er7+sOjp9/p7jFEiBAgBQoAQIAQIAUKAECAECAFCgBAgBAgBQiAWEDgUCy8Rze/Q0tb71VGX95vZWRm9Rp3mUZutcDia+6v2vhGhIzSCbZ3O+72+4M99/km9+IikxKPrFovh3Mp85dkHHjh0W8yno3IIEKGVw1JoqaVn2DQTCL7ucvua1tfXua1npKcumUz6L5+stz3PrUCZu0aACL1r6DbeCORNuHyt68ejLt8nV1ZWD28s5V8ZdJpxo1H/ZI296G1+DcrdKQJE6J0ixqnf3Nr7+fEJ33OzcwspnGJ2PN/IPL4gW1pa4RWzfIvhskmf9nBZWZmfW4Eyw0aACB02VPKK17v7G32+6dc83mCevJQxrSaTNdXbmC4nm62trbHu3kHm6Btmd+7ckVVPTkpcM5v0P7ynqfLzhw4dkleQ3UEZPASI0DxUtsnr7+/XuX0LP3dN+D6wtibnXnJyIqurLmXFBRZZS/MLS6y1vY/dGvPIyjAjKzNt3pSb83RjfcVL3AqUuSUCROgt4dlYCPPkQ5dbHM+7XN7PLS6tJGwsZezw4UPMVlrAqiqK2ZEjsuIN1b3+SXa1xcGmZ+Y35IsXxtycQYMh+/GaCmubmEfH7REgQm+PkVCjua3vMbfX/+L09Fw675Y8s4E11JWz9DTuNJp3C8NFkJuDo6y9y8mWV1ZldRISEnB+/aZRl3rGarXOyCpQhgwBIrQMko0ZbQ5nRdA79ZrbGyjbWPLOVWZGGjt5ooLlGrS84rDyVldvs47um6z/5i0guXypLzUl+bbZpPve6cbKr4TVYBxXIkJvMvgOhzc9OOM+N+byPnj79poMp8TEo6zGXsJKS/IZfMRt0srOsmdm59m11h424Q1yb9RkZ0ybcnVPnagtu8CtQJlMmZGIMSCvtDj+Ydzt+9LCwtJR6ashd63Fx1htZQlDUkcijbt8rAU+HGEZUNY8Pt9k1PcaNJkfqaqyDsgqxHkGETqEAK0dfQ9OeAKvBidns0Oy754a9BphepGVyZ1G362nxMmdO+uszznCuhw32ertNVmTR48eWbeY9BfyjJmfKCwsXJJViNMMIjQMfFeXs9g7OfOae8JXzZnCCh96J2rL8QNt32myvLzK2jr72cDQOPfZaakpK8cs+q831Fd8m1shzjLjmtBOpzPJG1h8ecztewzM1TIscOmtylbEbGUFsCQXljU7YvSZnJphV1p6WCA4zX2GXqfxGQ3as7VV1l9xK8RJpmwQ4+S92dW23mfdbu93ZucWk3jvXFRgZvU1ZQwseLziA8sbvuVmbR032MKifJaBH6ewfHg9Xat5qKGiwH1gnTzAB8cdoQW3Tq//J77AtJmHO5qrcRkuR5vFK46KPLROOvrQjD4EJnW5pRI+Vu9YzPqX722q+gyQXD4Bj4q3iEwn4obQXV2Duf7pKXTrPIUfXNKUkpwEv8ilrPA4l+fS6lFxjb/Sre39bGR0gtsfWCNftJgMX2qoK3uBWyEGM2Oe0OjWeaW5+0ej495PgTVONhHGuXEFzJGrKooYWubUmNCMfq21l01Nz3K7D0afMb0+60xdZVkzt0IMZcY0oa+1Op5ye4LfB4MF1x59LC+X4epFWmpyTAzpzcExdh3N6MtyN9WEhMMMlvneAjP6Y7HsphqThH7XrfMcuHUW8JgKHm3g1rk3czWv3WjIwzXrTli77rsxwjWjpySDm6rZ8IPTDfZnYX4tn3tFw0vsoQ8xRWiHY1TrnwqcH3d7H+B9LMGePlZTZWXWIjRX7wE1FdyKVsbm673M5ebvGcjKSp8zGbTPxJqbaswMK7hi/gvsrn56cXFZNhHG5ayykmOsBszVYGFTAR2V66LbExD8Q3hmdHwK+IYMaPVZD9fbrT3KPfXgWlI9odGt0+ML/Ovk1Cx3nQ2MDawJluHQKy5eE3rwoRm90zHA0LNPmsCAtA7r1xe1maYn7HbDnLRcTdeqJXRn51C5N+h/HX6BuG6dsLOaNcAHH6zHqmk8ItpXNKO3d91gTvh45KXU1ORV+HD87qkG+1/xytWQpzpCo1vn5OzET8fGPR+GDyBZ/4+iuRrcOsutx4UdJGoYhP3u49T0nLBbxheY4j5aq8mYgh0zT56oKb/IrRDFmTJCRHFf2eVmxzfcHv/X5ucXuX6bxYUWVl9dxpKSuMXR/GoH0jc0yLR19DPc5yhN77qpdoKb6hk1uamqgtDo1unxBF8JTM7kSIHHazRTn2qoYJrsTF4x5W2BAK4G9fQPCTvSeStDYEZfzzPpzxtyUj4J28CWt2gqKoqimtC9vUMFbn/ggssdqN1ka5Jgri44ZooKMNXcicWlZcGMjs5PvJSRnrJsMhn+ItrVnqKS0JcurR9JSu36d1Ahepzn1olWr4qyQlYJrp14Tkk5BPwwr0Y31c3M6PqcLJfBoPt4fbX1LeWeqlxLUUfod9w6BRUirj0aVYhgTx2DjaPKoUAtyRDADQXXO2+wJY4ZHeUaQBTnii4r+5GqqiK+wIisxf3JiBpCdzgG3zcx4X3V65+Sq7MAFiBHC+vJNgZ6cPuDDD2FweZg1tkzAGZ0VHuSW8nB8noHdvH826nGyj+NFjfVAyc0unUGpqcuwKbU01zQwMEedmGAuZqrtkW02wcE5uYXWQuY0cdg8y4voZuqKVf7TNMJ+4u88v3MOzBCw0fe4astPeDW6fk0/FuTTYTRXI1rydVort5GhWg/AYvnZ6EZvbmtl6HcAi+Bm+owuKk+cZBuqgdCaHTrBO2J50EGi2uPBlEV1lhnY2jtoxRdCOBqEwridIIwzgrHjP6Om6rhki475zG7PZ8vMBLBV9pXQnf0OOu9nsnzQOZC3jshgdHvAsQKecWUF0UIwOqTIGHmBCkz3k75lJSktXyz4YWTDfY/289u7wuhYXd1pts3fwHmYB9EWVlpQg+4anuxMMXAqQYl9SCAZvRrbT3M65vkdhrVnnL1OZ9trC8/z62gcGbE2XOl2fEc+Cd/YWFxmeu3iR97tVWlZK5WeGD3uzmUB25FMzp8QPKSOVfXp9fmPFpdXdjHK1cqL2KEhs2bj4LfxYubuXXqQQQc/h3BclzkVYiUAova2RoBFHLv6R9mXT2DgsC7tDZ83K/nWXL/W5Nh/Fik3FQVJzS6dfomA6+5Jvw26QvhNe7fQ70LNJBQik0E0IyO2iFDIy7uC6alpayaDbq/O9Vk/1tuhT1kKkbooaGhZNfEzM9H3b6HwIlc1i5+/aKpGk3WZK7ew4ip6FZUeboKaqrBSb60dY4mM2AwaD7eUGv7lVKvJSPebhq+3NL91xMTgb+BBXiuzBA6D6G5GrUvKMUfAoPDLsGMjr/c0oSLALCpoF2poKSKEPrln12U20Wh52iuRrdODJpDKb4RQDN6FwRN6gVXVZ5F+Fie8df331v7e3tFibvysNdGhaA5sHKBDveUCAFEAIUv68CFobQ4XzCjg/BPRICRmZyVeMojH34/kVkJIGOwDVwUuP/eOsHmEPp6SpkfIkLo7SJAhb4InccnAlI5CZ61cTfIRITQu+kI3UMIKIEAEVoJFKmNqEGACB01Q0EdUQIBIrQSKFIbUYMAETpqhoI6ogQCRGglUKQ2ogYBInTUDAV1RAkEiNBKoEhtRA0CROioGQrqiBIIEKGVQJHaiBoEiNBRMxTUESUQIEIrgSK1ETUIEKGjZiioI0ogQIRWAkVqI2oQIEJHzVBQR5RAgAitBIpbtLG0tMJ+d7Vz03jcW9xKRbtAICJbsHbRj5i7BTXgevqGBDlaDPUwOOIWZGlBepZlZZIWSaQGnAgdAWRBk0QIdokytKHJF5hmv/jl71hJoZnV19pIVTUUHIXOidAKAYnNzEE44msgN4uE3izhL7dzcJyNjHkhsm0xRLg9vllVyt8FAkToXYAmvQUFKNu7nILMLG+LvrQ+XqN6J0TBZc6BMZB6sJPUAw+kXeQRoXcBWugtKHcFOn7cWCRYT6fNFJRVMchl741bQpiH0PtRvfPim1fZ8bxc1lBvIzGeUHB2cU6E3gVoeMvk1AwEAu0GmatZbgvpackgfVbIcvXvxISBsGgsD8I0I6kx4KV0l/MIqHeOuX2ssryQ2W3FFAWXi+r2mUTo7THaUAOjQrW19wmrFhsK3r1ACYdy6zFWdNzIpFrXiaCDXWMvYsUFJtbePcACwY2ab7ga0gEB5jEW90kQfreYDbxHUN4WCBChtwAntAg/5vqcI6wDQjGgrJU0oVDKMZg22MuOM6nmhLRueloKu+9kJYNIBiA9O8RAO3tDFby+9JvrzGjQChENICjPhnK62BwBIvTm2NwtmYBgOVdaHEy6DCdWyIF5Mv7y7jQmDBIWw9QJa9TOW6CpfEdsUjgi4X/xy98KEcDqIIY5CfhsgId7QYTmwvJOJqrRN28Rziw1JUmYJ0NIsy1a2boIg1jiunS+BebX/TC/hrl0aMJVk/6bozDv9rCaqhIgd35oMZ1LECBCSwARL7scN0EtE5UyN/5qYvkR0LouLcmHubBZsY83CGIJoTmKWRHMr3EeLf3YxLk7hMFjN4Dc952qJmujOFCSIxFaAoh42QvzZR6Zj+UZYJ5cwBITIwNdZkYqe9+pKjDOBFg3/EEtgi9IaIIQH8wNhhsyn4ei8t55ZEblvfZj5kyryYB5cjFDwu1HMhtzhCU/cX4drsFmP/oWzc8gb7swR6epvnzfyCx2CUN3WIssLB/WrymFhwAROjycqJZKECBCq2SgqJvhIUCEDg8nqqUSBIjQKhko6mZ4CBChw8OJaqkEASK0SgaKuhkeAkTo8HCiWipBgAitkoGiboaHABE6PJyolkoQIEKrZKCom+EhQIQODyeqpRIEiNAqGSjqZngIEKHDw4lqqQQBIrRKBoq6GR4CROjwcKJaKkGACK2SgaJuhocAETo8nKiWShAgQoc5UNdAh25mdiHM2spUQ1kDFHYcdfmUaTAOWqE9hWEOMu7CvvSbdhCTMbAKEJPBXdqRTG4PitAMyjbJRvKZsdA2EXqTUbRZj3NlDG6BDO642w8yuMrKGIjdwP8CPBkDsVyTncFMRp14SUcJAkRoCSDiZZW9BDQyLFyhGZwK9PSPsOFbE3sWmhGftwzyujyhGbE8OSmRhGZEMLY4EqG3ACcNNOg+cF89Qymwq609bBYEzUMTatDh3Hq3UmDYFsoTiFIFUikwLEdlJWtRHiMpMERj+0SE3h4jZszNYQ9/6D4hRgpOB6RijagiivNr1HjG+fV2Yo3iIzcTaxTLSaxRRCL8IxE6TKxQGtdWVihMQ1o7QE532L3hTtR7Hgb9uTGYX28mpyvegKKPPDldsRw180hOV0RjZ0ci9M7wYkkwl72nqZrZSgu4guf4640SXsO33KzKVsQM+uy7T1hZvb2p4DlWQmEZOwieV5Lg+V3MdnpChN4pYu/W12Rnsg///j1ss5AUc/NL7DKIK24XkkJ8PIWkEJHY25EIvTf8WOFxsyB0vlnQID/Mr3/99vVNn5IFYuanmyopaNCmCO2sgAi9M7y4tRMSEtiJ2nKQ2D0Gka16BOVQbsWQzEQwzFBYtxBAFDolQisEJDaDCv4ffH+DEKfwKij+zy8syVrHj0sKvCmDRbEMIrRiUL7XkBkseY889H7mgNDIXT0Dd0NN6HOyGIVGfg+nSJwRoSOBKrSJv8SVsMpRUpjH2mCZDyNaHc83Ruhp1KyIABFaRCJCx+RkWOY7WR2h1qlZKQLkPipFhK5VjQARWtXDR52XIkCEliJC16pGgAit6uGjzksRIEJLEaFrVSNAhFb18FHnpQgQoaWI0LWqESBCq3r4qPNSBIjQUkToWtUIEKFVPXzUeSkCRGgpInStagSI0KoePuq8FAEitBQRulY1AkRoVQ8fdV6KABFaighdqxqBiBB6FbbyUyIEtkJg9fbtDcWwH0KRFBFC/+cb/8cGhsYV6SA1ElsI4D7Lt37bDipUIxteDIV6lEgR2bGytLwiiLD0QqdPNVTQFn0lRkrlbaytrQnywD39w6Dndydib6PIL3RpSf7X0lJTVqS9nJqeZRffvMp+c6UTdI6XpcV0HScIDI642OtvvA2KUoMyMuPeS4tZ32HQZn1GCTgUmrkwNjQ0lDzunTk3Nu77w9XV27J2UeYKN41WgD4cnlOKfQQCwWlBtTU4OcN92RxNZiA3V3v2RE35RW6FXWTKiLeLNjbc0tk5VO6bDLzmmvDbNhS8e5GWmszqa8poBzQPnBjJwylnW3s/yAS7uG8EMsWrplzt359urPoWt8IeMhUntNiX1vb+R90e/4uTU7NZYl7oUZ+TzU422Fl2VnpoNp2rGAGcG+McGacWUslhfK2jRxLW88yG/9Fkmv7YbjfMReJVI0ZosbNXmh3Pjbt9X1hYXOJ+gKKYd21VKah6RjZmidgfOkYGgdFxL2tt72MoFcxLptycfq0++0y93drDK1cqL+KExo46nc5Mt2/+wpjL90H82pUmFAivtheDrvJxQaBFWk7X0YvA9MycME/2+ia5nczKSp8zGXRPNdaXn+dWUDhzXwgt9rmjx1nv9UyeB+X6QjEv9IjacE0nKhj8NYdm03kUIrACMWHau28y58AtxltDTklOWrOYdS+caqj8c1jJUGiVeXsg9pXQYneutTqeAlI/Pz0znybmhR7NJh1rrLMJ4oeh+XR+8AisA3tv3ByFSF03GZJamnAFK8+s/9+cLN1H7fb8oLQ80tcHQmh8KQDm8NWWnh+Njns+DV/FsnU8XJ/EKUh1ZQl+TEQaB2o/DAQ83qAwvZiZnefWNug1wwZD9hN1lWXN3Ar7kHlghBbfratrMDcwPXUBPhxPY0QoacIQEHVVVlYCH4+UDgYB/NBrud7HxlxebgcyM9IWYRnumaYT9he5FfYx88AJLb5rh2PwfRMT3le9/imLmBd6zM7KgPm1jRl0mtBsOo8gArj0hnLAvTfQXM35sUk8esdi0b90T2PVZ+E/qvxrP4J926zpqCG02MGrbb3Put3e78zOLSaJeaFHlKQ9UVvGUlOSQ7PpXGEEBobH2fXOG2xpSebRIMROBA3sqxk5OY82VBRsDAemcD922lzUERpfAJb5knzBxZcgaPvj8OEh66MYLcpeXkRm9J2O+Db1/YEpCCbayzYzV+t12V6DPueJ+mrrW9s0dSDFMrIcSC82eWhv71CB2x+44HIHavHrWprwV7q+ppQVHDNJi+h6hwig8xiaq4cgHB0vZaSnLOeZ9N9oqK/4Nq88WvKimtAiSBDo8kGPJ/hKYHKGu0Cdo4VQD+CmiqHWKO0MATRXY+gMjK3IM3olHj2C5ur/MOSknLVarVHvMqkKQotDdLnZ8Q3wD/na/Pwi105eXGhh9dVlZEYXAdvmeGvMI5ir+cGNGDMZdZ0GTdaZqirrwDZNRU2xqgiNqDkc3vTJGffPYAnpQ7DVS9Z/XLOuspcIa9gY+J2SHIGpaTBXQ5QuH8yXeUmryZiC+OZPKunWyXtOJPJUO+LopuoN+l93ewJlPGDQjN4AsQPBeZxXHJd5y8torr4B5uox7vunpiavWkz6fzrVYP9LbgUVZKqW0CK2zW19j7m9/henp+e4fqhGg1bwD4HFf/GWuDviB3Wf8xbrBHM1bL6Qvf8RdOs06S4a9ekfg3ky3xtfdld0Zqie0AgrDNihKy3d/zzu8j8NX+syOzma0csgymsNmtHBsy+eEvwHY9dae9js3AL3tU25ugGtPuvhSLt1ch8egcyYILSIi8MxqvVPBc6Pu70PrK3JN2ImYThiMKNbi/LBTVW8KzaPSGA0V4NLAfcF33Hr1D7TWF/xEreCSjNjclivd/c3er1T58BHt4A3LlmZacJumVg0o6MmCk4tUCaAt3YPcRPXLCbDD0432p/dT7dO3jhEIi8mCS0ChW6qbk/w++AdliLmhR6P5eUKQedxn2MspJuDY+x6l5Mtw54+aTp8WHDrfMuoS32srKzMLy2PleuYJjQOEvxKJVxp7gY3Ve+nlldWZW6qOND28gJhR3pCgmz6rYpx9vonYZ7cy1A2gpfArXMM3DrPHKRbJ69fkciLeUKLoLX0DJtmA2BGn/Cf5HmOpaQkCUaZwuPqMaPDPk0wjPSzkdEJ8TU3HGHpcinPnPvFhrqyFzYUxPBF3BBaHMO2Tuf9Xl/gnM8/ZRDzQo9oRm+qtzE8RmvCD15H36BgsuZ9/CYmHrljMRteXl2o+uwDDxySr9NF64sp0K+4I7SIWUtbz1fG3L5vbeamWlQAZnRwfEqGDQbRlIbBeait4wbDX2dpwuVJ8Lu4nq7VPBRtbp3SvkbqOm4JjYCim6o3sPgKmNE/usJRewKDA6uqKGa20gLBBzhSgxBOu5NTM+xKSw9DNSJe0us0PjAina2tsv6KVx4veXFNaHGQu7qcxd7J6dfcE/5qjpcqS09LEVZD8i3cWYrYTESOaK5u6+zfVM0VNQWPWfRfj3a3zoiAw2mUCB0CCrqpTngCrwYnZ7NDsu+ewmoBOwkyC1mZXCv73XpKnOCHa59zhHWhuZqjtw0Wz3Xwu7iQZ8z8RGFhoXz+oUQnVNgGEZozaFdaHP8IFrYvLiwsydxUcZ5aWpwPak/WiJnRx10+1gIqRDxzNVo4TUZ9r0GT+RE1uXVyYI5IFhF6E1hhfp054Zv76Zjb/yBsFpXhlIhmdPANQXIjyZVIKA+AfhegWcJtTpOdMQ2+F0/BnsoL3AqUyZQZiRgGss3hrAj6pv4LnHyKea+JXnw4DckFr77dJvSA6wAVov6bqELE3Wp2G8R3vne6sfIru31GvNxHhA5zpJvbev7E7Q1+fzM3VfxgbAC1p52Y0ZG7zkFQIUJzNVeFKIFBu2+CufqM2t06w4R5z9WI0DuAEN1UYRvY8+DN9znY3i+zk+MOGRsIuleBsDsu+W2V0FyNu0ZADo1bDXaMDIK5+vGaCmsbtwJlchEgQnNh2Tqzv79f5wksvD467ruXFy8EhApZXXUpKyowyxrC/XsoO4v7+XgJPAHnQazy6Vhz6+S9ayTyiNB7QFVQe/L4fgJuqlydMq0mU5hfoxl9u6A5YJFcM5v1P7ynsfLz8JEpd+beQz/j6VYitAKj3QJqT2Nu73NgRuf6oaKbKviObBo4Ccp/B/PkP4plt04FYA6rCSJ0WDBtX+nSpfUjR1O6fzzu9pxdWbktc1PltQAbDMaNRv2TNfait3nllLdzBIjQO8dsyzvQTXUuGHhjzOWv4y3B4c3o1mky6b98st72/JaNUeGOESBC7xiy8G5o73L+AexGf8Xvn76rowB7GtctFsO5lfnKs/Hm1hkeanuvRYTeO4ZbtgDz66+OurzfBDngXqNO86jNVji85Q1USAgQAoQAIUAIEAKEACFACBAChAAhQAgQAoQAIUAIsP8HPKeiN6Nj/toAAAAASUVORK5CYII=)}.Index__join__1q1y7{background-image:url(/dashboard/29bc1588eab62c1ae57b385901c70e3e.png)}.Index__testnet__1gJyo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAJIFJREFUeAHtXXl8U8edH8n3JVm3ZBtsgx0bn2CbIyTdLGW3QNpsm4SYBAJtsrshC022m7RJmrRpmjYnabJNNm2Tfho2GAiYQNJlFwMNIRcEg/EB+MIYML4l2ZLvW29/I5AjvTeyDr8n+Zj3h997c893vm/mNyPPdxCiF0WAIkARoAhQBCgCFAGKAEWAIkARoAhQBCgCFAGKAEXALQRKK+vSjn1ecq747IVX3IpAA3mNgMjrmDSiSwTq6uokbcb+PY3N+tVjY2NWrGWyKHOcTvngwsyUj1wmQAN4jAAltMeQuRcB98ZNzYbH+geGAkkxYrTKGpVMcWdWVmINyZ+6eYcAJbR3uDmNVX6+9s6mVuN7JlNPtNNANzyCAgOYuBh1kUyiW5eeru51FZ76u0aAEto1Rm6FwHayydi1v6XNmEqKEBYaggYGh0heKDw8dCROp359aV7aU8QA1NFtBCih3YaKHLCmxhBlNLXsaWzRrxkdvW4n24cMDAxAmWnz0YKbElBXdy86XVqFDEazfZDxZ2pfj0Ph9QMltNfQIWS1k1uM/9HfPxhESmZ+YixalHUTCg0JdvBuaGxDpRW1qK9/0MEdv4igRXRaZbUqWnEXta858Lh0oIR2CRE3gCs7WaWMRkty0pAsOoob+YbL2JgFVdVeRReq6xF+Zl9BQYHYvj4ki9LeS+1rNjrO3ymhnWPD8cF2shns5GYndjLYwig3OwXFz9Fy4jpzwHZ1WcVFdLmhhRgkIiJsJC5G+bslOek/Jwagjg4IUEI7wEF+cWUnBwQEoIwFiSgtJREFBIjJibhw7TR1gwlThTo6u4ghsX0NS33rc7JSiogBqKMVAUpoF0QoLql6ualV/5gzOzkxXodyoFfGqxh8XFcaWq32NWlFxGpfa5Tn1XLpnZmZyfV85DfT0qCEnqBFD39yqt3QYVaTgijkUrQ0Nw3JZRKS96Tc4FdFsK2voMqaK8hiIdvX8+NjHlmcm/b2pDKagZGJv2LNwHp6VaWunl4lO2JYWAjKgZWLxPgYthdv79iEyc5IQknz4qy9NV4Vsb9GRkZFI6Ojy8GNEtoeGHimhGYBMtFrWkqClWiYcL64ImCS+a2bs61r2F+dqkC9fQO+yHZa5+HdDGZaV9n7wqel4kmfb8hsX0qlQop0GoW9E312ggAltBNgqPP0RIASenq2Gy21EwQooZ0AQ52nJwKU0NOz3WipnSBACe0EGOo8PRGghJ6e7UZL7QQBSmgnwFDn6YkAJfT0bDdaaicIUEI7AYY6T08EKKGnZ7vRUjtBgBLaCTDUeXoiQAk9PduNltoJApTQToChztMTAUro6dlutNROEKCEdgIMdZ6eCExJQn/wwVHhtoNMz3aakqU+U1GVcfz48Sm1SWRKEXr7R8ejd+wt+v2oeOxawd6ir3Z/eDjdzy1J91wSGgDvgv/sy5KjFy82nu/oZvq+/LriUUIwvzhNiQZ77jlGPD/16L8gZHkZpINk3yDBjCFG9G6IGP0iP3915zfuwj7t2n8sfmxkeFtISNA9w8Oj45m5IyAzHpinByxCU33xKjpf5ShIo1HJu9uMpjs35a/6lKes3EoGyPurdn3nM7Ar3UEtCkR1WkDx6V7QJfnSrYQECuR3Qu/44MhSJGL+Alv0nfbGDEKYzM9erl71x+eeE3G3QfMEzo4dRyJEIczTDIMeg/KEBgcHIntC27JxJvFl8+frfq2pHZ0tryFKhmlUMtRuMCEGMQcDAoN+suHuf7jMV76kdErKq7/T0mrY3dXd73Qv2HWZBcXJOK3k+ykpKUZSOkK7+Y3Q7xceixVZRl4FENa7W0kgWqVYJN58/7rvnHA3jjvhGIYRFew7/EMRI3oRwutscbRqOQIZA6JUl70Io1jML4wmc8+Eoo7R0kg0PDKKQCvkRlGZYXh4czg06vl//v6tPbby83Evqbqq6zIYDra2d+YCTm4lCSPbGOyBfPvWZdk/EYlE7kVyK2XXgfhtCdf5oUOHDoUYe0SPQdBfiJAonB0FQMM9cCEUbJWj+eEQslAUaHn8/rtvb3Jw9eJlV+HhJSB98S4SoWxSdJD3qpBGhita9Z1xJP/IiDCUuzAVzYklyneQojh1GxwaRuXn6tClK+RqgYTCGOiBlDY26TPxCMJOCJijB/o8c/+6VTDiTY5I+CP/7MTZP7frzQ+AbAJxrqVVy1BP7wBxBMFli4oK79VpZJuW5mb67LQCnxK6oLDon5AFvQlEjWc3Bn6H4fPzwADR1vVrV1fiCWLA8NCvoIA/Bi/OTBrC9sMH8bIiyvLq7bffThZeJmVyw23n/kNxlhHxa0CMdaRg0BldhZ73Z/fnr/oQ+4Na6KamVsPbXV29kaTwajABsPCMVEL0JkUZd7NYGFRT14DOVV5CIMk77m57wDvN42JUnyqkinvS0+d0YhvfMjr8GmiVrrWFcbgzqALmHls23rfqpIO7my/FZy5satV3/AHIGkGKgj/i7Iz5SCmXgBAOgy5fbUE1lxqJIxmOr1ZKqxXSyDvy8jIFV3vyCaF3fXg02TI69kcg8koSQNAb1ItE4p9uXLfqY7Y/fAQpQK7Xgby3s/3wOyYe/H18071rDpD82W4HDx4MN/UFPQ3ujxN7OQb1AVFeUkrGXmN/KLjXKi6pfKupRf/wwOAwR88A0kPJ8+aghZnJKDjYYc7ELsb4O6SFSspqnGpuwNB9WaWOvic7Lbl0PNKNh4IPjixnRMy7kK+z+YdHI9np05XpnT29fzUYTfPZeeF3UERFaTfNBTFKDTSlI3WGhkdQde011AB2P+nCpxWACbcvVivZlJyc7HEHREqT5OZYKlKISbjt3HlIYgkSPwuZ/DskQ+plwd4T/XbArHxj8+a8kYmy2vlB0UpGJIKPAiWTwl3v3cUPr1+7qoboD2TcVXh0E5DyRUiDtM4NXminKAg9ufHu1a2kNGxu1dVNCqPZuA8OA1rhRAoXZaUnodTkuZyGt6XR3dOHTpVUIj1M7EiXVBrZG6dTbQXdvB0kf5vb9RWiw/8K77+FzDhKT/CxD0DVt8kiRl654447+m3x7O8nTzaGDY3pC8FO/q7tcCN7f0zexLlaELyZi/DcYaKru6cfVVTWo04T2ZQPDwsd1qnljy1fliWI6pMghMY92c69R34EYL5KAhn8sZ28PdAS+tT69SuMEwFk74cX8Rv1g1ugt34e3KX2fjeeR4HYfxgJjfqF/eTIaicz6A8QJpcQBzudBXvnoY33rub0gk7CW51Lz9fndXR0Fra1dySSwkmiwlHewgUoRvcNz3BPVnHhEqqrv4ZHF84Foo9jYF78aWle+iOe2MF/+etXUUGDvc9DPbYC/wjDA9MEHcKTm/JX77bP9Ovic0+CPPDzMOIE27vbntWgdZ2VPg9hFSdPrpa2Dqs+H6RLjKaQSZqUKsldSxZlnCEG8NKRd0LvKjySa2GYd6A8TsjDnAD7biuQp8LLMqP3D3yiEI+MYFJvhh6e02UAqQ3g/ow40FJkGRFtA2LcS8oLwjXDbOepDfmrd3lCHnZaruxrvFqyGATQW9uNVjLDJIudhFWGN1anPi6Lkt2dlRVP7rY5sbgOBYWHk5CF+RN0JCu5vlYTrRgafUvS/FhJZ2d3Yae5R0UKhwmcDUTGa+/eXnj0unSlBdVdbiLa11h6GNbTP1XJVGsnU2f78vFG6N27P9GMikdfht7hh5ABN12GaQCQn9i4bnWhfQEm87z7wyOpo2OWP0GPfRspHegBq4GoMMwyDh8XuA9CObdFh4+87GwYJqU3kRuMOuJTZyvfam7WbybZ1xPF1WoUV9Tq6LUkO3mieBP5AbG/y1iY16H+N9mHCwoMhIlrONNh6hFhG4t9YZNiAZhKifFaaC5uM7LDu/OOV2+qahpQYwv0M4QrLDR4FLSv31q+NAuvfk3q4qfEUAT4ybobiMU5gwEw64MfTl5WRjHb2JOsSZXcLvKN1ZM3oAXm2TnbP2JTIueGQ2GgRfTT++5b1WgfgK/n6upqhb5zaB9M9laQpHDt83HXTraP4+lzwZ6ixwCXX0M86/ILLKWhHrBz2RfmbgKcPJCaPMftCS07DVfv5q5esK8vI3wnXWCafbzy7/LuJPm568YboQv2HmZ/7jCiowKw5p5yNclyt7AThSssrAweslz7d0aEfsn+sESIOQ1mfchklrImypvkV3ahdrHR0LW3Td+ZyPaHHmksNlb9zrLc9B9PxtRhp+vsfffu48ox8dBL0CAPRoSHifsHbD/IXI+hgOW3hbAMh5fjfHE1tRhB+/oqwj23/QW99PGVt+V9297N02fBCC0WifI25K8662mBJhseN96oePAYECVrPC1m7ImN93532/i7Dx9On615oE1veKuruy8C24x82MneFh9WeRaGhgWXwi+M4+2enT4fJczVeJuk1/GwqHtJ+UXUpv9mugCE/hQITbT93c0I5kTCXP4gM64JXjUBMjv8X4NILL4kTC1dp7okN3X7HatvjQLx8jfS0xJzb7tl4bf5mgC5zt0xxIb875QDNg5rwHIZx0p0jCTQG/6xSBIVwU59/ENje7j7zlkbdjciDec+AjfMiklPeNzPcfaGFKyHnr2Q0pr7EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwFKaH+iT/PmHQFKaN4hpQn6EwHBCF2w53C2PypWWHhYDlu/ONue/FGWKZkn7EWzL5cz/Qz7MEI84x3hWJuEdbG38bG8Xb8K9w/+IlS2Y0/Re55qb7guMjlEYWFhwLBFumWIYX4De85Jmh3kiLPNlaV5h0VhmlsNaFFWMgoPC/EJGliz43zVZdhTyNEWcvjYvCmMYD00FAY2aoj+eTRgqA52hD+KCedNAd2Js3Pv0VsGLZILIIv1JoSnZHYHNLswxs5udOyLUuvGVVc71e2iefzYB2qpXxVfQGfKaklk9jg9UgT+CC1Ca2Cor2NnAp9cNOzC/j0mHCYe238y71hwEUaBDxhk+Qq24aey04Jdzlh84ufySOYQ22+2vmtVsk0SSXgXu/5YdBGLwvzts1LU1Oq2mBU7GeI7FqC8UH0VPpoy1AEfD/uCjg+pVdEVcknEg2w/T98n3cXbZ4iluprbh/8NesrfgDuxpwSdjr2gH/cfk5E2cFOSdzsKFj+96a5Vevsy0ufrCHxxsmwbKPH/BIZ9otmJNahzspJQVCRH8dgjCBubDegCSBYMgwQa6ZJJIw1areJ+kEw7SvL31I1XQtsyxxOzQYZ5DhLfQpTqAvEZ+Chf7Dcrt7kSabSlabtjRSCQusKSvPNsbo73yUuNOaY3c9/q6uokja1m0A4xryKLNCJQGtWi9JR4lyKNbJSwaGMpaF2DfAPby/qORRtjNPJnb16a9QoxgJeOghDaVhYs1TU2avkvIB9Za4FhLoMs90P337fmmC2Os/uu/Z/Ms4yMgDA5OS2YHl8BLZAnbHrOztKh7lwETpypyOjpGtgPpxU4yIbZQgZjGd3UBBQfp7Y5Ob3jkwWqoEduaCIPjCDJy2iUsgNxOskGIWR1BSW0rdYwKbwdjnv4T1h9IErhQrj/EwcGPko6J8Tu3JOfQa/OUdXEdrKYQS/KJcwbQkmN2eox0+8ni8/dY+g0/7m7u59oLkrA/MjJTgZtPI6eBiipglB3Yzuqqm0girbb7GRVtOQHixYtuCoUlj4hNC48tq+b2oe2Aql/Da8cwICYQzB5/B0IKL5gE1DcWXhkHQD1BoTX4TTsL3C3QG/93yhI9HNqJ9sjM/nnr74uf7O1vWML2NfElak5sSqUkZoIGnjXzW+8ll1+oR6Op+Bq5uHSgDhkR4xOtZ4vO3miGvqM0LZCYClc0cjor0Fv7mGSfQ3hWmG15FkQePwR+DtZFaF2sg1Poe7nzjXIsKg7SACvxCsg7AurlGJhR3NXH2pyoiqK7WRYVXn+lpuzX2DHF+rd54S2VcSlfW0LaHfHoxpI4z4Bx0/ss3OmjwIiUFJRldNh7N6nN5qdTMK5mePjJzQa+YGEWPn9iYmJjsqQ3OC8uviN0LZa7Nxz5Htgbrw+gX2Ng/ZCmBdBkvd1aifbkPPt3XqQkKHzbZDitcryknLHdrJKIT2nkEbc5YsDgohlIDn62u2dd0qCwqINPwYb+leQ97h9je1kcHufCRY9Re1kX7cKNz9oD9EXJ0rfgt76YbZ9je1kUPvfePPirCJuTN+5+L2Htq/q+7s++Qdx4OgTANxK+NqrwLwo37huzUb7MPTZ/wgcPHhyZVCY+JMOUxcKDQlCISEhTd9bdcsc/5eMcDKVPwsVEDAWCtOPfxQhcQuQOQMmhQ3+LA/Nm4xAV19XNz4lEs6ORv0Dw3Dw5nAzOaTvXfn7Xw4+yy5iYvhMjqbFLwIWRmzlzeDwDQV+sAv5zcH71KYmob2vD405yxGghJ7lBJhp1aeEnmktOsvrQwk9ywkw06pPCT3TWnSW14cSepYTYKZVnxJ6prXoLK8PJfQsJ8BMqz4l9Exr0VleH0roWU6AmVZ9SuiZ1qKzvD6U0LOcADOt+pTQM61FZ3l9KKFnOQFmWvWJqjn+rGQYCAZGRoTBVngLMpm5slH+LBvN+xsEQoKDkFQaAfIFImQ0mr7x8PPTlOmhS0vrVLGxipeGQJHSYDRbyayQS1eC+s5tfsaIZm+HAKgthSTMVb1ogR3LeoMZ2sqEoqIick+frXnALpjfHv3+j9mw3Ur89ekLfwBJ138ZHBrm6EDgjZexWtWZKKX8+3lpCa1+Q4pmjEpKq55sbDE+39vXH0yCQ6OWX1WppPmLMlLOkPx94eZXQuOvuk1veAv0z7hSPKzag6iJJVan3j0ykPnAihWiUZY3fRUQgfLzdd9p03cUwMjpUgssIECMYnWqz7XK8LUpKSn8ypi6UUe/ELqsrHaxwdxVCOqXCaQyYjt6YGCI5IXVMAd1OtUTS3MWvEUMQB15Q6Cs+kpCV4fpIxCSWQgjKSfdkJBgq6ooyS80NHgM1JLeXb44YyuMstzInNT4cfApoWtra5Vtxv4PAaDbSMLawTDRWJiRhJLnz0HGji50+mwVMnX1EGuqUkS3qNWK9TlZyZ8TA1BHrxHAdrKhc3BHY3P7PSC+yOGIGLYUpqUkoMy0ebBBdhCdLa+1ngJAyhB08Pq0atUjS3JTt5P8+XbjFJbvDHB62E4+debCfwGRH3JmJ6ckzUXZQGZQpxwvAu4ULl9tBlnWi2ho6MaGzHFfhMRiq319OlIh/wG1r+2AmcSjKzt5bpwG5S1KheMrQh1yaWvvQMXQATnTt8P2tUYjuzs7LbnUISLPL4IT2pWdHKNVosU5CyYU1h7BCvBV9aBsedWqcsnGAHp2S5xOvWt4IONBal+z0XHv3ZWdLJNGoSW5aQjEZJwmiE2P2kvXUMWFS2gEZHXZF7av42LUnymkirvT0+d0sv35eBeM0GUXwE42OLeTsTL8UgBIq1G4XY/evgEY3mpQYzNZexjb1zE69ZNLclLxWSv0cgOB8vLaWHNv/8GmFv0ioi0MdvJCOFAoKTHOjdSuBxkCtX5M6rr6a9ABcaOFgX0dq9O8u2xxGu/2Ne+ExnZye0f/PjiK4O9JdjI2KbLTk1BK8lxQw/Uu+3aDyWpfd3X3ctECF7UyukWlovY1EZwbjiUlJUGDo8HvNbfo14OdzPk9AptzqTcloKy0+R6r99vyxce2nSqphPVq8g8vUmlkb5xOtTUnO2WHLc5k794xipDrdTu5Cuzkdid2MkLJ8+aghZnJoCvM0S0npDixE+5N6i43oXKwr7FqPPvCDQK9dbFSKv1+Zua8drb/bH4/XVrzaEur/hWwdx0N4RugzIlVo9yFqdZfbPnACXp/VFJWg/AIS7q0GvkVtVq2lg/7mjdCHzzyVY/Z3EtUplSrZGhZXjqSRLlcbibVd0I3bKudq7yEaurw8MYd32BpiUlMjMlfnJ364YQJzRLPY5+XVLW0GReQqiuVRFrtZA20F98X1piuqWuwthU+FYt9Yfs6aV7sS0ty0p9m+3ny/s2SgiexCGFJZMZ2MgwnCH/xQl3YhMG9CV7qIy0fweqIyDIymgf5U0IDCNArJ7LbAv9fRjaMnHgE9dIKZCfJeccjJl7qm5cQA6NqHRwh1+QQBp8sOzAwsszB0YsX3gjNzhsTOTU53rq0xvYT4h33/iu+lYPw8tGJ4vNoYJD8w4wQeU+zNB1GZTzZy4VlOBAp90k1QmGSuWxxunUOdRLaifU7A3eI9bBUnMmAh/GdBsdfI/4qfX3hVROlYlxi2tfZT4f8HEiTelO8z8hsD44sOgrFcUfuSRNGMELbF54+UwR8hQAltK+Qpvn4BAFKaJ/ATDPxFQKU0L5CmubjEwQooX0CM83EVwhQQvsKaZqPTxCghPYJzDQTXyFACe0rpGk+PkGAEtonMNNMfIUAJbSvkKb5+AQBSmifwEwz8RUClNC+Qprm4xMEKKF9AjPNxFcIUEL7Cmmaj08QoIT2Ccw0E18hQAntI6TLKi9i9aFJ/7+vj4o7bbOZFYSG7WyT35XrZRNjVdVjn585UVl5uezj//2i78Spcw94mRRP0UQzus0Fq9ynX551qqLDU8twksGbL8tgFzgomTr4dXX1bt6598iDvuwhcV5fnCh981LDtdaWto7leP9ub/9A2OWGlveKPjlZf6q0Ms2hkAK/7Np/LL5gb9EBKJeDcih8YFb5YoGzd0geyoBqYVMz3jTL98XbEFiw97DD1h5cUKy7gfU3sA6HvcQX35XA6dVfcS4ZhrdkYa08xKAKkGV7aEP+6tNClMGW5snic/foO8zv9fT0E3fB43CBgQGMRhldpFHGr0tPV5MFRmwJTuK+Y8eRCBSCnkHI8pgIiUIiI8JBTqCfk2L8HC1sNk7hSHxxAk7SAe/5PF1ajbBmB/uaG6c9ftstC7/NdvfknTdCf/ZV6degXbcMf33s67oII+wqhp3ZfO8qxuLoE4k64r1rA4PDaNBx0+wHKBA9vvHu1bzqTZ88WZnUM9D9P3pjF1EmgI0Lfg8PDx3RKKJ/c+vyhb8h+XvrhkeIXYVHNzGIeQnS0NnSUStl1o2pJKkuLMKYnpqAMhbMQwEB/G6a7e7pt6pesUdPW7mkURGDsTHqH8FHtdfm5s2dN0LjzLHavsFg2q03dsaQCsOn7gNWvSytqEUNjW2krEAkJXwYZBSOtrQbl0Ml5exA0ND9iBG9MjYQ8uoDD6wYZPt78l5ZWRkMap0FbQbTPUAUIqaxOiXq6OxGIFZJTFoqCe/QapR3LclJ+4IYwAPHgj2Hc5AIvQtRcknRQkKDP1VES2Na2w2phP4HYTnjnKybUGI8sRlJSTp1u66bUm81L0idHUgoWOJiVAU3L8l8EEZ0i9OE3PQggu9mXKfBXCnzgGCfVcESn6Xi6TU2BsKN1VdQZc0VRJIaCw4KZEBw+6NYrWRDYmLiYGHh36RDlrHfQgM/DHlxZBtgPLkGIPxs47rVhZ6WBYf/8uuKR0Hqalv/wKCDbWpLC+RkweSaj2TRkdby1l5qAk2KFmLZsYmmUUUXa5Uqr9SeCvYf1qFR5lUw9jZA/py2BfLWILFo66b8VZ/i8pWeq13T1tZR0GHqJgoMymUSq0AQvnt6YfL6Q9mKU2lPC+4s/PHjTGBw+IX3mprbN/ClnXaloQV65YtEzQ1MBp1WeU4tk9yVmZlczy5XQWFRCrKgt8HmWcn2u/7OnLAEoC0/XLvmHNnf0fXU2aplJlPXPrDNiSqGWH8iLSUeRHZUjhHhDZtA+KOEySLHDzvAR2nRauXb/+7mRQ+502sdOnQoxNgd8FOYJPwcYODKUzGMCRYMnwsV9bydn5/PkS06dbryWRjJnunrHyB+lInxOqtgUFhoCLG8bEfX2oOyZq1WdV92+rwv2XEn+y4YoW0FKy2tienq6zvQ3GpcShpycMO7UrfsNHVbRf/wnXQpZJIOrVaxMScrpYjkb+8GxP4nMDV+B25J9u74GcpnAcL/JXAs5On161cY2f74vbq6SdGib93X2t65glQfbIcmJepQStIc0CWZeBHJZO5F5ecvoe5e7iQN5xUVGdanUyu2LF2csQO/ky6YjN8NneFrQOQErj+DyftOiEj0y/z81RPK15482Rg2JurYBe30A5LZhG3qjAWJ8JEmgn1NrhfWhsZmoDN1WElkxACMzj/LXZTyNres/LgITmhbMc+UVf99Z2fXLr3RTDTMSPrD+FgKLHaOe2bSBSbLsE6r+O2yvAyPJlTvvFMSFC41/AR6rV/CzD+KkHYXsPv5OE3omytWrBhXgvziZNkbMEt/ZGh4lDhjitEqQNU+EeGP1JPrWpMeVdY2WI93IMUDNdVLCqnsjry8lBqb/87CQ2kw7wM7WXSLzc3+DnOEz4Hkmzfmr6m1d3f1XFZWn2zuMf+1qdVAnNjCJBblgioWXhWxXW7pd8eody1fkvEAjDicEcKWDh93nxHaVtji0upHWlsNrzpTvsRAYYXSq9daYVi+jLDmGfuCJUCrnQwH06xPTk72WvNrx4EjajQCqwAM8yMAmtDtMLVgYz+WkhQX0tZu+m+YqRONSZiho6z0eUguI30b7NKT3zEp6uqbUP1VbF9zV4oCoVeE3vp/Bvv7HtZ39T8rQsy/Apk5HxaMGvVQlZ9uXLfqY3JO7rmWn6+9s7m1YzuMikQZKix8joXq8ahZBlp1zk5YwAqwUXLZnb46YcHnhMZwYm3iIdAmBplVojaxM8ihxwE7WeXUTnYWz5X7+x8WZYlGRe9C+kvtwwYHBqIoSbh1dcLe3faMRQ4XpMxF8XBMA19XP4xK2L4Gk4aYZHhYCAP5ikxdjkvX0CP3wGjzQr9Z+frmzXkjxMheOJ4urXwJtL4f7+8f9OjXVn9pdPuF0DZcrerxPX0HYHhbQrJHbeHwHdvJGo38/tzs1MP27nw+79hTdC/0eq8CsefgdEFp3jqBY+eBNfuwimbK/DivxcDZabLfjbDEd67ystNfWwEPBKsTOBqG7n0ULHpy012r9Ox0+HivqGiL6O1v33OtRf89khSufR74FAV/nlLmV0LbgCgpr1lhNJp3GTrM4z8A2PwiwsOGYzTKF5YtSX/e5ibkffv246GB4cNPMsjyBKw2hI+MOJp8Oo3cOjmCnlLIYljTxky12tc1VxE2SewvpVyCDB3dxdCAWzbeu7rU3k+o5/PnLy7Qm3r2txDsa+s5N2AnD/f795ybKUFoWwNg+7qlxfAaPqn0up2s/EirjJiUnWxL29P7zv2H4gJFQY32hF6WuwBp1PyLgbsqG/5xovhsja1HtgbXquUn/nHFkltdxRXC396+xqMVnPQ7ZU4im1KExuAXFhYGzElIezMyLOR10nqyEA3kLM09B/42BoQenyyuXrkYYbvZHxde3muA1RDbNTdWvfu2W3PwDyh+u4rPVr4QFBR8dCqdFcn55cxv6NzI+MbC/1Z/l4Pm7xqBpbnpz7gO5dsQ472Pb7OluVEEhEGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEloYXGmqfkKAEtpPwNNshUGAEtoDXE3mHg9C8xd0FHa+9/YN8pfgDE5pyv2D/1TGGm+Dgq1PVu0N3+wpBJ2ypnZUhTU7YBsWvVwjQAk9AUaBAYEOW7Bw0DZ9J9IbTdZd36mgjuRMRWiCZN3ycrXrG/Il64i5lfrMDTTl9hROJajPnDk3z9QzsB8IDMdJcEvmD10OkFYYjtUqn715adYr3BJRF0poNzjw9Zlza0DC7IPu7n6iipAkMhxlZ8yflHIStpOxqv3lhlZnykmMVqP434Q4eX4iqKq6UexZGYQS2oNmB2X+10Ht6dGpoG3nQbFnVVBKaA+be6qpj3pY/BkfnBLayybG+tCdHeZ9IMflXB86FfShY4TXh/ayCjMyGiX0JJvVHQX/RZlJCCv54xMHXCn4g9TYWbVc8d3MzHntkyzarIxOCc1Ds9fV1YU0t/UUtOo71oKYIRFTrB3daeqZ8IyVGJ1qfd7CBUd5KNKsTYII/qxFY5IVP3WqKrmrr+uvnpyCBcc8jGjU8he+dXP2ryeZPY0OCFBCC0ADd84pxMdVxGjlf1PL594l5DmFAlRvSidJCS1Q84AUrujLUxW/h1OmtgwNjzgo7avk0itKtXRtXnaaT2RwBarilEyWElrgZsFnfZt6zB+DIv/yiLDQAbVKtvWWZVnbBc6WJk8REBaBssqL8PM5HFNEL4oARYAiQBGgCFAEKAIUAYoARYAiQBGgCFAEhEHg/wEPbHYTtMWjGgAAAABJRU5ErkJggg==)}input[type=radio]:checked~.Index__choice__113bB strong{color:#dd2c2c}input[type=radio]:checked~.Index__choice__113bB:hover{background-color:transparent}input[type=radio]:checked~.Index__choice__113bB.Index__new__3iNcH{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAHVxJREFUeAHtXXl8VNW9/2VPZss2k2SSyUbYJUDY3cWtKAULQiQQVkGtyKvWvtpnn226vL5P9dm+lidVkAYhBIyRoFZFW0VcAMUkEPY962RfZ8nO9HeGN3Uy90wmCXcyS37nnzv3nHvPOfd7vrn53fP7ne8BoEQIEAKEACFACBAChAAhQAgQAoQAIUAIEAKEACFACDhEYF2u9meTf3uhY/6WsuKnC5qTHN5AF9wQAj43dDfdbBeBDbn1d56v1b11saZDZblIFuhrmp4szxufHJuZNdenx5JPR/EQIEKLh6W5psferldX1Rr3nyg3zOo18SuPUQR0TNHIf7pjdcxm/hWUO1QEiNBDRc7mvrw8k19+W9X24nLDSn1nr69NMfd0XExIVWqMNGNzRtQX3Asoc9AIEKEHDZnwhkd3VT9VXGl4sbqlK0RYCjAnRQ5ntUZobe/lFcOsZOmR0XHhC19eoGjgXkCZA0aACD1gqIQXbtjbMPNyrX4fklUjLAVIVgbButuiYHR0CHT1mKCguBHeP9EM3RxbRBHi3zs1QbZ1Qrn6qawsn2u8+ijPMQJEaMcYCa549r025aWq1reKy/R3dV8TGsqhIX6QMScK7hgjBx8bhBt03bDrSD18c1UvqJdlxIYFGNISZE++vkK9k3sBZfaLgA3c/V474gtNJpNPxhvazSfKDE+0GHv8bAHxR8v5gdRweHi6EoIC+of2fE07vP55LVQ2d9lWYz6fpJFcGZskXfrKAlUR9wLK5CLQP+rcW0Zm5vqc6iUllYbsiuYuGQ+B6UlSWHVLNETJ/XnF3DwTvtw/PdcKb37dALpOoX0diH8yM0fJP1EHSxZvzoxs41ZCmX0QIEL3gUN4simnceL5Jt2+k1XGccJSs4kAj94eDRNjJbziAeUZu67BW8ca4OPTLcCxYCBC6teD9vUfdq+Je25AFY7gi4jQdgY/K88kO9FSmVdcZpjX2XNNgJMsyBeWzFDBfRNDwXdAk3R2GrLKrm7tgu1ohpzWtlvlfvczITKoNS1etvbVjOiC73LplzUCgoGyLhypv1fs1P6upEz/kwZ9T4AtBuwj714kcfoMJciCBWa07eVDOi8qM8Cuw3VQ09YtuJ+1P0UjPRuvDF6wdVn0ZcEFIzyDCG1FgMdz6+adrNLtudrQGWaV/a+fE9QhZvMiLjzwX3nO+tGDE3cHTjbDvsJGaO8WzuKFBPiapiVKC2SjNSt2zPXpcFY/PK1eIjSO2GN7a1MqGtv3nagwTmYfaraJfehl3hIFM5O434O2l4t6ruvohdyj9XDoQhvw+qaU+XfNSpL+YvvKuN+L2rCHVjaiCb3pA1NQrbZ6V1Fp6xJDt0mARZC/DyzCKbgHU8MgwE9QPKxDXtbYCdvQvr5cx38Zj4kJrp+klmZuWRb98bB2zM0ac+0ouRCMNW/UbCqu1L1U19YdxOvG7WMUkHmzChToJHGndPiyDnLRMdNoEAbrsb+5tERpsTpKMn/rw6pqd+r3cPVlxBH6h3n1d56u0uderGmP5YHM3NXr74iGUapgXrFb5HWh6/ydokb4G7rR2W/bJAvyu5aWIN+1RKF+ND3dRzjBbXuDF52PGEI//44++qS2aX9xuX5Or/AbC8Il/rB8jhJuHa0QuKvddbzZWzrncD0cvaLjdjE2LLB9arz8J9szo7dwL/DCTK8nNAvrLNBrtxWW6VfjB5ZgxpjZxg9ODofF0yIhEG1mT0zMjf7XL2qhvInvRp8QK6lMiZYt3rZMecwTn28wffbMERzgE67dVb0W3dWvaO2Edc5MlsEqtJOVcsF08wBbcJ/L2AzIwXNt8OY39dCGMyO2KcDXB6YkSA+N1YQt8eYwVa8kNAvrvFKjyztT3Z5kO7DsXIPzyGsxrPNG3NW8et0hj81Z53/bAB+dbAGOeQ1hEv/eKYnSV/esjt3k4+MjNMDd4SFuoA9eRehnDrRGlJbp8ovK2uZ2CV9SIA/yg/RZSrhnQqjH2MlDHdvq1m7Y+VUdHK8wcKuIDw/UT46XbvS2MFWvIfSK7Ko/H6/QP9lk6BXMs+F/W7j/pjBYOlMJkkCBGc0dcG/JPFVlNMeH8Nzo7BknaySXx4bLF2I03xlveGaPJzQL6zypNb5e3tgZyhuQm2LRXY3TcOpQ57uree27Qx4zPZgJkl/YAO0Y2Webgvx9TTh/fWBKmCY9K92Hv/LA9iY3PfdYQj+b3zD+lFa/v0SLYZ0cSxBXVsNKdFdjvIObQj/83WJu9De/rodPz9t1o3dPTpT9z+5Vsc8Pf+/EadHjCM3COk+1Ve4tvGp4sIMT1olBO7B4eiTMw5UjbAUJJSECFU2d5tUyF2r5bnR0LrWkxskzXlsedUB4t3vneBShl2dX/RJtwp/X67oF82wsrPLOsQp0jqhA7qSwTvceysH37ii60XOONkCj3k6YarykJD4yZLEnhal6BKGvh3Xqc642dETyhi0lKhg2oJ2cGMkNy+DdQnn/jwBznTMX+ru4Ir0TV6bbJmmAj2laUmh+dKx65eYHfTpty93t3K0JzbTgLmrbCnDqaSpvaVKk1B9XV6vQXS13N1w9rj/Nxh7YjUFPX13iu9GjFAGdaRr5v7u72pNbEjrroMn/zBXt7qJS3VJDl3D5UyC6q78/JRweYu5qF4d1ehxzHXT4Um27OUzVnht9TEyI9qY42fK/pKsOOajKJcVuR2gW1nmiUvcizptyw92YChEL62RvZ0rOQYC50dmCgj04I9LGUXvyw49t1A45mhob8YPfPSSrdU4vhlar2xB6056620/VGPecqzHG8R4lISIQ1uHqatSD4xVTnhMQ6Ow2wds4d/0hLgVjS8JsE358X5ueKH1jkSxug7uEqbqc0Cys83R1Y0FRmfHmHo6hrMAZi/RZKrh7vOeEddoOvKef1+l60I1eC4W4eJeXWJjqZI10Y/ZKdTavfDjzXEborCyT78UE7bZvy/Vr8N+aYMaYmcbfw6VPS3B1NZtbpuR6BJgbPfvLWtC2CKf5WO8mqkNKR8XI010ZpuoSQl8P69RvRmC4bryp8ahCdGsUuqsF082uH9UR3oNraHp8fAbd6BjRZ+gU2iFM7WlakvxgUoJiyR/nhTYNN1zDSuiN79VPu3BFn39K257Me1DmrmZxF5Pihq5CxKuX8sRHQM/c6Kj29MnZVu5qdFR76p0aL9uye23cv4nfuv0ah4XQKKelqGo3FhRe1d3NC+sMwQi4Jbi6mpkYNAtnf7DcsYS50bO/rIOz1fbVnlJjJetfz1TnD0f/nU7ojOyqF0+U659pNvYK5tmYu/rucQp4ZDa5q4djsJ3ZxjGUB951pA7q8QNSkHCcJ8dJzk1Syxa9vER5TlAuYobTCP3EntpFxRX6bHthnWOjg82rq+MjyF0t4ni6tCom5P5BCao94Yp0JvBum4IxTHV6svSDSQrNMmeFqYpOaBbWeabGsO94pWECL6wzUhYAmbi6mjlIKHknAsyNnotBT19e5CsAq+QB3akayW9RTfXXYiMgGqHXHDQFG65UvVV4VT8f17UJ6mUqRAvTIs0ua3JXiz2M7lnflfoOc5gqagVyO5isDG7EGa3lYqo9CYjHbdlB5sod2v8sqdC/UKfv4S4LYcFDK9BdzbQvKI0sBJgbnb2pc1HUHXc9EDw8Wx43NUF6fIxaseh/F4WXCi4YZIYohFY/d0ZoMGFHmLuahXWyTXMojWwEmBu9oKgB3i9pQTe6kC5zUhSfFjymuedGUXLKK5NtmrMMZy5YwD2byaBECLA9Zxgn7p0YBjtR7elYqXOWLjrFp/ynjFFwF07HEZmJyLYIMFGfH38vFuZN6ivBLdZ7zymEdrQDlO1D0vnIQyCE+citktAIsSocxE+nEHoQ7dOlhICoCBChRYWTKnM1AkRoV48AtS8qAkRoUeGkylyNABHa1SNA7YuKABFaVDipMlcjQIR29QhQ+6IiQIQWFU6qzNUIEKFdPQLUvqgIEKFFhZMqczUCRGhXjwC1LyoCRGhR4aTKXI0AEdrVI0Dti4oAEVpUOKkyVyNAhHb1CFD7oiJAhBYVTmFlhs5e2HG4FlDSQVhIOaIj4JQlWKL30gMrZKpvn5xtgT1HcCs13N31o5OtuCdgMEoCx0C0gruW2AOf0v26TIR2wpicrzGal+9XNvdV6Syp7IAfv1kK81NDYfEMFaDwihNaH9lVEqFFHP8mQw/sQvPi6BW+jjJriql3vneiFT6/oIPlN0fB7aNp7aWIQwBEaBHQZLJXfzvRAPuLWqCbs0Sf10Rr+zX4y6c18PdTzWZJtMRI7g4cvFsprx8EiND9gDOQomNXdWb1TRSj5F4+JT4YNt4dDbhDAew80ghGG03lS3Wd8LP8crhrvByWz46iPRa5KA48kwg9cKz6XFnV0mneFP5sNX83Vk1YAGy4SwWzkq9rXcdHhMLcCTI0SRpRbEW4NfFn53Tw9WUDpM+MhPsmhZOscB+0B35ChB44VuYr2TQcU6//6DRf6Fsa5Iu7dEXCgimhwHaLsk5sv5iNd0fBQ2nh8Ke/18Gpqr6aymw25A0UYTlwuhkeR8WpCbHcDQ6sq6TfNggQoW0AsXfKNNoOnm+F3UfrBWYDu4eJ6jwwKRRW3xYBjLj9JU14ALyUHgdHLxvhtUN1UNPaV/OtFs9//V4VzEiSwKpbogHVOvurjsqsECBCW4Fh7+dF3Ixy66EasJ2Gs1w/KS4EnrpHhVszD25+eU6KBKYnJ+K2xPiHcqTJPF9tqZMdvy01wvHyq7Bgahj8IE0FgajgSql/BIjQ/eDTZNY5roOvLvK9fDGh/rDhThXckjJ00yAA5Tcfnh4G90xQwI6v0JQ51VdTme0PWICzJ5+d18FKVHC9OUXRT4+piAhthwMHcLNJJgHLVOltE9sTJmN2BCxKCwP//q0L21vtnodJfOHp+6JgIb6NX/mkDs7YfGw2G3rhz/+ogQMnW/C/QSyaITR0PDBtPlt4l4zMvILiJgGZmZ18/034Jl2XCEtniEdma4RHqQLh5WUaeH5+DJe0F2o74LSW/x/Dup6R+pv+zAc48hPVOJ98TxQwwg1Hun2sDGajKVNQiPEgXzdBJ2fPkuHoh6e1QW/oAY7YCwtjh43Mli6xrTsemRWO20LTfjQWTBwdidCOEKJyj0KACO1Rw0WddYQAEdoRQlTuUQgQoT1quKizjhAgQjtCiMo9CgEitEcNF3XWEQJEaEcIUblHIUCE9qjhos46QoAI7QghKvcoBIjQHjVc1FlHCBChHSFE5R6FABHao4aLOusIASK0I4So3KMQIEJ71HBRZx0hQIR2hBCVexQCRGiPGi7qrCMEiNCOEKJyj0KACD3A4frNu1q4Ut81wKvFuawLF+i++U0zfIqqSpQGhgCtKRwYTuZV2E/tLof7Jipg7W1KYKu0nZm+vGhALZB6qNf1FaFxZpveUDcR2s4oLkqLEMgYMPWkj0+3wRcX9JAxR1wZA0s32H8BnoyBpXxsdDDcFCuznNLRBgEitA0gltN5qeEwK0WOCvx18OWlvrIBTIPur180wAclLTcsNGNpr8V4jSs0YykPl/qR0IwFjH6OROh+wImQ+KN0QSzcP6kdtn1RCxWNfW1opkn3m3erYahSYKxppidtTwqMlTORf5ICY0gMLBGhB4DTmOgQ+P3iJJTjaoWcr4VijUxF9Ie7yuEB3Gpi9a2OxRotTdoTa7SUT0exxtUk1miBY0BHIvSAYEJ1UXxTzp0QCrNGyeBtlNM9YCOny+zrD0pa4RBq0NmT07U0xUQfeXK6lvJo1MwjOV0LGoM7EqEHhxdIg/xg1a3RcM9NYVzBcwMq9L/2WT28f7wFHp+rMkviWppo6+i1K3jOrgkJ8IWlKHh+PwmeWyAb9JEIPWjIrt8QFxYEv1iYAPa2pKhs6YYXCrTgaEsKS/O0JYUFiRs7EqFvDD+YmSxH0srsbhp0oqIDHnujzG4rycpAePyuGNSWpk2D7II0iAIi9CDAsncpEyJfPF0Fd44Lh5wj/W/rZqkjNMTXvK3bHbitG5COuQWWGz4SoW8Ywu8qiJT5w4/ui4N5uPHm1s9qQdvad+NNdqUvflzSxpvfYSb2LyK02IhifeNiJPDSsmT49EwL5B69vjUya4a2RnYC2DZVEqFtABHrlEV63DsxDLeQkMNbhQ1oZ0shDW1tSs5FgAjtXHzN03xr0DlCaXgQYC8SSoSA1yBAhPaaoaQHYQgQoYkHXoUAEdqrhpMehghNHPAqBIjQXjWc9DBEaOKAVyFAhPaq4aSHIUITB7wKASK0Vw0nPQwRmjjgVQgQob1qOOlhiNDEAa9CgAjtVcNJD0OEJg54FQJOITSTyqJECPSHQEdXb59isZZVOoXQT++5iipDbcDEVygRAtYINOi64Q8faeHDUy3W2SAWVZyyYqWtvRfFVmrgw5Im2HBHNIxGKS1KIxuBrh4TFBQ1wvslzdCNutfOSqK8oe+bFPZzpcy/r5Ih9ri8qQte2F8B//dJNTQbSefYWYPozvWy/9JfXGgD9l97f3GTgMy+aGukJUpOJKqkj4rxHGKZLrDmoCnYeFmb922p7vtoQwvqDULtioVpkfD9KeEQ6CcoFuNZqA43Q+BKfQe8/nktXG3o5PYsWRncmBony3xtedQB7gVDyBSdWc/mN4w/U2PYd7zSMIFnGEXKAiBzjhLm4GpoSt6JADM5c47Wm9/MvCdUyv27U+Pk/5W7Vv0rXvmN5IlOaEtnnthTu6i4Qp9d3tgZasmzPjIl+vVoX8dHBFln028PRoDZxsxG3o+2cifazLYp2N/XNC1R+mFqmOaRrHSfvirythcP8dxphLb0JyO76sWSCv0zTYZewQeoD7Z+9zgFPDJbBfJgP8stdPRABI6V6iHncB3U8faEwXFOjZWcHxchX7w5M/KMMx/P6YRmnd+U06ioajcWFF7V3W0z/Wh+tpBAX1gyXQnfSw0DMq+dOdzi113V3AXbcXeDs9Xt3MrjwwP1kzXSta9nqvO5F4icOSyEtvR543v10y5c0eef0rYnW/KsjzGKAHgUzZBJcRLrbPrthgjoUes6D4Xf/3GmletvCJP49U5LUmzJWRXzIx8fH6H94aRnGlZCW55h7a7qtSWV+s3alm6pJc/6OBVls1bdGgXq0ADrbPrtBghcQyfw35HE+d/Wgx7F3W1TAM7DpSVKPxuVFPrwH+eFNtmWO/vcJYRmD5WVZfK9mKDd9m25fg1+FQvmw5npwUyQJTOUZmV7ZwNB9TtG4IzWaDYv8EXEvXhCbEhpSrQ8fdsy5THuBcOQ6TJCW57t+Xf00aerGwuKyow39+COULZJgR+Lj8xSwdzxCmAfkZSGHwH2obfzcC0Ulhq4jceGBbajnbwxe6U6m3vBMGa6DUU27am7/VSNcc+5GmMc7/kTIgJh3e3RKFVLbnQePs7I6+w2wduonPrhyWboEVoXbGbqWlqCdOfD8rj16ek+faONnNGhAdTpNoS29HXNGzWbiit1L9W1dXMnqOeMkkPmLSqIlApmAS1V0PEGEWDu6s8v6mDP0TpoRSeJbfJDAzFNI/taHROyaOvDqmrbcleeux2hGRibPjAF1VZrdxaV6pYauoRudOY6Zy70h6ZFkhtdZPZcqm2Hv35ZZ9ddPT4muG40s5OXqw6J3LQo1bkloS1P9nRBc9JFbVvB8QrDVI55bX5LL79ZBbeQG90C2ZCPLHhs95F6+OqSjltHlCKgc0aC5JfbV8b9nnuBm2S6NaEtGD2eWzfvZJU+52pDR6Qlz/qYEhVsDlNNjORaKdaX0m8bBJi7+m8n0F1d3AgsxNM2SQLRXZ0kfTtGrcnc/KAPP8rI9iYXnnsEoS34LM+u+uWpKuPP63XdgglqNgNy51gFLJ9DbnQLXo6OX1/Rwy58KzfqhdNwDM/JGklJgjJk8dZl0Zcd1eUu5R5FaAZaVp5JdrKl8s2iMsMDHT1C+5rtxrp4eiTMSw03b/zuLkC7Uz8qmjrNYZ0Xaju43UpWBrVgNFyGmGGd3IackOlxhLZgwMJUT2n1+0u0xnG8MFXmRl95SxRgdJfllhF/1KG7eu839XDwHH95XCSGdeLmRi/vXh33H54KlscS2gL4+pzqJSWVhuyK5i7uFlM3xYaY40PUoYGWW0bcka14+hjX8OVj7IWxSzihjBuHYlin/IBGErIMo+HaPBkgjyc0A99kMvlk7qz5U1Fp25Mtxl5BHCpb5nM/bja/dKYS8CPHk8dr0H3Hbw7YjqtGatqEdjKrDO3ky2PD5QudHdY56I4P8QavILTl2Z850BpRWqbLLyzVze3mzPPJg/wgfZYS7pkQ6vVu9GrcxXYnxicfL+e7q81hnfHSja+vUO+04OcNR68itGVANuxtmHm5Vpd3VtueZMmzPmrCA82rZbzRjc40UZhp8dHJFuAtrg6V+PdOTZC+umdN7KbhDOu0xt+Zv72S0BbAroepGl7RtnRxA0BmJctgJTpmlHLBLKClCo85Mnc1+9h7Ez/62vDjzzYFoHcVP/gOjdWELXl5gaLBttxbzr2a0GyQ8vJMfgV67bbCMv1q/MoXGNBsoOejG30RrkjHjyOPHNfzNeiuxlUjTDaClybEBlemRCsWuzKsk9cvZ+R55ggOAYnH3q5XV9e0FxRX6mf3Cj/0IVzij04ZJdw2RjGE2l1zS6OhB9fx1cPRK3x3NU5ddkxLVDy7PTN6i2t6OPytjhhCW6DdkFt/5yW0r8/VdERZ8qyPzI2+7rYoGKUKts52q99daBy/gyurmcua/bZNUgzrnBYv3zUxRb0+a67PiFL4GXGEtgz+o7uqnvu23Pgre2Gqd6AbfQW60RUhgllASxUuOR6+rINc5q7Gt7NtYqt8cPlTsTpKMt/dwjpt++qs8xFLaAYoC1Otqa7MKSo1PIwOBwEWqCMBi9CN/uBk17vRyxo7YRvOJ1+u47urx8QE109SSzO3LIv+2Flk8YR6BYPoCZ0Wu4+P7a1NKW9o31dSaZzMU0yNkvub3egzkrjOSLG706c+5q7ORRWiQ6gPx+sb0xSclST9hbuHdfZ5KCeeEKGtwL0epqrbg1psYVbZ//o5QY1udFwGFofz2M5ObMnTAVz6tK+wEXh62xiExVSICmSjNSt2zPXhv7ad3Uk3rJ8IzRmUFW9U/feJCsOzjboewQQ1c6PfOzHUvHDXWW50jCSEXejl47mrWVjnFI30bLwyeIEnhXVyYHZKFhHaDqxM7anS2L63qEw3DwPfBTjJgnwxNkQF96Ib3Vcwu22nUgfZ1a2oQoR28mktX4UoITKoNS1etvbVjOgCB1WN2GLBQI1YJOw8OBJ74oVm/bsY0ZfCuyQ2DNWe0AyZGDt0tScWAffWsQb4+HQLcEJQIELq1zM1QfaH3WvinuP1gfK+Q4AI/R0W/f5av7t6VUmF4RV7Yaoz8YNxFa5GH4wbnX3kfXK2FfK+aQBdp9BdHYgzhjNHyT9RB0uYyKFHh3X2C66IhUToQYDJwlQzdmg3YwTbE63GHsEEtT8a2PMnh8GiaUoICugfWuauZmLglSh2yEuTNJIrY5OkS19ZoCrilVMeH4H+UeffM+Jzn32vTXmpumV/canhVt5+IWHMjT77uhvdVu2JbZqzEx0jx67y5ZHRhDGkJcie9LawzuEiDRH6BpBmak+n6/S5Z7UdGl41uDbPHKbK3OhsRfU+dFd/YGfTHEWIf29agmTr+PK4p7KyfDjRJrwWKM8WASK0LSJDOF+XU7OpsEz3IrrRuQEgs0fJ4EJNh92Nk2YlyQ+P1oQ+5M1hnUOAdUi3EKGHBJvwpqyDJv+zl6q2F1YaMg2cMFXhHcB0+qpSY6QZmzOivuCVU97gESBCDx6zfu9gYaraOuP7x8sMaZxAOPO9LKxzikb+0x2rYzb3WxkVDhoBIvSgIRvYDU/urb3/lNaQc7G2Q2W5Q4YqRNOT5Xnjk2MzR1pYpwUDOno4AutytT+b/NsLHfO3lBUzrT4PfxzqPiFACBAChAAhQAgQAoQAIUAIEAKEACFACBAChMCwIPBPZaSYBXvssLIAAAAASUVORK5CYII=)}input[type=radio]:checked~.Index__choice__113bB.Index__join__1q1y7{background-image:url(/dashboard/7437f69b146c5dfafeca0c44524a6e7b.png)}input[type=radio]:checked~.Index__choice__113bB.Index__testnet__1gJyo{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAAAXNSR0IArs4c6QAAJNtJREFUeAHtXQd8VFW+PncyqVPSM5n0UFOoAZVVVxfZdW08RQGpoUkRFp8rkKDuupFVenkrogtIkV4UdHlPXJ8Lz1VUQKqmQCA9mZKeTCZ15r7/GRgyc+dMpk8myTn7W+feU//nO989938POd9BiAaKAEWAIkARoAhQBCgCFAGKAEWAIkARoAhQBCgCFAGKgFUILD1QnfLktuLrM/eVr7OqAM1kNwKM3SVpQYsIAJHFFS3qIz8VqJ5o07A6rBPC/OqGxwjm/n2q5KTFCmgGmxGghLYZMusK4Nn4UqHqtVq1hm9SAlAfHhOQlxopnLBpYlieSTqNsBsBSmi7oSMXXHRYMeFaWdPuoqqWIHKOzlg/Po9NSxCeHhoY/WLWZEbVmUKv7EWAEtpe5DjlsJ+cX9f46bUydRJiOYlwGxTAR3XqDtMEiAkT8ttHxok275slXUnMQCOtRoAS2mqoyBkzPq8U3Va2HrlUpHqytUNrgifMwmjCqFD01LBgVF7bhnZ/K0c3FS3Eyqh/TYTFpkiTAbCpdB/PjP3kKyVNf6xu7PDmQsEAso8OEqOpD4Qjsb+XUfKPtxvRgR+rULWq3Sge3+Byw2MFuSkSwfPUvzaBx2IEJbRFiEwzWPKTB0n80NxfR6L4UB/TwndjYNUDfXGtFn12pRq1dpj6KP7ePHZUguCLVHHMFOpfm4XRJIES2gQS8xHYT74NfvIVM34y+MJo2phw9Kv+IvOVcFJqwa8+fL4KfXuzgZNy5zZMBP51rHDTvllRrxMz0EgjBCihjeAg31jyk334DHpuZCh6engw8vGyD9LCqla061sFuq00718PiRVO2zkl4jTZShqLEbAP/T6EXfrHsrWXSxtfI/nJGIaHB4phVg5DwbCK4WhgwfM4d6sBHQT/mrQigv3rYTGCn+PC/CbsmCK57Wh7vbE8JXQXo/rI5gJFvqIlgpSlf4QfmvdrCUoM8yUlOxTXBj715+BbnwIfux18bW7wA/967KDApbvTpdu4aX393vFppRcjWFHfHsbtHp6J8YyMZ2ZXBezCTLovDD2WHKibrX+AVRHD0NKuZdQdHQ9CHCW0ITBwTQnNAaSr22dgLRkTDRPOHSFU6I1e+a1Ut4a99esKpGwk/8OMO2zpKW3weoqhnmDn+BEhbiOzYX8HgHszNDrAMIpem0GAEtoMMDS6ZyJACd0zx41abQYBSmgzwNDonokAJXTPHDdqtRkEKKHNAEOjeyYClNA9c9yo1WYQoIQ2AwyN7pkIUEL3zHGjVptBgBLaDDA0umciQAndM8eNWm0GAUpoM8DQ6J6JACV0zxw3arUZBCihzQBDo3smApTQPXPcqNVmEKCENgMMje6ZCHgkocMy8qJ6Jpx9y+pFR2qGoCzWozaJeBShg14tDJJm5P6Nj7Ql0ozs7yIzs1O7lSLsHcXQbrXBbOPdN3R4F/zEj8q/On1d/vNQr1tNs/bJXzFrppsT3LOXyFKnslieVJ33EmK0a2EjerA+O+yC1sC+9B3qNvZPDVtSa/Txrv6VLsuJZ/nsBpGv1yRVq/Zec9YIyNzL7KQLLEhz+notOnnZWJAmNcq/4WdZ6wTF2qQzTmrKqmqm7Sn/y/Xypje5u+AHRfpVDIsUTtk6NeJbqypyUaZuJ7Tk9ewHGC2zCwwxPxuzbA3LMG/J/ZM/RFlMJ8OcDIpkuVzA86p9AyH2NajaT+jLQ4aExs11JfHlZHPQ+QIV2v9DJVEyLEnqj/JkzaALyZ5iGe9XFWsHFTi7fcP6Fh9RPH61tPFQYVVbqGG84TWfxyBQU/1+QFTgs5vGi6sM09x13W2EDn3zRrRPR8d6oMg0azsLG/qztVreQuWGpHPWlrEuH8tErsybhVh2NQAi1ZdJiQpAt5TNCMsKcANICaAJaSHoqaEhiG8sXcfNavN9UXUr2vudEt2QNxPLxgb7IHU7a0B0to1FvPc6WGZV1fok4y3ixBqsj1zwaaVUrmw+dalENUpr5VQSGMDXpMUKtx2cI32VYRhT8Kxv3uac7if00nxfiX/ba/Aw/wnIbLLzE3qPYTvGIPb3hu6HYc8gz7E21ntZzfqBZYbx9lxHZmTfD7PuDmhrOKl8qJB/TRroE/pLuTqGlC4Re6PpIP91X6KQlGxTXL1ag45erEJn8+qJ5UIEfE1ciN/lq6WqoZDBj5uJZVkluP1vKjYk74L+OEgklpmyp2InqKrOUbVoiA77qHgBKgVFVWWDqegkti02xFeVFidMd+dpBW4ltCQj7z8YpH0PCBTPHQx8Dz7zNzAOS+TrUrPxB6K/T/NfWIb9A4MYwpc0q4bBWytv9l6Ptg5sJdXXVVxIRn6MD2rfCLa8SMoHbChCLG+FfH3SJzh94RFF+pWixm0wgETmYhcAC8/EwOxpa+jQsujLn+vQpz9Vo5YO02nQB94A9yWKz8TGiiZteSKwRufje7FgOzOR3BZ7TYN4i5Xrkr8np3cdi/t6qajhg/LadgEpZ1SQN3oJxCiTo/wRtv002H7CjO1Ym2tYbEBufKj/eHeoPbmF0OErcgZ6MeyHMADjSADBzHJbi5jlyvUpn3HTYQlvMKx6bAbiPcVNw/eYeAzLLJOtTz5BSufGRWVVBGjUdW/AG2IZpJFmuSZ4gNbImr03ch8UsJOZ8bF86+XixkUg1WXiaICNaByIw7wI2h1CP5Nkrim6+0tFTWjf9wqzmhtDYgMKBsULJm0bH36ZW0FEZu6DPMTugGaJ3x+AjU1vsvmHqlNLqhs/v16m7s9tC98Lfb3QZOgb7iOPM2c3NGvQkQuV8HYhi04G+PBYEHU/Lo2OSt/6FGPzBESyhxTnUkKHLM0X+/i3vQVP6X+SZlmYkRsh7R15bfIWtIMhv7fuWi3JyB7HQ8yHkH8gqSN4dud5eS2qWDPYzJkl4Cdn5KXDI7AaiGeyzg3lYfzRgQ4+yqxanSIjtaGPW3KiIVRWVX/8UlHj2DaNPrbzFwYPTRwdhh4fEoTMaTdW1LWjnf+W6z7sOkt2XoGfrBqZIFqyfYpkX2cs4QqvEDXnzEcs8w5gY6L0BL1qhrfcBp5/8LqKrCg1oQY06Rjrz9aXHbtYqHpaf7iRYT54+NHjqUE6kR3ct65CcXXXou4RIn7bqISg13bPiHCJ6pOLCI3JkzMbSLyeBDIwRwse3h5G47WyYtNg67+GYRFfos5ZDDP9KjA8kAsscLKDYXkftCPmT4YfR3f8ZOYDyD+KW+bu/aV2LVpQtSHFZBY0k18XvfCTytEFFU3HwL9OJOWTBnqj9Ici0IjYzjd3Y6sGHQc/+euceuximYSgAC9NWrz47wdmRS615YMK3mQib6RdBRgsgXImAuzQWJmW4WUq1iUfMmx03kFZ5oUC1aoqVTvRVxoeG4BmPSRBuC+2hK5E3XE9SVK/sgGR4ud3Tgm7aEu9lvI6ndDSlbmjALzt0DCZPCx7TsPwlyjXDb5myThz6aLXc0MFGnYVpC+E2dbk3Q48qWQR82aDmn86MKB9A3Ryipm6ymHGXilbl3LQkY+olw4q0q+XqbaV1rQS/esh4GvOfliCrpc1oU/A11S3EfxkkBdLixeejYwSvfDhM0G1Zuy1GB2+MnuAlxb93ax7h9B5cNMXg6yZuLCy+RgcjxFOqjRS7AOi7RFoaIzJdzspOzEOr6H/z7UaEJ6sIYq6Y+nh4XHCM9ExoomO9NmwcacROuKNAglP07wWXn2zgGQm9cJsVAwffBnwwXfM0ABHrqNev5Gk1Whg8NCj5HrYXCC2GozhPlwtYM8GXkDQWnOvYXJ95mOz4NWfH1+x9XJJ00KSf22+JEJDogMKByUKJpL85K7KdZUWmZnzNPR7M+QZZJjPD1wGUExlb8qaGYKwKdK5S+AnYxfDnLtkWJ8115ZE3WH1piMtQbx1f3okXv93KJgQz97awMVoAGKZSNfDh1QTzBZrZWrvDdyPLHvb4pbTrZ4wmi3wHPXjpuF7IO9lsC1Nd40/lNp9ltdsHlBKyutoHPavKyobjl8qbhxLksI1rB8vaw2LES75aLoFP9mwkI3X0szc11ikfRuw0b09YoN9YanN9JsM+8mPJQfBR18oEln5QWujKaigsgXt+a5St7ZPKvtwf9FnxxfETiClWRvnNEJLM3OMPEIgEUyOaD+sBay09JFlrbFd5svK9olUM/8Jef5s8mCx7AWwxdeRpawu2yYkzj9SdV+RUnWU5F/DEW+atDjB9gOzo/5gi59MaMaqqKhlN8JYL80a+MuUubBuzuOuG+Mlx/mPRCK8HOfqALwwK+o+pr/o7MkFsY85YoPLCA3/Rjxatjb5kiPG2VMWD57WS/MvIPUwfXkYyAz52pQN+nt3/s7ZL5vzc7l6a3ltqwDL8KbFic5GRgsd8pPttT98RfaIqGCfy8r69nvj/hKsnY9LMfm+trcJq8vhg5KwRPCl4qZ7Zcb0F585uSBm3L0IOy66XoOxo0J9ke4gM24br5rAaBXo7cC/cH/L8N6d13tmSvf8tLKfaOxg8ZZnxoSNOrkw5jFnfQDZ2o/KDalXYenTyN8YFOlvazVOye8LD3dcCPf0A8f/upHwL3BOsZdWYoQAwx6aixz+4DGqkt4QEXDZDE1sjUZSBFyMACW0iwGm1bsXAUpo9+JNW3MxApTQLgaYVu9eBCih3Ys3bc3FCFBCuxhgWr17EaCEdi/etDUXI0AJ7WKAafXuRYAS2r1409ZcjAAltIsBptW7FwFKaPfiTVtzMQKU0C4GmFbvXgQood2LN23NxQhQQrsYYFq9exGghHYv3rQ1FyPgMkJHZN4Y7mLbidWL/5gdAptxE4mJNBL2xRn/Ef1NM/p5roYK7wgvqTHaawBNOipfhpDLCM1jNVekGTkf4S1RrgZHV/8k1kuSmb00wIeB3SpknTq32OHhjcBmWaO9nx99q0DvnCo1q9zkiu6AoA3646FCo+1Xd9oxftjsadtlhIY9ffh/81ivjnxQPXoFAeHsMdCaMhEr8h6S9sv5BbYXvQfbrdy/Qc4aIz04T3ZFM1p2pAAd+rGSqLTqLNNl9e3o7X+Uos1fVaAadYezqjWqx3mE1vKehPdZvlHt+IZhgngM8zdMOEw8k3QHIrDgIuhPHPbiab+DhpK4VcEO40bQzHtd1uT9BTetr96DKlM67OUzkTfFGpGnrtWiVw8Xwq7sRqfC0wzCOvt/UKLlRwuJ0mdYQgFEdq7FhwvnOtowVOXEgKW6mnNehqn5r+ZmSiDZUdCP+6ND0gZWSPJiqTGt1ucNxcYBSif2sNdUNWNv+YbLxapXa9Ua4r7S/hF+aNFvIu1SU9WDhCULvs1vQAdBtL2hhSACCBkHSPwqh0YJZnwwRfKVvpwjv84l9F1L8IdZgA/Kgu8P0KEjSHXpxGfQalktSAtYEGnkdg4rAoF0DLgWZFEZUJVxWGqM22ZvvV96oFpc1qQ+CsT+PUmkEcYO/RYkDqbcH65TVLIFByzauP3/ZKiwivvhd6cWLNo4OlH01q7p0nW21Gspr0sIrW/0jlRXx/vmddbYAniKFyjWp/5LX8bcr2TlzX6Mtn2H2bpYVAjfuBl6PWdz9dB4UwTm7ZMPKalr/vSX8mYj2TB9TjhrBr34QDh6LEmsO5JDH0/6xWKUR8EX/5cZWV2BN8OOTBSeiJTGTHeFrK5LCa3vcOSKnKfgaf8v+EgcqI8z/IU30/+wDP8V0jkh+nNPWFa7AshsIu2D/WQ4f2W1Qs3f4iqpMUNbe/P1vIPKSb+UNe6E5TTih3VcqA+4IVKsjWcCAz6u4uvcep1GNPaZuQH7ySPiAq4NlAY+918Tgou46c66dwuhdcbq/OvcJdDg2/B/U8BY1AqP/ybGP/BdvYCiZEXOiwwPgWZd57kn+o7DQ4BR28tqfF6nfrIeFef8pn8se+9iUeNic6KTvx4oRjMfDL+ngXdD3qLTui6H4ylIITHMp3pErGias/xkUhv6OPcR+m6LOilcLfs2rIgsIvrXCMlYLXqLx7CzgeDkVRHqJ+vHz2W/L/93XbBSpjr+U1HjOHOHJk0aHYpugwDj92ZWRbCfPCxOuGp/etS7LjOUU7HbCa1v35J/rc9n+AuzchHSgiTvhtTjhvH02nUILDlVmZZf1HT85zJ1P2tbwcdPwDLcCUH/6Bl7xzIt1pZzRr5uI7TeeMmK3GdgNt5szr/G+eCfa1XgK69WNPtspn6yHjn3/lo6NAlbg/1kOCDoemyo//PuOCCIhEC3E1pn1ALWWxqY+weWh/4CBt3zr3V+Mst+zGp9V1I/mTR87o27c2gSiLoXN5kcmoT95NRY8cydUyJOu9cq49Y8g9B3bYpafvO3Gl5HBvjW42BazoF/2b+qWJcy09hketfdCIx89/a4UBH/63yFGgWCOHqggF/27Wv9YrvbLtw+8V+JusswDaPxg9fW72BmrgBSDwE7irvLFtqueQRkjR0N8oZWJPbno0qVBilVHeXmc7s3xXl/y+FEu+G1YXLsmhOrp1U5iADLdOh409CM/8AIph84v9HBKp1W3CMJ7bTe0Yr6HAKU0H1uyHt3hymhe/f49rneUUL3uSHv3R2mhO7d49vnekcJ3eeGvHd3mBK6d49vn+sdJXSfG/Le3WFK6N49vn2ud5TQfW7Ie3eHKaF79/j2ud5RQve5Ie/dHaaE7t3j2+d6Rwnd54a8d3fYo/4eGkMdKPBGEpEXamtHqLDardvRevdIO7l3AvjD/thgb9jiyaAbMrWTa7e/Oo+ZoZceawxPSxCsUbd0oJuwLb4IyDwg3G/cy8cqH7W/e7SksxFY+gXr+2C8eDWrZUGnrgXGqhnFhPiOmnNINsfZbdlTX7f/YXZWFsu7EVf+weUS9UvwB+MmCqVeYOHQOMHFWEnAszteCJfZ00laxjkIzDsoy/ypsHGVsrHDh1RjSpR/UT+JaPLOKWEXSenuiOtWQuOn+ucS1dby2naBpc7CK06bFis4lNI/ek7WWMY1WqyWjOij6YuPKB7PlTXtz5O3RFiCwBv20I1IEHwzMCpo4qbx4ipL+Z2d3i2Enn2k6r5SReOxnIrmBFKHQgR8VNNE5mxEoE/LyGhhxt5ZkVtJZWmc8xB49WRtQr6s4eTV0qYRWOqLG8TgR6vaNIiUFhjA14yIFe44Mle6BKSOYZ+We4JbCb3sVENYfkXdJ1eLmx5thyMJuEEIooCT7wtD45IDUb6yBe3+To5KQMWSFAZF+lekRAunfTg5/BtSOo2zHwHsJ1fKK/ZdLGycpG7TmnDEG/zAp4YFo+fTQlGVqkOn/Xy1pInYYHSwd9PQOOHSPdOke4gZnBxpYqyT69dVh/3kmwmy9y8VqRaQ/GQsUPJ4ahCaBGQG1Z17JmB94W9uNqDDoGZJ0hf2gqzDY4UXoiX+z1H/+h5sDl1Y8pMf6CcEXbsIFApvUcPwS7ka7fq3AskbYHmKELB/ndRP+MK28eGXCclOi3I5oS35ycNjA9CshyRIGmgiLHqvk83tWnTyUjX64notIkzsCGZ2bVqc6GByf+lc6l/fg82mC0t+MlYenftwJBoc6We2Xjw2/5tdh45drEIkBVIf+OQfmSD6v8Q48QtbngisMVuRAwkuI/R88JMLuvCTI8XeaN4jEjQkOsBq8+HrGh34XokuFqmIZSLE3i2gcpn5cXrke8QMNNIEgfRjVdG1NU2nLhc1jYSVOJMg9vfSCZ7/ZrBlbWh9YawRfRxI/XVOPSgc6GM7f4PAv4aJbMfhOdFLQCKZkKMzr61XTic09pNvl9cfv1yi+g3JT8YuxURwLbCLgZfk7Am5cMjNru8UyJx8axL410nUv+4S2gXbWe86r/LdV0qapqlaNZ1+3t1SfIh5cmgwemFUGPL1tm+gKuradTK7ebJmoi2xwT4qmLGXbJ8i2UfMYEekfZYSGsJ+cl5c+ftXStREPxmUkHQfey8CmYXwdexowF/WZ/LuCGw3tZp+gmP/emSs8PzQ6JBnVz8rVDjaXm8qP2uf/JWrpY3rlA3tRP9hdDz4yQ9FIJDDdUq3LxU1oX3fK8weHQdv6cJBiYKJzvCvnUboB9beaiypbROSEEiWBqCXHolAUUHE9XhSEavjMJk/Bf/6n9m1xOUjoS+PfXRQyOSPZkR8YnWlvTjjk+8X5VwtVSeTugj/4ofmPBSOUqKsdwNJ9ZDi8Nv6n7/UwljVoBb4JuIGHz6DHhkcuAa0pN/gptly75xHEFokkVki5qMZv4pAoxOIPLfFTrN5Bb48lA5q8r9NCSIuH6latUwbqxkNFVBCAwjyho5ELpj4DJXJ999ZLsVvUlcEvNT3zPAQ9MigQN2xFWc5Z7BgUXVVi2aMo207jdBcQ6aPCUNPDAlBfMe9C27VxPuoIG+U+WQ0AmFu9MFZOYLjFO7l05JW/u+l9q0L7tHIY5MC0cxfhSN/g+VSVyKCPzIXPBqJHh8SjP4O41RcbXhKluMfiCYfA87qDH4a3UVmQ5uHxgTgP2oyjEI8nsu6adROT7iB4/CMVhXwh5+7yGyIT0KoL0qL4/7Fg+Oij3SkDVGm1z0eAUroHj+EtAOGCFBCG6JBr3s8ApTQPX4IaQcMEaCENkSDXvd4BCihe/wQ0g4YIkAJbYgGve7xCFBC9/ghpB0wRIAS2hANet3jEaCE7vFDSDtgiAAltCEa9LrHI0AJ3eOHkHbAEAFKaEM06HWPR4ASuscPIe2AIQKU0IZo0OsejwAltJuGcPFJ5Qg45d1F+0Hc1Ike0EyfIHSHljUv+uHiQcKqqs9uLz136kL1lVFrbjd1t0on7Fjp1WPuss6t+6IcyerJKjqu4lBLhxYdPl+JQIvNqIny6taFkpXZc905Q7Isy0zdU/7eVzky2YWCxgfhoUIVdW3+X16r3f27rcW3lx6oTjEy0sU30mU58dLMnBOgk2G0U/n9MxXoBsgXuzNgQZovf6lDX4IojbOD016BAJbR1h5sKJb4+j3ob2AdDkOJL2d3wpJk2ACJH7qlwIPGXoO8C+TrUy842wbD+uYdVE76ubRhd6mZXfA4L+xyZkfGi06PCIp+MWsyQ1bOMazUzmvJcrmAx6t+EwQTX0MM8gUxHgTyBSa1jekvgg3N4SYSXyYZHYzAkmF7QFMFa3ZwA9hw9uSC2Me48bbcO43Q4z8s+eFKiWqMxnSHOhKBDsek0aFoHOzMxiR3ZsAiJnvPKTmbLTtbiIe9a3XNGlRvsGkWsehwOx8tq1qd4lS96Xn7lQPKGtT/uF5ClgnotKrzKkzEbx8aLfrroTnSv3bGOuOKZSIz8tJhC+EagFyqrxFELlFpTStRqgvvzH4a9oI+NzIE+YKsgDNDRX0bqF5VIhC2IVYbFejdMjIxcPZHUyOOEjNYGelUq+eD2v6tctWhPHlzFKl9Z+o+VDW2o0MXqtAPtxpJTYFIindbZKD3V9dLmx5EDBNimolVs4i3Tu7vtx5lJTr0zp10jPXR1pfvv1KsmgQ6fERM8QyIHz7D3eiGNiWG+VUnxwmf3/VixL8N4+25DluRk+bNQzug7ChSeZG/15nEMN8o2CGfRJLqwnLGUx8IQw8NsF7+i9QOjsO6KScuV4OLQdZNgclOOyJetD+lBHQJsxjCdGiuZnI8EXxyVutjLSnzjEoQgJaGxC5lHqzf8PmVanTqWi0yIzXGjogXnBT1j5m+dyzTEpx5O9CXbXkHXreLYMczQbaBLQFfaYV8Xeox63vYmVPX15KGDeZU7YE4aO6vJWhAhB+yZDuWRhseJzw/3E61p7A3cqTeGrQeSDod9DUIY8vmaRmvJYq1SWdwD+YfUT6ZXdqwv7CqLbSzR51X2Pb5IDmAf20NlpSt+FgYPV5wfqjUucpWhE7bajo5f9ZZlp9dUL4btKCnO0M7Dc8k5241oIM/VhFnOezKDIsNuB4b6v/8jimS21yrwjLyBvORZhuIA47jpunuWfacRuu1WLkx6ToxnRM5+4B8THFVy/E8mTqGk6S7DQ64M8s9PNB0lqtWtaMDP1ShHwvIbxc8a6UlCvckFUUtsGrWWprvK/VvXw4rGK9D/7jaAGAPWwvfpFmKwpRt6Dij4do7fW/5W9dL1W9WqdqNPhj1+XAfpoHOCu6TNcGy9mBA+ZDIgKlbp0Z8a019tuRxGaH1Rsw9XBlVWdt8AvzrB0hSuNaoWxZWtaKd38gR/iWFxDCf6tRY8cydUyJOk9IN4yQZef/BMJpNMIENMIzH1/DMYH9hF9Ph9UbFpsFV3HR8v+REQ2iZsv449Gcs6Q1xxw8NRhNGhuIPP1IV9+Jugaj7zn+bF3XHYuGjEsSLuxIzlK7MfQFWVDZCSwn3Kr57AZMAJu92dTv754YtqV3K14Lb5M/WlR28VNL0HEh1mRiO+/Is9OmZ4cHIx4zKpqLhjjrsT8Xkb1yQgmseHitesXtGxDaurc66NzHcWRVz63npcOVvbstVB8351yT94Vo4luLQ+Sr0XX4DtzrdfYSQ3zY0LuCdA7NibPugWsB6RwblvgqV/BlezSJu5UDseiD8Kpl/0nsoq/M8l5l7y7b8VNS0FD4yvbhl8L09KwX4zdOVqDuud1iM4NYQqWD8polhefgeh8hl2SmMF/jJDPPQnRjj/0K933Qg3sKq9Uk3jFO6vlt4UDmwtK758yulTcn4CeeGMCEfTR8TruurPs0a/W5wLw5OEkXPmTzZ9A2hr8cZv24jtN7Y2R/Ll14pV61X1rcZyxvdzYBJMRlWRPDr+PMrNagVfGZu8PfmsWngJzdFx0w7/RRDnra5hQj3kuW3IhivtjWQNBuAMF2TZ9ENIMZrz6WF+l4pbdwLx2OICdUgvJIyG9Q6k6T+pGSr4rBA+GfQ39Mg6t5OEGr2A0nb0Qnif1xQtC9qrVe/BZXOh4fR5MGC2fq2FjHLletTPrOqYTOZFh1WTLhWqtpTVN0aSMoyGFZLZoGwI35rHoVJh3TCApbkHREvPC8N95/grhMW3E5oDM4dbeIy0CZWE7WJSQDiOCwkCELZZv1kc+UsxUcszxvG89LugOofMMwr8OOjODhcMhfO4iPNVta4S4b1WXNtSdQ9TOjNivx5TGGl8XMMDx52yN+V1yVvRjsY00Veaxon5En/uGLN5VLVsurGDpv+tbW7NLq7hdB63LB6fHWV+gTMBPeT1q/1+fAvXtYaGi2csX1axJeG8c68lmTmTOGx7Hp4cmJxvaHweq2GQ3G4AWv2PTk0RHdoDp45XRFyKuAfIM5VojJYMyaFgRJ/lK9oxgr5LKw1f8xqfDMVGwcoSXkdjVu+jxUUt5cfuVigeqYV/jW2q9Ddp5S5ZjS66jEhbe5R2djb5c0HbypapNzkcBH4yTGCdw/Ojl7FTXPJfVahX6S6JZNhtBlwdksAyPEaNeNsMXCjyjk3eOnr7I163T/nc0XdsXuTK2s+D/xaXLUhxaUH8ejNevVIVfLN6qZPSf41PucG+8mp/aK79ZwbjyC0HjCdf13asBGv6WI/eWS88KQ6OtohP1lft62/IRn5MaF+mlJDQq94IhqB725rVQ7nx2Te+GUFypN3nqk9OkFw7tTL8Q87XLkdFRj619hPxieRRXnISWQeRWgdtpNYr6lPlL8nEnhvJq0n24G/3UUG/OWGpqml8/yR7en9EfabuyN8BMuW/zIQCX90sOjQkbmx07vDFn2b4F+/K/D3/sqTzoq0bqVc3wN3/MLC/+HjCE4fpcHTEdg3K+pNT7PRdKnK0yyk9lAEbECAEtoGsGhWz0eAEtrzx4haaAMClNA2gEWzej4ClNCeP0bUQhsQoIS2ASya1fMRoIT2/DGiFtqAACW0DWDRrJ6PACW0548RtdAGBCihbQCLZvV8BCihPX+MqIU2IEAJbQNYNKvnI0AJ7fljRC20AQFKaBvAolk9HwFKaM8fI2qhDQhQQtsAVr5O8NGGAk7KimUCygnihk6qvldV43l/4O/B8G78ZzlyRMbM1q7BBlh0Jq9eJxPQ2GoieGRrdX0iPyV0F8Psz2c0oJVp9Ba7VNSErpUUwK7vYPTCqDDk66Jd35bktLwYXnUXpvfZJM/bU+hBQ/Hyp3X9imV1n14tU4/AsyU3dJMuR9v9/YRv7ZouXce1h96DdgsFwTICWKXzenHj4ZIasooQScbMcq3GObCf/BnIzn5xvQ5htX9u8OPz2NEJwv8WDIiejFVVuen0/g4ClNA2MGHmPvnmnwrqX/EEbTsbzO5TWSmhbRxurD5aqqw9frVE7RHqozaa3+uzU0LbOcR39KHVoA/dYpc+NNa5/uG2k/Sh7exDbyxGCe3gqFqj4K9XwbdGwT8tXnhpSFTI06ufFSocNK1PFqeEdsKwL/2C9ZVVlO2HJb2JJLFw3ITlM1Z8qkfEiqZ9MEXylRNM6rNVUEI7ceixWHhRnfpzm07BEsIpWCBGeWhO9NtONKXPVkUJ7YKht+qcQpDIG5Uo/t9hgdHPu/KcQhd0z6OrpIR20fDgk2Sn7ZX/7XJx4+KG5g4jhcfUKP/Cwf2EE7eND3eLDK6LuuiR1VJCu3hY8FnfJbV1n10qbHxQEujTPCxesGTPNOkeFzdLq6cIuBaBxSeVI+BcCzqBuBZmWjtFgCJAEaAIUAQoAhQBigBFgCJAEaAI9GUE/h9g5V7Rcmr4EwAAAABJRU5ErkJggg==)}input[type=radio]:checked~.Index__choice__113bB .Index__choice_title__LJh-1{color:#1977d6}input[type=radio]:checked~.Index__choice__113bB svg polygon{stroke:#1977d6;fill:rgba(25,119,214,.15)}input[type=radio]:checked~.Index__choice__113bB svg path,input[type=radio]:checked~.Index__choice__113bB svg rect{fill:#1977d6}.Index__joinFields__3IheX{margin-top:20px;margin-bottom:30px;width:100%}.Index__joinFields__3IheX .form-group{margin-bottom:20px}.Index__submit__3i4UA,.Index__submitWrapper__163w8{display:block;margin-top:30px}.Index__submit__3i4UA{width:100%}.Index__infoLink__cX96b{position:relative;left:4px;top:1px;color:#bac0c7}@-webkit-keyframes ListItem__progress-bar-stripes__ftQUL{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__ftQUL{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__1Z0bU{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__2xrEB{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__234VW,.ListItem__progress-striped__3nE6O .ListItem__progress-bar__2xrEB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__2xrEB.ListItem__active__1wrjj,.ListItem__progress__1Z0bU.ListItem__active__1wrjj .ListItem__progress-bar__2xrEB{-webkit-animation:ListItem__progress-bar-stripes__ftQUL 2s linear infinite;animation:ListItem__progress-bar-stripes__ftQUL 2s linear infinite}.ListItem__progress-bar-success__32Yfx{background-color:#5cb85c}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-success__32Yfx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__3BLRt{background-color:#5bc0de}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-info__3BLRt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__1KnMX{background-color:#f0ad4e}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-warning__1KnMX{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__2NQP-{background-color:#ef5354}.ListItem__progress-striped__3nE6O .ListItem__progress-bar-danger__2NQP-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__BDBF1{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__BDBF1.ListItem__in__11Jze{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__BDBF1.ListItem__top__1uBie{padding:5px 0;margin-top:-3px}.ListItem__tooltip__BDBF1.ListItem__right__2ohZ_{padding:0 5px;margin-left:3px}.ListItem__tooltip__BDBF1.ListItem__bottom__2b4rs{padding:5px 0;margin-top:3px}.ListItem__tooltip__BDBF1.ListItem__left__1lx8q{padding:0 5px;margin-left:-3px}.ListItem__tooltip__BDBF1.ListItem__top__1uBie .ListItem__tooltip-arrow__2UQYC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__BDBF1.ListItem__top-left__3VfXL .ListItem__tooltip-arrow__2UQYC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__BDBF1.ListItem__top-right__Vjx-R .ListItem__tooltip-arrow__2UQYC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__BDBF1.ListItem__right__2ohZ_ .ListItem__tooltip-arrow__2UQYC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__BDBF1.ListItem__left__1lx8q .ListItem__tooltip-arrow__2UQYC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__BDBF1.ListItem__bottom__2b4rs .ListItem__tooltip-arrow__2UQYC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__BDBF1.ListItem__bottom-left__2SrnB .ListItem__tooltip-arrow__2UQYC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__BDBF1.ListItem__bottom-right__24sep .ListItem__tooltip-arrow__2UQYC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__1O_-i{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__2UQYC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__main__3HK-c{margin-bottom:30px}.ListItem__titleBar__95ibV{background:#fff;border-bottom:1px solid #f5f5f5;padding:16px 25px}.ListItem__title__1prs7,.ListItem__titleBar__95ibV{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ListItem__title__1prs7{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ListItem__title__1prs7 label{font-size:12px;margin:0 8px 0 0}.ListItem__colAction__3EKK_,.ListItem__title__1prs7 label{color:#20252d;text-transform:uppercase;font-weight:500}.ListItem__colAction__3EKK_ img{width:20px;margin-bottom:4px;margin-right:6px}.ListItem__confirmation__1OdaI{position:absolute;left:43%}.ListItem__end__1XqGY{display:-webkit-flex;display:-ms-flexbox;display:flex}.ListItem__emphasisLabel__3Vc4W{color:#20252d}.ListItem__colUnit__2W6kX{text-align:right;white-space:nowrap}.ListItem__colUnit__2W6kX>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.ListItem__recievedAmount__GI2yq{text-align:right}.ListItem__col__Ih0v0{padding-right:10px}@-webkit-keyframes DetailSummary__progress-bar-stripes__209md{0%{background-position:40px 0}to{background-position:0 0}}@keyframes DetailSummary__progress-bar-stripes__209md{0%{background-position:40px 0}to{background-position:0 0}}.DetailSummary__progress__1f9x1{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.DetailSummary__progress-bar__1Y7M1{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.DetailSummary__progress-bar-striped__2scRv,.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar__1Y7M1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.DetailSummary__progress-bar__1Y7M1.DetailSummary__active__5GwCs,.DetailSummary__progress__1f9x1.DetailSummary__active__5GwCs .DetailSummary__progress-bar__1Y7M1{-webkit-animation:DetailSummary__progress-bar-stripes__209md 2s linear infinite;animation:DetailSummary__progress-bar-stripes__209md 2s linear infinite}.DetailSummary__progress-bar-success__1GFpq{background-color:#5cb85c}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-success__1GFpq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-info__oO1FT{background-color:#5bc0de}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-info__oO1FT{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-warning__nAdgI{background-color:#f0ad4e}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-warning__nAdgI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-danger__DL5wc{background-color:#ef5354}.DetailSummary__progress-striped__fVb4W .DetailSummary__progress-bar-danger__DL5wc{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__tooltip__1twCh{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.DetailSummary__tooltip__1twCh.DetailSummary__in__1NvMu{filter:alpha(opacity=90);opacity:.9}.DetailSummary__tooltip__1twCh.DetailSummary__top__3rq9M{padding:5px 0;margin-top:-3px}.DetailSummary__tooltip__1twCh.DetailSummary__right__3u1fK{padding:0 5px;margin-left:3px}.DetailSummary__tooltip__1twCh.DetailSummary__bottom__2sSLl{padding:5px 0;margin-top:3px}.DetailSummary__tooltip__1twCh.DetailSummary__left__2X5SF{padding:0 5px;margin-left:-3px}.DetailSummary__tooltip__1twCh.DetailSummary__top__3rq9M .DetailSummary__tooltip-arrow__ODqzF{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__top-left__13LPN .DetailSummary__tooltip-arrow__ODqzF{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__top-right__6yaqQ .DetailSummary__tooltip-arrow__ODqzF{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__right__3u1fK .DetailSummary__tooltip-arrow__ODqzF{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__left__2X5SF .DetailSummary__tooltip-arrow__ODqzF{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__bottom__2sSLl .DetailSummary__tooltip-arrow__ODqzF{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__bottom-left__2nKDZ .DetailSummary__tooltip-arrow__ODqzF{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__1twCh.DetailSummary__bottom-right__b7Yu3 .DetailSummary__tooltip-arrow__ODqzF{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip-inner__2EkAq{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.DetailSummary__tooltip-arrow__ODqzF{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.DetailSummary__main__3bBER{background:#fff;width:100%}.DetailSummary__main__3bBER .DetailSummary__row__1ePRR{display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid #f3f6f8}.DetailSummary__main__3bBER .DetailSummary__col__2UzKA{padding-top:13px;padding-bottom:13px;padding-right:10px}.DetailSummary__main__3bBER .DetailSummary__col__2UzKA:last-child{padding-right:30px}.DetailSummary__main__3bBER .DetailSummary__row__1ePRR:last-child{border-bottom:none}.DetailSummary__main__3bBER a .DetailSummary__rawId__2Quy9{color:#195ad6}.DetailSummary__main__3bBER a:hover .DetailSummary__rawId__2Quy9{text-decoration:underline}.DetailSummary__colAction__1md-X{padding-left:25px;text-transform:uppercase;font-weight:500}.DetailSummary__colAction__1md-X img{width:20px;margin-bottom:4px;margin-right:6px}.DetailSummary__colAction__1md-X,.DetailSummary__colAmount__3pXSq{color:#20252d}.DetailSummary__colAction__1md-X{width:25%;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.DetailSummary__account__zR2O3{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1}.DetailSummary__middle__3m0HU{width:20%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}.DetailSummary__end__3NvRk{width:15%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.DetailSummary__amount__eTrOb{background:none}.DetailSummary__emphasisLabel__3XRU_{color:#20252d}.DetailSummary__colAccount__1lAm3{width:150px;overflow:hidden;text-overflow:ellipsis}.DetailSummary__colLabel__1GpAa{color:#bac0c7;text-align:right}.DetailSummary__colUnit__EiGni{text-align:right;white-space:nowrap}.DetailSummary__colUnit__EiGni>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.DetailSummary__immature__CVc0s{text-transform:lowercase;margin-left:5px;color:#dd2c2c}.DetailSummary__rawId__2Quy9{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:150px;vertical-align:middle}.DetailSummary__recievedAmount__1QuIp{text-align:right}.DetailSummary__titleBar__1kjA7{background:#fff;border-bottom:1px solid #f5f5f5;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:5px 25px}.DetailSummary__titleBar__1kjA7 code{display:inline-block;font-size:13px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:200px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.4}.DetailSummary__title__BDGyL{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}.DetailSummary__title__BDGyL label{color:#20252d;font-size:12px;text-transform:uppercase;font-weight:500;margin:0 8px 0 0}.DetailSummary__title__BDGyL img{width:20px;margin-left:15px;margin-bottom:2px}@-webkit-keyframes Index__progress-bar-stripes__Za6qP{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Index__progress-bar-stripes__Za6qP{0%{background-position:40px 0}to{background-position:0 0}}.Index__progress__1h05H{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Index__progress-bar__142hW{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Index__progress-bar-striped__28Xca,.Index__progress-striped__2c1ts .Index__progress-bar__142hW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Index__progress-bar__142hW.Index__active__3W7cZ,.Index__progress__1h05H.Index__active__3W7cZ .Index__progress-bar__142hW{-webkit-animation:Index__progress-bar-stripes__Za6qP 2s linear infinite;animation:Index__progress-bar-stripes__Za6qP 2s linear infinite}.Index__progress-bar-success__2HUhJ{background-color:#5cb85c}.Index__progress-striped__2c1ts .Index__progress-bar-success__2HUhJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-info__gKt04{background-color:#5bc0de}.Index__progress-striped__2c1ts .Index__progress-bar-info__gKt04{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-warning__epJRD{background-color:#f0ad4e}.Index__progress-striped__2c1ts .Index__progress-bar-warning__epJRD{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__progress-bar-danger__1UT-2{background-color:#ef5354}.Index__progress-striped__2c1ts .Index__progress-bar-danger__1UT-2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Index__tooltip__37G-b{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Index__tooltip__37G-b.Index__in__2lszE{filter:alpha(opacity=90);opacity:.9}.Index__tooltip__37G-b.Index__top__3kkw6{padding:5px 0;margin-top:-3px}.Index__tooltip__37G-b.Index__right__3qfDM{padding:0 5px;margin-left:3px}.Index__tooltip__37G-b.Index__bottom__1zwWz{padding:5px 0;margin-top:3px}.Index__tooltip__37G-b.Index__left__1e83H{padding:0 5px;margin-left:-3px}.Index__tooltip__37G-b.Index__top__3kkw6 .Index__tooltip-arrow__2HpXY{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__37G-b.Index__top-left__1eip8 .Index__tooltip-arrow__2HpXY{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__37G-b.Index__top-right__2qPTz .Index__tooltip-arrow__2HpXY{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Index__tooltip__37G-b.Index__right__3qfDM .Index__tooltip-arrow__2HpXY{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Index__tooltip__37G-b.Index__left__1e83H .Index__tooltip-arrow__2HpXY{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Index__tooltip__37G-b.Index__bottom__1zwWz .Index__tooltip-arrow__2HpXY{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__37G-b.Index__bottom-left__2CUqG .Index__tooltip-arrow__2HpXY{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip__37G-b.Index__bottom-right__2O08v .Index__tooltip-arrow__2HpXY{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Index__tooltip-inner__2kxgG{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Index__tooltip-arrow__2HpXY{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Index__main__2EDWo{background:#fff;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:50px;display:block;overflow:auto}.Index__title__3WA9V{font-size:26px;font-weight:400;margin-top:30px;margin-bottom:30px;text-align:center;text-transform:uppercase}.Index__choices__zm6bs{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.Index__choices__zm6bs>div{width:40%;min-height:100%}.Index__choice_wrapper__26rG1,.Index__choice_wrapper__26rG1>label{display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:100%}.Index__choice_wrapper__26rG1>label{font-weight:400}.Index__choice_radio_button__2_EdP{position:absolute;visibility:hidden}.Index__choice__38C__{border:1px solid #ddd;border-radius:3px;cursor:pointer;min-height:100%;padding:20px 30px;padding-top:110px;text-align:center;background-repeat:no-repeat;background-position:center 25px;background-size:90px 90px}.Index__choice__38C__:hover{background-color:#fafafa}.Index__choice__38C__.Index__disabled__2cU-g{cursor:default;background-color:#fafafa;opacity:.75}.Index__choice__38C__.Index__disabled__2cU-g .Index__choice_title__2wFO9{color:#bac0c7}.Index__choice__38C__ p{line-height:1.4}.Index__choice__38C__ svg{display:block;margin:0 auto;width:80px;height:80px}.Index__choice__38C__ .Index__choice_title__2wFO9{display:block;font-size:16px;margin:12px 0;color:#20252d;font-weight:600}.Index__backup__2__Y7{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtYmFja3VwKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTMgewogICAgICAgIGZpbGw6ICNmMmYyZjI7CiAgICAgIH0KCiAgICAgIC5jbHMtMywgLmNscy00LCAuY2xzLTUsIC5jbHMtNiB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CgogICAgICAuY2xzLTQgewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cCI+CiAgICAgIDxyZWN0IHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0iYmFja3VwIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9ImJhY2t1cC0yIiBkYXRhLW5hbWU9ImJhY2t1cCI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy0yIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkwIiBkYXRhLW5hbWU9IlBhdGggNDc5MCIgY2xhc3M9ImNscy0zIiBkPSJNNzUuNi04Ny42MDYsMy42MDYtNDYuMDQxLDc1LjYtNC40NzZsNzEuOTkzLTQxLjU2NVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgY2xhc3M9ImNscy00IiBkPSJNMTQ3LjU5MS00Ni4wNDEsNzUuNi00LjQ3NiwzLjYwNi00Ni4wNDEsNzUuNi04Ny42MDZabS0xMzYuMDY4LDBMNzUuNi05LjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtODMuMDM1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTIiIGRhdGEtbmFtZT0iUGF0aCA0NzkyIiBjbGFzcz0iY2xzLTUiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MyIgZGF0YS1uYW1lPSJQYXRoIDQ3OTMiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtOTAuMDQxLDc1LjYtNDguNDc2LDMuNjA2LTkwLjA0MSw3NS42LTEzMS42MDZabS0xMzYuMDY4LDBMNzUuNi01My4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTEyNy4wMzVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGNsYXNzPSJjbHMtNiIgZD0iTTc1LjYtMTcxLjYwNiwzLjYwNi0xMzAuMDQxLDc1LjYtODguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjYwNikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NSIgZGF0YS1uYW1lPSJQYXRoIDQ3OTUiIGNsYXNzPSJjbHMtNCIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}.Index__restoreKeystore__2kxGg{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9qc29uKTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjZjJmMmYyOwogICAgICB9CgogICAgICAuY2xzLTIsIC5jbHMtMywgLmNscy01LCAuY2xzLTYgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zIHsKICAgICAgICBmaWxsOiAjYTNhOWI4OwogICAgICB9CgogICAgICAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogI2Y3ZjdmNzsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBmaWxsOiAjZmZmOwogICAgICB9CgogICAgICAuY2xzLTcgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8Y2xpcFBhdGggaWQ9ImNsaXAtcmVzdG9yZV9qc29uIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2pzb24iIGRhdGEtbmFtZT0icmVzdG9yZSBqc29uIiBjbGFzcz0iY2xzLTEiPgogICAgPGcgaWQ9Ikdyb3VwXzMwODgiIGRhdGEtbmFtZT0iR3JvdXAgMzA4OCI+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTAiIGRhdGEtbmFtZT0iUGF0aCA1MjEwIiBjbGFzcz0iY2xzLTIiIGQ9Ik03Ni4zNTItODcuNjA2bC03Mi43NDYsNDIsNzIuNzQ2LDQyLDcyLjc0Ni00MloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjExIiBkYXRhLW5hbWU9IlBhdGggNTIxMSIgY2xhc3M9ImNscy0zIiBkPSJNMTQ5LjEtNDUuNjA2bC03Mi43NDYsNDItNzIuNzQ2LTQyLDcyLjc0Ni00MlptLTEzNy40OTIsMEw3Ni4zNTItOC4yMjQsMTQxLjEtNDUuNjA2LDc2LjM1Mi04Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlVuaW9uXzEzMiIgZGF0YS1uYW1lPSJVbmlvbiAxMzIiIGNsYXNzPSJjbHMtNCIgZD0iTS00NjkuMzU5LTE4MjIuOTgzLTQyNC4zLTE4NDlsNi45MjgsNC00NS4wNjIsMjYuMDE2Wm0tMTcuMzItMTBMLTQ1Ny4yMDYtMTg1MGw2LjkyOCw0LTI5LjQ3MywxNy4wMTZabS0xNy4zMi0xMEwtNDg2LjY1MS0xODUzbDYuOTI4LDQtMTcuMzQ5LDEwLjAxNloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDU1MS40MTYgMTk3Ni4yMTEpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTUiIGRhdGEtbmFtZT0iUGF0aCA1MjE1IiBjbGFzcz0iY2xzLTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNiIgZGF0YS1uYW1lPSJQYXRoIDUyMTYiIGNsYXNzPSJjbHMtMyIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMTciIGRhdGEtbmFtZT0iUGF0aCA1MjE3IiBjbGFzcz0iY2xzLTYiIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxOCIgZGF0YS1uYW1lPSJQYXRoIDUyMTgiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTMxIiBkYXRhLW5hbWU9IlVuaW9uIDEzMSIgY2xhc3M9ImNscy00IiBkPSJNLTQ2OS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS01MDQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1NTEuNDE2IDE4NzYuMTk1KSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIGNsYXNzPSJjbHMtNyIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}.Index__restoreMnemonic__8QGc9{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTgwIDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcmVzdG9yZV9NbmVtaW5pY193b3Jkcyk7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2YyZjJmMjsKICAgICAgfQoKICAgICAgLmNscy0yLCAuY2xzLTMsIC5jbHMtNSwgLmNscy02LCAuY2xzLTcgewogICAgICAgIGZpbGwtcnVsZTogZXZlbm9kZDsKICAgICAgfQoKICAgICAgLmNscy0zLCAuY2xzLTggewogICAgICAgIGZpbGw6ICNhM2E5Yjg7CiAgICAgIH0KCiAgICAgIC5jbHMtNCwgLmNscy02IHsKICAgICAgICBmaWxsOiAjZjdmN2Y3OwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6ICMwMGJkYTk7CiAgICAgIH0KCiAgICAgIC5jbHMtNyB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy05IHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfTW5lbWluaWNfd29yZHMiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9InJlc3RvcmVfTW5lbWluaWNfd29yZHMiIGRhdGEtbmFtZT0icmVzdG9yZSBNbmVtaW5pYyB3b3JkcyIgY2xhc3M9ImNscy0xIj4KICAgIDxnIGlkPSJHcm91cF8zMDkwIiBkYXRhLW5hbWU9Ikdyb3VwIDMwOTAiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgY2xhc3M9ImNscy0yIiBkPSJNNzYuMzUyLTg3LjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGNsYXNzPSJjbHMtMyIgZD0iTTE0OS4xLTQ1LjYwNmwtNzIuNzQ2LDQyLTcyLjc0Ni00Miw3Mi43NDYtNDJabS0xMzcuNDkzLDBMNzYuMzUyLTguMjI0LDE0MS4xLTQ1LjYwNiw3Ni4zNTItODIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBjbGFzcz0iY2xzLTQiIGQ9Ik0tMjE5LjM1OS0xNTcyLjk4My0xNzQuMy0xNTk5bDYuOTI4LDQtNDUuMDYxLDI2LjAxNlptLTE3LjMyLTEwTC0yMDcuMjA2LTE2MDBsNi45MjgsNC0yOS40NzMsMTcuMDE2Wm0tMTcuMzItMTBMLTIzNi42NTEtMTYwM2w2LjkyOCw0LTE3LjM0OCwxMC4wMTdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDMxIDE3MjYuMjAzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMwIiBkYXRhLW5hbWU9IlBhdGggNTIzMCIgY2xhc3M9ImNscy01IiBkPSJNNjUuOTU5LTEyOS42MDZsLTMxLjE3NywxOC0zMS4xNzctMTgsMzEuMTc3LTE4Wm0tNTQuMzU0LDAsMjMuMTc3LDEzLjM4MiwyMy4xNzctMTMuMzgyTDM0Ljc4My0xNDIuOTg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzEiIGRhdGEtbmFtZT0iUGF0aCA1MjMxIiBjbGFzcz0iY2xzLTYiIGQ9Ik0zNC43ODMtMTQ3LjYwNmwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzNSIgZGF0YS1uYW1lPSJQYXRoIDUyMzUiIGNsYXNzPSJjbHMtNyIgZD0iTTc2LjMzNy0xNzEuNjE0bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjM5IiBkYXRhLW5hbWU9IlBhdGggNTIzOSIgY2xhc3M9ImNscy03IiBkPSJNNzYuMzM3LTEyMy42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyNDMiIGRhdGEtbmFtZT0iUGF0aCA1MjQzIiBjbGFzcz0iY2xzLTYiIGQ9Ik0xMTcuOTA3LTE0Ny42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzUiIGRhdGEtbmFtZT0iVW5pb24gMTM1IiBjbGFzcz0iY2xzLTgiIGQ9Ik0tMjEyLjQ0NS0xNTM3bDMxLjE3Ny0xOCwzMS4xNzcsMTgtMzEuMTc3LDE4Wm04LDAsMjMuMTc3LDEzLjM4MkwtMTU4LjA5MS0xNTM3bC0yMy4xNzctMTMuMzhaTS0yNTQtMTU2MC45OTJsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxLDIzLjE3Ny0xMy4zODEtMjMuMTc3LTEzLjM4MVptNzUuMTI0LS4wMDgsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgsMjMuMTc4LTEzLjM4LTIzLjE3OC0xMy4zODFabS00OS41NjktMjQsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgxTC0xNTguMDkxLTE1ODVsLTIzLjE3Ny0xMy4zODFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNzIgMTYwOS4yMTkpIi8+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgY2xhc3M9ImNscy05IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Index__choice__38C__ strong{color:#dd2c2c}input[type=radio]:checked~.Index__choice__38C__:hover{background-color:#fff}input[type=radio]:checked~.Index__choice__38C__.Index__backup__2__Y7{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLWJhY2t1cC1hY3RpdmUiPgogICAgICA8cmVjdCB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9ImJhY2t1cC1hY3RpdmUiIGNsaXAtcGF0aD0idXJsKCNjbGlwLWJhY2t1cC1hY3RpdmUpIj4KICAgIDxnIGlkPSJiYWNrdXAtYWN0aXZlLTIiIGRhdGEtbmFtZT0iYmFja3VwLWFjdGl2ZSI+CiAgICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzczOSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzczOSIgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiIGZpbGw9Im5vbmUiLz4KICAgICAgPGcgaWQ9Ikdyb3VwXzI1MjYiIGRhdGEtbmFtZT0iR3JvdXAgMjUyNiI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTAiIGQ9Ik03NS42LTg3LjYwNiwzLjYwNi00Ni4wNDEsNzUuNi00LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny43MzYpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80NzkxIiBkYXRhLW5hbWU9IlBhdGggNDc5MSIgZD0iTTE0Ny41OTEtNDYuMDQxLDc1LjYtNC40NzYsMy42MDYtNDYuMDQxLDc1LjYtODcuNjA2Wm0tMTM2LjA2OCwwTDc1LjYtOS4wNDdsNjQuMDc2LTM2Ljk5NEw3NS42LTgzLjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuNzM2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5MiIgZGF0YS1uYW1lPSJQYXRoIDQ3OTIiIGQ9Ik03NS42LTEzMS42MDYsMy42MDYtOTAuMDQxLDc1LjYtNDguNDc2bDcxLjk5My00MS41NjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc4LjE5MikiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzQ3OTMiIGRhdGEtbmFtZT0iUGF0aCA0NzkzIiBkPSJNMTQ3LjU5MS05MC4wNDEsNzUuNi00OC40NzYsMy42MDYtOTAuMDQxLDc1LjYtMTMxLjYwNlptLTEzNi4wNjgsMEw3NS42LTUzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTI3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguMTkyKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfNDc5NCIgZGF0YS1uYW1lPSJQYXRoIDQ3OTQiIGQ9Ik03NS42LTE3MS42MDYsMy42MDYtMTMwLjA0MSw3NS42LTg4LjQ3Nmw3MS45OTMtNDEuNTY1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3OC42MDYpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF80Nzk1IiBkYXRhLW5hbWU9IlBhdGggNDc5NSIgZD0iTTE0Ny41OTEtMTMwLjA0MSw3NS42LTg4LjQ3NiwzLjYwNi0xMzAuMDQxLDc1LjYtMTcxLjYwNlptLTEzNi4wNjgsMEw3NS42LTkzLjA0N2w2NC4wNzYtMzYuOTk0TDc1LjYtMTY3LjAzNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzguNjA2KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=)}input[type=radio]:checked~.Index__choice__38C__.Index__restoreKeystore__2kxGg{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfamFzb24tYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX2phc29uLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIGphc29uLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9qYXNvbi1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg3IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODciPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjEwIiBkYXRhLW5hbWU9IlBhdGggNTIxMCIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxMSIgZGF0YS1uYW1lPSJQYXRoIDUyMTEiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzAiIGRhdGEtbmFtZT0iVW5pb24gMTMwIiBkPSJNLTIxOS4zNTktMTgyMi45ODMtMTc0LjMtMTg0OWw2LjkyOCw0LTQ1LjA2MiwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xODUwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE4NTNsNi45MjgsNC0xNy4zNDgsMTAuMDE2WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQxNiAxOTc2LjIxMSkiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNSIgZGF0YS1uYW1lPSJQYXRoIDUyMTUiIGQ9Ik03Ni4zNTItMTA4LjMwNmwtMzkuMzE4LDIyLjcsMzkuMzE4LDIyLjcsMzkuMzE4LTIyLjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE2IiBkYXRhLW5hbWU9IlBhdGggNTIxNiIgZD0iTTExNS42Ny04NS42MDZsLTM5LjMxOCwyMi43LTM5LjMxOC0yMi43LDM5LjMxOC0yMi43Wm0tNzAuNjM2LDBMNzYuMzUyLTY3LjUyNCwxMDcuNjctODUuNjA2LDc2LjM1Mi0xMDMuNjg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MTcpIiBmaWxsPSIjMTk3N2Q2IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIxNyIgZGF0YS1uYW1lPSJQYXRoIDUyMTciIGQ9Ik03Ni4zNTItMTcxLjYwNmwtNzIuNzQ2LDQyLDcyLjc0Niw0Miw3Mi43NDYtNDJaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgxNykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjE4IiBkYXRhLW5hbWU9IlBhdGggNTIxOCIgZD0iTTE0OS4xLTEyOS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MiwwTDc2LjM1Mi05Mi4yMjQsMTQxLjEtMTI5LjYwNiw3Ni4zNTItMTY2Ljk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODE3KSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMjkiIGRhdGEtbmFtZT0iVW5pb24gMTI5IiBkPSJNLTIxOS4zNTktMTgwN2wzNC42NDEtMjAsNi45MjgsNC0zNC42NDEsMjBabS0xNy4zMi0xMCwyNy43MTMtMTYsNi45MjgsNC0yNy43MTMsMTZaTS0yNTQtMTgyN2w0NS4wMzMtMjYsNi45MjgsNC00NS4wMzMsMjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMDEuNDE2IDE4NzYuMTk1KSIgZmlsbD0iI2QwZThmYSIvPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM3MzkiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM3MzkiIHdpZHRoPSIxODAiIGhlaWdodD0iMTgwIiBmaWxsPSJub25lIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K)}input[type=radio]:checked~.Index__choice__38C__.Index__restoreMnemonic__8QGc9{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE4MCAxODAiPgogIDxkZWZzPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXJlc3RvcmVfbW5lbWluaWMtYWN0aXZlIj4KICAgICAgPHJlY3Qgd2lkdGg9IjE4MCIgaGVpZ2h0PSIxODAiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJyZXN0b3JlX21uZW1pbmljLWFjdGl2ZSIgZGF0YS1uYW1lPSJyZXN0b3JlIG1uZW1pbmljLWFjdGl2ZSIgY2xpcC1wYXRoPSJ1cmwoI2NsaXAtcmVzdG9yZV9tbmVtaW5pYy1hY3RpdmUpIj4KICAgIDxnIGlkPSJHcm91cF8zMDg5IiBkYXRhLW5hbWU9Ikdyb3VwIDMwODkiPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjIyIiBkYXRhLW5hbWU9IlBhdGggNTIyMiIgZD0iTTc2LjM1Mi04Ny42MDZsLTcyLjc0Niw0Miw3Mi43NDYsNDIsNzIuNzQ2LTQyWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjYzBkZWZjIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIyMyIgZGF0YS1uYW1lPSJQYXRoIDUyMjMiIGQ9Ik0xNDkuMS00NS42MDZsLTcyLjc0Niw0Mi03Mi43NDYtNDIsNzIuNzQ2LTQyWm0tMTM3LjQ5MywwTDc2LjM1Mi04LjIyNCwxNDEuMS00NS42MDYsNzYuMzUyLTgyLjk4N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iIzE5NzdkNiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJVbmlvbl8xMzQiIGRhdGEtbmFtZT0iVW5pb24gMTM0IiBkPSJNLTIxOS4zNTktMTU3Mi45ODMtMTc0LjMtMTU5OWw2LjkyOCw0LTQ1LjA2MSwyNi4wMTZabS0xNy4zMi0xMEwtMjA3LjIwNi0xNjAwbDYuOTI4LDQtMjkuNDczLDE3LjAxNlptLTE3LjMyLTEwTC0yMzYuNjUxLTE2MDNsNi45MjgsNC0xNy4zNDgsMTAuMDE3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzAxLjQzMSAxNzI2LjIwMykiIGZpbGw9IiNkMGU4ZmEiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzMCIgZGF0YS1uYW1lPSJQYXRoIDUyMzAiIGQ9Ik02NS45NTktMTI5LjYwNmwtMzEuMTc3LDE4LTMxLjE3Ny0xOCwzMS4xNzctMThabS01NC4zNTQsMCwyMy4xNzcsMTMuMzgyLDIzLjE3Ny0xMy4zODJMMzQuNzgzLTE0Mi45ODdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiMwMGJkYTkiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjMxIiBkYXRhLW5hbWU9IlBhdGggNTIzMSIgZD0iTTM0Ljc4My0xNDcuNjA2bC0zMS4xNzcsMTgsMzEuMTc3LDE4LDMxLjE3Ny0xOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0LjM5NCAxNzcuODMzKSIgZmlsbD0iI2QwZThmYSIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDxwYXRoIGlkPSJQYXRoXzUyMzUiIGRhdGEtbmFtZT0iUGF0aCA1MjM1IiBkPSJNNzYuMzM3LTE3MS42MTRsLTMxLjE3NywxOCwzMS4xNzcsMTgsMzEuMTc3LTE4WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTQuMzk0IDE3Ny44MzMpIiBmaWxsPSIjZWFmNGZkIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfNTIzOSIgZGF0YS1uYW1lPSJQYXRoIDUyMzkiIGQ9Ik03Ni4zMzctMTIzLjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNlYWY0ZmQiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iUGF0aF81MjQzIiBkYXRhLW5hbWU9IlBhdGggNTI0MyIgZD0iTTExNy45MDctMTQ3LjYxNGwtMzEuMTc3LDE4LDMxLjE3NywxOCwzMS4xNzctMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC4zOTQgMTc3LjgzMykiIGZpbGw9IiNkMGU4ZmEiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8cGF0aCBpZD0iVW5pb25fMTM1IiBkYXRhLW5hbWU9IlVuaW9uIDEzNSIgZD0iTS0yMTIuNDQ1LTE1MzdsMzEuMTc3LTE4LDMxLjE3NywxOC0zMS4xNzcsMThabTgsMCwyMy4xNzcsMTMuMzgyTC0xNTguMDkxLTE1MzdsLTIzLjE3Ny0xMy4zOFpNLTI1NC0xNTYwLjk5MmwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODEsMjMuMTc3LTEzLjM4MS0yMy4xNzctMTMuMzgxWm03NS4xMjQtLjAwOCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zOCwyMy4xNzgtMTMuMzgtMjMuMTc4LTEzLjM4MVptLTQ5LjU2OS0yNCwzMS4xNzctMTgsMzEuMTc3LDE4LTMxLjE3NywxOFptOCwwLDIzLjE3NywxMy4zODFMLTE1OC4wOTEtMTU4NWwtMjMuMTc3LTEzLjM4MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI3MiAxNjA5LjIxOSkiIGZpbGw9IiMxOTc3ZDYiLz4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNzM5IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNzM5IiB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgZmlsbD0ibm9uZSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==)}input[type=radio]:checked~.Index__choice__38C__ .Index__choice_title__2wFO9{color:#1977d6}input[type=radio]:checked~.Index__choice__38C__ svg polygon{stroke:#1977d6;fill:rgba(25,119,214,.15)}input[type=radio]:checked~.Index__choice__38C__ svg path,input[type=radio]:checked~.Index__choice__38C__ svg rect{fill:#1977d6}.Index__submit__p2c2r,.Index__submitWrapper__30JLz{display:block;margin-top:30px}.Index__submit__p2c2r{width:100%;padding:5px 0}.Index__infoLink__3fkmH{position:relative;left:4px;top:1px;color:#bac0c7}@-webkit-keyframes FormIndex__progress-bar-stripes__1ZKSb{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormIndex__progress-bar-stripes__1ZKSb{0%{background-position:40px 0}to{background-position:0 0}}.FormIndex__progress__EJLRe{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormIndex__progress-bar__3ZQ3M{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormIndex__progress-bar-striped__2IHDl,.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar__3ZQ3M{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormIndex__progress-bar__3ZQ3M.FormIndex__active__3SeOk,.FormIndex__progress__EJLRe.FormIndex__active__3SeOk .FormIndex__progress-bar__3ZQ3M{-webkit-animation:FormIndex__progress-bar-stripes__1ZKSb 2s linear infinite;animation:FormIndex__progress-bar-stripes__1ZKSb 2s linear infinite}.FormIndex__progress-bar-success__3_2Ja{background-color:#5cb85c}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-success__3_2Ja{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__progress-bar-info__13aVi{background-color:#5bc0de}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-info__13aVi{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__progress-bar-warning__3GeCJ{background-color:#f0ad4e}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-warning__3GeCJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__progress-bar-danger__3_6YK{background-color:#ef5354}.FormIndex__progress-striped__1KqDy .FormIndex__progress-bar-danger__3_6YK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormIndex__tooltip__Sm7IB{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormIndex__tooltip__Sm7IB.FormIndex__in__2iXNN{filter:alpha(opacity=90);opacity:.9}.FormIndex__tooltip__Sm7IB.FormIndex__top__1eDX4{padding:5px 0;margin-top:-3px}.FormIndex__tooltip__Sm7IB.FormIndex__right__2OMWh{padding:0 5px;margin-left:3px}.FormIndex__tooltip__Sm7IB.FormIndex__bottom__kISz_{padding:5px 0;margin-top:3px}.FormIndex__tooltip__Sm7IB.FormIndex__left__3AOVV{padding:0 5px;margin-left:-3px}.FormIndex__tooltip__Sm7IB.FormIndex__top__1eDX4 .FormIndex__tooltip-arrow__2JN5r{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__top-left__sIK5h .FormIndex__tooltip-arrow__2JN5r{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__top-right__3ahFM .FormIndex__tooltip-arrow__2JN5r{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__right__2OMWh .FormIndex__tooltip-arrow__2JN5r{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__left__3AOVV .FormIndex__tooltip-arrow__2JN5r{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__bottom__kISz_ .FormIndex__tooltip-arrow__2JN5r{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__bottom-left__2XdhZ .FormIndex__tooltip-arrow__2JN5r{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormIndex__tooltip__Sm7IB.FormIndex__bottom-right__SOul2 .FormIndex__tooltip-arrow__2JN5r{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormIndex__tooltip-inner__2E0U4{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormIndex__tooltip-arrow__2JN5r{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormIndex__main__1LdX4{background:#f3f6f8;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:50px;display:block;overflow:auto}.FormIndex__title__14xnp{text-align:center;color:#20252d}.FormIndex__formWarpper__OmqKT{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;margin-top:30px}.FormIndex__form__1oUVu{background:#fff;border-radius:3px;width:500px;padding:30px}@-webkit-keyframes MnemonicStepper__progress-bar-stripes__uFLMv{0%{background-position:40px 0}to{background-position:0 0}}@keyframes MnemonicStepper__progress-bar-stripes__uFLMv{0%{background-position:40px 0}to{background-position:0 0}}.MnemonicStepper__progress__1Qo7Z{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.MnemonicStepper__progress-bar__3oqj6{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.MnemonicStepper__progress-bar-striped__2z5-H,.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar__3oqj6{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.MnemonicStepper__progress-bar__3oqj6.MnemonicStepper__active__XviSm,.MnemonicStepper__progress__1Qo7Z.MnemonicStepper__active__XviSm .MnemonicStepper__progress-bar__3oqj6{-webkit-animation:MnemonicStepper__progress-bar-stripes__uFLMv 2s linear infinite;animation:MnemonicStepper__progress-bar-stripes__uFLMv 2s linear infinite}.MnemonicStepper__progress-bar-success__17hBv{background-color:#5cb85c}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-success__17hBv{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-info__2M5Kx{background-color:#5bc0de}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-info__2M5Kx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-warning__1EaZK{background-color:#f0ad4e}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-warning__1EaZK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-danger__2xBuA{background-color:#ef5354}.MnemonicStepper__progress-striped__IsaNH .MnemonicStepper__progress-bar-danger__2xBuA{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__tooltip__duoi4{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__in__2KMT7{filter:alpha(opacity=90);opacity:.9}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top__2_dhh{padding:5px 0;margin-top:-3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__right__2Bhzp{padding:0 5px;margin-left:3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom__zfa3m{padding:5px 0;margin-top:3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__left__3MIVH{padding:0 5px;margin-left:-3px}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top__2_dhh .MnemonicStepper__tooltip-arrow__3oogb{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top-left__6K4H1 .MnemonicStepper__tooltip-arrow__3oogb{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__top-right__ghh5i .MnemonicStepper__tooltip-arrow__3oogb{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__right__2Bhzp .MnemonicStepper__tooltip-arrow__3oogb{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__left__3MIVH .MnemonicStepper__tooltip-arrow__3oogb{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom__zfa3m .MnemonicStepper__tooltip-arrow__3oogb{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom-left__3_Aap .MnemonicStepper__tooltip-arrow__3oogb{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__duoi4.MnemonicStepper__bottom-right__Ni_3A .MnemonicStepper__tooltip-arrow__3oogb{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip-inner__Le-SG{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.MnemonicStepper__tooltip-arrow__3oogb{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.MnemonicStepper__main__T98E_{background:#f3f6f8;position:absolute;top:0;bottom:0;left:0;right:0;padding-top:50px;display:block;overflow:auto}.MnemonicStepper__title__3kGml{text-align:center;color:#20252d}.MnemonicStepper__formWarpper__s10LS{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-around;-ms-flex-pack:distribute;justify-content:space-around;margin-top:30px}.MnemonicStepper__form__2JMd7{background:#fff;border-radius:3px;width:570px;padding:30px;padding-bottom:37.5px}@-webkit-keyframes MnemonicStepper__progress-bar-stripes__1HPes{0%{background-position:40px 0}to{background-position:0 0}}@keyframes MnemonicStepper__progress-bar-stripes__1HPes{0%{background-position:40px 0}to{background-position:0 0}}.MnemonicStepper__progress__3wkIK{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.MnemonicStepper__progress-bar__3-QZF{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.MnemonicStepper__progress-bar-striped__2sb4n,.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar__3-QZF{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.MnemonicStepper__progress-bar__3-QZF.MnemonicStepper__active__66hST,.MnemonicStepper__progress__3wkIK.MnemonicStepper__active__66hST .MnemonicStepper__progress-bar__3-QZF{-webkit-animation:MnemonicStepper__progress-bar-stripes__1HPes 2s linear infinite;animation:MnemonicStepper__progress-bar-stripes__1HPes 2s linear infinite}.MnemonicStepper__progress-bar-success__2Gkz-{background-color:#5cb85c}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-success__2Gkz-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-info__1eMrq{background-color:#5bc0de}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-info__1eMrq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-warning__2eiSb{background-color:#f0ad4e}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-warning__2eiSb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__progress-bar-danger__1nybQ{background-color:#ef5354}.MnemonicStepper__progress-striped__2mjgM .MnemonicStepper__progress-bar-danger__1nybQ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.MnemonicStepper__tooltip__2R2EU{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__in__2245d{filter:alpha(opacity=90);opacity:.9}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top__Ts5b6{padding:5px 0;margin-top:-3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__right__oACiT{padding:0 5px;margin-left:3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom__K2_nx{padding:5px 0;margin-top:3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__left__1pIvY{padding:0 5px;margin-left:-3px}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top__Ts5b6 .MnemonicStepper__tooltip-arrow__11nla{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top-left__DQ2-s .MnemonicStepper__tooltip-arrow__11nla{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__top-right__SiYff .MnemonicStepper__tooltip-arrow__11nla{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__right__oACiT .MnemonicStepper__tooltip-arrow__11nla{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__left__1pIvY .MnemonicStepper__tooltip-arrow__11nla{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom__K2_nx .MnemonicStepper__tooltip-arrow__11nla{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom-left__3kFjm .MnemonicStepper__tooltip-arrow__11nla{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip__2R2EU.MnemonicStepper__bottom-right__jN_fV .MnemonicStepper__tooltip-arrow__11nla{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.MnemonicStepper__tooltip-inner__3MDnm{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.MnemonicStepper__tooltip-arrow__11nla{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.MnemonicStepper__main__2RplQ{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0 30px;margin-top:60px}.MnemonicStepper__content__IdMni{min-width:400px;max-width:900px;width:100%;margin:0 auto;padding:30px}.MnemonicStepper__marginLeft__1wt7k{margin-left:15px}@-webkit-keyframes ExportKey__progress-bar-stripes__Tr6Vs{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ExportKey__progress-bar-stripes__Tr6Vs{0%{background-position:40px 0}to{background-position:0 0}}.ExportKey__progress__j9Q4i{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ExportKey__progress-bar__1xJI2{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ExportKey__progress-bar-striped__dREUT,.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar__1xJI2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ExportKey__progress-bar__1xJI2.ExportKey__active__2DafI,.ExportKey__progress__j9Q4i.ExportKey__active__2DafI .ExportKey__progress-bar__1xJI2{-webkit-animation:ExportKey__progress-bar-stripes__Tr6Vs 2s linear infinite;animation:ExportKey__progress-bar-stripes__Tr6Vs 2s linear infinite}.ExportKey__progress-bar-success__2MQ4m{background-color:#5cb85c}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-success__2MQ4m{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__progress-bar-info__2A0xB{background-color:#5bc0de}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-info__2A0xB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__progress-bar-warning__3aWpZ{background-color:#f0ad4e}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-warning__3aWpZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__progress-bar-danger__3CntM{background-color:#ef5354}.ExportKey__progress-striped__3qt4I .ExportKey__progress-bar-danger__3CntM{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ExportKey__tooltip__2iDVa{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ExportKey__tooltip__2iDVa.ExportKey__in__jmknh{filter:alpha(opacity=90);opacity:.9}.ExportKey__tooltip__2iDVa.ExportKey__top__en0er{padding:5px 0;margin-top:-3px}.ExportKey__tooltip__2iDVa.ExportKey__right__2UThf{padding:0 5px;margin-left:3px}.ExportKey__tooltip__2iDVa.ExportKey__bottom__1G0ik{padding:5px 0;margin-top:3px}.ExportKey__tooltip__2iDVa.ExportKey__left__25ZLY{padding:0 5px;margin-left:-3px}.ExportKey__tooltip__2iDVa.ExportKey__top__en0er .ExportKey__tooltip-arrow__1g5Zd{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__top-left__PD9CY .ExportKey__tooltip-arrow__1g5Zd{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__top-right__WQMlJ .ExportKey__tooltip-arrow__1g5Zd{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__right__2UThf .ExportKey__tooltip-arrow__1g5Zd{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__left__25ZLY .ExportKey__tooltip-arrow__1g5Zd{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__bottom__1G0ik .ExportKey__tooltip-arrow__1g5Zd{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__bottom-left__3-u3j .ExportKey__tooltip-arrow__1g5Zd{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ExportKey__tooltip__2iDVa.ExportKey__bottom-right__1aMKB .ExportKey__tooltip-arrow__1g5Zd{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ExportKey__tooltip-inner__ryDGD{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ExportKey__tooltip-arrow__1g5Zd{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ExportKey__main__1x33C{margin:30px auto;border-radius:3px;background-color:#f3f6f8;padding:15px}@-webkit-keyframes ListItem__progress-bar-stripes__2adlD{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ListItem__progress-bar-stripes__2adlD{0%{background-position:40px 0}to{background-position:0 0}}.ListItem__progress__1N5lv{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ListItem__progress-bar__aURWZ{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ListItem__progress-bar-striped__BtkFr,.ListItem__progress-striped__2ZTBU .ListItem__progress-bar__aURWZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ListItem__progress-bar__aURWZ.ListItem__active__2VmTV,.ListItem__progress__1N5lv.ListItem__active__2VmTV .ListItem__progress-bar__aURWZ{-webkit-animation:ListItem__progress-bar-stripes__2adlD 2s linear infinite;animation:ListItem__progress-bar-stripes__2adlD 2s linear infinite}.ListItem__progress-bar-success__1yG1-{background-color:#5cb85c}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-success__1yG1-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-info__2l-aC{background-color:#5bc0de}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-info__2l-aC{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-warning__1V5wZ{background-color:#f0ad4e}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-warning__1V5wZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__progress-bar-danger__vH209{background-color:#ef5354}.ListItem__progress-striped__2ZTBU .ListItem__progress-bar-danger__vH209{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ListItem__tooltip__JumnF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ListItem__tooltip__JumnF.ListItem__in__1kJZP{filter:alpha(opacity=90);opacity:.9}.ListItem__tooltip__JumnF.ListItem__top__1UKht{padding:5px 0;margin-top:-3px}.ListItem__tooltip__JumnF.ListItem__right__2C0Gt{padding:0 5px;margin-left:3px}.ListItem__tooltip__JumnF.ListItem__bottom__2Yzvc{padding:5px 0;margin-top:3px}.ListItem__tooltip__JumnF.ListItem__left__2LqD7{padding:0 5px;margin-left:-3px}.ListItem__tooltip__JumnF.ListItem__top__1UKht .ListItem__tooltip-arrow__1fNpC{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__JumnF.ListItem__top-left__2C14K .ListItem__tooltip-arrow__1fNpC{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__JumnF.ListItem__top-right__2Z_mI .ListItem__tooltip-arrow__1fNpC{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ListItem__tooltip__JumnF.ListItem__right__2C0Gt .ListItem__tooltip-arrow__1fNpC{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ListItem__tooltip__JumnF.ListItem__left__2LqD7 .ListItem__tooltip-arrow__1fNpC{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ListItem__tooltip__JumnF.ListItem__bottom__2Yzvc .ListItem__tooltip-arrow__1fNpC{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__JumnF.ListItem__bottom-left__RweVE .ListItem__tooltip-arrow__1fNpC{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip__JumnF.ListItem__bottom-right__2NEP2 .ListItem__tooltip-arrow__1fNpC{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ListItem__tooltip-inner__cDIZl{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ListItem__tooltip-arrow__1fNpC{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ListItem__main__1d1Ux{margin-bottom:30px}.ListItem__titleBar__3-1At{background:#fff;border-bottom:1px solid #f5f5f5;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;padding:16px 25px}.ListItem__titleBar__3-1At code{display:inline-block;font-size:13px;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:200px;padding:0 6px;background:#fafafa;border:1px solid hsla(0,0%,96%,.5);line-height:1.4}.ListItem__title__3-0qJ{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;display:-webkit-flex;display:-ms-flexbox;display:flex}.ListItem__title__3-0qJ label{color:#20252d;font-size:12px;text-transform:uppercase;font-weight:500;margin:0 8px 0 0}.ListItem__title__3-0qJ img{width:20px;margin-left:15px;margin-bottom:2px}.ListItem__timestamp__1gwZn{position:absolute;left:59%}.ListItem__confirmation__3FoPX{margin-left:30px}.ListItem__viewLink__2ybtJ{margin:-15px 0;padding:15px;position:relative;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAAAXNSR0IArs4c6QAAAV5JREFUKBWVkD9LA0EQxWc2pygWkiJ6sZIgRCJiKQqafJJYWSg2NtlLI1hENCCIgqIg5ItYqI2lzeUIiCD4NzGNjYjejjOndyaYCL7qvdnfvLtdgP/I1tX8sPYm/9pRAgFBRYE5HSnWxrvBipAsREAAjBvjn3WDGQDg1iU2++IJoOEjzTY2J64kh1JiHrcyBwwsi+eFRMzAecJxxySHCkAJAnPdqnhEtAW2HW9UsigCJTyUMzsGsCheYDQmgoN/lINW2dpd5/utBTOi2zfonekICsAXvODDafFEdNL2aRmK7IK7F0FA1+891sKvxgBCXJEFEsiy5pul9J0lg1BJXT1ivxhkgpqx+rPNUupJ8ncjYVJ7h62Qb/Vl6xtfkIDcSGhrr8I+LwN+eFf5sVy9nHqWHErZheou1/5AH7Hc/Xa6DRJY+QTH3PLCb3D5igNznaCwFYZ0bWrQuYlHgw7mEwAufMBf5SNsAAAAAElFTkSuQmCC);background-repeat:no-repeat;background-position:100%;background-size:5px 9px}@-webkit-keyframes Summary__progress-bar-stripes__25EuB{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Summary__progress-bar-stripes__25EuB{0%{background-position:40px 0}to{background-position:0 0}}.Summary__progress__3RTEa{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Summary__progress-bar__1EEvk{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Summary__progress-bar-striped__-QKGo,.Summary__progress-striped__1tm-F .Summary__progress-bar__1EEvk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Summary__progress-bar__1EEvk.Summary__active__5bGe_,.Summary__progress__3RTEa.Summary__active__5bGe_ .Summary__progress-bar__1EEvk{-webkit-animation:Summary__progress-bar-stripes__25EuB 2s linear infinite;animation:Summary__progress-bar-stripes__25EuB 2s linear infinite}.Summary__progress-bar-success__1V4zz{background-color:#5cb85c}.Summary__progress-striped__1tm-F .Summary__progress-bar-success__1V4zz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__progress-bar-info__3oEOY{background-color:#5bc0de}.Summary__progress-striped__1tm-F .Summary__progress-bar-info__3oEOY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__progress-bar-warning__1PM3S{background-color:#f0ad4e}.Summary__progress-striped__1tm-F .Summary__progress-bar-warning__1PM3S{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__progress-bar-danger__2aKFH{background-color:#ef5354}.Summary__progress-striped__1tm-F .Summary__progress-bar-danger__2aKFH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Summary__tooltip__eDiAG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Summary__tooltip__eDiAG.Summary__in__7sgfl{filter:alpha(opacity=90);opacity:.9}.Summary__tooltip__eDiAG.Summary__top__pxRha{padding:5px 0;margin-top:-3px}.Summary__tooltip__eDiAG.Summary__right__1O3bt{padding:0 5px;margin-left:3px}.Summary__tooltip__eDiAG.Summary__bottom__1cuEf{padding:5px 0;margin-top:3px}.Summary__tooltip__eDiAG.Summary__left__vZGJ_{padding:0 5px;margin-left:-3px}.Summary__tooltip__eDiAG.Summary__top__pxRha .Summary__tooltip-arrow__2W71o{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Summary__tooltip__eDiAG.Summary__top-left__1obgG .Summary__tooltip-arrow__2W71o{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Summary__tooltip__eDiAG.Summary__top-right__3upDU .Summary__tooltip-arrow__2W71o{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Summary__tooltip__eDiAG.Summary__right__1O3bt .Summary__tooltip-arrow__2W71o{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Summary__tooltip__eDiAG.Summary__left__vZGJ_ .Summary__tooltip-arrow__2W71o{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Summary__tooltip__eDiAG.Summary__bottom__1cuEf .Summary__tooltip-arrow__2W71o{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Summary__tooltip__eDiAG.Summary__bottom-left__2oU3o .Summary__tooltip-arrow__2W71o{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Summary__tooltip__eDiAG.Summary__bottom-right__2k6i4 .Summary__tooltip-arrow__2W71o{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Summary__tooltip-inner__1Yroz{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Summary__tooltip-arrow__2W71o{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Summary__main__3L15I{background:#fff;width:100%}.Summary__main__3L15I code{font-size:13px}.Summary__main__3L15I thead{border-bottom:1px solid #f5f5f5}.Summary__main__3L15I td,.Summary__main__3L15I th{padding-top:6px;padding-bottom:6px;padding-right:10px}.Summary__main__3L15I td{border-bottom:1px solid #f3f6f8}.Summary__main__3L15I tr:last-of-type td{border-bottom:none}.Summary__main__3L15I a .Summary__rawId__1m-WX{color:#195ad6}.Summary__main__3L15I a:hover .Summary__rawId__1m-WX{text-decoration:underline}.Summary__colAction__1pBsx{padding-left:30px}.Summary__colAccount__1pnMT,.Summary__colAction__1pBsx,.Summary__colAmount__2zblu,.Summary__colAsset__tmO7c{color:#20252d;width:20%}.Summary__colVote__2OkOE{color:#20252d;width:10%}.Summary__amount__s6hW7{color:#20252d;background:none}.Summary__colLabel__BG0DE{color:#bac0c7;text-align:right;width:7%}.Summary__immature__Pzq3K{margin-left:5px;color:#dd2c2c}.Summary__rawId__1m-WX{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:150px;vertical-align:middle}.Summary__nodePubkey__2JtMo{min-width:75px}@-webkit-keyframes DetailSummary__progress-bar-stripes__gjzay{0%{background-position:40px 0}to{background-position:0 0}}@keyframes DetailSummary__progress-bar-stripes__gjzay{0%{background-position:40px 0}to{background-position:0 0}}.DetailSummary__progress__1D8wI{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.DetailSummary__progress-bar__3FEB_{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.DetailSummary__progress-bar-striped__3-3Nm,.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar__3FEB_{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.DetailSummary__progress-bar__3FEB_.DetailSummary__active__LGdP-,.DetailSummary__progress__1D8wI.DetailSummary__active__LGdP- .DetailSummary__progress-bar__3FEB_{-webkit-animation:DetailSummary__progress-bar-stripes__gjzay 2s linear infinite;animation:DetailSummary__progress-bar-stripes__gjzay 2s linear infinite}.DetailSummary__progress-bar-success__3grbl{background-color:#5cb85c}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-success__3grbl{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-info__15ebM{background-color:#5bc0de}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-info__15ebM{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-warning__1QoBo{background-color:#f0ad4e}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-warning__1QoBo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__progress-bar-danger__1EKdn{background-color:#ef5354}.DetailSummary__progress-striped__2HKyU .DetailSummary__progress-bar-danger__1EKdn{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.DetailSummary__tooltip__3VWZA{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.DetailSummary__tooltip__3VWZA.DetailSummary__in__1o16O{filter:alpha(opacity=90);opacity:.9}.DetailSummary__tooltip__3VWZA.DetailSummary__top__2fmu1{padding:5px 0;margin-top:-3px}.DetailSummary__tooltip__3VWZA.DetailSummary__right__19ZOp{padding:0 5px;margin-left:3px}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom__2cWJv{padding:5px 0;margin-top:3px}.DetailSummary__tooltip__3VWZA.DetailSummary__left__37zqH{padding:0 5px;margin-left:-3px}.DetailSummary__tooltip__3VWZA.DetailSummary__top__2fmu1 .DetailSummary__tooltip-arrow__10iK2{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__top-left__12aE1 .DetailSummary__tooltip-arrow__10iK2{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__top-right__ZnrAL .DetailSummary__tooltip-arrow__10iK2{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__right__19ZOp .DetailSummary__tooltip-arrow__10iK2{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__left__37zqH .DetailSummary__tooltip-arrow__10iK2{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom__2cWJv .DetailSummary__tooltip-arrow__10iK2{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom-left__1EXyG .DetailSummary__tooltip-arrow__10iK2{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip__3VWZA.DetailSummary__bottom-right__2kSLV .DetailSummary__tooltip-arrow__10iK2{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.DetailSummary__tooltip-inner__2i4YI{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.DetailSummary__tooltip-arrow__10iK2{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.DetailSummary__main__28Xcp{background:#fff;width:100%}.DetailSummary__main__28Xcp .DetailSummary__row__qH5eY{display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid #f3f6f8}.DetailSummary__main__28Xcp .DetailSummary__col__2H41Y{padding-top:13px;padding-bottom:13px;padding-right:10px}.DetailSummary__main__28Xcp .DetailSummary__col__2H41Y:last-child{padding-right:30px}.DetailSummary__main__28Xcp .DetailSummary__row__qH5eY:last-child{border-bottom:none}.DetailSummary__main__28Xcp a .DetailSummary__rawId__1QgaQ{color:#195ad6}.DetailSummary__main__28Xcp a:hover .DetailSummary__rawId__1QgaQ{text-decoration:underline}.DetailSummary__colAction__k6Ki1{padding-left:25px;text-transform:uppercase;font-weight:500}.DetailSummary__colAction__k6Ki1 img{width:20px;margin-bottom:4px;margin-right:6px}.DetailSummary__colAction__k6Ki1,.DetailSummary__colAmount__18s5E{color:#20252d}.DetailSummary__colAction__k6Ki1{width:22%;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.DetailSummary__account__4k-W8{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1}.DetailSummary__middle__3LiUa{width:50%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2}.DetailSummary__end__1woyG{width:28%;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end}.DetailSummary__amount__1x3FD{background:none}.DetailSummary__emphasisLabel__3IZEE{color:#20252d}.DetailSummary__colLabel__1Km8p{color:#bac0c7;text-align:right}.DetailSummary__colUnit__1QVzI{text-align:right;white-space:nowrap}.DetailSummary__colUnit__1QVzI>a{max-width:100px;overflow:hidden;text-overflow:ellipsis;display:block}.DetailSummary__immature__2XJcR{text-transform:lowercase;margin-left:5px;color:#dd2c2c}.DetailSummary__rawId__1QgaQ{display:inline-block;overflow:hidden;text-overflow:ellipsis;max-width:150px;vertical-align:middle}.DetailSummary__recievedAmount__1GOAH{text-align:right}@-webkit-keyframes New__progress-bar-stripes__1l4HF{0%{background-position:40px 0}to{background-position:0 0}}@keyframes New__progress-bar-stripes__1l4HF{0%{background-position:40px 0}to{background-position:0 0}}.New__progress__2MMc4{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.New__progress-bar__3lhQw{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.New__progress-bar-striped__3NSkp,.New__progress-striped__3HO2a .New__progress-bar__3lhQw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.New__progress-bar__3lhQw.New__active__2mQ4Z,.New__progress__2MMc4.New__active__2mQ4Z .New__progress-bar__3lhQw{-webkit-animation:New__progress-bar-stripes__1l4HF 2s linear infinite;animation:New__progress-bar-stripes__1l4HF 2s linear infinite}.New__progress-bar-success__3MZWS{background-color:#5cb85c}.New__progress-striped__3HO2a .New__progress-bar-success__3MZWS{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-info__2vJma{background-color:#5bc0de}.New__progress-striped__3HO2a .New__progress-bar-info__2vJma{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-warning__XYMgH{background-color:#f0ad4e}.New__progress-striped__3HO2a .New__progress-bar-warning__XYMgH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__progress-bar-danger__2XfZH{background-color:#ef5354}.New__progress-striped__3HO2a .New__progress-bar-danger__2XfZH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.New__tooltip__2RYxe{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.New__tooltip__2RYxe.New__in__2O-sD{filter:alpha(opacity=90);opacity:.9}.New__tooltip__2RYxe.New__top__BT10e{padding:5px 0;margin-top:-3px}.New__tooltip__2RYxe.New__right__HSnMR{padding:0 5px;margin-left:3px}.New__tooltip__2RYxe.New__bottom__2QvBq{padding:5px 0;margin-top:3px}.New__tooltip__2RYxe.New__left__2bj66{padding:0 5px;margin-left:-3px}.New__tooltip__2RYxe.New__top__BT10e .New__tooltip-arrow__EmJKl{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__2RYxe.New__top-left__3-59o .New__tooltip-arrow__EmJKl{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__2RYxe.New__top-right__nK792 .New__tooltip-arrow__EmJKl{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.New__tooltip__2RYxe.New__right__HSnMR .New__tooltip-arrow__EmJKl{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.New__tooltip__2RYxe.New__left__2bj66 .New__tooltip-arrow__EmJKl{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.New__tooltip__2RYxe.New__bottom__2QvBq .New__tooltip-arrow__EmJKl{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__2RYxe.New__bottom-left__30CqC .New__tooltip-arrow__EmJKl{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip__2RYxe.New__bottom-right__2wDx2 .New__tooltip-arrow__EmJKl{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.New__tooltip-inner__2Fz0l{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.New__tooltip-arrow__EmJKl{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.New__mainContainer__2-t4h{background:#fff;padding:0 30px;margin:90px 30px 30px;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.New__mainContainer__2-t4h,.New__txFeeBox__1R0YK{display:-webkit-flex;display:-ms-flexbox;display:flex}.New__txFeeBox__1R0YK{-webkit-align-items:center;-ms-flex-align:center;align-items:center}.New__feeDescription__1qtZW{width:50%;margin-left:30px;margin-bottom:30px}.New__center__1Qg4M{margin:0 auto;width:100%}.New__content__6Kt2e{min-width:400px;width:55%}.New__container__2nnLe{max-width:870px;width:100%;margin:0 auto}.New__submit__nDaYB{text-align:right}.New__submitTable__2v45s{border-spacing:5px}.New__submitTable__2v45s tr:first-child td{padding-bottom:15px}.New__submitTable__2v45s td input{margin-right:7px}.New__submitTable__2v45s td{padding:0;vertical-align:top}.New__submitTable__2v45s label{margin-bottom:0;color:#20252d}.New__submitTable__2v45s .New__submitDescription__1Xs87{font-weight:400;color:#747c89;line-height:1.4}.New__actionInfo__SsB32{margin-bottom:30px}.New__btnGroup__wFYx3{margin-top:30px;text-align:center}.New__btnGroup__wFYx3 button{padding:0 40px;color:#747c89}.New__btnGroup__wFYx3 button.New__active__2mQ4Z{background-color:#195ad6;color:#fff}.New__title__dO8cU{color:#20252d;font-size:16px}.New__estimateGas__1v4Kk{margin-left:10px;font-size:8px;color:#747c89}.New__mainBox__3FrbZ{border:1px solid #f5f5f5;padding:30px;margin-bottom:30px}.New__tutorialItem__2pUxj{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.New__tutorialItem__2pUxj>div:first-of-type{width:60%;min-width:350px}.New__item__3oIpA{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative}.New__item__3oIpA .form-group{-webkit-flex:1;-ms-flex:1;flex:1}.New__item__3oIpA .form-group:not(:last-child){margin-right:30px}.New__subjectField__3796l{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start}.New__subjectField__3796l .form-group{-webkit-flex:1;-ms-flex:1;flex:1;margin-right:30px}.New__subjectField__3796l .New__deleteButton__2dvTq{margin-top:35px}.New__balanceHint__o384j{position:relative;top:-30px}.New__optionsBtnContianer__1WTod{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:3px;height:150px}.New__optionsBtnContianer__1WTod input{margin:0 5px}.New__optionsBtnContianer__1WTod>label{height:40px;overflow-y:hidden}.New__optionsBtnContianer__1WTod>label>label{line-height:36px}.New__optionsBtnContianer__1WTod .New__form-group__12tRg{margin-bottom:0!important}.New__optionsBtn__2ect0{margin:5px 0}.New__optionsLabel__3JMy8{vertical-align:top;width:150px}.New__receiverBtn__1DFp4{position:absolute;right:-29px;margin-top:32px;width:25px;height:25px;font-size:22px;line-height:20px;padding:1px 5px 0}.New__borderBottom__3t9Cy{border-bottom:1px solid #f5f5f5}.New__switch__1Z5Sc{margin-top:5px;position:relative;display:inline-block;width:44px;height:22px}.New__switch__1Z5Sc input{display:none}.New__switch__1Z5Sc input:checked+.New__slider__2M7LN{background-color:#195ad6}.New__switch__1Z5Sc input:focus+.New__slider__2M7LN{box-shadow:0 0 1px #195ad6}.New__switch__1Z5Sc input:checked+.New__slider__2M7LN:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.New__slider__2M7LN{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.New__slider__2M7LN:before{position:absolute;content:\"\";height:18px;width:18px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%}.New__submitSwitch__yjPB_{display:-webkit-flex;display:-ms-flexbox;display:flex;min-width:370px;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.New__label__1Ceh4{margin-right:7.5px}.New__submitSwitchSet__3ICY-{display:-webkit-flex;display:-ms-flexbox;display:flex;margin-bottom:30px;-webkit-align-items:center;-ms-flex-align:center;align-items:center}@-webkit-keyframes TxContainer__progress-bar-stripes__ufAdb{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TxContainer__progress-bar-stripes__ufAdb{0%{background-position:40px 0}to{background-position:0 0}}.TxContainer__progress__8hjSE{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TxContainer__progress-bar__X-3tP{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TxContainer__progress-bar-striped__1vt1j,.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar__X-3tP{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TxContainer__progress-bar__X-3tP.TxContainer__active__12dLY,.TxContainer__progress__8hjSE.TxContainer__active__12dLY .TxContainer__progress-bar__X-3tP{-webkit-animation:TxContainer__progress-bar-stripes__ufAdb 2s linear infinite;animation:TxContainer__progress-bar-stripes__ufAdb 2s linear infinite}.TxContainer__progress-bar-success__3yAN3{background-color:#5cb85c}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-success__3yAN3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__progress-bar-info__1_Kem{background-color:#5bc0de}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-info__1_Kem{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__progress-bar-warning__J1Hf2{background-color:#f0ad4e}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-warning__J1Hf2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__progress-bar-danger__1EMQN{background-color:#ef5354}.TxContainer__progress-striped__3hyc1 .TxContainer__progress-bar-danger__1EMQN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TxContainer__tooltip__2NT88{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TxContainer__tooltip__2NT88.TxContainer__in__23yjE{filter:alpha(opacity=90);opacity:.9}.TxContainer__tooltip__2NT88.TxContainer__top__1cS8z{padding:5px 0;margin-top:-3px}.TxContainer__tooltip__2NT88.TxContainer__right__qGDVG{padding:0 5px;margin-left:3px}.TxContainer__tooltip__2NT88.TxContainer__bottom__3P1qF{padding:5px 0;margin-top:3px}.TxContainer__tooltip__2NT88.TxContainer__left__22TYt{padding:0 5px;margin-left:-3px}.TxContainer__tooltip__2NT88.TxContainer__top__1cS8z .TxContainer__tooltip-arrow__3olGA{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TxContainer__tooltip__2NT88.TxContainer__top-left__2aap7 .TxContainer__tooltip-arrow__3olGA{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TxContainer__tooltip__2NT88.TxContainer__top-right__3E39S .TxContainer__tooltip-arrow__3olGA{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TxContainer__tooltip__2NT88.TxContainer__right__qGDVG .TxContainer__tooltip-arrow__3olGA{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TxContainer__tooltip__2NT88.TxContainer__left__22TYt .TxContainer__tooltip-arrow__3olGA{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TxContainer__tooltip__2NT88.TxContainer__bottom__3P1qF .TxContainer__tooltip-arrow__3olGA{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TxContainer__tooltip__2NT88.TxContainer__bottom-left__2VYCj .TxContainer__tooltip-arrow__3olGA{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TxContainer__tooltip__2NT88.TxContainer__bottom-right__XC4-d .TxContainer__tooltip-arrow__3olGA{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TxContainer__tooltip-inner__14x3D{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TxContainer__tooltip-arrow__3olGA{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TxContainer__main__BhstN{background:#fff;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0 30px;margin-top:60px}.TxContainer__content__2PfIm{min-width:400px;width:55%;margin:0 auto}.TxContainer__submit__m3Y45{text-align:right}@-webkit-keyframes ConfirmModal__progress-bar-stripes__jTTXQ{0%{background-position:40px 0}to{background-position:0 0}}@keyframes ConfirmModal__progress-bar-stripes__jTTXQ{0%{background-position:40px 0}to{background-position:0 0}}.ConfirmModal__progress__2EhGZ{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.ConfirmModal__progress-bar__365ZH{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.ConfirmModal__progress-bar-striped__2OawW,.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar__365ZH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.ConfirmModal__progress-bar__365ZH.ConfirmModal__active__3q90o,.ConfirmModal__progress__2EhGZ.ConfirmModal__active__3q90o .ConfirmModal__progress-bar__365ZH{-webkit-animation:ConfirmModal__progress-bar-stripes__jTTXQ 2s linear infinite;animation:ConfirmModal__progress-bar-stripes__jTTXQ 2s linear infinite}.ConfirmModal__progress-bar-success__1ye2p{background-color:#5cb85c}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-success__1ye2p{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__progress-bar-info__3HWAk{background-color:#5bc0de}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-info__3HWAk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__progress-bar-warning__2GPs4{background-color:#f0ad4e}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-warning__2GPs4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__progress-bar-danger__2S7lb{background-color:#ef5354}.ConfirmModal__progress-striped__2p3Ez .ConfirmModal__progress-bar-danger__2S7lb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.ConfirmModal__tooltip__2APw_{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.ConfirmModal__tooltip__2APw_.ConfirmModal__in__1wEMm{filter:alpha(opacity=90);opacity:.9}.ConfirmModal__tooltip__2APw_.ConfirmModal__top__NqetT{padding:5px 0;margin-top:-3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__right__IIJZ2{padding:0 5px;margin-left:3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom__Ty0xr{padding:5px 0;margin-top:3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__left__2y66G{padding:0 5px;margin-left:-3px}.ConfirmModal__tooltip__2APw_.ConfirmModal__top__NqetT .ConfirmModal__tooltip-arrow__28hFR{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__top-left__37LZF .ConfirmModal__tooltip-arrow__28hFR{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__top-right__2CGie .ConfirmModal__tooltip-arrow__28hFR{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__right__IIJZ2 .ConfirmModal__tooltip-arrow__28hFR{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__left__2y66G .ConfirmModal__tooltip-arrow__28hFR{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom__Ty0xr .ConfirmModal__tooltip-arrow__28hFR{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom-left__mvXjG .ConfirmModal__tooltip-arrow__28hFR{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmModal__tooltip__2APw_.ConfirmModal__bottom-right__1S-mZ .ConfirmModal__tooltip-arrow__28hFR{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.ConfirmModal__tooltip-inner__rIpCx{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.ConfirmModal__tooltip-arrow__28hFR{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.ConfirmModal__submitIndicator__1OsG9{float:right}.ConfirmModal__btnGroup__1RPWA{display:-webkit-flex;display:-ms-flexbox;display:flex}.ConfirmModal__btnGroup__1RPWA>div{width:50%}.ConfirmModal__btnGroup__1RPWA>div button{width:100%}.ConfirmModal__btnGroup__1RPWA>button{width:50%;margin-left:30px}.ConfirmModal__hr__yYS1d{margin-top:11px;margin-bottom:11px}.ConfirmModal__table__reOw8{word-break:break-all;width:100%}.ConfirmModal__table__reOw8 td{padding:4px 0}.ConfirmModal__colLabel__2ALAD{width:20%;color:#20252d;font-weight:500}.ConfirmModal__unit__3Mem1{overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:130px;display:inline-block}@-webkit-keyframes CrossChainConfirmModal__progress-bar-stripes__1bh1L{0%{background-position:40px 0}to{background-position:0 0}}@keyframes CrossChainConfirmModal__progress-bar-stripes__1bh1L{0%{background-position:40px 0}to{background-position:0 0}}.CrossChainConfirmModal__progress__B15O8{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.CrossChainConfirmModal__progress-bar__2cL2v{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.CrossChainConfirmModal__progress-bar-striped__aTCun,.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar__2cL2v{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.CrossChainConfirmModal__progress-bar__2cL2v.CrossChainConfirmModal__active__2s0Eo,.CrossChainConfirmModal__progress__B15O8.CrossChainConfirmModal__active__2s0Eo .CrossChainConfirmModal__progress-bar__2cL2v{-webkit-animation:CrossChainConfirmModal__progress-bar-stripes__1bh1L 2s linear infinite;animation:CrossChainConfirmModal__progress-bar-stripes__1bh1L 2s linear infinite}.CrossChainConfirmModal__progress-bar-success__2yZzs{background-color:#5cb85c}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-success__2yZzs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__progress-bar-info__2dFLj{background-color:#5bc0de}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-info__2dFLj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__progress-bar-warning__FxpUJ{background-color:#f0ad4e}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-warning__FxpUJ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__progress-bar-danger__3Vwnw{background-color:#ef5354}.CrossChainConfirmModal__progress-striped__1CgoG .CrossChainConfirmModal__progress-bar-danger__3Vwnw{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.CrossChainConfirmModal__tooltip__a9_OF{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__in__13zJA{filter:alpha(opacity=90);opacity:.9}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top__36hwL{padding:5px 0;margin-top:-3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__right__2Kj4g{padding:0 5px;margin-left:3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom__12dlt{padding:5px 0;margin-top:3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__left__LSWpJ{padding:0 5px;margin-left:-3px}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top__36hwL .CrossChainConfirmModal__tooltip-arrow__s_q9i{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top-left__24xTZ .CrossChainConfirmModal__tooltip-arrow__s_q9i{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__top-right__2qYMP .CrossChainConfirmModal__tooltip-arrow__s_q9i{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__right__2Kj4g .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__left__LSWpJ .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom__12dlt .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom-left__1CHdC .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CrossChainConfirmModal__tooltip__a9_OF.CrossChainConfirmModal__bottom-right__MuMfS .CrossChainConfirmModal__tooltip-arrow__s_q9i{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.CrossChainConfirmModal__tooltip-inner__qKzjR{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.CrossChainConfirmModal__tooltip-arrow__s_q9i{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.CrossChainConfirmModal__submitIndicator__3ebbq{float:right}.CrossChainConfirmModal__btnGroup__pUWkl{display:-webkit-flex;display:-ms-flexbox;display:flex}.CrossChainConfirmModal__btnGroup__pUWkl>div{width:50%}.CrossChainConfirmModal__btnGroup__pUWkl>div button{width:100%}.CrossChainConfirmModal__btnGroup__pUWkl>button{width:50%;margin-left:30px}.CrossChainConfirmModal__hr__CN2PZ{margin-top:11px;margin-bottom:11px}.CrossChainConfirmModal__table__MoPCf{word-break:break-all;width:100%}.CrossChainConfirmModal__table__MoPCf td{padding:4px 0}.CrossChainConfirmModal__colLabel__2A27x{width:20%;color:#20252d;font-weight:500}.CrossChainConfirmModal__unit__30Fqe{overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:130px;display:inline-block}@-webkit-keyframes TransactionDetails__progress-bar-stripes__2NDSj{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TransactionDetails__progress-bar-stripes__2NDSj{0%{background-position:40px 0}to{background-position:0 0}}.TransactionDetails__progress__3Jovc{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TransactionDetails__progress-bar__12GtW{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TransactionDetails__progress-bar-striped__1tsep,.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar__12GtW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TransactionDetails__progress-bar__12GtW.TransactionDetails__active__3nHtP,.TransactionDetails__progress__3Jovc.TransactionDetails__active__3nHtP .TransactionDetails__progress-bar__12GtW{-webkit-animation:TransactionDetails__progress-bar-stripes__2NDSj 2s linear infinite;animation:TransactionDetails__progress-bar-stripes__2NDSj 2s linear infinite}.TransactionDetails__progress-bar-success__1-g6q{background-color:#5cb85c}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-success__1-g6q{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__progress-bar-info__2VS2-{background-color:#5bc0de}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-info__2VS2-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__progress-bar-warning__lvQQ8{background-color:#f0ad4e}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-warning__lvQQ8{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__progress-bar-danger__3C4_x{background-color:#ef5354}.TransactionDetails__progress-striped__5deFH .TransactionDetails__progress-bar-danger__3C4_x{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TransactionDetails__tooltip__10Wg0{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TransactionDetails__tooltip__10Wg0.TransactionDetails__in__pnOT6{filter:alpha(opacity=90);opacity:.9}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top__ytVMR{padding:5px 0;margin-top:-3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__right__3oXsE{padding:0 5px;margin-left:3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom__2gMEs{padding:5px 0;margin-top:3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__left__2ZtHt{padding:0 5px;margin-left:-3px}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top__ytVMR .TransactionDetails__tooltip-arrow__edkfL{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top-left__34TPW .TransactionDetails__tooltip-arrow__edkfL{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__top-right__DpXMS .TransactionDetails__tooltip-arrow__edkfL{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__right__3oXsE .TransactionDetails__tooltip-arrow__edkfL{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__left__2ZtHt .TransactionDetails__tooltip-arrow__edkfL{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom__2gMEs .TransactionDetails__tooltip-arrow__edkfL{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom-left__3eQew .TransactionDetails__tooltip-arrow__edkfL{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TransactionDetails__tooltip__10Wg0.TransactionDetails__bottom-right__uTXHD .TransactionDetails__tooltip-arrow__edkfL{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TransactionDetails__tooltip-inner__m79_R{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TransactionDetails__tooltip-arrow__edkfL{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TransactionDetails__btnGroup__3_twt{margin-bottom:30px}.TransactionDetails__main__1L3Ux{padding:30px;margin-bottom:30px;word-break:break-word;background:#f3f6f8}.TransactionDetails__btn__kk5a2{margin-top:5px;padding:0;float:right;font-size:12px}.TransactionDetails__table__7ImO5{background:#fff;width:100%;margin-bottom:30px}.TransactionDetails__table__7ImO5 code{font-size:13px}.TransactionDetails__table__7ImO5 thead{border-bottom:1px solid #f5f5f5}.TransactionDetails__table__7ImO5 td,.TransactionDetails__table__7ImO5 th{padding-top:8px;padding-bottom:8px;padding-right:13px}.TransactionDetails__table__7ImO5 td{border-bottom:1px solid #f3f6f8}.TransactionDetails__table__7ImO5 tr:last-of-type td{border-bottom:none}.TransactionDetails__table__7ImO5 a .TransactionDetails__rawId__2AjI7{color:#195ad6}.TransactionDetails__table__7ImO5 a:hover .TransactionDetails__rawId__2AjI7{text-decoration:underline}.TransactionDetails__colLabel__2XPpG{color:#20252d;text-align:right;width:25%}.TransactionDetails__txID__11qxa{margin-bottom:30px}@-webkit-keyframes FormActionItem__progress-bar-stripes__1gkL3{0%{background-position:40px 0}to{background-position:0 0}}@keyframes FormActionItem__progress-bar-stripes__1gkL3{0%{background-position:40px 0}to{background-position:0 0}}.FormActionItem__progress__179Ws{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.FormActionItem__progress-bar__30Ryz{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.FormActionItem__progress-bar-striped__E_8cV,.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar__30Ryz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.FormActionItem__progress-bar__30Ryz.FormActionItem__active__1UGMY,.FormActionItem__progress__179Ws.FormActionItem__active__1UGMY .FormActionItem__progress-bar__30Ryz{-webkit-animation:FormActionItem__progress-bar-stripes__1gkL3 2s linear infinite;animation:FormActionItem__progress-bar-stripes__1gkL3 2s linear infinite}.FormActionItem__progress-bar-success__1iK2u{background-color:#5cb85c}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-success__1iK2u{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__progress-bar-info__2sajB{background-color:#5bc0de}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-info__2sajB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__progress-bar-warning__1yU5N{background-color:#f0ad4e}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-warning__1yU5N{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__progress-bar-danger__2mA3w{background-color:#ef5354}.FormActionItem__progress-striped__28X4D .FormActionItem__progress-bar-danger__2mA3w{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.FormActionItem__tooltip__3urBp{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.FormActionItem__tooltip__3urBp.FormActionItem__in__2o_7v{filter:alpha(opacity=90);opacity:.9}.FormActionItem__tooltip__3urBp.FormActionItem__top__OUhRa{padding:5px 0;margin-top:-3px}.FormActionItem__tooltip__3urBp.FormActionItem__right__3D4M8{padding:0 5px;margin-left:3px}.FormActionItem__tooltip__3urBp.FormActionItem__bottom__2ZBES{padding:5px 0;margin-top:3px}.FormActionItem__tooltip__3urBp.FormActionItem__left__3ekYp{padding:0 5px;margin-left:-3px}.FormActionItem__tooltip__3urBp.FormActionItem__top__OUhRa .FormActionItem__tooltip-arrow__1Q3LO{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__top-left__2vKy1 .FormActionItem__tooltip-arrow__1Q3LO{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__top-right__102U9 .FormActionItem__tooltip-arrow__1Q3LO{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__right__3D4M8 .FormActionItem__tooltip-arrow__1Q3LO{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__left__3ekYp .FormActionItem__tooltip-arrow__1Q3LO{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__bottom__2ZBES .FormActionItem__tooltip-arrow__1Q3LO{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__bottom-left__2gC3m .FormActionItem__tooltip-arrow__1Q3LO{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormActionItem__tooltip__3urBp.FormActionItem__bottom-right__2qk_n .FormActionItem__tooltip-arrow__1Q3LO{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.FormActionItem__tooltip-inner__MgAN6{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.FormActionItem__tooltip-arrow__1Q3LO{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.FormActionItem__main__q9zTA{border:1px solid #f5f5f5;padding:30px;margin-bottom:30px}.FormActionItem__error__2JMgJ{border-color:#f3aaaa}.FormActionItem__header__1hync{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:30px}.FormActionItem__title__LVKpm{color:#20252d;font-size:14px;font-weight:600}@-webkit-keyframes VoteConfirmModal__progress-bar-stripes__1vkJW{0%{background-position:40px 0}to{background-position:0 0}}@keyframes VoteConfirmModal__progress-bar-stripes__1vkJW{0%{background-position:40px 0}to{background-position:0 0}}.VoteConfirmModal__progress__20v1g{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.VoteConfirmModal__progress-bar__8pT-y{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.VoteConfirmModal__progress-bar-striped__ONZnu,.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar__8pT-y{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.VoteConfirmModal__progress-bar__8pT-y.VoteConfirmModal__active__1I4Ve,.VoteConfirmModal__progress__20v1g.VoteConfirmModal__active__1I4Ve .VoteConfirmModal__progress-bar__8pT-y{-webkit-animation:VoteConfirmModal__progress-bar-stripes__1vkJW 2s linear infinite;animation:VoteConfirmModal__progress-bar-stripes__1vkJW 2s linear infinite}.VoteConfirmModal__progress-bar-success__11pbI{background-color:#5cb85c}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-success__11pbI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__progress-bar-info__LbTKr{background-color:#5bc0de}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-info__LbTKr{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__progress-bar-warning__2et3n{background-color:#f0ad4e}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-warning__2et3n{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__progress-bar-danger__2iPp4{background-color:#ef5354}.VoteConfirmModal__progress-striped__376Sh .VoteConfirmModal__progress-bar-danger__2iPp4{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.VoteConfirmModal__tooltip__2NJrG{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__in__vcY-J{filter:alpha(opacity=90);opacity:.9}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top__2NUe7{padding:5px 0;margin-top:-3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__right__2tqUp{padding:0 5px;margin-left:3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom__RImAq{padding:5px 0;margin-top:3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__left__1espM{padding:0 5px;margin-left:-3px}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top__2NUe7 .VoteConfirmModal__tooltip-arrow__15RH2{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top-left__3izD9 .VoteConfirmModal__tooltip-arrow__15RH2{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__top-right__3ymmT .VoteConfirmModal__tooltip-arrow__15RH2{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__right__2tqUp .VoteConfirmModal__tooltip-arrow__15RH2{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__left__1espM .VoteConfirmModal__tooltip-arrow__15RH2{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom__RImAq .VoteConfirmModal__tooltip-arrow__15RH2{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom-left__6dHB_ .VoteConfirmModal__tooltip-arrow__15RH2{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteConfirmModal__tooltip__2NJrG.VoteConfirmModal__bottom-right__3qZTI .VoteConfirmModal__tooltip-arrow__15RH2{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.VoteConfirmModal__tooltip-inner__2lxda{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.VoteConfirmModal__tooltip-arrow__15RH2{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.VoteConfirmModal__submitIndicator__2EpHu{float:right}.VoteConfirmModal__btnGroup__rA57m{display:-webkit-flex;display:-ms-flexbox;display:flex}.VoteConfirmModal__btnGroup__rA57m>div{width:50%}.VoteConfirmModal__btnGroup__rA57m>div button{width:100%}.VoteConfirmModal__btnGroup__rA57m>button{width:50%;margin-left:30px}.VoteConfirmModal__hr__3TzmN{margin-top:11px;margin-bottom:11px}.VoteConfirmModal__table__1-kzp{word-break:break-all;width:100%}.VoteConfirmModal__table__1-kzp td{padding:4px 0}.VoteConfirmModal__colLabel__1RMRz{width:20%;color:#20252d;font-weight:500}.VoteConfirmModal__unit__1ukVS{overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;width:130px;display:inline-block}@-webkit-keyframes GeneratedTxHex__progress-bar-stripes__3h0VL{0%{background-position:40px 0}to{background-position:0 0}}@keyframes GeneratedTxHex__progress-bar-stripes__3h0VL{0%{background-position:40px 0}to{background-position:0 0}}.GeneratedTxHex__progress__3xmiG{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.GeneratedTxHex__progress-bar__2nG81{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.GeneratedTxHex__progress-bar-striped__2e3wB,.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar__2nG81{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.GeneratedTxHex__progress-bar__2nG81.GeneratedTxHex__active__3Wthg,.GeneratedTxHex__progress__3xmiG.GeneratedTxHex__active__3Wthg .GeneratedTxHex__progress-bar__2nG81{-webkit-animation:GeneratedTxHex__progress-bar-stripes__3h0VL 2s linear infinite;animation:GeneratedTxHex__progress-bar-stripes__3h0VL 2s linear infinite}.GeneratedTxHex__progress-bar-success__G7HFx{background-color:#5cb85c}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-success__G7HFx{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__progress-bar-info__VRKGW{background-color:#5bc0de}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-info__VRKGW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__progress-bar-warning__1ZePZ{background-color:#f0ad4e}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-warning__1ZePZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__progress-bar-danger__1X-hD{background-color:#ef5354}.GeneratedTxHex__progress-striped__1EXXb .GeneratedTxHex__progress-bar-danger__1X-hD{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GeneratedTxHex__tooltip__2JhUN{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__in__3Of5d{filter:alpha(opacity=90);opacity:.9}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top__3_Tcd{padding:5px 0;margin-top:-3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__right__3hMFa{padding:0 5px;margin-left:3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom__1evC3{padding:5px 0;margin-top:3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__left__dSeji{padding:0 5px;margin-left:-3px}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top__3_Tcd .GeneratedTxHex__tooltip-arrow__1L1Lg{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top-left__Vk9iy .GeneratedTxHex__tooltip-arrow__1L1Lg{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__top-right__1AHdX .GeneratedTxHex__tooltip-arrow__1L1Lg{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__right__3hMFa .GeneratedTxHex__tooltip-arrow__1L1Lg{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__left__dSeji .GeneratedTxHex__tooltip-arrow__1L1Lg{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom__1evC3 .GeneratedTxHex__tooltip-arrow__1L1Lg{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom-left__30E92 .GeneratedTxHex__tooltip-arrow__1L1Lg{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GeneratedTxHex__tooltip__2JhUN.GeneratedTxHex__bottom-right__hYHS_ .GeneratedTxHex__tooltip-arrow__1L1Lg{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GeneratedTxHex__tooltip-inner__15WkF{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.GeneratedTxHex__tooltip-arrow__1L1Lg{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.GeneratedTxHex__main__3OJO4{background:#fff;padding:30px;margin:0 auto}.GeneratedTxHex__hex__fvV-s{word-break:break-all;word-wrap:break-word;white-space:pre-wrap;margin-top:5px;margin-left:auto;margin-right:auto;padding:10px;background-color:#eee}.GeneratedTxHex__mgl__2-jYS{margin-left:15px}@-webkit-keyframes QrCode__progress-bar-stripes__1iCCZ{0%{background-position:40px 0}to{background-position:0 0}}@keyframes QrCode__progress-bar-stripes__1iCCZ{0%{background-position:40px 0}to{background-position:0 0}}.QrCode__progress__1PnDK{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.QrCode__progress-bar__I2BvB{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.QrCode__progress-bar-striped__2etPO,.QrCode__progress-striped__1R4wh .QrCode__progress-bar__I2BvB{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.QrCode__progress-bar__I2BvB.QrCode__active__27IZy,.QrCode__progress__1PnDK.QrCode__active__27IZy .QrCode__progress-bar__I2BvB{-webkit-animation:QrCode__progress-bar-stripes__1iCCZ 2s linear infinite;animation:QrCode__progress-bar-stripes__1iCCZ 2s linear infinite}.QrCode__progress-bar-success__sYc9k{background-color:#5cb85c}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-success__sYc9k{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__progress-bar-info__3woV1{background-color:#5bc0de}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-info__3woV1{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__progress-bar-warning__29naC{background-color:#f0ad4e}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-warning__29naC{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__progress-bar-danger__1BJdo{background-color:#ef5354}.QrCode__progress-striped__1R4wh .QrCode__progress-bar-danger__1BJdo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.QrCode__tooltip__3X4JO{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.QrCode__tooltip__3X4JO.QrCode__in__R4UxO{filter:alpha(opacity=90);opacity:.9}.QrCode__tooltip__3X4JO.QrCode__top__1CSTZ{padding:5px 0;margin-top:-3px}.QrCode__tooltip__3X4JO.QrCode__right__22-LS{padding:0 5px;margin-left:3px}.QrCode__tooltip__3X4JO.QrCode__bottom__3z03l{padding:5px 0;margin-top:3px}.QrCode__tooltip__3X4JO.QrCode__left__33KTN{padding:0 5px;margin-left:-3px}.QrCode__tooltip__3X4JO.QrCode__top__1CSTZ .QrCode__tooltip-arrow__1gMox{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.QrCode__tooltip__3X4JO.QrCode__top-left__2Ub_7 .QrCode__tooltip-arrow__1gMox{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.QrCode__tooltip__3X4JO.QrCode__top-right__uWZ_O .QrCode__tooltip-arrow__1gMox{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.QrCode__tooltip__3X4JO.QrCode__right__22-LS .QrCode__tooltip-arrow__1gMox{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.QrCode__tooltip__3X4JO.QrCode__left__33KTN .QrCode__tooltip-arrow__1gMox{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.QrCode__tooltip__3X4JO.QrCode__bottom__3z03l .QrCode__tooltip-arrow__1gMox{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.QrCode__tooltip__3X4JO.QrCode__bottom-left__3fs5F .QrCode__tooltip-arrow__1gMox{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.QrCode__tooltip__3X4JO.QrCode__bottom-right__2MXv0 .QrCode__tooltip-arrow__1gMox{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.QrCode__tooltip-inner__ffDXZ{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.QrCode__tooltip-arrow__1gMox{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.QrCode__code__2GSi9{display:block;margin:auto}.QrCode__progressBar__2cJxt{height:6px;margin-top:15px}@-webkit-keyframes List__progress-bar-stripes__39id3{0%{background-position:40px 0}to{background-position:0 0}}@keyframes List__progress-bar-stripes__39id3{0%{background-position:40px 0}to{background-position:0 0}}.List__progress__2Dh9E{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.List__progress-bar__YbEBL{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.List__progress-bar-striped__U4E9h,.List__progress-striped__1UFwo .List__progress-bar__YbEBL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.List__progress-bar__YbEBL.List__active__2me18,.List__progress__2Dh9E.List__active__2me18 .List__progress-bar__YbEBL{-webkit-animation:List__progress-bar-stripes__39id3 2s linear infinite;animation:List__progress-bar-stripes__39id3 2s linear infinite}.List__progress-bar-success__1TTJY{background-color:#5cb85c}.List__progress-striped__1UFwo .List__progress-bar-success__1TTJY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-info__3lzpL{background-color:#5bc0de}.List__progress-striped__1UFwo .List__progress-bar-info__3lzpL{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-warning__26JGp{background-color:#f0ad4e}.List__progress-striped__1UFwo .List__progress-bar-warning__26JGp{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__progress-bar-danger__SZrXy{background-color:#ef5354}.List__progress-striped__1UFwo .List__progress-bar-danger__SZrXy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.List__tooltip__-QXEl{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.List__tooltip__-QXEl.List__in__VBAGe{filter:alpha(opacity=90);opacity:.9}.List__tooltip__-QXEl.List__top__SglWV{padding:5px 0;margin-top:-3px}.List__tooltip__-QXEl.List__right__1zdrn{padding:0 5px;margin-left:3px}.List__tooltip__-QXEl.List__bottom__13A0p{padding:5px 0;margin-top:3px}.List__tooltip__-QXEl.List__left__efcFr{padding:0 5px;margin-left:-3px}.List__tooltip__-QXEl.List__top__SglWV .List__tooltip-arrow__1s3hP{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__-QXEl.List__top-left__30DE9 .List__tooltip-arrow__1s3hP{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__-QXEl.List__top-right__1_Kii .List__tooltip-arrow__1s3hP{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.List__tooltip__-QXEl.List__right__1zdrn .List__tooltip-arrow__1s3hP{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.List__tooltip__-QXEl.List__left__efcFr .List__tooltip-arrow__1s3hP{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.List__tooltip__-QXEl.List__bottom__13A0p .List__tooltip-arrow__1s3hP{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__-QXEl.List__bottom-left__1iFXx .List__tooltip-arrow__1s3hP{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip__-QXEl.List__bottom-right__3Pv0Q .List__tooltip-arrow__1s3hP{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.List__tooltip-inner__20srf{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.List__tooltip-arrow__1s3hP{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.List__main__3aglb td:first-child,.List__main__3aglb th:first-child{padding-left:30px;width:33%}.List__main__3aglb td:last-child,.List__main__3aglb th:last-child{width:100px}@-webkit-keyframes Main__progress-bar-stripes__2Qq8h{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Main__progress-bar-stripes__2Qq8h{0%{background-position:40px 0}to{background-position:0 0}}.Main__progress__S94Hk{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Main__progress-bar__1167Q{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Main__progress-bar-striped__1mSaW,.Main__progress-striped__3F4wp .Main__progress-bar__1167Q{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Main__progress-bar__1167Q.Main__active__3v2Qq,.Main__progress__S94Hk.Main__active__3v2Qq .Main__progress-bar__1167Q{-webkit-animation:Main__progress-bar-stripes__2Qq8h 2s linear infinite;animation:Main__progress-bar-stripes__2Qq8h 2s linear infinite}.Main__progress-bar-success__1ftDk{background-color:#5cb85c}.Main__progress-striped__3F4wp .Main__progress-bar-success__1ftDk{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__progress-bar-info__1B2ic{background-color:#5bc0de}.Main__progress-striped__3F4wp .Main__progress-bar-info__1B2ic{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__progress-bar-warning__2QF-g{background-color:#f0ad4e}.Main__progress-striped__3F4wp .Main__progress-bar-warning__2QF-g{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__progress-bar-danger__3lG54{background-color:#ef5354}.Main__progress-striped__3F4wp .Main__progress-bar-danger__3lG54{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Main__tooltip__3GC3n{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Main__tooltip__3GC3n.Main__in__1lbLc{filter:alpha(opacity=90);opacity:.9}.Main__tooltip__3GC3n.Main__top__1gxkl{padding:5px 0;margin-top:-3px}.Main__tooltip__3GC3n.Main__right__2E0Tj{padding:0 5px;margin-left:3px}.Main__tooltip__3GC3n.Main__bottom__3cesW{padding:5px 0;margin-top:3px}.Main__tooltip__3GC3n.Main__left__1aX5Z{padding:0 5px;margin-left:-3px}.Main__tooltip__3GC3n.Main__top__1gxkl .Main__tooltip-arrow__1gzva{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Main__tooltip__3GC3n.Main__top-left__3eiYD .Main__tooltip-arrow__1gzva{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Main__tooltip__3GC3n.Main__top-right__3A2vK .Main__tooltip-arrow__1gzva{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Main__tooltip__3GC3n.Main__right__2E0Tj .Main__tooltip-arrow__1gzva{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Main__tooltip__3GC3n.Main__left__1aX5Z .Main__tooltip-arrow__1gzva{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Main__tooltip__3GC3n.Main__bottom__3cesW .Main__tooltip-arrow__1gzva{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Main__tooltip__3GC3n.Main__bottom-left__j-r1q .Main__tooltip-arrow__1gzva{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Main__tooltip__3GC3n.Main__bottom-right__I9LgK .Main__tooltip-arrow__1gzva{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Main__tooltip-inner__1P3Z0{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Main__tooltip-arrow__1gzva{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Main__main__2CrUS{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex:1;-ms-flex:1;flex:1}.Main__sidebar__23xrF{width:220px;position:fixed;z-index:10}.Main__content__3EmN7{width:100%;background:#f3f6f8;padding-left:220px}.Main__sidebarContent__3xf4d{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjY5MCIgdmlld0JveD0iMCAwIDIxMCA2OTAiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEsIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBzdHJva2U6ICM3MDcwNzA7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcGF0aCk7CiAgICAgIH0KCiAgICAgIC5jbHMtNCB7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICB9CgogICAgICAuY2xzLTQsIC5jbHMtNSB7CiAgICAgICAgZmlsbDogdXJsKCNyYWRpYWwtZ3JhZGllbnQpOwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmNscy02IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcC1wYXRoLTIpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cmVjdCBpZD0ic2lkZWJhciIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMjEwIiBoZWlnaHQ9IjY5MCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCA2MCkiLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8cmFkaWFsR3JhZGllbnQgaWQ9InJhZGlhbC1ncmFkaWVudCIgY3g9IjAuNSIgY3k9IjAuNSIgcj0iMC41IiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2ZmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjAuOTAxIiBzdG9wLWNvbG9yPSIjZmZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI2YzZjZmOCIvPgogICAgPC9yYWRpYWxHcmFkaWVudD4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPgogICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzQ2ODYiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDQ2ODYiIGNsYXNzPSJjbHMtMiIgd2lkdGg9IjIxMCIgaGVpZ2h0PSIxMDgiLz4KICAgIDwvY2xpcFBhdGg+CiAgPC9kZWZzPgogIDxnIGlkPSJCYWNrZ3JvdW5kIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIC02MCkiPgogICAgPHJlY3QgaWQ9InNpZGViYXItMiIgZGF0YS1uYW1lPSJzaWRlYmFyIiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIyMTAiIGhlaWdodD0iNjkwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDYwKSIvPgogICAgPGcgaWQ9Ik1hc2tfR3JvdXBfNzYiIGRhdGEtbmFtZT0iTWFzayBHcm91cCA3NiIgY2xhc3M9ImNscy0zIj4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMjQyOSIgZGF0YS1uYW1lPSJFbGxpcHNlIDI0MjkiIGNsYXNzPSJjbHMtNCIgY3g9IjQ5NC41IiBjeT0iMzk2LjUiIHJ4PSI0OTQuNSIgcnk9IjM5Ni41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjcwIDUwNikiLz4KICAgICAgPGVsbGlwc2UgaWQ9IkVsbGlwc2VfMjQzMCIgZGF0YS1uYW1lPSJFbGxpcHNlIDI0MzAiIGNsYXNzPSJjbHMtNSIgY3g9IjQ5NC41IiBjeT0iNDg3LjUiIHJ4PSI0OTQuNSIgcnk9IjQ4Ny41IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MTMgNjYxKSByb3RhdGUoOTApIi8+CiAgICAgIDxjaXJjbGUgaWQ9IkVsbGlwc2VfMjQyOS0yIiBkYXRhLW5hbWU9IkVsbGlwc2UgMjQyOSIgY2xhc3M9ImNscy01IiBjeD0iNDEyIiBjeT0iNDEyIiByPSI0MTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01NDMgLTI5MikiLz4KICAgICAgPGcgaWQ9Ik1hc2tfR3JvdXBfNzciIGRhdGEtbmFtZT0iTWFzayBHcm91cCA3NyIgY2xhc3M9ImNscy02Ij4KICAgICAgICA8cGF0aCBpZD0iUGF0aF8yNjEyOSIgZGF0YS1uYW1lPSJQYXRoIDI2MTI5IiBjbGFzcz0iY2xzLTQiIGQ9Ik03MTYsMGMzOTUuNDM2LDAsNzE2LDE4NC40NTksNzE2LDQxMlMxMTExLjQzNiw4MjQsNzE2LDgyNCwwLDYzOS41NDEsMCw0MTJDMCwyNzUuMjQ5LDI4MS44ODMsMCwyODEuODgzLDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNTA2IDYwKSIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K);background-color:#fff;background-repeat:no-repeat;background-position:0 60px;background-size:cover;position:fixed;width:220px;height:100%;padding-bottom:30px;overflow-y:auto;-ms-overflow-style:none;z-index:10}.Main__version__30V6N{position:fixed;width:220px;bottom:0;border-top:1px solid #f5f5f5;padding:15px 30px;background:#fcfdfd;font-size:12px}.Main__logo__3c8sL{border-bottom:1px solid #f5f5f5;height:60px;padding-left:30px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.Main__logo__3c8sL img{width:106px;height:28px}.Main__settings__2SkYg{cursor:pointer;line-height:60px;padding-right:10px;position:absolute;right:0;top:0}.Main__settings__2SkYg img{width:28px;height:28px}.Main__languagesContainer__2ghdd{position:absolute;right:38px;top:0;height:60px}.Main__languages__XSMu9{top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);border:none;background-color:hsla(217,8%,50%,.1);color:#747c89;height:27px;line-height:27px!important}.Main__connectionIssue__MlmQz{padding:15px;text-align:center;background:#f8cece;color:#d02828;border-bottom:1px solid #d02828}.Main__languagesMenu__2cz3H{right:-26px}@-webkit-keyframes TutorialHeader__progress-bar-stripes__2Idgf{0%{background-position:40px 0}to{background-position:0 0}}@keyframes TutorialHeader__progress-bar-stripes__2Idgf{0%{background-position:40px 0}to{background-position:0 0}}.TutorialHeader__progress__1csQm{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.TutorialHeader__progress-bar__3fpuy{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.TutorialHeader__progress-bar-striped__268AW,.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar__3fpuy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.TutorialHeader__progress-bar__3fpuy.TutorialHeader__active__17imu,.TutorialHeader__progress__1csQm.TutorialHeader__active__17imu .TutorialHeader__progress-bar__3fpuy{-webkit-animation:TutorialHeader__progress-bar-stripes__2Idgf 2s linear infinite;animation:TutorialHeader__progress-bar-stripes__2Idgf 2s linear infinite}.TutorialHeader__progress-bar-success__3Y_7x{background-color:#5cb85c}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-success__3Y_7x{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__progress-bar-info__3GpVb{background-color:#5bc0de}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-info__3GpVb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__progress-bar-warning__3X0oo{background-color:#f0ad4e}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-warning__3X0oo{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__progress-bar-danger__1aMSb{background-color:#ef5354}.TutorialHeader__progress-striped__3qJox .TutorialHeader__progress-bar-danger__1aMSb{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.TutorialHeader__tooltip__1FWB7{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.TutorialHeader__tooltip__1FWB7.TutorialHeader__in__3MF9h{filter:alpha(opacity=90);opacity:.9}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top__3Qffl{padding:5px 0;margin-top:-3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__right__23-nH{padding:0 5px;margin-left:3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom__HHc8i{padding:5px 0;margin-top:3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__left__3Ahef{padding:0 5px;margin-left:-3px}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top__3Qffl .TutorialHeader__tooltip-arrow__2htH-{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top-left__2vq4A .TutorialHeader__tooltip-arrow__2htH-{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__top-right__3V8cv .TutorialHeader__tooltip-arrow__2htH-{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__right__23-nH .TutorialHeader__tooltip-arrow__2htH-{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__left__3Ahef .TutorialHeader__tooltip-arrow__2htH-{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom__HHc8i .TutorialHeader__tooltip-arrow__2htH-{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom-left__21__4 .TutorialHeader__tooltip-arrow__2htH-{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialHeader__tooltip__1FWB7.TutorialHeader__bottom-right__2TIJr .TutorialHeader__tooltip-arrow__2htH-{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.TutorialHeader__tooltip-inner__2vge0{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.TutorialHeader__tooltip-arrow__2htH-{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.TutorialHeader__main__lEKJv{box-shadow:0 1px 2px 0 rgba(0,0,0,.25);margin-bottom:15px;border-bottom:1px solid #6ea9fc;position:fixed;top:0;left:220px;right:0;z-index:100}.TutorialHeader__collapsed__2uFMY{border-bottom:1px solid #237dfa;box-shadow:none}.TutorialHeader__header__2yjuR{background-color:#6ea9fc;box-sizing:border-box;color:#fff;padding:0 30px;height:60px;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-size:14px;font-weight:500;width:100%}.TutorialHeader__skip__1HyRy{-webkit-flex:1;-ms-flex:1;flex:1;text-align:right}.TutorialHeader__skip__1HyRy a{color:#fff;font-size:13px;font-weight:500;line-height:18px;text-decoration:underline;cursor:pointer}@-webkit-keyframes Login__progress-bar-stripes__-vr4P{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Login__progress-bar-stripes__-vr4P{0%{background-position:40px 0}to{background-position:0 0}}.Login__progress__3Dh0F{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Login__progress-bar__32iE9{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Login__progress-bar-striped__3SLfT,.Login__progress-striped__21p8e .Login__progress-bar__32iE9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Login__progress-bar__32iE9.Login__active__3QMlL,.Login__progress__3Dh0F.Login__active__3QMlL .Login__progress-bar__32iE9{-webkit-animation:Login__progress-bar-stripes__-vr4P 2s linear infinite;animation:Login__progress-bar-stripes__-vr4P 2s linear infinite}.Login__progress-bar-success__3fziN{background-color:#5cb85c}.Login__progress-striped__21p8e .Login__progress-bar-success__3fziN{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__progress-bar-info__3Hx2D{background-color:#5bc0de}.Login__progress-striped__21p8e .Login__progress-bar-info__3Hx2D{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__progress-bar-warning__2mI9n{background-color:#f0ad4e}.Login__progress-striped__21p8e .Login__progress-bar-warning__2mI9n{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__progress-bar-danger__1cq9j{background-color:#ef5354}.Login__progress-striped__21p8e .Login__progress-bar-danger__1cq9j{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Login__tooltip__jpSTt{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Login__tooltip__jpSTt.Login__in__BYTfP{filter:alpha(opacity=90);opacity:.9}.Login__tooltip__jpSTt.Login__top__3BTy0{padding:5px 0;margin-top:-3px}.Login__tooltip__jpSTt.Login__right__1TRRm{padding:0 5px;margin-left:3px}.Login__tooltip__jpSTt.Login__bottom__1JhAq{padding:5px 0;margin-top:3px}.Login__tooltip__jpSTt.Login__left__k0_Wx{padding:0 5px;margin-left:-3px}.Login__tooltip__jpSTt.Login__top__3BTy0 .Login__tooltip-arrow__1glnE{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Login__tooltip__jpSTt.Login__top-left__1ECol .Login__tooltip-arrow__1glnE{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Login__tooltip__jpSTt.Login__top-right__3VoUH .Login__tooltip-arrow__1glnE{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Login__tooltip__jpSTt.Login__right__1TRRm .Login__tooltip-arrow__1glnE{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Login__tooltip__jpSTt.Login__left__k0_Wx .Login__tooltip-arrow__1glnE{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Login__tooltip__jpSTt.Login__bottom__1JhAq .Login__tooltip-arrow__1glnE{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Login__tooltip__jpSTt.Login__bottom-left__3wQYy .Login__tooltip-arrow__1glnE{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Login__tooltip__jpSTt.Login__bottom-right__2Y0HF .Login__tooltip-arrow__1glnE{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Login__tooltip-inner__19mys{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Login__tooltip-arrow__1glnE{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Login__main__37Jey{background:#fff;position:absolute;top:0;bottom:0;left:0;right:0}.Login__image__2YQqX{width:150px;position:absolute;top:100px;left:calc(50% - 75px)}.Login__form__25_4X{background:#fff;border-radius:3px;position:absolute;left:calc(50% - 250px);top:200px;width:500px;padding:30px}@-webkit-keyframes Loading__progress-bar-stripes__3XzRg{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Loading__progress-bar-stripes__3XzRg{0%{background-position:40px 0}to{background-position:0 0}}.Loading__progress__1nevk{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Loading__progress-bar__Y4vE2{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Loading__progress-bar-striped__VrWWQ,.Loading__progress-striped__3dURX .Loading__progress-bar__Y4vE2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Loading__progress-bar__Y4vE2.Loading__active__3tIdR,.Loading__progress__1nevk.Loading__active__3tIdR .Loading__progress-bar__Y4vE2{-webkit-animation:Loading__progress-bar-stripes__3XzRg 2s linear infinite;animation:Loading__progress-bar-stripes__3XzRg 2s linear infinite}.Loading__progress-bar-success__3uE-N{background-color:#5cb85c}.Loading__progress-striped__3dURX .Loading__progress-bar-success__3uE-N{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__progress-bar-info__2qCEh{background-color:#5bc0de}.Loading__progress-striped__3dURX .Loading__progress-bar-info__2qCEh{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__progress-bar-warning__Cz44m{background-color:#f0ad4e}.Loading__progress-striped__3dURX .Loading__progress-bar-warning__Cz44m{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__progress-bar-danger__2neAH{background-color:#ef5354}.Loading__progress-striped__3dURX .Loading__progress-bar-danger__2neAH{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Loading__tooltip__1gIoP{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Loading__tooltip__1gIoP.Loading__in__4ySFz{filter:alpha(opacity=90);opacity:.9}.Loading__tooltip__1gIoP.Loading__top__vD3U3{padding:5px 0;margin-top:-3px}.Loading__tooltip__1gIoP.Loading__right__3W2FR{padding:0 5px;margin-left:3px}.Loading__tooltip__1gIoP.Loading__bottom__31boG{padding:5px 0;margin-top:3px}.Loading__tooltip__1gIoP.Loading__left__2PNMa{padding:0 5px;margin-left:-3px}.Loading__tooltip__1gIoP.Loading__top__vD3U3 .Loading__tooltip-arrow__1zq8c{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Loading__tooltip__1gIoP.Loading__top-left__2GFts .Loading__tooltip-arrow__1zq8c{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Loading__tooltip__1gIoP.Loading__top-right__1AeFH .Loading__tooltip-arrow__1zq8c{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Loading__tooltip__1gIoP.Loading__right__3W2FR .Loading__tooltip-arrow__1zq8c{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Loading__tooltip__1gIoP.Loading__left__2PNMa .Loading__tooltip-arrow__1zq8c{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Loading__tooltip__1gIoP.Loading__bottom__31boG .Loading__tooltip-arrow__1zq8c{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Loading__tooltip__1gIoP.Loading__bottom-left__3genF .Loading__tooltip-arrow__1zq8c{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Loading__tooltip__1gIoP.Loading__bottom-right__A4Tgx .Loading__tooltip-arrow__1zq8c{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Loading__tooltip-inner__3MYtb{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Loading__tooltip-arrow__1zq8c{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}@-webkit-keyframes Loading__pulsing__3RSez{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes Loading__pulsing__3RSez{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.Loading__main__11Yng{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#20252d;font-size:24px;margin-top:-75px}.Loading__logo__2xsAb{width:175px;padding-bottom:30px;-webkit-animation:Loading__pulsing__3RSez 2s infinite;animation:Loading__pulsing__3RSez 2s infinite;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}@-webkit-keyframes Modal__progress-bar-stripes__ECNxO{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Modal__progress-bar-stripes__ECNxO{0%{background-position:40px 0}to{background-position:0 0}}.Modal__progress__1pk_p{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Modal__progress-bar__mHFYY{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Modal__progress-bar-striped__pLbcU,.Modal__progress-striped__1vkq3 .Modal__progress-bar__mHFYY{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Modal__progress-bar__mHFYY.Modal__active__2Q0cA,.Modal__progress__1pk_p.Modal__active__2Q0cA .Modal__progress-bar__mHFYY{-webkit-animation:Modal__progress-bar-stripes__ECNxO 2s linear infinite;animation:Modal__progress-bar-stripes__ECNxO 2s linear infinite}.Modal__progress-bar-success__qs27E{background-color:#5cb85c}.Modal__progress-striped__1vkq3 .Modal__progress-bar-success__qs27E{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__progress-bar-info__2S4Dr{background-color:#5bc0de}.Modal__progress-striped__1vkq3 .Modal__progress-bar-info__2S4Dr{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__progress-bar-warning__dx2VK{background-color:#f0ad4e}.Modal__progress-striped__1vkq3 .Modal__progress-bar-warning__dx2VK{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__progress-bar-danger__3xS8c{background-color:#ef5354}.Modal__progress-striped__1vkq3 .Modal__progress-bar-danger__3xS8c{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Modal__tooltip__XyByj{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Modal__tooltip__XyByj.Modal__in__1fFZB{filter:alpha(opacity=90);opacity:.9}.Modal__tooltip__XyByj.Modal__top__11_Nm{padding:5px 0;margin-top:-3px}.Modal__tooltip__XyByj.Modal__right__2qf1s{padding:0 5px;margin-left:3px}.Modal__tooltip__XyByj.Modal__bottom__3Hx97{padding:5px 0;margin-top:3px}.Modal__tooltip__XyByj.Modal__left__1YS9_{padding:0 5px;margin-left:-3px}.Modal__tooltip__XyByj.Modal__top__11_Nm .Modal__tooltip-arrow__TalEl{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Modal__tooltip__XyByj.Modal__top-left__yjFKr .Modal__tooltip-arrow__TalEl{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Modal__tooltip__XyByj.Modal__top-right__2msdI .Modal__tooltip-arrow__TalEl{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Modal__tooltip__XyByj.Modal__right__2qf1s .Modal__tooltip-arrow__TalEl{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Modal__tooltip__XyByj.Modal__left__1YS9_ .Modal__tooltip-arrow__TalEl{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Modal__tooltip__XyByj.Modal__bottom__3Hx97 .Modal__tooltip-arrow__TalEl{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Modal__tooltip__XyByj.Modal__bottom-left__1_klG .Modal__tooltip-arrow__TalEl{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Modal__tooltip__XyByj.Modal__bottom-right__1qabe .Modal__tooltip-arrow__TalEl{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Modal__tooltip-inner__1d25M{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Modal__tooltip-arrow__TalEl{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Modal__main__1qTNQ{position:fixed;top:0;right:0;left:0;bottom:0;z-index:100}.Modal__backdrop__TKcEi{background:rgba(0,0,0,.8);width:100%;height:100%}.Modal__content__4bKWt{background:#fff;padding:30px;position:absolute;top:10%;left:calc(50% - 250px);width:500px;max-height:80%;overflow:auto}.Modal__content__4bKWt pre{white-space:pre-wrap;background:#f3f6f8;padding:8px 12px;color:#747c89;line-height:1.4}.Modal__wide__3bblv{left:calc(50% - 425px);width:850px}.Modal__cancel__3c2lX{color:#747c89}.Modal__box__2ZGSs{background:#fff;position:absolute;top:10%;height:80%}.Modal__title__1PCgn{height:55px;padding:15px 30px;border-bottom:1px solid #f5f5f5;font-size:16px;color:#20252d}.Modal__close__UG6xL{position:absolute;right:10px;top:10px}@-webkit-keyframes Navigation__progress-bar-stripes__1HB5w{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Navigation__progress-bar-stripes__1HB5w{0%{background-position:40px 0}to{background-position:0 0}}.Navigation__progress__1_jAl{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Navigation__progress-bar__3eEq-{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Navigation__progress-bar-striped__OMUC5,.Navigation__progress-striped__2N-lZ .Navigation__progress-bar__3eEq-{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Navigation__progress-bar__3eEq-.Navigation__active__2Y7wX,.Navigation__progress__1_jAl.Navigation__active__2Y7wX .Navigation__progress-bar__3eEq-{-webkit-animation:Navigation__progress-bar-stripes__1HB5w 2s linear infinite;animation:Navigation__progress-bar-stripes__1HB5w 2s linear infinite}.Navigation__progress-bar-success__3YqeX{background-color:#5cb85c}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-success__3YqeX{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__progress-bar-info__2rFRs{background-color:#5bc0de}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-info__2rFRs{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__progress-bar-warning__2_jpW{background-color:#f0ad4e}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-warning__2_jpW{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__progress-bar-danger__2qzuV{background-color:#ef5354}.Navigation__progress-striped__2N-lZ .Navigation__progress-bar-danger__2qzuV{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Navigation__tooltip__67cqa{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Navigation__tooltip__67cqa.Navigation__in__17aSe{filter:alpha(opacity=90);opacity:.9}.Navigation__tooltip__67cqa.Navigation__top__1Iku2{padding:5px 0;margin-top:-3px}.Navigation__tooltip__67cqa.Navigation__right__1SThO{padding:0 5px;margin-left:3px}.Navigation__tooltip__67cqa.Navigation__bottom__1rEZl{padding:5px 0;margin-top:3px}.Navigation__tooltip__67cqa.Navigation__left__3Ku1T{padding:0 5px;margin-left:-3px}.Navigation__tooltip__67cqa.Navigation__top__1Iku2 .Navigation__tooltip-arrow__3aqCd{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Navigation__tooltip__67cqa.Navigation__top-left__28IZL .Navigation__tooltip-arrow__3aqCd{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Navigation__tooltip__67cqa.Navigation__top-right__1_Apt .Navigation__tooltip-arrow__3aqCd{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Navigation__tooltip__67cqa.Navigation__right__1SThO .Navigation__tooltip-arrow__3aqCd{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Navigation__tooltip__67cqa.Navigation__left__3Ku1T .Navigation__tooltip-arrow__3aqCd{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Navigation__tooltip__67cqa.Navigation__bottom__1rEZl .Navigation__tooltip-arrow__3aqCd{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Navigation__tooltip__67cqa.Navigation__bottom-left__3sMEW .Navigation__tooltip-arrow__3aqCd{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Navigation__tooltip__67cqa.Navigation__bottom-right__XYqys .Navigation__tooltip-arrow__3aqCd{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Navigation__tooltip-inner__2BDDe{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Navigation__tooltip-arrow__3aqCd{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Navigation__border__1FjNU{padding-top:30px;border-top:1px solid #f5f5f5;margin-top:30px}.Navigation__main__Wi2AF a{display:block;padding:5px 0;color:#747c89;font-size:14px}.Navigation__main__Wi2AF .Navigation__active__2Y7wX,.Navigation__main__Wi2AF .Navigation__active__2Y7wX:focus,.Navigation__main__Wi2AF .Navigation__active__2Y7wX:hover{color:#195ad6}.Navigation__main__Wi2AF a:focus,.Navigation__main__Wi2AF a:hover{text-decoration:none;color:#9da3ac}.Navigation__langBtn__1rYjJ{width:80px!important;height:30px}.Navigation__smallFont__2zbyM,.Navigation__smallFont__2zbyM>a{font-size:12px}.Navigation__navigation__1ja2T{padding:0;list-style-type:none;margin-top:15px;margin-bottom:0;padding:0 30px}.Navigation__navigationTitle__3O5mO{color:#747c89;text-transform:uppercase;padding:3px 0;font-size:12px;transform:scale(.916);transform-origin-x:0;-ms-transform:scale(.916);-ms-transform-origin-x:0;-moz-transform:scale(.916);-moz-transform-origin-x:0;-o-transform:scale(.916);-o-transform-origin-x:0;-webkit-transform:scale(.916);-webkit-transform-origin-x:0}.Navigation__activeIcon__1lBHM{display:none}.Navigation__active__2Y7wX .Navigation__activeIcon__1lBHM{display:inline}.Navigation__active__2Y7wX .Navigation__icon__11y2W{display:none}.Navigation__iconWrapper__2Xai0 img{width:28px;height:28px;margin-top:-2px}.Navigation__warningIcon__1B2Xu{height:10px;padding-right:5px}.Navigation__updateWarning__FhcBc{background-color:hsla(217,8%,50%,.1);padding:10px 7.5px;color:#fff;margin:15px 30px 0;border-radius:3px}@-webkit-keyframes Sync__progress-bar-stripes__2Q-L9{0%{background-position:40px 0}to{background-position:0 0}}@keyframes Sync__progress-bar-stripes__2Q-L9{0%{background-position:40px 0}to{background-position:0 0}}.Sync__progress__1p5_H{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.Sync__progress-bar__2ANl3{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.Sync__progress-bar-striped__BMwXj,.Sync__progress-striped__26Ij5 .Sync__progress-bar__2ANl3{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.Sync__progress-bar__2ANl3.Sync__active__1cjBg,.Sync__progress__1p5_H.Sync__active__1cjBg .Sync__progress-bar__2ANl3{-webkit-animation:Sync__progress-bar-stripes__2Q-L9 2s linear infinite;animation:Sync__progress-bar-stripes__2Q-L9 2s linear infinite}.Sync__progress-bar-success__2TOc_{background-color:#5cb85c}.Sync__progress-striped__26Ij5 .Sync__progress-bar-success__2TOc_{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__progress-bar-info__3fO79{background-color:#5bc0de}.Sync__progress-striped__26Ij5 .Sync__progress-bar-info__3fO79{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__progress-bar-warning__vKS8V{background-color:#f0ad4e}.Sync__progress-striped__26Ij5 .Sync__progress-bar-warning__vKS8V{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__progress-bar-danger__2O28w{background-color:#ef5354}.Sync__progress-striped__26Ij5 .Sync__progress-bar-danger__2O28w{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.Sync__tooltip__2n85E{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.Sync__tooltip__2n85E.Sync__in__2ttnB{filter:alpha(opacity=90);opacity:.9}.Sync__tooltip__2n85E.Sync__top__32Nv1{padding:5px 0;margin-top:-3px}.Sync__tooltip__2n85E.Sync__right__BX-r7{padding:0 5px;margin-left:3px}.Sync__tooltip__2n85E.Sync__bottom__1eKbw{padding:5px 0;margin-top:3px}.Sync__tooltip__2n85E.Sync__left__1A5rB{padding:0 5px;margin-left:-3px}.Sync__tooltip__2n85E.Sync__top__32Nv1 .Sync__tooltip-arrow__l7Ggu{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.Sync__tooltip__2n85E.Sync__top-left__EuuJA .Sync__tooltip-arrow__l7Ggu{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Sync__tooltip__2n85E.Sync__top-right__I8QCz .Sync__tooltip-arrow__l7Ggu{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.Sync__tooltip__2n85E.Sync__right__BX-r7 .Sync__tooltip-arrow__l7Ggu{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.Sync__tooltip__2n85E.Sync__left__1A5rB .Sync__tooltip-arrow__l7Ggu{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.Sync__tooltip__2n85E.Sync__bottom__1eKbw .Sync__tooltip-arrow__l7Ggu{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Sync__tooltip__2n85E.Sync__bottom-left__2lOFX .Sync__tooltip-arrow__l7Ggu{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Sync__tooltip__2n85E.Sync__bottom-right__ofNjk .Sync__tooltip-arrow__l7Ggu{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.Sync__tooltip-inner__1ix_4{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.Sync__tooltip-arrow__l7Ggu{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.Sync__main__16_Oi{padding:30px;margin-top:30px}.Sync__testnetError__1dv29{color:#ef5354}.Sync__testnetReset__36ijp{color:#f0ad4e}.Sync__blockHightlight__NgZDE{color:#747c89}.Sync__progressBar__146Vd{margin-top:6px;height:5px;border-radius:0}@-webkit-keyframes SecondaryNavigation__progress-bar-stripes__1mw-t{0%{background-position:40px 0}to{background-position:0 0}}@keyframes SecondaryNavigation__progress-bar-stripes__1mw-t{0%{background-position:40px 0}to{background-position:0 0}}.SecondaryNavigation__progress__19Oy6{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.SecondaryNavigation__progress-bar__2L7zy{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.SecondaryNavigation__progress-bar-striped__35txP,.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar__2L7zy{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.SecondaryNavigation__progress-bar__2L7zy.SecondaryNavigation__active__d6pyG,.SecondaryNavigation__progress__19Oy6.SecondaryNavigation__active__d6pyG .SecondaryNavigation__progress-bar__2L7zy{-webkit-animation:SecondaryNavigation__progress-bar-stripes__1mw-t 2s linear infinite;animation:SecondaryNavigation__progress-bar-stripes__1mw-t 2s linear infinite}.SecondaryNavigation__progress-bar-success__1SLtl{background-color:#5cb85c}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-success__1SLtl{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__progress-bar-info__2udhj{background-color:#5bc0de}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-info__2udhj{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__progress-bar-warning__1rDxZ{background-color:#f0ad4e}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-warning__1rDxZ{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__progress-bar-danger__2zgth{background-color:#ef5354}.SecondaryNavigation__progress-striped__2JTvg .SecondaryNavigation__progress-bar-danger__2zgth{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.SecondaryNavigation__tooltip__1kL7B{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__in__2lyL8{filter:alpha(opacity=90);opacity:.9}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top__2F9N2{padding:5px 0;margin-top:-3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__right__2B25y{padding:0 5px;margin-left:3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom__3Chcd{padding:5px 0;margin-top:3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__left__2YG70{padding:0 5px;margin-left:-3px}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top__2F9N2 .SecondaryNavigation__tooltip-arrow__1veBG{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top-left__KqLem .SecondaryNavigation__tooltip-arrow__1veBG{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__top-right__25Ipl .SecondaryNavigation__tooltip-arrow__1veBG{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__right__2B25y .SecondaryNavigation__tooltip-arrow__1veBG{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__left__2YG70 .SecondaryNavigation__tooltip-arrow__1veBG{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom__3Chcd .SecondaryNavigation__tooltip-arrow__1veBG{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom-left__1RS1d .SecondaryNavigation__tooltip-arrow__1veBG{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SecondaryNavigation__tooltip__1kL7B.SecondaryNavigation__bottom-right__W1MgK .SecondaryNavigation__tooltip-arrow__1veBG{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.SecondaryNavigation__tooltip-inner__3I8_r{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.SecondaryNavigation__tooltip-arrow__1veBG{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.SecondaryNavigation__main__3Hsa-{background:#fff;border-radius:3px;position:absolute;top:52px;right:15px;width:190px;z-index:11;background-clip:padding-box;border:1px solid #ccc;box-shadow:0 3px 6px -2px rgba(0,0,0,.15)}.SecondaryNavigation__main__3Hsa- a{display:block;padding:1px 0;color:#747c89}.SecondaryNavigation__main__3Hsa- .SecondaryNavigation__active__d6pyG{color:#195ad6}.SecondaryNavigation__navigation__im_Yu{padding:0;list-style-type:none;margin-top:8px;margin-bottom:8px}.SecondaryNavigation__navigation__im_Yu li{padding:0 20px}.SecondaryNavigation__navigationTitle__1GL7l{font-size:12px;text-transform:uppercase;padding:3px 20px}.SecondaryNavigation__logOut__EO-se{margin-top:5px;border-top:1px solid #f5f5f5;margin-bottom:-3px}.SecondaryNavigation__logOut__EO-se a{padding-top:5px}.SecondaryNavigation__activeIcon__1Z7VF{display:none}.SecondaryNavigation__active__d6pyG .SecondaryNavigation__activeIcon__1Z7VF{display:inline}.SecondaryNavigation__active__d6pyG .SecondaryNavigation__icon__24hic{display:none}.SecondaryNavigation__iconWrapper__3D9qC img{width:28px;height:28px;margin-top:-2px}@-webkit-keyframes GrantListItem__progress-bar-stripes__1NdrI{0%{background-position:40px 0}to{background-position:0 0}}@keyframes GrantListItem__progress-bar-stripes__1NdrI{0%{background-position:40px 0}to{background-position:0 0}}.GrantListItem__progress__2EzsC{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.GrantListItem__progress-bar__MOEWU{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.GrantListItem__progress-bar-striped__3u5QQ,.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar__MOEWU{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.GrantListItem__progress-bar__MOEWU.GrantListItem__active__2vtoY,.GrantListItem__progress__2EzsC.GrantListItem__active__2vtoY .GrantListItem__progress-bar__MOEWU{-webkit-animation:GrantListItem__progress-bar-stripes__1NdrI 2s linear infinite;animation:GrantListItem__progress-bar-stripes__1NdrI 2s linear infinite}.GrantListItem__progress-bar-success__3kaNO{background-color:#5cb85c}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-success__3kaNO{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__progress-bar-info__2NjL2{background-color:#5bc0de}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-info__2NjL2{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__progress-bar-warning__1TsVt{background-color:#f0ad4e}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-warning__1TsVt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__progress-bar-danger__31WBf{background-color:#ef5354}.GrantListItem__progress-striped__3al23 .GrantListItem__progress-bar-danger__31WBf{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.GrantListItem__tooltip__3Wvfl{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.GrantListItem__tooltip__3Wvfl.GrantListItem__in__1LtW_{filter:alpha(opacity=90);opacity:.9}.GrantListItem__tooltip__3Wvfl.GrantListItem__top__1fr-T{padding:5px 0;margin-top:-3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__right__-1p8s{padding:0 5px;margin-left:3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom__OYqLU{padding:5px 0;margin-top:3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__left__F5Xls{padding:0 5px;margin-left:-3px}.GrantListItem__tooltip__3Wvfl.GrantListItem__top__1fr-T .GrantListItem__tooltip-arrow__3ED75{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__top-left__1f0CJ .GrantListItem__tooltip-arrow__3ED75{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__top-right__2IGTh .GrantListItem__tooltip-arrow__3ED75{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__right__-1p8s .GrantListItem__tooltip-arrow__3ED75{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__left__F5Xls .GrantListItem__tooltip-arrow__3ED75{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom__OYqLU .GrantListItem__tooltip-arrow__3ED75{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom-left__3Y3bj .GrantListItem__tooltip-arrow__3ED75{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GrantListItem__tooltip__3Wvfl.GrantListItem__bottom-right__2eWzT .GrantListItem__tooltip-arrow__3ED75{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.GrantListItem__tooltip-inner__7eEj9{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.GrantListItem__tooltip-arrow__3ED75{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.GrantListItem__tdWrap__lMI3F{border-top:1px solid #f2f2f2;color:#747c89;line-height:20px;vertical-align:top;word-wrap:break-word}@-webkit-keyframes AccessControlList__progress-bar-stripes__3Lb0s{0%{background-position:40px 0}to{background-position:0 0}}@keyframes AccessControlList__progress-bar-stripes__3Lb0s{0%{background-position:40px 0}to{background-position:0 0}}.AccessControlList__progress__20Hmu{height:22px;margin-bottom:22px;overflow:hidden;background-color:#f5f5f5;border-radius:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.AccessControlList__progress-bar__3eQh9{float:left;width:0;height:100%;font-size:12px;line-height:22px;color:#fff;text-align:center;background-color:#1977d6;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.AccessControlList__progress-bar-striped__rNAP_,.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar__3eQh9{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.AccessControlList__progress-bar__3eQh9.AccessControlList__active__2iFGN,.AccessControlList__progress__20Hmu.AccessControlList__active__2iFGN .AccessControlList__progress-bar__3eQh9{-webkit-animation:AccessControlList__progress-bar-stripes__3Lb0s 2s linear infinite;animation:AccessControlList__progress-bar-stripes__3Lb0s 2s linear infinite}.AccessControlList__progress-bar-success__1cpGz{background-color:#5cb85c}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-success__1cpGz{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__progress-bar-info__1G1Gt{background-color:#5bc0de}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-info__1G1Gt{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__progress-bar-warning__1TxPq{background-color:#f0ad4e}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-warning__1TxPq{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__progress-bar-danger__2vfmI{background-color:#ef5354}.AccessControlList__progress-striped__n2ZIO .AccessControlList__progress-bar-danger__2vfmI{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.AccessControlList__tooltip__14sjr{position:absolute;z-index:1070;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,SimSun,sans-serif;font-style:normal;font-weight:400;line-height:1.7;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.AccessControlList__tooltip__14sjr.AccessControlList__in__1HQSn{filter:alpha(opacity=90);opacity:.9}.AccessControlList__tooltip__14sjr.AccessControlList__top__2_OgA{padding:5px 0;margin-top:-3px}.AccessControlList__tooltip__14sjr.AccessControlList__right__WSNlL{padding:0 5px;margin-left:3px}.AccessControlList__tooltip__14sjr.AccessControlList__bottom__Zbrzm{padding:5px 0;margin-top:3px}.AccessControlList__tooltip__14sjr.AccessControlList__left__3RjWS{padding:0 5px;margin-left:-3px}.AccessControlList__tooltip__14sjr.AccessControlList__top__2_OgA .AccessControlList__tooltip-arrow__3w8HR{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__top-left__FDYQm .AccessControlList__tooltip-arrow__3w8HR{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__top-right__2l3LZ .AccessControlList__tooltip-arrow__3w8HR{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__right__WSNlL .AccessControlList__tooltip-arrow__3w8HR{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__left__3RjWS .AccessControlList__tooltip-arrow__3w8HR{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__bottom__Zbrzm .AccessControlList__tooltip-arrow__3w8HR{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__bottom-left__3K2y4 .AccessControlList__tooltip-arrow__3w8HR{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AccessControlList__tooltip__14sjr.AccessControlList__bottom-right__2ohIx .AccessControlList__tooltip-arrow__3w8HR{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.AccessControlList__tooltip-inner__2NEwt{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:3px}.AccessControlList__tooltip-arrow__3w8HR{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.AccessControlList__newBtn__1SEFR{position:absolute;right:30px;top:30px;vertical-align:baseline}.AccessControlList__btnGroup__BEtXR{margin-bottom:30px}.AccessControlList__btn__3r9CX{color:#195ad6;visibility:hidden}.AccessControlList__btn__3r9CX:hover{text-decoration:underline}.AccessControlList__btn__3r9CX:active,.AccessControlList__btn__3r9CX:active:focus,.AccessControlList__btn__3r9CX:focus,.AccessControlList__btn__3r9CX:hover,.AccessControlList__btn__3r9CX:hover:active{color:#195ad6;background:#fff}.AccessControlList__btn__3r9CX:focus{background:#fff}.AccessControlList__active__2iFGN,.AccessControlList__active__2iFGN:active:focus,.AccessControlList__active__2iFGN:focus,.AccessControlList__active__2iFGN:hover{box-shadow:inset 0 2px 3px rgba(0,0,0,.15);border-color:#ccc;background:#fafafa;color:#747c89;cursor:default;text-decoration:none}",
+"dashboard.82b7fde7aecf508dc6cb.js": "!function(e){function t(r){if(n[r])return n[r].exports;var o=n[r]={exports:{},id:r,loaded:!1};return e[r].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var n={};return t.m=e,t.c=n,t.p=\"/dashboard/\",t(0)}(function(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))switch(typeof e[t]){case\"function\":break;case\"object\":e[t]=function(t){var n=t.slice(1),r=e[t[0]];return function(e,t,o){r.apply(this,[e,t,o].concat(n))}}(e[t]);break;default:e[t]=e[e[t]]}return e}([function(e,t,n){n(342),e.exports=n(892)},function(e,t,n){\"use strict\";e.exports=n(143)},function(e,t,n){var r=n(19),o=n(60),i=n(48),a=n(49),s=n(61),u=\"prototype\",l=function(e,t,n){var c,d,f,p,h=e&l.F,m=e&l.G,g=e&l.S,_=e&l.P,b=e&l.B,y=m?r:g?r[t]||(r[t]={}):(r[t]||{})[u],v=m?o:o[t]||(o[t]={}),M=v[u]||(v[u]={});m&&(n=t);for(c in n)d=!h&&y&&void 0!==y[c],f=(d?y:n)[c],p=b&&d?s(f,r):_&&\"function\"==typeof f?s(Function.call,f):f,y&&a(y,c,f,e&l.U),v[c]!=f&&i(v,c,p),_&&M[c]!=f&&(M[c]=f)};r.core=o,l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},function(e,t,n){(function(e,t){!function(e,n){t.exports=n()}(this,function(){\"use strict\";function r(){return Nr.apply(null,arguments)}function o(e){Nr=e}function i(e){return e instanceof Array||\"[object Array]\"===Object.prototype.toString.call(e)}function a(e){return null!=e&&\"[object Object]\"===Object.prototype.toString.call(e)}function s(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}function u(e){return void 0===e}function l(e){return\"number\"==typeof e||\"[object Number]\"===Object.prototype.toString.call(e)}function c(e){return e instanceof Date||\"[object Date]\"===Object.prototype.toString.call(e)}function d(e,t){var n,r=[];for(n=0;n<e.length;++n)r.push(t(e[n],n));return r}function f(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function p(e,t){for(var n in t)f(t,n)&&(e[n]=t[n]);return f(t,\"toString\")&&(e.toString=t.toString),f(t,\"valueOf\")&&(e.valueOf=t.valueOf),e}function h(e,t,n,r){return Tt(e,t,n,r,!0).utc()}function m(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}}function g(e){return null==e._pf&&(e._pf=m()),e._pf}function _(e){if(null==e._isValid){var t=g(e),n=kr.call(t.parsedDateParts,function(e){return null!=e}),r=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(r=r&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return r;e._isValid=r}return e._isValid}function b(e){var t=h(NaN);return null!=e?p(g(t),e):g(t).userInvalidated=!0,t}function y(e,t){var n,r,o;if(u(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),u(t._i)||(e._i=t._i),u(t._f)||(e._f=t._f),u(t._l)||(e._l=t._l),u(t._strict)||(e._strict=t._strict),u(t._tzm)||(e._tzm=t._tzm),u(t._isUTC)||(e._isUTC=t._isUTC),u(t._offset)||(e._offset=t._offset),u(t._pf)||(e._pf=g(t)),u(t._locale)||(e._locale=t._locale),Dr.length>0)for(n=0;n<Dr.length;n++)r=Dr[n],o=t[r],u(o)||(e[r]=o);return e}function v(e){y(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),xr===!1&&(xr=!0,r.updateOffset(this),xr=!1)}function M(e){return e instanceof v||null!=e&&null!=e._isAMomentObject}function A(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function w(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=A(t)),n}function C(e,t,n){var r,o=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),a=0;for(r=0;r<o;r++)(n&&e[r]!==t[r]||!n&&w(e[r])!==w(t[r]))&&a++;return a+i}function E(t){r.suppressDeprecationWarnings===!1&&\"undefined\"!=typeof e&&e.warn&&e.warn(\"Deprecation warning: \"+t)}function L(e,t){var n=!0;return p(function(){if(null!=r.deprecationHandler&&r.deprecationHandler(null,e),n){for(var o,i=[],a=0;a<arguments.length;a++){if(o=\"\",\"object\"==typeof arguments[a]){o+=\"\\n[\"+a+\"] \";for(var s in arguments[0])o+=s+\": \"+arguments[0][s]+\", \";o=o.slice(0,-2)}else o=arguments[a];i.push(o)}E(e+\"\\nArguments: \"+Array.prototype.slice.call(i).join(\"\")+\"\\n\"+(new Error).stack),n=!1}return t.apply(this,arguments)},t)}function T(e,t){null!=r.deprecationHandler&&r.deprecationHandler(e,t),Ir[e]||(E(t),Ir[e]=!0)}function O(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}function S(e){var t,n;for(n in e)t=e[n],O(t)?this[n]=t:this[\"_\"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+\"|\"+/\\d{1,2}/.source)}function N(e,t){var n,r=p({},e);for(n in t)f(t,n)&&(a(e[n])&&a(t[n])?(r[n]={},p(r[n],e[n]),p(r[n],t[n])):null!=t[n]?r[n]=t[n]:delete r[n]);for(n in e)f(e,n)&&!f(t,n)&&a(e[n])&&(r[n]=p({},r[n]));return r}function k(e){null!=e&&this.set(e)}function D(e,t,n){var r=this._calendar[e]||this._calendar.sameElse;return O(r)?r.call(t,n):r}function x(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])}function I(){return this._invalidDate}function z(e){return this._ordinal.replace(\"%d\",e)}function j(e,t,n,r){var o=this._relativeTime[n];return O(o)?o(e,t,n,r):o.replace(/%d/i,e)}function P(e,t){var n=this._relativeTime[e>0?\"future\":\"past\"];return O(n)?n(t):n.replace(/%s/i,t)}function B(e,t){var n=e.toLowerCase();Yr[n]=Yr[n+\"s\"]=Yr[t]=e}function F(e){return\"string\"==typeof e?Yr[e]||Yr[e.toLowerCase()]:void 0}function R(e){var t,n,r={};for(n in e)f(e,n)&&(t=F(n),t&&(r[t]=e[n]));return r}function W(e,t){Hr[e]=t}function Y(e){var t=[];for(var n in e)t.push({unit:n,priority:Hr[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function H(e,t,n){var r=\"\"+Math.abs(e),o=t-r.length,i=e>=0;return(i?n?\"+\":\"\":\"-\")+Math.pow(10,Math.max(0,o)).toString().substr(1)+r}function q(e,t,n,r){var o=r;\"string\"==typeof r&&(o=function(){return this[r]()}),e&&(Vr[e]=o),t&&(Vr[t[0]]=function(){return H(o.apply(this,arguments),t[1],t[2])}),n&&(Vr[n]=function(){return this.localeData().ordinal(o.apply(this,arguments),e)})}function U(e){return e.match(/\\[[\\s\\S]/)?e.replace(/^\\[|\\]$/g,\"\"):e.replace(/\\\\/g,\"\")}function X(e){var t,n,r=e.match(qr);for(t=0,n=r.length;t<n;t++)Vr[r[t]]?r[t]=Vr[r[t]]:r[t]=U(r[t]);return function(t){var o,i=\"\";for(o=0;o<n;o++)i+=O(r[o])?r[o].call(t,e):r[o];return i}}function V(e,t){return e.isValid()?(t=G(t,e.localeData()),Xr[t]=Xr[t]||X(t),Xr[t](e)):e.localeData().invalidDate()}function G(e,t){function n(e){return t.longDateFormat(e)||e}var r=5;for(Ur.lastIndex=0;r>=0&&Ur.test(e);)e=e.replace(Ur,n),Ur.lastIndex=0,r-=1;return e}function $(e,t,n){fo[e]=O(t)?t:function(e,r){return e&&n?n:t}}function K(e,t){return f(fo,e)?fo[e](t._strict,t._locale):new RegExp(Q(e))}function Q(e){return Z(e.replace(\"\\\\\",\"\").replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(e,t,n,r,o){return t||n||r||o}))}function Z(e){return e.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function J(e,t){var n,r=t;for(\"string\"==typeof e&&(e=[e]),l(t)&&(r=function(e,n){n[t]=w(e)}),n=0;n<e.length;n++)po[e[n]]=r}function ee(e,t){J(e,function(e,n,r,o){r._w=r._w||{},t(e,r._w,r,o)})}function te(e,t,n){null!=t&&f(po,e)&&po[e](t,n._a,n,e)}function ne(e){return re(e)?366:365}function re(e){return e%4===0&&e%100!==0||e%400===0}function oe(){return re(this.year())}function ie(e,t){return function(n){return null!=n?(se(this,e,n),r.updateOffset(this,t),this):ae(this,e)}}function ae(e,t){return e.isValid()?e._d[\"get\"+(e._isUTC?\"UTC\":\"\")+t]():NaN}function se(e,t,n){e.isValid()&&!isNaN(n)&&(\"FullYear\"===t&&re(e.year())&&1===e.month()&&29===e.date()?e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n,e.month(),de(n,e.month())):e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+t](n))}function ue(e){return e=F(e),O(this[e])?this[e]():this}function le(e,t){if(\"object\"==typeof e){e=R(e);for(var n=Y(e),r=0;r<n.length;r++)this[n[r].unit](e[n[r].unit])}else if(e=F(e),O(this[e]))return this[e](t);return this}function ce(e,t){return(e%t+t)%t}function de(e,t){if(isNaN(e)||isNaN(t))return NaN;var n=ce(t,12);return e+=(t-n)/12,1===n?re(e)?29:28:31-n%7%2}function fe(e,t){return e?i(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||Eo).test(t)?\"format\":\"standalone\"][e.month()]:i(this._months)?this._months:this._months.standalone}function pe(e,t){return e?i(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[Eo.test(t)?\"format\":\"standalone\"][e.month()]:i(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function he(e,t,n){var r,o,i,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)i=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(i,\"\").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(i,\"\").toLocaleLowerCase();return n?\"MMM\"===t?(o=wo.call(this._shortMonthsParse,a),o!==-1?o:null):(o=wo.call(this._longMonthsParse,a),o!==-1?o:null):\"MMM\"===t?(o=wo.call(this._shortMonthsParse,a),o!==-1?o:(o=wo.call(this._longMonthsParse,a),o!==-1?o:null)):(o=wo.call(this._longMonthsParse,a),o!==-1?o:(o=wo.call(this._shortMonthsParse,a),o!==-1?o:null))}function me(e,t,n){var r,o,i;if(this._monthsParseExact)return he.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(o=h([2e3,r]),n&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp(\"^\"+this.months(o,\"\").replace(\".\",\"\")+\"$\",\"i\"),this._shortMonthsParse[r]=new RegExp(\"^\"+this.monthsShort(o,\"\").replace(\".\",\"\")+\"$\",\"i\")),n||this._monthsParse[r]||(i=\"^\"+this.months(o,\"\")+\"|^\"+this.monthsShort(o,\"\"),this._monthsParse[r]=new RegExp(i.replace(\".\",\"\"),\"i\")),n&&\"MMMM\"===t&&this._longMonthsParse[r].test(e))return r;if(n&&\"MMM\"===t&&this._shortMonthsParse[r].test(e))return r;if(!n&&this._monthsParse[r].test(e))return r}}function ge(e,t){var n;if(!e.isValid())return e;if(\"string\"==typeof t)if(/^\\d+$/.test(t))t=w(t);else if(t=e.localeData().monthsParse(t),!l(t))return e;return n=Math.min(e.date(),de(e.year(),t)),e._d[\"set\"+(e._isUTC?\"UTC\":\"\")+\"Month\"](t,n),e}function _e(e){return null!=e?(ge(this,e),r.updateOffset(this,!0),this):ae(this,\"Month\")}function be(){return de(this.year(),this.month())}function ye(e){return this._monthsParseExact?(f(this,\"_monthsRegex\")||Me.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(f(this,\"_monthsShortRegex\")||(this._monthsShortRegex=Oo),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function ve(e){return this._monthsParseExact?(f(this,\"_monthsRegex\")||Me.call(this),e?this._monthsStrictRegex:this._monthsRegex):(f(this,\"_monthsRegex\")||(this._monthsRegex=So),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function Me(){function e(e,t){return t.length-e.length}var t,n,r=[],o=[],i=[];for(t=0;t<12;t++)n=h([2e3,t]),r.push(this.monthsShort(n,\"\")),o.push(this.months(n,\"\")),i.push(this.months(n,\"\")),i.push(this.monthsShort(n,\"\"));for(r.sort(e),o.sort(e),i.sort(e),t=0;t<12;t++)r[t]=Z(r[t]),o[t]=Z(o[t]);for(t=0;t<24;t++)i[t]=Z(i[t]);this._monthsRegex=new RegExp(\"^(\"+i.join(\"|\")+\")\",\"i\"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp(\"^(\"+o.join(\"|\")+\")\",\"i\"),this._monthsShortStrictRegex=new RegExp(\"^(\"+r.join(\"|\")+\")\",\"i\")}function Ae(e,t,n,r,o,i,a){var s=new Date(e,t,n,r,o,i,a);return e<100&&e>=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}function we(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ce(e,t,n){var r=7+t-n,o=(7+we(e,0,r).getUTCDay()-t)%7;return-o+r-1}function Ee(e,t,n,r,o){var i,a,s=(7+n-r)%7,u=Ce(e,r,o),l=1+7*(t-1)+s+u;return l<=0?(i=e-1,a=ne(i)+l):l>ne(e)?(i=e+1,a=l-ne(e)):(i=e,a=l),{year:i,dayOfYear:a}}function Le(e,t,n){var r,o,i=Ce(e.year(),t,n),a=Math.floor((e.dayOfYear()-i-1)/7)+1;return a<1?(o=e.year()-1,r=a+Te(o,t,n)):a>Te(e.year(),t,n)?(r=a-Te(e.year(),t,n),o=e.year()+1):(o=e.year(),r=a),{week:r,year:o}}function Te(e,t,n){var r=Ce(e,t,n),o=Ce(e+1,t,n);return(ne(e)-r+o)/7}function Oe(e){return Le(e,this._week.dow,this._week.doy).week}function Se(){return this._week.dow}function Ne(){return this._week.doy}function ke(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),\"d\")}function De(e){var t=Le(this,1,4).week;return null==e?t:this.add(7*(e-t),\"d\")}function xe(e,t){return\"string\"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),\"number\"==typeof e?e:null):parseInt(e,10)}function Ie(e,t){return\"string\"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function ze(e,t){return e?i(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?\"format\":\"standalone\"][e.day()]:i(this._weekdays)?this._weekdays:this._weekdays.standalone}function je(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Pe(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Be(e,t,n){var r,o,i,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)i=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(i,\"\").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(i,\"\").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(i,\"\").toLocaleLowerCase();return n?\"dddd\"===t?(o=wo.call(this._weekdaysParse,a),o!==-1?o:null):\"ddd\"===t?(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:null):(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:null):\"dddd\"===t?(o=wo.call(this._weekdaysParse,a),o!==-1?o:(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:null))):\"ddd\"===t?(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:(o=wo.call(this._weekdaysParse,a),o!==-1?o:(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:null))):(o=wo.call(this._minWeekdaysParse,a),o!==-1?o:(o=wo.call(this._weekdaysParse,a),o!==-1?o:(o=wo.call(this._shortWeekdaysParse,a),o!==-1?o:null)))}function Fe(e,t,n){var r,o,i;if(this._weekdaysParseExact)return Be.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(o=h([2e3,1]).day(r),n&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp(\"^\"+this.weekdays(o,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._shortWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysShort(o,\"\").replace(\".\",\".?\")+\"$\",\"i\"),this._minWeekdaysParse[r]=new RegExp(\"^\"+this.weekdaysMin(o,\"\").replace(\".\",\".?\")+\"$\",\"i\")),this._weekdaysParse[r]||(i=\"^\"+this.weekdays(o,\"\")+\"|^\"+this.weekdaysShort(o,\"\")+\"|^\"+this.weekdaysMin(o,\"\"),this._weekdaysParse[r]=new RegExp(i.replace(\".\",\"\"),\"i\")),n&&\"dddd\"===t&&this._fullWeekdaysParse[r].test(e))return r;if(n&&\"ddd\"===t&&this._shortWeekdaysParse[r].test(e))return r;if(n&&\"dd\"===t&&this._minWeekdaysParse[r].test(e))return r;if(!n&&this._weekdaysParse[r].test(e))return r}}function Re(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=xe(e,this.localeData()),this.add(e-t,\"d\")):t}function We(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,\"d\")}function Ye(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=Ie(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function He(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Xe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(f(this,\"_weekdaysRegex\")||(this._weekdaysRegex=Io),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function qe(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Xe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(f(this,\"_weekdaysShortRegex\")||(this._weekdaysShortRegex=zo),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ue(e){return this._weekdaysParseExact?(f(this,\"_weekdaysRegex\")||Xe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(f(this,\"_weekdaysMinRegex\")||(this._weekdaysMinRegex=jo),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Xe(){function e(e,t){return t.length-e.length}var t,n,r,o,i,a=[],s=[],u=[],l=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),r=this.weekdaysMin(n,\"\"),o=this.weekdaysShort(n,\"\"),i=this.weekdays(n,\"\"),a.push(r),s.push(o),u.push(i),l.push(r),l.push(o),l.push(i);for(a.sort(e),s.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)s[t]=Z(s[t]),u[t]=Z(u[t]),l[t]=Z(l[t]);this._weekdaysRegex=new RegExp(\"^(\"+l.join(\"|\")+\")\",\"i\"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp(\"^(\"+u.join(\"|\")+\")\",\"i\"),this._weekdaysShortStrictRegex=new RegExp(\"^(\"+s.join(\"|\")+\")\",\"i\"),this._weekdaysMinStrictRegex=new RegExp(\"^(\"+a.join(\"|\")+\")\",\"i\")}function Ve(){return this.hours()%12||12}function Ge(){return this.hours()||24}function $e(e,t){q(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function Ke(e,t){return t._meridiemParse}function Qe(e){return\"p\"===(e+\"\").toLowerCase().charAt(0)}function Ze(e,t,n){return e>11?n?\"pm\":\"PM\":n?\"am\":\"AM\"}function Je(e){return e?e.toLowerCase().replace(\"_\",\"-\"):e}function et(e){for(var t,n,r,o,i=0;i<e.length;){for(o=Je(e[i]).split(\"-\"),t=o.length,n=Je(e[i+1]),n=n?n.split(\"-\"):null;t>0;){if(r=tt(o.slice(0,t).join(\"-\")))return r;if(n&&n.length>=t&&C(o,n,!0)>=t-1)break;t--}i++}return Po}function tt(e){var r=null;if(!Wo[e]&&\"undefined\"!=typeof t&&t&&t.exports)try{r=Po._abbr;n(1372)(\"./\"+e),nt(r)}catch(e){}return Wo[e]}function nt(t,n){var r;return t&&(r=u(n)?it(t):rt(t,n),r?Po=r:\"undefined\"!=typeof e&&e.warn&&e.warn(\"Locale \"+t+\" not found. Did you forget to load it?\")),Po._abbr}function rt(e,t){if(null!==t){var n,r=Ro;if(t.abbr=e,null!=Wo[e])T(\"defineLocaleOverride\",\"use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info.\"),r=Wo[e]._config;else if(null!=t.parentLocale)if(null!=Wo[t.parentLocale])r=Wo[t.parentLocale]._config;else{if(n=tt(t.parentLocale),null==n)return Yo[t.parentLocale]||(Yo[t.parentLocale]=[]),Yo[t.parentLocale].push({name:e,config:t}),null;r=n._config}return Wo[e]=new k(N(r,t)),Yo[e]&&Yo[e].forEach(function(e){rt(e.name,e.config)}),nt(e),Wo[e]}return delete Wo[e],null}function ot(e,t){if(null!=t){var n,r,o=Ro;r=tt(e),null!=r&&(o=r._config),t=N(o,t),n=new k(t),n.parentLocale=Wo[e],Wo[e]=n,nt(e)}else null!=Wo[e]&&(null!=Wo[e].parentLocale?Wo[e]=Wo[e].parentLocale:null!=Wo[e]&&delete Wo[e]);return Wo[e]}function it(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return Po;if(!i(e)){if(t=tt(e))return t;e=[e]}return et(e)}function at(){return zr(Wo)}function st(e){var t,n=e._a;return n&&g(e).overflow===-2&&(t=n[mo]<0||n[mo]>11?mo:n[go]<1||n[go]>de(n[ho],n[mo])?go:n[_o]<0||n[_o]>24||24===n[_o]&&(0!==n[bo]||0!==n[yo]||0!==n[vo])?_o:n[bo]<0||n[bo]>59?bo:n[yo]<0||n[yo]>59?yo:n[vo]<0||n[vo]>999?vo:-1,g(e)._overflowDayOfYear&&(t<ho||t>go)&&(t=go),g(e)._overflowWeeks&&t===-1&&(t=Mo),g(e)._overflowWeekday&&t===-1&&(t=Ao),g(e).overflow=t),e}function ut(e,t,n){return null!=e?e:null!=t?t:n}function lt(e){var t=new Date(r.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function ct(e){var t,n,r,o,i,a=[];if(!e._d){for(r=lt(e),e._w&&null==e._a[go]&&null==e._a[mo]&&dt(e),null!=e._dayOfYear&&(i=ut(e._a[ho],r[ho]),(e._dayOfYear>ne(i)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=we(i,0,e._dayOfYear),e._a[mo]=n.getUTCMonth(),e._a[go]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=r[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[_o]&&0===e._a[bo]&&0===e._a[yo]&&0===e._a[vo]&&(e._nextDay=!0,e._a[_o]=0),e._d=(e._useUTC?we:Ae).apply(null,a),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[_o]=24),e._w&&\"undefined\"!=typeof e._w.d&&e._w.d!==o&&(g(e).weekdayMismatch=!0)}}function dt(e){var t,n,r,o,i,a,s,u;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)i=1,a=4,n=ut(t.GG,e._a[ho],Le(Ot(),1,4).year),r=ut(t.W,1),o=ut(t.E,1),(o<1||o>7)&&(u=!0);else{i=e._locale._week.dow,a=e._locale._week.doy;var l=Le(Ot(),i,a);n=ut(t.gg,e._a[ho],l.year),r=ut(t.w,l.week),null!=t.d?(o=t.d,(o<0||o>6)&&(u=!0)):null!=t.e?(o=t.e+i,(t.e<0||t.e>6)&&(u=!0)):o=i}r<1||r>Te(n,i,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(s=Ee(n,r,o,i,a),e._a[ho]=s.year,e._dayOfYear=s.dayOfYear)}function ft(e){var t,n,r,o,i,a,s=e._i,u=Ho.exec(s)||qo.exec(s);if(u){for(g(e).iso=!0,t=0,n=Xo.length;t<n;t++)if(Xo[t][1].exec(u[1])){o=Xo[t][0],r=Xo[t][2]!==!1;break}if(null==o)return void(e._isValid=!1);if(u[3]){for(t=0,n=Vo.length;t<n;t++)if(Vo[t][1].exec(u[3])){i=(u[2]||\" \")+Vo[t][0];break}if(null==i)return void(e._isValid=!1)}if(!r&&null!=i)return void(e._isValid=!1);if(u[4]){if(!Uo.exec(u[4]))return void(e._isValid=!1);a=\"Z\"}e._f=o+(i||\"\")+(a||\"\"),vt(e)}else e._isValid=!1}function pt(e,t,n,r,o,i){var a=[ht(e),To.indexOf(t),parseInt(n,10),parseInt(r,10),parseInt(o,10)];return i&&a.push(parseInt(i,10)),a}function ht(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function mt(e){return e.replace(/\\([^)]*\\)|[\\n\\t]/g,\" \").replace(/(\\s\\s+)/g,\" \").trim()}function gt(e,t,n){if(e){var r=Do.indexOf(e),o=new Date(t[0],t[1],t[2]).getDay();if(r!==o)return g(n).weekdayMismatch=!0,n._isValid=!1,!1}return!0}function _t(e,t,n){if(e)return Ko[e];if(t)return 0;var r=parseInt(n,10),o=r%100,i=(r-o)/100;return 60*i+o}function bt(e){var t=$o.exec(mt(e._i));if(t){var n=pt(t[4],t[3],t[2],t[5],t[6],t[7]);if(!gt(t[1],n,e))return;e._a=n,e._tzm=_t(t[8],t[9],t[10]),e._d=we.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function yt(e){var t=Go.exec(e._i);return null!==t?void(e._d=new Date(+t[1])):(ft(e),void(e._isValid===!1&&(delete e._isValid,bt(e),e._isValid===!1&&(delete e._isValid,r.createFromInputFallback(e)))))}function vt(e){if(e._f===r.ISO_8601)return void ft(e);if(e._f===r.RFC_2822)return void bt(e);e._a=[],g(e).empty=!0;var t,n,o,i,a,s=\"\"+e._i,u=s.length,l=0;for(o=G(e._f,e._locale).match(qr)||[],t=0;t<o.length;t++)i=o[t],n=(s.match(K(i,e))||[])[0],n&&(a=s.substr(0,s.indexOf(n)),a.length>0&&g(e).unusedInput.push(a),s=s.slice(s.indexOf(n)+n.length),l+=n.length),Vr[i]?(n?g(e).empty=!1:g(e).unusedTokens.push(i),te(i,n,e)):e._strict&&!n&&g(e).unusedTokens.push(i);g(e).charsLeftOver=u-l,s.length>0&&g(e).unusedInput.push(s),e._a[_o]<=12&&g(e).bigHour===!0&&e._a[_o]>0&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[_o]=Mt(e._locale,e._a[_o],e._meridiem),ct(e),st(e)}function Mt(e,t,n){var r;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(r=e.isPM(n),r&&t<12&&(t+=12),r||12!==t||(t=0),t):t}function At(e){var t,n,r,o,i;if(0===e._f.length)return g(e).invalidFormat=!0,void(e._d=new Date(NaN));for(o=0;o<e._f.length;o++)i=0,t=y({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[o],vt(t),_(t)&&(i+=g(t).charsLeftOver,i+=10*g(t).unusedTokens.length,g(t).score=i,(null==r||i<r)&&(r=i,n=t));p(e,n||t)}function wt(e){if(!e._d){var t=R(e._i);e._a=d([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ct(e)}}function Ct(e){var t=new v(st(Et(e)));return t._nextDay&&(t.add(1,\"d\"),t._nextDay=void 0),t}function Et(e){var t=e._i,n=e._f;return e._locale=e._locale||it(e._l),null===t||void 0===n&&\"\"===t?b({nullInput:!0}):(\"string\"==typeof t&&(e._i=t=e._locale.preparse(t)),M(t)?new v(st(t)):(c(t)?e._d=t:i(n)?At(e):n?vt(e):Lt(e),_(e)||(e._d=null),e))}function Lt(e){var t=e._i;u(t)?e._d=new Date(r.now()):c(t)?e._d=new Date(t.valueOf()):\"string\"==typeof t?yt(e):i(t)?(e._a=d(t.slice(0),function(e){return parseInt(e,10)}),ct(e)):a(t)?wt(e):l(t)?e._d=new Date(t):r.createFromInputFallback(e)}function Tt(e,t,n,r,o){var u={};return n!==!0&&n!==!1||(r=n,n=void 0),(a(e)&&s(e)||i(e)&&0===e.length)&&(e=void 0),u._isAMomentObject=!0,u._useUTC=u._isUTC=o,u._l=n,u._i=e,u._f=t,u._strict=r,Ct(u)}function Ot(e,t,n,r){return Tt(e,t,n,r,!1)}function St(e,t){var n,r;if(1===t.length&&i(t[0])&&(t=t[0]),!t.length)return Ot();for(n=t[0],r=1;r<t.length;++r)t[r].isValid()&&!t[r][e](n)||(n=t[r]);return n}function Nt(){var e=[].slice.call(arguments,0);return St(\"isBefore\",e)}function kt(){var e=[].slice.call(arguments,0);return St(\"isAfter\",e)}function Dt(e){for(var t in e)if(wo.call(ei,t)===-1||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,r=0;r<ei.length;++r)if(e[ei[r]]){if(n)return!1;parseFloat(e[ei[r]])!==w(e[ei[r]])&&(n=!0)}return!0}function xt(){return this._isValid}function It(){return Jt(NaN)}function zt(e){var t=R(e),n=t.year||0,r=t.quarter||0,o=t.month||0,i=t.week||0,a=t.day||0,s=t.hour||0,u=t.minute||0,l=t.second||0,c=t.millisecond||0;this._isValid=Dt(t),this._milliseconds=+c+1e3*l+6e4*u+1e3*s*60*60,this._days=+a+7*i,this._months=+o+3*r+12*n,this._data={},this._locale=it(),this._bubble()}function jt(e){return e instanceof zt}function Pt(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function Bt(e,t){q(e,0,0,function(){var e=this.utcOffset(),n=\"+\";return e<0&&(e=-e,n=\"-\"),n+H(~~(e/60),2)+t+H(~~e%60,2)})}function Ft(e,t){var n=(t||\"\").match(e);if(null===n)return null;var r=n[n.length-1]||[],o=(r+\"\").match(ti)||[\"-\",0,0],i=+(60*o[1])+w(o[2]);return 0===i?0:\"+\"===o[0]?i:-i}function Rt(e,t){var n,o;return t._isUTC?(n=t.clone(),o=(M(e)||c(e)?e.valueOf():Ot(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+o),r.updateOffset(n,!1),n):Ot(e).local()}function Wt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Yt(e,t,n){var o,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if(\"string\"==typeof e){if(e=Ft(uo,e),null===e)return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(o=Wt(this)),this._offset=e,this._isUTC=!0,null!=o&&this.add(o,\"m\"),i!==e&&(!t||this._changeInProgress?on(this,Jt(e-i,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?i:Wt(this)}function Ht(e,t){return null!=e?(\"string\"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function qt(e){return this.utcOffset(0,e)}function Ut(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Wt(this),\"m\")),this}function Xt(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if(\"string\"==typeof this._i){var e=Ft(so,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this}function Vt(e){return!!this.isValid()&&(e=e?Ot(e).utcOffset():0,(this.utcOffset()-e)%60===0)}function Gt(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function $t(){if(!u(this._isDSTShifted))return this._isDSTShifted;var e={};if(y(e,this),e=Et(e),e._a){var t=e._isUTC?h(e._a):Ot(e._a);this._isDSTShifted=this.isValid()&&C(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Kt(){return!!this.isValid()&&!this._isUTC}function Qt(){return!!this.isValid()&&this._isUTC}function Zt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Jt(e,t){var n,r,o,i=e,a=null;return jt(e)?i={ms:e._milliseconds,d:e._days,M:e._months}:l(e)?(i={},t?i[t]=e:i.milliseconds=e):(a=ni.exec(e))?(n=\"-\"===a[1]?-1:1,i={y:0,d:w(a[go])*n,h:w(a[_o])*n,m:w(a[bo])*n,s:w(a[yo])*n,ms:w(Pt(1e3*a[vo]))*n}):(a=ri.exec(e))?(n=\"-\"===a[1]?-1:(\"+\"===a[1],1),i={y:en(a[2],n),M:en(a[3],n),w:en(a[4],n),d:en(a[5],n),h:en(a[6],n),m:en(a[7],n),s:en(a[8],n)}):null==i?i={}:\"object\"==typeof i&&(\"from\"in i||\"to\"in i)&&(o=nn(Ot(i.from),Ot(i.to)),i={},i.ms=o.milliseconds,i.M=o.months),r=new zt(i),jt(e)&&f(e,\"_locale\")&&(r._locale=e._locale),r}function en(e,t){var n=e&&parseFloat(e.replace(\",\",\".\"));return(isNaN(n)?0:n)*t}function tn(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,\"M\").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,\"M\"),n}function nn(e,t){var n;return e.isValid()&&t.isValid()?(t=Rt(t,e),e.isBefore(t)?n=tn(e,t):(n=tn(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function rn(e,t){return function(n,r){var o,i;return null===r||isNaN(+r)||(T(t,\"moment().\"+t+\"(period, number) is deprecated. Please use moment().\"+t+\"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.\"),i=n,n=r,r=i),n=\"string\"==typeof n?+n:n,o=Jt(n,r),on(this,o,e),this}}function on(e,t,n,o){var i=t._milliseconds,a=Pt(t._days),s=Pt(t._months);e.isValid()&&(o=null==o||o,s&&ge(e,ae(e,\"Month\")+s*n),a&&se(e,\"Date\",ae(e,\"Date\")+a*n),i&&e._d.setTime(e._d.valueOf()+i*n),o&&r.updateOffset(e,a||s))}function an(e,t){var n=e.diff(t,\"days\",!0);return n<-6?\"sameElse\":n<-1?\"lastWeek\":n<0?\"lastDay\":n<1?\"sameDay\":n<2?\"nextDay\":n<7?\"nextWeek\":\"sameElse\"}function sn(e,t){var n=e||Ot(),o=Rt(n,this).startOf(\"day\"),i=r.calendarFormat(this,o)||\"sameElse\",a=t&&(O(t[i])?t[i].call(this,n):t[i]);return this.format(a||this.localeData().calendar(i,this,Ot(n)))}function un(){return new v(this)}function ln(e,t){var n=M(e)?e:Ot(e);return!(!this.isValid()||!n.isValid())&&(t=F(u(t)?\"millisecond\":t),\"millisecond\"===t?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())}function cn(e,t){var n=M(e)?e:Ot(e);return!(!this.isValid()||!n.isValid())&&(t=F(u(t)?\"millisecond\":t),\"millisecond\"===t?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())}function dn(e,t,n,r){return r=r||\"()\",(\"(\"===r[0]?this.isAfter(e,n):!this.isBefore(e,n))&&(\")\"===r[1]?this.isBefore(t,n):!this.isAfter(t,n))}function fn(e,t){var n,r=M(e)?e:Ot(e);return!(!this.isValid()||!r.isValid())&&(t=F(t||\"millisecond\"),\"millisecond\"===t?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))}function pn(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function hn(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function mn(e,t,n){var r,o,i;if(!this.isValid())return NaN;if(r=Rt(e,this),!r.isValid())return NaN;switch(o=6e4*(r.utcOffset()-this.utcOffset()),t=F(t)){case\"year\":i=gn(this,r)/12;break;case\"month\":i=gn(this,r);break;case\"quarter\":i=gn(this,r)/3;break;case\"second\":i=(this-r)/1e3;break;case\"minute\":i=(this-r)/6e4;break;case\"hour\":i=(this-r)/36e5;break;case\"day\":i=(this-r-o)/864e5;break;case\"week\":i=(this-r-o)/6048e5;break;default:i=this-r}return n?i:A(i)}function gn(e,t){var n,r,o=12*(t.year()-e.year())+(t.month()-e.month()),i=e.clone().add(o,\"months\");return t-i<0?(n=e.clone().add(o-1,\"months\"),r=(t-i)/(i-n)):(n=e.clone().add(o+1,\"months\"),r=(t-i)/(n-i)),-(o+r)||0}function _n(){return this.clone().locale(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")}function bn(e){if(!this.isValid())return null;var t=e!==!0,n=t?this.clone().utc():this;return n.year()<0||n.year()>9999?V(n,t?\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ\"):O(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace(\"Z\",V(n,\"Z\")):V(n,t?\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\":\"YYYY-MM-DD[T]HH:mm:ss.SSSZ\")}function yn(){if(!this.isValid())return\"moment.invalid(/* \"+this._i+\" */)\";var e=\"moment\",t=\"\";this.isLocal()||(e=0===this.utcOffset()?\"moment.utc\":\"moment.parseZone\",t=\"Z\");var n=\"[\"+e+'(\"]',r=0<=this.year()&&this.year()<=9999?\"YYYY\":\"YYYYYY\",o=\"-MM-DD[T]HH:mm:ss.SSS\",i=t+'[\")]';return this.format(n+r+o+i)}function vn(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);\nvar t=V(this,e);return this.localeData().postformat(t)}function Mn(e,t){return this.isValid()&&(M(e)&&e.isValid()||Ot(e).isValid())?Jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function An(e){return this.from(Ot(),e)}function wn(e,t){return this.isValid()&&(M(e)&&e.isValid()||Ot(e).isValid())?Jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function Cn(e){return this.to(Ot(),e)}function En(e){var t;return void 0===e?this._locale._abbr:(t=it(e),null!=t&&(this._locale=t),this)}function Ln(){return this._locale}function Tn(e){switch(e=F(e)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":case\"date\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===e&&this.weekday(0),\"isoWeek\"===e&&this.isoWeekday(1),\"quarter\"===e&&this.month(3*Math.floor(this.month()/3)),this}function On(e){return e=F(e),void 0===e||\"millisecond\"===e?this:(\"date\"===e&&(e=\"day\"),this.startOf(e).add(1,\"isoWeek\"===e?\"week\":e).subtract(1,\"ms\"))}function Sn(){return this._d.valueOf()-6e4*(this._offset||0)}function Nn(){return Math.floor(this.valueOf()/1e3)}function kn(){return new Date(this.valueOf())}function Dn(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function xn(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function In(){return this.isValid()?this.toISOString():null}function zn(){return _(this)}function jn(){return p({},g(this))}function Pn(){return g(this).overflow}function Bn(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}function Fn(e,t){q(0,[e,e.length],0,t)}function Rn(e){return qn.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function Wn(e){return qn.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function Yn(){return Te(this.year(),1,4)}function Hn(){var e=this.localeData()._week;return Te(this.year(),e.dow,e.doy)}function qn(e,t,n,r,o){var i;return null==e?Le(this,r,o).year:(i=Te(e,r,o),t>i&&(t=i),Un.call(this,e,t,n,r,o))}function Un(e,t,n,r,o){var i=Ee(e,t,n,r,o),a=we(i.year,0,i.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}function Xn(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Vn(e){var t=Math.round((this.clone().startOf(\"day\")-this.clone().startOf(\"year\"))/864e5)+1;return null==e?t:this.add(e-t,\"d\")}function Gn(e,t){t[vo]=w(1e3*(\"0.\"+e))}function $n(){return this._isUTC?\"UTC\":\"\"}function Kn(){return this._isUTC?\"Coordinated Universal Time\":\"\"}function Qn(e){return Ot(1e3*e)}function Zn(){return Ot.apply(null,arguments).parseZone()}function Jn(e){return e}function er(e,t,n,r){var o=it(),i=h().set(r,t);return o[n](i,e)}function tr(e,t,n){if(l(e)&&(t=e,e=void 0),e=e||\"\",null!=t)return er(e,t,n,\"month\");var r,o=[];for(r=0;r<12;r++)o[r]=er(e,r,n,\"month\");return o}function nr(e,t,n,r){\"boolean\"==typeof e?(l(t)&&(n=t,t=void 0),t=t||\"\"):(t=e,n=t,e=!1,l(t)&&(n=t,t=void 0),t=t||\"\");var o=it(),i=e?o._week.dow:0;if(null!=n)return er(t,(n+i)%7,r,\"day\");var a,s=[];for(a=0;a<7;a++)s[a]=er(t,(a+i)%7,r,\"day\");return s}function rr(e,t){return tr(e,t,\"months\")}function or(e,t){return tr(e,t,\"monthsShort\")}function ir(e,t,n){return nr(e,t,n,\"weekdays\")}function ar(e,t,n){return nr(e,t,n,\"weekdaysShort\")}function sr(e,t,n){return nr(e,t,n,\"weekdaysMin\")}function ur(){var e=this._data;return this._milliseconds=hi(this._milliseconds),this._days=hi(this._days),this._months=hi(this._months),e.milliseconds=hi(e.milliseconds),e.seconds=hi(e.seconds),e.minutes=hi(e.minutes),e.hours=hi(e.hours),e.months=hi(e.months),e.years=hi(e.years),this}function lr(e,t,n,r){var o=Jt(t,n);return e._milliseconds+=r*o._milliseconds,e._days+=r*o._days,e._months+=r*o._months,e._bubble()}function cr(e,t){return lr(this,e,t,1)}function dr(e,t){return lr(this,e,t,-1)}function fr(e){return e<0?Math.floor(e):Math.ceil(e)}function pr(){var e,t,n,r,o,i=this._milliseconds,a=this._days,s=this._months,u=this._data;return i>=0&&a>=0&&s>=0||i<=0&&a<=0&&s<=0||(i+=864e5*fr(mr(s)+a),a=0,s=0),u.milliseconds=i%1e3,e=A(i/1e3),u.seconds=e%60,t=A(e/60),u.minutes=t%60,n=A(t/60),u.hours=n%24,a+=A(n/24),o=A(hr(a)),s+=o,a-=fr(mr(o)),r=A(s/12),s%=12,u.days=a,u.months=s,u.years=r,this}function hr(e){return 4800*e/146097}function mr(e){return 146097*e/4800}function gr(e){if(!this.isValid())return NaN;var t,n,r=this._milliseconds;if(e=F(e),\"month\"===e||\"year\"===e)return t=this._days+r/864e5,n=this._months+hr(t),\"month\"===e?n:n/12;switch(t=this._days+Math.round(mr(this._months)),e){case\"week\":return t/7+r/6048e5;case\"day\":return t+r/864e5;case\"hour\":return 24*t+r/36e5;case\"minute\":return 1440*t+r/6e4;case\"second\":return 86400*t+r/1e3;case\"millisecond\":return Math.floor(864e5*t)+r;default:throw new Error(\"Unknown unit \"+e)}}function _r(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*w(this._months/12):NaN}function br(e){return function(){return this.as(e)}}function yr(){return Jt(this)}function vr(e){return e=F(e),this.isValid()?this[e+\"s\"]():NaN}function Mr(e){return function(){return this.isValid()?this._data[e]:NaN}}function Ar(){return A(this.days()/7)}function wr(e,t,n,r,o){return o.relativeTime(t||1,!!n,e,r)}function Cr(e,t,n){var r=Jt(e).abs(),o=Ni(r.as(\"s\")),i=Ni(r.as(\"m\")),a=Ni(r.as(\"h\")),s=Ni(r.as(\"d\")),u=Ni(r.as(\"M\")),l=Ni(r.as(\"y\")),c=o<=ki.ss&&[\"s\",o]||o<ki.s&&[\"ss\",o]||i<=1&&[\"m\"]||i<ki.m&&[\"mm\",i]||a<=1&&[\"h\"]||a<ki.h&&[\"hh\",a]||s<=1&&[\"d\"]||s<ki.d&&[\"dd\",s]||u<=1&&[\"M\"]||u<ki.M&&[\"MM\",u]||l<=1&&[\"y\"]||[\"yy\",l];return c[2]=t,c[3]=+e>0,c[4]=n,wr.apply(null,c)}function Er(e){return void 0===e?Ni:\"function\"==typeof e&&(Ni=e,!0)}function Lr(e,t){return void 0!==ki[e]&&(void 0===t?ki[e]:(ki[e]=t,\"s\"===e&&(ki.ss=t-1),!0))}function Tr(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=Cr(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function Or(e){return(e>0)-(e<0)||+e}function Sr(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n,r=Di(this._milliseconds)/1e3,o=Di(this._days),i=Di(this._months);e=A(r/60),t=A(e/60),r%=60,e%=60,n=A(i/12),i%=12;var a=n,s=i,u=o,l=t,c=e,d=r?r.toFixed(3).replace(/\\.?0+$/,\"\"):\"\",f=this.asSeconds();if(!f)return\"P0D\";var p=f<0?\"-\":\"\",h=Or(this._months)!==Or(f)?\"-\":\"\",m=Or(this._days)!==Or(f)?\"-\":\"\",g=Or(this._milliseconds)!==Or(f)?\"-\":\"\";return p+\"P\"+(a?h+a+\"Y\":\"\")+(s?h+s+\"M\":\"\")+(u?m+u+\"D\":\"\")+(l||c||d?\"T\":\"\")+(l?g+l+\"H\":\"\")+(c?g+c+\"M\":\"\")+(d?g+d+\"S\":\"\")}var Nr,kr;kr=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,r=0;r<n;r++)if(r in t&&e.call(this,t[r],r,t))return!0;return!1};var Dr=r.momentProperties=[],xr=!1,Ir={};r.suppressDeprecationWarnings=!1,r.deprecationHandler=null;var zr;zr=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)f(e,t)&&n.push(t);return n};var jr={sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},Pr={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},Br=\"Invalid date\",Fr=\"%d\",Rr=/\\d{1,2}/,Wr={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},Yr={},Hr={},qr=/(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,Ur=/(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,Xr={},Vr={},Gr=/\\d/,$r=/\\d\\d/,Kr=/\\d{3}/,Qr=/\\d{4}/,Zr=/[+-]?\\d{6}/,Jr=/\\d\\d?/,eo=/\\d\\d\\d\\d?/,to=/\\d\\d\\d\\d\\d\\d?/,no=/\\d{1,3}/,ro=/\\d{1,4}/,oo=/[+-]?\\d{1,6}/,io=/\\d+/,ao=/[+-]?\\d+/,so=/Z|[+-]\\d\\d:?\\d\\d/gi,uo=/Z|[+-]\\d\\d(?::?\\d\\d)?/gi,lo=/[+-]?\\d+(\\.\\d{1,3})?/,co=/[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,fo={},po={},ho=0,mo=1,go=2,_o=3,bo=4,yo=5,vo=6,Mo=7,Ao=8;q(\"Y\",0,0,function(){var e=this.year();return e<=9999?\"\"+e:\"+\"+e}),q(0,[\"YY\",2],0,function(){return this.year()%100}),q(0,[\"YYYY\",4],0,\"year\"),q(0,[\"YYYYY\",5],0,\"year\"),q(0,[\"YYYYYY\",6,!0],0,\"year\"),B(\"year\",\"y\"),W(\"year\",1),$(\"Y\",ao),$(\"YY\",Jr,$r),$(\"YYYY\",ro,Qr),$(\"YYYYY\",oo,Zr),$(\"YYYYYY\",oo,Zr),J([\"YYYYY\",\"YYYYYY\"],ho),J(\"YYYY\",function(e,t){t[ho]=2===e.length?r.parseTwoDigitYear(e):w(e)}),J(\"YY\",function(e,t){t[ho]=r.parseTwoDigitYear(e)}),J(\"Y\",function(e,t){t[ho]=parseInt(e,10)}),r.parseTwoDigitYear=function(e){return w(e)+(w(e)>68?1900:2e3)};var wo,Co=ie(\"FullYear\",!0);wo=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},q(\"M\",[\"MM\",2],\"Mo\",function(){return this.month()+1}),q(\"MMM\",0,0,function(e){return this.localeData().monthsShort(this,e)}),q(\"MMMM\",0,0,function(e){return this.localeData().months(this,e)}),B(\"month\",\"M\"),W(\"month\",8),$(\"M\",Jr),$(\"MM\",Jr,$r),$(\"MMM\",function(e,t){return t.monthsShortRegex(e)}),$(\"MMMM\",function(e,t){return t.monthsRegex(e)}),J([\"M\",\"MM\"],function(e,t){t[mo]=w(e)-1}),J([\"MMM\",\"MMMM\"],function(e,t,n,r){var o=n._locale.monthsParse(e,r,n._strict);null!=o?t[mo]=o:g(n).invalidMonth=e});var Eo=/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,Lo=\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),To=\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),Oo=co,So=co;q(\"w\",[\"ww\",2],\"wo\",\"week\"),q(\"W\",[\"WW\",2],\"Wo\",\"isoWeek\"),B(\"week\",\"w\"),B(\"isoWeek\",\"W\"),W(\"week\",5),W(\"isoWeek\",5),$(\"w\",Jr),$(\"ww\",Jr,$r),$(\"W\",Jr),$(\"WW\",Jr,$r),ee([\"w\",\"ww\",\"W\",\"WW\"],function(e,t,n,r){t[r.substr(0,1)]=w(e)});var No={dow:0,doy:6};q(\"d\",0,\"do\",\"day\"),q(\"dd\",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),q(\"ddd\",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),q(\"dddd\",0,0,function(e){return this.localeData().weekdays(this,e)}),q(\"e\",0,0,\"weekday\"),q(\"E\",0,0,\"isoWeekday\"),B(\"day\",\"d\"),B(\"weekday\",\"e\"),B(\"isoWeekday\",\"E\"),W(\"day\",11),W(\"weekday\",11),W(\"isoWeekday\",11),$(\"d\",Jr),$(\"e\",Jr),$(\"E\",Jr),$(\"dd\",function(e,t){return t.weekdaysMinRegex(e)}),$(\"ddd\",function(e,t){return t.weekdaysShortRegex(e)}),$(\"dddd\",function(e,t){return t.weekdaysRegex(e)}),ee([\"dd\",\"ddd\",\"dddd\"],function(e,t,n,r){var o=n._locale.weekdaysParse(e,r,n._strict);null!=o?t.d=o:g(n).invalidWeekday=e}),ee([\"d\",\"e\",\"E\"],function(e,t,n,r){t[r]=w(e)});var ko=\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),Do=\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),xo=\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),Io=co,zo=co,jo=co;q(\"H\",[\"HH\",2],0,\"hour\"),q(\"h\",[\"hh\",2],0,Ve),q(\"k\",[\"kk\",2],0,Ge),q(\"hmm\",0,0,function(){return\"\"+Ve.apply(this)+H(this.minutes(),2)}),q(\"hmmss\",0,0,function(){return\"\"+Ve.apply(this)+H(this.minutes(),2)+H(this.seconds(),2)}),q(\"Hmm\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)}),q(\"Hmmss\",0,0,function(){return\"\"+this.hours()+H(this.minutes(),2)+H(this.seconds(),2)}),$e(\"a\",!0),$e(\"A\",!1),B(\"hour\",\"h\"),W(\"hour\",13),$(\"a\",Ke),$(\"A\",Ke),$(\"H\",Jr),$(\"h\",Jr),$(\"k\",Jr),$(\"HH\",Jr,$r),$(\"hh\",Jr,$r),$(\"kk\",Jr,$r),$(\"hmm\",eo),$(\"hmmss\",to),$(\"Hmm\",eo),$(\"Hmmss\",to),J([\"H\",\"HH\"],_o),J([\"k\",\"kk\"],function(e,t,n){var r=w(e);t[_o]=24===r?0:r}),J([\"a\",\"A\"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),J([\"h\",\"hh\"],function(e,t,n){t[_o]=w(e),g(n).bigHour=!0}),J(\"hmm\",function(e,t,n){var r=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r)),g(n).bigHour=!0}),J(\"hmmss\",function(e,t,n){var r=e.length-4,o=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r,2)),t[yo]=w(e.substr(o)),g(n).bigHour=!0}),J(\"Hmm\",function(e,t,n){var r=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r))}),J(\"Hmmss\",function(e,t,n){var r=e.length-4,o=e.length-2;t[_o]=w(e.substr(0,r)),t[bo]=w(e.substr(r,2)),t[yo]=w(e.substr(o))});var Po,Bo=/[ap]\\.?m?\\.?/i,Fo=ie(\"Hours\",!0),Ro={calendar:jr,longDateFormat:Pr,invalidDate:Br,ordinal:Fr,dayOfMonthOrdinalParse:Rr,relativeTime:Wr,months:Lo,monthsShort:To,week:No,weekdays:ko,weekdaysMin:xo,weekdaysShort:Do,meridiemParse:Bo},Wo={},Yo={},Ho=/^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,qo=/^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,Uo=/Z|[+-]\\d\\d(?::?\\d\\d)?/,Xo=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d\\d-\\d\\d/],[\"YYYY-MM-DD\",/\\d{4}-\\d\\d-\\d\\d/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d\\d-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d\\d/,!1],[\"YYYY-DDD\",/\\d{4}-\\d{3}/],[\"YYYY-MM\",/\\d{4}-\\d\\d/,!1],[\"YYYYYYMMDD\",/[+-]\\d{10}/],[\"YYYYMMDD\",/\\d{8}/],[\"GGGG[W]WWE\",/\\d{4}W\\d{3}/],[\"GGGG[W]WW\",/\\d{4}W\\d{2}/,!1],[\"YYYYDDD\",/\\d{7}/]],Vo=[[\"HH:mm:ss.SSSS\",/\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss,SSSS\",/\\d\\d:\\d\\d:\\d\\d,\\d+/],[\"HH:mm:ss\",/\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/\\d\\d:\\d\\d/],[\"HHmmss.SSSS\",/\\d\\d\\d\\d\\d\\d\\.\\d+/],[\"HHmmss,SSSS\",/\\d\\d\\d\\d\\d\\d,\\d+/],[\"HHmmss\",/\\d\\d\\d\\d\\d\\d/],[\"HHmm\",/\\d\\d\\d\\d/],[\"HH\",/\\d\\d/]],Go=/^\\/?Date\\((\\-?\\d+)/i,$o=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,Ko={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};r.createFromInputFallback=L(\"value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.\",function(e){e._d=new Date(e._i+(e._useUTC?\" UTC\":\"\"))}),r.ISO_8601=function(){},r.RFC_2822=function(){};var Qo=L(\"moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Ot.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:b()}),Zo=L(\"moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/\",function(){var e=Ot.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:b()}),Jo=function(){return Date.now?Date.now():+new Date},ei=[\"year\",\"quarter\",\"month\",\"week\",\"day\",\"hour\",\"minute\",\"second\",\"millisecond\"];Bt(\"Z\",\":\"),Bt(\"ZZ\",\"\"),$(\"Z\",uo),$(\"ZZ\",uo),J([\"Z\",\"ZZ\"],function(e,t,n){n._useUTC=!0,n._tzm=Ft(uo,e)});var ti=/([\\+\\-]|\\d\\d)/gi;r.updateOffset=function(){};var ni=/^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/,ri=/^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;Jt.fn=zt.prototype,Jt.invalid=It;var oi=rn(1,\"add\"),ii=rn(-1,\"subtract\");r.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",r.defaultFormatUtc=\"YYYY-MM-DDTHH:mm:ss[Z]\";var ai=L(\"moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.\",function(e){return void 0===e?this.localeData():this.locale(e)});q(0,[\"gg\",2],0,function(){return this.weekYear()%100}),q(0,[\"GG\",2],0,function(){return this.isoWeekYear()%100}),Fn(\"gggg\",\"weekYear\"),Fn(\"ggggg\",\"weekYear\"),Fn(\"GGGG\",\"isoWeekYear\"),Fn(\"GGGGG\",\"isoWeekYear\"),B(\"weekYear\",\"gg\"),B(\"isoWeekYear\",\"GG\"),W(\"weekYear\",1),W(\"isoWeekYear\",1),$(\"G\",ao),$(\"g\",ao),$(\"GG\",Jr,$r),$(\"gg\",Jr,$r),$(\"GGGG\",ro,Qr),$(\"gggg\",ro,Qr),$(\"GGGGG\",oo,Zr),$(\"ggggg\",oo,Zr),ee([\"gggg\",\"ggggg\",\"GGGG\",\"GGGGG\"],function(e,t,n,r){t[r.substr(0,2)]=w(e)}),ee([\"gg\",\"GG\"],function(e,t,n,o){t[o]=r.parseTwoDigitYear(e)}),q(\"Q\",0,\"Qo\",\"quarter\"),B(\"quarter\",\"Q\"),W(\"quarter\",7),$(\"Q\",Gr),J(\"Q\",function(e,t){t[mo]=3*(w(e)-1)}),q(\"D\",[\"DD\",2],\"Do\",\"date\"),B(\"date\",\"D\"),W(\"date\",9),$(\"D\",Jr),$(\"DD\",Jr,$r),$(\"Do\",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),J([\"D\",\"DD\"],go),J(\"Do\",function(e,t){t[go]=w(e.match(Jr)[0])});var si=ie(\"Date\",!0);q(\"DDD\",[\"DDDD\",3],\"DDDo\",\"dayOfYear\"),B(\"dayOfYear\",\"DDD\"),W(\"dayOfYear\",4),$(\"DDD\",no),$(\"DDDD\",Kr),J([\"DDD\",\"DDDD\"],function(e,t,n){n._dayOfYear=w(e)}),q(\"m\",[\"mm\",2],0,\"minute\"),B(\"minute\",\"m\"),W(\"minute\",14),$(\"m\",Jr),$(\"mm\",Jr,$r),J([\"m\",\"mm\"],bo);var ui=ie(\"Minutes\",!1);q(\"s\",[\"ss\",2],0,\"second\"),B(\"second\",\"s\"),W(\"second\",15),$(\"s\",Jr),$(\"ss\",Jr,$r),J([\"s\",\"ss\"],yo);var li=ie(\"Seconds\",!1);q(\"S\",0,0,function(){return~~(this.millisecond()/100)}),q(0,[\"SS\",2],0,function(){return~~(this.millisecond()/10)}),q(0,[\"SSS\",3],0,\"millisecond\"),q(0,[\"SSSS\",4],0,function(){return 10*this.millisecond()}),q(0,[\"SSSSS\",5],0,function(){return 100*this.millisecond()}),q(0,[\"SSSSSS\",6],0,function(){return 1e3*this.millisecond()}),q(0,[\"SSSSSSS\",7],0,function(){return 1e4*this.millisecond()}),q(0,[\"SSSSSSSS\",8],0,function(){return 1e5*this.millisecond()}),q(0,[\"SSSSSSSSS\",9],0,function(){return 1e6*this.millisecond()}),B(\"millisecond\",\"ms\"),W(\"millisecond\",16),$(\"S\",no,Gr),$(\"SS\",no,$r),$(\"SSS\",no,Kr);var ci;for(ci=\"SSSS\";ci.length<=9;ci+=\"S\")$(ci,io);for(ci=\"S\";ci.length<=9;ci+=\"S\")J(ci,Gn);var di=ie(\"Milliseconds\",!1);q(\"z\",0,0,\"zoneAbbr\"),q(\"zz\",0,0,\"zoneName\");var fi=v.prototype;fi.add=oi,fi.calendar=sn,fi.clone=un,fi.diff=mn,fi.endOf=On,fi.format=vn,fi.from=Mn,fi.fromNow=An,fi.to=wn,fi.toNow=Cn,fi.get=ue,fi.invalidAt=Pn,fi.isAfter=ln,fi.isBefore=cn,fi.isBetween=dn,fi.isSame=fn,fi.isSameOrAfter=pn,fi.isSameOrBefore=hn,fi.isValid=zn,fi.lang=ai,fi.locale=En,fi.localeData=Ln,fi.max=Zo,fi.min=Qo,fi.parsingFlags=jn,fi.set=le,fi.startOf=Tn,fi.subtract=ii,fi.toArray=Dn,fi.toObject=xn,fi.toDate=kn,fi.toISOString=bn,fi.inspect=yn,fi.toJSON=In,fi.toString=_n,fi.unix=Nn,fi.valueOf=Sn,fi.creationData=Bn,fi.year=Co,fi.isLeapYear=oe,fi.weekYear=Rn,fi.isoWeekYear=Wn,fi.quarter=fi.quarters=Xn,fi.month=_e,fi.daysInMonth=be,fi.week=fi.weeks=ke,fi.isoWeek=fi.isoWeeks=De,fi.weeksInYear=Hn,fi.isoWeeksInYear=Yn,fi.date=si,fi.day=fi.days=Re,fi.weekday=We,fi.isoWeekday=Ye,fi.dayOfYear=Vn,fi.hour=fi.hours=Fo,fi.minute=fi.minutes=ui,fi.second=fi.seconds=li,fi.millisecond=fi.milliseconds=di,fi.utcOffset=Yt,fi.utc=qt,fi.local=Ut,fi.parseZone=Xt,fi.hasAlignedHourOffset=Vt,fi.isDST=Gt,fi.isLocal=Kt,fi.isUtcOffset=Qt,fi.isUtc=Zt,fi.isUTC=Zt,fi.zoneAbbr=$n,fi.zoneName=Kn,fi.dates=L(\"dates accessor is deprecated. Use date instead.\",si),fi.months=L(\"months accessor is deprecated. Use month instead\",_e),fi.years=L(\"years accessor is deprecated. Use year instead\",Co),fi.zone=L(\"moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/\",Ht),fi.isDSTShifted=L(\"isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information\",$t);var pi=k.prototype;pi.calendar=D,pi.longDateFormat=x,pi.invalidDate=I,pi.ordinal=z,pi.preparse=Jn,pi.postformat=Jn,pi.relativeTime=j,pi.pastFuture=P,pi.set=S,pi.months=fe,pi.monthsShort=pe,pi.monthsParse=me,pi.monthsRegex=ve,pi.monthsShortRegex=ye,pi.week=Oe,pi.firstDayOfYear=Ne,pi.firstDayOfWeek=Se,pi.weekdays=ze,pi.weekdaysMin=Pe,pi.weekdaysShort=je,pi.weekdaysParse=Fe,pi.weekdaysRegex=He,pi.weekdaysShortRegex=qe,pi.weekdaysMinRegex=Ue,pi.isPM=Qe,pi.meridiem=Ze,nt(\"en\",{dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===w(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n}}),r.lang=L(\"moment.lang is deprecated. Use moment.locale instead.\",nt),r.langData=L(\"moment.langData is deprecated. Use moment.localeData instead.\",it);var hi=Math.abs,mi=br(\"ms\"),gi=br(\"s\"),_i=br(\"m\"),bi=br(\"h\"),yi=br(\"d\"),vi=br(\"w\"),Mi=br(\"M\"),Ai=br(\"y\"),wi=Mr(\"milliseconds\"),Ci=Mr(\"seconds\"),Ei=Mr(\"minutes\"),Li=Mr(\"hours\"),Ti=Mr(\"days\"),Oi=Mr(\"months\"),Si=Mr(\"years\"),Ni=Math.round,ki={ss:44,s:45,m:45,h:22,d:26,M:11},Di=Math.abs,xi=zt.prototype;return xi.isValid=xt,xi.abs=ur,xi.add=cr,xi.subtract=dr,xi.as=gr,xi.asMilliseconds=mi,xi.asSeconds=gi,xi.asMinutes=_i,xi.asHours=bi,xi.asDays=yi,xi.asWeeks=vi,xi.asMonths=Mi,xi.asYears=Ai,xi.valueOf=_r,xi._bubble=pr,xi.clone=yr,xi.get=vr,xi.milliseconds=wi,xi.seconds=Ci,xi.minutes=Ei,xi.hours=Li,xi.days=Ti,xi.weeks=Ar,xi.months=Oi,xi.years=Si,xi.humanize=Tr,xi.toISOString=Sr,xi.toString=Sr,xi.toJSON=Sr,xi.locale=En,xi.localeData=Ln,xi.toIsoString=L(\"toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)\",Sr),xi.lang=ai,q(\"X\",0,0,\"unix\"),q(\"x\",0,0,\"valueOf\"),$(\"x\",ao),$(\"X\",lo),J(\"X\",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),J(\"x\",function(e,t,n){n._d=new Date(w(e))}),r.version=\"2.22.1\",o(Ot),r.fn=fi,r.min=Nt,r.max=kt,r.now=Jo,r.utc=h,r.unix=Qn,r.months=rr,r.isDate=c,r.locale=nt,r.invalid=b,r.duration=Jt,r.isMoment=M,r.weekdays=ir,r.parseZone=Zn,r.localeData=it,r.isDuration=jt,r.monthsShort=or,r.weekdaysMin=sr,r.defineLocale=rt,r.updateLocale=ot,r.locales=at,r.weekdaysShort=ar,r.normalizeUnits=F,r.relativeTimeRounding=Er,r.relativeTimeThreshold=Lr,r.calendarFormat=an,r.prototype=fi,r.HTML5_FMT={DATETIME_LOCAL:\"YYYY-MM-DDTHH:mm\",DATETIME_LOCAL_SECONDS:\"YYYY-MM-DDTHH:mm:ss\",DATETIME_LOCAL_MS:\"YYYY-MM-DDTHH:mm:ss.SSS\",DATE:\"YYYY-MM-DD\",TIME:\"HH:mm\",TIME_SECONDS:\"HH:mm:ss\",TIME_MS:\"HH:mm:ss.SSS\",WEEK:\"YYYY-[W]WW\",MONTH:\"YYYY-MM\"},r})}).call(t,n(38),n(227)(e))},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),Object.defineProperty(t,\"loadNamespaces\",{enumerable:!0,get:function(){return r.loadNamespaces}}),Object.defineProperty(t,\"withNamespaces\",{enumerable:!0,get:function(){return o.withNamespaces}}),Object.defineProperty(t,\"translate\",{enumerable:!0,get:function(){return o.translate}}),Object.defineProperty(t,\"NamespacesConsumer\",{enumerable:!0,get:function(){return i.NamespacesConsumer}}),Object.defineProperty(t,\"I18n\",{enumerable:!0,get:function(){return i.I18n}}),Object.defineProperty(t,\"Trans\",{enumerable:!0,get:function(){return a.Trans}}),Object.defineProperty(t,\"I18nextProvider\",{enumerable:!0,get:function(){return s.I18nextProvider}}),Object.defineProperty(t,\"withI18n\",{enumerable:!0,get:function(){return u.withI18n}}),Object.defineProperty(t,\"I18nContext\",{enumerable:!0,get:function(){return u.I18nContext}}),Object.defineProperty(t,\"reactI18nextModule\",{enumerable:!0,get:function(){return u.reactI18nextModule}}),Object.defineProperty(t,\"setDefaults\",{enumerable:!0,get:function(){return u.setDefaults}}),Object.defineProperty(t,\"getDefaults\",{enumerable:!0,get:function(){return u.getDefaults}}),Object.defineProperty(t,\"setI18n\",{enumerable:!0,get:function(){return u.setI18n}}),Object.defineProperty(t,\"getI18n\",{enumerable:!0,get:function(){return u.getI18n}}),Object.defineProperty(t,\"Interpolate\",{enumerable:!0,get:function(){return l.Interpolate}});var r=n(141),o=n(1552),i=n(612),a=n(1551),s=n(1549),u=n(140),l=n(1550)},function(e,t,n){e.exports=n(1378)()},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(895),i=r(o),a=n(894),s=r(a),u=n(242),l=r(u);t.default=function(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+(\"undefined\"==typeof t?\"undefined\":(0,l.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(i.default?(0,i.default)(e,t):e.__proto__=t)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(242),i=r(o);t.default=function(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!==(\"undefined\"==typeof t?\"undefined\":(0,i.default)(t))&&\"function\"!=typeof t?e:t}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(359),i=r(o);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.XpubField=t.TextareaField=t.TextField=t.TableList=t.SubmitIndicator=t.StepList=t.Step=t.SingletonField=t.SelectField=t.Section=t.SearchBar=t.RoutingContainer=t.RestoreMnemonic=t.RestoreKeystore=t.RelativeTime=t.RawJsonButton=t.RadioField=t.PasswordField=t.Pagination=t.PageTitle=t.PageContent=t.ObjectSelectorField=t.NotFound=t.Mnemonic=t.KeyValueTable=t.KeyConfiguration=t.JsonField=t.HiddenField=t.GasField=t.FormSection=t.FormContainer=t.Flash=t.FileField=t.FieldLabel=t.ErrorBanner=t.EmptyContent=t.CopyableBlock=t.BaseShow=t.BaseNew=t.BaseList=t.BaseUpdate=t.Autocomplete=t.ConsoleSection=t.ConfirmMnemonic=t.CheckboxField=t.AmountInputMask=t.AmountUnitField=t.AmountField=void 0;var o=n(780),i=r(o),a=n(782),s=r(a),u=n(781),l=r(u),c=n(791),d=r(c),f=n(785),p=r(f),h=n(790),m=r(h),g=n(786),_=r(g),b=n(788),y=r(b),v=n(789),M=r(v),A=n(795),w=r(A),C=n(792),E=r(C),L=n(793),T=r(L),O=n(796),S=r(O),N=n(797),k=r(N),D=n(350),x=r(D),I=n(798),z=r(I),j=n(799),P=r(j),B=n(800),F=r(B),R=n(801),W=r(R),Y=n(802),H=r(Y),q=n(803),U=r(q),X=n(804),V=r(X),G=n(805),$=r(G),K=n(806),Q=r(K),Z=n(807),J=r(Z),ee=n(351),te=r(ee),ne=n(808),re=r(ne),oe=n(809),ie=r(oe),ae=n(810),se=r(ae),ue=n(811),le=r(ue),ce=n(812),de=r(ce),fe=n(813),pe=r(fe),he=n(814),me=r(he),ge=n(815),_e=r(ge),be=n(816),ye=r(be),ve=n(817),Me=r(ve),Ae=n(818),we=r(Ae),Ce=n(819),Ee=r(Ce),Le=n(820),Te=r(Le),Oe=n(821),Se=r(Oe),Ne=n(822),ke=r(Ne),De=n(823),xe=r(De),Ie=n(824),ze=r(Ie),je=n(825),Pe=r(je),Be=n(826),Fe=r(Be),Re=n(827),We=r(Re),Ye=n(828),He=r(Ye),qe=n(829),Ue=r(qe);t.AmountField=i.default,t.AmountUnitField=s.default,t.AmountInputMask=l.default,t.CheckboxField=d.default,t.ConfirmMnemonic=E.default,t.ConsoleSection=T.default,t.Autocomplete=p.default,t.BaseUpdate=m.default,t.BaseList=_.default,t.BaseNew=y.default,t.BaseShow=M.default,t.CopyableBlock=w.default,t.EmptyContent=S.default,t.ErrorBanner=k.default,t.FieldLabel=x.default,t.FileField=z.default,t.Flash=P.default,t.FormContainer=F.default,t.FormSection=W.default,t.GasField=H.default,t.HiddenField=U.default,t.JsonField=V.default,t.KeyConfiguration=$.default,t.KeyValueTable=Q.default,t.Mnemonic=J.default,t.NotFound=te.default,t.ObjectSelectorField=re.default,t.PageContent=ie.default,t.PageTitle=se.default,t.Pagination=le.default,t.PasswordField=de.default,t.RadioField=pe.default,t.RawJsonButton=me.default,t.RelativeTime=_e.default,t.RestoreKeystore=ye.default,t.RestoreMnemonic=Me.default,t.RoutingContainer=we.default,t.SearchBar=Ee.default,t.Section=Te.default,t.SelectField=Se.default,t.SingletonField=ke.default,t.Step=xe.default,t.StepList=ze.default,t.SubmitIndicator=Pe.default,t.TableList=Fe.default,t.TextField=We.default,t.TextareaField=He.default,t.XpubField=Ue.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}},function(e,t,n){var r,o;!function(){\"use strict\";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var o=typeof r;if(\"string\"===o||\"number\"===o)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if(\"object\"===o)for(var a in r)i.call(r,a)&&r[a]&&e.push(a)}}return e.join(\" \")}var i={}.hasOwnProperty;\"undefined\"!=typeof e&&e.exports?e.exports=n:(r=[],o=function(){return n}.apply(t,r),!(void 0!==o&&(e.exports=o)))}()},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];var o=n[n.length-1];return\"function\"==typeof o?e.apply(void 0,n):function(t){return e.apply(void 0,n.concat([t]))}}}function i(e,t){return null==e.bsClass?(0,_.default)(!1):void 0,e.bsClass+(t?\"-\"+t:\"\")}function a(e){var t,n=(t={},t[i(e)]=!0,t);if(e.bsSize){var r=v.SIZE_MAP[e.bsSize]||e.bsSize;n[i(e,r)]=!0}return e.bsStyle&&(n[i(e,e.bsStyle)]=!0),n}function s(e){return{bsClass:e.bsClass,bsSize:e.bsSize,bsStyle:e.bsStyle,bsRole:e.bsRole}}function u(e){return\"bsClass\"===e||\"bsSize\"===e||\"bsStyle\"===e||\"bsRole\"===e}function l(e){var t={};return(0,p.default)(e).forEach(function(e){var n=e[0],r=e[1];u(n)||(t[n]=r)}),[s(e),t]}function c(e,t){var n={};t.forEach(function(e){n[e]=!0});var r={};return(0,p.default)(e).forEach(function(e){var t=e[0],o=e[1];u(t)||n[t]||(r[t]=o)}),[s(e),r]}function d(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];M(n,e)}t.__esModule=!0,t._curry=t.bsSizes=t.bsStyles=t.bsClass=void 0;var f=n(360),p=r(f),h=n(9),m=r(h);t.prefix=i,t.getClassSet=a,t.splitBsProps=l,t.splitBsPropsAndOmit=c,t.addStyle=d;var g=n(33),_=r(g),b=n(5),y=r(b),v=n(40),M=(t.bsClass=o(function(e,t){var n=t.propTypes||(t.propTypes={}),r=t.defaultProps||(t.defaultProps={});return n.bsClass=y.default.string,r.bsClass=e,t}),t.bsStyles=o(function(e,t,n){\"string\"!=typeof t&&(n=t,t=void 0);var r=n.STYLES||[],o=n.propTypes||{};e.forEach(function(e){r.indexOf(e)===-1&&r.push(e)});var i=y.default.oneOf(r);if(n.STYLES=i._values=r,n.propTypes=(0,m.default)({},o,{bsStyle:i}),void 0!==t){var a=n.defaultProps||(n.defaultProps={});a.bsStyle=t}return n}));t.bsSizes=o(function(e,t,n){\"string\"!=typeof t&&(n=t,t=void 0);var r=n.SIZES||[],o=n.propTypes||{};e.forEach(function(e){r.indexOf(e)===-1&&r.push(e)});var i=[];r.forEach(function(e){var t=v.SIZE_MAP[e];t&&t!==e&&i.push(t),i.push(e)});var a=y.default.oneOf(i);return a._values=i,n.SIZES=r,n.propTypes=(0,m.default)({},o,{bsSize:a}),void 0!==t&&(n.defaultProps||(n.defaultProps={}),n.defaultProps.bsSize=t),n}),t._curry=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.releaseUrl=t.docsRoot=t.testnetUrl=t.testnetInfoUrl=t.federationApiHost=t.UTXOpageSize=t.pageSize=t.btmID=t.history=t.chainSigner=t.chainClient=void 0;var o=n(241),i=r(o),a=n(342),s=n(27),u=n(1268),l=void 0,c=void 0;l=window.location.origin,c=\"/dashboard\";t.chainClient=function(){return new i.default.Client({url:l,accessToken:a.store.getState().core.clientToken})},t.chainSigner=function(){return new i.default.HsmSigner},t.history=(0,s.useRouterHistory)(u.createHistory)({basename:c}),t.btmID=\"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\",t.pageSize=25,t.UTXOpageSize=10,t.federationApiHost=window.location.protocol+\"//\"+window.location.hostname+\":9886\",t.testnetInfoUrl=\"https://testnet-info.chain.com\",t.testnetUrl=\"https://testnet.chain.com\",t.docsRoot=\"https://github.com/Bytom/vapor/wiki\",t.releaseUrl=\"https://github.com/Bytom/vapor/releases\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(174),i=r(o),a=n(175),s=n(343),u=n(231),l=n(345),c=n(232),d=n(346),f=n(176),p=n(233),h=n(234),m=n(235),g=n(353),_=n(180),b=n(178),y=n(354),v=n(238),M=n(177),A={accessControl:i.default,account:a.actions,app:s.actions,asset:u.actions,backUp:l.actions,balance:c.actions,configuration:d.actions,core:f.actions,federation:p.actions,initialization:h.actions,key:m.actions,testnet:g.actions,transaction:_.actions,transactionFeed:b.actions,tutorial:y.actions,unspent:v.actions,peer:M.actions};t.default=A},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.connect=t.Provider=void 0;var o=n(1569),i=r(o),a=n(1570),s=r(a);t.Provider=i.default,t.connect=s.default},function(e,t,n){\"use strict\";function r(e,t,n,r,i,a,s,u){if(o(t),!e){\nvar l;if(void 0===t)l=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var c=[n,r,i,a,s,u],d=0;l=new Error(t.replace(/%s/g,function(){return c[d++]})),l.name=\"Invariant Violation\"}throw l.framesToPop=1,l}}var o=function(e){};e.exports=r},[1711,22],function(e,t){var n=e.exports=\"undefined\"!=typeof window&&window.Math==Math?window:\"undefined\"!=typeof self&&self.Math==Math?self:Function(\"return this\")();\"number\"==typeof __g&&(__g=n)},function(e,t,n){\"use strict\";var r=n(63),o=r;e.exports=o},function(e,t){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,t){e.exports=function(e){return\"object\"==typeof e?null!==e:\"function\"==typeof e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.untouchWithKey=t.untouch=t.touchWithKey=t.touch=t.swapArrayValues=t.stopSubmit=t.stopAsyncValidation=t.startSubmit=t.startAsyncValidation=t.reset=t.propTypes=t.initializeWithKey=t.initialize=t.getValues=t.removeArrayValue=t.reduxForm=t.reducer=t.focus=t.destroy=t.changeWithKey=t.change=t.blur=t.autofillWithKey=t.autofill=t.addArrayValue=t.actionTypes=void 0;var o=n(1),i=r(o),a=n(16),s=n(1615),u=r(s),l=\"undefined\"!=typeof window&&window.navigator&&window.navigator.product&&\"ReactNative\"===window.navigator.product,c=(0,u.default)(l,i.default,a.connect),d=c.actionTypes,f=c.addArrayValue,p=c.autofill,h=c.autofillWithKey,m=c.blur,g=c.change,_=c.changeWithKey,b=c.destroy,y=c.focus,v=c.reducer,M=c.reduxForm,A=c.removeArrayValue,w=c.getValues,C=c.initialize,E=c.initializeWithKey,L=c.propTypes,T=c.reset,O=c.startAsyncValidation,S=c.startSubmit,N=c.stopAsyncValidation,k=c.stopSubmit,D=c.swapArrayValues,x=c.touch,I=c.touchWithKey,z=c.untouch,j=c.untouchWithKey;t.actionTypes=d,t.addArrayValue=f,t.autofill=p,t.autofillWithKey=h,t.blur=m,t.change=g,t.changeWithKey=_,t.destroy=b,t.focus=y,t.reducer=v,t.reduxForm=M,t.removeArrayValue=A,t.getValues=w,t.initialize=C,t.initializeWithKey=E,t.propTypes=L,t.reset=T,t.startAsyncValidation=O,t.startSubmit=S,t.stopAsyncValidation=N,t.stopSubmit=k,t.swapArrayValues=D,t.touch=x,t.touchWithKey=I,t.untouch=z,t.untouchWithKey=j},function(e,t){\"use strict\";function n(e){for(var t=arguments.length-1,n=\"Minified React error #\"+e+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant=\"+e,r=0;r<t;r++)n+=\"&args[]=\"+encodeURIComponent(arguments[r+1]);n+=\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\";var o=new Error(n);throw o.name=\"Invariant Violation\",o.framesToPop=1,o}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var a=e[t],u=\"undefined\"==typeof a?\"undefined\":i(a);return s.default.isValidElement(a)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`, expected an element type (a string \")+\"or a ReactClass).\"):\"function\"!==u&&\"string\"!==u?new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+a+\"` \"+(\"supplied to `\"+n+\"`, expected an element type (a string \")+\"or a ReactClass).\"):null}t.__esModule=!0;var i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e},a=n(1),s=r(a),u=n(222),l=r(u);t.default=(0,l.default)(o)},[1753,195,106,19],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.createMemoryHistory=t.hashHistory=t.browserHistory=t.applyRouterMiddleware=t.formatPattern=t.useRouterHistory=t.match=t.routerShape=t.locationShape=t.PropTypes=t.RoutingContext=t.RouterContext=t.createRoutes=t.useRoutes=t.RouteContext=t.Lifecycle=t.History=t.Route=t.Redirect=t.IndexRoute=t.IndexRedirect=t.withRouter=t.IndexLink=t.Link=t.Router=void 0;var o=n(92);Object.defineProperty(t,\"createRoutes\",{enumerable:!0,get:function(){return o.createRoutes}});var i=n(330);Object.defineProperty(t,\"locationShape\",{enumerable:!0,get:function(){return i.locationShape}}),Object.defineProperty(t,\"routerShape\",{enumerable:!0,get:function(){return i.routerShape}});var a=n(142);Object.defineProperty(t,\"formatPattern\",{enumerable:!0,get:function(){return a.formatPattern}});var s=n(1584),u=r(s),l=n(623),c=r(l),d=n(1578),f=r(d),p=n(1597),h=r(p),m=n(1579),g=r(m),_=n(1580),b=r(_),y=n(624),v=r(y),M=n(1582),A=r(M),w=n(1577),C=r(w),E=n(1581),L=r(E),T=n(1583),O=r(T),S=n(1596),N=r(S),k=n(223),D=r(k),x=n(1585),I=r(x),z=r(i),j=n(1594),P=r(j),B=n(629),F=r(B),R=n(1587),W=r(R),Y=n(1588),H=r(Y),q=n(1592),U=r(q),X=n(626),V=r(X);t.Router=u.default,t.Link=c.default,t.IndexLink=f.default,t.withRouter=h.default,t.IndexRedirect=g.default,t.IndexRoute=b.default,t.Redirect=v.default,t.Route=A.default,t.History=C.default,t.Lifecycle=L.default,t.RouteContext=O.default,t.useRoutes=N.default,t.RouterContext=D.default,t.RoutingContext=I.default,t.PropTypes=z.default,t.match=P.default,t.useRouterHistory=F.default,t.applyRouterMiddleware=W.default,t.browserHistory=H.default,t.hashHistory=U.default,t.createMemoryHistory=V.default},function(e,t){\"use strict\";function n(e){if(null===e||void 0===e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function r(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",\"5\"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if(\"0123456789\"!==r.join(\"\"))return!1;var o={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(e){o[e]=e}),\"abcdefghijklmnopqrst\"===Object.keys(Object.assign({},o)).join(\"\")}catch(e){return!1}}var o=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=r()?Object.assign:function(e,t){for(var r,s,u=n(e),l=1;l<arguments.length;l++){r=Object(arguments[l]);for(var c in r)i.call(r,c)&&(u[c]=r[c]);if(o){s=o(r);for(var d=0;d<s.length;d++)a.call(r,s[d])&&(u[s[d]]=r[s[d]])}}return u}},function(e,t,n){\"use strict\";e.exports=n(1495)},[1716,21],[1732,18,383,73,30],[1748,72],function(e,t,n){\"use strict\";var r=function(e,t,n,r,o,i,a,s){if(!e){var u;if(void 0===t)u=new Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[n,r,o,i,a,s],c=0;u=new Error(t.replace(/%s/g,function(){return l[c++]})),u.name=\"Invariant Violation\"}throw u.framesToPop=1,u}};e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return 1===e.nodeType&&e.getAttribute(h)===String(t)||8===e.nodeType&&e.nodeValue===\" react-text: \"+t+\" \"||8===e.nodeType&&e.nodeValue===\" react-empty: \"+t+\" \"}function o(e){for(var t;t=e._renderedComponent;)e=t;return e}function i(e,t){var n=o(e);n._hostNode=t,t[g]=n}function a(e){var t=e._hostNode;t&&(delete t[g],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=o(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){i(u,a);continue e}d(\"32\",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[g])return e[g];for(var t=[];!e[g];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[g]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode?d(\"33\"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:d(\"34\"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var d=n(24),f=n(138),p=n(595),h=(n(17),f.ID_ATTRIBUTE_NAME),m=p,g=\"__reactInternalInstance$\"+Math.random().toString(36).slice(2),_={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:i,uncacheNode:a};e.exports=_},[1749,70],function(e,t,n){(function(e){\"use strict\";function r(e){return e&&\"object\"==typeof e&&\"default\"in e?e.default:e}function o(e){if(\"object\"!=typeof e||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t}function i(e,t,n){function r(){m===h&&(m=h.slice())}function a(){if(_)throw new Error(\"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.\");return p}function s(e){if(\"function\"!=typeof e)throw new Error(\"Expected the listener to be a function.\");if(_)throw new Error(\"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.\");var t=!0;return r(),m.push(e),function(){if(t){if(_)throw new Error(\"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api-reference/store#subscribe(listener) for more details.\");t=!1,r();var n=m.indexOf(e);m.splice(n,1)}}}function u(e){if(!o(e))throw new Error(\"Actions must be plain objects. Use custom middleware for async actions.\");if(\"undefined\"==typeof e.type)throw new Error('Actions may not have an undefined \"type\" property. Have you misspelled a constant?');if(_)throw new Error(\"Reducers may not dispatch actions.\");try{_=!0,p=f(p,e)}finally{_=!1}for(var t=h=m,n=0;n<t.length;n++){var r=t[n];r()}return e}function l(e){if(\"function\"!=typeof e)throw new Error(\"Expected the nextReducer to be a function.\");f=e,u({type:b.REPLACE})}function c(){var e,t=s;return e={subscribe:function(e){function n(){e.next&&e.next(a())}if(\"object\"!=typeof e||null===e)throw new TypeError(\"Expected the observer to be an object.\");n();var r=t(n);return{unsubscribe:r}}},e[g]=function(){return this},e}var d;if(\"function\"==typeof t&&\"function\"==typeof n||\"function\"==typeof n&&\"function\"==typeof arguments[3])throw new Error(\"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function.\");if(\"function\"==typeof t&&\"undefined\"==typeof n&&(n=t,t=void 0),\"undefined\"!=typeof n){if(\"function\"!=typeof n)throw new Error(\"Expected the enhancer to be a function.\");return n(i)(e,t)}if(\"function\"!=typeof e)throw new Error(\"Expected the reducer to be a function.\");var f=e,p=t,h=[],m=h,_=!1;return u({type:b.INIT}),d={dispatch:u,subscribe:s,getState:a,replaceReducer:l},d[g]=c,d}function a(e,t){var n=t&&t.type,r=n&&'action \"'+String(n)+'\"'||\"an action\";return\"Given \"+r+', reducer \"'+e+'\" returned undefined. To ignore an action, you must explicitly return the previous state. If you want this reducer to hold no value, you can return null instead of undefined.'}function s(e){Object.keys(e).forEach(function(t){var n=e[t],r=n(void 0,{type:b.INIT});if(\"undefined\"==typeof r)throw new Error('Reducer \"'+t+\"\\\" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined. If you don't want to set a value for this reducer, you can use null instead of undefined.\");if(\"undefined\"==typeof n(void 0,{type:b.PROBE_UNKNOWN_ACTION()}))throw new Error('Reducer \"'+t+'\" returned undefined when probed with a random type. '+(\"Don't try to handle \"+b.INIT+' or other actions in \"redux/*\" ')+\"namespace. They are considered private. Instead, you must return the current state for any unknown actions, unless it is undefined, in which case you must return the initial state, regardless of the action type. The initial state may not be undefined, but can be null.\")})}function u(e){for(var t=Object.keys(e),n={},r=0;r<t.length;r++){var o=t[r];\"function\"==typeof e[o]&&(n[o]=e[o])}var i,u=Object.keys(n);try{s(n)}catch(e){i=e}return function(e,t){if(void 0===e&&(e={}),i)throw i;for(var r=!1,o={},s=0;s<u.length;s++){var l=u[s],c=n[l],d=e[l],f=c(d,t);if(\"undefined\"==typeof f){var p=a(l,t);throw new Error(p)}o[l]=f,r=r||f!==d}return r?o:e}}function l(e,t){return function(){return t(e.apply(this,arguments))}}function c(e,t){if(\"function\"==typeof e)return l(e,t);if(\"object\"!=typeof e||null===e)throw new Error(\"bindActionCreators expected an object or a function, instead received \"+(null===e?\"null\":typeof e)+'. Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');var n={};for(var r in e){var o=e[r];\"function\"==typeof o&&(n[r]=l(o,t))}return n}function d(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function f(e,t){var n=Object.keys(e);return Object.getOwnPropertySymbols&&n.push.apply(n,Object.getOwnPropertySymbols(e)),t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n}function p(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?f(n,!0).forEach(function(t){d(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):f(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function h(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return 0===t.length?function(e){return e}:1===t.length?t[0]:t.reduce(function(e,t){return function(){return e(t.apply(void 0,arguments))}})}function m(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(e){return function(){var n=e.apply(void 0,arguments),r=function(){throw new Error(\"Dispatching while constructing your middleware is not allowed. Other middleware would not be applied to this dispatch.\")},o={getState:n.getState,dispatch:function(){return r.apply(void 0,arguments)}},i=t.map(function(e){return e(o)});return r=h.apply(void 0,i)(n.dispatch),p({},n,{dispatch:r})}}}Object.defineProperty(t,\"__esModule\",{value:!0});var g=r(n(1656)),_=function(){return Math.random().toString(36).substring(7).split(\"\").join(\".\")},b={INIT:\"@@redux/INIT\"+_(),REPLACE:\"@@redux/REPLACE\"+_(),PROBE_UNKNOWN_ACTION:function(){return\"@@redux/PROBE_UNKNOWN_ACTION\"+_()}};t.__DO_NOT_USE__ActionTypes=b,t.applyMiddleware=m,t.bindActionCreators=c,t.combineReducers=u,t.compose=h,t.createStore=i}).call(t,n(38))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeRoutes=t.reducers=t.actions=void 0;var i=n(66),a=o(i),s=n(831),u=r(s),l=n(830),c=o(l);t.actions=a,t.reducers=c,t.makeRoutes=u.default},function(e,t,n){(function(t){function r(){}function o(){f.log.apply(f,arguments)}function i(){f.log.apply(f,arguments)}function a(){f.warn.apply(f,arguments)}function s(e){_[e]=m()}function u(e){var t=_[e];if(!t)throw new Error(\"No such label: \"+e);var n=m()-t;f.log(e+\": \"+n+\"ms\")}function l(){var e=new Error;e.name=\"Trace\",e.message=p.format.apply(null,arguments),f.error(e.stack)}function c(e){f.log(p.inspect(e)+\"\\n\")}function d(e){if(!e){var t=g.call(arguments,1);h.ok(!1,p.format.apply(null,t))}}var f,p=n(1700),h=n(676),m=n(1158),g=Array.prototype.slice,_={};f=\"undefined\"!=typeof t&&t.console?t.console:\"undefined\"!=typeof window&&window.console?window.console:{};for(var b=[[r,\"log\"],[o,\"info\"],[i,\"warn\"],[a,\"error\"],[s,\"time\"],[u,\"timeEnd\"],[l,\"trace\"],[c,\"dir\"],[d,\"assert\"]],y=0;y<b.length;y++){var v=b[y],M=v[0],A=v[1];f[A]||(f[A]=M)}e.exports=f}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.filter(function(e){return null!=e}).reduce(function(e,t){if(\"function\"!=typeof t)throw new Error(\"Invalid Argument Type, must only provide functions, undefined, or null.\");return null===e?t:function(){for(var n=arguments.length,r=Array(n),o=0;o<n;o++)r[o]=arguments[o];e.apply(this,r),t.apply(this,r)}},null)}t.__esModule=!0,t.default=n,e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0;t.Size={LARGE:\"large\",SMALL:\"small\",XSMALL:\"xsmall\"},t.SIZE_MAP={large:\"lg\",medium:\"md\",small:\"sm\",xsmall:\"xs\",lg:\"lg\",md:\"md\",sm:\"sm\",xs:\"xs\"},t.DEVICE_SIZES=[\"lg\",\"md\",\"sm\",\"xs\"],t.State={SUCCESS:\"success\",WARNING:\"warning\",DANGER:\"danger\",INFO:\"info\"},t.Style={DEFAULT:\"default\",PRIMARY:\"primary\",LINK:\"link\",INVERSE:\"inverse\"}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.routerMiddleware=t.routerActions=t.goForward=t.goBack=t.go=t.replace=t.push=t.CALL_HISTORY_METHOD=t.routerReducer=t.LOCATION_CHANGE=t.syncHistoryWithStore=void 0;var o=n(622);Object.defineProperty(t,\"LOCATION_CHANGE\",{enumerable:!0,get:function(){return o.LOCATION_CHANGE}}),Object.defineProperty(t,\"routerReducer\",{enumerable:!0,get:function(){return o.routerReducer}});var i=n(621);Object.defineProperty(t,\"CALL_HISTORY_METHOD\",{enumerable:!0,get:function(){return i.CALL_HISTORY_METHOD}}),Object.defineProperty(t,\"push\",{enumerable:!0,get:function(){return i.push}}),Object.defineProperty(t,\"replace\",{enumerable:!0,get:function(){return i.replace}}),Object.defineProperty(t,\"go\",{enumerable:!0,get:function(){return i.go}}),Object.defineProperty(t,\"goBack\",{enumerable:!0,get:function(){return i.goBack}}),Object.defineProperty(t,\"goForward\",{enumerable:!0,get:function(){return i.goForward}}),Object.defineProperty(t,\"routerActions\",{enumerable:!0,get:function(){return i.routerActions}});var a=n(1574),s=r(a),u=n(1573),l=r(u);t.syncHistoryWithStore=s.default,t.routerMiddleware=l.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(t.indexOf(\"deprecated\")!==-1){if(u[t])return;u[t]=!0}t=\"[react-router] \"+t;for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];s.default.apply(void 0,[e,t].concat(r))}function i(){u={}}t.__esModule=!0,t.default=o,t._resetWarned=i;var a=n(47),s=r(a),u={}},function(e,t,n){\"use strict\";function r(e,t){if(!e)return e;var n=e.toString().replace(/[^0-9.]/g,\"\"),r=n.split(\".\");return\"0\"!==r[0]&&\"00\"!==r[0]?r[0]=r[0].replace(/^0+/,\"\"):r[0]=\"0\",r[1]?r[0]+\".\"+r[1].slice(0,t):n.indexOf(\".\")!==-1&&0!==t?r[0]+\".\":r[0]}function o(e,t){if(!e)return e;var n=e.replace(/[^0-9.]/g,\"\"),r=n.split(\".\"),o=\"\";for(r[1]&&(o=r[1].slice(0,t));o.length<t;)o+=\"0\";var i=r[0]+o;return i=/^0*$/.test(i)?\"0\":i.replace(/^0+/,\"\")}function i(e,t,n){return M(e,t,n)}function a(e,t){return b(e,t)}function s(e,t){return y(e,t)}function u(e,t,n){return _(e,h,t,n)}function l(e,t,n){return _(e,m,t,n)}function c(e,t,n){var r={amount:e.amount,accountId:e.accountId,accountAlias:e.accountAlias,assetId:e.assetId,assetAlias:e.assetAlias,controlProgram:e.program,programIndex:e.controlProgramIndex,sourceId:e.sourceId,sourcePos:e.sourcePos,change:e.change+\"\"};return _(r,g,t,n)}function d(e,t,n){return _(e,p,t,n)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.normalizeBTM=t.normalizeGlobalBTMAmount=void 0,t.formatBTMAmount=r,t.parseBTMAmount=o,t.normalizeBTMAmountUnit=i,t.addZeroToDecimalPosition=a,t.converIntToDec=s,t.buildTxInputDisplay=u,t.buildTxOutputDisplay=l,t.buildUnspentDisplay=c,t.buildBalanceDisplay=d;var f=n(14),p=[\"id\",\"type\",\"purpose\",\"transactionId\",\"position\",\"assetId\",\"assetAlias\",\"asset\",\"assetDefinition\",\"assetTags\",\"assetIsLocal\",\"amount\",\"totalVoteNumber\",\"accountAlias\",\"account\",\"accountTags\",\"controlProgram\",\"address\",\"programIndex\",\"spentOutputId\",\"refData\",\"sourceId\",\"sourcePos\",\"issuanceProgram\",\"isLocal\",\"referenceData\",\"change\"],h=[\"type\",\"asset\",\"amount\",\"account\",\"controlProgram\",\"address\"],m=[\"type\",\"id\",\"asset\",\"amount\",\"account\",\"controlProgram\",\"address\",\"vote\"],g=[\"type\",\"purpose\",\"transactionId\",\"position\",\"assetId\",\"assetAlias\",\"assetDefinition\",\"assetTags\",\"assetIsLocal\",\"amount\",\"accountId\",\"accountAlias\",\"accountTags\",\"controlProgram\",\"programIndex\",\"refData\",\"sourceId\",\"sourcePos\",\"isLocal\",\"referenceData\",\"change\"],_=function(e,t,n,r){var o=[],i=e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==f.btmID?e.assetDefinition.decimals:null;return t.forEach(function(t){e.hasOwnProperty(t)&&(\"amount\"===t?o.push({label:r(\"form.\"+t),value:i?y(e[t],i):M(e.assetId,e[t],n)}):\"totalVoteNumber\"===t?o.push({label:r(\"form.\"+t),value:i?y(e[t],i):M(e.assetId,e[t],n),details:\"/balances/vote/\"+e.accountId}):\"asset\"===t&&\"0000000000000000000000000000000000000000000000000000000000000000\"!==e.assetId?o.push({label:r(\"form.\"+t),value:e[t],link:\"/assets/\"+e.assetId}):\"account\"===t?o.push({label:r(\"form.\"+t),value:e[t],link:\"/accounts/\"+e.accountId}):o.push({label:r(\"form.\"+t),value:e[t]}))}),o},b=function(e,t){if(null!=e&&\"\"!==e){var n=e.toString(),r=n.indexOf(\".\");for(r<0&&(r=n.length,n+=\".\");n.length<=r+t;)n+=\"0\";return n}return e},y=function(e,t){if(null!=e&&\"\"!==e){var n=e.toString(),r=n.length;if(r<=t){for(var o=\"\";o.length<t-r;)o+=\"0\";return\"0.\"+o+n}return v(n.slice(0,-t)+\".\"+n.slice(-t))}return v(e)},v=function(e){var t=e.toString().split(\".\");return t[0]=t[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g,\",\"),t.join(\".\")},M=t.normalizeGlobalBTMAmount=function(e,t,n){if(e===f.btmID)switch(n){case\"BTM\":return y(t,8)+\" BTM\";case\"mBTM\":return y(t,5)+\" mBTM\";case\"NEU\":return t+\" NEU\"}return t};t.normalizeBTM=function(e,t){switch(t){case\"BTM\":return y(e,8)+\" BTM\";case\"mBTM\":return y(e,5)+\" mBTM\";case\"NEU\":return e+\" NEU\"}}},function(e,t){e.exports=function(e){if(\"function\"!=typeof e)throw TypeError(e+\" is not a function!\");return e}},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=n(115),i=n(240),a=n(890),s=function e(t){var n=this;r(this,e),this.successes=[],this.errors=[],t.forEach(function(e,t){e.code?n.errors[t]=e:n.successes[t]=e}),this.response=t},u=function(e,t){return\"function\"!=typeof t?e:e.then(function(e){setTimeout(function(){return t(null,e)},0)},function(e){setTimeout(function(){return t(e,null)},0)})},l=function(e,t,n,r){return u(e.request(t,n).then(function(e){return new s(e)}),r)};e.exports={batchRequest:l,singletonBatchRequest:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3];return u(e.request(t,n),r)},create:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=Object.assign({},n),a=o;return r.skipArray||(a=[a]),u(e.request(t,a).then(function(e){if(i.isBatchError(e[0]))throw i.newBatchError(e[0]);return Array.isArray(e)?e[0]:e}),r.cb)},createBatch:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return n=n.map(function(e){return Object.assign({clientToken:o.v4()},e)}),u(e.request(t,n).then(function(e){return new s(e)}),r.cb)},query:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{};return u(e.request(n,r).then(function(n){return new a(n,e,t)}).catch(function(e){throw e}),o.cb)},queryAll:function(e,t,n){var r=(arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},arguments[4]),o=e;t.split(\".\").forEach(function(e){o=o[e]});var i=new Promise(function(e,t){});return u(i,r)},tryCallback:u,BatchResponse:s}},function(e,t){\"use strict\";var n=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:n,canUseWorkers:\"undefined\"!=typeof Worker,canUseEventListeners:n&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:n&&!!window.screen,isInWorker:!n};e.exports=r},function(e,t,n){\"use strict\";var r=function(){};e.exports=r},[1719,31,102,30],function(e,t,n){var r=n(19),o=n(48),i=n(54),a=n(106)(\"src\"),s=\"toString\",u=Function[s],l=(\"\"+u).split(s);n(60).inspectSource=function(e){return u.call(e)},(e.exports=function(e,t,n,s){var u=\"function\"==typeof n;u&&(i(n,\"name\")||o(n,\"name\",t)),e[t]!==n&&(u&&(i(n,a)||o(n,a,e[t]?\"\"+e[t]:l.join(String(t)))),e===r?e[t]=n:s?e[t]?e[t]=n:o(e,t,n):(delete e[t],o(e,t,n)))})(Function.prototype,s,function(){return\"function\"==typeof this&&this[a]||u.call(this)})},function(e,t,n){var r=n(2),o=n(21),i=n(70),a=/\"/g,s=function(e,t,n,r){var o=String(i(e)),s=\"<\"+t;return\"\"!==n&&(s+=\" \"+n+'=\"'+String(r).replace(a,\"&quot;\")+'\"'),s+\">\"+o+\"</\"+t+\">\"};e.exports=function(e,t){var n={};n[e]=t(s),r(r.P+r.F*o(function(){var t=\"\"[e]('\"');return t!==t.toLowerCase()||t.split('\"').length>3}),\"String\",n)}},function(e,t,n){var r=n(1320),o=n(1326),i=o(function(e,t){return null==e?{}:r(e,t)});e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=0;return p.default.Children.map(e,function(e){return p.default.isValidElement(e)?t.call(n,e,r++):e})}function i(e,t,n){var r=0;p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&t.call(n,e,r++)})}function a(e){var t=0;return p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&++t}),t}function s(e,t,n){var r=0,o=[];return p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&t.call(n,e,r++)&&o.push(e)}),o}function u(e,t,n){var r=0,o=void 0;return p.default.Children.forEach(e,function(e){o||p.default.isValidElement(e)&&t.call(n,e,r++)&&(o=e)}),o}function l(e,t,n){var r=0,o=!0;return p.default.Children.forEach(e,function(e){o&&p.default.isValidElement(e)&&(t.call(n,e,r++)||(o=!1))}),o}function c(e,t,n){var r=0,o=!1;return p.default.Children.forEach(e,function(e){o||p.default.isValidElement(e)&&t.call(n,e,r++)&&(o=!0)}),o}function d(e){var t=[];return p.default.Children.forEach(e,function(e){p.default.isValidElement(e)&&t.push(e)}),t}t.__esModule=!0;var f=n(1),p=r(f);t.default={map:o,forEach:i,count:a,find:u,filter:s,every:l,some:c,toArray:d},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1),i=r(o),a=n(12),s=r(a),u=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(!i.default.Component.prototype.isPrototypeOf(e))throw new Error(\"Component class must descend from React.Component\");return(0,s.default)(e.constructor.name,n)};t.default=u},function(e,t){var n={}.hasOwnProperty;e.exports=function(e,t){return n.call(e,t)}},[1734,158,102,57,73,54,383,30],[1737,54,35,275],[1747,157,70],function(e,t){var n=e.exports={version:\"2.5.6\"};\"number\"==typeof __e&&(__e=n)},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},58,[1715,44],function(e,t,n){\"use strict\";var r=n(21);e.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},function(e,t){\"use strict\";function n(e){return function(){return e}}var r=function(){};r.thatReturns=n,r.thatReturnsFalse=n(!1),r.thatReturnsTrue=n(!0),r.thatReturnsNull=n(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},47,function(e,t,n){\"use strict\";var r=null;e.exports={debugTool:r}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.baseListActions=t.baseUpdateActions=t.baseCreateActions=void 0;var o=n(777),i=r(o),a=n(779),s=r(a),u=n(778),l=r(u);t.baseCreateActions=i.default,t.baseUpdateActions=s.default,t.baseListActions=l.default},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={autoComplete:\"off\",autoCorrect:\"off\",autoCapitalize:\"none\",spellCheck:\"false\"}},[1753,253,183,85],function(e,t,n){var r=n(61),o=n(157),i=n(35),a=n(32),s=n(260);e.exports=function(e,t){var n=1==e,u=2==e,l=3==e,c=4==e,d=6==e,f=5==e||d,p=t||s;return function(t,s,h){for(var m,g,_=i(t),b=o(_),y=r(s,h,3),v=a(b.length),M=0,A=n?p(t,v):u?p(t,0):void 0;v>M;M++)if((f||M in b)&&(m=b[M],g=y(m,M,_),e))if(n)A[M]=g;else if(g)switch(e){case 3:return!0;case 5:return m;case 6:return M;case 2:A.push(m)}else if(c)return!1;return d?-1:l||c?c:A}}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError(\"Can't call method on  \"+e);return e}},function(e,t,n){var r=n(2),o=n(60),i=n(21);e.exports=function(e,t){var n=(o.Object||{})[e]||Object[e],a={};a[e]=t(n),r(r.S+r.F*i(function(){n(1)}),\"Object\",a)}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},[1750,22],function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return!e||\"#\"===e.trim()}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(1),g=r(m),_=n(5),b=r(_),y=n(25),v=r(y),M={href:b.default.string,onClick:b.default.func,disabled:b.default.bool,role:b.default.string,tabIndex:b.default.oneOfType([b.default.number,b.default.string]),componentClass:v.default},A={componentClass:\"a\"},w=function(e){function t(n,r){(0,c.default)(this,t);var o=(0,f.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,h.default)(t,e),t.prototype.handleClick=function(e){var t=this.props,n=t.disabled,r=t.href,i=t.onClick;return(n||o(r))&&e.preventDefault(),n?void e.stopPropagation():void(i&&i(e))},t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.disabled,r=(0,u.default)(e,[\"componentClass\",\"disabled\"]);return o(r.href)&&(r.role=r.role||\"button\",r.href=r.href||\"#\"),n&&(r.tabIndex=-1,r.style=(0,a.default)({pointerEvents:\"none\"},r.style)),g.default.createElement(t,(0,a.default)({},r,{onClick:this.handleClick}))},t}(g.default.Component);w.propTypes=M,w.defaultProps=A,t.default=w,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.utils=t.Well=t.Tooltip=t.Thumbnail=t.Tabs=t.TabPane=t.Table=t.TabContent=t.TabContainer=t.Tab=t.SplitButton=t.SafeAnchor=t.Row=t.ResponsiveEmbed=t.Radio=t.ProgressBar=t.Popover=t.PanelGroup=t.Panel=t.PaginationButton=t.Pagination=t.Pager=t.PageItem=t.PageHeader=t.OverlayTrigger=t.Overlay=t.NavItem=t.NavDropdown=t.NavbarBrand=t.Navbar=t.Nav=t.ModalTitle=t.ModalHeader=t.ModalFooter=t.ModalBody=t.Modal=t.MenuItem=t.Media=t.ListGroupItem=t.ListGroup=t.Label=t.Jumbotron=t.InputGroup=t.Image=t.HelpBlock=t.Grid=t.Glyphicon=t.FormGroup=t.FormControl=t.Form=t.Fade=t.DropdownButton=t.Dropdown=t.Collapse=t.Col=t.ControlLabel=t.Clearfix=t.Checkbox=t.CarouselItem=t.Carousel=t.ButtonToolbar=t.ButtonGroup=t.Button=t.BreadcrumbItem=t.Breadcrumb=t.Badge=t.Alert=t.Accordion=void 0;var i=n(1412),a=o(i),s=n(1413),u=o(s),l=n(1414),c=o(l),d=n(1415),f=o(d),p=n(568),h=o(p),m=n(166),g=o(m),_=n(569),b=o(_),y=n(1416),v=o(y),M=n(1417),A=o(M),w=n(570),C=o(w),E=n(1419),L=o(E),T=n(1420),O=o(T),S=n(1422),N=o(S),k=n(1421),D=o(k),x=n(305),I=o(x),z=n(211),j=o(z),P=n(1423),B=o(P),F=n(212),R=o(F),W=n(1425),Y=o(W),H=n(1426),q=o(H),U=n(1429),X=o(U),V=n(306),G=o(V),$=n(572),K=o($),Q=n(1430),Z=o(Q),J=n(1431),ee=o(J),te=n(1432),ne=o(te),re=n(1435),oe=o(re),ie=n(1436),ae=o(ie),se=n(1437),ue=o(se),le=n(573),ce=o(le),de=n(307),fe=o(de),pe=n(1444),he=o(pe),me=n(1445),ge=o(me),_e=n(574),be=o(_e),ye=n(575),ve=o(ye),Me=n(576),Ae=o(Me),we=n(577),Ce=o(we),Ee=n(578),Le=o(Ee),Te=n(1448),Oe=o(Te),Se=n(580),Ne=o(Se),ke=n(1447),De=o(ke),xe=n(579),Ie=o(xe),ze=n(581),je=o(ze),Pe=n(1452),Be=o(Pe),Fe=n(1453),Re=o(Fe),We=n(1454),Ye=o(We),He=n(1455),qe=o(He),Ue=n(1456),Xe=o(Ue),Ve=n(583),Ge=o(Ve),$e=n(1457),Ke=o($e),Qe=n(584),Ze=o(Qe),Je=n(1458),et=o(Je),tt=n(1459),nt=o(tt),rt=n(1460),ot=o(rt),it=n(1461),at=o(it),st=n(1462),ut=o(st),lt=n(75),ct=o(lt),dt=n(1463),ft=o(dt),pt=n(1465),ht=o(pt),mt=n(308),gt=o(mt),_t=n(309),bt=o(_t),yt=n(1466),vt=o(yt),Mt=n(585),At=o(Mt),wt=n(1467),Ct=o(wt),Et=n(1468),Lt=o(Et),Tt=n(1469),Ot=o(Tt),St=n(1470),Nt=o(St),kt=n(1474),Dt=r(kt);\nt.Accordion=a.default,t.Alert=u.default,t.Badge=c.default,t.Breadcrumb=f.default,t.BreadcrumbItem=h.default,t.Button=g.default,t.ButtonGroup=b.default,t.ButtonToolbar=v.default,t.Carousel=A.default,t.CarouselItem=C.default,t.Checkbox=L.default,t.Clearfix=O.default,t.ControlLabel=N.default,t.Col=D.default,t.Collapse=I.default,t.Dropdown=j.default,t.DropdownButton=B.default,t.Fade=R.default,t.Form=Y.default,t.FormControl=q.default,t.FormGroup=X.default,t.Glyphicon=G.default,t.Grid=K.default,t.HelpBlock=Z.default,t.Image=ee.default,t.InputGroup=ne.default,t.Jumbotron=oe.default,t.Label=ae.default,t.ListGroup=ue.default,t.ListGroupItem=ce.default,t.Media=fe.default,t.MenuItem=he.default,t.Modal=ge.default,t.ModalBody=be.default,t.ModalFooter=ve.default,t.ModalHeader=Ae.default,t.ModalTitle=Ce.default,t.Nav=Le.default,t.Navbar=Oe.default,t.NavbarBrand=Ne.default,t.NavDropdown=De.default,t.NavItem=Ie.default,t.Overlay=je.default,t.OverlayTrigger=Be.default,t.PageHeader=Re.default,t.PageItem=Ye.default,t.Pager=qe.default,t.Pagination=Xe.default,t.PaginationButton=Ge.default,t.Panel=Ke.default,t.PanelGroup=Ze.default,t.Popover=et.default,t.ProgressBar=nt.default,t.Radio=ot.default,t.ResponsiveEmbed=at.default,t.Row=ut.default,t.SafeAnchor=ct.default,t.SplitButton=ft.default,t.Tab=ht.default,t.TabContainer=gt.default,t.TabContent=bt.default,t.Table=vt.default,t.TabPane=At.default,t.Tabs=Ct.default,t.Thumbnail=Lt.default,t.Tooltip=Ot.default,t.Well=Nt.default,t.utils=Dt},function(e,t,n){(function(t){\"use strict\";function r(){T.ReactReconcileTransaction&&M?void 0:c(\"123\")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=f.getPooled(),this.reconcileTransaction=T.ReactReconcileTransaction.getPooled(!0)}function i(e,t,n,o,i,a){return r(),M.batchedUpdates(e,t,n,o,i,a)}function a(e,t){return e._mountOrder-t._mountOrder}function s(e){var n=e.dirtyComponentsLength;n!==_.length?c(\"124\",n,_.length):void 0,_.sort(a),b++;for(var r=0;r<n;r++){var o=_[r],i=o._pendingCallbacks;o._pendingCallbacks=null;var s;if(h.logTopLevelRenders){var u=o;o._currentElement.type.isReactTopLevelWrapper&&(u=o._renderedComponent),s=\"React update: \"+u.getName(),t.time(s)}if(m.performUpdateIfNecessary(o,e.reconcileTransaction,b),s&&t.timeEnd(s),i)for(var l=0;l<i.length;l++)e.callbackQueue.enqueue(i[l],o.getPublicInstance())}}function u(e){return r(),M.isBatchingUpdates?(_.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=b+1))):void M.batchedUpdates(u,e)}function l(e,t){M.isBatchingUpdates?void 0:c(\"125\"),y.enqueue(e,t),v=!0}var c=n(24),d=n(28),f=n(593),p=n(112),h=n(598),m=n(139),g=n(216),_=(n(17),[]),b=0,y=f.getPooled(),v=!1,M=null,A={initialize:function(){this.dirtyComponentsLength=_.length},close:function(){this.dirtyComponentsLength!==_.length?(_.splice(0,this.dirtyComponentsLength),E()):_.length=0}},w={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},C=[A,w];d(o.prototype,g,{getTransactionWrappers:function(){return C},destructor:function(){this.dirtyComponentsLength=null,f.release(this.callbackQueue),this.callbackQueue=null,T.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return g.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),p.addPoolingTo(o);var E=function(){for(;_.length||v;){if(_.length){var e=o.getPooled();e.perform(s,null,e),o.release(e)}if(v){v=!1;var t=y;y=f.getPooled(),t.notifyAll(),f.release(t)}}},L={injectReconcileTransaction:function(e){e?void 0:c(\"126\"),T.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:c(\"127\"),\"function\"!=typeof e.batchedUpdates?c(\"128\"):void 0,\"boolean\"!=typeof e.isBatchingUpdates?c(\"129\"):void 0,M=e}},T={ReactReconcileTransaction:null,batchedUpdates:i,enqueueUpdate:u,flushBatchedUpdates:E,injection:L,asap:l};e.exports=T}).call(t,n(38))},function(e,t,n){var r=n(404),o=n(2),i=n(195)(\"metadata\"),a=i.store||(i.store=new(n(407))),s=function(e,t,n){var o=a.get(e);if(!o){if(!n)return;a.set(e,o=new r)}var i=o.get(t);if(!i){if(!n)return;o.set(t,i=new r)}return i},u=function(e,t,n){var r=s(t,n,!1);return void 0!==r&&r.has(e)},l=function(e,t,n){var r=s(t,n,!1);return void 0===r?void 0:r.get(e)},c=function(e,t,n,r){s(n,r,!0).set(e,t)},d=function(e,t){var n=s(e,t,!1),r=[];return n&&n.forEach(function(e,t){r.push(t)}),r},f=function(e){return void 0===e||\"symbol\"==typeof e?e:String(e)},p=function(e){o(o.S,\"Reflect\",e)};e.exports={store:a,map:s,has:u,get:l,set:c,keys:d,key:f,exp:p}},function(e,t,n){\"use strict\";if(n(30)){var r=n(87),o=n(19),i=n(21),a=n(2),s=n(197),u=n(281),l=n(61),c=n(97),d=n(102),f=n(48),p=n(103),h=n(72),m=n(32),g=n(402),_=n(105),b=n(73),y=n(54),v=n(156),M=n(22),A=n(35),w=n(267),C=n(99),E=n(56),L=n(100).f,T=n(283),O=n(106),S=n(26),N=n(69),k=n(184),D=n(196),x=n(284),I=n(127),z=n(190),j=n(104),P=n(259),B=n(375),F=n(31),R=n(55),W=F.f,Y=R.f,H=o.RangeError,q=o.TypeError,U=o.Uint8Array,X=\"ArrayBuffer\",V=\"Shared\"+X,G=\"BYTES_PER_ELEMENT\",$=\"prototype\",K=Array[$],Q=u.ArrayBuffer,Z=u.DataView,J=N(0),ee=N(2),te=N(3),ne=N(4),re=N(5),oe=N(6),ie=k(!0),ae=k(!1),se=x.values,ue=x.keys,le=x.entries,ce=K.lastIndexOf,de=K.reduce,fe=K.reduceRight,pe=K.join,he=K.sort,me=K.slice,ge=K.toString,_e=K.toLocaleString,be=S(\"iterator\"),ye=S(\"toStringTag\"),ve=O(\"typed_constructor\"),Me=O(\"def_constructor\"),Ae=s.CONSTR,we=s.TYPED,Ce=s.VIEW,Ee=\"Wrong length!\",Le=N(1,function(e,t){return ke(D(e,e[Me]),t)}),Te=i(function(){return 1===new U(new Uint16Array([1]).buffer)[0]}),Oe=!!U&&!!U[$].set&&i(function(){new U(1).set({})}),Se=function(e,t){var n=h(e);if(n<0||n%t)throw H(\"Wrong offset!\");return n},Ne=function(e){if(M(e)&&we in e)return e;throw q(e+\" is not a typed array!\")},ke=function(e,t){if(!(M(e)&&ve in e))throw q(\"It is not a typed array constructor!\");return new e(t)},De=function(e,t){return xe(D(e,e[Me]),t)},xe=function(e,t){for(var n=0,r=t.length,o=ke(e,r);r>n;)o[n]=t[n++];return o},Ie=function(e,t,n){W(e,t,{get:function(){return this._d[n]}})},ze=function(e){var t,n,r,o,i,a,s=A(e),u=arguments.length,c=u>1?arguments[1]:void 0,d=void 0!==c,f=T(s);if(void 0!=f&&!w(f)){for(a=f.call(s),r=[],t=0;!(i=a.next()).done;t++)r.push(i.value);s=r}for(d&&u>2&&(c=l(c,arguments[2],2)),t=0,n=m(s.length),o=ke(this,n);n>t;t++)o[t]=d?c(s[t],t):s[t];return o},je=function(){for(var e=0,t=arguments.length,n=ke(this,t);t>e;)n[e]=arguments[e++];return n},Pe=!!U&&i(function(){_e.call(new U(1))}),Be=function(){return _e.apply(Pe?me.call(Ne(this)):Ne(this),arguments)},Fe={copyWithin:function(e,t){return B.call(Ne(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return ne(Ne(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return P.apply(Ne(this),arguments)},filter:function(e){return De(this,ee(Ne(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return re(Ne(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return oe(Ne(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){J(Ne(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ae(Ne(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return ie(Ne(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return pe.apply(Ne(this),arguments)},lastIndexOf:function(e){return ce.apply(Ne(this),arguments)},map:function(e){return Le(Ne(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return de.apply(Ne(this),arguments)},reduceRight:function(e){return fe.apply(Ne(this),arguments)},reverse:function(){for(var e,t=this,n=Ne(t).length,r=Math.floor(n/2),o=0;o<r;)e=t[o],t[o++]=t[--n],t[n]=e;return t},some:function(e){return te(Ne(this),e,arguments.length>1?arguments[1]:void 0)},sort:function(e){return he.call(Ne(this),e)},subarray:function(e,t){var n=Ne(this),r=n.length,o=_(e,r);return new(D(n,n[Me]))(n.buffer,n.byteOffset+o*n.BYTES_PER_ELEMENT,m((void 0===t?r:_(t,r))-o))}},Re=function(e,t){return De(this,me.call(Ne(this),e,t))},We=function(e){Ne(this);var t=Se(arguments[1],1),n=this.length,r=A(e),o=m(r.length),i=0;if(o+t>n)throw H(Ee);for(;i<o;)this[t+i]=r[i++]},Ye={entries:function(){return le.call(Ne(this))},keys:function(){return ue.call(Ne(this))},values:function(){return se.call(Ne(this))}},He=function(e,t){return M(e)&&e[we]&&\"symbol\"!=typeof t&&t in e&&String(+t)==String(t)},qe=function(e,t){return He(e,t=b(t,!0))?d(2,e[t]):Y(e,t)},Ue=function(e,t,n){return!(He(e,t=b(t,!0))&&M(n)&&y(n,\"value\"))||y(n,\"get\")||y(n,\"set\")||n.configurable||y(n,\"writable\")&&!n.writable||y(n,\"enumerable\")&&!n.enumerable?W(e,t,n):(e[t]=n.value,e)};Ae||(R.f=qe,F.f=Ue),a(a.S+a.F*!Ae,\"Object\",{getOwnPropertyDescriptor:qe,defineProperty:Ue}),i(function(){ge.call({})})&&(ge=_e=function(){return pe.call(this)});var Xe=p({},Fe);p(Xe,Ye),f(Xe,be,Ye.values),p(Xe,{slice:Re,set:We,constructor:function(){},toString:ge,toLocaleString:Be}),Ie(Xe,\"buffer\",\"b\"),Ie(Xe,\"byteOffset\",\"o\"),Ie(Xe,\"byteLength\",\"l\"),Ie(Xe,\"length\",\"e\"),W(Xe,ye,{get:function(){return this[we]}}),e.exports=function(e,t,n,u){u=!!u;var l=e+(u?\"Clamped\":\"\")+\"Array\",d=\"get\"+e,p=\"set\"+e,h=o[l],_=h||{},b=h&&E(h),y=!h||!s.ABV,A={},w=h&&h[$],T=function(e,n){var r=e._d;return r.v[d](n*t+r.o,Te)},O=function(e,n,r){var o=e._d;u&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),o.v[p](n*t+o.o,r,Te)},S=function(e,t){W(e,t,{get:function(){return T(this,t)},set:function(e){return O(this,t,e)},enumerable:!0})};y?(h=n(function(e,n,r,o){c(e,h,l,\"_d\");var i,a,s,u,d=0,p=0;if(M(n)){if(!(n instanceof Q||(u=v(n))==X||u==V))return we in n?xe(h,n):ze.call(h,n);i=n,p=Se(r,t);var _=n.byteLength;if(void 0===o){if(_%t)throw H(Ee);if(a=_-p,a<0)throw H(Ee)}else if(a=m(o)*t,a+p>_)throw H(Ee);s=a/t}else s=g(n),a=s*t,i=new Q(a);for(f(e,\"_d\",{b:i,o:p,l:a,e:s,v:new Z(i)});d<s;)S(e,d++)}),w=h[$]=C(Xe),f(w,\"constructor\",h)):i(function(){h(1)})&&i(function(){new h(-1)})&&z(function(e){new h,new h(null),new h(1.5),new h(e)},!0)||(h=n(function(e,n,r,o){c(e,h,l);var i;return M(n)?n instanceof Q||(i=v(n))==X||i==V?void 0!==o?new _(n,Se(r,t),o):void 0!==r?new _(n,Se(r,t)):new _(n):we in n?xe(h,n):ze.call(h,n):new _(g(n))}),J(b!==Function.prototype?L(_).concat(L(b)):L(_),function(e){e in h||f(h,e,_[e])}),h[$]=w,r||(w.constructor=h));var N=w[be],k=!!N&&(\"values\"==N.name||void 0==N.name),D=Ye.values;f(h,ve,!0),f(w,we,l),f(w,Ce,!0),f(w,Me,h),(u?new h(1)[ye]==l:ye in w)||W(w,ye,{get:function(){return l}}),A[l]=h,a(a.G+a.W+a.F*(h!=_),A),a(a.S,l,{BYTES_PER_ELEMENT:t}),a(a.S+a.F*i(function(){_.of.call(h,1)}),l,{from:ze,of:je}),G in w||f(w,G,t),a(a.P,l,Fe),j(l),a(a.P+a.F*Oe,l,{set:We}),a(a.P+a.F*!k,l,Ye),r||w.toString==ge||(w.toString=ge),a(a.P+a.F*i(function(){new h(1).slice()}),l,{slice:Re}),a(a.P+a.F*(i(function(){return[1,2].toLocaleString()!=new h([1,2]).toLocaleString()})||!i(function(){w.toLocaleString.call([1,2])})),l,{toLocaleString:Be}),I[l]=k?N:D,r||k||f(w,be,D)}}else e.exports=function(){}},function(e,t){\"use strict\";function n(e){return e&&e.ownerDocument||document}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var i in o)if(o.hasOwnProperty(i)){var s=o[i];s?this[i]=s(n):\"target\"===i?this.target=r:this[i]=n[i]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return u?this.isDefaultPrevented=a.thatReturnsTrue:this.isDefaultPrevented=a.thatReturnsFalse,this.isPropagationStopped=a.thatReturnsFalse,this}var o=n(28),i=n(112),a=n(63),s=(n(20),\"function\"==typeof Proxy,[\"dispatchConfig\",\"_targetInst\",\"nativeEvent\",\"isDefaultPrevented\",\"isPropagationStopped\",\"_dispatchListeners\",\"_dispatchInstances\"]),u={type:null,target:null,currentTarget:a.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():\"unknown\"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=a.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():\"unknown\"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=a.thatReturnsTrue)},persist:function(){this.isPersistent=a.thatReturnsTrue},isPersistent:a.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var a=new r;o(a,e.prototype),e.prototype=a,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,i.addPoolingTo(e,i.fourArgumentPooler)},i.addPoolingTo(r,i.fourArgumentPooler),e.exports=r},function(e,t){\"use strict\";var n={current:null};e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.parseNonblankJSON=t.humanize=t.capitalize=t.pluralize=void 0;var o=n(1374),i=r(o),a=n(301);t.pluralize=i.default,t.capitalize=function(e){return e.charAt(0).toUpperCase()+e.slice(1)},t.humanize=function(e){return(0,a.snakeCase)(e).replace(/_/g,\" \")},t.parseNonblankJSON=function(e){return e=e||\"\",e=e.trim(),\"\"==e?null:JSON.parse(e)};String.prototype.isUpperCase=function(){return this.valueOf().toUpperCase()===this.valueOf()}},function(e,t,n){var r=n(85),o=n(58),i=n(246),a=n(125),s=n(94),u=\"prototype\",l=function(e,t,n){var c,d,f,p=e&l.F,h=e&l.G,m=e&l.S,g=e&l.P,_=e&l.B,b=e&l.W,y=h?o:o[t]||(o[t]={}),v=y[u],M=h?r:m?r[t]:(r[t]||{})[u];h&&(n=t);for(c in n)d=!p&&M&&void 0!==M[c],d&&s(y,c)||(f=d?M[c]:n[c],y[c]=h&&\"function\"!=typeof M[c]?n[c]:_&&d?i(f,r):b&&M[c]==f?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(t,n,r)}return e.apply(this,arguments)};return t[u]=e[u],t}(f):g&&\"function\"==typeof f?i(Function.call,f):f,g&&((y.virtual||(y.virtual={}))[c]=f,e&l.R&&v&&!v[c]&&a(v,c,f)))};l.F=1,l.G=2,l.S=4,l.P=8,l.B=16,l.W=32,l.U=64,l.R=128,e.exports=l},19,function(e,t,n){var r=n(26)(\"unscopables\"),o=Array.prototype;void 0==o[r]&&n(48)(o,r,{}),e.exports=function(e){o[r][e]=!0}},function(e,t){e.exports=!1},[1729,106,22,54,31,21],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(t)do if(t===e)return!0;while(t=t.parentNode);return!1}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(74),a=r(i);t.default=function(){return a.default?function(e,t){return e.contains?e.contains(t):e.compareDocumentPosition?e===t||!!(16&e.compareDocumentPosition(t)):o(e,t)}:o}(),e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0;var n=\"PUSH\";t.PUSH=n;var r=\"REPLACE\";t.REPLACE=r;var o=\"POP\";t.POP=o,t.default={PUSH:n,REPLACE:r,POP:o}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){return(0,s.default)(i.default.findDOMNode(e))};var o=n(29),i=r(o),a=n(80),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return null==e||f.default.isValidElement(e)}function i(e){return o(e)||Array.isArray(e)&&e.every(o)}function a(e,t){return c({},e,t)}function s(e){var t=e.type,n=a(t.defaultProps,e.props);if(n.children){var r=u(n.children,n);r.length&&(n.childRoutes=r),delete n.children}return n}function u(e,t){var n=[];return f.default.Children.forEach(e,function(e){if(f.default.isValidElement(e))if(e.type.createRouteFromReactElement){var r=e.type.createRouteFromReactElement(e,t);r&&n.push(r)}else n.push(s(e))}),n}function l(e){return i(e)?e=u(e):e&&!Array.isArray(e)&&(e=[e]),e}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.isReactChildren=i,t.createRouteFromReactElement=s,t.createRoutesFromReactChildren=u,t.createRoutes=l;var d=n(1),f=r(d)},function(e,t){function n(e){return e&&e.__esModule?e:{default:e}}e.exports=n},54,[1732,123,364,256,124],[1747,365,247],function(e,t){e.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+\": incorrect invocation!\");return e}},function(e,t,n){var r=n(61),o=n(386),i=n(267),a=n(18),s=n(32),u=n(283),l={},c={},t=e.exports=function(e,t,n,d,f){var p,h,m,g,_=f?function(){return e}:u(e),b=r(n,d,t?2:1),y=0;if(\"function\"!=typeof _)throw TypeError(e+\" is not iterable!\");if(i(_)){for(p=s(e.length);p>y;y++)if(g=t?b(a(h=e[y])[0],h[1]):b(e[y]),g===l||g===c)return g}else for(m=_.call(e);!(h=m.next()).done;)if(g=o(m,b,h.value,t),g===l||g===c)return g};t.BREAK=l,t.RETURN=c},[1731,18,392,263,275,262,265],[1736,394,263],[1739,394,263],function(e,t){e.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},function(e,t,n){var r=n(49);e.exports=function(e,t,n){for(var o in t)r(e,o,t[o],n);return e}},function(e,t,n){\"use strict\";var r=n(19),o=n(31),i=n(30),a=n(26)(\"species\");e.exports=function(e){var t=r[e];i&&t&&!t[a]&&o.f(t,a,{configurable:!0,get:function(){return this}})}},[1746,72],function(e,t){var n=0,r=Math.random();e.exports=function(e){return\"Symbol(\".concat(void 0===e?\"\":e,\")_\",(++n+r).toString(36))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=e.match(/^https?:\\/\\/[^\\/]*/);return null==t?e:e.substring(t[0].length)}function i(e){var t=o(e),n=\"\",r=\"\",i=t.indexOf(\"#\");i!==-1&&(r=t.substring(i),t=t.substring(0,i));var a=t.indexOf(\"?\");return a!==-1&&(n=t.substring(a),t=t.substring(0,a)),\"\"===t&&(t=\"/\"),{pathname:t,search:n,hash:r}}t.__esModule=!0,t.extractPath=o,t.parsePath=i;var a=n(64);r(a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return function(){return e.apply(this,arguments)}}t.__esModule=!0;var i=n(64);r(i);t.default=o,e.exports=t.default},function(e,t){\"function\"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){function r(e){if(\"string\"!=typeof e)throw new Error(\"Param is not a string\");var n=e.toLowerCase();switch(n){case\"numeric\":return t.NUMERIC;case\"alphanumeric\":return t.ALPHANUMERIC;case\"kanji\":return t.KANJI;case\"byte\":return t.BYTE;default:throw new Error(\"Unknown mode: \"+e)}}var o=n(564),i=n(563);t.NUMERIC={id:\"Numeric\",bit:1,ccBits:[10,12,14]},t.ALPHANUMERIC={id:\"Alphanumeric\",bit:2,ccBits:[9,11,13]},t.BYTE={id:\"Byte\",bit:4,ccBits:[8,16,16]},t.KANJI={id:\"Kanji\",bit:8,ccBits:[8,10,12]},t.MIXED={bit:-1},t.getCharCountIndicator=function(e,t){if(!e.ccBits)throw new Error(\"Invalid mode: \"+e);if(!o.isValid(t))throw new Error(\"Invalid version: \"+t);return t>=1&&t<10?e.ccBits[0]:t<27?e.ccBits[1]:e.ccBits[2]},t.getBestModeForData=function(e){return i.testNumeric(e)?t.NUMERIC:i.testAlphanumeric(e)?t.ALPHANUMERIC:i.testKanji(e)?t.KANJI:t.BYTE},t.toString=function(e){if(e&&e.id)return e.id;throw new Error(\"Invalid mode\")},t.isValid=function(e){return e&&e.bit&&e.ccBits},t.from=function(e,n){if(t.isValid(e))return e;try{return r(e)}catch(e){return n}}},function(e,t){var n,r=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];t.getSymbolSize=function(e){if(!e)throw new Error('\"version\" cannot be null or undefined');if(e<1||e>40)throw new Error('\"version\" should be in range from 1 to 40');return 4*e+17},t.getSymbolTotalCodewords=function(e){return r[e]},t.getBCHDigit=function(e){for(var t=0;0!==e;)t++,e>>>=1;return t},t.setToSJISFunction=function(e){if(\"function\"!=typeof e)throw new Error('\"toSJISFunc\" is not a valid function.');n=e},t.isKanjiModeEnabled=function(){return\"undefined\"!=typeof n},t.toSJIS=function(e){return n(e)}},[1767,24],function(e,t,n){\"use strict\";function r(e,t,n){if(e[t])return new Error(\"<\"+n+'> should not have a \"'+t+'\" prop')}t.__esModule=!0,t.routes=t.route=t.components=t.component=t.history=void 0,t.falsy=r;var o=n(1),i=o.PropTypes.func,a=o.PropTypes.object,s=o.PropTypes.arrayOf,u=o.PropTypes.oneOfType,l=o.PropTypes.element,c=o.PropTypes.shape,d=o.PropTypes.string,f=(t.history=c({listen:i.isRequired,push:i.isRequired,replace:i.isRequired,go:i.isRequired,goBack:i.isRequired,goForward:i.isRequired}),t.component=u([i,d])),p=(t.components=u([f,a]),t.route=u([a,l]));t.routes=u([p,s(p)])},function(e,t,n){function r(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return a(e,t,n)}var i=n(243),a=i.Buffer;a.from&&a.alloc&&a.allocUnsafe&&a.allocUnsafeSlow?e.exports=i:(r(i,t),t.Buffer=o),r(a,o),o.from=function(e,t,n){if(\"number\"==typeof e)throw new TypeError(\"Argument must not be a number\");return a(e,t,n)},o.alloc=function(e,t,n){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");var r=a(e);return void 0!==t?\"string\"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return a(e)},o.allocUnsafeSlow=function(e){if(\"number\"!=typeof e)throw new TypeError(\"Argument must be a number\");return i.SlowBuffer(e)}},function(e,t,n){function r(e,t,n){var r=t&&n||0,o=0;for(t=t||[],e.toLowerCase().replace(/[0-9a-f]{2}/g,function(e){o<16&&(t[r+o++]=l[e])});o<16;)t[r+o++]=0;return t}function o(e,t){var n=t||0,r=u;return r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+\"-\"+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]+r[e[n++]]}function i(e,t,n){var r=t&&n||0,i=t||[];e=e||{};var a=void 0!==e.clockseq?e.clockseq:p,s=void 0!==e.msecs?e.msecs:(new Date).getTime(),u=void 0!==e.nsecs?e.nsecs:m+1,l=s-h+(u-m)/1e4;if(l<0&&void 0===e.clockseq&&(a=a+1&16383),(l<0||s>h)&&void 0===e.nsecs&&(u=0),u>=1e4)throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");h=s,m=u,p=a,s+=122192928e5;var c=(1e4*(268435455&s)+u)%4294967296;i[r++]=c>>>24&255,i[r++]=c>>>16&255,i[r++]=c>>>8&255,i[r++]=255&c;var d=s/4294967296*1e4&268435455;i[r++]=d>>>8&255,i[r++]=255&d,i[r++]=d>>>24&15|16,i[r++]=d>>>16&255,i[r++]=a>>>8|128,i[r++]=255&a;for(var g=e.node||f,_=0;_<6;_++)i[r+_]=g[_];return t?t:o(i)}function a(e,t,n){var r=t&&n||0;\"string\"==typeof e&&(t=\"binary\"==e?new Array(16):null,e=null),e=e||{};var i=e.random||(e.rng||s)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var a=0;a<16;a++)t[r+a]=i[a];return t||o(i)}for(var s=n(1701),u=[],l={},c=0;c<256;c++)u[c]=(c+256).toString(16).substr(1),l[u[c]]=c;var d=s(),f=[1|d[0],d[1],d[2],d[3],d[4],d[5]],p=16383&(d[6]<<8|d[7]),h=0,m=0,g=a;g.v1=i,g.v4=a,g.parse=r,g.unparse=o,e.exports=g},function(e,t){function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}e.exports=n},function(e,t){function n(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function r(e,t,r){return t&&n(e.prototype,t),r&&n(e,r),e}e.exports=r},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){function r(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&&o(e,t)}var o=n(674);e.exports=r},function(e,t,n){function r(e,t){return!t||\"object\"!==o(t)&&\"function\"!=typeof t?i(e):t}var o=n(228),i=n(340);e.exports=r},function(e,t,n){e.exports={default:n(920),__esModule:!0}},function(e,t,n){\"use strict\";var r=n(1369),o=n(1368),i=92,a=n(415).decodeHTML,s=\"&(?:#x[a-f0-9]{1,8}|#[0-9]{1,8}|[a-z][a-z0-9]{1,31});\",u=\"[A-Za-z][A-Za-z0-9-]*\",l=\"[a-zA-Z_:][a-zA-Z0-9:._-]*\",c=\"[^\\\"'=<>`\\\\x00-\\\\x20]+\",d=\"'[^']*'\",f='\"[^\"]*\"',p=\"(?:\"+c+\"|\"+d+\"|\"+f+\")\",h=\"(?:\\\\s*=\\\\s*\"+p+\")\",m=\"(?:\\\\s+\"+l+h+\"?)\",g=\"<\"+u+m+\"*\\\\s*/?>\",_=\"</\"+u+\"\\\\s*[>]\",b=\"<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->\",y=\"[<][?].*?[?][>]\",v=\"<![A-Z]+\\\\s+[^>]*>\",M=\"<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\",A=\"(?:\"+g+\"|\"+_+\"|\"+b+\"|\"+y+\"|\"+v+\"|\"+M+\")\",w=new RegExp(\"^\"+A,\"i\"),C=/[\\\\&]/,E=\"[!\\\"#$%&'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]\",L=new RegExp(\"\\\\\\\\\"+E+\"|\"+s,\"gi\"),T='[&<>\"]',O=new RegExp(T,\"g\"),S=new RegExp(s+\"|\"+T,\"gi\"),N=function(e){return e.charCodeAt(0)===i?e.charAt(1):a(e)},k=function(e){return C.test(e)?e.replace(L,N):e},D=function(e){try{return r(o(e))}catch(t){return e}},x=function(e){switch(e){case\"&\":return\"&amp;\";case\"<\":return\"&lt;\";case\">\":return\"&gt;\";case'\"':return\"&quot;\";default:return e}},I=function(e,t){return O.test(e)?t?e.replace(S,x):e.replace(O,x):e};e.exports={unescapeString:k,normalizeURI:D,escapeXml:I,reHtmlTag:w,OPENTAG:g,CLOSETAG:_,ENTITY:s,ESCAPABLE:E}},[1711,126],[1716,151],[1719,95,155,124],22,function(e,t){e.exports={}},[1742,31,54,26],function(e,t,n){var r=n(2),o=n(70),i=n(21),a=n(279),s=\"[\"+a+\"]\",u=\"\u200b\u0085\",l=RegExp(\"^\"+s+s+\"*\"),c=RegExp(s+s+\"*$\"),d=function(e,t,n){var o={},s=i(function(){return!!a[e]()||u[e]()!=u}),l=o[e]=s?t(f):a[e];n&&(o[n]=l),r(r.P+r.F*s,\"String\",o)},f=d.trim=function(e,t){return e=String(o(e)),1&t&&(e=e.replace(l,\"\")),2&t&&(e=e.replace(c,\"\")),e};e.exports=d},function(e,t,n){var r=n(22);e.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError(\"Incompatible receiver, \"+t+\" required!\");return e}},function(e,t){\"use strict\";function n(e){return e===e.window?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(0,c.default)(e),n=(0,u.default)(t),r=t&&t.documentElement,o={top:0,left:0,height:0,width:0};if(t)return(0,a.default)(r,e)?(void 0!==e.getBoundingClientRect&&(o=e.getBoundingClientRect()),o={top:o.top+(n.pageYOffset||r.scrollTop)-(r.clientTop||0),left:o.left+(n.pageXOffset||r.scrollLeft)-(r.clientLeft||0),width:(null==o.width?e.offsetWidth:o.width)||0,height:(null==o.height?e.offsetHeight:o.height)||0}):o}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(89),a=r(i),s=n(131),u=r(s),l=n(80),c=r(l);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return u.stringify(e).replace(/%20/g,\"+\")}function i(e){return function(){function t(e){if(null==e.query){var t=e.search;e.query=A(t.substring(1)),e[h]={search:t,searchBase:\"\"}}return e}function n(e,t){var n,r=e[h],o=t?M(t):\"\";if(!r&&!o)return e;\"string\"==typeof e&&(e=d.parsePath(e));var i=void 0;i=r&&e.search===r.search?r.searchBase:e.search||\"\";var s=i;return o&&(s+=(s?\"&\":\"?\")+o),a({},e,(n={search:s},n[h]={search:s,searchBase:i},n))}function r(e){return v.listenBefore(function(n,r){c.default(e,t(n),r)})}function i(e){return v.listen(function(n){e(t(n))})}function s(e){v.push(n(e,e.query))}function u(e){v.replace(n(e,e.query))}function l(e,t){return v.createPath(n(e,t||e.query))}function f(e,t){return v.createHref(n(e,t||e.query))}function g(e){for(var r=arguments.length,o=Array(r>1?r-1:0),i=1;i<r;i++)o[i-1]=arguments[i];var a=v.createLocation.apply(v,[n(e,e.query)].concat(o));return e.query&&(a.query=e.query),t(a)}function _(e,t,n){\"string\"==typeof t&&(t=d.parsePath(t)),s(a({state:e},t,{query:n}))}function b(e,t,n){\"string\"==typeof t&&(t=d.parsePath(t)),u(a({state:e},t,{query:n}))}var y=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],v=e(y),M=y.stringifyQuery,A=y.parseQueryString;return\"function\"!=typeof M&&(M=o),\"function\"!=typeof A&&(A=m),a({},v,{listenBefore:r,listen:i,push:s,replace:u,createPath:l,createHref:f,createLocation:g,pushState:p.default(_,\"pushState is deprecated; use push instead\"),replaceState:p.default(b,\"replaceState is deprecated; use replace instead\")})}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(64),u=(r(s),n(1400)),l=n(292),c=r(l),d=n(107),f=n(108),p=r(f),h=\"$searchBase\",m=u.parse;t.default=i,e.exports=t.default},function(e,t,n){(function(e){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i={type:\"logger\",log:function(e){this.output(\"log\",e)},warn:function(e){this.output(\"warn\",e)},error:function(e){this.output(\"error\",e)},output:function(t,n){var o;e&&e[t]&&(o=e)[t].apply(o,r(n))}},a=function(){function e(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n(this,e),this.init(t,r)}return e.prototype.init=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||\"i18next:\",this.logger=e||i,this.options=t,this.debug=t.debug},e.prototype.setDebug=function(e){this.debug=e},e.prototype.log=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"log\",\"\",!0)},e.prototype.warn=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"warn\",\"\",!0)},e.prototype.error=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"error\",\"\")},e.prototype.deprecate=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return this.forward(t,\"warn\",\"WARNING DEPRECATED: \",!0)},e.prototype.forward=function(e,t,n,r){return r&&!this.debug?null:(\"string\"==typeof e[0]&&(e[0]=\"\"+n+this.prefix+\" \"+e[0]),this.logger[t](e))},e.prototype.create=function(t){return new e(this.logger,o({prefix:this.prefix+\":\"+t+\":\"},this.options))},e}();t.default=new a}).call(t,n(38))},function(e,t){function n(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===n||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(e){if(d===clearTimeout)return clearTimeout(e);if((d===r||!d)&&clearTimeout)return d=clearTimeout,clearTimeout(e);try{return d(e)}catch(t){try{return d.call(null,e)}catch(t){return d.call(this,e)}}}function a(){m&&p&&(m=!1,p.length?h=p.concat(h):g=-1,h.length&&s())}function s(){if(!m){var e=o(a);m=!0;for(var t=h.length;t;){for(p=h,h=[];++g<t;)p&&p[g].run();g=-1,t=h.length}p=null,m=!1,i(e)}}function u(e,t){this.fun=e,this.array=t}function l(){}var c,d,f=e.exports={};!function(){try{c=\"function\"==typeof setTimeout?setTimeout:n}catch(e){c=n}try{d=\"function\"==typeof clearTimeout?clearTimeout:r}catch(e){d=r}}();var p,h=[],m=!1,g=-1;f.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];h.push(new u(e,t)),1!==h.length||m||o(s)},u.prototype.run=function(){this.fun.apply(null,this.array)},f.title=\"browser\",f.browser=!0,f.env={},f.argv=[],f.version=\"\",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.prependListener=l,f.prependOnceListener=l,f.listeners=function(e){return[]},f.binding=function(e){throw new Error(\"process.binding is not supported\")},f.cwd=function(){return\"/\"},f.chdir=function(e){throw new Error(\"process.chdir is not supported\");\n},f.umask=function(){return 0}},function(e,t,n){(function(t){\"use strict\";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()}catch(e){return!1}}function t(e,n,r){return t.TYPED_ARRAY_SUPPORT||this instanceof t?\"number\"==typeof e?s(this,e):g(this,e,n,r):new t(e,n,r)}function o(e){if(e>=b)throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+b.toString(16)+\" bytes\");return 0|e}function i(e){return e!==e}function a(e,n){var r;return t.TYPED_ARRAY_SUPPORT?(r=new Uint8Array(n),r.__proto__=t.prototype):(r=e,null===r&&(r=new t(n)),r.length=n),r}function s(e,n){var r=a(e,n<0?0:0|o(n));if(!t.TYPED_ARRAY_SUPPORT)for(var i=0;i<n;++i)r[i]=0;return r}function u(e,t){var n=0|p(t),r=a(e,n),o=r.write(t);return o!==n&&(r=r.slice(0,o)),r}function l(e,t){for(var n=t.length<0?0:0|o(t.length),r=a(e,n),i=0;i<n;i+=1)r[i]=255&t[i];return r}function c(e,n,r,o){if(r<0||n.byteLength<r)throw new RangeError(\"'offset' is out of bounds\");if(n.byteLength<r+(o||0))throw new RangeError(\"'length' is out of bounds\");var i;return i=void 0===r&&void 0===o?new Uint8Array(n):void 0===o?new Uint8Array(n,r):new Uint8Array(n,r,o),t.TYPED_ARRAY_SUPPORT?i.__proto__=t.prototype:i=l(e,i),i}function d(e,n){if(t.isBuffer(n)){var r=0|o(n.length),s=a(e,r);return 0===s.length?s:(n.copy(s,0,0,r),s)}if(n){if(\"undefined\"!=typeof ArrayBuffer&&n.buffer instanceof ArrayBuffer||\"length\"in n)return\"number\"!=typeof n.length||i(n.length)?a(e,0):l(e,n);if(\"Buffer\"===n.type&&Array.isArray(n.data))return l(e,n.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function f(e,t){t=t||1/0;for(var n,r=e.length,o=null,i=[],a=0;a<r;++a){if(n=e.charCodeAt(a),n>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=(o-55296<<10|n-56320)+65536}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function p(e){if(t.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;return 0===n?0:f(e).length}function h(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function m(e,t,n,r){return h(f(t,e.length-n),e,n,r)}function g(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?c(e,t,n,r):\"string\"==typeof t?u(e,t,n):d(e,t)}var _=n(303);t.TYPED_ARRAY_SUPPORT=r();var b=t.TYPED_ARRAY_SUPPORT?2147483647:1073741823;t.TYPED_ARRAY_SUPPORT&&(t.prototype.__proto__=Uint8Array.prototype,t.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&t[Symbol.species]===t&&Object.defineProperty(t,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),t.prototype.write=function(e,t,n){void 0===t?(n=this.length,t=0):void 0===n&&\"string\"==typeof t?(n=this.length,t=0):isFinite(t)&&(t|=0,isFinite(n)?n|=0:n=void 0);var r=this.length-t;if((void 0===n||n>r)&&(n=r),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");return m(this,e,t,n)},t.prototype.slice=function(e,n){var r=this.length;e=~~e,n=void 0===n?r:~~n,e<0?(e+=r,e<0&&(e=0)):e>r&&(e=r),n<0?(n+=r,n<0&&(n=0)):n>r&&(n=r),n<e&&(n=e);var o;if(t.TYPED_ARRAY_SUPPORT)o=this.subarray(e,n),o.__proto__=t.prototype;else{var i=n-e;o=new t(i,void 0);for(var a=0;a<i;++a)o[a]=this[a+e]}return o},t.prototype.copy=function(e,n,r,o){if(r||(r=0),o||0===o||(o=this.length),n>=e.length&&(n=e.length),n||(n=0),o>0&&o<r&&(o=r),o===r)return 0;if(0===e.length||0===this.length)return 0;if(n<0)throw new RangeError(\"targetStart out of bounds\");if(r<0||r>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(o<0)throw new RangeError(\"sourceEnd out of bounds\");o>this.length&&(o=this.length),e.length-n<o-r&&(o=e.length-n+r);var i,a=o-r;if(this===e&&r<n&&n<o)for(i=a-1;i>=0;--i)e[i+n]=this[i+r];else if(a<1e3||!t.TYPED_ARRAY_SUPPORT)for(i=0;i<a;++i)e[i+n]=this[i+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+a),n);return a},t.prototype.fill=function(e,n,r){if(\"string\"==typeof e){if(\"string\"==typeof n?(n=0,r=this.length):\"string\"==typeof r&&(r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}}else\"number\"==typeof e&&(e&=255);if(n<0||this.length<n||this.length<r)throw new RangeError(\"Out of range index\");if(r<=n)return this;n>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0);var i;if(\"number\"==typeof e)for(i=n;i<r;++i)this[i]=e;else{var a=t.isBuffer(e)?e:new t(e),s=a.length;for(i=0;i<r-n;++i)this[i+n]=a[i%s]}return this},t.concat=function(e,n){if(!_(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return a(null,0);var r;if(void 0===n)for(n=0,r=0;r<e.length;++r)n+=e[r].length;var o=s(null,n),i=0;for(r=0;r<e.length;++r){var u=e[r];if(!t.isBuffer(u))throw new TypeError('\"list\" argument must be an Array of Buffers');u.copy(o,i),i+=u.length}return o},t.byteLength=p,t.prototype._isBuffer=!0,t.isBuffer=function(e){return!(null==e||!e._isBuffer)},e.exports=t}).call(t,n(243).Buffer)},function(e,t,n){\"use strict\";function r(e){if(g){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)_(t,n[r],null);else null!=e.html?d(t,e.html):null!=e.text&&p(t,e.text)}}function o(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function i(e,t){g?e.children.push(t):e.node.appendChild(t.node)}function a(e,t){g?e.html=t:d(e.node,t)}function s(e,t){g?e.text=t:p(e.node,t)}function u(){return this.node.nodeName}function l(e){return{node:e,children:[],html:null,text:null,toString:u}}var c=n(312),d=n(218),f=n(320),p=n(610),h=1,m=11,g=\"undefined\"!=typeof document&&\"number\"==typeof document.documentMode||\"undefined\"!=typeof navigator&&\"string\"==typeof navigator.userAgent&&/\\bEdge\\/\\d/.test(navigator.userAgent),_=f(function(e,t,n){t.node.nodeType===m||t.node.nodeType===h&&\"object\"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===c.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});l.insertTreeBefore=_,l.replaceChildWithTree=o,l.queueChild=i,l.queueHTML=a,l.queueText=s,e.exports=l},function(e,t,n){\"use strict\";function r(e,t){return(e&t)===t}var o=n(24),i=(n(17),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var d in n){s.properties.hasOwnProperty(d)?o(\"48\",d):void 0;var f=d.toLowerCase(),p=n[d],h={attributeName:f,attributeNamespace:null,propertyName:d,mutationMethod:null,mustUseProperty:r(p,t.MUST_USE_PROPERTY),hasBooleanValue:r(p,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(p,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(p,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(p,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o(\"50\",d),u.hasOwnProperty(d)){var m=u[d];h.attributeName=m}a.hasOwnProperty(d)&&(h.attributeNamespace=a[d]),l.hasOwnProperty(d)&&(h.propertyName=l[d]),c.hasOwnProperty(d)&&(h.mutationMethod=c[d]),s.properties[d]=h}}}),a=\":A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\",s={ID_ATTRIBUTE_NAME:\"data-reactid\",ROOT_ATTRIBUTE_NAME:\"data-reactroot\",ATTRIBUTE_NAME_START_CHAR:a,ATTRIBUTE_NAME_CHAR:a+\"\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040\",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){var n=s._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:i};e.exports=s},function(e,t,n){\"use strict\";function r(){o.attachRefs(this,this._currentElement)}var o=n(1518),i=(n(65),n(20),{mountComponent:function(e,t,n,o,i,a){var s=e.mountComponent(t,n,o,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){o.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){var s=o.shouldUpdateRefs(a,t);s&&o.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});e.exports=i},function(e,t,n){\"use strict\";function r(e){v=(0,_.default)({},v,e)}function o(){return v}function i(e){d=e}function a(){return d}function s(){return function(e){var t=function(t){function n(){return(0,f.default)(this,n),(0,h.default)(this,(0,m.default)(n).apply(this,arguments))}return(0,g.default)(n,t),(0,p.default)(n,[{key:\"render\",value:function(){var t=this;return b.default.createElement(A.Consumer,null,function(n){return b.default.createElement(e,(0,_.default)({},n,t.props))})}}]),n}(b.Component);return t}}function u(){return function(e){var t=function(t){function n(){return(0,f.default)(this,n),(0,h.default)(this,(0,m.default)(n).apply(this,arguments))}return(0,g.default)(n,t),(0,p.default)(n,[{key:\"render\",value:function(){var t=this,n={},r=this.props.i18nOptions,i=this.props.i18n||a();if(!r){var s=Object.keys(v).reduce(function(e,n){return t.props[n]&&(e[n]=t.props[n]),e},{});r=(0,_.default)({},o(),i&&i.options&&i.options.react,s)}return i&&(n.i18n=i,n.t=i.t.bind(i),n.lng=i.language,n.i18nOptions=r),b.default.createElement(e,(0,_.default)({},n,this.props))}}]),n}(b.Component);return s()(t)}}var l=n(148),c=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.setDefaults=r,t.getDefaults=o,t.setI18n=i,t.getI18n=a,t.withContext=s,t.withI18n=u,t.I18nContext=t.reactI18nextModule=void 0;var d,f=c(n(116)),p=c(n(117)),h=c(n(120)),m=c(n(118)),g=c(n(119)),_=c(n(173)),b=l(n(1)),y=c(n(1157)),v={wait:!1,withRef:!1,bindI18n:\"languageChanged loaded\",bindStore:\"added removed\",translateFuncName:\"t\",nsMode:\"default\",usePureComponent:!1,omitBoundRerender:!0},M={type:\"3rdParty\",init:function(e){r(e.options.react),i(e)}};t.reactI18nextModule=M;var A=(0,y.default)();t.I18nContext=A},function(e,t,n){(function(e,r){\"use strict\";function o(){if(e&&e.warn){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];\"string\"==typeof n[0]&&(n[0]=\"react-i18next:: \".concat(n[0])),e.warn.apply(null,n)}}function i(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];\"string\"==typeof t[0]&&g[t[0]]||(\"string\"==typeof t[0]&&(g[t[0]]=new Date),o.apply(void 0,t))}function a(){if(r&&r.env,!1){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];\"string\"==typeof t[0]&&(t[0]=\"deprecation warning -> \".concat(t[0])),i.apply(void 0,t)}}function s(e,t){e.initialI18nStore&&(e.i18n.services.resourceStore.data=e.initialI18nStore,t&&(e.i18n.options.isInitialSSR=!0),e.i18nOptions&&(e.i18nOptions.wait=!1)),e.initialLanguage&&e.i18n.changeLanguage(e.initialLanguage)}function u(e,t){for(var n=0,r=e.length;n<r;n++)if(\"object\"===(0,m.default)(e[n])){var o=!0,i=!1,a=void 0;try{for(var s,u=_(e[n])[Symbol.iterator]();!(o=(s=u.next()).done);o=!0){var l=(0,h.default)(s.value,2),c=l[0],d=l[1];t(d,n,c)}}catch(e){i=!0,a=e}finally{try{o||null==u.return||u.return()}finally{if(i)throw a}}}else t(e[n],n)}function l(e){var t=[];return u(e,function(e){e&&e.namespaces&&e.namespaces.forEach(function(e){t.indexOf(e)===-1&&t.push(e)})}),t}function c(e){var t=e.components,n=e.i18n,r=l(t);return new Promise(function(e){n.loadNamespaces(r,e)})}function d(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function f(e,t){if(d(e,t))return!0;if(\"object\"!==(0,m.default)(e)||null===e||\"object\"!==(0,m.default)(t)||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!b.call(t,n[o])||!d(e[n[o]],t[n[o]]))return!1;return!0}var p=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.warn=o,t.warnOnce=i,t.deprecated=a,t.initSSR=s,t.loadNamespaces=c,t.shallowEqual=f;var h=p(n(675)),m=p(n(228)),g={},_=Object.entries||function(e){for(var t=Object.keys(e),n=t.length,r=new Array(n);n--;)r[n]=[t[n],e[t[n]]];return r},b=Object.prototype.hasOwnProperty}).call(t,n(38),n(135))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function i(e){for(var t=\"\",n=[],r=[],i=void 0,a=0,s=/:([a-zA-Z_$][a-zA-Z0-9_$]*)|\\*\\*|\\*|\\(|\\)/g;i=s.exec(e);)i.index!==a&&(r.push(e.slice(a,i.index)),t+=o(e.slice(a,i.index))),i[1]?(t+=\"([^/]+)\",n.push(i[1])):\"**\"===i[0]?(t+=\"(.*)\",n.push(\"splat\")):\"*\"===i[0]?(t+=\"(.*?)\",n.push(\"splat\")):\"(\"===i[0]?t+=\"(?:\":\")\"===i[0]&&(t+=\")?\"),r.push(i[0]),a=s.lastIndex;return a!==e.length&&(r.push(e.slice(a,e.length)),t+=o(e.slice(a,e.length))),{pattern:e,regexpSource:t,paramNames:n,tokens:r}}function a(e){return p[e]||(p[e]=i(e)),p[e]}function s(e,t){\"/\"!==e.charAt(0)&&(e=\"/\"+e);var n=a(e),r=n.regexpSource,o=n.paramNames,i=n.tokens;\"/\"!==e.charAt(e.length-1)&&(r+=\"/?\"),\"*\"===i[i.length-1]&&(r+=\"$\");var s=t.match(new RegExp(\"^\"+r,\"i\"));if(null==s)return null;var u=s[0],l=t.substr(u.length);if(l){if(\"/\"!==u.charAt(u.length-1))return null;l=\"/\"+l}return{remainingPathname:l,paramNames:o,paramValues:s.slice(1).map(function(e){return e&&decodeURIComponent(e)})}}function u(e){return a(e).paramNames}function l(e,t){var n=s(e,t);if(!n)return null;var r=n.paramNames,o=n.paramValues,i={};return r.forEach(function(e,t){i[e]=o[t]}),i}function c(e,t){t=t||{};for(var n=a(e),r=n.tokens,o=0,i=\"\",s=0,u=void 0,l=void 0,c=void 0,d=0,p=r.length;d<p;++d)u=r[d],\"*\"===u||\"**\"===u?(c=Array.isArray(t.splat)?t.splat[s++]:t.splat,null!=c||o>0?void 0:(0,f.default)(!1),null!=c&&(i+=encodeURI(c))):\"(\"===u?o+=1:\")\"===u?o-=1:\":\"===u.charAt(0)?(l=u.substring(1),c=t[l],null!=c||o>0?void 0:(0,f.default)(!1),null!=c&&(i+=encodeURIComponent(c))):i+=u;return i.replace(/\\/+/g,\"/\")}t.__esModule=!0,t.compilePattern=a,t.matchPattern=s,t.getParamNames=u,t.getParams=l,t.formatPattern=c;var d=n(33),f=r(d),p=Object.create(null)},function(e,t,n){\"use strict\";var r=n(28),o=n(1603),i=n(332),a=n(1608),s=n(1604),u=n(1605),l=n(144),c=n(1607),d=n(1609),f=n(1612),p=(n(20),l.createElement),h=l.createFactory,m=l.cloneElement,g=r,_={Children:{map:o.map,forEach:o.forEach,count:o.count,toArray:o.toArray,only:f},Component:i,PureComponent:a,createElement:p,cloneElement:m,isValidElement:l.isValidElement,PropTypes:c,createClass:s.createClass,createFactory:h,createMixin:function(e){return e},DOM:u,version:d,__spread:g};e.exports=_},function(e,t,n){\"use strict\";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var i=n(28),a=n(82),s=(n(20),n(632),Object.prototype.hasOwnProperty),u=n(631),l={key:!0,ref:!0,__self:!0,__source:!0},c=function(e,t,n,r,o,i,a){var s={$$typeof:u,type:e,key:t,ref:n,props:a,_owner:i};return s};c.createElement=function(e,t,n){var i,u={},d=null,f=null,p=null,h=null;if(null!=t){r(t)&&(f=t.ref),o(t)&&(d=\"\"+t.key),p=void 0===t.__self?null:t.__self,h=void 0===t.__source?null:t.__source;for(i in t)s.call(t,i)&&!l.hasOwnProperty(i)&&(u[i]=t[i])}var m=arguments.length-2;if(1===m)u.children=n;else if(m>1){for(var g=Array(m),_=0;_<m;_++)g[_]=arguments[_+2];u.children=g}if(e&&e.defaultProps){var b=e.defaultProps;for(i in b)void 0===u[i]&&(u[i]=b[i])}return c(e,d,f,p,h,a.current,u)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){var n=c(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},c.cloneElement=function(e,t,n){var u,d=i({},e.props),f=e.key,p=e.ref,h=e._self,m=e._source,g=e._owner;if(null!=t){r(t)&&(p=t.ref,g=a.current),o(t)&&(f=\"\"+t.key);var _;e.type&&e.type.defaultProps&&(_=e.type.defaultProps);for(u in t)s.call(t,u)&&!l.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==_?d[u]=_[u]:d[u]=t[u])}var b=arguments.length-2;if(1===b)d.children=n;else if(b>1){for(var y=Array(b),v=0;v<b;v++)y[v]=arguments[v+2];d.children=y}return c(e.type,f,p,h,m,g,d)},c.isValidElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===u},e.exports=c},24,function(e,t){\"use strict\";function n(e){return e&&i(e)&&Object.defineProperty(e,o,{value:!0,enumerable:!0}),e}function r(e){return!!(e&&i(e)&&e[o])}t.__esModule=!0,t.makeFieldValue=n,t.isFieldValue=r;var o=\"_isFieldValue\",i=function(e){return\"object\"==typeof e}},function(e,t,n){function r(e,t){this._block=o.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}var o=n(114).Buffer;r.prototype.update=function(e,t){\"string\"==typeof e&&(t=t||\"utf8\",e=o.from(e,t));for(var n=this._block,r=this._blockSize,i=e.length,a=this._len,s=0;s<i;){for(var u=a%r,l=Math.min(i-s,r-u),c=0;c<l;c++)n[u+c]=e[s+c];a+=l,s+=l,a%r===0&&this._update(n)}return this._len+=i,this},r.prototype.digest=function(e){var t=this._len%this._blockSize;this._block[t]=128,this._block.fill(0,t+1),t>=this._finalSize&&(this._update(this._block),this._block.fill(0));var n=8*this._len;if(n<=4294967295)this._block.writeUInt32BE(n,this._blockSize-4);else{var r=(4294967295&n)>>>0,o=(n-r)/4294967296;this._block.writeUInt32BE(o,this._blockSize-8),this._block.writeUInt32BE(r,this._blockSize-4)}this._update(this._block);var i=this._hash();return e?i.toString(e):i},r.prototype._update=function(){throw new Error(\"_update must be implemented by subclass\")},e.exports=r},function(e,t){function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.voteTxActionBuilder=t.crossChainTxActionBuilder=t.issueAssetTxActionBuilder=t.normalTxActionBuilder=t.getAssetDecimal=t.balance=void 0;var o=n(43),i=n(14),a=n(181),s=n(361),u=r(s);t.balance=function(e,t,n,r){var a=n;if(e.accountAlias.value&&(a=a.filter(function(t){return t.accountAlias===e.accountAlias.value})),e.accountId.value&&(a=a.filter(function(t){return t.accountId===e.accountId.value})),e.assetAlias.value&&(a=a.filter(function(t){return t.assetAlias===e.assetAlias.value})),e.assetId.value&&(a=a.filter(function(t){return t.assetId===e.assetId.value})),1===a.length){if(a[0].assetId===i.btmID){var s=a[0].totalVoteNumber||0;return(0,o.normalizeBTMAmountUnit)(a[0].assetId,(0,u.default)(a[0].amount).minus(s),r)}return t?(0,o.converIntToDec)(a[0].amount,t):a[0].amount}return null},t.getAssetDecimal=function(e,t){var n=t;return e.assetAlias.value&&(n=n.filter(function(t){return t.alias===e.assetAlias.value})),e.assetId.value&&(n=n.filter(function(t){return t.id===e.assetId.value})),1===n.length&&n[0].definition&&n[0].id!==i.btmID?n[0].definition.decimals:null},t.normalTxActionBuilder=function(e,t,n){var r=e.accountAlias.value||e.accountAlias,o=e.accountId.value||e.accountId,i=e.assetAlias.value||e.assetAlias,s=e.assetId.value||e.assetId,u=e.receivers,l=(0,a.sum)(u,n),c={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetAlias:i,assetId:s,amount:l,type:\"spend_account\"},d={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetAlias:\"BTM\",amount:t,type:\"spend_account\"},f=[c];return t>0&&f.push(d),u.forEach(function(e){f.push({address:e.address.value||e.address,assetAlias:i,assetId:s,amount:Number(e.amount.value||e.amount),type:\"control_address\"})}),f},t.issueAssetTxActionBuilder=function(e,t,n){var r=e.accountAlias.value||e.accountAlias,o=e.accountId.value||e.accountId,i=e.assetAlias.value||e.assetAlias,s=e.assetId.value||e.assetId,u=e.receivers,l=(0,a.sum)(u,n),c={assetAlias:i,assetId:s,amount:l,type:\"issue\"},d={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetAlias:\"BTM\",amount:t,type:\"spend_account\"},f=[c];return t>0&&f.push(d),u.forEach(function(e){f.push({address:e.address.value||e.address,assetAlias:i,assetId:s,amount:Number(e.amount.value||e.amount),type:\"control_address\"})}),f},t.crossChainTxActionBuilder=function(e,t){var n=e.accountAlias.value||e.accountAlias,r=e.accountId.value||e.accountId,o=e.assetAlias.value||e.assetAlias,i=e.assetId.value||e.assetId,a=e.amount.value||e.amount,s=e.address.value||e.address,u={accountAlias:\"string\"!=typeof n?\"\":n,accountId:\"string\"!=typeof r?\"\":r,assetAlias:o,assetId:i,amount:a,type:\"spend_account\"},l={accountAlias:\"string\"!=typeof n?\"\":n,accountId:\"string\"!=typeof r?\"\":r,assetAlias:\"BTM\",amount:t,type:\"spend_account\"},c={amount:a,assetAlias:o,assetId:i,address:s,type:\"cross_chain_out\"},d=[u,c];return t>0&&d.push(l),d},t.voteTxActionBuilder=function(e,t,n){var r=e.accountAlias.value||e.accountAlias,o=e.accountId.value||e.accountId,a=e.nodePubkey.value||e.nodePubkey,s=e.amount.value||e.amount,u=e.action.value||e.action,l={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,asset_id:i.btmID,amount:t,type:\"spend_account\"};if(\"vote\"===u){var c={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,assetId:i.btmID,amount:s,type:\"spend_account\"},d={amount:s,asset_id:i.btmID,address:n,vote:a,type:\"vote_output\"};return t>0?[c,l,d]:[c,d]}if(\"veto\"===u){var f={assetId:i.btmID,amount:s,address:n,type:\"control_address\"},p={accountAlias:\"string\"!=typeof r?\"\":r,accountId:\"string\"!=typeof o?\"\":o,amount:s,asset_id:i.btmID,vote:a,type:\"veto\"};return t>0?[l,p,f]:[p,f]}throw\"invalid operation type.\"}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.copyToClipboard=function(e){var t=function t(n){n.clipboardData.setData(\"text/plain\",e),n.preventDefault(),document.removeEventListener(\"copy\",t)};document.getElementById(\"_copyInput\").select(),document.addEventListener(\"copy\",t),document.execCommand(\"copy\")}},21,127,[1739,369,248],function(e,t){t.f={}.propertyIsEnumerable},102,[1713,59,26],[1722,59],154,function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(74),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent(\"on\"+t,function(t){t=t||window.event,t.target=t.target||t.srcElement,t.currentTarget=e,n.call(e,t)})}:void 0}()),t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=\"\",o=\"\",i=t;if(\"string\"==typeof t){if(void 0===n)return e.style[(0,a.default)(t)]||(0,c.default)(e).getPropertyValue((0,u.default)(t));(i={})[t]=n}Object.keys(i).forEach(function(t){var n=i[t];n||0===n?(0,m.default)(t)?o+=t+\"(\"+n+\") \":r+=(0,u.default)(t)+\": \"+n+\";\":(0,f.default)(e,(0,u.default)(t))}),o&&(r+=p.transform+\": \"+o+\";\"),e.style.cssText+=\";\"+r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(413),a=r(i),s=n(1177),u=r(s),l=n(1172),c=r(l),d=n(1173),f=r(d),p=n(412),h=n(1174),m=r(h);e.exports=t.default},function(e,t){e.exports={progress:\"New__progress__2MMc4\",\"progress-bar\":\"New__progress-bar__3lhQw\",\"progress-striped\":\"New__progress-striped__3HO2a\",\"progress-bar-striped\":\"New__progress-bar-striped__3NSkp\",active:\"New__active__2mQ4Z\",\"progress-bar-stripes\":\"New__progress-bar-stripes__1l4HF\",\"progress-bar-success\":\"New__progress-bar-success__3MZWS\",\"progress-bar-info\":\"New__progress-bar-info__2vJma\",\"progress-bar-warning\":\"New__progress-bar-warning__XYMgH\",\"progress-bar-danger\":\"New__progress-bar-danger__2XfZH\",tooltip:\"New__tooltip__2RYxe\",in:\"New__in__2O-sD\",top:\"New__top__BT10e\",right:\"New__right__HSnMR\",bottom:\"New__bottom__2QvBq\",left:\"New__left__2bj66\",\"tooltip-arrow\":\"New__tooltip-arrow__EmJKl\",\"top-left\":\"New__top-left__3-59o\",\"top-right\":\"New__top-right__nK792\",\"bottom-left\":\"New__bottom-left__30CqC\",\"bottom-right\":\"New__bottom-right__2wDx2\",\"tooltip-inner\":\"New__tooltip-inner__2Fz0l\",mainContainer:\"New__mainContainer__2-t4h\",txFeeBox:\"New__txFeeBox__1R0YK\",feeDescription:\"New__feeDescription__1qtZW\",center:\"New__center__1Qg4M\",content:\"New__content__6Kt2e\",container:\"New__container__2nnLe\",submit:\"New__submit__nDaYB\",submitTable:\"New__submitTable__2v45s\",submitDescription:\"New__submitDescription__1Xs87\",actionInfo:\"New__actionInfo__SsB32\",btnGroup:\"New__btnGroup__wFYx3\",title:\"New__title__dO8cU\",estimateGas:\"New__estimateGas__1v4Kk\",mainBox:\"New__mainBox__3FrbZ\",tutorialItem:\"New__tutorialItem__2pUxj\",item:\"New__item__3oIpA\",subjectField:\"New__subjectField__3796l\",deleteButton:\"New__deleteButton__2dvTq\",balanceHint:\"New__balanceHint__o384j\",optionsBtnContianer:\"New__optionsBtnContianer__1WTod\",\"form-group\":\"New__form-group__12tRg\",optionsBtn:\"New__optionsBtn__2ect0\",optionsLabel:\"New__optionsLabel__3JMy8\",receiverBtn:\"New__receiverBtn__1DFp4\",borderBottom:\"New__borderBottom__3t9Cy\",switch:\"New__switch__1Z5Sc\",slider:\"New__slider__2M7LN\",submitSwitch:\"New__submitSwitch__yjPB_\",label:\"New__label__1Ceh4\",submitSwitchSet:\"New__submitSwitchSet__3ICY-\"}},function(e,t,n){\"use strict\";var r={};e.exports=r},function(e,t){\"use strict\";t.__esModule=!0;var n=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);t.canUseDOM=n},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var a=e[t],u=\"undefined\"==typeof a?\"undefined\":i(a);return s.default.isValidElement(a)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement. You can usually obtain a ReactComponent or DOMElement from a ReactElement by attaching a ref to it.\"):\"object\"===u&&\"function\"==typeof a.render||1===a.nodeType?null:new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+a+\"` \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement.\")}Object.defineProperty(t,\"__esModule\",{value:!0});var i=\"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},a=n(1),s=r(a),u=n(560),l=r(u);t.default=(0,l.default)(o),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(11),s=r(a),u=n(9),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(25),w=r(A),C=n(13),E=n(40),L=n(75),T=r(L),O={active:M.default.bool,disabled:M.default.bool,block:M.default.bool,onClick:M.default.func,componentClass:w.default,href:M.default.string,type:M.default.oneOf([\"button\",\"reset\",\"submit\"])},S={active:!1,block:!1,disabled:!1},N=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderAnchor=function(e,t){return y.default.createElement(T.default,(0,l.default)({},e,{className:(0,_.default)(t,e.disabled&&\"disabled\")}))},t.prototype.renderButton=function(e,t){var n=e.componentClass,r=(0,s.default)(e,[\"componentClass\"]),o=n||\"button\";return y.default.createElement(o,(0,l.default)({},r,{type:r.type||\"button\",className:t}))},t.prototype.render=function(){var e,t=this.props,n=t.active,r=t.block,o=t.className,i=(0,s.default)(t,[\"active\",\"block\",\"className\"]),a=(0,C.splitBsProps)(i),u=a[0],c=a[1],d=(0,l.default)({},(0,C.getClassSet)(u),(e={active:n},e[(0,C.prefix)(u,\"block\")]=r,e)),f=(0,_.default)(o,d);return c.href?this.renderAnchor(c,f):this.renderButton(c,f)},t}(y.default.Component);N.propTypes=O,N.defaultProps=S,t.default=(0,C.bsClass)(\"btn\",(0,C.bsSizes)([E.Size.LARGE,E.Size.SMALL,E.Size.XSMALL],(0,C.bsStyles)([].concat((0,i.default)(E.State),[E.Style.DEFAULT,E.Style.PRIMARY,E.Style.LINK]),E.Style.DEFAULT,N))),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){return(0,s.default)(i.default.findDOMNode(e))};var o=n(29),i=r(o),a=n(80),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return\"button\"===e||\"input\"===e||\"select\"===e||\"textarea\"===e}function o(e,t,n){switch(e){case\"onClick\":case\"onClickCapture\":case\"onDoubleClick\":case\"onDoubleClickCapture\":case\"onMouseDown\":case\"onMouseDownCapture\":case\"onMouseMove\":case\"onMouseMoveCapture\":case\"onMouseUp\":case\"onMouseUpCapture\":return!(!n.disabled||!r(t));default:return!1}}var i=n(24),a=n(313),s=n(314),u=n(318),l=n(604),c=n(605),d=(n(17),{}),f=null,p=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return p(e,!0)},m=function(e){return p(e,!1)},g=function(e){return\".\"+e._rootNodeID},_={injection:{injectEventPluginOrder:a.injectEventPluginOrder,injectEventPluginsByName:a.injectEventPluginsByName},putListener:function(e,t,n){\"function\"!=typeof n?i(\"94\",t,typeof n):void 0;var r=g(e),o=d[t]||(d[t]={});o[r]=n;var s=a.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=d[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=g(e);return n&&n[r]},deleteListener:function(e,t){var n=a.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=d[t];if(r){var o=g(e);delete r[o]}},deleteAllListeners:function(e){var t=g(e);for(var n in d)if(d.hasOwnProperty(n)&&d[n][t]){var r=a.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete d[n][t]}},extractEvents:function(e,t,n,r){for(var o,i=a.plugins,s=0;s<i.length;s++){var u=i[s];if(u){var c=u.extractEvents(e,t,n,r);c&&(o=l(o,c))}}return o},enqueueEvents:function(e){e&&(f=l(f,e))},processEventQueue:function(e){var t=f;f=null,e?c(t,h):c(t,m),f?i(\"95\"):void 0,u.rethrowCaughtError()},__purge:function(){d={}},__getListenerBank:function(){return d}};e.exports=_},function(e,t,n){\"use strict\";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return _(e,r)}function o(e,t,n){var o=r(e,n,t);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}function i(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.traverseTwoPhase(e._targetInst,o,e)}function a(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?h.getParentInstance(t):null;h.traverseTwoPhase(n,o,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=_(e,r);o&&(n._dispatchListeners=m(n._dispatchListeners,o),n._dispatchInstances=m(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function l(e){g(e,i)}function c(e){g(e,a)}function d(e,t,n,r){h.traverseEnterLeave(n,r,s,e,t)}function f(e){g(e,u)}var p=n(168),h=n(314),m=n(604),g=n(605),_=(n(20),p.getListener),b={accumulateTwoPhaseDispatches:l,accumulateTwoPhaseDispatchesSkipTarget:c,accumulateDirectDispatches:f,accumulateEnterLeaveDispatches:d};e.exports=b},function(e,t){\"use strict\";var n={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t;\n}};e.exports=n},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i=n(323),a={view:function(e){if(e.view)return e.view;var t=i(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,a),e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return e=\"function\"==typeof e?e():e,a.default.findDOMNode(e)||t}t.__esModule=!0,t.default=o;var i=n(29),a=r(i);e.exports=t.default},function(e,t,n){function r(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);\"function\"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){o(e,t,n[t])})}return e}var o=n(670);e.exports=r},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o=n(41),i=n(229),a=n(687),s=function(e,t){var n=[],o=function(o){if(i.policyOptions.find(function(e){return e.value==o}).hidden)return\"continue\";if((0,a.hasProtectedGrant)(e.grants||[],o))return\"continue\";var s={guardData:e.guardData,guardType:e.guardType,policy:o};try{n.push(t[o]?(0,r.chainClient)().authorizationGrants.create(s):(0,r.chainClient)().authorizationGrants.delete(s))}catch(e){n.push(Promise.reject(e))}};for(var s in t){o(s)}return Promise.all(n)};t.default={fetchItems:function(){return function(e){var t=[];return Promise.all([(0,r.chainClient)().authorizationGrants.list()]).then(function(n){var r=n[0].data;return e({type:\"RECEIVED_ACCESS_GRANTS\",grants:r,tokens:t})}).catch(function(t){return e({type:\"ERROR\",payload:t})})}},submitTokenForm:function(e){var t={guardType:\"access_token\",guardData:e.guardData};return function(e){return(0,r.chainClient)().accessTokens.create({id:t.guardData.id}).then(function(t){if(\"success\"!==t.status)throw new Error(t.errorDetail);e({type:\"CREATED_TOKEN_WITH_GRANT\",tokenResp:t}),e((0,o.push)({pathname:\"/access-control\",search:\"?type=token\",state:{preserveFlash:!0}}))}).catch(function(e){throw{_error:e}})}},submitCertificateForm:function(e){var t={};for(var n in i.subjectFieldOptions){var r=i.subjectFieldOptions[n];t[r.value]=r}var a={guardType:\"x509\",guardData:{subject:{}}};for(var u in e.subject){var l=e.subject[u];if(l.key&&t[l.key].array){var c=a.guardData[l.key]||[];c.push(l.value),a.guardData.subject[l.key]=c}else a.guardData.subject[l.key]=l.value}return function(t){return Object.values(e.policies).some(function(e){return 1==e})?s(a,e.policies).then(function(e){t({type:\"CREATED_X509_GRANT\",resp:e}),t((0,o.push)({pathname:\"/access-control\",search:\"?type=certificate\",state:{preserveFlash:!0}}))},function(e){throw{_error:e}}):Promise.reject({_error:\"You must specify one or more policies\"})}},beginEditing:function(e){return{type:\"BEGIN_POLICY_EDITING\",id:e}},editPolicies:function(e){var t=e.grant,n=e.policies;return function(r){return s(t,n).then(function(){r({type:\"END_POLICY_EDITING\",id:e.grant.id,policies:n})},function(e){throw{_error:e}})}},deleteToken:function(e){var t=e.id;if(window.confirm('Really delete access token \"'+t+'\"?'))return function(n){return(0,r.chainClient)().accessTokens.delete(t).then(function(){n({type:\"DELETE_ACCESS_TOKEN\",id:e.id,message:\"Token deleted.\"})}).catch(function(e){return n({type:\"ERROR\",payload:e})})}}}},[1707,688,698,699],[1707,738,741,742],[1707,771,775,776],[1707,834,839,840],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(67),p=r(f),h=n(1245),m=r(h),g=n(4),_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props.t;return c.default.createElement(\"form\",s({className:this.props.className,onSubmit:this.props.onSubmit},p.default),this.props.children,c.default.createElement(d.FormSection,null,this.props.error&&\"PasswordWrong\"!==this.props.error.message&&c.default.createElement(d.ErrorBanner,{title:e(\"form.errorTitle\"),error:this.props.error}),c.default.createElement(\"div\",{className:m.default.submit},c.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:this.props.submitting||this.props.disabled},this.props.submitLabel||e(\"form.submit\")),this.props.showSubmitIndicator&&this.props.submitting&&c.default.createElement(d.SubmitIndicator,null))))}}]),t}(c.default.Component);t.default=(0,g.withNamespaces)(\"translations\")(_)},[1707,841,860,861],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.splitSlice=t.formatBytes=t.sum=void 0;var o=n(301),i=r(o);t.sum=function(e,t){return e.reduce(function(e,n){return e+Number(i.default.get(n,t))},0)},t.formatBytes=function(e,t){if(0==e)return\"0 Bytes\";var n=1024,r=t<=0?0:t||2,o=[\"B\",\"KB\",\"MB\",\"GB\",\"TB\"],i=Math.floor(Math.log(e)/Math.log(n));return parseFloat((e/Math.pow(n,i)).toFixed(r))+\" \"+o[i]},t.splitSlice=function(e,t){for(var n=[],r=0,o=e.length;r<o;r+=t)n.push(e.slice(r,t+r));return n}},function(e,t){e.exports=!0},106,[1712,57,32,105],function(e,t,n){\"use strict\";var r=n(19),o=n(2),i=n(49),a=n(103),s=n(88),u=n(98),l=n(97),c=n(22),d=n(21),f=n(190),p=n(128),h=n(266);e.exports=function(e,t,n,m,g,_){var b=r[e],y=b,v=g?\"set\":\"add\",M=y&&y.prototype,A={},w=function(e){var t=M[e];i(M,e,\"delete\"==e?function(e){return!(_&&!c(e))&&t.call(this,0===e?0:e)}:\"has\"==e?function(e){return!(_&&!c(e))&&t.call(this,0===e?0:e)}:\"get\"==e?function(e){return _&&!c(e)?void 0:t.call(this,0===e?0:e)}:\"add\"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(\"function\"==typeof y&&(_||M.forEach&&!d(function(){(new y).entries().next()}))){var C=new y,E=C[v](_?{}:-0,1)!=C,L=d(function(){C.has(1)}),T=f(function(e){new y(e)}),O=!_&&d(function(){for(var e=new y,t=5;t--;)e[v](t,t);return!e.has(-0)});T||(y=t(function(t,n){l(t,y,e);var r=h(new b,t,y);return void 0!=n&&u(n,g,r[v],r),r}),y.prototype=M,M.constructor=y),(L||O)&&(w(\"delete\"),w(\"has\"),g&&w(\"get\")),(O||E)&&w(v),_&&M.clear&&delete M.clear}else y=m.getConstructor(t,e,g,v),a(y.prototype,n),s.NEED=!0;return p(y,e),A[e]=y,o(o.G+o.W+o.F*(y!=b),A),_||m.setStrong(y,e,g),y}},function(e,t,n){\"use strict\";var r=n(48),o=n(49),i=n(21),a=n(70),s=n(26);e.exports=function(e,t,n){var u=s(e),l=n(a,u,\"\"[e]),c=l[0],d=l[1];i(function(){var t={};return t[u]=function(){return 7},7!=\"\"[e](t)})&&(o(String.prototype,e,c),r(RegExp.prototype,u,2==t?function(e,t){return d.call(e,this,t)}:function(e){return d.call(e,this)}))}},function(e,t,n){\"use strict\";var r=n(18);e.exports=function(){var e=r(this),t=\"\";return e.global&&(t+=\"g\"),e.ignoreCase&&(t+=\"i\"),e.multiline&&(t+=\"m\"),e.unicode&&(t+=\"u\"),e.sticky&&(t+=\"y\"),t}},[1724,59],function(e,t,n){var r=n(22),o=n(59),i=n(26)(\"match\");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[i])?!!t:\"RegExp\"==o(e))}},[1728,26],function(e,t,n){\"use strict\";e.exports=n(87)||!n(21)(function(){var e=Math.random();__defineSetter__.call(null,e,function(){}),delete n(19)[e]})},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){\"use strict\";var r=n(2),o=n(44),i=n(61),a=n(98);e.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,s,u=arguments[1];return o(this),t=void 0!==u,t&&o(u),void 0==e?new this:(n=[],t?(r=0,s=i(u,arguments[2],2),a(e,!1,function(e){n.push(s(e,r++))})):a(e,!1,n.push,n),new this(n))}})}},function(e,t,n){\"use strict\";var r=n(2);e.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}})}},[1744,60,19,87],function(e,t,n){var r=n(18),o=n(44),i=n(26)(\"species\");e.exports=function(e,t){var n,a=r(e).constructor;return void 0===a||void 0==(n=r(a)[i])?t:o(n)}},function(e,t,n){for(var r,o=n(19),i=n(48),a=n(106),s=a(\"typed_array\"),u=a(\"view\"),l=!(!o.ArrayBuffer||!o.DataView),c=l,d=0,f=9,p=\"Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array\".split(\",\");d<f;)(r=o[p[d++]])?(i(r.prototype,s,!0),i(r.prototype,u,!0)):c=!1;e.exports={ABV:l,CONSTR:c,TYPED:s,VIEW:u}},function(e,t,n){var r=n(19),o=r.navigator;e.exports=o&&o.userAgent||\"\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(74),i=r(o),a=function(){};i.default&&(a=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent(\"on\"+t,n)}:void 0}()),t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,a.default)(e);return void 0===t?n?\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop:e.scrollTop:void(n?n.scrollTo(\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft,t):e.scrollTop=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(131),a=r(i);e.exports=t.default},function(e,t){\"use strict\";function n(e,t,n){e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent(\"on\"+t,n)}function r(e,t,n){e.removeEventListener?e.removeEventListener(t,n,!1):e.detachEvent(\"on\"+t,n)}function o(){return window.location.href.split(\"#\")[1]||\"\"}function i(e){window.location.replace(window.location.pathname+window.location.search+\"#\"+e)}function a(){return window.location.pathname+window.location.search+window.location.hash}function s(e){e&&window.history.go(e)}function u(e,t){t(window.confirm(e))}function l(){var e=navigator.userAgent;return(e.indexOf(\"Android 2.\")===-1&&e.indexOf(\"Android 4.0\")===-1||e.indexOf(\"Mobile Safari\")===-1||e.indexOf(\"Chrome\")!==-1||e.indexOf(\"Windows Phone\")!==-1)&&(window.history&&\"pushState\"in window.history)}function c(){var e=navigator.userAgent;return e.indexOf(\"Firefox\")===-1}t.__esModule=!0,t.addEventListener=n,t.removeEventListener=r,t.getHashPath=o,t.replaceHashPath=i,t.getWindowPath=a,t.go=s,t.getUserConfirmation=u,t.supportsHistory=l,t.supportsGoWithoutReloadUsingHash=c},function(e,t){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(){n(this,e),this.observers={}}return e.prototype.on=function(e,t){var n=this;return e.split(\" \").forEach(function(e){n.observers[e]=n.observers[e]||[],n.observers[e].push(t)}),this},e.prototype.off=function(e,t){var n=this;this.observers[e]&&this.observers[e].forEach(function(){if(t){var r=n.observers[e].indexOf(t);r>-1&&n.observers[e].splice(r,1)}else delete n.observers[e]})},e.prototype.emit=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];if(this.observers[e]){var o=[].concat(this.observers[e]);o.forEach(function(e){e.apply(void 0,n)})}if(this.observers[\"*\"]){var i=[].concat(this.observers[\"*\"]);i.forEach(function(t){t.apply(t,[e].concat(n))})}},e}();t.default=r},function(e,t){\"use strict\";function n(e){return null==e?\"\":\"\"+e}function r(e,t,n){e.forEach(function(e){t[e]&&(n[e]=t[e])})}function o(e,t,n){function r(e){return e&&e.indexOf(\"###\")>-1?e.replace(/###/g,\".\"):e}function o(){return!e||\"string\"==typeof e}for(var i=\"string\"!=typeof t?[].concat(t):t.split(\".\");i.length>1;){if(o())return{};var a=r(i.shift());!e[a]&&n&&(e[a]=new n),e=e[a]}return o()?{}:{obj:e,k:r(i.shift())}}function i(e,t,n){var r=o(e,t,Object),i=r.obj,a=r.k;i[a]=n}function a(e,t,n,r){var i=o(e,t,Object),a=i.obj,s=i.k;a[s]=a[s]||[],r&&(a[s]=a[s].concat(n)),r||a[s].push(n)}function s(e,t){var n=o(e,t),r=n.obj,i=n.k;if(r)return r[i]}function u(e,t,n){for(var r in t)r in e?\"string\"==typeof e[r]||e[r]instanceof String||\"string\"==typeof t[r]||t[r]instanceof String?n&&(e[r]=t[r]):u(e[r],t[r],n):e[r]=t[r];return e}function l(e){return e.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}function c(e){return\"string\"==typeof e?e.replace(/[&<>\"'\\/]/g,function(e){return d[e]}):e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.makeString=n,t.copy=r,t.setPath=i,t.pushPath=a,t.getPath=s,t.deepExtend=u,t.regexEscape=l,t.escape=c;var d={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"/\":\"&#x2F;\"}},function(e,t,n){var r=n(297),o=r.Symbol;e.exports=o},function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(o(e[n][0],t))return n;return-1}var o=n(434);e.exports=r},function(e,t,n){function r(e){return null==e?void 0===e?u:s:l&&l in Object(e)?i(e):a(e)}var o=n(204),i=n(1329),a=n(1352),s=\"[object Null]\",u=\"[object Undefined]\",l=o?o.toStringTag:void 0;e.exports=r},function(e,t,n){function r(e,t){return o(e)?e:i(e,t)?[e]:a(s(e))}var o=n(164),i=n(1338),a=n(1357),s=n(1367);e.exports=r},function(e,t,n){function r(e,t){var n=e.__data__;return o(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}var o=n(1339);e.exports=r},function(e,t,n){var r=n(296),o=r(Object,\"create\");e.exports=o},function(e,t){function n(e){return null!=e&&\"object\"==typeof e}e.exports=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(9),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(286),_=r(g),b=n(89),y=r(b),v=n(295),M=r(v),A=n(1),w=r(A),C=n(5),E=r(C),L=n(29),T=r(L),O=n(220),S=r(O),N=n(25),k=r(N),D=n(221),x=r(D),I=n(226),z=r(I),j=n(47),P=(r(j),n(569)),B=r(P),F=n(1424),R=r(F),W=n(571),Y=r(W),H=n(13),q=n(39),U=r(q),X=n(1471),V=n(52),G=r(V),$=Y.default.defaultProps.bsRole,K=R.default.defaultProps.bsRole,Q={dropup:E.default.bool,id:(0,x.default)(E.default.oneOfType([E.default.string,E.default.number])),componentClass:k.default,children:(0,S.default)((0,X.requiredRoles)($,K),(0,X.exclusiveRoles)(K)),disabled:E.default.bool,pullRight:E.default.bool,open:E.default.bool,onClose:E.default.func,onToggle:E.default.func,onSelect:E.default.func,role:E.default.string,rootCloseEvent:E.default.oneOf([\"click\",\"mousedown\"]),onMouseEnter:E.default.func,onMouseLeave:E.default.func},Z={componentClass:B.default},J=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o.handleKeyDown=o.handleKeyDown.bind(o),o.handleClose=o.handleClose.bind(o),o._focusInDropdown=!1,o.lastOpenEventType=null,o}return(0,p.default)(t,e),t.prototype.componentDidMount=function(){this.focusNextOnOpen()},t.prototype.componentWillUpdate=function(e){!e.open&&this.props.open&&(this._focusInDropdown=(0,y.default)(T.default.findDOMNode(this.menu),(0,_.default)(document)))},t.prototype.componentDidUpdate=function(e){var t=this.props.open,n=e.open;t&&!n&&this.focusNextOnOpen(),!t&&n&&this._focusInDropdown&&(this._focusInDropdown=!1,this.focus())},t.prototype.handleClick=function(e){this.props.disabled||this.toggleOpen(e,{source:\"click\"})},t.prototype.handleKeyDown=function(e){if(!this.props.disabled)switch(e.keyCode){case M.default.codes.down:this.props.open?this.menu.focusNext&&this.menu.focusNext():this.toggleOpen(e,{source:\"keydown\"}),e.preventDefault();break;case M.default.codes.esc:case M.default.codes.tab:this.handleClose(e,{source:\"keydown\"})}},t.prototype.toggleOpen=function(e,t){var n=!this.props.open;n&&(this.lastOpenEventType=t.source),this.props.onToggle&&this.props.onToggle(n,e,t)},t.prototype.handleClose=function(e,t){this.props.open&&this.toggleOpen(e,t)},t.prototype.focusNextOnOpen=function(){var e=this.menu;e.focusNext&&(\"keydown\"!==this.lastOpenEventType&&\"menuitem\"!==this.props.role||e.focusNext())},t.prototype.focus=function(){var e=T.default.findDOMNode(this.toggle);e&&e.focus&&e.focus()},t.prototype.renderToggle=function(e,t){var n=this,r=function(e){n.toggle=e};return\"string\"==typeof e.ref||(r=(0,U.default)(e.ref,r)),(0,A.cloneElement)(e,(0,s.default)({},t,{ref:r,bsClass:(0,H.prefix)(t,\"toggle\"),onClick:(0,U.default)(e.props.onClick,this.handleClick),onKeyDown:(0,U.default)(e.props.onKeyDown,this.handleKeyDown)}))},t.prototype.renderMenu=function(e,t){var n=this,r=t.id,o=t.onClose,a=t.onSelect,u=t.rootCloseEvent,l=(0,i.default)(t,[\"id\",\"onClose\",\"onSelect\",\"rootCloseEvent\"]),c=function(e){n.menu=e};return\"string\"==typeof e.ref||(c=(0,U.default)(e.ref,c)),(0,A.cloneElement)(e,(0,s.default)({},l,{ref:c,labelledBy:r,bsClass:(0,H.prefix)(l,\"menu\"),onClose:(0,U.default)(e.props.onClose,o,this.handleClose),onSelect:(0,U.default)(e.props.onSelect,a,function(e,t){return n.handleClose(t,{source:\"select\"})}),rootCloseEvent:u}))},t.prototype.render=function(){var e,t=this,n=this.props,r=n.componentClass,o=n.id,a=n.dropup,u=n.disabled,l=n.pullRight,c=n.open,d=n.onClose,f=n.onSelect,p=n.role,h=n.bsClass,g=n.className,_=n.rootCloseEvent,b=n.children,y=(0,i.default)(n,[\"componentClass\",\"id\",\"dropup\",\"disabled\",\"pullRight\",\"open\",\"onClose\",\"onSelect\",\"role\",\"bsClass\",\"className\",\"rootCloseEvent\",\"children\"]);delete y.onToggle;var v=(e={},e[h]=!0,e.open=c,e.disabled=u,e);return a&&(v[h]=!1,v.dropup=!0),w.default.createElement(r,(0,s.default)({},y,{className:(0,m.default)(g,v)}),G.default.map(b,function(e){switch(e.props.bsRole){case $:return t.renderToggle(e,{id:o,disabled:u,open:c,role:p,bsClass:h});case K:return t.renderMenu(e,{id:o,open:c,pullRight:l,bsClass:h,onClose:d,onSelect:f,rootCloseEvent:_});default:return e}}))},t}(w.default.Component);J.propTypes=Q,J.defaultProps=Z,(0,H.bsClass)(\"dropdown\",J);var ee=(0,z.default)(J,{open:\"onToggle\"});ee.Toggle=Y.default,ee.Menu=R.default,t.default=ee,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(12),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(589),y=r(b),v={in:_.default.bool,mountOnEnter:_.default.bool,unmountOnExit:_.default.bool,transitionAppear:_.default.bool,timeout:_.default.number,onEnter:_.default.func,onEntering:_.default.func,onEntered:_.default.func,onExit:_.default.func,onExiting:_.default.func,onExited:_.default.func},M={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,transitionAppear:!1},A=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return m.default.createElement(y.default,(0,i.default)({},this.props,{className:(0,p.default)(this.props.className,\"fade\"),enteredClassName:\"in\",enteringClassName:\"in\"}))},t}(m.default.Component);A.propTypes=v,A.defaultProps=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=t.propTypes,r={},o={};return(0,a.default)(e).forEach(function(e){var t=e[0],i=e[1];n[t]?r[t]=i:o[t]=i}),[r,o]}t.__esModule=!0;var i=n(360),a=r(i);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return Object.prototype.hasOwnProperty.call(e,m)||(e[m]=p++,d[e[m]]={}),d[e[m]]}var o,i=n(28),a=n(313),s=n(1510),u=n(603),l=n(1542),c=n(324),d={},f=!1,p=0,h={topAbort:\"abort\",topAnimationEnd:l(\"animationend\")||\"animationend\",topAnimationIteration:l(\"animationiteration\")||\"animationiteration\",topAnimationStart:l(\"animationstart\")||\"animationstart\",topBlur:\"blur\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topChange:\"change\",topClick:\"click\",topCompositionEnd:\"compositionend\",topCompositionStart:\"compositionstart\",topCompositionUpdate:\"compositionupdate\",topContextMenu:\"contextmenu\",topCopy:\"copy\",topCut:\"cut\",topDoubleClick:\"dblclick\",topDrag:\"drag\",topDragEnd:\"dragend\",topDragEnter:\"dragenter\",topDragExit:\"dragexit\",topDragLeave:\"dragleave\",topDragOver:\"dragover\",topDragStart:\"dragstart\",topDrop:\"drop\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topFocus:\"focus\",topInput:\"input\",topKeyDown:\"keydown\",topKeyPress:\"keypress\",topKeyUp:\"keyup\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topMouseDown:\"mousedown\",topMouseMove:\"mousemove\",topMouseOut:\"mouseout\",topMouseOver:\"mouseover\",topMouseUp:\"mouseup\",topPaste:\"paste\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topScroll:\"scroll\",topSeeked:\"seeked\",topSeeking:\"seeking\",topSelectionChange:\"selectionchange\",topStalled:\"stalled\",topSuspend:\"suspend\",topTextInput:\"textInput\",topTimeUpdate:\"timeupdate\",topTouchCancel:\"touchcancel\",topTouchEnd:\"touchend\",topTouchMove:\"touchmove\",topTouchStart:\"touchstart\",topTransitionEnd:l(\"transitionend\")||\"transitionend\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\",topWheel:\"wheel\"},m=\"_reactListenersID\"+String(Math.random()).slice(2),g=i({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=e}},setEnabled:function(e){g.ReactEventListener&&g.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),i=a.registrationNameDependencies[e],s=0;s<i.length;s++){var u=i[s];o.hasOwnProperty(u)&&o[u]||(\"topWheel\"===u?c(\"wheel\")?g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"wheel\",n):c(\"mousewheel\")?g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"mousewheel\",n):g.ReactEventListener.trapBubbledEvent(\"topWheel\",\"DOMMouseScroll\",n):\"topScroll\"===u?c(\"scroll\",!0)?g.ReactEventListener.trapCapturedEvent(\"topScroll\",\"scroll\",n):g.ReactEventListener.trapBubbledEvent(\"topScroll\",\"scroll\",g.ReactEventListener.WINDOW_HANDLE):\"topFocus\"===u||\"topBlur\"===u?(c(\"focus\",!0)?(g.ReactEventListener.trapCapturedEvent(\"topFocus\",\"focus\",n),g.ReactEventListener.trapCapturedEvent(\"topBlur\",\"blur\",n)):c(\"focusin\")&&(g.ReactEventListener.trapBubbledEvent(\"topFocus\",\"focusin\",n),g.ReactEventListener.trapBubbledEvent(\"topBlur\",\"focusout\",n)),o.topBlur=!0,o.topFocus=!0):h.hasOwnProperty(u)&&g.ReactEventListener.trapBubbledEvent(u,h[u],n),o[u]=!0)}},trapBubbledEvent:function(e,t,n){return g.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return g.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent(\"MouseEvent\");return null!=e&&\"pageX\"in e},ensureScrollValueMonitoring:function(){if(void 0===o&&(o=g.supportsEventPageXY()),!o&&!f){var e=u.refreshScrollValues;g.ReactEventListener.monitorScrollValue(e),f=!0}}});e.exports=g},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i=n(603),a=n(322),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:a,button:function(e){var t=e.button;return\"which\"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return\"pageX\"in e?e.pageX:e.clientX+i.currentScrollLeft},pageY:function(e){return\"pageY\"in e?e.pageY:e.clientY+i.currentScrollTop}};o.augmentClass(r,s),e.exports=r},function(e,t,n){\"use strict\";var r=n(24),o=(n(17),{}),i={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,i,a,s,u){this.isInTransaction()?r(\"27\"):void 0;var l,c;try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()?void 0:r(\"28\");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t){\"use strict\";function n(e){var t=\"\"+e,n=o.exec(t);if(!n)return t;var r,i=\"\",a=0,s=0;for(a=n.index;a<t.length;a++){switch(t.charCodeAt(a)){case 34:r=\"&quot;\";break;case 38:r=\"&amp;\";break;case 39:r=\"&#x27;\";break;case 60:r=\"&lt;\";break;case 62:r=\"&gt;\";break;default:continue}s!==a&&(i+=t.substring(s,a)),s=a+1,i+=r}return s!==a?i+t.substring(s,a):i}function r(e){return\"boolean\"==typeof e||\"number\"==typeof e?\"\"+e:n(e)}var o=/[\"'&<>]/;e.exports=r},function(e,t,n){\"use strict\";var r,o=n(46),i=n(312),a=/^[ \\r\\n\\t\\f]/,s=/<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/,u=n(320),l=u(function(e,t){if(e.namespaceURI!==i.svg||\"innerHTML\"in e)e.innerHTML=t;else{r=r||document.createElement(\"div\"),r.innerHTML=\"<svg>\"+t+\"</svg>\";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var c=document.createElement(\"div\");c.innerHTML=\" \",\"\"===c.innerHTML&&(l=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.test(t)||\"<\"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),c=null}e.exports=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e,t,n,r){return(0,i.default)(e,t,n,r),{remove:function(){(0,s.default)(e,t,n,r)}}};var o=n(159),i=r(o),a=n(199),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){function e(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];var o=null;return n.forEach(function(e){if(null==o){var n=e.apply(void 0,t);null!=n&&(o=n)}}),o}for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return(0,a.default)(e)}t.__esModule=!0,t.default=o;var i=n(222),a=r(i)},function(e,t){\"use strict\";function n(e){return function(t,n,r,o,i){var a=r||\"<<anonymous>>\",s=i||n;if(null==t[n])return new Error(\"The \"+o+\" `\"+s+\"` is required to make \"+(\"`\"+a+\"` accessible for users of assistive \")+\"technologies such as screen readers.\");for(var u=arguments.length,l=Array(u>5?u-5:0),c=5;c<u;c++)l[c-5]=arguments[c];return e.apply(void 0,[t,n,r,o,i].concat(l))}}t.__esModule=!0,t.default=n},function(e,t){\"use strict\";function n(e){function t(t,n,r,o,i,a){var s=o||\"<<anonymous>>\",u=a||r;if(null==n[r])return t?new Error(\"Required \"+i+\" `\"+u+\"` was not specified \"+(\"in `\"+s+\"`.\")):null;for(var l=arguments.length,c=Array(l>6?l-6:0),d=6;d<l;d++)c[d-6]=arguments[d];return e.apply(void 0,[n,r,s,i,u].concat(c))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e},i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(33),s=r(a),u=n(1),l=r(u),c=n(224),d=(r(c),n(1591)),f=r(d),p=n(92),h=n(42),m=(r(h),l.default.PropTypes),g=m.array,_=m.func,b=m.object,y=l.default.createClass({displayName:\"RouterContext\",propTypes:{history:b,router:b.isRequired,location:b.isRequired,routes:g.isRequired,params:b.isRequired,components:g.isRequired,createElement:_.isRequired},getDefaultProps:function(){return{createElement:l.default.createElement}},childContextTypes:{history:b,location:b.isRequired,router:b.isRequired},getChildContext:function(){var e=this.props,t=e.router,n=e.history,r=e.location;return t||(t=i({},n,{setRouteLeaveHook:n.listenBeforeLeavingRoute}),delete t.listenBeforeLeavingRoute),{history:n,location:r,router:t}},createElement:function(e,t){return null==e?null:this.props.createElement(e,t)},render:function(){var e=this,t=this.props,n=t.history,r=t.location,a=t.routes,u=t.params,c=t.components,d=null;return c&&(d=c.reduceRight(function(t,s,l){if(null==s)return t;var c=a[l],d=(0,f.default)(c,u),h={history:n,location:r,params:u,route:c,routeParams:d,routes:a};if((0,p.isReactChildren)(t))h.children=t;else if(t)for(var m in t)Object.prototype.hasOwnProperty.call(t,m)&&(h[m]=t[m]);if(\"object\"===(\"undefined\"==typeof s?\"undefined\":o(s))){var g={};for(var _ in s)Object.prototype.hasOwnProperty.call(s,_)&&(g[_]=e.createElement(s[_],i({key:_},h)));return g}return e.createElement(s,h)},d)),null===d||d===!1||l.default.isValidElement(d)?void 0:(0,s.default)(!1),d}});t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.canUseMembrane=void 0;var o=n(42),i=(r(o),t.canUseMembrane=!1,function(e){return e});t.default=i},function(e,t){\"use strict\";function n(e){return Array.isArray(e)?e.reduce(function(e,t){return e&&n(t)},!0):e&&\"object\"==typeof e?Object.keys(e).reduce(function(t,r){return t&&n(e[r])},!0):!e}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){n&&(e._notifying=!0,n.call.apply(n,[e,r].concat(o)),e._notifying=!1),e._values[t]=r,e.unmounted||e.forceUpdate()}t.__esModule=!0;var i=n(1658),a=r(i),s={shouldComponentUpdate:function(){return!this._notifying}};t.default=(0,a.default)(s,o),e.exports=t.default},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children=[],e.webpackPolyfill=1),e}},function(e,t){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 r(t){return\"function\"==typeof Symbol&&\"symbol\"===n(Symbol.iterator)?e.exports=r=function(e){return n(e)}:e.exports=r=function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":n(e)},r(t)}e.exports=r},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.policyOptions=[{label:\"Client read/write\",value:\"client-readwrite\",hint:\"Full access to the Client API\"},{label:\"Client read-only\",value:\"client-readonly\",hint:\"Access to read-only Client endpoints\"},{label:\"Monitoring\",value:\"monitoring\",hint:\"Access to monitoring-specific endpoints\"},{label:\"Cross-core\",value:\"crosscore\",hint:\"Access to the cross-core API, not including block-signing. Necessary for connecting to the generator\"},{label:\"Cross-core block signing\",value:\"crosscore-signblock\",hint:\"Access to the cross-core API's block-signing functionality\"},{label:\"Internal\",value:\"internal\",hidden:!0}],t.subjectFieldOptions=[{\nlabel:\"CommonName\",value:\"cn\"},{label:\"Country\",value:\"c\",array:!0},{label:\"Organization\",value:\"o\",array:!0},{label:\"OrganizationalUnit\",value:\"ou\",array:!0},{label:\"Locality\",value:\"l\",array:!0},{label:\"Province\",value:\"st\",array:!0},{label:\"StreetAddress\",value:\"street\",array:!0},{label:\"PostalCode\",value:\"postalcode\",array:!0},{label:\"SerialNumber\",value:\"serialnumber\"}]},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.SecondaryNavigation=t.Navigation=t.Modal=t.Loading=t.Login=t.Config=t.Main=t.Container=void 0;var o=n(702),i=r(o),a=n(705),s=r(a),u=n(701),l=r(u),c=n(704),d=r(c),f=n(703),p=r(f),h=n(706),m=r(h),g=n(707),_=r(g),b=n(708),y=r(b);t.Container=i.default,t.Main=s.default,t.Config=l.default,t.Login=d.default,t.Loading=p.default,t.Modal=m.default,t.Navigation=_.default,t.SecondaryNavigation=y.default},[1707,711,720,721],[1707,726,732,733],[1707,743,747,748],[1707,750,757,758],[1707,348,769,770],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.GeneratedTxHex=t.Show=t.New=t.DetailSummary=t.Summary=t.List=void 0;var o=n(845),i=r(o),a=n(859),s=r(a),u=n(842),l=r(u),c=n(854),d=r(c),f=n(858),p=r(f),h=n(843),m=r(h);t.List=i.default,t.Summary=s.default,t.DetailSummary=l.default,t.New=d.default,t.Show=p.default,t.GeneratedTxHex=m.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(865),f=r(d),p=n(863),h=r(p),m=n(16),g={TutorialInfo:f.default,TutorialForm:h.default},_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=!this.props.tutorial.location.isVisited,t=this.props.types,n=this.props.content?g[this.props.content.component]:g.TutorialInfo;return c.default.createElement(\"div\",null,this.props.content&&e&&t.includes(this.props.content.component)&&c.default.createElement(n,s({advTx:this.props.advTx},this.props.content)))}}]),t}(c.default.Component),b=function(e){return{content:e.tutorial.content,tutorial:e.tutorial}};t.default=(0,m.connect)(b)(_)},[1707,867,871,872],function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=\"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},a=n(421)(),s=a.fetch,u=n(240),l=n(905),c=[\"after\",\"asset_tags\",\"asset_definition\",\"account_tags\",\"next\",\"reference_data\",\"tags\"],d=function e(t){for(var n in t){var r=t[n],o=n;/^[A-Z]+$/.test(n)||(/[A-Z]/.test(n)&&(o=n.replace(/([A-Z])/g,function(e){return\"_\"+e.toLowerCase()}),delete t[n]),\"object\"==(\"undefined\"==typeof r?\"undefined\":i(r))&&c.indexOf(o)==-1&&(r=e(r)),t[o]=r)}return t},f=function e(t){for(var n in t){var r=t[n],o=n;/_/.test(n)&&(o=n.replace(/([_][a-z])/g,function(e){return e[1].toUpperCase()}),delete t[n]),\"object\"==(\"undefined\"==typeof r?\"undefined\":i(r))&&c.indexOf(n)==-1&&(r=e(r)),t[o]=r}return t},p=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",o=arguments[2];r(this,e),this.baseUrl=t,this.token=n||\"\",this.agent=o}return o(e,[{key:\"request\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(t={});var r=n?t:d(t),o={method:\"POST\",headers:{Accept:\"application/json\"},body:JSON.stringify(r)};return this.token&&(o.headers.Authorization=\"Basic \"+l(this.token)),this.agent&&(o.agent=this.agent),s(this.baseUrl+e,o).catch(function(e){throw u.create(u.types.FETCH,\"Fetch error: \"+e.toString(),{sourceError:e})}).then(function(e){return 204==e.status?{status:204}:e.json().catch(function(){throw u.create(u.types.JSON,\"Could not parse JSON response\",{response:e,status:e.status})}).then(function(t){if(e.status/100==2)return t;var n=null;throw n=401==e.status?u.types.UNAUTHORIZED:404==e.status?u.types.NOT_FOUND:e.status/100==4?u.types.BAD_REQUEST:u.types.SERVER,u.create(n,u.formatErrMsg(t,null),{response:e,status:e.status,body:t,requestId:null})}).then(function(e){if(\"fail\"===e.status)throw e;return n?e:f(e)})})}}]),e}();p.snakeize=d,p.camelize=f,e.exports=p},function(e,t){\"use strict\";var n={create:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=void 0;return o=r.body?n.newBatchError(r.body,r.requestId):new Error(t),o=Object.assign(o,r,{chainClientError:!0,type:e})},isChainError:function(e){return e&&!!e.chainClientError},isBatchError:function(e){return e&&e.code&&!e.stack},newBatchError:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=new Error(n.formatErrMsg(e,t));return r.code=e.code,r.chainMessage=e.msg,r.detail=e.errorDetail,r.requestId=t,r.resp=e.resp,r},formatErrMsg:function(e,t){var n=[];return\"string\"==typeof e.code&&e.code.length>0&&n.push(\"Code: \"+e.code),n.push(\"Message: \"+e.msg),\"string\"==typeof e.errorDetail&&e.errorDetail.length>0&&n.push(\"Detail: \"+e.errorDetail),t&&n.push(\"Request-ID: \"+t),n.join(\" \")},types:{FETCH:\"FETCH\",CONNECTIVITY:\"CONNECTIVITY\",JSON:\"JSON\",UNAUTHORIZED:\"UNAUTHORIZED\",NOT_FOUND:\"NOT_FOUND\",BAD_REQUEST:\"BAD_REQUEST\",SERVER_ERROR:\"SERVER_ERROR\"}};e.exports=n},function(e,t,n){\"use strict\";var r=n(889),o=n(239),i=n(356);e.exports={Client:r,Connection:o,HsmSigner:i}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(897),i=r(o),a=n(896),s=r(a),u=\"function\"==typeof s.default&&\"symbol\"==typeof i.default?function(e){return typeof e}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":typeof e};t.default=\"function\"==typeof s.default&&\"symbol\"===u(i.default)?function(e){return\"undefined\"==typeof e?\"undefined\":u(e)}:function(e){return e&&\"function\"==typeof s.default&&e.constructor===s.default&&e!==s.default.prototype?\"symbol\":\"undefined\"==typeof e?\"undefined\":u(e)}},function(e,t,n){(function(e){\"use strict\";function r(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}function o(){return a.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(e,t){if(o()<t)throw new RangeError(\"Invalid typed array length\");return a.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t),e.__proto__=a.prototype):(null===e&&(e=new a(t)),e.length=t),e}function a(e,t,n){if(!(a.TYPED_ARRAY_SUPPORT||this instanceof a))return new a(e,t,n);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return c(this,e)}return s(this,e,t,n)}function s(e,t,n,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?p(e,t,n,r):\"string\"==typeof t?d(e,t,n):h(e,t)}function u(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function l(e,t,n,r){return u(t),t<=0?i(e,t):void 0!==n?\"string\"==typeof r?i(e,t).fill(n,r):i(e,t).fill(n):i(e,t)}function c(e,t){if(u(t),e=i(e,t<0?0:0|m(t)),!a.TYPED_ARRAY_SUPPORT)for(var n=0;n<t;++n)e[n]=0;return e}function d(e,t,n){if(\"string\"==typeof n&&\"\"!==n||(n=\"utf8\"),!a.isEncoding(n))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|_(t,n);e=i(e,r);var o=e.write(t,n);return o!==r&&(e=e.slice(0,o)),e}function f(e,t){var n=t.length<0?0:0|m(t.length);e=i(e,n);for(var r=0;r<n;r+=1)e[r]=255&t[r];return e}function p(e,t,n,r){if(t.byteLength,n<0||t.byteLength<n)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<n+(r||0))throw new RangeError(\"'length' is out of bounds\");return t=void 0===n&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,n):new Uint8Array(t,n,r),a.TYPED_ARRAY_SUPPORT?(e=t,e.__proto__=a.prototype):e=f(e,t),e}function h(e,t){if(a.isBuffer(t)){var n=0|m(t.length);return e=i(e,n),0===e.length?e:(t.copy(e,0,0,n),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||K(t.length)?i(e,0):f(e,t);if(\"Buffer\"===t.type&&J(t.data))return f(e,t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}function m(e){if(e>=o())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+o().toString(16)+\" bytes\");return 0|e}function g(e){return+e!=e&&(e=0),a.alloc(+e)}function _(e,t){if(a.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var n=e.length;if(0===n)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return n;case\"utf8\":case\"utf-8\":case void 0:return U(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*n;case\"hex\":return n>>>1;case\"base64\":return G(e).length;default:if(r)return U(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function b(e,t,n){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return\"\";if(n>>>=0,t>>>=0,n<=t)return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return x(this,t,n);case\"utf8\":case\"utf-8\":return S(this,t,n);case\"ascii\":return k(this,t,n);case\"latin1\":case\"binary\":return D(this,t,n);case\"base64\":return O(this,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return I(this,t,n);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}function y(e,t,n){var r=e[t];e[t]=e[n],e[n]=r}function v(e,t,n,r,o){if(0===e.length)return-1;if(\"string\"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(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 t&&(t=a.from(t,r)),a.isBuffer(t))return 0===t.length?-1:M(e,t,n,r,o);if(\"number\"==typeof t)return t&=255,a.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):M(e,[t],n,r,o);throw new TypeError(\"val must be string, number or Buffer\")}function M(e,t,n,r,o){function i(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}var a=1,s=e.length,u=t.length;if(void 0!==r&&(r=String(r).toLowerCase(),\"ucs2\"===r||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;a=2,s/=2,u/=2,n/=2}var l;if(o){var c=-1;for(l=n;l<s;l++)if(i(e,l)===i(t,c===-1?0:l-c)){if(c===-1&&(c=l),l-c+1===u)return c*a}else c!==-1&&(l-=l-c),c=-1}else for(n+u>s&&(n=s-u),l=n;l>=0;l--){for(var d=!0,f=0;f<u;f++)if(i(e,l+f)!==i(t,f)){d=!1;break}if(d)return l}return-1}function A(e,t,n,r){n=Number(n)||0;var o=e.length-n;r?(r=Number(r),r>o&&(r=o)):r=o;var i=t.length;if(i%2!==0)throw new TypeError(\"Invalid hex string\");r>i/2&&(r=i/2);for(var a=0;a<r;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[n+a]=s}return a}function w(e,t,n,r){return $(U(t,e.length-n),e,n,r)}function C(e,t,n,r){return $(X(t),e,n,r)}function E(e,t,n,r){return C(e,t,n,r)}function L(e,t,n,r){return $(G(t),e,n,r)}function T(e,t,n,r){return $(V(t,e.length-n),e,n,r)}function O(e,t,n){return 0===t&&n===e.length?Q.fromByteArray(e):Q.fromByteArray(e.slice(t,n))}function S(e,t,n){n=Math.min(e.length,n);for(var r=[],o=t;o<n;){var i=e[o],a=null,s=i>239?4:i>223?3:i>191?2:1;if(o+s<=n){var u,l,c,d;switch(s){case 1:i<128&&(a=i);break;case 2:u=e[o+1],128===(192&u)&&(d=(31&i)<<6|63&u,d>127&&(a=d));break;case 3:u=e[o+1],l=e[o+2],128===(192&u)&&128===(192&l)&&(d=(15&i)<<12|(63&u)<<6|63&l,d>2047&&(d<55296||d>57343)&&(a=d));break;case 4:u=e[o+1],l=e[o+2],c=e[o+3],128===(192&u)&&128===(192&l)&&128===(192&c)&&(d=(15&i)<<18|(63&u)<<12|(63&l)<<6|63&c,d>65535&&d<1114112&&(a=d))}}null===a?(a=65533,s=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|1023&a),r.push(a),o+=s}return N(r)}function N(e){var t=e.length;if(t<=ee)return String.fromCharCode.apply(String,e);for(var n=\"\",r=0;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=ee));return n}function k(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(127&e[o]);return r}function D(e,t,n){var r=\"\";n=Math.min(e.length,n);for(var o=t;o<n;++o)r+=String.fromCharCode(e[o]);return r}function x(e,t,n){var r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);for(var o=\"\",i=t;i<n;++i)o+=q(e[i]);return o}function I(e,t,n){for(var r=e.slice(t,n),o=\"\",i=0;i<r.length;i+=2)o+=String.fromCharCode(r[i]+256*r[i+1]);return o}function z(e,t,n){if(e%1!==0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>n)throw new RangeError(\"Trying to access beyond buffer length\")}function j(e,t,n,r,o,i){if(!a.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('\"value\" argument is out of bounds');if(n+r>e.length)throw new RangeError(\"Index out of range\")}function P(e,t,n,r){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-n,2);o<i;++o)e[n+o]=(t&255<<8*(r?o:1-o))>>>8*(r?o:1-o)}function B(e,t,n,r){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-n,4);o<i;++o)e[n+o]=t>>>8*(r?o:3-o)&255}function F(e,t,n,r,o,i){if(n+r>e.length)throw new RangeError(\"Index out of range\");if(n<0)throw new RangeError(\"Index out of range\")}function R(e,t,n,r,o){return o||F(e,t,n,4,3.4028234663852886e38,-3.4028234663852886e38),Z.write(e,t,n,r,23,4),n+4}function W(e,t,n,r,o){return o||F(e,t,n,8,1.7976931348623157e308,-1.7976931348623157e308),Z.write(e,t,n,r,52,8),n+8}function Y(e){if(e=H(e).replace(te,\"\"),e.length<2)return\"\";for(;e.length%4!==0;)e+=\"=\";return e}function H(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}function q(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function U(e,t){t=t||1/0;for(var n,r=e.length,o=null,i=[],a=0;a<r;++a){if(n=e.charCodeAt(a),n>55295&&n<57344){if(!o){if(n>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===r){(t-=3)>-1&&i.push(239,191,189);continue}o=n;continue}if(n<56320){(t-=3)>-1&&i.push(239,191,189),o=n;continue}n=(o-55296<<10|n-56320)+65536}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,n<128){if((t-=1)<0)break;i.push(n)}else if(n<2048){if((t-=2)<0)break;i.push(n>>6|192,63&n|128)}else if(n<65536){if((t-=3)<0)break;i.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;i.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return i}function X(e){for(var t=[],n=0;n<e.length;++n)t.push(255&e.charCodeAt(n));return t}function V(e,t){for(var n,r,o,i=[],a=0;a<e.length&&!((t-=2)<0);++a)n=e.charCodeAt(a),r=n>>8,o=n%256,i.push(o),i.push(r);return i}function G(e){return Q.toByteArray(Y(e))}function $(e,t,n,r){for(var o=0;o<r&&!(o+n>=t.length||o>=e.length);++o)t[o+n]=e[o];return o}function K(e){return e!==e}var Q=n(898),Z=n(1294),J=n(1295);t.Buffer=a,t.SlowBuffer=g,t.INSPECT_MAX_BYTES=50,a.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:r(),t.kMaxLength=o(),a.poolSize=8192,a._augment=function(e){return e.__proto__=a.prototype,e},a.from=function(e,t,n){return s(null,e,t,n)},a.TYPED_ARRAY_SUPPORT&&(a.prototype.__proto__=Uint8Array.prototype,a.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&a[Symbol.species]===a&&Object.defineProperty(a,Symbol.species,{value:null,configurable:!0})),a.alloc=function(e,t,n){return l(null,e,t,n)},a.allocUnsafe=function(e){return c(null,e)},a.allocUnsafeSlow=function(e){return c(null,e)},a.isBuffer=function(e){return!(null==e||!e._isBuffer)},a.compare=function(e,t){if(!a.isBuffer(e)||!a.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0},a.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}},a.concat=function(e,t){if(!J(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return a.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=a.allocUnsafe(t),o=0;for(n=0;n<e.length;++n){var i=e[n];if(!a.isBuffer(i))throw new TypeError('\"list\" argument must be an Array of Buffers');i.copy(r,o),o+=i.length}return r},a.byteLength=_,a.prototype._isBuffer=!0,a.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)y(this,t,t+1);return this},a.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)y(this,t,t+3),y(this,t+1,t+2);return this},a.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)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},a.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?S(this,0,e):b.apply(this,arguments)},a.prototype.equals=function(e){if(!a.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===a.compare(this,e)},a.prototype.inspect=function(){var e=\"\",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,n).match(/.{2}/g).join(\" \"),this.length>n&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},a.prototype.compare=function(e,t,n,r,o){if(!a.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===o&&(o=this.length),t<0||n>e.length||r<0||o>this.length)throw new RangeError(\"out of range index\");if(r>=o&&t>=n)return 0;if(r>=o)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,o>>>=0,this===e)return 0;for(var i=o-r,s=n-t,u=Math.min(i,s),l=this.slice(r,o),c=e.slice(t,n),d=0;d<u;++d)if(l[d]!==c[d]){i=l[d],s=c[d];break}return i<s?-1:s<i?1:0},a.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},a.prototype.indexOf=function(e,t,n){return v(this,e,t,n,!0)},a.prototype.lastIndexOf=function(e,t,n){return v(this,e,t,n,!1)},a.prototype.write=function(e,t,n,r){if(void 0===t)r=\"utf8\",n=this.length,t=0;else if(void 0===n&&\"string\"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(n)?(n|=0,void 0===r&&(r=\"utf8\")):(r=n,n=void 0)}var o=this.length-t;if((void 0===n||n>o)&&(n=o),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var i=!1;;)switch(r){case\"hex\":return A(this,e,t,n);case\"utf8\":case\"utf-8\":return w(this,e,t,n);case\"ascii\":return C(this,e,t,n);case\"latin1\":case\"binary\":return E(this,e,t,n);case\"base64\":return L(this,e,t,n);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return T(this,e,t,n);default:if(i)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),i=!0}},a.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var ee=4096;a.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);var r;if(a.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=a.prototype;else{var o=t-e;r=new a(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},a.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return r},a.prototype.readUIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e+--t],o=1;t>0&&(o*=256);)r+=this[e+--t]*o;return r},a.prototype.readUInt8=function(e,t){return t||z(e,1,this.length),this[e]},a.prototype.readUInt16LE=function(e,t){return t||z(e,2,this.length),this[e]|this[e+1]<<8},a.prototype.readUInt16BE=function(e,t){return t||z(e,2,this.length),this[e]<<8|this[e+1]},a.prototype.readUInt32LE=function(e,t){return t||z(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},a.prototype.readUInt32BE=function(e,t){return t||z(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},a.prototype.readIntLE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=this[e],o=1,i=0;++i<t&&(o*=256);)r+=this[e+i]*o;return o*=128,r>=o&&(r-=Math.pow(2,8*t)),r},a.prototype.readIntBE=function(e,t,n){e|=0,t|=0,n||z(e,t,this.length);for(var r=t,o=1,i=this[e+--r];r>0&&(o*=256);)i+=this[e+--r]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*t)),i},a.prototype.readInt8=function(e,t){return t||z(e,1,this.length),128&this[e]?(255-this[e]+1)*-1:this[e]},a.prototype.readInt16LE=function(e,t){t||z(e,2,this.length);var n=this[e]|this[e+1]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt16BE=function(e,t){t||z(e,2,this.length);var n=this[e+1]|this[e]<<8;return 32768&n?4294901760|n:n},a.prototype.readInt32LE=function(e,t){return t||z(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},a.prototype.readInt32BE=function(e,t){return t||z(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},a.prototype.readFloatLE=function(e,t){return t||z(e,4,this.length),Z.read(this,e,!0,23,4)},a.prototype.readFloatBE=function(e,t){return t||z(e,4,this.length),Z.read(this,e,!1,23,4)},a.prototype.readDoubleLE=function(e,t){return t||z(e,8,this.length),Z.read(this,e,!0,52,8)},a.prototype.readDoubleBE=function(e,t){return t||z(e,8,this.length),Z.read(this,e,!1,52,8)},a.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){var o=Math.pow(2,8*n)-1;j(this,e,t,n,o,0)}var i=1,a=0;for(this[t]=255&e;++a<n&&(i*=256);)this[t+a]=e/i&255;return t+n},a.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t|=0,n|=0,!r){var o=Math.pow(2,8*n)-1;j(this,e,t,n,o,0)}var i=n-1,a=1;for(this[t+i]=255&e;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+n},a.prototype.writeUInt8=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,1,255,0),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},a.prototype.writeUInt16LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},a.prototype.writeUInt16BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,65535,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},a.prototype.writeUInt32LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},a.prototype.writeUInt32BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,4294967295,0),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);j(this,e,t,n,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<n&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},a.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t|=0,!r){var o=Math.pow(2,8*n-1);j(this,e,t,n,o-1,-o)}var i=n-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+n},a.prototype.writeInt8=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,1,127,-128),a.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},a.prototype.writeInt16LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):P(this,e,t,!0),t+2},a.prototype.writeInt16BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,2,32767,-32768),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):P(this,e,t,!1),t+2},a.prototype.writeInt32LE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,2147483647,-2147483648),a.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},a.prototype.writeInt32BE=function(e,t,n){return e=+e,t|=0,n||j(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),a.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},a.prototype.writeFloatLE=function(e,t,n){return R(this,e,t,!0,n)},a.prototype.writeFloatBE=function(e,t,n){return R(this,e,t,!1,n)},a.prototype.writeDoubleLE=function(e,t,n){return W(this,e,t,!0,n)},a.prototype.writeDoubleBE=function(e,t,n){return W(this,e,t,!1,n)},a.prototype.copy=function(e,t,n,r){if(n||(n=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(n<0||n>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);var o,i=r-n;if(this===e&&n<t&&t<r)for(o=i-1;o>=0;--o)e[o+t]=this[o+n];else if(i<1e3||!a.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+n];else Uint8Array.prototype.set.call(e,this.subarray(n,n+i),t);return i},a.prototype.fill=function(e,t,n,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,n=this.length):\"string\"==typeof n&&(r=n,n=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!a.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<n)throw new RangeError(\"Out of range index\");if(n<=t)return this;t>>>=0,n=void 0===n?this.length:n>>>0,e||(e=0);var i;if(\"number\"==typeof e)for(i=t;i<n;++i)this[i]=e;else{var s=a.isBuffer(e)?e:U(new a(e,r).toString()),u=s.length;for(i=0;i<n-t;++i)this[i+t]=s[i%u]}return this};var te=/[^+\\/0-9A-Za-z-_]/g}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(e){switch(e._type){case\"Document\":case\"BlockQuote\":case\"List\":case\"Item\":case\"Paragraph\":case\"Heading\":case\"Emph\":case\"Strong\":case\"Link\":case\"Image\":case\"CustomInline\":case\"CustomBlock\":return!0;default:return!1}}var r=function(e,t){this.current=e,this.entering=t===!0},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var r=n(e);return t&&r?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},i=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:r}},a=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},s=a.prototype;Object.defineProperty(s,\"isContainer\",{get:function(){return n(this)}}),Object.defineProperty(s,\"type\",{get:function(){return this._type}}),Object.defineProperty(s,\"firstChild\",{get:function(){return this._firstChild}}),Object.defineProperty(s,\"lastChild\",{get:function(){return this._lastChild}}),Object.defineProperty(s,\"next\",{get:function(){return this._next}}),Object.defineProperty(s,\"prev\",{get:function(){return this._prev}}),Object.defineProperty(s,\"parent\",{get:function(){return this._parent}}),Object.defineProperty(s,\"sourcepos\",{get:function(){return this._sourcepos}}),Object.defineProperty(s,\"literal\",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(s,\"destination\",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(s,\"title\",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(s,\"info\",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(s,\"level\",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(s,\"listType\",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(s,\"listTight\",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(s,\"listStart\",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(s,\"listDelimiter\",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(s,\"onEnter\",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(s,\"onExit\",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),a.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},a.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},a.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},a.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},a.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},a.prototype.walker=function(){var e=new i(this);return e},e.exports=a},59,[1715,923],70,function(e,t){e.exports=\"constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf\".split(\",\")},[1731,123,938,248,252,363,929],192,[1742,95,94,68],[1743,253,183],[1744,58,85,182],72,[1749,247],[1750,126],[1751,85,58,182,258,95],[1752,68],function(e,t,n){\"use strict\";var r=n(35),o=n(105),i=n(32);e.exports=function(e){for(var t=r(this),n=i(t.length),a=arguments.length,s=o(a>1?arguments[1]:void 0,n),u=a>2?arguments[2]:void 0,l=void 0===u?n:o(u,n);l>s;)t[s++]=e;return t}},function(e,t,n){var r=n(957);e.exports=function(e,t){return new(r(e))(t)}},[1714,31,102],[1717,22,19],248,function(e,t,n){\nvar r=n(26)(\"match\");e.exports=function(e){var t=/./;try{\"/./\"[e](t)}catch(n){try{return t[r]=!1,!\"/./\"[e](t)}catch(e){}}return!0}},[1720,19],function(e,t,n){var r=n(22),o=n(274).set;e.exports=function(e,t,n){var i,a=t.constructor;return a!==n&&\"function\"==typeof a&&(i=a.prototype)!==n.prototype&&r(i)&&o&&o(e,i),e}},[1723,127,26],[1726,99,102,128,48,26],[1727,87,2,49,48,127,268,128,56,26],function(e,t){var n=Math.expm1;e.exports=!n||n(10)>22025.465794806718||n(10)<22025.465794806718||n(-2e-17)!=-2e-17?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:n},function(e,t){e.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},function(e,t,n){var r=n(19),o=n(280).set,i=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u=\"process\"==n(59)(a);e.exports=function(){var e,t,n,l=function(){var r,o;for(u&&(r=a.domain)&&r.exit();e;){o=e.fn,e=e.next;try{o()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()};if(u)n=function(){a.nextTick(l)};else if(!i||r.navigator&&r.navigator.standalone)if(s&&s.resolve){var c=s.resolve(void 0);n=function(){c.then(l)}}else n=function(){o.call(r,l)};else{var d=!0,f=document.createTextNode(\"\");new i(l).observe(f,{characterData:!0}),n=function(){f.data=d=!d}}return function(r){var o={fn:r,next:void 0};t&&(t.next=o),e||(e=o,n()),t=o}}},function(e,t,n){\"use strict\";function r(e){var t,n;this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError(\"Bad Promise constructor\");t=e,n=r}),this.resolve=o(t),this.reject=o(n)}var o=n(44);e.exports.f=function(e){return new r(e)}},[1741,22,18,61,55],[1743,195,106],[1745,72,70],function(e,t,n){var r=n(189),o=n(70);e.exports=function(e,t,n){if(r(t))throw TypeError(\"String#\"+n+\" doesn't accept regex!\");return String(o(e))}},function(e,t,n){\"use strict\";var r=n(72),o=n(70);e.exports=function(e){var t=String(o(this)),n=\"\",i=r(e);if(i<0||i==1/0)throw RangeError(\"Count can't be negative\");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(n+=t);return n}},function(e,t){e.exports=\"\\t\\n\\v\\f\\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\\u2028\\u2029\\ufeff\"},function(e,t,n){var r,o,i,a=n(61),s=n(384),u=n(265),l=n(262),c=n(19),d=c.process,f=c.setImmediate,p=c.clearImmediate,h=c.MessageChannel,m=c.Dispatch,g=0,_={},b=\"onreadystatechange\",y=function(){var e=+this;if(_.hasOwnProperty(e)){var t=_[e];delete _[e],t()}},v=function(e){y.call(e.data)};f&&p||(f=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++]);return _[++g]=function(){s(\"function\"==typeof e?e:Function(e),t)},r(g),g},p=function(e){delete _[e]},\"process\"==n(59)(d)?r=function(e){d.nextTick(a(y,e,1))}:m&&m.now?r=function(e){m.now(a(y,e,1))}:h?(o=new h,i=o.port2,o.port1.onmessage=v,r=a(i.postMessage,i,1)):c.addEventListener&&\"function\"==typeof postMessage&&!c.importScripts?(r=function(e){c.postMessage(e+\"\",\"*\")},c.addEventListener(\"message\",v,!1)):r=b in l(\"script\")?function(e){u.appendChild(l(\"script\"))[b]=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(a(y,e,1),0)}),e.exports={set:f,clear:p}},function(e,t,n){\"use strict\";function r(e,t,n){var r,o,i,a=new Array(n),s=8*n-t-1,u=(1<<s)-1,l=u>>1,c=23===t?W(2,-24)-W(2,-77):0,d=0,f=e<0||0===e&&1/e<0?1:0;for(e=R(e),e!=e||e===B?(o=e!=e?1:0,r=u):(r=Y(H(e)/q),e*(i=W(2,-r))<1&&(r--,i*=2),e+=r+l>=1?c/i:c*W(2,1-l),e*i>=2&&(r++,i/=2),r+l>=u?(o=0,r=u):r+l>=1?(o=(e*i-1)*W(2,t),r+=l):(o=e*W(2,l-1)*W(2,t),r=0));t>=8;a[d++]=255&o,o/=256,t-=8);for(r=r<<t|o,s+=t;s>0;a[d++]=255&r,r/=256,s-=8);return a[--d]|=128*f,a}function o(e,t,n){var r,o=8*n-t-1,i=(1<<o)-1,a=i>>1,s=o-7,u=n-1,l=e[u--],c=127&l;for(l>>=7;s>0;c=256*c+e[u],u--,s-=8);for(r=c&(1<<-s)-1,c>>=-s,s+=t;s>0;r=256*r+e[u],u--,s-=8);if(0===c)c=1-a;else{if(c===i)return r?NaN:l?-B:B;r+=W(2,t),c-=a}return(l?-1:1)*r*W(2,c-t)}function i(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function a(e){return[255&e]}function s(e){return[255&e,e>>8&255]}function u(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function l(e){return r(e,52,8)}function c(e){return r(e,23,4)}function d(e,t,n){L(e[k],t,{get:function(){return this[n]}})}function f(e,t,n,r){var o=+n,i=C(o);if(i+t>e[$])throw P(x);var a=e[G]._b,s=i+e[K],u=a.slice(s,s+t);return r?u:u.reverse()}function p(e,t,n,r,o,i){var a=+n,s=C(a);if(s+t>e[$])throw P(x);for(var u=e[G]._b,l=s+e[K],c=r(+o),d=0;d<t;d++)u[l+d]=c[i?d:t-d-1]}var h=n(19),m=n(30),g=n(87),_=n(197),b=n(48),y=n(103),v=n(21),M=n(97),A=n(72),w=n(32),C=n(402),E=n(100).f,L=n(31).f,T=n(259),O=n(128),S=\"ArrayBuffer\",N=\"DataView\",k=\"prototype\",D=\"Wrong length!\",x=\"Wrong index!\",I=h[S],z=h[N],j=h.Math,P=h.RangeError,B=h.Infinity,F=I,R=j.abs,W=j.pow,Y=j.floor,H=j.log,q=j.LN2,U=\"buffer\",X=\"byteLength\",V=\"byteOffset\",G=m?\"_b\":U,$=m?\"_l\":X,K=m?\"_o\":V;if(_.ABV){if(!v(function(){I(1)})||!v(function(){new I(-1)})||v(function(){return new I,new I(1.5),new I(NaN),I.name!=S})){I=function(e){return M(this,I),new F(C(e))};for(var Q,Z=I[k]=F[k],J=E(F),ee=0;J.length>ee;)(Q=J[ee++])in I||b(I,Q,F[Q]);g||(Z.constructor=I)}var te=new z(new I(2)),ne=z[k].setInt8;te.setInt8(0,2147483648),te.setInt8(1,2147483649),!te.getInt8(0)&&te.getInt8(1)||y(z[k],{setInt8:function(e,t){ne.call(this,e,t<<24>>24)},setUint8:function(e,t){ne.call(this,e,t<<24>>24)}},!0)}else I=function(e){M(this,I,S);var t=C(e);this._b=T.call(new Array(t),0),this[$]=t},z=function(e,t,n){M(this,z,N),M(e,I,N);var r=e[$],o=A(t);if(o<0||o>r)throw P(\"Wrong offset!\");if(n=void 0===n?r-o:w(n),o+n>r)throw P(D);this[G]=e,this[K]=o,this[$]=n},m&&(d(I,X,\"_l\"),d(z,U,\"_b\"),d(z,X,\"_l\"),d(z,V,\"_o\")),y(z[k],{getInt8:function(e){return f(this,1,e)[0]<<24>>24},getUint8:function(e){return f(this,1,e)[0]},getInt16:function(e){var t=f(this,2,e,arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=f(this,2,e,arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return i(f(this,4,e,arguments[1]))},getUint32:function(e){return i(f(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return o(f(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return o(f(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){p(this,1,e,a,t)},setUint8:function(e,t){p(this,1,e,a,t)},setInt16:function(e,t){p(this,2,e,s,t,arguments[2])},setUint16:function(e,t){p(this,2,e,s,t,arguments[2])},setInt32:function(e,t){p(this,4,e,u,t,arguments[2])},setUint32:function(e,t){p(this,4,e,u,t,arguments[2])},setFloat32:function(e,t){p(this,4,e,c,t,arguments[2])},setFloat64:function(e,t){p(this,8,e,l,t,arguments[2])}});O(I,S),O(z,N),b(z[k],_.VIEW,!0),t[S]=I,t[N]=z},[1751,19,60,87,403,31],[1754,156,26,127,60],[1756,86,387,127,57,269],function(e,t,n){function r(e){return null===e||void 0===e}function o(e){return!(!e||\"object\"!=typeof e||\"number\"!=typeof e.length)&&(\"function\"==typeof e.copy&&\"function\"==typeof e.slice&&!(e.length>0&&\"number\"!=typeof e[0]))}function i(e,t,n){var i,c;if(r(e)||r(t))return!1;if(e.prototype!==t.prototype)return!1;if(u(e))return!!u(t)&&(e=a.call(e),t=a.call(t),l(e,t,n));if(o(e)){if(!o(t))return!1;if(e.length!==t.length)return!1;for(i=0;i<e.length;i++)if(e[i]!==t[i])return!1;return!0}try{var d=s(e),f=s(t)}catch(e){return!1}if(d.length!=f.length)return!1;for(d.sort(),f.sort(),i=d.length-1;i>=0;i--)if(d[i]!=f[i])return!1;for(i=d.length-1;i>=0;i--)if(c=d[i],!l(e[c],t[c],n))return!1;return typeof e==typeof t}var a=Array.prototype.slice,s=n(1160),u=n(1159),l=e.exports=function(e,t,n){return n||(n={}),e===t||(e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():!e||!t||\"object\"!=typeof e&&\"object\"!=typeof t?n.strict?e===t:e==t:i(e,t,n))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,a.default)();try{return e.activeElement}catch(e){}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(80),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){if((!a&&0!==a||e)&&i.default){var t=document.createElement(\"div\");t.style.position=\"absolute\",t.style.top=\"-9999px\",t.style.width=\"50px\",t.style.height=\"50px\",t.style.overflow=\"scroll\",document.body.appendChild(t),a=t.offsetWidth-t.clientWidth,document.body.removeChild(t)}return a};var o=n(74),i=r(o),a=void 0;e.exports=t.default},function(e,t){e.exports={progress:\"FormIndex__progress__EJLRe\",\"progress-bar\":\"FormIndex__progress-bar__3ZQ3M\",\"progress-striped\":\"FormIndex__progress-striped__1KqDy\",\"progress-bar-striped\":\"FormIndex__progress-bar-striped__2IHDl\",active:\"FormIndex__active__3SeOk\",\"progress-bar-stripes\":\"FormIndex__progress-bar-stripes__1ZKSb\",\"progress-bar-success\":\"FormIndex__progress-bar-success__3_2Ja\",\"progress-bar-info\":\"FormIndex__progress-bar-info__13aVi\",\"progress-bar-warning\":\"FormIndex__progress-bar-warning__3GeCJ\",\"progress-bar-danger\":\"FormIndex__progress-bar-danger__3_6YK\",tooltip:\"FormIndex__tooltip__Sm7IB\",in:\"FormIndex__in__2iXNN\",top:\"FormIndex__top__1eDX4\",right:\"FormIndex__right__2OMWh\",bottom:\"FormIndex__bottom__kISz_\",left:\"FormIndex__left__3AOVV\",\"tooltip-arrow\":\"FormIndex__tooltip-arrow__2JN5r\",\"top-left\":\"FormIndex__top-left__sIK5h\",\"top-right\":\"FormIndex__top-right__3ahFM\",\"bottom-left\":\"FormIndex__bottom-left__2XdhZ\",\"bottom-right\":\"FormIndex__bottom-right__SOul2\",\"tooltip-inner\":\"FormIndex__tooltip-inner__2E0U4\",main:\"FormIndex__main__1LdX4\",title:\"FormIndex__title__14xnp\",formWarpper:\"FormIndex__formWarpper__OmqKT\",form:\"FormIndex__form__1oUVu\"}},function(e,t){\"use strict\";function n(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function r(e,t){if(n(e,t))return!0;if(\"object\"!=typeof e||null===e||\"object\"!=typeof t||null===t)return!1;var r=Object.keys(e),i=Object.keys(t);if(r.length!==i.length)return!1;for(var a=0;a<r.length;a++)if(!o.call(t,r[a])||!n(e[r[a]],t[r[a]]))return!1;return!0}var o=Object.prototype.hasOwnProperty;e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return u+e}function i(e,t){try{null==t?window.sessionStorage.removeItem(o(e)):window.sessionStorage.setItem(o(e),JSON.stringify(t))}catch(e){if(e.name===c)return;if(l.indexOf(e.name)>=0&&0===window.sessionStorage.length)return;throw e}}function a(e){var t=void 0;try{t=window.sessionStorage.getItem(o(e))}catch(e){if(e.name===c)return null}if(t)try{return JSON.parse(t)}catch(e){}return null}t.__esModule=!0,t.saveState=i,t.readState=a;var s=n(64),u=(r(s),\"@@History/\"),l=[\"QuotaExceededError\",\"QUOTA_EXCEEDED_ERR\"],c=\"SecurityError\"},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return\"string\"==typeof e&&\"/\"===e.charAt(0)}function i(){var e=_.getHashPath();return!!o(e)||(_.replaceHashPath(\"/\"+e),!1)}function a(e,t,n){return e+(e.indexOf(\"?\")===-1?\"?\":\"&\")+(t+\"=\"+n)}function s(e,t){return e.replace(new RegExp(\"[?&]?\"+t+\"=[a-zA-Z0-9]+\"),\"\")}function u(e,t){var n=e.match(new RegExp(\"\\\\?.*?\\\\b\"+t+\"=(.+?)\\\\b\"));return n&&n[1]}function l(){function e(){var e=_.getHashPath(),t=void 0,n=void 0;T?(t=u(e,T),e=s(e,T),t?n=b.readState(t):(n=null,t=O.createKey(),_.replaceHashPath(a(e,T,t)))):t=n=null;var r=m.parsePath(e);return O.createLocation(c({},r,{state:n}),void 0,t)}function t(t){function n(){i()&&r(e())}var r=t.transitionTo;return i(),_.addEventListener(window,\"hashchange\",n),function(){_.removeEventListener(window,\"hashchange\",n)}}function n(e){var t=e.basename,n=e.pathname,r=e.search,o=e.state,i=e.action,s=e.key;if(i!==h.POP){var u=(t||\"\")+n+r;T?(u=a(u,T,s),b.saveState(s,o)):e.key=e.state=null;var l=_.getHashPath();i===h.PUSH?l!==u&&(window.location.hash=u):l!==u&&_.replaceHashPath(u)}}function r(e){1===++S&&(N=t(O));var n=O.listenBefore(e);return function(){n(),0===--S&&N()}}function o(e){1===++S&&(N=t(O));var n=O.listen(e);return function(){n(),0===--S&&N()}}function l(e){O.push(e)}function d(e){O.replace(e)}function f(e){O.go(e)}function y(e){return\"#\"+O.createHref(e)}function A(e){1===++S&&(N=t(O)),O.registerTransitionHook(e)}function w(e){O.unregisterTransitionHook(e),0===--S&&N()}function C(e,t){O.pushState(e,t)}function E(e,t){O.replaceState(e,t)}var L=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];g.canUseDOM?void 0:p.default(!1);var T=L.queryKey;(void 0===T||T)&&(T=\"string\"==typeof T?T:M);var O=v.default(c({},L,{getCurrentLocation:e,finishTransition:n,saveState:b.saveState})),S=0,N=void 0;_.supportsGoWithoutReloadUsingHash();return c({},O,{listenBefore:r,listen:o,push:l,replace:d,go:f,createHref:y,registerTransitionHook:A,unregisterTransitionHook:w,pushState:C,replaceState:E})}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=n(64),f=(r(d),n(33)),p=r(f),h=n(90),m=n(107),g=n(163),_=n(201),b=n(290),y=n(423),v=r(y),M=\"_k\";t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=e(t,n);e.length<2&&n(r)}t.__esModule=!0;var i=n(64);r(i);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return function(){function t(){if(!M){if(null==v&&s.canUseDOM){var e=document.getElementsByTagName(\"base\")[0],t=e&&e.getAttribute(\"href\");null!=t&&(v=t)}M=!0}}function n(e){return t(),v&&null==e.basename&&(0===e.pathname.indexOf(v)?(e.pathname=e.pathname.substring(v.length),e.basename=v,\"\"===e.pathname&&(e.pathname=\"/\")):e.basename=\"\"),e}function r(e){if(t(),!v)return e;\"string\"==typeof e&&(e=u.parsePath(e));var n=e.pathname,r=\"/\"===v.slice(-1)?v:v+\"/\",o=\"/\"===n.charAt(0)?n.slice(1):n,a=r+o;return i({},e,{pathname:a})}function o(e){return y.listenBefore(function(t,r){c.default(e,n(t),r)})}function a(e){return y.listen(function(t){e(n(t))})}function l(e){y.push(r(e))}function d(e){y.replace(r(e))}function p(e){return y.createPath(r(e))}function h(e){return y.createHref(r(e))}function m(e){for(var t=arguments.length,o=Array(t>1?t-1:0),i=1;i<t;i++)o[i-1]=arguments[i];return n(y.createLocation.apply(y,[r(e)].concat(o)))}function g(e,t){\"string\"==typeof t&&(t=u.parsePath(t)),l(i({state:e},t))}function _(e,t){\"string\"==typeof t&&(t=u.parsePath(t)),d(i({state:e},t))}var b=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],y=e(b),v=b.basename,M=!1;return i({},y,{listenBefore:o,listen:a,push:l,replace:d,createPath:p,createHref:h,createLocation:m,pushState:f.default(g,\"pushState is deprecated; use push instead\"),replaceState:f.default(_,\"replaceState is deprecated; use replace instead\")})}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(64),s=(r(a),n(163)),u=n(107),l=n(292),c=r(l),d=n(108),f=r(d);t.default=o,e.exports=t.default},function(e,t){function n(e){return!!e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"function\"==typeof e.then}e.exports=n},function(e,t){function n(e){if(e&&\"object\"==typeof e){var t=e.which||e.keyCode||e.charCode;t&&(e=t)}if(\"number\"==typeof e)return a[e];var n=String(e),i=r[n.toLowerCase()];if(i)return i;var i=o[n.toLowerCase()];return i?i:1===n.length?n.charCodeAt(0):void 0}n.isEventKey=function(e,t){if(e&&\"object\"==typeof e){var n=e.which||e.keyCode||e.charCode;if(null===n||void 0===n)return!1;if(\"string\"==typeof t){var i=r[t.toLowerCase()];if(i)return i===n;var i=o[t.toLowerCase()];if(i)return i===n}else if(\"number\"==typeof t)return t===n;return!1}},t=e.exports=n;var r=t.code=t.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,\"pause/break\":19,\"caps lock\":20,esc:27,space:32,\"page up\":33,\"page down\":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,\"left command\":91,\"right command\":93,\"numpad *\":106,\"numpad +\":107,\"numpad -\":109,\"numpad .\":110,\"numpad /\":111,\"num lock\":144,\"scroll lock\":145,\"my computer\":182,\"my calculator\":183,\";\":186,\"=\":187,\",\":188,\"-\":189,\".\":190,\"/\":191,\"`\":192,\"[\":219,\"\\\\\":220,\"]\":221,\"'\":222},o=t.aliases={windows:91,\"⇧\":16,\"⌥\":18,\"⌃\":17,\"⌘\":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(i=97;i<123;i++)r[String.fromCharCode(i)]=i-32;for(var i=48;i<58;i++)r[i-48]=i;for(i=1;i<13;i++)r[\"f\"+i]=i+111;for(i=0;i<10;i++)r[\"numpad \"+i]=i+96;var a=t.names=t.title={};for(i in r)a[r[i]]=i;for(var s in o)r[s]=o[s]},function(e,t,n){function r(e,t){var n=i(e,t);return o(n)?n:void 0}var o=n(1319),i=n(1330);e.exports=r},function(e,t,n){var r=n(1327),o=\"object\"==typeof self&&self&&self.Object===Object&&self,i=r||o||Function(\"return this\")();e.exports=i},function(e,t,n){function r(e){if(\"string\"==typeof e||o(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-i?\"-0\":t}var o=n(300),i=1/0;e.exports=r},function(e,t){function n(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}e.exports=n},function(e,t,n){function r(e){return\"symbol\"==typeof e||i(e)&&o(e)==a}var o=n(206),i=n(210),a=\"[object Symbol]\";e.exports=r},function(e,t,n){var r;(function(e,o){(function(){function i(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function a(e,t,n,r){for(var o=-1,i=null==e?0:e.length;++o<i;){var a=e[o];t(r,a,n(a),e)}return r}function s(e,t){for(var n=-1,r=null==e?0:e.length;++n<r&&t(e[n],n,e)!==!1;);return e}function u(e,t){for(var n=null==e?0:e.length;n--&&t(e[n],n,e)!==!1;);return e}function l(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(!t(e[n],n,e))return!1;return!0}function c(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}function d(e,t){var n=null==e?0:e.length;return!!n&&A(e,t,0)>-1}function f(e,t,n){for(var r=-1,o=null==e?0:e.length;++r<o;)if(n(t,e[r]))return!0;return!1}function p(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}function h(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}function m(e,t,n,r){var o=-1,i=null==e?0:e.length;for(r&&i&&(n=e[++o]);++o<i;)n=t(n,e[o],o,e);return n}function g(e,t,n,r){var o=null==e?0:e.length;for(r&&o&&(n=e[--o]);o--;)n=t(n,e[o],o,e);return n}function _(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function b(e){return e.split(\"\")}function y(e){return e.match(Rt)||[]}function v(e,t,n){var r;return n(e,function(e,n,o){if(t(e,n,o))return r=n,!1}),r}function M(e,t,n,r){for(var o=e.length,i=n+(r?1:-1);r?i--:++i<o;)if(t(e[i],i,e))return i;return-1}function A(e,t,n){return t===t?$(e,t,n):M(e,C,n)}function w(e,t,n,r){for(var o=n-1,i=e.length;++o<i;)if(r(e[o],t))return o;return-1}function C(e){return e!==e}function E(e,t){var n=null==e?0:e.length;return n?N(e,t)/n:ze}function L(e){return function(t){return null==t?ne:t[e]}}function T(e){return function(t){return null==e?ne:e[t]}}function O(e,t,n,r,o){return o(e,function(e,o,i){n=r?(r=!1,e):t(n,e,o,i)}),n}function S(e,t){var n=e.length;for(e.sort(t);n--;)e[n]=e[n].value;return e}function N(e,t){for(var n,r=-1,o=e.length;++r<o;){var i=t(e[r]);i!==ne&&(n=n===ne?i:n+i)}return n}function k(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function D(e,t){return p(t,function(t){return[t,e[t]]})}function x(e){return function(t){return e(t)}}function I(e,t){return p(t,function(t){return e[t]})}function z(e,t){return e.has(t)}function j(e,t){for(var n=-1,r=e.length;++n<r&&A(t,e[n],0)>-1;);return n}function P(e,t){for(var n=e.length;n--&&A(t,e[n],0)>-1;);return n}function B(e,t){for(var n=e.length,r=0;n--;)e[n]===t&&++r;return r}function F(e){return\"\\\\\"+Jn[e]}function R(e,t){return null==e?ne:e[t]}function W(e){return qn.test(e)}function Y(e){return Un.test(e)}function H(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}function q(e){var t=-1,n=Array(e.size);return e.forEach(function(e,r){n[++t]=[r,e]}),n}function U(e,t){return function(n){return e(t(n))}}function X(e,t){for(var n=-1,r=e.length,o=0,i=[];++n<r;){var a=e[n];a!==t&&a!==le||(e[n]=le,i[o++]=n)}return i}function V(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function G(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=[e,e]}),n}function $(e,t,n){for(var r=n-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}function K(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}function Q(e){return W(e)?J(e):gr(e)}function Z(e){return W(e)?ee(e):b(e)}function J(e){for(var t=Yn.lastIndex=0;Yn.test(e);)++t;return t}function ee(e){return e.match(Yn)||[]}function te(e){return e.match(Hn)||[]}var ne,re=\"4.17.14\",oe=200,ie=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",ae=\"Expected a function\",se=\"__lodash_hash_undefined__\",ue=500,le=\"__lodash_placeholder__\",ce=1,de=2,fe=4,pe=1,he=2,me=1,ge=2,_e=4,be=8,ye=16,ve=32,Me=64,Ae=128,we=256,Ce=512,Ee=30,Le=\"...\",Te=800,Oe=16,Se=1,Ne=2,ke=3,De=1/0,xe=9007199254740991,Ie=1.7976931348623157e308,ze=NaN,je=4294967295,Pe=je-1,Be=je>>>1,Fe=[[\"ary\",Ae],[\"bind\",me],[\"bindKey\",ge],[\"curry\",be],[\"curryRight\",ye],[\"flip\",Ce],[\"partial\",ve],[\"partialRight\",Me],[\"rearg\",we]],Re=\"[object Arguments]\",We=\"[object Array]\",Ye=\"[object AsyncFunction]\",He=\"[object Boolean]\",qe=\"[object Date]\",Ue=\"[object DOMException]\",Xe=\"[object Error]\",Ve=\"[object Function]\",Ge=\"[object GeneratorFunction]\",$e=\"[object Map]\",Ke=\"[object Number]\",Qe=\"[object Null]\",Ze=\"[object Object]\",Je=\"[object Promise]\",et=\"[object Proxy]\",tt=\"[object RegExp]\",nt=\"[object Set]\",rt=\"[object String]\",ot=\"[object Symbol]\",it=\"[object Undefined]\",at=\"[object WeakMap]\",st=\"[object WeakSet]\",ut=\"[object ArrayBuffer]\",lt=\"[object DataView]\",ct=\"[object Float32Array]\",dt=\"[object Float64Array]\",ft=\"[object Int8Array]\",pt=\"[object Int16Array]\",ht=\"[object Int32Array]\",mt=\"[object Uint8Array]\",gt=\"[object Uint8ClampedArray]\",_t=\"[object Uint16Array]\",bt=\"[object Uint32Array]\",yt=/\\b__p \\+= '';/g,vt=/\\b(__p \\+=) '' \\+/g,Mt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,At=/&(?:amp|lt|gt|quot|#39);/g,wt=/[&<>\"']/g,Ct=RegExp(At.source),Et=RegExp(wt.source),Lt=/<%-([\\s\\S]+?)%>/g,Tt=/<%([\\s\\S]+?)%>/g,Ot=/<%=([\\s\\S]+?)%>/g,St=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,Nt=/^\\w*$/,kt=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Dt=/[\\\\^$.*+?()[\\]{}|]/g,xt=RegExp(Dt.source),It=/^\\s+|\\s+$/g,zt=/^\\s+/,jt=/\\s+$/,Pt=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Ft=/,? & /,Rt=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Wt=/\\\\(\\\\)?/g,Yt=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Ht=/\\w*$/,qt=/^[-+]0x[0-9a-f]+$/i,Ut=/^0b[01]+$/i,Xt=/^\\[object .+?Constructor\\]$/,Vt=/^0o[0-7]+$/i,Gt=/^(?:0|[1-9]\\d*)$/,$t=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Kt=/($^)/,Qt=/['\\n\\r\\u2028\\u2029\\\\]/g,Zt=\"\\\\ud800-\\\\udfff\",Jt=\"\\\\u0300-\\\\u036f\",en=\"\\\\ufe20-\\\\ufe2f\",tn=\"\\\\u20d0-\\\\u20ff\",nn=Jt+en+tn,rn=\"\\\\u2700-\\\\u27bf\",on=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",an=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",sn=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",un=\"\\\\u2000-\\\\u206f\",ln=\" \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",cn=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",dn=\"\\\\ufe0e\\\\ufe0f\",fn=an+sn+un+ln,pn=\"['’]\",hn=\"[\"+Zt+\"]\",mn=\"[\"+fn+\"]\",gn=\"[\"+nn+\"]\",_n=\"\\\\d+\",bn=\"[\"+rn+\"]\",yn=\"[\"+on+\"]\",vn=\"[^\"+Zt+fn+_n+rn+on+cn+\"]\",Mn=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",An=\"(?:\"+gn+\"|\"+Mn+\")\",wn=\"[^\"+Zt+\"]\",Cn=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",En=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ln=\"[\"+cn+\"]\",Tn=\"\\\\u200d\",On=\"(?:\"+yn+\"|\"+vn+\")\",Sn=\"(?:\"+Ln+\"|\"+vn+\")\",Nn=\"(?:\"+pn+\"(?:d|ll|m|re|s|t|ve))?\",kn=\"(?:\"+pn+\"(?:D|LL|M|RE|S|T|VE))?\",Dn=An+\"?\",xn=\"[\"+dn+\"]?\",In=\"(?:\"+Tn+\"(?:\"+[wn,Cn,En].join(\"|\")+\")\"+xn+Dn+\")*\",zn=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",jn=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",Pn=xn+Dn+In,Bn=\"(?:\"+[bn,Cn,En].join(\"|\")+\")\"+Pn,Fn=\"(?:\"+[wn+gn+\"?\",gn,Cn,En,hn].join(\"|\")+\")\",Rn=RegExp(pn,\"g\"),Wn=RegExp(gn,\"g\"),Yn=RegExp(Mn+\"(?=\"+Mn+\")|\"+Fn+Pn,\"g\"),Hn=RegExp([Ln+\"?\"+yn+\"+\"+Nn+\"(?=\"+[mn,Ln,\"$\"].join(\"|\")+\")\",Sn+\"+\"+kn+\"(?=\"+[mn,Ln+On,\"$\"].join(\"|\")+\")\",Ln+\"?\"+On+\"+\"+Nn,Ln+\"+\"+kn,jn,zn,_n,Bn].join(\"|\"),\"g\"),qn=RegExp(\"[\"+Tn+Zt+nn+dn+\"]\"),Un=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xn=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],Vn=-1,Gn={};Gn[ct]=Gn[dt]=Gn[ft]=Gn[pt]=Gn[ht]=Gn[mt]=Gn[gt]=Gn[_t]=Gn[bt]=!0,Gn[Re]=Gn[We]=Gn[ut]=Gn[He]=Gn[lt]=Gn[qe]=Gn[Xe]=Gn[Ve]=Gn[$e]=Gn[Ke]=Gn[Ze]=Gn[tt]=Gn[nt]=Gn[rt]=Gn[at]=!1;var $n={};$n[Re]=$n[We]=$n[ut]=$n[lt]=$n[He]=$n[qe]=$n[ct]=$n[dt]=$n[ft]=$n[pt]=$n[ht]=$n[$e]=$n[Ke]=$n[Ze]=$n[tt]=$n[nt]=$n[rt]=$n[ot]=$n[mt]=$n[gt]=$n[_t]=$n[bt]=!0,$n[Xe]=$n[Ve]=$n[at]=!1;var Kn={\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"IJ\":\"IJ\",\"ij\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ʼn\":\"'n\",\"ſ\":\"s\"},Qn={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"},Zn={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"},Jn={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},er=parseFloat,tr=parseInt,nr=\"object\"==typeof e&&e&&e.Object===Object&&e,rr=\"object\"==typeof self&&self&&self.Object===Object&&self,or=nr||rr||Function(\"return this\")(),ir=\"object\"==typeof t&&t&&!t.nodeType&&t,ar=ir&&\"object\"==typeof o&&o&&!o.nodeType&&o,sr=ar&&ar.exports===ir,ur=sr&&nr.process,lr=function(){try{var e=ar&&ar.require&&ar.require(\"util\").types;return e?e:ur&&ur.binding&&ur.binding(\"util\")}catch(e){}}(),cr=lr&&lr.isArrayBuffer,dr=lr&&lr.isDate,fr=lr&&lr.isMap,pr=lr&&lr.isRegExp,hr=lr&&lr.isSet,mr=lr&&lr.isTypedArray,gr=L(\"length\"),_r=T(Kn),br=T(Qn),yr=T(Zn),vr=function e(t){function n(e){if(iu(e)&&!_f(e)&&!(e instanceof b)){if(e instanceof o)return e;if(gc.call(e,\"__wrapped__\"))return na(e)}return new o(e)}function r(){}function o(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=ne}function b(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=je,this.__views__=[]}function T(){var e=new b(this.__wrapped__);return e.__actions__=jo(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=jo(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=jo(this.__views__),e}function $(){if(this.__filtered__){var e=new b(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function J(){var e=this.__wrapped__.value(),t=this.__dir__,n=_f(e),r=t<0,o=n?e.length:0,i=Ei(0,o,this.__views__),a=i.start,s=i.end,u=s-a,l=r?s:a-1,c=this.__iteratees__,d=c.length,f=0,p=Xc(u,this.__takeCount__);if(!n||!r&&o==u&&p==u)return yo(e,this.__actions__);var h=[];e:for(;u--&&f<p;){l+=t;for(var m=-1,g=e[l];++m<d;){var _=c[m],b=_.iteratee,y=_.type,v=b(g);if(y==Ne)g=v;else if(!v){if(y==Se)continue e;break e}}h[f++]=g}return h}function ee(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Rt(){this.__data__=nd?nd(null):{},this.size=0}function Zt(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function Jt(e){var t=this.__data__;if(nd){var n=t[e];return n===se?ne:n}return gc.call(t,e)?t[e]:ne}function en(e){var t=this.__data__;return nd?t[e]!==ne:gc.call(t,e)}function tn(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=nd&&t===ne?se:t,this}function nn(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function rn(){this.__data__=[],this.size=0}function on(e){var t=this.__data__,n=Nn(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Nc.call(t,n,1),--this.size,!0}function an(e){var t=this.__data__,n=Nn(t,e);return n<0?ne:t[n][1]}function sn(e){return Nn(this.__data__,e)>-1}function un(e,t){var n=this.__data__,r=Nn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function ln(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function cn(){this.size=0,this.__data__={hash:new ee,map:new(Zc||nn),string:new ee}}function dn(e){var t=Mi(this,e).delete(e);return this.size-=t?1:0,t}function fn(e){return Mi(this,e).get(e)}function pn(e){return Mi(this,e).has(e)}function hn(e,t){var n=Mi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function mn(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ln;++t<n;)this.add(e[t])}function gn(e){return this.__data__.set(e,se),this}function _n(e){return this.__data__.has(e)}function bn(e){var t=this.__data__=new nn(e);this.size=t.size}function yn(){this.__data__=new nn,this.size=0}function vn(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Mn(e){return this.__data__.get(e)}function An(e){return this.__data__.has(e)}function wn(e,t){var n=this.__data__;if(n instanceof nn){var r=n.__data__;if(!Zc||r.length<oe-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new ln(r)}return n.set(e,t),this.size=n.size,this}function Cn(e,t){var n=_f(e),r=!n&&gf(e),o=!n&&!r&&yf(e),i=!n&&!r&&!o&&Cf(e),a=n||r||o||i,s=a?k(e.length,lc):[],u=s.length;for(var l in e)!t&&!gc.call(e,l)||a&&(\"length\"==l||o&&(\"offset\"==l||\"parent\"==l)||i&&(\"buffer\"==l||\"byteLength\"==l||\"byteOffset\"==l)||xi(l,u))||s.push(l);return s}function En(e){var t=e.length;return t?e[Jr(0,t-1)]:ne}function Ln(e,t){return Zi(jo(e),jn(t,0,e.length))}function Tn(e){return Zi(jo(e))}function On(e,t,n){(n===ne||Us(e[t],n))&&(n!==ne||t in e)||In(e,t,n)}function Sn(e,t,n){var r=e[t];gc.call(e,t)&&Us(r,n)&&(n!==ne||t in e)||In(e,t,n)}function Nn(e,t){for(var n=e.length;n--;)if(Us(e[n][0],t))return n;return-1}function kn(e,t,n,r){return hd(e,function(e,o,i){t(r,e,n(e),i)}),r}function Dn(e,t){return e&&Po(t,Ru(t),e)}function xn(e,t){return e&&Po(t,Wu(t),e)}function In(e,t,n){\"__proto__\"==t&&Ic?Ic(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function zn(e,t){for(var n=-1,r=t.length,o=nc(r),i=null==e;++n<r;)o[n]=i?ne:Pu(e,t[n]);return o}function jn(e,t,n){return e===e&&(n!==ne&&(e=e<=n?e:n),t!==ne&&(e=e>=t?e:t)),e}function Pn(e,t,n,r,o,i){var a,u=t&ce,l=t&de,c=t&fe;if(n&&(a=o?n(e,r,o,i):n(e)),a!==ne)return a;if(!ou(e))return e;var d=_f(e);if(d){if(a=Oi(e),!u)return jo(e,a)}else{var f=Ld(e),p=f==Ve||f==Ge;if(yf(e))return Lo(e,u);if(f==Ze||f==Re||p&&!o){if(a=l||p?{}:Si(e),!u)return l?Fo(e,xn(a,e)):Bo(e,Dn(a,e))}else{if(!$n[f])return o?e:{};a=Ni(e,f,u);\n}}i||(i=new bn);var h=i.get(e);if(h)return h;i.set(e,a),wf(e)?e.forEach(function(r){a.add(Pn(r,t,n,r,e,i))}):Mf(e)&&e.forEach(function(r,o){a.set(o,Pn(r,t,n,o,e,i))});var m=c?l?_i:gi:l?Wu:Ru,g=d?ne:m(e);return s(g||e,function(r,o){g&&(o=r,r=e[o]),Sn(a,o,Pn(r,t,n,o,e,i))}),a}function Bn(e){var t=Ru(e);return function(n){return Fn(n,e,t)}}function Fn(e,t,n){var r=n.length;if(null==e)return!r;for(e=sc(e);r--;){var o=n[r],i=t[o],a=e[o];if(a===ne&&!(o in e)||!i(a))return!1}return!0}function Yn(e,t,n){if(\"function\"!=typeof e)throw new cc(ae);return Sd(function(){e.apply(ne,n)},t)}function Hn(e,t,n,r){var o=-1,i=d,a=!0,s=e.length,u=[],l=t.length;if(!s)return u;n&&(t=p(t,x(n))),r?(i=f,a=!1):t.length>=oe&&(i=z,a=!1,t=new mn(t));e:for(;++o<s;){var c=e[o],h=null==n?c:n(c);if(c=r||0!==c?c:0,a&&h===h){for(var m=l;m--;)if(t[m]===h)continue e;u.push(c)}else i(t,h,r)||u.push(c)}return u}function qn(e,t){var n=!0;return hd(e,function(e,r,o){return n=!!t(e,r,o)}),n}function Un(e,t,n){for(var r=-1,o=e.length;++r<o;){var i=e[r],a=t(i);if(null!=a&&(s===ne?a===a&&!gu(a):n(a,s)))var s=a,u=i}return u}function Kn(e,t,n,r){var o=e.length;for(n=Au(n),n<0&&(n=-n>o?0:o+n),r=r===ne||r>o?o:Au(r),r<0&&(r+=o),r=n>r?0:wu(r);n<r;)e[n++]=t;return e}function Qn(e,t){var n=[];return hd(e,function(e,r,o){t(e,r,o)&&n.push(e)}),n}function Zn(e,t,n,r,o){var i=-1,a=e.length;for(n||(n=Di),o||(o=[]);++i<a;){var s=e[i];t>0&&n(s)?t>1?Zn(s,t-1,n,r,o):h(o,s):r||(o[o.length]=s)}return o}function Jn(e,t){return e&&gd(e,t,Ru)}function nr(e,t){return e&&_d(e,t,Ru)}function rr(e,t){return c(t,function(t){return tu(e[t])})}function ir(e,t){t=Co(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[Ji(t[n++])];return n&&n==r?e:ne}function ar(e,t,n){var r=t(e);return _f(e)?r:h(r,n(e))}function ur(e){return null==e?e===ne?it:Qe:xc&&xc in sc(e)?Ci(e):Ui(e)}function lr(e,t){return e>t}function gr(e,t){return null!=e&&gc.call(e,t)}function vr(e,t){return null!=e&&t in sc(e)}function Ar(e,t,n){return e>=Xc(t,n)&&e<Uc(t,n)}function wr(e,t,n){for(var r=n?f:d,o=e[0].length,i=e.length,a=i,s=nc(i),u=1/0,l=[];a--;){var c=e[a];a&&t&&(c=p(c,x(t))),u=Xc(c.length,u),s[a]=!n&&(t||o>=120&&c.length>=120)?new mn(a&&c):ne}c=e[0];var h=-1,m=s[0];e:for(;++h<o&&l.length<u;){var g=c[h],_=t?t(g):g;if(g=n||0!==g?g:0,!(m?z(m,_):r(l,_,n))){for(a=i;--a;){var b=s[a];if(!(b?z(b,_):r(e[a],_,n)))continue e}m&&m.push(_),l.push(g)}}return l}function Cr(e,t,n,r){return Jn(e,function(e,o,i){t(r,n(e),o,i)}),r}function Er(e,t,n){t=Co(t,e),e=Vi(e,t);var r=null==e?e:e[Ji(Ma(t))];return null==r?ne:i(r,e,n)}function Lr(e){return iu(e)&&ur(e)==Re}function Tr(e){return iu(e)&&ur(e)==ut}function Or(e){return iu(e)&&ur(e)==qe}function Sr(e,t,n,r,o){return e===t||(null==e||null==t||!iu(e)&&!iu(t)?e!==e&&t!==t:Nr(e,t,n,r,Sr,o))}function Nr(e,t,n,r,o,i){var a=_f(e),s=_f(t),u=a?We:Ld(e),l=s?We:Ld(t);u=u==Re?Ze:u,l=l==Re?Ze:l;var c=u==Ze,d=l==Ze,f=u==l;if(f&&yf(e)){if(!yf(t))return!1;a=!0,c=!1}if(f&&!c)return i||(i=new bn),a||Cf(e)?fi(e,t,n,r,o,i):pi(e,t,u,n,r,o,i);if(!(n&pe)){var p=c&&gc.call(e,\"__wrapped__\"),h=d&&gc.call(t,\"__wrapped__\");if(p||h){var m=p?e.value():e,g=h?t.value():t;return i||(i=new bn),o(m,g,n,r,i)}}return!!f&&(i||(i=new bn),hi(e,t,n,r,o,i))}function kr(e){return iu(e)&&Ld(e)==$e}function Dr(e,t,n,r){var o=n.length,i=o,a=!r;if(null==e)return!i;for(e=sc(e);o--;){var s=n[o];if(a&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<i;){s=n[o];var u=s[0],l=e[u],c=s[1];if(a&&s[2]){if(l===ne&&!(u in e))return!1}else{var d=new bn;if(r)var f=r(l,c,u,e,t,d);if(!(f===ne?Sr(c,l,pe|he,r,d):f))return!1}}return!0}function xr(e){if(!ou(e)||Bi(e))return!1;var t=tu(e)?Ac:Xt;return t.test(ea(e))}function Ir(e){return iu(e)&&ur(e)==tt}function zr(e){return iu(e)&&Ld(e)==nt}function jr(e){return iu(e)&&ru(e.length)&&!!Gn[ur(e)]}function Pr(e){return\"function\"==typeof e?e:null==e?Nl:\"object\"==typeof e?_f(e)?Hr(e[0],e[1]):Yr(e):Bl(e)}function Br(e){if(!Fi(e))return qc(e);var t=[];for(var n in sc(e))gc.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function Fr(e){if(!ou(e))return qi(e);var t=Fi(e),n=[];for(var r in e)(\"constructor\"!=r||!t&&gc.call(e,r))&&n.push(r);return n}function Rr(e,t){return e<t}function Wr(e,t){var n=-1,r=Xs(e)?nc(e.length):[];return hd(e,function(e,o,i){r[++n]=t(e,o,i)}),r}function Yr(e){var t=Ai(e);return 1==t.length&&t[0][2]?Wi(t[0][0],t[0][1]):function(n){return n===e||Dr(n,e,t)}}function Hr(e,t){return zi(e)&&Ri(t)?Wi(Ji(e),t):function(n){var r=Pu(n,e);return r===ne&&r===t?Fu(n,e):Sr(t,r,pe|he)}}function qr(e,t,n,r,o){e!==t&&gd(t,function(i,a){if(o||(o=new bn),ou(i))Ur(e,t,a,n,qr,r,o);else{var s=r?r($i(e,a),i,a+\"\",e,t,o):ne;s===ne&&(s=i),On(e,a,s)}},Wu)}function Ur(e,t,n,r,o,i,a){var s=$i(e,n),u=$i(t,n),l=a.get(u);if(l)return void On(e,n,l);var c=i?i(s,u,n+\"\",e,t,a):ne,d=c===ne;if(d){var f=_f(u),p=!f&&yf(u),h=!f&&!p&&Cf(u);c=u,f||p||h?_f(s)?c=s:Vs(s)?c=jo(s):p?(d=!1,c=Lo(u,!0)):h?(d=!1,c=ko(u,!0)):c=[]:pu(u)||gf(u)?(c=s,gf(s)?c=Eu(s):ou(s)&&!tu(s)||(c=Si(u))):d=!1}d&&(a.set(u,c),o(c,u,r,i,a),a.delete(u)),On(e,n,c)}function Xr(e,t){var n=e.length;if(n)return t+=t<0?n:0,xi(t,n)?e[t]:ne}function Vr(e,t,n){var r=-1;t=p(t.length?t:[Nl],x(vi()));var o=Wr(e,function(e,n,o){var i=p(t,function(t){return t(e)});return{criteria:i,index:++r,value:e}});return S(o,function(e,t){return xo(e,t,n)})}function Gr(e,t){return $r(e,t,function(t,n){return Fu(e,n)})}function $r(e,t,n){for(var r=-1,o=t.length,i={};++r<o;){var a=t[r],s=ir(e,a);n(s,a)&&io(i,Co(a,e),s)}return i}function Kr(e){return function(t){return ir(t,e)}}function Qr(e,t,n,r){var o=r?w:A,i=-1,a=t.length,s=e;for(e===t&&(t=jo(t)),n&&(s=p(e,x(n)));++i<a;)for(var u=0,l=t[i],c=n?n(l):l;(u=o(s,c,u,r))>-1;)s!==e&&Nc.call(s,u,1),Nc.call(e,u,1);return e}function Zr(e,t){for(var n=e?t.length:0,r=n-1;n--;){var o=t[n];if(n==r||o!==i){var i=o;xi(o)?Nc.call(e,o,1):go(e,o)}}return e}function Jr(e,t){return e+Fc($c()*(t-e+1))}function eo(e,t,n,r){for(var o=-1,i=Uc(Bc((t-e)/(n||1)),0),a=nc(i);i--;)a[r?i:++o]=e,e+=n;return a}function to(e,t){var n=\"\";if(!e||t<1||t>xe)return n;do t%2&&(n+=e),t=Fc(t/2),t&&(e+=e);while(t);return n}function no(e,t){return Nd(Xi(e,t,Nl),e+\"\")}function ro(e){return En(Ju(e))}function oo(e,t){var n=Ju(e);return Zi(n,jn(t,0,n.length))}function io(e,t,n,r){if(!ou(e))return e;t=Co(t,e);for(var o=-1,i=t.length,a=i-1,s=e;null!=s&&++o<i;){var u=Ji(t[o]),l=n;if(o!=a){var c=s[u];l=r?r(c,u,s):ne,l===ne&&(l=ou(c)?c:xi(t[o+1])?[]:{})}Sn(s,u,l),s=s[u]}return e}function ao(e){return Zi(Ju(e))}function so(e,t,n){var r=-1,o=e.length;t<0&&(t=-t>o?0:o+t),n=n>o?o:n,n<0&&(n+=o),o=t>n?0:n-t>>>0,t>>>=0;for(var i=nc(o);++r<o;)i[r]=e[r+t];return i}function uo(e,t){var n;return hd(e,function(e,r,o){return n=t(e,r,o),!n}),!!n}function lo(e,t,n){var r=0,o=null==e?r:e.length;if(\"number\"==typeof t&&t===t&&o<=Be){for(;r<o;){var i=r+o>>>1,a=e[i];null!==a&&!gu(a)&&(n?a<=t:a<t)?r=i+1:o=i}return o}return co(e,t,Nl,n)}function co(e,t,n,r){t=n(t);for(var o=0,i=null==e?0:e.length,a=t!==t,s=null===t,u=gu(t),l=t===ne;o<i;){var c=Fc((o+i)/2),d=n(e[c]),f=d!==ne,p=null===d,h=d===d,m=gu(d);if(a)var g=r||h;else g=l?h&&(r||f):s?h&&f&&(r||!p):u?h&&f&&!p&&(r||!m):!p&&!m&&(r?d<=t:d<t);g?o=c+1:i=c}return Xc(i,Pe)}function fo(e,t){for(var n=-1,r=e.length,o=0,i=[];++n<r;){var a=e[n],s=t?t(a):a;if(!n||!Us(s,u)){var u=s;i[o++]=0===a?0:a}}return i}function po(e){return\"number\"==typeof e?e:gu(e)?ze:+e}function ho(e){if(\"string\"==typeof e)return e;if(_f(e))return p(e,ho)+\"\";if(gu(e))return fd?fd.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-De?\"-0\":t}function mo(e,t,n){var r=-1,o=d,i=e.length,a=!0,s=[],u=s;if(n)a=!1,o=f;else if(i>=oe){var l=t?null:Ad(e);if(l)return V(l);a=!1,o=z,u=new mn}else u=t?[]:s;e:for(;++r<i;){var c=e[r],p=t?t(c):c;if(c=n||0!==c?c:0,a&&p===p){for(var h=u.length;h--;)if(u[h]===p)continue e;t&&u.push(p),s.push(c)}else o(u,p,n)||(u!==s&&u.push(p),s.push(c))}return s}function go(e,t){return t=Co(t,e),e=Vi(e,t),null==e||delete e[Ji(Ma(t))]}function _o(e,t,n,r){return io(e,t,n(ir(e,t)),r)}function bo(e,t,n,r){for(var o=e.length,i=r?o:-1;(r?i--:++i<o)&&t(e[i],i,e););return n?so(e,r?0:i,r?i+1:o):so(e,r?i+1:0,r?o:i)}function yo(e,t){var n=e;return n instanceof b&&(n=n.value()),m(t,function(e,t){return t.func.apply(t.thisArg,h([e],t.args))},n)}function vo(e,t,n){var r=e.length;if(r<2)return r?mo(e[0]):[];for(var o=-1,i=nc(r);++o<r;)for(var a=e[o],s=-1;++s<r;)s!=o&&(i[o]=Hn(i[o]||a,e[s],t,n));return mo(Zn(i,1),t,n)}function Mo(e,t,n){for(var r=-1,o=e.length,i=t.length,a={};++r<o;){var s=r<i?t[r]:ne;n(a,e[r],s)}return a}function Ao(e){return Vs(e)?e:[]}function wo(e){return\"function\"==typeof e?e:Nl}function Co(e,t){return _f(e)?e:zi(e,t)?[e]:kd(Tu(e))}function Eo(e,t,n){var r=e.length;return n=n===ne?r:n,!t&&n>=r?e:so(e,t,n)}function Lo(e,t){if(t)return e.slice();var n=e.length,r=Lc?Lc(n):new e.constructor(n);return e.copy(r),r}function To(e){var t=new e.constructor(e.byteLength);return new Ec(t).set(new Ec(e)),t}function Oo(e,t){var n=t?To(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function So(e){var t=new e.constructor(e.source,Ht.exec(e));return t.lastIndex=e.lastIndex,t}function No(e){return dd?sc(dd.call(e)):{}}function ko(e,t){var n=t?To(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Do(e,t){if(e!==t){var n=e!==ne,r=null===e,o=e===e,i=gu(e),a=t!==ne,s=null===t,u=t===t,l=gu(t);if(!s&&!l&&!i&&e>t||i&&a&&u&&!s&&!l||r&&a&&u||!n&&u||!o)return 1;if(!r&&!i&&!l&&e<t||l&&n&&o&&!r&&!i||s&&n&&o||!a&&o||!u)return-1}return 0}function xo(e,t,n){for(var r=-1,o=e.criteria,i=t.criteria,a=o.length,s=n.length;++r<a;){var u=Do(o[r],i[r]);if(u){if(r>=s)return u;var l=n[r];return u*(\"desc\"==l?-1:1)}}return e.index-t.index}function Io(e,t,n,r){for(var o=-1,i=e.length,a=n.length,s=-1,u=t.length,l=Uc(i-a,0),c=nc(u+l),d=!r;++s<u;)c[s]=t[s];for(;++o<a;)(d||o<i)&&(c[n[o]]=e[o]);for(;l--;)c[s++]=e[o++];return c}function zo(e,t,n,r){for(var o=-1,i=e.length,a=-1,s=n.length,u=-1,l=t.length,c=Uc(i-s,0),d=nc(c+l),f=!r;++o<c;)d[o]=e[o];for(var p=o;++u<l;)d[p+u]=t[u];for(;++a<s;)(f||o<i)&&(d[p+n[a]]=e[o++]);return d}function jo(e,t){var n=-1,r=e.length;for(t||(t=nc(r));++n<r;)t[n]=e[n];return t}function Po(e,t,n,r){var o=!n;n||(n={});for(var i=-1,a=t.length;++i<a;){var s=t[i],u=r?r(n[s],e[s],s,n,e):ne;u===ne&&(u=e[s]),o?In(n,s,u):Sn(n,s,u)}return n}function Bo(e,t){return Po(e,Cd(e),t)}function Fo(e,t){return Po(e,Ed(e),t)}function Ro(e,t){return function(n,r){var o=_f(n)?a:kn,i=t?t():{};return o(n,e,vi(r,2),i)}}function Wo(e){return no(function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:ne,a=o>2?n[2]:ne;for(i=e.length>3&&\"function\"==typeof i?(o--,i):ne,a&&Ii(n[0],n[1],a)&&(i=o<3?ne:i,o=1),t=sc(t);++r<o;){var s=n[r];s&&e(t,s,r,i)}return t})}function Yo(e,t){return function(n,r){if(null==n)return n;if(!Xs(n))return e(n,r);for(var o=n.length,i=t?o:-1,a=sc(n);(t?i--:++i<o)&&r(a[i],i,a)!==!1;);return n}}function Ho(e){return function(t,n,r){for(var o=-1,i=sc(t),a=r(t),s=a.length;s--;){var u=a[e?s:++o];if(n(i[u],u,i)===!1)break}return t}}function qo(e,t,n){function r(){var t=this&&this!==or&&this instanceof r?i:e;return t.apply(o?n:this,arguments)}var o=t&me,i=Vo(e);return r}function Uo(e){return function(t){t=Tu(t);var n=W(t)?Z(t):ne,r=n?n[0]:t.charAt(0),o=n?Eo(n,1).join(\"\"):t.slice(1);return r[e]()+o}}function Xo(e){return function(t){return m(El(il(t).replace(Rn,\"\")),e,\"\")}}function Vo(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=pd(e.prototype),r=e.apply(n,t);return ou(r)?r:n}}function Go(e,t,n){function r(){for(var a=arguments.length,s=nc(a),u=a,l=yi(r);u--;)s[u]=arguments[u];var c=a<3&&s[0]!==l&&s[a-1]!==l?[]:X(s,l);if(a-=c.length,a<n)return ii(e,t,Qo,r.placeholder,ne,s,c,ne,ne,n-a);var d=this&&this!==or&&this instanceof r?o:e;return i(d,this,s)}var o=Vo(e);return r}function $o(e){return function(t,n,r){var o=sc(t);if(!Xs(t)){var i=vi(n,3);t=Ru(t),n=function(e){return i(o[e],e,o)}}var a=e(t,n,r);return a>-1?o[i?t[a]:a]:ne}}function Ko(e){return mi(function(t){var n=t.length,r=n,i=o.prototype.thru;for(e&&t.reverse();r--;){var a=t[r];if(\"function\"!=typeof a)throw new cc(ae);if(i&&!s&&\"wrapper\"==bi(a))var s=new o([],!0)}for(r=s?r:n;++r<n;){a=t[r];var u=bi(a),l=\"wrapper\"==u?wd(a):ne;s=l&&Pi(l[0])&&l[1]==(Ae|be|ve|we)&&!l[4].length&&1==l[9]?s[bi(l[0])].apply(s,l[3]):1==a.length&&Pi(a)?s[u]():s.thru(a)}return function(){var e=arguments,r=e[0];if(s&&1==e.length&&_f(r))return s.plant(r).value();for(var o=0,i=n?t[o].apply(this,e):r;++o<n;)i=t[o].call(this,i);return i}})}function Qo(e,t,n,r,o,i,a,s,u,l){function c(){for(var _=arguments.length,b=nc(_),y=_;y--;)b[y]=arguments[y];if(h)var v=yi(c),M=B(b,v);if(r&&(b=Io(b,r,o,h)),i&&(b=zo(b,i,a,h)),_-=M,h&&_<l){var A=X(b,v);return ii(e,t,Qo,c.placeholder,n,b,A,s,u,l-_)}var w=f?n:this,C=p?w[e]:e;return _=b.length,s?b=Gi(b,s):m&&_>1&&b.reverse(),d&&u<_&&(b.length=u),this&&this!==or&&this instanceof c&&(C=g||Vo(C)),C.apply(w,b)}var d=t&Ae,f=t&me,p=t&ge,h=t&(be|ye),m=t&Ce,g=p?ne:Vo(e);return c}function Zo(e,t){return function(n,r){return Cr(n,e,t(r),{})}}function Jo(e,t){return function(n,r){var o;if(n===ne&&r===ne)return t;if(n!==ne&&(o=n),r!==ne){if(o===ne)return r;\"string\"==typeof n||\"string\"==typeof r?(n=ho(n),r=ho(r)):(n=po(n),r=po(r)),o=e(n,r)}return o}}function ei(e){return mi(function(t){return t=p(t,x(vi())),no(function(n){var r=this;return e(t,function(e){return i(e,r,n)})})})}function ti(e,t){t=t===ne?\" \":ho(t);var n=t.length;if(n<2)return n?to(t,e):t;var r=to(t,Bc(e/Q(t)));return W(t)?Eo(Z(r),0,e).join(\"\"):r.slice(0,e)}function ni(e,t,n,r){function o(){for(var t=-1,u=arguments.length,l=-1,c=r.length,d=nc(c+u),f=this&&this!==or&&this instanceof o?s:e;++l<c;)d[l]=r[l];for(;u--;)d[l++]=arguments[++t];return i(f,a?n:this,d)}var a=t&me,s=Vo(e);return o}function ri(e){return function(t,n,r){return r&&\"number\"!=typeof r&&Ii(t,n,r)&&(n=r=ne),t=Mu(t),n===ne?(n=t,t=0):n=Mu(n),r=r===ne?t<n?1:-1:Mu(r),eo(t,n,r,e)}}function oi(e){return function(t,n){return\"string\"==typeof t&&\"string\"==typeof n||(t=Cu(t),n=Cu(n)),e(t,n)}}function ii(e,t,n,r,o,i,a,s,u,l){var c=t&be,d=c?a:ne,f=c?ne:a,p=c?i:ne,h=c?ne:i;t|=c?ve:Me,t&=~(c?Me:ve),t&_e||(t&=~(me|ge));var m=[e,t,o,p,d,h,f,s,u,l],g=n.apply(ne,m);return Pi(e)&&Od(g,m),g.placeholder=r,Ki(g,e,t)}function ai(e){var t=ac[e];return function(e,n){if(e=Cu(e),n=null==n?0:Xc(Au(n),292),n&&Yc(e)){var r=(Tu(e)+\"e\").split(\"e\"),o=t(r[0]+\"e\"+(+r[1]+n));return r=(Tu(o)+\"e\").split(\"e\"),+(r[0]+\"e\"+(+r[1]-n))}return t(e)}}function si(e){return function(t){var n=Ld(t);return n==$e?q(t):n==nt?G(t):D(t,e(t))}}function ui(e,t,n,r,o,i,a,s){var u=t&ge;if(!u&&\"function\"!=typeof e)throw new cc(ae);var l=r?r.length:0;if(l||(t&=~(ve|Me),r=o=ne),a=a===ne?a:Uc(Au(a),0),s=s===ne?s:Au(s),l-=o?o.length:0,t&Me){var c=r,d=o;r=o=ne}var f=u?ne:wd(e),p=[e,t,n,r,o,c,d,i,a,s];if(f&&Hi(p,f),e=p[0],t=p[1],n=p[2],r=p[3],o=p[4],s=p[9]=p[9]===ne?u?0:e.length:Uc(p[9]-l,0),!s&&t&(be|ye)&&(t&=~(be|ye)),t&&t!=me)h=t==be||t==ye?Go(e,t,s):t!=ve&&t!=(me|ve)||o.length?Qo.apply(ne,p):ni(e,t,n,r);else var h=qo(e,t,n);var m=f?bd:Od;return Ki(m(h,p),e,t)}function li(e,t,n,r){return e===ne||Us(e,pc[n])&&!gc.call(r,n)?t:e}function ci(e,t,n,r,o,i){return ou(e)&&ou(t)&&(i.set(t,e),qr(e,t,ne,ci,i),i.delete(t)),e}function di(e){return pu(e)?ne:e}function fi(e,t,n,r,o,i){var a=n&pe,s=e.length,u=t.length;if(s!=u&&!(a&&u>s))return!1;var l=i.get(e);if(l&&i.get(t))return l==t;var c=-1,d=!0,f=n&he?new mn:ne;for(i.set(e,t),i.set(t,e);++c<s;){var p=e[c],h=t[c];if(r)var m=a?r(h,p,c,t,e,i):r(p,h,c,e,t,i);if(m!==ne){if(m)continue;d=!1;break}if(f){if(!_(t,function(e,t){if(!z(f,t)&&(p===e||o(p,e,n,r,i)))return f.push(t)})){d=!1;break}}else if(p!==h&&!o(p,h,n,r,i)){d=!1;break}}return i.delete(e),i.delete(t),d}function pi(e,t,n,r,o,i,a){switch(n){case lt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case ut:return!(e.byteLength!=t.byteLength||!i(new Ec(e),new Ec(t)));case He:case qe:case Ke:return Us(+e,+t);case Xe:return e.name==t.name&&e.message==t.message;case tt:case rt:return e==t+\"\";case $e:var s=q;case nt:var u=r&pe;if(s||(s=V),e.size!=t.size&&!u)return!1;var l=a.get(e);if(l)return l==t;r|=he,a.set(e,t);var c=fi(s(e),s(t),r,o,i,a);return a.delete(e),c;case ot:if(dd)return dd.call(e)==dd.call(t)}return!1}function hi(e,t,n,r,o,i){var a=n&pe,s=gi(e),u=s.length,l=gi(t),c=l.length;if(u!=c&&!a)return!1;for(var d=u;d--;){var f=s[d];if(!(a?f in t:gc.call(t,f)))return!1}var p=i.get(e);if(p&&i.get(t))return p==t;var h=!0;i.set(e,t),i.set(t,e);for(var m=a;++d<u;){f=s[d];var g=e[f],_=t[f];if(r)var b=a?r(_,g,f,t,e,i):r(g,_,f,e,t,i);if(!(b===ne?g===_||o(g,_,n,r,i):b)){h=!1;break}m||(m=\"constructor\"==f)}if(h&&!m){var y=e.constructor,v=t.constructor;y!=v&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof y&&y instanceof y&&\"function\"==typeof v&&v instanceof v)&&(h=!1)}return i.delete(e),i.delete(t),h}function mi(e){return Nd(Xi(e,ne,pa),e+\"\")}function gi(e){return ar(e,Ru,Cd)}function _i(e){return ar(e,Wu,Ed)}function bi(e){for(var t=e.name+\"\",n=od[t],r=gc.call(od,t)?n.length:0;r--;){var o=n[r],i=o.func;if(null==i||i==e)return o.name}return t}function yi(e){var t=gc.call(n,\"placeholder\")?n:e;return t.placeholder}function vi(){var e=n.iteratee||kl;return e=e===kl?Pr:e,arguments.length?e(arguments[0],arguments[1]):e}function Mi(e,t){var n=e.__data__;return ji(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function Ai(e){for(var t=Ru(e),n=t.length;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ri(o)]}return t}function wi(e,t){var n=R(e,t);return xr(n)?n:ne}function Ci(e){var t=gc.call(e,xc),n=e[xc];try{e[xc]=ne;var r=!0}catch(e){}var o=yc.call(e);return r&&(t?e[xc]=n:delete e[xc]),o}function Ei(e,t,n){for(var r=-1,o=n.length;++r<o;){var i=n[r],a=i.size;switch(i.type){case\"drop\":e+=a;break;case\"dropRight\":t-=a;break;case\"take\":t=Xc(t,e+a);break;case\"takeRight\":e=Uc(e,t-a)}}return{start:e,end:t}}function Li(e){var t=e.match(Bt);return t?t[1].split(Ft):[]}function Ti(e,t,n){t=Co(t,e);for(var r=-1,o=t.length,i=!1;++r<o;){var a=Ji(t[r]);if(!(i=null!=e&&n(e,a)))break;e=e[a]}return i||++r!=o?i:(o=null==e?0:e.length,!!o&&ru(o)&&xi(a,o)&&(_f(e)||gf(e)))}function Oi(e){var t=e.length,n=new e.constructor(t);return t&&\"string\"==typeof e[0]&&gc.call(e,\"index\")&&(n.index=e.index,n.input=e.input),n}function Si(e){return\"function\"!=typeof e.constructor||Fi(e)?{}:pd(Tc(e))}function Ni(e,t,n){var r=e.constructor;switch(t){case ut:return To(e);case He:case qe:return new r(+e);case lt:return Oo(e,n);case ct:case dt:case ft:case pt:case ht:case mt:case gt:case _t:case bt:return ko(e,n);case $e:return new r;case Ke:case rt:return new r(e);case tt:return So(e);case nt:return new r;case ot:return No(e)}}function ki(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?\"& \":\"\")+t[r],t=t.join(n>2?\", \":\" \"),e.replace(Pt,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Di(e){return _f(e)||gf(e)||!!(kc&&e&&e[kc])}function xi(e,t){var n=typeof e;return t=null==t?xe:t,!!t&&(\"number\"==n||\"symbol\"!=n&&Gt.test(e))&&e>-1&&e%1==0&&e<t}function Ii(e,t,n){if(!ou(n))return!1;var r=typeof t;return!!(\"number\"==r?Xs(n)&&xi(t,n.length):\"string\"==r&&t in n)&&Us(n[t],e)}function zi(e,t){if(_f(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!gu(e))||(Nt.test(e)||!St.test(e)||null!=t&&e in sc(t))}function ji(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function Pi(e){var t=bi(e),r=n[t];if(\"function\"!=typeof r||!(t in b.prototype))return!1;if(e===r)return!0;var o=wd(r);return!!o&&e===o[0]}function Bi(e){return!!bc&&bc in e}function Fi(e){var t=e&&e.constructor,n=\"function\"==typeof t&&t.prototype||pc;return e===n}function Ri(e){return e===e&&!ou(e)}function Wi(e,t){return function(n){return null!=n&&(n[e]===t&&(t!==ne||e in sc(n)))}}function Yi(e){var t=ks(e,function(e){return n.size===ue&&n.clear(),e}),n=t.cache;return t}function Hi(e,t){var n=e[1],r=t[1],o=n|r,i=o<(me|ge|Ae),a=r==Ae&&n==be||r==Ae&&n==we&&e[7].length<=t[8]||r==(Ae|we)&&t[7].length<=t[8]&&n==be;if(!i&&!a)return e;r&me&&(e[2]=t[2],o|=n&me?0:_e);var s=t[3];if(s){var u=e[3];e[3]=u?Io(u,s,t[4]):s,e[4]=u?X(e[3],le):t[4]}return s=t[5],s&&(u=e[5],e[5]=u?zo(u,s,t[6]):s,e[6]=u?X(e[5],le):t[6]),s=t[7],s&&(e[7]=s),r&Ae&&(e[8]=null==e[8]?t[8]:Xc(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=o,e}function qi(e){var t=[];if(null!=e)for(var n in sc(e))t.push(n);return t}function Ui(e){return yc.call(e)}function Xi(e,t,n){return t=Uc(t===ne?e.length-1:t,0),function(){for(var r=arguments,o=-1,a=Uc(r.length-t,0),s=nc(a);++o<a;)s[o]=r[t+o];o=-1;for(var u=nc(t+1);++o<t;)u[o]=r[o];return u[t]=n(s),i(e,this,u)}}function Vi(e,t){return t.length<2?e:ir(e,so(t,0,-1))}function Gi(e,t){for(var n=e.length,r=Xc(t.length,n),o=jo(e);r--;){var i=t[r];e[r]=xi(i,n)?o[i]:ne}return e}function $i(e,t){if((\"constructor\"!==t||\"function\"!=typeof e[t])&&\"__proto__\"!=t)return e[t]}function Ki(e,t,n){var r=t+\"\";return Nd(e,ki(r,ta(Li(r),n)))}function Qi(e){var t=0,n=0;return function(){var r=Vc(),o=Oe-(r-n);if(n=r,o>0){if(++t>=Te)return arguments[0]}else t=0;return e.apply(ne,arguments)}}function Zi(e,t){var n=-1,r=e.length,o=r-1;for(t=t===ne?r:t;++n<t;){var i=Jr(n,o),a=e[i];e[i]=e[n],e[n]=a}return e.length=t,e}function Ji(e){if(\"string\"==typeof e||gu(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-De?\"-0\":t}function ea(e){if(null!=e){try{return mc.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function ta(e,t){return s(Fe,function(n){var r=\"_.\"+n[0];t&n[1]&&!d(e,r)&&e.push(r)}),e.sort()}function na(e){if(e instanceof b)return e.clone();var t=new o(e.__wrapped__,e.__chain__);return t.__actions__=jo(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function ra(e,t,n){t=(n?Ii(e,t,n):t===ne)?1:Uc(Au(t),0);var r=null==e?0:e.length;if(!r||t<1)return[];for(var o=0,i=0,a=nc(Bc(r/t));o<r;)a[i++]=so(e,o,o+=t);return a}function oa(e){for(var t=-1,n=null==e?0:e.length,r=0,o=[];++t<n;){var i=e[t];i&&(o[r++]=i)}return o}function ia(){var e=arguments.length;if(!e)return[];for(var t=nc(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return h(_f(n)?jo(n):[n],Zn(t,1))}function aa(e,t,n){var r=null==e?0:e.length;return r?(t=n||t===ne?1:Au(t),so(e,t<0?0:t,r)):[]}function sa(e,t,n){var r=null==e?0:e.length;return r?(t=n||t===ne?1:Au(t),t=r-t,so(e,0,t<0?0:t)):[]}function ua(e,t){return e&&e.length?bo(e,vi(t,3),!0,!0):[]}function la(e,t){return e&&e.length?bo(e,vi(t,3),!0):[]}function ca(e,t,n,r){var o=null==e?0:e.length;return o?(n&&\"number\"!=typeof n&&Ii(e,t,n)&&(n=0,r=o),Kn(e,t,n,r)):[]}function da(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:Au(n);return o<0&&(o=Uc(r+o,0)),M(e,vi(t,3),o)}function fa(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r-1;return n!==ne&&(o=Au(n),o=n<0?Uc(r+o,0):Xc(o,r-1)),M(e,vi(t,3),o,!0)}function pa(e){var t=null==e?0:e.length;return t?Zn(e,1):[]}function ha(e){var t=null==e?0:e.length;return t?Zn(e,De):[]}function ma(e,t){var n=null==e?0:e.length;return n?(t=t===ne?1:Au(t),Zn(e,t)):[]}function ga(e){for(var t=-1,n=null==e?0:e.length,r={};++t<n;){var o=e[t];r[o[0]]=o[1]}return r}function _a(e){return e&&e.length?e[0]:ne}function ba(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=null==n?0:Au(n);return o<0&&(o=Uc(r+o,0)),A(e,t,o)}function ya(e){var t=null==e?0:e.length;return t?so(e,0,-1):[]}function va(e,t){return null==e?\"\":Hc.call(e,t)}function Ma(e){var t=null==e?0:e.length;return t?e[t-1]:ne}function Aa(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var o=r;return n!==ne&&(o=Au(n),o=o<0?Uc(r+o,0):Xc(o,r-1)),t===t?K(e,t,o):M(e,C,o,!0)}function wa(e,t){return e&&e.length?Xr(e,Au(t)):ne}function Ca(e,t){return e&&e.length&&t&&t.length?Qr(e,t):e}function Ea(e,t,n){return e&&e.length&&t&&t.length?Qr(e,t,vi(n,2)):e}function La(e,t,n){return e&&e.length&&t&&t.length?Qr(e,t,ne,n):e}function Ta(e,t){var n=[];if(!e||!e.length)return n;var r=-1,o=[],i=e.length;for(t=vi(t,3);++r<i;){var a=e[r];t(a,r,e)&&(n.push(a),o.push(r))}return Zr(e,o),n}function Oa(e){return null==e?e:Kc.call(e)}function Sa(e,t,n){var r=null==e?0:e.length;return r?(n&&\"number\"!=typeof n&&Ii(e,t,n)?(t=0,n=r):(t=null==t?0:Au(t),n=n===ne?r:Au(n)),so(e,t,n)):[]}function Na(e,t){return lo(e,t)}function ka(e,t,n){return co(e,t,vi(n,2))}function Da(e,t){var n=null==e?0:e.length;if(n){var r=lo(e,t);if(r<n&&Us(e[r],t))return r}return-1}function xa(e,t){return lo(e,t,!0)}function Ia(e,t,n){return co(e,t,vi(n,2),!0)}function za(e,t){var n=null==e?0:e.length;if(n){var r=lo(e,t,!0)-1;if(Us(e[r],t))return r}return-1}function ja(e){return e&&e.length?fo(e):[]}function Pa(e,t){return e&&e.length?fo(e,vi(t,2)):[]}function Ba(e){var t=null==e?0:e.length;return t?so(e,1,t):[]}function Fa(e,t,n){return e&&e.length?(t=n||t===ne?1:Au(t),so(e,0,t<0?0:t)):[]}function Ra(e,t,n){var r=null==e?0:e.length;return r?(t=n||t===ne?1:Au(t),t=r-t,so(e,t<0?0:t,r)):[]}function Wa(e,t){return e&&e.length?bo(e,vi(t,3),!1,!0):[]}function Ya(e,t){return e&&e.length?bo(e,vi(t,3)):[]}function Ha(e){return e&&e.length?mo(e):[]}function qa(e,t){return e&&e.length?mo(e,vi(t,2)):[]}function Ua(e,t){return t=\"function\"==typeof t?t:ne,e&&e.length?mo(e,ne,t):[]}function Xa(e){if(!e||!e.length)return[];var t=0;return e=c(e,function(e){if(Vs(e))return t=Uc(e.length,t),!0}),k(t,function(t){return p(e,L(t))})}function Va(e,t){if(!e||!e.length)return[];var n=Xa(e);return null==t?n:p(n,function(e){return i(t,ne,e)})}function Ga(e,t){return Mo(e||[],t||[],Sn)}function $a(e,t){return Mo(e||[],t||[],io)}function Ka(e){var t=n(e);return t.__chain__=!0,t}function Qa(e,t){return t(e),e}function Za(e,t){return t(e)}function Ja(){return Ka(this)}function es(){return new o(this.value(),this.__chain__)}function ts(){this.__values__===ne&&(this.__values__=vu(this.value()));var e=this.__index__>=this.__values__.length,t=e?ne:this.__values__[this.__index__++];return{done:e,value:t}}function ns(){return this}function rs(e){for(var t,n=this;n instanceof r;){var o=na(n);o.__index__=0,o.__values__=ne,t?i.__wrapped__=o:t=o;var i=o;n=n.__wrapped__}return i.__wrapped__=e,t}function os(){var e=this.__wrapped__;if(e instanceof b){var t=e;return this.__actions__.length&&(t=new b(this)),t=t.reverse(),t.__actions__.push({func:Za,args:[Oa],thisArg:ne}),new o(t,this.__chain__)}return this.thru(Oa)}function is(){return yo(this.__wrapped__,this.__actions__)}function as(e,t,n){var r=_f(e)?l:qn;return n&&Ii(e,t,n)&&(t=ne),r(e,vi(t,3))}function ss(e,t){var n=_f(e)?c:Qn;return n(e,vi(t,3))}function us(e,t){return Zn(hs(e,t),1)}function ls(e,t){return Zn(hs(e,t),De)}function cs(e,t,n){return n=n===ne?1:Au(n),Zn(hs(e,t),n)}function ds(e,t){var n=_f(e)?s:hd;return n(e,vi(t,3))}function fs(e,t){var n=_f(e)?u:md;return n(e,vi(t,3))}function ps(e,t,n,r){e=Xs(e)?e:Ju(e),n=n&&!r?Au(n):0;var o=e.length;return n<0&&(n=Uc(o+n,0)),mu(e)?n<=o&&e.indexOf(t,n)>-1:!!o&&A(e,t,n)>-1}function hs(e,t){var n=_f(e)?p:Wr;return n(e,vi(t,3))}function ms(e,t,n,r){return null==e?[]:(_f(t)||(t=null==t?[]:[t]),n=r?ne:n,_f(n)||(n=null==n?[]:[n]),Vr(e,t,n))}function gs(e,t,n){var r=_f(e)?m:O,o=arguments.length<3;return r(e,vi(t,4),n,o,hd)}function _s(e,t,n){var r=_f(e)?g:O,o=arguments.length<3;return r(e,vi(t,4),n,o,md)}function bs(e,t){var n=_f(e)?c:Qn;return n(e,Ds(vi(t,3)))}function ys(e){var t=_f(e)?En:ro;return t(e)}function vs(e,t,n){t=(n?Ii(e,t,n):t===ne)?1:Au(t);var r=_f(e)?Ln:oo;return r(e,t)}function Ms(e){var t=_f(e)?Tn:ao;return t(e)}function As(e){if(null==e)return 0;if(Xs(e))return mu(e)?Q(e):e.length;var t=Ld(e);return t==$e||t==nt?e.size:Br(e).length}function ws(e,t,n){var r=_f(e)?_:uo;return n&&Ii(e,t,n)&&(t=ne),r(e,vi(t,3))}function Cs(e,t){if(\"function\"!=typeof t)throw new cc(ae);return e=Au(e),function(){if(--e<1)return t.apply(this,arguments)}}function Es(e,t,n){return t=n?ne:t,t=e&&null==t?e.length:t,ui(e,Ae,ne,ne,ne,ne,t)}function Ls(e,t){var n;if(\"function\"!=typeof t)throw new cc(ae);return e=Au(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=ne),n}}function Ts(e,t,n){t=n?ne:t;var r=ui(e,be,ne,ne,ne,ne,ne,t);return r.placeholder=Ts.placeholder,r}function Os(e,t,n){t=n?ne:t;var r=ui(e,ye,ne,ne,ne,ne,ne,t);return r.placeholder=Os.placeholder,r}function Ss(e,t,n){function r(t){var n=f,r=p;return f=p=ne,b=t,m=e.apply(r,n)}function o(e){return b=e,g=Sd(s,t),y?r(e):m}function i(e){var n=e-_,r=e-b,o=t-n;return v?Xc(o,h-r):o}function a(e){var n=e-_,r=e-b;return _===ne||n>=t||n<0||v&&r>=h}function s(){var e=of();return a(e)?u(e):void(g=Sd(s,i(e)))}function u(e){return g=ne,M&&f?r(e):(f=p=ne,m)}function l(){g!==ne&&Md(g),b=0,f=_=p=g=ne}function c(){return g===ne?m:u(of())}function d(){var e=of(),n=a(e);if(f=arguments,p=this,_=e,n){if(g===ne)return o(_);if(v)return Md(g),g=Sd(s,t),r(_)}return g===ne&&(g=Sd(s,t)),m}var f,p,h,m,g,_,b=0,y=!1,v=!1,M=!0;if(\"function\"!=typeof e)throw new cc(ae);return t=Cu(t)||0,ou(n)&&(y=!!n.leading,v=\"maxWait\"in n,h=v?Uc(Cu(n.maxWait)||0,t):h,M=\"trailing\"in n?!!n.trailing:M),d.cancel=l,d.flush=c,d}function Ns(e){return ui(e,Ce)}function ks(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new cc(ae);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(ks.Cache||ln),n}function Ds(e){if(\"function\"!=typeof e)throw new cc(ae);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function xs(e){return Ls(2,e)}function Is(e,t){if(\"function\"!=typeof e)throw new cc(ae);return t=t===ne?t:Au(t),no(e,t)}function zs(e,t){if(\"function\"!=typeof e)throw new cc(ae);return t=null==t?0:Uc(Au(t),0),no(function(n){var r=n[t],o=Eo(n,0,t);return r&&h(o,r),i(e,this,o)})}function js(e,t,n){var r=!0,o=!0;if(\"function\"!=typeof e)throw new cc(ae);return ou(n)&&(r=\"leading\"in n?!!n.leading:r,o=\"trailing\"in n?!!n.trailing:o),Ss(e,t,{leading:r,maxWait:t,trailing:o})}function Ps(e){return Es(e,1)}function Bs(e,t){return df(wo(t),e)}function Fs(){if(!arguments.length)return[];var e=arguments[0];return _f(e)?e:[e]}function Rs(e){return Pn(e,fe)}function Ws(e,t){return t=\"function\"==typeof t?t:ne,Pn(e,fe,t)}function Ys(e){return Pn(e,ce|fe)}function Hs(e,t){return t=\"function\"==typeof t?t:ne,Pn(e,ce|fe,t)}function qs(e,t){return null==t||Fn(e,t,Ru(t))}function Us(e,t){return e===t||e!==e&&t!==t}function Xs(e){return null!=e&&ru(e.length)&&!tu(e)}function Vs(e){return iu(e)&&Xs(e)}function Gs(e){return e===!0||e===!1||iu(e)&&ur(e)==He}function $s(e){return iu(e)&&1===e.nodeType&&!pu(e)}function Ks(e){if(null==e)return!0;if(Xs(e)&&(_f(e)||\"string\"==typeof e||\"function\"==typeof e.splice||yf(e)||Cf(e)||gf(e)))return!e.length;var t=Ld(e);if(t==$e||t==nt)return!e.size;if(Fi(e))return!Br(e).length;for(var n in e)if(gc.call(e,n))return!1;return!0}function Qs(e,t){return Sr(e,t)}function Zs(e,t,n){n=\"function\"==typeof n?n:ne;var r=n?n(e,t):ne;return r===ne?Sr(e,t,ne,n):!!r}function Js(e){if(!iu(e))return!1;var t=ur(e);return t==Xe||t==Ue||\"string\"==typeof e.message&&\"string\"==typeof e.name&&!pu(e)}function eu(e){return\"number\"==typeof e&&Yc(e)}function tu(e){if(!ou(e))return!1;var t=ur(e);return t==Ve||t==Ge||t==Ye||t==et}function nu(e){return\"number\"==typeof e&&e==Au(e)}function ru(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=xe}function ou(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function iu(e){return null!=e&&\"object\"==typeof e}function au(e,t){return e===t||Dr(e,t,Ai(t))}function su(e,t,n){return n=\"function\"==typeof n?n:ne,Dr(e,t,Ai(t),n)}function uu(e){return fu(e)&&e!=+e}function lu(e){if(Td(e))throw new oc(ie);return xr(e)}function cu(e){return null===e}function du(e){return null==e}function fu(e){\nreturn\"number\"==typeof e||iu(e)&&ur(e)==Ke}function pu(e){if(!iu(e)||ur(e)!=Ze)return!1;var t=Tc(e);if(null===t)return!0;var n=gc.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&mc.call(n)==vc}function hu(e){return nu(e)&&e>=-xe&&e<=xe}function mu(e){return\"string\"==typeof e||!_f(e)&&iu(e)&&ur(e)==rt}function gu(e){return\"symbol\"==typeof e||iu(e)&&ur(e)==ot}function _u(e){return e===ne}function bu(e){return iu(e)&&Ld(e)==at}function yu(e){return iu(e)&&ur(e)==st}function vu(e){if(!e)return[];if(Xs(e))return mu(e)?Z(e):jo(e);if(Dc&&e[Dc])return H(e[Dc]());var t=Ld(e),n=t==$e?q:t==nt?V:Ju;return n(e)}function Mu(e){if(!e)return 0===e?e:0;if(e=Cu(e),e===De||e===-De){var t=e<0?-1:1;return t*Ie}return e===e?e:0}function Au(e){var t=Mu(e),n=t%1;return t===t?n?t-n:t:0}function wu(e){return e?jn(Au(e),0,je):0}function Cu(e){if(\"number\"==typeof e)return e;if(gu(e))return ze;if(ou(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=ou(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(It,\"\");var n=Ut.test(e);return n||Vt.test(e)?tr(e.slice(2),n?2:8):qt.test(e)?ze:+e}function Eu(e){return Po(e,Wu(e))}function Lu(e){return e?jn(Au(e),-xe,xe):0===e?e:0}function Tu(e){return null==e?\"\":ho(e)}function Ou(e,t){var n=pd(e);return null==t?n:Dn(n,t)}function Su(e,t){return v(e,vi(t,3),Jn)}function Nu(e,t){return v(e,vi(t,3),nr)}function ku(e,t){return null==e?e:gd(e,vi(t,3),Wu)}function Du(e,t){return null==e?e:_d(e,vi(t,3),Wu)}function xu(e,t){return e&&Jn(e,vi(t,3))}function Iu(e,t){return e&&nr(e,vi(t,3))}function zu(e){return null==e?[]:rr(e,Ru(e))}function ju(e){return null==e?[]:rr(e,Wu(e))}function Pu(e,t,n){var r=null==e?ne:ir(e,t);return r===ne?n:r}function Bu(e,t){return null!=e&&Ti(e,t,gr)}function Fu(e,t){return null!=e&&Ti(e,t,vr)}function Ru(e){return Xs(e)?Cn(e):Br(e)}function Wu(e){return Xs(e)?Cn(e,!0):Fr(e)}function Yu(e,t){var n={};return t=vi(t,3),Jn(e,function(e,r,o){In(n,t(e,r,o),e)}),n}function Hu(e,t){var n={};return t=vi(t,3),Jn(e,function(e,r,o){In(n,r,t(e,r,o))}),n}function qu(e,t){return Uu(e,Ds(vi(t)))}function Uu(e,t){if(null==e)return{};var n=p(_i(e),function(e){return[e]});return t=vi(t),$r(e,n,function(e,n){return t(e,n[0])})}function Xu(e,t,n){t=Co(t,e);var r=-1,o=t.length;for(o||(o=1,e=ne);++r<o;){var i=null==e?ne:e[Ji(t[r])];i===ne&&(r=o,i=n),e=tu(i)?i.call(e):i}return e}function Vu(e,t,n){return null==e?e:io(e,t,n)}function Gu(e,t,n,r){return r=\"function\"==typeof r?r:ne,null==e?e:io(e,t,n,r)}function $u(e,t,n){var r=_f(e),o=r||yf(e)||Cf(e);if(t=vi(t,4),null==n){var i=e&&e.constructor;n=o?r?new i:[]:ou(e)&&tu(i)?pd(Tc(e)):{}}return(o?s:Jn)(e,function(e,r,o){return t(n,e,r,o)}),n}function Ku(e,t){return null==e||go(e,t)}function Qu(e,t,n){return null==e?e:_o(e,t,wo(n))}function Zu(e,t,n,r){return r=\"function\"==typeof r?r:ne,null==e?e:_o(e,t,wo(n),r)}function Ju(e){return null==e?[]:I(e,Ru(e))}function el(e){return null==e?[]:I(e,Wu(e))}function tl(e,t,n){return n===ne&&(n=t,t=ne),n!==ne&&(n=Cu(n),n=n===n?n:0),t!==ne&&(t=Cu(t),t=t===t?t:0),jn(Cu(e),t,n)}function nl(e,t,n){return t=Mu(t),n===ne?(n=t,t=0):n=Mu(n),e=Cu(e),Ar(e,t,n)}function rl(e,t,n){if(n&&\"boolean\"!=typeof n&&Ii(e,t,n)&&(t=n=ne),n===ne&&(\"boolean\"==typeof t?(n=t,t=ne):\"boolean\"==typeof e&&(n=e,e=ne)),e===ne&&t===ne?(e=0,t=1):(e=Mu(e),t===ne?(t=e,e=0):t=Mu(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var o=$c();return Xc(e+o*(t-e+er(\"1e-\"+((o+\"\").length-1))),t)}return Jr(e,t)}function ol(e){return Kf(Tu(e).toLowerCase())}function il(e){return e=Tu(e),e&&e.replace($t,_r).replace(Wn,\"\")}function al(e,t,n){e=Tu(e),t=ho(t);var r=e.length;n=n===ne?r:jn(Au(n),0,r);var o=n;return n-=t.length,n>=0&&e.slice(n,o)==t}function sl(e){return e=Tu(e),e&&Et.test(e)?e.replace(wt,br):e}function ul(e){return e=Tu(e),e&&xt.test(e)?e.replace(Dt,\"\\\\$&\"):e}function ll(e,t,n){e=Tu(e),t=Au(t);var r=t?Q(e):0;if(!t||r>=t)return e;var o=(t-r)/2;return ti(Fc(o),n)+e+ti(Bc(o),n)}function cl(e,t,n){e=Tu(e),t=Au(t);var r=t?Q(e):0;return t&&r<t?e+ti(t-r,n):e}function dl(e,t,n){e=Tu(e),t=Au(t);var r=t?Q(e):0;return t&&r<t?ti(t-r,n)+e:e}function fl(e,t,n){return n||null==t?t=0:t&&(t=+t),Gc(Tu(e).replace(zt,\"\"),t||0)}function pl(e,t,n){return t=(n?Ii(e,t,n):t===ne)?1:Au(t),to(Tu(e),t)}function hl(){var e=arguments,t=Tu(e[0]);return e.length<3?t:t.replace(e[1],e[2])}function ml(e,t,n){return n&&\"number\"!=typeof n&&Ii(e,t,n)&&(t=n=ne),(n=n===ne?je:n>>>0)?(e=Tu(e),e&&(\"string\"==typeof t||null!=t&&!Af(t))&&(t=ho(t),!t&&W(e))?Eo(Z(e),0,n):e.split(t,n)):[]}function gl(e,t,n){return e=Tu(e),n=null==n?0:jn(Au(n),0,e.length),t=ho(t),e.slice(n,n+t.length)==t}function _l(e,t,r){var o=n.templateSettings;r&&Ii(e,t,r)&&(t=ne),e=Tu(e),t=Sf({},t,o,li);var i,a,s=Sf({},t.imports,o.imports,li),u=Ru(s),l=I(s,u),c=0,d=t.interpolate||Kt,f=\"__p += '\",p=uc((t.escape||Kt).source+\"|\"+d.source+\"|\"+(d===Ot?Yt:Kt).source+\"|\"+(t.evaluate||Kt).source+\"|$\",\"g\"),h=\"//# sourceURL=\"+(gc.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/[\\r\\n]/g,\" \"):\"lodash.templateSources[\"+ ++Vn+\"]\")+\"\\n\";e.replace(p,function(t,n,r,o,s,u){return r||(r=o),f+=e.slice(c,u).replace(Qt,F),n&&(i=!0,f+=\"' +\\n__e(\"+n+\") +\\n'\"),s&&(a=!0,f+=\"';\\n\"+s+\";\\n__p += '\"),r&&(f+=\"' +\\n((__t = (\"+r+\")) == null ? '' : __t) +\\n'\"),c=u+t.length,t}),f+=\"';\\n\";var m=gc.call(t,\"variable\")&&t.variable;m||(f=\"with (obj) {\\n\"+f+\"\\n}\\n\"),f=(a?f.replace(yt,\"\"):f).replace(vt,\"$1\").replace(Mt,\"$1;\"),f=\"function(\"+(m||\"obj\")+\") {\\n\"+(m?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(i?\", __e = _.escape\":\"\")+(a?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+f+\"return __p\\n}\";var g=Qf(function(){return ic(u,h+\"return \"+f).apply(ne,l)});if(g.source=f,Js(g))throw g;return g}function bl(e){return Tu(e).toLowerCase()}function yl(e){return Tu(e).toUpperCase()}function vl(e,t,n){if(e=Tu(e),e&&(n||t===ne))return e.replace(It,\"\");if(!e||!(t=ho(t)))return e;var r=Z(e),o=Z(t),i=j(r,o),a=P(r,o)+1;return Eo(r,i,a).join(\"\")}function Ml(e,t,n){if(e=Tu(e),e&&(n||t===ne))return e.replace(jt,\"\");if(!e||!(t=ho(t)))return e;var r=Z(e),o=P(r,Z(t))+1;return Eo(r,0,o).join(\"\")}function Al(e,t,n){if(e=Tu(e),e&&(n||t===ne))return e.replace(zt,\"\");if(!e||!(t=ho(t)))return e;var r=Z(e),o=j(r,Z(t));return Eo(r,o).join(\"\")}function wl(e,t){var n=Ee,r=Le;if(ou(t)){var o=\"separator\"in t?t.separator:o;n=\"length\"in t?Au(t.length):n,r=\"omission\"in t?ho(t.omission):r}e=Tu(e);var i=e.length;if(W(e)){var a=Z(e);i=a.length}if(n>=i)return e;var s=n-Q(r);if(s<1)return r;var u=a?Eo(a,0,s).join(\"\"):e.slice(0,s);if(o===ne)return u+r;if(a&&(s+=u.length-s),Af(o)){if(e.slice(s).search(o)){var l,c=u;for(o.global||(o=uc(o.source,Tu(Ht.exec(o))+\"g\")),o.lastIndex=0;l=o.exec(c);)var d=l.index;u=u.slice(0,d===ne?s:d)}}else if(e.indexOf(ho(o),s)!=s){var f=u.lastIndexOf(o);f>-1&&(u=u.slice(0,f))}return u+r}function Cl(e){return e=Tu(e),e&&Ct.test(e)?e.replace(At,yr):e}function El(e,t,n){return e=Tu(e),t=n?ne:t,t===ne?Y(e)?te(e):y(e):e.match(t)||[]}function Ll(e){var t=null==e?0:e.length,n=vi();return e=t?p(e,function(e){if(\"function\"!=typeof e[1])throw new cc(ae);return[n(e[0]),e[1]]}):[],no(function(n){for(var r=-1;++r<t;){var o=e[r];if(i(o[0],this,n))return i(o[1],this,n)}})}function Tl(e){return Bn(Pn(e,ce))}function Ol(e){return function(){return e}}function Sl(e,t){return null==e||e!==e?t:e}function Nl(e){return e}function kl(e){return Pr(\"function\"==typeof e?e:Pn(e,ce))}function Dl(e){return Yr(Pn(e,ce))}function xl(e,t){return Hr(e,Pn(t,ce))}function Il(e,t,n){var r=Ru(t),o=rr(t,r);null!=n||ou(t)&&(o.length||!r.length)||(n=t,t=e,e=this,o=rr(t,Ru(t)));var i=!(ou(n)&&\"chain\"in n&&!n.chain),a=tu(e);return s(o,function(n){var r=t[n];e[n]=r,a&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__),o=n.__actions__=jo(this.__actions__);return o.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,h([this.value()],arguments))})}),e}function zl(){return or._===this&&(or._=Mc),this}function jl(){}function Pl(e){return e=Au(e),no(function(t){return Xr(t,e)})}function Bl(e){return zi(e)?L(Ji(e)):Kr(e)}function Fl(e){return function(t){return null==e?ne:ir(e,t)}}function Rl(){return[]}function Wl(){return!1}function Yl(){return{}}function Hl(){return\"\"}function ql(){return!0}function Ul(e,t){if(e=Au(e),e<1||e>xe)return[];var n=je,r=Xc(e,je);t=vi(t),e-=je;for(var o=k(r,t);++n<e;)t(n);return o}function Xl(e){return _f(e)?p(e,Ji):gu(e)?[e]:jo(kd(Tu(e)))}function Vl(e){var t=++_c;return Tu(e)+t}function Gl(e){return e&&e.length?Un(e,Nl,lr):ne}function $l(e,t){return e&&e.length?Un(e,vi(t,2),lr):ne}function Kl(e){return E(e,Nl)}function Ql(e,t){return E(e,vi(t,2))}function Zl(e){return e&&e.length?Un(e,Nl,Rr):ne}function Jl(e,t){return e&&e.length?Un(e,vi(t,2),Rr):ne}function ec(e){return e&&e.length?N(e,Nl):0}function tc(e,t){return e&&e.length?N(e,vi(t,2)):0}t=null==t?or:Mr.defaults(or.Object(),t,Mr.pick(or,Xn));var nc=t.Array,rc=t.Date,oc=t.Error,ic=t.Function,ac=t.Math,sc=t.Object,uc=t.RegExp,lc=t.String,cc=t.TypeError,dc=nc.prototype,fc=ic.prototype,pc=sc.prototype,hc=t[\"__core-js_shared__\"],mc=fc.toString,gc=pc.hasOwnProperty,_c=0,bc=function(){var e=/[^.]+$/.exec(hc&&hc.keys&&hc.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),yc=pc.toString,vc=mc.call(sc),Mc=or._,Ac=uc(\"^\"+mc.call(gc).replace(Dt,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),wc=sr?t.Buffer:ne,Cc=t.Symbol,Ec=t.Uint8Array,Lc=wc?wc.allocUnsafe:ne,Tc=U(sc.getPrototypeOf,sc),Oc=sc.create,Sc=pc.propertyIsEnumerable,Nc=dc.splice,kc=Cc?Cc.isConcatSpreadable:ne,Dc=Cc?Cc.iterator:ne,xc=Cc?Cc.toStringTag:ne,Ic=function(){try{var e=wi(sc,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}(),zc=t.clearTimeout!==or.clearTimeout&&t.clearTimeout,jc=rc&&rc.now!==or.Date.now&&rc.now,Pc=t.setTimeout!==or.setTimeout&&t.setTimeout,Bc=ac.ceil,Fc=ac.floor,Rc=sc.getOwnPropertySymbols,Wc=wc?wc.isBuffer:ne,Yc=t.isFinite,Hc=dc.join,qc=U(sc.keys,sc),Uc=ac.max,Xc=ac.min,Vc=rc.now,Gc=t.parseInt,$c=ac.random,Kc=dc.reverse,Qc=wi(t,\"DataView\"),Zc=wi(t,\"Map\"),Jc=wi(t,\"Promise\"),ed=wi(t,\"Set\"),td=wi(t,\"WeakMap\"),nd=wi(sc,\"create\"),rd=td&&new td,od={},id=ea(Qc),ad=ea(Zc),sd=ea(Jc),ud=ea(ed),ld=ea(td),cd=Cc?Cc.prototype:ne,dd=cd?cd.valueOf:ne,fd=cd?cd.toString:ne,pd=function(){function e(){}return function(t){if(!ou(t))return{};if(Oc)return Oc(t);e.prototype=t;var n=new e;return e.prototype=ne,n}}();n.templateSettings={escape:Lt,evaluate:Tt,interpolate:Ot,variable:\"\",imports:{_:n}},n.prototype=r.prototype,n.prototype.constructor=n,o.prototype=pd(r.prototype),o.prototype.constructor=o,b.prototype=pd(r.prototype),b.prototype.constructor=b,ee.prototype.clear=Rt,ee.prototype.delete=Zt,ee.prototype.get=Jt,ee.prototype.has=en,ee.prototype.set=tn,nn.prototype.clear=rn,nn.prototype.delete=on,nn.prototype.get=an,nn.prototype.has=sn,nn.prototype.set=un,ln.prototype.clear=cn,ln.prototype.delete=dn,ln.prototype.get=fn,ln.prototype.has=pn,ln.prototype.set=hn,mn.prototype.add=mn.prototype.push=gn,mn.prototype.has=_n,bn.prototype.clear=yn,bn.prototype.delete=vn,bn.prototype.get=Mn,bn.prototype.has=An,bn.prototype.set=wn;var hd=Yo(Jn),md=Yo(nr,!0),gd=Ho(),_d=Ho(!0),bd=rd?function(e,t){return rd.set(e,t),e}:Nl,yd=Ic?function(e,t){return Ic(e,\"toString\",{configurable:!0,enumerable:!1,value:Ol(t),writable:!0})}:Nl,vd=no,Md=zc||function(e){return or.clearTimeout(e)},Ad=ed&&1/V(new ed([,-0]))[1]==De?function(e){return new ed(e)}:jl,wd=rd?function(e){return rd.get(e)}:jl,Cd=Rc?function(e){return null==e?[]:(e=sc(e),c(Rc(e),function(t){return Sc.call(e,t)}))}:Rl,Ed=Rc?function(e){for(var t=[];e;)h(t,Cd(e)),e=Tc(e);return t}:Rl,Ld=ur;(Qc&&Ld(new Qc(new ArrayBuffer(1)))!=lt||Zc&&Ld(new Zc)!=$e||Jc&&Ld(Jc.resolve())!=Je||ed&&Ld(new ed)!=nt||td&&Ld(new td)!=at)&&(Ld=function(e){var t=ur(e),n=t==Ze?e.constructor:ne,r=n?ea(n):\"\";if(r)switch(r){case id:return lt;case ad:return $e;case sd:return Je;case ud:return nt;case ld:return at}return t});var Td=hc?tu:Wl,Od=Qi(bd),Sd=Pc||function(e,t){return or.setTimeout(e,t)},Nd=Qi(yd),kd=Yi(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(kt,function(e,n,r,o){t.push(r?o.replace(Wt,\"$1\"):n||e)}),t}),Dd=no(function(e,t){return Vs(e)?Hn(e,Zn(t,1,Vs,!0)):[]}),xd=no(function(e,t){var n=Ma(t);return Vs(n)&&(n=ne),Vs(e)?Hn(e,Zn(t,1,Vs,!0),vi(n,2)):[]}),Id=no(function(e,t){var n=Ma(t);return Vs(n)&&(n=ne),Vs(e)?Hn(e,Zn(t,1,Vs,!0),ne,n):[]}),zd=no(function(e){var t=p(e,Ao);return t.length&&t[0]===e[0]?wr(t):[]}),jd=no(function(e){var t=Ma(e),n=p(e,Ao);return t===Ma(n)?t=ne:n.pop(),n.length&&n[0]===e[0]?wr(n,vi(t,2)):[]}),Pd=no(function(e){var t=Ma(e),n=p(e,Ao);return t=\"function\"==typeof t?t:ne,t&&n.pop(),n.length&&n[0]===e[0]?wr(n,ne,t):[]}),Bd=no(Ca),Fd=mi(function(e,t){var n=null==e?0:e.length,r=zn(e,t);return Zr(e,p(t,function(e){return xi(e,n)?+e:e}).sort(Do)),r}),Rd=no(function(e){return mo(Zn(e,1,Vs,!0))}),Wd=no(function(e){var t=Ma(e);return Vs(t)&&(t=ne),mo(Zn(e,1,Vs,!0),vi(t,2))}),Yd=no(function(e){var t=Ma(e);return t=\"function\"==typeof t?t:ne,mo(Zn(e,1,Vs,!0),ne,t)}),Hd=no(function(e,t){return Vs(e)?Hn(e,t):[]}),qd=no(function(e){return vo(c(e,Vs))}),Ud=no(function(e){var t=Ma(e);return Vs(t)&&(t=ne),vo(c(e,Vs),vi(t,2))}),Xd=no(function(e){var t=Ma(e);return t=\"function\"==typeof t?t:ne,vo(c(e,Vs),ne,t)}),Vd=no(Xa),Gd=no(function(e){var t=e.length,n=t>1?e[t-1]:ne;return n=\"function\"==typeof n?(e.pop(),n):ne,Va(e,n)}),$d=mi(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return zn(t,e)};return!(t>1||this.__actions__.length)&&r instanceof b&&xi(n)?(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:Za,args:[i],thisArg:ne}),new o(r,this.__chain__).thru(function(e){return t&&!e.length&&e.push(ne),e})):this.thru(i)}),Kd=Ro(function(e,t,n){gc.call(e,n)?++e[n]:In(e,n,1)}),Qd=$o(da),Zd=$o(fa),Jd=Ro(function(e,t,n){gc.call(e,n)?e[n].push(t):In(e,n,[t])}),ef=no(function(e,t,n){var r=-1,o=\"function\"==typeof t,a=Xs(e)?nc(e.length):[];return hd(e,function(e){a[++r]=o?i(t,e,n):Er(e,t,n)}),a}),tf=Ro(function(e,t,n){In(e,n,t)}),nf=Ro(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]}),rf=no(function(e,t){if(null==e)return[];var n=t.length;return n>1&&Ii(e,t[0],t[1])?t=[]:n>2&&Ii(t[0],t[1],t[2])&&(t=[t[0]]),Vr(e,Zn(t,1),[])}),of=jc||function(){return or.Date.now()},af=no(function(e,t,n){var r=me;if(n.length){var o=X(n,yi(af));r|=ve}return ui(e,r,t,n,o)}),sf=no(function(e,t,n){var r=me|ge;if(n.length){var o=X(n,yi(sf));r|=ve}return ui(t,r,e,n,o)}),uf=no(function(e,t){return Yn(e,1,t)}),lf=no(function(e,t,n){return Yn(e,Cu(t)||0,n)});ks.Cache=ln;var cf=vd(function(e,t){t=1==t.length&&_f(t[0])?p(t[0],x(vi())):p(Zn(t,1),x(vi()));var n=t.length;return no(function(r){for(var o=-1,a=Xc(r.length,n);++o<a;)r[o]=t[o].call(this,r[o]);return i(e,this,r)})}),df=no(function(e,t){var n=X(t,yi(df));return ui(e,ve,ne,t,n)}),ff=no(function(e,t){var n=X(t,yi(ff));return ui(e,Me,ne,t,n)}),pf=mi(function(e,t){return ui(e,we,ne,ne,ne,t)}),hf=oi(lr),mf=oi(function(e,t){return e>=t}),gf=Lr(function(){return arguments}())?Lr:function(e){return iu(e)&&gc.call(e,\"callee\")&&!Sc.call(e,\"callee\")},_f=nc.isArray,bf=cr?x(cr):Tr,yf=Wc||Wl,vf=dr?x(dr):Or,Mf=fr?x(fr):kr,Af=pr?x(pr):Ir,wf=hr?x(hr):zr,Cf=mr?x(mr):jr,Ef=oi(Rr),Lf=oi(function(e,t){return e<=t}),Tf=Wo(function(e,t){if(Fi(t)||Xs(t))return void Po(t,Ru(t),e);for(var n in t)gc.call(t,n)&&Sn(e,n,t[n])}),Of=Wo(function(e,t){Po(t,Wu(t),e)}),Sf=Wo(function(e,t,n,r){Po(t,Wu(t),e,r)}),Nf=Wo(function(e,t,n,r){Po(t,Ru(t),e,r)}),kf=mi(zn),Df=no(function(e,t){e=sc(e);var n=-1,r=t.length,o=r>2?t[2]:ne;for(o&&Ii(t[0],t[1],o)&&(r=1);++n<r;)for(var i=t[n],a=Wu(i),s=-1,u=a.length;++s<u;){var l=a[s],c=e[l];(c===ne||Us(c,pc[l])&&!gc.call(e,l))&&(e[l]=i[l])}return e}),xf=no(function(e){return e.push(ne,ci),i(Bf,ne,e)}),If=Zo(function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=yc.call(t)),e[t]=n},Ol(Nl)),zf=Zo(function(e,t,n){null!=t&&\"function\"!=typeof t.toString&&(t=yc.call(t)),gc.call(e,t)?e[t].push(n):e[t]=[n]},vi),jf=no(Er),Pf=Wo(function(e,t,n){qr(e,t,n)}),Bf=Wo(function(e,t,n,r){qr(e,t,n,r)}),Ff=mi(function(e,t){var n={};if(null==e)return n;var r=!1;t=p(t,function(t){return t=Co(t,e),r||(r=t.length>1),t}),Po(e,_i(e),n),r&&(n=Pn(n,ce|de|fe,di));for(var o=t.length;o--;)go(n,t[o]);return n}),Rf=mi(function(e,t){return null==e?{}:Gr(e,t)}),Wf=si(Ru),Yf=si(Wu),Hf=Xo(function(e,t,n){return t=t.toLowerCase(),e+(n?ol(t):t)}),qf=Xo(function(e,t,n){return e+(n?\"-\":\"\")+t.toLowerCase()}),Uf=Xo(function(e,t,n){return e+(n?\" \":\"\")+t.toLowerCase()}),Xf=Uo(\"toLowerCase\"),Vf=Xo(function(e,t,n){return e+(n?\"_\":\"\")+t.toLowerCase()}),Gf=Xo(function(e,t,n){return e+(n?\" \":\"\")+Kf(t)}),$f=Xo(function(e,t,n){return e+(n?\" \":\"\")+t.toUpperCase()}),Kf=Uo(\"toUpperCase\"),Qf=no(function(e,t){try{return i(e,ne,t)}catch(e){return Js(e)?e:new oc(e)}}),Zf=mi(function(e,t){return s(t,function(t){t=Ji(t),In(e,t,af(e[t],e))}),e}),Jf=Ko(),ep=Ko(!0),tp=no(function(e,t){return function(n){return Er(n,e,t)}}),np=no(function(e,t){return function(n){return Er(e,n,t)}}),rp=ei(p),op=ei(l),ip=ei(_),ap=ri(),sp=ri(!0),up=Jo(function(e,t){return e+t},0),lp=ai(\"ceil\"),cp=Jo(function(e,t){return e/t},1),dp=ai(\"floor\"),fp=Jo(function(e,t){return e*t},1),pp=ai(\"round\"),hp=Jo(function(e,t){return e-t},0);return n.after=Cs,n.ary=Es,n.assign=Tf,n.assignIn=Of,n.assignInWith=Sf,n.assignWith=Nf,n.at=kf,n.before=Ls,n.bind=af,n.bindAll=Zf,n.bindKey=sf,n.castArray=Fs,n.chain=Ka,n.chunk=ra,n.compact=oa,n.concat=ia,n.cond=Ll,n.conforms=Tl,n.constant=Ol,n.countBy=Kd,n.create=Ou,n.curry=Ts,n.curryRight=Os,n.debounce=Ss,n.defaults=Df,n.defaultsDeep=xf,n.defer=uf,n.delay=lf,n.difference=Dd,n.differenceBy=xd,n.differenceWith=Id,n.drop=aa,n.dropRight=sa,n.dropRightWhile=ua,n.dropWhile=la,n.fill=ca,n.filter=ss,n.flatMap=us,n.flatMapDeep=ls,n.flatMapDepth=cs,n.flatten=pa,n.flattenDeep=ha,n.flattenDepth=ma,n.flip=Ns,n.flow=Jf,n.flowRight=ep,n.fromPairs=ga,n.functions=zu,n.functionsIn=ju,n.groupBy=Jd,n.initial=ya,n.intersection=zd,n.intersectionBy=jd,n.intersectionWith=Pd,n.invert=If,n.invertBy=zf,n.invokeMap=ef,n.iteratee=kl,n.keyBy=tf,n.keys=Ru,n.keysIn=Wu,n.map=hs,n.mapKeys=Yu,n.mapValues=Hu,n.matches=Dl,n.matchesProperty=xl,n.memoize=ks,n.merge=Pf,n.mergeWith=Bf,n.method=tp,n.methodOf=np,n.mixin=Il,n.negate=Ds,n.nthArg=Pl,n.omit=Ff,n.omitBy=qu,n.once=xs,n.orderBy=ms,n.over=rp,n.overArgs=cf,n.overEvery=op,n.overSome=ip,n.partial=df,n.partialRight=ff,n.partition=nf,n.pick=Rf,n.pickBy=Uu,n.property=Bl,n.propertyOf=Fl,n.pull=Bd,n.pullAll=Ca,n.pullAllBy=Ea,n.pullAllWith=La,n.pullAt=Fd,n.range=ap,n.rangeRight=sp,n.rearg=pf,n.reject=bs,n.remove=Ta,n.rest=Is,n.reverse=Oa,n.sampleSize=vs,n.set=Vu,n.setWith=Gu,n.shuffle=Ms,n.slice=Sa,n.sortBy=rf,n.sortedUniq=ja,n.sortedUniqBy=Pa,n.split=ml,n.spread=zs,n.tail=Ba,n.take=Fa,n.takeRight=Ra,n.takeRightWhile=Wa,n.takeWhile=Ya,n.tap=Qa,n.throttle=js,n.thru=Za,n.toArray=vu,n.toPairs=Wf,n.toPairsIn=Yf,n.toPath=Xl,n.toPlainObject=Eu,n.transform=$u,n.unary=Ps,n.union=Rd,n.unionBy=Wd,n.unionWith=Yd,n.uniq=Ha,n.uniqBy=qa,n.uniqWith=Ua,n.unset=Ku,n.unzip=Xa,n.unzipWith=Va,n.update=Qu,n.updateWith=Zu,n.values=Ju,n.valuesIn=el,n.without=Hd,n.words=El,n.wrap=Bs,n.xor=qd,n.xorBy=Ud,n.xorWith=Xd,n.zip=Vd,n.zipObject=Ga,n.zipObjectDeep=$a,n.zipWith=Gd,n.entries=Wf,n.entriesIn=Yf,n.extend=Of,n.extendWith=Sf,Il(n,n),n.add=up,n.attempt=Qf,n.camelCase=Hf,n.capitalize=ol,n.ceil=lp,n.clamp=tl,n.clone=Rs,n.cloneDeep=Ys,n.cloneDeepWith=Hs,n.cloneWith=Ws,n.conformsTo=qs,n.deburr=il,n.defaultTo=Sl,n.divide=cp,n.endsWith=al,n.eq=Us,n.escape=sl,n.escapeRegExp=ul,n.every=as,n.find=Qd,n.findIndex=da,n.findKey=Su,n.findLast=Zd,n.findLastIndex=fa,n.findLastKey=Nu,n.floor=dp,n.forEach=ds,n.forEachRight=fs,n.forIn=ku,n.forInRight=Du,n.forOwn=xu,n.forOwnRight=Iu,n.get=Pu,n.gt=hf,n.gte=mf,n.has=Bu,n.hasIn=Fu,n.head=_a,n.identity=Nl,n.includes=ps,n.indexOf=ba,n.inRange=nl,n.invoke=jf,n.isArguments=gf,n.isArray=_f,n.isArrayBuffer=bf,n.isArrayLike=Xs,n.isArrayLikeObject=Vs,n.isBoolean=Gs,n.isBuffer=yf,n.isDate=vf,n.isElement=$s,n.isEmpty=Ks,n.isEqual=Qs,n.isEqualWith=Zs,n.isError=Js,n.isFinite=eu,n.isFunction=tu,n.isInteger=nu,n.isLength=ru,n.isMap=Mf,n.isMatch=au,n.isMatchWith=su,n.isNaN=uu,n.isNative=lu,n.isNil=du,n.isNull=cu,n.isNumber=fu,n.isObject=ou,n.isObjectLike=iu,n.isPlainObject=pu,n.isRegExp=Af,n.isSafeInteger=hu,n.isSet=wf,n.isString=mu,n.isSymbol=gu,n.isTypedArray=Cf,n.isUndefined=_u,n.isWeakMap=bu,n.isWeakSet=yu,n.join=va,n.kebabCase=qf,n.last=Ma,n.lastIndexOf=Aa,n.lowerCase=Uf,n.lowerFirst=Xf,n.lt=Ef,n.lte=Lf,n.max=Gl,n.maxBy=$l,n.mean=Kl,n.meanBy=Ql,n.min=Zl,n.minBy=Jl,n.stubArray=Rl,n.stubFalse=Wl,n.stubObject=Yl,n.stubString=Hl,n.stubTrue=ql,n.multiply=fp,n.nth=wa,n.noConflict=zl,n.noop=jl,n.now=of,n.pad=ll,n.padEnd=cl,n.padStart=dl,n.parseInt=fl,n.random=rl,n.reduce=gs,n.reduceRight=_s,n.repeat=pl,n.replace=hl,n.result=Xu,n.round=pp,n.runInContext=e,n.sample=ys,n.size=As,n.snakeCase=Vf,n.some=ws,n.sortedIndex=Na,n.sortedIndexBy=ka,n.sortedIndexOf=Da,n.sortedLastIndex=xa,n.sortedLastIndexBy=Ia,n.sortedLastIndexOf=za,n.startCase=Gf,n.startsWith=gl,n.subtract=hp,n.sum=ec,n.sumBy=tc,n.template=_l,n.times=Ul,n.toFinite=Mu,n.toInteger=Au,n.toLength=wu,n.toLower=bl,n.toNumber=Cu,n.toSafeInteger=Lu,n.toString=Tu,n.toUpper=yl,n.trim=vl,n.trimEnd=Ml,n.trimStart=Al,n.truncate=wl,n.unescape=Cl,n.uniqueId=Vl,n.upperCase=$f,n.upperFirst=Kf,n.each=ds,n.eachRight=fs,n.first=_a,Il(n,function(){var e={};return Jn(n,function(t,r){gc.call(n.prototype,r)||(e[r]=t)}),e}(),{chain:!1}),n.VERSION=re,s([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(e){n[e].placeholder=n}),s([\"drop\",\"take\"],function(e,t){b.prototype[e]=function(n){n=n===ne?1:Uc(Au(n),0);var r=this.__filtered__&&!t?new b(this):this.clone();return r.__filtered__?r.__takeCount__=Xc(n,r.__takeCount__):r.__views__.push({size:Xc(n,je),type:e+(r.__dir__<0?\"Right\":\"\")}),r},b.prototype[e+\"Right\"]=function(t){return this.reverse()[e](t).reverse()}}),s([\"filter\",\"map\",\"takeWhile\"],function(e,t){var n=t+1,r=n==Se||n==ke;b.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:vi(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),s([\"head\",\"last\"],function(e,t){var n=\"take\"+(t?\"Right\":\"\");b.prototype[e]=function(){return this[n](1).value()[0]}}),s([\"initial\",\"tail\"],function(e,t){var n=\"drop\"+(t?\"\":\"Right\");b.prototype[e]=function(){return this.__filtered__?new b(this):this[n](1)}}),b.prototype.compact=function(){return this.filter(Nl)},b.prototype.find=function(e){return this.filter(e).head()},b.prototype.findLast=function(e){return this.reverse().find(e)},b.prototype.invokeMap=no(function(e,t){return\"function\"==typeof e?new b(this):this.map(function(n){return Er(n,e,t)})}),b.prototype.reject=function(e){return this.filter(Ds(vi(e)))},b.prototype.slice=function(e,t){e=Au(e);var n=this;return n.__filtered__&&(e>0||t<0)?new b(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==ne&&(t=Au(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},b.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},b.prototype.toArray=function(){return this.take(je)},Jn(b.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=n[i?\"take\"+(\"last\"==t?\"Right\":\"\"):t],s=i||/^find/.test(t);a&&(n.prototype[t]=function(){var t=this.__wrapped__,u=i?[1]:arguments,l=t instanceof b,c=u[0],d=l||_f(t),f=function(e){var t=a.apply(n,h([e],u));return i&&p?t[0]:t};d&&r&&\"function\"==typeof c&&1!=c.length&&(l=d=!1);var p=this.__chain__,m=!!this.__actions__.length,g=s&&!p,_=l&&!m;if(!s&&d){t=_?t:new b(this);var y=e.apply(t,u);return y.__actions__.push({func:Za,args:[f],thisArg:ne}),new o(y,p)}return g&&_?e.apply(this,u):(y=this.thru(f),g?i?y.value()[0]:y.value():y)})}),s([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(e){var t=dc[e],r=/^(?:push|sort|unshift)$/.test(e)?\"tap\":\"thru\",o=/^(?:pop|shift)$/.test(e);n.prototype[e]=function(){var e=arguments;if(o&&!this.__chain__){var n=this.value();return t.apply(_f(n)?n:[],e)}return this[r](function(n){return t.apply(_f(n)?n:[],e)})}}),Jn(b.prototype,function(e,t){var r=n[t];if(r){var o=r.name+\"\";gc.call(od,o)||(od[o]=[]),od[o].push({name:t,func:r})}}),od[Qo(ne,ge).name]=[{name:\"wrapper\",func:ne}],b.prototype.clone=T,b.prototype.reverse=$,b.prototype.value=J,n.prototype.at=$d,n.prototype.chain=Ja,n.prototype.commit=es,n.prototype.next=ts,n.prototype.plant=rs,n.prototype.reverse=os,n.prototype.toJSON=n.prototype.valueOf=n.prototype.value=is,n.prototype.first=n.prototype.head,Dc&&(n.prototype[Dc]=ns),n},Mr=vr();or._=Mr,r=function(){return Mr}.call(t,n,t,o),!(r!==ne&&(o.exports=r))}).call(this)}).call(t,function(){return this}(),n(227)(e))},function(e,t){function n(e){if(\"string\"!=typeof e)throw new Error(\"Param is not a string\");var n=e.toLowerCase();switch(n){case\"l\":case\"low\":return t.L;case\"m\":case\"medium\":return t.M;case\"q\":case\"quartile\":return t.Q;case\"h\":case\"high\":return t.H;default:throw new Error(\"Unknown EC Level: \"+e)}}t.L={bit:1},t.M={bit:0},t.Q={bit:3},t.H={bit:2},t.isValid=function(e){return e&&\"undefined\"!=typeof e.bit&&e.bit>=0&&e.bit<4},t.from=function(e,r){if(t.isValid(e))return e;try{return n(e)}catch(e){return r}}},function(e,t){var n={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==n.call(e)}},function(e,t){\"use strict\";function n(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];if(e===t)return!1;var o=Object.keys(e),i=Object.keys(t);if(o.length!==i.length)return!0;var a={},s=void 0,u=void 0;for(s=0,u=n.length;s<u;s++)a[n[s]]=!0;for(s=0,u=o.length;s<u;s++){var l=o[s],c=e[l],d=t[l];if(c!==d){if(!a[l]||null===c||null===d||\"object\"!==(\"undefined\"==typeof c?\"undefined\":r(c))||\"object\"!==(\"undefined\"==typeof d?\"undefined\":r(d)))return!0;var f=Object.keys(c),p=Object.keys(d);if(f.length!==p.length)return!0;for(var h=0,m=f.length;h<m;h++){var g=f[h];if(c[g]!==d[g])return!0}}}return!1}Object.defineProperty(t,\"__esModule\",{value:!0});var 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};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){e.offsetHeight}function i(e,t){var n=t[\"offset\"+(0,T.default)(e)],r=N[e];return n+parseInt((0,y.default)(t,r[0]),10)+parseInt((0,y.default)(t,r[1]),10)}t.__esModule=!0;var a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(160),y=r(b),v=n(1),M=r(v),A=n(5),w=r(A),C=n(589),E=r(C),L=n(586),T=r(L),O=n(39),S=r(O),N={height:[\"marginTop\",\"marginBottom\"],width:[\"marginLeft\",\"marginRight\"]},k={in:w.default.bool,mountOnEnter:w.default.bool,unmountOnExit:w.default.bool,transitionAppear:w.default.bool,timeout:w.default.number,onEnter:w.default.func,onEntering:w.default.func,onEntered:w.default.func,onExit:w.default.func,onExiting:w.default.func,onExited:w.default.func,dimension:w.default.oneOfType([w.default.oneOf([\"height\",\"width\"]),w.default.func]),getDimensionValue:w.default.func,role:w.default.string},D={in:!1,timeout:300,mountOnEnter:!1,unmountOnExit:!1,transitionAppear:!1,dimension:\"height\",getDimensionValue:i},x=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleEnter=o.handleEnter.bind(o),o.handleEntering=o.handleEntering.bind(o),o.handleEntered=o.handleEntered.bind(o),o.handleExit=o.handleExit.bind(o),o.handleExiting=o.handleExiting.bind(o),o}return(0,m.default)(t,e),t.prototype.handleEnter=function(e){var t=this._dimension();e.style[t]=\"0\"},t.prototype.handleEntering=function(e){var t=this._dimension();e.style[t]=this._getScrollDimensionValue(e,t)},t.prototype.handleEntered=function(e){var t=this._dimension();e.style[t]=null},t.prototype.handleExit=function(e){var t=this._dimension();e.style[t]=this.props.getDimensionValue(t,e)+\"px\",o(e)},t.prototype.handleExiting=function(e){var t=this._dimension();e.style[t]=\"0\"},t.prototype._dimension=function(){return\"function\"==typeof this.props.dimension?this.props.dimension():this.props.dimension},t.prototype._getScrollDimensionValue=function(e,t){return e[\"scroll\"+(0,T.default)(t)]+\"px\"},t.prototype.render=function(){var e=this.props,t=e.onEnter,n=e.onEntering,r=e.onEntered,o=e.onExit,i=e.onExiting,a=e.className,u=(0,l.default)(e,[\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"className\"]);delete u.dimension,delete u.getDimensionValue;var c=(0,S.default)(this.handleEnter,t),d=(0,S.default)(this.handleEntering,n),f=(0,S.default)(this.handleEntered,r),p=(0,S.default)(this.handleExit,o),h=(0,S.default)(this.handleExiting,i),m={width:\"width\"===this._dimension()};return M.default.createElement(E.default,(0,s.default)({},u,{\"aria-expanded\":u.role?u.in:null,className:(0,_.default)(a,m),exitedClassName:\"collapse\",exitingClassName:\"collapsing\",enteredClassName:\"collapse in\",enteringClassName:\"collapsing\",onEnter:c,onEntering:d,onEntered:f,onExit:p,onExiting:h}))},t}(M.default.Component);x.propTypes=k,x.defaultProps=D,t.default=x,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={glyph:y.default.string.isRequired},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.glyph,r=t.className,o=(0,s.default)(t,[\"glyph\",\"className\"]),a=(0,v.splitBsProps)(o),u=a[0],l=a[1],c=(0,i.default)({},(0,v.getClassSet)(u),(e={},e[(0,v.prefix)(u,n)]=!0,e));return _.default.createElement(\"span\",(0,i.default)({},l,{className:(0,m.default)(r,c)}))},t}(_.default.Component);A.propTypes=M,t.default=(0,v.bsClass)(\"glyphicon\",A),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(1438),M=r(v),A=n(1439),w=r(A),C=n(1440),E=r(C),L=n(1441),T=r(L),O=n(1442),S=r(O),N=n(1443),k=r(N),D=n(13),x={componentClass:y.default},I={componentClass:\"div\"},z=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,D.splitBsProps)(r),a=o[0],u=o[1],l=(0,D.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);z.propTypes=x,z.defaultProps=I,z.Heading=w.default,z.Body=M.default,z.Left=E.default,z.Right=k.default,z.List=T.default,z.ListItem=S.default,t.default=(0,D.bsClass)(\"media\",z),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(1),p=r(f),h=n(5),m=r(h),g=n(226),_=r(g),b=\"tab\",y=\"pane\",v=m.default.oneOfType([m.default.string,m.default.number]),M={id:function(e){var t=null;if(!e.generateChildId){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];t=v.apply(void 0,[e].concat(r)),t||e.id||(t=new Error(\"In order to properly initialize Tabs in a way that is accessible to assistive technologies (such as screen readers) an `id` or a `generateChildId` prop to TabContainer is required\"))}return t},generateChildId:m.default.func,onSelect:m.default.func,activeKey:m.default.any},A={$bs_tabContainer:m.default.shape({activeKey:m.default.any,onSelect:m.default.func.isRequired,getTabId:m.default.func.isRequired,getPaneId:m.default.func.isRequired})},w=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.activeKey,n=e.onSelect,r=e.generateChildId,o=e.id,i=r||function(e,t){\nreturn o?o+\"-\"+t+\"-\"+e:null};return{$bs_tabContainer:{activeKey:t,onSelect:n,getTabId:function(e){return i(e,b)},getPaneId:function(e){return i(e,y)}}}},t.prototype.render=function(){var e=this.props,t=e.children,n=(0,i.default)(e,[\"children\"]);return delete n.generateChildId,delete n.onSelect,delete n.activeKey,p.default.cloneElement(p.default.Children.only(t),n)},t}(p.default.Component);w.propTypes=M,w.childContextTypes=A,t.default=(0,_.default)(w,{activeKey:\"onSelect\"}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w={componentClass:M.default,animation:y.default.oneOfType([y.default.bool,M.default]),mountOnEnter:y.default.bool,unmountOnExit:y.default.bool},C={componentClass:\"div\",animation:!0,mountOnEnter:!1,unmountOnExit:!1},E={$bs_tabContainer:y.default.shape({activeKey:y.default.any})},L={$bs_tabContent:y.default.shape({bsClass:y.default.string,animation:y.default.oneOfType([y.default.bool,M.default]),activeKey:y.default.any,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool,onPaneEnter:y.default.func.isRequired,onPaneExited:y.default.func.isRequired,exiting:y.default.bool.isRequired})},T=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handlePaneEnter=o.handlePaneEnter.bind(o),o.handlePaneExited=o.handlePaneExited.bind(o),o.state={activeKey:null,activeChild:null},o}return(0,p.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.bsClass,n=e.animation,r=e.mountOnEnter,o=e.unmountOnExit,i=this.state.activeKey,a=this.getContainerActiveKey(),s=null!=i?i:a,u=null!=i&&i!==a;return{$bs_tabContent:{bsClass:t,animation:n,activeKey:s,mountOnEnter:r,unmountOnExit:o,onPaneEnter:this.handlePaneEnter,onPaneExited:this.handlePaneExited,exiting:u}}},t.prototype.componentWillReceiveProps=function(e){!e.animation&&this.state.activeChild&&this.setState({activeKey:null,activeChild:null})},t.prototype.componentWillUnmount=function(){this.isUnmounted=!0},t.prototype.handlePaneEnter=function(e,t){return!!this.props.animation&&(t===this.getContainerActiveKey()&&(this.setState({activeKey:t,activeChild:e}),!0))},t.prototype.handlePaneExited=function(e){this.isUnmounted||this.setState(function(t){var n=t.activeChild;return n!==e?null:{activeKey:null,activeChild:null}})},t.prototype.getContainerActiveKey=function(){var e=this.context.$bs_tabContainer;return e&&e.activeKey},t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,A.splitBsPropsAndOmit)(r,[\"animation\",\"mountOnEnter\",\"unmountOnExit\"]),a=o[0],u=o[1];return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,(0,A.prefix)(a,\"content\"))}))},t}(_.default.Component);T.propTypes=w,T.defaultProps=C,T.contextTypes=E,T.childContextTypes=L,t.default=(0,A.bsClass)(\"tab\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return e=\"function\"==typeof e?e():e,a.default.findDOMNode(e)||t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(29),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){c.insertTreeBefore(e,t,n)}function i(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):m(e,t,n)}function a(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var i=o.nextSibling;if(m(e,o,r),o===n)break;o=i}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function l(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&m(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var c=n(137),d=n(1487),f=(n(34),n(65),n(320)),p=n(218),h=n(610),m=f(function(e,t,n){e.insertBefore(t,n)}),g=d.dangerouslyReplaceNodeWithMarkup,_={dangerouslyReplaceNodeWithMarkup:g,replaceDelimitedText:l,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case\"INSERT_MARKUP\":o(e,s.content,r(e,s.afterNode));break;case\"MOVE_EXISTING\":i(e,s.fromNode,r(e,s.afterNode));break;case\"SET_MARKUP\":p(e,s.content);break;case\"TEXT_CONTENT\":h(e,s.content);break;case\"REMOVE_NODE\":a(e,s.fromNode)}}}};e.exports=_},function(e,t){\"use strict\";var n={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};e.exports=n},function(e,t,n){\"use strict\";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:a(\"96\",e),!l.plugins[n]){t.extractEvents?void 0:a(\"97\",e),l.plugins[n]=t;var r=t.eventTypes;for(var i in r)o(r[i],t,i)?void 0:a(\"98\",i,e)}}}function o(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)?a(\"99\",n):void 0,l.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];i(s,t,n)}return!0}return!!e.registrationName&&(i(e.registrationName,t,n),!0)}function i(e,t,n){l.registrationNameModules[e]?a(\"100\",e):void 0,l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var a=n(24),s=(n(17),null),u={},l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?a(\"101\"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?a(\"102\",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};e.exports=l},function(e,t,n){\"use strict\";function r(e){return\"topMouseUp\"===e||\"topTouchEnd\"===e||\"topTouchCancel\"===e}function o(e){return\"topMouseMove\"===e||\"topTouchMove\"===e}function i(e){return\"topMouseDown\"===e||\"topTouchStart\"===e}function a(e,t,n,r){var o=e.type||\"unknown-event\";e.currentTarget=_.getNodeFromInstance(r),t?m.invokeGuardedCallbackWithCatch(o,n,e):m.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)a(e,t,n[o],r[o]);else n&&a(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function l(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function c(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h(\"103\"):void 0,e.currentTarget=t?_.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function d(e){return!!e._dispatchListeners}var f,p,h=n(24),m=n(318),g=(n(17),n(20),{injectComponentTree:function(e){f=e},injectTreeTraversal:function(e){p=e}}),_={isEndish:r,isMoveish:o,isStartish:i,executeDirectDispatch:c,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:l,hasDispatches:d,getInstanceFromNode:function(e){return f.getInstanceFromNode(e)},getNodeFromInstance:function(e){return f.getNodeFromInstance(e)},isAncestor:function(e,t){return p.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return p.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return p.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return p.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return p.traverseEnterLeave(e,t,n,r,o)},injection:g};e.exports=_},function(e,t){\"use strict\";function n(e){var t=/[=:]/g,n={\"=\":\"=0\",\":\":\"=2\"},r=(\"\"+e).replace(t,function(e){return n[e]});return\"$\"+r}function r(e){var t=/(=0|=2)/g,n={\"=0\":\"=\",\"=2\":\":\"},r=\".\"===e[0]&&\"$\"===e[1]?e.substring(2):e.substring(1);return(\"\"+r).replace(t,function(e){return n[e]})}var o={escape:n,unescape:r};e.exports=o},function(e,t,n){\"use strict\";function r(e){null!=e.checkedLink&&null!=e.valueLink?s(\"87\"):void 0}function o(e){r(e),null!=e.value||null!=e.onChange?s(\"88\"):void 0}function i(e){r(e),null!=e.checked||null!=e.onChange?s(\"89\"):void 0}function a(e){if(e){var t=e.getName();if(t)return\" Check the render method of `\"+t+\"`.\"}return\"\"}var s=n(24),u=n(1516),l=n(1546),c=n(143),d=l(c.isValidElement),f=(n(17),n(20),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),p={value:function(e,t,n){return!e[t]||f[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error(\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\")},onChange:d.func},h={},m={checkPropTypes:function(e,t,n){for(var r in p){if(p.hasOwnProperty(r))var o=p[r](t,r,e,\"prop\",null,u);if(o instanceof Error&&!(o.message in h)){h[o.message]=!0;a(n)}}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(i(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(i(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=m},function(e,t,n){\"use strict\";var r=n(24),o=(n(17),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o?r(\"104\"):void 0,i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};e.exports=i},function(e,t,n){\"use strict\";function r(e,t,n){try{t(n)}catch(e){null===o&&(o=e)}}var o=null,i={invokeGuardedCallback:r,invokeGuardedCallbackWithCatch:r,rethrowCaughtError:function(){if(o){var e=o;throw o=null,e}}};e.exports=i},function(e,t,n){\"use strict\";function r(e){u.enqueueUpdate(e)}function o(e){var t=typeof e;if(\"object\"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+\" (keys: \"+r.join(\", \")+\")\":n}function i(e,t){var n=s.get(e);if(!n){return null}return n}var a=n(24),s=(n(82),n(170)),u=(n(65),n(77)),l=(n(17),n(20),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){l.validateCallback(t,n);var o=i(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=i(e,\"forceUpdate\");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=i(e,\"replaceState\");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(l.validateCallback(n,\"replaceState\"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=i(e,\"setState\");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&\"function\"!=typeof e?a(\"122\",t,o(e)):void 0}});e.exports=l},function(e,t){\"use strict\";var n=function(e){return\"undefined\"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};e.exports=n},function(e,t){\"use strict\";function n(e){var t,n=e.keyCode;return\"charCode\"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}e.exports=n},function(e,t){\"use strict\";function n(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=o[e];return!!r&&!!n[r]}function r(e){return n}var o={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};e.exports=r},function(e,t){\"use strict\";function n(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}e.exports=n},function(e,t,n){\"use strict\";function r(e,t){if(!i.canUseDOM||t&&!(\"addEventListener\"in document))return!1;var n=\"on\"+e,r=n in document;if(!r){var a=document.createElement(\"div\");a.setAttribute(n,\"return;\"),r=\"function\"==typeof a[n]}return!r&&o&&\"wheel\"===e&&(r=document.implementation.hasFeature(\"Events.wheel\",\"3.0\")),r}var o,i=n(46);i.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature(\"\",\"\")!==!0),e.exports=r},function(e,t){\"use strict\";function n(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,i=typeof t;return\"string\"===o||\"number\"===o?\"string\"===i||\"number\"===i:\"object\"===i&&e.type===t.type&&e.key===t.key}e.exports=n},function(e,t,n){\"use strict\";var r=(n(28),n(63)),o=(n(20),r);e.exports=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(5),u=r(s),l=n(165),c=r(l),d=n(1),f=r(d),p=n(29),h=r(p),m=n(172),g=r(m),_=n(91),b=r(_),y=n(1559),v=r(y),M=function(e){function t(){var n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,e.call.apply(e,[this].concat(u))),r.setContainer=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:r.props;r._portalContainerNode=(0,g.default)(e.container,(0,b.default)(r).body)},r.getMountNode=function(){return r._portalContainerNode},a=n,i(r,a)}return a(t,e),t.prototype.componentDidMount=function(){this.setContainer(),this.forceUpdate(this.props.onRendered)},t.prototype.componentWillReceiveProps=function(e){e.container!==this.props.container&&this.setContainer(e)},t.prototype.componentWillUnmount=function(){this._portalContainerNode=null},t.prototype.render=function(){return this.props.children&&this._portalContainerNode?h.default.createPortal(this.props.children,this._portalContainerNode):null},t}(f.default.Component);M.displayName=\"Portal\",M.propTypes={container:u.default.oneOfType([c.default,u.default.func]),onRendered:u.default.func},t.default=h.default.createPortal?M:v.default,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var a=e[t],u=\"undefined\"==typeof a?\"undefined\":i(a);return s.default.isValidElement(a)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement. You can usually obtain a ReactComponent or DOMElement from a ReactElement by attaching a ref to it.\"):\"object\"===u&&\"function\"==typeof a.render||1===a.nodeType?null:new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+a+\"` \"+(\"supplied to `\"+n+\"`, expected a ReactComponent or a \")+\"DOMElement.\")}t.__esModule=!0;var i=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e},a=n(1),s=r(a),u=n(222),l=r(u);t.default=(0,l.default)(o)},function(e,t){\"use strict\";function n(e,t,n){function r(){return a=!0,s?void(l=[].concat(Array.prototype.slice.call(arguments))):void n.apply(this,arguments)}function o(){if(!a&&(u=!0,!s)){for(s=!0;!a&&i<e&&u;)u=!1,t.call(this,i++,o,r);return s=!1,a?void n.apply(this,l):void(i>=e&&u&&(a=!0,n()))}}var i=0,a=!1,s=!1,u=!1,l=void 0;o()}function r(e,t,n){function r(e,t,r){a||(t?(a=!0,n(t)):(i[e]=r,a=++s===o,a&&n(null,i)))}var o=e.length,i=[];if(0===o)return n(null,i);var a=!1,s=0;e.forEach(function(e,n){t(e,n,function(e,t){r(n,e,t)})})}t.__esModule=!0,t.loopAsync=n,t.mapAsync=r},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.router=t.routes=t.route=t.components=t.component=t.location=t.history=t.falsy=t.locationShape=t.routerShape=void 0;var i=n(1),a=n(224),s=(o(a),n(113)),u=r(s),l=n(42),c=(o(l),i.PropTypes.func),d=i.PropTypes.object,f=i.PropTypes.shape,p=i.PropTypes.string,h=t.routerShape=f({push:c.isRequired,replace:c.isRequired,go:c.isRequired,goBack:c.isRequired,goForward:c.isRequired,setRouteLeaveHook:c.isRequired,isActive:c.isRequired}),m=t.locationShape=f({pathname:p.isRequired,search:p.isRequired,state:d,action:p.isRequired,key:p}),g=t.falsy=u.falsy,_=t.history=u.history,b=t.location=m,y=t.component=u.component,v=t.components=u.components,M=t.route=u.route,A=(t.routes=u.routes,t.router=h),w={falsy:g,history:_,location:b,component:y,components:v,route:M,router:A};t.default=w},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!0;return!1}function i(e,t){function n(t){var n=!(arguments.length<=1||void 0===arguments[1])&&arguments[1],r=arguments.length<=2||void 0===arguments[2]?null:arguments[2],o=void 0;return n&&n!==!0||null!==r?(t={pathname:t,query:n},o=r||!1):(t=e.createLocation(t),o=n),(0,p.default)(t,o,M.location,M.routes,M.params)}function r(t){return e.createLocation(t,u.REPLACE)}function i(e,n){A&&A.location===e?s(A,n):(0,_.default)(t,e,function(t,r){t?n(t):r?s(a({},r,{location:e}),n):n()})}function s(e,t){function n(n,r){return n||r?o(n,r):void(0,m.default)(e,function(n,r){n?t(n):t(null,null,M=a({},e,{components:r}))})}function o(e,n){e?t(e):t(null,r(n))}var i=(0,c.default)(M,e),s=i.leaveRoutes,u=i.changeRoutes,l=i.enterRoutes;(0,d.runLeaveHooks)(s,M),s.filter(function(e){return l.indexOf(e)===-1}).forEach(b),(0,d.runChangeHooks)(u,M,e,function(t,r){return t||r?o(t,r):void(0,d.runEnterHooks)(l,e,n)})}function l(e){var t=arguments.length<=1||void 0===arguments[1]||arguments[1];return e.__id__||t&&(e.__id__=w++)}function f(e){return e.reduce(function(e,t){return e.push.apply(e,C[l(t)]),e},[])}function h(e,n){(0,_.default)(t,e,function(t,r){if(null==r)return void n();A=a({},r,{location:e});for(var o=f((0,c.default)(M,A).leaveRoutes),i=void 0,s=0,u=o.length;null==i&&s<u;++s)i=o[s](e);n(i)})}function g(){if(M.routes){for(var e=f(M.routes),t=void 0,n=0,r=e.length;\"string\"!=typeof t&&n<r;++n)t=e[n]();return t}}function b(e){var t=l(e,!1);t&&(delete C[t],o(C)||(E&&(E(),E=null),L&&(L(),L=null)))}function y(t,n){var r=l(t),i=C[r];if(i)i.indexOf(n)===-1&&i.push(n);else{var a=!o(C);C[r]=[n],a&&(E=e.listenBefore(h),e.listenBeforeUnload&&(L=e.listenBeforeUnload(g)))}return function(){var e=C[r];if(e){var o=e.filter(function(e){return e!==n});0===o.length?b(t):C[r]=o}}}function v(t){return e.listen(function(n){M.location===n?t(null,M):i(n,function(n,r,o){n?t(n):r?e.transitionTo(r):o&&t(null,o)})})}var M={},A=void 0,w=1,C=Object.create(null),E=void 0,L=void 0;return{isActive:n,match:i,listenBeforeLeavingRoute:y,listen:v}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(42),u=(r(s),n(90)),l=n(1589),c=r(l),d=n(1586),f=n(1593),p=r(f),h=n(1590),m=r(h),g=n(1595),_=r(g);e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}var o=n(145),i=n(333),a=(n(632),n(162));n(17),n(20);r.prototype.isReactComponent={},r.prototype.setState=function(e,t){\"object\"!=typeof e&&\"function\"!=typeof e&&null!=e?o(\"85\"):void 0,this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,\"setState\")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,\"forceUpdate\")};e.exports=r},function(e,t,n){\"use strict\";function r(e,t){}var o=(n(20),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){r(e,\"forceUpdate\")},enqueueReplaceState:function(e,t){r(e,\"replaceState\")},enqueueSetState:function(e,t){r(e,\"setState\")}});e.exports=o},function(e,t){\"use strict\";t.__esModule=!0;t.ADD_ARRAY_VALUE=\"redux-form/ADD_ARRAY_VALUE\",t.AUTOFILL=\"redux-form/AUTOFILL\",t.BLUR=\"redux-form/BLUR\",t.CHANGE=\"redux-form/CHANGE\",t.DESTROY=\"redux-form/DESTROY\",t.FOCUS=\"redux-form/FOCUS\",t.INITIALIZE=\"redux-form/INITIALIZE\",t.REMOVE_ARRAY_VALUE=\"redux-form/REMOVE_ARRAY_VALUE\",t.RESET=\"redux-form/RESET\",t.START_ASYNC_VALIDATION=\"redux-form/START_ASYNC_VALIDATION\",t.START_SUBMIT=\"redux-form/START_SUBMIT\",t.STOP_ASYNC_VALIDATION=\"redux-form/STOP_ASYNC_VALIDATION\",t.STOP_SUBMIT=\"redux-form/STOP_SUBMIT\",t.SUBMIT_FAILED=\"redux-form/SUBMIT_FAILED\",t.SWAP_ARRAY_VALUES=\"redux-form/SWAP_ARRAY_VALUES\",t.TOUCH=\"redux-form/TOUCH\",t.UNTOUCH=\"redux-form/UNTOUCH\"},function(e,t){\"use strict\";function n(e,t){return e?Object.keys(e).reduce(function(n,o){var i;return r({},n,(i={},i[o]=t(e[o],o),i))},{}):e}t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.form,i=n.key,a=o(n,[\"form\",\"key\"]);if(!r)return t;if(i){var s,u;if(n.type===c.DESTROY){var d;return l({},t,(d={},d[r]=t[r]&&Object.keys(t[r]).reduce(function(e,n){var o;return n===i?e:l({},e,(o={},o[n]=t[r][n],o))},{}),d))}return l({},t,(u={},u[r]=l({},t[r],(s={},s[i]=x((t[r]||{})[i],a),s)),u))}return n.type===c.DESTROY?Object.keys(t).reduce(function(e,n){var o;return n===r?e:l({},e,(o={},o[n]=t[n],o))},{}):l({},t,(e={},e[r]=x(t[r],a),e))}function a(e){return e.plugin=function(e){var t=this;return a(function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t(n,r);return l({},o,(0,f.default)(e,function(e,t){return e(o[t]||k,r)}))})},e.normalize=function(e){var t=this;return a(function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=t(n,r);return l({},o,(0,f.default)(e,function(e,t){var i=function(t,n){var r=(0,b.default)(l({},k,t)),o=l({},k,n),i=(0,b.default)(o);return(0,T.default)(e,o,t,i,r)};if(r.key){var a;return l({},o[t],(a={},a[r.key]=i(n[t][r.key],o[t][r.key]),a))}return i(n[t],o[t])}))})},e}t.__esModule=!0,t.initialState=t.globalErrorKey=void 0;var s,u,l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(334),d=n(335),f=r(d),p=n(645),h=r(p),m=n(646),g=r(m),_=n(642),b=r(_),y=n(643),v=r(y),M=n(1631),A=r(M),w=n(1632),C=r(w),E=n(146),L=n(1627),T=r(L),O=n(635),S=r(O),N=t.globalErrorKey=\"_error\",k=t.initialState=(s={_active:void 0,_asyncValidating:!1},s[N]=void 0,s._initialized=!1,s._submitting=!1,s._submitFailed=!1,s),D=(u={},u[c.ADD_ARRAY_VALUE]=function(e,t){var n=t.path,r=t.index,o=t.value,i=t.fields,a=(0,h.default)(n,e),s=l({},e),u=a?[].concat(a):[],c=null!==o&&\"object\"==typeof o?(0,v.default)(o,i||Object.keys(o)):(0,E.makeFieldValue)({value:o});return void 0===r?u.push(c):u.splice(r,0,c),(0,g.default)(n,u,s)},u[c.AUTOFILL]=function(e,t){var n=t.field,r=t.value;return(0,g.default)(n,function(e){var t=l({},e,{value:r,autofilled:!0}),n=(t.asyncError,t.submitError,o(t,[\"asyncError\",\"submitError\"]));return(0,E.makeFieldValue)(n)},e)},u[c.BLUR]=function(e,t){var n=t.field,r=t.value,i=t.touch,a=e._active,s=o(e,[\"_active\"]);return a&&a!==n&&(s._active=a),(0,g.default)(n,function(e){var t=l({},e);return void 0!==r&&(t.value=r),i&&(t.touched=!0),(0,E.makeFieldValue)(t)},s)},u[c.CHANGE]=function(e,t){var n=t.field,r=t.value,i=t.touch;return(0,g.default)(n,function(e){var t=l({},e,{value:r}),n=(t.asyncError,t.submitError,t.autofilled,o(t,[\"asyncError\",\"submitError\",\"autofilled\"]));return i&&(n.touched=!0),(0,E.makeFieldValue)(n)},e)},u[c.DESTROY]=function(){},u[c.FOCUS]=function(e,t){var n=t.field,r=(0,g.default)(n,function(e){return(0,E.makeFieldValue)(l({},e,{visited:!0}))},e);return r._active=n,r},u[c.INITIALIZE]=function(e,t){var n=t.data,r=t.fields,o=t.overwriteValues;return(0,S.default)(n,r,e,o)},u[c.REMOVE_ARRAY_VALUE]=function(e,t){var n=t.path,r=t.index,o=(0,h.default)(n,e),i=l({},e),a=o?[].concat(o):[];return void 0===r?a.pop():isNaN(r)?delete a[r]:a.splice(r,1),(0,g.default)(n,a,i)},u[c.RESET]=function(e){var t;return l({},(0,A.default)(e),(t={_active:void 0,_asyncValidating:!1},t[N]=void 0,t._initialized=e._initialized,t._submitting=!1,t._submitFailed=!1,t))},u[c.START_ASYNC_VALIDATION]=function(e,t){var n=t.field;return l({},e,{_asyncValidating:n||!0})},u[c.START_SUBMIT]=function(e){return l({},e,{_submitting:!0})},u[c.STOP_ASYNC_VALIDATION]=function(e,t){var n,r=t.errors;return l({},(0,C.default)(e,r,\"asyncError\"),(n={_asyncValidating:!1},n[N]=r&&r[N],n))},u[c.STOP_SUBMIT]=function(e,t){var n,r=t.errors;return l({},(0,C.default)(e,r,\"submitError\"),(n={},n[N]=r&&r[N],n._submitting=!1,n._submitFailed=!(!r||!Object.keys(r).length),n))},u[c.SUBMIT_FAILED]=function(e){return l({},e,{_submitFailed:!0})},u[c.SWAP_ARRAY_VALUES]=function(e,t){var n=t.path,r=t.indexA,o=t.indexB,i=(0,h.default)(n,e),a=i.length;if(r===o||isNaN(r)||isNaN(o)||r>=a||o>=a)return e;var s=l({},e),u=[].concat(i);return u[r]=i[o],u[o]=i[r],(0,g.default)(n,u,s)},u[c.TOUCH]=function(e,t){var n=t.fields;return l({},e,n.reduce(function(e,t){return(0,g.default)(t,function(e){return(0,E.makeFieldValue)(l({},e,{touched:!0}))},e)},e))},u[c.UNTOUCH]=function(e,t){var n=t.fields;return l({},e,n.reduce(function(e,t){return(0,g.default)(t,function(e){if(e){var t=(e.touched,o(e,[\"touched\"]));return(0,E.makeFieldValue)(t)}return(0,E.makeFieldValue)(e)},e)},e))},u),x=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:k,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=D[t.type];return n?n(e,t):e};t.default=a(i)},function(e,t){\"use strict\";e.exports=!(\"undefined\"==typeof window||!window.document||!window.document.createElement)},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTggMTgiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcGF0aCk7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogIzIwMjUyZDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4KICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNzc0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNzc0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgMTE3KSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9ImNvcHkiIGNsYXNzPSJjbHMtMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC0xMTcpIj4KICAgIDxwYXRoIGlkPSJTdWJ0cmFjdGlvbl80NyIgZGF0YS1uYW1lPSJTdWJ0cmFjdGlvbiA0NyIgY2xhc3M9ImNscy0zIiBkPSJNLTQ3OTcuNiwyMDk2SC00ODA4di0xMC40aDEuM3Y5LjFoOS4xdjEuM1ptMi42LTIuNmgtMTAuNFYyMDgzaDYuNWwzLjksMy45NjV2Ni40MzRabS05LjEtOS4xdjcuOGg3Ljh2LTMuOWgtMy45di0zLjlabTUuMDUxLS4wNDN2Mi45MTZoMi43MjNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0ODcxLjUgLTE5NjMuNSkiLz4KICA8L2c+Cjwvc3ZnPgo=\"},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./coinbase.svg\":666,\"./crossIn.svg\":1688,\"./crossOut.svg\":1689,\"./fail.svg\":1690,\"./issue.svg\":1691,\"./received.svg\":1692,\"./retire.svg\":1693,\"./sent.svg\":1694,\"./success.svg\":1695,\"./veto.svg\":1696,\"./vote.svg\":1697};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=339},function(e,t){function n(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}e.exports=n},function(e,t,n){function r(e,t){if(null==e)return{};var n,r,i=o(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var o=n(673);e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.store=void 0,n(900);var o=n(1),i=r(o),a=n(29),s=n(680),u=r(s),l=n(681),c=r(l),d=n(4),f=n(873),p=r(f),h=n(1263),m=document.createElement(\"link\");m.type=\"image/png\",m.rel=\"shortcut icon\",m.href=h,document.getElementsByTagName(\"head\")[0].appendChild(m);var g=t.store=(0,c.default)();(0,a.render)(i.default.createElement(d.I18nextProvider,{i18n:p.default},i.default.createElement(u.default,{store:g})),document.getElementById(\"root\"))},[1708,700,710],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.navIcon=void 0;var o=n(1),i=r(o);t.navIcon=function(e,t){var r=!1,o=n(1705)(\"./\"+e+\".png\");try{r=n(1704)(\"./\"+e+\"-active.png\")}catch(e){}return i.default.createElement(\"span\",{className:t.iconWrapper},i.default.createElement(\"img\",{className:t.icon,src:o}),r&&i.default.createElement(\"img\",{className:t.activeIcon,src:r}))}},[1709,722,725],[1709,734,737],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.DetailSummary=t.List=void 0;var o=n(745),i=r(o),a=n(744),s=r(a);t.List=i.default,t.DetailSummary=s.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=n(14),a=n(41),s=\"key\",u=function(){return(0,i.chainClient)().mockHsm.keys},l=(0,o.baseListActions)(s,{className:\"Key\",clientApi:u}),c=(0,o.baseCreateActions)(s,{className:\"Key\",clientApi:u}),d=(0,o.baseUpdateActions)(s,{className:\"Key\",clientApi:u});c.submitForm=function(e){return function(t){return\"string\"==typeof e.alias&&(e.alias=e.alias.trim()),u().create(e).then(function(e){if(\"fail\"===e.status)throw e;t({type:\"NEW_KEY\",data:e.data.mnemonic}),t((0,a.push)(\"/keys/mnemonic\"))})}};var f={submitResetForm:function(e){var t=Promise.resolve();return function(n){return t.then(function(){return u().resetPassword(e).then(function(e){if(!e.data.changed)throw{code:\"F_BTM001\"};n({type:\"RESET_PASSWORD_\"+s.toUpperCase(),resp:e}),n((0,a.push)({pathname:\"/accounts\",state:{preserveFlash:!0\n}}))})})}}},p=function(e){return function(t){return u().checkPassword(e).then(function(e){if(\"fail\"===e.status)throw e;if(!e.data.checkResult)throw{code:\"F_BTM000\"};t({type:\"KEY_PASSWORD_SUCCESS\"})})}},h=function(e,t){return function(n){u().export(e).then(function(e){if(\"success\"==e.status){var r=e.data.privateKey,o=document.createElement(\"a\");o.setAttribute(\"href\",\"data:text/plain;charset=utf-8,\"+encodeURIComponent(r)),o.setAttribute(\"download\",t),o.style.display=\"none\",document.body.appendChild(o),o.click(),document.body.removeChild(o)}else\"fail\"==e.status&&n({type:\"ERROR\",payload:{message:e.msg}})})}},m=function(){return function(e){e(c.created()),e((0,a.push)(\"/keys\"))}};t.default=r({},c,l,d,f,{checkPassword:p,createExport:h,createSuccess:m})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.mapDispatchToProps=t.mapStateToProps=void 0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1207),f=r(d),p=n(1405),h=r(p),m=n(15),g=r(m),_=function(e){function t(){o(this,t);var e=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.state={suggestions:[]},e.getSuggestionValue=e.getSuggestionValue.bind(e),e.renderSuggestion=e.renderSuggestion.bind(e),e.onSuggestionsFetchRequested=e.onSuggestionsFetchRequested.bind(e),e.onSuggestionsClearRequested=e.onSuggestionsClearRequested.bind(e),e}return a(t,e),u(t,[{key:\"getSuggestions\",value:function(e){var t=e.trim().replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\");if(\"\"===t)return[];var n=new RegExp(\"^\"+t,\"i\"),r=this.props.items.filter(function(e){return n.test(e.alias)});return r.sort(function(e,t){return e.alias.localeCompare(t.alias)}),r}},{key:\"getSuggestionValue\",value:function(e){return e.alias}},{key:\"renderSuggestion\",value:function(e){var t=this;return c.default.createElement(\"div\",{onMouseOver:function(){return t.props.fieldProps.onChange(e.alias)}},c.default.createElement(\"span\",null,e.alias))}},{key:\"onSuggestionsFetchRequested\",value:function(e){var t=this,n=e.value;this.props.autocompleteIsLoaded?this.setState({suggestions:this.getSuggestions(n)}):this.props.fetchAll().then(function(){t.setState({suggestions:t.getSuggestions(n)}),t.props.didLoadAutocomplete()})}},{key:\"onSuggestionsClearRequested\",value:function(){this.setState({suggestions:[]})}},{key:\"keyCheck\",value:function(e){var t=this.state.suggestions;if(t.length>0&&(9==e.keyCode||13==e.keyCode)){13==e.keyCode&&e.preventDefault();var n=t[0].alias,r=this.props.fieldProps.value.toLowerCase();n.toLowerCase().startsWith(r)&&this.props.fieldProps.onChange(n)}}},{key:\"render\",value:function(){var e=this,t=this.state.suggestions,n=this.props.fieldProps;return c.default.createElement(h.default,{theme:f.default,suggestions:t,onSuggestionsFetchRequested:this.onSuggestionsFetchRequested,onSuggestionsClearRequested:this.onSuggestionsClearRequested,onSuggestionSelected:function(e){return e.preventDefault()},getSuggestionValue:this.getSuggestionValue,renderSuggestion:this.renderSuggestion,focusFirstSuggestion:!0,inputProps:s({className:\"form-control \"+this.props.className},n,{value:n.value,placeholder:this.props.placeholder,disabled:this.props.disabled,onChange:function(e,t){var r=t.newValue;return n.onChange(r)},onKeyDown:function(t){return e.keyCheck(t)}})})}}]),t}(c.default.Component);t.default=_;t.mapStateToProps=function(e){return function(t){return{autocompleteIsLoaded:t[e].autocompleteIsLoaded,items:Object.keys(t[e].items).map(function(n){return t[e].items[n]})}}},t.mapDispatchToProps=function(e){return function(t){return{didLoadAutocomplete:function(){return t(g.default[e].didLoadAutocomplete)},fetchAll:function(){return t(g.default[e].fetchAll())}}}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1216),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"label\",{className:d.default.main},this.props.children)}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(4),d=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:\"jumbotron text-center\"},l.default.createElement(\"h3\",null,\"404 \",e(\"notFound.title\")),l.default.createElement(\"p\",null,e(\"notFound.word\")))}}]),t}(l.default.Component);t.default=(0,c.withNamespaces)(\"translations\")(d)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.fetchTestnetInfo=void 0;var r=n(14),o=n(421)(),i=o.fetch,a=t.fetchTestnetInfo=function(){return function(e){return i(r.testnetInfoUrl).then(function(e){return e.json()}).then(function(t){return e({type:\"TESTNET_CONFIG\",data:t}),t})}},s={fetchTestnetInfo:a};t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.utils=t.reducers=t.actions=void 0;var o=n(352),i=r(o),a=n(832),s=r(a),u=n(833),l=r(u);t.actions=i.default,t.reducers=s.default,t.utils=l.default},[1708,862,866],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(230),i=n(10),a=n(686),s=r(a),u=n(175),l=n(231),c=n(232),d=n(346),f=n(176),p=n(233),h=n(234),m=n(180),g=n(178),_=n(238),b=n(235),y=n(345),v=n(177),M=function(e){return{path:\"/\",component:o.Container,childRoutes:[(0,s.default)(e),(0,u.routes)(e),(0,l.routes)(e),(0,c.routes)(e),d.routes,f.routes,(0,p.routes)(e),(0,v.routes)(e),h.routes,(0,m.routes)(e),(0,g.routes)(e),(0,_.routes)(e),(0,b.routes)(e),y.routes,{path:\"*\",component:i.NotFound}]}};t.default=M},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(45),s=function(){function e(){o(this,e),this.signers={}}return i(e,[{key:\"addKey\",value:function(e,t){var n=t.baseUrl+\"-\"+(t.token||\"noauth\"),r=this.signers[n];r||(r=this.signers[n]={connection:t,xpubs:[]}),r.xpubs.push(\"string\"==typeof e?e:e.xpub)}},{key:\"sign\",value:function(e,t){var n=this,r=Promise.resolve(e);if(0==Object.keys(this.signers).length)return a.tryCallback(r,t);var o=function(e){var t=n.signers[e];r=r.then(function(e){return t.connection.request(\"/sign-transaction\",{transactions:[e],xpubs:t.xpubs})}).then(function(e){return e[0]})};for(var i in this.signers)o(i);return a.tryCallback(r,t)}},{key:\"signBatch\",value:function(e,t){var n=this;e=e.filter(function(e){return null!=e});var o=Promise.resolve(e);if(0==Object.keys(this.signers).length)return a.tryCallback(o.then(function(){return new a.BatchResponse(e)}),t);var i=[].concat(r(Array(e.length).keys())),s=[],u=function(e){var t=[],r=[],u=n.signers[e];o=o.then(function(e){return u.connection.request(\"/sign-transaction\",{transactions:e,xpubs:u.xpubs}).then(function(e){var n=new a.BatchResponse(e);return n.successes.forEach(function(e,n){t.push(e),r.push(i[n])}),n.errors.forEach(function(e,t){s[i[t]]=e}),i=r,t})})};for(var l in this.signers)u(l);return a.tryCallback(o.then(function(e){var t=[];return e.forEach(function(e,n){t[i[n]]=e}),s.forEach(function(e,n){null!=e&&(t[n]=e)}),new a.BatchResponse(t)}),t)}}]),e}();e.exports=s},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.clear=function(){try{localStorage.clear()}catch(e){}},t.exportState=function(e){return function(){var t=e.getState(),n={core:{clientToken:(t.core||{}).clientToken,requireClientToken:(t.core||{}).requireClientToken,validToken:(t.core||{}).validToken,btmAmountUnit:t.core.btmAmountUnit,accountInit:t.core.accountInit},app:{navAdvancedState:t.app.navAdvancedState},account:{currentAccount:t.account.currentAccount},transaction:{generated:(t.transaction||{}).generated,pageIds:(t.transaction||{}).pageIds},tutorial:t.tutorial};try{localStorage.setItem(\"reduxState\",JSON.stringify(n))}catch(e){}}},t.importState=function(){var e=void 0;try{e=localStorage.getItem(\"reduxState\")}catch(e){}if(!e)return{};try{return JSON.parse(e)}catch(e){return{}}}},function(e,t){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();t.DeltaSampler=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=t.sampleTtl,o=void 0===r?6e4:r,i=t.maxSamples,a=void 0===i?30:i;n(this,e),this.sampleTtl=o,this.maxSamples=a,this.samples=[]}return r(e,[{key:\"sample\",value:function(e){return this.samples.push({value:e,time:Date.now()}),this.samples.length>this.maxSamples&&this.samples.shift(),this.average()}},{key:\"average\",value:function(){for(var e=Date.now()-this.sampleTtl,t=null,n=null,r=0;r<this.samples.length;r++){var o=this.samples[r];o.time<e||(null===t&&(t=o),n=o)}return t===n?NaN:1e3*(n.value-t.value)/(n.time-t.time)}}]),e}(),t.humanizeDuration=function(e){if(0==e)return\"0s\";var t=1,n=60*t,r=60*n,o=24*r,i=void 0,a=void 0,s=void 0,u=void 0;e>=o?(i=o,a=r,s=\"d\",u=\"h\"):e>=r?(i=r,a=n,s=\"h\",u=\"m\"):(i=n,a=t,s=\"m\",u=\"s\");var l=Math.floor(e/i),c=Math.round(e%i/a);if(c==i/a)return\"\"+(l+1)+s;var d=\"\"+l+s,f=\"\"+c+u;return l>9||0==c?d:0==l?f:d+\" \"+f}},function(e,t,n){e.exports={default:n(916),__esModule:!0}},function(e,t,n){e.exports={default:n(918),__esModule:!0}},function(e,t,n){var r;!function(o){\"use strict\";function i(e){function t(e,n){var r,o,i,a,s,u,c,d,f=this;if(!(f instanceof t))return new t(e,n);if(null==n){if(e instanceof t)return f.s=e.s,f.e=e.e,void(f.c=(e=e.c)?e.slice():e);if(u=\"number\"==typeof e,u&&0*e==0){if(f.s=1/e<0?(e=-e,-1):1,e===~~e){for(a=0,s=e;s>=10;s/=10,a++);return f.e=a,void(f.c=[e])}d=e+\"\"}else{if(!m.test(d=e+\"\"))return O(f,d,u);f.s=45==d.charCodeAt(0)?(d=d.slice(1),-1):1}(a=d.indexOf(\".\"))>-1&&(d=d.replace(\".\",\"\")),(s=d.search(/e/i))>0?(a<0&&(a=s),a+=+d.slice(s+1),d=d.substring(0,s)):a<0&&(a=d.length)}else{if(l(n,2,W.length,\"Base\"),d=e+\"\",10==n)return f=new t(e instanceof t?e:d),h(f,k+f.e+1,D);if(u=\"number\"==typeof e){if(0*e!=0)return O(f,d,u,n);if(f.s=1/e<0?(d=d.slice(1),-1):1,t.DEBUG&&d.replace(/^0\\.0*|\\./,\"\").length>15)throw Error(y+e);u=!1}else f.s=45===d.charCodeAt(0)?(d=d.slice(1),-1):1;for(r=W.slice(0,n),a=s=0,c=d.length;s<c;s++)if(r.indexOf(o=d.charAt(s))<0){if(\".\"==o){if(s>a){a=c;continue}}else if(!i&&(d==d.toUpperCase()&&(d=d.toLowerCase())||d==d.toLowerCase()&&(d=d.toUpperCase()))){i=!0,s=-1,a=0;continue}return O(f,e+\"\",u,n)}d=T(d,n,10,f.s),(a=d.indexOf(\".\"))>-1?d=d.replace(\".\",\"\"):a=d.length}for(s=0;48===d.charCodeAt(s);s++);for(c=d.length;48===d.charCodeAt(--c););if(d=d.slice(s,++c)){if(c-=s,u&&t.DEBUG&&c>15&&(e>A||e!==_(e)))throw Error(y+f.s*e);if(a=a-s-1,a>j)f.c=f.e=null;else if(a<z)f.c=[f.e=0];else{if(f.e=a,f.c=[],s=(a+1)%M,a<0&&(s+=M),s<c){for(s&&f.c.push(+d.slice(0,s)),c-=M;s<c;)f.c.push(+d.slice(s,s+=M));d=d.slice(s),s=M-d.length}else s-=c;for(;s--;d+=\"0\");f.c.push(+d)}}else f.c=[f.e=0]}function n(e,n,r,o){var i,a,u,c,d;if(null==r?r=D:l(r,0,8),!e.c)return e.toString();if(i=e.c[0],u=e.e,null==n)d=s(e.c),d=1==o||2==o&&u<=x?f(d,u):p(d,u,\"0\");else if(e=h(new t(e),n,r),a=e.e,d=s(e.c),c=d.length,1==o||2==o&&(n<=a||a<=x)){for(;c<n;d+=\"0\",c++);d=f(d,a)}else if(n-=u,d=p(d,a,\"0\"),a+1>c){if(--n>0)for(d+=\".\";n--;d+=\"0\");}else if(n+=a-c,n>0)for(a+1==c&&(d+=\".\");n--;d+=\"0\");return e.s<0&&i?\"-\"+d:d}function r(e,n){var r,o,i=0;for(c(e[0])&&(e=e[0]),r=new t(e[0]);++i<e.length;){if(o=new t(e[i]),!o.s){r=o;break}n.call(r,o)&&(r=o)}return r}function o(e,t,n){for(var r=1,o=t.length;!t[--o];t.pop());for(o=t[0];o>=10;o/=10,r++);return(n=r+n*M-1)>j?e.c=e.e=null:n<z?e.c=[e.e=0]:(e.e=n,e.c=t),e}function h(e,t,n,r){var o,i,a,s,u,l,c,d=e.c,f=w;if(d){e:{for(o=1,s=d[0];s>=10;s/=10,o++);if(i=t-o,i<0)i+=M,a=t,u=d[l=0],c=u/f[o-a-1]%10|0;else if(l=g((i+1)/M),l>=d.length){if(!r)break e;for(;d.length<=l;d.push(0));u=c=0,o=1,i%=M,a=i-M+1}else{for(u=s=d[l],o=1;s>=10;s/=10,o++);i%=M,a=i-M+o,c=a<0?0:u/f[o-a-1]%10|0}if(r=r||t<0||null!=d[l+1]||(a<0?u:u%f[o-a-1]),r=n<4?(c||r)&&(0==n||n==(e.s<0?3:2)):c>5||5==c&&(4==n||r||6==n&&(i>0?a>0?u/f[o-a]:0:d[l-1])%10&1||n==(e.s<0?8:7)),t<1||!d[0])return d.length=0,r?(t-=e.e+1,d[0]=f[(M-t%M)%M],e.e=-t||0):d[0]=e.e=0,e;if(0==i?(d.length=l,s=1,l--):(d.length=l+1,s=f[M-i],d[l]=a>0?_(u/f[o-a]%f[a])*s:0),r)for(;;){if(0==l){for(i=1,a=d[0];a>=10;a/=10,i++);for(a=d[0]+=s,s=1;a>=10;a/=10,s++);i!=s&&(e.e++,d[0]==v&&(d[0]=1));break}if(d[l]+=s,d[l]!=v)break;d[l--]=0,s=1}for(i=d.length;0===d[--i];d.pop());}e.e>j?e.c=e.e=null:e.e<z&&(e.c=[e.e=0])}return e}var L,T,O,S=t.prototype={constructor:t,toString:null,valueOf:null},N=new t(1),k=20,D=4,x=-7,I=21,z=-1e7,j=1e7,P=!1,B=1,F=0,R={decimalSeparator:\".\",groupSeparator:\",\",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:\"\u00a0\",fractionGroupSize:0},W=\"0123456789abcdefghijklmnopqrstuvwxyz\";return t.clone=i,t.ROUND_UP=0,t.ROUND_DOWN=1,t.ROUND_CEIL=2,t.ROUND_FLOOR=3,t.ROUND_HALF_UP=4,t.ROUND_HALF_DOWN=5,t.ROUND_HALF_EVEN=6,t.ROUND_HALF_CEIL=7,t.ROUND_HALF_FLOOR=8,t.EUCLID=9,t.config=t.set=function(e){var t,n;if(null!=e){if(\"object\"!=typeof e)throw Error(b+\"Object expected: \"+e);if(e.hasOwnProperty(t=\"DECIMAL_PLACES\")&&(n=e[t],l(n,0,E,t),k=n),e.hasOwnProperty(t=\"ROUNDING_MODE\")&&(n=e[t],l(n,0,8,t),D=n),e.hasOwnProperty(t=\"EXPONENTIAL_AT\")&&(n=e[t],c(n)?(l(n[0],-E,0,t),l(n[1],0,E,t),x=n[0],I=n[1]):(l(n,-E,E,t),x=-(I=n<0?-n:n))),e.hasOwnProperty(t=\"RANGE\"))if(n=e[t],c(n))l(n[0],-E,-1,t),l(n[1],1,E,t),z=n[0],j=n[1];else{if(l(n,-E,E,t),!n)throw Error(b+t+\" cannot be zero: \"+n);z=-(j=n<0?-n:n)}if(e.hasOwnProperty(t=\"CRYPTO\")){if(n=e[t],n!==!!n)throw Error(b+t+\" not true or false: \"+n);if(n){if(\"undefined\"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw P=!n,Error(b+\"crypto unavailable\");P=n}else P=n}if(e.hasOwnProperty(t=\"MODULO_MODE\")&&(n=e[t],l(n,0,9,t),B=n),e.hasOwnProperty(t=\"POW_PRECISION\")&&(n=e[t],l(n,0,E,t),F=n),e.hasOwnProperty(t=\"FORMAT\")){if(n=e[t],\"object\"!=typeof n)throw Error(b+t+\" not an object: \"+n);R=n}if(e.hasOwnProperty(t=\"ALPHABET\")){if(n=e[t],\"string\"!=typeof n||/^.$|\\.|(.).*\\1/.test(n))throw Error(b+t+\" invalid: \"+n);W=n}}return{DECIMAL_PLACES:k,ROUNDING_MODE:D,EXPONENTIAL_AT:[x,I],RANGE:[z,j],CRYPTO:P,MODULO_MODE:B,POW_PRECISION:F,FORMAT:R,ALPHABET:W}},t.isBigNumber=function(e){return e instanceof t||e&&e._isBigNumber===!0||!1},t.maximum=t.max=function(){return r(arguments,S.lt)},t.minimum=t.min=function(){return r(arguments,S.gt)},t.random=function(){var e=9007199254740992,n=Math.random()*e&2097151?function(){return _(Math.random()*e)}:function(){return 8388608*(1073741824*Math.random()|0)+(8388608*Math.random()|0)};return function(e){var r,o,i,a,s,u=0,c=[],d=new t(N);if(null==e?e=k:l(e,0,E),a=g(e/M),P)if(crypto.getRandomValues){for(r=crypto.getRandomValues(new Uint32Array(a*=2));u<a;)s=131072*r[u]+(r[u+1]>>>11),s>=9e15?(o=crypto.getRandomValues(new Uint32Array(2)),r[u]=o[0],r[u+1]=o[1]):(c.push(s%1e14),u+=2);u=a/2}else{if(!crypto.randomBytes)throw P=!1,Error(b+\"crypto unavailable\");for(r=crypto.randomBytes(a*=7);u<a;)s=281474976710656*(31&r[u])+1099511627776*r[u+1]+4294967296*r[u+2]+16777216*r[u+3]+(r[u+4]<<16)+(r[u+5]<<8)+r[u+6],s>=9e15?crypto.randomBytes(7).copy(r,u):(c.push(s%1e14),u+=7);u=a/7}if(!P)for(;u<a;)s=n(),s<9e15&&(c[u++]=s%1e14);for(a=c[--u],e%=M,a&&e&&(s=w[M-e],c[u]=_(a/s)*s);0===c[u];c.pop(),u--);if(u<0)c=[i=0];else{for(i=-1;0===c[0];c.splice(0,1),i-=M);for(u=1,s=c[0];s>=10;s/=10,u++);u<M&&(i-=M-u)}return d.e=i,d.c=c,d}}(),T=function(){function e(e,t,n,r){for(var o,i,a=[0],s=0,u=e.length;s<u;){for(i=a.length;i--;a[i]*=t);for(a[0]+=r.indexOf(e.charAt(s++)),o=0;o<a.length;o++)a[o]>n-1&&(null==a[o+1]&&(a[o+1]=0),a[o+1]+=a[o]/n|0,a[o]%=n)}return a.reverse()}var n=\"0123456789\";return function(r,o,i,a,u){var l,c,d,f,h,m,g,_,b=r.indexOf(\".\"),y=k,v=D;for(b>=0&&(f=F,F=0,r=r.replace(\".\",\"\"),_=new t(o),m=_.pow(r.length-b),F=f,_.c=e(p(s(m.c),m.e,\"0\"),10,i,n),_.e=_.c.length),g=e(r,o,i,u?(l=W,n):(l=n,W)),d=f=g.length;0==g[--f];g.pop());if(!g[0])return l.charAt(0);if(b<0?--d:(m.c=g,m.e=d,m.s=a,m=L(m,_,y,v,i),g=m.c,h=m.r,d=m.e),c=d+y+1,b=g[c],f=i/2,h=h||c<0||null!=g[c+1],h=v<4?(null!=b||h)&&(0==v||v==(m.s<0?3:2)):b>f||b==f&&(4==v||h||6==v&&1&g[c-1]||v==(m.s<0?8:7)),c<1||!g[0])r=h?p(l.charAt(1),-y,l.charAt(0)):l.charAt(0);else{if(g.length=c,h)for(--i;++g[--c]>i;)g[c]=0,c||(++d,g=[1].concat(g));for(f=g.length;!g[--f];);for(b=0,r=\"\";b<=f;r+=l.charAt(g[b++]));r=p(r,d,l.charAt(0))}return r}}(),L=function(){function e(e,t,n){var r,o,i,a,s=0,u=e.length,l=t%C,c=t/C|0;for(e=e.slice();u--;)i=e[u]%C,a=e[u]/C|0,r=c*i+a*l,o=l*i+r%C*C+s,s=(o/n|0)+(r/C|0)+c*a,e[u]=o%n;return s&&(e=[s].concat(e)),e}function n(e,t,n,r){var o,i;if(n!=r)i=n>r?1:-1;else for(o=i=0;o<n;o++)if(e[o]!=t[o]){i=e[o]>t[o]?1:-1;break}return i}function r(e,t,n,r){for(var o=0;n--;)e[n]-=o,o=e[n]<t[n]?1:0,e[n]=o*r+e[n]-t[n];for(;!e[0]&&e.length>1;e.splice(0,1));}return function(o,i,s,u,l){var c,d,f,p,m,g,b,y,A,w,C,E,L,T,O,S,N,k=o.s==i.s?1:-1,D=o.c,x=i.c;if(!(D&&D[0]&&x&&x[0]))return new t(o.s&&i.s&&(D?!x||D[0]!=x[0]:x)?D&&0==D[0]||!x?0*k:k/0:NaN);for(y=new t(k),A=y.c=[],d=o.e-i.e,k=s+d+1,l||(l=v,d=a(o.e/M)-a(i.e/M),k=k/M|0),f=0;x[f]==(D[f]||0);f++);if(x[f]>(D[f]||0)&&d--,k<0)A.push(1),p=!0;else{for(T=D.length,S=x.length,f=0,k+=2,m=_(l/(x[0]+1)),m>1&&(x=e(x,m,l),D=e(D,m,l),S=x.length,T=D.length),L=S,w=D.slice(0,S),C=w.length;C<S;w[C++]=0);N=x.slice(),N=[0].concat(N),O=x[0],x[1]>=l/2&&O++;do{if(m=0,c=n(x,w,S,C),c<0){if(E=w[0],S!=C&&(E=E*l+(w[1]||0)),m=_(E/O),m>1)for(m>=l&&(m=l-1),g=e(x,m,l),b=g.length,C=w.length;1==n(g,w,b,C);)m--,r(g,S<b?N:x,b,l),b=g.length,c=1;else 0==m&&(c=m=1),g=x.slice(),b=g.length;if(b<C&&(g=[0].concat(g)),r(w,g,C,l),C=w.length,c==-1)for(;n(x,w,S,C)<1;)m++,r(w,S<C?N:x,C,l),C=w.length}else 0===c&&(m++,w=[0]);A[f++]=m,w[0]?w[C++]=D[L]||0:(w=[D[L]],C=1)}while((L++<T||null!=w[0])&&k--);p=null!=w[0],A[0]||A.splice(0,1)}if(l==v){for(f=1,k=A[0];k>=10;k/=10,f++);h(y,s+(y.e=f+d*M-1)+1,u,p)}else y.e=d,y.r=+p;return y}}(),O=function(){var e=/^(-?)0([xbo])(?=\\w[\\w.]*$)/i,n=/^([^.]+)\\.$/,r=/^\\.([^.]+)$/,o=/^-?(Infinity|NaN)$/,i=/^\\s*\\+(?=[\\w.])|^\\s+|\\s+$/g;return function(a,s,u,l){var c,d=u?s:s.replace(i,\"\");if(o.test(d))a.s=isNaN(d)?null:d<0?-1:1,a.c=a.e=null;else{if(!u&&(d=d.replace(e,function(e,t,n){return c=\"x\"==(n=n.toLowerCase())?16:\"b\"==n?2:8,l&&l!=c?e:t}),l&&(c=l,d=d.replace(n,\"$1\").replace(r,\"0.$1\")),s!=d))return new t(d,c);if(t.DEBUG)throw Error(b+\"Not a\"+(l?\" base \"+l:\"\")+\" number: \"+s);a.c=a.e=a.s=null}}}(),S.absoluteValue=S.abs=function(){var e=new t(this);return e.s<0&&(e.s=1),e},S.comparedTo=function(e,n){return u(this,new t(e,n))},S.decimalPlaces=S.dp=function(e,n){var r,o,i,s=this;if(null!=e)return l(e,0,E),null==n?n=D:l(n,0,8),h(new t(s),e+s.e+1,n);if(!(r=s.c))return null;if(o=((i=r.length-1)-a(this.e/M))*M,i=r[i])for(;i%10==0;i/=10,o--);return o<0&&(o=0),o},S.dividedBy=S.div=function(e,n){return L(this,new t(e,n),k,D)},S.dividedToIntegerBy=S.idiv=function(e,n){return L(this,new t(e,n),0,1)},S.exponentiatedBy=S.pow=function(e,n){var r,o,i,a,s,u,l,c,f=this;if(e=new t(e),e.c&&!e.isInteger())throw Error(b+\"Exponent not an integer: \"+e);if(null!=n&&(n=new t(n)),s=e.e>14,!f.c||!f.c[0]||1==f.c[0]&&!f.e&&1==f.c.length||!e.c||!e.c[0])return c=new t(Math.pow(+f.valueOf(),s?2-d(e):+e)),n?c.mod(n):c;if(u=e.s<0,n){if(n.c?!n.c[0]:!n.s)return new t(NaN);o=!u&&f.isInteger()&&n.isInteger(),o&&(f=f.mod(n))}else{if(e.e>9&&(f.e>0||f.e<-1||(0==f.e?f.c[0]>1||s&&f.c[1]>=24e7:f.c[0]<8e13||s&&f.c[0]<=9999975e7)))return i=f.s<0&&d(e)?-0:0,f.e>-1&&(i=1/i),new t(u?1/i:i);F&&(i=g(F/M+2))}for(s?(r=new t(.5),l=d(e)):l=e%2,u&&(e.s=1),c=new t(N);;){if(l){if(c=c.times(f),!c.c)break;i?c.c.length>i&&(c.c.length=i):o&&(c=c.mod(n))}if(s){if(e=e.times(r),h(e,e.e+1,1),!e.c[0])break;s=e.e>14,l=d(e)}else{if(e=_(e/2),!e)break;l=e%2}f=f.times(f),i?f.c&&f.c.length>i&&(f.c.length=i):o&&(f=f.mod(n))}return o?c:(u&&(c=N.div(c)),n?c.mod(n):i?h(c,F,D,a):c)},S.integerValue=function(e){var n=new t(this);return null==e?e=D:l(e,0,8),h(n,n.e+1,e)},S.isEqualTo=S.eq=function(e,n){return 0===u(this,new t(e,n))},S.isFinite=function(){return!!this.c},S.isGreaterThan=S.gt=function(e,n){return u(this,new t(e,n))>0},S.isGreaterThanOrEqualTo=S.gte=function(e,n){return 1===(n=u(this,new t(e,n)))||0===n},S.isInteger=function(){return!!this.c&&a(this.e/M)>this.c.length-2},S.isLessThan=S.lt=function(e,n){return u(this,new t(e,n))<0},S.isLessThanOrEqualTo=S.lte=function(e,n){return(n=u(this,new t(e,n)))===-1||0===n},S.isNaN=function(){return!this.s},S.isNegative=function(){return this.s<0},S.isPositive=function(){return this.s>0},S.isZero=function(){return!!this.c&&0==this.c[0]},S.minus=function(e,n){var r,i,s,u,l=this,c=l.s;if(e=new t(e,n),n=e.s,!c||!n)return new t(NaN);if(c!=n)return e.s=-n,l.plus(e);var d=l.e/M,f=e.e/M,p=l.c,h=e.c;if(!d||!f){if(!p||!h)return p?(e.s=-n,e):new t(h?l:NaN);if(!p[0]||!h[0])return h[0]?(e.s=-n,e):new t(p[0]?l:3==D?-0:0)}if(d=a(d),f=a(f),p=p.slice(),c=d-f){for((u=c<0)?(c=-c,s=p):(f=d,s=h),s.reverse(),n=c;n--;s.push(0));s.reverse()}else for(i=(u=(c=p.length)<(n=h.length))?c:n,c=n=0;n<i;n++)if(p[n]!=h[n]){u=p[n]<h[n];break}if(u&&(s=p,p=h,h=s,e.s=-e.s),n=(i=h.length)-(r=p.length),n>0)for(;n--;p[r++]=0);for(n=v-1;i>c;){if(p[--i]<h[i]){for(r=i;r&&!p[--r];p[r]=n);--p[r],p[i]+=v}p[i]-=h[i]}for(;0==p[0];p.splice(0,1),--f);return p[0]?o(e,p,f):(e.s=3==D?-1:1,e.c=[e.e=0],e)},S.modulo=S.mod=function(e,n){var r,o,i=this;return e=new t(e,n),!i.c||!e.s||e.c&&!e.c[0]?new t(NaN):!e.c||i.c&&!i.c[0]?new t(i):(9==B?(o=e.s,e.s=1,r=L(i,e,0,3),e.s=o,r.s*=o):r=L(i,e,0,B),e=i.minus(r.times(e)),e.c[0]||1!=B||(e.s=i.s),e)},S.multipliedBy=S.times=function(e,n){var r,i,s,u,l,c,d,f,p,h,m,g,_,b,y,A=this,w=A.c,E=(e=new t(e,n)).c;if(!(w&&E&&w[0]&&E[0]))return!A.s||!e.s||w&&!w[0]&&!E||E&&!E[0]&&!w?e.c=e.e=e.s=null:(e.s*=A.s,w&&E?(e.c=[0],e.e=0):e.c=e.e=null),e;for(i=a(A.e/M)+a(e.e/M),e.s*=A.s,d=w.length,h=E.length,d<h&&(_=w,w=E,E=_,s=d,d=h,h=s),s=d+h,_=[];s--;_.push(0));for(b=v,y=C,s=h;--s>=0;){for(r=0,m=E[s]%y,g=E[s]/y|0,l=d,u=s+l;u>s;)f=w[--l]%y,p=w[l]/y|0,c=g*f+p*m,f=m*f+c%y*y+_[u]+r,r=(f/b|0)+(c/y|0)+g*p,_[u--]=f%b;_[u]=r}return r?++i:_.splice(0,1),o(e,_,i)},S.negated=function(){var e=new t(this);return e.s=-e.s||null,e},S.plus=function(e,n){var r,i=this,s=i.s;if(e=new t(e,n),n=e.s,!s||!n)return new t(NaN);if(s!=n)return e.s=-n,i.minus(e);var u=i.e/M,l=e.e/M,c=i.c,d=e.c;if(!u||!l){if(!c||!d)return new t(s/0);if(!c[0]||!d[0])return d[0]?e:new t(c[0]?i:0*s)}if(u=a(u),l=a(l),c=c.slice(),s=u-l){for(s>0?(l=u,r=d):(s=-s,r=c),r.reverse();s--;r.push(0));r.reverse()}for(s=c.length,n=d.length,s-n<0&&(r=d,d=c,c=r,n=s),s=0;n;)s=(c[--n]=c[n]+d[n]+s)/v|0,c[n]=v===c[n]?0:c[n]%v;return s&&(c=[s].concat(c),++l),o(e,c,l)},S.precision=S.sd=function(e,n){var r,o,i,a=this;if(null!=e&&e!==!!e)return l(e,1,E),null==n?n=D:l(n,0,8),h(new t(a),e,n);if(!(r=a.c))return null;if(i=r.length-1,o=i*M+1,i=r[i]){for(;i%10==0;i/=10,o--);for(i=r[0];i>=10;i/=10,o++);}return e&&a.e+1>o&&(o=a.e+1),o},S.shiftedBy=function(e){return l(e,-A,A),this.times(\"1e\"+e)},S.squareRoot=S.sqrt=function(){var e,n,r,o,i,u=this,l=u.c,c=u.s,d=u.e,f=k+4,p=new t(\"0.5\");if(1!==c||!l||!l[0])return new t(!c||c<0&&(!l||l[0])?NaN:l?u:1/0);if(c=Math.sqrt(+u),0==c||c==1/0?(n=s(l),(n.length+d)%2==0&&(n+=\"0\"),c=Math.sqrt(n),d=a((d+1)/2)-(d<0||d%2),c==1/0?n=\"1e\"+d:(n=c.toExponential(),n=n.slice(0,n.indexOf(\"e\")+1)+d),r=new t(n)):r=new t(c+\"\"),r.c[0])for(d=r.e,c=d+f,c<3&&(c=0);;)if(i=r,r=p.times(i.plus(L(u,i,f,1))),s(i.c).slice(0,c)===(n=s(r.c)).slice(0,c)){if(r.e<d&&--c,n=n.slice(c-3,c+1),\"9999\"!=n&&(o||\"4999\"!=n)){+n&&(+n.slice(1)||\"5\"!=n.charAt(0))||(h(r,r.e+k+2,1),e=!r.times(r).eq(u));break}if(!o&&(h(i,i.e+k+2,0),i.times(i).eq(u))){r=i;break}f+=4,c+=4,o=1}return h(r,r.e+k+1,D,e)},S.toExponential=function(e,t){return null!=e&&(l(e,0,E),e++),n(this,e,t,1)},S.toFixed=function(e,t){return null!=e&&(l(e,0,E),e=e+this.e+1),n(this,e,t)},S.toFormat=function(e,t){var n=this.toFixed(e,t);if(this.c){var r,o=n.split(\".\"),i=+R.groupSize,a=+R.secondaryGroupSize,s=R.groupSeparator,u=o[0],l=o[1],c=this.s<0,d=c?u.slice(1):u,f=d.length;if(a&&(r=i,i=a,a=r,f-=r),i>0&&f>0){for(r=f%i||i,u=d.substr(0,r);r<f;r+=i)u+=s+d.substr(r,i);a>0&&(u+=s+d.slice(r)),c&&(u=\"-\"+u)}n=l?u+R.decimalSeparator+((a=+R.fractionGroupSize)?l.replace(new RegExp(\"\\\\d{\"+a+\"}\\\\B\",\"g\"),\"$&\"+R.fractionGroupSeparator):l):u}return n},S.toFraction=function(e){var n,r,o,i,a,u,l,c,d,f,p,h,m=this,g=m.c;if(null!=e&&(c=new t(e),!c.isInteger()&&(c.c||1!==c.s)||c.lt(N)))throw Error(b+\"Argument \"+(c.isInteger()?\"out of range: \":\"not an integer: \")+e);if(!g)return m.toString();for(r=new t(N),f=o=new t(N),i=d=new t(N),h=s(g),u=r.e=h.length-m.e-1,r.c[0]=w[(l=u%M)<0?M+l:l],e=!e||c.comparedTo(r)>0?u>0?r:f:c,l=j,j=1/0,c=new t(h),d.c[0]=0;p=L(c,r,0,1),a=o.plus(p.times(i)),1!=a.comparedTo(e);)o=i,i=a,f=d.plus(p.times(a=f)),d=a,r=c.minus(p.times(a=r)),c=a;return a=L(e.minus(o),i,0,1),d=d.plus(a.times(f)),o=o.plus(a.times(i)),d.s=f.s=m.s,u*=2,n=L(f,i,u,D).minus(m).abs().comparedTo(L(d,o,u,D).minus(m).abs())<1?[f.toString(),i.toString()]:[d.toString(),o.toString()],j=l,n},S.toNumber=function(){return+this},S.toPrecision=function(e,t){return null!=e&&l(e,1,E),n(this,e,t,2)},S.toString=function(e){var t,n=this,r=n.s,o=n.e;return null===o?r?(t=\"Infinity\",r<0&&(t=\"-\"+t)):t=\"NaN\":(t=s(n.c),null==e?t=o<=x||o>=I?f(t,o):p(t,o,\"0\"):(l(e,2,W.length,\"Base\"),t=T(p(t,o,\"0\"),10,e,r,!0)),r<0&&n.c[0]&&(t=\"-\"+t)),t},S.valueOf=S.toJSON=function(){var e,t=this,n=t.e;return null===n?t.toString():(e=s(t.c),e=n<=x||n>=I?f(e,n):p(e,n,\"0\"),t.s<0?\"-\"+e:e)},S._isBigNumber=!0,null!=e&&t.set(e),t}function a(e){var t=0|e;return e>0||e===t?t:t-1}function s(e){for(var t,n,r=1,o=e.length,i=e[0]+\"\";r<o;){for(t=e[r++]+\"\",n=M-t.length;n--;t=\"0\"+t);i+=t}for(o=i.length;48===i.charCodeAt(--o););return i.slice(0,o+1||1)}function u(e,t){var n,r,o=e.c,i=t.c,a=e.s,s=t.s,u=e.e,l=t.e;if(!a||!s)return null;if(n=o&&!o[0],r=i&&!i[0],n||r)return n?r?0:-s:a;if(a!=s)return a;if(n=a<0,r=u==l,!o||!i)return r?0:!o^n?1:-1;if(!r)return u>l^n?1:-1;for(s=(u=o.length)<(l=i.length)?u:l,a=0;a<s;a++)if(o[a]!=i[a])return o[a]>i[a]^n?1:-1;return u==l?0:u>l^n?1:-1}function l(e,t,n,r){if(e<t||e>n||e!==(e<0?g(e):_(e)))throw Error(b+(r||\"Argument\")+(\"number\"==typeof e?e<t||e>n?\" out of range: \":\" not an integer: \":\" not a primitive number: \")+e)}function c(e){return\"[object Array]\"==Object.prototype.toString.call(e)}function d(e){var t=e.c.length-1;return a(e.e/M)==t&&e.c[t]%2!=0}function f(e,t){return(e.length>1?e.charAt(0)+\".\"+e.slice(1):e)+(t<0?\"e\":\"e+\")+t}function p(e,t,n){var r,o;if(t<0){for(o=n+\".\";++t;o+=n);e=o+e}else if(r=e.length,++t>r){for(o=n,t-=r;--t;o+=n);e+=o}else t<r&&(e=e.slice(0,t)+\".\"+e.slice(t));return e}var h,m=/^-?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:e[+-]?\\d+)?$/i,g=Math.ceil,_=Math.floor,b=\"[BigNumber Error] \",y=b+\"Number primitive has more than 15 significant digits: \",v=1e14,M=14,A=9007199254740991,w=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],C=1e7,E=1e9;h=i(),h.default=h.BigNumber=h,r=function(){return h}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}(this)},function(e,t,n){(function(t){!function(){function e(e){var t=r;e&&(r[e]||(r[e]={}),t=r[e]),t.define&&t.define.packaged||(o.original=t.define,t.define=o,t.define.packaged=!0),t.acequire&&t.acequire.packaged||(a.original=t.acequire,t.acequire=a,t.acequire.packaged=!0)}var n=\"ace\",r=function(){return this}();if(r||\"undefined\"==typeof window||(r=window),n||\"undefined\"==typeof acequirejs){var o=function(e,n,r){return\"string\"!=typeof e?void(o.original?o.original.apply(this,arguments):(t.error(\"dropping module because define wasn't a string.\"),t.trace())):(2==arguments.length&&(r=n),void(o.modules[e]||(o.payloads[e]=r,o.modules[e]=null)))};o.modules={},o.payloads={};var i=function(e,t,n){if(\"string\"==typeof t){var r=u(e,t);if(void 0!=r)return n&&n(),r}else if(\"[object Array]\"===Object.prototype.toString.call(t)){for(var o=[],i=0,s=t.length;i<s;++i){var l=u(e,t[i]);if(void 0==l&&a.original)return;o.push(l)}return n&&n.apply(null,o)||!0}},a=function(e,t){var n=i(\"\",e,t);return void 0==n&&a.original?a.original.apply(this,arguments):n},s=function(e,t){if(t.indexOf(\"!\")!==-1){var n=t.split(\"!\");return s(e,n[0])+\"!\"+s(e,n[1])}if(\".\"==t.charAt(0)){var r=e.split(\"/\").slice(0,-1).join(\"/\");for(t=r+\"/\"+t;t.indexOf(\".\")!==-1&&o!=t;){var o=t;t=t.replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return t},u=function(e,t){t=s(e,t);var n=o.modules[t];if(!n){if(n=o.payloads[t],\"function\"==typeof n){var r={},a={id:t,uri:\"\",exports:r,packaged:!0},u=function(e,n){return i(t,e,n)},l=n(u,r,a);r=l||a.exports,\no.modules[t]=r,delete o.payloads[t]}n=o.modules[t]=r||n}return n};e(n)}}(),ace.define(\"ace/lib/regexp\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e){return(e.global?\"g\":\"\")+(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.extended?\"x\":\"\")+(e.sticky?\"y\":\"\")}function o(e,t,n){if(Array.prototype.indexOf)return e.indexOf(t,n);for(var r=n||0;r<e.length;r++)if(e[r]===t)return r;return-1}var i={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},a=void 0===i.exec.call(/()??/,\"\")[1],s=function(){var e=/^/g;return i.test.call(e,\"\"),!e.lastIndex}();s&&a||(RegExp.prototype.exec=function(e){var t,n,u=i.exec.apply(this,arguments);if(\"string\"==typeof e&&u){if(!a&&u.length>1&&o(u,\"\")>-1&&(n=RegExp(this.source,i.replace.call(r(this),\"g\",\"\")),i.replace.call(e.slice(u.index),n,function(){for(var e=1;e<arguments.length-2;e++)void 0===arguments[e]&&(u[e]=void 0)})),this._xregexp&&this._xregexp.captureNames)for(var l=1;l<u.length;l++)t=this._xregexp.captureNames[l-1],t&&(u[t]=u[l]);!s&&this.global&&!u[0].length&&this.lastIndex>u.index&&this.lastIndex--}return u},s||(RegExp.prototype.test=function(e){var t=i.exec.call(this,e);return t&&this.global&&!t[0].length&&this.lastIndex>t.index&&this.lastIndex--,!!t}))}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(e,t,n){function r(){}function o(e){try{return Object.defineProperty(e,\"sentinel\",{}),\"sentinel\"in e}catch(e){}}function i(e){return e=+e,e!==e?e=0:0!==e&&e!==1/0&&e!==-(1/0)&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(\"function\"!=typeof t)throw new TypeError(\"Function.prototype.bind called on incompatible \"+t);var n=h.call(arguments,1),o=function(){if(this instanceof o){var r=t.apply(this,n.concat(h.call(arguments)));return Object(r)===r?r:this}return t.apply(e,n.concat(h.call(arguments)))};return t.prototype&&(r.prototype=t.prototype,o.prototype=new r,r.prototype=null),o});var a,s,u,l,c,d=Function.prototype.call,f=Array.prototype,p=Object.prototype,h=f.slice,m=d.bind(p.toString),g=d.bind(p.hasOwnProperty);if((c=g(p,\"__defineGetter__\"))&&(a=d.bind(p.__defineGetter__),s=d.bind(p.__defineSetter__),u=d.bind(p.__lookupGetter__),l=d.bind(p.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t,n=[];if(n.splice.apply(n,e(20)),n.splice.apply(n,e(26)),t=n.length,n.splice(5,0,\"XXX\"),t+1==n.length,t+1==n.length)return!0}()){var _=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?_.apply(this,[void 0===e?0:e,void 0===t?this.length-e:t].concat(h.call(arguments,2))):[]}}else Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):void 0==e?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),o=h.call(arguments,2),i=o.length;if(e===n)i&&this.push.apply(this,o);else{var a=Math.min(t,n-e),s=e+a,u=s+i-a,l=n-s,c=n-a;if(u<s)for(var d=0;d<l;++d)this[u+d]=this[s+d];else if(u>s)for(d=l;d--;)this[u+d]=this[s+d];if(i&&e===c)this.length=c,this.push.apply(this,o);else for(this.length=c+i,d=0;d<i;++d)this[e+d]=o[d]}return r};Array.isArray||(Array.isArray=function(e){return\"[object Array]\"==m(e)});var b=Object(\"a\"),y=\"a\"!=b[0]||!(0 in b);if(Array.prototype.forEach||(Array.prototype.forEach=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=arguments[1],o=-1,i=n.length>>>0;if(\"[object Function]\"!=m(e))throw new TypeError;for(;++o<i;)o in n&&e.call(r,n[o],o,t)}),Array.prototype.map||(Array.prototype.map=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0,o=Array(r),i=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var a=0;a<r;a++)a in n&&(o[a]=e.call(i,n[a],a,t));return o}),Array.prototype.filter||(Array.prototype.filter=function(e){var t,n=z(this),r=y&&\"[object String]\"==m(this)?this.split(\"\"):n,o=r.length>>>0,i=[],a=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var s=0;s<o;s++)s in r&&(t=r[s],e.call(a,t,s,n)&&i.push(t));return i}),Array.prototype.every||(Array.prototype.every=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0,o=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var i=0;i<r;i++)if(i in n&&!e.call(o,n[i],i,t))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0,o=arguments[1];if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");for(var i=0;i<r;i++)if(i in n&&e.call(o,n[i],i,t))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0;if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");if(!r&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var o,i=0;if(arguments.length>=2)o=arguments[1];else for(;;){if(i in n){o=n[i++];break}if(++i>=r)throw new TypeError(\"reduce of empty array with no initial value\")}for(;i<r;i++)i in n&&(o=e.call(void 0,o,n[i],i,t));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(e){var t=z(this),n=y&&\"[object String]\"==m(this)?this.split(\"\"):t,r=n.length>>>0;if(\"[object Function]\"!=m(e))throw new TypeError(e+\" is not a function\");if(!r&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var o,i=r-1;if(arguments.length>=2)o=arguments[1];else for(;;){if(i in n){o=n[i--];break}if(--i<0)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(o=e.call(void 0,o,n[i],i,t));while(i--);return o}),Array.prototype.indexOf&&[0,1].indexOf(1,2)==-1||(Array.prototype.indexOf=function(e){var t=y&&\"[object String]\"==m(this)?this.split(\"\"):z(this),n=t.length>>>0;if(!n)return-1;var r=0;for(arguments.length>1&&(r=i(arguments[1])),r=r>=0?r:Math.max(0,n+r);r<n;r++)if(r in t&&t[r]===e)return r;return-1}),Array.prototype.lastIndexOf&&[0,1].lastIndexOf(0,-3)==-1||(Array.prototype.lastIndexOf=function(e){var t=y&&\"[object String]\"==m(this)?this.split(\"\"):z(this),n=t.length>>>0;if(!n)return-1;var r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r=r>=0?r:n-Math.abs(r);r>=0;r--)if(r in t&&e===t[r])return r;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(e){return e.__proto__||(e.constructor?e.constructor.prototype:p)}),!Object.getOwnPropertyDescriptor){var v=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(e,t){if(\"object\"!=typeof e&&\"function\"!=typeof e||null===e)throw new TypeError(v+e);if(g(e,t)){var n,r,o;if(n={enumerable:!0,configurable:!0},c){var i=e.__proto__;e.__proto__=p;var r=u(e,t),o=l(e,t);if(e.__proto__=i,r||o)return r&&(n.get=r),o&&(n.set=o),n}return n.value=e[t],n}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(e){return Object.keys(e)}),!Object.create){var M;M=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(e,t){var n;if(null===e)n=M();else{if(\"object\"!=typeof e)throw new TypeError(\"typeof prototype[\"+typeof e+\"] != 'object'\");var r=function(){};r.prototype=e,n=new r,n.__proto__=e}return void 0!==t&&Object.defineProperties(n,t),n}}if(Object.defineProperty){var A=o({}),w=\"undefined\"==typeof document||o(document.createElement(\"div\"));if(!A||!w)var C=Object.defineProperty}if(!Object.defineProperty||C){var E=\"Property description must be an object: \",L=\"Object.defineProperty called on non-object: \",T=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(e,t,n){if(\"object\"!=typeof e&&\"function\"!=typeof e||null===e)throw new TypeError(L+e);if(\"object\"!=typeof n&&\"function\"!=typeof n||null===n)throw new TypeError(E+n);if(C)try{return C.call(Object,e,t,n)}catch(e){}if(g(n,\"value\"))if(c&&(u(e,t)||l(e,t))){var r=e.__proto__;e.__proto__=p,delete e[t],e[t]=n.value,e.__proto__=r}else e[t]=n.value;else{if(!c)throw new TypeError(T);g(n,\"get\")&&a(e,t,n.get),g(n,\"set\")&&s(e,t,n.set)}return e}}Object.defineProperties||(Object.defineProperties=function(e,t){for(var n in t)g(t,n)&&Object.defineProperty(e,n,t[n]);return e}),Object.seal||(Object.seal=function(e){return e}),Object.freeze||(Object.freeze=function(e){return e});try{Object.freeze(function(){})}catch(e){Object.freeze=function(e){return function(t){return\"function\"==typeof t?t:e(t)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(e){return e}),Object.isSealed||(Object.isSealed=function(e){return!1}),Object.isFrozen||(Object.isFrozen=function(e){return!1}),Object.isExtensible||(Object.isExtensible=function(e){if(Object(e)===e)throw new TypeError;for(var t=\"\";g(e,t);)t+=\"?\";e[t]=!0;var n=g(e,t);return delete e[t],n}),!Object.keys){var O=!0,S=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],N=S.length;for(var k in{toString:null})O=!1;Object.keys=function e(t){if(\"object\"!=typeof t&&\"function\"!=typeof t||null===t)throw new TypeError(\"Object.keys called on a non-object\");var e=[];for(var n in t)g(t,n)&&e.push(n);if(O)for(var r=0,o=N;r<o;r++){var i=S[r];g(t,i)&&e.push(i)}return e}}Date.now||(Date.now=function(){return(new Date).getTime()});var D=\"\\t\\n\\v\\f\\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\\u2028\\u2029\\ufeff\";if(!String.prototype.trim||D.trim()){D=\"[\"+D+\"]\";var x=new RegExp(\"^\"+D+D+\"*\"),I=new RegExp(D+D+\"*$\");String.prototype.trim=function(){return String(this).replace(x,\"\").replace(I,\"\")}}var z=function(e){if(null==e)throw new TypeError(\"can't convert \"+e+\" to object\");return Object(e)}}),ace.define(\"ace/lib/fixoldbrowsers\",[\"require\",\"exports\",\"module\",\"ace/lib/regexp\",\"ace/lib/es5-shim\"],function(e,t,n){\"use strict\";e(\"./regexp\"),e(\"./es5-shim\")}),ace.define(\"ace/lib/dom\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=\"http://www.w3.org/1999/xhtml\";return t.getDocumentHead=function(e){return e||(e=document),e.head||e.getElementsByTagName(\"head\")[0]||e.documentElement},t.createElement=function(e,t){return document.createElementNS?document.createElementNS(t||r,e):document.createElement(e)},t.hasCssClass=function(e,t){var n=(e.className+\"\").split(/\\s+/g);return n.indexOf(t)!==-1},t.addCssClass=function(e,n){t.hasCssClass(e,n)||(e.className+=\" \"+n)},t.removeCssClass=function(e,t){for(var n=e.className.split(/\\s+/g);;){var r=n.indexOf(t);if(r==-1)break;n.splice(r,1)}e.className=n.join(\" \")},t.toggleCssClass=function(e,t){for(var n=e.className.split(/\\s+/g),r=!0;;){var o=n.indexOf(t);if(o==-1)break;r=!1,n.splice(o,1)}return r&&n.push(t),e.className=n.join(\" \"),r},t.setCssClass=function(e,n,r){r?t.addCssClass(e,n):t.removeCssClass(e,n)},t.hasCssString=function(e,t){var n,r=0;if(t=t||document,t.createStyleSheet&&(n=t.styleSheets)){for(;r<n.length;)if(n[r++].owningElement.id===e)return!0}else if(n=t.getElementsByTagName(\"style\"))for(;r<n.length;)if(n[r++].id===e)return!0;return!1},t.importCssString=function(e,n,r){if(r=r||document,n&&t.hasCssString(n,r))return null;var o;n&&(e+=\"\\n/*# sourceURL=ace/css/\"+n+\" */\"),r.createStyleSheet?(o=r.createStyleSheet(),o.cssText=e,n&&(o.owningElement.id=n)):(o=t.createElement(\"style\"),o.appendChild(r.createTextNode(e)),n&&(o.id=n),t.getDocumentHead(r).appendChild(o))},t.importCssStylsheet=function(e,n){if(n.createStyleSheet)n.createStyleSheet(e);else{var r=t.createElement(\"link\");r.rel=\"stylesheet\",r.href=e,t.getDocumentHead(n).appendChild(r)}},t.getInnerWidth=function(e){return parseInt(t.computedStyle(e,\"paddingLeft\"),10)+parseInt(t.computedStyle(e,\"paddingRight\"),10)+e.clientWidth},t.getInnerHeight=function(e){return parseInt(t.computedStyle(e,\"paddingTop\"),10)+parseInt(t.computedStyle(e,\"paddingBottom\"),10)+e.clientHeight},t.scrollbarWidth=function(e){var n=t.createElement(\"ace_inner\");n.style.width=\"100%\",n.style.minWidth=\"0px\",n.style.height=\"200px\",n.style.display=\"block\";var r=t.createElement(\"ace_outer\"),o=r.style;o.position=\"absolute\",o.left=\"-10000px\",o.overflow=\"hidden\",o.width=\"200px\",o.minWidth=\"0px\",o.height=\"150px\",o.display=\"block\",r.appendChild(n);var i=e.documentElement;i.appendChild(r);var a=n.offsetWidth;o.overflow=\"scroll\";var s=n.offsetWidth;return a==s&&(s=r.clientWidth),i.removeChild(r),a-s},\"undefined\"==typeof document?void(t.importCssString=function(){}):(void 0!==window.pageYOffset?(t.getPageScrollTop=function(){return window.pageYOffset},t.getPageScrollLeft=function(){return window.pageXOffset}):(t.getPageScrollTop=function(){return document.body.scrollTop},t.getPageScrollLeft=function(){return document.body.scrollLeft}),window.getComputedStyle?t.computedStyle=function(e,t){return t?(window.getComputedStyle(e,\"\")||{})[t]||\"\":window.getComputedStyle(e,\"\")||{}}:t.computedStyle=function(e,t){return t?e.currentStyle[t]:e.currentStyle},t.setInnerHtml=function(e,t){var n=e.cloneNode(!1);return n.innerHTML=t,e.parentNode.replaceChild(n,e),n},\"textContent\"in document.documentElement?(t.setInnerText=function(e,t){e.textContent=t},t.getInnerText=function(e){return e.textContent}):(t.setInnerText=function(e,t){e.innerText=t},t.getInnerText=function(e){return e.innerText}),void(t.getParentWindow=function(e){return e.defaultView||e.parentWindow}))}),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define(\"ace/lib/keys\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\"],function(e,t,n){\"use strict\";e(\"./fixoldbrowsers\");var r=e(\"./oop\"),o=function(){var e,t,n={MODIFIER_KEYS:{16:\"Shift\",17:\"Ctrl\",18:\"Alt\",224:\"Meta\"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8},FUNCTION_KEYS:{8:\"Backspace\",9:\"Tab\",13:\"Return\",19:\"Pause\",27:\"Esc\",32:\"Space\",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"Left\",38:\"Up\",39:\"Right\",40:\"Down\",44:\"Print\",45:\"Insert\",46:\"Delete\",96:\"Numpad0\",97:\"Numpad1\",98:\"Numpad2\",99:\"Numpad3\",100:\"Numpad4\",101:\"Numpad5\",102:\"Numpad6\",103:\"Numpad7\",104:\"Numpad8\",105:\"Numpad9\",\"-13\":\"NumpadEnter\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"Numlock\",145:\"Scrolllock\"},PRINTABLE_KEYS:{32:\" \",48:\"0\",49:\"1\",50:\"2\",51:\"3\",52:\"4\",53:\"5\",54:\"6\",55:\"7\",56:\"8\",57:\"9\",59:\";\",61:\"=\",65:\"a\",66:\"b\",67:\"c\",68:\"d\",69:\"e\",70:\"f\",71:\"g\",72:\"h\",73:\"i\",74:\"j\",75:\"k\",76:\"l\",77:\"m\",78:\"n\",79:\"o\",80:\"p\",81:\"q\",82:\"r\",83:\"s\",84:\"t\",85:\"u\",86:\"v\",87:\"w\",88:\"x\",89:\"y\",90:\"z\",107:\"+\",109:\"-\",110:\".\",186:\";\",187:\"=\",188:\",\",189:\"-\",190:\".\",191:\"/\",192:\"`\",219:\"[\",220:\"\\\\\",221:\"]\",222:\"'\",111:\"/\",106:\"*\"}};for(t in n.FUNCTION_KEYS)e=n.FUNCTION_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);for(t in n.PRINTABLE_KEYS)e=n.PRINTABLE_KEYS[t].toLowerCase(),n[e]=parseInt(t,10);return r.mixin(n,n.MODIFIER_KEYS),r.mixin(n,n.PRINTABLE_KEYS),r.mixin(n,n.FUNCTION_KEYS),n.enter=n.return,n.escape=n.esc,n.del=n.delete,n[173]=\"-\",function(){for(var e=[\"cmd\",\"ctrl\",\"alt\",\"shift\"],t=Math.pow(2,e.length);t--;)n.KEY_MODS[t]=e.filter(function(e){return t&n.KEY_MODS[e]}).join(\"-\")+\"-\"}(),n.KEY_MODS[0]=\"\",n.KEY_MODS[-1]=\"input-\",n}();r.mixin(t,o),t.keyCodeToString=function(e){var t=o[e];return\"string\"!=typeof t&&(t=String.fromCharCode(e)),t.toLowerCase()}}),ace.define(\"ace/lib/useragent\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";if(t.OS={LINUX:\"LINUX\",MAC:\"MAC\",WINDOWS:\"WINDOWS\"},t.getOS=function(){return t.isMac?t.OS.MAC:t.isLinux?t.OS.LINUX:t.OS.WINDOWS},\"object\"==typeof navigator){var r=(navigator.platform.match(/mac|win|linux/i)||[\"other\"])[0].toLowerCase(),o=navigator.userAgent;t.isWin=\"win\"==r,t.isMac=\"mac\"==r,t.isLinux=\"linux\"==r,t.isIE=\"Microsoft Internet Explorer\"==navigator.appName||navigator.appName.indexOf(\"MSAppHost\")>=0?parseFloat((o.match(/(?:MSIE |Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1]):parseFloat((o.match(/(?:Trident\\/[0-9]+[\\.0-9]+;.*rv:)([0-9]+[\\.0-9]+)/)||[])[1]),t.isOldIE=t.isIE&&t.isIE<9,t.isGecko=t.isMozilla=(window.Controllers||window.controllers)&&\"Gecko\"===window.navigator.product,t.isOldGecko=t.isGecko&&parseInt((o.match(/rv:(\\d+)/)||[])[1],10)<4,t.isOpera=window.opera&&\"[object Opera]\"==Object.prototype.toString.call(window.opera),t.isWebKit=parseFloat(o.split(\"WebKit/\")[1])||void 0,t.isChrome=parseFloat(o.split(\" Chrome/\")[1])||void 0,t.isAIR=o.indexOf(\"AdobeAIR\")>=0,t.isIPad=o.indexOf(\"iPad\")>=0,t.isChromeOS=o.indexOf(\" CrOS \")>=0,t.isIOS=/iPad|iPhone|iPod/.test(o)&&!window.MSStream,t.isIOS&&(t.isMac=!0)}}),ace.define(\"ace/lib/event\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";function r(e,t,n){var r=l(t);if(!a.isMac&&s){if(t.getModifierState&&(t.getModifierState(\"OS\")||t.getModifierState(\"Win\"))&&(r|=8),s.altGr){if(3==(3&r))return;s.altGr=0}if(18===n||17===n){var o=\"location\"in t?t.location:t.keyLocation;if(17===n&&1===o)1==s[n]&&(u=t.timeStamp);else if(18===n&&3===r&&2===o){var c=t.timeStamp-u;c<50&&(s.altGr=!0)}}}if(n in i.MODIFIER_KEYS&&(n=-1),8&r&&n>=91&&n<=93&&(n=-1),!r&&13===n){var o=\"location\"in t?t.location:t.keyLocation;if(3===o&&(e(t,r,-n),t.defaultPrevented))return}if(a.isChromeOS&&8&r){if(e(t,r,n),t.defaultPrevented)return;r&=-9}return!!(r||n in i.FUNCTION_KEYS||n in i.PRINTABLE_KEYS)&&e(t,r,n)}function o(){s=Object.create(null)}var i=e(\"./keys\"),a=e(\"./useragent\"),s=null,u=0;t.addListener=function(e,t,n){if(e.addEventListener)return e.addEventListener(t,n,!1);if(e.attachEvent){var r=function(){n.call(e,window.event)};n._wrapper=r,e.attachEvent(\"on\"+t,r)}},t.removeListener=function(e,t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):void(e.detachEvent&&e.detachEvent(\"on\"+t,n._wrapper||n))},t.stopEvent=function(e){return t.stopPropagation(e),t.preventDefault(e),!1},t.stopPropagation=function(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0},t.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},t.getButton=function(e){return\"dblclick\"==e.type?0:\"contextmenu\"==e.type||a.isMac&&e.ctrlKey&&!e.altKey&&!e.shiftKey?2:e.preventDefault?e.button:{1:0,2:2,4:1}[e.button]},t.capture=function(e,n,r){function o(e){n&&n(e),r&&r(e),t.removeListener(document,\"mousemove\",n,!0),t.removeListener(document,\"mouseup\",o,!0),t.removeListener(document,\"dragstart\",o,!0)}return t.addListener(document,\"mousemove\",n,!0),t.addListener(document,\"mouseup\",o,!0),t.addListener(document,\"dragstart\",o,!0),o},t.addTouchMoveListener=function(e,n){var r,o;t.addListener(e,\"touchstart\",function(e){var t=e.touches,n=t[0];r=n.clientX,o=n.clientY}),t.addListener(e,\"touchmove\",function(e){var t=e.touches;if(!(t.length>1)){var i=t[0];e.wheelX=r-i.clientX,e.wheelY=o-i.clientY,r=i.clientX,o=i.clientY,n(e)}})},t.addMouseWheelListener=function(e,n){\"onmousewheel\"in e?t.addListener(e,\"mousewheel\",function(e){var t=8;void 0!==e.wheelDeltaX?(e.wheelX=-e.wheelDeltaX/t,e.wheelY=-e.wheelDeltaY/t):(e.wheelX=0,e.wheelY=-e.wheelDelta/t),n(e)}):\"onwheel\"in e?t.addListener(e,\"wheel\",function(e){var t=.35;switch(e.deltaMode){case e.DOM_DELTA_PIXEL:e.wheelX=e.deltaX*t||0,e.wheelY=e.deltaY*t||0;break;case e.DOM_DELTA_LINE:case e.DOM_DELTA_PAGE:e.wheelX=5*(e.deltaX||0),e.wheelY=5*(e.deltaY||0)}n(e)}):t.addListener(e,\"DOMMouseScroll\",function(e){e.axis&&e.axis==e.HORIZONTAL_AXIS?(e.wheelX=5*(e.detail||0),e.wheelY=0):(e.wheelX=0,e.wheelY=5*(e.detail||0)),n(e)})},t.addMultiMouseDownListener=function(e,n,r,o){function i(e){if(0!==t.getButton(e)?d=0:e.detail>1?(d++,d>4&&(d=1)):d=1,a.isIE){var i=Math.abs(e.clientX-u)>5||Math.abs(e.clientY-l)>5;c&&!i||(d=1),c&&clearTimeout(c),c=setTimeout(function(){c=null},n[d-1]||600),1==d&&(u=e.clientX,l=e.clientY)}if(e._clicks=d,r[o](\"mousedown\",e),d>4)d=0;else if(d>1)return r[o](f[d],e)}function s(e){d=2,c&&clearTimeout(c),c=setTimeout(function(){c=null},n[d-1]||600),r[o](\"mousedown\",e),r[o](f[d],e)}var u,l,c,d=0,f={2:\"dblclick\",3:\"tripleclick\",4:\"quadclick\"};Array.isArray(e)||(e=[e]),e.forEach(function(e){t.addListener(e,\"mousedown\",i),a.isOldIE&&t.addListener(e,\"dblclick\",s)})};var l=!a.isMac||!a.isOpera||\"KeyboardEvent\"in window?function(e){return 0|(e.ctrlKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.metaKey?8:0)}:function(e){return 0|(e.metaKey?1:0)|(e.altKey?2:0)|(e.shiftKey?4:0)|(e.ctrlKey?8:0)};if(t.getModifierString=function(e){return i.KEY_MODS[l(e)]},t.addCommandKeyListener=function(e,n){var i=t.addListener;if(a.isOldGecko||a.isOpera&&!(\"KeyboardEvent\"in window)){var u=null;i(e,\"keydown\",function(e){u=e.keyCode}),i(e,\"keypress\",function(e){return r(n,e,u)})}else{var l=null;i(e,\"keydown\",function(e){s[e.keyCode]=(s[e.keyCode]||0)+1;var t=r(n,e,e.keyCode);return l=e.defaultPrevented,t}),i(e,\"keypress\",function(e){l&&(e.ctrlKey||e.altKey||e.shiftKey||e.metaKey)&&(t.stopEvent(e),l=null)}),i(e,\"keyup\",function(e){s[e.keyCode]=null}),s||(o(),i(window,\"focus\",o))}},\"object\"==typeof window&&window.postMessage&&!a.isOldIE){var c=1;t.nextTick=function(e,n){n=n||window;var r=\"zero-timeout-message-\"+c;t.addListener(n,\"message\",function o(i){i.data==r&&(t.stopPropagation(i),t.removeListener(n,\"message\",o),e())}),n.postMessage(r,\"*\")}}t.nextFrame=\"object\"==typeof window&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),t.nextFrame?t.nextFrame=t.nextFrame.bind(window):t.nextFrame=function(e){setTimeout(e,17)}}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split(\"\").reverse().join(\"\")},t.stringRepeat=function(e,t){for(var n=\"\";t>0;)1&t&&(n+=e),(t>>=1)&&(e+=e);return n};var r=/^\\s\\s*/,o=/\\s\\s*$/;t.stringTrimLeft=function(e){return e.replace(r,\"\")},t.stringTrimRight=function(e){return e.replace(o,\"\")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){for(var t=[],n=0,r=e.length;n<r;n++)e[n]&&\"object\"==typeof e[n]?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function e(t){if(\"object\"!=typeof t||!t)return t;var n;if(Array.isArray(t)){n=[];for(var r=0;r<t.length;r++)n[r]=e(t[r]);return n}if(\"[object Object]\"!==Object.prototype.toString.call(t))return t;n={};for(var r in t)n[r]=e(t[r]);return n},t.arrayToMap=function(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},t.escapeHTML=function(e){return e.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/'/g,\"&#39;\").replace(/</g,\"&#60;\")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},o=function(e){null==n&&(n=setTimeout(r,e||t))};return o.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},o.schedule=o,o.call=function(){this.cancel(),e()},o.cancel=function(){n&&clearTimeout(n),n=null},o.isPending=function(){return n},o}}),ace.define(\"ace/keyboard/textinput_ios\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/keys\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=e(\"../lib/dom\"),a=e(\"../lib/lang\"),s=e(\"../lib/keys\"),u=s.KEY_MODS,l=o.isChrome<18,c=o.isIE,d=function(e,t){function n(e){if(!b){if(b=!0,L)t=0,n=e?0:p.value.length-1;else var t=4,n=5;try{p.setSelectionRange(t,n)}catch(e){}b=!1}}function d(){b||(p.value=h,o.isWebKit&&w.schedule())}function f(){clearTimeout(F),F=setTimeout(function(){y&&(p.style.cssText=y,y=\"\"),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}var p=i.createElement(\"textarea\");p.className=o.isIOS?\"ace_text-input ace_text-input-ios\":\"ace_text-input\",o.isTouchPad&&p.setAttribute(\"x-palm-disable-auto-cap\",!0),p.setAttribute(\"wrap\",\"off\"),p.setAttribute(\"autocorrect\",\"off\"),p.setAttribute(\"autocapitalize\",\"off\"),p.setAttribute(\"spellcheck\",!1),p.style.opacity=\"0\",e.insertBefore(p,e.firstChild);var h=\"\\n aaaa a\\n\",m=!1,g=!1,_=!1,b=!1,y=\"\",v=!0;try{var M=document.activeElement===p}catch(e){}r.addListener(p,\"blur\",function(e){t.onBlur(e),M=!1}),r.addListener(p,\"focus\",function(e){M=!0,t.onFocus(e),n()}),this.focus=function(){return y?p.focus():(p.style.position=\"fixed\",void p.focus())},this.blur=function(){p.blur()},this.isFocused=function(){return M};var A=a.delayedCall(function(){M&&n(v)}),w=a.delayedCall(function(){b||(p.value=h,M&&n())});o.isWebKit||t.addEventListener(\"changeSelection\",function(){t.selection.isEmpty()!=v&&(v=!v,A.schedule())}),d(),M&&t.onFocus();var C=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length},E=function(e){C(p)?(t.selectAll(),n()):L&&n(t.selection.isEmpty())},L=null;this.setInputHandler=function(e){L=e},this.getInputHandler=function(){return L};var T=!1,O=function(e){4===p.selectionStart&&5===p.selectionEnd||(L&&(e=L(e),L=null),_?(n(),e&&t.onPaste(e),_=!1):e==h.substr(0)&&4===p.selectionStart?T?t.execCommand(\"del\",{source:\"ace\"}):t.execCommand(\"backspace\",{source:\"ace\"}):m||(e.substring(0,9)==h&&e.length>h.length?e=e.substr(9):e.substr(0,4)==h.substr(0,4)?e=e.substr(4,e.length-h.length+1):e.charAt(e.length-1)==h.charAt(0)&&(e=e.slice(0,-1)),e==h.charAt(0)||e.charAt(e.length-1)==h.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),m&&(m=!1),T&&(T=!1))},S=function(e){if(!b){var t=p.value;O(t),d()}},N=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!l){var o=c||n?\"Text\":\"text/plain\";try{return t?r.setData(o,t)!==!1:r.getData(o)}catch(e){if(!n)return N(e,t,!0)}}},k=function(e,i){var a=t.getCopyText();return a?void(N(e,a)?(o.isIOS&&(g=i,p.value=\"\\n aa\"+a+\"a a\\n\",p.setSelectionRange(4,4+a.length),m={value:a}),i?t.onCut():t.onCopy(),o.isIOS||r.preventDefault(e)):(m=!0,p.value=a,p.select(),setTimeout(function(){m=!1,d(),n(),i?t.onCut():t.onCopy()}))):r.preventDefault(e)},D=function(e){k(e,!0)},x=function(e){k(e,!1)},I=function(e){var i=N(e);\"string\"==typeof i?(i&&t.onPaste(i,e),o.isIE&&setTimeout(n),r.preventDefault(e)):(p.value=\"\",_=!0)};r.addCommandKeyListener(p,t.onCommandKey.bind(t)),r.addListener(p,\"select\",E),r.addListener(p,\"input\",S),r.addListener(p,\"cut\",D),r.addListener(p,\"copy\",x),r.addListener(p,\"paste\",I);var z=function(e){b||!t.onCompositionStart||t.$readOnly||(b={},b.canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(j,0),t.on(\"mousedown\",P),b.canUndo&&!t.selection.isEmpty()&&(t.insert(\"\"),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},j=function(){if(b&&t.onCompositionUpdate&&!t.$readOnly){var e=p.value.replace(/\\x01/g,\"\");if(b.lastValue!==e&&(t.onCompositionUpdate(e),b.lastValue&&t.undo(),b.canUndo&&(b.lastValue=e),b.lastValue)){var n=t.selection.getRange();t.insert(b.lastValue),t.session.markUndoGroup(),b.range=t.selection.getRange(),t.selection.setRange(n),t.selection.clearSelection()}}},P=function(e){if(t.onCompositionEnd&&!t.$readOnly){var n=b;b=!1;var r=setTimeout(function(){r=null;var e=p.value.replace(/\\x01/g,\"\");b||(e==n.lastValue?d():!n.lastValue&&e&&(d(),O(e)))});L=function(e){return r&&clearTimeout(r),e=e.replace(/\\x01/g,\"\"),e==n.lastValue?\"\":(n.lastValue&&r&&t.undo(),e)},t.onCompositionEnd(),t.removeListener(\"mousedown\",P),\"compositionend\"==e.type&&n.range&&t.selection.setRange(n.range);var i=!!o.isChrome&&o.isChrome>=53||!!o.isWebKit&&o.isWebKit>=603;i&&S()}},B=a.delayedCall(j,50);r.addListener(p,\"compositionstart\",z),o.isGecko?r.addListener(p,\"text\",function(){B.schedule()}):(r.addListener(p,\"keyup\",function(){B.schedule()}),r.addListener(p,\"keydown\",function(){B.schedule()})),r.addListener(p,\"compositionend\",P),this.getElement=function(){return p},this.setReadOnly=function(e){p.readOnly=e},this.onContextMenu=function(e){T=!0,n(t.selection.isEmpty()),t._emit(\"nativecontextmenu\",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,n){y||(y=p.style.cssText),p.style.cssText=(n?\"z-index:100000;\":\"\")+\"height:\"+p.style.height+\";\"+(o.isIE?\"opacity:0.1;\":\"\");var a=t.container.getBoundingClientRect(),s=i.computedStyle(t.container),u=a.top+(parseInt(s.borderTopWidth)||0),l=a.left+(parseInt(a.borderLeftWidth)||0),c=a.bottom-u-p.clientHeight-2,d=function(e){p.style.left=e.clientX-l-2+\"px\",p.style.top=Math.min(e.clientY-u-2,c)+\"px\"};d(e),\"mousedown\"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(F),o.isWin&&r.capture(t.container,d,f))},this.onContextMenuClose=f;var F,R=function(e){t.textInput.onContextMenu(e),f()};if(r.addListener(p,\"mouseup\",R),r.addListener(p,\"mousedown\",function(e){e.preventDefault(),f()}),r.addListener(t.renderer.scroller,\"contextmenu\",R),r.addListener(p,\"contextmenu\",R),o.isIOS){var W=null,Y=!1;e.addEventListener(\"keydown\",function(e){W&&clearTimeout(W),Y=!0}),e.addEventListener(\"keyup\",function(e){W=setTimeout(function(){Y=!1},100)});var H=function(e){if(document.activeElement===p&&!Y){if(g)return setTimeout(function(){g=!1},100);var n=p.selectionStart,r=p.selectionEnd;if(p.setSelectionRange(4,5),n==r)switch(n){case 0:t.onCommandKey(null,0,s.up);break;case 1:t.onCommandKey(null,0,s.home);break;case 2:t.onCommandKey(null,u.option,s.left);break;case 4:t.onCommandKey(null,0,s.left);break;case 5:t.onCommandKey(null,0,s.right);break;case 7:t.onCommandKey(null,u.option,s.right);break;case 8:t.onCommandKey(null,0,s.end);break;case 9:t.onCommandKey(null,0,s.down)}else{switch(r){case 6:t.onCommandKey(null,u.shift,s.right);break;case 7:t.onCommandKey(null,u.shift|u.option,s.right);break;case 8:t.onCommandKey(null,u.shift,s.end);break;case 9:t.onCommandKey(null,u.shift,s.down)}switch(n){case 0:t.onCommandKey(null,u.shift,s.up);break;case 1:t.onCommandKey(null,u.shift,s.home);break;case 2:t.onCommandKey(null,u.shift|u.option,s.left);break;case 3:t.onCommandKey(null,u.shift,s.left)}}}};document.addEventListener(\"selectionchange\",H),t.on(\"destroy\",function(){document.removeEventListener(\"selectionchange\",H)})}};t.TextInput=d}),ace.define(\"ace/keyboard/textinput\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/keyboard/textinput_ios\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=e(\"../lib/dom\"),a=e(\"../lib/lang\"),s=o.isChrome<18,u=o.isIE,l=e(\"./textinput_ios\").TextInput,c=function(e,t){function n(e){if(!g){if(g=!0,C)var t=0,n=e?0:f.value.length-1;else var t=e?2:1,n=2;try{f.setSelectionRange(t,n)}catch(e){}g=!1}}function c(){g||(f.value=p,o.isWebKit&&M.schedule())}function d(){clearTimeout(P),P=setTimeout(function(){_&&(f.style.cssText=_,_=\"\"),null==t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=!0,t.renderer.$moveTextAreaToCursor())},0)}if(o.isIOS)return l.call(this,e,t);var f=i.createElement(\"textarea\");f.className=\"ace_text-input\",f.setAttribute(\"wrap\",\"off\"),f.setAttribute(\"autocorrect\",\"off\"),f.setAttribute(\"autocapitalize\",\"off\"),f.setAttribute(\"spellcheck\",!1),f.style.opacity=\"0\",e.insertBefore(f,e.firstChild);var p=\"\\u2028\\u2028\",h=!1,m=!1,g=!1,_=\"\",b=!0;\ntry{var y=document.activeElement===f}catch(e){}r.addListener(f,\"blur\",function(e){t.onBlur(e),y=!1}),r.addListener(f,\"focus\",function(e){y=!0,t.onFocus(e),n()}),this.focus=function(){if(_)return f.focus();var e=f.style.top;f.style.position=\"fixed\",f.style.top=\"0px\",f.focus(),setTimeout(function(){f.style.position=\"\",\"0px\"==f.style.top&&(f.style.top=e)},0)},this.blur=function(){f.blur()},this.isFocused=function(){return y};var v=a.delayedCall(function(){y&&n(b)}),M=a.delayedCall(function(){g||(f.value=p,y&&n())});o.isWebKit||t.addEventListener(\"changeSelection\",function(){t.selection.isEmpty()!=b&&(b=!b,v.schedule())}),c(),y&&t.onFocus();var A=function(e){return 0===e.selectionStart&&e.selectionEnd===e.value.length},w=function(e){h?h=!1:A(f)?(t.selectAll(),n()):C&&n(t.selection.isEmpty())},C=null;this.setInputHandler=function(e){C=e},this.getInputHandler=function(){return C};var E=!1,L=function(e){C&&(e=C(e),C=null),m?(n(),e&&t.onPaste(e),m=!1):e==p.charAt(0)?E?t.execCommand(\"del\",{source:\"ace\"}):t.execCommand(\"backspace\",{source:\"ace\"}):(e.substring(0,2)==p?e=e.substr(2):e.charAt(0)==p.charAt(0)?e=e.substr(1):e.charAt(e.length-1)==p.charAt(0)&&(e=e.slice(0,-1)),e.charAt(e.length-1)==p.charAt(0)&&(e=e.slice(0,-1)),e&&t.onTextInput(e)),E&&(E=!1)},T=function(e){if(!g){var t=f.value;L(t),c()}},O=function(e,t,n){var r=e.clipboardData||window.clipboardData;if(r&&!s){var o=u||n?\"Text\":\"text/plain\";try{return t?r.setData(o,t)!==!1:r.getData(o)}catch(e){if(!n)return O(e,t,!0)}}},S=function(e,o){var i=t.getCopyText();return i?void(O(e,i)?(o?t.onCut():t.onCopy(),r.preventDefault(e)):(h=!0,f.value=i,f.select(),setTimeout(function(){h=!1,c(),n(),o?t.onCut():t.onCopy()}))):r.preventDefault(e)},N=function(e){S(e,!0)},k=function(e){S(e,!1)},D=function(e){var i=O(e);\"string\"==typeof i?(i&&t.onPaste(i,e),o.isIE&&setTimeout(n),r.preventDefault(e)):(f.value=\"\",m=!0)};r.addCommandKeyListener(f,t.onCommandKey.bind(t)),r.addListener(f,\"select\",w),r.addListener(f,\"input\",T),r.addListener(f,\"cut\",N),r.addListener(f,\"copy\",k),r.addListener(f,\"paste\",D),\"oncut\"in f&&\"oncopy\"in f&&\"onpaste\"in f||r.addListener(e,\"keydown\",function(e){if((!o.isMac||e.metaKey)&&e.ctrlKey)switch(e.keyCode){case 67:k(e);break;case 86:D(e);break;case 88:N(e)}});var x=function(e){g||!t.onCompositionStart||t.$readOnly||(g={},g.canUndo=t.session.$undoManager,t.onCompositionStart(),setTimeout(I,0),t.on(\"mousedown\",z),g.canUndo&&!t.selection.isEmpty()&&(t.insert(\"\"),t.session.markUndoGroup(),t.selection.clearSelection()),t.session.markUndoGroup())},I=function(){if(g&&t.onCompositionUpdate&&!t.$readOnly){var e=f.value.replace(/\\u2028/g,\"\");if(g.lastValue!==e&&(t.onCompositionUpdate(e),g.lastValue&&t.undo(),g.canUndo&&(g.lastValue=e),g.lastValue)){var n=t.selection.getRange();t.insert(g.lastValue),t.session.markUndoGroup(),g.range=t.selection.getRange(),t.selection.setRange(n),t.selection.clearSelection()}}},z=function(e){if(t.onCompositionEnd&&!t.$readOnly){var n=g;g=!1;var r=setTimeout(function(){r=null;var e=f.value.replace(/\\u2028/g,\"\");g||(e==n.lastValue?c():!n.lastValue&&e&&(c(),L(e)))});C=function(e){return r&&clearTimeout(r),e=e.replace(/\\u2028/g,\"\"),e==n.lastValue?\"\":(n.lastValue&&r&&t.undo(),e)},t.onCompositionEnd(),t.removeListener(\"mousedown\",z),\"compositionend\"==e.type&&n.range&&t.selection.setRange(n.range);var i=!!o.isChrome&&o.isChrome>=53||!!o.isWebKit&&o.isWebKit>=603;i&&T()}},j=a.delayedCall(I,50);r.addListener(f,\"compositionstart\",x),o.isGecko?r.addListener(f,\"text\",function(){j.schedule()}):(r.addListener(f,\"keyup\",function(){j.schedule()}),r.addListener(f,\"keydown\",function(){j.schedule()})),r.addListener(f,\"compositionend\",z),this.getElement=function(){return f},this.setReadOnly=function(e){f.readOnly=e},this.onContextMenu=function(e){E=!0,n(t.selection.isEmpty()),t._emit(\"nativecontextmenu\",{target:t,domEvent:e}),this.moveToMouse(e,!0)},this.moveToMouse=function(e,n){_||(_=f.style.cssText),f.style.cssText=(n?\"z-index:100000;\":\"\")+\"height:\"+f.style.height+\";\"+(o.isIE?\"opacity:0.1;\":\"\");var a=t.container.getBoundingClientRect(),s=i.computedStyle(t.container),u=a.top+(parseInt(s.borderTopWidth)||0),l=a.left+(parseInt(a.borderLeftWidth)||0),c=a.bottom-u-f.clientHeight-2,p=function(e){f.style.left=e.clientX-l-2+\"px\",f.style.top=Math.min(e.clientY-u-2,c)+\"px\"};p(e),\"mousedown\"==e.type&&(t.renderer.$keepTextAreaAtCursor&&(t.renderer.$keepTextAreaAtCursor=null),clearTimeout(P),o.isWin&&r.capture(t.container,p,d))},this.onContextMenuClose=d;var P,B=function(e){t.textInput.onContextMenu(e),d()};r.addListener(f,\"mouseup\",B),r.addListener(f,\"mousedown\",function(e){e.preventDefault(),d()}),r.addListener(t.renderer.scroller,\"contextmenu\",B),r.addListener(f,\"contextmenu\",B)};t.TextInput=c}),ace.define(\"ace/mouse/default_handlers\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";function r(e){e.$clickSelection=null;var t=e.editor;t.setDefaultHandler(\"mousedown\",this.onMouseDown.bind(e)),t.setDefaultHandler(\"dblclick\",this.onDoubleClick.bind(e)),t.setDefaultHandler(\"tripleclick\",this.onTripleClick.bind(e)),t.setDefaultHandler(\"quadclick\",this.onQuadClick.bind(e)),t.setDefaultHandler(\"mousewheel\",this.onMouseWheel.bind(e)),t.setDefaultHandler(\"touchmove\",this.onTouchMove.bind(e));var n=[\"select\",\"startSelect\",\"selectEnd\",\"selectAllEnd\",\"selectByWordsEnd\",\"selectByLinesEnd\",\"dragWait\",\"dragWaitEnd\",\"focusWait\"];n.forEach(function(t){e[t]=this[t]},this),e.selectByLines=this.extendSelectionBy.bind(e,\"getLineRange\"),e.selectByWords=this.extendSelectionBy.bind(e,\"getWordRange\")}function o(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}function i(e,t){if(e.start.row==e.end.row)var n=2*t.column-e.start.column-e.end.column;else if(e.start.row!=e.end.row-1||e.start.column||e.end.column)var n=2*t.row-e.start.row-e.end.row;else var n=t.column-4;return n<0?{cursor:e.start,anchor:e.end}:{cursor:e.end,anchor:e.start}}var a=(e(\"../lib/dom\"),e(\"../lib/event\"),e(\"../lib/useragent\")),s=0,u=250;(function(){this.onMouseDown=function(e){var t=e.inSelection(),n=e.getDocumentPosition();this.mousedownEvent=e;var r=this.editor,o=e.getButton();if(0!==o){var i=r.getSelectionRange(),s=i.isEmpty();return r.$blockScrolling++,(s||1==o)&&r.selection.moveToPosition(n),r.$blockScrolling--,void(2==o&&(r.textInput.onContextMenu(e.domEvent),a.isMozilla||e.preventDefault()))}return this.mousedownEvent.time=Date.now(),!t||r.isFocused()||(r.focus(),!this.$focusTimout||this.$clickSelection||r.inMultiSelectMode)?(this.captureMouse(e),this.startSelect(n,e.domEvent._clicks>1),e.preventDefault()):(this.setState(\"focusWait\"),void this.captureMouse(e))},this.startSelect=function(e,t){e=e||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var n=this.editor;n.$blockScrolling++,this.mousedownEvent.getShiftKey()?n.selection.selectToPosition(e):t||n.selection.moveToPosition(e),t||this.select(),n.renderer.scroller.setCapture&&n.renderer.scroller.setCapture(),n.setStyle(\"ace_selecting\"),this.setState(\"select\"),n.$blockScrolling--},this.select=function(){var e,t=this.editor,n=t.renderer.screenToTextCoordinates(this.x,this.y);if(t.$blockScrolling++,this.$clickSelection){var r=this.$clickSelection.comparePoint(n);if(r==-1)e=this.$clickSelection.end;else if(1==r)e=this.$clickSelection.start;else{var o=i(this.$clickSelection,n);n=o.cursor,e=o.anchor}t.selection.setSelectionAnchor(e.row,e.column)}t.selection.selectToPosition(n),t.$blockScrolling--,t.renderer.scrollCursorIntoView()},this.extendSelectionBy=function(e){var t,n=this.editor,r=n.renderer.screenToTextCoordinates(this.x,this.y),o=n.selection[e](r.row,r.column);if(n.$blockScrolling++,this.$clickSelection){var a=this.$clickSelection.comparePoint(o.start),s=this.$clickSelection.comparePoint(o.end);if(a==-1&&s<=0)t=this.$clickSelection.end,o.end.row==r.row&&o.end.column==r.column||(r=o.start);else if(1==s&&a>=0)t=this.$clickSelection.start,o.start.row==r.row&&o.start.column==r.column||(r=o.end);else if(a==-1&&1==s)r=o.end,t=o.start;else{var u=i(this.$clickSelection,r);r=u.cursor,t=u.anchor}n.selection.setSelectionAnchor(t.row,t.column)}n.selection.selectToPosition(r),n.$blockScrolling--,n.renderer.scrollCursorIntoView()},this.selectEnd=this.selectAllEnd=this.selectByWordsEnd=this.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle(\"ace_selecting\"),this.editor.renderer.scroller.releaseCapture&&this.editor.renderer.scroller.releaseCapture()},this.focusWait=function(){var e=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(e>s||t-this.mousedownEvent.time>this.$focusTimout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},this.onDoubleClick=function(e){var t=e.getDocumentPosition(),n=this.editor,r=n.session,o=r.getBracketRange(t);o?(o.isEmpty()&&(o.start.column--,o.end.column++),this.setState(\"select\")):(o=n.selection.getWordRange(t.row,t.column),this.setState(\"selectByWords\")),this.$clickSelection=o,this.select()},this.onTripleClick=function(e){var t=e.getDocumentPosition(),n=this.editor;this.setState(\"selectByLines\");var r=n.getSelectionRange();r.isMultiLine()&&r.contains(t.row,t.column)?(this.$clickSelection=n.selection.getLineRange(r.start.row),this.$clickSelection.end=n.selection.getLineRange(r.end.row).end):this.$clickSelection=n.selection.getLineRange(t.row),this.select()},this.onQuadClick=function(e){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState(\"selectAll\")},this.onMouseWheel=function(e){if(!e.getAccelKey()){e.getShiftKey()&&e.wheelY&&!e.wheelX&&(e.wheelX=e.wheelY,e.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var n=this.$lastScroll,r=e.domEvent.timeStamp,o=r-n.t,i=e.wheelX/o,a=e.wheelY/o;o<u&&(i=(i+n.vx)/2,a=(a+n.vy)/2);var s=Math.abs(i/a),l=!1;if(s>=1&&t.renderer.isScrollableBy(e.wheelX*e.speed,0)&&(l=!0),s<=1&&t.renderer.isScrollableBy(0,e.wheelY*e.speed)&&(l=!0),l)n.allowed=r;else if(r-n.allowed<u){var c=Math.abs(i)<=1.1*Math.abs(n.vx)&&Math.abs(a)<=1.1*Math.abs(n.vy);c?(l=!0,n.allowed=r):n.allowed=0}return n.t=r,n.vx=i,n.vy=a,l?(t.renderer.scrollBy(e.wheelX*e.speed,e.wheelY*e.speed),e.stop()):void 0}},this.onTouchMove=function(e){this.editor._emit(\"mousewheel\",e)}}).call(r.prototype),t.DefaultHandlers=r}),ace.define(\"ace/tooltip\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";function r(e){this.isOpen=!1,this.$element=null,this.$parentNode=e}var o=(e(\"./lib/oop\"),e(\"./lib/dom\"));(function(){this.$init=function(){return this.$element=o.createElement(\"div\"),this.$element.className=\"ace_tooltip\",this.$element.style.display=\"none\",this.$parentNode.appendChild(this.$element),this.$element},this.getElement=function(){return this.$element||this.$init()},this.setText=function(e){o.setInnerText(this.getElement(),e)},this.setHtml=function(e){this.getElement().innerHTML=e},this.setPosition=function(e,t){this.getElement().style.left=e+\"px\",this.getElement().style.top=t+\"px\"},this.setClassName=function(e){o.addCssClass(this.getElement(),e)},this.show=function(e,t,n){null!=e&&this.setText(e),null!=t&&null!=n&&this.setPosition(t,n),this.isOpen||(this.getElement().style.display=\"block\",this.isOpen=!0)},this.hide=function(){this.isOpen&&(this.getElement().style.display=\"none\",this.isOpen=!1)},this.getHeight=function(){return this.getElement().offsetHeight},this.getWidth=function(){return this.getElement().offsetWidth},this.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)}}).call(r.prototype),t.Tooltip=r}),ace.define(\"ace/mouse/default_gutter_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/event\",\"ace/tooltip\"],function(e,t,n){\"use strict\";function r(e){function t(){var t=d.getDocumentPosition().row,o=u.$annotations[t];if(!o)return n();var i=a.session.getLength();if(t==i){var s=a.renderer.pixelToScreenCoordinates(0,d.y).row,c=d.$pos;if(s>a.session.documentToScreenRow(c.row,c.column))return n()}if(f!=o)if(f=o.text.join(\"<br/>\"),l.setHtml(f),l.show(),a._signal(\"showGutterTooltip\",l),a.on(\"mousewheel\",n),e.$tooltipFollowsMouse)r(d);else{var p=d.domEvent.target,h=p.getBoundingClientRect(),m=l.getElement().style;m.left=h.right+\"px\",m.top=h.bottom+\"px\"}}function n(){c&&(c=clearTimeout(c)),f&&(l.hide(),f=null,a._signal(\"hideGutterTooltip\",l),a.removeEventListener(\"mousewheel\",n))}function r(e){l.setPosition(e.x,e.y)}var a=e.editor,u=a.renderer.$gutterLayer,l=new o(a.container);e.editor.setDefaultHandler(\"guttermousedown\",function(t){if(a.isFocused()&&0==t.getButton()){var n=u.getRegion(t);if(\"foldWidgets\"!=n){var r=t.getDocumentPosition().row,o=a.session.selection;if(t.getShiftKey())o.selectTo(r,0);else{if(2==t.domEvent.detail)return a.selectAll(),t.preventDefault();e.$clickSelection=a.selection.getLineRange(r)}return e.setState(\"selectByLines\"),e.captureMouse(t),t.preventDefault()}}});var c,d,f;e.editor.setDefaultHandler(\"guttermousemove\",function(o){var a=o.domEvent.target||o.domEvent.srcElement;return i.hasCssClass(a,\"ace_fold-widget\")?n():(f&&e.$tooltipFollowsMouse&&r(o),d=o,void(c||(c=setTimeout(function(){c=null,d&&!e.isMousePressed?t():n()},50))))}),s.addListener(a.renderer.$gutter,\"mouseout\",function(e){d=null,f&&!c&&(c=setTimeout(function(){c=null,n()},50))}),a.on(\"changeSession\",n)}function o(e){u.call(this,e)}var i=e(\"../lib/dom\"),a=e(\"../lib/oop\"),s=e(\"../lib/event\"),u=e(\"../tooltip\").Tooltip;a.inherits(o,u),function(){this.setPosition=function(e,t){var n=window.innerWidth||document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight,o=this.getWidth(),i=this.getHeight();e+=15,t+=15,e+o>n&&(e-=e+o-n),t+i>r&&(t-=20+i),u.prototype.setPosition.call(this,e,t)}}.call(o.prototype),t.GutterHandler=r}),ace.define(\"ace/mouse/mouse_event\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=t.MouseEvent=function(e,t){this.domEvent=e,this.editor=t,this.x=this.clientX=e.clientX,this.y=this.clientY=e.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1};(function(){this.stopPropagation=function(){r.stopPropagation(this.domEvent),this.propagationStopped=!0},this.preventDefault=function(){r.preventDefault(this.domEvent),this.defaultPrevented=!0},this.stop=function(){this.stopPropagation(),this.preventDefault()},this.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},this.inSelection=function(){if(null!==this.$inSelection)return this.$inSelection;var e=this.editor,t=e.getSelectionRange();if(t.isEmpty())this.$inSelection=!1;else{var n=this.getDocumentPosition();this.$inSelection=t.contains(n.row,n.column)}return this.$inSelection},this.getButton=function(){return r.getButton(this.domEvent)},this.getShiftKey=function(){return this.domEvent.shiftKey},this.getAccelKey=o.isMac?function(){return this.domEvent.metaKey}:function(){return this.domEvent.ctrlKey}}).call(i.prototype)}),ace.define(\"ace/mouse/dragdrop_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";function r(e){function t(e,t){var n=Date.now(),r=!t||e.row!=t.row,i=!t||e.column!=t.column;if(!O||r||i)g.$blockScrolling+=1,g.moveCursorToPosition(e),g.$blockScrolling-=1,O=n,S={x:v,y:M};else{var a=o(S.x,S.y,v,M);a>c?O=null:n-O>=l&&(g.renderer.scrollCursorIntoView(),O=null)}}function n(e,t){var n=Date.now(),r=g.renderer.layerConfig.lineHeight,o=g.renderer.layerConfig.characterWidth,i=g.renderer.scroller.getBoundingClientRect(),a={x:{left:v-i.left,right:i.right-v},y:{top:M-i.top,bottom:i.bottom-M}},s=Math.min(a.x.left,a.x.right),l=Math.min(a.y.top,a.y.bottom),c={row:e.row,column:e.column};s/o<=2&&(c.column+=a.x.left<a.x.right?-3:2),l/r<=1&&(c.row+=a.y.top<a.y.bottom?-1:1);var d=e.row!=c.row,f=e.column!=c.column,p=!t||e.row!=t.row;d||f&&!p?T?n-T>=u&&g.renderer.scrollCursorIntoView(c):T=n:T=null}function r(){var e=C;C=g.renderer.screenToTextCoordinates(v,M),t(C,e),n(C,e)}function d(){w=g.selection.toOrientedRange(),y=g.session.addMarker(w,\"ace_selection\",g.getSelectionStyle()),g.clearSelection(),g.isFocused()&&g.renderer.$cursorLayer.setBlinking(!1),clearInterval(A),r(),A=setInterval(r,20),k=0,a.addListener(document,\"mousemove\",p)}function f(){clearInterval(A),g.session.removeMarker(y),y=null,g.$blockScrolling+=1,g.selection.fromOrientedRange(w),g.$blockScrolling-=1,g.isFocused()&&!L&&g.renderer.$cursorLayer.setBlinking(!g.getReadOnly()),w=null,C=null,k=0,T=null,O=null,a.removeListener(document,\"mousemove\",p)}function p(){null==D&&(D=setTimeout(function(){null!=D&&y&&f()},20))}function h(e){var t=e.types;return!t||Array.prototype.some.call(t,function(e){return\"text/plain\"==e||\"Text\"==e})}function m(e){var t=[\"copy\",\"copymove\",\"all\",\"uninitialized\"],n=[\"move\",\"copymove\",\"linkmove\",\"all\",\"uninitialized\"],r=s.isMac?e.altKey:e.ctrlKey,o=\"uninitialized\";try{o=e.dataTransfer.effectAllowed.toLowerCase()}catch(e){}var i=\"none\";return r&&t.indexOf(o)>=0?i=\"copy\":n.indexOf(o)>=0?i=\"move\":t.indexOf(o)>=0&&(i=\"copy\"),i}var g=e.editor,_=i.createElement(\"img\");_.src=\"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\",s.isOpera&&(_.style.cssText=\"width:1px;height:1px;position:fixed;top:0;left:0;z-index:2147483647;opacity:0;\");var b=[\"dragWait\",\"dragWaitEnd\",\"startDrag\",\"dragReadyEnd\",\"onMouseDrag\"];b.forEach(function(t){e[t]=this[t]},this),g.addEventListener(\"mousedown\",this.onMouseDown.bind(e));var y,v,M,A,w,C,E,L,T,O,S,N=g.container,k=0;this.onDragStart=function(e){if(this.cancelDrag||!N.draggable){var t=this;return setTimeout(function(){t.startSelect(),t.captureMouse(e)},0),e.preventDefault()}w=g.getSelectionRange();var n=e.dataTransfer;n.effectAllowed=g.getReadOnly()?\"copy\":\"copyMove\",s.isOpera&&(g.container.appendChild(_),_.scrollTop=0),n.setDragImage&&n.setDragImage(_,0,0),s.isOpera&&g.container.removeChild(_),n.clearData(),n.setData(\"Text\",g.session.getTextRange()),L=!0,this.setState(\"drag\")},this.onDragEnd=function(e){if(N.draggable=!1,L=!1,this.setState(null),!g.getReadOnly()){var t=e.dataTransfer.dropEffect;E||\"move\"!=t||g.session.remove(g.getSelectionRange()),g.renderer.$cursorLayer.setBlinking(!0)}this.editor.unsetStyle(\"ace_dragging\"),this.editor.renderer.setCursorStyle(\"\")},this.onDragEnter=function(e){if(!g.getReadOnly()&&h(e.dataTransfer))return v=e.clientX,M=e.clientY,y||d(),k++,e.dataTransfer.dropEffect=E=m(e),a.preventDefault(e)},this.onDragOver=function(e){if(!g.getReadOnly()&&h(e.dataTransfer))return v=e.clientX,M=e.clientY,y||(d(),k++),null!==D&&(D=null),e.dataTransfer.dropEffect=E=m(e),a.preventDefault(e)},this.onDragLeave=function(e){if(k--,k<=0&&y)return f(),E=null,a.preventDefault(e)},this.onDrop=function(e){if(C){var t=e.dataTransfer;if(L)switch(E){case\"move\":w=w.contains(C.row,C.column)?{start:C,end:C}:g.moveText(w,C);break;case\"copy\":w=g.moveText(w,C,!0)}else{var n=t.getData(\"Text\");w={start:C,end:g.session.insert(C,n)},g.focus(),E=null}return f(),a.preventDefault(e)}},a.addListener(N,\"dragstart\",this.onDragStart.bind(e)),a.addListener(N,\"dragend\",this.onDragEnd.bind(e)),a.addListener(N,\"dragenter\",this.onDragEnter.bind(e)),a.addListener(N,\"dragover\",this.onDragOver.bind(e)),a.addListener(N,\"dragleave\",this.onDragLeave.bind(e)),a.addListener(N,\"drop\",this.onDrop.bind(e));var D=null}function o(e,t,n,r){return Math.sqrt(Math.pow(n-e,2)+Math.pow(r-t,2))}var i=e(\"../lib/dom\"),a=e(\"../lib/event\"),s=e(\"../lib/useragent\"),u=200,l=200,c=5;(function(){this.dragWait=function(){var e=Date.now()-this.mousedownEvent.time;e>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var e=this.editor.container;e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(e){this.editor.renderer.$cursorLayer.setBlinking(!this.editor.getReadOnly()),this.editor.unsetStyle(\"ace_dragging\"),this.editor.renderer.setCursorStyle(\"\"),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var e=this.editor,t=e.container;t.draggable=!0,e.renderer.$cursorLayer.setBlinking(!1),e.setStyle(\"ace_dragging\");var n=s.isWin?\"default\":\"move\";e.renderer.setCursorStyle(n),this.setState(\"dragReady\")},this.onMouseDrag=function(e){var t=this.editor.container;if(s.isIE&&\"dragReady\"==this.state){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&t.dragDrop()}if(\"dragWait\"===this.state){var n=o(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(e){if(this.$dragEnabled){this.mousedownEvent=e;var t=this.editor,n=e.inSelection(),r=e.getButton(),o=e.domEvent.detail||1;if(1===o&&0===r&&n){if(e.editor.inMultiSelectMode&&(e.getAccelKey()||e.getShiftKey()))return;this.mousedownEvent.time=Date.now();var i=e.domEvent.target||e.domEvent.srcElement;if(\"unselectable\"in i&&(i.unselectable=\"on\"),t.getDragDelay()){if(s.isWebKit){this.cancelDrag=!0;var a=t.container;a.draggable=!0}this.setState(\"dragWait\")}else this.startDrag();this.captureMouse(e,this.onMouseDrag.bind(this)),e.defaultPrevented=!0}}}}).call(r.prototype),t.DragdropHandler=r}),ace.define(\"ace/lib/net\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";var r=e(\"./dom\");t.get=function(e,t){var n=new XMLHttpRequest;n.open(\"GET\",e,!0),n.onreadystatechange=function(){4===n.readyState&&t(n.responseText)},n.send(null)},t.loadScript=function(e,t){var n=r.getDocumentHead(),o=document.createElement(\"script\");o.src=e,n.appendChild(o),o.onload=o.onreadystatechange=function(e,n){!n&&o.readyState&&\"loaded\"!=o.readyState&&\"complete\"!=o.readyState||(o=o.onload=o.onreadystatechange=null,n||t())}},t.qualifyURL=function(e){var t=document.createElement(\"a\");return t.href=e,t.href}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r={},o=function(){this.propagationStopped=!0},i=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(n.length||r){\"object\"==typeof t&&t||(t={}),t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=o),t.preventDefault||(t.preventDefault=i),n=n.slice();for(var a=0;a<n.length&&(n[a](t,this),!t.propagationStopped);a++);return r&&!t.defaultPrevented?r(t,this):void 0}},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)}},r.once=function(e,t){var n=this;t&&this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[e]){var r=n[e],o=n._disabled_[e];o||(n._disabled_[e]=o=[]),o.push(r);var i=o.indexOf(t);i!=-1&&o.splice(i,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(n){var r=n._disabled_[e];if(n[e]==t){n[e];r&&this.setDefaultHandler(e,r.pop())}else if(r){var o=r.indexOf(t);o!=-1&&r.splice(o,1)}}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?\"unshift\":\"push\"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(n){var r=n.indexOf(t);r!==-1&&n.splice(r,1)}},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define(\"ace/lib/app_config\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(e,n,r){\"no use strict\";function o(e){\"undefined\"!=typeof t&&t.warn&&t.warn.apply(t,arguments)}function i(e,n){var r=new Error(e);r.data=n,\"object\"==typeof t&&t.error&&t.error(r),setTimeout(function(){throw r})}var a=e(\"./oop\"),s=e(\"./event_emitter\").EventEmitter,u={setOptions:function(e){Object.keys(e).forEach(function(t){this.setOption(t,e[t])},this)},getOptions:function(e){var t={};return e?Array.isArray(e)||(t=e,e=Object.keys(t)):e=Object.keys(this.$options),e.forEach(function(e){t[e]=this.getOption(e)},this),t},setOption:function(e,t){if(this[\"$\"+e]!==t){var n=this.$options[e];if(!n)return o('misspelled option \"'+e+'\"');if(n.forwardTo)return this[n.forwardTo]&&this[n.forwardTo].setOption(e,t);n.handlesSet||(this[\"$\"+e]=t),n&&n.set&&n.set.call(this,t)}},getOption:function(e){var t=this.$options[e];return t?t.forwardTo?this[t.forwardTo]&&this[t.forwardTo].getOption(e):t&&t.get?t.get.call(this):this[\"$\"+e]:o('misspelled option \"'+e+'\"')}},l=function(){this.$defaultOptions={}};(function(){a.implement(this,s),this.defineOptions=function(e,t,n){return e.$options||(this.$defaultOptions[t]=e.$options={}),Object.keys(n).forEach(function(t){var r=n[t];\"string\"==typeof r&&(r={forwardTo:r}),r.name||(r.name=t),e.$options[r.name]=r,\"initialValue\"in r&&(e[\"$\"+r.name]=r.initialValue)}),a.implement(e,u),this},this.resetOptions=function(e){Object.keys(e.$options).forEach(function(t){var n=e.$options[t];\"value\"in n&&e.setOption(t,n.value)})},this.setDefaultValue=function(e,t,n){var r=this.$defaultOptions[e]||(this.$defaultOptions[e]={});r[t]&&(r.forwardTo?this.setDefaultValue(r.forwardTo,t,n):r[t].value=n)},this.setDefaultValues=function(e,t){Object.keys(t).forEach(function(n){this.setDefaultValue(e,n,t[n])},this)},this.warn=o,this.reportError=i}).call(l.prototype),n.AppConfig=l}),ace.define(\"ace/config\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/app_config\"],function(e,t,r){\"no use strict\";function o(o){if(l&&l.document){c.packaged=o||e.packaged||r.packaged||l.define&&n(667).packaged;for(var a={},s=\"\",u=document.currentScript||document._currentScript,d=u&&u.ownerDocument||document,f=d.getElementsByTagName(\"script\"),p=0;p<f.length;p++){var h=f[p],m=h.src||h.getAttribute(\"src\");if(m){for(var g=h.attributes,_=0,b=g.length;_<b;_++){var y=g[_];0===y.name.indexOf(\"data-ace-\")&&(a[i(y.name.replace(/^data-ace-/,\"\"))]=y.value)}var v=m.match(/^(.*)\\/ace(\\-\\w+)?\\.js(\\?|$)/);v&&(s=v[1])}}s&&(a.base=a.base||s,a.packaged=!0),a.basePath=a.base,a.workerPath=a.workerPath||a.base,a.modePath=a.modePath||a.base,a.themePath=a.themePath||a.base,delete a.base;for(var M in a)\"undefined\"!=typeof a[M]&&t.set(M,a[M])}}function i(e){return e.replace(/-(.)/g,function(e,t){return t.toUpperCase()})}var a=e(\"./lib/lang\"),s=(e(\"./lib/oop\"),e(\"./lib/net\")),u=e(\"./lib/app_config\").AppConfig;r.exports=t=new u;var l=function(){return this||\"undefined\"!=typeof window&&window}(),c={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:\"\",suffix:\".js\",$moduleUrls:{}};t.get=function(e){if(!c.hasOwnProperty(e))throw new Error(\"Unknown config key: \"+e);return c[e]},t.set=function(e,t){if(!c.hasOwnProperty(e))throw new Error(\"Unknown config key: \"+e);c[e]=t},t.all=function(){return a.copyObject(c)},t.moduleUrl=function(e,t){if(c.$moduleUrls[e])return c.$moduleUrls[e];var n=e.split(\"/\");t=t||n[n.length-2]||\"\";var r=\"snippets\"==t?\"/\":\"-\",o=n[n.length-1];if(\"worker\"==t&&\"-\"==r){var i=new RegExp(\"^\"+t+\"[\\\\-_]|[\\\\-_]\"+t+\"$\",\"g\");o=o.replace(i,\"\")}(!o||o==t)&&n.length>1&&(o=n[n.length-2]);var a=c[t+\"Path\"];return null==a?a=c.basePath:\"/\"==r&&(t=r=\"\"),a&&\"/\"!=a.slice(-1)&&(a+=\"/\"),a+t+r+o+this.get(\"suffix\")},t.setModuleUrl=function(e,t){return c.$moduleUrls[e]=t},t.$loading={},t.loadModule=function(n,r){var o,i;Array.isArray(n)&&(i=n[0],n=n[1]);try{o=e(n)}catch(e){}if(o&&!t.$loading[n])return r&&r(o);if(t.$loading[n]||(t.$loading[n]=[]),t.$loading[n].push(r),!(t.$loading[n].length>1)){var a=function(){e([n],function(e){t._emit(\"load.module\",{name:n,module:e});var r=t.$loading[n];t.$loading[n]=null,r.forEach(function(t){t&&t(e)})})};return t.get(\"packaged\")?void s.loadScript(t.moduleUrl(n,i),a):a()}},o(!0),t.init=o}),ace.define(\"ace/mouse/mouse_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\",\"ace/mouse/default_handlers\",\"ace/mouse/default_gutter_handler\",\"ace/mouse/mouse_event\",\"ace/mouse/dragdrop_handler\",\"ace/config\"],function(e,t,n){\"use strict\";var r=e(\"../lib/event\"),o=e(\"../lib/useragent\"),i=e(\"./default_handlers\").DefaultHandlers,a=e(\"./default_gutter_handler\").GutterHandler,s=e(\"./mouse_event\").MouseEvent,u=e(\"./dragdrop_handler\").DragdropHandler,l=e(\"../config\"),c=function(e){var t=this;this.editor=e,new i(this),new a(this),new u(this);var n=function(t){var n=!document.hasFocus||!document.hasFocus()||!e.isFocused()&&document.activeElement==(e.textInput&&e.textInput.getElement());n&&window.focus(),e.focus()},s=e.renderer.getMouseEventTarget();r.addListener(s,\"click\",this.onMouseEvent.bind(this,\"click\")),r.addListener(s,\"mousemove\",this.onMouseMove.bind(this,\"mousemove\")),r.addMultiMouseDownListener([s,e.renderer.scrollBarV&&e.renderer.scrollBarV.inner,e.renderer.scrollBarH&&e.renderer.scrollBarH.inner,e.textInput&&e.textInput.getElement()].filter(Boolean),[400,300,250],this,\"onMouseEvent\"),r.addMouseWheelListener(e.container,this.onMouseWheel.bind(this,\"mousewheel\")),r.addTouchMoveListener(e.container,this.onTouchMove.bind(this,\"touchmove\"));var l=e.renderer.$gutter;r.addListener(l,\"mousedown\",this.onMouseEvent.bind(this,\"guttermousedown\")),r.addListener(l,\"click\",this.onMouseEvent.bind(this,\"gutterclick\")),r.addListener(l,\"dblclick\",this.onMouseEvent.bind(this,\"gutterdblclick\")),r.addListener(l,\"mousemove\",this.onMouseEvent.bind(this,\"guttermousemove\")),r.addListener(s,\"mousedown\",n),r.addListener(l,\"mousedown\",n),o.isIE&&e.renderer.scrollBarV&&(r.addListener(e.renderer.scrollBarV.element,\"mousedown\",n),r.addListener(e.renderer.scrollBarH.element,\"mousedown\",n)),e.on(\"mousemove\",function(n){if(!t.state&&!t.$dragDelay&&t.$dragEnabled){var r=e.renderer.screenToTextCoordinates(n.x,n.y),o=e.session.selection.getRange(),i=e.renderer;!o.isEmpty()&&o.insideStart(r.row,r.column)?i.setCursorStyle(\"default\"):i.setCursorStyle(\"\")}})};(function(){this.onMouseEvent=function(e,t){this.editor._emit(e,new s(t,this.editor))},this.onMouseMove=function(e,t){var n=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;n&&n.length&&this.editor._emit(e,new s(t,this.editor))},this.onMouseWheel=function(e,t){var n=new s(t,this.editor);n.speed=2*this.$scrollSpeed,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.onTouchMove=function(e,t){var n=new s(t,this.editor);n.speed=1,n.wheelX=t.wheelX,n.wheelY=t.wheelY,this.editor._emit(e,n)},this.setState=function(e){this.state=e},this.captureMouse=function(e,t){this.x=e.x,this.y=e.y,this.isMousePressed=!0;var n=this.editor.renderer;n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=null);var i=this,a=function(e){if(e){if(o.isWebKit&&!e.which&&i.releaseMouse)return i.releaseMouse();i.x=e.clientX,i.y=e.clientY,t&&t(e),i.mouseEvent=new s(e,i.editor),i.$mouseMoved=!0}},u=function(e){clearInterval(c),l(),i[i.state+\"End\"]&&i[i.state+\"End\"](e),i.state=\"\",null==n.$keepTextAreaAtCursor&&(n.$keepTextAreaAtCursor=!0,n.$moveTextAreaToCursor()),i.isMousePressed=!1,i.$onCaptureMouseMove=i.releaseMouse=null,e&&i.onMouseEvent(\"mouseup\",e)},l=function(){i[i.state]&&i[i.state](),i.$mouseMoved=!1};if(o.isOldIE&&\"dblclick\"==e.domEvent.type)return setTimeout(function(){u(e)});i.$onCaptureMouseMove=a,i.releaseMouse=r.capture(this.editor.container,a,u);var c=setInterval(l,20)},this.releaseMouse=null,this.cancelContextMenu=function(){var e=function(t){t&&t.domEvent&&\"contextmenu\"!=t.domEvent.type||(this.editor.off(\"nativecontextmenu\",e),t&&t.domEvent&&r.stopEvent(t.domEvent))}.bind(this);setTimeout(e,10),this.editor.on(\"nativecontextmenu\",e)}}).call(c.prototype),l.defineOptions(c.prototype,\"mouseHandler\",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:o.isMac?150:0},dragEnabled:{initialValue:!0},focusTimout:{initialValue:0},tooltipFollowsMouse:{\ninitialValue:!0}}),t.MouseHandler=c}),ace.define(\"ace/mouse/fold_handler\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e){e.on(\"click\",function(t){var n=t.getDocumentPosition(),r=e.session,o=r.getFoldAt(n.row,n.column,1);o&&(t.getAccelKey()?r.removeFold(o):r.expandFold(o),t.stop())}),e.on(\"gutterclick\",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(\"foldWidgets\"==n){var r=t.getDocumentPosition().row,o=e.session;o.foldWidgets&&o.foldWidgets[r]&&e.session.onFoldWidgetClick(r,t),e.isFocused()||e.focus(),t.stop()}}),e.on(\"gutterdblclick\",function(t){var n=e.renderer.$gutterLayer.getRegion(t);if(\"foldWidgets\"==n){var r=t.getDocumentPosition().row,o=e.session,i=o.getParentFoldRangeData(r,!0),a=i.range||i.firstRange;if(a){r=a.start.row;var s=o.getFoldAt(r,o.getLine(r).length,1);s?o.removeFold(s):(o.addFold(\"...\",a),e.renderer.scrollCursorIntoView({row:a.start.row,column:0}))}t.stop()}})}t.FoldHandler=r}),ace.define(\"ace/keyboard/keybinding\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/event\"],function(e,t,n){\"use strict\";var r=e(\"../lib/keys\"),o=e(\"../lib/event\"),i=function(e){this.$editor=e,this.$data={editor:e},this.$handlers=[],this.setDefaultHandler(e.commands)};(function(){this.setDefaultHandler=function(e){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=e,this.addKeyboardHandler(e,0)},this.setKeyboardHandler=function(e){var t=this.$handlers;if(t[t.length-1]!=e){for(;t[t.length-1]&&t[t.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(t[t.length-1]);this.addKeyboardHandler(e,1)}},this.addKeyboardHandler=function(e,t){if(e){\"function\"!=typeof e||e.handleKeyboard||(e.handleKeyboard=e);var n=this.$handlers.indexOf(e);n!=-1&&this.$handlers.splice(n,1),void 0==t?this.$handlers.push(e):this.$handlers.splice(t,0,e),n==-1&&e.attach&&e.attach(this.$editor)}},this.removeKeyboardHandler=function(e){var t=this.$handlers.indexOf(e);return t!=-1&&(this.$handlers.splice(t,1),e.detach&&e.detach(this.$editor),!0)},this.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},this.getStatusText=function(){var e=this.$data,t=e.editor;return this.$handlers.map(function(n){return n.getStatusText&&n.getStatusText(t,e)||\"\"}).filter(Boolean).join(\" \")},this.$callKeyboardHandlers=function(e,t,n,r){for(var i,a=!1,s=this.$editor.commands,u=this.$handlers.length;u--&&(i=this.$handlers[u].handleKeyboard(this.$data,e,t,n,r),!(i&&i.command&&(a=\"null\"==i.command||s.exec(i.command,this.$editor,i.args,r),a&&r&&e!=-1&&1!=i.passEvent&&1!=i.command.passEvent&&o.stopEvent(r),a))););return a||e!=-1||(i={command:\"insertstring\"},a=s.exec(\"insertstring\",this.$editor,t)),a&&this.$editor._signal&&this.$editor._signal(\"keyboardActivity\",i),a},this.onCommandKey=function(e,t,n){var o=r.keyCodeToString(n);this.$callKeyboardHandlers(t,o,n,e)},this.onTextInput=function(e){this.$callKeyboardHandlers(-1,e)}}).call(i.prototype),t.KeyBinding=i}),ace.define(\"ace/lib/bidiutil\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e,t,n,r){var o=s?h:p,m=null,g=null,_=null,b=0,y=null,v=null,M=-1,C=null,L=null,T=[];if(!r)for(C=0,r=[];C<n;C++)r[C]=a(e[C]);for(u=s,l=!1,c=!1,d=!1,f=!1,L=0;L<n;L++){if(m=b,T[L]=g=i(e,r,T,L),b=o[m][g],y=240&b,b&=15,t[L]=_=o[b][5],y>0)if(16==y){for(C=M;C<L;C++)t[C]=1;M=-1}else M=-1;if(v=o[b][6])M==-1&&(M=L);else if(M>-1){for(C=M;C<L;C++)t[C]=_;M=-1}r[L]==A&&(t[L]=0),u|=_}if(f)for(C=0;C<n;C++)if(r[C]==w){t[C]=s;for(var O=C-1;O>=0&&r[O]==E;O--)t[O]=s}}function o(e,t,n){if(!(u<e)){if(1==e&&s==g&&!d)return void n.reverse();for(var r,o,i,a,l=n.length,c=0;c<l;){if(t[c]>=e){for(r=c+1;r<l&&t[r]>=e;)r++;for(o=c,i=r-1;o<i;o++,i--)a=n[o],n[o]=n[i],n[i]=a;c=r}c++}}}function i(e,t,n,r){var o,i,a,u,p=t[r];switch(p){case _:case b:l=!1;case M:case v:return p;case y:return l?v:y;case C:return l=!0,c=!0,b;case E:return M;case L:return r<1||r+1>=t.length||(o=n[r-1])!=y&&o!=v||(i=t[r+1])!=y&&i!=v?M:(l&&(i=v),i==o?i:M);case T:return o=r>0?n[r-1]:A,o==y&&r+1<t.length&&t[r+1]==y?y:M;case O:if(r>0&&n[r-1]==y)return y;if(l)return M;for(u=r+1,a=t.length;u<a&&t[u]==O;)u++;return u<a&&t[u]==y?y:M;case S:for(a=t.length,u=r+1;u<a&&t[u]==S;)u++;if(u<a){var h=e[r],m=h>=1425&&h<=2303||64286==h;if(o=t[u],m&&(o==b||o==C))return b}return r<1||(o=t[r-1])==A?M:n[r-1];case A:return l=!1,d=!0,s;case w:return f=!0,M;case N:case k:case x:case I:case D:l=!1;case z:return M}}function a(e){var t=e.charCodeAt(0),n=t>>8;return 0==n?t>191?_:j[t]:5==n?/[\\u0591-\\u05f4]/.test(e)?b:_:6==n?/[\\u0610-\\u061a\\u064b-\\u065f\\u06d6-\\u06e4\\u06e7-\\u06ed]/.test(e)?S:/[\\u0660-\\u0669\\u066b-\\u066c]/.test(e)?v:1642==t?O:/[\\u06f0-\\u06f9]/.test(e)?y:C:32==n&&t<=8287?P[255&t]:254==n&&t>=65136?C:M}var s=0,u=0,l=!1,c=!1,d=!1,f=!1,p=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],h=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],m=0,g=1,_=0,b=1,y=2,v=3,M=4,A=5,w=6,C=7,E=8,L=9,T=10,O=11,S=12,N=13,k=14,D=15,x=16,I=17,z=18,j=[z,z,z,z,z,z,z,z,z,w,A,w,E,A,z,z,z,z,z,z,z,z,z,z,z,z,z,z,A,A,A,w,E,M,M,O,O,O,M,M,M,M,M,T,L,T,L,L,y,y,y,y,y,y,y,y,y,y,L,M,M,M,M,M,M,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,M,M,M,M,M,M,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,_,M,M,M,M,z,z,z,z,z,z,A,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,z,L,M,O,O,O,O,M,M,M,M,_,M,M,z,M,M,O,O,y,y,M,_,M,M,M,y,_,M,M,M,M,M],P=[E,E,E,E,E,E,E,E,E,E,E,z,z,z,_,b,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,E,A,N,k,D,x,I,L,O,O,O,O,O,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,L,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,E];t.L=_,t.R=b,t.EN=y,t.ON_R=3,t.AN=4,t.R_H=5,t.B=6,t.DOT=\"·\",t.doBidiReorder=function(e,n,i){if(e.length<2)return{};var a=e.split(\"\"),u=new Array(a.length),l=new Array(a.length),c=[];s=i?g:m,r(a,c,a.length,n);for(var d=0;d<u.length;u[d]=d,d++);o(2,c,u),o(1,c,u);for(var d=0;d<u.length-1;d++)n[d]===v?c[d]=t.AN:c[d]===b&&(n[d]>C&&n[d]<N||n[d]===M||n[d]===z)?c[d]=t.ON_R:d>0&&\"ل\"===a[d-1]&&/\\u0622|\\u0623|\\u0625|\\u0627/.test(a[d])&&(c[d-1]=c[d]=t.R_H,d++);a[a.length-1]===t.DOT&&(c[a.length-1]=t.B);for(var d=0;d<u.length;d++)l[d]=c[u[d]];return{logicalFromVisual:u,bidiLevels:l}},t.hasBidiCharacters=function(e,t){for(var n=!1,r=0;r<e.length;r++)t[r]=a(e.charAt(r)),n||t[r]!=b&&t[r]!=C||(n=!0);return n},t.getVisualFromLogicalIdx=function(e,t){for(var n=0;n<t.logicalFromVisual.length;n++)if(t.logicalFromVisual[n]==e)return n;return 0}}),ace.define(\"ace/bidihandler\",[\"require\",\"exports\",\"module\",\"ace/lib/bidiutil\",\"ace/lib/lang\",\"ace/lib/useragent\"],function(e,t,n){\"use strict\";var r=e(\"./lib/bidiutil\"),o=e(\"./lib/lang\"),i=e(\"./lib/useragent\"),a=/[\\u0590-\\u05f4\\u0600-\\u06ff\\u0700-\\u08ac]/,s=function(e){this.session=e,this.bidiMap={},this.currentRow=null,this.bidiUtil=r,this.charWidths=[],this.EOL=\"¬\",this.showInvisibles=!0,this.isRtlDir=!1,this.line=\"\",this.wrapIndent=0,this.isLastRow=!1,this.EOF=\"¶\",this.seenBidi=!1};(function(){this.isBidiRow=function(e,t,n){return!!this.seenBidi&&(e!==this.currentRow&&(this.currentRow=e,this.updateRowLine(t,n),this.updateBidiMap()),this.bidiMap.bidiLevels)},this.onChange=function(e){this.seenBidi?this.currentRow=null:\"insert\"==e.action&&a.test(e.lines.join(\"\\n\"))&&(this.seenBidi=!0,this.currentRow=null)},this.getDocumentRow=function(){var e=0,t=this.session.$screenRowCache;if(t.length){var n=this.session.$getRowCacheIndex(t,this.currentRow);n>=0&&(e=this.session.$docRowCache[n])}return e},this.getSplitIndex=function(){var e=0,t=this.session.$screenRowCache;if(t.length)for(var n,r=this.session.$getRowCacheIndex(t,this.currentRow);this.currentRow-e>0&&(n=this.session.$getRowCacheIndex(t,this.currentRow-e-1),n===r);)r=n,e++;return e},this.updateRowLine=function(e,t){if(void 0===e&&(e=this.getDocumentRow()),this.wrapIndent=0,this.isLastRow=e===this.session.getLength()-1,this.line=this.session.getLine(e),this.session.$useWrapMode){var n=this.session.$wrapData[e];n&&(void 0===t&&(t=this.getSplitIndex()),t>0&&n.length?(this.wrapIndent=n.indent,this.line=t<n.length?this.line.substring(n[t-1],n[n.length-1]):this.line.substring(n[n.length-1])):this.line=this.line.substring(0,n[t]))}var i,a=this.session,s=0;this.line=this.line.replace(/\\t|[\\u1100-\\u2029, \\u202F-\\uFFE6]/g,function(e,t){return\"\\t\"===e||a.isFullWidth(e.charCodeAt(0))?(i=\"\\t\"===e?a.getScreenTabSize(t+s):2,s+=i-1,o.stringRepeat(r.DOT,i)):e})},this.updateBidiMap=function(){var e=[],t=this.isLastRow?this.EOF:this.EOL,n=this.line+(this.showInvisibles?t:r.DOT);r.hasBidiCharacters(n,e)?this.bidiMap=r.doBidiReorder(n,e,this.isRtlDir):this.bidiMap={}},this.markAsDirty=function(){this.currentRow=null},this.updateCharacterWidths=function(e){if(this.seenBidi&&this.characterWidth!==e.$characterSize.width){var t=this.characterWidth=e.$characterSize.width,n=e.$measureCharWidth(\"ה\");this.charWidths[r.L]=this.charWidths[r.EN]=this.charWidths[r.ON_R]=t,this.charWidths[r.R]=this.charWidths[r.AN]=n,this.charWidths[r.R_H]=i.isChrome?n:.45*n,this.charWidths[r.B]=0,this.currentRow=null}},this.getShowInvisibles=function(){return this.showInvisibles},this.setShowInvisibles=function(e){this.showInvisibles=e,this.currentRow=null},this.setEolChar=function(e){this.EOL=e},this.setTextDir=function(e){this.isRtlDir=e},this.getPosLeft=function(e){e-=this.wrapIndent;var t=r.getVisualFromLogicalIdx(e>0?e-1:0,this.bidiMap),n=this.bidiMap.bidiLevels,o=0;0===e&&n[t]%2!==0&&t++;for(var i=0;i<t;i++)o+=this.charWidths[n[i]];return 0!==e&&n[t]%2===0&&(o+=this.charWidths[n[t]]),this.wrapIndent&&(o+=this.wrapIndent*this.charWidths[r.L]),o},this.getSelections=function(e,t){for(var n,o,i=this.bidiMap,a=i.bidiLevels,s=this.wrapIndent*this.charWidths[r.L],u=[],l=Math.min(e,t)-this.wrapIndent,c=Math.max(e,t)-this.wrapIndent,d=!1,f=!1,p=0,h=0;h<a.length;h++)o=i.logicalFromVisual[h],n=a[h],d=o>=l&&o<c,d&&!f?p=s:!d&&f&&u.push({left:p,width:s-p}),s+=this.charWidths[n],f=d;return d&&h===a.length&&u.push({left:p,width:s-p}),u},this.offsetToCol=function(e){var t=0,e=Math.max(e,0),n=0,o=0,i=this.bidiMap.bidiLevels,a=this.charWidths[i[o]];for(this.wrapIndent&&(e-=this.wrapIndent*this.charWidths[r.L]);e>n+a/2;){if(n+=a,o===i.length-1){a=0;break}a=this.charWidths[i[++o]]}return o>0&&i[o-1]%2!==0&&i[o]%2===0?(e<n&&o--,t=this.bidiMap.logicalFromVisual[o]):o>0&&i[o-1]%2===0&&i[o]%2!==0?t=1+(e>n?this.bidiMap.logicalFromVisual[o]:this.bidiMap.logicalFromVisual[o-1]):this.isRtlDir&&o===i.length-1&&0===a&&i[o-1]%2===0||!this.isRtlDir&&0===o&&i[o]%2!==0?t=1+this.bidiMap.logicalFromVisual[o]:(o>0&&i[o-1]%2!==0&&0!==a&&o--,t=this.bidiMap.logicalFromVisual[o]),t+this.wrapIndent}}).call(s.prototype),t.BidiHandler=s}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=function(e,t){return e.row-t.row||e.column-t.column},o=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(e,t){return 0==this.compare(e,t)},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),1==t?(t=this.compare(r.row,r.column),1==t?2:0==t?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:1==t?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return 0==this.comparePoint(e.start)&&0==this.comparePoint(e.end)},this.intersects=function(e){var t=this.compareRange(e);return t==-1||0==t||1==t},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){\"object\"==typeof e?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){\"object\"==typeof e?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return 0==this.compare(e,t)&&(!this.isEnd(e,t)&&!this.isStart(e,t))},this.insideStart=function(e,t){return 0==this.compare(e,t)&&!this.isEnd(e,t)},this.insideEnd=function(e,t){return 0==this.compare(e,t)&&!this.isStart(e,t)},this.compare=function(e,t){return this.isMultiLine()||e!==this.start.row?e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0:t<this.start.column?-1:t>this.end.column?1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return o.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(0==n)return this;if(n==-1)var r={row:e,column:t};else var i={row:e,column:t};return o.fromPoints(r||this.start,i||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new o(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(o.prototype),o.fromPoints=function(e,t){return new o(e.row,e.column,t.row,t.column)},o.comparePoints=r,o.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=o}),ace.define(\"ace/selection\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/lang\"),i=e(\"./lib/event_emitter\").EventEmitter,a=e(\"./range\").Range,s=function(e){this.session=e,this.doc=e.getDocument(),this.clearSelection(),this.lead=this.selectionLead=this.doc.createAnchor(0,0),this.anchor=this.selectionAnchor=this.doc.createAnchor(0,0);var t=this;this.lead.on(\"change\",function(e){t._emit(\"changeCursor\"),t.$isEmpty||t._emit(\"changeSelection\"),t.$keepDesiredColumnOnChange||e.old.column==e.value.column||(t.$desiredColumn=null)}),this.selectionAnchor.on(\"change\",function(){t.$isEmpty||t._emit(\"changeSelection\")})};(function(){r.implement(this,i),this.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},this.isMultiLine=function(){return!this.isEmpty()&&this.getRange().isMultiLine()},this.getCursor=function(){return this.lead.getPosition()},this.setSelectionAnchor=function(e,t){this.anchor.setPosition(e,t),this.$isEmpty&&(this.$isEmpty=!1,this._emit(\"changeSelection\"))},this.getSelectionAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},this.getSelectionLead=function(){return this.lead.getPosition()},this.shiftSelection=function(e){if(this.$isEmpty)return void this.moveCursorTo(this.lead.row,this.lead.column+e);var t=this.getSelectionAnchor(),n=this.getSelectionLead(),r=this.isBackwards();r&&0===t.column||this.setSelectionAnchor(t.row,t.column+e),(r||0!==n.column)&&this.$moveSelection(function(){this.moveCursorTo(n.row,n.column+e)})},this.isBackwards=function(){var e=this.anchor,t=this.lead;return e.row>t.row||e.row==t.row&&e.column>t.column},this.getRange=function(){var e=this.anchor,t=this.lead;return this.isEmpty()?a.fromPoints(t,t):this.isBackwards()?a.fromPoints(t,e):a.fromPoints(e,t)},this.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit(\"changeSelection\"))},this.selectAll=function(){var e=this.doc.getLength()-1;this.setSelectionAnchor(0,0),this.moveCursorTo(e,this.doc.getLine(e).length)},this.setRange=this.setSelectionRange=function(e,t){t?(this.setSelectionAnchor(e.end.row,e.end.column),this.selectTo(e.start.row,e.start.column)):(this.setSelectionAnchor(e.start.row,e.start.column),this.selectTo(e.end.row,e.end.column)),this.getRange().isEmpty()&&(this.$isEmpty=!0),this.$desiredColumn=null},this.$moveSelection=function(e){var t=this.lead;this.$isEmpty&&this.setSelectionAnchor(t.row,t.column),e.call(this)},this.selectTo=function(e,t){this.$moveSelection(function(){this.moveCursorTo(e,t)})},this.selectToPosition=function(e){this.$moveSelection(function(){this.moveCursorToPosition(e)})},this.moveTo=function(e,t){this.clearSelection(),this.moveCursorTo(e,t)},this.moveToPosition=function(e){this.clearSelection(),this.moveCursorToPosition(e)},this.selectUp=function(){this.$moveSelection(this.moveCursorUp)},this.selectDown=function(){this.$moveSelection(this.moveCursorDown)},this.selectRight=function(){this.$moveSelection(this.moveCursorRight)},this.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},this.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},this.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},this.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},this.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},this.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},this.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},this.getWordRange=function(e,t){if(\"undefined\"==typeof t){var n=e||this.lead;e=n.row,t=n.column}return this.session.getWordRange(e,t)},this.selectWord=function(){this.setSelectionRange(this.getWordRange())},this.selectAWord=function(){var e=this.getCursor(),t=this.session.getAWordRange(e.row,e.column);this.setSelectionRange(t)},this.getLineRange=function(e,t){var n,r=\"number\"==typeof e?e:this.lead.row,o=this.session.getFoldLine(r);return o?(r=o.start.row,n=o.end.row):n=r,t===!0?new a(r,0,n,this.session.getLine(n).length):new a(r,0,n+1,0)},this.selectLine=function(){this.setSelectionRange(this.getLineRange())},this.moveCursorUp=function(){this.moveCursorBy(-1,0)},this.moveCursorDown=function(){this.moveCursorBy(1,0)},this.wouldMoveIntoSoftTab=function(e,t,n){var r=e.column,o=e.column+t;return n<0&&(r=e.column-t,o=e.column),this.session.isTabStop(e)&&this.doc.getLine(e.row).slice(r,o).split(\" \").length-1==t},this.moveCursorLeft=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,-1))this.moveCursorTo(e.start.row,e.start.column);else if(0===t.column)t.row>0&&this.moveCursorTo(t.row-1,this.doc.getLine(t.row-1).length);else{var n=this.session.getTabSize();this.wouldMoveIntoSoftTab(t,n,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-n):this.moveCursorBy(0,-1)}},this.moveCursorRight=function(){var e,t=this.lead.getPosition();if(e=this.session.getFoldAt(t.row,t.column,1))this.moveCursorTo(e.end.row,e.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var n=this.session.getTabSize(),t=this.lead;this.wouldMoveIntoSoftTab(t,n,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,n):this.moveCursorBy(0,1)}},this.moveCursorLineStart=function(){var e=this.lead.row,t=this.lead.column,n=this.session.documentToScreenRow(e,t),r=this.session.screenToDocumentPosition(n,0),o=this.session.getDisplayLine(e,null,r.row,r.column),i=o.match(/^\\s*/);i[0].length==t||this.session.$useEmacsStyleLineStart||(r.column+=i[0].length),this.moveCursorToPosition(r)},this.moveCursorLineEnd=function(){var e=this.lead,t=this.session.getDocumentLastRowColumnPosition(e.row,e.column);if(this.lead.column==t.column){var n=this.session.getLine(t.row);if(t.column==n.length){var r=n.search(/\\s+$/);r>0&&(t.column=r)}}this.moveCursorTo(t.row,t.column)},this.moveCursorFileEnd=function(){var e=this.doc.getLength()-1,t=this.doc.getLine(e).length;this.moveCursorTo(e,t)},this.moveCursorFileStart=function(){this.moveCursorTo(0,0)},this.moveCursorLongWordRight=function(){var e,t=this.lead.row,n=this.lead.column,r=this.doc.getLine(t),o=r.substring(n);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var i=this.session.getFoldAt(t,n,1);return i?void this.moveCursorTo(i.end.row,i.end.column):((e=this.session.nonTokenRe.exec(o))&&(n+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,o=r.substring(n)),n>=r.length?(this.moveCursorTo(t,r.length),this.moveCursorRight(),void(t<this.doc.getLength()-1&&this.moveCursorWordRight())):((e=this.session.tokenRe.exec(o))&&(n+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(t,n)))},this.moveCursorLongWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return void this.moveCursorTo(e.start.row,e.start.column);var r=this.session.getFoldStringAt(t,n,-1);null==r&&(r=this.doc.getLine(t).substring(0,n));var i,a=o.stringReverse(r);return this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,(i=this.session.nonTokenRe.exec(a))&&(n-=this.session.nonTokenRe.lastIndex,a=a.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),n<=0?(this.moveCursorTo(t,0),this.moveCursorLeft(),void(t>0&&this.moveCursorWordLeft())):((i=this.session.tokenRe.exec(a))&&(n-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),void this.moveCursorTo(t,n))},this.$shortWordEndIndex=function(e){var t,n,r=0,o=/\\s/,i=this.session.tokenRe;if(i.lastIndex=0,t=this.session.tokenRe.exec(e))r=this.session.tokenRe.lastIndex;else{for(;(n=e[r])&&o.test(n);)r++;if(r<1)for(i.lastIndex=0;(n=e[r])&&!i.test(n);)if(i.lastIndex=0,r++,o.test(n)){if(r>2){r--;break}for(;(n=e[r])&&o.test(n);)r++;if(r>2)break}}return i.lastIndex=0,r},this.moveCursorShortWordRight=function(){var e=this.lead.row,t=this.lead.column,n=this.doc.getLine(e),r=n.substring(t),o=this.session.getFoldAt(e,t,1);if(o)return this.moveCursorTo(o.end.row,o.end.column);if(t==n.length){var i=this.doc.getLength();do e++,r=this.doc.getLine(e);while(e<i&&/^\\s*$/.test(r));/^\\s+/.test(r)||(r=\"\"),t=0}var a=this.$shortWordEndIndex(r);this.moveCursorTo(e,t+a)},this.moveCursorShortWordLeft=function(){var e,t=this.lead.row,n=this.lead.column;if(e=this.session.getFoldAt(t,n,-1))return this.moveCursorTo(e.start.row,e.start.column);var r=this.session.getLine(t).substring(0,n);if(0===n){do t--,r=this.doc.getLine(t);while(t>0&&/^\\s*$/.test(r));n=r.length,/\\s+$/.test(r)||(r=\"\")}var i=o.stringReverse(r),a=this.$shortWordEndIndex(i);return this.moveCursorTo(t,n-a)},this.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},this.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},this.moveCursorBy=function(e,t){var n,r=this.session.documentToScreenPosition(this.lead.row,this.lead.column);0===t&&(0!==e&&(this.session.$bidiHandler.isBidiRow(r.row,this.lead.row)?(n=this.session.$bidiHandler.getPosLeft(r.column),r.column=Math.round(n/this.session.$bidiHandler.charWidths[0])):n=r.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?r.column=this.$desiredColumn:this.$desiredColumn=r.column);var o=this.session.screenToDocumentPosition(r.row+e,r.column,n);0!==e&&0===t&&o.row===this.lead.row&&o.column===this.lead.column&&this.session.lineWidgets&&this.session.lineWidgets[o.row]&&(o.row>0||e>0)&&o.row++,this.moveCursorTo(o.row,o.column+t,0===t)},this.moveCursorToPosition=function(e){this.moveCursorTo(e.row,e.column)},this.moveCursorTo=function(e,t,n){var r=this.session.getFoldAt(e,t,1);r&&(e=r.start.row,t=r.start.column),this.$keepDesiredColumnOnChange=!0;var o=this.session.getLine(e);/[\\uDC00-\\uDFFF]/.test(o.charAt(t))&&o.charAt(t-1)&&(this.lead.row==e&&this.lead.column==t+1?t-=1:t+=1),this.lead.setPosition(e,t),this.$keepDesiredColumnOnChange=!1,n||(this.$desiredColumn=null)},this.moveCursorToScreen=function(e,t,n){var r=this.session.screenToDocumentPosition(e,t);this.moveCursorTo(r.row,r.column,n)},this.detach=function(){this.lead.detach(),this.anchor.detach(),this.session=this.doc=null},this.fromOrientedRange=function(e){this.setSelectionRange(e,e.cursor==e.start),this.$desiredColumn=e.desiredColumn||this.$desiredColumn},this.toOrientedRange=function(e){var t=this.getRange();return e?(e.start.column=t.start.column,e.start.row=t.start.row,e.end.column=t.end.column,e.end.row=t.end.row):e=t,e.cursor=this.isBackwards()?e.start:e.end,e.desiredColumn=this.$desiredColumn,e},this.getRangeOfMovements=function(e){var t=this.getCursor();try{e(this);var n=this.getCursor();return a.fromPoints(t,n)}catch(e){return a.fromPoints(t,t)}finally{this.moveCursorToPosition(t)}},this.toJSON=function(){if(this.rangeCount)var e=this.ranges.map(function(e){var t=e.clone();return t.isBackwards=e.cursor==e.start,t});else{var e=this.getRange();e.isBackwards=this.isBackwards()}return e},this.fromJSON=function(e){if(void 0==e.start){if(this.rangeList){this.toSingleRange(e[0]);for(var t=e.length;t--;){var n=a.fromPoints(e[t].start,e[t].end);e[t].isBackwards&&(n.cursor=n.start),this.addRange(n,!0)}return}e=e[0]}this.rangeList&&this.toSingleRange(e),this.setSelectionRange(e,e.isBackwards)},this.isEqual=function(e){if((e.length||this.rangeCount)&&e.length!=this.rangeCount)return!1;if(!e.length||!this.ranges)return this.getRange().isEqual(e);for(var t=this.ranges.length;t--;)if(!this.ranges[t].isEqual(e[t]))return!1;return!0}}).call(s.prototype),t.Selection=s}),ace.define(\"ace/tokenizer\",[\"require\",\"exports\",\"module\",\"ace/config\"],function(e,t,n){\"use strict\";var r=e(\"./config\"),o=2e3,i=function(e){this.states=e,this.regExps={},this.matchMappings={};for(var t in this.states){for(var n=this.states[t],r=[],o=0,i=this.matchMappings[t]={defaultToken:\"text\"},a=\"g\",s=[],u=0;u<n.length;u++){var l=n[u];if(l.defaultToken&&(i.defaultToken=l.defaultToken),l.caseInsensitive&&(a=\"gi\"),null!=l.regex){l.regex instanceof RegExp&&(l.regex=l.regex.toString().slice(1,-1));var c=l.regex,d=new RegExp(\"(?:(\"+c+\")|(.))\").exec(\"a\").length-2;Array.isArray(l.token)?1==l.token.length||1==d?l.token=l.token[0]:d-1!=l.token.length?(this.reportError(\"number of classes and regexp groups doesn't match\",{rule:l,groupCount:d-1}),l.token=l.token[0]):(l.tokenArray=l.token,l.token=null,l.onMatch=this.$arrayTokens):\"function\"!=typeof l.token||l.onMatch||(d>1?l.onMatch=this.$applyToken:l.onMatch=l.token),d>1&&(/\\\\\\d/.test(l.regex)?c=l.regex.replace(/\\\\([0-9]+)/g,function(e,t){return\"\\\\\"+(parseInt(t,10)+o+1)}):(d=1,c=this.removeCapturingGroups(l.regex)),l.splitRegex||\"string\"==typeof l.token||s.push(l)),i[o]=u,o+=d,r.push(c),l.onMatch||(l.onMatch=null)}}r.length||(i[0]=0,r.push(\"$\")),s.forEach(function(e){e.splitRegex=this.createSplitterRegexp(e.regex,a)},this),this.regExps[t]=new RegExp(\"(\"+r.join(\")|(\")+\")|($)\",a)}};(function(){this.$setMaxTokenCount=function(e){o=0|e},this.$applyToken=function(e){var t=this.splitRegex.exec(e).slice(1),n=this.token.apply(this,t);if(\"string\"==typeof n)return[{type:n,value:e}];for(var r=[],o=0,i=n.length;o<i;o++)t[o]&&(r[r.length]={type:n[o],value:t[o]});return r},this.$arrayTokens=function(e){if(!e)return[];var t=this.splitRegex.exec(e);if(!t)return\"text\";for(var n=[],r=this.tokenArray,o=0,i=r.length;o<i;o++)t[o+1]&&(n[n.length]={type:r[o],value:t[o+1]});return n},this.removeCapturingGroups=function(e){var t=e.replace(/\\[(?:\\\\.|[^\\]])*?\\]|\\\\.|\\(\\?[:=!]|(\\()/g,function(e,t){return t?\"(?:\":e});return t},this.createSplitterRegexp=function(e,t){if(e.indexOf(\"(?=\")!=-1){var n=0,r=!1,o={};e.replace(/(\\\\.)|(\\((?:\\?[=!])?)|(\\))|([\\[\\]])/g,function(e,t,i,a,s,u){return r?r=\"]\"!=s:s?r=!0:a?(n==o.stack&&(o.end=u+1,o.stack=-1),n--):i&&(n++,1!=i.length&&(o.stack=n,o.start=u)),e}),null!=o.end&&/^\\)*$/.test(e.substr(o.end))&&(e=e.substring(0,o.start)+e.substr(o.end))}return\"^\"!=e.charAt(0)&&(e=\"^\"+e),\"$\"!=e.charAt(e.length-1)&&(e+=\"$\"),new RegExp(e,(t||\"\").replace(\"g\",\"\"))},this.getLineTokens=function(e,t){if(t&&\"string\"!=typeof t){var n=t.slice(0);t=n[0],\"#tmp\"===t&&(n.shift(),t=n.shift())}else var n=[];var r=t||\"start\",i=this.states[r];i||(r=\"start\",i=this.states[r]);var a=this.matchMappings[r],s=this.regExps[r];s.lastIndex=0;for(var u,l=[],c=0,d=0,f={type:null,value:\"\"};u=s.exec(e);){var p=a.defaultToken,h=null,m=u[0],g=s.lastIndex;if(g-m.length>c){var _=e.substring(c,g-m.length);f.type==p?f.value+=_:(f.type&&l.push(f),f={type:p,value:_})}for(var b=0;b<u.length-2;b++)if(void 0!==u[b+1]){h=i[a[b]],p=h.onMatch?h.onMatch(m,r,n,e):h.token,h.next&&(r=\"string\"==typeof h.next?h.next:h.next(r,n),i=this.states[r],i||(this.reportError(\"state doesn't exist\",r),r=\"start\",i=this.states[r]),a=this.matchMappings[r],c=g,s=this.regExps[r],s.lastIndex=g),h.consumeLineEnd&&(c=g);break}if(m)if(\"string\"==typeof p)h&&h.merge===!1||f.type!==p?(f.type&&l.push(f),f={type:p,value:m}):f.value+=m;else if(p){f.type&&l.push(f),f={type:null,value:\"\"};for(var b=0;b<p.length;b++)l.push(p[b])}if(c==e.length)break;if(c=g,d++>o){for(d>2*e.length&&this.reportError(\"infinite loop with in ace tokenizer\",{startState:t,line:e});c<e.length;)f.type&&l.push(f),f={value:e.substring(c,c+=2e3),type:\"overflow\"};r=\"start\",n=[];break}}return f.type&&l.push(f),n.length>1&&n[0]!==r&&n.unshift(\"#tmp\",r),{tokens:l,state:n.length?n:r}},this.reportError=r.reportError}).call(i.prototype),t.Tokenizer=i}),ace.define(\"ace/mode/text_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\"],function(e,t,n){\"use strict\";var r=e(\"../lib/lang\"),o=function(){this.$rules={start:[{token:\"empty_line\",regex:\"^$\"},{defaultToken:\"text\"}]}};(function(){this.addRules=function(e,t){if(t)for(var n in e){for(var r=e[n],o=0;o<r.length;o++){var i=r[o];(i.next||i.onMatch)&&(\"string\"==typeof i.next&&0!==i.next.indexOf(t)&&(i.next=t+i.next),i.nextState&&0!==i.nextState.indexOf(t)&&(i.nextState=t+i.nextState))}this.$rules[t+n]=r}else for(var n in e)this.$rules[n]=e[n]},this.getRules=function(){return this.$rules},this.embedRules=function(e,t,n,o,i){var a=\"function\"==typeof e?(new e).getRules():e;if(o)for(var s=0;s<o.length;s++)o[s]=t+o[s];else{o=[];for(var u in a)o.push(t+u)}if(this.addRules(a,t),n)for(var l=Array.prototype[i?\"push\":\"unshift\"],s=0;s<o.length;s++)l.apply(this.$rules[o[s]],r.deepCopy(n));this.$embeds||(this.$embeds=[]),this.$embeds.push(t)},this.getEmbeds=function(){return this.$embeds};var e=function(e,t){return(\"start\"!=e||t.length)&&t.unshift(this.nextState,e),this.nextState},t=function(e,t){return t.shift(),t.shift()||\"start\"};this.normalizeRules=function(){function n(i){var a=o[i];a.processed=!0;for(var s=0;s<a.length;s++){var u=a[s],l=null;Array.isArray(u)&&(l=u,u={}),!u.regex&&u.start&&(u.regex=u.start,u.next||(u.next=[]),u.next.push({defaultToken:u.token},{token:u.token+\".end\",regex:u.end||u.start,next:\"pop\"}),u.token=u.token+\".start\",u.push=!0);var c=u.next||u.push;if(c&&Array.isArray(c)){var d=u.stateName;d||(d=u.token,\"string\"!=typeof d&&(d=d[0]||\"\"),o[d]&&(d+=r++)),o[d]=c,u.next=d,n(d)}else\"pop\"==c&&(u.next=t);if(u.push&&(u.nextState=u.next||u.push,u.next=e,delete u.push),u.rules)for(var f in u.rules)o[f]?o[f].push&&o[f].push.apply(o[f],u.rules[f]):o[f]=u.rules[f];var p=\"string\"==typeof u?u:u.include;if(p&&(l=Array.isArray(p)?p.map(function(e){return o[e]}):o[p]),l){var h=[s,1].concat(l);u.noEscape&&(h=h.filter(function(e){return!e.next})),a.splice.apply(a,h),s--}u.keywordMap&&(u.token=this.createKeywordMapper(u.keywordMap,u.defaultToken||\"text\",u.caseInsensitive),delete u.defaultToken)}}var r=0,o=this.$rules;Object.keys(o).forEach(n,this)},this.createKeywordMapper=function(e,t,n,r){var o=Object.create(null);\nreturn Object.keys(e).forEach(function(t){var i=e[t];n&&(i=i.toLowerCase());for(var a=i.split(r||\"|\"),s=a.length;s--;)o[a[s]]=t}),Object.getPrototypeOf(o)&&(o.__proto__=null),this.$keywordList=Object.keys(o),e=null,n?function(e){return o[e.toLowerCase()]||t}:function(e){return o[e]||t}},this.getKeywords=function(){return this.$keywords}}).call(o.prototype),t.TextHighlightRules=o}),ace.define(\"ace/mode/behaviour\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=function(){this.$behaviours={}};(function(){this.add=function(e,t,n){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[e]:this.$behaviours[e]={}}this.$behaviours[e][t]=n},this.addBehaviours=function(e){for(var t in e)for(var n in e[t])this.add(t,n,e[t][n])},this.remove=function(e){this.$behaviours&&this.$behaviours[e]&&delete this.$behaviours[e]},this.inherit=function(e,t){if(\"function\"==typeof e)var n=(new e).getBehaviours(t);else var n=e.getBehaviours(t);this.addBehaviours(n)},this.getBehaviours=function(e){if(e){for(var t={},n=0;n<e.length;n++)this.$behaviours[e[n]]&&(t[e[n]]=this.$behaviours[e[n]]);return t}return this.$behaviours}}).call(r.prototype),t.Behaviour=r}),ace.define(\"ace/token_iterator\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./range\").Range,o=function(e,t,n){this.$session=e,this.$row=t,this.$rowTokens=e.getTokens(t);var r=e.getTokenAt(t,n);this.$tokenIndex=r?r.index:-1};(function(){this.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},this.stepForward=function(){this.$tokenIndex+=1;for(var e;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,e||(e=this.$session.getLength()),this.$row>=e)return this.$row=e-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},this.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},this.getCurrentTokenRow=function(){return this.$row},this.getCurrentTokenColumn=function(){var e=this.$rowTokens,t=this.$tokenIndex,n=e[t].start;if(void 0!==n)return n;for(n=0;t>0;)t-=1,n+=e[t].value.length;return n},this.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},this.getCurrentTokenRange=function(){var e=this.$rowTokens[this.$tokenIndex],t=this.getCurrentTokenColumn();return new r(this.$row,t,this.$row,t+e.value.length)}}).call(o.prototype),t.TokenIterator=o}),ace.define(\"ace/mode/behaviour/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/behaviour\",\"ace/token_iterator\",\"ace/lib/lang\"],function(e,t,n){\"use strict\";var r,o=e(\"../../lib/oop\"),i=e(\"../behaviour\").Behaviour,a=e(\"../../token_iterator\").TokenIterator,s=e(\"../../lib/lang\"),u=[\"text\",\"paren.rparen\",\"punctuation.operator\"],l=[\"text\",\"paren.rparen\",\"punctuation.operator\",\"comment\"],c={},d={'\"':'\"',\"'\":\"'\"},f=function(e){var t=-1;return e.multiSelect&&(t=e.selection.index,c.rangeCount!=e.multiSelect.rangeCount&&(c={rangeCount:e.multiSelect.rangeCount})),c[t]?r=c[t]:void(r=c[t]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:\"\",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:\"\",maybeInsertedLineEnd:\"\"})},p=function(e,t,n,r){var o=e.end.row-e.start.row;return{text:n+t+r,selection:[0,e.start.column+1,o,e.end.column+(o?0:1)]}},h=function(e){this.add(\"braces\",\"insertion\",function(t,n,o,i,a){var u=o.getCursorPosition(),l=i.doc.getLine(u.row);if(\"{\"==a){f(o);var c=o.getSelectionRange(),d=i.doc.getTextRange(c);if(\"\"!==d&&\"{\"!==d&&o.getWrapBehavioursEnabled())return p(c,d,\"{\",\"}\");if(h.isSaneInsertion(o,i))return/[\\]\\}\\)]/.test(l[u.column])||o.inMultiSelectMode||e&&e.braces?(h.recordAutoInsert(o,i,\"}\"),{text:\"{}\",selection:[1,1]}):(h.recordMaybeInsert(o,i,\"{\"),{text:\"{\",selection:[1,1]})}else if(\"}\"==a){f(o);var m=l.substring(u.column,u.column+1);if(\"}\"==m){var g=i.$findOpeningBracket(\"}\",{column:u.column+1,row:u.row});if(null!==g&&h.isAutoInsertedClosing(u,l,a))return h.popAutoInsertedClosing(),{text:\"\",selection:[1,1]}}}else{if(\"\\n\"==a||\"\\r\\n\"==a){f(o);var _=\"\";h.isMaybeInsertedClosing(u,l)&&(_=s.stringRepeat(\"}\",r.maybeInsertedBrackets),h.clearMaybeInsertedClosing());var m=l.substring(u.column,u.column+1);if(\"}\"===m){var b=i.findMatchingBracket({row:u.row,column:u.column+1},\"}\");if(!b)return null;var y=this.$getIndent(i.getLine(b.row))}else{if(!_)return void h.clearMaybeInsertedClosing();var y=this.$getIndent(l)}var v=y+i.getTabString();return{text:\"\\n\"+v+\"\\n\"+y+_,selection:[1,v.length,1,v.length]}}h.clearMaybeInsertedClosing()}}),this.add(\"braces\",\"deletion\",function(e,t,n,o,i){var a=o.doc.getTextRange(i);if(!i.isMultiLine()&&\"{\"==a){f(n);var s=o.doc.getLine(i.start.row),u=s.substring(i.end.column,i.end.column+1);if(\"}\"==u)return i.end.column++,i;r.maybeInsertedBrackets--}}),this.add(\"parens\",\"insertion\",function(e,t,n,r,o){if(\"(\"==o){f(n);var i=n.getSelectionRange(),a=r.doc.getTextRange(i);if(\"\"!==a&&n.getWrapBehavioursEnabled())return p(i,a,\"(\",\")\");if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,\")\"),{text:\"()\",selection:[1,1]}}else if(\")\"==o){f(n);var s=n.getCursorPosition(),u=r.doc.getLine(s.row),l=u.substring(s.column,s.column+1);if(\")\"==l){var c=r.$findOpeningBracket(\")\",{column:s.column+1,row:s.row});if(null!==c&&h.isAutoInsertedClosing(s,u,o))return h.popAutoInsertedClosing(),{text:\"\",selection:[1,1]}}}}),this.add(\"parens\",\"deletion\",function(e,t,n,r,o){var i=r.doc.getTextRange(o);if(!o.isMultiLine()&&\"(\"==i){f(n);var a=r.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(\")\"==s)return o.end.column++,o}}),this.add(\"brackets\",\"insertion\",function(e,t,n,r,o){if(\"[\"==o){f(n);var i=n.getSelectionRange(),a=r.doc.getTextRange(i);if(\"\"!==a&&n.getWrapBehavioursEnabled())return p(i,a,\"[\",\"]\");if(h.isSaneInsertion(n,r))return h.recordAutoInsert(n,r,\"]\"),{text:\"[]\",selection:[1,1]}}else if(\"]\"==o){f(n);var s=n.getCursorPosition(),u=r.doc.getLine(s.row),l=u.substring(s.column,s.column+1);if(\"]\"==l){var c=r.$findOpeningBracket(\"]\",{column:s.column+1,row:s.row});if(null!==c&&h.isAutoInsertedClosing(s,u,o))return h.popAutoInsertedClosing(),{text:\"\",selection:[1,1]}}}}),this.add(\"brackets\",\"deletion\",function(e,t,n,r,o){var i=r.doc.getTextRange(o);if(!o.isMultiLine()&&\"[\"==i){f(n);var a=r.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(\"]\"==s)return o.end.column++,o}}),this.add(\"string_dquotes\",\"insertion\",function(e,t,n,r,o){var i=r.$mode.$quotes||d;if(1==o.length&&i[o]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(o)!=-1)return;f(n);var a=o,s=n.getSelectionRange(),u=r.doc.getTextRange(s);if(!(\"\"===u||1==u.length&&i[u])&&n.getWrapBehavioursEnabled())return p(s,u,a,a);if(!u){var l=n.getCursorPosition(),c=r.doc.getLine(l.row),h=c.substring(l.column-1,l.column),m=c.substring(l.column,l.column+1),g=r.getTokenAt(l.row,l.column),_=r.getTokenAt(l.row,l.column+1);if(\"\\\\\"==h&&g&&/escape/.test(g.type))return null;var b,y=g&&/string|escape/.test(g.type),v=!_||/string|escape/.test(_.type);if(m==a)b=y!==v,b&&/string\\.end/.test(_.type)&&(b=!1);else{if(y&&!v)return null;if(y&&v)return null;var M=r.$mode.tokenRe;M.lastIndex=0;var A=M.test(h);M.lastIndex=0;var w=M.test(h);if(A||w)return null;if(m&&!/[\\s;,.})\\]\\\\]/.test(m))return null;b=!0}return{text:b?a+a:\"\",selection:[1,1]}}}}),this.add(\"string_dquotes\",\"deletion\",function(e,t,n,r,o){var i=r.doc.getTextRange(o);if(!o.isMultiLine()&&('\"'==i||\"'\"==i)){f(n);var a=r.doc.getLine(o.start.row),s=a.substring(o.start.column+1,o.start.column+2);if(s==i)return o.end.column++,o}})};h.isSaneInsertion=function(e,t){var n=e.getCursorPosition(),r=new a(t,n.row,n.column);if(!this.$matchTokenType(r.getCurrentToken()||\"text\",u)){var o=new a(t,n.row,n.column+1);if(!this.$matchTokenType(o.getCurrentToken()||\"text\",u))return!1}return r.stepForward(),r.getCurrentTokenRow()!==n.row||this.$matchTokenType(r.getCurrentToken()||\"text\",l)},h.$matchTokenType=function(e,t){return t.indexOf(e.type||e)>-1},h.recordAutoInsert=function(e,t,n){var o=e.getCursorPosition(),i=t.doc.getLine(o.row);this.isAutoInsertedClosing(o,i,r.autoInsertedLineEnd[0])||(r.autoInsertedBrackets=0),r.autoInsertedRow=o.row,r.autoInsertedLineEnd=n+i.substr(o.column),r.autoInsertedBrackets++},h.recordMaybeInsert=function(e,t,n){var o=e.getCursorPosition(),i=t.doc.getLine(o.row);this.isMaybeInsertedClosing(o,i)||(r.maybeInsertedBrackets=0),r.maybeInsertedRow=o.row,r.maybeInsertedLineStart=i.substr(0,o.column)+n,r.maybeInsertedLineEnd=i.substr(o.column),r.maybeInsertedBrackets++},h.isAutoInsertedClosing=function(e,t,n){return r.autoInsertedBrackets>0&&e.row===r.autoInsertedRow&&n===r.autoInsertedLineEnd[0]&&t.substr(e.column)===r.autoInsertedLineEnd},h.isMaybeInsertedClosing=function(e,t){return r.maybeInsertedBrackets>0&&e.row===r.maybeInsertedRow&&t.substr(e.column)===r.maybeInsertedLineEnd&&t.substr(0,e.column)==r.maybeInsertedLineStart},h.popAutoInsertedClosing=function(){r.autoInsertedLineEnd=r.autoInsertedLineEnd.substr(1),r.autoInsertedBrackets--},h.clearMaybeInsertedClosing=function(){r&&(r.maybeInsertedBrackets=0,r.maybeInsertedRow=-1)},o.inherits(h,i),t.CstyleBehaviour=h}),ace.define(\"ace/unicode\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";function r(e){var n=/\\w{4}/g;for(var r in e)t.packages[r]=e[r].replace(n,\"\\\\u$&\")}t.packages={},r({L:\"0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",Ll:\"0061-007A00AA00B500BA00DF-00F600F8-00FF01010103010501070109010B010D010F01110113011501170119011B011D011F01210123012501270129012B012D012F01310133013501370138013A013C013E014001420144014601480149014B014D014F01510153015501570159015B015D015F01610163016501670169016B016D016F0171017301750177017A017C017E-0180018301850188018C018D019201950199-019B019E01A101A301A501A801AA01AB01AD01B001B401B601B901BA01BD-01BF01C601C901CC01CE01D001D201D401D601D801DA01DC01DD01DF01E101E301E501E701E901EB01ED01EF01F001F301F501F901FB01FD01FF02010203020502070209020B020D020F02110213021502170219021B021D021F02210223022502270229022B022D022F02310233-0239023C023F0240024202470249024B024D024F-02930295-02AF037103730377037B-037D039003AC-03CE03D003D103D5-03D703D903DB03DD03DF03E103E303E503E703E903EB03ED03EF-03F303F503F803FB03FC0430-045F04610463046504670469046B046D046F04710473047504770479047B047D047F0481048B048D048F04910493049504970499049B049D049F04A104A304A504A704A904AB04AD04AF04B104B304B504B704B904BB04BD04BF04C204C404C604C804CA04CC04CE04CF04D104D304D504D704D904DB04DD04DF04E104E304E504E704E904EB04ED04EF04F104F304F504F704F904FB04FD04FF05010503050505070509050B050D050F05110513051505170519051B051D051F0521052305250561-05871D00-1D2B1D62-1D771D79-1D9A1E011E031E051E071E091E0B1E0D1E0F1E111E131E151E171E191E1B1E1D1E1F1E211E231E251E271E291E2B1E2D1E2F1E311E331E351E371E391E3B1E3D1E3F1E411E431E451E471E491E4B1E4D1E4F1E511E531E551E571E591E5B1E5D1E5F1E611E631E651E671E691E6B1E6D1E6F1E711E731E751E771E791E7B1E7D1E7F1E811E831E851E871E891E8B1E8D1E8F1E911E931E95-1E9D1E9F1EA11EA31EA51EA71EA91EAB1EAD1EAF1EB11EB31EB51EB71EB91EBB1EBD1EBF1EC11EC31EC51EC71EC91ECB1ECD1ECF1ED11ED31ED51ED71ED91EDB1EDD1EDF1EE11EE31EE51EE71EE91EEB1EED1EEF1EF11EF31EF51EF71EF91EFB1EFD1EFF-1F071F10-1F151F20-1F271F30-1F371F40-1F451F50-1F571F60-1F671F70-1F7D1F80-1F871F90-1F971FA0-1FA71FB0-1FB41FB61FB71FBE1FC2-1FC41FC61FC71FD0-1FD31FD61FD71FE0-1FE71FF2-1FF41FF61FF7210A210E210F2113212F21342139213C213D2146-2149214E21842C30-2C5E2C612C652C662C682C6A2C6C2C712C732C742C76-2C7C2C812C832C852C872C892C8B2C8D2C8F2C912C932C952C972C992C9B2C9D2C9F2CA12CA32CA52CA72CA92CAB2CAD2CAF2CB12CB32CB52CB72CB92CBB2CBD2CBF2CC12CC32CC52CC72CC92CCB2CCD2CCF2CD12CD32CD52CD72CD92CDB2CDD2CDF2CE12CE32CE42CEC2CEE2D00-2D25A641A643A645A647A649A64BA64DA64FA651A653A655A657A659A65BA65DA65FA663A665A667A669A66BA66DA681A683A685A687A689A68BA68DA68FA691A693A695A697A723A725A727A729A72BA72DA72F-A731A733A735A737A739A73BA73DA73FA741A743A745A747A749A74BA74DA74FA751A753A755A757A759A75BA75DA75FA761A763A765A767A769A76BA76DA76FA771-A778A77AA77CA77FA781A783A785A787A78CFB00-FB06FB13-FB17FF41-FF5A\",Lu:\"0041-005A00C0-00D600D8-00DE01000102010401060108010A010C010E01100112011401160118011A011C011E01200122012401260128012A012C012E01300132013401360139013B013D013F0141014301450147014A014C014E01500152015401560158015A015C015E01600162016401660168016A016C016E017001720174017601780179017B017D018101820184018601870189-018B018E-0191019301940196-0198019C019D019F01A001A201A401A601A701A901AC01AE01AF01B1-01B301B501B701B801BC01C401C701CA01CD01CF01D101D301D501D701D901DB01DE01E001E201E401E601E801EA01EC01EE01F101F401F6-01F801FA01FC01FE02000202020402060208020A020C020E02100212021402160218021A021C021E02200222022402260228022A022C022E02300232023A023B023D023E02410243-02460248024A024C024E03700372037603860388-038A038C038E038F0391-03A103A3-03AB03CF03D2-03D403D803DA03DC03DE03E003E203E403E603E803EA03EC03EE03F403F703F903FA03FD-042F04600462046404660468046A046C046E04700472047404760478047A047C047E0480048A048C048E04900492049404960498049A049C049E04A004A204A404A604A804AA04AC04AE04B004B204B404B604B804BA04BC04BE04C004C104C304C504C704C904CB04CD04D004D204D404D604D804DA04DC04DE04E004E204E404E604E804EA04EC04EE04F004F204F404F604F804FA04FC04FE05000502050405060508050A050C050E05100512051405160518051A051C051E0520052205240531-055610A0-10C51E001E021E041E061E081E0A1E0C1E0E1E101E121E141E161E181E1A1E1C1E1E1E201E221E241E261E281E2A1E2C1E2E1E301E321E341E361E381E3A1E3C1E3E1E401E421E441E461E481E4A1E4C1E4E1E501E521E541E561E581E5A1E5C1E5E1E601E621E641E661E681E6A1E6C1E6E1E701E721E741E761E781E7A1E7C1E7E1E801E821E841E861E881E8A1E8C1E8E1E901E921E941E9E1EA01EA21EA41EA61EA81EAA1EAC1EAE1EB01EB21EB41EB61EB81EBA1EBC1EBE1EC01EC21EC41EC61EC81ECA1ECC1ECE1ED01ED21ED41ED61ED81EDA1EDC1EDE1EE01EE21EE41EE61EE81EEA1EEC1EEE1EF01EF21EF41EF61EF81EFA1EFC1EFE1F08-1F0F1F18-1F1D1F28-1F2F1F38-1F3F1F48-1F4D1F591F5B1F5D1F5F1F68-1F6F1FB8-1FBB1FC8-1FCB1FD8-1FDB1FE8-1FEC1FF8-1FFB21022107210B-210D2110-211221152119-211D212421262128212A-212D2130-2133213E213F214521832C00-2C2E2C602C62-2C642C672C692C6B2C6D-2C702C722C752C7E-2C802C822C842C862C882C8A2C8C2C8E2C902C922C942C962C982C9A2C9C2C9E2CA02CA22CA42CA62CA82CAA2CAC2CAE2CB02CB22CB42CB62CB82CBA2CBC2CBE2CC02CC22CC42CC62CC82CCA2CCC2CCE2CD02CD22CD42CD62CD82CDA2CDC2CDE2CE02CE22CEB2CEDA640A642A644A646A648A64AA64CA64EA650A652A654A656A658A65AA65CA65EA662A664A666A668A66AA66CA680A682A684A686A688A68AA68CA68EA690A692A694A696A722A724A726A728A72AA72CA72EA732A734A736A738A73AA73CA73EA740A742A744A746A748A74AA74CA74EA750A752A754A756A758A75AA75CA75EA760A762A764A766A768A76AA76CA76EA779A77BA77DA77EA780A782A784A786A78BFF21-FF3A\",Lt:\"01C501C801CB01F21F88-1F8F1F98-1F9F1FA8-1FAF1FBC1FCC1FFC\",Lm:\"02B0-02C102C6-02D102E0-02E402EC02EE0374037A0559064006E506E607F407F507FA081A0824082809710E460EC610FC17D718431AA71C78-1C7D1D2C-1D611D781D9B-1DBF2071207F2090-20942C7D2D6F2E2F30053031-3035303B309D309E30FC-30FEA015A4F8-A4FDA60CA67FA717-A71FA770A788A9CFAA70AADDFF70FF9EFF9F\",Lo:\"01BB01C0-01C3029405D0-05EA05F0-05F20621-063F0641-064A066E066F0671-06D306D506EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA0800-08150904-0939093D09500958-096109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E450E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10D0-10FA1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317DC1820-18421844-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C771CE9-1CEC1CEE-1CF12135-21382D30-2D652D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE3006303C3041-3096309F30A1-30FA30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A014A016-A48CA4D0-A4F7A500-A60BA610-A61FA62AA62BA66EA6A0-A6E5A7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2AA00-AA28AA40-AA42AA44-AA4BAA60-AA6FAA71-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADBAADCABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF66-FF6FFF71-FF9DFFA0-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC\",M:\"0300-036F0483-04890591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DE-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0903093C093E-094E0951-0955096209630981-098309BC09BE-09C409C709C809CB-09CD09D709E209E30A01-0A030A3C0A3E-0A420A470A480A4B-0A4D0A510A700A710A750A81-0A830ABC0ABE-0AC50AC7-0AC90ACB-0ACD0AE20AE30B01-0B030B3C0B3E-0B440B470B480B4B-0B4D0B560B570B620B630B820BBE-0BC20BC6-0BC80BCA-0BCD0BD70C01-0C030C3E-0C440C46-0C480C4A-0C4D0C550C560C620C630C820C830CBC0CBE-0CC40CC6-0CC80CCA-0CCD0CD50CD60CE20CE30D020D030D3E-0D440D46-0D480D4A-0D4D0D570D620D630D820D830DCA0DCF-0DD40DD60DD8-0DDF0DF20DF30E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F3E0F3F0F71-0F840F860F870F90-0F970F99-0FBC0FC6102B-103E1056-1059105E-10601062-10641067-106D1071-10741082-108D108F109A-109D135F1712-17141732-1734175217531772177317B6-17D317DD180B-180D18A91920-192B1930-193B19B0-19C019C819C91A17-1A1B1A55-1A5E1A60-1A7C1A7F1B00-1B041B34-1B441B6B-1B731B80-1B821BA1-1BAA1C24-1C371CD0-1CD21CD4-1CE81CED1CF21DC0-1DE61DFD-1DFF20D0-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66F-A672A67CA67DA6F0A6F1A802A806A80BA823-A827A880A881A8B4-A8C4A8E0-A8F1A926-A92DA947-A953A980-A983A9B3-A9C0AA29-AA36AA43AA4CAA4DAA7BAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE3-ABEAABECABEDFB1EFE00-FE0FFE20-FE26\",Mn:\"0300-036F0483-04870591-05BD05BF05C105C205C405C505C70610-061A064B-065E067006D6-06DC06DF-06E406E706E806EA-06ED07110730-074A07A6-07B007EB-07F30816-0819081B-08230825-08270829-082D0900-0902093C0941-0948094D0951-095509620963098109BC09C1-09C409CD09E209E30A010A020A3C0A410A420A470A480A4B-0A4D0A510A700A710A750A810A820ABC0AC1-0AC50AC70AC80ACD0AE20AE30B010B3C0B3F0B41-0B440B4D0B560B620B630B820BC00BCD0C3E-0C400C46-0C480C4A-0C4D0C550C560C620C630CBC0CBF0CC60CCC0CCD0CE20CE30D41-0D440D4D0D620D630DCA0DD2-0DD40DD60E310E34-0E3A0E47-0E4E0EB10EB4-0EB90EBB0EBC0EC8-0ECD0F180F190F350F370F390F71-0F7E0F80-0F840F860F870F90-0F970F99-0FBC0FC6102D-10301032-10371039103A103D103E10581059105E-10601071-1074108210851086108D109D135F1712-17141732-1734175217531772177317B7-17BD17C617C9-17D317DD180B-180D18A91920-19221927192819321939-193B1A171A181A561A58-1A5E1A601A621A65-1A6C1A73-1A7C1A7F1B00-1B031B341B36-1B3A1B3C1B421B6B-1B731B801B811BA2-1BA51BA81BA91C2C-1C331C361C371CD0-1CD21CD4-1CE01CE2-1CE81CED1DC0-1DE61DFD-1DFF20D0-20DC20E120E5-20F02CEF-2CF12DE0-2DFF302A-302F3099309AA66FA67CA67DA6F0A6F1A802A806A80BA825A826A8C4A8E0-A8F1A926-A92DA947-A951A980-A982A9B3A9B6-A9B9A9BCAA29-AA2EAA31AA32AA35AA36AA43AA4CAAB0AAB2-AAB4AAB7AAB8AABEAABFAAC1ABE5ABE8ABEDFB1EFE00-FE0FFE20-FE26\",Mc:\"0903093E-09400949-094C094E0982098309BE-09C009C709C809CB09CC09D70A030A3E-0A400A830ABE-0AC00AC90ACB0ACC0B020B030B3E0B400B470B480B4B0B4C0B570BBE0BBF0BC10BC20BC6-0BC80BCA-0BCC0BD70C01-0C030C41-0C440C820C830CBE0CC0-0CC40CC70CC80CCA0CCB0CD50CD60D020D030D3E-0D400D46-0D480D4A-0D4C0D570D820D830DCF-0DD10DD8-0DDF0DF20DF30F3E0F3F0F7F102B102C10311038103B103C105610571062-10641067-106D108310841087-108C108F109A-109C17B617BE-17C517C717C81923-19261929-192B193019311933-193819B0-19C019C819C91A19-1A1B1A551A571A611A631A641A6D-1A721B041B351B3B1B3D-1B411B431B441B821BA11BA61BA71BAA1C24-1C2B1C341C351CE11CF2A823A824A827A880A881A8B4-A8C3A952A953A983A9B4A9B5A9BAA9BBA9BD-A9C0AA2FAA30AA33AA34AA4DAA7BABE3ABE4ABE6ABE7ABE9ABEAABEC\",Me:\"0488048906DE20DD-20E020E2-20E4A670-A672\",N:\"0030-003900B200B300B900BC-00BE0660-066906F0-06F907C0-07C90966-096F09E6-09EF09F4-09F90A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BF20C66-0C6F0C78-0C7E0CE6-0CEF0D66-0D750E50-0E590ED0-0ED90F20-0F331040-10491090-10991369-137C16EE-16F017E0-17E917F0-17F91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C5920702074-20792080-20892150-21822185-21892460-249B24EA-24FF2776-27932CFD30073021-30293038-303A3192-31953220-32293251-325F3280-328932B1-32BFA620-A629A6E6-A6EFA830-A835A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",Nd:\"0030-00390660-066906F0-06F907C0-07C90966-096F09E6-09EF0A66-0A6F0AE6-0AEF0B66-0B6F0BE6-0BEF0C66-0C6F0CE6-0CEF0D66-0D6F0E50-0E590ED0-0ED90F20-0F291040-10491090-109917E0-17E91810-18191946-194F19D0-19DA1A80-1A891A90-1A991B50-1B591BB0-1BB91C40-1C491C50-1C59A620-A629A8D0-A8D9A900-A909A9D0-A9D9AA50-AA59ABF0-ABF9FF10-FF19\",Nl:\"16EE-16F02160-21822185-218830073021-30293038-303AA6E6-A6EF\",No:\"00B200B300B900BC-00BE09F4-09F90BF0-0BF20C78-0C7E0D70-0D750F2A-0F331369-137C17F0-17F920702074-20792080-20892150-215F21892460-249B24EA-24FF2776-27932CFD3192-31953220-32293251-325F3280-328932B1-32BFA830-A835\",P:\"0021-00230025-002A002C-002F003A003B003F0040005B-005D005F007B007D00A100AB00B700BB00BF037E0387055A-055F0589058A05BE05C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F3A-0F3D0F850FD0-0FD4104A-104F10FB1361-13681400166D166E169B169C16EB-16ED1735173617D4-17D617D8-17DA1800-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD32010-20272030-20432045-20512053-205E207D207E208D208E2329232A2768-277527C527C627E6-27EF2983-299829D8-29DB29FC29FD2CF9-2CFC2CFE2CFF2E00-2E2E2E302E313001-30033008-30113014-301F3030303D30A030FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFD3EFD3FFE10-FE19FE30-FE52FE54-FE61FE63FE68FE6AFE6BFF01-FF03FF05-FF0AFF0C-FF0FFF1AFF1BFF1FFF20FF3B-FF3DFF3FFF5BFF5DFF5F-FF65\",Pd:\"002D058A05BE140018062010-20152E172E1A301C303030A0FE31FE32FE58FE63FF0D\",Ps:\"0028005B007B0F3A0F3C169B201A201E2045207D208D23292768276A276C276E27702772277427C527E627E827EA27EC27EE2983298529872989298B298D298F299129932995299729D829DA29FC2E222E242E262E283008300A300C300E3010301430163018301A301DFD3EFE17FE35FE37FE39FE3BFE3DFE3FFE41FE43FE47FE59FE5BFE5DFF08FF3BFF5BFF5FFF62\",Pe:\"0029005D007D0F3B0F3D169C2046207E208E232A2769276B276D276F27712773277527C627E727E927EB27ED27EF298429862988298A298C298E2990299229942996299829D929DB29FD2E232E252E272E293009300B300D300F3011301530173019301B301E301FFD3FFE18FE36FE38FE3AFE3CFE3EFE40FE42FE44FE48FE5AFE5CFE5EFF09FF3DFF5DFF60FF63\",Pi:\"00AB2018201B201C201F20392E022E042E092E0C2E1C2E20\",Pf:\"00BB2019201D203A2E032E052E0A2E0D2E1D2E21\",Pc:\"005F203F20402054FE33FE34FE4D-FE4FFF3F\",Po:\"0021-00230025-0027002A002C002E002F003A003B003F0040005C00A100B700BF037E0387055A-055F058905C005C305C605F305F40609060A060C060D061B061E061F066A-066D06D40700-070D07F7-07F90830-083E0964096509700DF40E4F0E5A0E5B0F04-0F120F850FD0-0FD4104A-104F10FB1361-1368166D166E16EB-16ED1735173617D4-17D617D8-17DA1800-18051807-180A1944194519DE19DF1A1E1A1F1AA0-1AA61AA8-1AAD1B5A-1B601C3B-1C3F1C7E1C7F1CD3201620172020-20272030-2038203B-203E2041-20432047-205120532055-205E2CF9-2CFC2CFE2CFF2E002E012E06-2E082E0B2E0E-2E162E182E192E1B2E1E2E1F2E2A-2E2E2E302E313001-3003303D30FBA4FEA4FFA60D-A60FA673A67EA6F2-A6F7A874-A877A8CEA8CFA8F8-A8FAA92EA92FA95FA9C1-A9CDA9DEA9DFAA5C-AA5FAADEAADFABEBFE10-FE16FE19FE30FE45FE46FE49-FE4CFE50-FE52FE54-FE57FE5F-FE61FE68FE6AFE6BFF01-FF03FF05-FF07FF0AFF0CFF0EFF0FFF1AFF1BFF1FFF20FF3CFF61FF64FF65\",S:\"0024002B003C-003E005E0060007C007E00A2-00A900AC00AE-00B100B400B600B800D700F702C2-02C502D2-02DF02E5-02EB02ED02EF-02FF03750384038503F604820606-0608060B060E060F06E906FD06FE07F609F209F309FA09FB0AF10B700BF3-0BFA0C7F0CF10CF20D790E3F0F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-139917DB194019E0-19FF1B61-1B6A1B74-1B7C1FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE20442052207A-207C208A-208C20A0-20B8210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B2140-2144214A-214D214F2190-2328232B-23E82400-24262440-244A249C-24E92500-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE27C0-27C427C7-27CA27CC27D0-27E527F0-29822999-29D729DC-29FB29FE-2B4C2B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F309B309C319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A700-A716A720A721A789A78AA828-A82BA836-A839AA77-AA79FB29FDFCFDFDFE62FE64-FE66FE69FF04FF0BFF1C-FF1EFF3EFF40FF5CFF5EFFE0-FFE6FFE8-FFEEFFFCFFFD\",Sm:\"002B003C-003E007C007E00AC00B100D700F703F60606-060820442052207A-207C208A-208C2140-2144214B2190-2194219A219B21A021A321A621AE21CE21CF21D221D421F4-22FF2308-230B23202321237C239B-23B323DC-23E125B725C125F8-25FF266F27C0-27C427C7-27CA27CC27D0-27E527F0-27FF2900-29822999-29D729DC-29FB29FE-2AFF2B30-2B442B47-2B4CFB29FE62FE64-FE66FF0BFF1C-FF1EFF5CFF5EFFE2FFE9-FFEC\",Sc:\"002400A2-00A5060B09F209F309FB0AF10BF90E3F17DB20A0-20B8A838FDFCFE69FF04FFE0FFE1FFE5FFE6\",Sk:\"005E006000A800AF00B400B802C2-02C502D2-02DF02E5-02EB02ED02EF-02FF0375038403851FBD1FBF-1FC11FCD-1FCF1FDD-1FDF1FED-1FEF1FFD1FFE309B309CA700-A716A720A721A789A78AFF3EFF40FFE3\",So:\"00A600A700A900AE00B000B60482060E060F06E906FD06FE07F609FA0B700BF3-0BF80BFA0C7F0CF10CF20D790F01-0F030F13-0F170F1A-0F1F0F340F360F380FBE-0FC50FC7-0FCC0FCE0FCF0FD5-0FD8109E109F13601390-1399194019E0-19FF1B61-1B6A1B74-1B7C210021012103-21062108210921142116-2118211E-2123212521272129212E213A213B214A214C214D214F2195-2199219C-219F21A121A221A421A521A7-21AD21AF-21CD21D021D121D321D5-21F32300-2307230C-231F2322-2328232B-237B237D-239A23B4-23DB23E2-23E82400-24262440-244A249C-24E92500-25B625B8-25C025C2-25F72600-266E2670-26CD26CF-26E126E326E8-26FF2701-27042706-2709270C-27272729-274B274D274F-27522756-275E2761-276727942798-27AF27B1-27BE2800-28FF2B00-2B2F2B452B462B50-2B592CE5-2CEA2E80-2E992E9B-2EF32F00-2FD52FF0-2FFB300430123013302030363037303E303F319031913196-319F31C0-31E33200-321E322A-32503260-327F328A-32B032C0-32FE3300-33FF4DC0-4DFFA490-A4C6A828-A82BA836A837A839AA77-AA79FDFDFFE4FFE8FFEDFFEEFFFCFFFD\",Z:\"002000A01680180E2000-200A20282029202F205F3000\",Zs:\"002000A01680180E2000-200A202F205F3000\",Zl:\"2028\",Zp:\"2029\",C:\"0000-001F007F-009F00AD03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-0605061C061D0620065F06DD070E070F074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17B417B517DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF200B-200F202A-202E2060-206F20722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-F8FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFD-FF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFFBFFFEFFFF\",\nCc:\"0000-001F007F-009F\",Cf:\"00AD0600-060306DD070F17B417B5200B-200F202A-202E2060-2064206A-206FFEFFFFF9-FFFB\",Co:\"E000-F8FF\",Cs:\"D800-DFFF\",Cn:\"03780379037F-0383038B038D03A20526-05300557055805600588058B-059005C8-05CF05EB-05EF05F5-05FF06040605061C061D0620065F070E074B074C07B2-07BF07FB-07FF082E082F083F-08FF093A093B094F095609570973-097809800984098D098E0991099209A909B109B3-09B509BA09BB09C509C609C909CA09CF-09D609D8-09DB09DE09E409E509FC-0A000A040A0B-0A0E0A110A120A290A310A340A370A3A0A3B0A3D0A43-0A460A490A4A0A4E-0A500A52-0A580A5D0A5F-0A650A76-0A800A840A8E0A920AA90AB10AB40ABA0ABB0AC60ACA0ACE0ACF0AD1-0ADF0AE40AE50AF00AF2-0B000B040B0D0B0E0B110B120B290B310B340B3A0B3B0B450B460B490B4A0B4E-0B550B58-0B5B0B5E0B640B650B72-0B810B840B8B-0B8D0B910B96-0B980B9B0B9D0BA0-0BA20BA5-0BA70BAB-0BAD0BBA-0BBD0BC3-0BC50BC90BCE0BCF0BD1-0BD60BD8-0BE50BFB-0C000C040C0D0C110C290C340C3A-0C3C0C450C490C4E-0C540C570C5A-0C5F0C640C650C70-0C770C800C810C840C8D0C910CA90CB40CBA0CBB0CC50CC90CCE-0CD40CD7-0CDD0CDF0CE40CE50CF00CF3-0D010D040D0D0D110D290D3A-0D3C0D450D490D4E-0D560D58-0D5F0D640D650D76-0D780D800D810D840D97-0D990DB20DBC0DBE0DBF0DC7-0DC90DCB-0DCE0DD50DD70DE0-0DF10DF5-0E000E3B-0E3E0E5C-0E800E830E850E860E890E8B0E8C0E8E-0E930E980EA00EA40EA60EA80EA90EAC0EBA0EBE0EBF0EC50EC70ECE0ECF0EDA0EDB0EDE-0EFF0F480F6D-0F700F8C-0F8F0F980FBD0FCD0FD9-0FFF10C6-10CF10FD-10FF1249124E124F12571259125E125F1289128E128F12B112B612B712BF12C112C612C712D7131113161317135B-135E137D-137F139A-139F13F5-13FF169D-169F16F1-16FF170D1715-171F1737-173F1754-175F176D17711774-177F17DE17DF17EA-17EF17FA-17FF180F181A-181F1878-187F18AB-18AF18F6-18FF191D-191F192C-192F193C-193F1941-1943196E196F1975-197F19AC-19AF19CA-19CF19DB-19DD1A1C1A1D1A5F1A7D1A7E1A8A-1A8F1A9A-1A9F1AAE-1AFF1B4C-1B4F1B7D-1B7F1BAB-1BAD1BBA-1BFF1C38-1C3A1C4A-1C4C1C80-1CCF1CF3-1CFF1DE7-1DFC1F161F171F1E1F1F1F461F471F4E1F4F1F581F5A1F5C1F5E1F7E1F7F1FB51FC51FD41FD51FDC1FF01FF11FF51FFF2065-206920722073208F2095-209F20B9-20CF20F1-20FF218A-218F23E9-23FF2427-243F244B-245F26CE26E226E4-26E727002705270A270B2728274C274E2753-2755275F27602795-279727B027BF27CB27CD-27CF2B4D-2B4F2B5A-2BFF2C2F2C5F2CF2-2CF82D26-2D2F2D66-2D6E2D70-2D7F2D97-2D9F2DA72DAF2DB72DBF2DC72DCF2DD72DDF2E32-2E7F2E9A2EF4-2EFF2FD6-2FEF2FFC-2FFF3040309730983100-3104312E-3130318F31B8-31BF31E4-31EF321F32FF4DB6-4DBF9FCC-9FFFA48D-A48FA4C7-A4CFA62C-A63FA660A661A674-A67BA698-A69FA6F8-A6FFA78D-A7FAA82C-A82FA83A-A83FA878-A87FA8C5-A8CDA8DA-A8DFA8FC-A8FFA954-A95EA97D-A97FA9CEA9DA-A9DDA9E0-A9FFAA37-AA3FAA4EAA4FAA5AAA5BAA7C-AA7FAAC3-AADAAAE0-ABBFABEEABEFABFA-ABFFD7A4-D7AFD7C7-D7CAD7FC-D7FFFA2EFA2FFA6EFA6FFADA-FAFFFB07-FB12FB18-FB1CFB37FB3DFB3FFB42FB45FBB2-FBD2FD40-FD4FFD90FD91FDC8-FDEFFDFEFDFFFE1A-FE1FFE27-FE2FFE53FE67FE6C-FE6FFE75FEFDFEFEFF00FFBF-FFC1FFC8FFC9FFD0FFD1FFD8FFD9FFDD-FFDFFFE7FFEF-FFF8FFFEFFFF\"})}),ace.define(\"ace/mode/text\",[\"require\",\"exports\",\"module\",\"ace/tokenizer\",\"ace/mode/text_highlight_rules\",\"ace/mode/behaviour/cstyle\",\"ace/unicode\",\"ace/lib/lang\",\"ace/token_iterator\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"../tokenizer\").Tokenizer,o=e(\"./text_highlight_rules\").TextHighlightRules,i=e(\"./behaviour/cstyle\").CstyleBehaviour,a=e(\"../unicode\"),s=e(\"../lib/lang\"),u=e(\"../token_iterator\").TokenIterator,l=e(\"../range\").Range,c=function(){this.HighlightRules=o};(function(){this.$defaultBehaviour=new i,this.tokenRe=new RegExp(\"^[\"+a.packages.L+a.packages.Mn+a.packages.Mc+a.packages.Nd+a.packages.Pc+\"\\\\$_]+\",\"g\"),this.nonTokenRe=new RegExp(\"^(?:[^\"+a.packages.L+a.packages.Mn+a.packages.Mc+a.packages.Nd+a.packages.Pc+\"\\\\$_]|\\\\s])+\",\"g\"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new r(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart=\"\",this.blockComment=\"\",this.toggleCommentLines=function(e,t,n,r){function o(e){for(var t=n;t<=r;t++)e(i.getLine(t),t)}var i=t.doc,a=!0,u=!0,l=1/0,c=t.getTabSize(),d=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var f=this.lineCommentStart.map(s.escapeRegExp).join(\"|\"),p=this.lineCommentStart[0];else var f=s.escapeRegExp(this.lineCommentStart),p=this.lineCommentStart;f=new RegExp(\"^(\\\\s*)(?:\"+f+\") ?\"),d=t.getUseSoftTabs();var h=function(e,t){var n=e.match(f);if(n){var r=n[1].length,o=n[0].length;b(e,r,o)||\" \"!=n[0][o-1]||o--,i.removeInLine(t,r,o)}},m=p+\" \",g=function(e,t){a&&!/\\S/.test(e)||(b(e,l,l)?i.insertInLine({row:t,column:l},m):i.insertInLine({row:t,column:l},p))},_=function(e,t){return f.test(e)},b=function(e,t,n){for(var r=0;t--&&\" \"==e.charAt(t);)r++;if(r%c!=0)return!1;for(var r=0;\" \"==e.charAt(n++);)r++;return c>2?r%c!=c-1:r%c==0}}else{if(!this.blockComment)return!1;var p=this.blockComment.start,y=this.blockComment.end,f=new RegExp(\"^(\\\\s*)(?:\"+s.escapeRegExp(p)+\")\"),v=new RegExp(\"(?:\"+s.escapeRegExp(y)+\")\\\\s*$\"),g=function(e,t){_(e,t)||a&&!/\\S/.test(e)||(i.insertInLine({row:t,column:e.length},y),i.insertInLine({row:t,column:l},p))},h=function(e,t){var n;(n=e.match(v))&&i.removeInLine(t,e.length-n[0].length,e.length),(n=e.match(f))&&i.removeInLine(t,n[1].length,n[0].length)},_=function(e,n){if(f.test(e))return!0;for(var r=t.getTokens(n),o=0;o<r.length;o++)if(\"comment\"===r[o].type)return!0}}var M=1/0;o(function(e,t){var n=e.search(/\\S/);n!==-1?(n<l&&(l=n),u&&!_(e,t)&&(u=!1)):M>e.length&&(M=e.length)}),l==1/0&&(l=M,a=!1,u=!1),d&&l%c!=0&&(l=Math.floor(l/c)*c),o(u?h:g)},this.toggleBlockComment=function(e,t,n,r){var o=this.blockComment;if(o){!o.start&&o[0]&&(o=o[0]);var i,a,s=new u(t,r.row,r.column),c=s.getCurrentToken(),d=(t.selection,t.selection.toOrientedRange());if(c&&/comment/.test(c.type)){for(var f,p;c&&/comment/.test(c.type);){var h=c.value.indexOf(o.start);if(h!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+h;f=new l(m,g,m,g+o.start.length);break}c=s.stepBackward()}for(var s=new u(t,r.row,r.column),c=s.getCurrentToken();c&&/comment/.test(c.type);){var h=c.value.indexOf(o.end);if(h!=-1){var m=s.getCurrentTokenRow(),g=s.getCurrentTokenColumn()+h;p=new l(m,g,m,g+o.end.length);break}c=s.stepForward()}p&&t.remove(p),f&&(t.remove(f),i=f.start.row,a=-o.start.length)}else a=o.start.length,i=n.start.row,t.insert(n.end,o.end),t.insert(n.start,o.start);d.start.row==i&&(d.start.column+=a),d.end.row==i&&(d.end.column+=a),t.selection.fromOrientedRange(d)}},this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.autoOutdent=function(e,t,n){},this.$getIndent=function(e){return e.match(/^\\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var t in e)e[t]&&(this.$embeds.push(t),this.$modes[t]=new e[t]);for(var n=[\"toggleBlockComment\",\"toggleCommentLines\",\"getNextLineIndent\",\"checkOutdent\",\"autoOutdent\",\"transformAction\",\"getCompletions\"],t=0;t<n.length;t++)!function(e){var r=n[t],o=e[r];e[n[t]]=function(){return this.$delegator(r,arguments,o)}}(this)},this.$delegator=function(e,t,n){var r=t[0];\"string\"!=typeof r&&(r=r[0]);for(var o=0;o<this.$embeds.length;o++)if(this.$modes[this.$embeds[o]]){var i=r.split(this.$embeds[o]);if(!i[0]&&i[1]){t[0]=i[1];var a=this.$modes[this.$embeds[o]];return a[e].apply(a,t)}}var s=n.apply(this,t);return n?s:void 0},this.transformAction=function(e,t,n,r,o){if(this.$behaviour){var i=this.$behaviour.getBehaviours();for(var a in i)if(i[a][t]){var s=i[a][t].apply(this,arguments);if(s)return s}}},this.getKeywords=function(e){if(!this.completionKeywords){var t=this.$tokenizer.rules,n=[];for(var r in t)for(var o=t[r],i=0,a=o.length;i<a;i++)if(\"string\"==typeof o[i].token)/keyword|support|storage/.test(o[i].token)&&n.push(o[i].regex);else if(\"object\"==typeof o[i].token)for(var s=0,u=o[i].token.length;s<u;s++)if(/keyword|support|storage/.test(o[i].token[s])){var r=o[i].regex.match(/\\(.+?\\)/g)[s];n.push(r.substr(1,r.length-2))}this.completionKeywords=n}return e?n.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,t,n,r){var o=this.$keywordList||this.$createKeywordList();return o.map(function(e){return{name:e,value:e,score:0,meta:\"keyword\"}})},this.$id=\"ace/mode/text\"}).call(c.prototype),t.Mode=c}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";t.applyDelta=function(e,t,n){var r=t.start.row,o=t.start.column,i=e[r]||\"\";switch(t.action){case\"insert\":var a=t.lines;if(1===a.length)e[r]=i.substring(0,o)+t.lines[0]+i.substring(o);else{var s=[r,1].concat(t.lines);e.splice.apply(e,s),e[r]=i.substring(0,o)+e[r],e[r+t.lines.length-1]+=i.substring(o)}break;case\"remove\":var u=t.end.column,l=t.end.row;r===l?e[r]=i.substring(0,o)+i.substring(u):e.splice(r,l-r+1,i.substring(0,o)+e[l].substring(u))}}}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/event_emitter\").EventEmitter,i=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),\"undefined\"==typeof n?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var o=\"insert\"==t.action,i=(o?1:-1)*(t.end.row-t.start.row),a=(o?1:-1)*(t.end.column-t.start.column),s=t.start,u=o?s:t.end;return e(n,s,r)?{row:n.row,column:n.column}:e(u,n,!r)?{row:n.row+i,column:n.column+(n.row==u.row?a:0)}:{row:s.row,column:s.column}}r.implement(this,o),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(!(e.start.row==e.end.row&&e.start.row!=this.row||e.start.row>this.row)){var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)}},this.setPosition=function(e,t,n){var r;if(r=n?{row:e,column:t}:this.$clipPositionToDocument(e,t),this.row!=r.row||this.column!=r.column){var o={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal(\"change\",{old:o,value:r})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(i.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(e,n,r){\"use strict\";var o=e(\"./lib/oop\"),i=e(\"./apply_delta\").applyDelta,a=e(\"./lib/event_emitter\").EventEmitter,s=e(\"./range\").Range,u=e(\"./anchor\").Anchor,l=function(e){this.$lines=[\"\"],0===e.length?this.$lines=[\"\"]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){o.implement(this,a),this.setValue=function(e){var t=this.getLength()-1;this.remove(new s(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},0===\"aaa\".split(/a/).length?this.$split=function(e){return e.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:this.$split=function(e){return e.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=t?t[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(e){this.$newLineMode!==e&&(this.$newLineMode=e,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return\"\\r\\n\"==e||\"\\r\"==e||\"\\n\"==e},this.getLine=function(e){return this.$lines[e]||\"\"},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||\"\").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,n){return t.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(e,n)},this.removeLines=function(e,n){return t.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(e,n)},this.insertNewLine=function(e){return t.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(e,[\"\",\"\"])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:\"insert\",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();void 0===e?e=n:e<0?e=0:e>=n&&(e=n-1,t=void 0);var r=this.getLine(e);return void 0==t&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([\"\"]),n=0):(t=[\"\"].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(1==t.length?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:\"insert\",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:\"remove\",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),o=this.clippedPos(e,n);return this.applyDelta({start:r,end:o,action:\"remove\",lines:this.getLinesForRange({start:r,end:o})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,o=n?e-1:e,i=n?this.getLine(o).length:0,a=r?t+1:t,u=r?0:this.getLine(a).length,l=new s(o,i,a,u),c=this.$lines.slice(e,t+1);return this.applyDelta({start:l.start,end:l.end,action:\"remove\",lines:this.getLinesForRange(l)}),c},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(e,t){if(e instanceof s||(e=s.fromPoints(e.start,e.end)),0===t.length&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return n=t?this.insert(e.start,t):e.start},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=\"insert\"==e.action;(n?e.lines.length<=1&&!e.lines[0]:!s.comparePoints(e.start,e.end))||(n&&e.lines.length>2e4&&this.$splitAndapplyLargeDelta(e,2e4),i(this.$lines,e,t),this._signal(\"change\",e))},this.$splitAndapplyLargeDelta=function(e,t){for(var n=e.lines,r=n.length,o=e.start.row,i=e.start.column,a=0,s=0;;){a=s,s+=t-1;var u=n.slice(a,s);if(s>r){e.lines=u,e.start.row=o+a,e.start.column=i;break}u.push(\"\"),this.applyDelta({start:this.pos(o+a,i),end:this.pos(o+s,i=0),action:e.action,lines:u},!0)}},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:\"insert\"==e.action?\"remove\":\"insert\",lines:e.lines.slice()})},this.indexToPosition=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,o=t||0,i=n.length;o<i;o++)if(e-=n[o].length+r,e<0)return{row:o,column:e+n[o].length+r};return{row:i-1,column:n[i-1].length}},this.positionToIndex=function(e,t){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,o=0,i=Math.min(e.row,n.length),a=t||0;a<i;++a)o+=n[a].length+r;return o+e.column}}).call(l.prototype),n.Document=l}),ace.define(\"ace/background_tokenizer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/event_emitter\").EventEmitter,i=function(e,t){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=e;var n=this;this.$worker=function(){if(n.running){for(var e=new Date,t=n.currentLine,r=-1,o=n.doc,i=t;n.lines[t];)t++;var a=o.getLength(),s=0;for(n.running=!1;t<a;){n.$tokenizeRow(t),r=t;do t++;while(n.lines[t]);if(s++,s%5===0&&new Date-e>20){n.running=setTimeout(n.$worker,20);break}}n.currentLine=t,r==-1&&(r=t),i<=r&&n.fireUpdateEvent(i,r)}}};(function(){r.implement(this,o),this.setTokenizer=function(e){this.tokenizer=e,this.lines=[],this.states=[],this.start(0)},this.setDocument=function(e){this.doc=e,this.lines=[],this.states=[],this.stop()},this.fireUpdateEvent=function(e,t){var n={first:e,last:t};this._signal(\"update\",{data:n})},this.start=function(e){this.currentLine=Math.min(e||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},this.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},this.$updateOnChange=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.lines[t]=null;else if(\"remove\"==e.action)this.lines.splice(t,n+1,null),this.states.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(t,this.currentLine,this.doc.getLength()),this.stop()},this.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},this.getTokens=function(e){return this.lines[e]||this.$tokenizeRow(e)},this.getState=function(e){return this.currentLine==e&&this.$tokenizeRow(e),this.states[e]||\"start\"},this.$tokenizeRow=function(e){var t=this.doc.getLine(e),n=this.states[e-1],r=this.tokenizer.getLineTokens(t,n,e);return this.states[e]+\"\"!=r.state+\"\"?(this.states[e]=r.state,this.lines[e+1]=null,this.currentLine>e+1&&(this.currentLine=e+1)):this.currentLine==e&&(this.currentLine=e+1),this.lines[e]=r.tokens}}).call(i.prototype),t.BackgroundTokenizer=i}),ace.define(\"ace/search_highlight\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./lib/lang\"),o=(e(\"./lib/oop\"),e(\"./range\").Range),i=function(e,t,n){this.setRegexp(e),this.clazz=t,this.type=n||\"text\"};(function(){this.MAX_RANGES=500,this.setRegexp=function(e){this.regExp+\"\"!=e+\"\"&&(this.regExp=e,this.cache=[])},this.update=function(e,t,n,i){if(this.regExp)for(var a=i.firstRow,s=i.lastRow,u=a;u<=s;u++){var l=this.cache[u];null==l&&(l=r.getMatchOffsets(n.getLine(u),this.regExp),l.length>this.MAX_RANGES&&(l=l.slice(0,this.MAX_RANGES)),l=l.map(function(e){return new o(u,e.offset,u,e.offset+e.length)}),this.cache[u]=l.length?l:\"\");for(var c=l.length;c--;)t.drawSingleLineMarker(e,l[c].toScreenRange(n),this.clazz,i)}}}).call(i.prototype),t.SearchHighlight=i}),ace.define(\"ace/edit_session/fold_line\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t){this.foldData=e,Array.isArray(t)?this.folds=t:t=this.folds=[t];var n=t[t.length-1];this.range=new o(t[0].start.row,t[0].start.column,n.end.row,n.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(e){e.setFoldLine(this)},this)}var o=e(\"../range\").Range;(function(){this.shiftRow=function(e){this.start.row+=e,this.end.row+=e,this.folds.forEach(function(t){t.start.row+=e,t.end.row+=e})},this.addFold=function(e){if(e.sameRow){if(e.start.row<this.startRow||e.endRow>this.endRow)throw new Error(\"Can't add a fold to this FoldLine as it has no connection\");this.folds.push(e),this.folds.sort(function(e,t){return-e.range.compareEnd(t.start.row,t.start.column)}),this.range.compareEnd(e.start.row,e.start.column)>0?(this.end.row=e.end.row,this.end.column=e.end.column):this.range.compareStart(e.end.row,e.end.column)<0&&(this.start.row=e.start.row,this.start.column=e.start.column)}else if(e.start.row==this.end.row)this.folds.push(e),this.end.row=e.end.row,this.end.column=e.end.column;else{if(e.end.row!=this.start.row)throw new Error(\"Trying to add fold to FoldRow that doesn't have a matching row\");this.folds.unshift(e),this.start.row=e.start.row,this.start.column=e.start.column}e.foldLine=this},this.containsRow=function(e){return e>=this.start.row&&e<=this.end.row},this.walk=function(e,t,n){var r,o,i,a=0,s=this.folds,u=!0;null==t&&(t=this.end.row,n=this.end.column);for(var l=0;l<s.length;l++){if(r=s[l],o=r.range.compareStart(t,n),o==-1)return void e(null,t,n,a,u);if(i=e(null,r.start.row,r.start.column,a,u),i=!i&&e(r.placeholder,r.start.row,r.start.column,a),i||0===o)return;u=!r.sameRow,a=r.end.column}e(null,t,n,a,u)},this.getNextFoldTo=function(e,t){for(var n,r,o=0;o<this.folds.length;o++){if(n=this.folds[o],r=n.range.compareEnd(e,t),r==-1)return{fold:n,kind:\"after\"};if(0===r)return{fold:n,kind:\"inside\"}}return null},this.addRemoveChars=function(e,t,n){var r,o,i=this.getNextFoldTo(e,t);if(i)if(r=i.fold,\"inside\"==i.kind&&r.start.column!=t&&r.start.row!=e)window.console&&window.console.log(e,t,r);else if(r.start.row==e){o=this.folds;var a=o.indexOf(r);for(0===a&&(this.start.column+=n),a;a<o.length;a++){if(r=o[a],r.start.column+=n,!r.sameRow)return;r.end.column+=n}this.end.column+=n}},this.split=function(e,t){var n=this.getNextFoldTo(e,t);if(!n||\"inside\"==n.kind)return null;var o=n.fold,i=this.folds,a=this.foldData,s=i.indexOf(o),u=i[s-1];this.end.row=u.end.row,this.end.column=u.end.column,i=i.splice(s,i.length-s);var l=new r(a,i);return a.splice(a.indexOf(this)+1,0,l),l},this.merge=function(e){for(var t=e.folds,n=0;n<t.length;n++)this.addFold(t[n]);var r=this.foldData;r.splice(r.indexOf(e),1)},this.toString=function(){var e=[this.range.toString()+\": [\"];return this.folds.forEach(function(t){e.push(\"  \"+t.toString())}),e.push(\"]\"),e.join(\"\\n\")},this.idxToPosition=function(e){for(var t=0,n=0;n<this.folds.length;n++){var r=this.folds[n];if(e-=r.start.column-t,e<0)return{row:r.start.row,column:r.start.column+e};if(e-=r.placeholder.length,e<0)return r.start;t=r.end.column}return{row:this.end.row,column:this.end.column+e}}}).call(r.prototype),t.FoldLine=r}),ace.define(\"ace/range_list\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"./range\").Range,o=r.comparePoints,i=function(){this.ranges=[]};(function(){this.comparePoints=o,this.pointIndex=function(e,t,n){for(var r=this.ranges,i=n||0;i<r.length;i++){var a=r[i],s=o(e,a.end);if(!(s>0)){var u=o(e,a.start);return 0===s?t&&0!==u?-i-2:i:u>0||0===u&&!t?i:-i-1}}return-i-1},this.add=function(e){var t=!e.isEmpty(),n=this.pointIndex(e.start,t);n<0&&(n=-n-1);var r=this.pointIndex(e.end,t,n);return r<0?r=-r-1:r++,this.ranges.splice(n,r-n,e)},this.addList=function(e){for(var t=[],n=e.length;n--;)t.push.apply(t,this.add(e[n]));return t},this.substractPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges.splice(t,1)},this.merge=function(){var e=[],t=this.ranges;t=t.sort(function(e,t){return o(e.start,t.start)});for(var n,r=t[0],i=1;i<t.length;i++){n=r,r=t[i];var a=o(n.end,r.start);a<0||(0!=a||n.isEmpty()||r.isEmpty())&&(o(n.end,r.end)<0&&(n.end.row=r.end.row,n.end.column=r.end.column),t.splice(i,1),e.push(r),r=n,i--)}return this.ranges=t,e},this.contains=function(e,t){return this.pointIndex({row:e,column:t})>=0},this.containsPoint=function(e){return this.pointIndex(e)>=0},this.rangeAtPoint=function(e){var t=this.pointIndex(e);if(t>=0)return this.ranges[t]},this.clipRows=function(e,t){var n=this.ranges;if(n[0].start.row>t||n[n.length-1].start.row<e)return[];var r=this.pointIndex({row:e,column:0});r<0&&(r=-r-1);var o=this.pointIndex({row:t,column:0},r);o<0&&(o=-o-1);for(var i=[],a=r;a<o;a++)i.push(n[a]);return i},this.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},this.attach=function(e){this.session&&this.detach(),this.session=e,this.onChange=this.$onChange.bind(this),this.session.on(\"change\",this.onChange)},this.detach=function(){this.session&&(this.session.removeListener(\"change\",this.onChange),this.session=null)},this.$onChange=function(e){if(\"insert\"==e.action)var t=e.start,n=e.end;else var n=e.start,t=e.end;for(var r=t.row,o=n.row,i=o-r,a=-t.column+n.column,s=this.ranges,u=0,l=s.length;u<l;u++){var c=s[u];if(!(c.end.row<r)){if(c.start.row>r)break;if(c.start.row==r&&c.start.column>=t.column&&(c.start.column==t.column&&this.$insertRight||(c.start.column+=a,c.start.row+=i)),c.end.row==r&&c.end.column>=t.column){if(c.end.column==t.column&&this.$insertRight)continue;c.end.column==t.column&&a>0&&u<l-1&&c.end.column>c.start.column&&c.end.column==s[u+1].start.column&&(c.end.column-=a),c.end.column+=a,c.end.row+=i}}}if(0!=i&&u<l)for(;u<l;u++){var c=s[u];c.start.row+=i,c.end.row+=i}}}).call(i.prototype),t.RangeList=i}),ace.define(\"ace/edit_session/fold\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/range_list\",\"ace/lib/oop\"],function(e,t,n){\"use strict\";function r(e,t){e.row-=t.row,0==e.row&&(e.column-=t.column)}function o(e,t){r(e.start,t),r(e.end,t)}function i(e,t){0==e.row&&(e.column+=t.column),e.row+=t.row}function a(e,t){i(e.start,t),i(e.end,t)}var s=(e(\"../range\").Range,e(\"../range_list\").RangeList),u=e(\"../lib/oop\"),l=t.Fold=function(e,t){this.foldLine=null,this.placeholder=t,this.range=e,this.start=e.start,this.end=e.end,this.sameRow=e.start.row==e.end.row,this.subFolds=this.ranges=[]};u.inherits(l,s),function(){this.toString=function(){return'\"'+this.placeholder+'\" '+this.range.toString()},this.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(t){t.setFoldLine(e)})},this.clone=function(){var e=this.range.clone(),t=new l(e,this.placeholder);return this.subFolds.forEach(function(e){t.subFolds.push(e.clone())}),t.collapseChildren=this.collapseChildren,t},this.addSubFold=function(e){if(!this.range.isEqual(e)){if(!this.range.containsRange(e))throw new Error(\"A fold can't intersect already existing fold\"+e.range+this.range);o(e,this.start);for(var t=e.start.row,n=e.start.column,r=0,i=-1;r<this.subFolds.length&&(i=this.subFolds[r].range.compare(t,n),1==i);r++);var a=this.subFolds[r];if(0==i)return a.addSubFold(e);for(var t=e.range.end.row,n=e.range.end.column,s=r,i=-1;s<this.subFolds.length&&(i=this.subFolds[s].range.compare(t,n),1==i);s++);this.subFolds[s];if(0==i)throw new Error(\"A fold can't intersect already existing fold\"+e.range+this.range);this.subFolds.splice(r,s-r,e);return e.setFoldLine(this.foldLine),e}},this.restoreRange=function(e){return a(e,this.start)}}.call(l.prototype)}),ace.define(\"ace/edit_session/folding\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/edit_session/fold_line\",\"ace/edit_session/fold\",\"ace/token_iterator\"],function(e,t,n){\"use strict\";function r(){this.getFoldAt=function(e,t,n){var r=this.getFoldLine(e);if(!r)return null;for(var o=r.folds,i=0;i<o.length;i++){var a=o[i];if(a.range.contains(e,t)){if(1==n&&a.range.isEnd(e,t))continue;if(n==-1&&a.range.isStart(e,t))continue;return a}}},this.getFoldsInRange=function(e){var t=e.start,n=e.end,r=this.$foldData,o=[];t.column+=1,n.column-=1;for(var i=0;i<r.length;i++){var a=r[i].range.compareRange(e);if(2!=a){if(a==-2)break;for(var s=r[i].folds,u=0;u<s.length;u++){var l=s[u];if(a=l.range.compareRange(e),a==-2)break;if(2!=a){if(42==a)break;o.push(l)}}}}return t.column-=1,n.column+=1,o},this.getFoldsInRangeList=function(e){if(Array.isArray(e)){var t=[];e.forEach(function(e){t=t.concat(this.getFoldsInRange(e))},this)}else var t=this.getFoldsInRange(e);return t},this.getAllFolds=function(){for(var e=[],t=this.$foldData,n=0;n<t.length;n++)for(var r=0;r<t[n].folds.length;r++)e.push(t[n].folds[r]);return e},this.getFoldStringAt=function(e,t,n,r){if(r=r||this.getFoldLine(e),!r)return null;for(var o,i,a={end:{column:0}},s=0;s<r.folds.length;s++){i=r.folds[s];var u=i.range.compareEnd(e,t);if(u==-1){o=this.getLine(i.start.row).substring(a.end.column,i.start.column);break}if(0===u)return null;a=i}return o||(o=this.getLine(i.start.row).substring(a.end.column)),n==-1?o.substring(0,t-a.end.column):1==n?o.substring(t-a.end.column):o},this.getFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),r==-1&&(r=0),r;r<n.length;r++){var o=n[r];if(o.start.row<=e&&o.end.row>=e)return o;if(o.end.row>e)return null}return null},this.getNextFoldLine=function(e,t){var n=this.$foldData,r=0;for(t&&(r=n.indexOf(t)),r==-1&&(r=0),r;r<n.length;r++){var o=n[r];if(o.end.row>=e)return o}return null},this.getFoldedRowCount=function(e,t){for(var n=this.$foldData,r=t-e+1,o=0;o<n.length;o++){var i=n[o],a=i.end.row,s=i.start.row;if(a>=t){s<t&&(s>=e?r-=t-s:r=0);break}a>=e&&(r-=s>=e?a-s:a-e+1)}return r},this.$addFoldLine=function(e){return this.$foldData.push(e),this.$foldData.sort(function(e,t){return e.start.row-t.start.row}),e},this.addFold=function(e,t){var n,r=this.$foldData,o=!1;e instanceof a?n=e:(n=new a(t,e),n.collapseChildren=t.collapseChildren),this.$clipRangeToDocument(n.range);var s=n.start.row,u=n.start.column,l=n.end.row,c=n.end.column;if(!(s<l||s==l&&u<=c-2))throw new Error(\"The range has to be at least 2 characters width\");var d=this.getFoldAt(s,u,1),f=this.getFoldAt(l,c,-1);if(d&&f==d)return d.addSubFold(n);d&&!d.range.isStart(s,u)&&this.removeFold(d),f&&!f.range.isEnd(l,c)&&this.removeFold(f);var p=this.getFoldsInRange(n.range);p.length>0&&(this.removeFolds(p),p.forEach(function(e){n.addSubFold(e)}));for(var h=0;h<r.length;h++){var m=r[h];if(l==m.start.row){m.addFold(n),o=!0;break}if(s==m.end.row){if(m.addFold(n),o=!0,!n.sameRow){var g=r[h+1];if(g&&g.start.row==l){m.merge(g);break}}break}if(l<=m.start.row)break}return o||(m=this.$addFoldLine(new i(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(m.start.row,m.start.row):this.$updateRowLengthCache(m.start.row,m.start.row),this.$modified=!0,this._signal(\"changeFold\",{data:n,action:\"add\"}),n},this.addFolds=function(e){e.forEach(function(e){this.addFold(e)},this)},this.removeFold=function(e){var t=e.foldLine,n=t.start.row,r=t.end.row,o=this.$foldData,i=t.folds;if(1==i.length)o.splice(o.indexOf(t),1);else if(t.range.isEnd(e.end.row,e.end.column))i.pop(),t.end.row=i[i.length-1].end.row,t.end.column=i[i.length-1].end.column;else if(t.range.isStart(e.start.row,e.start.column))i.shift(),t.start.row=i[0].start.row,t.start.column=i[0].start.column;else if(e.sameRow)i.splice(i.indexOf(e),1);else{var a=t.split(e.start.row,e.start.column);i=a.folds,i.shift(),a.start.row=i[0].start.row,a.start.column=i[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(n,r):this.$updateRowLengthCache(n,r)),this.$modified=!0,this._signal(\"changeFold\",{data:e,action:\"remove\"})},this.removeFolds=function(e){\nfor(var t=[],n=0;n<e.length;n++)t.push(e[n]);t.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(e){this.removeFold(e),e.subFolds.forEach(function(t){e.restoreRange(t),this.addFold(t)},this),e.collapseChildren>0&&this.foldAll(e.start.row+1,e.end.row,e.collapseChildren-1),e.subFolds=[]},this.expandFolds=function(e){e.forEach(function(e){this.expandFold(e)},this)},this.unfold=function(e,t){var n,r;if(null==e?(n=new o(0,0,this.getLength(),0),t=!0):n=\"number\"==typeof e?new o(e,0,e,this.getLine(e).length):\"row\"in e?o.fromPoints(e,e):e,r=this.getFoldsInRangeList(n),t)this.removeFolds(r);else for(var i=r;i.length;)this.expandFolds(i),i=this.getFoldsInRangeList(n);if(r.length)return r},this.isRowFolded=function(e,t){return!!this.getFoldLine(e,t)},this.getRowFoldEnd=function(e,t){var n=this.getFoldLine(e,t);return n?n.end.row:e},this.getRowFoldStart=function(e,t){var n=this.getFoldLine(e,t);return n?n.start.row:e},this.getFoldDisplayLine=function(e,t,n,r,o){null==r&&(r=e.start.row),null==o&&(o=0),null==t&&(t=e.end.row),null==n&&(n=this.getLine(t).length);var i=this.doc,a=\"\";return e.walk(function(e,t,n,s){if(!(t<r)){if(t==r){if(n<o)return;s=Math.max(o,s)}a+=null!=e?e:i.getLine(t).substring(s,n)}},t,n),a},this.getDisplayLine=function(e,t,n,r){var o=this.getFoldLine(e);if(o)return this.getFoldDisplayLine(o,e,t,n,r);var i;return i=this.doc.getLine(e),i.substring(r||0,t||i.length)},this.$cloneFoldData=function(){var e=[];return e=this.$foldData.map(function(t){var n=t.folds.map(function(e){return e.clone()});return new i(e,n)})},this.toggleFold=function(e){var t,n,r=this.selection,o=r.getRange();if(o.isEmpty()){var i=o.start;if(t=this.getFoldAt(i.row,i.column))return void this.expandFold(t);(n=this.findMatchingBracket(i))?1==o.comparePoint(n)?o.end=n:(o.start=n,o.start.column++,o.end.column--):(n=this.findMatchingBracket({row:i.row,column:i.column+1}))?(1==o.comparePoint(n)?o.end=n:o.start=n,o.start.column++):o=this.getCommentFoldRange(i.row,i.column)||o}else{var a=this.getFoldsInRange(o);if(e&&a.length)return void this.expandFolds(a);1==a.length&&(t=a[0])}if(t||(t=this.getFoldAt(o.start.row,o.start.column)),t&&t.range.toString()==o.toString())return void this.expandFold(t);var s=\"...\";if(!o.isMultiLine()){if(s=this.getTextRange(o),s.length<4)return;s=s.trim().substring(0,2)+\"..\"}this.addFold(s,o)},this.getCommentFoldRange=function(e,t,n){var r=new s(this,e,t),i=r.getCurrentToken(),a=i.type;if(i&&/^comment|string/.test(a)){a=a.match(/comment|string/)[0],\"comment\"==a&&(a+=\"|doc-start\");var u=new RegExp(a),l=new o;if(1!=n){do i=r.stepBackward();while(i&&u.test(i.type));r.stepForward()}if(l.start.row=r.getCurrentTokenRow(),l.start.column=r.getCurrentTokenColumn()+2,r=new s(this,e,t),n!=-1){var c=-1;do if(i=r.stepForward(),c==-1){var d=this.getState(r.$row);u.test(d)||(c=r.$row)}else if(r.$row>c)break;while(i&&u.test(i.type));i=r.stepBackward()}else i=r.getCurrentToken();return l.end.row=r.getCurrentTokenRow(),l.end.column=r.getCurrentTokenColumn()+i.value.length-2,l}},this.foldAll=function(e,t,n){void 0==n&&(n=1e5);var r=this.foldWidgets;if(r){t=t||this.getLength(),e=e||0;for(var o=e;o<t;o++)if(null==r[o]&&(r[o]=this.getFoldWidget(o)),\"start\"==r[o]){var i=this.getFoldWidgetRange(o);if(i&&i.isMultiLine()&&i.end.row<=t&&i.start.row>=e){o=i.end.row;try{var a=this.addFold(\"...\",i);a&&(a.collapseChildren=n)}catch(e){}}}}},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle=\"markbegin\",this.setFoldStyle=function(e){if(!this.$foldStyles[e])throw new Error(\"invalid fold style: \"+e+\"[\"+Object.keys(this.$foldStyles).join(\", \")+\"]\");if(this.$foldStyle!=e){this.$foldStyle=e,\"manual\"==e&&this.unfold();var t=this.$foldMode;this.$setFolding(null),this.$setFolding(t)}},this.$setFolding=function(e){if(this.$foldMode!=e){if(this.$foldMode=e,this.off(\"change\",this.$updateFoldWidgets),this.off(\"tokenizerUpdate\",this.$tokenizerUpdateFoldWidgets),this._signal(\"changeAnnotation\"),!e||\"manual\"==this.$foldStyle)return void(this.foldWidgets=null);this.foldWidgets=[],this.getFoldWidget=e.getFoldWidget.bind(e,this,this.$foldStyle),this.getFoldWidgetRange=e.getFoldWidgetRange.bind(e,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on(\"change\",this.$updateFoldWidgets),this.on(\"tokenizerUpdate\",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(e,t){var n=this.foldWidgets;if(!n||t&&n[e])return{};for(var r,o=e-1;o>=0;){var i=n[o];if(null==i&&(i=n[o]=this.getFoldWidget(o)),\"start\"==i){var a=this.getFoldWidgetRange(o);if(r||(r=a),a&&a.end.row>=e)break}o--}return{range:o!==-1&&a,firstRange:r}},this.onFoldWidgetClick=function(e,t){t=t.domEvent;var n={children:t.shiftKey,all:t.ctrlKey||t.metaKey,siblings:t.altKey},r=this.$toggleFoldWidget(e,n);if(!r){var o=t.target||t.srcElement;o&&/ace_fold-widget/.test(o.className)&&(o.className+=\" ace_invalid\")}},this.$toggleFoldWidget=function(e,t){if(this.getFoldWidget){var n=this.getFoldWidget(e),r=this.getLine(e),o=\"end\"===n?-1:1,i=this.getFoldAt(e,o===-1?0:r.length,o);if(i)return t.children||t.all?this.removeFold(i):this.expandFold(i),i;var a=this.getFoldWidgetRange(e,!0);if(a&&!a.isMultiLine()&&(i=this.getFoldAt(a.start.row,a.start.column,1),i&&a.isEqual(i.range)))return this.removeFold(i),i;if(t.siblings){var s=this.getParentFoldRangeData(e);if(s.range)var u=s.range.start.row+1,l=s.range.end.row;this.foldAll(u,l,t.all?1e4:0)}else t.children?(l=a?a.end.row:this.getLength(),this.foldAll(e+1,l,t.all?1e4:0)):a&&(t.all&&(a.collapseChildren=1e4),this.addFold(\"...\",a));return a}},this.toggleFoldWidget=function(e){var t=this.selection.getCursor().row;t=this.getRowFoldStart(t);var n=this.$toggleFoldWidget(t,{});if(!n){var r=this.getParentFoldRangeData(t,!0);if(n=r.range||r.firstRange){t=n.start.row;var o=this.getFoldAt(t,this.getLine(t).length,1);o?this.removeFold(o):this.addFold(\"...\",n)}}},this.updateFoldWidgets=function(e){var t=e.start.row,n=e.end.row-t;if(0===n)this.foldWidgets[t]=null;else if(\"remove\"==e.action)this.foldWidgets.splice(t,n+1,null);else{var r=Array(n+1);r.unshift(t,1),this.foldWidgets.splice.apply(this.foldWidgets,r)}},this.tokenizerUpdateFoldWidgets=function(e){var t=e.data;t.first!=t.last&&this.foldWidgets.length>t.first&&this.foldWidgets.splice(t.first,this.foldWidgets.length)}}var o=e(\"../range\").Range,i=e(\"./fold_line\").FoldLine,a=e(\"./fold\").Fold,s=e(\"../token_iterator\").TokenIterator;t.Folding=r}),ace.define(\"ace/edit_session/bracket_match\",[\"require\",\"exports\",\"module\",\"ace/token_iterator\",\"ace/range\"],function(e,t,n){\"use strict\";function r(){this.findMatchingBracket=function(e,t){if(0==e.column)return null;var n=t||this.getLine(e.row).charAt(e.column-1);if(\"\"==n)return null;var r=n.match(/([\\(\\[\\{])|([\\)\\]\\}])/);return r?r[1]?this.$findClosingBracket(r[1],e):this.$findOpeningBracket(r[2],e):null},this.getBracketRange=function(e){var t,n=this.getLine(e.row),r=!0,o=n.charAt(e.column-1),a=o&&o.match(/([\\(\\[\\{])|([\\)\\]\\}])/);if(a||(o=n.charAt(e.column),e={row:e.row,column:e.column+1},a=o&&o.match(/([\\(\\[\\{])|([\\)\\]\\}])/),r=!1),!a)return null;if(a[1]){var s=this.$findClosingBracket(a[1],e);if(!s)return null;t=i.fromPoints(e,s),r||(t.end.column++,t.start.column--),t.cursor=t.end}else{var s=this.$findOpeningBracket(a[2],e);if(!s)return null;t=i.fromPoints(s,e),r||(t.start.column++,t.end.column--),t.cursor=t.start}return t},this.$brackets={\")\":\"(\",\"(\":\")\",\"]\":\"[\",\"[\":\"]\",\"{\":\"}\",\"}\":\"{\"},this.$findOpeningBracket=function(e,t,n){var r=this.$brackets[e],i=1,a=new o(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp(\"(\\\\.?\"+s.type.replace(\".\",\"\\\\.\").replace(\"rparen\",\".paren\").replace(/\\b(?:end)\\b/,\"(?:start|begin|end)\")+\")+\"));for(var u=t.column-a.getCurrentTokenColumn()-2,l=s.value;;){for(;u>=0;){var c=l.charAt(u);if(c==r){if(i-=1,0==i)return{row:a.getCurrentTokenRow(),column:u+a.getCurrentTokenColumn()}}else c==e&&(i+=1);u-=1}do s=a.stepBackward();while(s&&!n.test(s.type));if(null==s)break;l=s.value,u=l.length-1}return null}},this.$findClosingBracket=function(e,t,n){var r=this.$brackets[e],i=1,a=new o(this,t.row,t.column),s=a.getCurrentToken();if(s||(s=a.stepForward()),s){n||(n=new RegExp(\"(\\\\.?\"+s.type.replace(\".\",\"\\\\.\").replace(\"lparen\",\".paren\").replace(/\\b(?:start|begin)\\b/,\"(?:start|begin|end)\")+\")+\"));for(var u=t.column-a.getCurrentTokenColumn();;){for(var l=s.value,c=l.length;u<c;){var d=l.charAt(u);if(d==r){if(i-=1,0==i)return{row:a.getCurrentTokenRow(),column:u+a.getCurrentTokenColumn()}}else d==e&&(i+=1);u+=1}do s=a.stepForward();while(s&&!n.test(s.type));if(null==s)break;u=0}return null}}}var o=e(\"../token_iterator\").TokenIterator,i=e(\"../range\").Range;t.BracketMatch=r}),ace.define(\"ace/edit_session\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/bidihandler\",\"ace/config\",\"ace/lib/event_emitter\",\"ace/selection\",\"ace/mode/text\",\"ace/range\",\"ace/document\",\"ace/background_tokenizer\",\"ace/search_highlight\",\"ace/edit_session/folding\",\"ace/edit_session/bracket_match\"],function(e,n,r){\"use strict\";var o=e(\"./lib/oop\"),i=e(\"./lib/lang\"),a=e(\"./bidihandler\").BidiHandler,s=e(\"./config\"),u=e(\"./lib/event_emitter\").EventEmitter,l=e(\"./selection\").Selection,c=e(\"./mode/text\").Mode,d=e(\"./range\").Range,f=e(\"./document\").Document,p=e(\"./background_tokenizer\").BackgroundTokenizer,h=e(\"./search_highlight\").SearchHighlight,m=function(e,t){this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$foldData=[],this.id=\"session\"+ ++m.$uid,this.$foldData.toString=function(){return this.join(\"\\n\")},this.on(\"changeFold\",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),\"object\"==typeof e&&e.getLine||(e=new f(e)),this.$bidiHandler=new a(this),this.setDocument(e),this.selection=new l(this),s.resetOptions(this),this.setMode(t),s._signal(\"session\",this)};m.$uid=0,function(){function e(e){return!(e<4352)&&(e>=4352&&e<=4447||e>=4515&&e<=4519||e>=4602&&e<=4607||e>=9001&&e<=9002||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12283||e>=12288&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12589||e>=12593&&e<=12686||e>=12688&&e<=12730||e>=12736&&e<=12771||e>=12784&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=13054||e>=13056&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=55216&&e<=55238||e>=55243&&e<=55291||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=65281&&e<=65376||e>=65504&&e<=65510)}o.implement(this,u),this.setDocument=function(e){this.doc&&this.doc.removeListener(\"change\",this.$onChange),this.doc=e,e.on(\"change\",this.$onChange),this.bgTokenizer&&this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},this.getDocument=function(){return this.doc},this.$resetRowCache=function(e){if(!e)return this.$docRowCache=[],void(this.$screenRowCache=[]);var t=this.$docRowCache.length,n=this.$getRowCacheIndex(this.$docRowCache,e)+1;t>n&&(this.$docRowCache.splice(n,t),this.$screenRowCache.splice(n,t))},this.$getRowCacheIndex=function(e,t){for(var n=0,r=e.length-1;n<=r;){var o=n+r>>1,i=e[o];if(t>i)n=o+1;else{if(!(t<i))return o;r=o-1}}return n-1},this.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.bgTokenizer&&this.bgTokenizer.start(0)},this.onChangeFold=function(e){var t=e.data;this.$resetRowCache(t.start.row)},this.onChange=function(e){this.$modified=!0,this.$bidiHandler.onChange(e),this.$resetRowCache(e.start.row);var t=this.$updateInternalDataOnChange(e);this.$fromUndo||!this.$undoManager||e.ignore||(this.$deltasDoc.push(e),t&&0!=t.length&&this.$deltasFold.push({action:\"removeFolds\",folds:t}),this.$informUndoManager.schedule()),this.bgTokenizer&&this.bgTokenizer.$updateOnChange(e),this._signal(\"change\",e)},this.setValue=function(e){this.doc.setValue(e),this.selection.moveTo(0,0),this.$resetRowCache(0),this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},this.getValue=this.toString=function(){return this.doc.getValue()},this.getSelection=function(){return this.selection},this.getState=function(e){return this.bgTokenizer.getState(e)},this.getTokens=function(e){return this.bgTokenizer.getTokens(e)},this.getTokenAt=function(e,t){var n,r=this.bgTokenizer.getTokens(e),o=0;if(null==t){var i=r.length-1;o=this.getLine(e).length}else for(var i=0;i<r.length&&(o+=r[i].value.length,!(o>=t));i++);return(n=r[i])?(n.index=i,n.start=o-n.value.length,n):null},this.setUndoManager=function(e){if(this.$undoManager=e,this.$deltas=[],this.$deltasDoc=[],this.$deltasFold=[],this.$informUndoManager&&this.$informUndoManager.cancel(),e){var t=this;this.$syncInformUndoManager=function(){t.$informUndoManager.cancel(),t.$deltasFold.length&&(t.$deltas.push({group:\"fold\",deltas:t.$deltasFold}),t.$deltasFold=[]),t.$deltasDoc.length&&(t.$deltas.push({group:\"doc\",deltas:t.$deltasDoc}),t.$deltasDoc=[]),t.$deltas.length>0&&e.execute({action:\"aceupdate\",args:[t.$deltas,t],merge:t.mergeUndoDeltas}),t.mergeUndoDeltas=!1,t.$deltas=[]},this.$informUndoManager=i.delayedCall(this.$syncInformUndoManager)}},this.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},this.$defaultUndoManager={undo:function(){},redo:function(){},reset:function(){}},this.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},this.getTabString=function(){return this.getUseSoftTabs()?i.stringRepeat(\" \",this.getTabSize()):\"\\t\"},this.setUseSoftTabs=function(e){this.setOption(\"useSoftTabs\",e)},this.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},this.setTabSize=function(e){this.setOption(\"tabSize\",e)},this.getTabSize=function(){return this.$tabSize},this.isTabStop=function(e){return this.$useSoftTabs&&e.column%this.$tabSize===0},this.setNavigateWithinSoftTabs=function(e){this.setOption(\"navigateWithinSoftTabs\",e)},this.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},this.$overwrite=!1,this.setOverwrite=function(e){this.setOption(\"overwrite\",e)},this.getOverwrite=function(){return this.$overwrite},this.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},this.addGutterDecoration=function(e,t){this.$decorations[e]||(this.$decorations[e]=\"\"),this.$decorations[e]+=\" \"+t,this._signal(\"changeBreakpoint\",{})},this.removeGutterDecoration=function(e,t){this.$decorations[e]=(this.$decorations[e]||\"\").replace(\" \"+t,\"\"),this._signal(\"changeBreakpoint\",{})},this.getBreakpoints=function(){return this.$breakpoints},this.setBreakpoints=function(e){this.$breakpoints=[];for(var t=0;t<e.length;t++)this.$breakpoints[e[t]]=\"ace_breakpoint\";this._signal(\"changeBreakpoint\",{})},this.clearBreakpoints=function(){this.$breakpoints=[],this._signal(\"changeBreakpoint\",{})},this.setBreakpoint=function(e,t){void 0===t&&(t=\"ace_breakpoint\"),t?this.$breakpoints[e]=t:delete this.$breakpoints[e],this._signal(\"changeBreakpoint\",{})},this.clearBreakpoint=function(e){delete this.$breakpoints[e],this._signal(\"changeBreakpoint\",{})},this.addMarker=function(e,t,n,r){var o=this.$markerId++,i={range:e,type:n||\"line\",renderer:\"function\"==typeof n?n:null,clazz:t,inFront:!!r,id:o};return r?(this.$frontMarkers[o]=i,this._signal(\"changeFrontMarker\")):(this.$backMarkers[o]=i,this._signal(\"changeBackMarker\")),o},this.addDynamicMarker=function(e,t){if(e.update){var n=this.$markerId++;return e.id=n,e.inFront=!!t,t?(this.$frontMarkers[n]=e,this._signal(\"changeFrontMarker\")):(this.$backMarkers[n]=e,this._signal(\"changeBackMarker\")),e}},this.removeMarker=function(e){var t=this.$frontMarkers[e]||this.$backMarkers[e];if(t){var n=t.inFront?this.$frontMarkers:this.$backMarkers;t&&(delete n[e],this._signal(t.inFront?\"changeFrontMarker\":\"changeBackMarker\"))}},this.getMarkers=function(e){return e?this.$frontMarkers:this.$backMarkers},this.highlight=function(e){if(!this.$searchHighlight){var t=new h(null,\"ace_selected-word\",\"text\");this.$searchHighlight=this.addDynamicMarker(t)}this.$searchHighlight.setRegexp(e)},this.highlightLines=function(e,t,n,r){\"number\"!=typeof t&&(n=t,t=e),n||(n=\"ace_step\");var o=new d(e,0,t,1/0);return o.id=this.addMarker(o,n,\"fullLine\",r),o},this.setAnnotations=function(e){this.$annotations=e,this._signal(\"changeAnnotation\",{})},this.getAnnotations=function(){return this.$annotations||[]},this.clearAnnotations=function(){this.setAnnotations([])},this.$detectNewLine=function(e){var t=e.match(/^.*?(\\r?\\n)/m);t?this.$autoNewLine=t[1]:this.$autoNewLine=\"\\n\"},this.getWordRange=function(e,t){var n=this.getLine(e),r=!1;if(t>0&&(r=!!n.charAt(t-1).match(this.tokenRe)),r||(r=!!n.charAt(t).match(this.tokenRe)),r)var o=this.tokenRe;else if(/^\\s+$/.test(n.slice(t-1,t+1)))var o=/\\s/;else var o=this.nonTokenRe;var i=t;if(i>0){do i--;while(i>=0&&n.charAt(i).match(o));i++}for(var a=t;a<n.length&&n.charAt(a).match(o);)a++;return new d(e,i,e,a)},this.getAWordRange=function(e,t){for(var n=this.getWordRange(e,t),r=this.getLine(n.end.row);r.charAt(n.end.column).match(/[ \\t]/);)n.end.column+=1;return n},this.setNewLineMode=function(e){this.doc.setNewLineMode(e)},this.getNewLineMode=function(){return this.doc.getNewLineMode()},this.setUseWorker=function(e){this.setOption(\"useWorker\",e)},this.getUseWorker=function(){return this.$useWorker},this.onReloadTokenizer=function(e){var t=e.data;this.bgTokenizer.start(t.first),this._signal(\"tokenizerUpdate\",e)},this.$modes={},this.$mode=null,this.$modeId=null,this.setMode=function(e,t){if(e&&\"object\"==typeof e){if(e.getTokenizer)return this.$onChangeMode(e);var n=e,r=n.path}else r=e||\"ace/mode/text\";return this.$modes[\"ace/mode/text\"]||(this.$modes[\"ace/mode/text\"]=new c),this.$modes[r]&&!n?(this.$onChangeMode(this.$modes[r]),void(t&&t())):(this.$modeId=r,s.loadModule([\"mode\",r],function(e){return this.$modeId!==r?t&&t():(this.$modes[r]&&!n?this.$onChangeMode(this.$modes[r]):e&&e.Mode&&(e=new e.Mode(n),n||(this.$modes[r]=e,e.$id=r),this.$onChangeMode(e)),void(t&&t()))}.bind(this)),void(this.$mode||this.$onChangeMode(this.$modes[\"ace/mode/text\"],!0)))},this.$onChangeMode=function(e,t){if(t||(this.$modeId=e.$id),this.$mode!==e){this.$mode=e,this.$stopWorker(),this.$useWorker&&this.$startWorker();var n=e.getTokenizer();if(void 0!==n.addEventListener){var r=this.onReloadTokenizer.bind(this);n.addEventListener(\"update\",r)}if(this.bgTokenizer)this.bgTokenizer.setTokenizer(n);else{this.bgTokenizer=new p(n);var o=this;this.bgTokenizer.addEventListener(\"update\",function(e){o._signal(\"tokenizerUpdate\",e)})}this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=e.tokenRe,this.nonTokenRe=e.nonTokenRe,t||(e.attachToSession&&e.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(e.foldingRules),this.bgTokenizer.start(0),this._emit(\"changeMode\"))}},this.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},this.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(e){s.warn(\"Could not load worker\",e),this.$worker=null}},this.getMode=function(){return this.$mode},this.$scrollTop=0,this.setScrollTop=function(e){this.$scrollTop===e||isNaN(e)||(this.$scrollTop=e,this._signal(\"changeScrollTop\",e))},this.getScrollTop=function(){return this.$scrollTop},this.$scrollLeft=0,this.setScrollLeft=function(e){this.$scrollLeft===e||isNaN(e)||(this.$scrollLeft=e,this._signal(\"changeScrollLeft\",e))},this.getScrollLeft=function(){return this.$scrollLeft},this.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},this.getLineWidgetMaxWidth=function(){if(null!=this.lineWidgetsWidth)return this.lineWidgetsWidth;var e=0;return this.lineWidgets.forEach(function(t){t&&t.screenWidth>e&&(e=t.screenWidth)}),this.lineWidgetWidth=e},this.$computeWidth=function(e){if(this.$modified||e){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var t=this.doc.getAllLines(),n=this.$rowLengthCache,r=0,o=0,i=this.$foldData[o],a=i?i.start.row:1/0,s=t.length,u=0;u<s;u++){if(u>a){if(u=i.end.row+1,u>=s)break;i=this.$foldData[o++],a=i?i.start.row:1/0}null==n[u]&&(n[u]=this.$getStringScreenWidth(t[u])[0]),n[u]>r&&(r=n[u])}this.screenWidth=r}},this.getLine=function(e){return this.doc.getLine(e)},this.getLines=function(e,t){return this.doc.getLines(e,t)},this.getLength=function(){return this.doc.getLength()},this.getTextRange=function(e){return this.doc.getTextRange(e||this.selection.getRange())},this.insert=function(e,t){return this.doc.insert(e,t)},this.remove=function(e){return this.doc.remove(e)},this.removeFullLines=function(e,t){return this.doc.removeFullLines(e,t)},this.undoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=e.length-1;r!=-1;r--){var o=e[r];\"doc\"==o.group?(this.doc.revertDeltas(o.deltas),n=this.$getUndoSelection(o.deltas,!0,n)):o.deltas.forEach(function(e){this.addFolds(e.folds)},this)}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.redoChanges=function(e,t){if(e.length){this.$fromUndo=!0;for(var n=null,r=0;r<e.length;r++){var o=e[r];\"doc\"==o.group&&(this.doc.applyDeltas(o.deltas),n=this.$getUndoSelection(o.deltas,!1,n))}return this.$fromUndo=!1,n&&this.$undoSelect&&!t&&this.selection.setSelectionRange(n),n}},this.setUndoSelect=function(e){this.$undoSelect=e},this.$getUndoSelection=function(e,t,n){function r(e){return t?\"insert\"!==e.action:\"insert\"===e.action}var o,i,a=e[0],s=!1;r(a)?(o=d.fromPoints(a.start,a.end),s=!0):(o=d.fromPoints(a.start,a.start),s=!1);for(var u=1;u<e.length;u++)a=e[u],r(a)?(i=a.start,o.compare(i.row,i.column)==-1&&o.setStart(i),i=a.end,1==o.compare(i.row,i.column)&&o.setEnd(i),s=!0):(i=a.start,o.compare(i.row,i.column)==-1&&(o=d.fromPoints(a.start,a.start)),s=!1);if(null!=n){0===d.comparePoints(n.start,o.start)&&(n.start.column+=o.end.column-o.start.column,n.end.column+=o.end.column-o.start.column);var l=n.compareRange(o);1==l?o.setStart(n.start):l==-1&&o.setEnd(n.end)}return o},this.replace=function(e,t){return this.doc.replace(e,t)},this.moveText=function(e,t,n){var r=this.getTextRange(e),o=this.getFoldsInRange(e),i=d.fromPoints(t,t);if(!n){this.remove(e);var a=e.start.row-e.end.row,s=a?-e.end.column:e.start.column-e.end.column;s&&(i.start.row==e.end.row&&i.start.column>e.end.column&&(i.start.column+=s),i.end.row==e.end.row&&i.end.column>e.end.column&&(i.end.column+=s)),a&&i.start.row>=e.end.row&&(i.start.row+=a,i.end.row+=a)}if(i.end=this.insert(i.start,r),o.length){var u=e.start,l=i.start,a=l.row-u.row,s=l.column-u.column;this.addFolds(o.map(function(e){return e=e.clone(),e.start.row==u.row&&(e.start.column+=s),e.end.row==u.row&&(e.end.column+=s),e.start.row+=a,e.end.row+=a,e}))}return i},this.indentRows=function(e,t,n){n=n.replace(/\\t/g,this.getTabString());for(var r=e;r<=t;r++)this.doc.insertInLine({row:r,column:0},n)},this.outdentRows=function(e){for(var t=e.collapseRows(),n=new d(0,0,0,0),r=this.getTabSize(),o=t.start.row;o<=t.end.row;++o){var i=this.getLine(o);n.start.row=o,n.end.row=o;for(var a=0;a<r&&\" \"==i.charAt(a);++a);a<r&&\"\\t\"==i.charAt(a)?(n.start.column=a,n.end.column=a+1):(n.start.column=0,n.end.column=a),this.remove(n)}},this.$moveLines=function(e,t,n){if(e=this.getRowFoldStart(e),t=this.getRowFoldEnd(t),n<0){var r=this.getRowFoldStart(e+n);if(r<0)return 0;var o=r-e}else if(n>0){var r=this.getRowFoldEnd(t+n);if(r>this.doc.getLength()-1)return 0;var o=r-t}else{e=this.$clipRowToDocument(e),t=this.$clipRowToDocument(t);var o=t-e+1}var i=new d(e,0,t,Number.MAX_VALUE),a=this.getFoldsInRange(i).map(function(e){return e=e.clone(),e.start.row+=o,e.end.row+=o,e}),s=0==n?this.doc.getLines(e,t):this.doc.removeFullLines(e,t);return this.doc.insertFullLines(e+o,s),a.length&&this.addFolds(a),o},this.moveLinesUp=function(e,t){return this.$moveLines(e,t,-1)},this.moveLinesDown=function(e,t){return this.$moveLines(e,t,1)},this.duplicateLines=function(e,t){return this.$moveLines(e,t,0)},this.$clipRowToDocument=function(e){return Math.max(0,Math.min(e,this.doc.getLength()-1))},this.$clipColumnToRow=function(e,t){return t<0?0:Math.min(this.doc.getLine(e).length,t)},this.$clipPositionToDocument=function(e,t){if(t=Math.max(0,t),e<0)e=0,t=0;else{var n=this.doc.getLength();e>=n?(e=n-1,t=this.doc.getLine(n-1).length):t=Math.min(this.doc.getLine(e).length,t)}return{row:e,column:t}},this.$clipRangeToDocument=function(e){e.start.row<0?(e.start.row=0,e.start.column=0):e.start.column=this.$clipColumnToRow(e.start.row,e.start.column);var t=this.doc.getLength()-1;return e.end.row>t?(e.end.row=t,e.end.column=this.doc.getLine(t).length):e.end.column=this.$clipColumnToRow(e.end.row,e.end.column),e},this.$wrapLimit=80,this.$useWrapMode=!1,this.$wrapLimitRange={min:null,max:null},this.setUseWrapMode=function(e){if(e!=this.$useWrapMode){if(this.$useWrapMode=e,this.$modified=!0,this.$resetRowCache(0),e){var t=this.getLength();this.$wrapData=Array(t),this.$updateWrapData(0,t-1)}this._signal(\"changeWrapMode\")}},this.getUseWrapMode=function(){return this.$useWrapMode},this.setWrapLimitRange=function(e,t){this.$wrapLimitRange.min===e&&this.$wrapLimitRange.max===t||(this.$wrapLimitRange={min:e,max:t},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal(\"changeWrapMode\"))},this.adjustWrapLimit=function(e,t){var n=this.$wrapLimitRange;n.max<0&&(n={min:t,max:t});var r=this.$constrainWrapLimit(e,n.min,n.max);return r!=this.$wrapLimit&&r>1&&(this.$wrapLimit=r,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal(\"changeWrapLimit\")),!0)},this.$constrainWrapLimit=function(e,t,n){return t&&(e=Math.max(t,e)),n&&(e=Math.min(n,e)),e},this.getWrapLimit=function(){return this.$wrapLimit},this.setWrapLimit=function(e){this.setWrapLimitRange(e,e)},this.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},this.$updateInternalDataOnChange=function(e){var n=this.$useWrapMode,r=e.action,o=e.start,i=e.end,a=o.row,s=i.row,u=s-a,l=null;if(this.$updating=!0,0!=u)if(\"remove\"===r){this[n?\"$wrapData\":\"$rowLengthCache\"].splice(a,u);var c=this.$foldData;l=this.getFoldsInRange(e),this.removeFolds(l);var d=this.getFoldLine(i.row),f=0;if(d){d.addRemoveChars(i.row,i.column,o.column-i.column),d.shiftRow(-u);var p=this.getFoldLine(a);p&&p!==d&&(p.merge(d),d=p),f=c.indexOf(d)+1}for(f;f<c.length;f++){var d=c[f];d.start.row>=i.row&&d.shiftRow(-u)}s=a}else{var h=Array(u);h.unshift(a,0);var m=n?this.$wrapData:this.$rowLengthCache;m.splice.apply(m,h);var c=this.$foldData,d=this.getFoldLine(a),f=0;if(d){var g=d.range.compareInside(o.row,o.column);0==g?(d=d.split(o.row,o.column),d&&(d.shiftRow(u),d.addRemoveChars(s,0,i.column-o.column))):g==-1&&(d.addRemoveChars(a,0,i.column-o.column),d.shiftRow(u)),f=c.indexOf(d)+1}for(f;f<c.length;f++){var d=c[f];d.start.row>=a&&d.shiftRow(u)}}else{u=Math.abs(e.start.column-e.end.column),\"remove\"===r&&(l=this.getFoldsInRange(e),this.removeFolds(l),u=-u);var d=this.getFoldLine(a);d&&d.addRemoveChars(a,o.column,u)}return n&&this.$wrapData.length!=this.doc.getLength()&&t.error(\"doc.getLength() and $wrapData.length have to be the same!\"),this.$updating=!1,n?this.$updateWrapData(a,s):this.$updateRowLengthCache(a,s),l},this.$updateRowLengthCache=function(e,t,n){this.$rowLengthCache[e]=null,this.$rowLengthCache[t]=null},this.$updateWrapData=function(e,t){var n,r,o=this.doc.getAllLines(),i=this.getTabSize(),s=this.$wrapData,u=this.$wrapLimit,c=e;for(t=Math.min(t,o.length-1);c<=t;)r=this.getFoldLine(c,r),r?(n=[],r.walk(function(e,t,r,i){var s;if(null!=e){s=this.$getDisplayTokens(e,n.length),s[0]=a;for(var u=1;u<s.length;u++)s[u]=l}else s=this.$getDisplayTokens(o[t].substring(i,r),n.length);n=n.concat(s)}.bind(this),r.end.row,o[r.end.row].length+1),s[r.start.row]=this.$computeWrapSplits(n,u,i),c=r.end.row+1):(n=this.$getDisplayTokens(o[c]),s[c]=this.$computeWrapSplits(n,u,i),c++)};var n=1,r=2,a=3,l=4,f=9,m=10,g=11,_=12;this.$computeWrapSplits=function(e,t,n){function o(){var t=0;if(0===b)return t;if(h)for(var r=0;r<e.length;r++){var o=e[r];if(o==m)t+=1;else{if(o!=g){if(o==_)continue;break}t+=n}}return p&&h!==!1&&(t+=n),Math.min(t,b)}function i(t){var n=e.slice(c,t),r=n.length;n.join(\"\").replace(/12/g,function(){r-=1}).replace(/2/g,function(){r-=1}),s.length||(y=o(),s.indent=y),d+=r,s.push(d),c=t}if(0==e.length)return[];for(var s=[],u=e.length,c=0,d=0,p=this.$wrapAsCode,h=this.$indentedSoftWrap,b=t<=Math.max(2*n,8)||h===!1?0:Math.floor(t/2),y=0;u-c>t-y;){var v=c+t-y;if(e[v-1]>=m&&e[v]>=m)i(v);else if(e[v]!=a&&e[v]!=l){for(var M=Math.max(v-(t-(t>>2)),c-1);v>M&&e[v]<a;)v--;if(p){for(;v>M&&e[v]<a;)v--;for(;v>M&&e[v]==f;)v--}else for(;v>M&&e[v]<m;)v--;v>M?i(++v):(v=c+t,e[v]==r&&v--,i(v-y))}else{for(v;v!=c-1&&e[v]!=a;v--);if(v>c){i(v);continue}for(v=c+t;v<e.length&&e[v]==l;v++);if(v==e.length)break;i(v)}}return s},this.$getDisplayTokens=function(t,o){var i,a=[];o=o||0;for(var s=0;s<t.length;s++){var u=t.charCodeAt(s);if(9==u){i=this.getScreenTabSize(a.length+o),a.push(g);for(var l=1;l<i;l++)a.push(_)}else 32==u?a.push(m):u>39&&u<48||u>57&&u<64?a.push(f):u>=4352&&e(u)?a.push(n,r):a.push(n)}return a},this.$getStringScreenWidth=function(t,n,r){if(0==n)return[0,0];null==n&&(n=1/0),r=r||0;var o,i;for(i=0;i<t.length&&(o=t.charCodeAt(i),r+=9==o?this.getScreenTabSize(r):o>=4352&&e(o)?2:1,!(r>n));i++);return[r,i]},this.lineWidgets=null,this.getRowLength=function(e){if(this.lineWidgets)var t=this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0;else t=0;return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.getRowLineCount=function(e){return this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1:1},this.getRowWrapIndent=function(e){if(this.$useWrapMode){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE),n=this.$wrapData[t.row];return n.length&&n[0]<t.column?n.indent:0}return 0},this.getScreenLastRowColumn=function(e){var t=this.screenToDocumentPosition(e,Number.MAX_VALUE);return this.documentToScreenColumn(t.row,t.column)},this.getDocumentLastRowColumn=function(e,t){var n=this.documentToScreenRow(e,t);return this.getScreenLastRowColumn(n)},this.getDocumentLastRowColumnPosition=function(e,t){var n=this.documentToScreenRow(e,t);return this.screenToDocumentPosition(n,Number.MAX_VALUE/10)},this.getRowSplitData=function(e){return this.$useWrapMode?this.$wrapData[e]:void 0},this.getScreenTabSize=function(e){return this.$tabSize-e%this.$tabSize},this.screenToDocumentRow=function(e,t){return this.screenToDocumentPosition(e,t).row},this.screenToDocumentColumn=function(e,t){return this.screenToDocumentPosition(e,t).column},this.screenToDocumentPosition=function(e,t,n){if(e<0)return{row:0,column:0};var r,o,i=0,a=0,s=0,u=0,l=this.$screenRowCache,c=this.$getRowCacheIndex(l,e),d=l.length;if(d&&c>=0)var s=l[c],i=this.$docRowCache[c],f=e>l[d-1];else var f=!d;for(var p=this.getLength()-1,h=this.getNextFoldLine(i),m=h?h.start.row:1/0;s<=e&&(u=this.getRowLength(i),!(s+u>e||i>=p));)s+=u,i++,i>m&&(i=h.end.row+1,h=this.getNextFoldLine(i,h),m=h?h.start.row:1/0),f&&(this.$docRowCache.push(i),this.$screenRowCache.push(s));if(h&&h.start.row<=i)r=this.getFoldDisplayLine(h),i=h.start.row;else{if(s+u<=e||i>p)return{row:p,column:this.getLine(p).length};r=this.getLine(i),h=null}var g=0,_=Math.floor(e-s);if(this.$useWrapMode){var b=this.$wrapData[i];b&&(o=b[_],_>0&&b.length&&(g=b.indent,a=b[_-1]||b[b.length-1],r=r.substring(a)))}return void 0!==n&&this.$bidiHandler.isBidiRow(s+_,i,_)&&(t=this.$bidiHandler.offsetToCol(n)),a+=this.$getStringScreenWidth(r,t-g)[1],this.$useWrapMode&&a>=o&&(a=o-1),h?h.idxToPosition(a):{row:i,column:a}},this.documentToScreenPosition=function(e,t){if(\"undefined\"==typeof t)var n=this.$clipPositionToDocument(e.row,e.column);else n=this.$clipPositionToDocument(e,t);e=n.row,t=n.column;\nvar r=0,o=null,i=null;i=this.getFoldAt(e,t,1),i&&(e=i.start.row,t=i.start.column);var a,s=0,u=this.$docRowCache,l=this.$getRowCacheIndex(u,e),c=u.length;if(c&&l>=0)var s=u[l],r=this.$screenRowCache[l],d=e>u[c-1];else var d=!c;for(var f=this.getNextFoldLine(s),p=f?f.start.row:1/0;s<e;){if(s>=p){if(a=f.end.row+1,a>e)break;f=this.getNextFoldLine(a,f),p=f?f.start.row:1/0}else a=s+1;r+=this.getRowLength(s),s=a,d&&(this.$docRowCache.push(s),this.$screenRowCache.push(r))}var h=\"\";f&&s>=p?(h=this.getFoldDisplayLine(f,e,t),o=f.start.row):(h=this.getLine(e).substring(0,t),o=e);var m=0;if(this.$useWrapMode){var g=this.$wrapData[o];if(g){for(var _=0;h.length>=g[_];)r++,_++;h=h.substring(g[_-1]||0,h.length),m=_>0?g.indent:0}}return{row:r,column:m+this.$getStringScreenWidth(h)[0]}},this.documentToScreenColumn=function(e,t){return this.documentToScreenPosition(e,t).column},this.documentToScreenRow=function(e,t){return this.documentToScreenPosition(e,t).row},this.getScreenLength=function(){var e=0,t=null;if(this.$useWrapMode)for(var n=this.$wrapData.length,r=0,o=0,t=this.$foldData[o++],i=t?t.start.row:1/0;r<n;){var a=this.$wrapData[r];e+=a?a.length+1:1,r++,r>i&&(r=t.end.row+1,t=this.$foldData[o++],i=t?t.start.row:1/0)}else{e=this.getLength();for(var s=this.$foldData,o=0;o<s.length;o++)t=s[o],e-=t.end.row-t.start.row}return this.lineWidgets&&(e+=this.$getWidgetScreenLength()),e},this.$setFontMetrics=function(e){this.$enableVarChar&&(this.$getStringScreenWidth=function(t,n,r){if(0===n)return[0,0];n||(n=1/0),r=r||0;var o,i;for(i=0;i<t.length&&(o=t.charAt(i),r+=\"\\t\"===o?this.getScreenTabSize(r):e.getCharacterWidth(o),!(r>n));i++);return[r,i]})},this.destroy=function(){this.bgTokenizer&&(this.bgTokenizer.setDocument(null),this.bgTokenizer=null),this.$stopWorker()},this.isFullWidth=e}.call(m.prototype),e(\"./edit_session/folding\").Folding.call(m.prototype),e(\"./edit_session/bracket_match\").BracketMatch.call(m.prototype),s.defineOptions(m.prototype,\"session\",{wrap:{set:function(e){if(e&&\"off\"!=e?\"free\"==e?e=!0:\"printMargin\"==e?e=-1:\"string\"==typeof e&&(e=parseInt(e,10)||!1):e=!1,this.$wrap!=e)if(this.$wrap=e,e){var t=\"number\"==typeof e?e:null;this.setWrapLimitRange(t,t),this.setUseWrapMode(!0)}else this.setUseWrapMode(!1)},get:function(){return this.getUseWrapMode()?this.$wrap==-1?\"printMargin\":this.getWrapLimitRange().min?this.$wrap:\"free\":\"off\"},handlesSet:!0},wrapMethod:{set:function(e){e=\"auto\"==e?\"text\"!=this.$mode.type:\"text\"!=e,e!=this.$wrapAsCode&&(this.$wrapAsCode=e,this.$useWrapMode&&(this.$modified=!0,this.$resetRowCache(0),this.$updateWrapData(0,this.getLength()-1)))},initialValue:\"auto\"},indentedSoftWrap:{initialValue:!0},firstLineNumber:{set:function(){this._signal(\"changeBreakpoint\")},initialValue:1},useWorker:{set:function(e){this.$useWorker=e,this.$stopWorker(),e&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(e){isNaN(e)||this.$tabSize===e||(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=e,this._signal(\"changeTabSize\"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},overwrite:{set:function(e){this._signal(\"changeOverwrite\")},initialValue:!1},newLineMode:{set:function(e){this.doc.setNewLineMode(e)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(e){this.setMode(e)},get:function(){return this.$modeId}}}),n.EditSession=m}),ace.define(\"ace/search\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/lib/oop\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t){function n(e){return/\\w/.test(e)||t.regExp?\"\\\\b\":\"\"}return n(e[0])+e+n(e[e.length-1])}var o=e(\"./lib/lang\"),i=e(\"./lib/oop\"),a=e(\"./range\").Range,s=function(){this.$options={}};(function(){this.set=function(e){return i.mixin(this.$options,e),this},this.getOptions=function(){return o.copyObject(this.$options)},this.setOptions=function(e){this.$options=e},this.find=function(e){var t=this.$options,n=this.$matchIterator(e,t);if(!n)return!1;var r=null;return n.forEach(function(e,n,o,i){return r=new a(e,n,o,i),!(n==i&&t.start&&t.start.start&&0!=t.skipCurrent&&r.isEqual(t.start))||(r=null,!1)}),r},this.findAll=function(e){var t=this.$options;if(!t.needle)return[];this.$assembleRegExp(t);var n=t.range,r=n?e.getLines(n.start.row,n.end.row):e.doc.getAllLines(),i=[],s=t.re;if(t.$isMultiLine){var u,l=s.length,c=r.length-l;e:for(var d=s.offset||0;d<=c;d++){for(var f=0;f<l;f++)if(r[d+f].search(s[f])==-1)continue e;var p=r[d],h=r[d+l-1],m=p.length-p.match(s[0])[0].length,g=h.match(s[l-1])[0].length;u&&u.end.row===d&&u.end.column>m||(i.push(u=new a(d,m,d+l-1,g)),l>2&&(d=d+l-2))}}else for(var _=0;_<r.length;_++)for(var b=o.getMatchOffsets(r[_],s),f=0;f<b.length;f++){var y=b[f];i.push(new a(_,y.offset,_,y.offset+y.length))}if(n){for(var v=n.start.column,M=n.start.column,_=0,f=i.length-1;_<f&&i[_].start.column<v&&i[_].start.row==n.start.row;)_++;for(;_<f&&i[f].end.column>M&&i[f].end.row==n.end.row;)f--;for(i=i.slice(_,f+1),_=0,f=i.length;_<f;_++)i[_].start.row+=n.start.row,i[_].end.row+=n.start.row}return i},this.replace=function(e,t){var n=this.$options,r=this.$assembleRegExp(n);if(n.$isMultiLine)return t;if(r){var o=r.exec(e);if(!o||o[0].length!=e.length)return null;if(t=e.replace(r,t),n.preserveCase){t=t.split(\"\");for(var i=Math.min(e.length,e.length);i--;){var a=e[i];a&&a.toLowerCase()!=a?t[i]=t[i].toUpperCase():t[i]=t[i].toLowerCase()}t=t.join(\"\")}return t}},this.$assembleRegExp=function(e,t){if(e.needle instanceof RegExp)return e.re=e.needle;var n=e.needle;if(!e.needle)return e.re=!1;e.regExp||(n=o.escapeRegExp(n)),e.wholeWord&&(n=r(n,e));var i=e.caseSensitive?\"gm\":\"gmi\";if(e.$isMultiLine=!t&&/[\\n\\r]/.test(n),e.$isMultiLine)return e.re=this.$assembleMultilineRegExp(n,i);try{var a=new RegExp(n,i)}catch(e){a=!1}return e.re=a},this.$assembleMultilineRegExp=function(e,t){for(var n=e.replace(/\\r\\n|\\r|\\n/g,\"$\\n^\").split(\"\\n\"),r=[],o=0;o<n.length;o++)try{r.push(new RegExp(n[o],t))}catch(e){return!1}return r},this.$matchIterator=function(e,t){var n=this.$assembleRegExp(t);if(!n)return!1;var r=1==t.backwards,o=0!=t.skipCurrent,i=t.range,a=t.start;a||(a=i?i[r?\"end\":\"start\"]:e.selection.getRange()),a.start&&(a=a[o!=r?\"end\":\"start\"]);var s=i?i.start.row:0,u=i?i.end.row:e.getLength()-1;if(r)var l=function(e){var n=a.row;if(!d(n,a.column,e)){for(n--;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return;if(0!=t.wrap)for(n=u,s=a.row;n>=s;n--)if(d(n,Number.MAX_VALUE,e))return}};else var l=function(e){var n=a.row;if(!d(n,a.column,e)){for(n+=1;n<=u;n++)if(d(n,0,e))return;if(0!=t.wrap)for(n=s,u=a.row;n<=u;n++)if(d(n,0,e))return}};if(t.$isMultiLine)var c=n.length,d=function(t,o,i){var a=r?t-c+1:t;if(!(a<0)){var s=e.getLine(a),u=s.search(n[0]);if(!(!r&&u<o||u===-1)){for(var l=1;l<c;l++)if(s=e.getLine(a+l),s.search(n[l])==-1)return;var d=s.match(n[c-1])[0].length;if(!(r&&d>o))return!!i(a,u,a+c-1,d)||void 0}}};else if(r)var d=function(t,r,o){var i,a=e.getLine(t),s=[],u=0;for(n.lastIndex=0;i=n.exec(a);){var l=i[0].length;if(u=i.index,!l){if(u>=a.length)break;n.lastIndex=u+=1}if(i.index+l>r)break;s.push(i.index,l)}for(var c=s.length-1;c>=0;c-=2){var d=s[c-1],l=s[c];if(o(t,d,t,d+l))return!0}};else var d=function(t,r,o){var i,a=e.getLine(t),s=r;for(n.lastIndex=r;i=n.exec(a);){var u=i[0].length;if(s=i.index,o(t,s,t,s+u))return!0;if(!u&&(n.lastIndex=s+=1,s>=a.length))return!1}};return{forEach:l}}}).call(s.prototype),t.Search=s}),ace.define(\"ace/keyboard/hash_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/keys\",\"ace/lib/useragent\"],function(e,n,r){\"use strict\";function o(e,t){this.platform=t||(s.isMac?\"mac\":\"win\"),this.commands={},this.commandKeyBinding={},this.addCommands(e),this.$singleCommand=!0}function i(e,t){o.call(this,e,t),this.$singleCommand=!1}var a=e(\"../lib/keys\"),s=e(\"../lib/useragent\"),u=a.KEY_MODS;i.prototype=o.prototype,function(){function e(e){return\"object\"==typeof e&&e.bindKey&&e.bindKey.position||(e.isDefault?-100:0)}this.addCommand=function(e){this.commands[e.name]&&this.removeCommand(e),this.commands[e.name]=e,e.bindKey&&this._buildKeyHash(e)},this.removeCommand=function(e,t){var n=e&&(\"string\"==typeof e?e:e.name);e=this.commands[n],t||delete this.commands[n];var r=this.commandKeyBinding;for(var o in r){var i=r[o];if(i==e)delete r[o];else if(Array.isArray(i)){var a=i.indexOf(e);a!=-1&&(i.splice(a,1),1==i.length&&(r[o]=i[0]))}}},this.bindKey=function(e,t,n){if(\"object\"==typeof e&&e&&(void 0==n&&(n=e.position),e=e[this.platform]),e)return\"function\"==typeof t?this.addCommand({exec:t,bindKey:e,name:t.name||e}):void e.split(\"|\").forEach(function(e){var r=\"\";if(e.indexOf(\" \")!=-1){var o=e.split(/\\s+/);e=o.pop(),o.forEach(function(e){var t=this.parseKeys(e),n=u[t.hashId]+t.key;r+=(r?\" \":\"\")+n,this._addCommandToBinding(r,\"chainKeys\")},this),r+=\" \"}var i=this.parseKeys(e),a=u[i.hashId]+i.key;this._addCommandToBinding(r+a,t,n)},this)},this._addCommandToBinding=function(t,n,r){var o,i=this.commandKeyBinding;if(n)if(!i[t]||this.$singleCommand)i[t]=n;else{Array.isArray(i[t])?(o=i[t].indexOf(n))!=-1&&i[t].splice(o,1):i[t]=[i[t]],\"number\"!=typeof r&&(r=e(n));var a=i[t];for(o=0;o<a.length;o++){var s=a[o],u=e(s);if(u>r)break}a.splice(o,0,n)}else delete i[t]},this.addCommands=function(e){e&&Object.keys(e).forEach(function(t){var n=e[t];if(n){if(\"string\"==typeof n)return this.bindKey(n,t);\"function\"==typeof n&&(n={exec:n}),\"object\"==typeof n&&(n.name||(n.name=t),this.addCommand(n))}},this)},this.removeCommands=function(e){Object.keys(e).forEach(function(t){this.removeCommand(e[t])},this)},this.bindKeys=function(e){Object.keys(e).forEach(function(t){this.bindKey(t,e[t])},this)},this._buildKeyHash=function(e){this.bindKey(e.bindKey,e)},this.parseKeys=function(e){var n=e.toLowerCase().split(/[\\-\\+]([\\-\\+])?/).filter(function(e){return e}),r=n.pop(),o=a[r];if(a.FUNCTION_KEYS[o])r=a.FUNCTION_KEYS[o].toLowerCase();else{if(!n.length)return{key:r,hashId:-1};if(1==n.length&&\"shift\"==n[0])return{key:r.toUpperCase(),hashId:-1}}for(var i=0,s=n.length;s--;){var u=a.KEY_MODS[n[s]];if(null==u)return\"undefined\"!=typeof t&&t.error(\"invalid modifier \"+n[s]+\" in \"+e),!1;i|=u}return{key:r,hashId:i}},this.findKeyCommand=function(e,t){var n=u[e]+t;return this.commandKeyBinding[n]},this.handleKeyboard=function(e,t,n,r){if(!(r<0)){var o=u[t]+n,i=this.commandKeyBinding[o];return e.$keyChain&&(e.$keyChain+=\" \"+o,i=this.commandKeyBinding[e.$keyChain]||i),!i||\"chainKeys\"!=i&&\"chainKeys\"!=i[i.length-1]?(e.$keyChain&&(t&&4!=t||1!=n.length?(t==-1||r>0)&&(e.$keyChain=\"\"):e.$keyChain=e.$keyChain.slice(0,-o.length-1)),{command:i}):(e.$keyChain=e.$keyChain||o,{command:\"null\"})}},this.getStatusText=function(e,t){return t.$keyChain||\"\"}}.call(o.prototype),n.HashHandler=o,n.MultiHashHandler=i}),ace.define(\"ace/commands/command_manager\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/keyboard/hash_handler\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"../lib/oop\"),o=e(\"../keyboard/hash_handler\").MultiHashHandler,i=e(\"../lib/event_emitter\").EventEmitter,a=function(e,t){o.call(this,t,e),this.byName=this.commands,this.setDefaultHandler(\"exec\",function(e){return e.command.exec(e.editor,e.args||{})})};r.inherits(a,o),function(){r.implement(this,i),this.exec=function(e,t,n){if(Array.isArray(e)){for(var r=e.length;r--;)if(this.exec(e[r],t,n))return!0;return!1}if(\"string\"==typeof e&&(e=this.commands[e]),!e)return!1;if(t&&t.$readOnly&&!e.readOnly)return!1;if(e.isAvailable&&!e.isAvailable(t))return!1;var o={editor:t,command:e,args:n};return o.returnValue=this._emit(\"exec\",o),this._signal(\"afterExec\",o),o.returnValue!==!1},this.toggleRecording=function(e){if(!this.$inReplay)return e&&e._emit(\"changeStatus\"),this.recording?(this.macro.pop(),this.removeEventListener(\"exec\",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=function(e){this.macro.push([e.command,e.args])}.bind(this)),this.oldMacro=this.macro,this.macro=[],this.on(\"exec\",this.$addCommandToMacro),this.recording=!0)},this.replay=function(e){if(!this.$inReplay&&this.macro){if(this.recording)return this.toggleRecording(e);try{this.$inReplay=!0,this.macro.forEach(function(t){\"string\"==typeof t?this.exec(t,e):this.exec(t[0],e,t[1])},this)}finally{this.$inReplay=!1}}},this.trimMacro=function(e){return e.map(function(e){return\"string\"!=typeof e[0]&&(e[0]=e[0].name),e[1]||(e=e[0]),e})}}.call(a.prototype),t.CommandManager=a}),ace.define(\"ace/commands/default_commands\",[\"require\",\"exports\",\"module\",\"ace/lib/lang\",\"ace/config\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t){return{win:e,mac:t}}var o=e(\"../lib/lang\"),i=e(\"../config\"),a=e(\"../range\").Range;t.commands=[{name:\"showSettingsMenu\",bindKey:r(\"Ctrl-,\",\"Command-,\"),exec:function(e){i.loadModule(\"ace/ext/settings_menu\",function(t){t.init(e),e.showSettingsMenu()})},readOnly:!0},{name:\"goToNextError\",bindKey:r(\"Alt-E\",\"F4\"),exec:function(e){i.loadModule(\"ace/ext/error_marker\",function(t){t.showErrorMarker(e,1)})},scrollIntoView:\"animate\",readOnly:!0},{name:\"goToPreviousError\",bindKey:r(\"Alt-Shift-E\",\"Shift-F4\"),exec:function(e){i.loadModule(\"ace/ext/error_marker\",function(t){t.showErrorMarker(e,-1)})},scrollIntoView:\"animate\",readOnly:!0},{name:\"selectall\",bindKey:r(\"Ctrl-A\",\"Command-A\"),exec:function(e){e.selectAll()},readOnly:!0},{name:\"centerselection\",bindKey:r(null,\"Ctrl-L\"),exec:function(e){e.centerSelection()},readOnly:!0},{name:\"gotoline\",bindKey:r(\"Ctrl-L\",\"Command-L\"),exec:function(e){var t=parseInt(prompt(\"Enter line number:\"),10);isNaN(t)||e.gotoLine(t)},readOnly:!0},{name:\"fold\",bindKey:r(\"Alt-L|Ctrl-F1\",\"Command-Alt-L|Command-F1\"),exec:function(e){e.session.toggleFold(!1)},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"unfold\",bindKey:r(\"Alt-Shift-L|Ctrl-Shift-F1\",\"Command-Alt-Shift-L|Command-Shift-F1\"),exec:function(e){e.session.toggleFold(!0)},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"toggleFoldWidget\",bindKey:r(\"F2\",\"F2\"),exec:function(e){e.session.toggleFoldWidget()},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"toggleParentFoldWidget\",bindKey:r(\"Alt-F2\",\"Alt-F2\"),exec:function(e){e.session.toggleFoldWidget(!0)},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"foldall\",bindKey:r(null,\"Ctrl-Command-Option-0\"),exec:function(e){e.session.foldAll()},scrollIntoView:\"center\",readOnly:!0},{name:\"foldOther\",bindKey:r(\"Alt-0\",\"Command-Option-0\"),exec:function(e){e.session.foldAll(),e.session.unfold(e.selection.getAllRanges())},scrollIntoView:\"center\",readOnly:!0},{name:\"unfoldall\",bindKey:r(\"Alt-Shift-0\",\"Command-Option-Shift-0\"),exec:function(e){e.session.unfold()},scrollIntoView:\"center\",readOnly:!0},{name:\"findnext\",bindKey:r(\"Ctrl-K\",\"Command-G\"),exec:function(e){e.findNext()},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"findprevious\",bindKey:r(\"Ctrl-Shift-K\",\"Command-Shift-G\"),exec:function(e){e.findPrevious()},multiSelectAction:\"forEach\",scrollIntoView:\"center\",readOnly:!0},{name:\"selectOrFindNext\",bindKey:r(\"Alt-K\",\"Ctrl-G\"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findNext()},readOnly:!0},{name:\"selectOrFindPrevious\",bindKey:r(\"Alt-Shift-K\",\"Ctrl-Shift-G\"),exec:function(e){e.selection.isEmpty()?e.selection.selectWord():e.findPrevious()},readOnly:!0},{name:\"find\",bindKey:r(\"Ctrl-F\",\"Command-F\"),exec:function(e){i.loadModule(\"ace/ext/searchbox\",function(t){t.Search(e)})},readOnly:!0},{name:\"overwrite\",bindKey:\"Insert\",exec:function(e){e.toggleOverwrite()},readOnly:!0},{name:\"selecttostart\",bindKey:r(\"Ctrl-Shift-Home\",\"Command-Shift-Home|Command-Shift-Up\"),exec:function(e){e.getSelection().selectFileStart()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"gotostart\",bindKey:r(\"Ctrl-Home\",\"Command-Home|Command-Up\"),exec:function(e){e.navigateFileStart()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"selectup\",bindKey:r(\"Shift-Up\",\"Shift-Up|Ctrl-Shift-P\"),exec:function(e){e.getSelection().selectUp()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"golineup\",bindKey:r(\"Up\",\"Up|Ctrl-P\"),exec:function(e,t){e.navigateUp(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selecttoend\",bindKey:r(\"Ctrl-Shift-End\",\"Command-Shift-End|Command-Shift-Down\"),exec:function(e){e.getSelection().selectFileEnd()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"gotoend\",bindKey:r(\"Ctrl-End\",\"Command-End|Command-Down\"),exec:function(e){e.navigateFileEnd()},multiSelectAction:\"forEach\",readOnly:!0,scrollIntoView:\"animate\",aceCommandGroup:\"fileJump\"},{name:\"selectdown\",bindKey:r(\"Shift-Down\",\"Shift-Down|Ctrl-Shift-N\"),exec:function(e){e.getSelection().selectDown()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"golinedown\",bindKey:r(\"Down\",\"Down|Ctrl-N\"),exec:function(e,t){e.navigateDown(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectwordleft\",bindKey:r(\"Ctrl-Shift-Left\",\"Option-Shift-Left\"),exec:function(e){e.getSelection().selectWordLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotowordleft\",bindKey:r(\"Ctrl-Left\",\"Option-Left\"),exec:function(e){e.navigateWordLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selecttolinestart\",bindKey:r(\"Alt-Shift-Left\",\"Command-Shift-Left|Ctrl-Shift-A\"),exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotolinestart\",bindKey:r(\"Alt-Left|Home\",\"Command-Left|Home|Ctrl-A\"),exec:function(e){e.navigateLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectleft\",bindKey:r(\"Shift-Left\",\"Shift-Left|Ctrl-Shift-B\"),exec:function(e){e.getSelection().selectLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotoleft\",bindKey:r(\"Left\",\"Left|Ctrl-B\"),exec:function(e,t){e.navigateLeft(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectwordright\",bindKey:r(\"Ctrl-Shift-Right\",\"Option-Shift-Right\"),exec:function(e){e.getSelection().selectWordRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotowordright\",bindKey:r(\"Ctrl-Right\",\"Option-Right\"),exec:function(e){e.navigateWordRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selecttolineend\",bindKey:r(\"Alt-Shift-Right\",\"Command-Shift-Right|Shift-End|Ctrl-Shift-E\"),exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotolineend\",bindKey:r(\"Alt-Right|End\",\"Command-Right|End|Ctrl-E\"),exec:function(e){e.navigateLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectright\",bindKey:r(\"Shift-Right\",\"Shift-Right\"),exec:function(e){e.getSelection().selectRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"gotoright\",bindKey:r(\"Right\",\"Right|Ctrl-F\"),exec:function(e,t){e.navigateRight(t.times)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectpagedown\",bindKey:\"Shift-PageDown\",exec:function(e){e.selectPageDown()},readOnly:!0},{name:\"pagedown\",bindKey:r(null,\"Option-PageDown\"),exec:function(e){e.scrollPageDown()},readOnly:!0},{name:\"gotopagedown\",bindKey:r(\"PageDown\",\"PageDown|Ctrl-V\"),exec:function(e){e.gotoPageDown()},readOnly:!0},{name:\"selectpageup\",bindKey:\"Shift-PageUp\",exec:function(e){e.selectPageUp()},readOnly:!0},{name:\"pageup\",bindKey:r(null,\"Option-PageUp\"),exec:function(e){e.scrollPageUp()},readOnly:!0},{name:\"gotopageup\",bindKey:\"PageUp\",exec:function(e){e.gotoPageUp()},readOnly:!0},{name:\"scrollup\",bindKey:r(\"Ctrl-Up\",null),exec:function(e){e.renderer.scrollBy(0,-2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:\"scrolldown\",bindKey:r(\"Ctrl-Down\",null),exec:function(e){e.renderer.scrollBy(0,2*e.renderer.layerConfig.lineHeight)},readOnly:!0},{name:\"selectlinestart\",bindKey:\"Shift-Home\",exec:function(e){e.getSelection().selectLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectlineend\",bindKey:\"Shift-End\",exec:function(e){e.getSelection().selectLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"togglerecording\",bindKey:r(\"Ctrl-Alt-E\",\"Command-Option-E\"),exec:function(e){e.commands.toggleRecording(e)},readOnly:!0},{name:\"replaymacro\",bindKey:r(\"Ctrl-Shift-E\",\"Command-Shift-E\"),exec:function(e){e.commands.replay(e)},readOnly:!0},{name:\"jumptomatching\",bindKey:r(\"Ctrl-P\",\"Ctrl-P\"),exec:function(e){e.jumpToMatching()},multiSelectAction:\"forEach\",scrollIntoView:\"animate\",readOnly:!0},{name:\"selecttomatching\",bindKey:r(\"Ctrl-Shift-P\",\"Ctrl-Shift-P\"),exec:function(e){e.jumpToMatching(!0)},multiSelectAction:\"forEach\",scrollIntoView:\"animate\",readOnly:!0},{name:\"expandToMatching\",bindKey:r(\"Ctrl-Shift-M\",\"Ctrl-Shift-M\"),exec:function(e){e.jumpToMatching(!0,!0)},multiSelectAction:\"forEach\",scrollIntoView:\"animate\",readOnly:!0},{name:\"passKeysToBrowser\",bindKey:r(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:\"copy\",exec:function(e){},readOnly:!0},{name:\"cut\",exec:function(e){var t=e.getSelectionRange();e._emit(\"cut\",t),e.selection.isEmpty()||(e.session.remove(t),e.clearSelection())},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"paste\",exec:function(e,t){e.$handlePaste(t)},scrollIntoView:\"cursor\"},{name:\"removeline\",bindKey:r(\"Ctrl-D\",\"Command-D\"),exec:function(e){e.removeLines()},scrollIntoView:\"cursor\",multiSelectAction:\"forEachLine\"},{name:\"duplicateSelection\",bindKey:r(\"Ctrl-Shift-D\",\"Command-Shift-D\"),exec:function(e){e.duplicateSelection()},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"sortlines\",bindKey:r(\"Ctrl-Alt-S\",\"Command-Alt-S\"),exec:function(e){e.sortLines()},scrollIntoView:\"selection\",multiSelectAction:\"forEachLine\"},{name:\"togglecomment\",bindKey:r(\"Ctrl-/\",\"Command-/\"),exec:function(e){e.toggleCommentLines()},multiSelectAction:\"forEachLine\",scrollIntoView:\"selectionPart\"},{name:\"toggleBlockComment\",bindKey:r(\"Ctrl-Shift-/\",\"Command-Shift-/\"),exec:function(e){e.toggleBlockComment()},multiSelectAction:\"forEach\",scrollIntoView:\"selectionPart\"},{name:\"modifyNumberUp\",bindKey:r(\"Ctrl-Shift-Up\",\"Alt-Shift-Up\"),exec:function(e){e.modifyNumber(1)},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"modifyNumberDown\",bindKey:r(\"Ctrl-Shift-Down\",\"Alt-Shift-Down\"),exec:function(e){e.modifyNumber(-1)},scrollIntoView:\"cursor\",multiSelectAction:\"forEach\"},{name:\"replace\",bindKey:r(\"Ctrl-H\",\"Command-Option-F\"),exec:function(e){i.loadModule(\"ace/ext/searchbox\",function(t){t.Search(e,!0)})}},{name:\"undo\",bindKey:r(\"Ctrl-Z\",\"Command-Z\"),exec:function(e){e.undo()}},{name:\"redo\",bindKey:r(\"Ctrl-Shift-Z|Ctrl-Y\",\"Command-Shift-Z|Command-Y\"),exec:function(e){e.redo()}},{name:\"copylinesup\",bindKey:r(\"Alt-Shift-Up\",\"Command-Option-Up\"),exec:function(e){e.copyLinesUp()},scrollIntoView:\"cursor\"},{name:\"movelinesup\",bindKey:r(\"Alt-Up\",\"Option-Up\"),exec:function(e){e.moveLinesUp()},scrollIntoView:\"cursor\"},{name:\"copylinesdown\",bindKey:r(\"Alt-Shift-Down\",\"Command-Option-Down\"),exec:function(e){e.copyLinesDown()},scrollIntoView:\"cursor\"},{name:\"movelinesdown\",bindKey:r(\"Alt-Down\",\"Option-Down\"),exec:function(e){e.moveLinesDown()},scrollIntoView:\"cursor\"},{name:\"del\",bindKey:r(\"Delete\",\"Delete|Ctrl-D|Shift-Delete\"),exec:function(e){e.remove(\"right\")},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"backspace\",bindKey:r(\"Shift-Backspace|Backspace\",\"Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H\"),exec:function(e){e.remove(\"left\")},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"cut_or_delete\",bindKey:r(\"Shift-Delete\",null),exec:function(e){return!!e.selection.isEmpty()&&void e.remove(\"left\")},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolinestart\",bindKey:r(\"Alt-Backspace\",\"Command-Backspace\"),exec:function(e){e.removeToLineStart()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolineend\",bindKey:r(\"Alt-Delete\",\"Ctrl-K|Command-Delete\"),exec:function(e){e.removeToLineEnd()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolinestarthard\",bindKey:r(\"Ctrl-Shift-Backspace\",null),exec:function(e){var t=e.selection.getRange();t.start.column=0,e.session.remove(t)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removetolineendhard\",bindKey:r(\"Ctrl-Shift-Delete\",null),exec:function(e){var t=e.selection.getRange();t.end.column=Number.MAX_VALUE,e.session.remove(t)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removewordleft\",bindKey:r(\"Ctrl-Backspace\",\"Alt-Backspace|Ctrl-Alt-Backspace\"),exec:function(e){e.removeWordLeft()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"removewordright\",bindKey:r(\"Ctrl-Delete\",\"Alt-Delete\"),exec:function(e){e.removeWordRight()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"outdent\",bindKey:r(\"Shift-Tab\",\"Shift-Tab\"),exec:function(e){e.blockOutdent()},multiSelectAction:\"forEach\",scrollIntoView:\"selectionPart\"},{name:\"indent\",bindKey:r(\"Tab\",\"Tab\"),exec:function(e){e.indent()},multiSelectAction:\"forEach\",scrollIntoView:\"selectionPart\"},{name:\"blockoutdent\",bindKey:r(\"Ctrl-[\",\"Ctrl-[\"),exec:function(e){e.blockOutdent()},multiSelectAction:\"forEachLine\",scrollIntoView:\"selectionPart\"},{name:\"blockindent\",bindKey:r(\"Ctrl-]\",\"Ctrl-]\"),exec:function(e){e.blockIndent()},multiSelectAction:\"forEachLine\",scrollIntoView:\"selectionPart\"},{name:\"insertstring\",exec:function(e,t){e.insert(t)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"inserttext\",exec:function(e,t){e.insert(o.stringRepeat(t.text||\"\",t.times||1))},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"splitline\",bindKey:r(null,\"Ctrl-O\"),exec:function(e){e.splitLine()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"transposeletters\",bindKey:r(\"Alt-Shift-X\",\"Ctrl-T\"),exec:function(e){e.transposeLetters()},multiSelectAction:function(e){e.transposeSelections(1)},scrollIntoView:\"cursor\"},{name:\"touppercase\",bindKey:r(\"Ctrl-U\",\"Ctrl-U\"),exec:function(e){e.toUpperCase()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"tolowercase\",bindKey:r(\"Ctrl-Shift-U\",\"Ctrl-Shift-U\"),exec:function(e){e.toLowerCase()},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\"},{name:\"expandtoline\",bindKey:r(\"Ctrl-Shift-L\",\"Command-Shift-L\"),exec:function(e){var t=e.selection.getRange();t.start.column=t.end.column=0,t.end.row++,e.selection.setRange(t,!1)},multiSelectAction:\"forEach\",scrollIntoView:\"cursor\",readOnly:!0},{name:\"joinlines\",bindKey:r(null,null),exec:function(e){for(var t=e.selection.isBackwards(),n=t?e.selection.getSelectionLead():e.selection.getSelectionAnchor(),r=t?e.selection.getSelectionAnchor():e.selection.getSelectionLead(),i=e.session.doc.getLine(n.row).length,s=e.session.doc.getTextRange(e.selection.getRange()),u=s.replace(/\\n\\s*/,\" \").length,l=e.session.doc.getLine(n.row),c=n.row+1;c<=r.row+1;c++){var d=o.stringTrimLeft(o.stringTrimRight(e.session.doc.getLine(c)));0!==d.length&&(d=\" \"+d),l+=d}r.row+1<e.session.doc.getLength()-1&&(l+=e.session.doc.getNewLineCharacter()),e.clearSelection(),e.session.doc.replace(new a(n.row,0,r.row+2,0),l),u>0?(e.selection.moveCursorTo(n.row,n.column),e.selection.selectTo(n.row,n.column+u)):(i=e.session.doc.getLine(n.row).length>i?i+1:i,e.selection.moveCursorTo(n.row,i))},multiSelectAction:\"forEach\",readOnly:!0},{name:\"invertSelection\",bindKey:r(null,null),exec:function(e){var t=e.session.doc.getLength()-1,n=e.session.doc.getLine(t).length,r=e.selection.rangeList.ranges,o=[];r.length<1&&(r=[e.selection.getRange()]);for(var i=0;i<r.length;i++)i==r.length-1&&(r[i].end.row===t&&r[i].end.column===n||o.push(new a(r[i].end.row,r[i].end.column,t,n))),0===i?0===r[i].start.row&&0===r[i].start.column||o.push(new a(0,0,r[i].start.row,r[i].start.column)):o.push(new a(r[i-1].end.row,r[i-1].end.column,r[i].start.row,r[i].start.column));e.exitMultiSelectMode(),e.clearSelection();for(var i=0;i<o.length;i++)e.selection.addRange(o[i],!1)},readOnly:!0,scrollIntoView:\"none\"}]}),ace.define(\"ace/editor\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/keyboard/textinput\",\"ace/mouse/mouse_handler\",\"ace/mouse/fold_handler\",\"ace/keyboard/keybinding\",\"ace/edit_session\",\"ace/search\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/commands/command_manager\",\"ace/commands/default_commands\",\"ace/config\",\"ace/token_iterator\"],function(e,t,n){\"use strict\";e(\"./lib/fixoldbrowsers\");var r=e(\"./lib/oop\"),o=e(\"./lib/dom\"),i=e(\"./lib/lang\"),a=e(\"./lib/useragent\"),s=e(\"./keyboard/textinput\").TextInput,u=e(\"./mouse/mouse_handler\").MouseHandler,l=e(\"./mouse/fold_handler\").FoldHandler,c=e(\"./keyboard/keybinding\").KeyBinding,d=e(\"./edit_session\").EditSession,f=e(\"./search\").Search,p=e(\"./range\").Range,h=e(\"./lib/event_emitter\").EventEmitter,m=e(\"./commands/command_manager\").CommandManager,g=e(\"./commands/default_commands\").commands,_=e(\"./config\"),b=e(\"./token_iterator\").TokenIterator,y=function(e,t){var n=e.getContainerElement();this.container=n,this.renderer=e,this.id=\"editor\"+ ++y.$uid,this.commands=new m(a.isMac?\"mac\":\"win\",g),\"object\"==typeof document&&(this.textInput=new s(e.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new u(this),new l(this)),this.keyBinding=new c(this),this.$blockScrolling=0,this.$search=(new f).set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on(\"exec\",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=i.delayedCall(function(){this._signal(\"input\",{}),this.session&&this.session.bgTokenizer&&this.session.bgTokenizer.scheduleStart()}.bind(this)),this.on(\"change\",function(e,t){t._$emitInputEvent.schedule(31)}),this.setSession(t||new d(\"\")),_.resetOptions(this),_._signal(\"editor\",this)};y.$uid=0,function(){r.implement(this,h),this.$initOperationListeners=function(){this.selections=[],this.commands.on(\"exec\",this.startOperation.bind(this),!0),this.commands.on(\"afterExec\",this.endOperation.bind(this),!0),this.$opResetTimer=i.delayedCall(this.endOperation.bind(this)),this.on(\"change\",function(){this.curOp||this.startOperation(),this.curOp.docChanged=!0}.bind(this),!0),this.on(\"changeSelection\",function(){this.curOp||this.startOperation(),this.curOp.selectionChanged=!0}.bind(this),!0)},this.curOp=null,this.prevOp={},this.startOperation=function(e){if(this.curOp){if(!e||this.curOp.command)return;this.prevOp=this.curOp}e||(this.previousCommand=null,e={}),this.$opResetTimer.schedule(),this.curOp={command:e.command||{},args:e.args,scrollTop:this.renderer.scrollTop},this.curOp.command.name&&void 0!==this.curOp.command.scrollIntoView&&this.$blockScrolling++},this.endOperation=function(e){if(this.curOp){if(e&&e.returnValue===!1)return this.curOp=null;this._signal(\"beforeEndOperation\");var t=this.curOp.command;t.name&&this.$blockScrolling>0&&this.$blockScrolling--;var n=t&&t.scrollIntoView;if(n){switch(n){case\"center-animate\":n=\"animate\";case\"center\":this.renderer.scrollCursorIntoView(null,.5);break;case\"animate\":case\"cursor\":this.renderer.scrollCursorIntoView();break;case\"selectionPart\":var r=this.selection.getRange(),o=this.renderer.layerConfig;(r.start.row>=o.lastRow||r.end.row<=o.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead)}\"animate\"==n&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.prevOp=this.curOp,this.curOp=null}},this.$mergeableCommands=[\"backspace\",\"del\",\"insertstring\"],this.$historyTracker=function(e){if(this.$mergeUndoDeltas){var t=this.prevOp,n=this.$mergeableCommands,r=t.command&&e.command.name==t.command.name;if(\"insertstring\"==e.command.name){var o=e.args;void 0===this.mergeNextCommand&&(this.mergeNextCommand=!0),r=r&&this.mergeNextCommand&&(!/\\s/.test(o)||/\\s/.test(t.args)),\nthis.mergeNextCommand=!0}else r=r&&n.indexOf(e.command.name)!==-1;\"always\"!=this.$mergeUndoDeltas&&Date.now()-this.sequenceStartTime>2e3&&(r=!1),r?this.session.mergeUndoDeltas=!0:n.indexOf(e.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},this.setKeyboardHandler=function(e,t){if(e&&\"string\"==typeof e){this.$keybindingId=e;var n=this;_.loadModule([\"keybinding\",e],function(r){n.$keybindingId==e&&n.keyBinding.setKeyboardHandler(r&&r.handler),t&&t()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(e),t&&t()},this.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},this.setSession=function(e){if(this.session!=e){this.curOp&&this.endOperation(),this.curOp={};var t=this.session;if(t){this.session.off(\"change\",this.$onDocumentChange),this.session.off(\"changeMode\",this.$onChangeMode),this.session.off(\"tokenizerUpdate\",this.$onTokenizerUpdate),this.session.off(\"changeTabSize\",this.$onChangeTabSize),this.session.off(\"changeWrapLimit\",this.$onChangeWrapLimit),this.session.off(\"changeWrapMode\",this.$onChangeWrapMode),this.session.off(\"changeFold\",this.$onChangeFold),this.session.off(\"changeFrontMarker\",this.$onChangeFrontMarker),this.session.off(\"changeBackMarker\",this.$onChangeBackMarker),this.session.off(\"changeBreakpoint\",this.$onChangeBreakpoint),this.session.off(\"changeAnnotation\",this.$onChangeAnnotation),this.session.off(\"changeOverwrite\",this.$onCursorChange),this.session.off(\"changeScrollTop\",this.$onScrollTopChange),this.session.off(\"changeScrollLeft\",this.$onScrollLeftChange);var n=this.session.getSelection();n.off(\"changeCursor\",this.$onCursorChange),n.off(\"changeSelection\",this.$onSelectionChange)}this.session=e,e?(this.$onDocumentChange=this.onDocumentChange.bind(this),e.on(\"change\",this.$onDocumentChange),this.renderer.setSession(e),this.$onChangeMode=this.onChangeMode.bind(this),e.on(\"changeMode\",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),e.on(\"tokenizerUpdate\",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),e.on(\"changeTabSize\",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),e.on(\"changeWrapLimit\",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),e.on(\"changeWrapMode\",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),e.on(\"changeFold\",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on(\"changeFrontMarker\",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on(\"changeBackMarker\",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on(\"changeBreakpoint\",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on(\"changeAnnotation\",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on(\"changeOverwrite\",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on(\"changeScrollTop\",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on(\"changeScrollLeft\",this.$onScrollLeftChange),this.selection=e.getSelection(),this.selection.on(\"changeCursor\",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on(\"changeSelection\",this.$onSelectionChange),this.onChangeMode(),this.$blockScrolling+=1,this.onCursorChange(),this.$blockScrolling-=1,this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(e)),this._signal(\"changeSession\",{session:e,oldSession:t}),this.curOp=null,t&&t._signal(\"changeEditor\",{oldEditor:this}),e&&e._signal(\"changeEditor\",{editor:this}),e&&e.bgTokenizer&&e.bgTokenizer.scheduleStart()}},this.getSession=function(){return this.session},this.setValue=function(e,t){return this.session.doc.setValue(e),t?1==t?this.navigateFileEnd():t==-1&&this.navigateFileStart():this.selectAll(),e},this.getValue=function(){return this.session.getValue()},this.getSelection=function(){return this.selection},this.resize=function(e){this.renderer.onResize(e)},this.setTheme=function(e,t){this.renderer.setTheme(e,t)},this.getTheme=function(){return this.renderer.getTheme()},this.setStyle=function(e){this.renderer.setStyle(e)},this.unsetStyle=function(e){this.renderer.unsetStyle(e)},this.getFontSize=function(){return this.getOption(\"fontSize\")||o.computedStyle(this.container,\"fontSize\")},this.setFontSize=function(e){this.setOption(\"fontSize\",e)},this.$highlightBrackets=function(){if(this.session.$bracketHighlight&&(this.session.removeMarker(this.session.$bracketHighlight),this.session.$bracketHighlight=null),!this.$highlightPending){var e=this;this.$highlightPending=!0,setTimeout(function(){e.$highlightPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=t.findMatchingBracket(e.getCursorPosition());if(n)var r=new p(n.row,n.column,n.row,n.column+1);else if(t.$mode.getMatching)var r=t.$mode.getMatching(e.session);r&&(t.$bracketHighlight=t.addMarker(r,\"ace_bracket\",\"text\"))}},50)}},this.$highlightTags=function(){if(!this.$highlightTagPending){var e=this;this.$highlightTagPending=!0,setTimeout(function(){e.$highlightTagPending=!1;var t=e.session;if(t&&t.bgTokenizer){var n=e.getCursorPosition(),r=new b(e.session,n.row,n.column),o=r.getCurrentToken();if(!o||!/\\b(?:tag-open|tag-name)/.test(o.type))return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);if(o.type.indexOf(\"tag-open\")==-1||(o=r.stepForward())){var i=o.value,a=0,s=r.stepBackward();if(\"<\"==s.value){do s=o,o=r.stepForward(),o&&o.value===i&&o.type.indexOf(\"tag-name\")!==-1&&(\"<\"===s.value?a++:\"</\"===s.value&&a--);while(o&&a>=0)}else{do o=s,s=r.stepBackward(),o&&o.value===i&&o.type.indexOf(\"tag-name\")!==-1&&(\"<\"===s.value?a++:\"</\"===s.value&&a--);while(s&&a<=0);r.stepForward()}if(!o)return t.removeMarker(t.$tagHighlight),void(t.$tagHighlight=null);var u=r.getCurrentTokenRow(),l=r.getCurrentTokenColumn(),c=new p(u,l,u,l+o.value.length),d=t.$backMarkers[t.$tagHighlight];t.$tagHighlight&&void 0!=d&&0!==c.compareRange(d.range)&&(t.removeMarker(t.$tagHighlight),t.$tagHighlight=null),c&&!t.$tagHighlight&&(t.$tagHighlight=t.addMarker(c,\"ace_bracket\",\"text\"))}}},50)}},this.focus=function(){var e=this;setTimeout(function(){e.textInput.focus()}),this.textInput.focus()},this.isFocused=function(){return this.textInput.isFocused()},this.blur=function(){this.textInput.blur()},this.onFocus=function(e){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit(\"focus\",e))},this.onBlur=function(e){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit(\"blur\",e))},this.$cursorChange=function(){this.renderer.updateCursor()},this.onDocumentChange=function(e){var t=this.session.$useWrapMode,n=e.start.row==e.end.row?e.end.row:1/0;this.renderer.updateLines(e.start.row,n,t),this._signal(\"change\",e),this.$cursorChange(),this.$updateHighlightActiveLine()},this.onTokenizerUpdate=function(e){var t=e.data;this.renderer.updateLines(t.first,t.last)},this.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},this.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},this.onCursorChange=function(){this.$cursorChange(),this.$blockScrolling||(_.warn(\"Automatically scrolling cursor into view after selection change\",\"this will be disabled in the next version\",\"set editor.$blockScrolling = Infinity to disable this message\"),this.renderer.scrollCursorIntoView()),this.$highlightBrackets(),this.$highlightTags(),this.$updateHighlightActiveLine(),this._signal(\"changeSelection\")},this.$updateHighlightActiveLine=function(){var e,t=this.getSession();if(this.$highlightActiveLine&&(\"line\"==this.$selectionStyle&&this.selection.isMultiLine()||(e=this.getCursorPosition()),!this.renderer.$maxLines||1!==this.session.getLength()||this.renderer.$minLines>1||(e=!1)),t.$highlightLineMarker&&!e)t.removeMarker(t.$highlightLineMarker.id),t.$highlightLineMarker=null;else if(!t.$highlightLineMarker&&e){var n=new p(e.row,e.column,e.row,1/0);n.id=t.addMarker(n,\"ace_active-line\",\"screenLine\"),t.$highlightLineMarker=n}else e&&(t.$highlightLineMarker.start.row=e.row,t.$highlightLineMarker.end.row=e.row,t.$highlightLineMarker.start.column=e.column,t._signal(\"changeBackMarker\"))},this.onSelectionChange=function(e){var t=this.session;if(t.$selectionMarker&&t.removeMarker(t.$selectionMarker),t.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var n=this.selection.getRange(),r=this.getSelectionStyle();t.$selectionMarker=t.addMarker(n,\"ace_selection\",r)}var o=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(o),this._signal(\"changeSelection\")},this.$getSelectionHighLightRegexp=function(){var e=this.session,t=this.getSelectionRange();if(!t.isEmpty()&&!t.isMultiLine()){var n=t.start.column-1,r=t.end.column+1,o=e.getLine(t.start.row),i=o.length,a=o.substring(Math.max(n,0),Math.min(r,i));if(!(n>=0&&/^[\\w\\d]/.test(a)||r<=i&&/[\\w\\d]$/.test(a))&&(a=o.substring(t.start.column,t.end.column),/^[\\w\\d]+$/.test(a))){var s=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:a});return s}}},this.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},this.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},this.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},this.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},this.onChangeMode=function(e){this.renderer.updateText(),this._emit(\"changeMode\",e)},this.onChangeWrapLimit=function(){this.renderer.updateFull()},this.onChangeWrapMode=function(){this.renderer.onResize(!0)},this.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},this.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},this.getCopyText=function(){var e=this.getSelectedText();return this._signal(\"copy\",e),e},this.onCopy=function(){this.commands.exec(\"copy\",this)},this.onCut=function(){this.commands.exec(\"cut\",this)},this.onPaste=function(e,t){var n={text:e,event:t};this.commands.exec(\"paste\",this,n)},this.$handlePaste=function(e){\"string\"==typeof e&&(e={text:e}),this._signal(\"paste\",e);var t=e.text;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)this.insert(t);else{var n=t.split(/\\r\\n|\\r|\\n/),r=this.selection.rangeList.ranges;if(n.length>r.length||n.length<2||!n[1])return this.commands.exec(\"insertstring\",this,t);for(var o=r.length;o--;){var i=r[o];i.isEmpty()||this.session.remove(i),this.session.insert(i.start,n[o])}}},this.execCommand=function(e,t){return this.commands.exec(e,this,t)},this.insert=function(e,t){var n=this.session,r=n.getMode(),o=this.getCursorPosition();if(this.getBehavioursEnabled()&&!t){var i=r.transformAction(n.getState(o.row),\"insertion\",this,n,e);i&&(e!==i.text&&(this.session.mergeUndoDeltas=!1,this.$mergeNextCommand=!1),e=i.text)}if(\"\\t\"==e&&(e=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&e.indexOf(\"\\n\")==-1){var a=new p.fromPoints(o,o);a.end.column+=e.length,this.session.remove(a)}}else{var a=this.getSelectionRange();o=this.session.remove(a),this.clearSelection()}if(\"\\n\"==e||\"\\r\\n\"==e){var s=n.getLine(o.row);if(o.column>s.search(/\\S|$/)){var u=s.substr(o.column).search(/\\S|$/);n.doc.removeInLine(o.row,o.column,o.column+u)}}this.clearSelection();var l=o.column,c=n.getState(o.row),s=n.getLine(o.row),d=r.checkOutdent(c,s,e);n.insert(o,e);if(i&&i.selection&&(2==i.selection.length?this.selection.setSelectionRange(new p(o.row,l+i.selection[0],o.row,l+i.selection[1])):this.selection.setSelectionRange(new p(o.row+i.selection[0],i.selection[1],o.row+i.selection[2],i.selection[3]))),n.getDocument().isNewLine(e)){var f=r.getNextLineIndent(c,s.slice(0,o.column),n.getTabString());n.insert({row:o.row+1,column:0},f)}d&&r.autoOutdent(c,n,o.row)},this.onTextInput=function(e){this.keyBinding.onTextInput(e)},this.onCommandKey=function(e,t,n){this.keyBinding.onCommandKey(e,t,n)},this.setOverwrite=function(e){this.session.setOverwrite(e)},this.getOverwrite=function(){return this.session.getOverwrite()},this.toggleOverwrite=function(){this.session.toggleOverwrite()},this.setScrollSpeed=function(e){this.setOption(\"scrollSpeed\",e)},this.getScrollSpeed=function(){return this.getOption(\"scrollSpeed\")},this.setDragDelay=function(e){this.setOption(\"dragDelay\",e)},this.getDragDelay=function(){return this.getOption(\"dragDelay\")},this.setSelectionStyle=function(e){this.setOption(\"selectionStyle\",e)},this.getSelectionStyle=function(){return this.getOption(\"selectionStyle\")},this.setHighlightActiveLine=function(e){this.setOption(\"highlightActiveLine\",e)},this.getHighlightActiveLine=function(){return this.getOption(\"highlightActiveLine\")},this.setHighlightGutterLine=function(e){this.setOption(\"highlightGutterLine\",e)},this.getHighlightGutterLine=function(){return this.getOption(\"highlightGutterLine\")},this.setHighlightSelectedWord=function(e){this.setOption(\"highlightSelectedWord\",e)},this.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},this.setAnimatedScroll=function(e){this.renderer.setAnimatedScroll(e)},this.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},this.setShowInvisibles=function(e){this.renderer.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},this.setDisplayIndentGuides=function(e){this.renderer.setDisplayIndentGuides(e)},this.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},this.setShowPrintMargin=function(e){this.renderer.setShowPrintMargin(e)},this.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},this.setPrintMarginColumn=function(e){this.renderer.setPrintMarginColumn(e)},this.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},this.setReadOnly=function(e){this.setOption(\"readOnly\",e)},this.getReadOnly=function(){return this.getOption(\"readOnly\")},this.setBehavioursEnabled=function(e){this.setOption(\"behavioursEnabled\",e)},this.getBehavioursEnabled=function(){return this.getOption(\"behavioursEnabled\")},this.setWrapBehavioursEnabled=function(e){this.setOption(\"wrapBehavioursEnabled\",e)},this.getWrapBehavioursEnabled=function(){return this.getOption(\"wrapBehavioursEnabled\")},this.setShowFoldWidgets=function(e){this.setOption(\"showFoldWidgets\",e)},this.getShowFoldWidgets=function(){return this.getOption(\"showFoldWidgets\")},this.setFadeFoldWidgets=function(e){this.setOption(\"fadeFoldWidgets\",e)},this.getFadeFoldWidgets=function(){return this.getOption(\"fadeFoldWidgets\")},this.remove=function(e){this.selection.isEmpty()&&(\"left\"==e?this.selection.selectLeft():this.selection.selectRight());var t=this.getSelectionRange();if(this.getBehavioursEnabled()){var n=this.session,r=n.getState(t.start.row),o=n.getMode().transformAction(r,\"deletion\",this,n,t);if(0===t.end.column){var i=n.getTextRange(t);if(\"\\n\"==i[i.length-1]){var a=n.getLine(t.end.row);/^\\s+$/.test(a)&&(t.end.column=a.length)}}o&&(t=o)}this.session.remove(t),this.clearSelection()},this.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.session.remove(this.getSelectionRange()),this.clearSelection()},this.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var e=this.getSelectionRange();e.start.column==e.end.column&&e.start.row==e.end.row&&(e.end.column=0,e.end.row++),this.session.remove(e),this.clearSelection()},this.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var e=this.getCursorPosition();this.insert(\"\\n\"),this.moveCursorToPosition(e)},this.transposeLetters=function(){if(this.selection.isEmpty()){var e=this.getCursorPosition(),t=e.column;if(0!==t){var n,r,o=this.session.getLine(e.row);t<o.length?(n=o.charAt(t)+o.charAt(t-1),r=new p(e.row,t-1,e.row,t+1)):(n=o.charAt(t-1)+o.charAt(t-2),r=new p(e.row,t-2,e.row,t)),this.session.replace(r,n),this.session.selection.moveToPosition(r.end)}}},this.toLowerCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toLowerCase()),this.selection.setSelectionRange(e)},this.toUpperCase=function(){var e=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var t=this.getSelectionRange(),n=this.session.getTextRange(t);this.session.replace(t,n.toUpperCase()),this.selection.setSelectionRange(e)},this.indent=function(){var e=this.session,t=this.getSelectionRange();if(t.start.row<t.end.row){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last,\"\\t\")}if(t.start.column<t.end.column){var r=e.getTextRange(t);if(!/^\\s+$/.test(r)){var n=this.$getSelectedRows();return void e.indentRows(n.first,n.last,\"\\t\")}}var o=e.getLine(t.start.row),a=t.start,s=e.getTabSize(),u=e.documentToScreenColumn(a.row,a.column);if(this.session.getUseSoftTabs())var l=s-u%s,c=i.stringRepeat(\" \",l);else{for(var l=u%s;\" \"==o[t.start.column-1]&&l;)t.start.column--,l--;this.selection.setSelectionRange(t),c=\"\\t\"}return this.insert(c)},this.blockIndent=function(){var e=this.$getSelectedRows();this.session.indentRows(e.first,e.last,\"\\t\")},this.blockOutdent=function(){var e=this.session.getSelection();this.session.outdentRows(e.getRange())},this.sortLines=function(){for(var e=this.$getSelectedRows(),t=this.session,n=[],r=e.first;r<=e.last;r++)n.push(t.getLine(r));n.sort(function(e,t){return e.toLowerCase()<t.toLowerCase()?-1:e.toLowerCase()>t.toLowerCase()?1:0});for(var o=new p(0,0,0,0),r=e.first;r<=e.last;r++){var i=t.getLine(r);o.start.row=r,o.end.row=r,o.end.column=i.length,t.replace(o,n[r-e.first])}},this.toggleCommentLines=function(){var e=this.session.getState(this.getCursorPosition().row),t=this.$getSelectedRows();this.session.getMode().toggleCommentLines(e,this.session,t.first,t.last)},this.toggleBlockComment=function(){var e=this.getCursorPosition(),t=this.session.getState(e.row),n=this.getSelectionRange();this.session.getMode().toggleBlockComment(t,this.session,n,e)},this.getNumberAt=function(e,t){var n=/[\\-]?[0-9]+(?:\\.[0-9]+)?/g;n.lastIndex=0;for(var r=this.session.getLine(e);n.lastIndex<t;){var o=n.exec(r);if(o.index<=t&&o.index+o[0].length>=t){var i={value:o[0],start:o.index,end:o.index+o[0].length};return i}}return null},this.modifyNumber=function(e){var t=this.selection.getCursor().row,n=this.selection.getCursor().column,r=new p(t,n-1,t,n),o=this.session.getTextRange(r);if(!isNaN(parseFloat(o))&&isFinite(o)){var i=this.getNumberAt(t,n);if(i){var a=i.value.indexOf(\".\")>=0?i.start+i.value.indexOf(\".\")+1:i.end,s=i.start+i.value.length-a,u=parseFloat(i.value);u*=Math.pow(10,s),e*=a!==i.end&&n<a?Math.pow(10,i.end-n-1):Math.pow(10,i.end-n),u+=e,u/=Math.pow(10,s);var l=u.toFixed(s),c=new p(t,i.start,t,i.end);this.session.replace(c,l),this.moveCursorTo(t,Math.max(i.start+1,n+l.length-i.value.length))}}},this.removeLines=function(){var e=this.$getSelectedRows();this.session.removeFullLines(e.first,e.last),this.clearSelection()},this.duplicateSelection=function(){var e=this.selection,t=this.session,n=e.getRange(),r=e.isBackwards();if(n.isEmpty()){var o=n.start.row;t.duplicateLines(o,o)}else{var i=r?n.start:n.end,a=t.insert(i,t.getTextRange(n),!1);n.start=i,n.end=a,e.setSelectionRange(n,r)}},this.moveLinesDown=function(){this.$moveLines(1,!1)},this.moveLinesUp=function(){this.$moveLines(-1,!1)},this.moveText=function(e,t,n){return this.session.moveText(e,t,n)},this.copyLinesUp=function(){this.$moveLines(-1,!0)},this.copyLinesDown=function(){this.$moveLines(1,!0)},this.$moveLines=function(e,t){var n,r,o=this.selection;if(!o.inMultiSelectMode||this.inVirtualSelectionMode){var i=o.toOrientedRange();n=this.$getSelectedRows(i),r=this.session.$moveLines(n.first,n.last,t?0:e),t&&e==-1&&(r=0),i.moveBy(r,0),o.fromOrientedRange(i)}else{var a=o.rangeList.ranges;o.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var s=0,u=0,l=a.length,c=0;c<l;c++){var d=c;a[c].moveBy(s,0),n=this.$getSelectedRows(a[c]);for(var f=n.first,p=n.last;++c<l;){u&&a[c].moveBy(u,0);var h=this.$getSelectedRows(a[c]);if(t&&h.first!=p)break;if(!t&&h.first>p+1)break;p=h.last}for(c--,s=this.session.$moveLines(f,p,t?0:e),t&&e==-1&&(d=c+1);d<=c;)a[d].moveBy(s,0),d++;t||(s=0),u+=s}o.fromOrientedRange(o.ranges[0]),o.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},this.$getSelectedRows=function(e){return e=(e||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(e.start.row),last:this.session.getRowFoldEnd(e.end.row)}},this.onCompositionStart=function(e){this.renderer.showComposition(this.getCursorPosition())},this.onCompositionUpdate=function(e){this.renderer.setCompositionText(e)},this.onCompositionEnd=function(){this.renderer.hideComposition()},this.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},this.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},this.isRowVisible=function(e){return e>=this.getFirstVisibleRow()&&e<=this.getLastVisibleRow()},this.isRowFullyVisible=function(e){return e>=this.renderer.getFirstFullyVisibleRow()&&e<=this.renderer.getLastFullyVisibleRow()},this.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},this.$moveByPage=function(e,t){var n=this.renderer,r=this.renderer.layerConfig,o=e*Math.floor(r.height/r.lineHeight);this.$blockScrolling++,t===!0?this.selection.$moveSelection(function(){this.moveCursorBy(o,0)}):t===!1&&(this.selection.moveCursorBy(o,0),this.selection.clearSelection()),this.$blockScrolling--;var i=n.scrollTop;n.scrollBy(0,o*r.lineHeight),null!=t&&n.scrollCursorIntoView(null,.5),n.animateScrolling(i)},this.selectPageDown=function(){this.$moveByPage(1,!0)},this.selectPageUp=function(){this.$moveByPage(-1,!0)},this.gotoPageDown=function(){this.$moveByPage(1,!1)},this.gotoPageUp=function(){this.$moveByPage(-1,!1)},this.scrollPageDown=function(){this.$moveByPage(1)},this.scrollPageUp=function(){this.$moveByPage(-1)},this.scrollToRow=function(e){this.renderer.scrollToRow(e)},this.scrollToLine=function(e,t,n,r){this.renderer.scrollToLine(e,t,n,r)},this.centerSelection=function(){var e=this.getSelectionRange(),t={row:Math.floor(e.start.row+(e.end.row-e.start.row)/2),column:Math.floor(e.start.column+(e.end.column-e.start.column)/2)};this.renderer.alignCursor(t,.5)},this.getCursorPosition=function(){return this.selection.getCursor()},this.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},this.getSelectionRange=function(){return this.selection.getRange()},this.selectAll=function(){this.$blockScrolling+=1,this.selection.selectAll(),this.$blockScrolling-=1},this.clearSelection=function(){this.selection.clearSelection()},this.moveCursorTo=function(e,t){this.selection.moveCursorTo(e,t)},this.moveCursorToPosition=function(e){this.selection.moveCursorToPosition(e)},this.jumpToMatching=function(e,t){var n=this.getCursorPosition(),r=new b(this.session,n.row,n.column),o=r.getCurrentToken(),i=o||r.stepForward();if(i){var a,s,u=!1,l={},c=n.column-i.start,d={\")\":\"(\",\"(\":\"(\",\"]\":\"[\",\"[\":\"[\",\"{\":\"{\",\"}\":\"{\"};do{if(i.value.match(/[{}()\\[\\]]/g)){for(;c<i.value.length&&!u;c++)if(d[i.value[c]])switch(s=d[i.value[c]]+\".\"+i.type.replace(\"rparen\",\"lparen\"),isNaN(l[s])&&(l[s]=0),i.value[c]){case\"(\":case\"[\":case\"{\":l[s]++;break;case\")\":case\"]\":case\"}\":l[s]--,l[s]===-1&&(a=\"bracket\",u=!0)}}else i&&i.type.indexOf(\"tag-name\")!==-1&&(isNaN(l[i.value])&&(l[i.value]=0),\"<\"===o.value?l[i.value]++:\"</\"===o.value&&l[i.value]--,l[i.value]===-1&&(a=\"tag\",u=!0));u||(o=i,i=r.stepForward(),c=0)}while(i&&!u);if(a){var f,h;if(\"bracket\"===a)f=this.session.getBracketRange(n),f||(f=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+c-1,r.getCurrentTokenRow(),r.getCurrentTokenColumn()+c-1),h=f.start,(t||h.row===n.row&&Math.abs(h.column-n.column)<2)&&(f=this.session.getBracketRange(h)));else if(\"tag\"===a){if(!i||i.type.indexOf(\"tag-name\")===-1)return;var m=i.value;if(f=new p(r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2,r.getCurrentTokenRow(),r.getCurrentTokenColumn()-2),0===f.compare(n.row,n.column)){u=!1;do i=o,o=r.stepBackward(),o&&(o.type.indexOf(\"tag-close\")!==-1&&f.setEnd(r.getCurrentTokenRow(),r.getCurrentTokenColumn()+1),i.value===m&&i.type.indexOf(\"tag-name\")!==-1&&(\"<\"===o.value?l[m]++:\"</\"===o.value&&l[m]--,0===l[m]&&(u=!0)));while(o&&!u)}i&&i.type.indexOf(\"tag-name\")&&(h=f.start,h.row==n.row&&Math.abs(h.column-n.column)<2&&(h=f.end))}h=f&&f.cursor||h,h&&(e?f&&t?this.selection.setRange(f):f&&f.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(h.row,h.column):this.selection.moveTo(h.row,h.column))}}},this.gotoLine=function(e,t,n){this.selection.clearSelection(),this.session.unfold({row:e-1,column:t||0}),this.$blockScrolling+=1,this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(e-1,t||0),this.$blockScrolling-=1,this.isRowFullyVisible(e-1)||this.scrollToLine(e-1,!0,n)},this.navigateTo=function(e,t){this.selection.moveTo(e,t)},this.navigateUp=function(e){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(-e||-1,0)},this.navigateDown=function(e){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var t=this.selection.anchor.getPosition();return this.moveCursorToPosition(t)}this.selection.clearSelection(),this.selection.moveCursorBy(e||1,0)},this.navigateLeft=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorLeft();else{var t=this.getSelectionRange().start;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateRight=function(e){if(this.selection.isEmpty())for(e=e||1;e--;)this.selection.moveCursorRight();else{var t=this.getSelectionRange().end;this.moveCursorToPosition(t)}this.clearSelection()},this.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},this.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},this.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},this.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},this.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},this.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},this.replace=function(e,t){t&&this.$search.set(t);var n=this.$search.find(this.session),r=0;return n?(this.$tryReplace(n,e)&&(r=1),null!==n&&(this.selection.setSelectionRange(n),this.renderer.scrollSelectionIntoView(n.start,n.end)),r):r},this.replaceAll=function(e,t){t&&this.$search.set(t);var n=this.$search.findAll(this.session),r=0;if(!n.length)return r;this.$blockScrolling+=1;var o=this.getSelectionRange();this.selection.moveTo(0,0);for(var i=n.length-1;i>=0;--i)this.$tryReplace(n[i],e)&&r++;return this.selection.setSelectionRange(o),this.$blockScrolling-=1,r},this.$tryReplace=function(e,t){var n=this.session.getTextRange(e);return t=this.$search.replace(n,t),null!==t?(e.end=this.session.replace(e,t),e):null},this.getLastSearchOptions=function(){return this.$search.getOptions()},this.find=function(e,t,n){t||(t={}),\"string\"==typeof e||e instanceof RegExp?t.needle=e:\"object\"==typeof e&&r.mixin(t,e);var o=this.selection.getRange();null==t.needle&&(e=this.session.getTextRange(o)||this.$search.$options.needle,e||(o=this.session.getWordRange(o.start.row,o.start.column),e=this.session.getTextRange(o)),this.$search.set({needle:e})),this.$search.set(t),t.start||this.$search.set({start:o});var i=this.$search.find(this.session);return t.preventScroll?i:i?(this.revealRange(i,n),i):(t.backwards?o.start=o.end:o.end=o.start,void this.selection.setRange(o))},this.findNext=function(e,t){this.find({skipCurrent:!0,backwards:!1},e,t)},this.findPrevious=function(e,t){this.find(e,{skipCurrent:!0,backwards:!0},t)},this.revealRange=function(e,t){this.$blockScrolling+=1,this.session.unfold(e),this.selection.setSelectionRange(e),this.$blockScrolling-=1;var n=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(e.start,e.end,.5),t!==!1&&this.renderer.animateScrolling(n)},this.undo=function(){this.$blockScrolling++,this.session.getUndoManager().undo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.redo=function(){this.$blockScrolling++,this.session.getUndoManager().redo(),this.$blockScrolling--,this.renderer.scrollCursorIntoView(null,.5)},this.destroy=function(){this.renderer.destroy(),this._signal(\"destroy\",this),this.session&&this.session.destroy()},this.setAutoScrollEditorIntoView=function(e){if(e){var t,n=this,r=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement(\"div\"));var o=this.$scrollAnchor;o.style.cssText=\"position:absolute\",this.container.insertBefore(o,this.container.firstChild);var i=this.on(\"changeSelection\",function(){r=!0}),a=this.renderer.on(\"beforeRender\",function(){r&&(t=n.renderer.container.getBoundingClientRect())}),s=this.renderer.on(\"afterRender\",function(){if(r&&t&&(n.isFocused()||n.searchBox&&n.searchBox.isFocused())){var e=n.renderer,i=e.$cursorLayer.$pixelPos,a=e.layerConfig,s=i.top-a.offset;r=i.top>=0&&s+t.top<0||!(i.top<a.height&&i.top+t.top+a.lineHeight>window.innerHeight)&&null,null!=r&&(o.style.top=s+\"px\",o.style.left=i.left+\"px\",o.style.height=a.lineHeight+\"px\",o.scrollIntoView(r)),r=t=null}});this.setAutoScrollEditorIntoView=function(e){e||(delete this.setAutoScrollEditorIntoView,this.off(\"changeSelection\",i),this.renderer.off(\"afterRender\",s),this.renderer.off(\"beforeRender\",a))}}},this.$resetCursorStyle=function(){var e=this.$cursorStyle||\"ace\",t=this.renderer.$cursorLayer;t&&(t.setSmoothBlinking(/smooth/.test(e)),t.isBlinking=!this.$readOnly&&\"wide\"!=e,o.setCssClass(t.element,\"ace_slim-cursors\",/slim/.test(e)))}}.call(y.prototype),_.defineOptions(y.prototype,\"editor\",{selectionStyle:{set:function(e){this.onSelectionChange(),this._signal(\"changeSelectionStyle\",{data:e})},initialValue:\"line\"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(e){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(e){this.$resetCursorStyle()},initialValue:!1},cursorStyle:{set:function(e){this.$resetCursorStyle()},values:[\"ace\",\"slim\",\"smooth\",\"wide\"],initialValue:\"ace\"},mergeUndoDeltas:{values:[!1,!0,\"always\"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},autoScrollEditorIntoView:{set:function(e){this.setAutoScrollEditorIntoView(e)}},keyboardHandler:{set:function(e){this.setKeyboardHandler(e)},get:function(){return this.keybindingId},handlesSet:!0},hScrollBarAlwaysVisible:\"renderer\",vScrollBarAlwaysVisible:\"renderer\",highlightGutterLine:\"renderer\",animatedScroll:\"renderer\",showInvisibles:\"renderer\",showPrintMargin:\"renderer\",printMarginColumn:\"renderer\",printMargin:\"renderer\",fadeFoldWidgets:\"renderer\",showFoldWidgets:\"renderer\",showLineNumbers:\"renderer\",showGutter:\"renderer\",displayIndentGuides:\"renderer\",\nfontSize:\"renderer\",fontFamily:\"renderer\",maxLines:\"renderer\",minLines:\"renderer\",scrollPastEnd:\"renderer\",fixedWidthGutter:\"renderer\",theme:\"renderer\",scrollSpeed:\"$mouseHandler\",dragDelay:\"$mouseHandler\",dragEnabled:\"$mouseHandler\",focusTimout:\"$mouseHandler\",tooltipFollowsMouse:\"$mouseHandler\",firstLineNumber:\"session\",overwrite:\"session\",newLineMode:\"session\",useWorker:\"session\",useSoftTabs:\"session\",tabSize:\"session\",wrap:\"session\",indentedSoftWrap:\"session\",foldStyle:\"session\",mode:\"session\"}),t.Editor=y}),ace.define(\"ace/undomanager\",[\"require\",\"exports\",\"module\"],function(e,t,n){\"use strict\";var r=function(){this.reset()};(function(){function e(e){return{action:e.action,start:e.start,end:e.end,lines:1==e.lines.length?null:e.lines,text:1==e.lines.length?e.lines[0]:null}}function t(e){return{action:e.action,start:e.start,end:e.end,lines:e.lines||[e.text]}}function n(e,t){for(var n=new Array(e.length),r=0;r<e.length;r++){for(var o=e[r],i={group:o.group,deltas:new Array(o.length)},a=0;a<o.deltas.length;a++){var s=o.deltas[a];i.deltas[a]=t(s)}n[r]=i}return n}this.execute=function(e){var t=e.args[0];this.$doc=e.args[1],e.merge&&this.hasUndo()&&(this.dirtyCounter--,t=this.$undoStack.pop().concat(t)),this.$undoStack.push(t),this.$redoStack=[],this.dirtyCounter<0&&(this.dirtyCounter=NaN),this.dirtyCounter++},this.undo=function(e){var t=this.$undoStack.pop(),n=null;return t&&(n=this.$doc.undoChanges(t,e),this.$redoStack.push(t),this.dirtyCounter--),n},this.redo=function(e){var t=this.$redoStack.pop(),n=null;return t&&(n=this.$doc.redoChanges(this.$deserializeDeltas(t),e),this.$undoStack.push(t),this.dirtyCounter++),n},this.reset=function(){this.$undoStack=[],this.$redoStack=[],this.dirtyCounter=0},this.hasUndo=function(){return this.$undoStack.length>0},this.hasRedo=function(){return this.$redoStack.length>0},this.markClean=function(){this.dirtyCounter=0},this.isClean=function(){return 0===this.dirtyCounter},this.$serializeDeltas=function(t){return n(t,e)},this.$deserializeDeltas=function(e){return n(e,t)}}).call(r.prototype),t.UndoManager=r}),ace.define(\"ace/layer/gutter\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\"],function(e,n,r){\"use strict\";var o=e(\"../lib/dom\"),i=e(\"../lib/oop\"),a=e(\"../lib/lang\"),s=e(\"../lib/event_emitter\").EventEmitter,u=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_gutter-layer\",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$cells=[]};(function(){i.implement(this,s),this.setSession=function(e){this.session&&this.session.removeEventListener(\"change\",this.$updateAnnotations),this.session=e,e&&e.on(\"change\",this.$updateAnnotations)},this.addGutterDecoration=function(e,n){window.console&&t.warn&&t.warn(\"deprecated use session.addGutterDecoration\"),this.session.addGutterDecoration(e,n)},this.removeGutterDecoration=function(e,n){window.console&&t.warn&&t.warn(\"deprecated use session.removeGutterDecoration\"),this.session.removeGutterDecoration(e,n)},this.setAnnotations=function(e){this.$annotations=[];for(var t=0;t<e.length;t++){var n=e[t],r=n.row,o=this.$annotations[r];o||(o=this.$annotations[r]={text:[]});var i=n.text;i=i?a.escapeHTML(i):n.html||\"\",o.text.indexOf(i)===-1&&o.text.push(i);var s=n.type;\"error\"==s?o.className=\" ace_error\":\"warning\"==s&&\" ace_error\"!=o.className?o.className=\" ace_warning\":\"info\"!=s||o.className||(o.className=\" ace_info\")}},this.$updateAnnotations=function(e){if(this.$annotations.length){var t=e.start.row,n=e.end.row-t;if(0===n);else if(\"remove\"==e.action)this.$annotations.splice(t,n+1,null);else{var r=new Array(n+1);r.unshift(t,1),this.$annotations.splice.apply(this.$annotations,r)}}},this.update=function(e){for(var t=this.session,n=e.firstRow,r=Math.min(e.lastRow+e.gutterOffset,t.getLength()-1),i=t.getNextFoldLine(n),a=i?i.start.row:1/0,s=this.$showFoldWidgets&&t.foldWidgets,u=t.$breakpoints,l=t.$decorations,c=t.$firstLineNumber,d=0,f=t.gutterRenderer||this.$renderer,p=null,h=-1,m=n;;){if(m>a&&(m=i.end.row+1,i=t.getNextFoldLine(m,i),a=i?i.start.row:1/0),m>r){for(;this.$cells.length>h+1;)p=this.$cells.pop(),this.element.removeChild(p.element);break}p=this.$cells[++h],p||(p={element:null,textNode:null,foldWidget:null},p.element=o.createElement(\"div\"),p.textNode=document.createTextNode(\"\"),p.element.appendChild(p.textNode),this.element.appendChild(p.element),this.$cells[h]=p);var g=\"ace_gutter-cell \";u[m]&&(g+=u[m]),l[m]&&(g+=l[m]),this.$annotations[m]&&(g+=this.$annotations[m].className),p.element.className!=g&&(p.element.className=g);var _=t.getRowLength(m)*e.lineHeight+\"px\";if(_!=p.element.style.height&&(p.element.style.height=_),s){var b=s[m];null==b&&(b=s[m]=t.getFoldWidget(m))}if(b){p.foldWidget||(p.foldWidget=o.createElement(\"span\"),p.element.appendChild(p.foldWidget));var g=\"ace_fold-widget ace_\"+b;g+=\"start\"==b&&m==a&&m<i.end.row?\" ace_closed\":\" ace_open\",p.foldWidget.className!=g&&(p.foldWidget.className=g);var _=e.lineHeight+\"px\";p.foldWidget.style.height!=_&&(p.foldWidget.style.height=_)}else p.foldWidget&&(p.element.removeChild(p.foldWidget),p.foldWidget=null);var y=d=f?f.getText(t,m):m+c;y!==p.textNode.data&&(p.textNode.data=y),m++}this.element.style.height=e.minHeight+\"px\",(this.$fixedWidth||t.$useWrapMode)&&(d=t.getLength()+c);var v=f?f.getWidth(t,d,e):d.toString().length*e.characterWidth,M=this.$padding||this.$computePadding();v+=M.left+M.right,v===this.gutterWidth||isNaN(v)||(this.gutterWidth=v,this.element.style.width=Math.ceil(this.gutterWidth)+\"px\",this._emit(\"changeGutterWidth\",v))},this.$fixedWidth=!1,this.$showLineNumbers=!0,this.$renderer=\"\",this.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return\"\"},getText:function(){return\"\"}}},this.getShowLineNumbers=function(){return this.$showLineNumbers},this.$showFoldWidgets=!0,this.setShowFoldWidgets=function(e){e?o.addCssClass(this.element,\"ace_folding-enabled\"):o.removeCssClass(this.element,\"ace_folding-enabled\"),this.$showFoldWidgets=e,this.$padding=null},this.getShowFoldWidgets=function(){return this.$showFoldWidgets},this.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=o.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=parseInt(e.paddingLeft)+1||0,this.$padding.right=parseInt(e.paddingRight)||0,this.$padding},this.getRegion=function(e){var t=this.$padding||this.$computePadding(),n=this.element.getBoundingClientRect();return e.x<t.left+n.left?\"markers\":this.$showFoldWidgets&&e.x>n.right-t.right?\"foldWidgets\":void 0}}).call(u.prototype),n.Gutter=u}),ace.define(\"ace/layer/marker\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";var r=e(\"../range\").Range,o=e(\"../lib/dom\"),i=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_marker-layer\",e.appendChild(this.element)};(function(){function e(e,t,n,r){return(e?1:0)|(t?2:0)|(n?4:0)|(r?8:0)}this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setMarkers=function(e){this.markers=e},this.update=function(e){if(e){this.config=e;var t=[];for(var n in this.markers){var r=this.markers[n];if(r.range){var o=r.range.clipRows(e.firstRow,e.lastRow);if(!o.isEmpty())if(o=o.toScreenRange(this.session),r.renderer){var i=this.$getTop(o.start.row,e),a=this.$padding+(this.session.$bidiHandler.isBidiRow(o.start.row)?this.session.$bidiHandler.getPosLeft(o.start.column):o.start.column*e.characterWidth);r.renderer(t,o,a,i,e)}else\"fullLine\"==r.type?this.drawFullLineMarker(t,o,r.clazz,e):\"screenLine\"==r.type?this.drawScreenLineMarker(t,o,r.clazz,e):o.isMultiLine()?\"text\"==r.type?this.drawTextMarker(t,o,r.clazz,e):this.drawMultiLineMarker(t,o,r.clazz,e):this.session.$bidiHandler.isBidiRow(o.start.row)?this.drawBidiSingleLineMarker(t,o,r.clazz+\" ace_start ace_br15\",e):this.drawSingleLineMarker(t,o,r.clazz+\" ace_start ace_br15\",e)}else r.update(t,this,this.session,e)}this.element.innerHTML=t.join(\"\")}},this.$getTop=function(e,t){return(e-t.firstRowScreen)*t.lineHeight},this.drawTextMarker=function(t,n,o,i,a){for(var s=this.session,u=n.start.row,l=n.end.row,c=u,d=0,f=0,p=s.getScreenLastRowColumn(c),h=null,m=new r(c,n.start.column,c,f);c<=l;c++)m.start.row=m.end.row=c,m.start.column=c==u?n.start.column:s.getRowWrapIndent(c),m.end.column=p,d=f,f=p,p=c+1<l?s.getScreenLastRowColumn(c+1):c==l?0:n.end.column,h=o+(c==u?\" ace_start\":\"\")+\" ace_br\"+e(c==u||c==u+1&&n.start.column,d<f,f>p,c==l),this.session.$bidiHandler.isBidiRow(c)?this.drawBidiSingleLineMarker(t,m,h,i,c==l?0:1,a):this.drawSingleLineMarker(t,m,h,i,c==l?0:1,a)},this.drawMultiLineMarker=function(e,t,n,r,o){var i,a,s,u=this.$padding;if(o=o||\"\",this.session.$bidiHandler.isBidiRow(t.start.row)){var l=t.clone();l.end.row=l.start.row,l.end.column=this.session.getLine(l.start.row).length,this.drawBidiSingleLineMarker(e,l,n+\" ace_br1 ace_start\",r,null,o)}else i=r.lineHeight,a=this.$getTop(t.start.row,r),s=u+t.start.column*r.characterWidth,e.push(\"<div class='\",n,\" ace_br1 ace_start' style='\",\"height:\",i,\"px;\",\"right:0;\",\"top:\",a,\"px;\",\"left:\",s,\"px;\",o,\"'></div>\");if(this.session.$bidiHandler.isBidiRow(t.end.row)){var l=t.clone();l.start.row=l.end.row,l.start.column=0,this.drawBidiSingleLineMarker(e,l,n+\" ace_br12\",r,null,o)}else{var c=t.end.column*r.characterWidth;i=r.lineHeight,a=this.$getTop(t.end.row,r),e.push(\"<div class='\",n,\" ace_br12' style='\",\"height:\",i,\"px;\",\"width:\",c,\"px;\",\"top:\",a,\"px;\",\"left:\",u,\"px;\",o,\"'></div>\")}if(i=(t.end.row-t.start.row-1)*r.lineHeight,!(i<=0)){a=this.$getTop(t.start.row+1,r);var d=(t.start.column?1:0)|(t.end.column?0:8);e.push(\"<div class='\",n,d?\" ace_br\"+d:\"\",\"' style='\",\"height:\",i,\"px;\",\"right:0;\",\"top:\",a,\"px;\",\"left:\",u,\"px;\",o,\"'></div>\")}},this.drawSingleLineMarker=function(e,t,n,r,o,i){var a=r.lineHeight,s=(t.end.column+(o||0)-t.start.column)*r.characterWidth,u=this.$getTop(t.start.row,r),l=this.$padding+t.start.column*r.characterWidth;e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"width:\",s,\"px;\",\"top:\",u,\"px;\",\"left:\",l,\"px;\",i||\"\",\"'></div>\")},this.drawBidiSingleLineMarker=function(e,t,n,r,o,i){var a=r.lineHeight,s=this.$getTop(t.start.row,r),u=this.$padding,l=this.session.$bidiHandler.getSelections(t.start.column,t.end.column);l.forEach(function(t){e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"width:\",t.width+(o||0),\"px;\",\"top:\",s,\"px;\",\"left:\",u+t.left,\"px;\",i||\"\",\"'></div>\")})},this.drawFullLineMarker=function(e,t,n,r,o){var i=this.$getTop(t.start.row,r),a=r.lineHeight;t.start.row!=t.end.row&&(a+=this.$getTop(t.end.row,r)-i),e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"top:\",i,\"px;\",\"left:0;right:0;\",o||\"\",\"'></div>\")},this.drawScreenLineMarker=function(e,t,n,r,o){var i=this.$getTop(t.start.row,r),a=r.lineHeight;e.push(\"<div class='\",n,\"' style='\",\"height:\",a,\"px;\",\"top:\",i,\"px;\",\"left:0;right:0;\",o||\"\",\"'></div>\")}}).call(i.prototype),t.Marker=i}),ace.define(\"ace/layer/text\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"../lib/oop\"),o=e(\"../lib/dom\"),i=e(\"../lib/lang\"),a=(e(\"../lib/useragent\"),e(\"../lib/event_emitter\").EventEmitter),s=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_text-layer\",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this)};(function(){r.implement(this,a),this.EOF_CHAR=\"¶\",this.EOL_CHAR_LF=\"¬\",this.EOL_CHAR_CRLF=\"¤\",this.EOL_CHAR=this.EOL_CHAR_LF,this.TAB_CHAR=\"—\",this.SPACE_CHAR=\"·\",this.$padding=0,this.$updateEolChar=function(){var e=\"\\n\"==this.session.doc.getNewLineCharacter()?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=e)return this.EOL_CHAR=e,!0},this.setPadding=function(e){this.$padding=e,this.element.style.padding=\"0 \"+e+\"px\"},this.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},this.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},this.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on(\"changeCharacterSize\",function(e){this._signal(\"changeCharacterSize\",e)}.bind(this)),this.$pollSizeChanges()},this.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},this.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},this.setSession=function(e){this.session=e,e&&this.$computeTabString()},this.showInvisibles=!1,this.setShowInvisibles=function(e){return this.showInvisibles!=e&&(this.showInvisibles=e,this.$computeTabString(),!0)},this.displayIndentGuides=!0,this.setDisplayIndentGuides=function(e){return this.displayIndentGuides!=e&&(this.displayIndentGuides=e,this.$computeTabString(),!0)},this.$tabStrings=[],this.onChangeTabSize=this.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var t=this.$tabStrings=[0],n=1;n<e+1;n++)this.showInvisibles?t.push(\"<span class='ace_invisible ace_invisible_tab'>\"+i.stringRepeat(this.TAB_CHAR,n)+\"</span>\"):t.push(i.stringRepeat(\" \",n));if(this.displayIndentGuides){this.$indentGuideRe=/\\s\\S| \\t|\\t |\\s$/;var r=\"ace_indent-guide\",o=\"\",a=\"\";if(this.showInvisibles){r+=\" ace_invisible\",o=\" ace_invisible_space\",a=\" ace_invisible_tab\";var s=i.stringRepeat(this.SPACE_CHAR,this.tabSize),u=i.stringRepeat(this.TAB_CHAR,this.tabSize)}else var s=i.stringRepeat(\" \",this.tabSize),u=s;this.$tabStrings[\" \"]=\"<span class='\"+r+o+\"'>\"+s+\"</span>\",this.$tabStrings[\"\\t\"]=\"<span class='\"+r+a+\"'>\"+u+\"</span>\"}},this.updateLines=function(e,t,n){this.config.lastRow==e.lastRow&&this.config.firstRow==e.firstRow||this.scrollLines(e),this.config=e;for(var r=Math.max(t,e.firstRow),o=Math.min(n,e.lastRow),i=this.element.childNodes,a=0,s=e.firstRow;s<r;s++){var u=this.session.getFoldLine(s);if(u){if(u.containsRow(r)){r=u.start.row;break}s=u.end.row}a++}for(var s=r,u=this.session.getNextFoldLine(s),l=u?u.start.row:1/0;;){if(s>l&&(s=u.end.row+1,u=this.session.getNextFoldLine(s,u),l=u?u.start.row:1/0),s>o)break;var c=i[a++];if(c){var d=[];this.$renderLine(d,s,!this.$useLineGroups(),s==l&&u),c.style.height=e.lineHeight*this.session.getRowLength(s)+\"px\",c.innerHTML=d.join(\"\")}s++}},this.scrollLines=function(e){var t=this.config;if(this.config=e,!t||t.lastRow<e.firstRow)return this.update(e);if(e.lastRow<t.firstRow)return this.update(e);var n=this.element;if(t.firstRow<e.firstRow)for(var r=this.session.getFoldedRowCount(t.firstRow,e.firstRow-1);r>0;r--)n.removeChild(n.firstChild);if(t.lastRow>e.lastRow)for(var r=this.session.getFoldedRowCount(e.lastRow+1,t.lastRow);r>0;r--)n.removeChild(n.lastChild);if(e.firstRow<t.firstRow){var o=this.$renderLinesFragment(e,e.firstRow,t.firstRow-1);n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o)}if(e.lastRow>t.lastRow){var o=this.$renderLinesFragment(e,t.lastRow+1,e.lastRow);n.appendChild(o)}},this.$renderLinesFragment=function(e,t,n){for(var r=this.element.ownerDocument.createDocumentFragment(),i=t,a=this.session.getNextFoldLine(i),s=a?a.start.row:1/0;;){if(i>s&&(i=a.end.row+1,a=this.session.getNextFoldLine(i,a),s=a?a.start.row:1/0),i>n)break;var u=o.createElement(\"div\"),l=[];if(this.$renderLine(l,i,!1,i==s&&a),u.innerHTML=l.join(\"\"),this.$useLineGroups())u.className=\"ace_line_group\",r.appendChild(u),u.style.height=e.lineHeight*this.session.getRowLength(i)+\"px\";else for(;u.firstChild;)r.appendChild(u.firstChild);i++}return r},this.update=function(e){this.config=e;for(var t=[],n=e.firstRow,r=e.lastRow,o=n,i=this.session.getNextFoldLine(o),a=i?i.start.row:1/0;;){if(o>a&&(o=i.end.row+1,i=this.session.getNextFoldLine(o,i),a=i?i.start.row:1/0),o>r)break;this.$useLineGroups()&&t.push(\"<div class='ace_line_group' style='height:\",e.lineHeight*this.session.getRowLength(o),\"px'>\"),this.$renderLine(t,o,!1,o==a&&i),this.$useLineGroups()&&t.push(\"</div>\"),o++}this.element.innerHTML=t.join(\"\")},this.$textToken={text:!0,rparen:!0,lparen:!0},this.$renderToken=function(e,t,n,r){var o=this,a=/\\t|&|<|>|( +)|([\\x00-\\x1f\\x80-\\xa0\\xad\\u1680\\u180E\\u2000-\\u200f\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF\\uFFF9-\\uFFFC])|[\\u1100-\\u115F\\u11A3-\\u11A7\\u11FA-\\u11FF\\u2329-\\u232A\\u2E80-\\u2E99\\u2E9B-\\u2EF3\\u2F00-\\u2FD5\\u2FF0-\\u2FFB\\u3000-\\u303E\\u3041-\\u3096\\u3099-\\u30FF\\u3105-\\u312D\\u3131-\\u318E\\u3190-\\u31BA\\u31C0-\\u31E3\\u31F0-\\u321E\\u3220-\\u3247\\u3250-\\u32FE\\u3300-\\u4DBF\\u4E00-\\uA48C\\uA490-\\uA4C6\\uA960-\\uA97C\\uAC00-\\uD7A3\\uD7B0-\\uD7C6\\uD7CB-\\uD7FB\\uF900-\\uFAFF\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE66\\uFE68-\\uFE6B\\uFF01-\\uFF60\\uFFE0-\\uFFE6]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,s=function(e,n,r,a,s){if(n)return o.showInvisibles?\"<span class='ace_invisible ace_invisible_space'>\"+i.stringRepeat(o.SPACE_CHAR,e.length)+\"</span>\":e;if(\"&\"==e)return\"&#38;\";if(\"<\"==e)return\"&#60;\";if(\">\"==e)return\"&#62;\";if(\"\\t\"==e){var u=o.session.getScreenTabSize(t+a);return t+=u-1,o.$tabStrings[u]}if(\"\u3000\"==e){var l=o.showInvisibles?\"ace_cjk ace_invisible ace_invisible_space\":\"ace_cjk\",c=o.showInvisibles?o.SPACE_CHAR:\"\";return t+=1,\"<span class='\"+l+\"' style='width:\"+2*o.config.characterWidth+\"px'>\"+c+\"</span>\"}return r?\"<span class='ace_invisible ace_invisible_space ace_invalid'>\"+o.SPACE_CHAR+\"</span>\":(t+=1,\"<span class='ace_cjk' style='width:\"+2*o.config.characterWidth+\"px'>\"+e+\"</span>\")},u=r.replace(a,s);if(this.$textToken[n.type])e.push(u);else{var l=\"ace_\"+n.type.replace(/\\./g,\" ace_\"),c=\"\";\"fold\"==n.type&&(c=\" style='width:\"+n.value.length*this.config.characterWidth+\"px;' \"),e.push(\"<span class='\",l,\"'\",c,\">\",u,\"</span>\")}return t+r.length},this.renderIndentGuide=function(e,t,n){var r=t.search(this.$indentGuideRe);return r<=0||r>=n?t:\" \"==t[0]?(r-=r%this.tabSize,e.push(i.stringRepeat(this.$tabStrings[\" \"],r/this.tabSize)),t.substr(r)):\"\\t\"==t[0]?(e.push(i.stringRepeat(this.$tabStrings[\"\\t\"],r)),t.substr(r)):t},this.$renderWrappedLine=function(e,t,n,r){for(var o=0,a=0,s=n[0],u=0,l=0;l<t.length;l++){var c=t[l],d=c.value;if(0==l&&this.displayIndentGuides){if(o=d.length,d=this.renderIndentGuide(e,d,s),!d)continue;o-=d.length}if(o+d.length<s)u=this.$renderToken(e,u,c,d),o+=d.length;else{for(;o+d.length>=s;)u=this.$renderToken(e,u,c,d.substring(0,s-o)),d=d.substring(s-o),o=s,r||e.push(\"</div>\",\"<div class='ace_line' style='height:\",this.config.lineHeight,\"px'>\"),e.push(i.stringRepeat(\"\u00a0\",n.indent)),a++,u=0,s=n[a]||Number.MAX_VALUE;0!=d.length&&(o+=d.length,u=this.$renderToken(e,u,c,d))}}},this.$renderSimpleLine=function(e,t){var n=0,r=t[0],o=r.value;this.displayIndentGuides&&(o=this.renderIndentGuide(e,o)),o&&(n=this.$renderToken(e,n,r,o));for(var i=1;i<t.length;i++)r=t[i],o=r.value,n=this.$renderToken(e,n,r,o)},this.$renderLine=function(e,t,n,r){if(r||0==r||(r=this.session.getFoldLine(t)),r)var o=this.$getFoldLineTokens(t,r);else var o=this.session.getTokens(t);if(n||e.push(\"<div class='ace_line' style='height:\",this.config.lineHeight*(this.$useLineGroups()?1:this.session.getRowLength(t)),\"px'>\"),o.length){var i=this.session.getRowSplitData(t);i&&i.length?this.$renderWrappedLine(e,o,i,n):this.$renderSimpleLine(e,o)}this.showInvisibles&&(r&&(t=r.end.row),e.push(\"<span class='ace_invisible ace_invisible_eol'>\",t==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,\"</span>\")),n||e.push(\"</div>\")},this.$getFoldLineTokens=function(e,t){function n(e,t,n){for(var r=0,i=0;i+e[r].value.length<t;)if(i+=e[r].value.length,r++,r==e.length)return;if(i!=t){var a=e[r].value.substring(t-i);a.length>n-t&&(a=a.substring(0,n-t)),o.push({type:e[r].type,value:a}),i=t+a.length,r+=1}for(;i<n&&r<e.length;){var a=e[r].value;a.length+i>n?o.push({type:e[r].type,value:a.substring(0,n-i)}):o.push(e[r]),i+=a.length,r+=1}}var r=this.session,o=[],i=r.getTokens(e);return t.walk(function(e,t,a,s,u){null!=e?o.push({type:\"fold\",value:e}):(u&&(i=r.getTokens(t)),i.length&&n(i,s,a))},t.end.row,this.session.getLine(t.end.row).length),o},this.$useLineGroups=function(){return this.session.getUseWrapMode()},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$measureNode&&this.$measureNode.parentNode.removeChild(this.$measureNode),delete this.$measureNode}}).call(s.prototype),t.Text=s}),ace.define(\"ace/layer/cursor\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";var r,o=e(\"../lib/dom\"),i=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_layer ace_cursor-layer\",e.appendChild(this.element),void 0===r&&(r=!(\"opacity\"in this.element.style)),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),o.addCssClass(this.element,\"ace_hidden-cursors\"),this.$updateCursors=(r?this.$updateVisibility:this.$updateOpacity).bind(this)};(function(){this.$updateVisibility=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.visibility=e?\"\":\"hidden\"},this.$updateOpacity=function(e){for(var t=this.cursors,n=t.length;n--;)t[n].style.opacity=e?\"\":\"0\"},this.$padding=0,this.setPadding=function(e){this.$padding=e},this.setSession=function(e){this.session=e},this.setBlinking=function(e){e!=this.isBlinking&&(this.isBlinking=e,this.restartTimer())},this.setBlinkInterval=function(e){e!=this.blinkInterval&&(this.blinkInterval=e,this.restartTimer())},this.setSmoothBlinking=function(e){e==this.smoothBlinking||r||(this.smoothBlinking=e,o.setCssClass(this.element,\"ace_smooth-blinking\",e),this.$updateCursors(!0),this.$updateCursors=this.$updateOpacity.bind(this),this.restartTimer())},this.addCursor=function(){var e=o.createElement(\"div\");return e.className=\"ace_cursor\",this.element.appendChild(e),this.cursors.push(e),e},this.removeCursor=function(){if(this.cursors.length>1){var e=this.cursors.pop();return e.parentNode.removeChild(e),e}},this.hideCursor=function(){this.isVisible=!1,o.addCssClass(this.element,\"ace_hidden-cursors\"),this.restartTimer()},this.showCursor=function(){this.isVisible=!0,o.removeCssClass(this.element,\"ace_hidden-cursors\"),this.restartTimer()},this.restartTimer=function(){var e=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.smoothBlinking&&o.removeCssClass(this.element,\"ace_smooth-blinking\"),e(!0),this.isBlinking&&this.blinkInterval&&this.isVisible){this.smoothBlinking&&setTimeout(function(){o.addCssClass(this.element,\"ace_smooth-blinking\")}.bind(this));var t=function(){this.timeoutId=setTimeout(function(){e(!1)},.6*this.blinkInterval)}.bind(this);this.intervalId=setInterval(function(){e(!0),t()},this.blinkInterval),t()}},this.getPixelPosition=function(e,t){if(!this.config||!this.session)return{left:0,top:0};e||(e=this.session.selection.getCursor());var n=this.session.documentToScreenPosition(e),r=this.$padding+(this.session.$bidiHandler.isBidiRow(n.row,e.row)?this.session.$bidiHandler.getPosLeft(n.column):n.column*this.config.characterWidth),o=(n.row-(t?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:r,top:o}},this.update=function(e){this.config=e;var t=this.session.$selectionMarkers,n=0,r=0;void 0!==t&&0!==t.length||(t=[{cursor:null}]);for(var n=0,o=t.length;n<o;n++){var i=this.getPixelPosition(t[n].cursor,!0);if(!((i.top>e.height+e.offset||i.top<0)&&n>1)){var a=(this.cursors[r++]||this.addCursor()).style;this.drawCursor?this.drawCursor(a,i,e,t[n],this.session):(a.left=i.left+\"px\",a.top=i.top+\"px\",a.width=e.characterWidth+\"px\",a.height=e.lineHeight+\"px\")}}for(;this.cursors.length>r;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=i,this.restartTimer()},this.drawCursor=null,this.$setOverwrite=function(e){e!=this.overwrite&&(this.overwrite=e,e?o.addCssClass(this.element,\"ace_overwrite-cursors\"):o.removeCssClass(this.element,\"ace_overwrite-cursors\"))},this.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)}}).call(i.prototype),t.Cursor=i}),ace.define(\"ace/scrollbar\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/dom\"),i=e(\"./lib/event\"),a=e(\"./lib/event_emitter\").EventEmitter,s=32768,u=function(e){this.element=o.createElement(\"div\"),this.element.className=\"ace_scrollbar ace_scrollbar\"+this.classSuffix,this.inner=o.createElement(\"div\"),this.inner.className=\"ace_scrollbar-inner\",this.element.appendChild(this.inner),e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,i.addListener(this.element,\"scroll\",this.onScroll.bind(this)),i.addListener(this.element,\"mousedown\",i.preventDefault)};(function(){r.implement(this,a),this.setVisible=function(e){this.element.style.display=e?\"\":\"none\",this.isVisible=e,this.coeff=1}}).call(u.prototype);var l=function(e,t){u.call(this,e),this.scrollTop=0,this.scrollHeight=0,t.$scrollbarWidth=this.width=o.scrollbarWidth(e.ownerDocument),this.inner.style.width=this.element.style.width=(this.width||15)+5+\"px\",this.$minWidth=0};r.inherits(l,u),function(){this.classSuffix=\"-v\",this.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,1!=this.coeff){var e=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-e)/(this.coeff-e)}this._emit(\"scroll\",{data:this.scrollTop})}this.skipEvent=!1},this.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},this.setHeight=function(e){this.element.style.height=e+\"px\"},this.setInnerHeight=this.setScrollHeight=function(e){this.scrollHeight=e,e>s?(this.coeff=s/e,e=s):1!=this.coeff&&(this.coeff=1),this.inner.style.height=e+\"px\"},this.setScrollTop=function(e){this.scrollTop!=e&&(this.skipEvent=!0,this.scrollTop=e,this.element.scrollTop=e*this.coeff)}}.call(l.prototype);var c=function(e,t){u.call(this,e),this.scrollLeft=0,this.height=t.$scrollbarWidth,this.inner.style.height=this.element.style.height=(this.height||15)+5+\"px\"};r.inherits(c,u),function(){this.classSuffix=\"-h\",this.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit(\"scroll\",{data:this.scrollLeft})),this.skipEvent=!1},this.getHeight=function(){return this.isVisible?this.height:0},this.setWidth=function(e){this.element.style.width=e+\"px\"},this.setInnerWidth=function(e){this.inner.style.width=e+\"px\"},this.setScrollWidth=function(e){this.inner.style.width=e+\"px\"},this.setScrollLeft=function(e){this.scrollLeft!=e&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=e)}}.call(c.prototype),t.ScrollBar=l,t.ScrollBarV=l,t.ScrollBarH=c,t.VScrollBar=l,t.HScrollBar=c}),ace.define(\"ace/renderloop\",[\"require\",\"exports\",\"module\",\"ace/lib/event\"],function(e,t,n){\"use strict\";var r=e(\"./lib/event\"),o=function(e,t){this.onRender=e,this.pending=!1,this.changes=0,this.window=t||window};(function(){this.schedule=function(e){if(this.changes=this.changes|e,!this.pending&&this.changes){this.pending=!0;var t=this;r.nextFrame(function(){t.pending=!1;for(var e;e=t.changes;)t.changes=0,t.onRender(e)},this.window)}}}).call(o.prototype),t.RenderLoop=o}),ace.define(\"ace/layer/font_metrics\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/lib/lang\",\"ace/lib/useragent\",\"ace/lib/event_emitter\"],function(e,t,n){var r=e(\"../lib/oop\"),o=e(\"../lib/dom\"),i=e(\"../lib/lang\"),a=e(\"../lib/useragent\"),s=e(\"../lib/event_emitter\").EventEmitter,u=0,l=t.FontMetrics=function(e){this.el=o.createElement(\"div\"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=o.createElement(\"div\"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=o.createElement(\"div\"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),e.appendChild(this.el),u||this.$testFractionalRect(),this.$measureNode.innerHTML=i.stringRepeat(\"X\",u),this.$characterSize={width:0,height:0},this.checkForSizeChanges()};(function(){r.implement(this,s),this.$characterSize={width:0,height:0},this.$testFractionalRect=function(){var e=o.createElement(\"div\");this.$setMeasureNodeStyles(e.style),e.style.width=\"0.2px\",document.documentElement.appendChild(e);var t=e.getBoundingClientRect().width;u=t>0&&t<1?50:100,e.parentNode.removeChild(e)},this.$setMeasureNodeStyles=function(e,t){e.width=e.height=\"auto\",e.left=e.top=\"0px\",e.visibility=\"hidden\",e.position=\"absolute\",e.whiteSpace=\"pre\",a.isIE<8?e[\"font-family\"]=\"inherit\":e.font=\"inherit\",e.overflow=t?\"hidden\":\"visible\"},this.checkForSizeChanges=function(){var e=this.$measureSizes();if(e&&(this.$characterSize.width!==e.width||this.$characterSize.height!==e.height)){this.$measureNode.style.fontWeight=\"bold\";var t=this.$measureSizes();this.$measureNode.style.fontWeight=\"\",this.$characterSize=e,this.charSizes=Object.create(null),this.allowBoldFonts=t&&t.width===e.width&&t.height===e.height,this._emit(\"changeCharacterSize\",{data:e})}},this.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer)return this.$pollSizeChangesTimer;var e=this;return this.$pollSizeChangesTimer=setInterval(function(){e.checkForSizeChanges()},500)},this.setPolling=function(e){e?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},this.$measureSizes=function(){if(50===u){var e=null;try{e=this.$measureNode.getBoundingClientRect()}catch(t){e={width:0,height:0}}var t={height:e.height,width:e.width/u}}else var t={height:this.$measureNode.clientHeight,width:this.$measureNode.clientWidth/u};return 0===t.width||0===t.height?null:t},this.$measureCharWidth=function(e){this.$main.innerHTML=i.stringRepeat(e,u);var t=this.$main.getBoundingClientRect();return t.width/u},this.getCharacterWidth=function(e){var t=this.charSizes[e];return void 0===t&&(t=this.charSizes[e]=this.$measureCharWidth(e)/this.$characterSize.width),t},this.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)}}).call(l.prototype)}),ace.define(\"ace/virtual_renderer\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/config\",\"ace/lib/useragent\",\"ace/layer/gutter\",\"ace/layer/marker\",\"ace/layer/text\",\"ace/layer/cursor\",\"ace/scrollbar\",\"ace/scrollbar\",\"ace/renderloop\",\"ace/layer/font_metrics\",\"ace/lib/event_emitter\"],function(e,t,n){\"use strict\";var r=e(\"./lib/oop\"),o=e(\"./lib/dom\"),i=e(\"./config\"),a=e(\"./lib/useragent\"),s=e(\"./layer/gutter\").Gutter,u=e(\"./layer/marker\").Marker,l=e(\"./layer/text\").Text,c=e(\"./layer/cursor\").Cursor,d=e(\"./scrollbar\").HScrollBar,f=e(\"./scrollbar\").VScrollBar,p=e(\"./renderloop\").RenderLoop,h=e(\"./layer/font_metrics\").FontMetrics,m=e(\"./lib/event_emitter\").EventEmitter,g='.ace_editor {\\tposition: relative;\\toverflow: hidden;\\tfont: 12px/normal \\'Monaco\\', \\'Menlo\\', \\'Ubuntu Mono\\', \\'Consolas\\', \\'source-code-pro\\', monospace;\\tdirection: ltr;\\ttext-align: left;\\t-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\t}\\t.ace_scroller {\\tposition: absolute;\\toverflow: hidden;\\ttop: 0;\\tbottom: 0;\\tbackground-color: inherit;\\t-ms-user-select: none;\\t-moz-user-select: none;\\t-webkit-user-select: none;\\tuser-select: none;\\tcursor: text;\\t}\\t.ace_content {\\tposition: absolute;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tmin-width: 100%;\\t}\\t.ace_dragging .ace_scroller:before{\\tposition: absolute;\\ttop: 0;\\tleft: 0;\\tright: 0;\\tbottom: 0;\\tcontent: \\'\\';\\tbackground: rgba(250, 250, 250, 0.01);\\tz-index: 1000;\\t}\\t.ace_dragging.ace_dark .ace_scroller:before{\\tbackground: rgba(0, 0, 0, 0.01);\\t}\\t.ace_selecting, .ace_selecting * {\\tcursor: text !important;\\t}\\t.ace_gutter {\\tposition: absolute;\\toverflow : hidden;\\twidth: auto;\\ttop: 0;\\tbottom: 0;\\tleft: 0;\\tcursor: default;\\tz-index: 4;\\t-ms-user-select: none;\\t-moz-user-select: none;\\t-webkit-user-select: none;\\tuser-select: none;\\t}\\t.ace_gutter-active-line {\\tposition: absolute;\\tleft: 0;\\tright: 0;\\t}\\t.ace_scroller.ace_scroll-left {\\tbox-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;\\t}\\t.ace_gutter-cell {\\tpadding-left: 19px;\\tpadding-right: 6px;\\tbackground-repeat: no-repeat;\\t}\\t.ace_gutter-cell.ace_error {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==\");\\tbackground-repeat: no-repeat;\\tbackground-position: 2px center;\\t}\\t.ace_gutter-cell.ace_warning {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==\");\\tbackground-position: 2px center;\\t}\\t.ace_gutter-cell.ace_info {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=\");\\tbackground-position: 2px center;\\t}\\t.ace_dark .ace_gutter-cell.ace_info {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC\");\\t}\\t.ace_scrollbar {\\tposition: absolute;\\tright: 0;\\tbottom: 0;\\tz-index: 6;\\t}\\t.ace_scrollbar-inner {\\tposition: absolute;\\tcursor: text;\\tleft: 0;\\ttop: 0;\\t}\\t.ace_scrollbar-v{\\toverflow-x: hidden;\\toverflow-y: scroll;\\ttop: 0;\\t}\\t.ace_scrollbar-h {\\toverflow-x: scroll;\\toverflow-y: hidden;\\tleft: 0;\\t}\\t.ace_print-margin {\\tposition: absolute;\\theight: 100%;\\t}\\t.ace_text-input {\\tposition: absolute;\\tz-index: 0;\\twidth: 0.5em;\\theight: 1em;\\topacity: 0;\\tbackground: transparent;\\t-moz-appearance: none;\\tappearance: none;\\tborder: none;\\tresize: none;\\toutline: none;\\toverflow: hidden;\\tfont: inherit;\\tpadding: 0 1px;\\tmargin: 0 -1px;\\ttext-indent: -1em;\\t-ms-user-select: text;\\t-moz-user-select: text;\\t-webkit-user-select: text;\\tuser-select: text;\\twhite-space: pre!important;\\t}\\t.ace_text-input.ace_composition {\\tbackground: inherit;\\tcolor: inherit;\\tz-index: 1000;\\topacity: 1;\\ttext-indent: 0;\\t}\\t.ace_layer {\\tz-index: 1;\\tposition: absolute;\\toverflow: hidden;\\tword-wrap: normal;\\twhite-space: pre;\\theight: 100%;\\twidth: 100%;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tpointer-events: none;\\t}\\t.ace_gutter-layer {\\tposition: relative;\\twidth: auto;\\ttext-align: right;\\tpointer-events: auto;\\t}\\t.ace_text-layer {\\tfont: inherit !important;\\t}\\t.ace_cjk {\\tdisplay: inline-block;\\ttext-align: center;\\t}\\t.ace_cursor-layer {\\tz-index: 4;\\t}\\t.ace_cursor {\\tz-index: 4;\\tposition: absolute;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tborder-left: 2px solid;\\ttransform: translatez(0);\\t}\\t.ace_multiselect .ace_cursor {\\tborder-left-width: 1px;\\t}\\t.ace_slim-cursors .ace_cursor {\\tborder-left-width: 1px;\\t}\\t.ace_overwrite-cursors .ace_cursor {\\tborder-left-width: 0;\\tborder-bottom: 1px solid;\\t}\\t.ace_hidden-cursors .ace_cursor {\\topacity: 0.2;\\t}\\t.ace_smooth-blinking .ace_cursor {\\t-webkit-transition: opacity 0.18s;\\ttransition: opacity 0.18s;\\t}\\t.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\\tposition: absolute;\\tz-index: 3;\\t}\\t.ace_marker-layer .ace_selection {\\tposition: absolute;\\tz-index: 5;\\t}\\t.ace_marker-layer .ace_bracket {\\tposition: absolute;\\tz-index: 6;\\t}\\t.ace_marker-layer .ace_active-line {\\tposition: absolute;\\tz-index: 2;\\t}\\t.ace_marker-layer .ace_selected-word {\\tposition: absolute;\\tz-index: 4;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\t}\\t.ace_line .ace_fold {\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tdisplay: inline-block;\\theight: 11px;\\tmargin-top: -2px;\\tvertical-align: middle;\\tbackground-image:\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\"),\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=\");\\tbackground-repeat: no-repeat, repeat-x;\\tbackground-position: center center, top left;\\tcolor: transparent;\\tborder: 1px solid black;\\tborder-radius: 2px;\\tcursor: pointer;\\tpointer-events: auto;\\t}\\t.ace_dark .ace_fold {\\t}\\t.ace_fold:hover{\\tbackground-image:\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII=\"),\\turl(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC\");\\t}\\t.ace_tooltip {\\tbackground-color: #FFF;\\tbackground-image: -webkit-linear-gradient(top, transparent, rgba(0, 0, 0, 0.1));\\tbackground-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.1));\\tborder: 1px solid gray;\\tborder-radius: 1px;\\tbox-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);\\tcolor: black;\\tmax-width: 100%;\\tpadding: 3px 4px;\\tposition: fixed;\\tz-index: 999999;\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tcursor: default;\\twhite-space: pre;\\tword-wrap: break-word;\\tline-height: normal;\\tfont-style: normal;\\tfont-weight: normal;\\tletter-spacing: normal;\\tpointer-events: none;\\t}\\t.ace_folding-enabled > .ace_gutter-cell {\\tpadding-right: 13px;\\t}\\t.ace_fold-widget {\\t-moz-box-sizing: border-box;\\t-webkit-box-sizing: border-box;\\tbox-sizing: border-box;\\tmargin: 0 -12px 0 1px;\\tdisplay: none;\\twidth: 11px;\\tvertical-align: top;\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==\");\\tbackground-repeat: no-repeat;\\tbackground-position: center;\\tborder-radius: 3px;\\tborder: 1px solid transparent;\\tcursor: pointer;\\t}\\t.ace_folding-enabled .ace_fold-widget {\\tdisplay: inline-block;   \\t}\\t.ace_fold-widget.ace_end {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==\");\\t}\\t.ace_fold-widget.ace_closed {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==\");\\t}\\t.ace_fold-widget:hover {\\tborder: 1px solid rgba(0, 0, 0, 0.3);\\tbackground-color: rgba(255, 255, 255, 0.2);\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);\\t}\\t.ace_fold-widget:active {\\tborder: 1px solid rgba(0, 0, 0, 0.4);\\tbackground-color: rgba(0, 0, 0, 0.05);\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);\\t}\\t.ace_dark .ace_fold-widget {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC\");\\t}\\t.ace_dark .ace_fold-widget.ace_end {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==\");\\t}\\t.ace_dark .ace_fold-widget.ace_closed {\\tbackground-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==\");\\t}\\t.ace_dark .ace_fold-widget:hover {\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\tbackground-color: rgba(255, 255, 255, 0.1);\\t}\\t.ace_dark .ace_fold-widget:active {\\tbox-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);\\t}\\t.ace_fold-widget.ace_invalid {\\tbackground-color: #FFB4B4;\\tborder-color: #DE5555;\\t}\\t.ace_fade-fold-widgets .ace_fold-widget {\\t-webkit-transition: opacity 0.4s ease 0.05s;\\ttransition: opacity 0.4s ease 0.05s;\\topacity: 0;\\t}\\t.ace_fade-fold-widgets:hover .ace_fold-widget {\\t-webkit-transition: opacity 0.05s ease 0.05s;\\ttransition: opacity 0.05s ease 0.05s;\\topacity:1;\\t}\\t.ace_underline {\\ttext-decoration: underline;\\t}\\t.ace_bold {\\tfont-weight: bold;\\t}\\t.ace_nobold .ace_bold {\\tfont-weight: normal;\\t}\\t.ace_italic {\\tfont-style: italic;\\t}\\t.ace_error-marker {\\tbackground-color: rgba(255, 0, 0,0.2);\\tposition: absolute;\\tz-index: 9;\\t}\\t.ace_highlight-marker {\\tbackground-color: rgba(255, 255, 0,0.2);\\tposition: absolute;\\tz-index: 8;\\t}\\t.ace_br1 {border-top-left-radius    : 3px;}\\t.ace_br2 {border-top-right-radius   : 3px;}\\t.ace_br3 {border-top-left-radius    : 3px; border-top-right-radius:    3px;}\\t.ace_br4 {border-bottom-right-radius: 3px;}\\t.ace_br5 {border-top-left-radius    : 3px; border-bottom-right-radius: 3px;}\\t.ace_br6 {border-top-right-radius   : 3px; border-bottom-right-radius: 3px;}\\t.ace_br7 {border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px;}\\t.ace_br8 {border-bottom-left-radius : 3px;}\\t.ace_br9 {border-top-left-radius    : 3px; border-bottom-left-radius:  3px;}\\t.ace_br10{border-top-right-radius   : 3px; border-bottom-left-radius:  3px;}\\t.ace_br11{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-left-radius:  3px;}\\t.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\t.ace_br13{border-top-left-radius    : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\t.ace_br14{border-top-right-radius   : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius:  3px;}\\t.ace_br15{border-top-left-radius    : 3px; border-top-right-radius:    3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\\t.ace_text-input-ios {\\tposition: absolute !important;\\ttop: -100000px !important;\\tleft: -100000px !important;\\t}\\t';\no.importCssString(g,\"ace_editor.css\");var _=function(e,t){var n=this;this.container=e||o.createElement(\"div\"),this.$keepTextAreaAtCursor=!a.isOldIE,o.addCssClass(this.container,\"ace_editor\"),this.setTheme(t),this.$gutter=o.createElement(\"div\"),this.$gutter.className=\"ace_gutter\",this.container.appendChild(this.$gutter),this.$gutter.setAttribute(\"aria-hidden\",!0),this.scroller=o.createElement(\"div\"),this.scroller.className=\"ace_scroller\",this.container.appendChild(this.scroller),this.content=o.createElement(\"div\"),this.content.className=\"ace_content\",this.scroller.appendChild(this.content),this.$gutterLayer=new s(this.$gutter),this.$gutterLayer.on(\"changeGutterWidth\",this.onGutterResize.bind(this)),this.$markerBack=new u(this.content);var r=this.$textLayer=new l(this.content);this.canvas=r.element,this.$markerFront=new u(this.content),this.$cursorLayer=new c(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new f(this.container,this),this.scrollBarH=new d(this.container,this),this.scrollBarV.addEventListener(\"scroll\",function(e){n.$scrollAnimation||n.session.setScrollTop(e.data-n.scrollMargin.top)}),this.scrollBarH.addEventListener(\"scroll\",function(e){n.$scrollAnimation||n.session.setScrollLeft(e.data-n.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new h(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.addEventListener(\"changeCharacterSize\",function(e){n.updateCharacterSize(),n.onResize(!0,n.gutterWidth,n.$size.width,n.$size.height),n._signal(\"changeCharacterSize\",e)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$loop=new p(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),i.resetOptions(this),i._emit(\"renderer\",this)};(function(){this.CHANGE_CURSOR=1,this.CHANGE_MARKER=2,this.CHANGE_GUTTER=4,this.CHANGE_SCROLL=8,this.CHANGE_LINES=16,this.CHANGE_TEXT=32,this.CHANGE_SIZE=64,this.CHANGE_MARKER_BACK=128,this.CHANGE_MARKER_FRONT=256,this.CHANGE_FULL=512,this.CHANGE_H_SCROLL=1024,r.implement(this,m),this.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle(\"ace_nobold\",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin()},this.setSession=function(e){this.session&&this.session.doc.off(\"changeNewLineMode\",this.onChangeNewLineMode),this.session=e,e&&this.scrollMargin.top&&e.getScrollTop()<=0&&e.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(e),this.$markerBack.setSession(e),this.$markerFront.setSession(e),this.$gutterLayer.setSession(e),this.$textLayer.setSession(e),e&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on(\"changeNewLineMode\",this.onChangeNewLineMode))},this.updateLines=function(e,t,n){if(void 0===t&&(t=1/0),this.$changedLines?(this.$changedLines.firstRow>e&&(this.$changedLines.firstRow=e),this.$changedLines.lastRow<t&&(this.$changedLines.lastRow=t)):this.$changedLines={firstRow:e,lastRow:t},this.$changedLines.lastRow<this.layerConfig.firstRow){if(!n)return;this.$changedLines.lastRow=this.layerConfig.lastRow}this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},this.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},this.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},this.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},this.updateFull=function(e){e?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},this.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},this.$changes=0,this.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},this.onResize=function(e,t,n,r){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=e?1:0;var o=this.container;r||(r=o.clientHeight||o.scrollHeight),n||(n=o.clientWidth||o.scrollWidth);var i=this.$updateCachedSize(e,t,n,r);if(!this.$size.scrollerHeight||!n&&!r)return this.resizing=0;e&&(this.$gutterLayer.$padding=null),e?this.$renderChanges(i|this.$changes,!0):this.$loop.schedule(i|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarV.scrollLeft=this.scrollBarV.scrollTop=null}},this.$updateCachedSize=function(e,t,n,r){r-=this.$extraHeight||0;var o=0,i=this.$size,a={width:i.width,height:i.height,scrollerHeight:i.scrollerHeight,scrollerWidth:i.scrollerWidth};return r&&(e||i.height!=r)&&(i.height=r,o|=this.CHANGE_SIZE,i.scrollerHeight=i.height,this.$horizScroll&&(i.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+\"px\",o|=this.CHANGE_SCROLL),n&&(e||i.width!=n)&&(o|=this.CHANGE_SIZE,i.width=n,null==t&&(t=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=t,this.scrollBarH.element.style.left=this.scroller.style.left=t+\"px\",i.scrollerWidth=Math.max(0,n-t-this.scrollBarV.getWidth()),this.scrollBarH.element.style.right=this.scroller.style.right=this.scrollBarV.getWidth()+\"px\",this.scroller.style.bottom=this.scrollBarH.getHeight()+\"px\",(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||e)&&(o|=this.CHANGE_FULL)),i.$dirty=!n||!r,o&&this._signal(\"resize\",a),o},this.onGutterResize=function(){var e=this.$showGutter?this.$gutter.offsetWidth:0;e!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,e,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):(this.$computeLayerConfig(),this.$loop.schedule(this.CHANGE_MARKER))},this.adjustWrapLimit=function(){var e=this.$size.scrollerWidth-2*this.$padding,t=Math.floor(e/this.characterWidth);return this.session.adjustWrapLimit(t,this.$showPrintMargin&&this.$printMarginColumn)},this.setAnimatedScroll=function(e){this.setOption(\"animatedScroll\",e)},this.getAnimatedScroll=function(){return this.$animatedScroll},this.setShowInvisibles=function(e){this.setOption(\"showInvisibles\",e),this.session.$bidiHandler.setShowInvisibles(e)},this.getShowInvisibles=function(){return this.getOption(\"showInvisibles\")},this.getDisplayIndentGuides=function(){return this.getOption(\"displayIndentGuides\")},this.setDisplayIndentGuides=function(e){this.setOption(\"displayIndentGuides\",e)},this.setShowPrintMargin=function(e){this.setOption(\"showPrintMargin\",e)},this.getShowPrintMargin=function(){return this.getOption(\"showPrintMargin\")},this.setPrintMarginColumn=function(e){this.setOption(\"printMarginColumn\",e)},this.getPrintMarginColumn=function(){return this.getOption(\"printMarginColumn\")},this.getShowGutter=function(){return this.getOption(\"showGutter\")},this.setShowGutter=function(e){return this.setOption(\"showGutter\",e)},this.getFadeFoldWidgets=function(){return this.getOption(\"fadeFoldWidgets\")},this.setFadeFoldWidgets=function(e){this.setOption(\"fadeFoldWidgets\",e)},this.setHighlightGutterLine=function(e){this.setOption(\"highlightGutterLine\",e)},this.getHighlightGutterLine=function(){return this.getOption(\"highlightGutterLine\")},this.$updateGutterLineHighlight=function(){var e=this.$cursorLayer.$pixelPos,t=this.layerConfig.lineHeight;if(this.session.getUseWrapMode()){var n=this.session.selection.getCursor();n.column=0,e=this.$cursorLayer.getPixelPosition(n,!0),t*=this.session.getRowLength(n.row)}this.$gutterLineHighlight.style.top=e.top-this.layerConfig.offset+\"px\",this.$gutterLineHighlight.style.height=t+\"px\"},this.$updatePrintMargin=function(){if(this.$showPrintMargin||this.$printMarginEl){if(!this.$printMarginEl){var e=o.createElement(\"div\");e.className=\"ace_layer ace_print-margin-layer\",this.$printMarginEl=o.createElement(\"div\"),this.$printMarginEl.className=\"ace_print-margin\",e.appendChild(this.$printMarginEl),this.content.insertBefore(e,this.content.firstChild)}var t=this.$printMarginEl.style;t.left=this.characterWidth*this.$printMarginColumn+this.$padding+\"px\",t.visibility=this.$showPrintMargin?\"visible\":\"hidden\",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},this.getContainerElement=function(){return this.container},this.getMouseEventTarget=function(){return this.scroller},this.getTextAreaContainer=function(){return this.container},this.$moveTextAreaToCursor=function(){if(this.$keepTextAreaAtCursor){var e=this.layerConfig,t=this.$cursorLayer.$pixelPos.top,n=this.$cursorLayer.$pixelPos.left;t-=e.offset;var r=this.textarea.style,o=this.lineHeight;if(t<0||t>e.height-o)return void(r.top=r.left=\"0\");var i=this.characterWidth;if(this.$composition){var a=this.textarea.value.replace(/^\\x01+/,\"\");i*=this.session.$getStringScreenWidth(a)[0]+2,o+=2}n-=this.scrollLeft,n>this.$size.scrollerWidth-i&&(n=this.$size.scrollerWidth-i),n+=this.gutterWidth,r.height=o+\"px\",r.width=i+\"px\",r.left=Math.min(n,this.$size.scrollerWidth-i)+\"px\",r.top=Math.min(t,this.$size.height-o)+\"px\"}},this.getFirstVisibleRow=function(){return this.layerConfig.firstRow},this.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(0===this.layerConfig.offset?0:1)},this.getLastFullyVisibleRow=function(){var e=this.layerConfig,t=e.lastRow,n=this.session.documentToScreenRow(t,0)*e.lineHeight;return n-this.session.getScrollTop()>e.height-e.lineHeight?t-1:t},this.getLastVisibleRow=function(){return this.layerConfig.lastRow},this.$padding=null,this.setPadding=function(e){this.$padding=e,this.$textLayer.setPadding(e),this.$cursorLayer.setPadding(e),this.$markerFront.setPadding(e),this.$markerBack.setPadding(e),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},this.setScrollMargin=function(e,t,n,r){var o=this.scrollMargin;o.top=0|e,o.bottom=0|t,o.right=0|r,o.left=0|n,o.v=o.top+o.bottom,o.h=o.left+o.right,o.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-o.top),this.updateFull()},this.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},this.setHScrollBarAlwaysVisible=function(e){this.setOption(\"hScrollBarAlwaysVisible\",e)},this.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},this.setVScrollBarAlwaysVisible=function(e){this.setOption(\"vScrollBarAlwaysVisible\",e)},this.$updateScrollBarV=function(){var e=this.layerConfig.maxHeight,t=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(e-=(t-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>e-t&&(e=this.scrollTop+t,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(e+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},this.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},this.$frozen=!1,this.freeze=function(){this.$frozen=!0},this.unfreeze=function(){this.$frozen=!1},this.$renderChanges=function(e,t){if(this.$changes&&(e|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!e&&!t)return void(this.$changes|=e);if(this.$size.$dirty)return this.$changes|=e,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal(\"beforeRender\"),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var n=this.layerConfig;if(e&this.CHANGE_FULL||e&this.CHANGE_SIZE||e&this.CHANGE_TEXT||e&this.CHANGE_LINES||e&this.CHANGE_SCROLL||e&this.CHANGE_H_SCROLL){if(e|=this.$computeLayerConfig(),n.firstRow!=this.layerConfig.firstRow&&n.firstRowScreen==this.layerConfig.firstRowScreen){var r=this.scrollTop+(n.firstRow-this.layerConfig.firstRow)*this.lineHeight;r>0&&(this.scrollTop=r,e|=this.CHANGE_SCROLL,e|=this.$computeLayerConfig())}n=this.layerConfig,this.$updateScrollBarV(),e&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),this.$gutterLayer.element.style.marginTop=-n.offset+\"px\",this.content.style.marginTop=-n.offset+\"px\",this.content.style.width=n.width+2*this.$padding+\"px\",this.content.style.height=n.minHeight+\"px\"}return e&this.CHANGE_H_SCROLL&&(this.content.style.marginLeft=-this.scrollLeft+\"px\",this.scroller.className=this.scrollLeft<=0?\"ace_scroller\":\"ace_scroller ace_scroll-left\"),e&this.CHANGE_FULL?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),void this._signal(\"afterRender\")):e&this.CHANGE_SCROLL?(e&this.CHANGE_TEXT||e&this.CHANGE_LINES?this.$textLayer.update(n):this.$textLayer.scrollLines(n),this.$showGutter&&this.$gutterLayer.update(n),this.$markerBack.update(n),this.$markerFront.update(n),this.$cursorLayer.update(n),this.$highlightGutterLine&&this.$updateGutterLineHighlight(),this.$moveTextAreaToCursor(),void this._signal(\"afterRender\")):(e&this.CHANGE_TEXT?(this.$textLayer.update(n),this.$showGutter&&this.$gutterLayer.update(n)):e&this.CHANGE_LINES?(this.$updateLines()||e&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(n):(e&this.CHANGE_TEXT||e&this.CHANGE_GUTTER)&&this.$showGutter&&this.$gutterLayer.update(n),e&this.CHANGE_CURSOR&&(this.$cursorLayer.update(n),this.$moveTextAreaToCursor(),this.$highlightGutterLine&&this.$updateGutterLineHighlight()),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(n),e&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(n),void this._signal(\"afterRender\"))},this.$autosize=function(){var e=this.session.getScreenLength()*this.lineHeight,t=this.$maxLines*this.lineHeight,n=Math.min(t,Math.max((this.$minLines||1)*this.lineHeight,e))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(n+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&n>this.$maxPixelHeight&&(n=this.$maxPixelHeight);var r=e>t;if(n!=this.desiredHeight||this.$size.height!=this.desiredHeight||r!=this.$vScroll){r!=this.$vScroll&&(this.$vScroll=r,this.scrollBarV.setVisible(r));var o=this.container.clientWidth;this.container.style.height=n+\"px\",this.$updateCachedSize(!0,this.$gutterWidth,o,n),this.desiredHeight=n,this._signal(\"autosize\")}},this.$computeLayerConfig=function(){var e=this.session,t=this.$size,n=t.height<=2*this.lineHeight,r=this.session.getScreenLength(),o=r*this.lineHeight,i=this.$getLongestLine(),a=!n&&(this.$hScrollBarAlwaysVisible||t.scrollerWidth-i-2*this.$padding<0),s=this.$horizScroll!==a;s&&(this.$horizScroll=a,this.scrollBarH.setVisible(a));var u=this.$vScroll;this.$maxLines&&this.lineHeight>1&&this.$autosize();var l=this.scrollTop%this.lineHeight,c=t.scrollerHeight+this.lineHeight,d=!this.$maxLines&&this.$scrollPastEnd?(t.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;o+=d;var f=this.scrollMargin;this.session.setScrollTop(Math.max(-f.top,Math.min(this.scrollTop,o-t.scrollerHeight+f.bottom))),this.session.setScrollLeft(Math.max(-f.left,Math.min(this.scrollLeft,i+2*this.$padding-t.scrollerWidth+f.right)));var p=!n&&(this.$vScrollBarAlwaysVisible||t.scrollerHeight-o+d<0||this.scrollTop>f.top),h=u!==p;h&&(this.$vScroll=p,this.scrollBarV.setVisible(p));var m,g,_=Math.ceil(c/this.lineHeight)-1,b=Math.max(0,Math.round((this.scrollTop-l)/this.lineHeight)),y=b+_,v=this.lineHeight;b=e.screenToDocumentRow(b,0);var M=e.getFoldLine(b);M&&(b=M.start.row),m=e.documentToScreenRow(b,0),g=e.getRowLength(b)*v,y=Math.min(e.screenToDocumentRow(y,0),e.getLength()-1),c=t.scrollerHeight+e.getRowLength(y)*v+g,l=this.scrollTop-m*v;var A=0;return this.layerConfig.width!=i&&(A=this.CHANGE_H_SCROLL),(s||h)&&(A=this.$updateCachedSize(!0,this.gutterWidth,t.width,t.height),this._signal(\"scrollbarVisibilityChanged\"),h&&(i=this.$getLongestLine())),this.layerConfig={width:i,padding:this.$padding,firstRow:b,firstRowScreen:m,lastRow:y,lineHeight:v,characterWidth:this.characterWidth,minHeight:c,maxHeight:o,offset:l,gutterOffset:v?Math.max(0,Math.ceil((l+t.height-t.scrollerHeight)/v)):0,height:this.$size.scrollerHeight},A},this.$updateLines=function(){if(this.$changedLines){var e=this.$changedLines.firstRow,t=this.$changedLines.lastRow;this.$changedLines=null;var n=this.layerConfig;if(!(e>n.lastRow+1||t<n.firstRow))return t===1/0?(this.$showGutter&&this.$gutterLayer.update(n),void this.$textLayer.update(n)):(this.$textLayer.updateLines(n,e,t),!0)}},this.$getLongestLine=function(){var e=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(e+=1),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(e*this.characterWidth))},this.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},this.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},this.addGutterDecoration=function(e,t){this.$gutterLayer.addGutterDecoration(e,t)},this.removeGutterDecoration=function(e,t){this.$gutterLayer.removeGutterDecoration(e,t)},this.updateBreakpoints=function(e){this.$loop.schedule(this.CHANGE_GUTTER)},this.setAnnotations=function(e){this.$gutterLayer.setAnnotations(e),this.$loop.schedule(this.CHANGE_GUTTER)},this.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},this.hideCursor=function(){this.$cursorLayer.hideCursor()},this.showCursor=function(){this.$cursorLayer.showCursor()},this.scrollSelectionIntoView=function(e,t,n){this.scrollCursorIntoView(e,n),this.scrollCursorIntoView(t,n)},this.scrollCursorIntoView=function(e,t,n){if(0!==this.$size.scrollerHeight){var r=this.$cursorLayer.getPixelPosition(e),o=r.left,i=r.top,a=n&&n.top||0,s=n&&n.bottom||0,u=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;u+a>i?(t&&u+a>i+this.lineHeight&&(i-=t*this.$size.scrollerHeight),0===i&&(i=-this.scrollMargin.top),this.session.setScrollTop(i)):u+this.$size.scrollerHeight-s<i+this.lineHeight&&(t&&u+this.$size.scrollerHeight-s<i-this.lineHeight&&(i+=t*this.$size.scrollerHeight),this.session.setScrollTop(i+this.lineHeight-this.$size.scrollerHeight));var l=this.scrollLeft;l>o?(o<this.$padding+2*this.layerConfig.characterWidth&&(o=-this.scrollMargin.left),this.session.setScrollLeft(o)):l+this.$size.scrollerWidth<o+this.characterWidth?this.session.setScrollLeft(Math.round(o+this.characterWidth-this.$size.scrollerWidth)):l<=this.$padding&&o-l<this.characterWidth&&this.session.setScrollLeft(0)}},this.getScrollTop=function(){return this.session.getScrollTop()},this.getScrollLeft=function(){return this.session.getScrollLeft()},this.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},this.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},this.scrollToRow=function(e){this.session.setScrollTop(e*this.lineHeight)},this.alignCursor=function(e,t){\"number\"==typeof e&&(e={row:e,column:0});var n=this.$cursorLayer.getPixelPosition(e),r=this.$size.scrollerHeight-this.lineHeight,o=n.top-r*(t||0);return this.session.setScrollTop(o),o},this.STEPS=8,this.$calcSteps=function(e,t){var n=0,r=this.STEPS,o=[],i=function(e,t,n){return n*(Math.pow(e-1,3)+1)+t};for(n=0;n<r;++n)o.push(i(n/this.STEPS,e,t-e));return o},this.scrollToLine=function(e,t,n,r){var o=this.$cursorLayer.getPixelPosition({row:e,column:0}),i=o.top;t&&(i-=this.$size.scrollerHeight/2);var a=this.scrollTop;this.session.setScrollTop(i),n!==!1&&this.animateScrolling(a,r)},this.animateScrolling=function(e,t){var n=this.scrollTop;if(this.$animatedScroll){var r=this;if(e!=n){if(this.$scrollAnimation){var o=this.$scrollAnimation.steps;if(o.length&&(e=o[0],e==n))return}var i=r.$calcSteps(e,n);this.$scrollAnimation={from:e,to:n,steps:i},clearInterval(this.$timer),r.session.setScrollTop(i.shift()),r.session.$scrollTop=n,this.$timer=setInterval(function(){i.length?(r.session.setScrollTop(i.shift()),r.session.$scrollTop=n):null!=n?(r.session.$scrollTop=-1,r.session.setScrollTop(n),n=null):(r.$timer=clearInterval(r.$timer),r.$scrollAnimation=null,t&&t())},10)}}},this.scrollToY=function(e){this.scrollTop!==e&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=e)},this.scrollToX=function(e){this.scrollLeft!==e&&(this.scrollLeft=e),this.$loop.schedule(this.CHANGE_H_SCROLL)},this.scrollTo=function(e,t){this.session.setScrollTop(t),this.session.setScrollLeft(t)},this.scrollBy=function(e,t){t&&this.session.setScrollTop(this.session.getScrollTop()+t),e&&this.session.setScrollLeft(this.session.getScrollLeft()+e)},this.isScrollableBy=function(e,t){return t<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||(t>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||(e<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||(e>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right||void 0)))},this.pixelToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,o=r/this.characterWidth,i=Math.floor((t+this.scrollTop-n.top)/this.lineHeight),a=Math.round(o);return{row:i,column:a,side:o-a>0?1:-1,offsetX:r}},this.screenToTextCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=e+this.scrollLeft-n.left-this.$padding,o=Math.round(r/this.characterWidth),i=(t+this.scrollTop-n.top)/this.lineHeight;return this.session.screenToDocumentPosition(i,Math.max(o,0),r)},this.textToScreenCoordinates=function(e,t){var n=this.scroller.getBoundingClientRect(),r=this.session.documentToScreenPosition(e,t),o=this.$padding+(this.session.$bidiHandler.isBidiRow(r.row,e)?this.session.$bidiHandler.getPosLeft(r.column):Math.round(r.column*this.characterWidth)),i=r.row*this.lineHeight;return{pageX:n.left+o-this.scrollLeft,pageY:n.top+i-this.scrollTop}},this.visualizeFocus=function(){o.addCssClass(this.container,\"ace_focus\")},this.visualizeBlur=function(){o.removeCssClass(this.container,\"ace_focus\")},this.showComposition=function(e){this.$composition||(this.$composition={keepTextAreaAtCursor:this.$keepTextAreaAtCursor,cssText:this.textarea.style.cssText}),this.$keepTextAreaAtCursor=!0,o.addCssClass(this.textarea,\"ace_composition\"),this.textarea.style.cssText=\"\",this.$moveTextAreaToCursor()},this.setCompositionText=function(e){this.$moveTextAreaToCursor()},this.hideComposition=function(){this.$composition&&(o.removeCssClass(this.textarea,\"ace_composition\"),this.$keepTextAreaAtCursor=this.$composition.keepTextAreaAtCursor,this.textarea.style.cssText=this.$composition.cssText,this.$composition=null)},this.setTheme=function(e,t){function n(n){if(r.$themeId!=e)return t&&t();if(!n||!n.cssClass)throw new Error(\"couldn't load module \"+e+\" or it didn't call define\");o.importCssString(n.cssText,n.cssClass,r.container.ownerDocument),r.theme&&o.removeCssClass(r.container,r.theme.cssClass);var i=\"padding\"in n?n.padding:\"padding\"in(r.theme||{})?4:r.$padding;r.$padding&&i!=r.$padding&&r.setPadding(i),r.$theme=n.cssClass,r.theme=n,o.addCssClass(r.container,n.cssClass),o.setCssClass(r.container,\"ace_dark\",n.isDark),r.$size&&(r.$size.width=0,r.$updateSizeAsync()),r._dispatchEvent(\"themeLoaded\",{theme:n}),t&&t()}var r=this;if(this.$themeId=e,r._dispatchEvent(\"themeChange\",{theme:e}),e&&\"string\"!=typeof e)n(e);else{var a=e||this.$options.theme.initialValue;i.loadModule([\"theme\",a],n)}},this.getTheme=function(){return this.$themeId},this.setStyle=function(e,t){o.setCssClass(this.container,e,t!==!1)},this.unsetStyle=function(e){o.removeCssClass(this.container,e)},this.setCursorStyle=function(e){this.scroller.style.cursor!=e&&(this.scroller.style.cursor=e)},this.setMouseCursor=function(e){this.scroller.style.cursor=e},this.destroy=function(){this.$textLayer.destroy(),this.$cursorLayer.destroy()}}).call(_.prototype),i.defineOptions(_.prototype,\"renderer\",{animatedScroll:{initialValue:!1},showInvisibles:{set:function(e){this.$textLayer.setShowInvisibles(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function(e){\"number\"==typeof e&&(this.$printMarginColumn=e),this.$showPrintMargin=!!e,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function(e){this.$gutter.style.display=e?\"block\":\"none\",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},fadeFoldWidgets:{set:function(e){o.setCssClass(this.$gutter,\"ace_fade-fold-widgets\",e)},initialValue:!1},showFoldWidgets:{set:function(e){this.$gutterLayer.setShowFoldWidgets(e)},initialValue:!0},showLineNumbers:{set:function(e){this.$gutterLayer.setShowLineNumbers(e),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function(e){this.$textLayer.setDisplayIndentGuides(e)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightGutterLine:{set:function(e){return this.$gutterLineHighlight?(this.$gutterLineHighlight.style.display=e?\"\":\"none\",void(this.$cursorLayer.$pixelPos&&this.$updateGutterLineHighlight())):(this.$gutterLineHighlight=o.createElement(\"div\"),this.$gutterLineHighlight.className=\"ace_gutter-active-line\",void this.$gutter.appendChild(this.$gutterLineHighlight))},initialValue:!1,value:!0},hScrollBarAlwaysVisible:{set:function(e){this.$hScrollBarAlwaysVisible&&this.$horizScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function(e){this.$vScrollBarAlwaysVisible&&this.$vScroll||this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function(e){\"number\"==typeof e&&(e+=\"px\"),this.container.style.fontSize=e,this.updateFontSize()},initialValue:12},fontFamily:{set:function(e){this.container.style.fontFamily=e,this.updateFontSize()}},maxLines:{set:function(e){this.updateFull()}},minLines:{set:function(e){this.updateFull()}},maxPixelHeight:{set:function(e){this.updateFull()},initialValue:0},scrollPastEnd:{set:function(e){e=+e||0,this.$scrollPastEnd!=e&&(this.$scrollPastEnd=e,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function(e){this.$gutterLayer.$fixedWidth=!!e,this.$loop.schedule(this.CHANGE_GUTTER)}},theme:{set:function(e){this.setTheme(e)},get:function(){return this.$themeId||this.theme},initialValue:\"./theme/textmate\",handlesSet:!0}}),t.VirtualRenderer=_}),ace.define(\"ace/worker/worker_client\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/net\",\"ace/lib/event_emitter\",\"ace/config\"],function(e,n,r){\"use strict\";function o(e,t){var n=t.src;\"importScripts('\"+s.qualifyURL(e)+\"');\";try{return new Blob([n],{type:\"application/javascript\"})}catch(e){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,o=new r;return o.append(n),o.getBlob(\"application/javascript\")}}function i(e,t){var n=o(e,t),r=window.URL||window.webkitURL,i=r.createObjectURL(n);return new Worker(i)}var a=e(\"../lib/oop\"),s=e(\"../lib/net\"),u=e(\"../lib/event_emitter\").EventEmitter,l=e(\"../config\"),c=function(t,n,r,o,a){if(this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),e.nameToUrl&&!e.toUrl&&(e.toUrl=e.nameToUrl),l.get(\"packaged\")||!e.toUrl)o=o||l.moduleUrl(n.id,\"worker\");else{var s=this.$normalizePath;o=o||s(e.toUrl(\"ace/worker/worker.js\",null,\"_\"));var u={};t.forEach(function(t){u[t]=s(e.toUrl(t,null,\"_\").replace(/(\\.js)?(\\?.*)?$/,\"\"))})}this.$worker=i(o,n),a&&this.send(\"importScripts\",a),this.$worker.postMessage({init:!0,tlns:u,module:n.id,classname:r}),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){a.implement(this,u),this.onMessage=function(e){var n=e.data;switch(n.type){case\"event\":this._signal(n.name,{data:n.data});break;case\"call\":var r=this.callbacks[n.id];r&&(r(n.data),delete this.callbacks[n.id]);break;case\"error\":this.reportError(n.data);break;case\"log\":window.console&&t.log&&t.log.apply(t,n.data)}},this.reportError=function(e){window.console&&t.error&&t.error(e)},this.$normalizePath=function(e){return s.qualifyURL(e)},this.terminate=function(){this._signal(\"terminate\",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker=null,this.$doc&&this.$doc.off(\"change\",this.changeListener),this.$doc=null},this.send=function(e,t){this.$worker.postMessage({command:e,args:t})},this.call=function(e,t,n){if(n){var r=this.callbackId++;this.callbacks[r]=n,t.push(r)}this.send(e,t)},this.emit=function(e,n){try{this.$worker.postMessage({event:e,data:{data:n.data}})}catch(e){t.error(e.stack)}},this.attachToDocument=function(e){this.$doc&&this.terminate(),this.$doc=e,this.call(\"setValue\",[e.getValue()]),e.on(\"change\",this.changeListener)},this.changeListener=function(e){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),\"insert\"==e.action?this.deltaQueue.push(e.start,e.lines):this.deltaQueue.push(e.start,e.end)},this.$sendDeltaQueue=function(){var e=this.deltaQueue;e&&(this.deltaQueue=null,e.length>50&&e.length>this.$doc.getLength()>>1?this.call(\"setValue\",[this.$doc.getValue()]):this.emit(\"change\",{data:e}))}}).call(c.prototype);var d=function(e,t,n){this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.callbackId=1,this.callbacks={},this.messageBuffer=[];var r=null,o=!1,i=Object.create(u),a=this;this.$worker={},this.$worker.terminate=function(){},this.$worker.postMessage=function(e){a.messageBuffer.push(e),r&&(o?setTimeout(s):s())},this.setEmitSync=function(e){o=e};var s=function(){var e=a.messageBuffer.shift();e.command?r[e.command].apply(r,e.args):e.event&&i._signal(e.event,e.data)};i.postMessage=function(e){a.onMessage({data:e})},i.callback=function(e,t){this.postMessage({type:\"call\",id:t,data:e})},i.emit=function(e,t){this.postMessage({type:\"event\",name:e,data:t})},l.loadModule([\"worker\",t],function(e){for(r=new e[n](i);a.messageBuffer.length;)s()})};d.prototype=c.prototype,n.UIWorkerClient=d,n.WorkerClient=c,n.createWorker=i}),ace.define(\"ace/placeholder\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/lib/event_emitter\",\"ace/lib/oop\"],function(e,t,n){\"use strict\";var r=e(\"./range\").Range,o=e(\"./lib/event_emitter\").EventEmitter,i=e(\"./lib/oop\"),a=function(e,t,n,r,o,i){var a=this;this.length=t,this.session=e,this.doc=e.getDocument(),this.mainClass=o,this.othersClass=i,this.$onUpdate=this.onUpdate.bind(this),this.doc.on(\"change\",this.$onUpdate),this.$others=r,this.$onCursorChange=function(){setTimeout(function(){a.onCursorChange()})},this.$pos=n;var s=e.getUndoManager().$undoStack||e.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=s.length,this.setup(),e.selection.on(\"changeCursor\",this.$onCursorChange)};(function(){i.implement(this,o),this.setup=function(){var e=this,t=this.doc,n=this.session;this.selectionBefore=n.selection.toJSON(),n.selection.inMultiSelectMode&&n.selection.toSingleRange(),this.pos=t.createAnchor(this.$pos.row,this.$pos.column);var o=this.pos;o.$insertRight=!0,o.detach(),o.markerId=n.addMarker(new r(o.row,o.column,o.row,o.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(n){var r=t.createAnchor(n.row,n.column);r.$insertRight=!0,\nr.detach(),e.others.push(r)}),n.setUndoSelect(!1)},this.showOtherMarkers=function(){if(!this.othersActive){var e=this.session,t=this;this.othersActive=!0,this.others.forEach(function(n){n.markerId=e.addMarker(new r(n.row,n.column,n.row,n.column+t.length),t.othersClass,null,!1)})}},this.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var e=0;e<this.others.length;e++)this.session.removeMarker(this.others[e].markerId)}},this.onUpdate=function(e){if(this.$updating)return this.updateAnchors(e);var t=e;if(t.start.row===t.end.row&&t.start.row===this.pos.row){this.$updating=!0;var n=\"insert\"===e.action?t.end.column-t.start.column:t.start.column-t.end.column,o=t.start.column>=this.pos.column&&t.start.column<=this.pos.column+this.length+1,i=t.start.column-this.pos.column;if(this.updateAnchors(e),o&&(this.length+=n),o&&!this.session.$fromUndo)if(\"insert\"===e.action)for(var a=this.others.length-1;a>=0;a--){var s=this.others[a],u={row:s.row,column:s.column+i};this.doc.insertMergedLines(u,e.lines)}else if(\"remove\"===e.action)for(var a=this.others.length-1;a>=0;a--){var s=this.others[a],u={row:s.row,column:s.column+i};this.doc.remove(new r(u.row,u.column,u.row,u.column-n))}this.$updating=!1,this.updateMarkers()}},this.updateAnchors=function(e){this.pos.onChange(e);for(var t=this.others.length;t--;)this.others[t].onChange(e);this.updateMarkers()},this.updateMarkers=function(){if(!this.$updating){var e=this,t=this.session,n=function(n,o){t.removeMarker(n.markerId),n.markerId=t.addMarker(new r(n.row,n.column,n.row,n.column+e.length),o,null,!1)};n(this.pos,this.mainClass);for(var o=this.others.length;o--;)n(this.others[o],this.othersClass)}},this.onCursorChange=function(e){if(!this.$updating&&this.session){var t=this.session.selection.getCursor();t.row===this.pos.row&&t.column>=this.pos.column&&t.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit(\"cursorEnter\",e)):(this.hideOtherMarkers(),this._emit(\"cursorLeave\",e))}},this.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.removeEventListener(\"change\",this.$onUpdate),this.session.selection.removeEventListener(\"changeCursor\",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},this.cancel=function(){if(this.$undoStackDepth!==-1){for(var e=this.session.getUndoManager(),t=(e.$undoStack||e.$undostack).length-this.$undoStackDepth,n=0;n<t;n++)e.undo(!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}}}).call(a.prototype),t.PlaceHolder=a}),ace.define(\"ace/mouse/multi_select_handler\",[\"require\",\"exports\",\"module\",\"ace/lib/event\",\"ace/lib/useragent\"],function(e,t,n){function r(e,t){return e.row==t.row&&e.column==t.column}function o(e){var t=e.domEvent,n=t.altKey,o=t.shiftKey,s=t.ctrlKey,u=e.getAccelKey(),l=e.getButton();if(s&&a.isMac&&(l=t.button),e.editor.inMultiSelectMode&&2==l)return void e.editor.textInput.onContextMenu(e.domEvent);if(!s&&!n&&!u)return void(0===l&&e.editor.inMultiSelectMode&&e.editor.exitMultiSelectMode());if(0===l){var c,d=e.editor,f=d.selection,p=d.inMultiSelectMode,h=e.getDocumentPosition(),m=f.getCursor(),g=e.inSelection()||f.isEmpty()&&r(h,m),_=e.x,b=e.y,y=function(e){_=e.clientX,b=e.clientY},v=d.session,M=d.renderer.pixelToScreenCoordinates(_,b),A=M;if(d.$mouseHandler.$enableJumpToDef)s&&n||u&&n?c=o?\"block\":\"add\":n&&d.$blockSelectEnabled&&(c=\"block\");else if(u&&!n){if(c=\"add\",!p&&o)return}else n&&d.$blockSelectEnabled&&(c=\"block\");if(c&&a.isMac&&t.ctrlKey&&d.$mouseHandler.cancelContextMenu(),\"add\"==c){if(!p&&g)return;if(!p){var w=f.toOrientedRange();d.addSelectionMarker(w)}var C=f.rangeList.rangeAtPoint(h);d.$blockScrolling++,d.inVirtualSelectionMode=!0,o&&(C=null,w=f.ranges[0]||w,d.removeSelectionMarker(w)),d.once(\"mouseup\",function(){var e=f.toOrientedRange();C&&e.isEmpty()&&r(C.cursor,e.cursor)?f.substractPoint(e.cursor):(o?f.substractPoint(w.cursor):w&&(d.removeSelectionMarker(w),f.addRange(w)),f.addRange(e)),d.$blockScrolling--,d.inVirtualSelectionMode=!1})}else if(\"block\"==c){e.stop(),d.inVirtualSelectionMode=!0;var E,L=[],T=function(){var e=d.renderer.pixelToScreenCoordinates(_,b),t=v.screenToDocumentPosition(e.row,e.column,e.offsetX);r(A,e)&&r(t,f.lead)||(A=e,d.$blockScrolling++,d.selection.moveToPosition(t),d.renderer.scrollCursorIntoView(),d.removeSelectionMarkers(L),L=f.rectangularRangeBlock(A,M),d.$mouseHandler.$clickSelection&&1==L.length&&L[0].isEmpty()&&(L[0]=d.$mouseHandler.$clickSelection.clone()),L.forEach(d.addSelectionMarker,d),d.updateSelectionMarkers(),d.$blockScrolling--)};d.$blockScrolling++,p&&!u?f.toSingleRange():!p&&u&&(E=f.toOrientedRange(),d.addSelectionMarker(E)),o?M=v.documentToScreenPosition(f.lead):f.moveToPosition(h),d.$blockScrolling--,A={row:-1,column:-1};var O=function(e){clearInterval(N),d.removeSelectionMarkers(L),L.length||(L=[f.toOrientedRange()]),d.$blockScrolling++,E&&(d.removeSelectionMarker(E),f.toSingleRange(E));for(var t=0;t<L.length;t++)f.addRange(L[t]);d.inVirtualSelectionMode=!1,d.$mouseHandler.$clickSelection=null,d.$blockScrolling--},S=T;i.capture(d.container,y,O);var N=setInterval(function(){S()},20);return e.preventDefault()}}}var i=e(\"../lib/event\"),a=e(\"../lib/useragent\");t.onMouseDown=o}),ace.define(\"ace/commands/multi_select_commands\",[\"require\",\"exports\",\"module\",\"ace/keyboard/hash_handler\"],function(e,t,n){t.defaultCommands=[{name:\"addCursorAbove\",exec:function(e){e.selectMoreLines(-1)},bindKey:{win:\"Ctrl-Alt-Up\",mac:\"Ctrl-Alt-Up\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"addCursorBelow\",exec:function(e){e.selectMoreLines(1)},bindKey:{win:\"Ctrl-Alt-Down\",mac:\"Ctrl-Alt-Down\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"addCursorAboveSkipCurrent\",exec:function(e){e.selectMoreLines(-1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Up\",mac:\"Ctrl-Alt-Shift-Up\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"addCursorBelowSkipCurrent\",exec:function(e){e.selectMoreLines(1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Down\",mac:\"Ctrl-Alt-Shift-Down\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectMoreBefore\",exec:function(e){e.selectMore(-1)},bindKey:{win:\"Ctrl-Alt-Left\",mac:\"Ctrl-Alt-Left\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectMoreAfter\",exec:function(e){e.selectMore(1)},bindKey:{win:\"Ctrl-Alt-Right\",mac:\"Ctrl-Alt-Right\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectNextBefore\",exec:function(e){e.selectMore(-1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Left\",mac:\"Ctrl-Alt-Shift-Left\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"selectNextAfter\",exec:function(e){e.selectMore(1,!0)},bindKey:{win:\"Ctrl-Alt-Shift-Right\",mac:\"Ctrl-Alt-Shift-Right\"},scrollIntoView:\"cursor\",readOnly:!0},{name:\"splitIntoLines\",exec:function(e){e.multiSelect.splitIntoLines()},bindKey:{win:\"Ctrl-Alt-L\",mac:\"Ctrl-Alt-L\"},readOnly:!0},{name:\"alignCursors\",exec:function(e){e.alignCursors()},bindKey:{win:\"Ctrl-Alt-A\",mac:\"Ctrl-Alt-A\"},scrollIntoView:\"cursor\"},{name:\"findAll\",exec:function(e){e.findAll()},bindKey:{win:\"Ctrl-Alt-K\",mac:\"Ctrl-Alt-G\"},scrollIntoView:\"cursor\",readOnly:!0}],t.multiSelectCommands=[{name:\"singleSelection\",bindKey:\"esc\",exec:function(e){e.exitMultiSelectMode()},scrollIntoView:\"cursor\",readOnly:!0,isAvailable:function(e){return e&&e.inMultiSelectMode}}];var r=e(\"../keyboard/hash_handler\").HashHandler;t.keyboardHandler=new r(t.multiSelectCommands)}),ace.define(\"ace/multi_select\",[\"require\",\"exports\",\"module\",\"ace/range_list\",\"ace/range\",\"ace/selection\",\"ace/mouse/multi_select_handler\",\"ace/lib/event\",\"ace/lib/lang\",\"ace/commands/multi_select_commands\",\"ace/search\",\"ace/edit_session\",\"ace/editor\",\"ace/config\"],function(e,t,n){function r(e,t,n){return m.$options.wrap=!0,m.$options.needle=t,m.$options.backwards=n==-1,m.find(e)}function o(e,t){return e.row==t.row&&e.column==t.column}function i(e){e.$multiselectOnSessionChange||(e.$onAddRange=e.$onAddRange.bind(e),e.$onRemoveRange=e.$onRemoveRange.bind(e),e.$onMultiSelect=e.$onMultiSelect.bind(e),e.$onSingleSelect=e.$onSingleSelect.bind(e),e.$multiselectOnSessionChange=t.onSessionChange.bind(e),e.$checkMultiselectChange=e.$checkMultiselectChange.bind(e),e.$multiselectOnSessionChange(e),e.on(\"changeSession\",e.$multiselectOnSessionChange),e.on(\"mousedown\",c),e.commands.addCommands(p.defaultCommands),a(e))}function a(e){function t(t){r&&(e.renderer.setMouseCursor(\"\"),r=!1)}var n=e.textInput.getElement(),r=!1;d.addListener(n,\"keydown\",function(n){var o=18==n.keyCode&&!(n.ctrlKey||n.shiftKey||n.metaKey);e.$blockSelectEnabled&&o?r||(e.renderer.setMouseCursor(\"crosshair\"),r=!0):r&&t()}),d.addListener(n,\"keyup\",t),d.addListener(n,\"blur\",t)}var s=e(\"./range_list\").RangeList,u=e(\"./range\").Range,l=e(\"./selection\").Selection,c=e(\"./mouse/multi_select_handler\").onMouseDown,d=e(\"./lib/event\"),f=e(\"./lib/lang\"),p=e(\"./commands/multi_select_commands\");t.commands=p.defaultCommands.concat(p.multiSelectCommands);var h=e(\"./search\").Search,m=new h,g=e(\"./edit_session\").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(g.prototype),function(){this.ranges=null,this.rangeList=null,this.addRange=function(e,t){if(e){if(!this.inMultiSelectMode&&0===this.rangeCount){var n=this.toOrientedRange();if(this.rangeList.add(n),this.rangeList.add(e),2!=this.rangeList.ranges.length)return this.rangeList.removeAll(),t||this.fromOrientedRange(e);this.rangeList.removeAll(),this.rangeList.add(n),this.$onAddRange(n)}e.cursor||(e.cursor=e.end);var r=this.rangeList.add(e);return this.$onAddRange(e),r.length&&this.$onRemoveRange(r),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal(\"multiSelect\"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),t||this.fromOrientedRange(e)}},this.toSingleRange=function(e){e=e||this.ranges[0];var t=this.rangeList.removeAll();t.length&&this.$onRemoveRange(t),e&&this.fromOrientedRange(e)},this.substractPoint=function(e){var t=this.rangeList.substractPoint(e);if(t)return this.$onRemoveRange(t),t[0]},this.mergeOverlappingRanges=function(){var e=this.rangeList.merge();e.length?this.$onRemoveRange(e):this.ranges[0]&&this.fromOrientedRange(this.ranges[0])},this.$onAddRange=function(e){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(e),this._signal(\"addRange\",{range:e})},this.$onRemoveRange=function(e){if(this.rangeCount=this.rangeList.ranges.length,1==this.rangeCount&&this.inMultiSelectMode){var t=this.rangeList.ranges.pop();e.push(t),this.rangeCount=0}for(var n=e.length;n--;){var r=this.ranges.indexOf(e[n]);this.ranges.splice(r,1)}this._signal(\"removeRange\",{ranges:e}),0===this.rangeCount&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal(\"singleSelect\"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),t=t||this.ranges[0],t&&!t.isEqual(this.getRange())&&this.fromOrientedRange(t)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new s,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=u.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var n=this.getRange(),r=this.isBackwards(),o=n.start.row,i=n.end.row;if(o==i){if(r)var a=n.end,s=n.start;else var a=n.start,s=n.end;return this.addRange(u.fromPoints(s,s)),void this.addRange(u.fromPoints(a,a))}var l=[],c=this.getLineRange(o,!0);c.start.column=n.start.column,l.push(c);for(var d=o+1;d<i;d++)l.push(this.getLineRange(d,!0));c=this.getLineRange(i,!0),c.end.column=n.end.column,l.push(c),l.forEach(this.addRange,this)}},this.toggleBlockSelection=function(){if(this.rangeCount>1){var e=this.rangeList.ranges,t=e[e.length-1],n=u.fromPoints(e[0].start,t.end);this.toSingleRange(),this.setSelectionRange(n,t.cursor==t.start)}else{var r=this.session.documentToScreenPosition(this.selectionLead),o=this.session.documentToScreenPosition(this.selectionAnchor),i=this.rectangularRangeBlock(r,o);i.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(e,t,n){var r=[],i=e.column<t.column;if(i)var a=e.column,s=t.column,l=e.offsetX,c=t.offsetX;else var a=t.column,s=e.column,l=t.offsetX,c=e.offsetX;var d=e.row<t.row;if(d)var f=e.row,p=t.row;else var f=t.row,p=e.row;a<0&&(a=0),f<0&&(f=0),f==p&&(n=!0);for(var h=f;h<=p;h++){var m=u.fromPoints(this.session.screenToDocumentPosition(h,a,l),this.session.screenToDocumentPosition(h,s,c));if(m.isEmpty()){if(g&&o(m.end,g))break;var g=m.end}m.cursor=i?m.start:m.end,r.push(m)}if(d&&r.reverse(),!n){for(var _=r.length-1;r[_].isEmpty()&&_>0;)_--;if(_>0)for(var b=0;r[b].isEmpty();)b++;for(var y=_;y>=b;y--)r[y].isEmpty()&&r.splice(y,1)}return r}}.call(l.prototype);var _=e(\"./editor\").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(e){e.cursor||(e.cursor=e.end);var t=this.getSelectionStyle();return e.marker=this.session.addMarker(e,\"ace_selection\",t),this.session.$selectionMarkers.push(e),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,e},this.removeSelectionMarker=function(e){if(e.marker){this.session.removeMarker(e.marker);var t=this.session.$selectionMarkers.indexOf(e);t!=-1&&this.session.$selectionMarkers.splice(t,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(e){for(var t=this.session.$selectionMarkers,n=e.length;n--;){var r=e[n];if(r.marker){this.session.removeMarker(r.marker);var o=t.indexOf(r);o!=-1&&t.splice(o,1)}}this.session.selectionMarkerCount=t.length},this.$onAddRange=function(e){this.addSelectionMarker(e.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(e){this.removeSelectionMarkers(e.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(e){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle(\"ace_multiselect\"),this.keyBinding.addKeyboardHandler(p.keyboardHandler),this.commands.setDefaultHandler(\"exec\",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(e){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle(\"ace_multiselect\"),this.keyBinding.removeKeyboardHandler(p.keyboardHandler),this.commands.removeDefaultHandler(\"exec\",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit(\"changeSelection\"))},this.$onMultiSelectExec=function(e){var t=e.command,n=e.editor;if(n.multiSelect){if(t.multiSelectAction)\"forEach\"==t.multiSelectAction?r=n.forEachSelection(t,e.args):\"forEachLine\"==t.multiSelectAction?r=n.forEachSelection(t,e.args,!0):\"single\"==t.multiSelectAction?(n.exitMultiSelectMode(),r=t.exec(n,e.args||{})):r=t.multiSelectAction(n,e.args||{});else{var r=t.exec(n,e.args||{});n.multiSelect.addRange(n.multiSelect.toOrientedRange()),n.multiSelect.mergeOverlappingRanges()}return r}},this.forEachSelection=function(e,t,n){if(!this.inVirtualSelectionMode){var r,o=n&&n.keepOrder,i=1==n||n&&n.$byLines,a=this.session,s=this.selection,u=s.rangeList,c=(o?s:u).ranges;if(!c.length)return e.exec?e.exec(this,t||{}):e(this,t||{});var d=s._eventRegistry;s._eventRegistry={};var f=new l(a);this.inVirtualSelectionMode=!0;for(var p=c.length;p--;){if(i)for(;p>0&&c[p].start.row==c[p-1].end.row;)p--;f.fromOrientedRange(c[p]),f.index=p,this.selection=a.selection=f;var h=e.exec?e.exec(this,t||{}):e(this,t||{});r||void 0===h||(r=h),f.toOrientedRange(c[p])}f.detach(),this.selection=a.selection=s,this.inVirtualSelectionMode=!1,s._eventRegistry=d,s.mergeOverlappingRanges();var m=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),m&&m.from==m.to&&this.renderer.animateScrolling(m.from),r}},this.exitMultiSelectMode=function(){this.inMultiSelectMode&&!this.inVirtualSelectionMode&&this.multiSelect.toSingleRange()},this.getSelectedText=function(){var e=\"\";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var t=this.multiSelect.rangeList.ranges,n=[],r=0;r<t.length;r++)n.push(this.session.getTextRange(t[r]));var o=this.session.getDocument().getNewLineCharacter();e=n.join(o),e.length==(n.length-1)*o.length&&(e=\"\")}else this.selection.isEmpty()||(e=this.session.getTextRange(this.getSelectionRange()));return e},this.$checkMultiselectChange=function(e,t){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var n=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&t==this.multiSelect.anchor)return;var r=t==this.multiSelect.anchor?n.cursor==n.start?n.end:n.start:n.cursor;r.row==t.row&&this.session.$clipPositionToDocument(r.row,r.column).column==t.column||this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange())}},this.findAll=function(e,t,n){if(t=t||{},t.needle=e||t.needle,void 0==t.needle){var r=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();t.needle=this.session.getTextRange(r)}this.$search.set(t);var o=this.$search.findAll(this.session);if(!o.length)return 0;this.$blockScrolling+=1;var i=this.multiSelect;n||i.toSingleRange(o[0]);for(var a=o.length;a--;)i.addRange(o[a],!0);return r&&i.rangeList.rangeAtPoint(r.start)&&i.addRange(r,!0),this.$blockScrolling-=1,o.length},this.selectMoreLines=function(e,t){var n=this.selection.toOrientedRange(),r=n.cursor==n.end,o=this.session.documentToScreenPosition(n.cursor);this.selection.$desiredColumn&&(o.column=this.selection.$desiredColumn);var i=this.session.screenToDocumentPosition(o.row+e,o.column);if(n.isEmpty())var a=i;else var s=this.session.documentToScreenPosition(r?n.end:n.start),a=this.session.screenToDocumentPosition(s.row+e,s.column);if(r){var l=u.fromPoints(i,a);l.cursor=l.start}else{var l=u.fromPoints(a,i);l.cursor=l.end}if(l.desiredColumn=o.column,this.selection.inMultiSelectMode){if(t)var c=n.cursor}else this.selection.addRange(n);this.selection.addRange(l),c&&this.selection.substractPoint(c)},this.transposeSelections=function(e){for(var t=this.session,n=t.multiSelect,r=n.ranges,o=r.length;o--;){var i=r[o];if(i.isEmpty()){var a=t.getWordRange(i.start.row,i.start.column);i.start.row=a.start.row,i.start.column=a.start.column,i.end.row=a.end.row,i.end.column=a.end.column}}n.mergeOverlappingRanges();for(var s=[],o=r.length;o--;){var i=r[o];s.unshift(t.getTextRange(i))}e<0?s.unshift(s.pop()):s.push(s.shift());for(var o=r.length;o--;){var i=r[o],a=i.clone();t.replace(i,s[o]),i.start.row=a.start.row,i.start.column=a.start.column}},this.selectMore=function(e,t,n){var o=this.session,i=o.multiSelect,a=i.toOrientedRange();if(!a.isEmpty()||(a=o.getWordRange(a.start.row,a.start.column),a.cursor=e==-1?a.start:a.end,this.multiSelect.addRange(a),!n)){var s=o.getTextRange(a),u=r(o,s,e);u&&(u.cursor=e==-1?u.start:u.end,this.$blockScrolling+=1,this.session.unfold(u),this.multiSelect.addRange(u),this.$blockScrolling-=1,this.renderer.scrollCursorIntoView(null,.5)),t&&this.multiSelect.substractPoint(a.cursor)}},this.alignCursors=function(){var e=this.session,t=e.multiSelect,n=t.ranges,r=-1,o=n.filter(function(e){return e.cursor.row==r||void(r=e.cursor.row)});if(n.length&&o.length!=n.length-1){o.forEach(function(e){t.substractPoint(e.cursor)});var i=0,a=1/0,s=n.map(function(t){var n=t.cursor,r=e.getLine(n.row),o=r.substr(n.column).search(/\\S/g);return o==-1&&(o=0),n.column>i&&(i=n.column),o<a&&(a=o),o});n.forEach(function(t,n){var r=t.cursor,o=i-r.column,l=s[n]-a;o>l?e.insert(r,f.stringRepeat(\" \",o-l)):e.remove(new u(r.row,r.column,r.row,r.column-o+l)),t.start.column=t.end.column=i,t.start.row=t.end.row=r.row,t.cursor=t.end}),t.fromOrientedRange(n[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}else{var l=this.selection.getRange(),c=l.start.row,d=l.end.row,p=c==d;if(p){var h,m=this.session.getLength();do h=this.session.getLine(d);while(/[=:]/.test(h)&&++d<m);do h=this.session.getLine(c);while(/[=:]/.test(h)&&--c>0);c<0&&(c=0),d>=m&&(d=m-1)}var g=this.session.removeFullLines(c,d);g=this.$reAlignText(g,p),this.session.insert({row:c,column:0},g.join(\"\\n\")+\"\\n\"),p||(l.start.column=0,l.end.column=g[g.length-1].length),this.selection.setRange(l)}},this.$reAlignText=function(e,t){function n(e){return f.stringRepeat(\" \",e)}function r(e){return e[2]?n(a)+e[2]+n(s-e[2].length+u)+e[4].replace(/^([=:])\\s+/,\"$1 \"):e[0]}function o(e){return e[2]?n(a+s-e[2].length)+e[2]+n(u,\" \")+e[4].replace(/^([=:])\\s+/,\"$1 \"):e[0]}function i(e){return e[2]?n(a)+e[2]+n(u)+e[4].replace(/^([=:])\\s+/,\"$1 \"):e[0]}var a,s,u,l=!0,c=!0;return e.map(function(e){var t=e.match(/(\\s*)(.*?)(\\s*)([=:].*)/);return t?null==a?(a=t[1].length,s=t[2].length,u=t[3].length,t):(a+s+u!=t[1].length+t[2].length+t[3].length&&(c=!1),a!=t[1].length&&(l=!1),a>t[1].length&&(a=t[1].length),s<t[2].length&&(s=t[2].length),u>t[3].length&&(u=t[3].length),t):[e]}).map(t?r:l?c?o:r:i)}}).call(_.prototype),t.onSessionChange=function(e){var t=e.session;t&&!t.multiSelect&&(t.$selectionMarkers=[],t.selection.$initRangeList(),t.multiSelect=t.selection),this.multiSelect=t&&t.multiSelect;var n=e.oldSession;n&&(n.multiSelect.off(\"addRange\",this.$onAddRange),n.multiSelect.off(\"removeRange\",this.$onRemoveRange),n.multiSelect.off(\"multiSelect\",this.$onMultiSelect),n.multiSelect.off(\"singleSelect\",this.$onSingleSelect),n.multiSelect.lead.off(\"change\",this.$checkMultiselectChange),n.multiSelect.anchor.off(\"change\",this.$checkMultiselectChange)),t&&(t.multiSelect.on(\"addRange\",this.$onAddRange),t.multiSelect.on(\"removeRange\",this.$onRemoveRange),t.multiSelect.on(\"multiSelect\",this.$onMultiSelect),t.multiSelect.on(\"singleSelect\",this.$onSingleSelect),t.multiSelect.lead.on(\"change\",this.$checkMultiselectChange),t.multiSelect.anchor.on(\"change\",this.$checkMultiselectChange)),t&&this.inMultiSelectMode!=t.selection.inMultiSelectMode&&(t.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())},t.MultiSelect=i,e(\"./config\").defineOptions(_.prototype,\"editor\",{enableMultiselect:{set:function(e){i(this),e?(this.on(\"changeSession\",this.$multiselectOnSessionChange),this.on(\"mousedown\",c)):(this.off(\"changeSession\",this.$multiselectOnSessionChange),this.off(\"mousedown\",c))},value:!0},enableBlockSelect:{set:function(e){this.$blockSelectEnabled=e},value:!0}})}),ace.define(\"ace/mode/folding/fold_mode\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"../../range\").Range,o=t.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);return this.foldingStartMarker.test(r)?\"start\":\"markbeginend\"==t&&this.foldingStopMarker&&this.foldingStopMarker.test(r)?\"end\":\"\"},this.getFoldWidgetRange=function(e,t,n){return null},this.indentationBlock=function(e,t,n){var o=/\\S/,i=e.getLine(t),a=i.search(o);if(a!=-1){for(var s=n||i.length,u=e.getLength(),l=t,c=t;++t<u;){var d=e.getLine(t).search(o);if(d!=-1){if(d<=a)break;c=t}}if(c>l){var f=e.getLine(c).length;return new r(l,s,c,f)}}},this.openingBracketBlock=function(e,t,n,o,i){var a={row:n,column:o+1},s=e.$findClosingBracket(t,a,i);if(s){var u=e.foldWidgets[s.row];return null==u&&(u=e.getFoldWidget(s.row)),\"start\"==u&&s.row>a.row&&(s.row--,s.column=e.getLine(s.row).length),r.fromPoints(a,s)}},this.closingBracketBlock=function(e,t,n,o,i){var a={row:n,column:o},s=e.$findOpeningBracket(t,a);if(s)return s.column++,a.column--,r.fromPoints(s,a)}}).call(o.prototype)}),ace.define(\"ace/theme/textmate\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){\"use strict\";t.isDark=!1,t.cssClass=\"ace-tm\",t.cssText='.ace-tm .ace_gutter {\\tbackground: #f0f0f0;\\tcolor: #333;\\t}\\t.ace-tm .ace_print-margin {\\twidth: 1px;\\tbackground: #e8e8e8;\\t}\\t.ace-tm .ace_fold {\\tbackground-color: #6B72E6;\\t}\\t.ace-tm {\\tbackground-color: #FFFFFF;\\tcolor: black;\\t}\\t.ace-tm .ace_cursor {\\tcolor: black;\\t}\\t.ace-tm .ace_invisible {\\tcolor: rgb(191, 191, 191);\\t}\\t.ace-tm .ace_storage,\\t.ace-tm .ace_keyword {\\tcolor: blue;\\t}\\t.ace-tm .ace_constant {\\tcolor: rgb(197, 6, 11);\\t}\\t.ace-tm .ace_constant.ace_buildin {\\tcolor: rgb(88, 72, 246);\\t}\\t.ace-tm .ace_constant.ace_language {\\tcolor: rgb(88, 92, 246);\\t}\\t.ace-tm .ace_constant.ace_library {\\tcolor: rgb(6, 150, 14);\\t}\\t.ace-tm .ace_invalid {\\tbackground-color: rgba(255, 0, 0, 0.1);\\tcolor: red;\\t}\\t.ace-tm .ace_support.ace_function {\\tcolor: rgb(60, 76, 114);\\t}\\t.ace-tm .ace_support.ace_constant {\\tcolor: rgb(6, 150, 14);\\t}\\t.ace-tm .ace_support.ace_type,\\t.ace-tm .ace_support.ace_class {\\tcolor: rgb(109, 121, 222);\\t}\\t.ace-tm .ace_keyword.ace_operator {\\tcolor: rgb(104, 118, 135);\\t}\\t.ace-tm .ace_string {\\tcolor: rgb(3, 106, 7);\\t}\\t.ace-tm .ace_comment {\\tcolor: rgb(76, 136, 107);\\t}\\t.ace-tm .ace_comment.ace_doc {\\tcolor: rgb(0, 102, 255);\\t}\\t.ace-tm .ace_comment.ace_doc.ace_tag {\\tcolor: rgb(128, 159, 191);\\t}\\t.ace-tm .ace_constant.ace_numeric {\\tcolor: rgb(0, 0, 205);\\t}\\t.ace-tm .ace_variable {\\tcolor: rgb(49, 132, 149);\\t}\\t.ace-tm .ace_xml-pe {\\tcolor: rgb(104, 104, 91);\\t}\\t.ace-tm .ace_entity.ace_name.ace_function {\\tcolor: #0000A2;\\t}\\t.ace-tm .ace_heading {\\tcolor: rgb(12, 7, 255);\\t}\\t.ace-tm .ace_list {\\tcolor:rgb(185, 6, 144);\\t}\\t.ace-tm .ace_meta.ace_tag {\\tcolor:rgb(0, 22, 142);\\t}\\t.ace-tm .ace_string.ace_regex {\\tcolor: rgb(255, 0, 0)\\t}\\t.ace-tm .ace_marker-layer .ace_selection {\\tbackground: rgb(181, 213, 255);\\t}\\t.ace-tm.ace_multiselect .ace_selection.ace_start {\\tbox-shadow: 0 0 3px 0px white;\\t}\\t.ace-tm .ace_marker-layer .ace_step {\\tbackground: rgb(252, 255, 0);\\t}\\t.ace-tm .ace_marker-layer .ace_stack {\\tbackground: rgb(164, 229, 101);\\t}\\t.ace-tm .ace_marker-layer .ace_bracket {\\tmargin: -1px 0 0 -1px;\\tborder: 1px solid rgb(192, 192, 192);\\t}\\t.ace-tm .ace_marker-layer .ace_active-line {\\tbackground: rgba(0, 0, 0, 0.07);\\t}\\t.ace-tm .ace_gutter-active-line {\\tbackground-color : #dcdcdc;\\t}\\t.ace-tm .ace_marker-layer .ace_selected-word {\\tbackground: rgb(250, 250, 255);\\tborder: 1px solid rgb(200, 200, 250);\\t}\\t.ace-tm .ace_indent-guide {\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\\t}\\t';var r=e(\"../lib/dom\");r.importCssString(t.cssText,t.cssClass)}),ace.define(\"ace/line_widgets\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/dom\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e){this.session=e,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on(\"change\",this.updateOnChange),this.session.on(\"changeFold\",this.updateOnFold),this.session.on(\"changeEditor\",this.$onChangeEditor)}var o=(e(\"./lib/oop\"),e(\"./lib/dom\"));e(\"./range\").Range;(function(){this.getRowLength=function(e){var t;return t=this.lineWidgets?this.lineWidgets[e]&&this.lineWidgets[e].rowCount||0:0,this.$useWrapMode&&this.$wrapData[e]?this.$wrapData[e].length+1+t:1+t},this.$getWidgetScreenLength=function(){var e=0;return this.lineWidgets.forEach(function(t){t&&t.rowCount&&!t.hidden&&(e+=t.rowCount)}),e},this.$onChangeEditor=function(e){this.attach(e.editor)},this.attach=function(e){e&&e.widgetManager&&e.widgetManager!=this&&e.widgetManager.detach(),this.editor!=e&&(this.detach(),this.editor=e,e&&(e.widgetManager=this,e.renderer.on(\"beforeRender\",this.measureWidgets),e.renderer.on(\"afterRender\",this.renderWidgets)))},this.detach=function(e){var t=this.editor;if(t){this.editor=null,t.widgetManager=null,t.renderer.off(\"beforeRender\",this.measureWidgets),t.renderer.off(\"afterRender\",this.renderWidgets);var n=this.session.lineWidgets;n&&n.forEach(function(e){e&&e.el&&e.el.parentNode&&(e._inDocument=!1,e.el.parentNode.removeChild(e.el))})}},this.updateOnFold=function(e,t){var n=t.lineWidgets;if(n&&e.action){for(var r=e.data,o=r.start.row,i=r.end.row,a=\"add\"==e.action,s=o+1;s<i;s++)n[s]&&(n[s].hidden=a);n[i]&&(a?n[o]?n[i].hidden=a:n[o]=n[i]:(n[o]==n[i]&&(n[o]=void 0),n[i].hidden=a))}},this.updateOnChange=function(e){var t=this.session.lineWidgets;if(t){var n=e.start.row,r=e.end.row-n;if(0===r);else if(\"remove\"==e.action){var o=t.splice(n+1,r);o.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var i=new Array(r);i.unshift(n,0),t.splice.apply(t,i),this.$updateRows()}}},this.$updateRows=function(){var e=this.session.lineWidgets;if(e){var t=!0;e.forEach(function(e,n){if(e)for(t=!1,e.row=n;e.$oldWidget;)e.$oldWidget.row=n,e=e.$oldWidget}),t&&(this.session.lineWidgets=null)}},this.addLineWidget=function(e){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var t=this.session.lineWidgets[e.row];t&&(e.$oldWidget=t,t.el&&t.el.parentNode&&(t.el.parentNode.removeChild(t.el),t._inDocument=!1)),this.session.lineWidgets[e.row]=e,e.session=this.session;var n=this.editor.renderer;e.html&&!e.el&&(e.el=o.createElement(\"div\"),e.el.innerHTML=e.html),e.el&&(o.addCssClass(e.el,\"ace_lineWidgetContainer\"),e.el.style.position=\"absolute\",e.el.style.zIndex=5,n.container.appendChild(e.el),e._inDocument=!0),e.coverGutter||(e.el.style.zIndex=3),null==e.pixelHeight&&(e.pixelHeight=e.el.offsetHeight),null==e.rowCount&&(e.rowCount=e.pixelHeight/n.layerConfig.lineHeight);var r=this.session.getFoldAt(e.row,0);if(e.$fold=r,r){var i=this.session.lineWidgets;e.row!=r.end.row||i[r.start.row]?e.hidden=!0:i[r.start.row]=e}return this.session._emit(\"changeFold\",{data:{start:{row:e.row}}}),this.$updateRows(),this.renderWidgets(null,n),this.onWidgetChanged(e),e},this.removeLineWidget=function(e){if(e._inDocument=!1,e.session=null,e.el&&e.el.parentNode&&e.el.parentNode.removeChild(e.el),e.editor&&e.editor.destroy)try{e.editor.destroy()}catch(e){}if(this.session.lineWidgets){var t=this.session.lineWidgets[e.row];if(t==e)this.session.lineWidgets[e.row]=e.$oldWidget,e.$oldWidget&&this.onWidgetChanged(e.$oldWidget);else for(;t;){if(t.$oldWidget==e){t.$oldWidget=e.$oldWidget;break}t=t.$oldWidget}}this.session._emit(\"changeFold\",{data:{start:{row:e.row}}}),this.$updateRows()},this.getWidgetsAtRow=function(e){for(var t=this.session.lineWidgets,n=t&&t[e],r=[];n;)r.push(n),n=n.$oldWidget;return r},this.onWidgetChanged=function(e){this.session._changedWidgets.push(e),this.editor&&this.editor.renderer.updateFull()},this.measureWidgets=function(e,t){var n=this.session._changedWidgets,r=t.layerConfig;if(n&&n.length){for(var o=1/0,i=0;i<n.length;i++){var a=n[i];if(a&&a.el&&a.session==this.session){if(!a._inDocument){if(this.session.lineWidgets[a.row]!=a)continue;a._inDocument=!0,t.container.appendChild(a.el)}a.h=a.el.offsetHeight,a.fixedWidth||(a.w=a.el.offsetWidth,a.screenWidth=Math.ceil(a.w/r.characterWidth));var s=a.h/r.lineHeight;a.coverLine&&(s-=this.session.getRowLineCount(a.row),s<0&&(s=0)),a.rowCount!=s&&(a.rowCount=s,a.row<o&&(o=a.row))}}o!=1/0&&(this.session._emit(\"changeFold\",{data:{start:{row:o}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},this.renderWidgets=function(e,t){var n=t.layerConfig,r=this.session.lineWidgets;if(r){for(var o=Math.min(this.firstRow,n.firstRow),i=Math.max(this.lastRow,n.lastRow,r.length);o>0&&!r[o];)o--;this.firstRow=n.firstRow,this.lastRow=n.lastRow,t.$cursorLayer.config=n;for(var a=o;a<=i;a++){var s=r[a];if(s&&s.el)if(s.hidden)s.el.style.top=-100-(s.pixelHeight||0)+\"px\";else{s._inDocument||(s._inDocument=!0,t.container.appendChild(s.el));var u=t.$cursorLayer.getPixelPosition({row:a,column:0},!0).top;s.coverLine||(u+=n.lineHeight*this.session.getRowLineCount(s.row)),s.el.style.top=u-n.offset+\"px\";var l=s.coverGutter?0:t.gutterWidth;s.fixedWidth||(l-=t.scrollLeft),s.el.style.left=l+\"px\",s.fullWidth&&s.screenWidth&&(s.el.style.minWidth=n.width+2*n.padding+\"px\"),s.fixedWidth?s.el.style.right=t.scrollBar.getWidth()+\"px\":s.el.style.right=\"\";\n}}}}}).call(r.prototype),t.LineWidgets=r}),ace.define(\"ace/ext/error_marker\",[\"require\",\"exports\",\"module\",\"ace/line_widgets\",\"ace/lib/dom\",\"ace/range\"],function(e,t,n){\"use strict\";function r(e,t,n){for(var r=0,o=e.length-1;r<=o;){var i=r+o>>1,a=n(t,e[i]);if(a>0)r=i+1;else{if(!(a<0))return i;o=i-1}}return-(r+1)}function o(e,t,n){var o=e.getAnnotations().sort(s.comparePoints);if(o.length){var i=r(o,{row:t,column:-1},s.comparePoints);i<0&&(i=-i-1),i>=o.length?i=n>0?0:o.length-1:0===i&&n<0&&(i=o.length-1);var a=o[i];if(a&&n){if(a.row===t){do a=o[i+=n];while(a&&a.row===t);if(!a)return o.slice()}var u=[];t=a.row;do u[n<0?\"unshift\":\"push\"](a),a=o[i+=n];while(a&&a.row==t);return u.length&&u}}}var i=e(\"../line_widgets\").LineWidgets,a=e(\"../lib/dom\"),s=e(\"../range\").Range;t.showErrorMarker=function(e,t){var n=e.session;n.widgetManager||(n.widgetManager=new i(n),n.widgetManager.attach(e));var r=e.getCursorPosition(),s=r.row,u=n.widgetManager.getWidgetsAtRow(s).filter(function(e){return\"errorMarker\"==e.type})[0];u?u.destroy():s-=t;var l,c=o(n,s,t);if(c){var d=c[0];r.column=(d.pos&&\"number\"!=typeof d.column?d.pos.sc:d.column)||0,r.row=d.row,l=e.renderer.$gutterLayer.$annotations[r.row]}else{if(u)return;l={text:[\"Looks good!\"],className:\"ace_ok\"}}e.session.unfold(r.row),e.selection.moveToPosition(r);var f={row:r.row,fixedWidth:!0,coverGutter:!0,el:a.createElement(\"div\"),type:\"errorMarker\"},p=f.el.appendChild(a.createElement(\"div\")),h=f.el.appendChild(a.createElement(\"div\"));h.className=\"error_widget_arrow \"+l.className;var m=e.renderer.$cursorLayer.getPixelPosition(r).left;h.style.left=m+e.renderer.gutterWidth-5+\"px\",f.el.className=\"error_widget_wrapper\",p.className=\"error_widget \"+l.className,p.innerHTML=l.text.join(\"<br>\"),p.appendChild(a.createElement(\"div\"));var g=function(e,t,n){if(0===t&&(\"esc\"===n||\"return\"===n))return f.destroy(),{command:\"null\"}};f.destroy=function(){e.$mouseHandler.isMousePressed||(e.keyBinding.removeKeyboardHandler(g),n.widgetManager.removeLineWidget(f),e.off(\"changeSelection\",f.destroy),e.off(\"changeSession\",f.destroy),e.off(\"mouseup\",f.destroy),e.off(\"change\",f.destroy))},e.keyBinding.addKeyboardHandler(g),e.on(\"changeSelection\",f.destroy),e.on(\"changeSession\",f.destroy),e.on(\"mouseup\",f.destroy),e.on(\"change\",f.destroy),e.session.widgetManager.addLineWidget(f),f.el.onmousedown=e.focus.bind(e),e.renderer.scrollCursorIntoView(null,.5,{bottom:f.el.offsetHeight})},a.importCssString(\"\\t    .error_widget_wrapper {\\t        background: inherit;\\t        color: inherit;\\t        border:none\\t    }\\t    .error_widget {\\t        border-top: solid 2px;\\t        border-bottom: solid 2px;\\t        margin: 5px 0;\\t        padding: 10px 40px;\\t        white-space: pre-wrap;\\t    }\\t    .error_widget.ace_error, .error_widget_arrow.ace_error{\\t        border-color: #ff5a5a\\t    }\\t    .error_widget.ace_warning, .error_widget_arrow.ace_warning{\\t        border-color: #F1D817\\t    }\\t    .error_widget.ace_info, .error_widget_arrow.ace_info{\\t        border-color: #5a5a5a\\t    }\\t    .error_widget.ace_ok, .error_widget_arrow.ace_ok{\\t        border-color: #5aaa5a\\t    }\\t    .error_widget_arrow {\\t        position: absolute;\\t        border: solid 5px;\\t        border-top-color: transparent!important;\\t        border-right-color: transparent!important;\\t        border-left-color: transparent!important;\\t        top: -5px;\\t    }\\t\",\"\")}),ace.define(\"ace/ace\",[\"require\",\"exports\",\"module\",\"ace/lib/fixoldbrowsers\",\"ace/lib/dom\",\"ace/lib/event\",\"ace/editor\",\"ace/edit_session\",\"ace/undomanager\",\"ace/virtual_renderer\",\"ace/worker/worker_client\",\"ace/keyboard/hash_handler\",\"ace/placeholder\",\"ace/multi_select\",\"ace/mode/folding/fold_mode\",\"ace/theme/textmate\",\"ace/ext/error_marker\",\"ace/config\"],function(e,t,r){\"use strict\";e(\"./lib/fixoldbrowsers\");var o=e(\"./lib/dom\"),i=e(\"./lib/event\"),a=e(\"./editor\").Editor,s=e(\"./edit_session\").EditSession,u=e(\"./undomanager\").UndoManager,l=e(\"./virtual_renderer\").VirtualRenderer;e(\"./worker/worker_client\"),e(\"./keyboard/hash_handler\"),e(\"./placeholder\"),e(\"./multi_select\"),e(\"./mode/folding/fold_mode\"),e(\"./theme/textmate\"),e(\"./ext/error_marker\"),t.config=e(\"./config\"),t.acequire=e,t.define=n(667),t.edit=function(e){if(\"string\"==typeof e){var n=e;if(e=document.getElementById(n),!e)throw new Error(\"ace.edit can't find div #\"+n)}if(e&&e.env&&e.env.editor instanceof a)return e.env.editor;var r=\"\";if(e&&/input|textarea/i.test(e.tagName)){var s=e;r=s.value,e=o.createElement(\"pre\"),s.parentNode.replaceChild(e,s)}else e&&(r=o.getInnerText(e),e.innerHTML=\"\");var u=t.createEditSession(r),c=new a(new l(e));c.setSession(u);var d={document:u,editor:c,onResize:c.resize.bind(c,null)};return s&&(d.textarea=s),i.addListener(window,\"resize\",d.onResize),c.on(\"destroy\",function(){i.removeListener(window,\"resize\",d.onResize),d.editor.container.env=null}),c.container.env=c.env=d,c},t.createEditSession=function(e,t){var n=new s(e,t);return n.setUndoManager(new u),n},t.EditSession=s,t.UndoManager=u,t.version=\"1.2.9\"}),function(){ace.acequire([\"ace/ace\"],function(e){e&&(e.config.init(!0),e.define=ace.define),window.ace||(window.ace=e);for(var t in e)e.hasOwnProperty(t)&&(window.ace[t]=e[t])})}(),e.exports=window.ace.acequire(\"ace/ace\")}).call(t,n(38))},[1717,126,85],[1721,124,151,363],[1722,245],[1727,182,84,371,125,152,933,251,940,68],[1734,154,155,96,256,94,364,124],[1736,369,248],[1738,94,96,925,252],[1740,153,96,154],function(e,t,n){e.exports=n(125)},[1748,254],[1760,942,366],function(e,t,n){var r=n(59);e.exports=function(e,t){if(\"number\"!=typeof e&&\"Number\"!=r(e))throw TypeError(t);return+e}},function(e,t,n){\"use strict\";var r=n(35),o=n(105),i=n(32);e.exports=[].copyWithin||function(e,t){var n=r(this),a=i(n.length),s=o(e,a),u=o(t,a),l=arguments.length>2?arguments[2]:void 0,c=Math.min((void 0===l?a:o(l,a))-u,a-s),d=1;for(u<s&&s<u+c&&(d=-1,u+=c-1,s+=c-1);c-- >0;)u in n?n[s]=n[u]:delete n[s],s+=d,u+=d;return n}},function(e,t,n){var r=n(98);e.exports=function(e,t){var n=[];return r(e,!1,n.push,n,t),n}},function(e,t,n){var r=n(44),o=n(35),i=n(157),a=n(32);e.exports=function(e,t,n,s,u){r(t);var l=o(e),c=i(l),d=a(l.length),f=u?d-1:0,p=u?-1:1;if(n<2)for(;;){if(f in c){s=c[f],f+=p;break}if(f+=p,u?f<0:d<=f)throw TypeError(\"Reduce of empty array with no initial value\")}for(;u?f>=0:d>f;f+=p)f in c&&(s=t(s,c[f],f,l));return s}},function(e,t,n){\"use strict\";var r=n(44),o=n(22),i=n(384),a=[].slice,s={},u=function(e,t,n){if(!(t in s)){for(var r=[],o=0;o<t;o++)r[o]=\"a[\"+o+\"]\";s[t]=Function(\"F,a\",\"return new F(\"+r.join(\",\")+\")\")}return s[t](e,n)};e.exports=Function.bind||function(e){var t=r(this),n=a.call(arguments,1),s=function(){var r=n.concat(a.call(arguments));return this instanceof s?u(t,r.length,r):i(t,r,e)};return o(t.prototype)&&(s.prototype=t.prototype),s}},function(e,t,n){\"use strict\";var r=n(31).f,o=n(99),i=n(103),a=n(61),s=n(97),u=n(98),l=n(269),c=n(387),d=n(104),f=n(30),p=n(88).fastKey,h=n(130),m=f?\"_s\":\"size\",g=function(e,t){var n,r=p(t);if(\"F\"!==r)return e._i[r];for(n=e._f;n;n=n.n)if(n.k==t)return n};e.exports={getConstructor:function(e,t,n,l){var c=e(function(e,r){s(e,c,t,\"_i\"),e._t=t,e._i=o(null),e._f=void 0,e._l=void 0,e[m]=0,void 0!=r&&u(r,n,e[l],e)});return i(c.prototype,{clear:function(){for(var e=h(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i];e._f=e._l=void 0,e[m]=0},delete:function(e){var n=h(this,t),r=g(n,e);if(r){var o=r.n,i=r.p;delete n._i[r.i],r.r=!0,i&&(i.n=o),o&&(o.p=i),n._f==r&&(n._f=o),n._l==r&&(n._l=i),n[m]--}return!!r},forEach:function(e){h(this,t);for(var n,r=a(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!g(h(this,t),e)}}),f&&r(c.prototype,\"size\",{get:function(){return h(this,t)[m]}}),c},def:function(e,t,n){var r,o,i=g(e,t);return i?i.v=n:(e._l=i={i:o=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=i),r&&(r.n=i),e[m]++,\"F\"!==o&&(e._i[o]=i)),e},getEntry:g,setStrong:function(e,t,n){l(e,t,function(e,n){this._t=h(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p;return e._t&&(e._l=n=n?n.n:e._t._f)?\"keys\"==t?c(0,n.k):\"values\"==t?c(0,n.v):c(0,[n.k,n.v]):(e._t=void 0,c(1))},n?\"entries\":\"values\",!n,!0),d(t)}}},function(e,t,n){var r=n(156),o=n(376);e.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+\"#toJSON isn't generic\");return o(this)}}},function(e,t,n){\"use strict\";var r=n(103),o=n(88).getWeak,i=n(18),a=n(22),s=n(97),u=n(98),l=n(69),c=n(54),d=n(130),f=l(5),p=l(6),h=0,m=function(e){return e._l||(e._l=new g)},g=function(){this.a=[]},_=function(e,t){return f(e.a,function(e){return e[0]===t})};g.prototype={get:function(e){var t=_(this,e);if(t)return t[1]},has:function(e){return!!_(this,e)},set:function(e,t){var n=_(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,i){var l=e(function(e,r){s(e,l,t,\"_i\"),e._t=t,e._i=h++,e._l=void 0,void 0!=r&&u(r,n,e[i],e)});return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=o(e);return n===!0?m(d(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=o(e);return n===!0?m(d(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=o(i(t),!0);return r===!0?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){\"use strict\";function r(e,t,n,l,c,d,f,p){for(var h,m,g=c,_=0,b=!!f&&s(f,p,3);_<l;){if(_ in n){if(h=b?b(n[_],_,t):n[_],m=!1,i(h)&&(m=h[u],m=void 0!==m?!!m:o(h)),m&&d>0)g=r(e,t,h,a(h.length),g,d-1)-1;else{if(g>=9007199254740991)throw TypeError();e[g]=h}g++}_++}return g}var o=n(188),i=n(22),a=n(32),s=n(61),u=n(26)(\"isConcatSpreadable\");e.exports=r},[1721,30,21,262],function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){var r=n(22),o=Math.floor;e.exports=function(e){return!r(e)&&isFinite(e)&&o(e)===e}},[1725,18],function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(271),o=Math.pow,i=o(2,-52),a=o(2,-23),s=o(2,127)*(2-a),u=o(2,-126),l=function(e){return e+1/i-1/i};e.exports=Math.fround||function(e){var t,n,o=Math.abs(e),c=r(e);return o<u?c*l(o/u/a)*u*a:(t=(1+a/i)*o,n=t-(t-o),n>s||n!=n?c*(1/0):c*n)}},function(e,t){e.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},function(e,t){e.exports=Math.scale||function(e,t,n,r,o){return 0===arguments.length||e!=e||t!=t||n!=n||r!=r||o!=o?NaN:e===1/0||e===-(1/0)?e:(e-t)*(o-r)/(n-t)+r}},[1730,101,192,158,35,157,21],[1733,31,18,101,30],[1735,57,100],[1738,54,57,184,275],[1740,101,57,158],function(e,t,n){var r=n(100),o=n(192),i=n(18),a=n(19).Reflect;e.exports=a&&a.ownKeys||function(e){var t=r.f(i(e)),n=o.f;return n?t.concat(n(e)):t}},function(e,t,n){var r=n(19).parseFloat,o=n(129).trim;e.exports=1/r(n(279)+\"-0\")!==-(1/0)?function(e){var t=o(String(e),3),n=r(t);return 0===n&&\"-\"==t.charAt(0)?-0:n}:r},function(e,t,n){var r=n(19).parseInt,o=n(129).trim,i=n(279),a=/^[-+]?0[xX]/;e.exports=8!==r(i+\"08\")||22!==r(i+\"0x16\")?function(e,t){var n=o(String(e),3);return r(n,t>>>0||(a.test(n)?16:10))}:r},function(e,t){e.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},function(e,t,n){var r=n(18),o=n(22),i=n(273);e.exports=function(e,t){if(r(e),o(t)&&t.constructor===e)return t;var n=i.f(e),a=n.resolve;return a(t),n.promise}},function(e,t,n){var r=n(32),o=n(278),i=n(70);e.exports=function(e,t,n,a){var s=String(i(e)),u=s.length,l=void 0===n?\" \":String(n),c=r(t);if(c<=u||\"\"==l)return s;var d=c-u,f=o.call(l,Math.ceil(d/l.length));return f.length>d&&(f=f.slice(0,d)),a?f+s:s+f}},function(e,t,n){var r=n(72),o=n(32);e.exports=function(e){if(void 0===e)return 0;var t=r(e),n=o(t);if(t!==n)throw RangeError(\"Wrong length!\");return n}},[1752,26],function(e,t,n){\"use strict\";var r=n(379),o=n(130),i=\"Map\";e.exports=n(185)(i,function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(o(this,i),e);return t&&t.v},set:function(e,t){return r.def(o(this,i),0===e?0:e,t)}},r,!0)},function(e,t,n){n(30)&&\"g\"!=/./g.flags&&n(31).f(RegExp.prototype,\"flags\",{configurable:!0,get:n(187)})},function(e,t,n){\"use strict\";var r=n(379),o=n(130),i=\"Set\";e.exports=n(185)(i,function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,i),e=0===e?0:e,e)}},r)},function(e,t,n){\"use strict\";var r,o=n(69)(0),i=n(49),a=n(88),s=n(391),u=n(381),l=n(22),c=n(21),d=n(130),f=\"WeakMap\",p=a.getWeak,h=Object.isExtensible,m=u.ufstore,g={},_=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},b={get:function(e){if(l(e)){var t=p(e);return t===!0?m(d(this,f)).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(d(this,f),e,t)}},y=e.exports=n(185)(f,_,b,u,!0,!0);c(function(){return 7!=(new y).set((Object.freeze||Object)(g),7).get(g)})&&(r=u.getConstructor(_,f),s(r.prototype,b),a.NEED=!0,o([\"delete\",\"has\",\"get\",\"set\"],function(e){var t=y.prototype,n=t[e];i(t,e,function(t,o){if(l(t)&&!h(t)){this._f||(this._f=new r);var i=this._f[e](t,o);return\"set\"==e?this:i}return n.call(this,t,o)})}))},function(e,t){\"use strict\";function n(e,t){return e.classList?!!t&&e.classList.contains(t):(\" \"+(e.className.baseVal||e.className)+\" \").indexOf(\" \"+t+\" \")!==-1}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasClass=t.removeClass=t.addClass=void 0;var o=n(1163),i=r(o),a=n(1164),s=r(a),u=n(408),l=r(u);t.addClass=i.default,t.removeClass=s.default,t.hasClass=l.default,t.default={addClass:i.default,removeClass:s.default,hasClass:l.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.nodeName&&e.nodeName.toLowerCase()}function i(e){for(var t=(0,s.default)(e),n=e&&e.offsetParent;n&&\"html\"!==o(e)&&\"static\"===(0,l.default)(n,\"position\");)n=n.offsetParent;return n||t.documentElement}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=i;var a=n(80),s=r(a),u=n(160),l=r(u);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.nodeName&&e.nodeName.toLowerCase()}function i(e,t){var n,r={top:0,left:0};return\"fixed\"===(0,g.default)(e,\"position\")?n=e.getBoundingClientRect():(t=t||(0,c.default)(e),n=(0,u.default)(e),\"html\"!==o(t)&&(r=(0,u.default)(t)),r.top+=parseInt((0,g.default)(t,\"borderTopWidth\"),10)-(0,f.default)(t)||0,r.left+=parseInt((0,g.default)(t,\"borderLeftWidth\"),10)-(0,h.default)(t)||0),a({},n,{top:n.top-r.top-(parseInt((0,g.default)(e,\"marginTop\"),10)||0),left:n.left-r.left-(parseInt((0,g.default)(e,\"marginLeft\"),10)||0)})}Object.defineProperty(t,\"__esModule\",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(132),u=r(s),l=n(410),c=r(l),d=n(200),f=r(d),p=n(1171),h=r(p),m=n(160),g=r(m);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){for(var e=document.createElement(\"div\").style,t={O:function(e){return\"o\"+e.toLowerCase()},Moz:function(e){return e.toLowerCase()},Webkit:function(e){return\"webkit\"+e},ms:function(e){return\"MS\"+e}},n=Object.keys(t),r=void 0,o=void 0,i=\"\",a=0;a<n.length;a++){var s=n[a];if(s+\"TransitionProperty\"in e){i=\"-\"+s.toLowerCase(),r=t[s](\"TransitionEnd\"),o=t[s](\"AnimationEnd\");break}}return!r&&\"transitionProperty\"in e&&(r=\"transitionend\"),!o&&\"animationName\"in e&&(o=\"animationend\"),e=null,{animationEnd:o,transitionEnd:r,prefix:i}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.animationEnd=t.animationDelay=t.animationTiming=t.animationDuration=t.animationName=t.transitionEnd=t.transitionDuration=t.transitionDelay=t.transitionTiming=t.transitionProperty=t.transform=void 0;var i=n(74),a=r(i),s=\"transform\",u=void 0,l=void 0,c=void 0,d=void 0,f=void 0,p=void 0,h=void 0,m=void 0,g=void 0,_=void 0,b=void 0;if(a.default){var y=o();u=y.prefix,t.transitionEnd=l=y.transitionEnd,t.animationEnd=c=y.animationEnd,t.transform=s=u+\"-\"+s,t.transitionProperty=d=u+\"-transition-property\",t.transitionDuration=f=u+\"-transition-duration\",t.transitionDelay=h=u+\"-transition-delay\",t.transitionTiming=p=u+\"-transition-timing-function\",t.animationName=m=u+\"-animation-name\",t.animationDuration=g=u+\"-animation-duration\",t.animationTiming=_=u+\"-animation-delay\",t.animationDelay=b=u+\"-animation-timing-function\"}t.transform=s,t.transitionProperty=d,t.transitionTiming=p,t.transitionDelay=h,t.transitionDuration=f,t.transitionEnd=l,t.animationName=m,t.animationDuration=g,t.animationTiming=_,t.animationDelay=b,t.animationEnd=c,t.default={transform:s,end:l,property:d,timing:p,delay:h,duration:f}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return(0,a.default)(e.replace(s,\"ms-\"))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(1175),a=r(i),s=/^-ms-/;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-f)),r=setTimeout(e,n);return f=t,r}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(74),a=r(i),s=[\"\",\"webkit\",\"moz\",\"o\",\"ms\"],u=\"clearTimeout\",l=o,c=void 0,d=function(e,t){return e+(e?t[0].toUpperCase()+t.substr(1):t)+\"AnimationFrame\"};a.default&&s.some(function(e){var t=d(e,\"request\");if(t in window)return u=d(e,\"cancel\"),l=function(e){return window[t](e)}});var f=(new Date).getTime();c=function(e){return l(e)},c.cancel=function(e){window[u]&&\"function\"==typeof window[u]&&window[u](e)},t.default=c,e.exports=t.default},function(e,t,n){var r=n(1180),o=n(1178);t.decode=function(e,t){return(!t||t<=0?o.XML:o.HTML)(e)},t.decodeStrict=function(e,t){return(!t||t<=0?o.XML:o.HTMLStrict)(e)},t.encode=function(e,t){return(!t||t<=0?r.XML:r.HTML)(e)},t.encodeXML=r.XML,t.encodeHTML4=t.encodeHTML5=t.encodeHTML=r.HTML,t.decodeXML=t.decodeXMLStrict=o.XML,t.decodeHTML4=t.decodeHTML5=t.decodeHTML=o.HTML,t.decodeHTML4Strict=t.decodeHTML5Strict=t.decodeHTMLStrict=o.HTMLStrict,t.escape=r.escape},function(e,t){e.exports={progress:\"Navigation__progress__1_jAl\",\"progress-bar\":\"Navigation__progress-bar__3eEq-\",\"progress-striped\":\"Navigation__progress-striped__2N-lZ\",\"progress-bar-striped\":\"Navigation__progress-bar-striped__OMUC5\",active:\"Navigation__active__2Y7wX\",\"progress-bar-stripes\":\"Navigation__progress-bar-stripes__1HB5w\",\"progress-bar-success\":\"Navigation__progress-bar-success__3YqeX\",\"progress-bar-info\":\"Navigation__progress-bar-info__2rFRs\",\"progress-bar-warning\":\"Navigation__progress-bar-warning__2_jpW\",\"progress-bar-danger\":\"Navigation__progress-bar-danger__2qzuV\",tooltip:\"Navigation__tooltip__67cqa\",in:\"Navigation__in__17aSe\",top:\"Navigation__top__1Iku2\",right:\"Navigation__right__1SThO\",bottom:\"Navigation__bottom__1rEZl\",left:\"Navigation__left__3Ku1T\",\"tooltip-arrow\":\"Navigation__tooltip-arrow__3aqCd\",\"top-left\":\"Navigation__top-left__28IZL\",\"top-right\":\"Navigation__top-right__1_Apt\",\"bottom-left\":\"Navigation__bottom-left__3sMEW\",\"bottom-right\":\"Navigation__bottom-right__XYqys\",\"tooltip-inner\":\"Navigation__tooltip-inner__2BDDe\",border:\"Navigation__border__1FjNU\",main:\"Navigation__main__Wi2AF\",langBtn:\"Navigation__langBtn__1rYjJ\",smallFont:\"Navigation__smallFont__2zbyM\",navigation:\"Navigation__navigation__1ja2T\",navigationTitle:\"Navigation__navigationTitle__3O5mO\",activeIcon:\"Navigation__activeIcon__1lBHM\",icon:\"Navigation__icon__11y2W\",iconWrapper:\"Navigation__iconWrapper__2Xai0\",warningIcon:\"Navigation__warningIcon__1B2Xu\",updateWarning:\"Navigation__updateWarning__FhcBc\"}},function(e,t){e.exports={progress:\"TransactionDetails__progress__3Jovc\",\"progress-bar\":\"TransactionDetails__progress-bar__12GtW\",\"progress-striped\":\"TransactionDetails__progress-striped__5deFH\",\"progress-bar-striped\":\"TransactionDetails__progress-bar-striped__1tsep\",active:\"TransactionDetails__active__3nHtP\",\"progress-bar-stripes\":\"TransactionDetails__progress-bar-stripes__2NDSj\",\"progress-bar-success\":\"TransactionDetails__progress-bar-success__1-g6q\",\"progress-bar-info\":\"TransactionDetails__progress-bar-info__2VS2-\",\"progress-bar-warning\":\"TransactionDetails__progress-bar-warning__lvQQ8\",\"progress-bar-danger\":\"TransactionDetails__progress-bar-danger__3C4_x\",tooltip:\"TransactionDetails__tooltip__10Wg0\",in:\"TransactionDetails__in__pnOT6\",top:\"TransactionDetails__top__ytVMR\",right:\"TransactionDetails__right__3oXsE\",bottom:\"TransactionDetails__bottom__2gMEs\",left:\"TransactionDetails__left__2ZtHt\",\"tooltip-arrow\":\"TransactionDetails__tooltip-arrow__edkfL\",\"top-left\":\"TransactionDetails__top-left__34TPW\",\"top-right\":\"TransactionDetails__top-right__DpXMS\",\"bottom-left\":\"TransactionDetails__bottom-left__3eQew\",\"bottom-right\":\"TransactionDetails__bottom-right__uTXHD\",\"tooltip-inner\":\"TransactionDetails__tooltip-inner__m79_R\",btnGroup:\"TransactionDetails__btnGroup__3_twt\",main:\"TransactionDetails__main__1L3Ux\",btn:\"TransactionDetails__btn__kk5a2\",table:\"TransactionDetails__table__7ImO5\",rawId:\"TransactionDetails__rawId__2AjI7\",colLabel:\"TransactionDetails__colLabel__2XPpG\",txID:\"TransactionDetails__txID__11qxa\"}},function(e,t,n){\"use strict\";var r=n(63),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent(\"on\"+t,n),{remove:function(){e.detachEvent(\"on\"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};e.exports=o},function(e,t){\"use strict\";function n(e){try{e.focus()}catch(e){}}e.exports=n},function(e,t){\"use strict\";function n(e){if(e=e||(\"undefined\"!=typeof document?document:void 0),\"undefined\"==typeof e)return null;try{return e.activeElement||e.body}catch(t){return e.body}}e.exports=n},function(e,t,n){var r;!function(){\"use strict\";function o(e){var t=e&&e.Promise||self.Promise,n=e&&e.XMLHttpRequest||self.XMLHttpRequest,r=self;return function(){var e=Object.create(r,{fetch:{value:void 0,writable:!0}});return function(e){function r(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 o(e){return\"string\"!=typeof e&&(e=String(e)),e}function i(e){var t={next:function(){var t=e.shift();return{done:void 0===t,value:t}}};return _.iterable&&(t[Symbol.iterator]=function(){return t}),t}function a(e){this.map={},e instanceof a?e.forEach(function(e,t){this.append(t,e)},this):e&&Object.getOwnPropertyNames(e).forEach(function(t){this.append(t,e[t])},this)}function s(e){return e.bodyUsed?t.reject(new TypeError(\"Already read\")):void(e.bodyUsed=!0)}function u(e){return new t(function(t,n){e.onload=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function l(e){var t=new FileReader;return t.readAsArrayBuffer(e),u(t)}function c(e){var t=new FileReader;return t.readAsText(e),u(t)}function d(){return this.bodyUsed=!1,this._initBody=function(e){if(this._bodyInit=e,\"string\"==typeof e)this._bodyText=e;else if(_.blob&&Blob.prototype.isPrototypeOf(e))this._bodyBlob=e;else if(_.formData&&FormData.prototype.isPrototypeOf(e))this._bodyFormData=e;else if(_.searchParams&&URLSearchParams.prototype.isPrototypeOf(e))this._bodyText=e.toString();else if(e){if(!_.arrayBuffer||!ArrayBuffer.prototype.isPrototypeOf(e))throw new Error(\"unsupported BodyInit type\")}else 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):_.searchParams&&URLSearchParams.prototype.isPrototypeOf(e)&&this.headers.set(\"content-type\",\"application/x-www-form-urlencoded;charset=UTF-8\"))},_.blob?(this.blob=function(){var e=s(this);if(e)return e;if(this._bodyBlob)return t.resolve(this._bodyBlob);if(this._bodyFormData)throw new Error(\"could not read FormData body as blob\");return t.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this.blob().then(l)},this.text=function(){var e=s(this);if(e)return e;if(this._bodyBlob)return c(this._bodyBlob);if(this._bodyFormData)throw new Error(\"could not read FormData body as text\");return t.resolve(this._bodyText)}):this.text=function(){var e=s(this);return e?e:t.resolve(this._bodyText)},_.formData&&(this.formData=function(){return this.text().then(h)}),this.json=function(){return this.text().then(JSON.parse)},this}function f(e){var t=e.toUpperCase();return b.indexOf(t)>-1?t:e}function p(e,t){t=t||{};var n=t.body;if(p.prototype.isPrototypeOf(e)){if(e.bodyUsed)throw new TypeError(\"Already read\");this.url=e.url,this.credentials=e.credentials,t.headers||(this.headers=new a(e.headers)),this.method=e.method,this.mode=e.mode,n||(n=e._bodyInit,e.bodyUsed=!0)}else this.url=e;if(this.credentials=t.credentials||this.credentials||\"omit\",!t.headers&&this.headers||(this.headers=new a(t.headers)),this.method=f(t.method||this.method||\"GET\"),this.mode=t.mode||this.mode||null,this.referrer=null,(\"GET\"===this.method||\"HEAD\"===this.method)&&n)throw new TypeError(\"Body not allowed for GET or HEAD requests\");this._initBody(n)}function h(e){var t=new FormData;return e.trim().split(\"&\").forEach(function(e){if(e){var n=e.split(\"=\"),r=n.shift().replace(/\\+/g,\" \"),o=n.join(\"=\").replace(/\\+/g,\" \");t.append(decodeURIComponent(r),decodeURIComponent(o))}}),t}function m(e){var t=new a,n=(e.getAllResponseHeaders()||\"\").trim().split(\"\\n\");return n.forEach(function(e){var n=e.trim().split(\":\"),r=n.shift().trim(),o=n.join(\":\").trim();t.append(r,o)}),t}function g(e,t){t||(t={}),this.type=\"default\",this.status=t.status,this.ok=this.status>=200&&this.status<300,this.statusText=t.statusText,this.headers=t.headers instanceof a?t.headers:new a(t.headers),this.url=t.url||\"\",this._initBody(e)}if(!e.fetch){var _={searchParams:\"URLSearchParams\"in e,iterable:\"Symbol\"in e&&\"iterator\"in Symbol,blob:\"FileReader\"in e&&\"Blob\"in e&&function(){try{return new Blob,!0}catch(e){return!1}}(),formData:\"FormData\"in e,arrayBuffer:\"ArrayBuffer\"in e};a.prototype.append=function(e,t){e=r(e),t=o(t);var n=this.map[e];n||(n=[],this.map[e]=n),n.push(t)},a.prototype.delete=function(e){delete this.map[r(e)]},a.prototype.get=function(e){var t=this.map[r(e)];return t?t[0]:null},a.prototype.getAll=function(e){return this.map[r(e)]||[]},a.prototype.has=function(e){return this.map.hasOwnProperty(r(e))},a.prototype.set=function(e,t){this.map[r(e)]=[o(t)]},a.prototype.forEach=function(e,t){Object.getOwnPropertyNames(this.map).forEach(function(n){this.map[n].forEach(function(r){e.call(t,r,n,this)},this)},this)},a.prototype.keys=function(){var e=[];return this.forEach(function(t,n){e.push(n)}),i(e)},a.prototype.values=function(){var e=[];return this.forEach(function(t){e.push(t)}),i(e)},a.prototype.entries=function(){var e=[];return this.forEach(function(t,n){e.push([n,t])}),i(e)},_.iterable&&(a.prototype[Symbol.iterator]=a.prototype.entries);var b=[\"DELETE\",\"GET\",\"HEAD\",\"OPTIONS\",\"POST\",\"PUT\"];p.prototype.clone=function(){return new p(this)},d.call(p.prototype),d.call(g.prototype),g.prototype.clone=function(){return new g(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new a(this.headers),url:this.url})},g.error=function(){var e=new g(null,{status:0,statusText:\"\"});return e.type=\"error\",e};var y=[301,302,303,307,308];g.redirect=function(e,t){if(y.indexOf(t)===-1)throw new RangeError(\"Invalid status code\");return new g(null,{status:t,headers:{location:e}})},e.Headers=a,e.Request=p,e.Response=g,e.fetch=function(e,r){return new t(function(t,o){function i(){return\"responseURL\"in s?s.responseURL:/^X-Request-URL:/m.test(s.getAllResponseHeaders())?s.getResponseHeader(\"X-Request-URL\"):void 0}var a;a=p.prototype.isPrototypeOf(e)&&!r?e:new p(e,r);var s=new n;s.onload=function(){var e={status:s.status,statusText:s.statusText,headers:m(s),url:i()},n=\"response\"in s?s.response:s.responseText;t(new g(n,e))},s.onerror=function(){o(new TypeError(\"Network request failed\"))},s.ontimeout=function(){o(new TypeError(\"Network request failed\"))},s.open(a.method,a.url,!0),\"include\"===a.credentials&&(s.withCredentials=!0),\"responseType\"in s&&_.blob&&(s.responseType=\"blob\"),a.headers.forEach(function(e,t){s.setRequestHeader(t,e)}),s.send(\"undefined\"==typeof a._bodyInit?null:a._bodyInit)})},e.fetch.polyfill=!0}}(\"undefined\"!=typeof e?e:this),{fetch:e.fetch,Headers:e.Headers,Request:e.Request,Response:e.Response}}()}r=function(){return o}.call(t,n,t,e),!(void 0!==r&&(e.exports=r))}()},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){function e(e){try{e=e||window.history.state||{}}catch(t){e={}}var t=d.getWindowPath(),n=e,r=n.key,o=void 0;r?o=f.readState(r):(o=null,r=y.createKey(),_&&window.history.replaceState(i({},e,{key:r}),null));var a=l.parsePath(t);return y.createLocation(i({},a,{state:o}),void 0,r)}function t(t){function n(t){void 0!==t.state&&r(e(t.state))}var r=t.transitionTo;return d.addEventListener(window,\"popstate\",n),function(){d.removeEventListener(window,\"popstate\",n)}}function n(e){var t=e.basename,n=e.pathname,r=e.search,o=e.hash,i=e.state,a=e.action,s=e.key;if(a!==u.POP){f.saveState(s,i);var l=(t||\"\")+n+r+o,c={key:s};if(a===u.PUSH){if(b)return window.location.href=l,!1;window.history.pushState(c,null,l)}else{if(b)return window.location.replace(l),!1;window.history.replaceState(c,null,l)}}}function r(e){1===++v&&(M=t(y));var n=y.listenBefore(e);return function(){n(),0===--v&&M()}}function o(e){1===++v&&(M=t(y));var n=y.listen(e);return function(){n(),0===--v&&M()}}function a(e){1===++v&&(M=t(y)),y.registerTransitionHook(e)}function p(e){y.unregisterTransitionHook(e),0===--v&&M()}var m=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];c.canUseDOM?void 0:s.default(!1);var g=m.forceRefresh,_=d.supportsHistory(),b=!_||g,y=h.default(i({},m,{getCurrentLocation:e,finishTransition:n,saveState:f.saveState})),v=0,M=void 0;return i({},y,{listenBefore:r,listen:o,registerTransitionHook:a,unregisterTransitionHook:p})}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(33),s=r(a),u=n(90),l=n(107),c=n(163),d=n(201),f=n(290),p=n(423),h=r(p);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(e){return u.canUseDOM?void 0:s.default(!1),n.listen(e)}var n=d.default(i({getUserConfirmation:l.getUserConfirmation},e,{go:l.go}));return i({},n,{listen:t})}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(33),s=r(a),u=n(163),l=n(201),c=n(424),d=r(c);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return Math.random().toString(36).substr(2,e)}function i(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.key===t.key&&c.default(e.state,t.state)}function a(){function e(e){return B.push(e),function(){B=B.filter(function(t){return t!==e})}}function t(){return Y&&Y.action===p.POP?F.indexOf(Y.key):W?F.indexOf(W.key):-1}function n(e){var n=t();W=e,W.action===p.PUSH?F=[].concat(F.slice(0,n+1),[W.key]):W.action===p.REPLACE&&(F[n]=W.key),R.forEach(function(e){e(W)})}function r(e){\nif(R.push(e),W)e(W);else{var t=D();F=[t.key],n(t)}return function(){R=R.filter(function(t){return t!==e})}}function a(e,t){f.loopAsync(B.length,function(t,n,r){_.default(B[t],e,function(e){null!=e?r(e):n()})},function(e){j&&\"string\"==typeof e?j(e,function(e){t(e!==!1)}):t(e!==!1)})}function u(e){W&&i(W,e)||(Y=e,a(e,function(t){if(Y===e)if(t){if(e.action===p.PUSH){var r=A(W),o=A(e);o===r&&c.default(W.state,e.state)&&(e.action=p.REPLACE)}x(e)!==!1&&n(e)}else if(W&&e.action===p.POP){var i=F.indexOf(W.key),a=F.indexOf(e.key);i!==-1&&a!==-1&&z(i-a)}}))}function l(e){u(C(e,p.PUSH,M()))}function h(e){u(C(e,p.REPLACE,M()))}function g(){z(-1)}function b(){z(1)}function M(){return o(P)}function A(e){if(null==e||\"string\"==typeof e)return e;var t=e.pathname,n=e.search,r=e.hash,o=t;return n&&(o+=n),r&&(o+=r),o}function w(e){return A(e)}function C(e,t){var n=arguments.length<=2||void 0===arguments[2]?M():arguments[2];return\"object\"==typeof t&&(\"string\"==typeof e&&(e=d.parsePath(e)),e=s({},e,{state:t}),t=n,n=arguments[3]||M()),m.default(e,t,n)}function E(e){W?(L(W,e),n(W)):L(D(),e)}function L(e,t){e.state=s({},e.state,t),I(e.key,e.state)}function T(e){B.indexOf(e)===-1&&B.push(e)}function O(e){B=B.filter(function(t){return t!==e})}function S(e,t){\"string\"==typeof t&&(t=d.parsePath(t)),l(s({state:e},t))}function N(e,t){\"string\"==typeof t&&(t=d.parsePath(t)),h(s({state:e},t))}var k=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],D=k.getCurrentLocation,x=k.finishTransition,I=k.saveState,z=k.go,j=k.getUserConfirmation,P=k.keyLength;\"number\"!=typeof P&&(P=v);var B=[],F=[],R=[],W=void 0,Y=void 0;return{listenBefore:e,listen:r,transitionTo:u,push:l,replace:h,go:z,goBack:g,goForward:b,createKey:M,createPath:A,createHref:w,createLocation:C,setState:y.default(E,\"setState is deprecated; use location.key to save state instead\"),registerTransitionHook:y.default(T,\"registerTransitionHook is deprecated; use listenBefore instead\"),unregisterTransitionHook:y.default(O,\"unregisterTransitionHook is deprecated; use the callback returned from listenBefore instead\"),pushState:y.default(S,\"pushState is deprecated; use push instead\"),replaceState:y.default(N,\"replaceState is deprecated; use replace instead\")}}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(64),l=(r(u),n(285)),c=r(l),d=n(107),f=n(1265),p=n(90),h=n(425),m=r(h),g=n(292),_=r(g),b=n(108),y=r(b),v=6;t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){var e=arguments.length<=0||void 0===arguments[0]?\"/\":arguments[0],t=arguments.length<=1||void 0===arguments[1]?s.POP:arguments[1],n=arguments.length<=2||void 0===arguments[2]?null:arguments[2],r=arguments.length<=3||void 0===arguments[3]?null:arguments[3];\"string\"==typeof e&&(e=u.parsePath(e)),\"object\"==typeof t&&(e=i({},e,{state:t}),t=n||s.POP,n=r);var o=e.pathname||\"/\",a=e.search||\"\",l=e.hash||\"\",c=e.state||null;return{pathname:o,search:a,hash:l,state:c,action:t,key:n}}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(64),s=(r(a),n(90)),u=n(107);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.filter(function(e){return e.state}).reduce(function(e,t){return e[t.key]=t.state,e},{})}function i(){function e(e,t){_[e]=t}function t(e){return _[e]}function n(){var e=m[g],n=e.basename,r=e.pathname,o=e.search,i=(n||\"\")+r+(o||\"\"),s=void 0,u=void 0;e.key?(s=e.key,u=t(s)):(s=f.createKey(),u=null,e.key=s);var l=c.parsePath(i);return f.createLocation(a({},l,{state:u}),void 0,s)}function r(e){var t=g+e;return t>=0&&t<m.length}function i(e){if(e){if(!r(e))return;g+=e;var t=n();f.transitionTo(a({},t,{action:d.POP}))}}function s(t){switch(t.action){case d.PUSH:g+=1,g<m.length&&m.splice(g),m.push(t),e(t.key,t.state);break;case d.REPLACE:m[g]=t,e(t.key,t.state)}}var u=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];Array.isArray(u)?u={entries:u}:\"string\"==typeof u&&(u={entries:[u]});var f=p.default(a({},u,{getCurrentLocation:n,finishTransition:s,saveState:e,go:i})),h=u,m=h.entries,g=h.current;\"string\"==typeof m?m=[m]:Array.isArray(m)||(m=[\"/\"]),m=m.map(function(e){var t=f.createKey();return\"string\"==typeof e?{pathname:e,key:t}:\"object\"==typeof e&&e?a({},e,{key:t}):void l.default(!1)}),null==g?g=m.length-1:g>=0&&g<m.length?void 0:l.default(!1);var _=o(m);return f}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(64),u=(r(s),n(33)),l=r(u),c=n(107),d=n(90),f=n(424),p=r(f);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){function t(t){var n=e();if(\"string\"==typeof n)return(t||window.event).returnValue=n,n}return l.addEventListener(window,\"beforeunload\",t),function(){l.removeEventListener(window,\"beforeunload\",t)}}function i(e){return function(t){function n(){for(var e=void 0,t=0,n=f.length;null==e&&t<n;++t)e=f[t].call();return e}function r(e){return f.push(e),1===f.length&&u.canUseDOM&&(c=o(n)),function(){f=f.filter(function(t){return t!==e}),0===f.length&&c&&(c(),c=null)}}function i(e){u.canUseDOM&&f.indexOf(e)===-1&&(f.push(e),1===f.length&&(c=o(n)))}function s(e){f.length>0&&(f=f.filter(function(t){return t!==e}),0===f.length&&c())}var l=e(t),c=void 0,f=[];return a({},l,{listenBeforeUnload:r,registerBeforeUnloadHook:d.default(i,\"registerBeforeUnloadHook is deprecated; use listenBeforeUnload instead\"),unregisterBeforeUnloadHook:d.default(s,\"unregisterBeforeUnloadHook is deprecated; use the callback returned from listenBeforeUnload instead\")})}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(64),u=(r(s),n(163)),l=n(201),c=n(108),d=r(c);t.default=i,e.exports=t.default},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={processors:{},addPostProcessor:function(e){this.processors[e.name]=e},handle:function(e,t,n,r,o){var i=this;return e.forEach(function(e){i.processors[e]&&(t=i.processors[e].process(t,n,r,o))}),t}}},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Abreve:\"Ă\",abreve:\"ă\",ac:\"∾\",acd:\"∿\",acE:\"∾̳\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",Acy:\"А\",acy:\"а\",AElig:\"Æ\",aelig:\"æ\",af:\"\u2061\",Afr:\"𝔄\",afr:\"𝔞\",Agrave:\"À\",agrave:\"à\",alefsym:\"ℵ\",aleph:\"ℵ\",Alpha:\"Α\",alpha:\"α\",Amacr:\"Ā\",amacr:\"ā\",amalg:\"⨿\",amp:\"&\",AMP:\"&\",andand:\"⩕\",And:\"⩓\",and:\"∧\",andd:\"⩜\",andslope:\"⩘\",andv:\"⩚\",ang:\"∠\",ange:\"⦤\",angle:\"∠\",angmsdaa:\"⦨\",angmsdab:\"⦩\",angmsdac:\"⦪\",angmsdad:\"⦫\",angmsdae:\"⦬\",angmsdaf:\"⦭\",angmsdag:\"⦮\",angmsdah:\"⦯\",angmsd:\"∡\",angrt:\"∟\",angrtvb:\"⊾\",angrtvbd:\"⦝\",angsph:\"∢\",angst:\"Å\",angzarr:\"⍼\",Aogon:\"Ą\",aogon:\"ą\",Aopf:\"𝔸\",aopf:\"𝕒\",apacir:\"⩯\",ap:\"≈\",apE:\"⩰\",ape:\"≊\",apid:\"≋\",apos:\"'\",ApplyFunction:\"\u2061\",approx:\"≈\",approxeq:\"≊\",Aring:\"Å\",aring:\"å\",Ascr:\"𝒜\",ascr:\"𝒶\",Assign:\"≔\",ast:\"*\",asymp:\"≈\",asympeq:\"≍\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",awconint:\"∳\",awint:\"⨑\",backcong:\"≌\",backepsilon:\"϶\",backprime:\"‵\",backsim:\"∽\",backsimeq:\"⋍\",Backslash:\"∖\",Barv:\"⫧\",barvee:\"⊽\",barwed:\"⌅\",Barwed:\"⌆\",barwedge:\"⌅\",bbrk:\"⎵\",bbrktbrk:\"⎶\",bcong:\"≌\",Bcy:\"Б\",bcy:\"б\",bdquo:\"„\",becaus:\"∵\",because:\"∵\",Because:\"∵\",bemptyv:\"⦰\",bepsi:\"϶\",bernou:\"ℬ\",Bernoullis:\"ℬ\",Beta:\"Β\",beta:\"β\",beth:\"ℶ\",between:\"≬\",Bfr:\"𝔅\",bfr:\"𝔟\",bigcap:\"⋂\",bigcirc:\"◯\",bigcup:\"⋃\",bigodot:\"⨀\",bigoplus:\"⨁\",bigotimes:\"⨂\",bigsqcup:\"⨆\",bigstar:\"★\",bigtriangledown:\"▽\",bigtriangleup:\"△\",biguplus:\"⨄\",bigvee:\"⋁\",bigwedge:\"⋀\",bkarow:\"⤍\",blacklozenge:\"⧫\",blacksquare:\"▪\",blacktriangle:\"▴\",blacktriangledown:\"▾\",blacktriangleleft:\"◂\",blacktriangleright:\"▸\",blank:\"␣\",blk12:\"▒\",blk14:\"░\",blk34:\"▓\",block:\"█\",bne:\"=⃥\",bnequiv:\"≡⃥\",bNot:\"⫭\",bnot:\"⌐\",Bopf:\"𝔹\",bopf:\"𝕓\",bot:\"⊥\",bottom:\"⊥\",bowtie:\"⋈\",boxbox:\"⧉\",boxdl:\"┐\",boxdL:\"╕\",boxDl:\"╖\",boxDL:\"╗\",boxdr:\"┌\",boxdR:\"╒\",boxDr:\"╓\",boxDR:\"╔\",boxh:\"─\",boxH:\"═\",boxhd:\"┬\",boxHd:\"╤\",boxhD:\"╥\",boxHD:\"╦\",boxhu:\"┴\",boxHu:\"╧\",boxhU:\"╨\",boxHU:\"╩\",boxminus:\"⊟\",boxplus:\"⊞\",boxtimes:\"⊠\",boxul:\"┘\",boxuL:\"╛\",boxUl:\"╜\",boxUL:\"╝\",boxur:\"└\",boxuR:\"╘\",boxUr:\"╙\",boxUR:\"╚\",boxv:\"│\",boxV:\"║\",boxvh:\"┼\",boxvH:\"╪\",boxVh:\"╫\",boxVH:\"╬\",boxvl:\"┤\",boxvL:\"╡\",boxVl:\"╢\",boxVL:\"╣\",boxvr:\"├\",boxvR:\"╞\",boxVr:\"╟\",boxVR:\"╠\",bprime:\"‵\",breve:\"˘\",Breve:\"˘\",brvbar:\"¦\",bscr:\"𝒷\",Bscr:\"ℬ\",bsemi:\"⁏\",bsim:\"∽\",bsime:\"⋍\",bsolb:\"⧅\",bsol:\"\\\\\",bsolhsub:\"⟈\",bull:\"•\",bullet:\"•\",bump:\"≎\",bumpE:\"⪮\",bumpe:\"≏\",Bumpeq:\"≎\",bumpeq:\"≏\",Cacute:\"Ć\",cacute:\"ć\",capand:\"⩄\",capbrcup:\"⩉\",capcap:\"⩋\",cap:\"∩\",Cap:\"⋒\",capcup:\"⩇\",capdot:\"⩀\",CapitalDifferentialD:\"ⅅ\",caps:\"∩︀\",caret:\"⁁\",caron:\"ˇ\",Cayleys:\"ℭ\",ccaps:\"⩍\",Ccaron:\"Č\",ccaron:\"č\",Ccedil:\"Ç\",ccedil:\"ç\",Ccirc:\"Ĉ\",ccirc:\"ĉ\",Cconint:\"∰\",ccups:\"⩌\",ccupssm:\"⩐\",Cdot:\"Ċ\",cdot:\"ċ\",cedil:\"¸\",Cedilla:\"¸\",cemptyv:\"⦲\",cent:\"¢\",centerdot:\"·\",CenterDot:\"·\",cfr:\"𝔠\",Cfr:\"ℭ\",CHcy:\"Ч\",chcy:\"ч\",check:\"✓\",checkmark:\"✓\",Chi:\"Χ\",chi:\"χ\",circ:\"ˆ\",circeq:\"≗\",circlearrowleft:\"↺\",circlearrowright:\"↻\",circledast:\"⊛\",circledcirc:\"⊚\",circleddash:\"⊝\",CircleDot:\"⊙\",circledR:\"®\",circledS:\"Ⓢ\",CircleMinus:\"⊖\",CirclePlus:\"⊕\",CircleTimes:\"⊗\",cir:\"○\",cirE:\"⧃\",cire:\"≗\",cirfnint:\"⨐\",cirmid:\"⫯\",cirscir:\"⧂\",ClockwiseContourIntegral:\"∲\",CloseCurlyDoubleQuote:\"”\",CloseCurlyQuote:\"’\",clubs:\"♣\",clubsuit:\"♣\",colon:\":\",Colon:\"∷\",Colone:\"⩴\",colone:\"≔\",coloneq:\"≔\",comma:\",\",commat:\"@\",comp:\"∁\",compfn:\"∘\",complement:\"∁\",complexes:\"ℂ\",cong:\"≅\",congdot:\"⩭\",Congruent:\"≡\",conint:\"∮\",Conint:\"∯\",ContourIntegral:\"∮\",copf:\"𝕔\",Copf:\"ℂ\",coprod:\"∐\",Coproduct:\"∐\",copy:\"©\",COPY:\"©\",copysr:\"℗\",CounterClockwiseContourIntegral:\"∳\",crarr:\"↵\",cross:\"✗\",Cross:\"⨯\",Cscr:\"𝒞\",cscr:\"𝒸\",csub:\"⫏\",csube:\"⫑\",csup:\"⫐\",csupe:\"⫒\",ctdot:\"⋯\",cudarrl:\"⤸\",cudarrr:\"⤵\",cuepr:\"⋞\",cuesc:\"⋟\",cularr:\"↶\",cularrp:\"⤽\",cupbrcap:\"⩈\",cupcap:\"⩆\",CupCap:\"≍\",cup:\"∪\",Cup:\"⋓\",cupcup:\"⩊\",cupdot:\"⊍\",cupor:\"⩅\",cups:\"∪︀\",curarr:\"↷\",curarrm:\"⤼\",curlyeqprec:\"⋞\",curlyeqsucc:\"⋟\",curlyvee:\"⋎\",curlywedge:\"⋏\",curren:\"¤\",curvearrowleft:\"↶\",curvearrowright:\"↷\",cuvee:\"⋎\",cuwed:\"⋏\",cwconint:\"∲\",cwint:\"∱\",cylcty:\"⌭\",dagger:\"†\",Dagger:\"‡\",daleth:\"ℸ\",darr:\"↓\",Darr:\"↡\",dArr:\"⇓\",dash:\"‐\",Dashv:\"⫤\",dashv:\"⊣\",dbkarow:\"⤏\",dblac:\"˝\",Dcaron:\"Ď\",dcaron:\"ď\",Dcy:\"Д\",dcy:\"д\",ddagger:\"‡\",ddarr:\"⇊\",DD:\"ⅅ\",dd:\"ⅆ\",DDotrahd:\"⤑\",ddotseq:\"⩷\",deg:\"°\",Del:\"∇\",Delta:\"Δ\",delta:\"δ\",demptyv:\"⦱\",dfisht:\"⥿\",Dfr:\"𝔇\",dfr:\"𝔡\",dHar:\"⥥\",dharl:\"⇃\",dharr:\"⇂\",DiacriticalAcute:\"´\",DiacriticalDot:\"˙\",DiacriticalDoubleAcute:\"˝\",DiacriticalGrave:\"`\",DiacriticalTilde:\"˜\",diam:\"⋄\",diamond:\"⋄\",Diamond:\"⋄\",diamondsuit:\"♦\",diams:\"♦\",die:\"¨\",DifferentialD:\"ⅆ\",digamma:\"ϝ\",disin:\"⋲\",div:\"÷\",divide:\"÷\",divideontimes:\"⋇\",divonx:\"⋇\",DJcy:\"Ђ\",djcy:\"ђ\",dlcorn:\"⌞\",dlcrop:\"⌍\",dollar:\"$\",Dopf:\"𝔻\",dopf:\"𝕕\",Dot:\"¨\",dot:\"˙\",DotDot:\"⃜\",doteq:\"≐\",doteqdot:\"≑\",DotEqual:\"≐\",dotminus:\"∸\",dotplus:\"∔\",dotsquare:\"⊡\",doublebarwedge:\"⌆\",DoubleContourIntegral:\"∯\",DoubleDot:\"¨\",DoubleDownArrow:\"⇓\",DoubleLeftArrow:\"⇐\",DoubleLeftRightArrow:\"⇔\",DoubleLeftTee:\"⫤\",DoubleLongLeftArrow:\"⟸\",DoubleLongLeftRightArrow:\"⟺\",DoubleLongRightArrow:\"⟹\",DoubleRightArrow:\"⇒\",DoubleRightTee:\"⊨\",DoubleUpArrow:\"⇑\",DoubleUpDownArrow:\"⇕\",DoubleVerticalBar:\"∥\",DownArrowBar:\"⤓\",downarrow:\"↓\",DownArrow:\"↓\",Downarrow:\"⇓\",DownArrowUpArrow:\"⇵\",DownBreve:\"̑\",downdownarrows:\"⇊\",downharpoonleft:\"⇃\",downharpoonright:\"⇂\",DownLeftRightVector:\"⥐\",DownLeftTeeVector:\"⥞\",DownLeftVectorBar:\"⥖\",DownLeftVector:\"↽\",DownRightTeeVector:\"⥟\",DownRightVectorBar:\"⥗\",DownRightVector:\"⇁\",DownTeeArrow:\"↧\",DownTee:\"⊤\",drbkarow:\"⤐\",drcorn:\"⌟\",drcrop:\"⌌\",Dscr:\"𝒟\",dscr:\"𝒹\",DScy:\"Ѕ\",dscy:\"ѕ\",dsol:\"⧶\",Dstrok:\"Đ\",dstrok:\"đ\",dtdot:\"⋱\",dtri:\"▿\",dtrif:\"▾\",duarr:\"⇵\",duhar:\"⥯\",dwangle:\"⦦\",DZcy:\"Џ\",dzcy:\"џ\",dzigrarr:\"⟿\",Eacute:\"É\",eacute:\"é\",easter:\"⩮\",Ecaron:\"Ě\",ecaron:\"ě\",Ecirc:\"Ê\",ecirc:\"ê\",ecir:\"≖\",ecolon:\"≕\",Ecy:\"Э\",ecy:\"э\",eDDot:\"⩷\",Edot:\"Ė\",edot:\"ė\",eDot:\"≑\",ee:\"ⅇ\",efDot:\"≒\",Efr:\"𝔈\",efr:\"𝔢\",eg:\"⪚\",Egrave:\"È\",egrave:\"è\",egs:\"⪖\",egsdot:\"⪘\",el:\"⪙\",Element:\"∈\",elinters:\"⏧\",ell:\"ℓ\",els:\"⪕\",elsdot:\"⪗\",Emacr:\"Ē\",emacr:\"ē\",empty:\"∅\",emptyset:\"∅\",EmptySmallSquare:\"◻\",emptyv:\"∅\",EmptyVerySmallSquare:\"▫\",emsp13:\"\u2004\",emsp14:\"\u2005\",emsp:\"\u2003\",ENG:\"Ŋ\",eng:\"ŋ\",ensp:\"\u2002\",Eogon:\"Ę\",eogon:\"ę\",Eopf:\"𝔼\",eopf:\"𝕖\",epar:\"⋕\",eparsl:\"⧣\",eplus:\"⩱\",epsi:\"ε\",Epsilon:\"Ε\",epsilon:\"ε\",epsiv:\"ϵ\",eqcirc:\"≖\",eqcolon:\"≕\",eqsim:\"≂\",eqslantgtr:\"⪖\",eqslantless:\"⪕\",Equal:\"⩵\",equals:\"=\",EqualTilde:\"≂\",equest:\"≟\",Equilibrium:\"⇌\",equiv:\"≡\",equivDD:\"⩸\",eqvparsl:\"⧥\",erarr:\"⥱\",erDot:\"≓\",escr:\"ℯ\",Escr:\"ℰ\",esdot:\"≐\",Esim:\"⩳\",esim:\"≂\",Eta:\"Η\",eta:\"η\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",euro:\"€\",excl:\"!\",exist:\"∃\",Exists:\"∃\",expectation:\"ℰ\",exponentiale:\"ⅇ\",ExponentialE:\"ⅇ\",fallingdotseq:\"≒\",Fcy:\"Ф\",fcy:\"ф\",female:\"♀\",ffilig:\"ffi\",fflig:\"ff\",ffllig:\"ffl\",Ffr:\"𝔉\",ffr:\"𝔣\",filig:\"fi\",FilledSmallSquare:\"◼\",FilledVerySmallSquare:\"▪\",fjlig:\"fj\",flat:\"♭\",fllig:\"fl\",fltns:\"▱\",fnof:\"ƒ\",Fopf:\"𝔽\",fopf:\"𝕗\",forall:\"∀\",ForAll:\"∀\",fork:\"⋔\",forkv:\"⫙\",Fouriertrf:\"ℱ\",fpartint:\"⨍\",frac12:\"½\",frac13:\"⅓\",frac14:\"¼\",frac15:\"⅕\",frac16:\"⅙\",frac18:\"⅛\",frac23:\"⅔\",frac25:\"⅖\",frac34:\"¾\",frac35:\"⅗\",frac38:\"⅜\",frac45:\"⅘\",frac56:\"⅚\",frac58:\"⅝\",frac78:\"⅞\",frasl:\"⁄\",frown:\"⌢\",fscr:\"𝒻\",Fscr:\"ℱ\",gacute:\"ǵ\",Gamma:\"Γ\",gamma:\"γ\",Gammad:\"Ϝ\",gammad:\"ϝ\",gap:\"⪆\",Gbreve:\"Ğ\",gbreve:\"ğ\",Gcedil:\"Ģ\",Gcirc:\"Ĝ\",gcirc:\"ĝ\",Gcy:\"Г\",gcy:\"г\",Gdot:\"Ġ\",gdot:\"ġ\",ge:\"≥\",gE:\"≧\",gEl:\"⪌\",gel:\"⋛\",geq:\"≥\",geqq:\"≧\",geqslant:\"⩾\",gescc:\"⪩\",ges:\"⩾\",gesdot:\"⪀\",gesdoto:\"⪂\",gesdotol:\"⪄\",gesl:\"⋛︀\",gesles:\"⪔\",Gfr:\"𝔊\",gfr:\"𝔤\",gg:\"≫\",Gg:\"⋙\",ggg:\"⋙\",gimel:\"ℷ\",GJcy:\"Ѓ\",gjcy:\"ѓ\",gla:\"⪥\",gl:\"≷\",glE:\"⪒\",glj:\"⪤\",gnap:\"⪊\",gnapprox:\"⪊\",gne:\"⪈\",gnE:\"≩\",gneq:\"⪈\",gneqq:\"≩\",gnsim:\"⋧\",Gopf:\"𝔾\",gopf:\"𝕘\",grave:\"`\",GreaterEqual:\"≥\",GreaterEqualLess:\"⋛\",GreaterFullEqual:\"≧\",GreaterGreater:\"⪢\",GreaterLess:\"≷\",GreaterSlantEqual:\"⩾\",GreaterTilde:\"≳\",Gscr:\"𝒢\",gscr:\"ℊ\",gsim:\"≳\",gsime:\"⪎\",gsiml:\"⪐\",gtcc:\"⪧\",gtcir:\"⩺\",gt:\">\",GT:\">\",Gt:\"≫\",gtdot:\"⋗\",gtlPar:\"⦕\",gtquest:\"⩼\",gtrapprox:\"⪆\",gtrarr:\"⥸\",gtrdot:\"⋗\",gtreqless:\"⋛\",gtreqqless:\"⪌\",gtrless:\"≷\",gtrsim:\"≳\",gvertneqq:\"≩︀\",gvnE:\"≩︀\",Hacek:\"ˇ\",hairsp:\"\u200a\",half:\"½\",hamilt:\"ℋ\",HARDcy:\"Ъ\",hardcy:\"ъ\",harrcir:\"⥈\",harr:\"↔\",hArr:\"⇔\",harrw:\"↭\",Hat:\"^\",hbar:\"ℏ\",Hcirc:\"Ĥ\",hcirc:\"ĥ\",hearts:\"♥\",heartsuit:\"♥\",hellip:\"…\",hercon:\"⊹\",hfr:\"𝔥\",Hfr:\"ℌ\",HilbertSpace:\"ℋ\",hksearow:\"⤥\",hkswarow:\"⤦\",hoarr:\"⇿\",homtht:\"∻\",hookleftarrow:\"↩\",hookrightarrow:\"↪\",hopf:\"𝕙\",Hopf:\"ℍ\",horbar:\"―\",HorizontalLine:\"─\",hscr:\"𝒽\",Hscr:\"ℋ\",hslash:\"ℏ\",Hstrok:\"Ħ\",hstrok:\"ħ\",HumpDownHump:\"≎\",HumpEqual:\"≏\",hybull:\"⁃\",hyphen:\"‐\",Iacute:\"Í\",iacute:\"í\",ic:\"\u2063\",Icirc:\"Î\",icirc:\"î\",Icy:\"И\",icy:\"и\",Idot:\"İ\",IEcy:\"Е\",iecy:\"е\",iexcl:\"¡\",iff:\"⇔\",ifr:\"𝔦\",Ifr:\"ℑ\",Igrave:\"Ì\",igrave:\"ì\",ii:\"ⅈ\",iiiint:\"⨌\",iiint:\"∭\",iinfin:\"⧜\",iiota:\"℩\",IJlig:\"IJ\",ijlig:\"ij\",Imacr:\"Ī\",imacr:\"ī\",image:\"ℑ\",ImaginaryI:\"ⅈ\",imagline:\"ℐ\",imagpart:\"ℑ\",imath:\"ı\",Im:\"ℑ\",imof:\"⊷\",imped:\"Ƶ\",Implies:\"⇒\",incare:\"℅\",in:\"∈\",infin:\"∞\",infintie:\"⧝\",inodot:\"ı\",intcal:\"⊺\",int:\"∫\",Int:\"∬\",integers:\"ℤ\",Integral:\"∫\",intercal:\"⊺\",Intersection:\"⋂\",intlarhk:\"⨗\",intprod:\"⨼\",InvisibleComma:\"\u2063\",InvisibleTimes:\"\u2062\",IOcy:\"Ё\",iocy:\"ё\",Iogon:\"Į\",iogon:\"į\",Iopf:\"𝕀\",iopf:\"𝕚\",Iota:\"Ι\",iota:\"ι\",iprod:\"⨼\",iquest:\"¿\",iscr:\"𝒾\",Iscr:\"ℐ\",isin:\"∈\",isindot:\"⋵\",isinE:\"⋹\",isins:\"⋴\",isinsv:\"⋳\",isinv:\"∈\",it:\"\u2062\",Itilde:\"Ĩ\",itilde:\"ĩ\",Iukcy:\"І\",iukcy:\"і\",Iuml:\"Ï\",iuml:\"ï\",Jcirc:\"Ĵ\",jcirc:\"ĵ\",Jcy:\"Й\",jcy:\"й\",Jfr:\"𝔍\",jfr:\"𝔧\",jmath:\"ȷ\",Jopf:\"𝕁\",jopf:\"𝕛\",Jscr:\"𝒥\",jscr:\"𝒿\",Jsercy:\"Ј\",jsercy:\"ј\",Jukcy:\"Є\",jukcy:\"є\",Kappa:\"Κ\",kappa:\"κ\",kappav:\"ϰ\",Kcedil:\"Ķ\",kcedil:\"ķ\",Kcy:\"К\",kcy:\"к\",Kfr:\"𝔎\",kfr:\"𝔨\",kgreen:\"ĸ\",KHcy:\"Х\",khcy:\"х\",KJcy:\"Ќ\",kjcy:\"ќ\",Kopf:\"𝕂\",kopf:\"𝕜\",Kscr:\"𝒦\",kscr:\"𝓀\",lAarr:\"⇚\",Lacute:\"Ĺ\",lacute:\"ĺ\",laemptyv:\"⦴\",lagran:\"ℒ\",Lambda:\"Λ\",lambda:\"λ\",lang:\"⟨\",Lang:\"⟪\",langd:\"⦑\",langle:\"⟨\",lap:\"⪅\",Laplacetrf:\"ℒ\",laquo:\"«\",larrb:\"⇤\",larrbfs:\"⤟\",larr:\"←\",Larr:\"↞\",lArr:\"⇐\",larrfs:\"⤝\",larrhk:\"↩\",larrlp:\"↫\",larrpl:\"⤹\",larrsim:\"⥳\",larrtl:\"↢\",latail:\"⤙\",lAtail:\"⤛\",lat:\"⪫\",late:\"⪭\",lates:\"⪭︀\",lbarr:\"⤌\",lBarr:\"⤎\",lbbrk:\"❲\",lbrace:\"{\",lbrack:\"[\",lbrke:\"⦋\",lbrksld:\"⦏\",lbrkslu:\"⦍\",Lcaron:\"Ľ\",lcaron:\"ľ\",Lcedil:\"Ļ\",lcedil:\"ļ\",lceil:\"⌈\",lcub:\"{\",Lcy:\"Л\",lcy:\"л\",ldca:\"⤶\",ldquo:\"“\",ldquor:\"„\",ldrdhar:\"⥧\",ldrushar:\"⥋\",ldsh:\"↲\",le:\"≤\",lE:\"≦\",LeftAngleBracket:\"⟨\",LeftArrowBar:\"⇤\",leftarrow:\"←\",LeftArrow:\"←\",Leftarrow:\"⇐\",LeftArrowRightArrow:\"⇆\",leftarrowtail:\"↢\",LeftCeiling:\"⌈\",LeftDoubleBracket:\"⟦\",LeftDownTeeVector:\"⥡\",LeftDownVectorBar:\"⥙\",LeftDownVector:\"⇃\",LeftFloor:\"⌊\",leftharpoondown:\"↽\",leftharpoonup:\"↼\",leftleftarrows:\"⇇\",leftrightarrow:\"↔\",LeftRightArrow:\"↔\",Leftrightarrow:\"⇔\",leftrightarrows:\"⇆\",leftrightharpoons:\"⇋\",leftrightsquigarrow:\"↭\",LeftRightVector:\"⥎\",LeftTeeArrow:\"↤\",LeftTee:\"⊣\",LeftTeeVector:\"⥚\",leftthreetimes:\"⋋\",LeftTriangleBar:\"⧏\",LeftTriangle:\"⊲\",LeftTriangleEqual:\"⊴\",LeftUpDownVector:\"⥑\",LeftUpTeeVector:\"⥠\",LeftUpVectorBar:\"⥘\",LeftUpVector:\"↿\",LeftVectorBar:\"⥒\",LeftVector:\"↼\",lEg:\"⪋\",leg:\"⋚\",leq:\"≤\",leqq:\"≦\",leqslant:\"⩽\",lescc:\"⪨\",les:\"⩽\",lesdot:\"⩿\",lesdoto:\"⪁\",lesdotor:\"⪃\",lesg:\"⋚︀\",lesges:\"⪓\",lessapprox:\"⪅\",lessdot:\"⋖\",lesseqgtr:\"⋚\",lesseqqgtr:\"⪋\",LessEqualGreater:\"⋚\",LessFullEqual:\"≦\",LessGreater:\"≶\",lessgtr:\"≶\",LessLess:\"⪡\",lesssim:\"≲\",LessSlantEqual:\"⩽\",LessTilde:\"≲\",lfisht:\"⥼\",lfloor:\"⌊\",Lfr:\"𝔏\",lfr:\"𝔩\",lg:\"≶\",lgE:\"⪑\",lHar:\"⥢\",lhard:\"↽\",lharu:\"↼\",lharul:\"⥪\",lhblk:\"▄\",LJcy:\"Љ\",ljcy:\"љ\",llarr:\"⇇\",ll:\"≪\",Ll:\"⋘\",llcorner:\"⌞\",Lleftarrow:\"⇚\",llhard:\"⥫\",lltri:\"◺\",Lmidot:\"Ŀ\",lmidot:\"ŀ\",lmoustache:\"⎰\",lmoust:\"⎰\",lnap:\"⪉\",lnapprox:\"⪉\",lne:\"⪇\",lnE:\"≨\",lneq:\"⪇\",lneqq:\"≨\",lnsim:\"⋦\",loang:\"⟬\",loarr:\"⇽\",lobrk:\"⟦\",longleftarrow:\"⟵\",LongLeftArrow:\"⟵\",Longleftarrow:\"⟸\",longleftrightarrow:\"⟷\",LongLeftRightArrow:\"⟷\",Longleftrightarrow:\"⟺\",longmapsto:\"⟼\",longrightarrow:\"⟶\",LongRightArrow:\"⟶\",Longrightarrow:\"⟹\",looparrowleft:\"↫\",looparrowright:\"↬\",lopar:\"⦅\",Lopf:\"𝕃\",lopf:\"𝕝\",loplus:\"⨭\",lotimes:\"⨴\",lowast:\"∗\",lowbar:\"_\",LowerLeftArrow:\"↙\",LowerRightArrow:\"↘\",loz:\"◊\",lozenge:\"◊\",lozf:\"⧫\",lpar:\"(\",lparlt:\"⦓\",lrarr:\"⇆\",lrcorner:\"⌟\",lrhar:\"⇋\",lrhard:\"⥭\",lrm:\"\u200e\",lrtri:\"⊿\",lsaquo:\"‹\",lscr:\"𝓁\",Lscr:\"ℒ\",lsh:\"↰\",Lsh:\"↰\",lsim:\"≲\",lsime:\"⪍\",lsimg:\"⪏\",lsqb:\"[\",lsquo:\"‘\",lsquor:\"‚\",Lstrok:\"Ł\",lstrok:\"ł\",ltcc:\"⪦\",ltcir:\"⩹\",lt:\"<\",LT:\"<\",Lt:\"≪\",ltdot:\"⋖\",lthree:\"⋋\",ltimes:\"⋉\",ltlarr:\"⥶\",ltquest:\"⩻\",ltri:\"◃\",ltrie:\"⊴\",ltrif:\"◂\",ltrPar:\"⦖\",lurdshar:\"⥊\",luruhar:\"⥦\",lvertneqq:\"≨︀\",lvnE:\"≨︀\",macr:\"¯\",male:\"♂\",malt:\"✠\",maltese:\"✠\",Map:\"⤅\",map:\"↦\",mapsto:\"↦\",mapstodown:\"↧\",mapstoleft:\"↤\",mapstoup:\"↥\",marker:\"▮\",mcomma:\"⨩\",Mcy:\"М\",mcy:\"м\",mdash:\"—\",mDDot:\"∺\",measuredangle:\"∡\",MediumSpace:\"\u205f\",Mellintrf:\"ℳ\",Mfr:\"𝔐\",mfr:\"𝔪\",mho:\"℧\",micro:\"µ\",midast:\"*\",midcir:\"⫰\",mid:\"∣\",middot:\"·\",minusb:\"⊟\",minus:\"−\",minusd:\"∸\",minusdu:\"⨪\",MinusPlus:\"∓\",mlcp:\"⫛\",mldr:\"…\",mnplus:\"∓\",models:\"⊧\",Mopf:\"𝕄\",mopf:\"𝕞\",mp:\"∓\",mscr:\"𝓂\",Mscr:\"ℳ\",mstpos:\"∾\",Mu:\"Μ\",mu:\"μ\",multimap:\"⊸\",mumap:\"⊸\",nabla:\"∇\",Nacute:\"Ń\",nacute:\"ń\",nang:\"∠⃒\",nap:\"≉\",napE:\"⩰̸\",napid:\"≋̸\",napos:\"ʼn\",napprox:\"≉\",natural:\"♮\",naturals:\"ℕ\",natur:\"♮\",nbsp:\"\u00a0\",nbump:\"≎̸\",nbumpe:\"≏̸\",ncap:\"⩃\",Ncaron:\"Ň\",ncaron:\"ň\",Ncedil:\"Ņ\",ncedil:\"ņ\",ncong:\"≇\",ncongdot:\"⩭̸\",ncup:\"⩂\",Ncy:\"Н\",ncy:\"н\",ndash:\"–\",nearhk:\"⤤\",nearr:\"↗\",neArr:\"⇗\",nearrow:\"↗\",ne:\"≠\",nedot:\"≐̸\",NegativeMediumSpace:\"\u200b\",NegativeThickSpace:\"\u200b\",NegativeThinSpace:\"\u200b\",NegativeVeryThinSpace:\"\u200b\",nequiv:\"≢\",nesear:\"⤨\",nesim:\"≂̸\",NestedGreaterGreater:\"≫\",NestedLessLess:\"≪\",NewLine:\"\\n\",nexist:\"∄\",nexists:\"∄\",Nfr:\"𝔑\",nfr:\"𝔫\",ngE:\"≧̸\",nge:\"≱\",ngeq:\"≱\",ngeqq:\"≧̸\",ngeqslant:\"⩾̸\",nges:\"⩾̸\",nGg:\"⋙̸\",ngsim:\"≵\",nGt:\"≫⃒\",ngt:\"≯\",ngtr:\"≯\",nGtv:\"≫̸\",nharr:\"↮\",nhArr:\"⇎\",nhpar:\"⫲\",ni:\"∋\",nis:\"⋼\",nisd:\"⋺\",niv:\"∋\",NJcy:\"Њ\",njcy:\"њ\",nlarr:\"↚\",nlArr:\"⇍\",nldr:\"‥\",nlE:\"≦̸\",nle:\"≰\",nleftarrow:\"↚\",nLeftarrow:\"⇍\",nleftrightarrow:\"↮\",nLeftrightarrow:\"⇎\",nleq:\"≰\",nleqq:\"≦̸\",nleqslant:\"⩽̸\",nles:\"⩽̸\",nless:\"≮\",nLl:\"⋘̸\",nlsim:\"≴\",nLt:\"≪⃒\",nlt:\"≮\",nltri:\"⋪\",nltrie:\"⋬\",nLtv:\"≪̸\",nmid:\"∤\",NoBreak:\"\u2060\",NonBreakingSpace:\"\u00a0\",nopf:\"𝕟\",Nopf:\"ℕ\",Not:\"⫬\",not:\"¬\",NotCongruent:\"≢\",NotCupCap:\"≭\",NotDoubleVerticalBar:\"∦\",NotElement:\"∉\",NotEqual:\"≠\",NotEqualTilde:\"≂̸\",NotExists:\"∄\",NotGreater:\"≯\",NotGreaterEqual:\"≱\",NotGreaterFullEqual:\"≧̸\",NotGreaterGreater:\"≫̸\",NotGreaterLess:\"≹\",NotGreaterSlantEqual:\"⩾̸\",NotGreaterTilde:\"≵\",NotHumpDownHump:\"≎̸\",NotHumpEqual:\"≏̸\",notin:\"∉\",notindot:\"⋵̸\",notinE:\"⋹̸\",notinva:\"∉\",notinvb:\"⋷\",notinvc:\"⋶\",NotLeftTriangleBar:\"⧏̸\",NotLeftTriangle:\"⋪\",NotLeftTriangleEqual:\"⋬\",NotLess:\"≮\",NotLessEqual:\"≰\",NotLessGreater:\"≸\",NotLessLess:\"≪̸\",NotLessSlantEqual:\"⩽̸\",NotLessTilde:\"≴\",NotNestedGreaterGreater:\"⪢̸\",NotNestedLessLess:\"⪡̸\",notni:\"∌\",notniva:\"∌\",notnivb:\"⋾\",notnivc:\"⋽\",NotPrecedes:\"⊀\",NotPrecedesEqual:\"⪯̸\",NotPrecedesSlantEqual:\"⋠\",NotReverseElement:\"∌\",NotRightTriangleBar:\"⧐̸\",NotRightTriangle:\"⋫\",NotRightTriangleEqual:\"⋭\",NotSquareSubset:\"⊏̸\",NotSquareSubsetEqual:\"⋢\",NotSquareSuperset:\"⊐̸\",NotSquareSupersetEqual:\"⋣\",NotSubset:\"⊂⃒\",NotSubsetEqual:\"⊈\",NotSucceeds:\"⊁\",NotSucceedsEqual:\"⪰̸\",NotSucceedsSlantEqual:\"⋡\",NotSucceedsTilde:\"≿̸\",NotSuperset:\"⊃⃒\",NotSupersetEqual:\"⊉\",NotTilde:\"≁\",NotTildeEqual:\"≄\",NotTildeFullEqual:\"≇\",NotTildeTilde:\"≉\",NotVerticalBar:\"∤\",nparallel:\"∦\",npar:\"∦\",nparsl:\"⫽⃥\",npart:\"∂̸\",npolint:\"⨔\",npr:\"⊀\",nprcue:\"⋠\",nprec:\"⊀\",npreceq:\"⪯̸\",npre:\"⪯̸\",nrarrc:\"⤳̸\",nrarr:\"↛\",nrArr:\"⇏\",nrarrw:\"↝̸\",nrightarrow:\"↛\",nRightarrow:\"⇏\",nrtri:\"⋫\",nrtrie:\"⋭\",nsc:\"⊁\",nsccue:\"⋡\",nsce:\"⪰̸\",Nscr:\"𝒩\",nscr:\"𝓃\",nshortmid:\"∤\",nshortparallel:\"∦\",nsim:\"≁\",nsime:\"≄\",nsimeq:\"≄\",nsmid:\"∤\",nspar:\"∦\",nsqsube:\"⋢\",nsqsupe:\"⋣\",nsub:\"⊄\",nsubE:\"⫅̸\",nsube:\"⊈\",nsubset:\"⊂⃒\",nsubseteq:\"⊈\",nsubseteqq:\"⫅̸\",nsucc:\"⊁\",nsucceq:\"⪰̸\",nsup:\"⊅\",nsupE:\"⫆̸\",nsupe:\"⊉\",nsupset:\"⊃⃒\",nsupseteq:\"⊉\",nsupseteqq:\"⫆̸\",ntgl:\"≹\",Ntilde:\"Ñ\",ntilde:\"ñ\",ntlg:\"≸\",ntriangleleft:\"⋪\",ntrianglelefteq:\"⋬\",ntriangleright:\"⋫\",ntrianglerighteq:\"⋭\",Nu:\"Ν\",nu:\"ν\",num:\"#\",numero:\"№\",numsp:\"\u2007\",nvap:\"≍⃒\",nvdash:\"⊬\",nvDash:\"⊭\",nVdash:\"⊮\",nVDash:\"⊯\",nvge:\"≥⃒\",nvgt:\">⃒\",nvHarr:\"⤄\",nvinfin:\"⧞\",nvlArr:\"⤂\",nvle:\"≤⃒\",nvlt:\"<⃒\",nvltrie:\"⊴⃒\",nvrArr:\"⤃\",nvrtrie:\"⊵⃒\",nvsim:\"∼⃒\",nwarhk:\"⤣\",nwarr:\"↖\",nwArr:\"⇖\",nwarrow:\"↖\",nwnear:\"⤧\",Oacute:\"Ó\",oacute:\"ó\",oast:\"⊛\",Ocirc:\"Ô\",ocirc:\"ô\",ocir:\"⊚\",Ocy:\"О\",ocy:\"о\",odash:\"⊝\",Odblac:\"Ő\",odblac:\"ő\",odiv:\"⨸\",odot:\"⊙\",odsold:\"⦼\",OElig:\"Œ\",oelig:\"œ\",ofcir:\"⦿\",Ofr:\"𝔒\",ofr:\"𝔬\",ogon:\"˛\",Ograve:\"Ò\",ograve:\"ò\",ogt:\"⧁\",ohbar:\"⦵\",ohm:\"Ω\",oint:\"∮\",olarr:\"↺\",olcir:\"⦾\",olcross:\"⦻\",oline:\"‾\",olt:\"⧀\",Omacr:\"Ō\",omacr:\"ō\",Omega:\"Ω\",omega:\"ω\",Omicron:\"Ο\",omicron:\"ο\",omid:\"⦶\",ominus:\"⊖\",Oopf:\"𝕆\",oopf:\"𝕠\",opar:\"⦷\",OpenCurlyDoubleQuote:\"“\",OpenCurlyQuote:\"‘\",operp:\"⦹\",oplus:\"⊕\",orarr:\"↻\",Or:\"⩔\",or:\"∨\",ord:\"⩝\",order:\"ℴ\",orderof:\"ℴ\",ordf:\"ª\",ordm:\"º\",origof:\"⊶\",oror:\"⩖\",orslope:\"⩗\",orv:\"⩛\",oS:\"Ⓢ\",Oscr:\"𝒪\",oscr:\"ℴ\",Oslash:\"Ø\",oslash:\"ø\",osol:\"⊘\",Otilde:\"Õ\",otilde:\"õ\",otimesas:\"⨶\",Otimes:\"⨷\",otimes:\"⊗\",Ouml:\"Ö\",ouml:\"ö\",ovbar:\"⌽\",OverBar:\"‾\",OverBrace:\"⏞\",OverBracket:\"⎴\",OverParenthesis:\"⏜\",para:\"¶\",parallel:\"∥\",par:\"∥\",parsim:\"⫳\",parsl:\"⫽\",part:\"∂\",PartialD:\"∂\",Pcy:\"П\",pcy:\"п\",percnt:\"%\",period:\".\",permil:\"‰\",perp:\"⊥\",pertenk:\"‱\",Pfr:\"𝔓\",pfr:\"𝔭\",Phi:\"Φ\",phi:\"φ\",phiv:\"ϕ\",phmmat:\"ℳ\",phone:\"☎\",Pi:\"Π\",pi:\"π\",pitchfork:\"⋔\",piv:\"ϖ\",planck:\"ℏ\",planckh:\"ℎ\",plankv:\"ℏ\",plusacir:\"⨣\",plusb:\"⊞\",pluscir:\"⨢\",plus:\"+\",plusdo:\"∔\",plusdu:\"⨥\",pluse:\"⩲\",PlusMinus:\"±\",plusmn:\"±\",plussim:\"⨦\",plustwo:\"⨧\",pm:\"±\",Poincareplane:\"ℌ\",pointint:\"⨕\",popf:\"𝕡\",Popf:\"ℙ\",pound:\"£\",prap:\"⪷\",Pr:\"⪻\",pr:\"≺\",prcue:\"≼\",precapprox:\"⪷\",prec:\"≺\",preccurlyeq:\"≼\",Precedes:\"≺\",PrecedesEqual:\"⪯\",PrecedesSlantEqual:\"≼\",PrecedesTilde:\"≾\",preceq:\"⪯\",precnapprox:\"⪹\",precneqq:\"⪵\",precnsim:\"⋨\",pre:\"⪯\",prE:\"⪳\",precsim:\"≾\",prime:\"′\",Prime:\"″\",primes:\"ℙ\",prnap:\"⪹\",prnE:\"⪵\",prnsim:\"⋨\",prod:\"∏\",Product:\"∏\",profalar:\"⌮\",profline:\"⌒\",profsurf:\"⌓\",prop:\"∝\",Proportional:\"∝\",Proportion:\"∷\",propto:\"∝\",prsim:\"≾\",prurel:\"⊰\",Pscr:\"𝒫\",pscr:\"𝓅\",Psi:\"Ψ\",psi:\"ψ\",puncsp:\"\u2008\",Qfr:\"𝔔\",qfr:\"𝔮\",qint:\"⨌\",qopf:\"𝕢\",Qopf:\"ℚ\",qprime:\"⁗\",Qscr:\"𝒬\",qscr:\"𝓆\",quaternions:\"ℍ\",quatint:\"⨖\",quest:\"?\",questeq:\"≟\",quot:'\"',QUOT:'\"',rAarr:\"⇛\",race:\"∽̱\",Racute:\"Ŕ\",racute:\"ŕ\",radic:\"√\",raemptyv:\"⦳\",rang:\"⟩\",Rang:\"⟫\",rangd:\"⦒\",range:\"⦥\",rangle:\"⟩\",raquo:\"»\",rarrap:\"⥵\",rarrb:\"⇥\",rarrbfs:\"⤠\",rarrc:\"⤳\",rarr:\"→\",Rarr:\"↠\",rArr:\"⇒\",rarrfs:\"⤞\",rarrhk:\"↪\",rarrlp:\"↬\",rarrpl:\"⥅\",rarrsim:\"⥴\",Rarrtl:\"⤖\",rarrtl:\"↣\",rarrw:\"↝\",ratail:\"⤚\",rAtail:\"⤜\",ratio:\"∶\",rationals:\"ℚ\",rbarr:\"⤍\",rBarr:\"⤏\",RBarr:\"⤐\",rbbrk:\"❳\",rbrace:\"}\",rbrack:\"]\",rbrke:\"⦌\",rbrksld:\"⦎\",rbrkslu:\"⦐\",Rcaron:\"Ř\",rcaron:\"ř\",Rcedil:\"Ŗ\",rcedil:\"ŗ\",rceil:\"⌉\",rcub:\"}\",Rcy:\"Р\",rcy:\"р\",rdca:\"⤷\",rdldhar:\"⥩\",rdquo:\"”\",rdquor:\"”\",rdsh:\"↳\",real:\"ℜ\",realine:\"ℛ\",realpart:\"ℜ\",reals:\"ℝ\",Re:\"ℜ\",rect:\"▭\",reg:\"®\",REG:\"®\",ReverseElement:\"∋\",ReverseEquilibrium:\"⇋\",ReverseUpEquilibrium:\"⥯\",rfisht:\"⥽\",rfloor:\"⌋\",rfr:\"𝔯\",Rfr:\"ℜ\",rHar:\"⥤\",rhard:\"⇁\",rharu:\"⇀\",rharul:\"⥬\",Rho:\"Ρ\",rho:\"ρ\",rhov:\"ϱ\",RightAngleBracket:\"⟩\",RightArrowBar:\"⇥\",rightarrow:\"→\",RightArrow:\"→\",Rightarrow:\"⇒\",RightArrowLeftArrow:\"⇄\",rightarrowtail:\"↣\",RightCeiling:\"⌉\",RightDoubleBracket:\"⟧\",RightDownTeeVector:\"⥝\",RightDownVectorBar:\"⥕\",RightDownVector:\"⇂\",RightFloor:\"⌋\",rightharpoondown:\"⇁\",rightharpoonup:\"⇀\",rightleftarrows:\"⇄\",rightleftharpoons:\"⇌\",rightrightarrows:\"⇉\",rightsquigarrow:\"↝\",RightTeeArrow:\"↦\",RightTee:\"⊢\",RightTeeVector:\"⥛\",rightthreetimes:\"⋌\",RightTriangleBar:\"⧐\",RightTriangle:\"⊳\",RightTriangleEqual:\"⊵\",RightUpDownVector:\"⥏\",RightUpTeeVector:\"⥜\",RightUpVectorBar:\"⥔\",RightUpVector:\"↾\",RightVectorBar:\"⥓\",RightVector:\"⇀\",ring:\"˚\",risingdotseq:\"≓\",rlarr:\"⇄\",rlhar:\"⇌\",rlm:\"\u200f\",rmoustache:\"⎱\",rmoust:\"⎱\",rnmid:\"⫮\",roang:\"⟭\",roarr:\"⇾\",robrk:\"⟧\",ropar:\"⦆\",ropf:\"𝕣\",Ropf:\"ℝ\",roplus:\"⨮\",rotimes:\"⨵\",RoundImplies:\"⥰\",rpar:\")\",rpargt:\"⦔\",rppolint:\"⨒\",rrarr:\"⇉\",Rrightarrow:\"⇛\",rsaquo:\"›\",rscr:\"𝓇\",Rscr:\"ℛ\",rsh:\"↱\",Rsh:\"↱\",rsqb:\"]\",rsquo:\"’\",rsquor:\"’\",rthree:\"⋌\",rtimes:\"⋊\",rtri:\"▹\",rtrie:\"⊵\",rtrif:\"▸\",rtriltri:\"⧎\",RuleDelayed:\"⧴\",ruluhar:\"⥨\",rx:\"℞\",Sacute:\"Ś\",sacute:\"ś\",sbquo:\"‚\",scap:\"⪸\",Scaron:\"Š\",scaron:\"š\",Sc:\"⪼\",sc:\"≻\",sccue:\"≽\",sce:\"⪰\",scE:\"⪴\",Scedil:\"Ş\",scedil:\"ş\",Scirc:\"Ŝ\",scirc:\"ŝ\",scnap:\"⪺\",scnE:\"⪶\",scnsim:\"⋩\",scpolint:\"⨓\",scsim:\"≿\",Scy:\"С\",scy:\"с\",sdotb:\"⊡\",sdot:\"⋅\",sdote:\"⩦\",searhk:\"⤥\",searr:\"↘\",seArr:\"⇘\",searrow:\"↘\",sect:\"§\",semi:\";\",seswar:\"⤩\",setminus:\"∖\",setmn:\"∖\",sext:\"✶\",Sfr:\"𝔖\",sfr:\"𝔰\",sfrown:\"⌢\",sharp:\"♯\",SHCHcy:\"Щ\",shchcy:\"щ\",SHcy:\"Ш\",shcy:\"ш\",ShortDownArrow:\"↓\",ShortLeftArrow:\"←\",shortmid:\"∣\",shortparallel:\"∥\",ShortRightArrow:\"→\",ShortUpArrow:\"↑\",shy:\"\u00ad\",Sigma:\"Σ\",sigma:\"σ\",sigmaf:\"ς\",sigmav:\"ς\",sim:\"∼\",simdot:\"⩪\",sime:\"≃\",simeq:\"≃\",simg:\"⪞\",simgE:\"⪠\",siml:\"⪝\",simlE:\"⪟\",simne:\"≆\",simplus:\"⨤\",simrarr:\"⥲\",slarr:\"←\",SmallCircle:\"∘\",smallsetminus:\"∖\",smashp:\"⨳\",smeparsl:\"⧤\",smid:\"∣\",smile:\"⌣\",smt:\"⪪\",smte:\"⪬\",smtes:\"⪬︀\",SOFTcy:\"Ь\",softcy:\"ь\",solbar:\"⌿\",solb:\"⧄\",sol:\"/\",Sopf:\"𝕊\",sopf:\"𝕤\",spades:\"♠\",spadesuit:\"♠\",spar:\"∥\",sqcap:\"⊓\",sqcaps:\"⊓︀\",sqcup:\"⊔\",sqcups:\"⊔︀\",Sqrt:\"√\",sqsub:\"⊏\",sqsube:\"⊑\",sqsubset:\"⊏\",sqsubseteq:\"⊑\",sqsup:\"⊐\",sqsupe:\"⊒\",sqsupset:\"⊐\",sqsupseteq:\"⊒\",square:\"□\",Square:\"□\",SquareIntersection:\"⊓\",SquareSubset:\"⊏\",SquareSubsetEqual:\"⊑\",SquareSuperset:\"⊐\",SquareSupersetEqual:\"⊒\",SquareUnion:\"⊔\",squarf:\"▪\",squ:\"□\",squf:\"▪\",srarr:\"→\",Sscr:\"𝒮\",sscr:\"𝓈\",ssetmn:\"∖\",ssmile:\"⌣\",sstarf:\"⋆\",Star:\"⋆\",star:\"☆\",starf:\"★\",straightepsilon:\"ϵ\",straightphi:\"ϕ\",strns:\"¯\",sub:\"⊂\",Sub:\"⋐\",subdot:\"⪽\",subE:\"⫅\",sube:\"⊆\",subedot:\"⫃\",submult:\"⫁\",subnE:\"⫋\",subne:\"⊊\",subplus:\"⪿\",subrarr:\"⥹\",subset:\"⊂\",Subset:\"⋐\",subseteq:\"⊆\",subseteqq:\"⫅\",SubsetEqual:\"⊆\",subsetneq:\"⊊\",subsetneqq:\"⫋\",subsim:\"⫇\",subsub:\"⫕\",subsup:\"⫓\",succapprox:\"⪸\",succ:\"≻\",succcurlyeq:\"≽\",Succeeds:\"≻\",SucceedsEqual:\"⪰\",SucceedsSlantEqual:\"≽\",SucceedsTilde:\"≿\",succeq:\"⪰\",succnapprox:\"⪺\",succneqq:\"⪶\",succnsim:\"⋩\",succsim:\"≿\",SuchThat:\"∋\",sum:\"∑\",Sum:\"∑\",sung:\"♪\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",sup:\"⊃\",Sup:\"⋑\",supdot:\"⪾\",supdsub:\"⫘\",supE:\"⫆\",supe:\"⊇\",supedot:\"⫄\",Superset:\"⊃\",SupersetEqual:\"⊇\",suphsol:\"⟉\",suphsub:\"⫗\",suplarr:\"⥻\",supmult:\"⫂\",supnE:\"⫌\",supne:\"⊋\",supplus:\"⫀\",supset:\"⊃\",Supset:\"⋑\",supseteq:\"⊇\",supseteqq:\"⫆\",supsetneq:\"⊋\",supsetneqq:\"⫌\",supsim:\"⫈\",supsub:\"⫔\",supsup:\"⫖\",swarhk:\"⤦\",swarr:\"↙\",swArr:\"⇙\",swarrow:\"↙\",swnwar:\"⤪\",szlig:\"ß\",Tab:\"\\t\",target:\"⌖\",Tau:\"Τ\",tau:\"τ\",tbrk:\"⎴\",Tcaron:\"Ť\",tcaron:\"ť\",Tcedil:\"Ţ\",tcedil:\"ţ\",Tcy:\"Т\",tcy:\"т\",tdot:\"⃛\",telrec:\"⌕\",Tfr:\"𝔗\",tfr:\"𝔱\",there4:\"∴\",therefore:\"∴\",Therefore:\"∴\",Theta:\"Θ\",theta:\"θ\",thetasym:\"ϑ\",thetav:\"ϑ\",thickapprox:\"≈\",thicksim:\"∼\",ThickSpace:\"\u205f\u200a\",ThinSpace:\"\u2009\",thinsp:\"\u2009\",thkap:\"≈\",thksim:\"∼\",THORN:\"Þ\",thorn:\"þ\",tilde:\"˜\",Tilde:\"∼\",TildeEqual:\"≃\",TildeFullEqual:\"≅\",TildeTilde:\"≈\",timesbar:\"⨱\",timesb:\"⊠\",times:\"×\",timesd:\"⨰\",tint:\"∭\",toea:\"⤨\",topbot:\"⌶\",topcir:\"⫱\",top:\"⊤\",Topf:\"𝕋\",topf:\"𝕥\",topfork:\"⫚\",tosa:\"⤩\",tprime:\"‴\",trade:\"™\",TRADE:\"™\",triangle:\"▵\",triangledown:\"▿\",triangleleft:\"◃\",trianglelefteq:\"⊴\",triangleq:\"≜\",triangleright:\"▹\",trianglerighteq:\"⊵\",tridot:\"◬\",trie:\"≜\",triminus:\"⨺\",TripleDot:\"⃛\",triplus:\"⨹\",trisb:\"⧍\",tritime:\"⨻\",trpezium:\"⏢\",Tscr:\"𝒯\",tscr:\"𝓉\",TScy:\"Ц\",tscy:\"ц\",TSHcy:\"Ћ\",tshcy:\"ћ\",Tstrok:\"Ŧ\",tstrok:\"ŧ\",twixt:\"≬\",twoheadleftarrow:\"↞\",twoheadrightarrow:\"↠\",Uacute:\"Ú\",uacute:\"ú\",uarr:\"↑\",Uarr:\"↟\",uArr:\"⇑\",Uarrocir:\"⥉\",Ubrcy:\"Ў\",ubrcy:\"ў\",Ubreve:\"Ŭ\",ubreve:\"ŭ\",Ucirc:\"Û\",ucirc:\"û\",Ucy:\"У\",ucy:\"у\",udarr:\"⇅\",Udblac:\"Ű\",udblac:\"ű\",udhar:\"⥮\",ufisht:\"⥾\",Ufr:\"𝔘\",ufr:\"𝔲\",Ugrave:\"Ù\",ugrave:\"ù\",uHar:\"⥣\",uharl:\"↿\",uharr:\"↾\",uhblk:\"▀\",ulcorn:\"⌜\",ulcorner:\"⌜\",ulcrop:\"⌏\",ultri:\"◸\",Umacr:\"Ū\",umacr:\"ū\",uml:\"¨\",UnderBar:\"_\",UnderBrace:\"⏟\",UnderBracket:\"⎵\",UnderParenthesis:\"⏝\",Union:\"⋃\",UnionPlus:\"⊎\",Uogon:\"Ų\",uogon:\"ų\",Uopf:\"𝕌\",uopf:\"𝕦\",UpArrowBar:\"⤒\",uparrow:\"↑\",UpArrow:\"↑\",Uparrow:\"⇑\",UpArrowDownArrow:\"⇅\",updownarrow:\"↕\",UpDownArrow:\"↕\",Updownarrow:\"⇕\",UpEquilibrium:\"⥮\",upharpoonleft:\"↿\",upharpoonright:\"↾\",uplus:\"⊎\",UpperLeftArrow:\"↖\",UpperRightArrow:\"↗\",upsi:\"υ\",Upsi:\"ϒ\",upsih:\"ϒ\",Upsilon:\"Υ\",upsilon:\"υ\",UpTeeArrow:\"↥\",UpTee:\"⊥\",upuparrows:\"⇈\",urcorn:\"⌝\",urcorner:\"⌝\",urcrop:\"⌎\",Uring:\"Ů\",uring:\"ů\",urtri:\"◹\",Uscr:\"𝒰\",uscr:\"𝓊\",utdot:\"⋰\",Utilde:\"Ũ\",utilde:\"ũ\",utri:\"▵\",utrif:\"▴\",uuarr:\"⇈\",Uuml:\"Ü\",uuml:\"ü\",uwangle:\"⦧\",vangrt:\"⦜\",varepsilon:\"ϵ\",varkappa:\"ϰ\",varnothing:\"∅\",varphi:\"ϕ\",varpi:\"ϖ\",varpropto:\"∝\",varr:\"↕\",vArr:\"⇕\",varrho:\"ϱ\",varsigma:\"ς\",varsubsetneq:\"⊊︀\",varsubsetneqq:\"⫋︀\",varsupsetneq:\"⊋︀\",varsupsetneqq:\"⫌︀\",vartheta:\"ϑ\",vartriangleleft:\"⊲\",vartriangleright:\"⊳\",vBar:\"⫨\",Vbar:\"⫫\",vBarv:\"⫩\",Vcy:\"В\",vcy:\"в\",vdash:\"⊢\",vDash:\"⊨\",Vdash:\"⊩\",VDash:\"⊫\",Vdashl:\"⫦\",veebar:\"⊻\",vee:\"∨\",Vee:\"⋁\",veeeq:\"≚\",vellip:\"⋮\",verbar:\"|\",Verbar:\"‖\",vert:\"|\",Vert:\"‖\",VerticalBar:\"∣\",VerticalLine:\"|\",VerticalSeparator:\"❘\",VerticalTilde:\"≀\",VeryThinSpace:\"\u200a\",Vfr:\"𝔙\",vfr:\"𝔳\",vltri:\"⊲\",vnsub:\"⊂⃒\",vnsup:\"⊃⃒\",Vopf:\"𝕍\",vopf:\"𝕧\",vprop:\"∝\",vrtri:\"⊳\",Vscr:\"𝒱\",vscr:\"𝓋\",vsubnE:\"⫋︀\",vsubne:\"⊊︀\",vsupnE:\"⫌︀\",vsupne:\"⊋︀\",Vvdash:\"⊪\",vzigzag:\"⦚\",Wcirc:\"Ŵ\",wcirc:\"ŵ\",wedbar:\"⩟\",wedge:\"∧\",Wedge:\"⋀\",wedgeq:\"≙\",weierp:\"℘\",Wfr:\"𝔚\",wfr:\"𝔴\",Wopf:\"𝕎\",wopf:\"𝕨\",wp:\"℘\",wr:\"≀\",wreath:\"≀\",Wscr:\"𝒲\",wscr:\"𝓌\",xcap:\"⋂\",xcirc:\"◯\",xcup:\"⋃\",xdtri:\"▽\",Xfr:\"𝔛\",xfr:\"𝔵\",xharr:\"⟷\",xhArr:\"⟺\",Xi:\"Ξ\",xi:\"ξ\",xlarr:\"⟵\",xlArr:\"⟸\",xmap:\"⟼\",xnis:\"⋻\",xodot:\"⨀\",Xopf:\"𝕏\",xopf:\"𝕩\",xoplus:\"⨁\",xotime:\"⨂\",xrarr:\"⟶\",xrArr:\"⟹\",Xscr:\"𝒳\",xscr:\"𝓍\",xsqcup:\"⨆\",xuplus:\"⨄\",xutri:\"△\",xvee:\"⋁\",xwedge:\"⋀\",Yacute:\"Ý\",yacute:\"ý\",YAcy:\"Я\",yacy:\"я\",Ycirc:\"Ŷ\",ycirc:\"ŷ\",Ycy:\"Ы\",ycy:\"ы\",yen:\"¥\",Yfr:\"𝔜\",yfr:\"𝔶\",YIcy:\"Ї\",yicy:\"ї\",Yopf:\"𝕐\",yopf:\"𝕪\",Yscr:\"𝒴\",yscr:\"𝓎\",YUcy:\"Ю\",yucy:\"ю\",yuml:\"ÿ\",Yuml:\"Ÿ\",Zacute:\"Ź\",zacute:\"ź\",Zcaron:\"Ž\",zcaron:\"ž\",Zcy:\"З\",zcy:\"з\",Zdot:\"Ż\",zdot:\"ż\",zeetrf:\"ℨ\",ZeroWidthSpace:\"\u200b\",Zeta:\"Ζ\",zeta:\"ζ\",zfr:\"𝔷\",Zfr:\"ℨ\",ZHcy:\"Ж\",zhcy:\"ж\",zigrarr:\"⇝\",zopf:\"𝕫\",Zopf:\"ℤ\",Zscr:\"𝒵\",zscr:\"𝓏\",zwj:\"\u200d\",zwnj:\"\u200c\"}},function(e,t){e.exports={amp:\"&\",apos:\"'\",gt:\">\",lt:\"<\",quot:'\"'}},function(e,t,n){(function(e,n){function r(e,t){for(var n=-1,r=null==e?0:e.length,o=0,i=[];++n<r;){var a=e[n];t(a,n,e)&&(i[o++]=a)}return i}function o(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}function i(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function a(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function s(e){return function(t){return e(t)}}function u(e,t){return e.has(t)}function l(e,t){return null==e?void 0:e[t]}function c(e){var t=-1,n=Array(e.size);\nreturn e.forEach(function(e,r){n[++t]=[r,e]}),n}function d(e,t){return function(n){return e(t(n))}}function f(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}function p(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function h(){this.__data__=Pt?Pt(null):{},this.size=0}function m(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function g(e){var t=this.__data__;if(Pt){var n=t[e];return n===ve?void 0:n}return yt.call(t,e)?t[e]:void 0}function _(e){var t=this.__data__;return Pt?void 0!==t[e]:yt.call(t,e)}function b(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=Pt&&void 0===t?ve:t,this}function y(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function v(){this.__data__=[],this.size=0}function M(e){var t=this.__data__,n=W(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Tt.call(t,n,1),--this.size,!0}function A(e){var t=this.__data__,n=W(t,e);return n<0?void 0:t[n][1]}function w(e){return W(this.__data__,e)>-1}function C(e,t){var n=this.__data__,r=W(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}function E(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function L(){this.size=0,this.__data__={hash:new p,map:new(xt||y),string:new p}}function T(e){var t=ee(this,e).delete(e);return this.size-=t?1:0,t}function O(e){return ee(this,e).get(e)}function S(e){return ee(this,e).has(e)}function N(e,t){var n=ee(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}function k(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new E;++t<n;)this.add(e[t])}function D(e){return this.__data__.set(e,ve),this}function x(e){return this.__data__.has(e)}function I(e){var t=this.__data__=new y(e);this.size=t.size}function z(){this.__data__=new y,this.size=0}function j(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function P(e){return this.__data__.get(e)}function B(e){return this.__data__.has(e)}function F(e,t){var n=this.__data__;if(n instanceof y){var r=n.__data__;if(!xt||r.length<ye-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new E(r)}return n.set(e,t),this.size=n.size,this}function R(e,t){var n=Gt(e),r=!n&&Vt(e),o=!n&&!r&&$t(e),i=!n&&!r&&!o&&Kt(e),s=n||r||o||i,u=s?a(e.length,String):[],l=u.length;for(var c in e)!t&&!yt.call(e,c)||s&&(\"length\"==c||o&&(\"offset\"==c||\"parent\"==c)||i&&(\"buffer\"==c||\"byteLength\"==c||\"byteOffset\"==c)||re(c,l))||u.push(c);return u}function W(e,t){for(var n=e.length;n--;)if(le(e[n][0],t))return n;return-1}function Y(e,t,n){var r=t(e);return Gt(e)?r:o(r,n(e))}function H(e){return null==e?void 0===e?Ye:Ie:Ot&&Ot in Object(e)?ne(e):se(e)}function q(e){return me(e)&&H(e)==Ce}function U(e,t,n,r,o){return e===t||(null==e||null==t||!me(e)&&!me(t)?e!==e&&t!==t:X(e,t,n,r,U,o))}function X(e,t,n,r,o,i){var a=Gt(e),s=Gt(t),u=a?Ee:Xt(e),l=s?Ee:Xt(t);u=u==Ce?ze:u,l=l==Ce?ze:l;var c=u==ze,d=l==ze,f=u==l;if(f&&$t(e)){if(!$t(t))return!1;a=!0,c=!1}if(f&&!c)return i||(i=new I),a||Kt(e)?K(e,t,n,r,o,i):Q(e,t,u,n,r,o,i);if(!(n&Me)){var p=c&&yt.call(e,\"__wrapped__\"),h=d&&yt.call(t,\"__wrapped__\");if(p||h){var m=p?e.value():e,g=h?t.value():t;return i||(i=new I),o(m,g,n,r,i)}}return!!f&&(i||(i=new I),Z(e,t,n,r,o,i))}function V(e){if(!he(e)||ie(e))return!1;var t=fe(e)?At:nt;return t.test(ue(e))}function G(e){return me(e)&&pe(e.length)&&!!ot[H(e)]}function $(e){if(!ae(e))return kt(e);var t=[];for(var n in Object(e))yt.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function K(e,t,n,r,o,a){var s=n&Me,l=e.length,c=t.length;if(l!=c&&!(s&&c>l))return!1;var d=a.get(e);if(d&&a.get(t))return d==t;var f=-1,p=!0,h=n&Ae?new k:void 0;for(a.set(e,t),a.set(t,e);++f<l;){var m=e[f],g=t[f];if(r)var _=s?r(g,m,f,t,e,a):r(m,g,f,e,t,a);if(void 0!==_){if(_)continue;p=!1;break}if(h){if(!i(t,function(e,t){if(!u(h,t)&&(m===e||o(m,e,n,r,a)))return h.push(t)})){p=!1;break}}else if(m!==g&&!o(m,g,n,r,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Q(e,t,n,r,o,i,a){switch(n){case Ue:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case qe:return!(e.byteLength!=t.byteLength||!i(new Et(e),new Et(t)));case Te:case Oe:case xe:return le(+e,+t);case Se:return e.name==t.name&&e.message==t.message;case Be:case Re:return e==t+\"\";case De:var s=c;case Fe:var u=r&Me;if(s||(s=f),e.size!=t.size&&!u)return!1;var l=a.get(e);if(l)return l==t;r|=Ae,a.set(e,t);var d=K(s(e),s(t),r,o,i,a);return a.delete(e),d;case We:if(qt)return qt.call(e)==qt.call(t)}return!1}function Z(e,t,n,r,o,i){var a=n&Me,s=J(e),u=s.length,l=J(t),c=l.length;if(u!=c&&!a)return!1;for(var d=u;d--;){var f=s[d];if(!(a?f in t:yt.call(t,f)))return!1}var p=i.get(e);if(p&&i.get(t))return p==t;var h=!0;i.set(e,t),i.set(t,e);for(var m=a;++d<u;){f=s[d];var g=e[f],_=t[f];if(r)var b=a?r(_,g,f,t,e,i):r(g,_,f,e,t,i);if(!(void 0===b?g===_||o(g,_,n,r,i):b)){h=!1;break}m||(m=\"constructor\"==f)}if(h&&!m){var y=e.constructor,v=t.constructor;y!=v&&\"constructor\"in e&&\"constructor\"in t&&!(\"function\"==typeof y&&y instanceof y&&\"function\"==typeof v&&v instanceof v)&&(h=!1)}return i.delete(e),i.delete(t),h}function J(e){return Y(e,ge,Ut)}function ee(e,t){var n=e.__data__;return oe(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function te(e,t){var n=l(e,t);return V(n)?n:void 0}function ne(e){var t=yt.call(e,Ot),n=e[Ot];try{e[Ot]=void 0;var r=!0}catch(e){}var o=Mt.call(e);return r&&(t?e[Ot]=n:delete e[Ot]),o}function re(e,t){return t=null==t?we:t,!!t&&(\"number\"==typeof e||rt.test(e))&&e>-1&&e%1==0&&e<t}function oe(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function ie(e){return!!vt&&vt in e}function ae(e){var t=e&&e.constructor,n=\"function\"==typeof t&&t.prototype||gt;return e===n}function se(e){return Mt.call(e)}function ue(e){if(null!=e){try{return bt.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function le(e,t){return e===t||e!==e&&t!==t}function ce(e){return null!=e&&pe(e.length)&&!fe(e)}function de(e,t){return U(e,t)}function fe(e){if(!he(e))return!1;var t=H(e);return t==Ne||t==ke||t==Le||t==Pe}function pe(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=we}function he(e){var t=typeof e;return null!=e&&(\"object\"==t||\"function\"==t)}function me(e){return null!=e&&\"object\"==typeof e}function ge(e){return ce(e)?R(e):$(e)}function _e(){return[]}function be(){return!1}var ye=200,ve=\"__lodash_hash_undefined__\",Me=1,Ae=2,we=9007199254740991,Ce=\"[object Arguments]\",Ee=\"[object Array]\",Le=\"[object AsyncFunction]\",Te=\"[object Boolean]\",Oe=\"[object Date]\",Se=\"[object Error]\",Ne=\"[object Function]\",ke=\"[object GeneratorFunction]\",De=\"[object Map]\",xe=\"[object Number]\",Ie=\"[object Null]\",ze=\"[object Object]\",je=\"[object Promise]\",Pe=\"[object Proxy]\",Be=\"[object RegExp]\",Fe=\"[object Set]\",Re=\"[object String]\",We=\"[object Symbol]\",Ye=\"[object Undefined]\",He=\"[object WeakMap]\",qe=\"[object ArrayBuffer]\",Ue=\"[object DataView]\",Xe=\"[object Float32Array]\",Ve=\"[object Float64Array]\",Ge=\"[object Int8Array]\",$e=\"[object Int16Array]\",Ke=\"[object Int32Array]\",Qe=\"[object Uint8Array]\",Ze=\"[object Uint8ClampedArray]\",Je=\"[object Uint16Array]\",et=\"[object Uint32Array]\",tt=/[\\\\^$.*+?()[\\]{}|]/g,nt=/^\\[object .+?Constructor\\]$/,rt=/^(?:0|[1-9]\\d*)$/,ot={};ot[Xe]=ot[Ve]=ot[Ge]=ot[$e]=ot[Ke]=ot[Qe]=ot[Ze]=ot[Je]=ot[et]=!0,ot[Ce]=ot[Ee]=ot[qe]=ot[Te]=ot[Ue]=ot[Oe]=ot[Se]=ot[Ne]=ot[De]=ot[xe]=ot[ze]=ot[Be]=ot[Fe]=ot[Re]=ot[He]=!1;var it=\"object\"==typeof e&&e&&e.Object===Object&&e,at=\"object\"==typeof self&&self&&self.Object===Object&&self,st=it||at||Function(\"return this\")(),ut=\"object\"==typeof t&&t&&!t.nodeType&&t,lt=ut&&\"object\"==typeof n&&n&&!n.nodeType&&n,ct=lt&&lt.exports===ut,dt=ct&&it.process,ft=function(){try{return dt&&dt.binding&&dt.binding(\"util\")}catch(e){}}(),pt=ft&&ft.isTypedArray,ht=Array.prototype,mt=Function.prototype,gt=Object.prototype,_t=st[\"__core-js_shared__\"],bt=mt.toString,yt=gt.hasOwnProperty,vt=function(){var e=/[^.]+$/.exec(_t&&_t.keys&&_t.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),Mt=gt.toString,At=RegExp(\"^\"+bt.call(yt).replace(tt,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),wt=ct?st.Buffer:void 0,Ct=st.Symbol,Et=st.Uint8Array,Lt=gt.propertyIsEnumerable,Tt=ht.splice,Ot=Ct?Ct.toStringTag:void 0,St=Object.getOwnPropertySymbols,Nt=wt?wt.isBuffer:void 0,kt=d(Object.keys,Object),Dt=te(st,\"DataView\"),xt=te(st,\"Map\"),It=te(st,\"Promise\"),zt=te(st,\"Set\"),jt=te(st,\"WeakMap\"),Pt=te(Object,\"create\"),Bt=ue(Dt),Ft=ue(xt),Rt=ue(It),Wt=ue(zt),Yt=ue(jt),Ht=Ct?Ct.prototype:void 0,qt=Ht?Ht.valueOf:void 0;p.prototype.clear=h,p.prototype.delete=m,p.prototype.get=g,p.prototype.has=_,p.prototype.set=b,y.prototype.clear=v,y.prototype.delete=M,y.prototype.get=A,y.prototype.has=w,y.prototype.set=C,E.prototype.clear=L,E.prototype.delete=T,E.prototype.get=O,E.prototype.has=S,E.prototype.set=N,k.prototype.add=k.prototype.push=D,k.prototype.has=x,I.prototype.clear=z,I.prototype.delete=j,I.prototype.get=P,I.prototype.has=B,I.prototype.set=F;var Ut=St?function(e){return null==e?[]:(e=Object(e),r(St(e),function(t){return Lt.call(e,t)}))}:_e,Xt=H;(Dt&&Xt(new Dt(new ArrayBuffer(1)))!=Ue||xt&&Xt(new xt)!=De||It&&Xt(It.resolve())!=je||zt&&Xt(new zt)!=Fe||jt&&Xt(new jt)!=He)&&(Xt=function(e){var t=H(e),n=t==ze?e.constructor:void 0,r=n?ue(n):\"\";if(r)switch(r){case Bt:return Ue;case Ft:return De;case Rt:return je;case Wt:return Fe;case Yt:return He}return t});var Vt=q(function(){return arguments}())?q:function(e){return me(e)&&yt.call(e,\"callee\")&&!Lt.call(e,\"callee\")},Gt=Array.isArray,$t=Nt||be,Kt=pt?s(pt):G;n.exports=de}).call(t,function(){return this}(),n(227)(e))},function(e,t,n){var r=n(296),o=function(){try{var e=r(Object,\"defineProperty\");return e({},\"\",{}),e}catch(e){}}();e.exports=o},function(e,t){function n(e,t){var n=typeof e;return t=null==t?r:t,!!t&&(\"number\"==n||\"symbol\"!=n&&o.test(e))&&e>-1&&e%1==0&&e<t}var r=9007199254740991,o=/^(?:0|[1-9]\\d*)$/;e.exports=n},function(e,t){function n(e,t){return e===t||e!==e&&t!==t}e.exports=n},function(e,t,n){var r=n(1318),o=n(210),i=Object.prototype,a=i.hasOwnProperty,s=i.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,\"callee\")&&!s.call(e,\"callee\")};e.exports=u},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"af\",{months:\"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag\".split(\"_\"),weekdaysShort:\"Son_Maa_Din_Woe_Don_Vry_Sat\".split(\"_\"),weekdaysMin:\"So_Ma_Di_Wo_Do_Vr_Sa\".split(\"_\"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?\"vm\":\"VM\":n?\"nm\":\"NM\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Vandag om] LT\",nextDay:\"[Môre om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[Gister om] LT\",lastWeek:\"[Laas] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oor %s\",past:\"%s gelede\",s:\"'n paar sekondes\",ss:\"%d sekondes\",m:\"'n minuut\",mm:\"%d minute\",h:\"'n uur\",hh:\"%d ure\",d:\"'n dag\",dd:\"%d dae\",M:\"'n maand\",MM:\"%d maande\",y:\"'n jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-dz\",{months:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"أح_إث_ثلا_أر_خم_جم_سب\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:0,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-kw\",{months:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),weekdays:\"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:0,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"1\",2:\"2\",3:\"3\",4:\"4\",5:\"5\",6:\"6\",7:\"7\",8:\"8\",9:\"9\",0:\"0\"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:[\"أقل من ثانية\",\"ثانية واحدة\",[\"ثانيتان\",\"ثانيتين\"],\"%d ثوان\",\"%d ثانية\",\"%d ثانية\"],m:[\"أقل من دقيقة\",\"دقيقة واحدة\",[\"دقيقتان\",\"دقيقتين\"],\"%d دقائق\",\"%d دقيقة\",\"%d دقيقة\"],h:[\"أقل من ساعة\",\"ساعة واحدة\",[\"ساعتان\",\"ساعتين\"],\"%d ساعات\",\"%d ساعة\",\"%d ساعة\"],d:[\"أقل من يوم\",\"يوم واحد\",[\"يومان\",\"يومين\"],\"%d أيام\",\"%d يومًا\",\"%d يوم\"],M:[\"أقل من شهر\",\"شهر واحد\",[\"شهران\",\"شهرين\"],\"%d أشهر\",\"%d شهرا\",\"%d شهر\"],y:[\"أقل من عام\",\"عام واحد\",[\"عامان\",\"عامين\"],\"%d أعوام\",\"%d عامًا\",\"%d عام\"]},o=function(e){return function(t,o,i,a){var s=n(t),u=r[e][n(t)];return 2===s&&(u=u[o?0:1]),u.replace(/%d/i,t)}},i=[\"يناير\",\"فبراير\",\"مارس\",\"أبريل\",\"مايو\",\"يونيو\",\"يوليو\",\"أغسطس\",\"سبتمبر\",\"أكتوبر\",\"نوفمبر\",\"ديسمبر\"],a=e.defineLocale(\"ar-ly\",{months:i,monthsShort:i,weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/\u200fM/\u200fYYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/ص|م/,isPM:function(e){return\"م\"===e},meridiem:function(e,t,n){return e<12?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم عند الساعة] LT\",nextDay:\"[غدًا عند الساعة] LT\",nextWeek:\"dddd [عند الساعة] LT\",lastDay:\"[أمس عند الساعة] LT\",lastWeek:\"dddd [عند الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"بعد %s\",past:\"منذ %s\",s:o(\"s\"),ss:o(\"s\"),m:o(\"m\"),mm:o(\"m\"),h:o(\"h\"),hh:o(\"h\"),d:o(\"d\"),dd:o(\"d\"),M:o(\"M\"),MM:o(\"M\"),y:o(\"y\"),yy:o(\"y\")},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},week:{dow:6,doy:12}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-ma\",{months:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر\".split(\"_\"),weekdays:\"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"},n={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},r=e.defineLocale(\"ar-sa\",{months:\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/ص|م/,isPM:function(e){return\"م\"===e},meridiem:function(e,t,n){return e<12?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ar-tn\",{months:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),monthsShort:\"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر\".split(\"_\"),weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[اليوم على الساعة] LT\",nextDay:\"[غدا على الساعة] LT\",nextWeek:\"dddd [على الساعة] LT\",lastDay:\"[أمس على الساعة] LT\",lastWeek:\"dddd [على الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"في %s\",past:\"منذ %s\",s:\"ثوان\",ss:\"%d ثانية\",m:\"دقيقة\",mm:\"%d دقائق\",h:\"ساعة\",hh:\"%d ساعات\",d:\"يوم\",dd:\"%d أيام\",M:\"شهر\",MM:\"%d أشهر\",y:\"سنة\",yy:\"%d سنوات\"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"١\",2:\"٢\",3:\"٣\",4:\"٤\",5:\"٥\",6:\"٦\",7:\"٧\",8:\"٨\",9:\"٩\",0:\"٠\"},n={\"١\":\"1\",\"٢\":\"2\",\"٣\":\"3\",\"٤\":\"4\",\"٥\":\"5\",\"٦\":\"6\",\"٧\":\"7\",\"٨\":\"8\",\"٩\":\"9\",\"٠\":\"0\"},r=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},o={s:[\"أقل من ثانية\",\"ثانية واحدة\",[\"ثانيتان\",\"ثانيتين\"],\"%d ثوان\",\"%d ثانية\",\"%d ثانية\"],m:[\"أقل من دقيقة\",\"دقيقة واحدة\",[\"دقيقتان\",\"دقيقتين\"],\"%d دقائق\",\"%d دقيقة\",\"%d دقيقة\"],h:[\"أقل من ساعة\",\"ساعة واحدة\",[\"ساعتان\",\"ساعتين\"],\"%d ساعات\",\"%d ساعة\",\"%d ساعة\"],d:[\"أقل من يوم\",\"يوم واحد\",[\"يومان\",\"يومين\"],\"%d أيام\",\"%d يومًا\",\"%d يوم\"],M:[\"أقل من شهر\",\"شهر واحد\",[\"شهران\",\"شهرين\"],\"%d أشهر\",\"%d شهرا\",\"%d شهر\"],y:[\"أقل من عام\",\"عام واحد\",[\"عامان\",\"عامين\"],\"%d أعوام\",\"%d عامًا\",\"%d عام\"]},i=function(e){return function(t,n,i,a){var s=r(t),u=o[e][r(t)];return 2===s&&(u=u[n?0:1]),u.replace(/%d/i,t)}},a=[\"يناير\",\"فبراير\",\"مارس\",\"أبريل\",\"مايو\",\"يونيو\",\"يوليو\",\"أغسطس\",\"سبتمبر\",\"أكتوبر\",\"نوفمبر\",\"ديسمبر\"],s=e.defineLocale(\"ar\",{months:a,monthsShort:a,weekdays:\"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت\".split(\"_\"),weekdaysShort:\"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت\".split(\"_\"),weekdaysMin:\"ح_ن_ث_ر_خ_ج_س\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/\u200fM/\u200fYYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/ص|م/,isPM:function(e){return\"م\"===e},meridiem:function(e,t,n){return e<12?\"ص\":\"م\"},calendar:{sameDay:\"[اليوم عند الساعة] LT\",nextDay:\"[غدًا عند الساعة] LT\",nextWeek:\"dddd [عند الساعة] LT\",lastDay:\"[أمس عند الساعة] LT\",lastWeek:\"dddd [عند الساعة] LT\",sameElse:\"L\"},relativeTime:{future:\"بعد %s\",past:\"منذ %s\",s:i(\"s\"),ss:i(\"s\"),m:i(\"m\"),mm:i(\"m\"),h:i(\"h\"),hh:i(\"h\"),d:i(\"d\"),dd:i(\"d\"),M:i(\"M\"),MM:i(\"M\"),y:i(\"y\"),yy:i(\"y\")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return n[e]}).replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},week:{dow:6,doy:12}});return s})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"-inci\",5:\"-inci\",8:\"-inci\",70:\"-inci\",80:\"-inci\",2:\"-nci\",7:\"-nci\",20:\"-nci\",50:\"-nci\",3:\"-üncü\",4:\"-üncü\",100:\"-üncü\",6:\"-ncı\",9:\"-uncu\",10:\"-uncu\",30:\"-uncu\",60:\"-ıncı\",90:\"-ıncı\"},n=e.defineLocale(\"az\",{months:\"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr\".split(\"_\"),monthsShort:\"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek\".split(\"_\"),weekdays:\"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə\".split(\"_\"),weekdaysShort:\"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən\".split(\"_\"),weekdaysMin:\"Bz_BE_ÇA_Çə_CA_Cü_Şə\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[bugün saat] LT\",nextDay:\"[sabah saat] LT\",nextWeek:\"[gələn həftə] dddd [saat] LT\",lastDay:\"[dünən] LT\",lastWeek:\"[keçən həftə] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s əvvəl\",s:\"birneçə saniyyə\",ss:\"%d saniyə\",m:\"bir dəqiqə\",mm:\"%d dəqiqə\",h:\"bir saat\",hh:\"%d saat\",d:\"bir gün\",dd:\"%d gün\",M:\"bir ay\",MM:\"%d ay\",y:\"bir il\",yy:\"%d il\"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?\"gecə\":e<12?\"səhər\":e<17?\"gündüz\":\"axşam\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+\"-ıncı\";var n=e%10,r=e%100-n,o=e>=100?100:null;return e+(t[n]||t[r]||t[o])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t){var n=e.split(\"_\");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?\"секунда_секунды_секунд\":\"секунду_секунды_секунд\",mm:n?\"хвіліна_хвіліны_хвілін\":\"хвіліну_хвіліны_хвілін\",hh:n?\"гадзіна_гадзіны_гадзін\":\"гадзіну_гадзіны_гадзін\",dd:\"дзень_дні_дзён\",MM:\"месяц_месяцы_месяцаў\",yy:\"год_гады_гадоў\"};return\"m\"===r?n?\"хвіліна\":\"хвіліну\":\"h\"===r?n?\"гадзіна\":\"гадзіну\":e+\" \"+t(o[r],+e)}var r=e.defineLocale(\"be\",{months:{format:\"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня\".split(\"_\"),standalone:\"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань\".split(\"_\")},monthsShort:\"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж\".split(\"_\"),weekdays:{format:\"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу\".split(\"_\"),standalone:\"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота\".split(\"_\"),isFormat:/\\[ ?[Вв] ?(?:мінулую|наступную)? ?\\] ?dddd/},weekdaysShort:\"нд_пн_ат_ср_чц_пт_сб\".split(\"_\"),weekdaysMin:\"нд_пн_ат_ср_чц_пт_сб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., HH:mm\",LLLL:\"dddd, D MMMM YYYY г., HH:mm\"},calendar:{sameDay:\"[Сёння ў] LT\",nextDay:\"[Заўтра ў] LT\",lastDay:\"[Учора ў] LT\",nextWeek:function(){return\"[У] dddd [ў] LT\"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return\"[У мінулую] dddd [ў] LT\";case 1:case 2:case 4:return\"[У мінулы] dddd [ў] LT\"}},sameElse:\"L\"},relativeTime:{future:\"праз %s\",past:\"%s таму\",s:\"некалькі секунд\",m:n,mm:n,h:n,hh:n,d:\"дзень\",dd:n,M:\"месяц\",MM:n,y:\"год\",yy:n},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?\"ночы\":e<12?\"раніцы\":e<17?\"дня\":\"вечара\"},dayOfMonthOrdinalParse:/\\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return e%10!==2&&e%10!==3||e%100===12||e%100===13?e+\"-ы\":e+\"-і\";case\"D\":return e+\"-га\";default:return e}},week:{dow:1,doy:7}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"bg\",{months:\"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември\".split(\"_\"),monthsShort:\"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек\".split(\"_\"),weekdays:\"неделя_понеделник_вторник_сряда_четвъртък_петък_събота\".split(\"_\"),weekdaysShort:\"нед_пон_вто_сря_чет_пет_съб\".split(\"_\"),weekdaysMin:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[Днес в] LT\",nextDay:\"[Утре в] LT\",nextWeek:\"dddd [в] LT\",lastDay:\"[Вчера в] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[В изминалата] dddd [в] LT\";case 1:case 2:case 4:case 5:return\"[В изминалия] dddd [в] LT\"}},sameElse:\"L\"},relativeTime:{future:\"след %s\",past:\"преди %s\",s:\"няколко секунди\",ss:\"%d секунди\",m:\"минута\",mm:\"%d минути\",h:\"час\",hh:\"%d часа\",d:\"ден\",dd:\"%d дни\",M:\"месец\",MM:\"%d месеца\",y:\"година\",yy:\"%d години\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+\"-ев\":0===n?e+\"-ен\":n>10&&n<20?e+\"-ти\":1===t?e+\"-ви\":2===t?e+\"-ри\":7===t||8===t?e+\"-ми\":e+\"-ти\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"bm\",{months:\"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo\".split(\"_\"),monthsShort:\"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des\".split(\"_\"),weekdays:\"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri\".split(\"_\"),weekdaysShort:\"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib\".split(\"_\"),weekdaysMin:\"Ka_Nt_Ta_Ar_Al_Ju_Si\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"MMMM [tile] D [san] YYYY\",LLL:\"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm\",LLLL:\"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm\"},calendar:{sameDay:\"[Bi lɛrɛ] LT\",nextDay:\"[Sini lɛrɛ] LT\",nextWeek:\"dddd [don lɛrɛ] LT\",lastDay:\"[Kunu lɛrɛ] LT\",lastWeek:\"dddd [tɛmɛnen lɛrɛ] LT\",sameElse:\"L\"},relativeTime:{future:\"%s kɔnɔ\",past:\"a bɛ %s bɔ\",s:\"sanga dama dama\",ss:\"sekondi %d\",m:\"miniti kelen\",mm:\"miniti %d\",h:\"lɛrɛ kelen\",hh:\"lɛrɛ %d\",d:\"tile kelen\",dd:\"tile %d\",M:\"kalo kelen\",MM:\"kalo %d\",y:\"san kelen\",yy:\"san %d\"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"১\",2:\"২\",3:\"৩\",4:\"৪\",5:\"৫\",6:\"৬\",7:\"৭\",8:\"৮\",9:\"৯\",0:\"০\"},n={\"১\":\"1\",\"২\":\"2\",\"৩\":\"3\",\"৪\":\"4\",\"৫\":\"5\",\"৬\":\"6\",\"৭\":\"7\",\"৮\":\"8\",\"৯\":\"9\",\"০\":\"0\"},r=e.defineLocale(\"bn\",{months:\"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর\".split(\"_\"),monthsShort:\"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে\".split(\"_\"),weekdays:\"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার\".split(\"_\"),weekdaysShort:\"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি\".split(\"_\"),weekdaysMin:\"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি\".split(\"_\"),longDateFormat:{LT:\"A h:mm সময়\",LTS:\"A h:mm:ss সময়\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm সময়\",LLLL:\"dddd, D MMMM YYYY, A h:mm সময়\"},calendar:{sameDay:\"[আজ] LT\",nextDay:\"[আগামীকাল] LT\",nextWeek:\"dddd, LT\",lastDay:\"[গতকাল] LT\",lastWeek:\"[গত] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s পরে\",past:\"%s আগে\",s:\"কয়েক সেকেন্ড\",ss:\"%d সেকেন্ড\",m:\"এক মিনিট\",mm:\"%d মিনিট\",h:\"এক ঘন্টা\",hh:\"%d ঘন্টা\",d:\"এক দিন\",dd:\"%d দিন\",M:\"এক মাস\",MM:\"%d মাস\",y:\"এক বছর\",yy:\"%d বছর\"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),\"রাত\"===t&&e>=4||\"দুপুর\"===t&&e<5||\"বিকাল\"===t?e+12:e},meridiem:function(e,t,n){return e<4?\"রাত\":e<10?\"সকাল\":e<17?\"দুপুর\":e<20?\"বিকাল\":\"রাত\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"༡\",2:\"༢\",3:\"༣\",4:\"༤\",5:\"༥\",6:\"༦\",7:\"༧\",8:\"༨\",9:\"༩\",0:\"༠\"},n={\"༡\":\"1\",\"༢\":\"2\",\"༣\":\"3\",\"༤\":\"4\",\"༥\":\"5\",\"༦\":\"6\",\"༧\":\"7\",\"༨\":\"8\",\"༩\":\"9\",\"༠\":\"0\"},r=e.defineLocale(\"bo\",{months:\"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ\".split(\"_\"),monthsShort:\"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ\".split(\"_\"),weekdays:\"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་\".split(\"_\"),weekdaysShort:\"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་\".split(\"_\"),weekdaysMin:\"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[དི་རིང] LT\",nextDay:\"[སང་ཉིན] LT\",nextWeek:\"[བདུན་ཕྲག་རྗེས་མ], LT\",lastDay:\"[ཁ་སང] LT\",lastWeek:\"[བདུན་ཕྲག་མཐའ་མ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ལ་\",past:\"%s སྔན་ལ\",s:\"ལམ་སང\",ss:\"%d སྐར་ཆ།\",m:\"སྐར་མ་གཅིག\",mm:\"%d སྐར་མ\",h:\"ཆུ་ཚོད་གཅིག\",hh:\"%d ཆུ་ཚོད\",d:\"ཉིན་གཅིག\",dd:\"%d ཉིན་\",M:\"ཟླ་བ་གཅིག\",MM:\"%d ཟླ་བ\",y:\"ལོ་གཅིག\",yy:\"%d ལོ\"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"མཚན་མོ\"===t&&e>=4||\"ཉིན་གུང\"===t&&e<5||\"དགོང་དག\"===t?e+12:e},meridiem:function(e,t,n){return e<4?\"མཚན་མོ\":e<10?\"ཞོགས་ཀས\":e<17?\"ཉིན་གུང\":e<20?\"དགོང་དག\":\"མཚན་མོ\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r={mm:\"munutenn\",MM:\"miz\",dd:\"devezh\"};return e+\" \"+o(r[n],e)}function n(e){switch(r(e)){case 1:case 3:case 4:case 5:case 9:return e+\" bloaz\";default:return e+\" vloaz\"}}function r(e){return e>9?r(e%10):e}function o(e,t){return 2===t?i(e):e}function i(e){var t={m:\"v\",b:\"v\",d:\"z\"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}var a=e.defineLocale(\"br\",{months:\"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu\".split(\"_\"),monthsShort:\"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker\".split(\"_\"),weekdays:\"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn\".split(\"_\"),weekdaysShort:\"Sul_Lun_Meu_Mer_Yao_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Lu_Me_Mer_Ya_Gw_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h[e]mm A\",LTS:\"h[e]mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [a viz] MMMM YYYY\",LLL:\"D [a viz] MMMM YYYY h[e]mm A\",LLLL:\"dddd, D [a viz] MMMM YYYY h[e]mm A\"},calendar:{sameDay:\"[Hiziv da] LT\",nextDay:\"[Warc'hoazh da] LT\",nextWeek:\"dddd [da] LT\",lastDay:\"[Dec'h da] LT\",lastWeek:\"dddd [paset da] LT\",sameElse:\"L\"},relativeTime:{future:\"a-benn %s\",past:\"%s 'zo\",s:\"un nebeud segondennoù\",ss:\"%d eilenn\",m:\"ur vunutenn\",mm:t,h:\"un eur\",hh:\"%d eur\",d:\"un devezh\",dd:t,M:\"ur miz\",MM:t,y:\"ur bloaz\",yy:n},dayOfMonthOrdinalParse:/\\d{1,2}(añ|vet)/,ordinal:function(e){var t=1===e?\"añ\":\"vet\";return e+t},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r=e+\" \";switch(n){case\"ss\":return r+=1===e?\"sekunda\":2===e||3===e||4===e?\"sekunde\":\"sekundi\";\ncase\"m\":return t?\"jedna minuta\":\"jedne minute\";case\"mm\":return r+=1===e?\"minuta\":2===e||3===e||4===e?\"minute\":\"minuta\";case\"h\":return t?\"jedan sat\":\"jednog sata\";case\"hh\":return r+=1===e?\"sat\":2===e||3===e||4===e?\"sata\":\"sati\";case\"dd\":return r+=1===e?\"dan\":\"dana\";case\"MM\":return r+=1===e?\"mjesec\":2===e||3===e||4===e?\"mjeseca\":\"mjeseci\";case\"yy\":return r+=1===e?\"godina\":2===e||3===e||4===e?\"godine\":\"godina\"}}var n=e.defineLocale(\"bs\",{months:\"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[jučer u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[prošlu] dddd [u] LT\";case 6:return\"[prošle] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[prošli] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",ss:t,m:t,mm:t,h:t,hh:t,d:\"dan\",dd:t,M:\"mjesec\",MM:t,y:\"godinu\",yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ca\",{months:{standalone:\"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre\".split(\"_\"),format:\"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\"_\"),isFormat:/D[oD]?(\\s)+MMMM/},monthsShort:\"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.\".split(\"_\"),monthsParseExact:!0,weekdays:\"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte\".split(\"_\"),weekdaysShort:\"dg._dl._dt._dc._dj._dv._ds.\".split(\"_\"),weekdaysMin:\"dg_dl_dt_dc_dj_dv_ds\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [de] YYYY\",ll:\"D MMM YYYY\",LLL:\"D MMMM [de] YYYY [a les] H:mm\",lll:\"D MMM YYYY, H:mm\",LLLL:\"dddd D MMMM [de] YYYY [a les] H:mm\",llll:\"ddd D MMM YYYY, H:mm\"},calendar:{sameDay:function(){return\"[avui a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextDay:function(){return\"[demà a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},nextWeek:function(){return\"dddd [a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastDay:function(){return\"[ahir a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [passat a \"+(1!==this.hours()?\"les\":\"la\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"d'aquí %s\",past:\"fa %s\",s:\"uns segons\",ss:\"%d segons\",m:\"un minut\",mm:\"%d minuts\",h:\"una hora\",hh:\"%d hores\",d:\"un dia\",dd:\"%d dies\",M:\"un mes\",MM:\"%d mesos\",y:\"un any\",yy:\"%d anys\"},dayOfMonthOrdinalParse:/\\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?\"r\":2===e?\"n\":3===e?\"r\":4===e?\"t\":\"è\";return\"w\"!==t&&\"W\"!==t||(n=\"a\"),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e>1&&e<5&&1!==~~(e/10)}function n(e,n,r,o){var i=e+\" \";switch(r){case\"s\":return n||o?\"pár sekund\":\"pár sekundami\";case\"ss\":return n||o?i+(t(e)?\"sekundy\":\"sekund\"):i+\"sekundami\";case\"m\":return n?\"minuta\":o?\"minutu\":\"minutou\";case\"mm\":return n||o?i+(t(e)?\"minuty\":\"minut\"):i+\"minutami\";case\"h\":return n?\"hodina\":o?\"hodinu\":\"hodinou\";case\"hh\":return n||o?i+(t(e)?\"hodiny\":\"hodin\"):i+\"hodinami\";case\"d\":return n||o?\"den\":\"dnem\";case\"dd\":return n||o?i+(t(e)?\"dny\":\"dní\"):i+\"dny\";case\"M\":return n||o?\"měsíc\":\"měsícem\";case\"MM\":return n||o?i+(t(e)?\"měsíce\":\"měsíců\"):i+\"měsíci\";case\"y\":return n||o?\"rok\":\"rokem\";case\"yy\":return n||o?i+(t(e)?\"roky\":\"let\"):i+\"lety\"}}var r=\"leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec\".split(\"_\"),o=\"led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro\".split(\"_\"),i=e.defineLocale(\"cs\",{months:r,monthsShort:o,monthsParse:function(e,t){var n,r=[];for(n=0;n<12;n++)r[n]=new RegExp(\"^\"+e[n]+\"$|^\"+t[n]+\"$\",\"i\");return r}(r,o),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp(\"^\"+e[t]+\"$\",\"i\");return n}(o),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp(\"^\"+e[t]+\"$\",\"i\");return n}(r),weekdays:\"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota\".split(\"_\"),weekdaysShort:\"ne_po_út_st_čt_pá_so\".split(\"_\"),weekdaysMin:\"ne_po_út_st_čt_pá_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd D. MMMM YYYY H:mm\",l:\"D. M. YYYY\"},calendar:{sameDay:\"[dnes v] LT\",nextDay:\"[zítra v] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v neděli v] LT\";case 1:case 2:return\"[v] dddd [v] LT\";case 3:return\"[ve středu v] LT\";case 4:return\"[ve čtvrtek v] LT\";case 5:return\"[v pátek v] LT\";case 6:return\"[v sobotu v] LT\"}},lastDay:\"[včera v] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulou neděli v] LT\";case 1:case 2:return\"[minulé] dddd [v] LT\";case 3:return\"[minulou středu v] LT\";case 4:case 5:return\"[minulý] dddd [v] LT\";case 6:return\"[minulou sobotu v] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"před %s\",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"cv\",{months:\"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав\".split(\"_\"),monthsShort:\"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш\".split(\"_\"),weekdays:\"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун\".split(\"_\"),weekdaysShort:\"выр_тун_ытл_юн_кӗҫ_эрн_шӑм\".split(\"_\"),weekdaysMin:\"вр_тн_ыт_юн_кҫ_эр_шм\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]\",LLL:\"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm\",LLLL:\"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm\"},calendar:{sameDay:\"[Паян] LT [сехетре]\",nextDay:\"[Ыран] LT [сехетре]\",lastDay:\"[Ӗнер] LT [сехетре]\",nextWeek:\"[Ҫитес] dddd LT [сехетре]\",lastWeek:\"[Иртнӗ] dddd LT [сехетре]\",sameElse:\"L\"},relativeTime:{future:function(e){var t=/сехет$/i.exec(e)?\"рен\":/ҫул$/i.exec(e)?\"тан\":\"ран\";return e+t},past:\"%s каялла\",s:\"пӗр-ик ҫеккунт\",ss:\"%d ҫеккунт\",m:\"пӗр минут\",mm:\"%d минут\",h:\"пӗр сехет\",hh:\"%d сехет\",d:\"пӗр кун\",dd:\"%d кун\",M:\"пӗр уйӑх\",MM:\"%d уйӑх\",y:\"пӗр ҫул\",yy:\"%d ҫул\"},dayOfMonthOrdinalParse:/\\d{1,2}-мӗш/,ordinal:\"%d-мӗш\",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"cy\",{months:\"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr\".split(\"_\"),monthsShort:\"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag\".split(\"_\"),weekdays:\"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn\".split(\"_\"),weekdaysShort:\"Sul_Llun_Maw_Mer_Iau_Gwe_Sad\".split(\"_\"),weekdaysMin:\"Su_Ll_Ma_Me_Ia_Gw_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Heddiw am] LT\",nextDay:\"[Yfory am] LT\",nextWeek:\"dddd [am] LT\",lastDay:\"[Ddoe am] LT\",lastWeek:\"dddd [diwethaf am] LT\",sameElse:\"L\"},relativeTime:{future:\"mewn %s\",past:\"%s yn ôl\",s:\"ychydig eiliadau\",ss:\"%d eiliad\",m:\"munud\",mm:\"%d munud\",h:\"awr\",hh:\"%d awr\",d:\"diwrnod\",dd:\"%d diwrnod\",M:\"mis\",MM:\"%d mis\",y:\"blwyddyn\",yy:\"%d flynedd\"},dayOfMonthOrdinalParse:/\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t=e,n=\"\",r=[\"\",\"af\",\"il\",\"ydd\",\"ydd\",\"ed\",\"ed\",\"ed\",\"fed\",\"fed\",\"fed\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"eg\",\"fed\",\"eg\",\"fed\"];return t>20?n=40===t||50===t||60===t||80===t||100===t?\"fed\":\"ain\":t>0&&(n=r[t]),e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"da\",{months:\"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"søn_man_tir_ons_tor_fre_lør\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd [d.] D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"på dddd [kl.] LT\",lastDay:\"[i går kl.] LT\",lastWeek:\"[i] dddd[s kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"få sekunder\",ss:\"%d sekunder\",m:\"et minut\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dage\",M:\"en måned\",MM:\"%d måneder\",y:\"et år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"de-at\",{months:\"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:t,mm:\"%d Minuten\",h:t,hh:\"%d Stunden\",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"de-ch\",{months:\"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:t,mm:\"%d Minuten\",h:t,hh:\"%d Stunden\",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eine Minute\",\"einer Minute\"],h:[\"eine Stunde\",\"einer Stunde\"],d:[\"ein Tag\",\"einem Tag\"],dd:[e+\" Tage\",e+\" Tagen\"],M:[\"ein Monat\",\"einem Monat\"],MM:[e+\" Monate\",e+\" Monaten\"],y:[\"ein Jahr\",\"einem Jahr\"],yy:[e+\" Jahre\",e+\" Jahren\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"de\",{months:\"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag\".split(\"_\"),weekdaysShort:\"So._Mo._Di._Mi._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mo_Di_Mi_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY HH:mm\",LLLL:\"dddd, D. MMMM YYYY HH:mm\"},calendar:{sameDay:\"[heute um] LT [Uhr]\",sameElse:\"L\",nextDay:\"[morgen um] LT [Uhr]\",nextWeek:\"dddd [um] LT [Uhr]\",lastDay:\"[gestern um] LT [Uhr]\",lastWeek:\"[letzten] dddd [um] LT [Uhr]\"},relativeTime:{future:\"in %s\",past:\"vor %s\",s:\"ein paar Sekunden\",ss:\"%d Sekunden\",m:t,mm:\"%d Minuten\",h:t,hh:\"%d Stunden\",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"ޖެނުއަރީ\",\"ފެބްރުއަރީ\",\"މާރިޗު\",\"އޭޕްރީލު\",\"މޭ\",\"ޖޫން\",\"ޖުލައި\",\"އޯގަސްޓު\",\"ސެޕްޓެމްބަރު\",\"އޮކްޓޯބަރު\",\"ނޮވެމްބަރު\",\"ޑިސެމްބަރު\"],n=[\"އާދިއްތަ\",\"ހޯމަ\",\"އަންގާރަ\",\"ބުދަ\",\"ބުރާސްފަތި\",\"ހުކުރު\",\"ހޮނިހިރު\"],r=e.defineLocale(\"dv\",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:\"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"D/M/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},meridiemParse:/މކ|މފ/,isPM:function(e){return\"މފ\"===e},meridiem:function(e,t,n){return e<12?\"މކ\":\"މފ\"},calendar:{sameDay:\"[މިއަދު] LT\",nextDay:\"[މާދަމާ] LT\",nextWeek:\"dddd LT\",lastDay:\"[އިއްޔެ] LT\",lastWeek:\"[ފާއިތުވި] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"ތެރޭގައި %s\",past:\"ކުރިން %s\",s:\"ސިކުންތުކޮޅެއް\",ss:\"d% ސިކުންތު\",m:\"މިނިޓެއް\",mm:\"މިނިޓު %d\",h:\"ގަޑިއިރެއް\",hh:\"ގަޑިއިރު %d\",d:\"ދުވަހެއް\",dd:\"ދުވަސް %d\",M:\"މަހެއް\",MM:\"މަސް %d\",y:\"އަހަރެއް\",yy:\"އަހަރު %d\"},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:7,doy:12}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e instanceof Function||\"[object Function]\"===Object.prototype.toString.call(e)}var n=e.defineLocale(\"el\",{monthsNominativeEl:\"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος\".split(\"_\"),monthsGenitiveEl:\"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου\".split(\"_\"),months:function(e,t){return e?\"string\"==typeof t&&/D/.test(t.substring(0,t.indexOf(\"MMMM\")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:\"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ\".split(\"_\"),weekdays:\"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο\".split(\"_\"),weekdaysShort:\"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ\".split(\"_\"),weekdaysMin:\"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα\".split(\"_\"),meridiem:function(e,t,n){return e>11?n?\"μμ\":\"ΜΜ\":n?\"πμ\":\"ΠΜ\"},isPM:function(e){return\"μ\"===(e+\"\").toLowerCase()[0]},meridiemParse:/[ΠΜ]\\.?Μ?\\.?/i,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendarEl:{sameDay:\"[Σήμερα {}] LT\",nextDay:\"[Αύριο {}] LT\",nextWeek:\"dddd [{}] LT\",lastDay:\"[Χθες {}] LT\",lastWeek:function(){switch(this.day()){case 6:return\"[το προηγούμενο] dddd [{}] LT\";default:return\"[την προηγούμενη] dddd [{}] LT\"}},sameElse:\"L\"},calendar:function(e,n){var r=this._calendarEl[e],o=n&&n.hours();return t(r)&&(r=r.apply(n)),r.replace(\"{}\",o%12===1?\"στη\":\"στις\")},relativeTime:{future:\"σε %s\",past:\"%s πριν\",s:\"λίγα δευτερόλεπτα\",ss:\"%d δευτερόλεπτα\",m:\"ένα λεπτό\",mm:\"%d λεπτά\",h:\"μία ώρα\",hh:\"%d ώρες\",d:\"μία μέρα\",dd:\"%d μέρες\",M:\"ένας μήνας\",MM:\"%d μήνες\",y:\"ένας χρόνος\",yy:\"%d χρόνια\"},dayOfMonthOrdinalParse:/\\d{1,2}η/,ordinal:\"%dη\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-au\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-ca\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"YYYY-MM-DD\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-gb\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-ie\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-il\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"en-nz\",{months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",ss:\"%d seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"eo\",{months:\"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec\".split(\"_\"),weekdays:\"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato\".split(\"_\"),weekdaysShort:\"dim_lun_mard_merk_ĵaŭ_ven_sab\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_ĵa_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D[-a de] MMMM, YYYY\",LLL:\"D[-a de] MMMM, YYYY HH:mm\",LLLL:\"dddd, [la] D[-a de] MMMM, YYYY HH:mm\"},meridiemParse:/[ap]\\.t\\.m/i,isPM:function(e){return\"p\"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?\"p.t.m.\":\"P.T.M.\":n?\"a.t.m.\":\"A.T.M.\"},calendar:{sameDay:\"[Hodiaŭ je] LT\",nextDay:\"[Morgaŭ je] LT\",nextWeek:\"dddd [je] LT\",lastDay:\"[Hieraŭ je] LT\",lastWeek:\"[pasinta] dddd [je] LT\",sameElse:\"L\"},relativeTime:{future:\"post %s\",past:\"antaŭ %s\",s:\"sekundoj\",ss:\"%d sekundoj\",m:\"minuto\",mm:\"%d minutoj\",h:\"horo\",hh:\"%d horoj\",d:\"tago\",dd:\"%d tagoj\",M:\"monato\",MM:\"%d monatoj\",y:\"jaro\",yy:\"%d jaroj\"},dayOfMonthOrdinalParse:/\\d{1,2}a/,ordinal:\"%da\",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),n=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],o=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,i=e.defineLocale(\"es-do\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY h:mm A\",LLLL:\"dddd, D [de] MMMM [de] YYYY h:mm A\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),n=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),r=e.defineLocale(\"es-us\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"MM/DD/YYYY\",LL:\"MMMM [de] D [de] YYYY\",LLL:\"MMMM [de] D [de] YYYY h:mm A\",LLLL:\"dddd, MMMM [de] D [de] YYYY h:mm A\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.\".split(\"_\"),n=\"ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic\".split(\"_\"),r=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],o=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,i=e.defineLocale(\"es\",{months:\"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"domingo_lunes_martes_miércoles_jueves_viernes_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mié._jue._vie._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mi_ju_vi_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},calendar:{sameDay:function(){return\"[hoy a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextDay:function(){return\"[mañana a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},nextWeek:function(){return\"dddd [a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastDay:function(){return\"[ayer a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},lastWeek:function(){return\"[el] dddd [pasado a la\"+(1!==this.hours()?\"s\":\"\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:\"en %s\",past:\"hace %s\",s:\"unos segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"una hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un año\",yy:\"%d años\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={s:[\"mõne sekundi\",\"mõni sekund\",\"paar sekundit\"],ss:[e+\"sekundi\",e+\"sekundit\"],m:[\"ühe minuti\",\"üks minut\"],mm:[e+\" minuti\",e+\" minutit\"],h:[\"ühe tunni\",\"tund aega\",\"üks tund\"],hh:[e+\" tunni\",e+\" tundi\"],d:[\"ühe päeva\",\"üks päev\"],M:[\"kuu aja\",\"kuu aega\",\"üks kuu\"],MM:[e+\" kuu\",e+\" kuud\"],y:[\"ühe aasta\",\"aasta\",\"üks aasta\"],yy:[e+\" aasta\",e+\" aastat\"]};return t?o[n][2]?o[n][2]:o[n][1]:r?o[n][0]:o[n][1]}var n=e.defineLocale(\"et\",{months:\"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember\".split(\"_\"),monthsShort:\"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets\".split(\"_\"),weekdays:\"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev\".split(\"_\"),weekdaysShort:\"P_E_T_K_N_R_L\".split(\"_\"),weekdaysMin:\"P_E_T_K_N_R_L\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[Täna,] LT\",nextDay:\"[Homme,] LT\",nextWeek:\"[Järgmine] dddd LT\",lastDay:\"[Eile,] LT\",lastWeek:\"[Eelmine] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s pärast\",past:\"%s tagasi\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:\"%d päeva\",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"eu\",{months:\"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua\".split(\"_\"),monthsShort:\"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.\".split(\"_\"),monthsParseExact:!0,weekdays:\"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata\".split(\"_\"),weekdaysShort:\"ig._al._ar._az._og._ol._lr.\".split(\"_\"),weekdaysMin:\"ig_al_ar_az_og_ol_lr\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY[ko] MMMM[ren] D[a]\",\nLLL:\"YYYY[ko] MMMM[ren] D[a] HH:mm\",LLLL:\"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm\",l:\"YYYY-M-D\",ll:\"YYYY[ko] MMM D[a]\",lll:\"YYYY[ko] MMM D[a] HH:mm\",llll:\"ddd, YYYY[ko] MMM D[a] HH:mm\"},calendar:{sameDay:\"[gaur] LT[etan]\",nextDay:\"[bihar] LT[etan]\",nextWeek:\"dddd LT[etan]\",lastDay:\"[atzo] LT[etan]\",lastWeek:\"[aurreko] dddd LT[etan]\",sameElse:\"L\"},relativeTime:{future:\"%s barru\",past:\"duela %s\",s:\"segundo batzuk\",ss:\"%d segundo\",m:\"minutu bat\",mm:\"%d minutu\",h:\"ordu bat\",hh:\"%d ordu\",d:\"egun bat\",dd:\"%d egun\",M:\"hilabete bat\",MM:\"%d hilabete\",y:\"urte bat\",yy:\"%d urte\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"۱\",2:\"۲\",3:\"۳\",4:\"۴\",5:\"۵\",6:\"۶\",7:\"۷\",8:\"۸\",9:\"۹\",0:\"۰\"},n={\"۱\":\"1\",\"۲\":\"2\",\"۳\":\"3\",\"۴\":\"4\",\"۵\":\"5\",\"۶\":\"6\",\"۷\":\"7\",\"۸\":\"8\",\"۹\":\"9\",\"۰\":\"0\"},r=e.defineLocale(\"fa\",{months:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),monthsShort:\"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر\".split(\"_\"),weekdays:\"یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه\".split(\"_\"),weekdaysShort:\"یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه\".split(\"_\"),weekdaysMin:\"ی_د_س_چ_پ_ج_ش\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?\"قبل از ظهر\":\"بعد از ظهر\"},calendar:{sameDay:\"[امروز ساعت] LT\",nextDay:\"[فردا ساعت] LT\",nextWeek:\"dddd [ساعت] LT\",lastDay:\"[دیروز ساعت] LT\",lastWeek:\"dddd [پیش] [ساعت] LT\",sameElse:\"L\"},relativeTime:{future:\"در %s\",past:\"%s پیش\",s:\"چند ثانیه\",ss:\"ثانیه d%\",m:\"یک دقیقه\",mm:\"%d دقیقه\",h:\"یک ساعت\",hh:\"%d ساعت\",d:\"یک روز\",dd:\"%d روز\",M:\"یک ماه\",MM:\"%d ماه\",y:\"یک سال\",yy:\"%d سال\"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return n[e]}).replace(/،/g,\",\")},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]}).replace(/,/g,\"،\")},dayOfMonthOrdinalParse:/\\d{1,2}م/,ordinal:\"%dم\",week:{dow:6,doy:12}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,r,o){var i=\"\";switch(r){case\"s\":return o?\"muutaman sekunnin\":\"muutama sekunti\";case\"ss\":return o?\"sekunnin\":\"sekuntia\";case\"m\":return o?\"minuutin\":\"minuutti\";case\"mm\":i=o?\"minuutin\":\"minuuttia\";break;case\"h\":return o?\"tunnin\":\"tunti\";case\"hh\":i=o?\"tunnin\":\"tuntia\";break;case\"d\":return o?\"päivän\":\"päivä\";case\"dd\":i=o?\"päivän\":\"päivää\";break;case\"M\":return o?\"kuukauden\":\"kuukausi\";case\"MM\":i=o?\"kuukauden\":\"kuukautta\";break;case\"y\":return o?\"vuoden\":\"vuosi\";case\"yy\":i=o?\"vuoden\":\"vuotta\"}return i=n(e,o)+\" \"+i}function n(e,t){return e<10?t?o[e]:r[e]:e}var r=\"nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän\".split(\" \"),o=[\"nolla\",\"yhden\",\"kahden\",\"kolmen\",\"neljän\",\"viiden\",\"kuuden\",r[7],r[8],r[9]],i=e.defineLocale(\"fi\",{months:\"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu\".split(\"_\"),monthsShort:\"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu\".split(\"_\"),weekdays:\"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai\".split(\"_\"),weekdaysShort:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),weekdaysMin:\"su_ma_ti_ke_to_pe_la\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"Do MMMM[ta] YYYY\",LLL:\"Do MMMM[ta] YYYY, [klo] HH.mm\",LLLL:\"dddd, Do MMMM[ta] YYYY, [klo] HH.mm\",l:\"D.M.YYYY\",ll:\"Do MMM YYYY\",lll:\"Do MMM YYYY, [klo] HH.mm\",llll:\"ddd, Do MMM YYYY, [klo] HH.mm\"},calendar:{sameDay:\"[tänään] [klo] LT\",nextDay:\"[huomenna] [klo] LT\",nextWeek:\"dddd [klo] LT\",lastDay:\"[eilen] [klo] LT\",lastWeek:\"[viime] dddd[na] [klo] LT\",sameElse:\"L\"},relativeTime:{future:\"%s päästä\",past:\"%s sitten\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fo\",{months:\"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur\".split(\"_\"),weekdaysShort:\"sun_mán_týs_mik_hós_frí_ley\".split(\"_\"),weekdaysMin:\"su_má_tý_mi_hó_fr_le\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D. MMMM, YYYY HH:mm\"},calendar:{sameDay:\"[Í dag kl.] LT\",nextDay:\"[Í morgin kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[Í gjár kl.] LT\",lastWeek:\"[síðstu] dddd [kl] LT\",sameElse:\"L\"},relativeTime:{future:\"um %s\",past:\"%s síðani\",s:\"fá sekund\",ss:\"%d sekundir\",m:\"ein minutt\",mm:\"%d minuttir\",h:\"ein tími\",hh:\"%d tímar\",d:\"ein dagur\",dd:\"%d dagar\",M:\"ein mánaði\",MM:\"%d mánaðir\",y:\"eitt ár\",yy:\"%d ár\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fr-ca\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd’hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case\"M\":case\"Q\":case\"D\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fr-ch\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd’hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case\"M\":case\"Q\":case\"D\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"fr\",{months:\"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre\".split(\"_\"),monthsShort:\"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.\".split(\"_\"),monthsParseExact:!0,weekdays:\"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi\".split(\"_\"),weekdaysShort:\"dim._lun._mar._mer._jeu._ven._sam.\".split(\"_\"),weekdaysMin:\"di_lu_ma_me_je_ve_sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Aujourd’hui à] LT\",nextDay:\"[Demain à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[Hier à] LT\",lastWeek:\"dddd [dernier à] LT\",sameElse:\"L\"},relativeTime:{future:\"dans %s\",past:\"il y a %s\",s:\"quelques secondes\",ss:\"%d secondes\",m:\"une minute\",mm:\"%d minutes\",h:\"une heure\",hh:\"%d heures\",d:\"un jour\",dd:\"%d jours\",M:\"un mois\",MM:\"%d mois\",y:\"un an\",yy:\"%d ans\"},dayOfMonthOrdinalParse:/\\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case\"D\":return e+(1===e?\"er\":\"\");default:case\"M\":case\"Q\":case\"DDD\":case\"d\":return e+(1===e?\"er\":\"e\");case\"w\":case\"W\":return e+(1===e?\"re\":\"e\")}},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.\".split(\"_\"),n=\"jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),r=e.defineLocale(\"fy\",{months:\"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:\"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon\".split(\"_\"),weekdaysShort:\"si._mo._ti._wo._to._fr._so.\".split(\"_\"),weekdaysMin:\"Si_Mo_Ti_Wo_To_Fr_So\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[hjoed om] LT\",nextDay:\"[moarn om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[juster om] LT\",lastWeek:\"[ôfrûne] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"oer %s\",past:\"%s lyn\",s:\"in pear sekonden\",ss:\"%d sekonden\",m:\"ien minút\",mm:\"%d minuten\",h:\"ien oere\",hh:\"%d oeren\",d:\"ien dei\",dd:\"%d dagen\",M:\"ien moanne\",MM:\"%d moannen\",y:\"ien jier\",yy:\"%d jierren\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"Am Faoilleach\",\"An Gearran\",\"Am Màrt\",\"An Giblean\",\"An Cèitean\",\"An t-Ògmhios\",\"An t-Iuchar\",\"An Lùnastal\",\"An t-Sultain\",\"An Dàmhair\",\"An t-Samhain\",\"An Dùbhlachd\"],n=[\"Faoi\",\"Gear\",\"Màrt\",\"Gibl\",\"Cèit\",\"Ògmh\",\"Iuch\",\"Lùn\",\"Sult\",\"Dàmh\",\"Samh\",\"Dùbh\"],r=[\"Didòmhnaich\",\"Diluain\",\"Dimàirt\",\"Diciadain\",\"Diardaoin\",\"Dihaoine\",\"Disathairne\"],o=[\"Did\",\"Dil\",\"Dim\",\"Dic\",\"Dia\",\"Dih\",\"Dis\"],i=[\"Dò\",\"Lu\",\"Mà\",\"Ci\",\"Ar\",\"Ha\",\"Sa\"],a=e.defineLocale(\"gd\",{months:t,monthsShort:n,monthsParseExact:!0,weekdays:r,weekdaysShort:o,weekdaysMin:i,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[An-diugh aig] LT\",nextDay:\"[A-màireach aig] LT\",nextWeek:\"dddd [aig] LT\",lastDay:\"[An-dè aig] LT\",lastWeek:\"dddd [seo chaidh] [aig] LT\",sameElse:\"L\"},relativeTime:{future:\"ann an %s\",past:\"bho chionn %s\",s:\"beagan diogan\",ss:\"%d diogan\",m:\"mionaid\",mm:\"%d mionaidean\",h:\"uair\",hh:\"%d uairean\",d:\"latha\",dd:\"%d latha\",M:\"mìos\",MM:\"%d mìosan\",y:\"bliadhna\",yy:\"%d bliadhna\"},dayOfMonthOrdinalParse:/\\d{1,2}(d|na|mh)/,ordinal:function(e){var t=1===e?\"d\":e%10===2?\"na\":\"mh\";return e+t},week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"gl\",{months:\"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro\".split(\"_\"),monthsShort:\"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"domingo_luns_martes_mércores_xoves_venres_sábado\".split(\"_\"),weekdaysShort:\"dom._lun._mar._mér._xov._ven._sáb.\".split(\"_\"),weekdaysMin:\"do_lu_ma_mé_xo_ve_sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY H:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY H:mm\"},calendar:{sameDay:function(){return\"[hoxe \"+(1!==this.hours()?\"ás\":\"á\")+\"] LT\"},nextDay:function(){return\"[mañá \"+(1!==this.hours()?\"ás\":\"á\")+\"] LT\"},nextWeek:function(){return\"dddd [\"+(1!==this.hours()?\"ás\":\"a\")+\"] LT\"},lastDay:function(){return\"[onte \"+(1!==this.hours()?\"á\":\"a\")+\"] LT\"},lastWeek:function(){return\"[o] dddd [pasado \"+(1!==this.hours()?\"ás\":\"a\")+\"] LT\"},sameElse:\"L\"},relativeTime:{future:function(e){return 0===e.indexOf(\"un\")?\"n\"+e:\"en \"+e},past:\"hai %s\",s:\"uns segundos\",ss:\"%d segundos\",m:\"un minuto\",mm:\"%d minutos\",h:\"unha hora\",hh:\"%d horas\",d:\"un día\",dd:\"%d días\",M:\"un mes\",MM:\"%d meses\",y:\"un ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={s:[\"thodde secondanim\",\"thodde second\"],ss:[e+\" secondanim\",e+\" second\"],m:[\"eka mintan\",\"ek minute\"],mm:[e+\" mintanim\",e+\" mintam\"],h:[\"eka horan\",\"ek hor\"],hh:[e+\" horanim\",e+\" horam\"],d:[\"eka disan\",\"ek dis\"],dd:[e+\" disanim\",e+\" dis\"],M:[\"eka mhoinean\",\"ek mhoino\"],MM:[e+\" mhoineanim\",e+\" mhoine\"],y:[\"eka vorsan\",\"ek voros\"],yy:[e+\" vorsanim\",e+\" vorsam\"]};return t?o[n][0]:o[n][1]}var n=e.defineLocale(\"gom-latn\",{months:\"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr\".split(\"_\"),monthsShort:\"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var\".split(\"_\"),weekdaysShort:\"Ait._Som._Mon._Bud._Bre._Suk._Son.\".split(\"_\"),weekdaysMin:\"Ai_Sm_Mo_Bu_Br_Su_Sn\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"A h:mm [vazta]\",LTS:\"A h:mm:ss [vazta]\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY A h:mm [vazta]\",LLLL:\"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]\",llll:\"ddd, D MMM YYYY, A h:mm [vazta]\"},calendar:{sameDay:\"[Aiz] LT\",nextDay:\"[Faleam] LT\",nextWeek:\"[Ieta to] dddd[,] LT\",lastDay:\"[Kal] LT\",lastWeek:\"[Fatlo] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%s\",past:\"%s adim\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}(er)/,ordinal:function(e,t){switch(t){case\"D\":return e+\"er\";default:case\"M\":case\"Q\":case\"DDD\":case\"d\":case\"w\":case\"W\":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),\"rati\"===t?e<4?e:e+12:\"sokalli\"===t?e:\"donparam\"===t?e>12?e:e+12:\"sanje\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"rati\":e<12?\"sokalli\":e<16?\"donparam\":e<20?\"sanje\":\"rati\"}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"૧\",2:\"૨\",3:\"૩\",4:\"૪\",5:\"૫\",6:\"૬\",7:\"૭\",8:\"૮\",9:\"૯\",0:\"૦\"},n={\"૧\":\"1\",\"૨\":\"2\",\"૩\":\"3\",\"૪\":\"4\",\"૫\":\"5\",\"૬\":\"6\",\"૭\":\"7\",\"૮\":\"8\",\"૯\":\"9\",\"૦\":\"0\"},r=e.defineLocale(\"gu\",{months:\"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર\".split(\"_\"),monthsShort:\"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.\".split(\"_\"),monthsParseExact:!0,weekdays:\"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર\".split(\"_\"),weekdaysShort:\"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ\".split(\"_\"),weekdaysMin:\"ર_સો_મં_બુ_ગુ_શુ_શ\".split(\"_\"),longDateFormat:{LT:\"A h:mm વાગ્યે\",LTS:\"A h:mm:ss વાગ્યે\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm વાગ્યે\",LLLL:\"dddd, D MMMM YYYY, A h:mm વાગ્યે\"},calendar:{sameDay:\"[આજ] LT\",nextDay:\"[કાલે] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ગઇકાલે] LT\",lastWeek:\"[પાછલા] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s મા\",past:\"%s પેહલા\",s:\"અમુક પળો\",ss:\"%d સેકંડ\",m:\"એક મિનિટ\",mm:\"%d મિનિટ\",h:\"એક કલાક\",hh:\"%d કલાક\",d:\"એક દિવસ\",dd:\"%d દિવસ\",M:\"એક મહિનો\",MM:\"%d મહિનો\",y:\"એક વર્ષ\",yy:\"%d વર્ષ\"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"રાત\"===t?e<4?e:e+12:\"સવાર\"===t?e:\"બપોર\"===t?e>=10?e:e+12:\"સાંજ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"રાત\":e<10?\"સવાર\":e<17?\"બપોર\":e<20?\"સાંજ\":\"રાત\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"he\",{months:\"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר\".split(\"_\"),monthsShort:\"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳\".split(\"_\"),weekdays:\"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת\".split(\"_\"),weekdaysShort:\"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳\".split(\"_\"),weekdaysMin:\"א_ב_ג_ד_ה_ו_ש\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [ב]MMMM YYYY\",LLL:\"D [ב]MMMM YYYY HH:mm\",LLLL:\"dddd, D [ב]MMMM YYYY HH:mm\",l:\"D/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd, D MMM YYYY HH:mm\"},calendar:{sameDay:\"[היום ב־]LT\",nextDay:\"[מחר ב־]LT\",nextWeek:\"dddd [בשעה] LT\",lastDay:\"[אתמול ב־]LT\",lastWeek:\"[ביום] dddd [האחרון בשעה] LT\",sameElse:\"L\"},relativeTime:{future:\"בעוד %s\",past:\"לפני %s\",s:\"מספר שניות\",ss:\"%d שניות\",m:\"דקה\",mm:\"%d דקות\",h:\"שעה\",hh:function(e){return 2===e?\"שעתיים\":e+\" שעות\"},d:\"יום\",dd:function(e){return 2===e?\"יומיים\":e+\" ימים\"},M:\"חודש\",MM:function(e){return 2===e?\"חודשיים\":e+\" חודשים\"},y:\"שנה\",yy:function(e){return 2===e?\"שנתיים\":e%10===0&&10!==e?e+\" שנה\":e+\" שנים\"}},meridiemParse:/אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה\"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?\"לפנות בוקר\":e<10?\"בבוקר\":e<12?n?'לפנה\"צ':\"לפני הצהריים\":e<18?n?'אחה\"צ':\"אחרי הצהריים\":\"בערב\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"},n={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},r=e.defineLocale(\"hi\",{months:\"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर\".split(\"_\"),monthsShort:\"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.\".split(\"_\"),monthsParseExact:!0,weekdays:\"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार\".split(\"_\"),weekdaysShort:\"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि\".split(\"_\"),weekdaysMin:\"र_सो_मं_बु_गु_शु_श\".split(\"_\"),longDateFormat:{LT:\"A h:mm बजे\",LTS:\"A h:mm:ss बजे\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm बजे\",LLLL:\"dddd, D MMMM YYYY, A h:mm बजे\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[कल] LT\",nextWeek:\"dddd, LT\",lastDay:\"[कल] LT\",lastWeek:\"[पिछले] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s में\",past:\"%s पहले\",s:\"कुछ ही क्षण\",ss:\"%d सेकंड\",m:\"एक मिनट\",mm:\"%d मिनट\",h:\"एक घंटा\",hh:\"%d घंटे\",d:\"एक दिन\",dd:\"%d दिन\",M:\"एक महीने\",MM:\"%d महीने\",y:\"एक वर्ष\",yy:\"%d वर्ष\"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),\"रात\"===t?e<4?e:e+12:\"सुबह\"===t?e:\"दोपहर\"===t?e>=10?e:e+12:\"शाम\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"रात\":e<10?\"सुबह\":e<17?\"दोपहर\":e<20?\"शाम\":\"रात\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r=e+\" \";switch(n){case\"ss\":return r+=1===e?\"sekunda\":2===e||3===e||4===e?\"sekunde\":\"sekundi\";case\"m\":return t?\"jedna minuta\":\"jedne minute\";case\"mm\":return r+=1===e?\"minuta\":2===e||3===e||4===e?\"minute\":\"minuta\";case\"h\":return t?\"jedan sat\":\"jednog sata\";case\"hh\":return r+=1===e?\"sat\":2===e||3===e||4===e?\"sata\":\"sati\";case\"dd\":return r+=1===e?\"dan\":\"dana\";case\"MM\":return r+=1===e?\"mjesec\":2===e||3===e||4===e?\"mjeseca\":\"mjeseci\";case\"yy\":return r+=1===e?\"godina\":2===e||3===e||4===e?\"godine\":\"godina\"}}var n=e.defineLocale(\"hr\",{months:{format:\"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca\".split(\"_\"),standalone:\"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac\".split(\"_\")},monthsShort:\"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[jučer u] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:return\"[prošlu] dddd [u] LT\";case 6:return\"[prošle] [subote] [u] LT\";case 1:case 2:case 4:case 5:return\"[prošli] dddd [u] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"par sekundi\",ss:t,m:t,mm:t,h:t,hh:t,d:\"dan\",dd:t,M:\"mjesec\",MM:t,y:\"godinu\",yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o=e;switch(n){case\"s\":return r||t?\"néhány másodperc\":\"néhány másodperce\";case\"ss\":return o+(r||t)?\" másodperc\":\" másodperce\";case\"m\":return\"egy\"+(r||t?\" perc\":\" perce\");case\"mm\":return o+(r||t?\" perc\":\" perce\");case\"h\":return\"egy\"+(r||t?\" óra\":\" órája\");case\"hh\":return o+(r||t?\" óra\":\" órája\");case\"d\":return\"egy\"+(r||t?\" nap\":\" napja\");case\"dd\":return o+(r||t?\" nap\":\" napja\");case\"M\":return\"egy\"+(r||t?\" hónap\":\" hónapja\");case\"MM\":return o+(r||t?\" hónap\":\" hónapja\");case\"y\":return\"egy\"+(r||t?\" év\":\" éve\");case\"yy\":return o+(r||t?\" év\":\" éve\")}return\"\"}function n(e){return(e?\"\":\"[múlt] \")+\"[\"+r[this.day()]+\"] LT[-kor]\"}var r=\"vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton\".split(\" \"),o=e.defineLocale(\"hu\",{months:\"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december\".split(\"_\"),monthsShort:\"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec\".split(\"_\"),weekdays:\"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat\".split(\"_\"),weekdaysShort:\"vas_hét_kedd_sze_csüt_pén_szo\".split(\"_\"),weekdaysMin:\"v_h_k_sze_cs_p_szo\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY. MMMM D.\",LLL:\"YYYY. MMMM D. H:mm\",LLLL:\"YYYY. MMMM D., dddd H:mm\"},meridiemParse:/de|du/i,isPM:function(e){return\"u\"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?n===!0?\"de\":\"DE\":n===!0?\"du\":\"DU\"},calendar:{sameDay:\"[ma] LT[-kor]\",nextDay:\"[holnap] LT[-kor]\",nextWeek:function(){return n.call(this,!0)},lastDay:\"[tegnap] LT[-kor]\",lastWeek:function(){return n.call(this,!1)},sameElse:\"L\"},relativeTime:{future:\"%s múlva\",past:\"%s\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"hy-am\",{months:{format:\"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի\".split(\"_\"),standalone:\"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր\".split(\"_\")},monthsShort:\"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ\".split(\"_\"),weekdays:\"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ\".split(\"_\"),weekdaysShort:\"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ\".split(\"_\"),weekdaysMin:\"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY թ.\",LLL:\"D MMMM YYYY թ., HH:mm\",LLLL:\"dddd, D MMMM YYYY թ., HH:mm\"},calendar:{sameDay:\"[այսօր] LT\",nextDay:\"[վաղը] LT\",lastDay:\"[երեկ] LT\",nextWeek:function(){return\"dddd [օրը ժամը] LT\"},lastWeek:function(){return\"[անցած] dddd [օրը ժամը] LT\"},sameElse:\"L\"},relativeTime:{future:\"%s հետո\",past:\"%s առաջ\",s:\"մի քանի վայրկյան\",ss:\"%d վայրկյան\",m:\"րոպե\",mm:\"%d րոպե\",h:\"ժամ\",hh:\"%d ժամ\",d:\"օր\",dd:\"%d օր\",M:\"ամիս\",MM:\"%d ամիս\",y:\"տարի\",yy:\"%d տարի\"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?\"գիշերվա\":e<12?\"առավոտվա\":e<17?\"ցերեկվա\":\"երեկոյան\"},dayOfMonthOrdinalParse:/\\d{1,2}|\\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case\"DDD\":case\"w\":case\"W\":case\"DDDo\":return 1===e?e+\"-ին\":e+\"-րդ\";default:return e}},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"id\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Rab_Kam_Jum_Sab\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),\"pagi\"===t?e:\"siang\"===t?e>=11?e:e+12:\"sore\"===t||\"malam\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"pagi\":e<15?\"siang\":e<19?\"sore\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Besok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kemarin pukul] LT\",lastWeek:\"dddd [lalu pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lalu\",s:\"beberapa detik\",ss:\"%d detik\",m:\"semenit\",mm:\"%d menit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e%100===11||e%10!==1}function n(e,n,r,o){var i=e+\" \";switch(r){case\"s\":return n||o?\"nokkrar sekúndur\":\"nokkrum sekúndum\";case\"ss\":return t(e)?i+(n||o?\"sekúndur\":\"sekúndum\"):i+\"sekúnda\";case\"m\":return n?\"mínúta\":\"mínútu\";case\"mm\":return t(e)?i+(n||o?\"mínútur\":\"mínútum\"):n?i+\"mínúta\":i+\"mínútu\";case\"hh\":return t(e)?i+(n||o?\"klukkustundir\":\"klukkustundum\"):i+\"klukkustund\";case\"d\":return n?\"dagur\":o?\"dag\":\"degi\";case\"dd\":return t(e)?n?i+\"dagar\":i+(o?\"daga\":\"dögum\"):n?i+\"dagur\":i+(o?\"dag\":\"degi\");case\"M\":return n?\"mánuður\":o?\"mánuð\":\"mánuði\";case\"MM\":return t(e)?n?i+\"mánuðir\":i+(o?\"mánuði\":\"mánuðum\"):n?i+\"mánuður\":i+(o?\"mánuð\":\"mánuði\");case\"y\":return n||o?\"ár\":\"ári\";case\"yy\":return t(e)?i+(n||o?\"ár\":\"árum\"):i+(n||o?\"ár\":\"ári\")}}var r=e.defineLocale(\"is\",{months:\"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des\".split(\"_\"),weekdays:\"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur\".split(\"_\"),weekdaysShort:\"sun_mán_þri_mið_fim_fös_lau\".split(\"_\"),weekdaysMin:\"Su_Má_Þr_Mi_Fi_Fö_La\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] H:mm\",LLLL:\"dddd, D. MMMM YYYY [kl.] H:mm\"},calendar:{sameDay:\"[í dag kl.] LT\",nextDay:\"[á morgun kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[í gær kl.] LT\",lastWeek:\"[síðasta] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"eftir %s\",past:\"fyrir %s síðan\",s:n,ss:n,m:n,mm:n,h:\"klukkustund\",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"it\",{months:\"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre\".split(\"_\"),monthsShort:\"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic\".split(\"_\"),weekdays:\"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato\".split(\"_\"),weekdaysShort:\"dom_lun_mar_mer_gio_ven_sab\".split(\"_\"),weekdaysMin:\"do_lu_ma_me_gi_ve_sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Oggi alle] LT\",nextDay:\"[Domani alle] LT\",nextWeek:\"dddd [alle] LT\",lastDay:\"[Ieri alle] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[la scorsa] dddd [alle] LT\";default:return\"[lo scorso] dddd [alle] LT\"}},sameElse:\"L\"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?\"tra\":\"in\")+\" \"+e},past:\"%s fa\",s:\"alcuni secondi\",ss:\"%d secondi\",m:\"un minuto\",mm:\"%d minuti\",h:\"un'ora\",hh:\"%d ore\",d:\"un giorno\",dd:\"%d giorni\",M:\"un mese\",MM:\"%d mesi\",y:\"un anno\",yy:\"%d anni\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ja\",{months:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日\".split(\"_\"),weekdaysShort:\"日_月_火_水_木_金_土\".split(\"_\"),weekdaysMin:\"日_月_火_水_木_金_土\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日 dddd HH:mm\",l:\"YYYY/MM/DD\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日(ddd) HH:mm\"},meridiemParse:/午前|午後/i,isPM:function(e){return\"午後\"===e},meridiem:function(e,t,n){return e<12?\"午前\":\"午後\"},calendar:{sameDay:\"[今日] LT\",nextDay:\"[明日] LT\",nextWeek:function(e){return e.week()<this.week()?\"[来週]dddd LT\":\"dddd LT\"},lastDay:\"[昨日] LT\",lastWeek:function(e){return this.week()<e.week()?\"[先週]dddd LT\":\"dddd LT\"},sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}日/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";default:return e}},relativeTime:{future:\"%s後\",past:\"%s前\",s:\"数秒\",ss:\"%d秒\",m:\"1分\",mm:\"%d分\",h:\"1時間\",hh:\"%d時間\",d:\"1日\",dd:\"%d日\",M:\"1ヶ月\",MM:\"%dヶ月\",y:\"1年\",yy:\"%d年\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"jv\",{months:\"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember\".split(\"_\"),monthsShort:\"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des\".split(\"_\"),weekdays:\"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu\".split(\"_\"),weekdaysShort:\"Min_Sen_Sel_Reb_Kem_Jem_Sep\".split(\"_\"),weekdaysMin:\"Mg_Sn_Sl_Rb_Km_Jm_Sp\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),\"enjing\"===t?e:\"siyang\"===t?e>=11?e:e+12:\"sonten\"===t||\"ndalu\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"enjing\":e<15?\"siyang\":e<19?\"sonten\":\"ndalu\"},calendar:{sameDay:\"[Dinten puniko pukul] LT\",nextDay:\"[Mbenjang pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kala wingi pukul] LT\",lastWeek:\"dddd [kepengker pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"wonten ing %s\",past:\"%s ingkang kepengker\",s:\"sawetawis detik\",ss:\"%d detik\",m:\"setunggal menit\",mm:\"%d menit\",h:\"setunggal jam\",hh:\"%d jam\",d:\"sedinten\",dd:\"%d dinten\",M:\"sewulan\",MM:\"%d wulan\",y:\"setaun\",yy:\"%d taun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ka\",{months:{standalone:\"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი\".split(\"_\"),format:\"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს\".split(\"_\")},monthsShort:\"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ\".split(\"_\"),weekdays:{standalone:\"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი\".split(\"_\"),format:\"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს\".split(\"_\"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:\"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ\".split(\"_\"),weekdaysMin:\"კვ_ორ_სა_ოთ_ხუ_პა_შა\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",\nLLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[დღეს] LT[-ზე]\",nextDay:\"[ხვალ] LT[-ზე]\",lastDay:\"[გუშინ] LT[-ზე]\",nextWeek:\"[შემდეგ] dddd LT[-ზე]\",lastWeek:\"[წინა] dddd LT-ზე\",sameElse:\"L\"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,\"ში\"):e+\"ში\"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,\"ის წინ\"):/წელი/.test(e)?e.replace(/წელი$/,\"წლის წინ\"):void 0},s:\"რამდენიმე წამი\",ss:\"%d წამი\",m:\"წუთი\",mm:\"%d წუთი\",h:\"საათი\",hh:\"%d საათი\",d:\"დღე\",dd:\"%d დღე\",M:\"თვე\",MM:\"%d თვე\",y:\"წელი\",yy:\"%d წელი\"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+\"-ლი\":e<20||e<=100&&e%20===0||e%100===0?\"მე-\"+e:e+\"-ე\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={0:\"-ші\",1:\"-ші\",2:\"-ші\",3:\"-ші\",4:\"-ші\",5:\"-ші\",6:\"-шы\",7:\"-ші\",8:\"-ші\",9:\"-шы\",10:\"-шы\",20:\"-шы\",30:\"-шы\",40:\"-шы\",50:\"-ші\",60:\"-шы\",70:\"-ші\",80:\"-ші\",90:\"-шы\",100:\"-ші\"},n=e.defineLocale(\"kk\",{months:\"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан\".split(\"_\"),monthsShort:\"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел\".split(\"_\"),weekdays:\"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі\".split(\"_\"),weekdaysShort:\"жек_дүй_сей_сәр_бей_жұм_сен\".split(\"_\"),weekdaysMin:\"жк_дй_сй_ср_бй_жм_сн\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Бүгін сағат] LT\",nextDay:\"[Ертең сағат] LT\",nextWeek:\"dddd [сағат] LT\",lastDay:\"[Кеше сағат] LT\",lastWeek:\"[Өткен аптаның] dddd [сағат] LT\",sameElse:\"L\"},relativeTime:{future:\"%s ішінде\",past:\"%s бұрын\",s:\"бірнеше секунд\",ss:\"%d секунд\",m:\"бір минут\",mm:\"%d минут\",h:\"бір сағат\",hh:\"%d сағат\",d:\"бір күн\",dd:\"%d күн\",M:\"бір ай\",MM:\"%d ай\",y:\"бір жыл\",yy:\"%d жыл\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ші|шы)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"១\",2:\"២\",3:\"៣\",4:\"៤\",5:\"៥\",6:\"៦\",7:\"៧\",8:\"៨\",9:\"៩\",0:\"០\"},n={\"១\":\"1\",\"២\":\"2\",\"៣\":\"3\",\"៤\":\"4\",\"៥\":\"5\",\"៦\":\"6\",\"៧\":\"7\",\"៨\":\"8\",\"៩\":\"9\",\"០\":\"0\"},r=e.defineLocale(\"km\",{months:\"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ\".split(\"_\"),monthsShort:\"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ\".split(\"_\"),weekdays:\"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍\".split(\"_\"),weekdaysShort:\"អា_ច_អ_ព_ព្រ_សុ_ស\".split(\"_\"),weekdaysMin:\"អា_ច_អ_ព_ព្រ_សុ_ស\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},meridiemParse:/ព្រឹក|ល្ងាច/,isPM:function(e){return\"ល្ងាច\"===e},meridiem:function(e,t,n){return e<12?\"ព្រឹក\":\"ល្ងាច\"},calendar:{sameDay:\"[ថ្ងៃនេះ ម៉ោង] LT\",nextDay:\"[ស្អែក ម៉ោង] LT\",nextWeek:\"dddd [ម៉ោង] LT\",lastDay:\"[ម្សិលមិញ ម៉ោង] LT\",lastWeek:\"dddd [សប្តាហ៍មុន] [ម៉ោង] LT\",sameElse:\"L\"},relativeTime:{future:\"%sទៀត\",past:\"%sមុន\",s:\"ប៉ុន្មានវិនាទី\",ss:\"%d វិនាទី\",m:\"មួយនាទី\",mm:\"%d នាទី\",h:\"មួយម៉ោង\",hh:\"%d ម៉ោង\",d:\"មួយថ្ងៃ\",dd:\"%d ថ្ងៃ\",M:\"មួយខែ\",MM:\"%d ខែ\",y:\"មួយឆ្នាំ\",yy:\"%d ឆ្នាំ\"},dayOfMonthOrdinalParse:/ទី\\d{1,2}/,ordinal:\"ទី%d\",preparse:function(e){return e.replace(/[១២៣៤៥៦៧៨៩០]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"೧\",2:\"೨\",3:\"೩\",4:\"೪\",5:\"೫\",6:\"೬\",7:\"೭\",8:\"೮\",9:\"೯\",0:\"೦\"},n={\"೧\":\"1\",\"೨\":\"2\",\"೩\":\"3\",\"೪\":\"4\",\"೫\":\"5\",\"೬\":\"6\",\"೭\":\"7\",\"೮\":\"8\",\"೯\":\"9\",\"೦\":\"0\"},r=e.defineLocale(\"kn\",{months:\"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್\".split(\"_\"),monthsShort:\"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ\".split(\"_\"),monthsParseExact:!0,weekdays:\"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ\".split(\"_\"),weekdaysShort:\"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ\".split(\"_\"),weekdaysMin:\"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[ಇಂದು] LT\",nextDay:\"[ನಾಳೆ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ನಿನ್ನೆ] LT\",lastWeek:\"[ಕೊನೆಯ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ನಂತರ\",past:\"%s ಹಿಂದೆ\",s:\"ಕೆಲವು ಕ್ಷಣಗಳು\",ss:\"%d ಸೆಕೆಂಡುಗಳು\",m:\"ಒಂದು ನಿಮಿಷ\",mm:\"%d ನಿಮಿಷ\",h:\"ಒಂದು ಗಂಟೆ\",hh:\"%d ಗಂಟೆ\",d:\"ಒಂದು ದಿನ\",dd:\"%d ದಿನ\",M:\"ಒಂದು ತಿಂಗಳು\",MM:\"%d ತಿಂಗಳು\",y:\"ಒಂದು ವರ್ಷ\",yy:\"%d ವರ್ಷ\"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"ರಾತ್ರಿ\"===t?e<4?e:e+12:\"ಬೆಳಿಗ್ಗೆ\"===t?e:\"ಮಧ್ಯಾಹ್ನ\"===t?e>=10?e:e+12:\"ಸಂಜೆ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"ರಾತ್ರಿ\":e<10?\"ಬೆಳಿಗ್ಗೆ\":e<17?\"ಮಧ್ಯಾಹ್ನ\":e<20?\"ಸಂಜೆ\":\"ರಾತ್ರಿ\"},dayOfMonthOrdinalParse:/\\d{1,2}(ನೇ)/,ordinal:function(e){return e+\"ನೇ\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ko\",{months:\"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월\".split(\"_\"),monthsShort:\"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월\".split(\"_\"),weekdays:\"일요일_월요일_화요일_수요일_목요일_금요일_토요일\".split(\"_\"),weekdaysShort:\"일_월_화_수_목_금_토\".split(\"_\"),weekdaysMin:\"일_월_화_수_목_금_토\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"YYYY.MM.DD.\",LL:\"YYYY년 MMMM D일\",LLL:\"YYYY년 MMMM D일 A h:mm\",LLLL:\"YYYY년 MMMM D일 dddd A h:mm\",l:\"YYYY.MM.DD.\",ll:\"YYYY년 MMMM D일\",lll:\"YYYY년 MMMM D일 A h:mm\",llll:\"YYYY년 MMMM D일 dddd A h:mm\"},calendar:{sameDay:\"오늘 LT\",nextDay:\"내일 LT\",nextWeek:\"dddd LT\",lastDay:\"어제 LT\",lastWeek:\"지난주 dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s 후\",past:\"%s 전\",s:\"몇 초\",ss:\"%d초\",m:\"1분\",mm:\"%d분\",h:\"한 시간\",hh:\"%d시간\",d:\"하루\",dd:\"%d일\",M:\"한 달\",MM:\"%d달\",y:\"일 년\",yy:\"%d년\"},dayOfMonthOrdinalParse:/\\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"일\";case\"M\":return e+\"월\";case\"w\":case\"W\":return e+\"주\";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return\"오후\"===e},meridiem:function(e,t,n){return e<12?\"오전\":\"오후\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={0:\"-чү\",1:\"-чи\",2:\"-чи\",3:\"-чү\",4:\"-чү\",5:\"-чи\",6:\"-чы\",7:\"-чи\",8:\"-чи\",9:\"-чу\",10:\"-чу\",20:\"-чы\",30:\"-чу\",40:\"-чы\",50:\"-чү\",60:\"-чы\",70:\"-чи\",80:\"-чи\",90:\"-чу\",100:\"-чү\"},n=e.defineLocale(\"ky\",{months:\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\"),monthsShort:\"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби\".split(\"_\"),weekdaysShort:\"Жек_Дүй_Шей_Шар_Бей_Жум_Ише\".split(\"_\"),weekdaysMin:\"Жк_Дй_Шй_Шр_Бй_Жм_Иш\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Бүгүн саат] LT\",nextDay:\"[Эртең саат] LT\",nextWeek:\"dddd [саат] LT\",lastDay:\"[Кече саат] LT\",lastWeek:\"[Өткен аптанын] dddd [күнү] [саат] LT\",sameElse:\"L\"},relativeTime:{future:\"%s ичинде\",past:\"%s мурун\",s:\"бирнече секунд\",ss:\"%d секунд\",m:\"бир мүнөт\",mm:\"%d мүнөт\",h:\"бир саат\",hh:\"%d саат\",d:\"бир күн\",dd:\"%d күн\",M:\"бир ай\",MM:\"%d ай\",y:\"бир жыл\",yy:\"%d жыл\"},dayOfMonthOrdinalParse:/\\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={m:[\"eng Minutt\",\"enger Minutt\"],h:[\"eng Stonn\",\"enger Stonn\"],d:[\"een Dag\",\"engem Dag\"],M:[\"ee Mount\",\"engem Mount\"],y:[\"ee Joer\",\"engem Joer\"]};return t?o[n][0]:o[n][1]}function n(e){var t=e.substr(0,e.indexOf(\" \"));return o(t)?\"a \"+e:\"an \"+e}function r(e){var t=e.substr(0,e.indexOf(\" \"));return o(t)?\"viru \"+e:\"virun \"+e}function o(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10,n=e/10;return o(0===t?n:t)}if(e<1e4){for(;e>=10;)e/=10;return o(e)}return e/=1e3,o(e)}var i=e.defineLocale(\"lb\",{months:\"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember\".split(\"_\"),monthsShort:\"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.\".split(\"_\"),monthsParseExact:!0,weekdays:\"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg\".split(\"_\"),weekdaysShort:\"So._Mé._Dë._Më._Do._Fr._Sa.\".split(\"_\"),weekdaysMin:\"So_Mé_Dë_Më_Do_Fr_Sa\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm [Auer]\",LTS:\"H:mm:ss [Auer]\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm [Auer]\",LLLL:\"dddd, D. MMMM YYYY H:mm [Auer]\"},calendar:{sameDay:\"[Haut um] LT\",sameElse:\"L\",nextDay:\"[Muer um] LT\",nextWeek:\"dddd [um] LT\",lastDay:\"[Gëschter um] LT\",lastWeek:function(){switch(this.day()){case 2:case 4:return\"[Leschten] dddd [um] LT\";default:return\"[Leschte] dddd [um] LT\"}}},relativeTime:{future:n,past:r,s:\"e puer Sekonnen\",ss:\"%d Sekonnen\",m:t,mm:\"%d Minutten\",h:t,hh:\"%d Stonnen\",d:t,dd:\"%d Deeg\",M:t,MM:\"%d Méint\",y:t,yy:\"%d Joer\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"lo\",{months:\"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ\".split(\"_\"),monthsShort:\"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ\".split(\"_\"),weekdays:\"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ\".split(\"_\"),weekdaysShort:\"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ\".split(\"_\"),weekdaysMin:\"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"ວັນdddd D MMMM YYYY HH:mm\"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return\"ຕອນແລງ\"===e},meridiem:function(e,t,n){return e<12?\"ຕອນເຊົ້າ\":\"ຕອນແລງ\"},calendar:{sameDay:\"[ມື້ນີ້ເວລາ] LT\",nextDay:\"[ມື້ອື່ນເວລາ] LT\",nextWeek:\"[ວັນ]dddd[ໜ້າເວລາ] LT\",lastDay:\"[ມື້ວານນີ້ເວລາ] LT\",lastWeek:\"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT\",sameElse:\"L\"},relativeTime:{future:\"ອີກ %s\",past:\"%sຜ່ານມາ\",s:\"ບໍ່ເທົ່າໃດວິນາທີ\",ss:\"%d ວິນາທີ\",m:\"1 ນາທີ\",mm:\"%d ນາທີ\",h:\"1 ຊົ່ວໂມງ\",hh:\"%d ຊົ່ວໂມງ\",d:\"1 ມື້\",dd:\"%d ມື້\",M:\"1 ເດືອນ\",MM:\"%d ເດືອນ\",y:\"1 ປີ\",yy:\"%d ປີ\"},dayOfMonthOrdinalParse:/(ທີ່)\\d{1,2}/,ordinal:function(e){return\"ທີ່\"+e}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){return t?\"kelios sekundės\":r?\"kelių sekundžių\":\"kelias sekundes\"}function n(e,t,n,r){return t?o(n)[0]:r?o(n)[1]:o(n)[2]}function r(e){return e%10===0||e>10&&e<20}function o(e){return a[e].split(\"_\")}function i(e,t,i,a){var s=e+\" \";return 1===e?s+n(e,t,i[0],a):t?s+(r(e)?o(i)[1]:o(i)[0]):a?s+o(i)[1]:s+(r(e)?o(i)[1]:o(i)[2])}var a={ss:\"sekundė_sekundžių_sekundes\",m:\"minutė_minutės_minutę\",mm:\"minutės_minučių_minutes\",h:\"valanda_valandos_valandą\",hh:\"valandos_valandų_valandas\",d:\"diena_dienos_dieną\",dd:\"dienos_dienų_dienas\",M:\"mėnuo_mėnesio_mėnesį\",MM:\"mėnesiai_mėnesių_mėnesius\",y:\"metai_metų_metus\",yy:\"metai_metų_metus\"},s=e.defineLocale(\"lt\",{months:{format:\"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio\".split(\"_\"),standalone:\"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis\".split(\"_\"),isFormat:/D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/},monthsShort:\"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd\".split(\"_\"),weekdays:{format:\"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį\".split(\"_\"),standalone:\"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis\".split(\"_\"),isFormat:/dddd HH:mm/},weekdaysShort:\"Sek_Pir_Ant_Tre_Ket_Pen_Šeš\".split(\"_\"),weekdaysMin:\"S_P_A_T_K_Pn_Š\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY [m.] MMMM D [d.]\",LLL:\"YYYY [m.] MMMM D [d.], HH:mm [val.]\",LLLL:\"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]\",l:\"YYYY-MM-DD\",ll:\"YYYY [m.] MMMM D [d.]\",lll:\"YYYY [m.] MMMM D [d.], HH:mm [val.]\",llll:\"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]\"},calendar:{sameDay:\"[Šiandien] LT\",nextDay:\"[Rytoj] LT\",nextWeek:\"dddd LT\",lastDay:\"[Vakar] LT\",lastWeek:\"[Praėjusį] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"po %s\",past:\"prieš %s\",s:t,ss:i,m:n,mm:i,h:n,hh:i,d:n,dd:i,M:n,MM:i,y:n,yy:i},dayOfMonthOrdinalParse:/\\d{1,2}-oji/,ordinal:function(e){return e+\"-oji\"},week:{dow:1,doy:4}});return s})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){return n?t%10===1&&t%100!==11?e[2]:e[3]:t%10===1&&t%100!==11?e[0]:e[1]}function n(e,n,r){return e+\" \"+t(i[r],e,n)}function r(e,n,r){return t(i[r],e,n)}function o(e,t){return t?\"dažas sekundes\":\"dažām sekundēm\"}var i={ss:\"sekundes_sekundēm_sekunde_sekundes\".split(\"_\"),m:\"minūtes_minūtēm_minūte_minūtes\".split(\"_\"),mm:\"minūtes_minūtēm_minūte_minūtes\".split(\"_\"),h:\"stundas_stundām_stunda_stundas\".split(\"_\"),hh:\"stundas_stundām_stunda_stundas\".split(\"_\"),d:\"dienas_dienām_diena_dienas\".split(\"_\"),dd:\"dienas_dienām_diena_dienas\".split(\"_\"),M:\"mēneša_mēnešiem_mēnesis_mēneši\".split(\"_\"),MM:\"mēneša_mēnešiem_mēnesis_mēneši\".split(\"_\"),y:\"gada_gadiem_gads_gadi\".split(\"_\"),yy:\"gada_gadiem_gads_gadi\".split(\"_\")},a=e.defineLocale(\"lv\",{months:\"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena\".split(\"_\"),weekdaysShort:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysMin:\"Sv_P_O_T_C_Pk_S\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY.\",LL:\"YYYY. [gada] D. MMMM\",LLL:\"YYYY. [gada] D. MMMM, HH:mm\",LLLL:\"YYYY. [gada] D. MMMM, dddd, HH:mm\"},calendar:{sameDay:\"[Šodien pulksten] LT\",nextDay:\"[Rīt pulksten] LT\",nextWeek:\"dddd [pulksten] LT\",lastDay:\"[Vakar pulksten] LT\",lastWeek:\"[Pagājušā] dddd [pulksten] LT\",sameElse:\"L\"},relativeTime:{future:\"pēc %s\",past:\"pirms %s\",s:o,ss:n,m:r,mm:n,h:r,hh:n,d:r,dd:n,M:r,MM:n,y:r,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={words:{ss:[\"sekund\",\"sekunda\",\"sekundi\"],m:[\"jedan minut\",\"jednog minuta\"],mm:[\"minut\",\"minuta\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mjesec\",\"mjeseca\",\"mjeseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var o=t.words[r];return 1===r.length?n?o[0]:o[1]:e+\" \"+t.correctGrammaticalCase(e,o)}},n=e.defineLocale(\"me\",{months:\"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sri._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sjutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedjelju] [u] LT\";case 3:return\"[u] [srijedu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[juče u] LT\",lastWeek:function(){var e=[\"[prošle] [nedjelje] [u] LT\",\"[prošlog] [ponedjeljka] [u] LT\",\"[prošlog] [utorka] [u] LT\",\"[prošle] [srijede] [u] LT\",\"[prošlog] [četvrtka] [u] LT\",\"[prošlog] [petka] [u] LT\",\"[prošle] [subote] [u] LT\"];return e[this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"prije %s\",s:\"nekoliko sekundi\",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:\"dan\",dd:t.translate,M:\"mjesec\",MM:t.translate,y:\"godinu\",yy:t.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"mi\",{months:\"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea\".split(\"_\"),monthsShort:\"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki\".split(\"_\"),monthsRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsShortRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,weekdays:\"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei\".split(\"_\"),weekdaysShort:\"Ta_Ma_Tū_We_Tāi_Pa_Hā\".split(\"_\"),weekdaysMin:\"Ta_Ma_Tū_We_Tāi_Pa_Hā\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [i] HH:mm\",LLLL:\"dddd, D MMMM YYYY [i] HH:mm\"},calendar:{sameDay:\"[i teie mahana, i] LT\",nextDay:\"[apopo i] LT\",nextWeek:\"dddd [i] LT\",lastDay:\"[inanahi i] LT\",lastWeek:\"dddd [whakamutunga i] LT\",sameElse:\"L\"},relativeTime:{future:\"i roto i %s\",past:\"%s i mua\",s:\"te hēkona ruarua\",ss:\"%d hēkona\",m:\"he meneti\",mm:\"%d meneti\",h:\"te haora\",hh:\"%d haora\",d:\"he ra\",dd:\"%d ra\",M:\"he marama\",MM:\"%d marama\",y:\"he tau\",yy:\"%d tau\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"mk\",{months:\"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември\".split(\"_\"),monthsShort:\"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек\".split(\"_\"),weekdays:\"недела_понеделник_вторник_среда_четврток_петок_сабота\".split(\"_\"),weekdaysShort:\"нед_пон_вто_сре_чет_пет_саб\".split(\"_\"),weekdaysMin:\"нe_пo_вт_ср_че_пе_сa\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"D.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[Денес во] LT\",nextDay:\"[Утре во] LT\",nextWeek:\"[Во] dddd [во] LT\",lastDay:\"[Вчера во] LT\",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return\"[Изминатата] dddd [во] LT\";case 1:case 2:case 4:case 5:return\"[Изминатиот] dddd [во] LT\"}},sameElse:\"L\"},relativeTime:{future:\"после %s\",past:\"пред %s\",s:\"неколку секунди\",ss:\"%d секунди\",m:\"минута\",mm:\"%d минути\",h:\"час\",hh:\"%d часа\",d:\"ден\",dd:\"%d дена\",M:\"месец\",MM:\"%d месеци\",y:\"година\",yy:\"%d години\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+\"-ев\":0===n?e+\"-ен\":n>10&&n<20?e+\"-ти\":1===t?e+\"-ви\":2===t?e+\"-ри\":7===t||8===t?e+\"-ми\":e+\"-ти\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ml\",{months:\"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ\".split(\"_\"),monthsShort:\"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.\".split(\"_\"),monthsParseExact:!0,weekdays:\"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച\".split(\"_\"),weekdaysShort:\"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി\".split(\"_\"),weekdaysMin:\"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ\".split(\"_\"),longDateFormat:{LT:\"A h:mm -നു\",LTS:\"A h:mm:ss -നു\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm -നു\",LLLL:\"dddd, D MMMM YYYY, A h:mm -നു\"},calendar:{sameDay:\"[ഇന്ന്] LT\",nextDay:\"[നാളെ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ഇന്നലെ] LT\",lastWeek:\"[കഴിഞ്ഞ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s കഴിഞ്ഞ്\",past:\"%s മുൻപ്\",s:\"അൽപ നിമിഷങ്ങൾ\",ss:\"%d സെക്കൻഡ്\",m:\"ഒരു മിനിറ്റ്\",mm:\"%d മിനിറ്റ്\",h:\"ഒരു മണിക്കൂർ\",hh:\"%d മണിക്കൂർ\",d:\"ഒരു ദിവസം\",dd:\"%d ദിവസം\",M:\"ഒരു മാസം\",MM:\"%d മാസം\",y:\"ഒരു വർഷം\",yy:\"%d വർഷം\"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),\"രാത്രി\"===t&&e>=4||\"ഉച്ച കഴിഞ്ഞ്\"===t||\"വൈകുന്നേരം\"===t?e+12:e},meridiem:function(e,t,n){return e<4?\"രാത്രി\":e<12?\"രാവിലെ\":e<17?\"ഉച്ച കഴിഞ്ഞ്\":e<20?\"വൈകുന്നേരം\":\"രാത്രി\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){switch(n){case\"s\":return t?\"хэдхэн секунд\":\"хэдхэн секундын\";case\"ss\":return e+(t?\" секунд\":\" секундын\");case\"m\":case\"mm\":return e+(t?\" минут\":\" минутын\");case\"h\":case\"hh\":return e+(t?\" цаг\":\" цагийн\");case\"d\":case\"dd\":return e+(t?\" өдөр\":\" өдрийн\");case\"M\":case\"MM\":return e+(t?\" сар\":\" сарын\");case\"y\":case\"yy\":return e+(t?\" жил\":\" жилийн\");default:return e}}var n=e.defineLocale(\"mn\",{months:\"Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар\".split(\"_\"),monthsShort:\"1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар\".split(\"_\"),monthsParseExact:!0,weekdays:\"Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба\".split(\"_\"),weekdaysShort:\"Ням_Дав_Мяг_Лха_Пүр_Баа_Бям\".split(\"_\"),weekdaysMin:\"Ня_Да_Мя_Лх_Пү_Ба_Бя\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY оны MMMMын D\",LLL:\"YYYY оны MMMMын D HH:mm\",LLLL:\"dddd, YYYY оны MMMMын D HH:mm\"},meridiemParse:/ҮӨ|ҮХ/i,isPM:function(e){return\"ҮХ\"===e},meridiem:function(e,t,n){return e<12?\"ҮӨ\":\"ҮХ\"},calendar:{sameDay:\"[Өнөөдөр] LT\",nextDay:\"[Маргааш] LT\",nextWeek:\"[Ирэх] dddd LT\",lastDay:\"[Өчигдөр] LT\",lastWeek:\"[Өнгөрсөн] dddd LT\",sameElse:\"L\"},relativeTime:{future:\"%s дараа\",past:\"%s өмнө\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2} өдөр/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\" өдөр\";default:return e}}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o=\"\";if(t)switch(n){case\"s\":o=\"काही सेकंद\";break;case\"ss\":o=\"%d सेकंद\";break;case\"m\":o=\"एक मिनिट\";break;case\"mm\":o=\"%d मिनिटे\";break;case\"h\":o=\"एक तास\";break;case\"hh\":o=\"%d तास\";break;case\"d\":o=\"एक दिवस\";break;case\"dd\":o=\"%d दिवस\";break;case\"M\":o=\"एक महिना\";break;case\"MM\":o=\"%d महिने\";break;case\"y\":o=\"एक वर्ष\";break;case\"yy\":o=\"%d वर्षे\"}else switch(n){case\"s\":o=\"काही सेकंदां\";break;case\"ss\":o=\"%d सेकंदां\";break;case\"m\":o=\"एका मिनिटा\";break;case\"mm\":o=\"%d मिनिटां\";break;case\"h\":o=\"एका तासा\";break;case\"hh\":o=\"%d तासां\";break;case\"d\":o=\"एका दिवसा\";break;case\"dd\":o=\"%d दिवसां\";break;case\"M\":o=\"एका महिन्या\";break;case\"MM\":o=\"%d महिन्यां\";break;case\"y\":o=\"एका वर्षा\";break;case\"yy\":o=\"%d वर्षां\"}return o.replace(/%d/i,e)}var n={1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"},r={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},o=e.defineLocale(\"mr\",{months:\"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर\".split(\"_\"),monthsShort:\"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.\".split(\"_\"),monthsParseExact:!0,weekdays:\"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार\".split(\"_\"),weekdaysShort:\"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि\".split(\"_\"),weekdaysMin:\"र_सो_मं_बु_गु_शु_श\".split(\"_\"),longDateFormat:{LT:\"A h:mm वाजता\",LTS:\"A h:mm:ss वाजता\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm वाजता\",LLLL:\"dddd, D MMMM YYYY, A h:mm वाजता\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[उद्या] LT\",nextWeek:\"dddd, LT\",lastDay:\"[काल] LT\",lastWeek:\"[मागील] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%sमध्ये\",past:\"%sपूर्वी\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return r[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return n[e]})},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),\"रात्री\"===t?e<4?e:e+12:\"सकाळी\"===t?e:\"दुपारी\"===t?e>=10?e:e+12:\"सायंकाळी\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"रात्री\":e<10?\"सकाळी\":e<17?\"दुपारी\":e<20?\"सायंकाळी\":\"रात्री\"},week:{dow:0,doy:6}});return o})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ms-my\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),\"pagi\"===t?e:\"tengahari\"===t?e>=11?e:e+12:\"petang\"===t||\"malam\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"pagi\":e<15?\"tengahari\":e<19?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",ss:\"%d saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ms\",{months:\"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis\".split(\"_\"),weekdays:\"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu\".split(\"_\"),weekdaysShort:\"Ahd_Isn_Sel_Rab_Kha_Jum_Sab\".split(\"_\"),weekdaysMin:\"Ah_Is_Sl_Rb_Km_Jm_Sb\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [pukul] HH.mm\",LLLL:\"dddd, D MMMM YYYY [pukul] HH.mm\"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),\"pagi\"===t?e:\"tengahari\"===t?e>=11?e:e+12:\"petang\"===t||\"malam\"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?\"pagi\":e<15?\"tengahari\":e<19?\"petang\":\"malam\"},calendar:{sameDay:\"[Hari ini pukul] LT\",nextDay:\"[Esok pukul] LT\",nextWeek:\"dddd [pukul] LT\",lastDay:\"[Kelmarin pukul] LT\",lastWeek:\"dddd [lepas pukul] LT\",sameElse:\"L\"},relativeTime:{future:\"dalam %s\",past:\"%s yang lepas\",s:\"beberapa saat\",ss:\"%d saat\",m:\"seminit\",mm:\"%d minit\",h:\"sejam\",hh:\"%d jam\",d:\"sehari\",dd:\"%d hari\",M:\"sebulan\",MM:\"%d bulan\",y:\"setahun\",yy:\"%d tahun\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"mt\",{months:\"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru\".split(\"_\"),monthsShort:\"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ\".split(\"_\"),weekdays:\"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt\".split(\"_\"),weekdaysShort:\"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib\".split(\"_\"),weekdaysMin:\"Ħa_Tn_Tl_Er_Ħa_Ġi_Si\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Illum fil-]LT\",nextDay:\"[Għada fil-]LT\",nextWeek:\"dddd [fil-]LT\",lastDay:\"[Il-bieraħ fil-]LT\",lastWeek:\"dddd [li għadda] [fil-]LT\",sameElse:\"L\"},relativeTime:{future:\"f’ %s\",past:\"%s ilu\",s:\"ftit sekondi\",ss:\"%d sekondi\",m:\"minuta\",mm:\"%d minuti\",h:\"siegħa\",hh:\"%d siegħat\",d:\"ġurnata\",dd:\"%d ġranet\",M:\"xahar\",MM:\"%d xhur\",y:\"sena\",yy:\"%d sni\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"၁\",2:\"၂\",3:\"၃\",4:\"၄\",5:\"၅\",6:\"၆\",7:\"၇\",8:\"၈\",9:\"၉\",0:\"၀\"},n={\"၁\":\"1\",\"၂\":\"2\",\"၃\":\"3\",\"၄\":\"4\",\"၅\":\"5\",\"၆\":\"6\",\"၇\":\"7\",\"၈\":\"8\",\"၉\":\"9\",\"၀\":\"0\"},r=e.defineLocale(\"my\",{months:\"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ\".split(\"_\"),monthsShort:\"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ\".split(\"_\"),weekdays:\"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ\".split(\"_\"),weekdaysShort:\"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ\".split(\"_\"),weekdaysMin:\"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[ယနေ.] LT [မှာ]\",nextDay:\"[မနက်ဖြန်] LT [မှာ]\",nextWeek:\"dddd LT [မှာ]\",lastDay:\"[မနေ.က] LT [မှာ]\",lastWeek:\"[ပြီးခဲ့သော] dddd LT [မှာ]\",sameElse:\"L\"},relativeTime:{future:\"လာမည့် %s မှာ\",past:\"လွန်ခဲ့သော %s က\",s:\"စက္ကန်.အနည်းငယ်\",ss:\"%d စက္ကန့်\",m:\"တစ်မိနစ်\",mm:\"%d မိနစ်\",h:\"တစ်နာရီ\",hh:\"%d နာရီ\",d:\"တစ်ရက်\",dd:\"%d ရက်\",M:\"တစ်လ\",MM:\"%d လ\",y:\"တစ်နှစ်\",yy:\"%d နှစ်\"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"nb\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.\".split(\"_\"),monthsParseExact:!0,weekdays:\"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag\".split(\"_\"),weekdaysShort:\"sø._ma._ti._on._to._fr._lø.\".split(\"_\"),weekdaysMin:\"sø_ma_ti_on_to_fr_lø\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[i dag kl.] LT\",nextDay:\"[i morgen kl.] LT\",nextWeek:\"dddd [kl.] LT\",lastDay:\"[i går kl.] LT\",lastWeek:\"[forrige] dddd [kl.] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s siden\",s:\"noen sekunder\",ss:\"%d sekunder\",m:\"ett minutt\",mm:\"%d minutter\",h:\"en time\",hh:\"%d timer\",d:\"en dag\",dd:\"%d dager\",M:\"en måned\",MM:\"%d måneder\",y:\"ett år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"१\",2:\"२\",3:\"३\",4:\"४\",5:\"५\",6:\"६\",7:\"७\",8:\"८\",9:\"९\",0:\"०\"},n={\"१\":\"1\",\"२\":\"2\",\"३\":\"3\",\"४\":\"4\",\"५\":\"5\",\"६\":\"6\",\"७\":\"7\",\"८\":\"8\",\"९\":\"9\",\"०\":\"0\"},r=e.defineLocale(\"ne\",{months:\"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर\".split(\"_\"),monthsShort:\"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.\".split(\"_\"),monthsParseExact:!0,weekdays:\"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार\".split(\"_\"),weekdaysShort:\"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.\".split(\"_\"),weekdaysMin:\"आ._सो._मं._बु._बि._शु._श.\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"Aको h:mm बजे\",LTS:\"Aको h:mm:ss बजे\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, Aको h:mm बजे\",LLLL:\"dddd, D MMMM YYYY, Aको h:mm बजे\"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"राति\"===t?e<4?e:e+12:\"बिहान\"===t?e:\"दिउँसो\"===t?e>=10?e:e+12:\"साँझ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?\"राति\":e<12?\"बिहान\":e<16?\"दिउँसो\":e<20?\"साँझ\":\"राति\"},calendar:{sameDay:\"[आज] LT\",nextDay:\"[भोलि] LT\",nextWeek:\"[आउँदो] dddd[,] LT\",lastDay:\"[हिजो] LT\",lastWeek:\"[गएको] dddd[,] LT\",sameElse:\"L\"},relativeTime:{future:\"%sमा\",past:\"%s अगाडि\",s:\"केही क्षण\",ss:\"%d सेकेण्ड\",m:\"एक मिनेट\",mm:\"%d मिनेट\",h:\"एक घण्टा\",hh:\"%d घण्टा\",d:\"एक दिन\",dd:\"%d दिन\",M:\"एक महिना\",MM:\"%d महिना\",y:\"एक बर्ष\",yy:\"%d बर्ष\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),n=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],o=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,i=e.defineLocale(\"nl-be\",{\nmonths:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"zo_ma_di_wo_do_vr_za\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",ss:\"%d seconden\",m:\"één minuut\",mm:\"%d minuten\",h:\"één uur\",hh:\"%d uur\",d:\"één dag\",dd:\"%d dagen\",M:\"één maand\",MM:\"%d maanden\",y:\"één jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=\"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.\".split(\"_\"),n=\"jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),r=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],o=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,i=e.defineLocale(\"nl\",{months:\"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december\".split(\"_\"),monthsShort:function(e,r){return e?/-MMM-/.test(r)?n[e.month()]:t[e.month()]:t},monthsRegex:o,monthsShortRegex:o,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,monthsParse:r,longMonthsParse:r,shortMonthsParse:r,weekdays:\"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag\".split(\"_\"),weekdaysShort:\"zo._ma._di._wo._do._vr._za.\".split(\"_\"),weekdaysMin:\"zo_ma_di_wo_do_vr_za\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD-MM-YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[vandaag om] LT\",nextDay:\"[morgen om] LT\",nextWeek:\"dddd [om] LT\",lastDay:\"[gisteren om] LT\",lastWeek:\"[afgelopen] dddd [om] LT\",sameElse:\"L\"},relativeTime:{future:\"over %s\",past:\"%s geleden\",s:\"een paar seconden\",ss:\"%d seconden\",m:\"één minuut\",mm:\"%d minuten\",h:\"één uur\",hh:\"%d uur\",d:\"één dag\",dd:\"%d dagen\",M:\"één maand\",MM:\"%d maanden\",y:\"één jaar\",yy:\"%d jaar\"},dayOfMonthOrdinalParse:/\\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?\"ste\":\"de\")},week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"nn\",{months:\"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des\".split(\"_\"),weekdays:\"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag\".split(\"_\"),weekdaysShort:\"sun_mån_tys_ons_tor_fre_lau\".split(\"_\"),weekdaysMin:\"su_må_ty_on_to_fr_lø\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY [kl.] H:mm\",LLLL:\"dddd D. MMMM YYYY [kl.] HH:mm\"},calendar:{sameDay:\"[I dag klokka] LT\",nextDay:\"[I morgon klokka] LT\",nextWeek:\"dddd [klokka] LT\",lastDay:\"[I går klokka] LT\",lastWeek:\"[Føregåande] dddd [klokka] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"%s sidan\",s:\"nokre sekund\",ss:\"%d sekund\",m:\"eit minutt\",mm:\"%d minutt\",h:\"ein time\",hh:\"%d timar\",d:\"ein dag\",dd:\"%d dagar\",M:\"ein månad\",MM:\"%d månader\",y:\"eit år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"੧\",2:\"੨\",3:\"੩\",4:\"੪\",5:\"੫\",6:\"੬\",7:\"੭\",8:\"੮\",9:\"੯\",0:\"੦\"},n={\"੧\":\"1\",\"੨\":\"2\",\"੩\":\"3\",\"੪\":\"4\",\"੫\":\"5\",\"੬\":\"6\",\"੭\":\"7\",\"੮\":\"8\",\"੯\":\"9\",\"੦\":\"0\"},r=e.defineLocale(\"pa-in\",{months:\"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ\".split(\"_\"),monthsShort:\"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ\".split(\"_\"),weekdays:\"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ\".split(\"_\"),weekdaysShort:\"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ\".split(\"_\"),weekdaysMin:\"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ\".split(\"_\"),longDateFormat:{LT:\"A h:mm ਵਜੇ\",LTS:\"A h:mm:ss ਵਜੇ\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm ਵਜੇ\",LLLL:\"dddd, D MMMM YYYY, A h:mm ਵਜੇ\"},calendar:{sameDay:\"[ਅਜ] LT\",nextDay:\"[ਕਲ] LT\",nextWeek:\"dddd, LT\",lastDay:\"[ਕਲ] LT\",lastWeek:\"[ਪਿਛਲੇ] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s ਵਿੱਚ\",past:\"%s ਪਿਛਲੇ\",s:\"ਕੁਝ ਸਕਿੰਟ\",ss:\"%d ਸਕਿੰਟ\",m:\"ਇਕ ਮਿੰਟ\",mm:\"%d ਮਿੰਟ\",h:\"ਇੱਕ ਘੰਟਾ\",hh:\"%d ਘੰਟੇ\",d:\"ਇੱਕ ਦਿਨ\",dd:\"%d ਦਿਨ\",M:\"ਇੱਕ ਮਹੀਨਾ\",MM:\"%d ਮਹੀਨੇ\",y:\"ਇੱਕ ਸਾਲ\",yy:\"%d ਸਾਲ\"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"ਰਾਤ\"===t?e<4?e:e+12:\"ਸਵੇਰ\"===t?e:\"ਦੁਪਹਿਰ\"===t?e>=10?e:e+12:\"ਸ਼ਾਮ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"ਰਾਤ\":e<10?\"ਸਵੇਰ\":e<17?\"ਦੁਪਹਿਰ\":e<20?\"ਸ਼ਾਮ\":\"ਰਾਤ\"},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function n(e,n,r){var o=e+\" \";switch(r){case\"ss\":return o+(t(e)?\"sekundy\":\"sekund\");case\"m\":return n?\"minuta\":\"minutę\";case\"mm\":return o+(t(e)?\"minuty\":\"minut\");case\"h\":return n?\"godzina\":\"godzinę\";case\"hh\":return o+(t(e)?\"godziny\":\"godzin\");case\"MM\":return o+(t(e)?\"miesiące\":\"miesięcy\");case\"yy\":return o+(t(e)?\"lata\":\"lat\")}}var r=\"styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień\".split(\"_\"),o=\"stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia\".split(\"_\"),i=e.defineLocale(\"pl\",{months:function(e,t){return e?\"\"===t?\"(\"+o[e.month()]+\"|\"+r[e.month()]+\")\":/D MMMM/.test(t)?o[e.month()]:r[e.month()]:r},monthsShort:\"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru\".split(\"_\"),weekdays:\"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota\".split(\"_\"),weekdaysShort:\"ndz_pon_wt_śr_czw_pt_sob\".split(\"_\"),weekdaysMin:\"Nd_Pn_Wt_Śr_Cz_Pt_So\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Dziś o] LT\",nextDay:\"[Jutro o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[W niedzielę o] LT\";case 2:return\"[We wtorek o] LT\";case 3:return\"[W środę o] LT\";case 6:return\"[W sobotę o] LT\";default:return\"[W] dddd [o] LT\"}},lastDay:\"[Wczoraj o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[W zeszłą niedzielę o] LT\";case 3:return\"[W zeszłą środę o] LT\";case 6:return\"[W zeszłą sobotę o] LT\";default:return\"[W zeszły] dddd [o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"%s temu\",s:\"kilka sekund\",ss:n,m:n,mm:n,h:n,hh:n,d:\"1 dzień\",dd:\"%d dni\",M:\"miesiąc\",MM:n,y:\"rok\",yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"pt-br\",{months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),weekdays:\"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_Sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY [às] HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY [às] HH:mm\"},calendar:{sameDay:\"[Hoje às] LT\",nextDay:\"[Amanhã às] LT\",nextWeek:\"dddd [às] LT\",lastDay:\"[Ontem às] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[Último] dddd [às] LT\":\"[Última] dddd [às] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"poucos segundos\",ss:\"%d segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\"});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"pt\",{months:\"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro\".split(\"_\"),monthsShort:\"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez\".split(\"_\"),weekdays:\"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ter_Qua_Qui_Sex_Sáb\".split(\"_\"),weekdaysMin:\"Do_2ª_3ª_4ª_5ª_6ª_Sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D [de] MMMM [de] YYYY\",LLL:\"D [de] MMMM [de] YYYY HH:mm\",LLLL:\"dddd, D [de] MMMM [de] YYYY HH:mm\"},calendar:{sameDay:\"[Hoje às] LT\",nextDay:\"[Amanhã às] LT\",nextWeek:\"dddd [às] LT\",lastDay:\"[Ontem às] LT\",lastWeek:function(){return 0===this.day()||6===this.day()?\"[Último] dddd [às] LT\":\"[Última] dddd [às] LT\"},sameElse:\"L\"},relativeTime:{future:\"em %s\",past:\"há %s\",s:\"segundos\",ss:\"%d segundos\",m:\"um minuto\",mm:\"%d minutos\",h:\"uma hora\",hh:\"%d horas\",d:\"um dia\",dd:\"%d dias\",M:\"um mês\",MM:\"%d meses\",y:\"um ano\",yy:\"%d anos\"},dayOfMonthOrdinalParse:/\\d{1,2}º/,ordinal:\"%dº\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n){var r={ss:\"secunde\",mm:\"minute\",hh:\"ore\",dd:\"zile\",MM:\"luni\",yy:\"ani\"},o=\" \";return(e%100>=20||e>=100&&e%100===0)&&(o=\" de \"),e+o+r[n]}var n=e.defineLocale(\"ro\",{months:\"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie\".split(\"_\"),monthsShort:\"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"duminică_luni_marți_miercuri_joi_vineri_sâmbătă\".split(\"_\"),weekdaysShort:\"Dum_Lun_Mar_Mie_Joi_Vin_Sâm\".split(\"_\"),weekdaysMin:\"Du_Lu_Ma_Mi_Jo_Vi_Sâ\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY H:mm\",LLLL:\"dddd, D MMMM YYYY H:mm\"},calendar:{sameDay:\"[azi la] LT\",nextDay:\"[mâine la] LT\",nextWeek:\"dddd [la] LT\",lastDay:\"[ieri la] LT\",lastWeek:\"[fosta] dddd [la] LT\",sameElse:\"L\"},relativeTime:{future:\"peste %s\",past:\"%s în urmă\",s:\"câteva secunde\",ss:t,m:\"un minut\",mm:t,h:\"o oră\",hh:t,d:\"o zi\",dd:t,M:\"o lună\",MM:t,y:\"un an\",yy:t},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t){var n=e.split(\"_\");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?\"секунда_секунды_секунд\":\"секунду_секунды_секунд\",mm:n?\"минута_минуты_минут\":\"минуту_минуты_минут\",hh:\"час_часа_часов\",dd:\"день_дня_дней\",MM:\"месяц_месяца_месяцев\",yy:\"год_года_лет\"};return\"m\"===r?n?\"минута\":\"минуту\":e+\" \"+t(o[r],+e)}var r=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],o=e.defineLocale(\"ru\",{months:{format:\"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря\".split(\"_\"),standalone:\"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь\".split(\"_\")},monthsShort:{format:\"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.\".split(\"_\"),standalone:\"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.\".split(\"_\")},weekdays:{standalone:\"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота\".split(\"_\"),format:\"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу\".split(\"_\"),isFormat:/\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/},weekdaysShort:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),weekdaysMin:\"вс_пн_вт_ср_чт_пт_сб\".split(\"_\"),monthsParse:r,longMonthsParse:r,shortMonthsParse:r,monthsRegex:/^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,monthsShortRegex:/^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY г.\",LLL:\"D MMMM YYYY г., H:mm\",LLLL:\"dddd, D MMMM YYYY г., H:mm\"},calendar:{sameDay:\"[Сегодня, в] LT\",nextDay:\"[Завтра, в] LT\",lastDay:\"[Вчера, в] LT\",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?\"[Во] dddd, [в] LT\":\"[В] dddd, [в] LT\";switch(this.day()){case 0:return\"[В следующее] dddd, [в] LT\";case 1:case 2:case 4:return\"[В следующий] dddd, [в] LT\";case 3:case 5:case 6:return\"[В следующую] dddd, [в] LT\"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?\"[Во] dddd, [в] LT\":\"[В] dddd, [в] LT\";switch(this.day()){case 0:return\"[В прошлое] dddd, [в] LT\";case 1:case 2:case 4:return\"[В прошлый] dddd, [в] LT\";case 3:case 5:case 6:return\"[В прошлую] dddd, [в] LT\"}},sameElse:\"L\"},relativeTime:{future:\"через %s\",past:\"%s назад\",s:\"несколько секунд\",ss:n,m:n,mm:n,h:\"час\",hh:n,d:\"день\",dd:n,M:\"месяц\",MM:n,y:\"год\",yy:n},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?\"ночи\":e<12?\"утра\":e<17?\"дня\":\"вечера\"},dayOfMonthOrdinalParse:/\\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case\"M\":case\"d\":case\"DDD\":return e+\"-й\";case\"D\":return e+\"-го\";case\"w\":case\"W\":return e+\"-я\";default:return e}},week:{dow:1,doy:4}});return o})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"جنوري\",\"فيبروري\",\"مارچ\",\"اپريل\",\"مئي\",\"جون\",\"جولاءِ\",\"آگسٽ\",\"سيپٽمبر\",\"آڪٽوبر\",\"نومبر\",\"ڊسمبر\"],n=[\"آچر\",\"سومر\",\"اڱارو\",\"اربع\",\"خميس\",\"جمع\",\"ڇنڇر\"],r=e.defineLocale(\"sd\",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd، D MMMM YYYY HH:mm\"},meridiemParse:/صبح|شام/,isPM:function(e){return\"شام\"===e},meridiem:function(e,t,n){return e<12?\"صبح\":\"شام\"},calendar:{sameDay:\"[اڄ] LT\",nextDay:\"[سڀاڻي] LT\",nextWeek:\"dddd [اڳين هفتي تي] LT\",lastDay:\"[ڪالهه] LT\",lastWeek:\"[گزريل هفتي] dddd [تي] LT\",sameElse:\"L\"},relativeTime:{future:\"%s پوء\",past:\"%s اڳ\",s:\"چند سيڪنڊ\",ss:\"%d سيڪنڊ\",m:\"هڪ منٽ\",mm:\"%d منٽ\",h:\"هڪ ڪلاڪ\",hh:\"%d ڪلاڪ\",d:\"هڪ ڏينهن\",dd:\"%d ڏينهن\",M:\"هڪ مهينو\",MM:\"%d مهينا\",y:\"هڪ سال\",yy:\"%d سال\"},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"se\",{months:\"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu\".split(\"_\"),monthsShort:\"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov\".split(\"_\"),weekdays:\"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat\".split(\"_\"),weekdaysShort:\"sotn_vuos_maŋ_gask_duor_bear_láv\".split(\"_\"),weekdaysMin:\"s_v_m_g_d_b_L\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"MMMM D. [b.] YYYY\",LLL:\"MMMM D. [b.] YYYY [ti.] HH:mm\",LLLL:\"dddd, MMMM D. [b.] YYYY [ti.] HH:mm\"},calendar:{sameDay:\"[otne ti] LT\",nextDay:\"[ihttin ti] LT\",nextWeek:\"dddd [ti] LT\",lastDay:\"[ikte ti] LT\",lastWeek:\"[ovddit] dddd [ti] LT\",sameElse:\"L\"},relativeTime:{future:\"%s geažes\",past:\"maŋit %s\",s:\"moadde sekunddat\",ss:\"%d sekunddat\",m:\"okta minuhta\",mm:\"%d minuhtat\",h:\"okta diimmu\",hh:\"%d diimmut\",d:\"okta beaivi\",dd:\"%d beaivvit\",M:\"okta mánnu\",MM:\"%d mánut\",y:\"okta jahki\",yy:\"%d jagit\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"si\",{months:\"ජනවාරි_පෙබරවාරි_මාර්තු_අප්\u200dරේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්\".split(\"_\"),monthsShort:\"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ\".split(\"_\"),weekdays:\"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්\u200dරහස්පතින්දා_සිකුරාදා_සෙනසුරාදා\".split(\"_\"),weekdaysShort:\"ඉරි_සඳු_අඟ_බදා_බ්\u200dරහ_සිකු_සෙන\".split(\"_\"),weekdaysMin:\"ඉ_ස_අ_බ_බ්\u200dර_සි_සෙ\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"a h:mm\",LTS:\"a h:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY MMMM D\",LLL:\"YYYY MMMM D, a h:mm\",LLLL:\"YYYY MMMM D [වැනි] dddd, a h:mm:ss\"},calendar:{sameDay:\"[අද] LT[ට]\",nextDay:\"[හෙට] LT[ට]\",nextWeek:\"dddd LT[ට]\",lastDay:\"[ඊයේ] LT[ට]\",lastWeek:\"[පසුගිය] dddd LT[ට]\",sameElse:\"L\"},relativeTime:{future:\"%sකින්\",past:\"%sකට පෙර\",s:\"තත්පර කිහිපය\",ss:\"තත්පර %d\",m:\"මිනිත්තුව\",mm:\"මිනිත්තු %d\",h:\"පැය\",hh:\"පැය %d\",d:\"දිනය\",dd:\"දින %d\",M:\"මාසය\",MM:\"මාස %d\",y:\"වසර\",yy:\"වසර %d\"},dayOfMonthOrdinalParse:/\\d{1,2} වැනි/,ordinal:function(e){return e+\" වැනි\"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return\"ප.ව.\"===e||\"පස් වරු\"===e},meridiem:function(e,t,n){return e>11?n?\"ප.ව.\":\"පස් වරු\":n?\"පෙ.ව.\":\"පෙර වරු\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){return e>1&&e<5}function n(e,n,r,o){var i=e+\" \";switch(r){case\"s\":return n||o?\"pár sekúnd\":\"pár sekundami\";case\"ss\":return n||o?i+(t(e)?\"sekundy\":\"sekúnd\"):i+\"sekundami\";case\"m\":return n?\"minúta\":o?\"minútu\":\"minútou\";case\"mm\":return n||o?i+(t(e)?\"minúty\":\"minút\"):i+\"minútami\";case\"h\":return n?\"hodina\":o?\"hodinu\":\"hodinou\";case\"hh\":return n||o?i+(t(e)?\"hodiny\":\"hodín\"):i+\"hodinami\";case\"d\":return n||o?\"deň\":\"dňom\";case\"dd\":return n||o?i+(t(e)?\"dni\":\"dní\"):i+\"dňami\";case\"M\":return n||o?\"mesiac\":\"mesiacom\";case\"MM\":return n||o?i+(t(e)?\"mesiace\":\"mesiacov\"):i+\"mesiacmi\";case\"y\":return n||o?\"rok\":\"rokom\";case\"yy\":return n||o?i+(t(e)?\"roky\":\"rokov\"):i+\"rokmi\"}}var r=\"január_február_marec_apríl_máj_jún_júl_august_september_október_november_december\".split(\"_\"),o=\"jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec\".split(\"_\"),i=e.defineLocale(\"sk\",{months:r,monthsShort:o,weekdays:\"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota\".split(\"_\"),weekdaysShort:\"ne_po_ut_st_št_pi_so\".split(\"_\"),weekdaysMin:\"ne_po_ut_st_št_pi_so\".split(\"_\"),longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[dnes o] LT\",nextDay:\"[zajtra o] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v nedeľu o] LT\";case 1:case 2:return\"[v] dddd [o] LT\";case 3:return\"[v stredu o] LT\";case 4:return\"[vo štvrtok o] LT\";case 5:return\"[v piatok o] LT\";case 6:return\"[v sobotu o] LT\"}},lastDay:\"[včera o] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[minulú nedeľu o] LT\";case 1:case 2:return\"[minulý] dddd [o] LT\";case 3:return\"[minulú stredu o] LT\";case 4:case 5:return\"[minulý] dddd [o] LT\";case 6:return\"[minulú sobotu o] LT\"}},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pred %s\",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o=e+\" \";switch(n){case\"s\":return t||r?\"nekaj sekund\":\"nekaj sekundami\";case\"ss\":return o+=1===e?t?\"sekundo\":\"sekundi\":2===e?t||r?\"sekundi\":\"sekundah\":e<5?t||r?\"sekunde\":\"sekundah\":\"sekund\";case\"m\":return t?\"ena minuta\":\"eno minuto\";case\"mm\":return o+=1===e?t?\"minuta\":\"minuto\":2===e?t||r?\"minuti\":\"minutama\":e<5?t||r?\"minute\":\"minutami\":t||r?\"minut\":\"minutami\";case\"h\":return t?\"ena ura\":\"eno uro\";case\"hh\":return o+=1===e?t?\"ura\":\"uro\":2===e?t||r?\"uri\":\"urama\":e<5?t||r?\"ure\":\"urami\":t||r?\"ur\":\"urami\";case\"d\":return t||r?\"en dan\":\"enim dnem\";case\"dd\":return o+=1===e?t||r?\"dan\":\"dnem\":2===e?t||r?\"dni\":\"dnevoma\":t||r?\"dni\":\"dnevi\";case\"M\":return t||r?\"en mesec\":\"enim mesecem\";case\"MM\":return o+=1===e?t||r?\"mesec\":\"mesecem\":2===e?t||r?\"meseca\":\"mesecema\":e<5?t||r?\"mesece\":\"meseci\":t||r?\"mesecev\":\"meseci\";case\"y\":return t||r?\"eno leto\":\"enim letom\";case\"yy\":return o+=1===e?t||r?\"leto\":\"letom\":2===e?t||r?\"leti\":\"letoma\":e<5?t||r?\"leta\":\"leti\":t||r?\"let\":\"leti\"}}var n=e.defineLocale(\"sl\",{months:\"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota\".split(\"_\"),weekdaysShort:\"ned._pon._tor._sre._čet._pet._sob.\".split(\"_\"),weekdaysMin:\"ne_po_to_sr_če_pe_so\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danes ob] LT\",nextDay:\"[jutri ob] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[v] [nedeljo] [ob] LT\";case 3:return\"[v] [sredo] [ob] LT\";case 6:return\"[v] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[v] dddd [ob] LT\"}},lastDay:\"[včeraj ob] LT\",lastWeek:function(){switch(this.day()){case 0:return\"[prejšnjo] [nedeljo] [ob] LT\";case 3:return\"[prejšnjo] [sredo] [ob] LT\";case 6:return\"[prejšnjo] [soboto] [ob] LT\";case 1:case 2:case 4:case 5:return\"[prejšnji] dddd [ob] LT\"}},sameElse:\"L\"},relativeTime:{future:\"čez %s\",past:\"pred %s\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"sq\",{months:\"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor\".split(\"_\"),monthsShort:\"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj\".split(\"_\"),weekdays:\"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë\".split(\"_\"),weekdaysShort:\"Die_Hën_Mar_Mër_Enj_Pre_Sht\".split(\"_\"),weekdaysMin:\"D_H_Ma_Më_E_P_Sh\".split(\"_\"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return\"M\"===e.charAt(0)},meridiem:function(e,t,n){return e<12?\"PD\":\"MD\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Sot në] LT\",nextDay:\"[Nesër në] LT\",nextWeek:\"dddd [në] LT\",lastDay:\"[Dje në] LT\",lastWeek:\"dddd [e kaluar në] LT\",sameElse:\"L\"},relativeTime:{future:\"në %s\",past:\"%s më parë\",s:\"disa sekonda\",ss:\"%d sekonda\",m:\"një minutë\",mm:\"%d minuta\",h:\"një orë\",hh:\"%d orë\",d:\"një ditë\",dd:\"%d ditë\",M:\"një muaj\",MM:\"%d muaj\",y:\"një vit\",yy:\"%d vite\"},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={words:{ss:[\"секунда\",\"секунде\",\"секунди\"],m:[\"један минут\",\"једне минуте\"],mm:[\"минут\",\"минуте\",\"минута\"],h:[\"један сат\",\"једног сата\"],hh:[\"сат\",\"сата\",\"сати\"],dd:[\"дан\",\"дана\",\"дана\"],MM:[\"месец\",\"месеца\",\"месеци\"],yy:[\"година\",\"године\",\"година\"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var o=t.words[r];return 1===r.length?n?o[0]:o[1]:e+\" \"+t.correctGrammaticalCase(e,o)}},n=e.defineLocale(\"sr-cyrl\",{months:\"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар\".split(\"_\"),monthsShort:\"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.\".split(\"_\"),monthsParseExact:!0,weekdays:\"недеља_понедељак_уторак_среда_четвртак_петак_субота\".split(\"_\"),weekdaysShort:\"нед._пон._уто._сре._чет._пет._суб.\".split(\"_\"),weekdaysMin:\"не_по_ут_ср_че_пе_су\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[данас у] LT\",nextDay:\"[сутра у] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[у] [недељу] [у] LT\";case 3:return\"[у] [среду] [у] LT\";case 6:return\"[у] [суботу] [у] LT\";case 1:case 2:case 4:case 5:return\"[у] dddd [у] LT\"}},lastDay:\"[јуче у] LT\",lastWeek:function(){var e=[\"[прошле] [недеље] [у] LT\",\"[прошлог] [понедељка] [у] LT\",\"[прошлог] [уторка] [у] LT\",\"[прошле] [среде] [у] LT\",\"[прошлог] [четвртка] [у] LT\",\"[прошлог] [петка] [у] LT\",\"[прошле] [суботе] [у] LT\"];return e[this.day()]},sameElse:\"L\"},relativeTime:{future:\"за %s\",past:\"пре %s\",s:\"неколико секунди\",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:\"дан\",dd:t.translate,M:\"месец\",MM:t.translate,y:\"годину\",yy:t.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={words:{ss:[\"sekunda\",\"sekunde\",\"sekundi\"],m:[\"jedan minut\",\"jedne minute\"],mm:[\"minut\",\"minute\",\"minuta\"],h:[\"jedan sat\",\"jednog sata\"],hh:[\"sat\",\"sata\",\"sati\"],dd:[\"dan\",\"dana\",\"dana\"],MM:[\"mesec\",\"meseca\",\"meseci\"],yy:[\"godina\",\"godine\",\"godina\"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,r){var o=t.words[r];return 1===r.length?n?o[0]:o[1]:e+\" \"+t.correctGrammaticalCase(e,o)}},n=e.defineLocale(\"sr\",{months:\"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar\".split(\"_\"),monthsShort:\"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.\".split(\"_\"),monthsParseExact:!0,weekdays:\"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota\".split(\"_\"),weekdaysShort:\"ned._pon._uto._sre._čet._pet._sub.\".split(\"_\"),weekdaysMin:\"ne_po_ut_sr_če_pe_su\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM YYYY\",LLL:\"D. MMMM YYYY H:mm\",LLLL:\"dddd, D. MMMM YYYY H:mm\"},calendar:{sameDay:\"[danas u] LT\",nextDay:\"[sutra u] LT\",nextWeek:function(){switch(this.day()){case 0:return\"[u] [nedelju] [u] LT\";case 3:return\"[u] [sredu] [u] LT\";case 6:return\"[u] [subotu] [u] LT\";case 1:case 2:case 4:case 5:return\"[u] dddd [u] LT\"}},lastDay:\"[juče u] LT\",lastWeek:function(){var e=[\"[prošle] [nedelje] [u] LT\",\"[prošlog] [ponedeljka] [u] LT\",\"[prošlog] [utorka] [u] LT\",\"[prošle] [srede] [u] LT\",\"[prošlog] [četvrtka] [u] LT\",\"[prošlog] [petka] [u] LT\",\"[prošle] [subote] [u] LT\"];return e[this.day()]},sameElse:\"L\"},relativeTime:{future:\"za %s\",past:\"pre %s\",s:\"nekoliko sekundi\",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:\"dan\",dd:t.translate,M:\"mesec\",MM:t.translate,y:\"godinu\",yy:t.translate},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ss\",{months:\"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\"_\"),monthsShort:\"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo\".split(\"_\"),weekdays:\"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo\".split(\"_\"),weekdaysShort:\"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg\".split(\"_\"),weekdaysMin:\"Li_Us_Lb_Lt_Ls_Lh_Ug\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Namuhla nga] LT\",nextDay:\"[Kusasa nga] LT\",nextWeek:\"dddd [nga] LT\",lastDay:\"[Itolo nga] LT\",lastWeek:\"dddd [leliphelile] [nga] LT\",sameElse:\"L\"},relativeTime:{future:\"nga %s\",past:\"wenteka nga %s\",s:\"emizuzwana lomcane\",ss:\"%d mzuzwana\",m:\"umzuzu\",mm:\"%d emizuzu\",h:\"lihora\",hh:\"%d emahora\",d:\"lilanga\",dd:\"%d emalanga\",M:\"inyanga\",MM:\"%d tinyanga\",y:\"umnyaka\",yy:\"%d iminyaka\"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?\"ekuseni\":e<15?\"emini\":e<19?\"entsambama\":\"ebusuku\"},meridiemHour:function(e,t){return 12===e&&(e=0),\"ekuseni\"===t?e:\"emini\"===t?e>=11?e:e+12:\"entsambama\"===t||\"ebusuku\"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:\"%d\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"sv\",{months:\"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december\".split(\"_\"),monthsShort:\"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec\".split(\"_\"),weekdays:\"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag\".split(\"_\"),weekdaysShort:\"sön_mån_tis_ons_tor_fre_lör\".split(\"_\"),weekdaysMin:\"sö_må_ti_on_to_fr_lö\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY [kl.] HH:mm\",LLLL:\"dddd D MMMM YYYY [kl.] HH:mm\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd D MMM YYYY HH:mm\"},calendar:{sameDay:\"[Idag] LT\",nextDay:\"[Imorgon] LT\",lastDay:\"[Igår] LT\",nextWeek:\"[På] dddd LT\",lastWeek:\"[I] dddd[s] LT\",sameElse:\"L\"},relativeTime:{future:\"om %s\",past:\"för %s sedan\",s:\"några sekunder\",ss:\"%d sekunder\",m:\"en minut\",mm:\"%d minuter\",h:\"en timme\",hh:\"%d timmar\",d:\"en dag\",dd:\"%d dagar\",M:\"en månad\",MM:\"%d månader\",y:\"ett år\",yy:\"%d år\"},dayOfMonthOrdinalParse:/\\d{1,2}(e|a)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"e\":1===t?\"a\":2===t?\"a\":\"e\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"sw\",{months:\"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba\".split(\"_\"),monthsShort:\"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des\".split(\"_\"),weekdays:\"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi\".split(\"_\"),weekdaysShort:\"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos\".split(\"_\"),weekdaysMin:\"J2_J3_J4_J5_Al_Ij_J1\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[leo saa] LT\",nextDay:\"[kesho saa] LT\",nextWeek:\"[wiki ijayo] dddd [saat] LT\",lastDay:\"[jana] LT\",lastWeek:\"[wiki iliyopita] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s baadaye\",past:\"tokea %s\",s:\"hivi punde\",ss:\"sekunde %d\",m:\"dakika moja\",mm:\"dakika %d\",h:\"saa limoja\",hh:\"masaa %d\",d:\"siku moja\",dd:\"masiku %d\",M:\"mwezi mmoja\",MM:\"miezi %d\",y:\"mwaka mmoja\",yy:\"miaka %d\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"௧\",2:\"௨\",3:\"௩\",4:\"௪\",5:\"௫\",6:\"௬\",7:\"௭\",8:\"௮\",9:\"௯\",0:\"௦\"},n={\"௧\":\"1\",\"௨\":\"2\",\"௩\":\"3\",\"௪\":\"4\",\"௫\":\"5\",\"௬\":\"6\",\"௭\":\"7\",\"௮\":\"8\",\"௯\":\"9\",\"௦\":\"0\"},r=e.defineLocale(\"ta\",{months:\"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்\".split(\"_\"),monthsShort:\"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்\".split(\"_\"),weekdays:\"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை\".split(\"_\"),weekdaysShort:\"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி\".split(\"_\"),weekdaysMin:\"ஞா_தி_செ_பு_வி_வெ_ச\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, HH:mm\",LLLL:\"dddd, D MMMM YYYY, HH:mm\"},calendar:{sameDay:\"[இன்று] LT\",nextDay:\"[நாளை] LT\",nextWeek:\"dddd, LT\",lastDay:\"[நேற்று] LT\",lastWeek:\"[கடந்த வாரம்] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s இல்\",past:\"%s முன்\",s:\"ஒரு சில விநாடிகள்\",ss:\"%d விநாடிகள்\",\nm:\"ஒரு நிமிடம்\",mm:\"%d நிமிடங்கள்\",h:\"ஒரு மணி நேரம்\",hh:\"%d மணி நேரம்\",d:\"ஒரு நாள்\",dd:\"%d நாட்கள்\",M:\"ஒரு மாதம்\",MM:\"%d மாதங்கள்\",y:\"ஒரு வருடம்\",yy:\"%d ஆண்டுகள்\"},dayOfMonthOrdinalParse:/\\d{1,2}வது/,ordinal:function(e){return e+\"வது\"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,function(e){return n[e]})},postformat:function(e){return e.replace(/\\d/g,function(e){return t[e]})},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?\" யாமம்\":e<6?\" வைகறை\":e<10?\" காலை\":e<14?\" நண்பகல்\":e<18?\" எற்பாடு\":e<22?\" மாலை\":\" யாமம்\"},meridiemHour:function(e,t){return 12===e&&(e=0),\"யாமம்\"===t?e<2?e:e+12:\"வைகறை\"===t||\"காலை\"===t?e:\"நண்பகல்\"===t&&e>=10?e:e+12},week:{dow:0,doy:6}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"te\",{months:\"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్\".split(\"_\"),monthsShort:\"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.\".split(\"_\"),monthsParseExact:!0,weekdays:\"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం\".split(\"_\"),weekdaysShort:\"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని\".split(\"_\"),weekdaysMin:\"ఆ_సో_మం_బు_గు_శు_శ\".split(\"_\"),longDateFormat:{LT:\"A h:mm\",LTS:\"A h:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY, A h:mm\",LLLL:\"dddd, D MMMM YYYY, A h:mm\"},calendar:{sameDay:\"[నేడు] LT\",nextDay:\"[రేపు] LT\",nextWeek:\"dddd, LT\",lastDay:\"[నిన్న] LT\",lastWeek:\"[గత] dddd, LT\",sameElse:\"L\"},relativeTime:{future:\"%s లో\",past:\"%s క్రితం\",s:\"కొన్ని క్షణాలు\",ss:\"%d సెకన్లు\",m:\"ఒక నిమిషం\",mm:\"%d నిమిషాలు\",h:\"ఒక గంట\",hh:\"%d గంటలు\",d:\"ఒక రోజు\",dd:\"%d రోజులు\",M:\"ఒక నెల\",MM:\"%d నెలలు\",y:\"ఒక సంవత్సరం\",yy:\"%d సంవత్సరాలు\"},dayOfMonthOrdinalParse:/\\d{1,2}వ/,ordinal:\"%dవ\",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),\"రాత్రి\"===t?e<4?e:e+12:\"ఉదయం\"===t?e:\"మధ్యాహ్నం\"===t?e>=10?e:e+12:\"సాయంత్రం\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"రాత్రి\":e<10?\"ఉదయం\":e<17?\"మధ్యాహ్నం\":e<20?\"సాయంత్రం\":\"రాత్రి\"},week:{dow:0,doy:6}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tet\",{months:\"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez\".split(\"_\"),weekdays:\"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu\".split(\"_\"),weekdaysShort:\"Dom_Seg_Ters_Kua_Kint_Sest_Sab\".split(\"_\"),weekdaysMin:\"Do_Seg_Te_Ku_Ki_Ses_Sa\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Ohin iha] LT\",nextDay:\"[Aban iha] LT\",nextWeek:\"dddd [iha] LT\",lastDay:\"[Horiseik iha] LT\",lastWeek:\"dddd [semana kotuk] [iha] LT\",sameElse:\"L\"},relativeTime:{future:\"iha %s\",past:\"%s liuba\",s:\"minutu balun\",ss:\"minutu %d\",m:\"minutu ida\",mm:\"minutu %d\",h:\"oras ida\",hh:\"oras %d\",d:\"loron ida\",dd:\"loron %d\",M:\"fulan ida\",MM:\"fulan %d\",y:\"tinan ida\",yy:\"tinan %d\"},dayOfMonthOrdinalParse:/\\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={0:\"-ум\",1:\"-ум\",2:\"-юм\",3:\"-юм\",4:\"-ум\",5:\"-ум\",6:\"-ум\",7:\"-ум\",8:\"-ум\",9:\"-ум\",10:\"-ум\",12:\"-ум\",13:\"-ум\",20:\"-ум\",30:\"-юм\",40:\"-ум\",50:\"-ум\",60:\"-ум\",70:\"-ум\",80:\"-ум\",90:\"-ум\",100:\"-ум\"},n=e.defineLocale(\"tg\",{months:\"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр\".split(\"_\"),monthsShort:\"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе\".split(\"_\"),weekdaysShort:\"яшб_дшб_сшб_чшб_пшб_ҷум_шнб\".split(\"_\"),weekdaysMin:\"яш_дш_сш_чш_пш_ҷм_шб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[Имрӯз соати] LT\",nextDay:\"[Пагоҳ соати] LT\",lastDay:\"[Дирӯз соати] LT\",nextWeek:\"dddd[и] [ҳафтаи оянда соати] LT\",lastWeek:\"dddd[и] [ҳафтаи гузашта соати] LT\",sameElse:\"L\"},relativeTime:{future:\"баъди %s\",past:\"%s пеш\",s:\"якчанд сония\",m:\"як дақиқа\",mm:\"%d дақиқа\",h:\"як соат\",hh:\"%d соат\",d:\"як рӯз\",dd:\"%d рӯз\",M:\"як моҳ\",MM:\"%d моҳ\",y:\"як сол\",yy:\"%d сол\"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"шаб\"===t?e<4?e:e+12:\"субҳ\"===t?e:\"рӯз\"===t?e>=11?e:e+12:\"бегоҳ\"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?\"шаб\":e<11?\"субҳ\":e<16?\"рӯз\":e<19?\"бегоҳ\":\"шаб\"},dayOfMonthOrdinalParse:/\\d{1,2}-(ум|юм)/,ordinal:function(e){var n=e%10,r=e>=100?100:null;return e+(t[e]||t[n]||t[r])},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"th\",{months:\"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม\".split(\"_\"),monthsShort:\"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.\".split(\"_\"),monthsParseExact:!0,weekdays:\"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์\".split(\"_\"),weekdaysShort:\"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์\".split(\"_\"),weekdaysMin:\"อา._จ._อ._พ._พฤ._ศ._ส.\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"H:mm\",LTS:\"H:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY เวลา H:mm\",LLLL:\"วันddddที่ D MMMM YYYY เวลา H:mm\"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return\"หลังเที่ยง\"===e},meridiem:function(e,t,n){return e<12?\"ก่อนเที่ยง\":\"หลังเที่ยง\"},calendar:{sameDay:\"[วันนี้ เวลา] LT\",nextDay:\"[พรุ่งนี้ เวลา] LT\",nextWeek:\"dddd[หน้า เวลา] LT\",lastDay:\"[เมื่อวานนี้ เวลา] LT\",lastWeek:\"[วัน]dddd[ที่แล้ว เวลา] LT\",sameElse:\"L\"},relativeTime:{future:\"อีก %s\",past:\"%sที่แล้ว\",s:\"ไม่กี่วินาที\",ss:\"%d วินาที\",m:\"1 นาที\",mm:\"%d นาที\",h:\"1 ชั่วโมง\",hh:\"%d ชั่วโมง\",d:\"1 วัน\",dd:\"%d วัน\",M:\"1 เดือน\",MM:\"%d เดือน\",y:\"1 ปี\",yy:\"%d ปี\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tl-ph\",{months:\"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre\".split(\"_\"),monthsShort:\"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis\".split(\"_\"),weekdays:\"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado\".split(\"_\"),weekdaysShort:\"Lin_Lun_Mar_Miy_Huw_Biy_Sab\".split(\"_\"),weekdaysMin:\"Li_Lu_Ma_Mi_Hu_Bi_Sab\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"MM/D/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY HH:mm\",LLLL:\"dddd, MMMM DD, YYYY HH:mm\"},calendar:{sameDay:\"LT [ngayong araw]\",nextDay:\"[Bukas ng] LT\",nextWeek:\"LT [sa susunod na] dddd\",lastDay:\"LT [kahapon]\",lastWeek:\"LT [noong nakaraang] dddd\",sameElse:\"L\"},relativeTime:{future:\"sa loob ng %s\",past:\"%s ang nakalipas\",s:\"ilang segundo\",ss:\"%d segundo\",m:\"isang minuto\",mm:\"%d minuto\",h:\"isang oras\",hh:\"%d oras\",d:\"isang araw\",dd:\"%d araw\",M:\"isang buwan\",MM:\"%d buwan\",y:\"isang taon\",yy:\"%d taon\"},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e){var t=e;return t=e.indexOf(\"jaj\")!==-1?t.slice(0,-3)+\"leS\":e.indexOf(\"jar\")!==-1?t.slice(0,-3)+\"waQ\":e.indexOf(\"DIS\")!==-1?t.slice(0,-3)+\"nem\":t+\" pIq\"}function n(e){var t=e;return t=e.indexOf(\"jaj\")!==-1?t.slice(0,-3)+\"Hu’\":e.indexOf(\"jar\")!==-1?t.slice(0,-3)+\"wen\":e.indexOf(\"DIS\")!==-1?t.slice(0,-3)+\"ben\":t+\" ret\"}function r(e,t,n,r){var i=o(e);switch(n){case\"ss\":return i+\" lup\";case\"mm\":return i+\" tup\";case\"hh\":return i+\" rep\";case\"dd\":return i+\" jaj\";case\"MM\":return i+\" jar\";case\"yy\":return i+\" DIS\"}}function o(e){var t=Math.floor(e%1e3/100),n=Math.floor(e%100/10),r=e%10,o=\"\";return t>0&&(o+=i[t]+\"vatlh\"),n>0&&(o+=(\"\"!==o?\" \":\"\")+i[n]+\"maH\"),r>0&&(o+=(\"\"!==o?\" \":\"\")+i[r]),\"\"===o?\"pagh\":o}var i=\"pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut\".split(\"_\"),a=e.defineLocale(\"tlh\",{months:\"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’\".split(\"_\"),monthsShort:\"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’\".split(\"_\"),monthsParseExact:!0,weekdays:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),weekdaysShort:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),weekdaysMin:\"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[DaHjaj] LT\",nextDay:\"[wa’leS] LT\",nextWeek:\"LLL\",lastDay:\"[wa’Hu’] LT\",lastWeek:\"LLL\",sameElse:\"L\"},relativeTime:{future:t,past:n,s:\"puS lup\",ss:r,m:\"wa’ tup\",mm:r,h:\"wa’ rep\",hh:r,d:\"wa’ jaj\",dd:r,M:\"wa’ jar\",MM:r,y:\"wa’ DIS\",yy:r},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return a})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t={1:\"'inci\",5:\"'inci\",8:\"'inci\",70:\"'inci\",80:\"'inci\",2:\"'nci\",7:\"'nci\",20:\"'nci\",50:\"'nci\",3:\"'üncü\",4:\"'üncü\",100:\"'üncü\",6:\"'ncı\",9:\"'uncu\",10:\"'uncu\",30:\"'uncu\",60:\"'ıncı\",90:\"'ıncı\"},n=e.defineLocale(\"tr\",{months:\"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık\".split(\"_\"),monthsShort:\"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara\".split(\"_\"),weekdays:\"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi\".split(\"_\"),weekdaysShort:\"Paz_Pts_Sal_Çar_Per_Cum_Cts\".split(\"_\"),weekdaysMin:\"Pz_Pt_Sa_Ça_Pe_Cu_Ct\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[bugün saat] LT\",nextDay:\"[yarın saat] LT\",nextWeek:\"[gelecek] dddd [saat] LT\",lastDay:\"[dün] LT\",lastWeek:\"[geçen] dddd [saat] LT\",sameElse:\"L\"},relativeTime:{future:\"%s sonra\",past:\"%s önce\",s:\"birkaç saniye\",ss:\"%d saniye\",m:\"bir dakika\",mm:\"%d dakika\",h:\"bir saat\",hh:\"%d saat\",d:\"bir gün\",dd:\"%d gün\",M:\"bir ay\",MM:\"%d ay\",y:\"bir yıl\",yy:\"%d yıl\"},ordinal:function(e,n){switch(n){case\"d\":case\"D\":case\"Do\":case\"DD\":return e;default:if(0===e)return e+\"'ıncı\";var r=e%10,o=e%100-r,i=e>=100?100:null;return e+(t[r]||t[o]||t[i])}},week:{dow:1,doy:7}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t,n,r){var o={s:[\"viensas secunds\",\"'iensas secunds\"],ss:[e+\" secunds\",\"\"+e+\" secunds\"],m:[\"'n míut\",\"'iens míut\"],mm:[e+\" míuts\",\"\"+e+\" míuts\"],h:[\"'n þora\",\"'iensa þora\"],hh:[e+\" þoras\",\"\"+e+\" þoras\"],d:[\"'n ziua\",\"'iensa ziua\"],dd:[e+\" ziuas\",\"\"+e+\" ziuas\"],M:[\"'n mes\",\"'iens mes\"],MM:[e+\" mesen\",\"\"+e+\" mesen\"],y:[\"'n ar\",\"'iens ar\"],yy:[e+\" ars\",\"\"+e+\" ars\"]};return r?o[n][0]:t?o[n][0]:o[n][1]}var n=e.defineLocale(\"tzl\",{months:\"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar\".split(\"_\"),monthsShort:\"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec\".split(\"_\"),weekdays:\"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi\".split(\"_\"),weekdaysShort:\"Súl_Lún_Mai_Már_Xhú_Vié_Sát\".split(\"_\"),weekdaysMin:\"Sú_Lú_Ma_Má_Xh_Vi_Sá\".split(\"_\"),longDateFormat:{LT:\"HH.mm\",LTS:\"HH.mm.ss\",L:\"DD.MM.YYYY\",LL:\"D. MMMM [dallas] YYYY\",LLL:\"D. MMMM [dallas] YYYY HH.mm\",LLLL:\"dddd, [li] D. MMMM [dallas] YYYY HH.mm\"},meridiemParse:/d\\'o|d\\'a/i,isPM:function(e){return\"d'o\"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?\"d'o\":\"D'O\":n?\"d'a\":\"D'A\"},calendar:{sameDay:\"[oxhi à] LT\",nextDay:\"[demà à] LT\",nextWeek:\"dddd [à] LT\",lastDay:\"[ieiri à] LT\",lastWeek:\"[sür el] dddd [lasteu à] LT\",sameElse:\"L\"},relativeTime:{future:\"osprei %s\",past:\"ja%s\",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\\d{1,2}\\./,ordinal:\"%d.\",week:{dow:1,doy:4}});return n})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tzm-latn\",{months:\"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir\".split(\"_\"),monthsShort:\"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir\".split(\"_\"),weekdays:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),weekdaysShort:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),weekdaysMin:\"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[asdkh g] LT\",nextDay:\"[aska g] LT\",nextWeek:\"dddd [g] LT\",lastDay:\"[assant g] LT\",lastWeek:\"dddd [g] LT\",sameElse:\"L\"},relativeTime:{future:\"dadkh s yan %s\",past:\"yan %s\",s:\"imik\",ss:\"%d imik\",m:\"minuḍ\",mm:\"%d minuḍ\",h:\"saɛa\",hh:\"%d tassaɛin\",d:\"ass\",dd:\"%d ossan\",M:\"ayowr\",MM:\"%d iyyirn\",y:\"asgas\",yy:\"%d isgasn\"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"tzm\",{months:\"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ\".split(\"_\"),monthsShort:\"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ\".split(\"_\"),weekdays:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),weekdaysShort:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),weekdaysMin:\"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[ⴰⵙⴷⵅ ⴴ] LT\",nextDay:\"[ⴰⵙⴽⴰ ⴴ] LT\",nextWeek:\"dddd [ⴴ] LT\",lastDay:\"[ⴰⵚⴰⵏⵜ ⴴ] LT\",lastWeek:\"dddd [ⴴ] LT\",sameElse:\"L\"},relativeTime:{future:\"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s\",past:\"ⵢⴰⵏ %s\",s:\"ⵉⵎⵉⴽ\",ss:\"%d ⵉⵎⵉⴽ\",m:\"ⵎⵉⵏⵓⴺ\",mm:\"%d ⵎⵉⵏⵓⴺ\",h:\"ⵙⴰⵄⴰ\",hh:\"%d ⵜⴰⵙⵙⴰⵄⵉⵏ\",d:\"ⴰⵙⵙ\",dd:\"%d oⵙⵙⴰⵏ\",M:\"ⴰⵢoⵓⵔ\",MM:\"%d ⵉⵢⵢⵉⵔⵏ\",y:\"ⴰⵙⴳⴰⵙ\",yy:\"%d ⵉⵙⴳⴰⵙⵏ\"},week:{dow:6,doy:12}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"ug-cn\",{months:\"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر\".split(\"_\"),monthsShort:\"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر\".split(\"_\"),weekdays:\"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە\".split(\"_\"),weekdaysShort:\"يە_دۈ_سە_چا_پە_جۈ_شە\".split(\"_\"),weekdaysMin:\"يە_دۈ_سە_چا_پە_جۈ_شە\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY-MM-DD\",LL:\"YYYY-يىلىM-ئاينىڭD-كۈنى\",LLL:\"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm\",LLLL:\"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm\"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){return 12===e&&(e=0),\"يېرىم كېچە\"===t||\"سەھەر\"===t||\"چۈشتىن بۇرۇن\"===t?e:\"چۈشتىن كېيىن\"===t||\"كەچ\"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"يېرىم كېچە\":r<900?\"سەھەر\":r<1130?\"چۈشتىن بۇرۇن\":r<1230?\"چۈش\":r<1800?\"چۈشتىن كېيىن\":\"كەچ\"},calendar:{sameDay:\"[بۈگۈن سائەت] LT\",nextDay:\"[ئەتە سائەت] LT\",nextWeek:\"[كېلەركى] dddd [سائەت] LT\",lastDay:\"[تۆنۈگۈن] LT\",lastWeek:\"[ئالدىنقى] dddd [سائەت] LT\",sameElse:\"L\"},relativeTime:{future:\"%s كېيىن\",past:\"%s بۇرۇن\",s:\"نەچچە سېكونت\",ss:\"%d سېكونت\",m:\"بىر مىنۇت\",mm:\"%d مىنۇت\",h:\"بىر سائەت\",hh:\"%d سائەت\",d:\"بىر كۈن\",dd:\"%d كۈن\",M:\"بىر ئاي\",MM:\"%d ئاي\",y:\"بىر يىل\",yy:\"%d يىل\"},dayOfMonthOrdinalParse:/\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"-كۈنى\";case\"w\":case\"W\":return e+\"-ھەپتە\";default:return e}},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";function t(e,t){var n=e.split(\"_\");return t%10===1&&t%100!==11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}function n(e,n,r){var o={ss:n?\"секунда_секунди_секунд\":\"секунду_секунди_секунд\",mm:n?\"хвилина_хвилини_хвилин\":\"хвилину_хвилини_хвилин\",hh:n?\"година_години_годин\":\"годину_години_годин\",dd:\"день_дні_днів\",MM:\"місяць_місяці_місяців\",yy:\"рік_роки_років\"};return\"m\"===r?n?\"хвилина\":\"хвилину\":\"h\"===r?n?\"година\":\"годину\":e+\" \"+t(o[r],+e)}function r(e,t){var n={nominative:\"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота\".split(\"_\"),accusative:\"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу\".split(\"_\"),genitive:\"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи\".split(\"_\")};if(!e)return n.nominative;var r=/(\\[[ВвУу]\\]) ?dddd/.test(t)?\"accusative\":/\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(t)?\"genitive\":\"nominative\";return n[r][e.day()]}function o(e){return function(){return e+\"о\"+(11===this.hours()?\"б\":\"\")+\"] LT\"}}var i=e.defineLocale(\"uk\",{months:{format:\"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня\".split(\"_\"),standalone:\"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень\".split(\"_\")},monthsShort:\"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд\".split(\"_\"),weekdays:r,weekdaysShort:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),weekdaysMin:\"нд_пн_вт_ср_чт_пт_сб\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD.MM.YYYY\",LL:\"D MMMM YYYY р.\",LLL:\"D MMMM YYYY р., HH:mm\",LLLL:\"dddd, D MMMM YYYY р., HH:mm\"},calendar:{sameDay:o(\"[Сьогодні \"),nextDay:o(\"[Завтра \"),lastDay:o(\"[Вчора \"),nextWeek:o(\"[У] dddd [\"),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return o(\"[Минулої] dddd [\").call(this);case 1:case 2:case 4:return o(\"[Минулого] dddd [\").call(this)}},sameElse:\"L\"},relativeTime:{future:\"за %s\",past:\"%s тому\",s:\"декілька секунд\",ss:n,m:n,mm:n,h:\"годину\",hh:n,d:\"день\",dd:n,M:\"місяць\",MM:n,y:\"рік\",yy:n},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?\"ночі\":e<12?\"ранку\":e<17?\"дня\":\"вечора\"},dayOfMonthOrdinalParse:/\\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case\"M\":case\"d\":case\"DDD\":case\"w\":case\"W\":return e+\"-й\";case\"D\":return e+\"-го\";default:return e}},week:{dow:1,doy:7}});return i})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=[\"جنوری\",\"فروری\",\"مارچ\",\"اپریل\",\"مئی\",\"جون\",\"جولائی\",\"اگست\",\"ستمبر\",\"اکتوبر\",\"نومبر\",\"دسمبر\"],n=[\"اتوار\",\"پیر\",\"منگل\",\"بدھ\",\"جمعرات\",\"جمعہ\",\"ہفتہ\"],r=e.defineLocale(\"ur\",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd، D MMMM YYYY HH:mm\"},meridiemParse:/صبح|شام/,isPM:function(e){return\"شام\"===e},meridiem:function(e,t,n){return e<12?\"صبح\":\"شام\"},calendar:{sameDay:\"[آج بوقت] LT\",nextDay:\"[کل بوقت] LT\",nextWeek:\"dddd [بوقت] LT\",lastDay:\"[گذشتہ روز بوقت] LT\",lastWeek:\"[گذشتہ] dddd [بوقت] LT\",sameElse:\"L\"},relativeTime:{future:\"%s بعد\",past:\"%s قبل\",s:\"چند سیکنڈ\",ss:\"%d سیکنڈ\",m:\"ایک منٹ\",mm:\"%d منٹ\",h:\"ایک گھنٹہ\",hh:\"%d گھنٹے\",d:\"ایک دن\",dd:\"%d دن\",M:\"ایک ماہ\",MM:\"%d ماہ\",y:\"ایک سال\",yy:\"%d سال\"},preparse:function(e){return e.replace(/،/g,\",\")},postformat:function(e){return e.replace(/,/g,\"،\")},week:{dow:1,doy:4}});return r})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"uz-latn\",{months:\"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr\".split(\"_\"),monthsShort:\"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek\".split(\"_\"),weekdays:\"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba\".split(\"_\"),weekdaysShort:\"Yak_Dush_Sesh_Chor_Pay_Jum_Shan\".split(\"_\"),weekdaysMin:\"Ya_Du_Se_Cho_Pa_Ju_Sha\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"D MMMM YYYY, dddd HH:mm\"},calendar:{sameDay:\"[Bugun soat] LT [da]\",nextDay:\"[Ertaga] LT [da]\",nextWeek:\"dddd [kuni soat] LT [da]\",lastDay:\"[Kecha soat] LT [da]\",lastWeek:\"[O'tgan] dddd [kuni soat] LT [da]\",sameElse:\"L\"},relativeTime:{future:\"Yaqin %s ichida\",past:\"Bir necha %s oldin\",s:\"soniya\",ss:\"%d soniya\",m:\"bir daqiqa\",mm:\"%d daqiqa\",h:\"bir soat\",hh:\"%d soat\",d:\"bir kun\",dd:\"%d kun\",M:\"bir oy\",MM:\"%d oy\",y:\"bir yil\",yy:\"%d yil\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"uz\",{months:\"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр\".split(\"_\"),monthsShort:\"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек\".split(\"_\"),weekdays:\"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба\".split(\"_\"),weekdaysShort:\"Якш_Душ_Сеш_Чор_Пай_Жум_Шан\".split(\"_\"),weekdaysMin:\"Як_Ду_Се_Чо_Па_Жу_Ша\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"D MMMM YYYY, dddd HH:mm\"},calendar:{sameDay:\"[Бугун соат] LT [да]\",nextDay:\"[Эртага] LT [да]\",nextWeek:\"dddd [куни соат] LT [да]\",lastDay:\"[Кеча соат] LT [да]\",lastWeek:\"[Утган] dddd [куни соат] LT [да]\",sameElse:\"L\"},relativeTime:{future:\"Якин %s ичида\",past:\"Бир неча %s олдин\",s:\"фурсат\",ss:\"%d фурсат\",m:\"бир дакика\",mm:\"%d дакика\",h:\"бир соат\",hh:\"%d соат\",d:\"бир кун\",dd:\"%d кун\",M:\"бир ой\",MM:\"%d ой\",y:\"бир йил\",yy:\"%d йил\"},week:{dow:1,doy:7}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"vi\",{months:\"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12\".split(\"_\"),monthsShort:\"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12\".split(\"_\"),monthsParseExact:!0,weekdays:\"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy\".split(\"_\"),weekdaysShort:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysMin:\"CN_T2_T3_T4_T5_T6_T7\".split(\"_\"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?\"sa\":\"SA\":n?\"ch\":\"CH\"},longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"DD/MM/YYYY\",LL:\"D MMMM [năm] YYYY\",LLL:\"D MMMM [năm] YYYY HH:mm\",LLLL:\"dddd, D MMMM [năm] YYYY HH:mm\",l:\"DD/M/YYYY\",ll:\"D MMM YYYY\",lll:\"D MMM YYYY HH:mm\",llll:\"ddd, D MMM YYYY HH:mm\"},calendar:{sameDay:\"[Hôm nay lúc] LT\",nextDay:\"[Ngày mai lúc] LT\",nextWeek:\"dddd [tuần tới lúc] LT\",lastDay:\"[Hôm qua lúc] LT\",lastWeek:\"dddd [tuần rồi lúc] LT\",sameElse:\"L\"},relativeTime:{future:\"%s tới\",past:\"%s trước\",s:\"vài giây\",ss:\"%d giây\",m:\"một phút\",mm:\"%d phút\",h:\"một giờ\",hh:\"%d giờ\",d:\"một ngày\",dd:\"%d ngày\",M:\"một tháng\",MM:\"%d tháng\",y:\"một năm\",yy:\"%d năm\"},dayOfMonthOrdinalParse:/\\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"x-pseudo\",{months:\"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér\".split(\"_\"),monthsShort:\"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc\".split(\"_\"),monthsParseExact:!0,weekdays:\"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý\".split(\"_\"),weekdaysShort:\"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát\".split(\"_\"),weekdaysMin:\"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá\".split(\"_\"),weekdaysParseExact:!0,longDateFormat:{LT:\"HH:mm\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY HH:mm\",LLLL:\"dddd, D MMMM YYYY HH:mm\"},calendar:{sameDay:\"[T~ódá~ý át] LT\",nextDay:\"[T~ómó~rró~w át] LT\",nextWeek:\"dddd [át] LT\",lastDay:\"[Ý~ést~érdá~ý át] LT\",lastWeek:\"[L~ást] dddd [át] LT\",sameElse:\"L\"},relativeTime:{future:\"í~ñ %s\",past:\"%s á~gó\",s:\"á ~féw ~sécó~ñds\",ss:\"%d s~écóñ~ds\",m:\"á ~míñ~úté\",mm:\"%d m~íñú~tés\",h:\"á~ñ hó~úr\",hh:\"%d h~óúrs\",d:\"á ~dáý\",dd:\"%d d~áýs\",M:\"á ~móñ~th\",MM:\"%d m~óñt~hs\",y:\"á ~ýéár\",yy:\"%d ý~éárs\"},dayOfMonthOrdinalParse:/\\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===~~(e%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return e+n},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"yo\",{months:\"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀\".split(\"_\"),monthsShort:\"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀\".split(\"_\"),weekdays:\"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta\".split(\"_\"),weekdaysShort:\"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá\".split(\"_\"),weekdaysMin:\"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb\".split(\"_\"),longDateFormat:{LT:\"h:mm A\",LTS:\"h:mm:ss A\",L:\"DD/MM/YYYY\",LL:\"D MMMM YYYY\",LLL:\"D MMMM YYYY h:mm A\",LLLL:\"dddd, D MMMM YYYY h:mm A\"},calendar:{sameDay:\"[Ònì ni] LT\",nextDay:\"[Ọ̀la ni] LT\",nextWeek:\"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",lastDay:\"[Àna ni] LT\",lastWeek:\"dddd [Ọsẹ̀ tólọ́] [ni] LT\",sameElse:\"L\"},relativeTime:{future:\"ní %s\",past:\"%s kọjá\",s:\"ìsẹjú aayá die\",ss:\"aayá %d\",m:\"ìsẹjú kan\",mm:\"ìsẹjú %d\",h:\"wákati kan\",hh:\"wákati %d\",d:\"ọjọ́ kan\",dd:\"ọjọ́ %d\",M:\"osù kan\",MM:\"osù %d\",y:\"ọdún kan\",yy:\"ọdún %d\"},dayOfMonthOrdinalParse:/ọjọ́\\s\\d{1,2}/,ordinal:\"ọjọ́ %d\",week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"zh-cn\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),\"凌晨\"===t||\"早上\"===t||\"上午\"===t?e:\"下午\"===t||\"晚上\"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"凌晨\":r<900?\"早上\":r<1130?\"上午\":r<1230?\"中午\":r<1800?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天]LT\",nextDay:\"[明天]LT\",nextWeek:\"[下]ddddLT\",lastDay:\"[昨天]LT\",lastWeek:\"[上]ddddLT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";case\"M\":return e+\"月\";case\"w\":case\"W\":return e+\"周\";default:return e}},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",ss:\"%d 秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},week:{dow:1,doy:4}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"zh-hk\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"週日_週一_週二_週三_週四_週五_週六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),\"凌晨\"===t||\"早上\"===t||\"上午\"===t?e:\"中午\"===t?e>=11?e:e+12:\"下午\"===t||\"晚上\"===t?e+12:void 0},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"凌晨\":r<900?\"早上\":r<1130?\"上午\":r<1230?\"中午\":r<1800?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天]LT\",nextDay:\"[明天]LT\",nextWeek:\"[下]ddddLT\",lastDay:\"[昨天]LT\",lastWeek:\"[上]ddddLT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";case\"M\":return e+\"月\";case\"w\":case\"W\":return e+\"週\";default:return e}},relativeTime:{future:\"%s內\",past:\"%s前\",s:\"幾秒\",ss:\"%d 秒\",m:\"1 分鐘\",mm:\"%d 分鐘\",h:\"1 小時\",hh:\"%d 小時\",d:\"1 天\",dd:\"%d 天\",M:\"1 個月\",MM:\"%d 個月\",y:\"1 年\",yy:\"%d 年\"}});return t})},function(e,t,n){!function(e,t){t(n(3))}(this,function(e){\"use strict\";var t=e.defineLocale(\"zh-tw\",{months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"週日_週一_週二_週三_週四_週五_週六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),longDateFormat:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日 HH:mm\",LLLL:\"YYYY年M月D日dddd HH:mm\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),\"凌晨\"===t||\"早上\"===t||\"上午\"===t?e:\"中午\"===t?e>=11?e:e+12:\"下午\"===t||\"晚上\"===t?e+12:void 0},meridiem:function(e,t,n){var r=100*e+t;return r<600?\"凌晨\":r<900?\"早上\":r<1130?\"上午\":r<1230?\"中午\":r<1800?\"下午\":\"晚上\"},calendar:{sameDay:\"[今天] LT\",nextDay:\"[明天] LT\",nextWeek:\"[下]dddd LT\",lastDay:\"[昨天] LT\",lastWeek:\"[上]dddd LT\",sameElse:\"L\"},dayOfMonthOrdinalParse:/\\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case\"d\":case\"D\":case\"DDD\":return e+\"日\";case\"M\":return e+\"月\";case\"w\":case\"W\":return e+\"週\";default:return e}},relativeTime:{future:\"%s內\",past:\"%s前\",s:\"幾秒\",ss:\"%d 秒\",m:\"1 分鐘\",mm:\"%d 分鐘\",h:\"1 小時\",hh:\"%d 小時\",d:\"1 天\",dd:\"%d 天\",M:\"1 個月\",MM:\"%d 個月\",y:\"1 年\",yy:\"%d 年\"}});return t})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){var i=e[t];return a.default.isValidElement(i)?new Error(\"Invalid \"+r+\" `\"+o+\"` of type ReactElement \"+(\"supplied to `\"+n+\"`,expected an element type (a string \")+\", component class, or function component).\"):(0,s.isValidElementType)(i)?null:new Error(\"Invalid \"+r+\" `\"+o+\"` of value `\"+i+\"` \"+(\"supplied to `\"+n+\"`, expected an element type (a string \")+\", component class, or function component).\")}Object.defineProperty(t,\"__esModule\",{value:!0});var i=n(1),a=r(i),s=n(613),u=n(560),l=r(u);t.default=(0,l.default)(o),e.exports=t.default},function(e,t){\"use strict\";function n(e){function t(t,n,r,o,i,a){var s=o||\"<<anonymous>>\",u=a||r;if(null==n[r])return t?new Error(\"Required \"+i+\" `\"+u+\"` was not specified \"+(\"in `\"+s+\"`.\")):null;for(var l=arguments.length,c=Array(l>6?l-6:0),d=6;d<l;d++)c[d-6]=arguments[d];return e.apply(void 0,[n,r,s,i,u].concat(c))}var n=t.bind(null,!1);return n.isRequired=t.bind(null,!0),n}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t){\"use strict\";var n=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";e.exports=n},function(e,t,n){var r=n(302),o=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],i=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];t.getBlocksCount=function(e,t){switch(t){case r.L:return o[4*(e-1)+0];case r.M:return o[4*(e-1)+1];case r.Q:return o[4*(e-1)+2];case r.H:return o[4*(e-1)+3];default:return}},t.getTotalCodewordsCount=function(e,t){switch(t){case r.L:return i[4*(e-1)+0];case r.M:return i[4*(e-1)+1];case r.Q:return i[4*(e-1)+2];case r.H:return i[4*(e-1)+3];default:return}}},function(e,t){var n=\"[0-9]+\",r=\"[A-Z $%*+\\\\-./:]+\",o=\"(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+\";o=o.replace(/u/g,\"\\\\u\");var i=\"(?:(?![A-Z0-9 $%*+\\\\-./:]|\"+o+\")(?:.|[\\r\\n]))+\";t.KANJI=new RegExp(o,\"g\"),t.BYTE_KANJI=new RegExp(\"[^A-Z0-9 $%*+\\\\-./:]+\",\"g\"),t.BYTE=new RegExp(i,\"g\"),t.NUMERIC=new RegExp(n,\"g\"),t.ALPHANUMERIC=new RegExp(r,\"g\");var a=new RegExp(\"^\"+o+\"$\"),s=new RegExp(\"^\"+n+\"$\"),u=new RegExp(\"^[A-Z0-9 $%*+\\\\-./:]+$\");\nt.testKanji=function(e){return a.test(e)},t.testNumeric=function(e){return s.test(e)},t.testAlphanumeric=function(e){return u.test(e)}},function(e,t){t.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}},function(e,t){function n(e){if(\"string\"!=typeof e)throw new Error(\"Color should be defined as hex string\");var t=e.slice().replace(\"#\",\"\").split(\"\");if(t.length<3||5===t.length||t.length>8)throw new Error(\"Invalid hex color: \"+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push(\"F\",\"F\");var n=parseInt(t.join(\"\"),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:255&n,hex:\"#\"+t.slice(0,6).join(\"\")}}t.getOptions=function(e){e||(e={}),e.color||(e.color={});var t=\"undefined\"==typeof e.margin||null===e.margin||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,o=e.scale||4;return{width:r,scale:r?4:o,margin:t,color:{dark:n(e.color.dark||\"#000000ff\"),light:n(e.color.light||\"#ffffffff\")},type:e.type,rendererOpts:e.rendererOpts||{}}},t.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},t.getImageWidth=function(e,n){var r=t.getScale(e,n);return Math.floor((e+2*n.margin)*r)},t.qrToImageData=function(e,n,r){for(var o=n.modules.size,i=n.modules.data,a=t.getScale(o,r),s=Math.floor((o+2*r.margin)*a),u=r.margin*a,l=[r.color.light,r.color.dark],c=0;c<s;c++)for(var d=0;d<s;d++){var f=4*(c*s+d),p=r.color.light;if(c>=u&&d>=u&&c<s-u&&d<s-u){var h=Math.floor((c-u)/a),m=Math.floor((d-u)/a);p=l[i[h*o+m]?1:0]}e[f++]=p.r,e[f++]=p.g,e[f++]=p.b,e[f]=p.a}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=[\"minLines\",\"maxLines\",\"readOnly\",\"highlightActiveLine\",\"tabSize\",\"enableBasicAutocompletion\",\"enableLiveAutocompletion\",\"enableSnippets\"],r=[\"onChange\",\"onFocus\",\"onInput\",\"onBlur\",\"onCopy\",\"onPaste\",\"onSelectionChange\",\"onCursorChange\",\"onScroll\",\"handleOptions\",\"updateRef\"],o=function(e,t){var n=null;return function(){var r=this,o=arguments;clearTimeout(n),n=setTimeout(function(){e.apply(r,o)},t)}};t.editorOptions=n,t.editorEvents=r,t.debounce=o},function(e,t,n){(function(e){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(362),c=r(l),d=n(1),f=r(d),p=n(5),h=r(p),m=n(431),g=r(m),_=n(1304),b=r(_),y=n(566);n(901);var v=c.default.acequire(\"ace/range\"),M=v.Range,A=c.default.acequire(\"ace/split\"),w=A.Split,C=function(t){function n(e){o(this,n);var t=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return y.editorEvents.forEach(function(e){t[e]=t[e].bind(t)}),t.debounce=y.debounce,t}return a(n,t),u(n,[{key:\"componentDidMount\",value:function(){var t=this,n=this.props,r=n.className,o=n.onBeforeLoad,i=n.mode,a=n.focus,s=n.theme,u=n.fontSize,d=n.value,f=n.defaultValue,p=n.cursorStart,h=n.showGutter,m=n.wrapEnabled,g=n.showPrintMargin,_=n.scrollMargin,v=void 0===_?[0,0,0,0]:_,M=n.keyboardHandler,A=n.onLoad,C=n.commands,E=n.annotations,L=n.markers,T=n.splits;this.editor=c.default.edit(this.refEditor),o&&o(c.default);var O=Object.keys(this.props.editorProps),S=new w(this.editor.container,\"ace/theme/\"+s,T);this.editor.env.split=S,this.splitEditor=S.getEditor(0),this.split=S,this.editor.setShowPrintMargin(!1),this.editor.renderer.setShowGutter(!1);var N=this.splitEditor.$options;this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),S.forEach(function(n,r){for(var o=0;o<O.length;o++)n[O[o]]=t.props.editorProps[O[o]];var a=(0,b.default)(f,r),c=(0,b.default)(d,r,\"\");n.session.setUndoManager(new l.UndoManager),n.setTheme(\"ace/theme/\"+s),n.renderer.setScrollMargin(v[0],v[1],v[2],v[3]),n.getSession().setMode(\"ace/mode/\"+i),n.setFontSize(u),n.renderer.setShowGutter(h),n.getSession().setUseWrapMode(m),n.setShowPrintMargin(g),n.on(\"focus\",t.onFocus),n.on(\"blur\",t.onBlur),n.on(\"input\",t.onInput),n.on(\"copy\",t.onCopy),n.on(\"paste\",t.onPaste),n.on(\"change\",t.onChange),n.getSession().selection.on(\"changeSelection\",t.onSelectionChange),n.getSession().selection.on(\"changeCursor\",t.onCursorChange),n.session.on(\"changeScrollTop\",t.onScroll),n.setValue(void 0===a?c:a,p);var _=(0,b.default)(E,r,[]),A=(0,b.default)(L,r,[]);n.getSession().setAnnotations(_),A&&A.length>0&&t.handleMarkers(A,n);for(var w=0;w<y.editorOptions.length;w++){var T=y.editorOptions[w];N.hasOwnProperty(T)?n.setOption(T,t.props[T]):t.props[T]&&e.warn(\"ReaceAce: editor option \"+T+\" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?\")}t.handleOptions(t.props,n),Array.isArray(C)&&C.forEach(function(e){\"string\"==typeof e.exec?n.commands.bindKey(e.bindKey,e.exec):n.commands.addCommand(e)}),M&&n.setKeyboardHandler(\"ace/keyboard/\"+M)}),r&&(this.refEditor.className+=\" \"+r),a&&this.splitEditor.focus();var k=this.editor.env.split;k.setOrientation(\"below\"===this.props.orientation?k.BELOW:k.BESIDE),k.resize(!0),A&&A(k)}},{key:\"componentDidUpdate\",value:function(e){var t=this,n=e,r=this.props,o=this.editor.env.split;if(r.splits!==n.splits&&o.setSplits(r.splits),r.orientation!==n.orientation&&o.setOrientation(\"below\"===r.orientation?o.BELOW:o.BESIDE),o.forEach(function(e,o){r.mode!==n.mode&&e.getSession().setMode(\"ace/mode/\"+r.mode),r.keyboardHandler!==n.keyboardHandler&&(r.keyboardHandler?e.setKeyboardHandler(\"ace/keyboard/\"+r.keyboardHandler):e.setKeyboardHandler(null)),r.fontSize!==n.fontSize&&e.setFontSize(r.fontSize),r.wrapEnabled!==n.wrapEnabled&&e.getSession().setUseWrapMode(r.wrapEnabled),r.showPrintMargin!==n.showPrintMargin&&e.setShowPrintMargin(r.showPrintMargin),r.showGutter!==n.showGutter&&e.renderer.setShowGutter(r.showGutter);for(var i=0;i<y.editorOptions.length;i++){var a=y.editorOptions[i];r[a]!==n[a]&&e.setOption(a,r[a])}(0,g.default)(r.setOptions,n.setOptions)||t.handleOptions(r,e);var s=(0,b.default)(r.value,o,\"\");if(e.getValue()!==s){t.silent=!0;var u=e.session.selection.toJSON();e.setValue(s,r.cursorStart),e.session.selection.fromJSON(u),t.silent=!1}var l=(0,b.default)(r.annotations,o,[]),c=(0,b.default)(n.annotations,o,[]);(0,g.default)(l,c)||e.getSession().setAnnotations(l);var d=(0,b.default)(r.markers,o,[]),f=(0,b.default)(n.markers,o,[]);!(0,g.default)(d,f)&&Array.isArray(d)&&t.handleMarkers(d,e)}),r.className!==n.className){var i=this.refEditor.className,a=i.trim().split(\" \"),s=n.className.trim().split(\" \");s.forEach(function(e){var t=a.indexOf(e);a.splice(t,1)}),this.refEditor.className=\" \"+r.className+\" \"+a.join(\" \")}r.theme!==n.theme&&o.setTheme(\"ace/theme/\"+r.theme),r.focus&&!n.focus&&this.splitEditor.focus(),r.height===this.props.height&&r.width===this.props.width||this.editor.resize()}},{key:\"componentWillUnmount\",value:function(){this.editor.destroy(),this.editor=null}},{key:\"onChange\",value:function(e){if(this.props.onChange&&!this.silent){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getValue())}),this.props.onChange(t,e)}}},{key:\"onSelectionChange\",value:function(e){if(this.props.onSelectionChange){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getSelection())}),this.props.onSelectionChange(t,e)}}},{key:\"onCursorChange\",value:function(e){if(this.props.onCursorChange){var t=[];this.editor.env.split.forEach(function(e){t.push(e.getSelection())}),this.props.onCursorChange(t,e)}}},{key:\"onFocus\",value:function(e){this.props.onFocus&&this.props.onFocus(e)}},{key:\"onInput\",value:function(e){this.props.onInput&&this.props.onInput(e)}},{key:\"onBlur\",value:function(e){this.props.onBlur&&this.props.onBlur(e)}},{key:\"onCopy\",value:function(e){this.props.onCopy&&this.props.onCopy(e)}},{key:\"onPaste\",value:function(e){this.props.onPaste&&this.props.onPaste(e)}},{key:\"onScroll\",value:function(){this.props.onScroll&&this.props.onScroll(this.editor)}},{key:\"handleOptions\",value:function(e,t){for(var n=Object.keys(e.setOptions),r=0;r<n.length;r++)t.setOption(n[r],e.setOptions[n[r]])}},{key:\"handleMarkers\",value:function(e,t){var n=t.getSession().getMarkers(!0);for(var r in n)n.hasOwnProperty(r)&&t.getSession().removeMarker(n[r].id);n=t.getSession().getMarkers(!1);for(var o in n)n.hasOwnProperty(o)&&t.getSession().removeMarker(n[o].id);e.forEach(function(e){var n=e.startRow,r=e.startCol,o=e.endRow,i=e.endCol,a=e.className,s=e.type,u=e.inFront,l=void 0!==u&&u,c=new M(n,r,o,i);t.getSession().addMarker(c,a,s,l)})}},{key:\"updateRef\",value:function(e){this.refEditor=e}},{key:\"render\",value:function(){var e=this.props,t=e.name,n=e.width,r=e.height,o=e.style,i=s({width:n,height:r},o);return f.default.createElement(\"div\",{ref:this.updateRef,id:t,style:i})}}]),n}(d.Component);t.default=C,C.propTypes={mode:h.default.string,splits:h.default.number,orientation:h.default.string,focus:h.default.bool,theme:h.default.string,name:h.default.string,className:h.default.string,height:h.default.string,width:h.default.string,fontSize:h.default.oneOfType([h.default.number,h.default.string]),showGutter:h.default.bool,onChange:h.default.func,onCopy:h.default.func,onPaste:h.default.func,onFocus:h.default.func,onInput:h.default.func,onBlur:h.default.func,onScroll:h.default.func,value:h.default.arrayOf(h.default.string),defaultValue:h.default.arrayOf(h.default.string),debounceChangePeriod:h.default.number,onLoad:h.default.func,onSelectionChange:h.default.func,onCursorChange:h.default.func,onBeforeLoad:h.default.func,minLines:h.default.number,maxLines:h.default.number,readOnly:h.default.bool,highlightActiveLine:h.default.bool,tabSize:h.default.number,showPrintMargin:h.default.bool,cursorStart:h.default.number,editorProps:h.default.object,setOptions:h.default.object,style:h.default.object,scrollMargin:h.default.array,annotations:h.default.array,markers:h.default.array,keyboardHandler:h.default.string,wrapEnabled:h.default.bool,enableBasicAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),enableLiveAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),commands:h.default.array},C.defaultProps={name:\"brace-editor\",focus:!1,orientation:\"beside\",splits:2,mode:\"\",theme:\"\",height:\"500px\",width:\"500px\",value:[],fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1}}).call(t,n(38))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A={active:y.default.bool,href:y.default.string,title:y.default.node,target:y.default.string},w={active:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.active,n=e.href,r=e.title,o=e.target,a=e.className,u=(0,s.default)(e,[\"active\",\"href\",\"title\",\"target\",\"className\"]),l={href:n,title:r,target:o};return _.default.createElement(\"li\",{className:(0,m.default)(a,{active:t})},t?_.default.createElement(\"span\",u):_.default.createElement(M.default,(0,i.default)({},u,l)))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=C,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(220),M=r(v),A=n(166),w=r(A),C=n(13),E={vertical:y.default.bool,justified:y.default.bool,block:(0,M.default)(y.default.bool,function(e){var t=e.block,n=e.vertical;return t&&!n?new Error(\"`block` requires `vertical` to be set to have any effect\"):null})},L={block:!1,justified:!1,vertical:!1},T=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.block,r=t.justified,o=t.vertical,a=t.className,u=(0,s.default)(t,[\"block\",\"justified\",\"vertical\",\"className\"]),l=(0,C.splitBsProps)(u),c=l[0],d=l[1],f=(0,i.default)({},(0,C.getClassSet)(c),(e={},e[(0,C.prefix)(c)]=!o,e[(0,C.prefix)(c,\"vertical\")]=o,e[(0,C.prefix)(c,\"justified\")]=r,e[(0,C.prefix)(w.default.defaultProps,\"block\")]=n,e));return _.default.createElement(\"div\",(0,i.default)({},d,{className:(0,m.default)(a,f)}))},t}(_.default.Component);T.propTypes=E,T.defaultProps=L,t.default=(0,C.bsClass)(\"btn-group\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(29),M=r(v),A=n(1472),w=r(A),C={direction:y.default.oneOf([\"prev\",\"next\"]),onAnimateOutEnd:y.default.func,active:y.default.bool,animateIn:y.default.bool,animateOut:y.default.bool,index:y.default.number},E={active:!1,animateIn:!1,animateOut:!1},L=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleAnimateOutEnd=o.handleAnimateOutEnd.bind(o),o.state={direction:null},o.isUnmounted=!1,o}return(0,p.default)(t,e),t.prototype.componentWillReceiveProps=function(e){this.props.active!==e.active&&this.setState({direction:null})},t.prototype.componentDidUpdate=function(e){var t=this,n=this.props.active,r=e.active;!n&&r&&w.default.addEndEventListener(M.default.findDOMNode(this),this.handleAnimateOutEnd),n!==r&&setTimeout(function(){return t.startAnimation()},20)},t.prototype.componentWillUnmount=function(){this.isUnmounted=!0},t.prototype.handleAnimateOutEnd=function(){this.isUnmounted||this.props.onAnimateOutEnd&&this.props.onAnimateOutEnd(this.props.index)},t.prototype.startAnimation=function(){this.isUnmounted||this.setState({direction:\"prev\"===this.props.direction?\"right\":\"left\"})},t.prototype.render=function(){var e=this.props,t=e.direction,n=e.active,r=e.animateIn,o=e.animateOut,a=e.className,u=(0,s.default)(e,[\"direction\",\"active\",\"animateIn\",\"animateOut\",\"className\"]);delete u.onAnimateOutEnd,delete u.index;var l={item:!0,active:n&&!r||o};return t&&n&&r&&(l[t]=!0),this.state.direction&&(r||o)&&(l[this.state.direction]=!0),_.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(a,l)}))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=L,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(12),y=r(b),v=n(166),M=r(v),A=n(75),w=r(A),C=n(13),E={noCaret:_.default.bool,open:_.default.bool,title:_.default.string,useAnchor:_.default.bool},L={open:!1,useAnchor:!1,bsRole:\"toggle\"},T=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.noCaret,n=e.open,r=e.useAnchor,o=e.bsClass,a=e.className,u=e.children,l=(0,s.default)(e,[\"noCaret\",\"open\",\"useAnchor\",\"bsClass\",\"className\",\"children\"]);delete l.bsRole;var c=r?w.default:M.default,d=!t;return m.default.createElement(c,(0,i.default)({},l,{role:\"button\",className:(0,y.default)(a,o),\"aria-haspopup\":!0,\"aria-expanded\":n}),u||l.title,d&&\" \",d&&m.default.createElement(\"span\",{className:\"caret\"}))},t}(m.default.Component);T.propTypes=E,T.defaultProps=L,t.default=(0,C.bsClass)(\"dropdown-toggle\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w={fluid:y.default.bool,componentClass:M.default},C={componentClass:\"div\",fluid:!1},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.fluid,n=e.componentClass,r=e.className,o=(0,s.default)(e,[\"fluid\",\"componentClass\",\"className\"]),a=(0,A.splitBsProps)(o),u=a[0],l=a[1],c=(0,A.prefix)(u,t&&\"fluid\");return _.default.createElement(n,(0,i.default)({},l,{className:(0,m.default)(r,c)}))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"container\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(13),w=n(40),C={active:M.default.any,disabled:M.default.any,header:M.default.node,listItem:M.default.bool,onClick:M.default.func,href:M.default.string,type:M.default.string},E={listItem:!1},L=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderHeader=function(e,t){return y.default.isValidElement(e)?(0,b.cloneElement)(e,{className:(0,_.default)(e.props.className,t)}):y.default.createElement(\"h4\",{className:t},e)},t.prototype.render=function(){var e=this.props,t=e.active,n=e.disabled,r=e.className,o=e.header,i=e.listItem,a=e.children,u=(0,l.default)(e,[\"active\",\"disabled\",\"className\",\"header\",\"listItem\",\"children\"]),c=(0,A.splitBsProps)(u),d=c[0],f=c[1],p=(0,s.default)({},(0,A.getClassSet)(d),{active:t,disabled:n}),h=void 0;return f.href?h=\"a\":f.onClick?(h=\"button\",f.type=f.type||\"button\"):h=i?\"li\":\"span\",f.className=(0,_.default)(r,p),o?y.default.createElement(h,f,this.renderHeader(o,(0,A.prefix)(d,\"heading\")),y.default.createElement(\"p\",{className:(0,A.prefix)(d,\"text\")},a)):y.default.createElement(h,f,a)},t}(y.default.Component);L.propTypes=C,L.defaultProps=E,t.default=(0,A.bsClass)(\"list-group-item\",(0,A.bsStyles)((0,i.default)(w.State),L)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"modal-body\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"modal-footer\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(39),A=r(M),w={\"aria-label\":y.default.string,closeButton:y.default.bool,onHide:y.default.func},C={\"aria-label\":\"Close\",closeButton:!1},E={$bs_modal:y.default.shape({onHide:y.default.func})},L=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e[\"aria-label\"],n=e.closeButton,r=e.onHide,o=e.className,a=e.children,u=(0,s.default)(e,[\"aria-label\",\"closeButton\",\"onHide\",\"className\",\"children\"]),l=this.context.$bs_modal,c=(0,v.splitBsProps)(u),d=c[0],f=c[1],p=(0,v.getClassSet)(d);return _.default.createElement(\"div\",(0,i.default)({},f,{className:(0,m.default)(o,p)}),n&&_.default.createElement(\"button\",{type:\"button\",className:\"close\",\"aria-label\":t,onClick:(0,A.default)(l&&l.onHide,r)},_.default.createElement(\"span\",{\"aria-hidden\":\"true\"},\"×\")),a)},t}(_.default.Component);L.propTypes=w,L.defaultProps=C,L.contextTypes=E,t.default=(0,v.bsClass)(\"modal-header\",L),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"h4\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"modal-title\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(295),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(29),w=r(A),C=n(220),E=r(C),L=n(47),T=(r(L),n(13)),O=n(39),S=r(O),N=n(52),k=r(N),D={activeKey:M.default.any,activeHref:M.default.string,stacked:M.default.bool,justified:(0,E.default)(M.default.bool,function(e){var t=e.justified,n=e.navbar;return t&&n?Error(\"justified navbar `Nav`s are not supported\"):null}),onSelect:M.default.func,role:M.default.string,navbar:M.default.bool,pullRight:M.default.bool,pullLeft:M.default.bool},x={justified:!1,pullRight:!1,pullLeft:!1,stacked:!1},I={$bs_navbar:M.default.shape({bsClass:M.default.string,onSelect:M.default.func}),$bs_tabContainer:M.default.shape({activeKey:M.default.any,onSelect:M.default.func.isRequired,getTabId:M.default.func.isRequired,getPaneId:M.default.func.isRequired})},z=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.componentDidUpdate=function(){var e=this;if(this._needsRefocus){this._needsRefocus=!1;var t=this.props.children,n=this.getActiveProps(),r=n.activeKey,o=n.activeHref,i=k.default.find(t,function(t){return e.isActive(t,r,o)}),a=k.default.toArray(t),s=a.indexOf(i),u=w.default.findDOMNode(this).children,l=u&&u[s];l&&l.firstChild&&l.firstChild.focus()}},t.prototype.handleTabKeyDown=function(e,t){var n=void 0;switch(t.keyCode){case _.default.codes.left:case _.default.codes.up:n=this.getNextActiveChild(-1);break;case _.default.codes.right:case _.default.codes.down:n=this.getNextActiveChild(1);break;default:return}t.preventDefault(),e&&n&&null!=n.props.eventKey&&e(n.props.eventKey),this._needsRefocus=!0},t.prototype.getNextActiveChild=function(e){var t=this,n=this.props.children,r=n.filter(function(e){return null!=e.props.eventKey&&!e.props.disabled}),o=this.getActiveProps(),i=o.activeKey,a=o.activeHref,s=k.default.find(n,function(e){return t.isActive(e,i,a)}),u=r.indexOf(s);if(u===-1)return r[0];var l=u+e,c=r.length;return l>=c?l=0:l<0&&(l=c-1),r[l]},t.prototype.getActiveProps=function(){var e=this.context.$bs_tabContainer;return e?e:this.props},t.prototype.isActive=function(e,t,n){var r=e.props;return!!(r.active||null!=t&&r.eventKey===t||n&&r.href===n)||r.active},t.prototype.getTabProps=function(e,t,n,r,o){var i=this;if(!t&&\"tablist\"!==n)return null;var a=e.props,s=a.id,u=a[\"aria-controls\"],l=a.eventKey,c=a.role,d=a.onKeyDown,f=a.tabIndex;return t&&(s=t.getTabId(l),u=t.getPaneId(l)),\"tablist\"===n&&(c=c||\"tab\",d=(0,S.default)(function(e){return i.handleTabKeyDown(o,e)},d),f=r?f:-1),{id:s,role:c,onKeyDown:d,\"aria-controls\":u,tabIndex:f}},t.prototype.render=function(){var e,t=this,n=this.props,r=n.stacked,o=n.justified,a=n.onSelect,u=n.role,l=n.navbar,c=n.pullRight,d=n.pullLeft,f=n.className,p=n.children,h=(0,s.default)(n,[\"stacked\",\"justified\",\"onSelect\",\"role\",\"navbar\",\"pullRight\",\"pullLeft\",\"className\",\"children\"]),g=this.context.$bs_tabContainer,_=u||(g?\"tablist\":null),v=this.getActiveProps(),M=v.activeKey,A=v.activeHref;delete h.activeKey,delete h.activeHref;var w=(0,T.splitBsProps)(h),C=w[0],E=w[1],L=(0,i.default)({},(0,T.getClassSet)(C),(e={},e[(0,T.prefix)(C,\"stacked\")]=r,e[(0,T.prefix)(C,\"justified\")]=o,e)),O=null!=l?l:this.context.$bs_navbar,N=void 0,D=void 0;if(O){var x=this.context.$bs_navbar||{bsClass:\"navbar\"};L[(0,T.prefix)(x,\"nav\")]=!0,D=(0,T.prefix)(x,\"right\"),N=(0,T.prefix)(x,\"left\")}else D=\"pull-right\",N=\"pull-left\";return L[D]=c,L[N]=d,y.default.createElement(\"ul\",(0,i.default)({},E,{role:_,className:(0,m.default)(f,L)}),k.default.map(p,function(e){var n=t.isActive(e,M,A),r=(0,S.default)(e.props.onSelect,a,O&&O.onSelect,g&&g.onSelect);return(0,b.cloneElement)(e,(0,i.default)({},t.getTabProps(e,g,_,n,r),{active:n,activeKey:M,activeHref:A,onSelect:r}))}))},t}(y.default.Component);z.propTypes=D,z.defaultProps=x,z.contextTypes=I,t.default=(0,T.bsClass)(\"nav\",(0,T.bsStyles)([\"tabs\",\"pills\"],z)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A=n(39),w=r(A),C={active:y.default.bool,disabled:y.default.bool,role:y.default.string,href:y.default.string,onClick:y.default.func,onSelect:y.default.func,eventKey:y.default.any},E={active:!1,disabled:!1},L=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,p.default)(t,e),t.prototype.handleClick=function(e){this.props.onSelect&&(e.preventDefault(),this.props.disabled||this.props.onSelect(this.props.eventKey,e))},t.prototype.render=function(){var e=this.props,t=e.active,n=e.disabled,r=e.onClick,o=e.className,a=e.style,u=(0,s.default)(e,[\"active\",\"disabled\",\"onClick\",\"className\",\"style\"]);return delete u.onSelect,delete u.eventKey,delete u.activeKey,delete u.activeHref,u.role?\"tab\"===u.role&&(u[\"aria-selected\"]=t):\"#\"===u.href&&(u.role=\"button\"),_.default.createElement(\"li\",{role:\"presentation\",className:(0,m.default)(o,{active:t,disabled:n}),style:a},_.default.createElement(M.default,(0,i.default)({},u,{disabled:n,onClick:(0,w.default)(r,this.handleClick)})))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=L,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={$bs_navbar:y.default.shape({bsClass:y.default.string})},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,s.default)(e,[\"className\",\"children\"]),o=this.context.$bs_navbar||{bsClass:\"navbar\"},a=(0,v.prefix)(o,\"brand\");return _.default.isValidElement(n)?_.default.cloneElement(n,{className:(0,m.default)(n.props.className,t,a)}):_.default.createElement(\"span\",(0,i.default)({},r,{className:(0,m.default)(t,a)}),n)},t}(_.default.Component);A.contextTypes=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(1477),M=r(v),A=n(25),w=r(A),C=n(212),E=r(C),L=(0,p.default)({},M.default.propTypes,{show:y.default.bool,rootClose:y.default.bool,onHide:y.default.func,animation:y.default.oneOfType([y.default.bool,w.default]),onEnter:y.default.func,onEntering:y.default.func,onEntered:y.default.func,onExit:y.default.func,onExiting:y.default.func,onExited:y.default.func,placement:y.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"])}),T={animation:E.default,rootClose:!1,show:!1,placement:\"right\"},O=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.animation,n=e.children,r=(0,i.default)(e,[\"animation\",\"children\"]),o=t===!0?E.default:t||null,a=void 0;return a=o?n:(0,g.cloneElement)(n,{className:(0,m.default)(n.props.className,\"in\")}),_.default.createElement(M.default,(0,p.default)({},r,{transition:o}),a)},t}(_.default.Component);O.propTypes=L,O.defaultProps=T,t.default=O,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A=n(39),w=r(A),C={disabled:y.default.bool,previous:y.default.bool,next:y.default.bool,onClick:y.default.func,onSelect:y.default.func,eventKey:y.default.any},E={disabled:!1,previous:!1,next:!1},L=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleSelect=o.handleSelect.bind(o),o}return(0,p.default)(t,e),t.prototype.handleSelect=function(e){var t=this.props,n=t.disabled,r=t.onSelect,o=t.eventKey;(r||n)&&e.preventDefault(),n||r&&r(o,e)},t.prototype.render=function(){var e=this.props,t=e.disabled,n=e.previous,r=e.next,o=e.onClick,a=e.className,u=e.style,l=(0,s.default)(e,[\"disabled\",\"previous\",\"next\",\"onClick\",\"className\",\"style\"]);return delete l.onSelect,delete l.eventKey,_.default.createElement(\"li\",{className:(0,m.default)(a,{disabled:t,previous:n,next:r}),style:u},_.default.createElement(M.default,(0,i.default)({},l,{disabled:t,onClick:(0,w.default)(o,this.handleSelect)})))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=L,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(75),w=r(A),C=n(39),E=r(C),L={componentClass:M.default,className:y.default.string,eventKey:y.default.any,onSelect:y.default.func,disabled:y.default.bool,active:y.default.bool,onClick:y.default.func},T={componentClass:w.default,active:!1,disabled:!1},O=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,p.default)(t,e),t.prototype.handleClick=function(e){var t=this.props,n=t.disabled,r=t.onSelect,o=t.eventKey;\nn||r&&r(o,e)},t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.active,r=e.disabled,o=e.onClick,a=e.className,u=e.style,l=(0,s.default)(e,[\"componentClass\",\"active\",\"disabled\",\"onClick\",\"className\",\"style\"]);return t===w.default&&delete l.eventKey,delete l.onSelect,_.default.createElement(\"li\",{className:(0,m.default)(a,{active:n,disabled:r}),style:u},_.default.createElement(t,(0,i.default)({},l,{disabled:r,onClick:(0,E.default)(o,this.handleClick)})))},t}(_.default.Component);O.propTypes=L,O.defaultProps=T,t.default=O,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(359),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(13),w=n(39),C=r(w),E=n(52),L=r(E),T={accordion:M.default.bool,activeKey:M.default.any,defaultActiveKey:M.default.any,onSelect:M.default.func,role:M.default.string},O={accordion:!1},S=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleSelect=o.handleSelect.bind(o),o.state={activeKey:n.defaultActiveKey},o}return(0,m.default)(t,e),t.prototype.handleSelect=function(e,t){t.preventDefault(),this.props.onSelect&&this.props.onSelect(e,t),this.state.activeKey===e&&(e=null),this.setState({activeKey:e})},t.prototype.render=function(){var e=this,t=this.props,n=t.accordion,r=t.activeKey,o=t.className,a=t.children,u=(0,l.default)(t,[\"accordion\",\"activeKey\",\"className\",\"children\"]),c=(0,A.splitBsPropsAndOmit)(u,[\"defaultActiveKey\",\"onSelect\"]),d=c[0],f=c[1],p=void 0;n&&(p=null!=r?r:this.state.activeKey,f.role=f.role||\"tablist\");var h=(0,A.getClassSet)(d);return y.default.createElement(\"div\",(0,i.default)({},f,{className:(0,_.default)(o,h)}),L.default.map(a,function(t){var r={bsStyle:t.props.bsStyle||d.bsStyle};return n&&(0,s.default)(r,{headerRole:\"tab\",panelRole:\"tabpanel\",collapsible:!0,expanded:t.props.eventKey===p,onSelect:(0,C.default)(e.handleSelect,t.props.onSelect)}),(0,b.cloneElement)(t,r)}))},t}(y.default.Component);S.propTypes=T,S.defaultProps=O,t.default=(0,A.bsClass)(\"panel-group\",S),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(47),w=(r(A),n(13)),C=n(39),E=r(C),L=n(212),T=r(L),O={eventKey:y.default.any,animation:y.default.oneOfType([y.default.bool,M.default]),id:y.default.string,\"aria-labelledby\":y.default.string,bsClass:y.default.string,onEnter:y.default.func,onEntering:y.default.func,onEntered:y.default.func,onExit:y.default.func,onExiting:y.default.func,onExited:y.default.func,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool},S={$bs_tabContainer:y.default.shape({getTabId:y.default.func,getPaneId:y.default.func}),$bs_tabContent:y.default.shape({bsClass:y.default.string,animation:y.default.oneOfType([y.default.bool,M.default]),activeKey:y.default.any,mountOnEnter:y.default.bool,unmountOnExit:y.default.bool,onPaneEnter:y.default.func.isRequired,onPaneExited:y.default.func.isRequired,exiting:y.default.bool.isRequired})},N={$bs_tabContainer:y.default.oneOf([null])},k=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleEnter=o.handleEnter.bind(o),o.handleExited=o.handleExited.bind(o),o.in=!1,o}return(0,p.default)(t,e),t.prototype.getChildContext=function(){return{$bs_tabContainer:null}},t.prototype.componentDidMount=function(){this.shouldBeIn()&&this.handleEnter()},t.prototype.componentDidUpdate=function(){this.in?this.shouldBeIn()||this.handleExited():this.shouldBeIn()&&this.handleEnter()},t.prototype.componentWillUnmount=function(){this.in&&this.handleExited()},t.prototype.handleEnter=function(){var e=this.context.$bs_tabContent;e&&(this.in=e.onPaneEnter(this,this.props.eventKey))},t.prototype.handleExited=function(){var e=this.context.$bs_tabContent;e&&(e.onPaneExited(this),this.in=!1)},t.prototype.getAnimation=function(){if(null!=this.props.animation)return this.props.animation;var e=this.context.$bs_tabContent;return e&&e.animation},t.prototype.isActive=function(){var e=this.context.$bs_tabContent,t=e&&e.activeKey;return this.props.eventKey===t},t.prototype.shouldBeIn=function(){return this.getAnimation()&&this.isActive()},t.prototype.render=function(){var e=this.props,t=e.eventKey,n=e.className,r=e.onEnter,o=e.onEntering,a=e.onEntered,u=e.onExit,l=e.onExiting,c=e.onExited,d=e.mountOnEnter,f=e.unmountOnExit,p=(0,s.default)(e,[\"eventKey\",\"className\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\",\"mountOnEnter\",\"unmountOnExit\"]),h=this.context,g=h.$bs_tabContent,b=h.$bs_tabContainer,y=(0,w.splitBsPropsAndOmit)(p,[\"animation\"]),v=y[0],M=y[1],A=this.isActive(),C=this.getAnimation(),L=null!=d?d:g&&g.mountOnEnter,O=null!=f?f:g&&g.unmountOnExit;if(!A&&!C&&O)return null;var S=C===!0?T.default:C||null;g&&(v.bsClass=(0,w.prefix)(g,\"pane\"));var N=(0,i.default)({},(0,w.getClassSet)(v),{active:A});b&&(M.id=b.getPaneId(t),M[\"aria-labelledby\"]=b.getTabId(t));var k=_.default.createElement(\"div\",(0,i.default)({},M,{role:\"tabpanel\",\"aria-hidden\":!A,className:(0,m.default)(n,N)}));if(S){var D=g&&g.exiting;return _.default.createElement(S,{in:A&&!D,onEnter:(0,E.default)(this.handleEnter,r),onEntering:o,onEntered:a,onExit:u,onExiting:l,onExited:(0,E.default)(this.handleExited,c),mountOnEnter:L,unmountOnExit:O},k)}return k},t}(_.default.Component);k.propTypes=O,k.contextTypes=S,k.childContextTypes=N,t.default=(0,w.bsClass)(\"tab-pane\",k),e.exports=t.default},function(e,t){\"use strict\";function n(e){return\"\"+e.charAt(0).toUpperCase()+e.slice(1)}t.__esModule=!0,t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1),i=r(o),a=n(29),s=r(a),u=n(328),l=r(u),c=n(167),d=r(c),f=n(310),p=r(f),h=i.default.createClass({displayName:\"Portal\",propTypes:{container:i.default.PropTypes.oneOfType([l.default,i.default.PropTypes.func])},componentDidMount:function(){this._renderOverlay()},componentDidUpdate:function(){this._renderOverlay()},componentWillReceiveProps:function(e){this._overlayTarget&&e.container!==this.props.container&&(this._portalContainerNode.removeChild(this._overlayTarget),this._portalContainerNode=(0,p.default)(e.container,(0,d.default)(this).body),this._portalContainerNode.appendChild(this._overlayTarget))},componentWillUnmount:function(){this._unrenderOverlay(),this._unmountOverlayTarget()},_mountOverlayTarget:function(){this._overlayTarget||(this._overlayTarget=document.createElement(\"div\"),this._portalContainerNode=(0,p.default)(this.props.container,(0,d.default)(this).body),this._portalContainerNode.appendChild(this._overlayTarget))},_unmountOverlayTarget:function(){this._overlayTarget&&(this._portalContainerNode.removeChild(this._overlayTarget),this._overlayTarget=null),this._portalContainerNode=null},_renderOverlay:function(){var e=this.props.children?i.default.Children.only(this.props.children):null;null!==e?(this._mountOverlayTarget(),this._overlayInstance=s.default.unstable_renderSubtreeIntoContainer(this,e,this._overlayTarget)):(this._unrenderOverlay(),this._unmountOverlayTarget())},_unrenderOverlay:function(){this._overlayTarget&&(s.default.unmountComponentAtNode(this._overlayTarget),this._overlayInstance=null)},render:function(){return null},getMountNode:function(){return this._overlayTarget},getOverlayDOMNode:function(){if(!this.isMounted())throw new Error(\"getOverlayDOMNode(): A component must be mounted to have a DOM node.\");return this._overlayInstance?s.default.findDOMNode(this._overlayInstance):null}});t.default=h,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return 0===e.button}function u(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(89),d=r(c),f=n(1),p=r(f),h=n(29),m=r(h),g=n(590),_=r(g),b=n(167),y=r(b),v=27,M=function(e){function t(e,n){o(this,t);var r=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.handleMouseCapture=function(e){r.preventMouseRootClose=u(e)||!s(e)||(0,d.default)(m.default.findDOMNode(r),e.target)},r.handleMouse=function(e){!r.preventMouseRootClose&&r.props.onRootClose&&r.props.onRootClose(e)},r.handleKeyUp=function(e){e.keyCode===v&&r.props.onRootClose&&r.props.onRootClose(e)},r.preventMouseRootClose=!1,r}return a(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.props.disabled||this.addEventListeners()}},{key:\"componentDidUpdate\",value:function(e){!this.props.disabled&&e.disabled?this.addEventListeners():this.props.disabled&&!e.disabled&&this.removeEventListeners()}},{key:\"componentWillUnmount\",value:function(){this.props.disabled||this.removeEventListeners()}},{key:\"addEventListeners\",value:function(){var e=this.props.event,t=(0,y.default)(this);this.documentMouseCaptureListener=(0,_.default)(t,e,this.handleMouseCapture,!0),this.documentMouseListener=(0,_.default)(t,e,this.handleMouse),this.documentKeyupListener=(0,_.default)(t,\"keyup\",this.handleKeyUp)}},{key:\"removeEventListeners\",value:function(){this.documentMouseCaptureListener&&this.documentMouseCaptureListener.remove(),this.documentMouseListener&&this.documentMouseListener.remove(),this.documentKeyupListener&&this.documentKeyupListener.remove()}},{key:\"render\",value:function(){return this.props.children}}]),t}(p.default.Component);M.displayName=\"RootCloseWrapper\",M.propTypes={onRootClose:p.default.PropTypes.func,children:p.default.PropTypes.element,disabled:p.default.PropTypes.bool,event:p.default.PropTypes.oneOf([\"click\",\"mousedown\"])},M.defaultProps={event:\"click\"},t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(){}Object.defineProperty(t,\"__esModule\",{value:!0}),t.EXITING=t.ENTERED=t.ENTERING=t.EXITED=t.UNMOUNTED=void 0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),d=n(12),f=r(d),p=n(159),h=r(p),m=n(412),g=r(m),_=n(1),b=r(_),y=n(29),v=r(y),M=g.default.end,A=t.UNMOUNTED=0,w=t.EXITED=1,C=t.ENTERING=2,E=t.ENTERED=3,L=t.EXITING=4,T=function(e){function t(e,n){i(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),o=void 0;return r.nextStatus=null,e.in?e.transitionAppear?(o=w,r.nextStatus=C):o=E:o=e.unmountOnExit||e.mountOnEnter?A:w,r.state={status:o},r.nextCallback=null,r}return s(t,e),c(t,[{key:\"componentDidMount\",value:function(){this.updateStatus()}},{key:\"componentWillReceiveProps\",value:function(e){var t=this.state.status;e.in?(t===A&&this.setState({status:w}),t!==C&&t!==E&&(this.nextStatus=C)):t!==C&&t!==E||(this.nextStatus=L)}},{key:\"componentDidUpdate\",value:function(){this.updateStatus()}},{key:\"componentWillUnmount\",value:function(){this.cancelNextCallback()}},{key:\"updateStatus\",value:function(){var e=this;if(null!==this.nextStatus){this.cancelNextCallback();var t=v.default.findDOMNode(this);this.nextStatus===C?(this.props.onEnter(t),this.safeSetState({status:C},function(){e.props.onEntering(t),e.onTransitionEnd(t,function(){e.safeSetState({status:E},function(){e.props.onEntered(t)})})})):(this.props.onExit(t),this.safeSetState({status:L},function(){e.props.onExiting(t),e.onTransitionEnd(t,function(){e.safeSetState({status:w},function(){e.props.onExited(t)})})})),this.nextStatus=null}else this.props.unmountOnExit&&this.state.status===w&&this.setState({status:A})}},{key:\"cancelNextCallback\",value:function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)}},{key:\"safeSetState\",value:function(e,t){this.setState(e,this.setNextCallback(t))}},{key:\"setNextCallback\",value:function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback}},{key:\"onTransitionEnd\",value:function(e,t){this.setNextCallback(t),e?((0,h.default)(e,M,this.nextCallback),setTimeout(this.nextCallback,this.props.timeout)):setTimeout(this.nextCallback,0)}},{key:\"render\",value:function(){var e=this.state.status;if(e===A)return null;var n=this.props,r=n.children,i=n.className,a=o(n,[\"children\",\"className\"]);Object.keys(t.propTypes).forEach(function(e){return delete a[e]});var s=void 0;e===w?s=this.props.exitedClassName:e===C?s=this.props.enteringClassName:e===E?s=this.props.enteredClassName:e===L&&(s=this.props.exitingClassName);var u=b.default.Children.only(r);return b.default.cloneElement(u,l({},a,{className:(0,f.default)(u.props.className,i,s)}))}}]),t}(b.default.Component);T.propTypes={in:b.default.PropTypes.bool,mountOnEnter:b.default.PropTypes.bool,unmountOnExit:b.default.PropTypes.bool,transitionAppear:b.default.PropTypes.bool,timeout:b.default.PropTypes.number,exitedClassName:b.default.PropTypes.string,exitingClassName:b.default.PropTypes.string,enteredClassName:b.default.PropTypes.string,enteringClassName:b.default.PropTypes.string,onEnter:b.default.PropTypes.func,onEntering:b.default.PropTypes.func,onEntered:b.default.PropTypes.func,onExit:b.default.PropTypes.func,onExiting:b.default.PropTypes.func,onExited:b.default.PropTypes.func},T.displayName=\"Transition\",T.defaultProps={in:!1,unmountOnExit:!1,transitionAppear:!1,timeout:5e3,onEnter:u,onEntering:u,onEntered:u,onExit:u,onExiting:u,onExited:u},t.default=T},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e,t,n,r){return(0,i.default)(e,t,n,r),{remove:function(){(0,s.default)(e,t,n,r)}}};var o=n(159),i=r(o),a=n(199),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e&&\"body\"===e.tagName.toLowerCase()}function i(e){var t=(0,c.default)(e),n=(0,u.default)(t),r=n.innerWidth;if(!r){var o=t.documentElement.getBoundingClientRect();r=o.right-Math.abs(o.left)}return t.body.clientWidth<r}function a(e){var t=(0,u.default)(e);return t||o(e)?i(e):e.scrollHeight>e.clientHeight}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=a;var s=n(131),u=r(s),l=n(80),c=r(l);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var r={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridColumn:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},o=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(r).forEach(function(e){o.forEach(function(t){r[n(t,e)]=r[e]})});var i={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},a={isUnitlessNumber:r,shorthandPropertyExpansions:i};e.exports=a},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=n(24),i=n(112),a=(n(17),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o(\"24\"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());e.exports=i.addPoolingTo(a)},function(e,t,n){\"use strict\";function r(e){return!!l.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(l[e]=!0,!0):(u[e]=!0,!1))}function o(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&t===!1}var i=n(138),a=(n(34),n(65),n(1543)),s=(n(20),new RegExp(\"^[\"+i.ATTRIBUTE_NAME_START_CHAR+\"][\"+i.ATTRIBUTE_NAME_CHAR+\"]*$\")),u={},l={},c={createMarkupForID:function(e){return i.ID_ATTRIBUTE_NAME+\"=\"+a(e)},setAttributeForID:function(e,t){e.setAttribute(i.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return i.ROOT_ATTRIBUTE_NAME+'=\"\"'},setAttributeForRoot:function(e){e.setAttribute(i.ROOT_ATTRIBUTE_NAME,\"\")},createMarkupForProperty:function(e,t){var n=i.properties.hasOwnProperty(e)?i.properties[e]:null;if(n){if(o(n,t))return\"\";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&t===!0?r+'=\"\"':r+\"=\"+a(t)}return i.isCustomAttribute(e)?null==t?\"\":e+\"=\"+a(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+\"=\"+a(t):\"\"},setValueForProperty:function(e,t,n){var r=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(r){var a=r.mutationMethod;if(a)a(e,n);else{if(o(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,\"\"+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&n===!0?e.setAttribute(s,\"\"):e.setAttribute(s,\"\"+n)}}}else if(i.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(r(t)){null==n?e.removeAttribute(t):e.setAttribute(t,\"\"+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var o=n.propertyName;n.hasBooleanValue?e[o]=!1:e[o]=\"\"}else e.removeAttribute(n.attributeName)}else i.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=c},function(e,t){\"use strict\";var n={hasCachedChildNodes:1};e.exports=n},function(e,t,n){\"use strict\";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&o(this,Boolean(e.multiple),t)}}function o(e,t,n){var r,o,i=u.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[\"\"+n[o]]=!0;for(o=0;o<i.length;o++){var a=r.hasOwnProperty(i[o].value);i[o].selected!==a&&(i[o].selected=a)}}else{for(r=\"\"+n,o=0;o<i.length;o++)if(i[o].value===r)return void(i[o].selected=!0);i.length&&(i[0].selected=!0)}}function i(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),l.asap(r,this),n}var a=n(28),s=n(316),u=n(34),l=n(77),c=(n(20),!1),d={getHostProps:function(e,t){return a({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:i.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||c||(c=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,o(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?o(e,Boolean(t.multiple),t.defaultValue):o(e,Boolean(t.multiple),t.multiple?[]:\"\"))}};e.exports=d},function(e,t){\"use strict\";var n,r={injectEmptyComponentFactory:function(e){n=e}},o={create:function(e){return n(e)}};o.injection=r,e.exports=o},function(e,t){\"use strict\";var n={logTopLevelRenders:!1};e.exports=n},function(e,t,n){\"use strict\";function r(e){return s?void 0:a(\"111\",e.type),new s(e)}function o(e){return new u(e)}function i(e){return e instanceof u}var a=n(24),s=(n(17),null),u=null,l={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},c={createInternalComponent:r,createInstanceForText:o,isTextComponent:i,injection:l};e.exports=c},function(e,t,n){\"use strict\";function r(e){return i(document.documentElement,e)}var o=n(1503),i=n(1253),a=n(419),s=n(420),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(\"input\"===t&&\"text\"===e.type||\"textarea\"===t||\"true\"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,o),a(n))},getSelection:function(e){var t;if(\"selectionStart\"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&\"input\"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart(\"character\",-e.value.length),end:-n.moveEnd(\"character\",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),\"selectionStart\"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&\"input\"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart(\"character\",n),i.moveEnd(\"character\",r-n),i.select()}else o.setOffsets(e,t)}};e.exports=u},function(e,t,n){(function(t){\"use strict\";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){return e?e.nodeType===I?e.documentElement:e.firstChild:null}function i(e){return e.getAttribute&&e.getAttribute(k)||\"\"}function a(e,n,r,o,i){var a;if(M.logTopLevelRenders){var s=e._currentElement.props.child,u=s.type;a=\"React mount: \"+(\"string\"==typeof u?u:u.displayName||u.name),t.time(a)}var l=C.mountComponent(e,r,null,y(e,n),i,0);a&&t.timeEnd(a),e._renderedComponent._topLevelWrapper=e,F._mountImageIntoNode(l,n,e,o,r)}function s(e,t,n,r){var o=L.ReactReconcileTransaction.getPooled(!n&&v.useCreateElement);o.perform(a,null,e,t,o,n,r),L.ReactReconcileTransaction.release(o)}function u(e,t,n){for(C.unmountComponent(e,n),t.nodeType===I&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function l(e){var t=o(e);if(t){var n=b.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function c(e){return!(!e||e.nodeType!==x&&e.nodeType!==I&&e.nodeType!==z)}function d(e){var t=o(e),n=t&&b.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function f(e){var t=d(e);return t?t._hostContainerInfo._topLevelWrapper:null}var p=n(24),h=n(137),m=n(138),g=n(143),_=n(214),b=(n(82),n(34)),y=n(1497),v=n(1499),M=n(598),A=n(170),w=(n(65),n(1513)),C=n(139),E=n(319),L=n(77),T=n(162),O=n(608),S=(n(17),n(218)),N=n(325),k=(n(20),m.ID_ATTRIBUTE_NAME),D=m.ROOT_ATTRIBUTE_NAME,x=1,I=9,z=11,j={},P=1,B=function(){this.rootID=P++};B.prototype.isReactComponent={},B.prototype.render=function(){return this.props.child},B.isReactTopLevelWrapper=!0;var F={TopLevelWrapper:B,_instancesByReactRootID:j,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return F.scrollMonitor(r,function(){E.enqueueElementInternal(e,t,n),o&&E.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,r){c(t)?void 0:p(\"37\"),_.ensureScrollValueMonitoring();var o=O(e,!1);L.batchedUpdates(s,o,t,n,r);var i=o._instance.rootID;return j[i]=o,o},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&A.has(e)?void 0:p(\"38\"),F._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){E.validateCallback(r,\"ReactDOM.render\"),g.isValidElement(t)?void 0:p(\"39\",\"string\"==typeof t?\" Instead of passing a string like 'div', pass React.createElement('div') or <div />.\":\"function\"==typeof t?\" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.\":null!=t&&void 0!==t.props?\" This may be caused by unintentionally loading two independent copies of React.\":\"\");var a,s=g.createElement(B,{child:t});if(e){var u=A.get(e);a=u._processChildContext(u._context)}else a=T;var c=f(n);if(c){var d=c._currentElement,h=d.props.child;if(N(h,t)){var m=c._renderedComponent.getPublicInstance(),_=r&&function(){r.call(m)};return F._updateRootComponent(c,s,a,n,_),m}F.unmountComponentAtNode(n)}var b=o(n),y=b&&!!i(b),v=l(n),M=y&&!c&&!v,w=F._renderNewRootComponent(s,n,M,a)._renderedComponent.getPublicInstance();return r&&r.call(w),w},render:function(e,t,n){return F._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){c(e)?void 0:p(\"40\");var t=f(e);if(!t){l(e),1===e.nodeType&&e.hasAttribute(D);return!1}return delete j[t._instance.rootID],L.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,i,a){if(c(t)?void 0:p(\"41\"),i){var s=o(t);if(w.canReuseMarkup(e,s))return void b.precacheNode(n,s);var u=s.getAttribute(w.CHECKSUM_ATTR_NAME);s.removeAttribute(w.CHECKSUM_ATTR_NAME);var l=s.outerHTML;s.setAttribute(w.CHECKSUM_ATTR_NAME,u);var d=e,f=r(d,l),m=\" (client) \"+d.substring(f-20,f+20)+\"\\n (server) \"+l.substring(f-20,f+20);t.nodeType===I?p(\"42\",m):void 0}if(t.nodeType===I?p(\"43\"):void 0,a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else S(t,e),b.precacheNode(n,t.firstChild)}};e.exports=F}).call(t,n(38))},function(e,t,n){\"use strict\";var r=n(24),o=n(143),i=(n(17),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?i.EMPTY:o.isValidElement(e)?\"function\"==typeof e.type?i.COMPOSITE:i.HOST:void r(\"26\",e)}});e.exports=i},function(e,t){\"use strict\";var n={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){n.currentScrollLeft=e.x,n.currentScrollTop=e.y}};e.exports=n},function(e,t,n){\"use strict\";function r(e,t){return null==t?o(\"30\"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=n(24);n(17);e.exports=r},function(e,t){\"use strict\";function n(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}e.exports=n},function(e,t,n){\"use strict\";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=n(602);e.exports=r},function(e,t,n){\"use strict\";function r(){return!i&&o.canUseDOM&&(i=\"textContent\"in document.documentElement?\"textContent\":\"innerText\"),i}var o=n(46),i=null;e.exports=r},function(e,t,n){\"use strict\";function r(e){if(e){var t=e.getName();if(t)return\" Check the render method of `\"+t+\"`.\"}return\"\"}function o(e){return\"function\"==typeof e&&\"undefined\"!=typeof e.prototype&&\"function\"==typeof e.prototype.mountComponent&&\"function\"==typeof e.prototype.receiveComponent}function i(e,t){var n;if(null===e||e===!1)n=l.create(i);else if(\"object\"==typeof e){var s=e,u=s.type;if(\"function\"!=typeof u&&\"string\"!=typeof u){var f=\"\";f+=r(s._owner),a(\"130\",null==u?u:typeof u,f)}\"string\"==typeof s.type?n=c.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new d(s)}else\"string\"==typeof e||\"number\"==typeof e?n=c.createInstanceForText(e):a(\"131\",typeof e);return n._mountIndex=0,n._mountImage=null,n}var a=n(24),s=n(28),u=n(1494),l=n(597),c=n(599),d=(n(1611),n(17),n(20),function(e){this.construct(e)});s(d.prototype,u,{_instantiateReactComponent:i}),e.exports=i},function(e,t){\"use strict\";function n(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return\"input\"===t?!!r[e.type]:\"textarea\"===t}var r={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};e.exports=n},function(e,t,n){\"use strict\";var r=n(46),o=n(217),i=n(218),a=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&(\"textContent\"in document.documentElement||(a=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void i(e,o(t))})),e.exports=a},function(e,t,n){\"use strict\";function r(e,t){return e&&\"object\"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var f=typeof e;if(\"undefined\"!==f&&\"boolean\"!==f||(e=null),null===e||\"string\"===f||\"number\"===f||\"object\"===f&&e.$$typeof===s)return n(i,e,\"\"===t?c+r(e,0):t),1;var p,h,m=0,g=\"\"===t?c:t+d;if(Array.isArray(e))for(var _=0;_<e.length;_++)p=e[_],h=g+r(p,_),m+=o(p,h,n,i);else{var b=u(e);if(b){var y,v=b.call(e);if(b!==e.entries)for(var M=0;!(y=v.next()).done;)p=y.value,h=g+r(p,M++),m+=o(p,h,n,i);else for(;!(y=v.next()).done;){var A=y.value;A&&(p=A[1],h=g+l.escape(A[0])+d+r(p,0),m+=o(p,h,n,i))}}else if(\"object\"===f){var w=\"\",C=String(e);a(\"31\",\"[object Object]\"===C?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":C,w)}}return m}function i(e,t,n){return null==e?0:o(e,\"\",t,n)}var a=n(24),s=(n(82),n(1509)),u=n(1540),l=(n(17),n(315)),c=(n(20),\".\"),d=\":\";e.exports=i},function(e,t,n){\"use strict\";function r(e){return(0,h.deprecated)('I18n was renamed to \"NamespacesConsumer\" to make it more clear what the render prop does.'),f.default.createElement(_,e)}var o=n(148),i=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.I18n=r,t.NamespacesConsumer=t.NamespacesConsumerComponent=void 0;\nvar a=i(n(116)),s=i(n(117)),u=i(n(120)),l=i(n(118)),c=i(n(119)),d=i(n(340)),f=o(n(1)),p=n(140),h=n(141),m=!1,g=function(e){function t(e){var n;if((0,a.default)(this,t),n=(0,u.default)(this,(0,l.default)(t).call(this,e)),!e.i18n)return(0,u.default)(n,(0,h.warnOnce)(\"You will need pass in an i18next instance either by props, using I18nextProvider or by using i18nextReactModule. Learn more https://react.i18next.com/components/overview#getting-the-i-18-n-function-into-the-flow\"));(0,h.initSSR)(e),e.i18n.options&&e.i18n.options.isInitialSSR&&(e.i18nOptions.wait=!1);var r=n.getNamespaces();e.reportNS&&r.forEach(e.reportNS);var o=e.i18n.languages&&e.i18n.languages[0],i=!!o&&r.every(function(t){return e.i18n.hasResourceBundle(o,t)});return n.state={i18nLoadedAt:null,ready:i},n.t=n.getI18nTranslate(),n.onI18nChanged=n.onI18nChanged.bind((0,d.default)((0,d.default)(n))),n.getI18nTranslate=n.getI18nTranslate.bind((0,d.default)((0,d.default)(n))),n.namespaces=n.getNamespaces.bind((0,d.default)((0,d.default)(n))),n}return(0,c.default)(t,e),(0,s.default)(t,[{key:\"componentDidMount\",value:function(){this.loadNamespaces()}},{key:\"componentDidUpdate\",value:function(e){this.props.ns&&e.ns!==this.props.ns&&this.loadNamespaces()}},{key:\"componentWillUnmount\",value:function(){var e=this,t=this.props,n=t.i18n,r=t.i18nOptions;if(this.mounted=!1,this.onI18nChanged){if(r.bindI18n){var o=r.bindI18n.split(\" \");o.forEach(function(t){return n.off(t,e.onI18nChanged)})}if(r.bindStore){var i=r.bindStore.split(\" \");i.forEach(function(t){return n.store&&n.store.off(t,e.onI18nChanged)})}}}},{key:\"onI18nChanged\",value:function(){var e=this.props.i18nOptions,t=this.state.ready;this.mounted&&(!t&&e.omitBoundRerender||(this.t=this.getI18nTranslate(),this.setState({i18nLoadedAt:new Date})))}},{key:\"getI18nTranslate\",value:function(){var e=this.props,t=e.i18n,n=e.i18nOptions,r=this.getNamespaces();return t.getFixedT(null,\"fallback\"===n.nsMode?r:r&&r.length?r[0]:\"translation\")}},{key:\"getNamespaces\",value:function(){var e=this.props,t=e.i18n,n=e.ns,r=e.defaultNS,o=\"function\"==typeof n?n(this.props):n||r||t.options&&t.options.defaultNS;return\"string\"==typeof o?[o]:o||[]}},{key:\"loadNamespaces\",value:function(){var e=this,t=this.props,n=t.i18n,r=t.i18nOptions,o=this.state.ready,i=function(){r.bindI18n&&n&&n.on(r.bindI18n,e.onI18nChanged),r.bindStore&&n.store&&n.store.on(r.bindStore,e.onI18nChanged)};this.mounted=!0,n.loadNamespaces(this.getNamespaces(),function(){var t=function(){e.mounted&&!o&&e.setState({ready:!0},function(){r.wait||e.onI18nChanged()}),r.wait&&e.mounted&&i()};if(n.isInitialized)t();else{var a=function e(){setTimeout(function(){n.off(\"initialized\",e)},1e3),t()};n.on(\"initialized\",a)}}),r.wait||i()}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.i18n,r=e.defaultNS,o=e.reportNS,i=e.i18nOptions,a=this.state.ready,s=this.t;return!a&&i.wait?null:(n.options&&n.options.isInitialSSR&&!m&&(m=!0,setTimeout(function(){delete n.options.isInitialSSR},100)),f.default.createElement(p.I18nContext.Provider,{value:{i18n:n,t:s,defaultNS:r,reportNS:o,lng:n&&n.language}},t(this.t,{i18n:n,t:s,lng:n.language,ready:a})))}}]),t}(f.Component);t.NamespacesConsumerComponent=g;var _=(0,p.withI18n)()(g);t.NamespacesConsumer=_},function(e,t,n){\"use strict\";e.exports=n(1554)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(12),l=r(u),c=n(1169),d=r(c),f=n(132),p=r(f),h=n(410),m=r(h),g=n(200),_=r(g),b=n(414),y=r(b),v=n(5),M=r(v),A=n(1),w=r(A),C=n(29),E=r(C),L=n(219),T=r(L),O=n(617),S=r(O),N=n(91),k=r(N),D=n(618),x=r(D),I=function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));return a.onWindowScroll=function(){a.onUpdate()},a.onDocumentClick=function(){(0,y.default)(function(){return a.onUpdate()})},a.onUpdate=function(){if(a._isMounted){var e=a.props,t=e.offsetTop,n=e.viewportOffsetTop,r=(0,_.default)((0,x.default)(a)),o=r+(n||0);return o<=t?void a.updateState(\"top\",null,null):o>a.getPositionTopMax()?void(\"bottom\"===a.state.affixed?a.updateStateAtBottom():a.setState({affixed:\"bottom\",position:\"absolute\",top:null},function(){a._isMounted&&a.updateStateAtBottom()})):void a.updateState(\"affix\",\"fixed\",n)}},a.getPositionTopMax=function(){var e=(0,S.default)((0,k.default)(a)),t=(0,d.default)(E.default.findDOMNode(a));return e-t-a.props.offsetBottom},a.updateState=function(e,t,n){if(e!==a.state.affixed||t!==a.state.position||n!==a.state.top){var r=\"affix\"===e?\"\":e.charAt(0).toUpperCase()+e.substr(1);a.props[\"onAffix\"+r]&&a.props[\"onAffix\"+r](),a.setState({affixed:e,position:t,top:n},function(){a.props[\"onAffixed\"+r]&&a.props[\"onAffixed\"+r]()})}},a.updateStateAtBottom=function(){var e=a.getPositionTopMax(),t=(0,m.default)(E.default.findDOMNode(a)),n=(0,p.default)(t).top;a.updateState(\"bottom\",\"absolute\",e-n)},a.state={affixed:\"top\",position:null,top:null},a._needPositionUpdate=!1,a}return a(t,e),t.prototype.componentDidMount=function(){var e=this;this._isMounted=!0,this._windowScrollListener=(0,T.default)((0,x.default)(this),\"scroll\",function(){return e.onWindowScroll()}),this._documentClickListener=(0,T.default)((0,k.default)(this),\"click\",function(){return e.onDocumentClick()}),this.onUpdate()},t.prototype.componentWillReceiveProps=function(){this._needPositionUpdate=!0},t.prototype.componentDidUpdate=function(){this._needPositionUpdate&&(this._needPositionUpdate=!1,this.onUpdate())},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this._windowScrollListener&&this._windowScrollListener.remove(),this._documentClickListener&&this._documentClickListener.remove()},t.prototype.render=function(){var e=w.default.Children.only(this.props.children),t=e.props,n=t.className,r=t.style,o=this.state,i=o.affixed,a=o.position,u=o.top,c={position:a,top:u},d=void 0,f=void 0;return\"top\"===i?(d=this.props.topClassName,f=this.props.topStyle):\"bottom\"===i?(d=this.props.bottomClassName,f=this.props.bottomStyle):(d=this.props.affixClassName,f=this.props.affixStyle),w.default.cloneElement(e,{className:(0,l.default)(d,n),style:s({},c,f,r)})},t}(w.default.Component);I.propTypes={offsetTop:M.default.number,viewportOffsetTop:M.default.number,offsetBottom:M.default.number,topClassName:M.default.string,topStyle:M.default.object,affixClassName:M.default.string,affixStyle:M.default.object,bottomClassName:M.default.string,bottomStyle:M.default.object,onAffix:M.default.func,onAffixed:M.default.func,onAffixTop:M.default.func,onAffixedTop:M.default.func,onAffixBottom:M.default.func,onAffixedBottom:M.default.func},I.defaultProps={offsetTop:0,viewportOffsetTop:null,offsetBottom:0},t.default=I,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(12),c=r(l),d=n(5),f=r(d),p=n(165),h=r(p),m=n(1),g=r(m),_=n(29),b=r(_),y=n(1566),v=r(y),M=n(172),A=r(M),w=n(91),C=r(w),E=function(e){function t(n,r){i(this,t);var o=a(this,e.call(this,n,r));return o.getTarget=function(){var e=o.props.target,t=\"function\"==typeof e?e():e;return t&&b.default.findDOMNode(t)||null},o.maybeUpdatePosition=function(e){var t=o.getTarget();(o.props.shouldUpdatePosition||t!==o._lastTarget||e)&&o.updatePosition(t)},o.state={positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null},o._needsFlush=!1,o._lastTarget=null,o}return s(t,e),t.prototype.componentDidMount=function(){this.updatePosition(this.getTarget())},t.prototype.componentWillReceiveProps=function(){this._needsFlush=!0},t.prototype.componentDidUpdate=function(e){this._needsFlush&&(this._needsFlush=!1,this.maybeUpdatePosition(this.props.placement!==e.placement))},t.prototype.render=function(){var e=this.props,t=e.children,n=e.className,r=o(e,[\"children\",\"className\"]),i=this.state,a=i.positionLeft,s=i.positionTop,l=o(i,[\"positionLeft\",\"positionTop\"]);delete r.target,delete r.container,delete r.containerPadding,delete r.shouldUpdatePosition;var d=g.default.Children.only(t);return(0,m.cloneElement)(d,u({},r,l,{positionLeft:a,positionTop:s,className:(0,c.default)(n,d.props.className),style:u({},d.props.style,{left:a,top:s})}))},t.prototype.updatePosition=function(e){if(this._lastTarget=e,!e)return void this.setState({positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null});var t=b.default.findDOMNode(this),n=(0,A.default)(this.props.container,(0,C.default)(this).body);this.setState((0,v.default)(this.props.placement,t,e,n,this.props.containerPadding))},t}(g.default.Component);E.propTypes={target:f.default.oneOfType([h.default,f.default.func]),container:f.default.oneOfType([h.default,f.default.func]),containerPadding:f.default.number,placement:f.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),shouldUpdatePosition:f.default.bool},E.displayName=\"Position\",E.defaultProps={containerPadding:0,placement:\"right\",shouldUpdatePosition:!1},t.default=E,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return 0===e.button}function u(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}t.__esModule=!0;var l=n(89),c=r(l),d=n(5),f=r(d),p=n(1),h=r(p),m=n(29),g=r(m),_=n(219),b=r(_),y=n(91),v=r(y),M=27,A=function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));return a.addEventListeners=function(){var e=a.props.event,t=(0,v.default)(a);a.documentMouseCaptureListener=(0,b.default)(t,e,a.handleMouseCapture,!0),a.documentMouseListener=(0,b.default)(t,e,a.handleMouse),a.documentKeyupListener=(0,b.default)(t,\"keyup\",a.handleKeyUp)},a.removeEventListeners=function(){a.documentMouseCaptureListener&&a.documentMouseCaptureListener.remove(),a.documentMouseListener&&a.documentMouseListener.remove(),a.documentKeyupListener&&a.documentKeyupListener.remove()},a.handleMouseCapture=function(e){a.preventMouseRootClose=u(e)||!s(e)||(0,c.default)(g.default.findDOMNode(a),e.target)},a.handleMouse=function(e){!a.preventMouseRootClose&&a.props.onRootClose&&a.props.onRootClose(e)},a.handleKeyUp=function(e){e.keyCode===M&&a.props.onRootClose&&a.props.onRootClose(e)},a.preventMouseRootClose=!1,a}return a(t,e),t.prototype.componentDidMount=function(){this.props.disabled||this.addEventListeners()},t.prototype.componentDidUpdate=function(e){!this.props.disabled&&e.disabled?this.addEventListeners():this.props.disabled&&!e.disabled&&this.removeEventListeners()},t.prototype.componentWillUnmount=function(){this.props.disabled||this.removeEventListeners()},t.prototype.render=function(){return this.props.children},t}(h.default.Component);A.displayName=\"RootCloseWrapper\",A.propTypes={onRootClose:f.default.func,children:f.default.element,disabled:f.default.bool,event:f.default.oneOf([\"click\",\"mousedown\"])},A.defaultProps={event:\"click\"},t.default=A,e.exports=t.default},function(e,t){\"use strict\";t.__esModule=!0,t.default=function(e){return Math.max(e.documentElement.offsetHeight||0,e.height||0,e.body.scrollHeight||0,e.body.offsetHeight||0)},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){return(0,s.default)(i.default.findDOMNode(e))};var o=n(29),i=r(o),a=n(1168),s=r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(5),i=r(o);t.default=i.default.shape({subscribe:i.default.func.isRequired,dispatch:i.default.func.isRequired,getState:i.default.func.isRequired})},function(e,t,n){(function(e){\"use strict\";function n(t){\"undefined\"!=typeof e&&\"function\"==typeof e.error&&e.error(t);try{throw new Error(t)}catch(e){}}t.__esModule=!0,t.default=n}).call(t,n(38))},function(e,t){\"use strict\";function n(e){return function(){for(var t=arguments.length,n=Array(t),o=0;o<t;o++)n[o]=arguments[o];return{type:r,payload:{method:e,args:n}}}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=t.CALL_HISTORY_METHOD=\"@@router/CALL_HISTORY_METHOD\",o=t.push=n(\"push\"),i=t.replace=n(\"replace\"),a=t.go=n(\"go\"),s=t.goBack=n(\"goBack\"),u=t.goForward=n(\"goForward\");t.routerActions={push:o,replace:i,go:a,goBack:s,goForward:u}},function(e,t){\"use strict\";function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.type,a=t.payload;return n===o?r({},e,{locationBeforeTransitions:a}):e}Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.routerReducer=n;var o=t.LOCATION_CHANGE=\"@@router/LOCATION_CHANGE\",i={locationBeforeTransitions:null}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e){return 0===e.button}function a(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function s(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function u(e,t){var n=t.query,r=t.hash,o=t.state;return n||r||o?{pathname:e,query:n,hash:r,state:o}:e}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(1),d=r(c),f=n(42),p=(r(f),n(33)),h=r(p),m=n(330),g=d.default.PropTypes,_=g.bool,b=g.object,y=g.string,v=g.func,M=g.oneOfType,A=d.default.createClass({displayName:\"Link\",contextTypes:{router:m.routerShape},propTypes:{to:M([y,b]).isRequired,query:b,hash:y,state:b,activeStyle:b,activeClassName:y,onlyActiveOnIndex:_.isRequired,onClick:v,target:y},getDefaultProps:function(){return{onlyActiveOnIndex:!1,style:{}}},handleClick:function(e){if(this.props.onClick&&this.props.onClick(e),!e.defaultPrevented&&(this.context.router?void 0:(0,h.default)(!1),!a(e)&&i(e)&&!this.props.target)){e.preventDefault();var t=this.props,n=t.to,r=t.query,o=t.hash,s=t.state,l=u(n,{query:r,hash:o,state:s});this.context.router.push(l)}},render:function(){var e=this.props,t=e.to,n=e.query,r=e.hash,i=e.state,a=e.activeClassName,c=e.activeStyle,f=e.onlyActiveOnIndex,p=o(e,[\"to\",\"query\",\"hash\",\"state\",\"activeClassName\",\"activeStyle\",\"onlyActiveOnIndex\"]),h=this.context.router;if(h){var m=u(t,{query:n,hash:r,state:i});p.href=h.createHref(m),(a||null!=c&&!s(c))&&h.isActive(m,f)&&(a&&(p.className?p.className+=\" \"+a:p.className=a),c&&(p.style=l({},p.style,c)))}return d.default.createElement(\"a\",l({},p,{onClick:this.handleClick}))}});t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(33),s=r(a),u=n(92),l=n(142),c=n(113),d=i.default.PropTypes,f=d.string,p=d.object,h=i.default.createClass({displayName:\"Redirect\",statics:{createRouteFromReactElement:function(e){var t=(0,u.createRouteFromReactElement)(e);return t.from&&(t.path=t.from),t.onEnter=function(e,n){var r=e.location,o=e.params,i=void 0;if(\"/\"===t.to.charAt(0))i=(0,l.formatPattern)(t.to,o);else if(t.to){var a=e.routes.indexOf(t),s=h.getRoutePattern(e.routes,a-1),u=s.replace(/\\/*$/,\"/\")+t.to;i=(0,l.formatPattern)(u,o)}else i=r.pathname;n({pathname:i,query:t.query||r.query,state:t.state||r.state})},t},getRoutePattern:function(e,t){for(var n=\"\",r=t;r>=0;r--){var o=e[r],i=o.path||\"\";if(n=i.replace(/\\/*$/,\"/\")+n,0===i.indexOf(\"/\"))break}return\"/\"+n}},propTypes:{path:f,from:f,to:f.isRequired,query:p,state:p,onEnter:c.falsy,children:c.falsy},render:function(){(0,s.default)(!1)}});t.default=h,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return a({},e,{setRouteLeaveHook:t.listenBeforeLeavingRoute,isActive:t.isActive})}function i(e,t){return e=a({},e,t)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.createRouterObject=o,t.createRoutingHistory=i;var s=n(224);r(s)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(0,c.default)(e),n=function(){return t},r=(0,a.default)((0,u.default)(n))(e);return r.__v2_compatible__=!0,r}t.__esModule=!0,t.default=o;var i=n(133),a=r(i),s=n(293),u=r(s),l=n(426),c=r(l);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.default=function(e){var t=void 0;return a&&(t=(0,i.default)(e)()),t};var o=n(629),i=r(o),a=!(\"undefined\"==typeof window||!window.document||!window.document.createElement);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return i({},e,t)}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=o;var a=(n(224),n(42));r(a);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return function(t){var n=(0,a.default)((0,u.default)(e))(t);return n.__v2_compatible__=!0,n}}t.__esModule=!0,t.default=o;var i=n(133),a=r(i),s=n(293),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp(\"^\"+t.call(n).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");try{var o=t.call(e);return r.test(o)}catch(e){return!1}}function o(e){var t=l(e);if(t){var n=t.childIDs;c(e),n.forEach(o)}}function i(e,t,n){return\"\\n    in \"+(e||\"Unknown\")+(t?\" (at \"+t.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+t.lineNumber+\")\":n?\" (created by \"+n+\")\":\"\")}function a(e){return null==e?\"#empty\":\"string\"==typeof e||\"number\"==typeof e?\"#text\":\"string\"==typeof e.type?e.type:e.type.displayName||e.type.name||\"Unknown\"}function s(e){var t,n=E.getDisplayName(e),r=E.getElement(e),o=E.getOwnerID(e);return o&&(t=E.getDisplayName(o)),i(n,r&&r._source,t)}var u,l,c,d,f,p,h,m=n(145),g=n(82),_=(n(17),n(20),\"function\"==typeof Array.from&&\"function\"==typeof Map&&r(Map)&&null!=Map.prototype&&\"function\"==typeof Map.prototype.keys&&r(Map.prototype.keys)&&\"function\"==typeof Set&&r(Set)&&null!=Set.prototype&&\"function\"==typeof Set.prototype.keys&&r(Set.prototype.keys));if(_){var b=new Map,y=new Set;u=function(e,t){b.set(e,t)},l=function(e){return b.get(e)},c=function(e){b.delete(e)},d=function(){return Array.from(b.keys())},f=function(e){y.add(e)},p=function(e){y.delete(e)},h=function(){return Array.from(y.keys())}}else{var v={},M={},A=function(e){return\".\"+e},w=function(e){return parseInt(e.substr(1),10)};u=function(e,t){var n=A(e);v[n]=t},l=function(e){var t=A(e);return v[t]},c=function(e){var t=A(e);delete v[t]},d=function(){return Object.keys(v).map(w)},f=function(e){var t=A(e);M[t]=!0},p=function(e){var t=A(e);delete M[t]},h=function(){return Object.keys(M).map(w)}}var C=[],E={onSetChildren:function(e,t){var n=l(e);n?void 0:m(\"144\"),n.childIDs=t;for(var r=0;r<t.length;r++){var o=t[r],i=l(o);i?void 0:m(\"140\"),null==i.childIDs&&\"object\"==typeof i.element&&null!=i.element?m(\"141\"):void 0,i.isMounted?void 0:m(\"71\"),null==i.parentID&&(i.parentID=e),i.parentID!==e?m(\"142\",o,i.parentID,e):void 0}},onBeforeMountComponent:function(e,t,n){var r={element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0};u(e,r)},onBeforeUpdateComponent:function(e,t){var n=l(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=l(e);t?void 0:m(\"144\"),t.isMounted=!0;var n=0===t.parentID;n&&f(e)},onUpdateComponent:function(e){var t=l(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=l(e);if(t){t.isMounted=!1;var n=0===t.parentID;n&&p(e)}C.push(e)},purgeUnmountedComponents:function(){if(!E._preventPurging){for(var e=0;e<C.length;e++){var t=C[e];o(t)}C.length=0}},isMounted:function(e){var t=l(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t=\"\";if(e){var n=a(e),r=e._owner;t+=i(n,e._source,r&&r.getName())}var o=g.current,s=o&&o._debugID;return t+=E.getStackAddendumByID(s)},getStackAddendumByID:function(e){for(var t=\"\";e;)t+=s(e),e=E.getParentID(e);return t},getChildIDs:function(e){var t=l(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=E.getElement(e);return t?a(t):null},getElement:function(e){var t=l(e);return t?t.element:null},getOwnerID:function(e){var t=E.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=l(e);return t?t.parentID:null},getSource:function(e){var t=l(e),n=t?t.element:null,r=null!=n?n._source:null;return r},getText:function(e){var t=E.getElement(e);return\"string\"==typeof t?t:\"number\"==typeof t?\"\"+t:null},getUpdateCount:function(e){var t=l(e);return t?t.updateCount:0},getRootIDs:h,getRegisteredIDs:d};e.exports=E},function(e,t){\"use strict\";var n=\"function\"==typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103;e.exports=n},function(e,t,n){\"use strict\";var r=!1;e.exports=r},function(e,t,n){\"use strict\";t.__esModule=!0,t.untouch=t.touch=t.swapArrayValues=t.submitFailed=t.stopSubmit=t.stopAsyncValidation=t.startSubmit=t.startAsyncValidation=t.reset=t.removeArrayValue=t.initialize=t.focus=t.destroy=t.change=t.blur=t.autofill=t.addArrayValue=void 0;var r=n(334);t.addArrayValue=function(e,t,n,o){return{type:r.ADD_ARRAY_VALUE,path:e,value:t,index:n,fields:o}},t.autofill=function(e,t){return{type:r.AUTOFILL,field:e,value:t}},t.blur=function(e,t){return{type:r.BLUR,field:e,value:t}},t.change=function(e,t){return{type:r.CHANGE,field:e,value:t}},t.destroy=function(){return{type:r.DESTROY}},t.focus=function(e){return{type:r.FOCUS,field:e}},t.initialize=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!Array.isArray(t))throw new Error(\"must provide fields array to initialize() action creator\");return{type:r.INITIALIZE,data:e,fields:t,overwriteValues:n}},t.removeArrayValue=function(e,t){return{type:r.REMOVE_ARRAY_VALUE,path:e,index:t}},t.reset=function(){return{type:r.RESET}},t.startAsyncValidation=function(e){return{type:r.START_ASYNC_VALIDATION,field:e}},t.startSubmit=function(){return{type:r.START_SUBMIT}},t.stopAsyncValidation=function(e){return{type:r.STOP_ASYNC_VALIDATION,errors:e}},t.stopSubmit=function(e){return{type:r.STOP_SUBMIT,errors:e}},t.submitFailed=function(){return{type:r.SUBMIT_FAILED}},t.swapArrayValues=function(e,t,n){return{type:r.SWAP_ARRAY_VALUES,path:e,indexA:t,indexB:n}},t.touch=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{type:r.TOUCH,fields:t}},t.untouch=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return{type:r.UNTOUCH,fields:t}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return\"function\"==typeof e?function(){return i({},e.apply(void 0,arguments),t)}:\"object\"==typeof e?(0,s.default)(e,function(e){return o(e,t)}):e}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=o;var a=n(335),s=r(a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(336),a=n(643),s=r(a),u=function(e,t,n){var r,a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],u=!(arguments.length>4&&void 0!==arguments[4])||arguments[4];return o({},(0,s.default)(e,t,n,a),(r={_asyncValidating:!1,_active:void 0},r[i.globalErrorKey]=void 0,r._initialized=u,r._submitting=!1,r._submitFailed=!1,r))};t.default=u},function(e,t){\"use strict\";t.__esModule=!0;var n=t.dataKey=\"value\",r=function(e,t){return function(e){e.dataTransfer.setData(n,t())}};t.default=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(638),i=r(o),a=function(e){var t=[];if(e)for(var n=0;n<e.length;n++){var r=e[n];r.selected&&t.push(r.value)}return t},s=function(e,t){if((0,i.default)(e)){if(!t&&e.nativeEvent&&void 0!==e.nativeEvent.text)return e.nativeEvent.text;if(t&&void 0!==e.nativeEvent)return e.nativeEvent.text;var n=e.target,r=n.type,o=n.value,s=n.checked,u=n.files,l=e.dataTransfer;return\"checkbox\"===r?s:\"radio\"===r?s?o:\"\":\"file\"===r?u||l&&l.files:\"select-multiple\"===r?a(e.target.options):\"\"===o||\"number\"!==r&&\"range\"!==r?o:parseFloat(o)}return e&&\"object\"==typeof e&&void 0!==e.value?e.value:e};t.default=s},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e){return!!(e&&e.stopPropagation&&e.preventDefault)};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(638),i=r(o),a=function(e){var t=(0,i.default)(e);return t&&e.preventDefault(),t};t.default=a},function(e,t){\"use strict\";function n(e){return e.displayName||e.name||\"Component\"}t.__esModule=!0,t.default=n},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e){var t=e.value,n=e.initialValue;return\"undefined\"!=typeof t?t:n},r=function e(t,r,o){var i=t.indexOf(\".\"),a=t.indexOf(\"[\"),s=t.indexOf(\"]\");if(a>0&&s!==a+1)throw new Error(\"found [ not followed by ]\");if(a>0&&(i<0||a<i)){var u=t.substring(0,a),l=t.substring(s+1);\".\"===l[0]&&(l=l.substring(1));var c=r&&r[u]||[];l?(o[u]||(o[u]=[]),c.forEach(function(t,n){o[u][n]||(o[u][n]={}),e(l,t,o[u][n])})):o[u]=c.map(n)}else if(i>0){var d=t.substring(0,i),f=t.substring(i+1);o[d]||(o[d]={}),e(f,r&&r[d]||{},o[d])}else o[t]=r[t]&&n(r[t])},o=function(e,t){return e.reduce(function(e,n){return r(n,t,e),e},{})};t.default=o},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(146),o=function e(t){if(!t)return t;var n=Object.keys(t);if(n.length)return n.reduce(function(n,o){var i=t[o];if(i)if((0,r.isFieldValue)(i))void 0!==i.value&&(n[o]=i.value);else if(Array.isArray(i))n[o]=i.map(function(t){return(0,r.isFieldValue)(t)?t.value:e(t)});else if(\"object\"==typeof i){var a=e(i);a&&Object.keys(a).length>0&&(n[o]=a)}return n},{})};t.default=o},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(146),i=function(e,t,n){return void 0===e&&void 0===t?(0,o.makeFieldValue)({}):(0,o.makeFieldValue)({initial:e,value:n?e:t})},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t)throw new Error(\"fields must be passed when initializing state\");if(!e||!t.length)return n;var a=function e(t,n,a){var s=t.indexOf(\".\");if(0===s)return e(t.substring(1),n,a);var u=t.indexOf(\"[\"),l=t.indexOf(\"]\"),c=r({},a)||{};if(s>=0&&(u<0||s<u)){var d=t.substring(0,s);c[d]=n[d]&&e(t.substring(s+1),n[d],c[d]||{})}else if(u>=0&&(s<0||u<s)){if(l<0)throw new Error(\"found '[' but no ']': '\"+t+\"'\");var f=t.substring(0,u),p=n[f],h=c[f],m=t.substring(l+1);Array.isArray(p)?m.length?c[f]=p.map(function(t,n){return e(m,t,h&&h[n])}):c[f]=p.map(function(e,t){return i(e,h&&h[t]&&h[t].value,o)}):c[f]=[]}else c[t]=i(n&&n[t],a&&a[t]&&a[t].value,o);return c};return t.reduce(function(t,n){return a(n,e,t)},r({},n))};t.default=a},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e){if(\"boolean\"==typeof e)return e;if(\"string\"==typeof e){var t=e.toLowerCase();if(\"true\"===t)return!0;if(\"false\"===t)return!1}};t.default=n},function(e,t){\"use strict\";t.__esModule=!0;var n=function e(t,n){if(!t||!n)return n;var r=t.indexOf(\".\");if(0===r)return e(t.substring(1),n);var o=t.indexOf(\"[\"),i=t.indexOf(\"]\");if(r>=0&&(o<0||r<o))return e(t.substring(r+1),n[t.substring(0,r)]);if(o>=0&&(r<0||o<r)){if(i<0)throw new Error(\"found [ but no ]\");var a=t.substring(0,o),s=t.substring(o+1,i);if(!s.length)return n[a];if(0===o)return e(t.substring(i+1),n[s]);if(!n[a])return;return e(t.substring(i+1),n[a][s])}return n[t]};t.default=n},function(e,t){\"use strict\";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r=function e(t,r,o){var i,a=t.indexOf(\".\");if(0===a)return e(t.substring(1),r,o);var s=t.indexOf(\"[\"),u=t.indexOf(\"]\");if(a>=0&&(s<0||a<s)){var l,c=t.substring(0,a);return n({},o,(l={},l[c]=e(t.substring(a+1),r,o[c]||{}),l))}if(s>=0&&(a<0||s<a)){var d;if(u<0)throw new Error(\"found [ but no ]\");var f=t.substring(0,s),p=t.substring(s+1,u),h=o[f]||[],m=t.substring(u+1);if(p){var g;if(m.length){var _,b=h[p]||{},y=[].concat(h);return y[p]=e(m,r,b),n({},o||{},(_={},_[f]=y,_))}var v=[].concat(h);return v[p]=\"function\"==typeof r?r(v[p]):r,n({},o||{},(g={},g[f]=v,g))}if(m.length){var M;if(!(h&&h.length||\"function\"!=typeof r))return o;var A=h.map(function(t){return e(m,r,t)});return n({},o||{},(M={},M[f]=A,M))}var w=void 0;if(Array.isArray(r))w=r;else if(o[f])w=h.map(function(e){return\"function\"==typeof r?r(e):r});else{if(\"function\"==typeof r)return o;w=r}return n({},o||{},(d={},d[f]=w,d))}return n({},o,(i={},i[t]=\"function\"==typeof r?r(o[t]):r,i))};t.default=r},function(e,t){\"use strict\";e.exports=function(e){return e===e.window?e:9===e.nodeType&&(e.defaultView||e.parentWindow)}},function(e,t,n){function r(){this.init(),this._w=h,d.call(this,64,56)}function o(e,t,n){return n^e&(t^n)}function i(e,t,n){return e&t|n&(e|t)}function a(e){return(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10)}function s(e){return(e>>>6|e<<26)^(e>>>11|e<<21)^(e>>>25|e<<7)}function u(e){return(e>>>7|e<<25)^(e>>>18|e<<14)^e>>>3}function l(e){return(e>>>17|e<<15)^(e>>>19|e<<13)^e>>>10}var c=n(109),d=n(147),f=n(114).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],h=new Array(64);\nc(r,d),r.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},r.prototype._update=function(e){for(var t=this._w,n=0|this._a,r=0|this._b,c=0|this._c,d=0|this._d,f=0|this._e,h=0|this._f,m=0|this._g,g=0|this._h,_=0;_<16;++_)t[_]=e.readInt32BE(4*_);for(;_<64;++_)t[_]=l(t[_-2])+t[_-7]+u(t[_-15])+t[_-16]|0;for(var b=0;b<64;++b){var y=g+s(f)+o(f,h,m)+p[b]+t[b]|0,v=a(n)+i(n,r,c)|0;g=m,m=h,h=f,f=d+y|0,d=c,c=r,r=n,n=y+v|0}this._a=n+this._a|0,this._b=r+this._b|0,this._c=c+this._c|0,this._d=d+this._d|0,this._e=f+this._e|0,this._f=h+this._f|0,this._g=m+this._g|0,this._h=g+this._h|0},r.prototype._hash=function(){var e=f.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=_,h.call(this,128,112)}function o(e,t,n){return n^e&(t^n)}function i(e,t,n){return e&t|n&(e|t)}function a(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function s(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function u(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^e>>>7}function l(e,t){return(e>>>1|t<<31)^(e>>>8|t<<24)^(e>>>7|t<<25)}function c(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^e>>>6}function d(e,t){return(e>>>19|t<<13)^(t>>>29|e<<3)^(e>>>6|t<<26)}function f(e,t){return e>>>0<t>>>0?1:0}var p=n(109),h=n(147),m=n(114).Buffer,g=[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],_=new Array(160);p(r,h),r.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},r.prototype._update=function(e){for(var t=this._w,n=0|this._ah,r=0|this._bh,p=0|this._ch,h=0|this._dh,m=0|this._eh,_=0|this._fh,b=0|this._gh,y=0|this._hh,v=0|this._al,M=0|this._bl,A=0|this._cl,w=0|this._dl,C=0|this._el,E=0|this._fl,L=0|this._gl,T=0|this._hl,O=0;O<32;O+=2)t[O]=e.readInt32BE(4*O),t[O+1]=e.readInt32BE(4*O+4);for(;O<160;O+=2){var S=t[O-30],N=t[O-30+1],k=u(S,N),D=l(N,S);S=t[O-4],N=t[O-4+1];var x=c(S,N),I=d(N,S),z=t[O-14],j=t[O-14+1],P=t[O-32],B=t[O-32+1],F=D+j|0,R=k+z+f(F,D)|0;F=F+I|0,R=R+x+f(F,I)|0,F=F+B|0,R=R+P+f(F,B)|0,t[O]=R,t[O+1]=F}for(var W=0;W<160;W+=2){R=t[W],F=t[W+1];var Y=i(n,r,p),H=i(v,M,A),q=a(n,v),U=a(v,n),X=s(m,C),V=s(C,m),G=g[W],$=g[W+1],K=o(m,_,b),Q=o(C,E,L),Z=T+V|0,J=y+X+f(Z,T)|0;Z=Z+Q|0,J=J+K+f(Z,Q)|0,Z=Z+$|0,J=J+G+f(Z,$)|0,Z=Z+F|0,J=J+R+f(Z,F)|0;var ee=U+H|0,te=q+Y+f(ee,U)|0;y=b,T=L,b=_,L=E,_=m,E=C,C=w+Z|0,m=h+J+f(C,w)|0,h=p,w=A,p=r,A=M,r=n,M=v,v=Z+ee|0,n=J+te+f(v,Z)|0}this._al=this._al+v|0,this._bl=this._bl+M|0,this._cl=this._cl+A|0,this._dl=this._dl+w|0,this._el=this._el+C|0,this._fl=this._fl+E|0,this._gl=this._gl+L|0,this._hl=this._hl+T|0,this._ah=this._ah+n+f(this._al,v)|0,this._bh=this._bh+r+f(this._bl,M)|0,this._ch=this._ch+p+f(this._cl,A)|0,this._dh=this._dh+h+f(this._dl,w)|0,this._eh=this._eh+m+f(this._el,C)|0,this._fh=this._fh+_+f(this._fl,E)|0,this._gh=this._gh+b+f(this._gl,L)|0,this._hh=this._hh+y+f(this._hl,T)|0},r.prototype._hash=function(){function e(e,n,r){t.writeInt32BE(e,r),t.writeInt32BE(n,r+4)}var t=m.allocUnsafe(64);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t},e.exports=r},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA6VJREFUaAXtWDtyGkEQ7UaqsiARiV04shRKCsQNxA2MM6MEdAKtT2DfwOgElhPJmdAJjE5gFAiFwpGxI5ywlKu07X67LAXywn6YrXIwUwU7n+7efm9menqWyBbLgGXAMmAZsAxYBiwDlgHLgGXAMpCFAc6ilEan8vZ+h1lOiaVGxNVAV3ok3BXhs+GXvUEae2llcwX4stF3FNh7BVZe5phH5Py82D9bNr5uf24AFVybmE7hoAj91keHmLtos0hViFrMtI22kJwPLw5OUDddcgH4otGvbzBdwVkFdzNxi/VRZ3c073y5/lDeKrptBdlE/6PQm1+X+515GRP1XABWjvsDNfxK0d3+uDyY7rtodyuNfldBHikRg+Hl/m60VPbeQnbVaM3nx3dVH5wOixScaKm5XuEWWgpyBzM/N2KkahzgBpHvpO6x7xohu3FeIopCFnIFlpWzHWcratw4wNlLdMnN6nGVNLJxtp6M5wcQezBhYZJyQtHUYsYBesI9eIE9hUM+ziNfhvkQcqFunE6aceMAEeqn556ClI9xznDBa0MGOn/cYjdOPu24cYBwQKPoB98Rpnrl+O6TX4/40zGV49eBrLSfnpURKqm71Jd8ip5v57pMm7COM06Y2jxdvtq1w+w5Cq46Hb/RM7CGuumSG0A4Og9ymeMK/rNmOk4es4d35goQL9AgUtN9htkKliI6/SLX4hXaSc7KUOO/fyL/TBJZTQLJdQaDhHpyqOukBqdxi8BTODhKhLwee4XbPO+ExgEC1LOS2yyQtMIgAlCrS34XYKMAEfbV4KkCK88D8nPNp+mYJgIq+0+2g7vhZFx6ZyroGAGIG8SG8BWylxAYoqOe9N3JeKuzyln/7khUUxJaqr8d6MvoUfjExP1wbYDTKHk1mzWhM/3Wgug4CMEmefr7tTR2dIM6IVAhPhle7J0n0V8msxZAzNwm8TcYR6qlztXXDfuIspoE4PPGIeyue9PPDBCMF0vjrwgkU3DVtLMGAFElmE23p87pHpWROy7trlrmUTbCvsy56FZpUp9FyWDmBqHRdZ8+GI9bgR0uF4vutJ7ecmaATJ4CRJHrdZdlYGfx37ep33T8Xpbm4mjy1mZy0UVJDSQ1DQY4tR8qjfujxVFTLXlQS7oXww/G6e1mBqiv6uivqVmKozdyJ/2rk2voHr9JLr0omXmJ4gaAs84PMIs2DbfkGt9VDRu15iwDlgHLgGXAMmAZsAxYBiwDlgHLQAwDfwE0GkXg4xLMngAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABQFJREFUaAXtWL12GkcUvheSc8CNaJKDq6xLy0XwExg9gXEXqSJPEPQE9htYb2BVUjrhJxB+AklFUClcRUka3FgU1o6/b3YvWohA+4OTZuYcmN2Ze+f+/8yKhBE0EDQQNBA0EDQQNBA0EDQQNBA0EDRQRgNaBikvzg97f3TqUnspznVVXUtEOwmuO3dOp6I6upX4/T9Hz87znlkU7psI+OPuuFcTeasqUR6GnJNJLLL/9/H2MA98EZiNCtj+5TISde8gWNeYAPOf8DzE+kSkhh9HHInTCA89wG5h9gOwI6z/ev3700m6VHnamIB0x+9ETuGGcEWBV8oHMPsGzI7WcZlaewBBXyRwbvpFZGdTbrsRARPh9IwM0mJwt/6yu7V6V61Gc/YzYWY3jYvp8MmUzzbae5d9IB+YRb+Ie74JIREq1QbdMrFcItytuq4Jxz1aiBQajVkHiWbEH5+5xj3AdPl8ffT0kLipSwvP9C7PzQqjsoCIrUO6JRkjg6Z1Mq81d1VHTNJ6yzxyjXuAOfXWAwBx74SEq2N/Ga/oeyUBvRAWO6oDE45M1Jyec0Y5UFqMsfjn0bbyx+fvH32OnCgTEHIOkks6eAbi5g1fmazMA9Lt/3Zq740nj/fGrr07HhllWsMsRvezZ9vPztwzF6U7miUJwzPTs6+yOEWfSyeZhcQS6w6tQmbpcrDb1MW1Vw9lUGP2Dg+YsT4B3oSWq6ucEKZKwintonXUMBJn7M0FqUnk1+B6s1nDuyjfHxqE5Tn8xeo6hGei4jufjRafi47SAqLGdVNiQyPKTEgLSKz95TJgMPfNHtZpb3bTjCwDL5x9R+s+9LVryMblhorvLZEJ2KGIMJ6szl0fry/u91E0F2/vXrp5nfRnK5KN27oPJ89aaQFB1Rdta7/SOof486NUbCfx62vmDk4ZqW/IeZ416f7sQn/lXbQQmf8PuLwFnbtIrBhHZJ+JAlak5ksPxK/HtwTlcMWCgzKTXZQ9tLSAKNJTkAZxjTilSWXEWGQJyRZ97j80WCoo2EJy4tmUD7Qewl+1X95F0VPyUCSAl3Y4mWw0b87qTk9sLc9MpWgtPmk++nyVLfbA7Xn8lFaes5ZhSgt4yzteQn3ejfAV7VXEX5EWiwmKLR2wW9a2pW2gz553tBKKRf5LC0gXdCIfPTF1rzn7gu9kn50H6xktSuusY4gwCZ524Irzyy4YGxCPNIq6e5aeD6PsQpHnbDvlmUOhN3wwHsHtzvy3l+SWPrI9zhSMtwW4eAtt3XMIObH9x7vjAWLvLd9vnbxaKv4GlmuuJCApsCmGc72Arhdu4owlNAPv2G6xQ/F10vepgES29Fm3eTMB7lZWOdkvA8D9cH283c0lyQqg0i46P89pP+kZtYWUfEoGuce2ja6KoBwsZMYU0a9hj8ISlstLwn1Chu5zvcqobEESTxhLPlnQkk5q+8a0MedbufQm/69yAKDELRnLyTedKjcIo8l5IwLyIAqJ8kB39ZkPVh2hUB/8dfTsPfdXDcYx3Og34HUJQ2/IfhlYhZd3fWMCkiATCxLHYRKTxgItypKCT4b4/ulXVSJ+OgTxnlmM64w5umU24Xj4Cn8bFdD48FZROcDhP9nauhkK+Bg7GVTJlqvO/yYCGjHvtrQS7nP+emU3EPSWyJxTWBuf7mVYpc4ZrTAHDQQNBA0EDQQNBA0EDQQNBA0EDQQNbFYDXwE4V1mUFO9fRQAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAZFJREFUaAXtmLFOwzAQhm2HwUxkQSojY8XQvkHbN2CEPgWP0qcARt6g6RuUgXZkrcRSJrwkJhcaVFVGSpxrHaLfyyWnu8vdd5btWAgMEAABEAABEAABEAABEAABEPAhIH2cyOdqurIkbSYnm+d+Qs9tHKqNSXHmhAI5aYaI1fkOnnFRjW/fY31uBhRv89RfkLycvg0jqy5SmX1+PN4sSXc4XH6HNk3e2QrU2gyltPNdMsXqHFk5y3WjXFLBY1eiLj+Xna+u81MUBfpOjbb4oYNt6YRvHmyraNUEenfrsZDCmi/9un253rr8qmwvLj+X7uRTVCo7z7eOhLYHV0Kk220vCcm/bKrqT15g1cS47FAgF8lQcdDBUOS5vosOcpEMFQcdDEWe67tsRzVj9DI/nUz2E0ulfYgyFacq+z2S0TUj2ZB9Kav47cet81z8eddxKG3/y71o4w5aZQe9+3VxCVwWfwxZ3vPUjd24wHyVmgl59PqoLq/Z1vlVtG7HYQ8CIAACIAACIAACIAACIAACPwS+Abk5ZzIAaVwPAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA6xJREFUaAXtWL1S20AQ3lVSWK5cQhVTAgV+A8QTxGWggTxB4AkQT4B5A9OYlOYJIt7AFECJOpxOaWw3aPPtgWTGYxvrpMmQmbsZSee7/bn9dm/3zkSuOQQcAg4Bh4BDwCHgEHAIOAQcAg4BGwTYhuktT6P92Kj5kx1iCt6Ol+4LRZNx7TbpbyRlZJUycO3g4YgpPSfiRplFLOaVRMg7GfY2u4tpls9YG7j27SFgT34tF1/NrKS8N/y5GdlI+2zDZHhYQvMVuR2P60HRUDKhXZ/8mIxqFxmvgiae7PzubV3ovO+PImJG+BtdgdFX8OUVpM/JmWlXfwh7nWyB+eQKnZo/7jBJ6PvjMCdn6WNBHTX0RSZ3dS7TldMV6FgbSPCc0SMSFNCXk6ZEfRG6eSaKskHsly4gu55MagMdE6KWmct0mR/FXvZ78OAuZOJTVYeFaihFxVS/Qw3g4LlAqYTkbNjbDrVftFkbqIrW9u+jMuGzymLVy8OrrWAV2nk0pQxUgVoq4MIA3SaeKlusUVGmRFS5mA8rq5QHke2azHKONB4g11Vc7CVBio5E+AQ1MLZF0NpAU6fqo8fqDZs1RZLxqL5hU4pUknWh9+ujrhqHJPAHe+WYUopVYKHmYd/O8KUsDU84IZ0T6TBzQ3UlRO1Csl+JrQ0U4pa6H0/4ZHFWXHstMzi55CVgff9u8AknF4C2geQSgaYJDacI0x0b45SnRKGnivfc1IRnLzWyWT2pDQV3OlusZ824fnDXh+avKMOJiHcMtXEx1Ya6iXdsetNXE90YDxJY2oGOBnRcP/W22xgr3OxDNIVRyJ66R5BJu4U1r8SA06ru8RcAV+KYJbIOUZO6hVuK7qzQ6n5DNnSUKRPVreWDSrLeg5k95qhG6S6QbmZjlXxZYoRmNLzavCwjr5SB/+iwDSO39myNtDYwq2NGMe5rwtS3XcQ8PhYUdr3No5W5Llln0ZcFQLnQ5fBq+2jeIpeN6a0dWfgUoX2W/d+yvn/fAc+X8dj/jqNZiAjp4jp2CC+gHFG4TN6iOessmqEL5YNFwpeNo7S09UKr34wON/gjlPR2rTZp6dhUtmZru2ZtIDx3Y1SyHOrBu6h6eCnU0NNvzivcRjzq7SEyMiFb53JdOeHqHYBk1zTE/oe/Da09qCjjwP3dnDTsMHqXS2WrjmyPvsswh8Dag5ksvfTiitPy8GRjVXxT4QGuTQMYF1chz8lwCDgEHAIOAYeAQ8Ah4BBwCDgEHALFEPgL7etWTUYHOU0AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABH1JREFUaAXtWEtSm0cQ7hZJlWETbZKSVyhLyML4BMgnCMugjeEG8gmsnAByAssb7CWcAHGCkIXF0mJlKl5E2UCqAup834xGD+z/wfyiKouZheZXT/f0u3tmRNJIFkgWSBZIFkgWSBZIFkgWSBZIFkgWiLGAxhCVpfm+/WFrRWo/i1lL1eoiuuVp7dxMR6Lav5Pxyeejn87L7vlQvEdR8IfdwU5N5EBVmmUEMpPhWOTVn+82j8vgPwRnqQo2frloitobKNYKQpjIpZpQ8KGoHBAOhd7SowaPQoD1Ka5JX0z3r95vDAOs6rw0BRmO34icIgzrFApKnEHYLoTtByGftgfQF2tjfRHgE293YJRtj2ejW5EXywrbpSjoldPfgyLwzP7V0UYv/A9zY3fQ5/edWue+Ao32xR6scghFvyPOrdjz+ziEP3RUVpBhqbUxlPOeE4Tjzc3q/uj4x1GRMPWdj/Vv166bQZFG+0NXRV97OhvZuPa8ariiFlQcar2pctxKZefJ6g1zrnCsrl33/r1eGxLx6e6gM1OOEBgM+cyvKqOSgsyfae6YvIL3fnPCqPaKhEK4Opzg6Vu1PvL2b4TpHwxx0rNYkUfRXo+23mgPhiwcIbfIyFXSAo7MN0fHvJsboG2Fv9xzsvfHAIuZoz3IwoIEXidT9LDDwLwoZ5zXxYfeP9dPFkI5VFa3FyowZ3ixSV4OFvGDyh43VkRc6DCsiho0BVwxZeNvzbjZSQjPGWz2RWURIZc04oTX+Wy1/Fe0B9HjWmSDht3nnDV8C5HTReUc9naRZyYHBDROzyuLRx482oMq7myJuiJ/NXYvtjOZmHVRWeuugKh2HJ7rd1pfMTkAbTeTlscFDBjR9cZsvOyV6D4YTiXZWy+uzDd/FhkY6M0iRv6/T0ebUbLGh2i+PP+b1egQZb9C7DxDEL1FjvQyNVLrIv+2VcYMRx9y+EbggcROcFo5zKHdA+1LxysTKX8hWkGE3GgSM82F8n6PHwpJBxW0r6p15FLPLyNAUX3vVLqf329kVkf0wi7xycvTPfw3PkQn1RNCP8tjy3MmDtctKHQW8PhNWDiDBvhX5i0HK6jUX6GbgqISl9S+/PsbxHwBme5c8WO+EFW5WUR7kNZHQl06PcxeVtTnC3K1cYdA8ijh6S/oAyBaQW4wNnFCsInzNhA2rTq7vVDA5nnE7hkdooEhD8WskrD1Um7i4eSDKsvDwdnVu81W4BUzV/KgY2i6x4pIgVCST4uOX3lC3lMOVyfdy8Mvs1ZZQd4eWBE9M6+ke34ow30OhzQ0EA1FMPfk3nMoUZ+VQzRwpfV9v/NvKvBqHx74Na9HktbdAdVeM4/5n9FQsoUQvXAsTUFycpddNHOfk4E33laEz4a1IUri0EFVmihRTTDfCR4jnDnHsFyG5xwf/CxVwbCpewpUOcTm6wGWN8MAl6zIRffKvD2y1h5FwcDMhS29hPscDmd4RPKlH67iuwue7g1P93Jcpc8FXmlOFkgWSBZIFkgWSBZIFkgWSBZIFkgWWK4F/gOhQsVV/LFJmQAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA2dJREFUaAXtWD16GjEQ1eyXItCEEnekxBTGJwg+QShjN8YnCDlB8AnMDWw3kNI+gZ0ThBSOyziVKUkDrpi80e7iZRFhf6ROW4A0Gs3OeyONNKuUfzwDngHPgGfAM+AZ8Ax4BjwDngEnDJATqymj9ZPHHqnlZ6WoHQ7xhDkYTsfN65Sq9a5TgLXu71qlOr97BZb2nyeLefVodvN+lh6x1X9jy5DJTqUyvwe4AxljVt8VMfrSoQ6R+iDAhQCgO9RyBz/OIrh3/KuvSF1oPIrPp6PWIOl//eRhQIq+huN0Nh01r5LjttqBLUObdrgnMolcGpzItYz5p7TD/Skt+487gBQuzdWyNPjOpG5CcZx8DEolRe4AlnTM1nR3AKPlh4SCZGJ+iFVXj8S6ZrVSUmcAmYKheIZs2cE5qJNJ0lNJMhgMM2ykmxy31XaWRcXBveOHSQwC6WbCKtB7DkkFkYv2HaL3PG61bQFK23F6Dq6/jNqkOAKS4BXCdT27PWdLNDwH6QDe/2FFZ/qgj3yXtpZhTCKpde3iWllLULmSlW7UPz02KFj+gPM1XtLR9Fvz3mQUeh0K+A7Ld8bL4BB6Tya9MjInEQS4oYCD47fbwInT4Rjfii4RX5QBsm2udYASFTj8EcvwL6LS3/biWC46oovrTDecG4/Y+bcKUKoH3FwuxTWs/UGWJSc6oqvhYK62oTt2fqwCfFud93HuNXABRerfxzLN9mhdzJG5YiPbrGxa1gDqxBJXB7x7aabdQwGsgUmFIbbS40X7pbLoZqUubvDkedQqVN+tXwxCW2Ur/0IAbVfqtu0lo13oJmO7UrdtLwkwdwTzVOq4hH3ZlWzy2JPbT97Kv0CSyV6p48g4TbJpbme3V6Tyzw/QdqVu216KxUJ7MGXjv11TLbg+Addxh09+gFJ9C+u7KvVod6MaGmTyP4s9eXfOJzdAqdTh9CVuHbpSx6Y/T75TV+qv30KvsQ+fkuMbbaYGbJ1msleg8s+dRcXB9QPZXKlLzTcd73c2ABkEWeyF17/8lX/uCIp/i0W1o88unSAMlTqW0sui2jVgMYqy2BMd4+QdwkIRjG3qqxov8QUblbuUPErJN5irvGdV0h4i1UO/jSX7TqImW6Kovdiu//cMeAY8A54Bz4BnwDPgGfAMeAYcMPAPMNCXrbofRj8AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAdhJREFUaAXtmD9LA0EQxWc2QYik0CIaBAUrvaSysbezsrQTsbbSwj+VSSWJIPkCgvgJbK3EUrAKnhYp0pmLIEGCMcTcrXvRpEquGE6J8W1xuzC8uZ3fHvv2lggNBEAABEAABEAABEAABEAABCQEWCLyNck9e8uIs5q5+KZ4s35svSQPSwlyW9vSnIN1Sjt5Kzs4PjgSHRwKjpjiTol5wvSzcVdv1IkK5LWmmPkoWCmJal8kKlBJXudrNFOpq3UVP3THw9abBZC1RMaOqyatKy9SrOQX72RZoAIBEBh1AvJN5sBeini8Q6yLTixVoAy3ZzJP417zdTl0aC5p58S6keQV+2BU0yUxzZF5TDcea1WiM++9Ns/E15KJBGq+zEy0GGIfJE1ybWA14QbFK9hWtBbxqPOJVsupc39aTi5tm05E2tejgQAIjB4B8YaQ6OODw4hHvIv288Hkvp02Pnj/E4VWcinRYsi97D/6oIpNls1RbSX0FTRHtdBzIiEIgMCvEBBtvf7M/sqlk7hAc/F7a+5Av39uebWSs65GyweZF3rfmNZWbzxkA/FJRrPeZY8y/tV940NfdOpSY8/abWXDr1HBB8OHiowgAAIgAAIgAAIgAAIgAAKBBD4BOc6JltLUf9MAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABWNJREFUaAXtWF1sFFUUPufOrO2ObIG221WEGBuJbbdBA6IhEuMTCWoNxjbtmvgoiSbomy8+FDX+RHlRHtU340JrwEgUo4lIEGKQGP629S82oRS72x+CbbddunOv351tSynZ3ZlxfHI22Z27955zz/edv3t3icJX6IHQA6EHQg+EHgg9EHog9EDogdADoQf8eID9KPnW6ThjJSyrWVJxw9jBTUd97+NB8T8l2NB19i5hRJqZ6SFWtJWJNypWMYzvlMyv59Jt73nA6ks0cIJN3YM7mGWHYtokFMXxjDNzo4NO4RMWtVGl1LRN9NZYOvm2L+QulQIlGE9ltgviE0xggrCBhQMDjxF8y4HsMEn5HQnxvGBOapJSqXdzB9rfcInXs5jpWaOSAnMdg41SPArwV0DqFLH6hpQYGs3n/6QjD+a1euK5cx/JefMnIbhVEL3SlLpo5tLtvZW29rsWbAR7Mp0Gcz8o/q7I6MylW86XBbbzq5o71tx9Dul7H+SnlKT92QPJV8vK+1yAA4N7oXk0OLspElLOzVXc+ejjhdF0f5uU8iTyOcaC9iR6Bt6pqONjMVCCgsRGFJ6GYUg2Zqvj2SuzB9q3I6u/RYcFSfViUyqzr7qee4lACSqWNdo0+sv1+YLp1JsbKNl02w7U7Nc6kgC0O5HK9LnRcyMTKEEArNHsFPHEVHHGRQRvQBxNJ3cikl9CP4a67EIkP7ux6n8UKEEcA04EiWSEjmzxRFBTQCSfRCSP6CzHMfJMIjVw2D+1kmagBNGS7y2VIOMMR8tZ8Yr3ZF5KdF/4IN410L1iaelrNp18Cl31cz2BXNiFdP1iadHHIFCCaDDmwk1lfiWWePfAh4jK+2wYewxTfdz4bGb3SpnF7yD5tFTspCjStSPRnfmEHjtWu7ju5RkcwS1nIouGpaI/Fsf6WZ8a3CYE7RIIsT54Afp2Q9HLVs/P65bLLR/n0q1dqMnTeg6p30rfH7++fN3tODCC9S2ro0hPJ3LoM4XlAEwbp9zC+bE0j+tO7XWjrP26rkw9vBF15JkGiPbKJV0Pg7IGPOzhiJpyLgpA650alHSTt3N9LScx/4MuSudty7ySfHDy0P2Xy9m5LSLuQbTX6HVl07FyctXmA7uLclFaZAipcxApdVMENYhsS2tn0+BALwlK4lA/nutL7q8EjovUTiZvQFedMEy6WEm20lpgBOfJjEYI3VPXma1+u8XoXpY5ot5b5stMCENuW6jYken5uaEyYlWnA0tRERFRtHWnTpQQ41UtVxVQW3RDwpaT0/2bx6qKlxEILIKspG4ITg0irSpftLtORWNFw4rUWJawpcWIPhvCYqksEsqCPvbhel2vaLk/lsHuajo4ghI1KAzLwUT21qbUhQYhxQOl242+wik0DF7v3HIUKsxkCx0npusWXdfG4b6WDYrrtMQxUspOMJQ2n3DFpIxQcARZ1Dr1B0NCmK/pMRklnCXbTsLp1WWTTowwB1KOEGgSTeD7JH41a+2rSPezJX1/n4ERRPXVlVBq0PyrkhogKLJzBo4AMHoQSTCYxvuSYp7Dr/+CEnxZkT2M/ptnFZkhlrNK2HlVFPm54tTVqcMPg7D/V2AEc7Ozh+KrouNkcx5ez0vbzkeoOKtMjGeu5cc3PzJD6KT+oYaa/08PLFa+J/arnzi/tiZmvIlud8uNxdNGXoWlPZ79e3gf4f8ct6q+arB2FT2KRvJCYLcEl2jxP8+lxKrmT7NEQy5VyBfBojT+Mgy+gj9tb7pUuzXqVw79eZKLhRkv+r5SVBto7PllnRdDQcgWCtcK//bYCAJHuEfogdADoQdCD4QeCD0QeiD0QOgBNx74B0qFxRdN8XkPAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAvxJREFUaAXtmD+WEkEQxqtgA4dEEt/DDMLVQDyBeAIxc0nEE4gnkBu4N9g1WQ3XEyyeQAx2N5TMfc9kTJj1qZT1NYwMAwPD/MN9difTdBfd9fuqu7pniGyxClgFrAJWAauAVcAqYBWwClgFrAJJFOAkf8rqP7Vnl3VmeUksLSJuTseV4YT4+MfYeeueNty0c+0MsNa57DLJUTSAuDIpPb16vz+IttncsxPAuwcXPWJ6A/dE6Ls+TtWRobBUSVijSs9912XCj9NAFg54p3Pe3CP+ZABEPntepRVeirApCw8U9LZK4HrjSiNs4wuw6VnaZJB1/x5RH2Micqvg0Pft5P7wt9mX+MVVx/G6qCUphQOqw0/gqC6d/rqoAFJl+ABbIWrjmaQUCois6TspwgqwviiYsdGl+mi9ZXRvoYDqRj3aleUeFnaXW7drKRRwIRuWNsNqBJsGR5PRdlhz60IBMa0ml49mepHXczeWa9X2l6peAsx+1R07WLaI11I4oJ5zfbim+6pe65wfrXITcE5lfKZWVWRb3a+Hq+zitGkyK7YsnIM6tQKMhOlQ95tJKJpeW0yTHuDgmRC/uDrZP0Y9SSkUcApHJjKxnBV69fXdvcTRwxyFLdEgHJbdL5KHuIZpjMxZ5wOjD23a10gLhzELiWAYDreU6UHuYxHBpjwpuZppR/PW9LXcAePApceIHiFXwF3DATs3wH8BDoC5JJkg3EzFs/CeQ3sRJXPAMJyBYGpHHep5Q2YKGIQzNxAcA7N7JBN3dwGZGWAYDkcBLtd4qQ1B9vOOWnD8TACDcBgcnxrKVGqijpfav5AazetxJdXNBGNuU1Jn0SAclqV+KRsp4QM4EbxH4gKNtnVv8ejPuqQChNO3HG+EiAEOy/LnuDJynPFgFWTWzscZL9USNdFg7vlwOAoWlqR6gG+f+AYax5k8bFJF0HcIkQwvPfNON4skBLj2nHrYxv//jX0CsnZwMcA+vbEQ1nGrgFXAKmAVsApYBawCVgGrgFXgP1XgD3RPTPYvK6QFAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABRZJREFUaAXtWD12GzcQnlm6sNKIKZJIFZnSdCHmBKJPIKUL2Yg+QaQTxDlB5BNYaaR0kU9g+gSWClGl6Ep6SWG6kfLyrJ18H3axXIqOQmKplwZ4j8RgMBjMP4AViS1aIFogWiBaIFogWiBaIFogWiBaIFogxAIasmjeNV/1zto1SbbErKNqdRFtZ2vtxEzHojq4lfT1n4dPT+bluSjdgyj4dXe4nYj8oirNeQQyk1EqsvfHUet4HvpFaJaq4NoP501RewXFOosI4Wmh6EBMn1/99mTkcVV7GHo5jeGoSfquUM7s1HOG4B/FZM+PCTtcjjCR9wS5ljzIq6CtCCxFQQr0SPQdRKxTHhN9jl+RV7dqHeRcMXaw6XYhu8kF12RjrZPXspSsrCDD8pHIm0JYACop82+HOBP7+XNFBGGIcJSXpHGewxrCvpGnC3mPCOwrK4icO6Dn8jB0AntPUiY13Vjrnu+gira9jIS/6Z1tmdqqx5V5ZOGLaEA+T+bDoEpFhtWypvI7t2aIXR0+OYDVkUc25dF5Rbs1+Z6VtMzX4+blcZeukgcTlX0yhMXfUjnCqTvvHI6F5aXlBYRzM42FKA9TziW5l6kkeTocjpuZdQsgghV0VVOkwb1whjlFCYOhKx4Iw8HlUWv36rDVvLle+RKKFFWU3r48bOnl0dM2aWChU67FEdFxPf5QmHYJIz+bVQpOsIK1XBF6aOqAzs9A4E+8sOPjb8flKgqLjPxc1uuAPZTZzMYiLEzkzbHfy88t0gcrWFibh3OpIakbbpgmU/gSyQyIYjOeQQKhJscOX/Ls5+juw6EahzUVd7fEkSAfUCWd5U3TuudmibF6wglZgxIboHVtZk7sg59jdVVLnMLgt6rYAeFeqrY5kzk7z3dO8gnZem9YCD/BPhzEnA3hHh6iIbv9D2uCQ9RVPtUNlPNfkY8HXnZ/BvIGI6U8dAe95iXf3UUnVzdJ0g4C8SfysFSfeV5Iwj4Kz05RZYuJ+YFgBVHqx4wZCF5HqR/4Lde7Z6dAbnDsrmP5BC4ApHUjVtSpud5ZhxOYfT+F7w5fZHi8HQNbeIjinMv33CzvTcXd2LRZxt8Hw1BtN4934R26DD/Z6870fw+DFbyVvITjHsqrld8Kwh4Thre2PM71iTSLcQmub1/UQe1o/VrSkSfC01XPyV4Fh7kB8Axva73hCAwayMPB1VHrGTnxBYA8vCCMPDxAfjYhaIfj2WYnmB/hJHAG+iT2nX95FLwZtrgNza6dDxPsQbJPTXbZU4G13nmfMHJoZPkNBIWj/+/KkRrfaHLlOKqlCbwpst4d7tJwhP0ehENaJQ9yw7XucAAlNuGvsUmyh7fgj05wLw3umabJvhouBqUqirAb1VAlQTsVyvQ6DcPl7hJ/1OoQDm2VPOg2Ne1DkI8QtI7bzSuvXIYDhUrjr+vHeB1MjgXCf9+sDNBvZDxghJLXiXPrwdvNV/irrCBDkp8kyjLkuefyioqvfHH9xj+jPN3jlZt9eL7J8SeVPuheEPaNPMnbj0P7yiHqN+aTpmbKcHWVDx4YcA7jDnuGMJXN4RPA7Rx+DU+uejp6jsr5YpPRhP8vTUGK4L6h4BMGhEVOLt6g3FtU1f4yPOd3X6qCninPML72wbzhcff1zD9Wy6l35X0LFph7EAX9/i5s+TDGe849r/IrHCoIigo/3Rs+3cvxssLR7xv7aIFogWiBaIFogWiBaIFogWiBaIFogeoW+ActNvxFly5fgQAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABVVJREFUaAXtWE1yGkcU7kauFMMmbJKSVsJLo4XJCYxPELQL2hifQOQERicQOoHRBmVncgLLJzBZSFpKXolKFkYbwFUWL9/XQ+NmPCOrZ1Dlp6aroLtf9/t//fpNK5W33AK5BXIL5BbILZBbILdAboHcAv+MBfRDst3cO+topV/dxUNEvRudVOt37cmyVsiC/F/AffSQQmrRZbWIEVFysMpLt7C0rbV8vwpf7+xBQnTzl4u60vJKa1W34l73qyu8Npvnp1h/xnWE6ZVo1f00CY7Hg8dji7OOPrMHIWgPkn+cToMDChQE09dQruEKJ0p9cOccA2eIzigIRSuYd4vBtP3D3tnuX/2d4Wbz4oXW8/Z0UnqeRWnQTd/oKV2QtyEFGYvoMYW1FOGZ41stXQpsYW5fblyWi6VJW4luA88JVcF+XeNe0kASarl4PuNMCm7tnb23gqwwFflDpNAY/fbkagV+x2Sred6FW/fjtnxW8lOSkeL2u7DUWXRz76K1VM4opG5ImBa/Ptmp+ShHvOuTalvm+jnwDR1Q+p1wtg3Rh+HI/z+VBxlaQWlyCQXLFGg2DSpk/V0wrf95Uh34i/EFA2ewtjEvlGGgU0QIaOmfuXorajcN7VRJxpwbKGfEwhlzkkAm5UjPDUWZF9o440ZBhBq96E3f24NILBUwhfcQRMiOo361wvFdzWREhcyqVYP74PUrpXVvNikeOcaJJeFWQ7xLR/2dTuzGBKD3GcTFTEuGDRwpvJ1Ge4Yykscb4PSsctzDTKuVdBjmDMkonp3TmMiwz+wc3tg3MAu4R++t4K1Sx/QcaRtBITyvizheCOVDqxhx6AHzQ/0Z7tdlnJG3iUIXhMXAkjZoHM1mxXEcrySYd4iSkLm/gukAzI11o1UK91Bpe0cysyIRtd1wZBaGF19zL9fj7jo3ySDDPvbNzKTt7UEiuYLSM4R91bS0CON6VDnCR/0nPSrGMULYJBKO3QbcoZ37es7ipVLQIpueCSO+VQiGl4auQdyt82VW1OXEMF0gFIuzxLPq0oyOsysYpfgvm69Dwe0Ena4IR336lGc2bg+YN8I96uZb5wshugzXOFpJsFQKLgTGEQkzaSxx0T27brJpZJNJMlq9WIAHkWUzRQasWThCtGzHPr13Fv2xed6AVQ55RVhGrCFZWtm57c2n1EIJe7mbNZG6Tf+A3+Cui61dgX+5wkfpzn2KA8ufvbcHN5AdLVO4EHebfhmnHIkzeyJITdFMHF7u5re426gcPqfqieEppvh+R1qmifzq60lvBVkfWn64A4TpfjmPDJg9r/s7DRrBKsotoWHkgEW6W3tG0JVRXMvpEo66N9EYy02rA+8QJXrW+nBVhOQZrw637p1NglrSlZNExduDJDSblLrm7GAMC+0z6fDH85nE6L5w1qasgrjfrXvnolYqofvSS+VBEndLLQTdEKAKRCojanuo+F9yj28Ly7v5G9JBHA9gPWMwGDP122lqBSn8VvNsCDM//VoRGeKs7vqcF3x1sDD/cr4dolmeLDIpGFo8fHQyIavVGAS3rWz0Jr4+jpISCcO6WJrtazWHYosPaCLjCcQaDnRjC3HL41t9qjNoicJDpxQA4XTEjMgk4GZLPNu3Hin9nveZxbE9H5mC0vQjrw2rHLMrvcU3HZN5oWh41Vgs/z6TB5PYmSShcectPqe4L/pJBaVP7ToV06K6eFvt+WbJJBks/EEUtMTdp0B4pGPhppdFwQAv0WMra2ucpHp0ui9/0YIzGdowDEUHc2FaKD52oGsfZjqDa5cmJ5hbILdAboHcArkFcgvkFsgtkFvgf2SBvwGM/UcRGTApkAAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABPRJREFUaAXtmE1WIkkQx8U3C3Uz3MCaEzQu1YXlCQZP0PQJYE7Q5QkaTyCcoJkTiAt1CZ5AOEHjRl3J/P6QwSTVFJCFzLyZV/lekpGR8R2RUUXt7BSjiEARgSICRQSKCBQRKCJQRKCIwL8TgdI21d7d3SWlUunrCh23Jycn8Qqa3Me7uTn/I4y/bNNOslc2+ePx+NJgrZzVWA7B/6r9tsZWSvTh4SHGcJVmbIZThnO67u/vu5ydMTUGzOb+/n776OhoJMRHjY0ziKEtjPmBcZMMvb6+XuNcNWXgMLXXts80ByPgJrwN7u3F6elpnyB9fn9/bxwcHJxv4vRcVFESNFymbsSEUyPKTtGPtHejDb4pgw3hr71er/zy8tKArwF+Vqrw9MFVTAbZr/l8IfBGDhLtnmfITC8GPu7u7laPj48HM+QKgEpoQlJfRIa8o6wgLaL3cbm7KNmrmXNyCKHPTnAbYyohzomPLCmT5yYHmX86eWpI3wwOXXNl0JXWE4rLMoj7F0kxdyjG0I7gvIOqqJD9MgHqAnfQ8buTdZFHdq4m4+6NnNPda3pNYCPnJM8vRRxtIN8cVBaD5QdnkNKMUPokYxhDohpNoCU/6ojwVCHR1BiQmdbe3t6VF5zpSeqXLCbQfhUaGZcEIEmRLN0G30GU+PdhLOOzNKiUaR7f4WlBY86JXEFKqIQnlaQQi4aCiXNn3lldOG+/Egx2EIlt5tBJlqEtlMZuP7fggIJhjg2hvdQEdytCjC+z3GQZDW2X85hp44qsj2yzzlpahyhNo8zQUDrgJ9GlTH+SI6cx8MbxtmlEDb8cOa9xfm3nyKg5eLb4TYZg/BbamSUoTwZ3fEORMZxZ5AEYX3PbYdo54TG2xdIWDK01Em390bdNaOaML5eDxuzWQWpv20gAxvdTAbFzraqCSalmlanONd7e3ipTKOz3IxwM0/gPU3+Eg4cZNg+E5+580p3NoKk6/POq+0WJ9jNkLEXnctAZPHaSo0UacKxl566bzpGpyYD47JCducO/NxUDKdGywSHrT91vFTPPtSo0av+R0eLMuV6tbG+r+ytlTgzMae5lDI2mxjP4he+u8D9xHolIA7pknZeDKfX0NziDrjtGTsgQpV8WOadzdU/o7aU5Ak40OYqZGs/s46zyRPY5NLcTSn6g/SM0k8EO6v3QFEonxrW8/Ryo7smrVVVBwDhzVDSTh75e0v13zzlmNnIcvq7hgZtZwTCa9FpKI9bZb/p+uI4O0ejRgVMqUw09TytLHjlTqtRvcAbFz2eEJov9/6ur6Wi6+5lSEbbVuymOxeLCOf+9d+5NaF2puTIo4eqCGHAtmLXPElGKZeAWZfdF+NAhx/gO811y4O0wq05G7m+nuR2UYqKtbyefnBGzRQ5zVy9C7gvZV7YaMyEegLzcnyw2clARR/mNs0UlO2Iemm3KJvBVViNRWdMV6/p65rI2YYXv0Qtce9GLuOlYtea6gyaUDHWB28wrdUQ1AYybdUuMrDF77nlmbJMVnD4T/oA+8ZxTd1W2KuDUeR+RuTCrc8KWbDbKYJZcl9mE8zOjSf+lwsEuZ3Y+BNaH31Zol4Rv6diKg6ZRWQKua09GEq02yE4NOFKWlDHDf/Sa66PTukZg/AjHJuTAySI+znVvtzY2uoNbs6oQXESgiEARgSICRQSKCBQRKCJQROB/EIG/AFiYPfYPjk5nAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAj5JREFUaAXtmLFSwkAQhneDhdCYxhlKLBkLeQR4g7RS6Rvok/gIWjF28gbCG0ChllIyYxMbYiGcu2CGIwNMuDvI6WwaLpdk975/c7sbAOQQBUQBUUAUEAVEAVFAFBAFRAFR4M8qcNp+aVQvX5/D6D10DYGuDe5qj6GOy8kIEU4A1CCZVFpx9yze1c6m+4NNFw41P4dBvFn4w0a5MnEaycIjmApZbb9dIaj7xbm7SHoDyGAZyPgboPXROR+kIpj8egW4D0ingJwNSwrvTJTWn0FUDQAMF3PKKpJHumHbcWkWhBiopq0dgtNMYFgC6NJETZvMPXQKOA1mMUWwn9v75hsbi7JBhUPB5xRVtPnW7Vd0qbbfeaCrK4lGqaFSQTR+rI9M3XsFmIVLkkrTtuh7A7gPOI66F4D7gtsL4G9v+USJ4TZPkV7pRWnPuXgt9f3qtBflxXIvSRmwSek5V0/Je4zEaFK27LuGcxrBFI7eeirSlN4Br8ed+gOPizyc7EHuYDhiaffhCxwLaw3oM5w1oO9wVoBZONp1sVI4YKM2R97sm9eHcS9aAuQGOFw6wpCz5/LcbMQNu9mT658yBpyCiqix7ulNMbmwjyA17OuXajZrlWT4NV2B9KQ06FJYFXruVLhI0zfNkI3yfyrcdukOih5bRTBd/LzIlyc9QLzguX9VB32HdBLBdZD8Jf6VlGu233OpbdNfqz2Ydcow3DBz48x7s2i47PrkXBQQBUQBUUAUEAVEAVFAFBAFRIH8CvwAmekDRCRV+Q4AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAjhJREFUaAXtmL9LK0EQx2fOVBbiAw/uL1CTa55gYaPGShCs1BT+Ba99gnkptfNIIfg/WEhKe/FXYWWXGFCwvRBLn/Ag7rxZ5fTM6UXXjcQw29zc7M7OfD+zzS6ADCEgBISAEBACQkAICAEhIASEgAkBNAn6aIz3p1pAwL14HCkqhGW/Evd1wzYW6BVrh+8uCMllgbn4egKqAWEz7nvTRqAwyM29OZ8ykUmZS51ChNnUBS8mkxwfBCfdL6Js/BgLJKLNhwIQVnSxjx0BO0cusadDpmI/zdArViuIuMwCK2HgF0wLicfZ3NOJb9yPtgj87l2VDkoHe5yAHNEeb1DH8qSDHRH1+ALpYI83qGN5fd9B4+tSEh26Xukin/QbeBS5BlGvhlgTyPeuPBDlX83yUeenL3HPCfv+iFpk9UxNW/zQ5CPhISCMANCdAig5gDvxVezbbgS5tbjPtt2VDrrr1Z9M7iQS1wKYVwinUfFEcKZtTv7bW68tRP5ufK0L1OIGHDwCwB9A8E+Lawb+kzgtQuHAL+5qXduItMsxnra7MawKHCnWx7Q47t6QFqccZ6FdnBZB6v6uhbDI7zi3rHA44/Bj1QZZrSWCZXXTm+uxKxZ2HIlrbI0fRInav80t/4rAWdV+fjKb8v7Wp9vX2Pi3KhAqeB8O0hJ3ZiZNXFR4I8jug4I1BZnJsJzlY21/8Gn6muGWqhMZwnOdraVgtFnOXX5NZskiBISAEBACQkAICAEhIASEgBAwIfAfUWCXxX+gZ+AAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABTdJREFUaAXtWDF2GzcQxaxckGpIF8ljKq9KW4XpE5A5gZkuUiPmBNINRJ3A1AksN0xK+gRZ3YAuLJVeVVZeGqohWVg7+R/LJdfk2iaxelEDvAcSix0M5g8Gf4A1xhfvAe8B7wHvAe8B7wHvAe8B7wHvAe8BFw+Iy6Dvjfnp8GNzR4OXYrSpxjQpK2LaRWNUTcR+GDFSI6N7ST78O9gfFcm69j0IwMbv16GIHgNQB2BCV2M4DqBjGDVUlfPbv57HZXRxbCmA9c6nemV38kaMdNcMUf0A7TFA2xURlTGMTtuC1RWtzw1oGoVTRF6u6zD96bR6Nh7ujdfebdgRbCi3JkZw1d3J3xk4eP4Ohp7fq/ltOqk+VbGrUCOw28F+D+CGJkjarGyzbw66RtnPgxfCsdRhdXFGMSecg3OtGbBhh/MKNg6uLhCOR5xHjZ4lWJ0d0a59ToI+witie9OCMG9LkJxQ/osxvR2Gu5FTPgPwu9s/X3TZ3raUATgGwBrBmSSITGBanPx28PxsWyPy8o3Djz1jAjWJueRqpyB1/Hmw/zQvt2nbOUQJjpMgzLh3YmuQSaRxcG2BbmpAXo6ruAAHnfB+M30vziH6JD+BU1vInEmYGLlgOCA9vIKhN2iGGiS1xJibb1E/Uwo8/IwyO0kwtiuGPQslTDFvoS2EnlKlPEA7vdDQPsgjBjtGIA1FkBFvHYbfUSTNj9Jn+170hKDxrg5Qr56o7CUBRgMsgB0hOkIOfojirOeXwyvYkhKMUWnDqFaRQSCIGP2sRQX504RFLzDuEvEfZURDli2S+1Gf8x5cKAbBgOHaXxCalnCY/3KFAFDpgKIa5kTJlpfUQV3UackrL+DQLh+izG3GRPN9NkK7h2pIGAmSeYCkzmcWLIFtY+kpZwvTS8BcWZRWrG6nhcvU232yeNimkYWoHaPlTxz5uYtOSK4h6uyerwDOrUN4XYBeImT+y23PkVjxEO5uGbG5r5sHzPYjAtT34D/uL5sXl4ZpevYUjZHbUItKEoKgsEcZxl/nOuzHO/RH6H/Nka4AS+9BxbFsNqt0q9VpF3uLt4lWCkXqJBYYiEe8KSx4Z2NoGUgkGjwNZ9PqRaUya0qgFmDh8A06SwMkkfC0P0YexHx9u39g2Dxp1wENq7MoWXuU9QDMCLlzTMZcJZqfD67qOJOWKkvXbalmuQd1NJ3s/lrmSlM0dXZbwRJbpzxaiNIAXGk+VQ6v+7NJ5bws0JRBZ8diJifQXS8Cv03fA6zg6nSKzw/BENeB0ffOodmo7DwqJmiKSTrZimXvs/9HW0EcOf/AEYQsepQaIzBUUWEyOhDKthvkEaPBygLmNKFtLX5IRKm/yaA4pvXJvtD1diHi0HiAo5qJeRnVRPYIFsa9swauGENAqHQEa7jymjx7w7G81YNBQ974cQWLV+W2fXZmUYKAoTWyJSYlA8b4v5hX/KXHNdtIZWwz+8m+0dwHyfhb16lUN9aQK+pYnAFiviHqEULxtHF4rUUEk6P9aBv7lkSjp/NxnMupOJOMpfHqJDJib/SYHCcXfu5D/Wew/97FGuS9Dg7nr2FUZ8GguJ1Mp7ttV3Z2BkgAKchpD9xwvA5IRziGxSrpp0L7fv6hF/LtTF4UxzTREICaWd/iH1/Y8Nmw5wqOekoBzAzhQRnnxhNcyTtQ+Czrd/lHBNyI2k+O/DIXu+jIj3kQgHmF9tMEcxpWBsbaVQEZtfIybM+JY2T77aEaB/JkQVar4v7Ze8B7wHvAe8B7wHvAe8B7wHvAe8B74H/2wH8pKDtymrNtYgAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTA2IiBoZWlnaHQ9IjI4IiB2aWV3Qm94PSIwIDAgMTA2IDI4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyNDdjZjY7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQpOwogICAgICB9CgogICAgICAuY2xzLTQgewogICAgICAgIGZpbGw6IHVybCgjbGluZWFyLWdyYWRpZW50LTIpOwogICAgICB9CgogICAgICAuY2xzLTUgewogICAgICAgIGZpbGw6IHVybCgjbGluZWFyLWdyYWRpZW50LTMpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQiIHgxPSIwLjY1NSIgeTE9IjEiIHgyPSIwLjM3OSIgeTI9Ii0wLjA4MyIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNhNWNiZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYjRkNGZmIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQtMiIgeDE9IjAuNjQzIiB5MT0iMS4wNDgiIHgyPSIwLjQwMiIgeTI9Ii0wLjY5NiIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0MDkwZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYTVjYmZmIi8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJsaW5lYXItZ3JhZGllbnQtMyIgeDE9IjAuNSIgeDI9IjAuNSIgeTI9IjEiIGdyYWRpZW50VW5pdHM9Im9iamVjdEJvdW5kaW5nQm94Ij4KICAgICAgPHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjMmM4NWZmIi8+CiAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAzNWJkNCIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICA8L2RlZnM+CiAgPGcgaWQ9IkxvZ28tVmFwb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zMCAtMTYpIj4KICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfNDY2NSIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgNDY2NSIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTA2IiBoZWlnaHQ9IjI4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMCAxNikiLz4KICAgIDxnIGlkPSJMb2dvLVZhcG9yLTIiIGRhdGEtbmFtZT0iTG9nby1WYXBvciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEzOCAtMTU3LjI1NSkiPgogICAgICA8ZyBpZD0iR3JvdXBfODUzMCIgZGF0YS1uYW1lPSJHcm91cCA4NTMwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjggMTc1KSI+CiAgICAgICAgPHBhdGggaWQ9IlBhdGhfMjYxMTciIGRhdGEtbmFtZT0iUGF0aCAyNjExNyIgY2xhc3M9ImNscy0yIiBkPSJNMzkzLjIyNyw0NDQuNjY0YTYwLjgyNyw2MC44MjcsMCwwLDAsOC4yNjUsMi4yMjQsNjAuOTgyLDYwLjk4MiwwLDAsMC03LjQ1NCw0LjE0Myw2MC44NzEsNjAuODcxLDAsMCwxLTE2LjEyOC01LjU2OCw2MS4wNDcsNjEuMDQ3LDAsMCwxLDcuNDY5LTQuMTQ5LDYxLjM3OCw2MS4zNzgsMCwwLDEtNy4zMTktNC40MTMsNjAuOTIzLDYwLjkyMywwLDAsMSw3Ljk5LTMuMDY1LDYxLjU3Nyw2MS41NzcsMCwwLDEtNi42NTMtNS40LDYwLjgsNjAuOCwwLDAsMSw4LjM0LTEuOTE3LDYxLjU3Myw2MS41NzMsMCwwLDAsMTMuOTY5LDkuODExLDYwLjg4LDYwLjg4LDAsMCwwLTguMzQyLDEuOTE5LDYwLjkzNyw2MC45MzcsMCwwLDAsNy44NCwzLjM0N0E2MC43NTgsNjAuNzU4LDAsMCwwLDM5My4yMjcsNDQ0LjY2NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzcuOTEgLTQyNi41MikiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNCIgZGF0YS1uYW1lPSJQYXRoIDI2MTE0IiBjbGFzcz0iY2xzLTMiIGQ9Ik00MDguNTQ5LDQzNi4zMzFhNjAuODc4LDYwLjg3OCwwLDAsMC04LjM0MiwxLjkxOSw2MS41ODgsNjEuNTg4LDAsMCwxLTEzLjk2OC05LjgxMyw2MC43OTQsNjAuNzk0LDAsMCwxLDguMzQtMS45MTcsNjEuNTcyLDYxLjU3MiwwLDAsMCwxMy45NjksOS44MTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzg0Ljc1MyAtNDI2LjUyKSIvPgogICAgICAgIDxwYXRoIGlkPSJQYXRoXzI2MTE1IiBkYXRhLW5hbWU9IlBhdGggMjYxMTUiIGNsYXNzPSJjbHMtNCIgZD0iTTQwMS44OTUsNDc1LjI3YTYwLjc0OCw2MC43NDgsMCwwLDAtNy45NzcsMy4wNjcsNjAuNTY2LDYwLjU2NiwwLDAsMS03Ljg0OS0zLjM0OSw2MS4zODksNjEuMzg5LDAsMCwxLTcuMzE5LTQuNDEzLDYwLjkyLDYwLjkyLDAsMCwxLDcuOTktMy4wNjUsNjEuMzA3LDYxLjMwNywwLDAsMCwxNS4xNTUsNy43NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzguNiAtNDYwLjE5MykiLz4KICAgICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNiIgZGF0YS1uYW1lPSJQYXRoIDI2MTE2IiBjbGFzcz0iY2xzLTUiIGQ9Ik00MDEuNDkyLDUxNC45NzNhNjAuOTYxLDYwLjk2MSwwLDAsMC03LjQ1NCw0LjE0Myw2MC44ODQsNjAuODg0LDAsMCwxLTE2LjEyOC01LjU2OCw2MS4wNTUsNjEuMDU1LDAsMCwxLDcuNDY5LTQuMTQ5LDYwLjkyLDYwLjkyLDAsMCwwLDE2LjExNCw1LjU3M1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzcuOTEgLTQ5NC42MDUpIi8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMjU4ODAiIGRhdGEtbmFtZT0iUGF0aCAyNTg4MCIgZD0iTS0xNzMuNzY4LTEwMi4yNzZoLTMuNDFsLTMuMzYzLDEwLjkxMS0zLjM2My0xMC45MTFoLTMuMzg2bDUuNTI2LDE2Ljc0M2gyLjQ0NlptMTAuMTExLDE2Ljc0M1YtOTMuNmMwLTIuODY5LTEuNzg3LTQuMzI3LTUuMjItNC4zMjctMi4wNDYsMC0zLjIyMi4zNzYtNC40MjEsMS42OTNsMS45NTIsMS45YTIuNjMsMi42MywwLDAsMSwyLjM1Mi0xLjAxMWMxLjYyMywwLDIuMjgxLjU4OCwyLjI4MSwxLjkyOHYuNjExaC0yLjg5MmMtMi44NDUsMC00LjE4NiwxLjYtNC4xODYsMy41NTFBMy45MjUsMy45MjUsMCwwLDAtMTcyLjc4LTg2LjVhNC4xNzksNC4xNzksMCwwLDAsMy4xMjcsMS4wODIsMy43MjMsMy43MjMsMCwwLDAsMy4wMS0xLjE3NnYxLjA1OFptLTMuMDU3LTQuNTE1YTIuMDE0LDIuMDE0LDAsMCwxLS40NDcsMS41NTIsMi40MjMsMi40MjMsMCwwLDEtMS45MjguNTg4Yy0xLjIsMC0xLjc2NC0uNTY0LTEuNzY0LTEuNDExLDAtLjg3LjYxMS0xLjM4NywxLjcxNy0xLjM4N2gyLjQyMlptMTYuNi0xLjYyM2MwLTEuODM0LS4wMjQtMy45MjctMS4yNDYtNS4xNWE0LjI2Nyw0LjI2NywwLDAsMC0yLjk4Ni0xLjEwNSwzLjcyNSwzLjcyNSwwLDAsMC0zLjA1NywxLjI5M3YtMS4xNTJoLTIuOTYzdjE2Ljc0M2gzLjA1N3YtNS41NzNhMy42MjMsMy42MjMsMCwwLDAsMi45NjMsMS4yMjMsNC4yNjcsNC4yNjcsMCwwLDAsMi45ODYtMS4xMDVDLTE1MC4xMzUtODcuNzIxLTE1MC4xMTItODkuODM3LTE1MC4xMTItOTEuNjcxWm0tMy4wNTcsMGMwLDItLjIzNSwzLjUyNy0yLjA2OSwzLjUyN3MtMi4wNjktMS41MjgtMi4wNjktMy41MjcuMjM1LTMuNSwyLjA2OS0zLjVTLTE1My4xNjktOTMuNjctMTUzLjE2OS05MS42NzFabTE1LjgyNiwwYzAtMi4yMS0uMjgyLTMuNi0xLjM4Ny00Ljc1YTUuMDc4LDUuMDc4LDAsMCwwLTMuODA5LTEuNSw1LjAyMSw1LjAyMSwwLDAsMC0zLjc4NiwxLjVjLTEuMTA1LDEuMTUyLTEuMzg3LDIuNTQtMS4zODcsNC43NSwwLDIuMjM0LjI4MiwzLjYyMSwxLjM4Nyw0Ljc3NGE1LjAyMSw1LjAyMSwwLDAsMCwzLjc4NiwxLjUsNS4wNzgsNS4wNzgsMCwwLDAsMy44MDktMS41Qy0xMzcuNjI1LTg4LjA1LTEzNy4zNDMtODkuNDM3LTEzNy4zNDMtOTEuNjcxWm0tMy4wNTcsMGMwLDEuMjctLjA3MSwyLjM1Mi0uNzA1LDIuOTg2YTEuOTMzLDEuOTMzLDAsMCwxLTEuNDM0LjU0MSwxLjg3NywxLjg3NywwLDAsMS0xLjQxMS0uNTQxYy0uNjM1LS42MzUtLjcwNS0xLjcxNy0uNzA1LTIuOTg2cy4wNzEtMi4zMjguNzA1LTIuOTYzYTEuODc3LDEuODc3LDAsMCwxLDEuNDExLS41NDEsMS45MzMsMS45MzMsMCwwLDEsMS40MzQuNTQxQy0xNDAuNDcxLTk0LTE0MC40LTkyLjk0MS0xNDAuNC05MS42NzFabTE0LjkzMi01LjFhMy43LDMuNywwLDAsMC0yLjg5Mi0xLjE1Miw0LjE0Nyw0LjE0NywwLDAsMC0zLjA4LDEuMzE3di0xLjE3NmgtMi45ODZ2MTIuMjUxaDMuMDU3di03LjM4NGEyLjAzNiwyLjAzNiwwLDAsMSwxLjk3NS0yLjI1NywyLjAzNywyLjAzNywwLDAsMSwxLjYyMy43MjlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzODQuNzE5IDI3OC45NTMpIi8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K\";\n},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMjAyNTJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iY29pbmJhc2UiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtNSkiPgogICAgPHJlY3QgaWQ9IuefqeW9ol8zNjk0IiBkYXRhLW5hbWU9IuefqeW9oiAzNjk0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNSkiLz4KICAgIDxwYXRoIGlkPSLogZTlkIhfMTIxIiBkYXRhLW5hbWU9IuiBlOWQiCAxMjEiIGNsYXNzPSJjbHMtMiIgZD0iTS0yOTAwLTQ5ODBoLTEzdi0xM2gxM3YxM2gwWm0tMTEuNjkzLTEuMzEyaDEwLjM3N3YtMTAuNDQ3aC0xMC4zNzdabTIuNDk0LTIuMnYtNS45NzVoNS4zNTd2MS4zMzRoLTQuMDA2djMuMzE4aDQuMDA2djEuMzIxaC01LjM1N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI5NzYuNSA1MDAwLjUpIi8+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=function(){throw new Error(\"define cannot be used indirect\")}},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./account.svg\":1678,\"./asset.svg\":1679,\"./balance.svg\":1680,\"./client_access_token.svg\":1681,\"./key.svg\":1682,\"./network_access_token.svg\":1683,\"./transaction.svg\":1684,\"./transactionFeed.svg\":1685,\"./unspent.svg\":1686};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=668},function(e,t){function n(e){if(Array.isArray(e))return e}e.exports=n},function(e,t){function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}e.exports=n},function(e,t){function n(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw i}}return n}e.exports=n},function(e,t){function n(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}e.exports=n},function(e,t){function n(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}e.exports=n},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t,n){function r(e,t){return o(e)||i(e,t)||a()}var o=n(669),i=n(671),a=n(672);e.exports=r},function(e,t,n){(function(t){\"use strict\";function r(e,t){if(e===t)return 0;for(var n=e.length,r=t.length,o=0,i=Math.min(n,r);o<i;++o)if(e[o]!==t[o]){n=e[o],r=t[o];break}return n<r?-1:r<n?1:0}function o(e){return t.Buffer&&\"function\"==typeof t.Buffer.isBuffer?t.Buffer.isBuffer(e):!(null==e||!e._isBuffer)}function i(e){return Object.prototype.toString.call(e)}function a(e){return!o(e)&&(\"function\"==typeof t.ArrayBuffer&&(\"function\"==typeof ArrayBuffer.isView?ArrayBuffer.isView(e):!!e&&(e instanceof DataView||!!(e.buffer&&e.buffer instanceof ArrayBuffer))))}function s(e){if(A.isFunction(e)){if(E)return e.name;var t=e.toString(),n=t.match(T);return n&&n[1]}}function u(e,t){return\"string\"==typeof e?e.length<t?e:e.slice(0,t):e}function l(e){if(E||!A.isFunction(e))return A.inspect(e);var t=s(e),n=t?\": \"+t:\"\";return\"[Function\"+n+\"]\"}function c(e){return u(l(e.actual),128)+\" \"+e.operator+\" \"+u(l(e.expected),128)}function d(e,t,n,r,o){throw new L.AssertionError({message:n,actual:e,expected:t,operator:r,stackStartFunction:o})}function f(e,t){e||d(e,!0,t,\"==\",L.ok)}function p(e,t,n,s){if(e===t)return!0;if(o(e)&&o(t))return 0===r(e,t);if(A.isDate(e)&&A.isDate(t))return e.getTime()===t.getTime();if(A.isRegExp(e)&&A.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(a(e)&&a(t)&&i(e)===i(t)&&!(e instanceof Float32Array||e instanceof Float64Array))return 0===r(new Uint8Array(e.buffer),new Uint8Array(t.buffer));if(o(e)!==o(t))return!1;s=s||{actual:[],expected:[]};var u=s.actual.indexOf(e);return u!==-1&&u===s.expected.indexOf(t)||(s.actual.push(e),s.expected.push(t),m(e,t,n,s))}return n?e===t:e==t}function h(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function m(e,t,n,r){if(null===e||void 0===e||null===t||void 0===t)return!1;if(A.isPrimitive(e)||A.isPrimitive(t))return e===t;if(n&&Object.getPrototypeOf(e)!==Object.getPrototypeOf(t))return!1;var o=h(e),i=h(t);if(o&&!i||!o&&i)return!1;if(o)return e=C.call(e),t=C.call(t),p(e,t,n);var a,s,u=O(e),l=O(t);if(u.length!==l.length)return!1;for(u.sort(),l.sort(),s=u.length-1;s>=0;s--)if(u[s]!==l[s])return!1;for(s=u.length-1;s>=0;s--)if(a=u[s],!p(e[a],t[a],n,r))return!1;return!0}function g(e,t,n){p(e,t,!0)&&d(e,t,n,\"notDeepStrictEqual\",g)}function _(e,t){if(!e||!t)return!1;if(\"[object RegExp]\"==Object.prototype.toString.call(t))return t.test(e);try{if(e instanceof t)return!0}catch(e){}return!Error.isPrototypeOf(t)&&t.call({},e)===!0}function b(e){var t;try{e()}catch(e){t=e}return t}function y(e,t,n,r){var o;if(\"function\"!=typeof t)throw new TypeError('\"block\" argument must be a function');\"string\"==typeof n&&(r=n,n=null),o=b(t),r=(n&&n.name?\" (\"+n.name+\").\":\".\")+(r?\" \"+r:\".\"),e&&!o&&d(o,n,\"Missing expected exception\"+r);var i=\"string\"==typeof r,a=!e&&A.isError(o),s=!e&&o&&!n;if((a&&i&&_(o,n)||s)&&d(o,n,\"Got unwanted exception\"+r),e&&o&&n&&!_(o,n)||!e&&o)throw o}function v(e,t){e||d(e,!0,t,\"==\",v)}var M=n(28),A=n(679),w=Object.prototype.hasOwnProperty,C=Array.prototype.slice,E=function(){return\"foo\"===function(){}.name}(),L=e.exports=f,T=/\\s*function\\s+([^\\(\\s]*)\\s*/;L.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=c(this),this.generatedMessage=!0);var t=e.stackStartFunction||d;if(Error.captureStackTrace)Error.captureStackTrace(this,t);else{var n=new Error;if(n.stack){var r=n.stack,o=s(t),i=r.indexOf(\"\\n\"+o);if(i>=0){var a=r.indexOf(\"\\n\",i+1);r=r.substring(a+1)}this.stack=r}}},A.inherits(L.AssertionError,Error),L.fail=d,L.ok=f,L.equal=function(e,t,n){e!=t&&d(e,t,n,\"==\",L.equal)},L.notEqual=function(e,t,n){e==t&&d(e,t,n,\"!=\",L.notEqual)},L.deepEqual=function(e,t,n){p(e,t,!1)||d(e,t,n,\"deepEqual\",L.deepEqual)},L.deepStrictEqual=function(e,t,n){p(e,t,!0)||d(e,t,n,\"deepStrictEqual\",L.deepStrictEqual)},L.notDeepEqual=function(e,t,n){p(e,t,!1)&&d(e,t,n,\"notDeepEqual\",L.notDeepEqual)},L.notDeepStrictEqual=g,L.strictEqual=function(e,t,n){e!==t&&d(e,t,n,\"===\",L.strictEqual)},L.notStrictEqual=function(e,t,n){e===t&&d(e,t,n,\"!==\",L.notStrictEqual)},L.throws=function(e,t,n){y(!0,e,t,n)},L.doesNotThrow=function(e,t,n){y(!1,e,t,n)},L.ifError=function(e){if(e)throw e},L.strict=M(v,L,{equal:L.strictEqual,deepEqual:L.deepStrictEqual,notEqual:L.notStrictEqual,notDeepEqual:L.notDeepStrictEqual}),L.strict.strict=L.strict;var O=Object.keys||function(e){var t=[];for(var n in e)w.call(e,n)&&t.push(n);return t}}).call(t,function(){return this}())},109,function(e,t){e.exports=function(e){return e&&\"object\"==typeof e&&\"function\"==typeof e.copy&&\"function\"==typeof e.fill&&\"function\"==typeof e.readUInt8}},[1706,678,677],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(27),f=n(14),p=n(41),h=n(1576),m=r(h),g=n(355),_=r(g),b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"componentWillMount\",value:function(){document.title=\"Vapor Dashboard\"}},{key:\"render\",value:function(){var e=this.props.store,t=(0,p.syncHistoryWithStore)(f.history,e);return l.default.createElement(c.Provider,{store:e},l.default.createElement(d.Router,{history:t,routes:(0,_.default)(e),render:(0,d.applyRouterMiddleware)((0,m.default)())}))}}]),t}(l.default.Component);t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(){var e=(0,o.createStore)((0,d.default)(),(0,l.importState)(),(0,o.compose)((0,o.applyMiddleware)(a.default,f),window.devToolsExtension?window.devToolsExtension():function(e){return e}));return e.subscribe((0,l.exportState)(e)),e};var o=n(36),i=n(1638),a=r(i),s=n(41),u=n(14),l=n(357),c=n(874),d=r(c),f=(0,s.routerMiddleware)(u.history)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(683),f=r(d),p=n(16),h=n(10),m=n(41),g=n(174),_=r(g),b=n(1182),y=r(b),v=n(4),M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e={beginEditing:this.props.beginEditing,delete:this.props.delete},t=this.props.t,n=c.default.createElement(h.TableList,{titles:t(\"token.formTitle\",{returnObjects:!0})},this.props.tokens.map(function(t){return c.default.createElement(f.default,s({key:t.id,item:t},e))}));return c.default.createElement(\"div\",null,c.default.createElement(h.PageTitle,{title:t(\"token.accessToken\")}),c.default.createElement(h.PageContent,null,c.default.createElement(\"div\",{className:\"btn-group \"+y.default.btnGroup,role:\"group\"},c.default.createElement(\"button\",{className:\"btn btn-default \"+y.default.btn+\" \"+this.props.tokensButtonStyle,onClick:this.props.showTokens},\"Tokens\")),this.props.tokensSelected&&c.default.createElement(\"div\",null,c.default.createElement(\"button\",{className:\"btn btn-primary \"+y.default.newBtn,onClick:this.props.showTokenCreate},\"+ \",t(\"token.new\")),n)))}}]),t}(c.default.Component),A=function(e,t){var n=e.accessControl.tokens,r=\"token\"==t.location.query.type,o=\"token\"!=t.location.query.type;return{tokens:n||[],certs:n,tokensSelected:r,certificatesSelected:o,tokensButtonStyle:r&&y.default.active,certificatesButtonStyle:o&&y.default.active}},w=function(e){return{delete:function(t){return e(_.default.deleteToken(t))},showTokens:function(){return e((0,m.replace)(\"/access-control?type=token\"))},showCertificates:function(){return e((0,m.replace)(\"/access-control?type=certificate\"))},showTokenCreate:function(){return e((0,m.push)(\"/access-control/create-token\"))},showAddCertificate:function(){return e((0,m.push)(\"/access-control/add-certificate\"))},beginEditing:function(t){return e(_.default.beginEditing(t))}}};t.default=(0,p.connect)(A,w)((0,v.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(5),d=r(c),f=n(1183),p=r(f),h=n(4),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,e.id),l.default.createElement(\"td\",{className:\"\"+p.default.tdWrap},e.token),!e.isEditing&&l.default.createElement(\"td\",null,l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.props.delete.bind(this,e)},t(\"form.delete\"))))}}]),t}(l.default.Component);m.propTypes={item:d.default.object,delete:d.default.func},t.default=(0,h.withNamespaces)(\"translations\")(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(229),f=n(23),p=n(174),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(e).catch(function(e){return r(e)})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields.guardData,n=e.error,r=e.handleSubmit,o=e.submitting,i=this.props.t;return l.default.createElement(c.FormContainer,{error:n,label:i(\"token.newAccessToken\"),onSubmit:r(this.submitWithValidations),submitting:o},l.default.createElement(c.FormSection,{title:i(\"token.info\")},l.default.createElement(c.TextField,{title:i(\"token.name\"),fieldProps:t.id,autoFocus:!0})))}}]),t}(l.default.Component),_=function(e){return{submitForm:function(t){return e(h.default.submitTokenForm(t))}}};t.default=(0,m.withNamespaces)(\"translations\")(c.BaseNew.connect(c.BaseNew.mapStateToProps(\"accessControl\"),_,(0,f.reduxForm)({form:\"newAccessGrantForm\",fields:[\"guardType\",\"guardData.id\"].concat(d.policyOptions.map(function(e){return\"policies.\"+e.value})),validate:function(e,t){var n={},r=t.t;return e.guardData.id||(n.guardData={id:r(\"errorMessage.tokenError\")}),n}})(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,\"__esModule\",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(1648);r(s);t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{ids:[],items:{}},t=arguments[1];if(\"RECEIVED_ACCESS_GRANTS\"==t.type){return{tokens:t.grants}}else{if(\"BEGIN_POLICY_EDITING\"==t.type){var n=t.id,r=a({},e.items[n]);return r.isEditing=!0,{ids:e.ids,items:a({},e.items,i({},n,r))}}if(\"DELETE_ACCESS_TOKEN\"==t.type){var s=[].concat(o(e.tokens)),u=e.tokens.map(function(e){return e.id}),l=t.id,c=u.indexOf(l);return s.splice(c,1),{tokens:s}}}return e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(682),i=r(o),a=n(684),s=r(a),u=n(37),l=n(174),c=r(l),d=function(e,t){return!![\"token\",\"certificate\"].includes(e.location.query.type)||(t({pathname:\"/access-control\",search:\"?type=token\",state:{preserveFlash:!0}}),!1)};t.default=function(e){var t=function(){return e.dispatch(c.default.fetchItems())},n=(0,u.makeRoutes)(e,\"accessControl\",i.default,null,null,{path:\"access-control\",name:\"accessControl\"});return n.indexRoute.onEnter=function(e,n){d(e,n)&&t()},n.indexRoute.onChange=function(e,t,n){d(t,n)},n.childRoutes.push({path:\"create-token\",component:s.default}),n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.hasProtectedGrant=t.isAccessToken=t.guardType=t.getPolicyNames=void 0;var r=n(1640),o=n(229),i=(t.getPolicyNames=(0,r.createSelector)(function(e){return e.grants},function(e){return e.map(function(e){var t=e.protected,n=e.policy,r=o.policyOptions.find(function(e){return e.value==n}),i=r?r.label:n;return t&&(i+=\" (Protected)\"),i})}),t.guardType=function(e){return e.guardType});t.isAccessToken=(0,r.createSelector)(i,function(e){return\"access_token\"==e}),t.hasProtectedGrant=function(e,t){return void 0!=e.find(function(e){return e.protected&&e.policy==t})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(14),a=n(66),s=n(41),u=n(15),l=(r(u),n(115)),c=r(l),d=\"account\",f=(0,a.baseListActions)(d,{defaultKey:\"alias\"}),p=(0,a.baseCreateActions)(d,{jsonFields:[\"tags\"],intFields:[\"quorum\"],redirectToShow:!0}),h=(0,a.baseUpdateActions)(d,{jsonFields:[\"tags\"]}),m=function(e){return function(t){t({type:\"SET_CURRENT_ACCOUNT\",account:e})}},g=function(){return function(e){return(0,i.chainClient)().accounts.query().then(function(t){var n=t.data[0].alias;return e(m(n)),n})}},_=function(e){return function(t){\"string\"==typeof e.alias&&(e.alias=e.alias.trim());var n={alias:e.alias+\"Key-\"+c.default.v4(),password:e.password};return(0,i.chainClient)().mockHsm.keys.create(n).then(function(n){if(\"fail\"===n.status)throw n;e.xpubs&&(e.rootXpubs=[n.data.xpub],e.xpubs.forEach(function(t){t.value&&e.rootXpubs.push(t.value)}),delete e.xpubs);var r={root_xpubs:e.rootXpubs,quorum:parseInt(e.quorum),alias:e.alias};return(0,i.chainClient)().accounts.create(r).then(function(e){if(\"fail\"===e.status)throw e;if(\"success\"===e.status)return t({type:\"SET_CURRENT_ACCOUNT\",account:e.data.alias}),(0,i.chainClient)().accounts.createAddress({account_alias:e.data.alias}).then(function(){t(b())}).catch(function(e){throw e})}).catch(function(e){throw e})}).catch(function(e){throw e})}},b=function(){return function(e){e(p.created()),e((0,s.push)(\"/accounts\"))}},y=o({},f,p,h,{createReceiver:function(e){return function(){return(0,i.chainClient)().accounts.createReceiver(e)}},createAddress:function(e){return function(){return(0,i.chainClient)().accounts.createAddress(e)}},listAddresses:function(e){return(0,i.chainClient)().accounts.listAddresses({accountId:e})},switchAccount:m,setDefaultAccount:g,createAccount:_,createSuccess:b});t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(53),f=r(d),p=n(27),h=n(16),m=n(15),g=r(m),_=n(4),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.createReceiver=n.createReceiver.bind(n),n.createAddress=n.createAddress.bind(n),n.listAddress=n.listAddress.bind(n),n.listAddress(),n}return a(t,e),s(t,[{key:\"listAddress\",value:function(){var e=this;this.props.listAddress(this.props.params.id).then(function(t){if(\"success\"===t.status){var n=t.data.filter(function(e){return!e.change}).map(function(e){return{address:e.address,program:e.controlProgram}}),r=t.data.filter(function(e){return e.change}).map(function(e){return{address:e.address,program:e.controlProgram}});e.setState({addresses:n,changeAddresses:r})}}).catch(function(e){})}},{key:\"createReceiver\",value:function(){var e=this;this.props.createReceiver({account_alias:this.props.item.alias}).then(function(t){var n=t.data;return e.props.showModal(l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,\"Copy this one-time use address to use in a transaction:\"),l.default.createElement(c.CopyableBlock,{value:JSON.stringify({controlProgram:n.controlProgram,expiresAt:n.expiresAt},null,1)})))})}},{key:\"createAddress\",value:function(){var e=this,t=this.props.t;this.props.createAddress({account_alias:this.props.item.alias}).then(function(n){var r=n.data;e.listAddress(),e.props.showModal(l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,t(\"account.copyAddress\")),l.default.createElement(c.CopyableBlock,{value:r.address})))})}},{key:\"showProgram\",value:function(e){var t=this.props.t;this.props.showModal(l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,t(\"account.copyProgram\")),l.default.createElement(c.CopyableBlock,{value:e})))}},{key:\"render\",value:function(){var e=this,t=this.props.item,n=this.props.t,r=void 0;if(t){var o=l.default.createElement(\"span\",null,n(\"account.account\"),l.default.createElement(\"code\",null,t.alias?t.alias:t.id));r=l.default.createElement(\"div\",{className:(0,f.default)(this)},l.default.createElement(c.PageTitle,{title:o,actions:[l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.createAddress},n(\"account.newAddress\"))]}),l.default.createElement(c.PageContent,null,l.default.createElement(c.KeyValueTable,{id:t.id,object:\"account\",title:n(\"form.detail\"),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:t})],items:[{label:\"ID\",value:t.id},{label:n(\"form.alias\"),value:t.alias,editUrl:\"/accounts/\"+t.id+\"/alias\"},{label:n(\"form.xpubs\"),value:(t.xpubs||[]).length},{label:n(\"form.quorum\"),value:t.quorum}]}),(t.xpubs||[]).map(function(e,t){return l.default.createElement(c.KeyValueTable,{key:t,title:n(\"account.xpubs\",{id:t+1}),actions:0===t&&[l.default.createElement(p.Link,{key:\"check-password-btn\",className:\"btn btn-link\",to:\"/accounts/key/check-password/\"+e},n(\"key.tryPassword\")),l.default.createElement(p.Link,{key:\"reset-password-btn\",className:\"btn btn-link\",to:\"/accounts/key/reset-password/\"+e},n(\"key.resetPassword\"))],items:[{label:n(\"account.accountXpub\"),value:e}]})}),(this.state.addresses||[]).length>0&&l.default.createElement(c.KeyValueTable,{title:n(\"account.address\"),items:this.state.addresses.map(function(t,n){return{label:n+1,value:t.address,program:function(n){return e.showProgram(t.program)},copy:!0}})}),(this.state.changeAddresses||[]).length>0&&l.default.createElement(c.KeyValueTable,{title:n(\"account.changeAddress\"),items:this.state.changeAddresses.map(function(t,n){return{label:n+1,value:t.address,program:function(n){return e.showProgram(t.program)},copy:!0}})})))}return this.renderIfFound(r)}}]),t}(c.BaseShow),y=function(e,t){return{item:e.account.items[t.params.id]}},v=function(e){return{fetchItem:function(t){return e(g.default.account.fetchItems({id:\"\"+t}))},showTransactions:function(t){var n=\"inputs(account_id='\"+t.id+\"') OR outputs(account_id='\"+t.id+\"')\";t.alias&&(n=\"inputs(account_alias='\"+t.alias+\"') OR outputs(account_alias='\"+t.alias+\"')\"),e(g.default.transaction.pushList({filter:n}))},showBalances:function(t){var n=\"account_id='\"+t.id+\"'\";t.alias&&(n=\"account_alias='\"+t.alias+\"'\"),e(g.default.balance.pushList({filter:n}))},createReceiver:function(t){return e(g.default.account.createReceiver(t))},createAddress:function(t){return e(g.default.account.createAddress(t))},showModal:function(t){return e(g.default.app.showModal(t,g.default.app.hideModal))},listAddress:g.default.account.listAddresses}};t.default=(0,_.withNamespaces)(\"translations\")((0,h.connect)(y,v)(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this.props.item.alias===this.props.currentAccount;return this.props.submitForm(e,this.props.item.id,t).catch(function(e){throw{_error:e}})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){0==t.data.length&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){if(this.state.notFound)return l.default.createElement(c.NotFound,null);var e=this.props.item;if(!e)return l.default.createElement(\"div\",null,\"Loading...\");var t=this.props,n=t.fields.alias,r=t.error,o=t.handleSubmit,i=t.submitting,a=t.t,s=l.default.createElement(\"span\",null,a(\"account.editAlias\"),l.default.createElement(\"code\",null,e.alias?e.alias:e.id));return l.default.createElement(c.FormContainer,{error:r,label:s,onSubmit:o(this.submitWithValidations),submitting:i},l.default.createElement(c.FormSection,{title:a(\"account.alias\")},l.default.createElement(c.TextField,{placeholder:a(\"account.aliasPlaceholder\"),fieldProps:n,type:\"text\"})))}}]),t}(l.default.Component),h=function(e,t){return{item:e.account.items[t.params.id],currentAccount:e.account.currentAccount}},m=function(e,t){var n=e.account.items[t.params.id];return n?{initialValues:{alias:n.alias}}:{}},g=(0,d.reduxForm)({form:\"updateAccountForm\",fields:[\"alias\"]},m)(p);t.default=(0,f.withNamespaces)(\"translations\")(c.BaseUpdate.connect(h,c.BaseUpdate.mapDispatchToProps(\"account\"),g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(16),p=n(15),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e,t){var n=this;return new Promise(function(r,o){var i={xpub:t,password:e.password};n.props.checkPassword(i).then(function(){return r()}).catch(function(e){return o({_error:e})})})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem().then(function(t){0==t.data.length&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){var e=this;if(this.state.notFound)return l.default.createElement(d.NotFound,null);var t=this.props.item;if(!t)return l.default.createElement(\"div\",null,\"Loading...\");var n=this.props,r=n.fields.password,o=n.error,i=n.handleSubmit,a=n.t,s=this.props.successCode&&a(\"btmError.\"+this.props.successCode),u=l.default.createElement(\"span\",null,a(\"key.tryPassword\"),l.default.createElement(\"code\",null,t.alias));return l.default.createElement(d.FormContainer,{error:o,success:s,label:u,onSubmit:i(function(n){return e.submitWithValidations(n,t.xpub)}),submitLabel:a(\"key.tryPassword\")},l.default.createElement(d.FormSection,null,l.default.createElement(d.PasswordField,{title:a(\"key.password\"),placeholder:a(\"key.tryPPlaceholder\"),fieldProps:r})))}}]),t}(u.Component),_=function(e,t){return{item:e.key.items[t.params.id],successCode:e.key.success}},b=function(e){return{fetchItem:function(){return e(h.default.key.fetchItems())},checkPassword:function(t){return e(h.default.key.checkPassword(t))}}};t.default=(0,f.connect)(_,b)((0,c.reduxForm)({form:\"CheckPassword\",fields:[\"password\"]})((0,m.withNamespaces)(\"translations\")(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{\nconstructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(693),d=r(c),f=n(4),p=n(1),h=r(p),m=n(175),g=n(1184),_=r(g),b=\"account\",y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this,t=l.BaseList.ItemList,n=this.props.items;return n.map(function(t){t.alias===e.props.currentAccount?t.isUsed=!0:t.isUsed=!1}),h.default.createElement(t,s({},this.props,{items:n}))}}]),t}(h.default.Component),v=function(e,t){return s({currentAccount:e.account.currentAccount},l.BaseList.mapStateToProps(b,d.default,{wrapperComponent:l.TableList,wrapperProps:{titles:t.t(\"account.formTitle\",{returnObjects:!0}),styles:_.default.main}})(e))},M=function(e){return s({},l.BaseList.mapDispatchToProps(b)(e),{itemActions:{switch:function(t){return e(m.actions.switchAccount(t))}}})};t.default=(0,f.withNamespaces)(\"translations\")(l.BaseList.connect(v,M,y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(4),f=n(1185),p=r(f),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props.item,n=this.props.t,r=t.quorum+\" / \"+t.xpubs.length;return l.default.createElement(\"tr\",{className:p.default.tr},l.default.createElement(\"td\",null,l.default.createElement(c.Link,{to:\"/accounts/\"+t.id},t.alias||\"-\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.id)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,r)),l.default.createElement(\"td\",null,t.isUsed?l.default.createElement(\"button\",{className:\"btn btn-default btn-sm \"+p.default.selectButton+\" \"+p.default.buttonDisable,disabled:!0},n(\"account.selected\")):l.default.createElement(\"button\",{className:\"btn btn-outline-primary btn-sm \"+p.default.selectButton,onClick:function(){return e.props.switch(t.alias)}},n(\"account.select\"))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(10),h=n(53),m=r(h),g=n(1186),_=r(g),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){if(0===this.props.mnemonic.length)return l.default.createElement(p.NotFound,null);var e=this.props.t;return l.default.createElement(\"div\",{className:(0,m.default)(this,\"flex-container\")},l.default.createElement(p.PageTitle,{title:e(\"mnemonic.backup\")}),l.default.createElement(p.PageContent,null,l.default.createElement(\"div\",{className:_.default.content},l.default.createElement(p.StepList,null,l.default.createElement(p.Step,{nextL:e(\"mnemonic.continue\")},l.default.createElement(p.Mnemonic,{mnemonic:this.props.mnemonic})),l.default.createElement(p.Step,null,l.default.createElement(p.ConfirmMnemonic,{mnemonic:this.props.mnemonic,succeeded:this.props.succeeded}))))))}}]),t}(l.default.Component),v=function(e){var t=(e.key||{}).mnemonic||[];return t?{mnemonic:t}:{}},M=function(e){return{succeeded:function(){return e(f.default.account.createSuccess())}}};t.default=(0,b.withNamespaces)(\"translations\")((0,c.connect)(v,M)(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(4),h=n(15),m=r(h),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),u(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.createAccount(e).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.alias,r=t.xpubs,o=t.quorum,i=t.password,a=t.confirmPassword,s=e.error,u=e.handleSubmit,l=e.submitting,f=e.t;return c.default.createElement(d.FormContainer,{error:s,label:f(\"account.new.newAccount\"),onSubmit:u(this.submitWithValidations),submitting:l},c.default.createElement(d.FormSection,{title:f(\"account.new.information\")},c.default.createElement(d.TextField,{title:f(\"form.alias\"),placeholder:f(\"form.alias\"),fieldProps:n,autoFocus:!0}),c.default.createElement(d.PasswordField,{title:f(\"key.password\"),placeholder:f(\"key.passwordPlaceholder\"),fieldProps:i,autoFocus:!1}),c.default.createElement(d.PasswordField,{title:f(\"key.repeatPassword\"),placeholder:f(\"key.repeatPasswordPlaceholder\"),fieldProps:a,autoFocus:!1})),c.default.createElement(d.FormSection,{title:f(\"form.keyAndSign\")},c.default.createElement(d.KeyConfiguration,{xpubs:r,quorum:o,quorumHint:f(\"account.new.quorumHint\")})))}}]),t}(c.default.Component),_=function(e,t){var n={xpubs:{}},r=t.t,o=d.JsonField.validator(e.tags);return o&&(n.tags=o),e.alias||(n.alias=r(\"account.new.aliasWarning\")),e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.confirmPassword&&(n.confirmPassword=r(\"key.reset.repeatPWarning\")),e.xpubs.forEach(function(t,o){o>0&&!e.xpubs[o].value&&(n.xpubs[o]=s({},n.xpubs[o],{value:r(\"account.new.keyWarning\")}))}),n},b=[\"alias\",\"xpubs[].value\",\"xpubs[].type\",\"quorum\",\"password\",\"confirmPassword\"],y=function(e){return s({createAccount:function(t){return e(m.default.account.createAccount(t))}},d.BaseNew.mapDispatchToProps(\"account\")(e))};t.default=(0,p.withNamespaces)(\"translations\")(d.BaseNew.connect(d.BaseNew.mapStateToProps(\"account\"),y,(0,f.reduxForm)({form:\"newAccountForm\",fields:b,validate:_,initialValues:{quorum:1}})(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(16),p=n(15),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e,t){var n=this;return new Promise(function(r,o){var i={xpub:t,old_password:e.oldPassword,new_password:e.newPassword};n.props.submitReset(i).catch(function(e){return o({_error:e.message})})})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem().then(function(t){0==t.data.length&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){var e=this;if(this.state.notFound)return l.default.createElement(NotFound,null);var t=this.props,n=t.item,r=t.t;if(!n)return l.default.createElement(\"div\",null,\"Loading...\");var o=this.props,i=o.fields,a=i.oldPassword,s=i.newPassword,u=i.repeatPassword,c=o.error,f=o.handleSubmit,p=o.submitting,h=l.default.createElement(\"span\",null,r(\"key.reset.title\"),l.default.createElement(\"code\",null,n.alias));return l.default.createElement(d.FormContainer,{error:c,label:h,onSubmit:f(function(t){return e.submitWithValidations(t,n.xpub)}),submitting:p,submitLabel:r(\"key.reset.label\")},l.default.createElement(d.FormSection,{title:r(\"key.reset.label\")},l.default.createElement(d.PasswordField,{title:r(\"key.reset.oldPassword\"),placeholder:r(\"key.reset.oldPPlaceholder\"),fieldProps:a}),l.default.createElement(d.PasswordField,{title:r(\"key.reset.newPassword\"),placeholder:r(\"key.reset.newPasswordPlaceholder\"),fieldProps:s}),l.default.createElement(d.PasswordField,{title:r(\"key.reset.repeatPassword\"),placeholder:r(\"key.reset.repeatPasswordPlaceholder\"),fieldProps:u})))}}]),t}(u.Component),_=function(e,t){var n={},r=t.t;return e.oldPassword||(n.oldPassword=r(\"form.required\")),e.newPassword?e.newPassword.length<5&&(n.newPassword=r(\"key.reset.newPWarning\")):n.newPassword=r(\"form.required\"),e.newPassword!==e.repeatPassword&&(n.repeatPassword=r(\"key.reset.repeatPWarning\")),n},b=function(e,t){return{item:e.key.items[t.params.id]}},y=function(e){return{fetchItem:function(){return e(h.default.key.fetchItems())},submitReset:function(t){return e(h.default.key.submitResetForm(t))}}};t.default=(0,m.withNamespaces)(\"translations\")((0,f.connect)(b,y)((0,c.reduxForm)({form:\"ResetPassword\",fields:[\"oldPassword\",\"newPassword\",\"repeatPassword\"],validate:_})(g)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.MnemonicStepper=t.CheckPassword=t.ResetPassword=t.AccountUpdate=t.AccountShow=t.New=t.List=void 0;var o=n(692),i=r(o),a=n(695),s=r(a),u=n(689),l=r(u),c=n(690),d=r(c),f=n(696),p=r(f),h=n(691),m=r(h),g=n(694),_=r(g);t.List=i.default,t.New=s.default,t.AccountShow=l.default,t.AccountUpdate=d.default,t.ResetPassword=p.default,t.CheckPassword=m.default,t.MnemonicStepper=_.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.currentAccount=void 0;var r=n(37),o=n(36),i=\"account\",a=t.currentAccount=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"SET_CURRENT_ACCOUNT\"==t.type?t.account:e};t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i),queries:r.reducers.queriesReducer(i),autocompleteIsLoaded:r.reducers.autocompleteIsLoadedReducer(i),currentAccount:a})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(697),o=n(37);t.default=function(e){var t=(0,o.makeRoutes)(e,\"account\",r.List,r.New,r.AccountShow,{childRoutes:[{path:\":id/alias\",component:r.AccountUpdate},{path:\"key/reset-password/:id\",component:r.ResetPassword},{path:\"key/check-password/:id\",component:r.CheckPassword},{path:\"mnemonic\",component:r.MnemonicStepper}]});return t}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(41),o=n(14),i={dismissFlash:function(e){return{type:\"DISMISS_FLASH\",param:e}},displayedFlash:function(e){return{type:\"DISPLAYED_FLASH\",param:e}},updateAccountInit:function(e){return{type:\"UPDATE_ACCOUNT_INIT_STATUS\",param:e}},showModal:function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return{type:\"SHOW_MODAL\",payload:{body:e,accept:t,cancel:n,options:r}}},hideModal:{type:\"HIDE_MODAL\"},showNavAdvanced:{type:\"SHOW_NAV_ADVANCE\"},hideNavAdvanced:function(e,t){\"advance\"===t().app.navAdvancedState&&e({type:\"HIDE_NAV_ADVANCE\"})},showRoot:(0,r.push)(\"/transactions\"),toggleDropdown:{type:\"TOGGLE_DROPDOWN\"},closeDropdown:function(e,t){\"open\"===t().app.dropdownState&&e({type:\"CLOSE_DROPDOWN\"})},showInitialization:function(){return function(e,t){var n=(t().routing.locationBeforeTransitions||{}).pathname;n.indexOf(\"initialization\")>=0||e((0,r.push)(\"/initialization\"))}},showConfiguration:function(){return function(e,t){var n=(t().routing.locationBeforeTransitions||{}).pathname;\"configuration\"!==n&&e((0,r.push)(\"/configuration\"))}},cmd:function(e){return function(){return(0,o.chainClient)().bytomCli.request(e)}}};t.default=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",null,l.default.createElement(\"div\",{className:\"container\"},this.props.children))}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(230),h=n(3),m=r(h),g=n(4),_=2e3,b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.redirectRoot=n.redirectRoot.bind(n),n}return a(t,e),s(t,[{key:\"redirectRoot\",value:function(e){var t=e.authOk,n=e.configKnown,r=(e.configured,e.location),o=e.accountInit;t&&n&&(o?(\"/\"===r.pathname||r.pathname.indexOf(\"initialization\")>=0)&&this.props.showRoot():this.props.showInitialization())}},{key:\"componentDidMount\",value:function(){\"zh\"===this.props.lng?m.default.locale(\"zh-cn\"):m.default.locale(this.props.lng)}},{key:\"componentWillMount\",value:function(){var e=this;this.props.fetchAccountItem().then(function(t){var n=new Promise(function(n,r){if(0==t.data.length)e.props.switchAccount(\"\"),n();else{var o=t.data.map(function(e){return e.alias});o.includes(e.props.currentAccount)?n():e.props.setDefaultAccount().then(function(){n()})}});return n.then(function(){return e.props.fetchKeyItem().then(function(t){return 0==t.data.length?e.props.updateAccountInit(!1):e.props.updateAccountInit(!0),e.props.fetchInfo().then(function(){e.redirectRoot(e.props)})})})}),setInterval(function(){return e.props.fetchInfo()},_)}},{key:\"componentWillReceiveProps\",value:function(e){e.accountInit==this.props.accountInit&&e.configured==this.props.configured&&e.location.pathname==this.props.location.pathname||this.redirectRoot(e)}},{key:\"render\",value:function(){var e=void 0,t=this.props,n=t.i18n,r=t.t;if(n.on(\"languageChanged\",function(e){\"zh\"===e?m.default.locale(\"zh-cn\"):m.default.locale(e)}),this.props.authOk){if(!this.props.configKnown)return l.default.createElement(p.Loading,null,r(\"main.loading\"));e=this.props.configured&&this.props.accountInit?l.default.createElement(p.Main,null,this.props.children):l.default.createElement(p.Config,null,this.props.children)}else e=l.default.createElement(p.Login,null);return l.default.createElement(\"div\",null,e,l.default.createElement(p.Modal,null),l.default.createElement(\"input\",{id:\"_copyInput\",onChange:function(){return\"do nothing\"},value:\"dummy\",style:{display:\"none\"}}))}}]),t}(l.default.Component);t.default=(0,c.connect)(function(e){return{authOk:!e.core.requireClientToken||e.core.validToken,configKnown:e.core.configKnown,configured:!0,accountInit:e.core.accountInit,currentAccount:e.account.currentAccount}},function(e){return{fetchInfo:function(t){return e(f.default.core.fetchCoreInfo(t))},showRoot:function(){return e(f.default.app.showRoot)},showInitialization:function(){return e(f.default.app.showInitialization())},updateAccountInit:function(t){return e(f.default.app.updateAccountInit(t))},fetchKeyItem:function(){return e(f.default.key.fetchItems())},fetchAccountItem:function(){return e(f.default.account.fetchItems())},setDefaultAccount:function(){return e(f.default.account.setDefaultAccount())},switchAccount:function(t){return e(f.default.account.switchAccount(t))}}})((0,g.withI18n)()(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1187),d=r(c),f=n(53),p=r(f),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:(0,p.default)(this,d.default.main)},l.default.createElement(\"img\",{src:n(1687),className:d.default.logo}),this.props.children)}}]),t}(l.default.Component);t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(1188),m=r(h),g=n(23),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.logIn(e.token).catch(function(e){return r({_error:e.message})})})}},{key:\"render\",value:function(){var e=n(665),t=this.props,r=t.fields.token,o=t.error,i=t.handleSubmit,a=t.submitting;return l.default.createElement(\"div\",{className:m.default.main},l.default.createElement(\"img\",{className:m.default.image,src:e}),l.default.createElement(\"div\",{className:m.default.form},l.default.createElement(\"form\",{onSubmit:i(this.submitWithValidations)},l.default.createElement(d.TextField,{placeholder:\"Enter client token (tokenname:xyz...)\",fieldProps:r,autoFocus:!0}),o&&l.default.createElement(d.ErrorBanner,{title:\"Error logging in\",error:o}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:a},\"Log In\"))))}}]),t}(l.default.Component);t.default=(0,c.connect)(function(){return{}},function(e){return{logIn:function(t){return e(p.default.core.logIn(t))}}})((0,g.reduxForm)({form:\"login\",fields:[\"token\"]})(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1189),d=r(c),f=n(76),p=n(27),h=n(16),m=n(15),g=r(m),_=n(237),b=r(_),y=n(864),v=r(y),M=n(230),A=n(4),w=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={tutorialHeight:0},n.toggleDropdown=n.toggleDropdown.bind(n),n.setTutorialHeight=n.setTutorialHeight.bind(n),n}return a(t,e),s(t,[{key:\"setTutorialHeight\",value:function(e){this.setState({tutorialHeight:e})}},{key:\"toggleDropdown\",value:function(e){e.stopPropagation(),this.props.toggleDropdown()}},{key:\"render\",value:function(){var e=n(665),t=this.props,r=t.t,o=t.i18n,i=t.version,a=function(e){o.changeLanguage(e)};return l.default.createElement(\"div\",{className:d.default.main,onClick:this.props.closeDropdown},l.default.createElement(\"div\",{className:d.default.sidebar},l.default.createElement(\"div\",{className:d.default.sidebarContent},l.default.createElement(\"div\",{className:d.default.logo},l.default.createElement(p.Link,{to:\"/\"},l.default.createElement(\"img\",{src:e,className:d.default.brand_image})),l.default.createElement(f.Dropdown,{id:\"dropdown-custom-1\",bsSize:\"xsmall\",className:d.default.languagesContainer,pullRight:!0,onSelect:a},l.default.createElement(f.Dropdown.Toggle,{className:d.default.languages,noCaret:!0},r(\"language\")),l.default.createElement(f.Dropdown.Menu,{className:d.default.languagesMenu},l.default.createElement(f.MenuItem,{eventKey:\"zh\"},\"中文\"),l.default.createElement(f.MenuItem,{eventKey:\"en\"},\"ENGLISH\"))),l.default.createElement(\"span\",null,l.default.createElement(\"span\",{className:d.default.settings,onClick:this.toggleDropdown},l.default.createElement(\"img\",{src:n(661)})),this.props.showDropwdown&&l.default.createElement(M.SecondaryNavigation,null))),l.default.createElement(M.Navigation,null),l.default.createElement(\"div\",{className:d.default.version},l.default.createElement(\"span\",null,r(\"commonWords.version\"),\": \",i)))),l.default.createElement(\"div\",{className:d.default.content+\" flex-container\",style:{marginTop:this.state.tutorialHeight}},!this.props.connected&&l.default.createElement(\"div\",{className:d.default.connectionIssue},\"There was an issue connecting to Chain Core. Please check your connection while dashboard attempts to reconnect.\"),l.default.createElement(v.default,{handleTutorialHeight:this.setTutorialHeight},l.default.createElement(b.default,{types:[\"TutorialInfo\"]})),this.props.children))}}]),t}(l.default.Component);t.default=(0,A.withNamespaces)(\"translations\")((0,h.connect)(function(e){return{canLogOut:e.core.requireClientToken,version:e.core.version,connected:!0,showDropwdown:\"open\"==e.app.dropdownState}},function(e){return{toggleDropdown:function(){return e(g.default.app.toggleDropdown)},closeDropdown:function(){return e(g.default.app.closeDropdown)}}})(w))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(1190),f=r(d),p=n(15),h=r(p),m=n(4),g=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.dispatch,n=e.isShowing,r=e.body,o=e.acceptAction,i=e.cancelAction,a=e.t;if(!n)return null;var s=function(){t(o),t(h.default.app.hideModal)},u=i?function(){return t(i)}:null,c=this.props.options.dialog?null:u||s,d=this.props.options.box,p=this.props.options.noCloseBtn;return l.default.createElement(\"div\",{className:f.default.main},l.default.createElement(\"div\",{className:f.default.backdrop,onClick:c}),l.default.createElement(\"div\",{className:(this.props.options.wide&&f.default.wide||\"\")+\" \"+(d?f.default.box:f.default.content)},d&&l.default.createElement(\"div\",{className:f.default.title},l.default.createElement(\"p\",null,a(\"console.title\")),l.default.createElement(\"button\",{className:\"btn \"+f.default.close,onClick:s},\"X\")),r,!p&&l.default.createElement(\"button\",{className:\"btn btn-\"+(this.props.options.danger?\"danger\":\"primary\")+\" \"+f.default.accept,onClick:s},a(\"form.ok\")),!p&&u&&l.default.createElement(\"button\",{className:\"btn btn-link \"+f.default.cancel,onClick:u},\"Cancel\")))}}]),t}(l.default.Component),_=function(e){return{isShowing:e.app.modal.isShowing,body:e.app.modal.body,acceptAction:e.app.modal.accept,cancelAction:e.app.modal.cancel,options:e.app.modal.options}};t.default=(0,c.connect)(_)((0,m.withNamespaces)(\"translations\")(g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(27),f=n(416),p=r(f),h=n(344),m=n(709),g=r(m),_=n(14),b=n(83),y=n(4),v=n(15),M=r(v),A=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.openTutorial=n.openTutorial.bind(n),n.state={showFed:!1},n}return a(t,e),s(t,[{key:\"openTutorial\",value:function(e){e.preventDefault(),this.props.openTutorial()}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchFederationItem().then(function(t){e.setState({showFed:!0})}).catch(function(t){e.setState({showFed:!1})})}},{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:p.default.main},this.props.update&&l.default.createElement(\"div\",{className:p.default.updateWarning+\" \"+p.default.smallFont},l.default.createElement(\"a\",{href:_.releaseUrl,target:\"_blank\"},l.default.createElement(\"img\",{src:n(1698),className:p.default.warningIcon}),this.props.newVersionCode,e(\"crumbName.update\"))),l.default.createElement(\"ul\",{className:p.default.navigation\n},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.coreData\")),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/transactions\",activeClassName:p.default.active},(0,h.navIcon)(\"transaction\",p.default),(0,b.capitalize)(e(\"crumbName.transaction\")))),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/assets\",activeClassName:p.default.active},(0,h.navIcon)(\"asset\",p.default),(0,b.capitalize)(e(\"crumbName.asset\")))),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/balances\",activeClassName:p.default.active},(0,h.navIcon)(\"balance\",p.default),(0,b.capitalize)(e(\"crumbName.balance\")))),this.state.showFed&&l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/federations\",activeClassName:p.default.active},(0,h.navIcon)(\"federation\",p.default),(0,b.capitalize)(e(\"crumbName.federation\"))))),l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.account\"),\"( \",this.props.currentAccount,\" )\"),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/accounts\",activeClassName:p.default.active},(0,h.navIcon)(\"account\",p.default),(0,b.capitalize)(e(\"crumbName.accountManagement\"))))),this.props.showNavAdvance&&l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.advanced\")),l.default.createElement(\"li\",null,l.default.createElement(d.Link,{to:\"/unspents\",activeClassName:p.default.active},(0,h.navIcon)(\"unspent\",p.default),(0,b.capitalize)(e(\"crumbName.unspent\"))))),l.default.createElement(\"ul\",{className:p.default.navigation},l.default.createElement(\"li\",{className:p.default.navigationTitle},e(\"crumbName.help\")),l.default.createElement(\"li\",null,l.default.createElement(\"a\",{href:_.docsRoot,target:\"_blank\"},(0,h.navIcon)(\"docs\",p.default),e(\"crumbName.doc\")))),l.default.createElement(g.default,null))}}]),t}(l.default.Component);t.default=(0,c.connect)(function(e){return{newVersionCode:e.core.newVersionCode,update:e.core.update,coreData:e.core.coreData,routing:e.routing,showNavAdvance:\"advance\"===e.app.navAdvancedState,currentAccount:e.account.currentAccount}},function(e){return{fetchFederationItem:function(){return e(M.default.federation.fetchItems())}}})((0,y.withNamespaces)(\"translations\")(A))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(16),f=n(15),p=r(f),h=n(344),m=n(1191),g=r(m),_=n(4),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.logOut=n.logOut.bind(n),n}return a(t,e),s(t,[{key:\"logOut\",value:function(e){e.preventDefault(),this.props.logOut()}},{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:g.default.main},l.default.createElement(\"ul\",{className:g.default.navigation},l.default.createElement(\"li\",{className:g.default.navigationTitle},e(\"crumbName.settings\")),l.default.createElement(\"li\",null,l.default.createElement(c.Link,{to:\"/core\",activeClassName:g.default.active},(0,h.navIcon)(\"core\",g.default),e(\"crumbName.coreStatus\"))),l.default.createElement(\"li\",null,l.default.createElement(c.Link,{to:\"/backup\",activeClassName:g.default.active},(0,h.navIcon)(\"client\",g.default),e(\"crumbName.backupRestore\"))),this.props.canViewTokens&&l.default.createElement(\"li\",null,l.default.createElement(c.Link,{to:\"/access-control\",activeClassName:g.default.active},(0,h.navIcon)(\"network\",g.default),e(\"crumbName.accessControl\"))),this.props.canLogOut&&l.default.createElement(\"li\",{className:g.default.logOut},l.default.createElement(\"a\",{href:\"#\",onClick:this.logOut},(0,h.navIcon)(\"logout\",g.default),e(\"crumbName.logout\")))))}}]),t}(l.default.Component);t.default=(0,d.connect)(function(e){return{canLogOut:!!e.core.clientToken,canViewTokens:!e.core.clientToken}},function(e){return{logOut:function(){return e(p.default.core.clearSession)}}})((0,_.withNamespaces)(\"translations\")(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(76),f=n(27),p=n(416),h=r(p),m=n(1192),g=r(m),_=n(4),b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.coreData,t=this.props.t;if(!e)return l.default.createElement(\"ul\",null);var n=e.networkId,r=e.syncing,o=e.peerCount,i=e.currentBlock,a=e.highestBlock,s=0===a?0:100*i/a,u=l.default.createElement(d.Tooltip,{id:\"tooltip\"},i,\"/\",a,\" \",l.default.createElement(\"strong\",null,\"(\",s.toFixed(1),\"%)\")),c=l.default.createElement(d.ProgressBar,{className:g.default.progressBar,now:s});if(r)return l.default.createElement(\"ul\",{className:h.default.navigation+\" \"+g.default.main},l.default.createElement(\"li\",{key:\"sync-title\",className:h.default.navigationTitle},n,\" \",t(\"sync.status\")),l.default.createElement(\"li\",{key:\"sync-peer-count\",className:o>0?g.default.blockHightlight:null},l.default.createElement(f.Link,{to:\"/peers\"},t(\"sync.peer\"),\": \",o)),l.default.createElement(\"li\",{key:\"sync-status\"},\" \",l.default.createElement(d.OverlayTrigger,{placement:\"top\",overlay:u},l.default.createElement(\"div\",null,\" \",t(\"sync.synchronizing\"),\" \",c,\" \"))));var p=[];return p.push(l.default.createElement(\"li\",{key:\"sync-title\",className:h.default.navigationTitle},n,\" \",t(\"sync.status\"))),p.push(l.default.createElement(\"li\",{key:\"sync-peer-count\",className:o>0?g.default.blockHightlight:null},l.default.createElement(f.Link,{to:\"/peers\"},t(\"sync.peer\"),\": \",o))),r||i!=a||p.push(l.default.createElement(\"li\",{className:g.default.blockHightlight,key:\"sync-done\"},l.default.createElement(d.OverlayTrigger,{placement:\"top\",overlay:u},l.default.createElement(\"div\",null,t(\"sync.synced\"),c)))),!r&&i<a&&p.push(l.default.createElement(\"li\",{key:\"sync-disconnect\"},t(\"sync.disconnect\"))),l.default.createElement(\"ul\",{className:h.default.navigation+\" \"+g.default.main},p)}}]),t}(l.default.Component);t.default=(0,c.connect)(function(e){return{coreData:e.core.coreData}})((0,_.withNamespaces)(\"translations\")(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.dropdownState=t.navAdvancedState=t.modal=t.flashMessages=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(1),s=r(a),u=n(36),l=n(115),c=r(l),d=function(e,t,n){return{message:e,title:t,type:n,displayed:!1}},f=function(e,t){return i({},e,o({},c.default.v4(),t))},p=function(e,t,n){return i({},e,o({},c.default.v4(),d(t,n,\"success\")))},h=function(e,t,n){return i({},e,o({},c.default.v4(),d(t,n,\"danger\")))},m=t.flashMessages=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];switch(t.type){case\"@@router/LOCATION_CHANGE\":return t.payload.state&&t.payload.state.preserveFlash?e:(Object.keys(e).forEach(function(t){var n=e[t];n.displayed&&delete e[t]}),i({},e));case\"CREATED_ACCOUNT\":return p(e,\"CREATED_ACCOUNT\");case\"CREATED_ASSET\":return p(e,\"CREATED_ASSET\");case\"CREATED_TRANSACTION\":return p(e,\"CREATED_TRANSACTION\");case\"CREATED_KEY\":return p(e,\"CREATED_KEY\");case\"CREATED_TRANSACTIONFEED\":return p(e,s.default.createElement(\"p\",null,\"Created transaction feed.\"));case\"CREATED_TOKEN_WITH_GRANT\":return p(e,\"CREATED_TOKEN_WITH_GRANT\");case\"CREATED_X509_GRANT\":return p(e,s.default.createElement(\"p\",null,\"Granted policy to X509 certificate.\"));case\"RESET_PASSWORD_KEY\":return p(e,\"RESET_PASSWORD_KEY\");case\"DELETE_ACCESS_TOKEN\":case\"DELETE_TRANSACTIONFEED\":return f(e,d(t.message,null,\"info\"));case\"DISMISS_FLASH\":return delete e[t.param],i({},e);case\"DISPLAYED_FLASH\":var n=e[t.param];if(n&&!n.displayed){var r=i({},e);return n.displayed=!0,r[t.param]=n,r}return e;case\"UPDATED_ACCOUNT\":return p(e,\"UPDATED_ACCOUNT\");case\"UPDATED_KEY\":return p(e,\"UPDATED_KEY\");case\"UPDATED_ASSET\":return p(e,\"UPDATED_ASSET\");case\"CREATE_REGISTER_ACCOUNT\":return p(e,\"CREATE_REGISTER_ACCOUNT\");case\"ERROR\":return h(e,t.payload.message||t.payload.msg);case\"USER_LOG_IN\":return{};case\"RESTORE_SUCCESS\":return p(e,\"RESTORE_SUCCESS\");default:return e}},g=t.modal=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{isShowing:!1},t=arguments[1];return\"SHOW_MODAL\"==t.type?i({isShowing:!0},t.payload):\"HIDE_MODAL\"==t.type?{isShowing:!1}:e},_=t.navAdvancedState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"normal\",t=arguments[1];return\"SHOW_NAV_ADVANCE\"==t.type?\"normal\"===e?\"advance\":\"normal\":\"HIDE_NAV_ADVANCE\"==t.type?\"normal\":e},b=t.dropdownState=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"TOGGLE_DROPDOWN\"==t.type?\"\"===e?\"open\":\"\":\"CLOSE_DROPDOWN\"==t.type?\"\":e};t.default=(0,u.combineReducers)({flashMessages:m,modal:g,dropdownState:b,navAdvancedState:_})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=\"asset\",a=(0,o.baseListActions)(i,{defaultKey:\"alias\"}),s=(0,o.baseCreateActions)(i,{intFields:[\"quorum\"],redirectToShow:!0}),u=(0,o.baseUpdateActions)(i,{jsonFields:[\"tags\"]}),l=r({},a,s,u);t.default=l},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(27),f=n(53),p=r(f),h=n(14),m=n(4),g=n(16),_=n(15),b=r(_),y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t,r=void 0;if(t){var o=l.default.createElement(\"span\",null,n(\"asset.asset\"),l.default.createElement(\"code\",null,t.alias?t.alias:t.id)),i=2.5*(t.limitHeight-this.props.blockHeight),a=void 0;this.props.blockHeight<t.limitHeight?a=l.default.createElement(\"span\",{className:\"text-danger\"},n(\"asset.issuableLabel\",{time:i})):t.limitHeight>0&&(a=l.default.createElement(\"span\",{className:\"text-danger\"},n(\"asset.noIssuableLabel\"))),r=l.default.createElement(\"div\",{className:(0,p.default)(this)},l.default.createElement(c.PageTitle,{title:o,actions:[t.id!==h.btmID&&l.default.createElement(d.Link,{key:\"create-asset-btn\",className:\"btn btn-link\",to:\"/transactions/create?type=issueAsset&alias=\"+t.alias},n(\"transaction.issue.issueAsset\"))]}),l.default.createElement(c.PageContent,null,l.default.createElement(c.KeyValueTable,{id:t.id,object:\"asset\",title:n(\"form.detail\"),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:t})],items:[{label:\"ID\",value:t.id},{label:n(\"form.alias\"),value:t.alias,editUrl:\"BTM\"===t.alias?null:\"/assets/\"+t.id+\"/alias\"},{label:n(\"form.symbol\"),value:t.definition.symbol},{label:n(\"form.decimals\"),value:t.definition.decimals},{label:n(\"form.reissueTitle\"),value:\"BTM\"===t.alias||t.limitHeight>0?\"false \":\"true\",note:a},{label:n(\"form.xpubs\"),value:(t.xpubs||[]).length},{label:n(\"form.quorum\"),value:t.quorum},{label:n(\"asset.additionInfo\"),value:t.definition.description}]}),(t.xpubs||[]).map(function(e,t){return l.default.createElement(c.KeyValueTable,{key:t,title:n(\"asset.xpubs\",{id:t+1}),items:[{label:n(\"form.index\"),value:t},{label:n(\"asset.assetPub\"),value:e}]})})))}return this.renderIfFound(r)}}]),t}(c.BaseShow),v=function(e,t){return{item:e.asset.items[t.params.id],blockHeight:e.core.blockHeight}},M=function(e){return{fetchItem:function(t){return e(b.default.asset.fetchItems({id:\"\"+t}))},showCirculation:function(t){var n=\"id='\"+t.id+\"'\";t.alias&&(n=\"alias='\"+t.alias+\"'\"),e(b.default.balance.pushList({filter:n}))}}};t.default=(0,m.withNamespaces)(\"translations\")((0,g.connect)(v,M)(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){return this.props.submitForm(e,this.props.item.id).catch(function(e){throw{_error:e}})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){\"fail\"==t.status&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){if(this.state.notFound)return l.default.createElement(c.NotFound,null);var e=this.props.item;if(!e)return l.default.createElement(\"div\",null,\"Loading...\");var t=this.props,n=t.fields.alias,r=t.error,o=t.handleSubmit,i=t.submitting,a=t.t,s=l.default.createElement(\"span\",null,a(\"asset.editAlias\"),l.default.createElement(\"code\",null,e.alias?e.alias:e.id));return l.default.createElement(c.FormContainer,{error:r,label:s,onSubmit:o(this.submitWithValidations),submitting:i},l.default.createElement(c.FormSection,{title:a(\"asset.alias\")},l.default.createElement(c.TextField,{placeholder:a(\"asset.aliasPlaceholder\"),fieldProps:n,type:\"text\"})))}}]),t}(l.default.Component),h=function(e,t){return{item:e.asset.items[t.params.id]}},m=function(e,t){var n=e.asset.items[t.params.id];return n?{initialValues:{alias:n.alias}}:{}},g=(0,d.reduxForm)({form:\"updateAssetForm\",fields:[\"alias\"]},m)(p);t.default=(0,f.withNamespaces)(\"translations\")(c.BaseUpdate.connect(h,c.BaseUpdate.mapDispatchToProps(\"asset\"),g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=(r(i),n(10)),s=n(715),u=r(s),l=n(4),c=\"asset\",d=function(e,t){return o({skipCreate:!0},a.BaseList.mapStateToProps(c,u.default,{wrapperComponent:a.TableList,wrapperProps:{titles:t.t(\"asset.formTitle\",{returnObjects:!0})}})(e))};t.default=(0,l.withNamespaces)(\"translations\")(a.BaseList.connect(d,a.BaseList.mapDispatchToProps(c)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(4),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,t.alias||\"-\"),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.id)),l.default.createElement(\"td\",null,l.default.createElement(c.Link,{to:\"/assets/\"+t.id},n(\"commonWords.viewDetails\"),\" →\")))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(718),p=r(f),h=n(717),m=r(h),g=n(4),_=n(23),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.nextPage=n.nextPage.bind(n),n.previousPage=n.previousPage.bind(n),n.state={page:1},n}return a(t,e),u(t,[{key:\"componentWillUnmount\",value:function(){this.props.destroyForm()}},{key:\"submitWithValidations\",value:function(e){var t=this,n={alias:e.alias,quorum:e.quorum,xpubs:e.xpubs,limit_height:\"true\"===e.reissue?0:this.props.blockHeight+3,definition:{name:e.alias.trim(),symbol:e.symbol.trim(),decimals:e.decimals,quorum:e.quorum,reissue:e.reissue,description:e.description}};return new Promise(function(e,r){t.props.submitForm(n).then(function(){t.props.destroyForm()}).catch(function(e){return r({_error:e})})})}},{key:\"nextPage\",value:function(){this.setState({page:this.state.page+1})}},{key:\"previousPage\",value:function(){this.setState({page:this.state.page-1})}},{key:\"render\",value:function(){var e=this.state.page;return c.default.createElement(\"div\",null,1===e&&c.default.createElement(m.default,{onSubmit:this.nextPage}),2===e&&c.default.createElement(p.default,{previousPage:this.previousPage,onSubmit:this.submitWithValidations}))}}]),t}(c.default.Component),y=function(e){return s({},d.BaseNew.mapDispatchToProps(\"asset\")(e),{destroyForm:function(){return e((0,_.destroy)(\"newAssetForm\"))}})},v=function(e){return s({},d.BaseNew.mapStateToProps(\"asset\"),{blockHeight:e.core.blockHeight})};t.default=(0,g.withNamespaces)(\"translations\")(d.BaseNew.connect(v,y,b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(4),h=n(1193),m=r(h),g=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16].map(function(e){return{label:e,value:e}}),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.addReceiverItem=n.addReceiverItem.bind(n),n.removeReceiverItem=n.removeReceiverItem.bind(n),n}return a(t,e),u(t,[{key:\"addReceiverItem\",value:function(){this.props.fields.description.addField()}},{key:\"removeReceiverItem\",value:function(e){var t=this.props.fields.description;t.removeField(e)}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.alias,o=n.symbol,i=n.decimals,a=n.reissue,s=n.description,u=t.error,l=t.handleSubmit,f=t.submitting,p=t.t,h=[{label:p(\"form.reissueTrue\"),value:\"true\"},{label:p(\"form.reissueFalse\"),value:\"false\"}];return c.default.createElement(d.FormContainer,{error:u,label:p(\"asset.new\"),onSubmit:l,submitting:f,submitLabel:p(\"commonWords.next\")},c.default.createElement(d.FormSection,{title:p(\"asset.information\")},c.default.createElement(d.TextField,{title:p(\"form.alias\"),placeholder:p(\"asset.aliasLengthError\"),fieldProps:r,autoFocus:!0}),c.default.createElement(d.TextField,{title:p(\"form.symbol\"),placeholder:p(\"asset.symbolPlaceholder\"),fieldProps:o}),c.default.createElement(d.SelectField,{options:g,title:p(\"form.decimals\"),hint:p(\"asset.decimalPlaceholder\"),skipEmpty:!0,fieldProps:i}),c.default.createElement(d.RadioField,{title:p(\"form.reissueTitle\"),options:h,fieldProps:a}),c.default.createElement(\"label\",null,p(\"asset.additionInfo\")),c.default.createElement(\"div\",{className:m.default.panel},s.map(function(t,n){return c.default.createElement(\"div\",{className:m.default.subjectField},c.default.createElement(d.TextField,{title:p(\"asset.additionInfoKey\"),fieldProps:t.key}),c.default.createElement(d.TextField,{title:p(\"asset.additionInfoValue\"),fieldProps:t.value}),c.default.createElement(\"button\",{className:\"btn btn-danger btn-xs\",tabIndex:\"-1\",type:\"button\",onClick:function(){return e.removeReceiverItem(n)}},p(\"commonWords.remove\")))}),c.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:this.addReceiverItem},p(\"commonWords.addField\")))))}}]),t}(c.default.Component),b=function(e,t){var n={description:{}},r=t.t;return e.alias?e.alias.length>30&&(n.alias=r(\"asset.aliasLengthError\")):n.alias=r(\"asset.aliasError\"),e.symbol?e.symbol.isUpperCase()||(n.symbol=r(\"asset.symbolCaseError\")):n.symbol=r(\"asset.symbolError\"),e.decimals?/^\\d+$/.test(e.decimals)?(e.decimals>16||e.decimals<0)&&(n.decimals=r(\"asset.decimalsRangeError\")):n.decimals=r(\"asset.decimalsTypeError\"):n.decimals=r(\"asset.decimalsError\"),e.description.forEach(function(t,o){e.description[o].value||(n.description[o]=s({},n.description[o],{value:r(\"asset.additionInfoValueError\")})),e.description[o].key||(n.description[o]=s({},n.description[o],{key:r(\"asset.additionInfoKeyError\")}))}),n},y=[\"alias\",\"symbol\",\"decimals\",\"reissue\",\"description[].key\",\"description[].value\",\"quorum\"];t.default=(0,p.withNamespaces)(\"translations\")((0,f.reduxForm)({form:\"newAssetForm\",fields:y,validate:b,destroyOnUnmount:!1,initialValues:{decimals:8,reissue:\"false\",quorum:1}})(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(4),h=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.xpubs,r=t.quorum,o=e.error,i=e.previousPage,a=e.handleSubmit,s=e.submitting,u=e.t,l=function(){var e=new Promise(function(e,t){try{for(var r=0;r<n.length;r++)n.removeField()}catch(e){t(e)}e()});e.then(i)};return c.default.createElement(d.FormContainer,{error:o,label:u(\"asset.new\"),onSubmit:a,submitting:s,secondaryAction:l},c.default.createElement(d.FormSection,{title:u(\"form.keyAndSign\")},c.default.createElement(d.KeyConfiguration,{xpubs:n,quorum:r,quorumHint:u(\"asset.quorumHint\")})))}}]),t}(c.default.Component),m=function(e,t){var n={xpubs:{}},r=t.t;return e.xpubs.forEach(function(t,o){e.xpubs[o].value||(n.xpubs[o]=s({},n.xpubs[o],{value:r(\"asset.keysError\")}))}),n},g=[\"alias\",\"symbol\",\"decimals\",\"reissue\",\"description[].key\",\"description[].value\",\"xpubs[].value\",\"xpubs[].type\",\"quorum\"];t.default=(0,p.withNamespaces)(\"translations\")((0,f.reduxForm)({form:\"newAssetForm\",fields:g,validate:m,destroyOnUnmount:!1})(h))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.AssetUpdate=t.AssetShow=t.New=t.List=void 0;var o=n(714),i=r(o),a=n(716),s=r(a),u=n(712),l=r(u),c=n(713),d=r(c);t.List=i.default,t.New=s.default,t.AssetShow=l.default,t.AssetUpdate=d.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"asset\";t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i),queries:r.reducers.queriesReducer(i),autocompleteIsLoaded:r.reducers.autocompleteIsLoadedReducer(i)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(719),o=n(37);t.default=function(e){var t=(0,o.makeRoutes)(e,\"asset\",r.List,r.New,r.AssetShow);return t.childRoutes.push({path:\":id/alias\",component:r.AssetUpdate}),t}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o={backup:function(){return function(e){return(0,r.chainClient)().backUp.backup().then(function(e){if(\"fail\"===e.status)throw e;var t=new Date,n=t.toLocaleDateString().split(\" \")[0],r=t.getTime(),o=[\"vapor-wallet-backup-\",n,r].join(\"-\")+\".dat\",i=document.createElement(\"a\");i.setAttribute(\"href\",\"data:text/plain;charset=utf-8,\"+encodeURIComponent(JSON.stringify(e.data))),i.setAttribute(\"download\",o),i.style.display=\"none\",document.body.appendChild(i),i.click(),document.body.removeChild(i)}).catch(function(e){throw e})}},success:function(){return function(e){e({type:\"HIDE_MODAL\"}),e({type:\"RESTORE_SUCCESS\"})}}};t.default=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(1194),p=r(f),h=n(15),m=r(h),g=n(4),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:null,error:null},n.mnemonicPopup=n.mnemonicPopup.bind(n),n.keystorePopup=n.keystorePopup.bind(n),n.submitWithValidation=n.submitWithValidation.bind(n),n}return a(t,e),s(t,[{key:\"setValue\",value:function(e){this.setState({value:e.target.value})}},{key:\"mnemonicPopup\",value:function(e){e.preventDefault(),this.props.showModal(l.default.createElement(d.RestoreMnemonic,{success:this.props.success}))}},{key:\"keystorePopup\",value:function(e){e.preventDefault(),this.props.showModal(l.default.createElement(d.RestoreKeystore,{success:this.props.success}))}},{key:\"submitWithValidation\",value:function(){var e=this;this.props.backup().then(function(){\ne.setState({error:null})}).catch(function(t){e.setState({error:t})})}},{key:\"render\",value:function(){var e=this,t=this.props.t,n=this.state.error,r=l.default.createElement(\"button\",{className:\"btn btn-primary btn-lg \"+p.default.submit,onClick:function(){return e.submitWithValidation()}},t(\"backup.download\")),o=l.default.createElement(\"button\",{className:\"btn btn-primary btn-lg \"+p.default.submit,onClick:this.keystorePopup},t(\"backup.selectFile\"));return l.default.createElement(\"div\",{className:\"flex-container\"},l.default.createElement(d.PageTitle,{title:t(\"backup.title\")}),l.default.createElement(d.PageContent,null,l.default.createElement(\"div\",{onChange:function(t){return e.setValue(t)}},l.default.createElement(\"div\",{className:p.default.choices},l.default.createElement(\"div\",{className:p.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:p.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"backup\"}),l.default.createElement(\"div\",{className:p.default.choice+\" \"+p.default.backup+\" \"},l.default.createElement(\"span\",{className:p.default.choice_title},t(\"backup.backup\")),l.default.createElement(\"p\",null,t(\"backup.backupDescription\"))))),l.default.createElement(\"div\",{className:p.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:p.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"restoreKeystore\"}),l.default.createElement(\"div\",{className:p.default.choice+\" \"+p.default.restoreKeystore},l.default.createElement(\"span\",{className:p.default.choice_title},t(\"backup.restoreKeystore\")),l.default.createElement(\"p\",null,t(\"backup.restoreKeystoreDescription\")))))),l.default.createElement(\"div\",{className:p.default.choices},l.default.createElement(\"div\",null,\"backup\"===this.state.value&&[l.default.createElement(\"div\",{className:p.default.submitWrapper},n&&l.default.createElement(d.ErrorBanner,{error:n})),l.default.createElement(\"span\",{className:p.default.submitWrapper},r)]),l.default.createElement(\"div\",null,\"restoreKeystore\"===this.state.value&&l.default.createElement(\"span\",{className:p.default.submitWrapper},o)),l.default.createElement(\"div\",null,\"restoreMnemonic\"===this.state.value&&l.default.createElement(\"span\",{className:p.default.submitWrapper},restoreMnemonicButton))))))}}]),t}(l.default.Component),b=function(){return{}},y=function(e){return{backup:function(){return e(m.default.backUp.backup())},success:function(){return e(m.default.backUp.success())},showModal:function(t){return e(m.default.app.showModal(t,m.default.app.hideModal,null,{noCloseBtn:!0}))}}};t.default=(0,c.connect)(b,y)((0,g.withNamespaces)(\"translations\")(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Backup=void 0;var o=n(723),i=r(o);t.Backup=i.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(724);t.default={path:\"backup\",component:r.RoutingContainer,indexRoute:{component:o.Backup}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=n(14),a=n(41),s=function(e){return{type:\"UPDATE_WALLET_INFO\",param:e}},u=function(){return function(e){return(0,i.chainClient)().backUp.rescan().then(function(t){e(\"fail\"===t.status?{type:\"ERROR\",payload:{message:t.msg}}:{type:\"START_RESCAN\"})}).catch(function(e){throw{_error:e}})}},l=function(){return function(e){return(0,i.chainClient)().backUp.info().then(function(t){\"fail\"===t.status?e({type:\"ERROR\",payload:{message:t.msg}}):t.data.bestBlockHeight===t.data.walletHeight?(e({type:\"STOP_RESCAN\"}),e((0,a.push)(\"/balances\"))):e(s(t.data))}).catch(function(t){e({type:\"ERROR\",payload:t})})}},c=function(){return function(e){return(0,i.chainClient)().accounts.listAccountVotes({}).then(function(t){e({type:\"UPDATE_VOTE_DETAILS\",param:t.data})}).catch(function(t){e({type:\"ERROR\",payload:t})})}},d=r({updateInfo:s,rescan:u,walletInfo:l,getVoteDetail:c},(0,o.baseListActions)(\"balance\"));t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=(n(76),n(14)),d=n(728),f=r(d),p=n(1),h=r(p),m=n(15),g=r(m),_=n(729),b=r(_),y=n(4),v=\"balance\",M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){this.props.getVoteDetail()}},{key:\"rescanWallet\",value:function(){this.props.showModal(h.default.createElement(b.default,{closeModal:this.props.closeModal()}))}},{key:\"render\",value:function(){var e=this,t=l.BaseList.ItemList,n=h.default.createElement(\"button\",{key:\"showRescan\",className:\"btn btn-primary\",onClick:function(){return e.rescanWallet()}},this.props.t(\"balances.rescan\")),r=void 0;if(0!==this.props.items.length){var o=function(e,t){return e.map(function(e){return s({},t.find(function(t){return t.accountId===e.accountId&&e.assetId===c.btmID&&t}),e)})};r=0===this.props.voteDetail.length?this.props.items:o(this.props.items,this.props.voteDetail)}return h.default.createElement(\"div\",null,h.default.createElement(t,s({actions:[n]},this.props,{items:r})))}}]),t}(h.default.Component),A=function(e,t){var n=s({},l.BaseList.mapStateToProps(v,f.default)(e,t),{rescanning:e.balance.rescanning,rescanProgress:e.balance.rescanProgress,voteDetail:e.balance.voteDetail,skipCreate:!0});return n},w=function(e){return s({rescan:function(){return e(g.default.balance.rescan())},info:function(){return e(g.default.balance.walletInfo())},getVoteDetail:function(){return e(g.default.balance.getVoteDetail())},showModal:function(t){return e(g.default.app.showModal(t,g.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))},closeModal:function(){return e(g.default.app.hideModal)}},l.BaseList.mapDispatchToProps(v))};t.default=l.BaseList.connect(A,w,(0,y.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(43),f=n(4),p=n(14),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=void 0;if(e){var n=function(t){return e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==p.btmID?(0,d.converIntToDec)(t,e.assetDefinition.decimals):t},r=n(e.amount);t={amount:r,assetId:e.assetId,assetAlias:e.assetAlias,accountAlias:e.accountAlias,accountId:e.accountId},e.totalVoteNumber&&(t.totalVoteNumber=n(e.totalVoteNumber))}return l.default.createElement(c.KeyValueTable,{items:(0,d.buildBalanceDisplay)(t,this.props.btmAmountUnit,this.props.t)})}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(76),d=n(1195),f=r(d),p=n(15),h=r(p),m=n(16),g=n(4),_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={now:0},n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){var e=this,t=0;this.props.rescan().then(function(){return e.setStat()}),this.setStat=function(){e.props.rescanning?(e.props.fetchInfo(),t=e.props.rescanProgress.bestBlockHeight?(100*e.props.rescanProgress.walletHeight/e.props.rescanProgress.bestBlockHeight).toFixed(2):0,e.setState({now:t}),setTimeout(e.setStat,2e3)):e.setState({now:100})}}},{key:\"render\",value:function(){var e=this,t=this.state.now,n=this.props.t,r=n(\"balances.status.success\"),o=n(\"balances.status.start\"),i=n(\"balances.status.rescan\");return l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:f.default.title},100===t?r:0===t?o:i),100===t?l.default.createElement(\"pre\",{className:f.default.infoContainer},l.default.createElement(\"p\",null,n(\"balances.status.successMsg\"))):0===t?l.default.createElement(\"pre\",{className:f.default.infoContainer},l.default.createElement(\"p\",null,n(\"balances.status.startMsg\"))):l.default.createElement(\"pre\",{className:f.default.infoContainer},l.default.createElement(\"p\",null,n(\"balances.status.rescanMsg\")),l.default.createElement(c.ProgressBar,{now:t})),l.default.createElement(\"div\",{className:f.default.submitBtn},l.default.createElement(\"button\",{key:\"submit\",className:\"btn btn-primary\",onClick:function(){return e.props.closeModal()},disabled:100!==t},n(\"form.ok\"))))}}]),t}(l.default.Component),b=function(e){return{rescanning:e.balance.rescanning,rescanProgress:e.balance.rescanProgress}},y=function(e){return{rescan:function(){return e(h.default.balance.rescan())},fetchInfo:function(){return e(h.default.balance.walletInfo())},closeModal:function(){return e(h.default.app.hideModal)}}};t.default=(0,m.connect)(b,y)((0,g.withNamespaces)(\"translations\")(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(1196),p=r(f),h=n(4),m=n(15),g=r(m),_=n(43),b=n(14),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t,t=this.props.account,n=this.props.btmAmountUnit,r=void 0;if(t){var o=t.voteDetails,i=l.default.createElement(\"span\",null,e(\"balances.voteDetails\"),l.default.createElement(\"code\",null,t.accountAlias?t.accountAlias:t.accountId)),a=void 0;o&&(a=l.default.createElement(\"table\",{className:p.default.main},l.default.createElement(\"thead\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"th\",null,e(\"form.vote\")),l.default.createElement(\"th\",null,e(\"form.amount\")))),l.default.createElement(\"tbody\",null,o.map(function(e){return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,e.vote),l.default.createElement(\"td\",null,(0,_.normalizeGlobalBTMAmount)(b.btmID,e.voteNumber,n)))})))),r=l.default.createElement(\"div\",null,l.default.createElement(d.PageTitle,{title:i}),l.default.createElement(d.PageContent,null,l.default.createElement(d.Section,{title:e(\"balances.voteDetails\")},a)))}return this.renderIfFound(r)}}]),t}(d.BaseShow),v=function(e){return{fetchItem:function(t){return e(g.default.balance.getVoteDetail())}}};t.default=(0,c.connect)(function(e,t){var n=(e.balance||{}).voteDetail||[],r=n.find(function(e){return e.accountId==t.params.id});return r?{account:r,btmAmountUnit:e.core.btmAmountUnit}:{}},v)((0,h.withNamespaces)(\"translations\")(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.VoteDetails=t.List=void 0;var o=n(727),i=r(o),a=n(730),s=r(a);t.List=i.default,t.VoteDetails=s.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(36),i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(\"APPEND_BALANCE_PAGE\"==t.type){var n={};return t.param.data.forEach(function(e,t){var o=\"balance-\"+t;n[o]=r({id:\"balance-\"+t},e)}),n}return e},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"APPEND_BALANCE_PAGE\"==t.type?{loadedOnce:!0}:e},s=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"UPDATE_WALLET_INFO\"==t.type?t.param:e},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"UPDATE_VOTE_DETAILS\"==t.type?t.param:e},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"START_RESCAN\"==t.type||\"STOP_RESCAN\"!=t.type&&e};t.default=(0,o.combineReducers)({items:i,queries:a,rescanning:l,rescanProgress:s,voteDetail:u})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(731),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"balance\",r.List,null,null,{childRoutes:[{path:\"vote/:id\",component:r.VoteDetails}]})}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o=n(176),i=n(352),a=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10;return t(n).catch(function(o){for(var i=(new Date).getTime();i+200>=(new Date).getTime(););if(!(r>=1))throw o;e(t,n,r-1)})},s={submitConfiguration:function(e){var t=function(e,t){return(0,r.chainClient)().config.configure(t).then(function(){return a(e,o.actions.fetchCoreInfo({throw:!0}))})};return function(n){return\"testnet\"==e.type?n((0,i.fetchTestnetInfo)()).then(function(e){return t(n,e)}):(\"new\"==e.type&&(e={isGenerator:!0,isSigner:!0,quorum:1}),delete e.type,t(n,e))}}};t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(23),c=n(10),d=n(51),f=r(d),p=n(15),h=r(p),m=n(1),g=r(m),_=n(1197),b=r(_),y=n(14),v=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidation=n.submitWithValidation.bind(n),n}return a(t,e),u(t,[{key:\"showNewFields\",value:function(){return\"new\"===this.props.fields.type.value}},{key:\"showJoinFields\",value:function(){return\"join\"===this.props.fields.type.value}},{key:\"showTestnetFields\",value:function(){return\"testnet\"===this.props.fields.type.value}},{key:\"submitWithValidation\",value:function(e){var t=this;return e.generatorUrl&&!e.blockchainId?new Promise(function(e,t){return t({_error:\"You must specify a blockchain ID to connect to a network\"})}):new Promise(function(n,r){t.props.submitForm(e).catch(function(e){return r({type:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.type,r=t.generatorUrl,o=t.generatorAccessToken,i=t.blockchainId,a=e.handleSubmit,u=e.submitting,l=function(e){var t=n.onChange(e).value;\"join\"!=t&&(r.onChange(\"\"),o.onChange(\"\"),i.onChange(\"\"))},d=s({},(0,f.default)(n,[\"name\",\"value\",\"checked\",\"onBlur\",\"onFocus\"]),{onChange:l}),p=[n.error&&g.default.createElement(c.ErrorBanner,{key:\"configError\",title:\"There was a problem configuring your core\",error:n.error}),g.default.createElement(\"button\",{key:\"configSubmit\",type:\"submit\",className:\"btn btn-primary btn-lg \"+b.default.submit,disabled:u},\"\u00a0\",this.showNewFields()?\"Create\":\"Join\",\" network\")];return u&&p.push(g.default.createElement(c.SubmitIndicator,{text:this.showNewFields()?\"Creating network...\":\"Joining network...\"})),g.default.createElement(\"form\",{onSubmit:a(this.submitWithValidation)},g.default.createElement(\"h2\",{className:b.default.title},\"Configure Chain Core\"),g.default.createElement(\"div\",{className:b.default.choices},g.default.createElement(\"div\",{className:b.default.choice_wrapper},g.default.createElement(\"label\",null,g.default.createElement(\"input\",s({className:b.default.choice_radio_button,type:\"radio\"},d,{value:\"new\",disabled:!this.props.mockhsm})),g.default.createElement(\"div\",{className:b.default.choice+\" \"+b.default.new+\" \"+(this.props.mockhsm?\"\":b.default.disabled)},g.default.createElement(\"span\",{className:b.default.choice_title},\"Create new blockchain network\"),this.props.mockhsm&&g.default.createElement(\"p\",null,\"Start a new blockchain network with this Chain Core as the block generator.\"),!this.props.mockhsm&&g.default.createElement(\"p\",null,\"This core is compiled without a MockHSM. Use \",g.default.createElement(\"code\",null,\"corectl\"),\" to configure as a generator.\")))),g.default.createElement(\"div\",{className:b.default.choice_wrapper},g.default.createElement(\"label\",null,g.default.createElement(\"input\",s({className:b.default.choice_radio_button,type:\"radio\"},d,{value:\"join\"})),g.default.createElement(\"div\",{className:b.default.choice+\" \"+b.default.join},g.default.createElement(\"span\",{className:b.default.choice_title},\"Join existing blockchain network\"),g.default.createElement(\"p\",null,\"Connect this Chain Core to an existing blockchain network.\")))),g.default.createElement(\"div\",{className:b.default.choice_wrapper},g.default.createElement(\"label\",null,g.default.createElement(\"input\",s({className:b.default.choice_radio_button,type:\" radio\"},d,{value:\"testnet\"})),g.default.createElement(\"div\",{className:b.default.choice+\" \"+b.default.testnet},g.default.createElement(\"span\",{className:b.default.choice_title},\"Join the Chain Testnet\"),g.default.createElement(\"p\",null,\"Connect this Chain Core to the Chain Testnet. \",g.default.createElement(\"strong\",null,\"Data will be reset every week.\")))))),g.default.createElement(\"div\",{className:b.default.choices},g.default.createElement(\"div\",null,this.showNewFields()&&g.default.createElement(\"span\",{className:b.default.submitWrapper},p)),g.default.createElement(\"div\",null,this.showJoinFields()&&g.default.createElement(\"div\",{className:b.default.joinFields},g.default.createElement(c.TextField,{title:\"Block Generator URL\",placeholder:\"https://<block-generator-host>\",fieldProps:r}),g.default.createElement(c.TextField,{title:\"Blockchain ID\",placeholder:\"896a800000000000000\",fieldProps:i}),g.default.createElement(c.TextField,{title:[\"Cross-core Access Token\",g.default.createElement(\"a\",{href:y.docsRoot+\"/core/learn-more/authentication-and-authorization\",target:\"_blank\"},g.default.createElement(\"small\",{className:b.default.infoLink},g.default.createElement(\"span\",{className:\"glyphicon glyphicon-info-sign\"})))],placeholder:\"token-id:9e5f139755366add8c76\",fieldProps:o}),p)),g.default.createElement(\"div\",null,this.showTestnetFields()&&g.default.createElement(\"span\",{className:b.default.submitWrapper},p))))}}]),t}(g.default.Component),M=function(e){return{mockhsm:e.core.mockhsm}},A=function(e){return{submitForm:function(t){return e(h.default.configuration.submitConfiguration(t))}}},w={form:\"coreConfigurationForm\",fields:[\"type\",\"generatorUrl\",\"generatorAccessToken\",\"blockchainId\"]};t.default=(0,l.reduxForm)(w,M,A)(v)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.Index=void 0;var o=n(735),i=r(o);t.Index=i.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(736);t.default={path:\"configuration\",component:r.RoutingContainer,indexRoute:{component:o.Index}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(14),o=function(e){return{type:\"UPDATE_CORE_INFO\",param:e}},i=function(e){return{type:\"SET_CLIENT_TOKEN\",token:e}},a={type:\"USER_LOG_OUT\"},s=function(e){return{type:\"UPDATE_BTM_AMOUNT_UNIT\",param:e}},u=function(e){return function(t){return(0,r.chainClient)().config.mining(e).then(function(){t({type:\"UPDATE_MINING_STATE\",param:e})}).catch(function(e){if(!e.status)throw e})}},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){return(0,r.chainClient)().config.info().then(function(e){t(o(e))}).catch(function(n){if(e.throw||!n.status)throw n;t(401==n.status?{type:\"ERROR\",payload:n}:{type:\"CORE_DISCONNECT\"})})}},c={setClientToken:i,updateInfo:o,updateBTMAmountUnit:s,updateMiningState:u,fetchCoreInfo:l,clearSession:a,logIn:function(e){return function(t){return t(i(e)),t(l({throw:!0})).then(function(){return t({type:\"USER_LOG_IN\"})})}}};t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(16),l=n(76),c=n(53),d=r(c),f=n(10),p=n(1),h=r(p),m=n(1198),g=r(m),_=n(15),b=r(_),y=n(4),v=n(150),M=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={btmAmountUnit:\"BTM\"},n.handleMiningState=n.handleMiningState.bind(n),n.handleAdvancedOptionChange=n.handleAdvancedOptionChange.bind(n),n.changeBTMamount=n.changeBTMamount.bind(n),n.consolePopup=n.consolePopup.bind(n),n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){var e=this;window.ipcRenderer&&window.ipcRenderer.on(\"btmAmountUnitState\",function(t,n){e.props.uptdateBtmAmountUnit(n)})}},{key:\"changeBTMamount\",value:function(e){this.setState({btmAmountUnit:e}),this.props.uptdateBtmAmountUnit(e)}},{key:\"handleAdvancedOptionChange\",value:function(e){var t=e.target;t.checked?this.props.showNavAdvanced():this.props.hideNavAdvanced()}},{key:\"handleMiningState\",value:function(e){var t=e.target;t.checked?this.props.updateMiningState(!0):this.props.updateMiningState(!1)}},{key:\"consolePopup\",value:function(e){e.preventDefault(),this.props.showModal(h.default.createElement(f.ConsoleSection,{cmd:this.props.cmd}))}},{key:\"render\",value:function(){var e=\"advance\"===this.props.navAdvancedState,t=this.props.core.mingStatus,r=this.props.core.coreData,o=this.props.t,i=h.default.createElement(\"div\",{className:[g.default.left,g.default.col].join(\" \")},h.default.createElement(\"div\",null,h.default.createElement(\"h4\",null,o(\"coreIndex.configuration\")),h.default.createElement(\"table\",{className:g.default.table},h.default.createElement(\"tbody\",null,h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.version\"),\":\"),h.default.createElement(\"td\",null,h.default.createElement(\"code\",null,r?r.versionInfo.version:null))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"commonWords.language\"),\":\"),h.default.createElement(\"td\",null,o(\"languageFull\"))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.nodeXpub\"),\":\"),h.default.createElement(\"td\",{className:g.default.shorten_value},h.default.createElement(\"code\",null,String(r.nodeXpub))),h.default.createElement(\"td\",null,h.default.createElement(\"button\",{className:\"btn btn-link \"+g.default.copyButton,onClick:function(){return(0,v.copyToClipboard)(r.nodeXpub)}},h.default.createElement(\"img\",{src:n(338)})))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.fedAddress\"),\":\"),h.default.createElement(\"td\",{className:g.default.wordWrap},h.default.createElement(\"code\",null,String(r.federationAddress)))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{colSpan:3},h.default.createElement(\"hr\",null))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.advanced\"),\":\"),h.default.createElement(\"td\",null,h.default.createElement(\"label\",{className:g.default.switch},h.default.createElement(\"input\",{type:\"checkbox\",onChange:this.handleAdvancedOptionChange,checked:e}),h.default.createElement(\"span\",{className:g.default.slider})))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.mining\"),\":\"),h.default.createElement(\"td\",null,h.default.createElement(\"label\",{className:g.default.switch},h.default.createElement(\"input\",{type:\"checkbox\",onChange:this.handleMiningState,checked:t}),h.default.createElement(\"span\",{className:g.default.slider})))),h.default.createElement(\"tr\",{className:g.default.row},h.default.createElement(\"td\",{className:g.default.row_label},o(\"coreIndex.unit\"),\" \"),h.default.createElement(\"td\",null,h.default.createElement(l.DropdownButton,{bsSize:\"xsmall\",id:\"input-dropdown-amount\",title:this.props.core.btmAmountUnit||this.state.btmAmountUnit,onSelect:this.changeBTMamount},h.default.createElement(l.MenuItem,{eventKey:\"BTM\"},\"BTM\"),h.default.createElement(l.MenuItem,{eventKey:\"mBTM\"},\"mBTM\"),h.default.createElement(l.MenuItem,{eventKey:\"NEU\"},\"NEU\")))))))),a=void 0;a=r?h.default.createElement(\"div\",null,h.default.createElement(\"h4\",null,o(\"coreIndex.networkStatus\")),h.default.createElement(\"table\",{className:g.default.table},h.default.createElement(\"tbody\",null,h.default.createElement(\"tr\",{className:g.default.row,key:\"core-listening\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.listening\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,o(r.listening?\"coreIndex.connect\":\"coreIndex.disConnect\")))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-syncing\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.syncStatus\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,o(r.syncing?\"coreIndex.synchronizing\":\"coreIndex.synced\")))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-mining\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.miningStatus\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,o(r.mining?\"coreIndex.miningRuning\":\"coreIndex.miningStopped\")))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-peerCount\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.peer\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.peerCount)))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-currentBlock\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.currentBlock\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.currentBlock)))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-highestBlock\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.highestBlock\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.highestBlock)))),h.default.createElement(\"tr\",{className:g.default.row,key:\"core-networkID\"},h.default.createElement(\"td\",{className:g.default.row_label},\" \",o(\"coreIndex.networkId\"),\":\"),h.default.createElement(\"td\",{className:g.default.row_value},h.default.createElement(\"code\",null,String(r.networkId))))))):h.default.createElement(\"div\",null,\"loading...\");var s=h.default.createElement(\"div\",{className:[g.default.right,g.default.col].join(\" \")},a);return h.default.createElement(\"div\",{className:(0,d.default)(this,\"flex-container\")},h.default.createElement(f.PageTitle,{title:o(\"coreIndex.coreStatus\"),actions:[h.default.createElement(\"button\",{className:\"btn btn-link\",\nonClick:this.consolePopup},h.default.createElement(\"img\",{src:n(1677)}))]}),h.default.createElement(f.PageContent,null,h.default.createElement(\"div\",{className:g.default.flex+\" \"+g.default.mainContainer},i,s)))}}]),t}(h.default.Component),A=function(e){return{core:e.core,navAdvancedState:e.app.navAdvancedState}},w=function(e){return{showNavAdvanced:function(){return e(b.default.app.showNavAdvanced)},hideNavAdvanced:function(){return e(b.default.app.hideNavAdvanced)},uptdateBtmAmountUnit:function(t){return e(b.default.core.updateBTMAmountUnit(t))},updateMiningState:function(t){return e(b.default.core.updateMiningState(t))},showModal:function(t){return e(b.default.app.showModal(t,b.default.app.hideModal,null,{box:!0,wide:!0,noCloseBtn:!0}))},cmd:function(t){return e(b.default.app.cmd(t))}}};t.default=(0,u.connect)(A,w)((0,y.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreIndex=void 0;var o=n(739),i=r(o);t.CoreIndex=i.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.btmAmountUnit=t.connected=t.validToken=t.clientToken=t.requireClientToken=t.blockchainId=t.generatorAccessToken=t.generatorUrl=t.generator=t.signer=t.generatorBlockHeight=t.peerCount=t.currentBlockHeight=t.blockHeight=t.configuredAt=t.configured=void 0;var o=n(36),i=(n(14),n(3)),a=r(i),s=(n(358),\"YYYY-MM-DD, h:mm:ss a\"),u=function(e,t,n,r){return\"UPDATE_CORE_INFO\"==r.type?r.param.data[e]||n:t||n},l=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type||e},c=t.configured=function(e,t){return u(\"isConfigured\",e,!1,t)},d=t.configuredAt=function(e,t){var n=u(\"configuredAt\",e,\"\",t);return\"UPDATE_CORE_INFO\"==t.type&&\"\"!=n&&(n=(0,a.default)(n).format(s)),n},f=t.blockHeight=function(e,t){return u(\"highestBlock\",e,0,t)},p=t.currentBlockHeight=function(e,t){return u(\"currentBlock\",e,0,t)},h=t.peerCount=function(e,t){return u(\"peerCount\",e,0,t)},m=t.generatorBlockHeight=function(e,t){return\"UPDATE_CORE_INFO\"==t.type&&0==t.param.generatorBlockHeight?\"???\":u(\"generatorBlockHeight\",e,0,t)},g=t.signer=function(e,t){return u(\"isSigner\",e,!1,t)},_=t.generator=function(e,t){return u(\"isGenerator\",e,!1,t)},b=t.generatorUrl=function(e,t){return u(\"generatorUrl\",e,!1,t)},y=t.generatorAccessToken=function(e,t){return u(\"generatorAccessToken\",e,!1,t)},v=t.blockchainId=function(e,t){return u(\"blockchainId\",e,0,t)},M=t.requireClientToken=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"ERROR\"==t.type&&401==t.payload.status||e},A=t.clientToken=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"SET_CLIENT_TOKEN\"==t.type?t.token:\"ERROR\"==t.type&&401==t.payload.status?\"\":e},w=t.validToken=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"SET_CLIENT_TOKEN\"!=t.type&&(\"USER_LOG_IN\"==t.type||(\"ERROR\"!=t.type||401!=t.payload.status)&&e)},C=t.connected=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type||\"CORE_DISCONNECT\"!=t.type&&e},E=t.btmAmountUnit=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"BTM\",t=arguments[1];return\"UPDATE_BTM_AMOUNT_UNIT\"==t.type?t.param:e},L=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data.mining:e},T=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data||null:e},O=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"CREATE_REGISTER_ACCOUNT\"==t.type||(\"UPDATE_ACCOUNT_INIT_STATUS\"==t.type?t.param:e)},S=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.snapshot||null:e},N=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"N/A\",t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data.versionInfo.version:e},k=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments[1];return\"UPDATE_CORE_INFO\"==t.type?t.param.data.versionInfo.update>0:e};t.default=(0,o.combineReducers)({accountInit:O,blockchainId:v,blockHeight:f,connected:C,clientToken:A,configKnown:l,configured:c,configuredAt:d,coreData:T,currentBlockHeight:p,generator:_,generatorAccessToken:y,generatorBlockHeight:m,generatorUrl:b,mingStatus:L,peerCount:h,requireClientToken:M,signer:g,snapshot:S,update:k,validToken:w,version:N,btmAmountUnit:E})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(740);t.default={path:\"core\",component:r.RoutingContainer,indexRoute:{component:o.CoreIndex}}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=r({},(0,o.baseListActions)(\"federation\"));t.default=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1199),d=r(c),f=n(4),p=n(10),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"normalizeInouts\",value:function(e){var t={chain:e.sourceChainName,txHash:e.sourceTxHash,type:\"From\",address:e.crosschainRequests[0].fromAddress,timestamp:e.sourceBlockTimestamp},n={chain:\"vapor\"===e.sourceChainName?\"bytom\":\"vapor\",txHash:e.destTxHash,type:\"To\",address:e.crosschainRequests[0].toAddress,timestamp:e.destBlockTimestamp},r=[t,n];return r}},{key:\"render\",value:function(){var e=this.props.transaction,t=this.normalizeInouts(e),n=this.props.t;return l.default.createElement(\"div\",{className:d.default.main},t.map(function(e,t){return l.default.createElement(\"div\",{className:d.default.row+\" \"+d.default.titleBar,key:t},l.default.createElement(\"div\",{className:\"\"+d.default.title},l.default.createElement(\"label\",null,n(\"transaction.crossChainId\",{id:e.chain})),\"\u00a0\",l.default.createElement(\"code\",null,e.txHash||\"-\"),\"\u00a0\"),l.default.createElement(\"div\",{className:d.default.middle},l.default.createElement(\"div\",{className:d.default.account},l.default.createElement(\"div\",{className:d.default.colLabel+\"  \"+d.default.col},\" \",e.type),l.default.createElement(\"div\",{className:d.default.colAccount+\"  \"+d.default.col},e.address))),l.default.createElement(\"div\",{className:d.default.end},l.default.createElement(p.RelativeTime,{timestamp:e.source_block_timestamp})))}))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(10),a=n(746),s=r(a),u=n(4),l=\"federation\",c=function(e,t){var n=o({skipCreate:!0},i.BaseList.mapStateToProps(l,s.default)(e,t));return n};t.default=(0,u.withNamespaces)(\"translations\")(i.BaseList.connect(c,i.BaseList.mapDispatchToProps(l)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(347),f=n(1200),p=r(f),h=n(4),m=n(43),g=n(14),_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t,r=e.status,o=\"vapor\"===e.sourceChainName?\"crossOut\":\"crossIn\",i=function(e,t,n){if(e===g.btmID)switch(n){case\"BTM\":return(0,m.converIntToDec)(t,8);case\"mBTM\":return(0,m.converIntToDec)(t,5)}return t},a=e.crosschainRequests[0];return l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"div\",{className:p.default.titleBar},l.default.createElement(\"div\",{className:p.default.title},l.default.createElement(\"div\",{className:\"\"+p.default.colAction},l.default.createElement(\"img\",{src:n(339)(\"./\"+o+\".svg\")}),\" \",t(\"transaction.type.\"+o)),l.default.createElement(\"span\",{className:p.default.confirmation+\" \"+(\"pending\"===r?\"text-danger\":null)},t(\"transaction.\"+r))),l.default.createElement(\"div\",{className:p.default.end},a.asset&&[l.default.createElement(\"div\",{className:\"\"+p.default.recievedAmount},l.default.createElement(\"code\",{className:p.default.emphasisLabel+\" \"+p.default.col},i(a.asset.assetId,a.amount,this.props.btmAmountUnit))),l.default.createElement(\"div\",{className:\"\"+p.default.colUnit},l.default.createElement(c.Link,{to:\"/assets/\"+a.asset.assetId},a.asset.assetId===g.btmID?\"BTM\":a.asset.assetId))])),l.default.createElement(d.DetailSummary,{transaction:e,btmAmountUnit:this.props.btmAmountUnit}))}}]),t}(l.default.Component);t.default=(0,h.withNamespaces)(\"translations\")(_)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(36),i=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];if(\"APPEND_FEDERATION_PAGE\"==t.type){var n={};return t.param.result.data.forEach(function(e,t){var o=\"federation-\"+t;n[o]=r({id:\"federation-\"+t},e)}),n}return e},a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"APPEND_FEDERATION_PAGE\"==t.type?{loadedOnce:!0}:e};t.default=(0,o.combineReducers)({items:i,queries:a})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(347),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"federation\",r.List)}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(23);t.default=r.reducer.normalize({newAssetForm:{symbol:function(e){return e&&e.toUpperCase()}}})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(14),i=(n(41),n(115)),a=r(i),s=function(e){return function(t){\"string\"==typeof e.accountAlias&&(e.accountAlias=e.accountAlias.trim());var n={alias:e.accountAlias+\"Key-\"+a.default.v4(),password:e.password};return(0,o.chainClient)().mockHsm.keys.create(n).then(function(n){if(\"fail\"===n.status)throw n;var r={root_xpubs:[n.data.xpub],quorum:1,alias:e.accountAlias};return t({type:\"INIT_ACCOUNT\",data:n.data.mnemonic}),(0,o.chainClient)().accounts.create(r).then(function(e){if(\"fail\"===e.status)throw e;if(\"success\"===e.status)return t({type:\"SET_CURRENT_ACCOUNT\",account:e.data.alias}),(0,o.chainClient)().accounts.createAddress({account_alias:e.data.alias}).then(function(){t(c())}).catch(function(e){throw e})}).catch(function(e){throw e})}).catch(function(e){throw e})}},u=function(e,t){return function(n){var r=e.file;return new Promise(function(e,i){var a=new FileReader;a.onload=function(r){var a=JSON.parse(r.target.result);return(0,o.chainClient)().backUp.restore(a).then(function(r){if(\"fail\"===r.status)throw r;e(),n(t)}).catch(function(e){i(e)})},a.readAsText(r,\"UTF-8\"),a.onerror=function(e){i(e)}})}},l=function(e,t){return function(n){\"string\"==typeof e.mnemonic&&(e.mnemonic=e.mnemonic.trim());var r={alias:\"key-\"+a.default.v4(),password:e.password,mnemonic:e.mnemonic};return(0,o.chainClient)().mockHsm.keys.create(r).then(function(e){if(\"fail\"===e.status)throw e;return(0,o.chainClient)().backUp.recovery({xpubs:[e.data.xpub]}).then(function(e){if(\"fail\"===e.status)throw e;n(t)}).catch(function(e){throw e})}).catch(function(e){throw e})}},c=function(){return function(e){e({type:\"CREATE_REGISTER_ACCOUNT\"})}},d={initSucceeded:c,registerKey:s,restoreKeystore:u,restoreMnemonic:l};t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1201),d=r(c),f=n(27),p=n(4),h=n(16),m=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:null},n}return a(t,e),s(t,[{key:\"setValue\",value:function(e){this.setState({value:e.target.value})}},{key:\"render\",value:function(){var e=this,t=this.props.coreData,n=this.props.t;if(!t)return l.default.createElement(\"ul\",null);var r=t.networkId,o=l.default.createElement(f.Link,{className:\"btn btn-primary \"+d.default.submit,to:\"/initialization/register\"},n(\"init.create\")),i=l.default.createElement(f.Link,{className:\"btn btn-primary \"+d.default.submit,to:\"/initialization/restoreKeystore\"},n(\"init.restoreWallet\"));return l.default.createElement(\"div\",{onChange:function(t){return e.setValue(t)}},l.default.createElement(\"h2\",{className:d.default.title},n(\"init.welcome\",{network:r})),l.default.createElement(\"div\",{className:d.default.choices},l.default.createElement(\"div\",{className:d.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:d.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"backup\"}),l.default.createElement(\"div\",{className:d.default.choice+\" \"+d.default.backup+\" \"},l.default.createElement(\"span\",{className:d.default.choice_title},n(\"init.create\")),l.default.createElement(\"p\",null,n(\"init.createDescription\"))))),l.default.createElement(\"div\",{className:d.default.choice_wrapper},l.default.createElement(\"label\",null,l.default.createElement(\"input\",{className:d.default.choice_radio_button,type:\"radio\",name:\"type\",value:\"restoreKeystore\"}),l.default.createElement(\"div\",{className:d.default.choice+\" \"+d.default.restoreKeystore},l.default.createElement(\"span\",{className:d.default.choice_title},n(\"backup.restoreKeystore\")),l.default.createElement(\"p\",null,n(\"backup.restoreKeystoreDescription\")))))),l.default.createElement(\"div\",{className:d.default.choices},l.default.createElement(\"div\",null,\"backup\"===this.state.value&&l.default.createElement(\"span\",{className:d.default.submitWrapper},o)),l.default.createElement(\"div\",null,\"restoreKeystore\"===this.state.value&&l.default.createElement(\"span\",{className:d.default.submitWrapper},i))))}}]),t}(l.default.Component);t.default=(0,p.withNamespaces)(\"translations\")((0,h.connect)(function(e){return{coreData:e.core.coreData}})(m))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(4),f=n(27),p=n(16),h=n(15),m=r(h),g=n(288),_=r(g),b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:_.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:_.default.title},e(\"backup.restoreKeystore\")),l.default.createElement(\"div\",{className:_.default.formWarpper},l.default.createElement(\"div\",{className:_.default.form},l.default.createElement(c.RestoreKeystore,{success:this.props.success}),l.default.createElement(f.Link,{className:\"btn btn-link\",to:\"/initialization/\"},e(\"commonWords.cancel\"))))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")((0,p.connect)(function(){return{}},function(e){return{success:function(){return e(m.default.initialization.initSucceeded())}}})(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(4),f=n(27),p=n(16),h=n(15),m=r(h),g=n(288),_=r(g),b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:_.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:_.default.title},e(\"backup.restoreMnemonic\")),l.default.createElement(\"div\",{className:_.default.formWarpper},l.default.createElement(\"div\",{className:_.default.form},l.default.createElement(c.RestoreMnemonic,{success:this.props.success}),l.default.createElement(f.Link,{className:\"btn btn-link\",to:\"/initialization/\"},e(\"commonWords.cancel\"))))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")((0,p.connect)(function(){return{}},function(e){return{success:function(){return e(m.default.initialization.initSucceeded())}}})(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(10),h=n(1202),m=r(h),g=n(4),_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t;return l.default.createElement(\"div\",{className:m.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:m.default.title},e(\"mnemonic.backup\")),l.default.createElement(\"div\",{className:m.default.formWarpper},l.default.createElement(\"div\",{className:m.default.form},l.default.createElement(p.StepList,null,l.default.createElement(p.Step,{nextL:e(\"mnemonic.continue\")},l.default.createElement(p.Mnemonic,{mnemonic:this.props.mnemonic})),l.default.createElement(p.Step,null,l.default.createElement(p.ConfirmMnemonic,{mnemonic:this.props.mnemonic,succeeded:this.props.succeeded})))))))}}]),t}(l.default.Component),b=function(e){var t=(e.initialization||{}).mnemonic||[];return t?{mnemonic:t}:{}},y=function(e){return{succeeded:function(){return e(f.default.initialization.initSucceeded())}}};t.default=(0,g.withNamespaces)(\"translations\")((0,c.connect)(b,y)(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(27),m=n(288),g=r(m),_=n(23),b=n(4),y=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.registerKey(e).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props.t,t=this.props,n=t.fields,r=n.password,o=n.repeatPassword,i=n.accountAlias,a=t.error,s=t.handleSubmit,u=t.submitting;return l.default.createElement(\"div\",{className:g.default.main},l.default.createElement(\"div\",null,l.default.createElement(\"h2\",{className:g.default.title},e(\"init.title\")),l.default.createElement(\"div\",{className:g.default.formWarpper},l.default.createElement(\"form\",{className:g.default.form,onSubmit:s(this.submitWithValidations)},l.default.createElement(d.TextField,{title:e(\"form.accountAlias\"),placeholder:e(\"init.accountPlaceholder\"),fieldProps:i}),l.default.createElement(d.PasswordField,{title:e(\"init.keyPassword\"),placeholder:e(\"init.passwordPlaceholder\"),fieldProps:r}),l.default.createElement(d.PasswordField,{title:e(\"init.repeatKeyPassword\"),placeholder:e(\"init.repeatPlaceHolder\"),fieldProps:o}),a&&l.default.createElement(d.ErrorBanner,{title:e(\"init.errorTitle\"),error:a}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:u},e(\"init.register\")),l.default.createElement(h.Link,{className:\"btn btn-link\",to:\"/initialization/\"},e(\"commonWords.cancel\"))))))}}]),t}(l.default.Component),v=function(e,t){var n={},r=t.t;return e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.repeatPassword&&(n.repeatPassword=r(\"key.reset.repeatPWarning\")),e.accountAlias||(n.accountAlias=r(\"account.new.aliasWarning\")),n};t.default=(0,b.withNamespaces)(\"translations\")((0,c.connect)(function(){return{}},function(e){return{registerKey:function(t){return e(p.default.initialization.registerKey(t))}}})((0,_.reduxForm)({form:\"initDefaultPassword\",fields:[\"password\",\"repeatPassword\",\"accountAlias\"],validate:v})(y)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.MnemonicStepper=t.Keystore=t.Mnemonic=t.Register=t.Index=void 0;var o=n(751),i=r(o),a=n(755),s=r(a),u=n(754),l=r(u),c=n(753),d=r(c),f=n(752),p=r(f);t.Index=i.default,t.Register=s.default,t.Mnemonic=d.default,t.Keystore=p.default,t.MnemonicStepper=l.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(36),o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"INIT_ACCOUNT\"==t.type?t.data:e};t.default=(0,r.combineReducers)({mnemonic:o})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(10),o=n(756);t.default={path:\"initialization\",component:r.RoutingContainer,indexRoute:{component:o.Index},childRoutes:[{path:\"register\",component:o.Register},{path:\"mnemonic\",component:o.MnemonicStepper},{path:\"restore\",component:o.Restore},{path:\"restoreMnemonic\",component:o.Mnemonic},{path:\"restoreKeystore\",component:o.Keystore}]}},691,function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(1203),p=r(f),h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e,t){var n=this;return new Promise(function(r,o){var i={xpub:t.xpub,password:e.password};n.props.exportKey(i,t.alias).catch(function(e){return o({_error:e.message})})})}},{key:\"render\",value:function(){var e=this,t=this.props.item,n=this.props.lang,r=this.props,o=r.fields.password,i=r.handleSubmit,a=r.submitting;return l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"form\",{onSubmit:i(function(n){return e.submitWithValidations(n,t)})},l.default.createElement(c.TextField,{title:\"zh\"===n?\"密码\":\"Password\",placeholder:\"zh\"===n?\"请输入密码\":\"Please entered the password.\",fieldProps:o,type:\"password\"}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-default btn-sm\",disabled:a},\"zh\"===n?\"导出私钥\":\"Export private key\")))}}]),t}(u.Component),m=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,d.reduxForm)({form:\"ExportKey\",fields:[\"password\"],validate:m})(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){return this.props.submitForm(e,this.props.item.xpub).catch(function(e){throw{_error:e}})}},{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){\"fail\"==t.status&&e.setState({notFound:!0})})}},{key:\"render\",value:function(){if(this.state.notFound)return l.default.createElement(c.NotFound,null);var e=this.props.item;if(!e)return l.default.createElement(\"div\",null,\"Loading...\");var t=this.props,n=t.fields.alias,r=t.error,o=t.handleSubmit,i=t.submitting,a=t.t,s=l.default.createElement(\"span\",null,a(\"key.editAlias\"),l.default.createElement(\"code\",null,e.alias?e.alias:e.id));return l.default.createElement(c.FormContainer,{error:r,label:s,onSubmit:o(this.submitWithValidations),submitting:i},l.default.createElement(c.FormSection,{title:a(\"key.alias\")},l.default.createElement(c.TextField,{title:a(\"form.alias\"),placeholder:a(\"key.aliasPlaceHolder\"),fieldProps:n,type:\"text\"})))}}]),t}(l.default.Component),h=function(e,t){return{item:e.key.items[t.params.id]}},m=function(e,t){var n=e.key.items[t.params.id];return n?{initialValues:{alias:n.alias}}:{}},g=(0,d.reduxForm)({form:\"updateKeyForm\",fields:[\"alias\"]},m)(p);t.default=(0,f.withNamespaces)(\"translations\")(c.BaseUpdate.connect(h,c.BaseUpdate.mapDispatchToProps(\"key\"),g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\");\n}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(10),l=n(763),c=r(l),d=n(4),f=\"key\",p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),t}(u.BaseList.ItemList),h=function(e,t){return s({},u.BaseList.mapStateToProps(f,c.default,{skipQuery:!0,label:\"Keys\",wrapperComponent:u.TableList,wrapperProps:{titles:t.t(\"key.formTitle\",{returnObjects:!0})}})(e))};t.default=(0,d.withNamespaces)(\"translations\")(u.BaseList.connect(h,u.BaseList.mapDispatchToProps(f),p))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(4),f=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,t.alias),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.xpub)),l.default.createElement(\"td\",null,l.default.createElement(c.Link,{to:\"/keys/\"+t.id},n(\"form.more\"))))}}]),t}(l.default.Component);t.default=(0,d.withNamespaces)(\"translations\")(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(15),f=r(d),p=n(10),h=n(53),m=r(h),g=n(1204),_=r(g),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this;if(0===this.props.mnemonic.length)return l.default.createElement(p.NotFound,null);var t=this.props.t;return l.default.createElement(\"div\",{className:(0,m.default)(this,\"flex-container\")},l.default.createElement(p.PageTitle,{title:t(\"mnemonic.backup\")}),l.default.createElement(\"div\",{className:_.default.main+\" flex-container\"},l.default.createElement(\"div\",{className:_.default.content},l.default.createElement(p.StepList,null,l.default.createElement(p.Step,{nextL:t(\"mnemonic.continue\")},l.default.createElement(p.Mnemonic,{mnemonic:this.props.mnemonic}),l.default.createElement(\"button\",{className:\"btn btn-default \"+_.default.marginLeft,onClick:function(){return e.props.succeeded()}},t(\"mnemonic.skip\"))),l.default.createElement(p.Step,null,l.default.createElement(p.ConfirmMnemonic,{mnemonic:this.props.mnemonic,succeeded:this.props.succeeded}))))))}}]),t}(l.default.Component),v=function(e){var t=(e.key||{}).mnemonic||[];return t?{mnemonic:t}:{}},M=function(e){return{succeeded:function(){return e(f.default.key.createSuccess())}}};t.default=(0,b.withNamespaces)(\"translations\")((0,c.connect)(v,M)(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=n(4),p=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n.state={checked:!1,key:null},n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{xprv:t.state.key,index:5e3})).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.alias,r=t.password,o=t.confirmPassword,i=(t.accountAlias,e.error),a=e.handleSubmit,s=e.submitting,u=e.t;return l.default.createElement(c.FormContainer,{error:i,label:u(\"key.new\"),onSubmit:a(this.submitWithValidations),submitting:s},l.default.createElement(c.FormSection,{title:u(\"key.info\")},l.default.createElement(c.TextField,{title:u(\"form.alias\"),placeholder:u(\"key.aliasPlaceHolder\"),fieldProps:n,autoFocus:!0}),l.default.createElement(c.PasswordField,{title:u(\"key.password\"),placeholder:u(\"key.passwordPlaceholder\"),fieldProps:r,autoFocus:!1}),l.default.createElement(c.PasswordField,{title:u(\"key.repeatPassword\"),placeholder:u(\"key.repeatPasswordPlaceholder\"),fieldProps:o,autoFocus:!1})))}}]),t}(l.default.Component),h=[\"alias\",\"password\",\"confirmPassword\",\"accountAlias\"];t.default=(0,f.withNamespaces)(\"translations\")(c.BaseNew.connect(c.BaseNew.mapStateToProps(\"key\"),c.BaseNew.mapDispatchToProps(\"key\"),(0,d.reduxForm)({form:\"newMockHsmKey\",fields:h,validate:function(e,t){var n={},r=t.t;return e.alias||(n.alias=r(\"key.aliasRequired\")),e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.confirmPassword&&(n.confirmPassword=r(\"key.reset.repeatPWarning\")),n}})(p)))},696,function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(10),f=n(760),p=(r(f),n(53)),h=r(p),m=n(16),g=n(15),_=r(g),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.item,n=e.t,r=void 0;if(t){var o=l.default.createElement(\"span\",null,n(\"key.keys\"),l.default.createElement(\"code\",null,t.alias?t.alias:t.id));r=l.default.createElement(\"div\",{className:(0,h.default)(this)},l.default.createElement(d.PageTitle,{title:o}),l.default.createElement(d.PageContent,null,l.default.createElement(d.KeyValueTable,{id:t.id,object:\"key\",title:n(\"form.detail\"),actions:[l.default.createElement(c.Link,{key:\"check-password-btn\",className:\"btn btn-link\",to:\"/keys/\"+t.id+\"/check-password\"},n(\"key.tryPassword\")),l.default.createElement(c.Link,{key:\"reset-password-btn\",className:\"btn btn-link\",to:\"/keys/\"+t.id+\"/reset-password\"},n(\"key.resetPassword\"))],items:[{label:n(\"form.alias\"),value:t.alias,editUrl:\"/keys/\"+t.id+\"/alias\"},{label:n(\"key.xpub\"),value:t.xpub}]})))}return this.renderIfFound(r)}}]),t}(d.BaseShow),v=function(e,t){return{item:e.key.items[t.params.id]}},M=function(e){return{fetchItem:function(){return e(_.default.key.fetchItems())},showModal:function(t){return e(_.default.app.showModal(t,_.default.app.hideModal))}}};t.default=(0,m.connect)(v,M)((0,b.withNamespaces)(\"translations\")(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.KeyUpdate=t.CheckPassword=t.ResetPassword=t.Show=t.MnemonicStepper=t.New=t.List=void 0;var o=n(762),i=r(o),a=n(765),s=r(a),u=n(764),l=r(u),c=n(767),d=r(c),f=n(766),p=r(f),h=n(759),m=r(h),g=n(761),_=r(g);t.List=i.default,t.New=s.default,t.MnemonicStepper=l.default,t.Show=d.default,t.ResetPassword=p.default,t.CheckPassword=m.default,t.KeyUpdate=_.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"key\",a=function(e){return e.xpub};t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i,a),queries:r.reducers.queriesReducer(i,a),autocompleteIsLoaded:r.reducers.autocompleteIsLoadedReducer(i),success:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"KEY_PASSWORD_SUCCESS\"==t.type?\"F_BTM002\":\"redux-form/CHANGE\"==t.type?\"\":e},mnemonic:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"NEW_KEY\"==t.type?t.data:e}})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(768),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"key\",r.List,r.New,r.Show,{childRoutes:[{path:\":id/reset-password\",component:r.ResetPassword},{path:\":id/check-password\",component:r.CheckPassword},{path:\"mnemonic\",component:r.MnemonicStepper},{path:\":id/alias\",component:r.KeyUpdate}],skipFilter:!0,name:\"key\"})}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=n(14),a=(n(41),function(e){return function(t){return(0,i.chainClient)().peers.disconnect({peer_id:e}).then(function(e){\"fail\"==e.status&&t({type:\"ERROR\",payload:{message:e.msg}})}).catch(function(e){e.status||t({type:\"ERROR\",payload:{message:e}})})}}),s=r({disconnect:a},(0,o.baseListActions)(\"peer\"));t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(773),d=r(c),f=n(4),p=n(1205),h=r(p),m=n(177),g=n(1),_=r(g),b=\"peer\",y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"componentWillReceiveProps\",value:function(e){e.peerCount!=this.props.peerCount&&this.props.getLatest()}},{key:\"render\",value:function(){var e=l.BaseList.ItemList;return _.default.createElement(e,this.props)}}]),t}(_.default.Component),v=function(e,t){return s({peerCount:e.core.peerCount,skipCreate:!0},l.BaseList.mapStateToProps(b,d.default,{wrapperComponent:l.TableList,wrapperProps:{titles:t.t(\"peers.formTitle\",{returnObjects:!0}),styles:h.default.main}})(e))},M=function(e){return s({itemActions:{disconnect:function(t){return e(m.actions.disconnect(t))}},getLatest:function(){return e(m.actions.fetchAll())}},l.BaseList.mapDispatchToProps(b))};t.default=(0,f.withNamespaces)(\"translations\")(l.BaseList.connect(v,M,y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(4),d=n(181),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.item,r=t.t;return l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null,n.remoteAddr||\"-\"),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,n.height)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,n.ping)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,n.duration)),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,(0,d.formatBytes)(n.totalSent+n.totalReceived,0))),l.default.createElement(\"td\",null,l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:function(){return e.props.disconnect(n.peerId)}},r(\"peers.disconnect\"))))}}]),t}(l.default.Component);t.default=(0,c.withNamespaces)(\"translations\")(f)},[1710,772],function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"peer\",a=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return\"RECEIVED_PEER_ITEMS\"==t.type?t.param.data:e};t.default=(0,o.combineReducers)({items:a,queries:r.reducers.queriesReducer(i)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(774),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"peer\",r.List)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.listPath||\"/\"+e+\"s\",r=t.createPath||n+\"/create\",s=function(t){return{type:\"CREATED_\"+e.toUpperCase(),param:t}};return{showCreate:(0,a.push)(r),created:s,submitForm:function(r){var l=t.clientApi?t.clientApi():(0,o.chainClient)()[e+\"s\"],d=Promise.resolve();\"string\"==typeof r.id&&(r.id=r.id.trim()),\"string\"==typeof r.alias&&(r.alias=r.alias.trim());var f=t.jsonFields||[];f.map(function(e){r[e]=(0,i.parseNonblankJSON)(r[e])});var p=t.intFields||[];if(p.map(function(e){r[e]=parseInt(r[e])}),r.definition&&r.definition.description)if(0===r.definition.description.length)r.definition.description={};else{var h={};r.definition.description.forEach(function(e){h[e.key]=e.value}),r.definition.description=h}return r.xpubs&&(r.rootXpubs=[],r.xpubs.forEach(function(e){\"generate\"==e.type?d=d.then(function(){var t=(e.value||\"\").trim()?e.value.trim():(r.alias||\"generated\")+\"-\"+c.default.v4();return(0,o.chainClient)().mockHsm.keys.create({alias:t})}).then(function(e){r.rootXpubs.push(e.xpub)}):e.value&&r.rootXpubs.push(e.value)}),delete r.xpubs),function(e){return d.then(function(){return l.create(r).then(function(r){if(\"fail\"===r.status)throw r;e(s(r)),t.createModal&&e(u.default.app.showModal(t.createModal(r),u.default.app.hideModal));var o=n;t.redirectToShow&&(o=o+\"/\"+r.data.id),e((0,a.push)({pathname:o,state:{preserveFlash:!0}}))})})}}}};var o=n(14),i=n(83),a=n(41),s=n(15),u=r(s),l=n(115),c=r(l)},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.listPath||\"/\"+e+\"s\",a=function(){return t.clientApi?t.clientApi():(0,o.chainClient)()[e+\"s\"]},s=function(t){return{type:\"RECEIVED_\"+e.toUpperCase()+\"_ITEMS\",param:t}},u=function(e){return{type:\"UPDATE_TRANSACTION_ID_ARRAY\",data:e}},l=function(){return{type:\"UPDATE_CONFIRM_PARAMS\"}},c=function(e){return{type:\"UPDATE_MIXED_PAGES_NUMBER_PARAMS\",data:e}},d=function(e,t){if(0!==e.length){var n=e[e.length-1].txId,r=t.pageIds;return t&&1===t.pageNumber?[n]:(t&&t.pageNumber>1&&(r[t.pageNumber-1]=n),r)}return[]},f=function(n,o){var i=t.requiredParams||{};return n=r({},n,i),function(t){var r=a().query(n);return r.then(function(r){if(\"fail\"==r.status)t({type:\"ERROR\",payload:{message:r.msg}});else if(\"transaction\"===e){var i=r.data,f=r;if(o.unconfirmed&&i.length<o.pageSize)return n.unconfirmed=!1,n.count=n.count-i.length,delete n.startTxId,a().query(n).then(function(e){\"fail\"==e.status?t({type:\"ERROR\",payload:{message:e.msg}}):(t(c(o.pageNumber)),f.data=i.concat(e.data),t(u(d(f.data,o))),t(s(f)),t(l()))});t(u(d(f.data,o))),t(s(r))}else t(s(r))}).catch(function(e){if(!e.body)throw e;t({type:\"ERROR\",payload:{message:e.body.msg}})}),r}},p=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=t.filter||\"\";return n=parseInt(n||1),function(i,a){var s=function(){return a()[e].queries[o]||{}};r.pageNumber=n,\"transaction\"===e&&(r.pageIds=a()[e].pageIds||[],r.mixPageNo=a()[e].mixPageNo||0);var u=function(){return i(m(t,s(),r)).then(function(e){if(e&&\"ERROR\"!=e.type)return Promise.resolve(e)})};return i(u)}},h=function(e){return p(\"\",-1,e)},m=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];return function(i){var a=n.cursor||null,u=r.refresh||!1;if(!u&&a&&a.lastPage)return Promise.resolve({last:!0});var l=void 0,c=t.filter||\"\",d=r.unconfirmed||!0,p=r.accountAlias||\"\";if(!u&&a){var h=void 0;l=a.nextPage().then(function(e){return h=e,i(s(h))}).then(function(){return h})}else{var m={};if(t.filter&&(m.filter=c),r.accountAlias&&(m.accountAlias=p),r.unconfirmed&&(m.unconfirmed=d),t.sumBy&&(m.sumBy=t.sumBy.split(\",\")),r.pageNumber!==-1){var g=r.pageSize;m.count=g,\"transaction\"===e&&r.mixPageNo===r.pageNumber&&(m.unconfirmed=r.unconfirmed=!0),\"transaction\"===e&&r.pageNumber>1&&(m.startTxId=r.pageIds[r.pageNumber-2]),\"unspent\"===e&&(m.from=(r.pageNumber-1)*o.UTXOpageSize)}l=i(f(m,r))}return l.then(function(t){return i({type:\"APPEND_\"+e.toUpperCase()+\"_PAGE\",param:t,refresh:u})}).catch(function(e){return i({type:\"ERROR\",payload:e})})}},g=function(t,n,r){return function(o){window.confirm(n)&&a().delete(t).then(function(){return o({type:\"DELETE_\"+e.toUpperCase(),id:t,message:r})}).catch(function(e){return o({type:\"ERROR\",payload:e})})}},_=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t&&(e=r({},e,{page:t}));var a={pathname:n,query:e};return o.replace?(0,i.replace)(a):(0,i.push)(a)};return{fetchItems:f,fetchPage:p,fetchAll:h,deleteItem:g,pushList:_,didLoadAutocomplete:{type:\"DID_LOAD_\"+e.toUpperCase()+\"_AUTOCOMPLETE\"}}};var o=n(14),i=n(41)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t){return{type:\"UPDATED_\"+e.toUpperCase(),param:t}};return{updated:n,submitUpdateForm:function(r,a,u){var l=t.clientApi?t.clientApi():(0,o.chainClient)()[e+\"s\"],c=Promise.resolve();return\"string\"==typeof r.alias&&(r.alias=r.alias.trim()),function(t){return c.then(function(){return l.updateAlias({id:a,alias:r.alias}).then(function(o){if(\"fail\"===o.status)throw o;\"account\"===e&&u&&t(s.default.account.switchAccount(r.alias)),t(n(o)),t((0,i.push)({pathname:\"/\"+e+\"s/\"+a,state:{preserveFlash:!0}}))})})}}}};var o=n(14),i=n(41),a=n(15),s=r(a)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.isBTM;return e?l.default.createElement(c.AmountUnitField,{title:this.props.title,fieldProps:this.props.fieldProps}):l.default.createElement(c.AmountInputMask,{title:this.props.title,fieldProps:this.props.fieldProps,decimal:this.props.decimal})}}]),t}(l.default.Component);t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(43),f=n(10),p=n(51),h=r(p),m=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:e.fieldProps.value},n.handleChange=n.handleChange.bind(n),n.handleBlur=n.handleBlur.bind(n),n}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){if(this.props.fieldProps.value){var e=(this.props.fieldProps.value/Math.pow(10,8)).toString();this.props.fieldProps.onChange((0,d.parseBTMAmount)(e,this.props.decimal)),this.setState({value:0===this.props.decimal?e:(0,d.addZeroToDecimalPosition)(e,this.props.decimal)})}}},{key:\"componentDidUpdate\",value:function(e){if(e.decimal!==this.props.decimal&&e.fieldProps.value){var t=(e.fieldProps.value/Math.pow(10,e.decimal)).toString();this.props.fieldProps.onChange((0,d.parseBTMAmount)(t,this.props.decimal)),this.setState({value:0===this.props.decimal?t:(0,d.addZeroToDecimalPosition)(t,this.props.decimal)})}}},{key:\"handleBlur\",value:function(e){var t=e.target.value;this.props.decimal>0&&this.setState({value:(0,d.addZeroToDecimalPosition)(t,this.props.decimal)}),this.props.fieldProps.onBlur&&this.props.fieldProps.onBlur()}},{key:\"handleChange\",value:function(e){var t=e.target.value;this.setState({value:t}),this.props.fieldProps.onChange&&this.props.fieldProps.onChange((0,d.parseBTMAmount)(t,this.props.decimal))}},{key:\"render\",value:function(){var e=(0,h.default)(this.props.fieldProps,m),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(f.FieldLabel,null,this.props.title),c.default.createElement(\"input\",s({className:\"form-control\",type:\"text\"},e,{value:(0,d.formatBTMAmount)(this.state.value,this.props.decimal),placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,onBlur:this.handleBlur,onChange:this.handleChange,disabled:this.props.disabled})),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1206),f=r(d),p=n(76),h=n(43),m=n(10),g=n(51),_=r(g),b=[\"BTM\",\"mBTM\",\"NEU\"],y=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],v=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showDropdown:!1,selected:\"BTM\",pos:8,value:e.fieldProps.value},n.select=n.select.bind(n),n.toggleDropwdown=n.toggleDropwdown.bind(n),n.closeDropdown=n.closeDropdown.bind(n),n.handleChange=n.handleChange.bind(n),n.handleBlur=n.handleBlur.bind(n),n}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){this.props.fieldProps.value&&(this.props.fieldProps.onChange((0,h.parseBTMAmount)(this.props.fieldProps.value,this.state.pos)),this.setState({value:(0,h.addZeroToDecimalPosition)(this.props.fieldProps.value,this.state.pos)}))}},{key:\"toggleDropwdown\",value:function(){this.setState({showDropdown:!this.state.showDropdown})}},{key:\"closeDropdown\",value:function(){this.setState({showDropdown:!1})}},{key:\"select\",value:function(e){this.setState({selected:e});var t=this.props.fieldProps.value;switch(e){case\"BTM\":this.setState({pos:8}),this.setState({value:(0,h.converIntToDec)(t,8)});break;case\"mBTM\":this.setState({pos:5}),this.setState({value:(0,h.converIntToDec)(t,5)});break;case\"NEU\":this.setState({pos:0}),this.setState({value:t})}this.closeDropdown()}},{key:\"handleBlur\",value:function(e){var t=e.target.value;this.state.pos>0&&this.setState({value:(0,h.addZeroToDecimalPosition)(t,this.state.pos)}),this.props.fieldProps.onBlur&&this.props.fieldProps.onBlur()}},{key:\"handleChange\",value:function(e){var t=e.target.value;this.setState({value:t}),this.props.fieldProps.onChange&&this.props.fieldProps.onChange((0,h.parseBTMAmount)(t,this.state.pos))}},{key:\"render\",value:function(){var e=(0,_.default)(this.props.fieldProps,y),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(m.FieldLabel,null,this.props.title),c.default.createElement(\"div\",{className:\"input-group\"},c.default.createElement(\"input\",s({className:\"form-control\",type:this.state.type},e,{value:(0,h.formatBTMAmount)(this.state.value,this.state.pos),placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,disabled:this.props.disabled,onBlur:this.handleBlur,onChange:this.handleChange})),c.default.createElement(\"div\",{className:f.default.unit+\" input-group-btn \"+(this.state.showDropdown&&\"open\")},c.default.createElement(p.DropdownButton,{className:f.default.dropdownButton,id:\"input-dropdown-addon\",title:this.state.selected,onSelect:this.select},b.map(function(e){return c.default.createElement(p.MenuItem,{eventKey:e},e)})))),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=v},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(16),i=n(349),a=r(i),s=\"account\";t.default=(0,o.connect)((0,i.mapStateToProps)(s),(0,i.mapDispatchToProps)(s))(a.default)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(16),i=n(349),a=r(i),s=\"asset\";t.default=(0,o.connect)((0,i.mapStateToProps)(s),(0,i.mapDispatchToProps)(s))(a.default)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{\nvalue:!0});var o=n(783),i=r(o),a=n(784),s=r(a);t.default={AccountAlias:i.default,AssetAlias:s.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.connect=t.mapDispatchToProps=t.mapStateToProps=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(15),p=r(f),h=n(16),m=n(83),g=n(14),_=n(53),b=r(_),y=n(10),v=n(787),M=r(v),A=n(4),w=function(e){function t(){return i(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),l(t,[{key:\"render\",value:function(){var e=this,t=this.props.label||(0,m.pluralize)((0,m.humanize)(this.props.type)),n=this.props.type,r=[].concat(o(this.props.actions||[])),i=this.props.t,a=(0,m.humanize)(i(\"crumbName.\"+n.toLowerCase())),s=(0,m.capitalize)(i(\"crumbName.\"+n.toLowerCase())||t),l=d.default.createElement(\"button\",{key:\"showCreate\",className:\"btn btn-primary\",onClick:this.props.showCreate},\"+ \",i(\"crumbName.new\"));this.props.skipCreate||r.push(l);var c=d.default.createElement(y.PageTitle,{title:s,actions:r}),f=(0,b.default)(this,\"flex-container\");if(this.props.noResults)return d.default.createElement(\"div\",{className:f},c,d.default.createElement(M.default,{firstTimeContent:this.props.firstTimeContent,type:this.props.type,objectName:a,newButton:l,showFirstTimeFlow:this.props.showFirstTimeFlow,skipCreate:this.props.skipCreate,loadedOnce:this.props.loadedOnce}));var p=d.default.createElement(y.Pagination,{currentPage:this.props.currentPage,currentFilter:this.props.currentFilter,isLastPage:this.props.isLastPage,pushList:this.props.pushList}),h=this.props.items.map(function(t){return d.default.createElement(e.props.listItemComponent,u({key:t.id,item:t,btmAmountUnit:e.props.btmAmountUnit},e.props.itemActions))}),g=this.props.wrapperComponent;return d.default.createElement(\"div\",{className:f},c,d.default.createElement(y.PageContent,null,g?d.default.createElement(g,this.props.wrapperProps,h):h,(\"transactions\"===t||\"unspent outputs\"===t)&&p))}}]),t}(d.default.Component),C=t.mapStateToProps=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return function(r,o){var i=[\"unspent\",\"transaction\"],a=Object.assign({},r[e].items),s=r.core&&r.core.highestBlock,l=\"unspent\"===e?g.UTXOpageSize:g.pageSize,c=r.core.currentBlockHeight,d=i.includes(e)&&Math.max(parseInt(o.location.query.page)||1,1);\"key\"===e&&(r[e].importStatus||[]).forEach(function(e){a[e.xpub]&&Object.assign(a[e.xpub],e)});var f=[];for(var p in a)a[p].highest=s,f.push(a[p]);var h=f.length<l;return u({items:f,loadedOnce:r[e].queries.loadedOnce,type:e,currentBlock:c,isLastPage:h,currentPage:d,btmAmountUnit:r.core.btmAmountUnit,listItemComponent:t,noResults:0==f.length,showFirstTimeFlow:0==f.length},n)}},E=t.mapDispatchToProps=function(e){return function(t){return{pushList:function(n,r){return t(p.default[e].pushList(n,r))},showCreate:function(){return t(p.default[e].showCreate)}}}},L=t.connect=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:w;return(0,h.connect)(e,t)((0,A.withNamespaces)(\"translations\")(n))};t.default={mapStateToProps:C,mapDispatchToProps:E,connect:L,ItemList:w}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1208),d=r(c),f=n(53),p=r(f),h=(n(14),n(4)),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t,t=void 0;try{t=n(668)(\"./\"+this.props.type+\".svg\")}catch(e){}var r=void 0;this.props.loadedOnce?this.props.showFirstTimeFlow&&(r=l.default.createElement(\"div\",null,l.default.createElement(\"span\",{className:d.default.emptyLabel+\" \"+d.default.noResultsLabel},e(\"emptyList.noRecord\",{objectName:this.props.objectName})))):r=l.default.createElement(\"span\",null,e(\"emptyList.loading\"),\"…\");var o=[\"flex-container\",d.default.empty];return l.default.createElement(\"div\",{className:p.default.apply(void 0,[this].concat(o))},t&&l.default.createElement(\"img\",{className:d.default.image,src:t}),r)}}]),t}(l.default.Component);m.propTypes={type:l.default.PropTypes.string,objectName:l.default.PropTypes.string,newButton:l.default.PropTypes.object,loadedOnce:l.default.PropTypes.bool,showFirstTimeFlow:l.default.PropTypes.bool},t.default=(0,h.withNamespaces)(\"translations\")(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.connect=t.mapDispatchToProps=t.mapStateToProps=void 0;var o=n(16),i=n(15),a=r(i),s=t.mapStateToProps=function(e){return function(t){return{type:e}}},u=t.mapDispatchToProps=function(e){return function(t){return{submitForm:function(n){return t(a.default[e].submitForm(n)).then(function(r){return t(a.default.tutorial.submitTutorialForm(n,e)),r})}}}},l=t.connect=function(e,t,n){return(0,o.connect)(e,t)(n)};t.default={mapStateToProps:s,mapDispatchToProps:u,connect:l}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(351),d=r(c),f=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={},n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){var e=this;this.props.fetchItem(this.props.params.id).then(function(t){t&&(\"fail\"==t.status||t.data&&0===t.data.length)&&e.setState({notFound:!0})}).catch(function(t){\"fail\"===t.status&&e.setState({notFound:!0})})}},{key:\"renderIfFound\",value:function(e){return this.state.notFound?l.default.createElement(d.default,null):e?e:l.default.createElement(\"div\",null,\"Loading...\")}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.connect=t.mapDispatchToProps=t.mapStateToProps=void 0;var o=n(16),i=n(15),a=r(i),s=t.mapStateToProps=function(e){return function(){return{type:e}}},u=t.mapDispatchToProps=function(e){return function(t){return{fetchItem:function(n){return t(a.default[e].fetchItems({id:\"\"+n})).then(function(e){return e})},submitForm:function(n,r,o){return t(a.default[e].submitUpdateForm(n,r,o))}}}},l=t.connect=function(e,t,n){return(0,o.connect)(e,t)(n)};t.default={mapStateToProps:s,mapDispatchToProps:u,connect:l}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(1209),h=r(p),m=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\",\"checked\",\"disabled\"],g=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,m);return c.default.createElement(\"div\",null,c.default.createElement(\"label\",{className:h.default.label},c.default.createElement(\"input\",s({type:\"checkbox\"},e)),c.default.createElement(\"span\",{className:h.default.title},this.props.title),this.props.hint&&c.default.createElement(\"div\",{className:h.default.hint},this.props.hint)))}}]),t}(c.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(23),p=n(1210),h=r(p),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state=n.getInitialState(),n.submitWithValidation=n.submitWithValidation.bind(n),n}return a(t,e),u(t,[{key:\"getInitialState\",value:function(){for(var e=[],t=.3,n=this.props.mnemonic.split(\" \"),r=0;r<n.length;r++){var o=Math.random();e.push({word:o>t?n[r]:\"\",show:o>t,index:r}),o<=t&&this.props.fields.words.addField({seedIndex:r})}return{seedWords:e,splitMnemoic:n}}},{key:\"submitWithValidation\",value:function(e){var t=this,n=!0,r=!1,o=void 0;try{for(var i,a=e.words[Symbol.iterator]();!(n=(i=a.next()).done);n=!0){var s=i.value;if(s.value.trim()!==this.state.splitMnemoic[s.seedIndex])return new Promise(function(e,t){return t({_error:\"please match the word\"})})}}catch(e){r=!0,o=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw o}}return new Promise(function(e,n){t.props.succeeded().catch(function(e){return n({type:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields.words,n=e.error,r=e.handleSubmit,o=e.submitting,i=e.t,a=this.state.seedWords,s=0;return c.default.createElement(\"form\",{className:h.default.container,onSubmit:r(this.submitWithValidation)},c.default.createElement(\"h4\",null,i(\"mnemonic.confirmTitle\")),c.default.createElement(\"p\",null,i(\"mnemonic.confirmMessage\")),c.default.createElement(\"div\",{className:h.default.seedArea},a.map(function(e){return e.show?c.default.createElement(\"div\",{key:e.index,className:h.default.seed+\" \"+h.default.seedWord},e.word):t[s]?c.default.createElement(d.SingletonField,{className:h.default.seedWord,key:e.index,fieldProps:t[s++].value}):null})),n&&c.default.createElement(d.ErrorBanner,{error:n}),c.default.createElement(\"button\",{className:\"btn btn-primary \"+h.default.submit,type:\"submit\",disabled:o},i(\"mnemonic.confirm\")))}}]),t}(c.default.Component),_=function(e,t){var n={words:{}},r=t.mnemonic.split(\" \"),o=void 0;return e.words.forEach(function(t,i){var a=e.words[i].seedIndex;o=e.words[i].value!==r[a],o&&(n.words[i]=s({},n.words[i],{value:\" \"}))}),n};t.default=(0,m.withNamespaces)(\"translations\")((0,f.reduxForm)({form:\"MnemonicInit\",fields:[\"words[].value\",\"words[].seedIndex\"],validate:_})(g))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(29),f=r(d),p=n(1211),h=r(p),m=n(1299),g=r(m),_=n(794),b=r(_),y=n(67),v=r(y),M=n(4),A=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={data:[],historyCount:0,commandHistory:[]},n.handleSubmit=n.handleSubmit.bind(n),n.scrollToBottom=n.scrollToBottom.bind(n),n}return a(t,e),u(t,[{key:\"scrollToBottom\",value:function(){var e=f.default.findDOMNode(this.messagesContainer);e.scrollTop=e.scrollHeight}},{key:\"componentDidMount\",value:function(){this.scrollToBottom()}},{key:\"componentDidUpdate\",value:function(){this.scrollToBottom()}},{key:\"handleSubmit\",value:function(e){var t=this;e.preventDefault();var n=this.state.data,r=e.target[0].value.trim();this.setState({commandHistory:this.state.commandHistory.concat(r),historyCount:this.state.commandHistory.length}),e.target[0].value=\"\",\"help\"===r?(n=n.concat([{command:r,success:!0,commandOutput:g.default.help}]),this.setState({data:n})):\"clear\"===r?this.setState({data:[]}):this.props.cmd(r).then(function(e){n=\"fail\"===e.status?n.concat([{command:r,success:!1,commandOutput:e.msg}]):n.concat([{command:r,success:!0,commandOutput:e.data}]),t.setState({data:n})}).catch(function(){n=n.concat([{command:r,success:!1,commandOutput:\"command not found\"}]),t.setState({data:n})})}},{key:\"keyDownEvent\",value:function(e){if([38,40].includes(e.keyCode)&&this.state.commandHistory.length>0){var t=this.state.historyCount;38===e.keyCode?t>0&&this.setState({historyCount:t-1}):t<this.state.commandHistory.length-1&&this.setState({historyCount:t+1}),e.target.value=this.state.commandHistory[t]}}},{key:\"render\",value:function(){var e=this,t=this.props.t,n=this.state.data.map(function(e){return c.default.createElement(b.default,{content:e})});return c.default.createElement(\"div\",{className:h.default.main},c.default.createElement(\"div\",{className:h.default.reactConsoleContainer,ref:function(t){e.messagesContainer=t}},c.default.createElement(M.Trans,{i18nKey:\"console.message\",parent:\"p\"},\"Welcome to the Vapor Core API console.\",c.default.createElement(\"br\",null),\" Type \",c.default.createElement(\"code\",null,\"help\"),\" for an overview of available commands\"),c.default.createElement(\"p\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,t(\"console.warning\"),\":\"),t(\"console.warningMessage\")),n),c.default.createElement(\"div\",null,c.default.createElement(\"form\",s({className:h.default.inputBox,onSubmit:this.handleSubmit},v.default),c.default.createElement(\"span\",null,c.default.createElement(\"input\",{className:h.default.input,type:\"text\",autoFocus:\"autofocus\",onKeyDown:function(t){return e.keyDownEvent(t)},placeholder:t(\"console.placeholder\")})),c.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",tabIndex:\"-1\"},\"> \",t(\"form.enter\")))))}}]),t}(c.default.Component);t.default=(0,M.withNamespaces)(\"translations\")(A)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1212),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.content,t=e.commandOutput;if(e.success){if(t)if(\"help\"===e.command){var n=[];t.forEach(function(e){n.push(l.default.createElement(\"div\",null,e))}),t=n}else{var r=Object.keys(t);t=1===r.length?t[r[0]].toString():JSON.stringify(t,null,2)}}else t=t.replace(/\"/g,\"\");return l.default.createElement(\"div\",{className:d.default.main},l.default.createElement(\"div\",{className:d.default.title},e.command),t&&l.default.createElement(\"div\",{className:d.default.messageBox+\" \"+(e.success?null:\"text-danger\")},t))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(150),d=n(1213),f=r(d),p=n(4),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"copyClick\",value:function(){(0,c.copyToClipboard)(this.props.value)}},{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:f.default.main},l.default.createElement(\"pre\",{className:f.default.pre},this.props.value),l.default.createElement(\"div\",{className:f.default.copyButton},l.default.createElement(\"button\",{className:\"btn btn-default btn-sm\",onClick:this.copyClick.bind(this)},this.props.t(\"account.copyClipboard\"))))}}]),t}(l.default.Component);t.default=(0,p.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1214),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.emptyContainer},this.props.children&&l.default.createElement(\"div\",{className:d.default.emptyContent},this.props.children))}}]),t}(l.default.Component);f.propTypes={title:l.default.PropTypes.string},t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1215),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.t,n=e.i18n,r=this.props.error||\"\",o=r.code&&n.exists(\"btmError.\"+r.code)&&t(\"btmError.\"+r.code),i=this.props.success,a=o||r.chainMessage||r.message||r||i;return l.default.createElement(\"div\",{className:i?d.default.mainSuccess:d.default.main},this.props.title&&l.default.createElement(\"strong\",null,this.props.title,l.default.createElement(\"br\",null)),a&&l.default.createElement(\"div\",{className:r.code||r.requestId?d.default.message:\"\"},a),r.code&&l.default.createElement(\"div\",{className:d.default.extra},t(\"commonWords.errorCode\"),\" \",l.default.createElement(\"strong\",null,r.code)),r.requestId&&l.default.createElement(\"div\",{className:d.default.extra},t(\"commonWords.requestId\"),\" \",l.default.createElement(\"strong\",null,r.requestId)))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(51),f=r(d),p=[\"value\",\"onBlur\",\"onFocus\",\"name\"],h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.onChange=n.onChange.bind(n),n}return a(t,e),s(t,[{key:\"onChange\",value:function e(t){var e=this.props.fieldProps.onChange;e(t.target.files[0])}},{key:\"render\",value:function(){var e=((0,f.default)(this.props.fieldProps,p),this.props.fieldProps),t=e.touched,n=e.error;return l.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&l.default.createElement(c.FieldLabel,null,this.props.title),l.default.createElement(\"input\",{type:\"file\",onChange:this.onChange}),t&&n&&l.default.createElement(\"span\",{className:\"text-danger\"},l.default.createElement(\"strong\",null,n)),this.props.hint&&l.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(l.default.Component);t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1217),d=r(c),f=n(16),p=n(4),h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return Object.keys(e.messages).forEach(function(t){var r=e.messages[t];r.displayed||(n.props.markFlashDisplayed(t),setTimeout(function(){n.props.dismissFlash(t)},5e3))}),n}return a(t,e),s(t,[{key:\"componentWillReceiveProps\",value:function(e){var t=this;Object.keys(e.messages).forEach(function(n){var r=e.messages[n];r.displayed||(t.props.markFlashDisplayed(n),setTimeout(function(){t.props.dismissFlash(n)},5e3))})}},{key:\"render\",value:function(){var e=this;if(!this.props.messages||this.props.hideFlash)return null;var t=this.props.t,n=[];return Object.keys(this.props.messages).forEach(function(r){var o=e.props.messages[r],i=t([\"message.\"+o.message,o.message]);n.push(l.default.createElement(\"div\",{className:d.default.alert+\" \"+d.default[o.type]+\" \"+d.default.main,key:r},l.default.createElement(\"div\",{className:d.default.content},o.title&&l.default.createElement(\"div\",null,l.default.createElement(\"strong\",null,o.title)),i),l.default.createElement(\"button\",{type:\"button\",className:\"close\",onClick:function(){return e.props.dismissFlash(r)}},l.default.createElement(\"span\",null,\"×\"))))}),l.default.createElement(\"div\",{className:this.props.className},n)}}]),t}(l.default.Component),m=function(e){return{hideFlash:!1}};t.default=(0,f.connect)(m)((0,p.withNamespaces)(\"translations\")(h))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(53),p=r(f),h=n(67),m=r(h),g=n(1218),_=r(g),b=n(237),y=r(b),v=n(4),M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props.t;return c.default.createElement(\"div\",{className:(0,p.default)(this,\"flex-container\")},c.default.createElement(d.PageTitle,{title:this.props.label}),c.default.createElement(\"div\",{className:_.default.main+\" flex-container\"},c.default.createElement(\"div\",{className:_.default.content},c.default.createElement(\"form\",s({onSubmit:this.props.onSubmit},m.default),this.props.children,c.default.createElement(d.FormSection,{className:_.default.submitSection},this.props.error&&c.default.createElement(d.ErrorBanner,{title:e(\"form.errorTitle\"),error:this.props.error}),this.props.success&&c.default.createElement(d.ErrorBanner,{title:e(\"form.successTitle\"),success:this.props.success}),c.default.createElement(\"div\",{className:_.default.submit},this.props.secondaryAction&&c.default.createElement(\"button\",{type:\"button\",className:\"btn btn-link\",onClick:this.props.secondaryAction},this.props.secondaryLabel||e(\"commonWords.previous\")),c.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:this.props.submitting||this.props.disabled},this.props.submitLabel||e(\"form.submit\")),this.props.showSubmitIndicator&&this.props.submitting&&c.default.createElement(d.SubmitIndicator,null))))),c.default.createElement(y.default,{types:[\"TutorialForm\"]})))}}]),t}(c.default.Component);\nt.default=(0,v.withNamespaces)(\"translations\")(M)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1219),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.main+\" \"+(this.props.className||\"\")},l.default.createElement(\"div\",{className:d.default.title},this.props.title),l.default.createElement(\"div\",{className:d.default.content},this.props.children))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(43),h=n(14),m=n(1220),g=r(m),_=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,_),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group \"+g.default.slider},c.default.createElement(\"span\",null,(0,p.normalizeBTMAmountUnit)(h.btmID,e.value*this.props.gas,this.props.btmAmountUnit)),c.default.createElement(\"input\",s({type:\"range\",min:1,max:10,step:\"1\"},e)),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"input\",{className:\"form-control\",type:\"hidden\",onChange:this.props.fieldProps.onChange,value:this.props.fieldProps.value})}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1221),f=r(d),p=n(1403),h=r(p),m=n(83),g=n(10);n(902),n(903);var _=n(4),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={syntaxError:{}},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this,t=this.props.t,n=this.props.hint||t(\"errorMessage.jsonObjectError\"),r=this.props.fieldProps,o={mode:\"json\",theme:\"github\",height:this.props.height||\"80px\",width:\"100%\",tabSize:2,showGutter:!1,highlightActiveLine:!1,showPrintMargin:!1,editorProps:{$blockScrolling:!0}},i=function(t){var n=e;t.navigateFileStart(),t.navigateDown(),t.navigateRight(1),t.commands.bindKey(\"Tab\",null),t.commands.bindKey(\"Shift-Tab\",null),t.getSession().on(\"changeAnnotation\",function(){n.setState({syntaxError:t.getSession().getAnnotations()[0]})})},a=r.touched&&!r.active&&r.error,u=this.state.syntaxError,l=[f.default.editorWrapper];a&&l.push(f.default.editorError);var d=function(e){return function(t,n){var r=n.getValue();e(r)}};return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(g.FieldLabel,null,this.props.title),c.default.createElement(\"div\",{className:l.join(\" \")},c.default.createElement(h.default,s({},r,o,{onBlur:d(r.onBlur),onLoad:i}))),a&&c.default.createElement(\"span\",{className:\"help-block \"+f.default.errorBlock},r.error,\":\",u&&t(\"errorMessage.jsonRowError\",{error:u.text,row:u.row})),!a&&c.default.createElement(\"span\",{className:\"help-block\"},n))}}]),t}(c.default.Component);b.validator=function(e){try{(0,m.parseNonblankJSON)(e)}catch(e){return\"Error parsing JSON\"}return null},t.default=(0,_.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=\"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},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(10),p=n(4),h=[1,2,3,4,5,6].map(function(e){return{label:e,value:e}}),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),l(t,[{key:\"componentWillMount\",value:function(){this.setState({keys:1}),this.props.xpubs.addField()}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.quorum,r=t.quorumHint,o=t.xpubs,i=t.t,a=function(t,n){var r=parseInt(\"object\"==(\"undefined\"==typeof t?\"undefined\":u(t))?t.target.value:t);isNaN(r)||(void 0==n&&(n=parseInt(e.state.keys||0)),r>n&&(r=n),e.props.quorum.onChange(r))},l=function(t){var n=parseInt(t.target.value)||0,r=e.state.keys||0;if(n>r)for(var o=0;o<n-r;o++)e.props.xpubs.addField();else if(n<r)for(var i=0;i<r-n;i++)e.props.xpubs.removeField();e.setState({keys:n}),a(e.props.quorum.value,n)},c=h.slice(0,this.state.keys);return d.default.createElement(\"div\",null,d.default.createElement(f.SelectField,{options:h,title:i(\"form.keys\"),skipEmpty:!0,fieldProps:{value:this.state.keys,onChange:l}}),d.default.createElement(f.SelectField,{options:c,title:i(\"form.quorum\"),skipEmpty:!0,hint:r,fieldProps:s({},n,{onChange:a})}),o.map(function(e,t){return d.default.createElement(f.XpubField,{key:\"xpub-\"+t,index:t,typeProps:e.type,valueProps:e.value})}))}}]),t}(d.default.Component);t.default=(0,p.withNamespaces)(\"translations\")(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=\"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},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1222),f=r(d),p=n(10),h=n(27),m=n(301),g=n(150),_=n(4),b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"shouldUsePre\",value:function(e){return!!e.pre||null!=e.value&&\"object\"==s(e.value)}},{key:\"stringify\",value:function(e){if((0,m.isObject)(e)&&1==(0,m.size)(e)){var t=(0,m.sample)(e);if(!(0,m.isObject)(t)){if((0,m.isArray)(e))return JSON.stringify(e);var n=(0,m.toPairs)(e)[0];return\"{\"+JSON.stringify(n[0])+\": \"+JSON.stringify(n[1])+\"}\"}}return JSON.stringify(e,null,\"  \")}},{key:\"renderValue\",value:function(e){var t=e.value;return this.shouldUsePre(e)&&(t=c.default.createElement(\"pre\",{className:f.default.pre},this.stringify(e.value))),e.link&&(t=c.default.createElement(h.Link,{to:e.link},t)),void 0!==t&&null!==t&&\"\"!==t||(t=\"-\"),t}},{key:\"render\",value:function(){var e=this,t=this.props.t;return c.default.createElement(p.Section,{title:this.props.title,actions:this.props.actions},c.default.createElement(\"table\",{className:f.default.table},c.default.createElement(\"tbody\",null,this.props.items.map(function(r){return c.default.createElement(\"tr\",{key:r.label},c.default.createElement(\"td\",{className:f.default.label},r.label),c.default.createElement(\"td\",{className:f.default.value},e.renderValue(r),r.copy&&c.default.createElement(\"button\",{className:\"btn btn-link \"+f.default.copyButton,onClick:function(){return(0,g.copyToClipboard)(e.renderValue(r))}},c.default.createElement(\"img\",{src:n(338)})),r.note,r.editUrl&&c.default.createElement(h.Link,{to:r.editUrl,className:f.default.edit},c.default.createElement(\"span\",{className:f.default.pencil+\" glyphicon glyphicon-pencil\"}),t(\"form.edit\")),r.details&&c.default.createElement(h.Link,{to:r.details,className:f.default.edit},t(\"form.detail\")),r.program&&c.default.createElement(\"button\",{onClick:r.program,className:f.default.detail+\" \"+f.default.edit+\" btn btn-link\"},t(\"commonWords.program\"))))}))))}}]),t}(c.default.Component);t.default=(0,_.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(150),d=n(1223),f=r(d),p=n(4),h=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={mnemonicArray:n.props.mnemonic.split(\" \")},n}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props.t,r=this.state.mnemonicArray;return l.default.createElement(\"div\",{className:f.default.container},l.default.createElement(\"div\",{className:f.default.flexContainer},l.default.createElement(\"h4\",null,t(\"init.mnemonic\")),l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:function(){return(0,c.copyToClipboard)(e.props.mnemonic)}},l.default.createElement(\"img\",{className:f.default.copy,src:n(338)}))),l.default.createElement(\"p\",null,t(\"mnemonic.backupMessage\")),l.default.createElement(\"div\",{className:f.default.flexContainer+\" \"+f.default.seedArea},r.map(function(e){return l.default.createElement(\"div\",{className:f.default.seed},e)})))}}]),t}(l.default.Component);t.default=(0,p.withNamespaces)(\"translations\")(h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1224),f=r(d),p=n(76),h=n(10),m=n(4),g=\"Alias\",_=\"ID\",b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showDropdown:!1,selected:e.selected||g},n.select=n.select.bind(n),n.toggleDropwdown=n.toggleDropwdown.bind(n),n.closeDropdown=n.closeDropdown.bind(n),n}return a(t,e),u(t,[{key:\"toggleDropwdown\",value:function(){this.setState({showDropdown:!this.state.showDropdown})}},{key:\"closeDropdown\",value:function(){this.setState({showDropdown:!1})}},{key:\"select\",value:function(e){this.setState({selected:e}),this.closeDropdown()}},{key:\"componentDidUpdate\",value:function(e){this.props.selected!==e.selected&&this.setState({selected:this.props.selected})}},{key:\"render\",value:function(){var e=this,t=function(t){e.props.fieldProps.id.onChange(t.target.value),e.props.fieldProps.alias.onChange(\"\")},n=function(t){e.props.fieldProps.alias.onChange(t),e.props.fieldProps.id.onChange(\"\")},r=this.props.t,o=r(\"form.alias\"),i=Object.assign(s({},this.props.fieldProps.id),{onChange:t}),a=Object.assign(s({},this.props.fieldProps.alias),{onChange:n});return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(h.FieldLabel,null,this.props.title),c.default.createElement(\"div\",{className:\"input-group\"},c.default.createElement(\"div\",{className:\"input-group-btn \"+(this.state.showDropdown&&\"open\")},c.default.createElement(p.DropdownButton,{className:f.default.dropdownButton,id:this.props.keyIndex?\"input-dropdown-addon-\"+this.props.keyIndex:\"input-dropdown-addon\",title:this.state.selected===g?o:this.state.selected,onSelect:this.select},c.default.createElement(p.MenuItem,{eventKey:g},r(\"form.alias\")),c.default.createElement(p.MenuItem,{eventKey:_},\"ID\"))),this.state.selected==_&&c.default.createElement(\"input\",s({className:\"form-control\",type:this.state.type,disabled:this.props.disabled,placeholder:this.props.title+\" ID\"},i)),this.state.selected==g&&c.default.createElement(this.props.aliasField,{className:f.default.aliasFieldGroupItem,disabled:this.props.disabled,placeholder:r(\"form.objectField.aliasPlaceholder\",{title:this.props.title.toLowerCase()}),fieldProps:a})),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1225),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.main},this.props.children)}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(27),p=n(83),h=n(1564),m=n(355),g=r(m),_=n(15),b=r(_),y=n(1226),v=r(y),M=n(53),A=r(M),w=n(4),C=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=n(1660);return l.default.createElement(\"div\",{className:(0,A.default)(this)},l.default.createElement(\"div\",{className:v.default.main+\" navbar\"},l.default.createElement(\"div\",{className:v.default.navigation},l.default.createElement(\"ul\",{className:v.default.crumbs},this.props.breadcrumbs.map(function(n){return l.default.createElement(\"li\",{className:v.default.crumb,key:n.name},!n.last&&l.default.createElement(f.Link,{to:\"/\"+n.path},(0,p.capitalize)(n.name),l.default.createElement(\"img\",{src:t,className:v.default.chevron})),n.last&&l.default.createElement(\"span\",{className:v.default.title},e.props.title||n.name))}))),Array.isArray(this.props.actions)&&l.default.createElement(\"ul\",{className:v.default.actions},this.props.actions.map(function(e){return l.default.createElement(\"li\",{key:e.key},e)}))),l.default.createElement(h.Affix,{affixClassName:v.default.flash,affixStyle:{top:void 0}},l.default.createElement(\"div\",null,l.default.createElement(d.Flash,{messages:this.props.flashMessages,markFlashDisplayed:this.props.markFlashDisplayed,dismissFlash:this.props.dismissFlash}))))}}]),t}(l.default.Component),E=function(e,t){var n=(0,g.default)(),r=e.routing.locationBeforeTransitions.pathname,o=[],i=n.childRoutes,a=[];return r.split(\"/\").forEach(function(e){var n=i.find(function(t){return t.path==e||t.path.indexOf(\":\")>=0});n&&(i=n.childRoutes||[],a.push(e),n.skipBreadcrumb||o.push({name:t.t(\"crumbName.\"+n.name)||(0,p.humanize)(e),path:a.join(\"/\")}))}),o[o.length-1].last=!0,{breadcrumbs:o,flashMessages:e.app.flashMessages}};t.default=(0,w.withNamespaces)(\"translations\")((0,c.connect)(E,function(e){return{markFlashDisplayed:function(t){return e(b.default.app.displayedFlash(t))},dismissFlash:function(t){return e(b.default.app.dismissFlash(t))}}})(C))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1227),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props.t,n=d.default.button+\" \"+(this.props.currentPage>1?\"\":d.default.disabled),r=d.default.button+\" \"+(this.props.isLastPage?d.default.disabled:\"\"),o=function(){return e.props.pushList(e.props.currentFilter,e.props.currentPage+1)},i=function(){return e.props.pushList(e.props.currentFilter,e.props.currentPage-1)};return l.default.createElement(\"ul\",{className:d.default.main},l.default.createElement(\"li\",null,l.default.createElement(\"a\",{className:n,onClick:i},\"←\")),l.default.createElement(\"li\",{className:d.default.label},t(\"commonWords.page\"),\" \",this.props.currentPage),l.default.createElement(\"li\",null,l.default.createElement(\"a\",{className:r,onClick:o},\"→\")))}}]),t}(l.default.Component);p.propTypes={currentPage:l.default.PropTypes.number,isLastPage:l.default.PropTypes.bool,pushList:l.default.PropTypes.func,currentFilter:l.default.PropTypes.object},t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(1228),h=r(p),m=n(10),g=n(67),_=r(g),b=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],y=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={capLock:!1},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this,t=(0,f.default)(this.props.fieldProps,b),n=this.props.fieldProps,r=n.touched,o=n.error,i=function(t){t.getModifierState(\"CapsLock\")?e.setState({capLock:!0}):e.setState({capLock:!1})};return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(m.FieldLabel,null,this.props.title),c.default.createElement(\"input\",s({className:\"form-control \"+h.default.password+\" \"+(t.value?h.default.dotFont:null)+\"\\n         \"+(this.state.capLock?h.default.capsIconGreen:h.default.capsIcon),type:\"text\",placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,onKeyUp:i},_.default,t)),r&&o&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,o)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=y},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(1229),m=r(h),g=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,g),t=this.props.options;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(p.FieldLabel,null,this.props.title),c.default.createElement(\"div\",null,t.map(function(t){return c.default.createElement(\"label\",{className:m.default.label},c.default.createElement(\"input\",s({type:\"radio\",className:m.default.radio,key:t.label},e,{checked:t.value==e.value,value:t.value})),t.label)})))}}]),t}(c.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(241),f=n(16),p=n(15),h=r(p),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"showRawJson\",value:function(e){var t=d.Connection.snakeize(s({},e));this.props.showJsonModal(c.default.createElement(\"pre\",null,JSON.stringify(t,null,2)))}},{key:\"render\",value:function(){return c.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.showRawJson.bind(this,this.props.item)},\"Raw JSON\")}}]),t}(c.default.Component),g=function(e){return{showJsonModal:function(t){return e(h.default.app.showModal(t,h.default.app.hideModal,null,{wide:!0}))}}};t.default=(0,f.connect)(function(){return{}},g)(m)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{\nvalue:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(3),d=r(c),f=n(358),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=(0,d.default)(this.props.timestamp),t=e.fromNow(),n=e.diff((0,d.default)());return n>0?t=(0,f.humanizeDuration)(n/1e3)+\" ahead of local time\":d.default.duration(n).asHours()<-24&&(t=e.format(\"YYYY-MM-DD HH:mm:ss\")),l.default.createElement(\"span\",null,t)}}]),t}(l.default.Component);t.default=p},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(23),m=n(4),g=n(1230),_=r(g),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.restoreKeystore(e,t.props.success).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props.t,t=this.props,n=t.fields.file,r=t.error,o=t.handleSubmit,i=t.submitting;return l.default.createElement(\"div\",null,l.default.createElement(\"div\",null,l.default.createElement(\"h4\",null,e(\"init.restoreWallet\")),l.default.createElement(\"div\",null,l.default.createElement(\"form\",{onSubmit:o(this.submitWithValidations)},l.default.createElement(\"p\",null,e(\"init.restoreLabel\")),l.default.createElement(d.FileField,{fieldProps:n}),r&&l.default.createElement(d.ErrorBanner,{title:e(\"init.errorTitle\"),error:r}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary \"+_.default.submitButton,disabled:i},e(\"init.restore\"))))))}}]),t}(l.default.Component),y=function(e,t){var n={},r=t.t;return e.file||(n.file=r(\"form.required\")),n};t.default=(0,m.withNamespaces)(\"translations\")((0,c.connect)(function(){return{}},function(e){return{restoreKeystore:function(t,n){return e(p.default.initialization.restoreKeystore(t,n))}}})((0,h.reduxForm)({form:\"restoreKeystore\",fields:[\"file\"],validate:y})(b)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(15),p=r(f),h=n(23),m=n(4),g=n(1231),_=r(g),b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.restoreMnemonic(e,t.props.success).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props.t,t=this.props,n=t.fields,r=n.mnemonic,o=n.password,i=n.confirmPassword,a=t.error,s=t.handleSubmit,u=t.submitting;return l.default.createElement(\"div\",null,l.default.createElement(\"h4\",null,e(\"init.restoreWallet\")),l.default.createElement(\"div\",null,l.default.createElement(\"form\",{onSubmit:s(this.submitWithValidations)},l.default.createElement(d.TextareaField,{title:e(\"init.mnemonic\"),fieldProps:r}),l.default.createElement(d.PasswordField,{title:e(\"init.keyPassword\"),placeholder:e(\"init.passwordPlaceholder\"),fieldProps:o}),l.default.createElement(d.PasswordField,{title:e(\"init.repeatKeyPassword\"),placeholder:e(\"init.repeatPlaceHolder\"),fieldProps:i}),a&&l.default.createElement(d.ErrorBanner,{title:e(\"init.errorTitle\"),error:a}),l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary \"+_.default.submitButton,disabled:u},e(\"init.restore\")))))}}]),t}(l.default.Component),y=function(e,t){var n={},r=t.t;return e.mnemonic||(n.mnemonic=r(\"init.mnemonicRequire\")),e.password?e.password.length<5&&(n.password=r(\"key.reset.newPWarning\")):n.password=r(\"key.passwordRequired\"),e.password!==e.confirmPassword&&(n.confirmPassword=r(\"key.reset.repeatPWarning\")),n};t.default=(0,m.withNamespaces)(\"translations\")((0,c.connect)(function(){return{}},function(e){return{restoreMnemonic:function(t,n){return e(p.default.initialization.restoreMnemonic(t,n))}}})((0,h.reduxForm)({form:\"restoreMnemonic\",fields:[\"mnemonic\",\"password\",\"confirmPassword\"],validate:y})(b)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:\"flex-container\"},this.props.children)}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(1232),f=r(d),p=n(67),h=r(p),m=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={query:n.props.currentFilter.filter||\"\",sumBy:n.props.currentFilter.sumBy||\"\",sumByVisible:!1},n.state.showClear=n.state.query!=(n.props.defaultFilter||\"\")||\"\"!=n.state.sumBy,n.state.sumByVisible=\"\"!=n.state.sumBy,n.filterKeydown=n.filterKeydown.bind(n),n.filterOnChange=n.filterOnChange.bind(n),n.sumByOnChange=n.sumByOnChange.bind(n),n.showSumBy=n.showSumBy.bind(n),n.handleSubmit=n.handleSubmit.bind(n),n.clearQuery=n.clearQuery.bind(n),n}return a(t,e),u(t,[{key:\"componentWillReceiveProps\",value:function(e){e.currentFilter.filter!=this.props.currentFilter.filter&&this.setState({query:e.currentFilter.filter})}},{key:\"filterKeydown\",value:function(e){this.setState({lastKeypress:e.key})}},{key:\"filterOnChange\",value:function(e){var t=e.target,n=this.state.lastKeypress,r=e.target.value,o=t.selectionStart;switch(n){case'\"':r=r.substr(0,r.length-1)+\"'\";break;case\"'\":\"'\"==r[o]&&\"'\"==r[o-1]&&(r=r.substr(0,o-1)+r.substr(o));break;case\"(\":r=r.substr(0,o)+\")\"+r.substr(o);break;case\")\":\")\"==r[o]&&\")\"==r[o-1]&&(r=r.substr(0,o-1)+r.substr(o))}this.setState({query:r}),setTimeout(function(){t.setSelectionRange(o,o)},0)}},{key:\"showSumBy\",value:function(){this.setState({sumByVisible:!0})}},{key:\"sumByOnChange\",value:function(e){this.setState({sumBy:e.target.value})}},{key:\"handleSubmit\",value:function(e){e.preventDefault();var t={},n={showClear:this.state.query&&this.state.query!=this.props.defaultFilter||this.state.sumBy};this.state.query?t.filter=this.state.query:this.props.defaultFilter&&(n.query=this.props.defaultFilter,t.filter=this.props.defaultFilter),this.state.sumBy&&(t.sumBy=this.state.sumBy),this.setState(n),this.props.pushList(t)}},{key:\"clearQuery\",value:function(){var e={query:this.props.defaultFilter||\"\",sumBy:\"\",showClear:!1};this.setState(e);var t={};e.query&&(t.filter=e.query),this.props.pushList(t)}},{key:\"render\",value:function(){var e=!1,t=f.default.search_field_full;return void 0!==this.props.sumBy&&(e=!0),this.state.sumByVisible&&(t=f.default.search_field_half),c.default.createElement(\"div\",{className:f.default.main},c.default.createElement(\"form\",s({onSubmit:this.handleSubmit},h.default),c.default.createElement(\"span\",{className:f.default.searchField+\" \"+t},c.default.createElement(\"input\",{value:this.state.query||\"\",onKeyDown:this.filterKeydown,onChange:this.filterOnChange,className:\"form-control \"+f.default.search_input,type:\"search\",autoFocus:\"autofocus\",placeholder:\"Enter filter...\"}),e&&!this.state.sumByVisible&&c.default.createElement(\"span\",{onClick:this.showSumBy,className:f.default.showSumBy},\"set sum_by\")),e&&this.state.sumByVisible&&c.default.createElement(\"span\",{className:f.default.sum_by_field},c.default.createElement(\"input\",{value:this.state.sumBy,onChange:this.sumByOnChange,className:\"form-control \"+f.default.search_input+\" \"+f.default.sum_by_input,type:\"search\",autoFocus:\"autofocus\",placeholder:\"Enter sum_by...\"})),c.default.createElement(\"input\",{type:\"submit\",className:f.default.submit,tabIndex:\"-1\"})),c.default.createElement(\"span\",{className:f.default.queryTime},this.props.defaultFilter&&!this.state.query.trim()&&\"Filter is required • \",\"Queried at \",this.props.queryTime,this.state.showClear&&c.default.createElement(\"span\",null,\" • \",c.default.createElement(\"span\",{type:\"button\",className:f.default.clearSearch,onClick:this.clearQuery},this.props.defaultFilter?\"Restore default filter\":\"Clear filter\"))))}}]),t}(c.default.Component);t.default=m},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1233),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"div\",{className:d.default.main},this.props.title&&l.default.createElement(\"div\",{className:d.default.title},l.default.createElement(\"h5\",null,this.props.title),this.props.actions&&l.default.createElement(\"div\",null,this.props.actions)),l.default.createElement(\"div\",{className:d.default.children},this.props.children))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(350),f=r(d),p=n(51),h=r(p),m=n(1557),g=r(m),_=n(4),b=[\"value\",\"onBlur\",\"onChange\",\"onFocus\"],y=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=this.props.t,t=this.props.options,n=this.props.emptyLabel||e(\"form.selectPlaceholder\"),r=this.props.valueKey||\"value\",o=this.props.labelKey||\"label\",i=(0,h.default)(this.props.fieldProps,b),a=this.props.fieldProps,u=a.touched,l=a.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(f.default,null,this.props.title),c.default.createElement(\"select\",s({className:\"form-control\"},i,{autoFocus:!!this.props.autoFocus}),!this.props.skipEmpty&&c.default.createElement(\"option\",{value:\"\"},n),t.map(function(e){return c.default.createElement(\"option\",{value:e[r],key:e[r]},e[o])})),u&&l&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,l)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},c.default.createElement(g.default,{source:this.props.hint})))}}]),t}(c.default.Component);t.default=(0,_.withNamespaces)(\"translations\")(y)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(67),h=r(p),m=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],g=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,m),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\" \"+this.props.className+\" \"+(n&&r&&\"has-error\")},c.default.createElement(\"input\",s({className:\"form-control\",autoFocus:!!this.props.autoFocus},h.default,e)))}}]),t}(c.default.Component);t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1234),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.isActive,r=t.displayPrevious,o=t.displayNext,i=t.component,a=t.children,s=t.t,u=t.nextL,c=t.prevL;return n===!1?null:l.default.createElement(\"div\",null,i?l.default.createElement(i):a,l.default.createElement(h,{label:u||s(\"commonWords.continue\"),isActive:o,goToNextStep:function(){return e.props.goToNextStep()}}),l.default.createElement(m,{label:c||s(\"commonWords.cancel\"),isActive:r,goToPreviousStep:function(){return e.props.goToPreviousStep()}}))}}]),t}(l.default.Component),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.isActive,r=t.label;return n===!1?null:l.default.createElement(\"button\",{className:\"btn btn-primary \"+d.default.floatLeft,onClick:function(){return e.props.goToNextStep()}},r)}}]),t}(l.default.Component),m=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.isActive,r=t.label;return n===!1?null:l.default.createElement(\"a\",{className:\"btn btn-link \"+d.default.marginLeft,onClick:function(){return e.props.goToPreviousStep()}},r)}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={currentStep:0,totalSteps:n.props.children.length-1},n}return a(t,e),s(t,[{key:\"goToPreviousStep\",value:function(){this.setState({currentStep:this.state.currentStep-1})}},{key:\"goToNextStep\",value:function(){this.setState({currentStep:this.state.currentStep+1})}},{key:\"render\",value:function(){var e=this,t=l.default.Children.map(this.props.children,function(t,n){var r=e.state,o=r.currentStep,i=r.totalSteps;return l.default.cloneElement(t,{isActive:n===o,displayPrevious:o>0,displayNext:o<i,displaySubmit:o===i,goToPreviousStep:function(){return e.goToPreviousStep()},goToNextStep:function(){return e.goToNextStep()}})});return l.default.createElement(\"div\",null,t,\" \")}}]),t}(l.default.Component);t.default=c},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1235),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.text||\"Submitting...\";return l.default.createElement(\"div\",{className:d.default.activeSubmit},e)}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1236),d=r(c),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(\"table\",{className:d.default.main+\" \"+(this.props.styles||\"\")},l.default.createElement(\"thead\",null,l.default.createElement(\"tr\",null,this.props.titles.map(function(e){return l.default.createElement(\"th\",{key:e},e)}),l.default.createElement(\"th\",null))),l.default.createElement(\"tbody\",null,this.props.children))}}]),t}(l.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(67),m=r(h),g=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],_=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),r=e.type||\"text\";return n.state={type:r},n}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,g),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(p.FieldLabel,null,this.props.title),c.default.createElement(\"input\",s({className:\"form-control\",title:e.value||\"\",type:this.state.type,placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus,disabled:this.props.disabled},m.default,e)),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(67),m=r(h),g=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=(0,f.default)(this.props.fieldProps,g),t=this.props.fieldProps,n=t.touched,r=t.error;return c.default.createElement(\"div\",{className:\"form-group\"},this.props.title&&c.default.createElement(p.FieldLabel,null,this.props.title),c.default.createElement(\"textarea\",s({className:\"form-control\",title:e.value||\"\",placeholder:this.props.placeholder,autoFocus:!!this.props.autoFocus},m.default,e)),n&&r&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,r)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint))}}]),t}(c.default.Component);t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(1237),p=r(f),h=n(10),m=n(16),g=n(348),_=r(g),b=n(4),y=[\"provide\"],v=function(e){function t(e){i(this,t);var n=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={generate:\"\",mockhsm:\"\",provide:\"\",autofocusInput:!1},n}return s(t,e),l(t,[{key:\"componentDidMount\",value:function(){var e=this;this.props.autocompleteIsLoaded||this.props.fetchAll().then(function(){e.props.didLoadAutocomplete()}),this.props.typeProps.onChange(y[0])}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.typeProps,r=t.valueProps,i=t.mockhsmKeys,a=t.t,s=function(t){var o=n.onChange(t).value;r.onChange(e.state[o]||\"\"),e.setState({autofocusInput:!0})},l=function(t){var i=r.onChange(t).value;e.setState(o({},n.value,i))},c={mockhsm:d.default.createElement(h.SelectField,{options:i,autoFocus:this.state.autofocusInput,valueKey:\"xpub\",labelKey:\"label\",fieldProps:u({},r,{onChange:l})}),provide:d.default.createElement(h.TextField,{autoFocus:this.state.autofocusInput,fieldProps:u({},r,{onChange:l}),placeholder:a(\"xpub.providePlaceholder\")}),generate:d.default.createElement(h.TextField,{autoFocus:this.state.autofocusInput,fieldProps:u({},r,{onChange:l}),placeholder:\"Alias for generated key (leave blank for automatic value)\"})};return d.default.createElement(\"div\",{className:p.default.main},d.default.createElement(h.FieldLabel,null,a(\"form.key\"),this.props.index+1),d.default.createElement(\"table\",{className:p.default.options},d.default.createElement(\"tbody\",null,y.map(function(t){return d.default.createElement(\"tr\",{key:\"key-\"+e.props.index+\"-option-\"+t},0===e.props.index?d.default.createElement(\"td\",null,d.default.createElement(\"label\",null,d.default.createElement(\"input\",{type:\"radio\",className:p.default.radio,name:\"keys-\"+e.props.index,onChange:s,checked:t==n.value,value:t,disabled:!0}),a(\"xpub.methodOptions.currentAccount\"))):[d.default.createElement(\"td\",{\nclassName:p.default.label},d.default.createElement(\"label\",null,d.default.createElement(\"input\",{type:\"radio\",className:p.default.radio,name:\"keys-\"+e.props.index,onChange:s,checked:t==n.value,value:t,disabled:!0}),a(\"xpub.methodOptions\",{returnObjects:!0})[t])),d.default.createElement(\"td\",{className:p.default.field},n.value==t&&c[t])])}))))}}]),t}(d.default.Component);v.propTypes={index:d.default.PropTypes.number,typeProps:d.default.PropTypes.object,valueProps:d.default.PropTypes.object,mockhsmKeys:d.default.PropTypes.array,autocompleteIsLoaded:d.default.PropTypes.bool,fetchAll:d.default.PropTypes.func,didLoadAutocomplete:d.default.PropTypes.func},t.default=(0,m.connect)(function(e){var t=[];for(var n in e.key.items){var r=e.key.items[n];t.push(u({},r,{label:r.alias?r.alias:r.id.slice(0,32)+\"...\"}))}return{autocompleteIsLoaded:e.key.autocompleteIsLoaded,mockhsmKeys:t}},function(e){return{didLoadAutocomplete:function(){return e(_.default.didLoadAutocomplete)},fetchAll:function(t){return e(_.default.fetchAll(t))}}})((0,b.withNamespaces)(\"translations\")(v))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.queriesReducer=t.listViewReducer=t.autocompleteIsLoadedReducer=t.queryTimeReducer=t.queryCursorReducer=t.queryItemsReducer=t.itemsReducer=void 0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(36),a=n(3),s=r(a),u=function(e){return e.id},l=(t.itemsReducer=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];if(r.type==\"RECEIVED_\"+e.toUpperCase()+\"_ITEMS\"){var i={},a=\"TRANSACTION\"!==e.toUpperCase()?r.param.data:r.param.data.map(function(e){return o({},e,{id:e.txId,timestamp:e.blockTime,blockId:e.blockHash,position:e.blockIndex})});return(a||[]).forEach(function(e){e.id||(e.id=t(e)),i[t(e)]=e}),i}return r.type==\"DELETE_\"+e.toUpperCase()?(delete n[r.id],o({},n)):n}},t.queryItemsReducer=function(e){arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];arguments[1];return e}}),c=t.queryCursorReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return n.type==\"APPEND_\"+e.toUpperCase()+\"_PAGE\"?n.param:t}},d=t.queryTimeReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",n=arguments[1];return n.type==\"APPEND_\"+e.toUpperCase()+\"_PAGE\"?(0,s.default)().format(\"h:mm:ss a\"):t}};t.autocompleteIsLoadedReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments[1];return n.type==\"DID_LOAD_\"+e.toUpperCase()+\"_AUTOCOMPLETE\"||t}},t.listViewReducer=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;return(0,i.combineReducers)({itemIds:l(e,t),cursor:c(e),queryTime:d(e)})},t.queriesReducer=function(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return n.type==\"APPEND_\"+e.toUpperCase()+\"_PAGE\"?o({},t,{loadedOnce:!0}):t}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(10),s=n(83),u=n(14),l=n(15),c=r(l),d=function(e,t,n,r,l){var d=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},f=function(n){var r=new Promise(function(t,n){var r=e.getState().account.currentAccount;r?t(r):e.dispatch(c.default.account.setDefaultAccount()).then(function(e){t(e)})});r.then(function(r){if(\"transaction\"===t||\"unspent\"===t){var o=n.location.query,a=e.getState().transaction.unconfirm,s=parseInt(n.location.query.page||1),l=\"unspent\"===t?u.UTXOpageSize:u.pageSize,d={pageSize:l};1==s?(d=\"transaction\"===t?i({},d,{refresh:!0,accountAlias:r,unconfirmed:!0}):d,e.dispatch(c.default[t].fetchPage(o,s,d))):(d=\"transaction\"===t?i({},d,{accountAlias:r,unconfirmed:a}):d,e.dispatch(c.default[t].fetchPage(o,s,d)))}else\"balance\"===t?e.dispatch(c.default[t].fetchAll({accountAlias:r})):e.dispatch(c.default[t].fetchAll())})},p=[];return r&&p.push({path:\"create\",component:r}),d.childRoutes&&p.push.apply(p,o(d.childRoutes)),l&&p.push({path:\":id\",component:l}),{path:d.path||t+\"s\",component:a.RoutingContainer,name:d.name||(0,s.humanize)(t),indexRoute:{component:n,onEnter:function(e,t){f(e,t)},onChange:function(e,t,n){f(t,n)}},childRoutes:p}};t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.testnetInfo=t.crosscoreRpcVersion=t.blockchainId=t.nextReset=void 0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(36),a=n(1370),s=r(a),u=t.nextReset=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"\",t=arguments[1];return\"TESTNET_CONFIG\"==t.type?t.data.next_reset?(0,s.default)(t.data.next_reset):(0,s.default)().tz(\"America/Los_Angeles\").day(7).startOf(\"day\"):e},l=t.blockchainId=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];return\"TESTNET_CONFIG\"==t.type?t.data.blockchain_id:e},c=t.crosscoreRpcVersion=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];return\"TESTNET_CONFIG\"==t.type?t.data.crosscore_rpc_version||t.data.network_rpc_version:e},d=t.testnetInfo=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{loading:!0},t=arguments[1];return\"TESTNET_CONFIG\"==t.type&&(e=o({},t.data)),e};t.default=(0,i.combineReducers)({blockchainId:l,nextReset:u,crosscoreRpcVersion:c,testnetInfo:d})},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=function(e){return!!e.core.onTestnet&&(!!e.core.blockchainId&&!!e.testnet.blockchainId&&e.core.blockchainId!=e.testnet.blockchainId)},r=function(e){return!!e.core.onTestnet&&(!!e.core.crosscoreRpcVersion&&!!e.testnet.crosscoreRpcVersion&&e.core.crosscoreRpcVersion!=e.testnet.crosscoreRpcVersion)};t.default={isBlockchainMismatch:n,isCrosscoreRpcMismatch:r}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(66),i=\"transactionFeed\";t.default=r({},(0,o.baseCreateActions)(i,{listPath:\"transaction-feeds\",className:\"TransactionFeed\"}),(0,o.baseListActions)(i,{listPath:\"transaction-feeds\",className:\"TransactionFeed\"}))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(10),u=n(836),l=r(u),c=n(178),d=n(14),f=\"transactionFeed\",p=a.default.createElement(s.EmptyContent,null,a.default.createElement(\"p\",null,\"Transaction feeds enable real-time processing of transactions as they arrive on the blockchain.\"),a.default.createElement(\"a\",{href:d.docsRoot+\"/core/build-applications/real-time-transaction-processing\",target:\"_blank\"},\"Learn more\"),\" about how to use transaction feeds.\"),h=function(e){return o({},s.BaseList.mapDispatchToProps(f)(e),{itemActions:{delete:function(t){var n=\"ID \"+t.id;t.alias&&t.alias.length>0&&(n='\"'+t.alias+'\"'),e(c.actions.deleteItem(t.id,\"Really delete transaction feed \"+n+\"?\",\"Deleted transaction feed \"+n+\".\"))}}})};t.default=s.BaseList.connect(s.BaseList.mapStateToProps(f,l.default,{skipQuery:!0,label:\"transaction feeds\",firstTimeContent:p}),h)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"render\",value:function(){var e=s({},this.props.item),t=e.after.split(\"-\")[0].split(\":\"),n=t[0],r=t[1],o=\"2147483647\"!=r,i=[{label:\"ID\",value:e.id}];return e.alias&&i.push({label:\"Alias\",value:e.alias}),i.push({label:\"Filter\",value:e.filter,link:\"/transactions?filter=\"+e.filter,pre:!0}),o?i.push({label:\"Last Acknowledged\",value:{blockHeight:n,blockPosition:r}}):i.push({label:\"Last Acknowledged\",value:\"None\"}),c.default.createElement(d.KeyValueTable,{items:i})}}]),t}(c.default.Component);t.default=f},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(23),f=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.submitWithValidations=n.submitWithValidations.bind(n),n}return a(t,e),s(t,[{key:\"submitWithValidations\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(e).catch(function(e){return r({_error:e})})})}},{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.alias,r=t.filter,o=e.error,i=e.handleSubmit,a=e.submitting;return l.default.createElement(c.FormContainer,{error:o,label:\"New transaction feed\",onSubmit:i(this.submitWithValidations),submitting:a},l.default.createElement(c.FormSection,{title:\"Feed Information\"},l.default.createElement(c.TextField,{title:\"Alias\",placeholder:\"Alias\",fieldProps:n,autoFocus:!0}),l.default.createElement(c.TextField,{title:\"Filter\",placeholder:\"Filter\",fieldProps:r})))}}]),t}(l.default.Component),p=[\"alias\",\"filter\"];t.default=c.BaseNew.connect(c.BaseNew.mapStateToProps(\"transactionFeed\"),c.BaseNew.mapDispatchToProps(\"transactionFeed\"),(0,d.reduxForm)({form:\"newTxFeed\",fields:p})(f))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.New=t.List=void 0;var o=n(835),i=r(o),a=n(837),s=r(a);t.List=i.default,t.New=s.default},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"transactionFeed\";t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i),queries:r.reducers.queriesReducer(i)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(838),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"transactionFeed\",r.List,r.New,null,{path:\"transaction-feeds\",name:\"Transaction feeds\"})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=JSON.parse(JSON.stringify(e)),n={baseTransaction:t.baseTransaction,actions:t.actions||[]};if(\"normalTx\"===e.form){var r=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.normalTxActionBuilder)(e,Number(r),\"amount\")}if(\"crossChainTx\"===e.form){var o=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.crossChainTxActionBuilder)(e,Number(o))}if(\"voteTx\"===e.form){var i=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.voteTxActionBuilder)(e,Number(i),e.state.address)}if(\"issueAssetTx\"===e.form){var a=e.state.estimateGas*Number(e.gasLevel);n.actions=(0,f.issueAssetTxActionBuilder)(e,Number(a),\"amount\")}\"\"==n.baseTransaction&&delete n.baseTransaction,\"generate\"==e.submitAction&&(n.ttl=\"1h\");var s=function(e){var t=n.actions[e];delete t.ID;var r=[\"amount\",\"position\",\"sourcePos\",\"vmVersion\"];r.forEach(function(n){var r=t[n];if(r){if(parseInt(r)+\"\"!=r)throw new Error(\"Action \"+(parseInt(e)+1)+\" \"+n+\" must be an integer.\");t[n]=parseInt(r)}});try{t.referenceData=(0,l.parseNonblankJSON)(t.referenceData)}catch(t){throw new Error(\"Action \"+(parseInt(e)+1)+\" reference data should be valid JSON, or blank.\")}try{t.receiver=(0,l.parseNonblankJSON)(t.receiver)}catch(t){throw new Error(\"Action \"+(parseInt(e)+1)+\" receiver should be valid JSON.\")}};for(var u in n.actions)s(u);return n}Object.defineProperty(t,\"__esModule\",{value:!0});var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(115),s=r(a),u=n(14),l=n(83),c=n(41),d=n(66),f=n(149),p=\"transaction\",h=(0,d.baseListActions)(p,{defaultKey:\"id\"}),m=(0,d.baseCreateActions)(p);m.submitForm=function(e){return function(t){var n=(0,u.chainClient)(),r=function(t){var n=o(e);t.actions=n.actions,n.baseTransaction&&(t.baseTransaction=n.baseTransaction)},i=function(){t(m.created()),t((0,c.push)({pathname:\"/transactions\",state:{preserveFlash:!0}}))};if(\"normalTx\"===e.form||\"voteTx\"===e.form||\"crossChainTx\"===e.form){var a=e.accountId,l=e.accountAlias,d=Object.assign({},\"\"!==l?{alias:l}:{id:a}),f=e.isChainTx,p=e.assetId===u.btmID||\"BTM\"===e.assetAlias||\"voteTx\"===e.form;return n.accounts.query(d).then(function(t){if(t.data[0].xpubs.length>1)throw{code:\"F_BTM003\"};var r=Object.assign({},{xpub:t.data[0].xpubs[0],password:e.password});return n.mockHsm.keys.checkPassword(r)}).then(function(e){if(!e.data.checkResult)throw new Error(\"PasswordWrong\");return f&&p?n.transactions.buildChain(r):n.transactions.build(r)}).then(function(t){if(f&&p){var r=Object.assign({},{password:e.password,transactions:t.data});return n.transactions.signBatch(r)}var o=Object.assign({},{password:e.password,transaction:t.data});return n.transactions.sign(o)}).then(function(e){if(!e.data.signComplete)throw{code:\"F_BTM100\"};if(f&&p){var t=e.data.transaction.map(function(e){return e.rawTransaction});return n.transactions.submitBatch(t)}return n.transactions.submit(e.data.transaction.rawTransaction)}).then(i)}if(\"advancedTx\"===e.form){var h=e.state.showAdvanced&&e.signTransaction?null:n.transactions.build(r);if(\"submit\"==e.submitAction){var g=function(t){var r=Object.assign({},{password:e.password,transaction:t});return n.transactions.sign(r).then(function(e){return n.transactions.submit(e.data.transaction.rawTransaction)}).then(i)};if(e.state.showAdvanced&&e.signTransaction){var _=JSON.parse(e.signTransaction);return g(_)}return h.then(function(e){return g(e.data)})}var b=function(r){var o=Object.assign({},{password:e.password,transaction:r});return n.transactions.sign(o).then(function(e){var n=s.default.v4();t({type:\"GENERATED_TX_HEX\",generated:{id:n,hex:JSON.stringify(e.data.transaction)}}),t((0,c.push)(\"/transactions/generated/\"+n))})};if(e.state.showAdvanced&&e.signTransaction){var y=JSON.parse(e.signTransaction);return b(y)}return h.then(function(e){return b(e.data)})}if(\"issueAssetTx\"===e.form){var v=function(r){var o=Object.assign({},{password:e.password,transaction:r});return n.transactions.sign(o).then(function(e){if(e.data.signComplete)return n.transactions.submit(e.data.transaction.rawTransaction).then(i);var r=s.default.v4();t({type:\"GENERATED_TX_HEX\",generated:{id:r,hex:JSON.stringify(e.data.transaction)}}),t((0,c.push)(\"/transactions/generated/\"+r))})};if(\"submit\"==e.submitAction)return n.transactions.build(r).then(function(e){return v(e.data)});if(\"sign\"==e.submitAction){var M=JSON.parse(e.signTransaction);return v(M)}}}};var g=function(e){return function(t){return(0,u.chainClient)().transactions.decodeTransaction(e).then(function(e){t(\"fail\"===e.status?{type:\"ERROR\",payload:{message:e.msg}}:{type:\"DECODE_TRANSACTION\",data:e.data})}).catch(function(e){throw t({type:\"DECODE_TRANSACTION\",data:[]}),{_error:e}})}},_=function(e){return new Promise(function(t,n){var r=Object.assign({from:0,count:1},e);(0,u.chainClient)().accounts.listAddresses(r).then(function(r){var o=r.data;o.length>0?t(o[0].address):(0,u.chainClient)().accounts.createAddress(e).then(function(e){t(e.data.address)}).catch(function(e){return n(e)})}).catch(function(e){return n(e)})})},b=function(e){return(0,u.chainClient)().transactions.estimateGas(e)},y=function(e){var t=function(t){var n=o(e);t.actions=n.actions,t.ttl=e.ttl,n.baseTransaction&&(t.baseTransaction=n.baseTransaction)};return(0,u.chainClient)().transactions.build(t)},v=function(e){return function(t){var n=(0,u.chainClient)().transactions.getTransaction(e);return n.then(function(e){\"fail\"==e.status?t({type:\"ERROR\",payload:{message:e.msg}}):(e.data=[e.data],t({type:\"RECEIVED_\"+p.toUpperCase()+\"_ITEMS\",param:e}))}).catch(function(e){if(!e.body)throw e;t({type:\"ERROR\",payload:{message:e.body.msg}})}),n}};t.default=i({},h,m,{decode:g,getAddresses:_,estimateGas:b,buildTransaction:y,getTransaction:v})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(43),f=n(14),p=n(1238),h=r(p),m=n(4),g=[\"vote\",\"veto\"],b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"normalizeInouts\",value:function(e){var t={};return e.forEach(function(e){var n=t[e.assetId];if(n||(n=t[e.assetId]={alias:e.assetAlias,decimals:e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==f.btmID?e.assetDefinition.decimals:null,issue:0,retire:0,crossOut:0,crossIn:0}),[\"issue\",\"retire\",\"cross_chain_out\",\"cross_chain_in\"].includes(e.type))switch(e.type){case\"cross_chain_out\":n.crossOut+=e.amount;break;case\"cross_chain_in\":n.crossIn+=e.amount;break;default:n[e.type]+=e.amount}else{var r=e.accountId||\"external\",o=n[r];if(o||(o=n[r]={alias:e.accountAlias,spend:0,control:0,vote:{},veto:0}),\"spend\"==e.type)o.spend+=e.amount;else if(\"veto\"==e.type)o.veto+=e.amount;else if(\"control\"==e.type&&\"change\"==e.purpose)o.spend-=e.amount;else if(\"control\"==e.type)o.control+=e.amount;else if(\"vote\"==e.type){var i=e.vote,a=o.vote,s=a[i];void 0===s&&(a[i]=0),a[i]+=e.amount}}}),t}},{key:\"render\",value:function(){var e=this,t=this.props.transaction,r=t.confirmations,o=t.inputs.length>0&&\"coinbase\"===t.inputs[0].type,i=o&&r>=100,a=this.props.transaction.inputs.concat(this.props.transaction.outputs),s=this.normalizeInouts(a),u=[],p=this.props.t,m=function(e,t,n){if(e===f.btmID)switch(n){case\"BTM\":return(0,d.converIntToDec)(t,8);case\"mBTM\":return(0,d.converIntToDec)(t,5)}return t},b=[\"issue\",\"received\",\"crossIn\"];Object.keys(s).forEach(function(t){var n=s[t],r=[\"issue\",\"retire\",\"cross_chain_out\",\"cross_chain_in\"];Object.keys(n).forEach(function(o){if(!r.includes(o)){var i=n[o];if(i){var a=\"BTM\"===n.alias?e.props.btmAmountUnit:n.alias;if(\"external\"!==o){if(!_.isEmpty(i.vote)){var s=i.vote,c=!0,f=!1,p=void 0;try{for(var g,b=Object.keys(s)[Symbol.iterator]();!(c=(g=b.next()).done);c=!0){var y=g.value,v=s[y];i.spend=i.spend-v,u.push({type:\"vote\",amount:n.decimals?(0,d.converIntToDec)(v,n.decimals):m(t,v,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o,nodePubkey:l.default.createElement(\"code\",{className:h.default.rawId},y)})}}catch(e){f=!0,p=e}finally{try{!c&&b.return&&b.return()}finally{if(f)throw p}}}if(i.spend>i.control&&i.spend>0){var M=void 0,A=i.spend-i.control;if(n.crossOut>0)if(A<n.crossOut)n.crossOut=n.crossOut-A,M=\"crossOut\";else{var w=n.crossOut;A-=w,M=\"sent\",u.push({type:\"crossOut\",amount:n.decimals?(0,d.converIntToDec)(w,n.decimals):m(t,w,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o}),n.crossOut=0}else if(0===n.retire)M=\"sent\";else if(n.retire>=A)M=\"retire\";else{M=\"retire\";var C=A-n.retire;A=n.retire,u.push({type:\"sent\",amount:m(t,C,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}u.push({type:M,amount:n.decimals?(0,d.converIntToDec)(A,n.decimals):m(t,A,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}if(i.spend<i.control&&i.control>0){var E=void 0,L=i.control-i.spend;if(n.crossIn>0)if(L<n.crossIn)n.crossIn=n.crossIn-L,E=\"crossIn\";else{var T=n.crossIn;L-=T,E=\"received\",u.push({type:\"crossIn\",amount:n.decimals?(0,d.converIntToDec)(T,n.decimals):m(t,T,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o}),n.crossIn=0}else E=n.issue>=L?\"issue\":\"received\";L>0&&u.push({type:E,amount:n.decimals?(0,d.converIntToDec)(L,n.decimals):m(t,L,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}if(i.veto>0){var O=\"veto\",S=i.veto;u.push({type:O,amount:n.decimals?(0,d.converIntToDec)(S,n.decimals):m(t,S,e.props.btmAmountUnit),asset:a?a:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}}}}})});var y=[\"vote\",\"veto\",\"issue\",\"cross_chain_in\",\"received\",\"retire\",\"cross_chain_out\",\"sent\"];return u.sort(function(e,t){return y.indexOf(e.type)-y.indexOf(t.type)}),l.default.createElement(\"div\",{className:h.default.main},u.map(function(e,t){return l.default.createElement(\"div\",{className:h.default.row,key:t},l.default.createElement(\"div\",{className:h.default.colAction+\" \"+h.default.col},o?[l.default.createElement(\"img\",{src:n(666)}),p(\"transaction.type.coinbase\"),!i&&l.default.createElement(\"small\",{className:h.default.immature},p(\"transaction.type.immature\"))]:[l.default.createElement(\"img\",{src:n(339)(\"./\"+e.type+\".svg\")}),p(\"transaction.type.\"+e.type)]),l.default.createElement(\"div\",{className:h.default.middle},l.default.createElement(\"div\",{className:h.default.account},g.includes(e.type)?l.default.createElement(\"div\",{className:h.default.colLabel+\"  \"+h.default.col},p(\"form.account\")):l.default.createElement(\"div\",{className:h.default.colLabel+\"  \"+h.default.col},e.account&&e.type&&(b.includes(e.type)?\"To\":\"From\")),l.default.createElement(\"div\",{className:h.default.colAccount+\"  \"+h.default.col},e.accountId&&l.default.createElement(c.Link,{to:\"/accounts/\"+e.accountId},e.account),!e.accountId&&e.account)),\"vote\"===e.type&&[l.default.createElement(\"div\",{className:h.default.colLabel+\"  \"+h.default.col},\" \",p(\"form.vote\")),l.default.createElement(\"div\",{className:\"\"+h.default.col},e.nodePubkey)]),l.default.createElement(\"div\",{className:h.default.end},l.default.createElement(\"div\",{className:h.default.colAmount+\" \"+h.default.recievedAmount+\"  \"+h.default.col},g.includes(e.type)?l.default.createElement(\"code\",{className:h.default.amount+\" \"+h.default.emphasisLabel},\" \",e.amount):l.default.createElement(\"code\",{className:h.default.amount+\" \"+(b.includes(e.type)?h.default.emphasisLabel:\"text-danger\")},\" \",e.type&&(b.includes(e.type)?\"+\":\"-\"),\" \",e.amount)),l.default.createElement(\"div\",{className:h.default.colUnit+\"  \"+h.default.col},l.default.createElement(c.Link,{to:\"/assets/\"+e.assetId},e.asset))))}))}}]),t}(l.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(16),d=n(10),f=n(1239),p=r(f),h=n(150),m=n(4),g=n(15),_=r(g),b=n(844),y=r(b),v=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.showQrCode=n.showQrCode.bind(n),n.showSignatureQrCode=n.showSignatureQrCode.bind(n),n}return a(t,e),s(t,[{key:\"showQrCode\",value:function(e){e.preventDefault(),this.props.showModal(l.default.createElement(y.default,{hex:this.props.hex}))}},{key:\"showSignatureQrCode\",value:function(e){e.preventDefault();var t=JSON.parse(this.props.hex),n=t.signingInstructions.map(function(e){return e.witnessComponents[0].signatures}),r={signingInstructionsSignatures:n};this.props.showModal(l.default.createElement(y.default,{hex:JSON.stringify(r)}))}},{key:\"render\",value:function(){var e=this,t=this.props.t;return this.props.hex?l.default.createElement(\"div\",null,l.default.createElement(d.PageTitle,{title:t(\"transaction.advance.generated.title\")}),l.default.createElement(d.PageContent,null,l.default.createElement(d.Section,{title:t(\"transaction.advance.generated.title\"),actions:[l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.showQrCode},t(\"transaction.advance.generated.qrBtnText\")),l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.showSignatureQrCode},t(\"transaction.advance.generated.signatureQrBtnText\"))]},l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"p\",null,t(\"transaction.advance.generated.lead\")),l.default.createElement(\"button\",{className:\"btn btn-primary\",onClick:function(){return(0,h.copyToClipboard)(e.props.hex)}},t(\"account.copyClipboard\")),l.default.createElement(\"pre\",{className:p.default.hex},this.props.hex))))):l.default.createElement(d.NotFound,null)}}]),t}(l.default.Component),M=function(e){return{showModal:function(t){return e(_.default.app.showModal(t,_.default.app.hideModal,null,{noCloseBtn:!0}))}}};t.default=(0,c.connect)(function(e,t){var n=(e.transaction||{}).generated||[],r=n.find(function(e){return e.id==t.params.id});return r?{hex:r.hex}:{}},M)((0,m.withNamespaces)(\"translations\")(v))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(4),d=n(76),f=n(1240),p=r(f),h=n(1380),m=r(h),g=n(181),_={width:340},b=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={step:0,url:\"\"},n.array=(0,g.splitSlice)(n.props.hex,450),n.previous=n.previous.bind(n),n.next=n.next.bind(n),n.setQrImage=n.setQrImage.bind(n),n}return a(t,e),s(t,[{key:\"componentDidMount\",value:function(){this.setQrImage(this.state.step)}},{key:\"setQrImage\",value:function(e){var t=this;m.default.toDataURL(this.array[e],_).then(function(e){t.setState({url:e})}).catch(function(e){throw e})}},{key:\"previous\",value:function(e){e.preventDefault();var t=this.state.step;t>0&&(this.setState({step:t-1}),this.setQrImage(t-1))}},{key:\"next\",value:function(e){e.preventDefault();var t=this.state.step;t<this.array.length&&(this.setState({step:t+1}),this.setQrImage(t+1))}},{key:\"render\",value:function(){var e=this.props.t,t=this.array.length,n=this.state.step,r=0===n?0:100*n/(t-1);return this.props.hex?l.default.createElement(\"div\",null,l.default.createElement(\"p\",null,1===t?e(\"transaction.advance.generated.qrModalLabel\"):e(\"transaction.advance.generated.qrModalLabels\",{size:t})),this.state.url&&l.default.createElement(\"img\",{className:p.default.code,src:this.state.url}),t>1&&l.default.createElement(d.ProgressBar,{className:p.default.progressBar,now:r}),t>1&&l.default.createElement(\"button\",{className:\"btn btn-primary\",onClick:this.next,disabled:this.state.step===t-1},e(\"commonWords.next\")),this.state.step>0&&l.default.createElement(\"button\",{className:\"btn btn-link\",onClick:this.previous},e(\"commonWords.previous\"))):l.default.createElement(\"div\",null)}}]),t}(l.default.Component);t.default=(0,c.withNamespaces)(\"translations\")(b);\n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(10),f=n(14),p=n(846),h=r(p),m=n(15),g=r(m),_=\"transaction\",b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),u(t,[{key:\"componentWillReceiveProps\",value:function(e){e.currentBlock!=this.props.currentBlock&&1==e.currentPage&&this.props.getLatest({accountAlias:this.props.accountAlias})}},{key:\"render\",value:function(){var e=d.BaseList.ItemList;return c.default.createElement(e,this.props)}}]),t}(c.default.Component);t.default=d.BaseList.connect(function(e,t){return s({},d.BaseList.mapStateToProps(_,h.default)(e,t),{accountAlias:e.account.currentAccount})},function(e){return s({},d.BaseList.mapDispatchToProps(_)(e),{getLatest:function(t){return e(g.default.transaction.fetchPage(t,1,{refresh:!0,pageSize:f.pageSize,accountAlias:t.accountAlias,unconfirmed:!0}))}})},b)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(236),f=n(10),p=n(1241),h=r(p),m=n(76),g=n(4),_=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t,r=e.highest-e.blockHeight+1;e.confirmations=r;var o=e.inputs.length>0&&\"coinbase\"===e.inputs[0].type,i=0===e.blockHeight&&\"0000000000000000000000000000000000000000000000000000000000000000\"===e.blockHash,a=r<=6?t(\"transaction.confirmation\",{count:r}):t(\"transaction.confirmed\"),s=l.default.createElement(m.Tooltip,{id:\"tooltip\"},t(\"transaction.contractStatus\")),u=l.default.createElement(m.OverlayTrigger,{placement:\"top\",overlay:s},l.default.createElement(\"img\",{src:n(339)(\"./\"+(e.statusFail?\"fail\":\"success\")+\".svg\")}));return l.default.createElement(\"div\",{className:h.default.main},l.default.createElement(\"div\",{className:h.default.titleBar},l.default.createElement(\"div\",{className:h.default.title},l.default.createElement(\"label\",null,t(\"transaction.id\")),\"\u00a0\",l.default.createElement(\"code\",null,e.id),\"\u00a0\",!o&&l.default.createElement(\"span\",{className:h.default.confirmation+\" \"+(i?\"text-danger\":null)},i?t(\"transaction.unconfirmedTx\"):[a,u])),i?null:l.default.createElement(\"span\",{className:h.default.timestamp},l.default.createElement(f.RelativeTime,{timestamp:e.timestamp})),l.default.createElement(c.Link,{className:h.default.viewLink,to:\"/transactions/\"+e.id},t(\"commonWords.viewDetails\"))),l.default.createElement(d.DetailSummary,{transaction:e,btmAmountUnit:this.props.btmAmountUnit}))}}]),t}(l.default.Component);t.default=(0,g.withNamespaces)(\"translations\")(_)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(853),d=r(c),f=n(76),p=n(23),h=n(851),m=r(h),g=n(1),_=r(g),b=n(161),y=r(b),v=n(179),M=r(v),A=n(67),w=(r(A),n(15)),C=r(w),E=n(149),L=n(4),T=n(14),O=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showDropdown:!1,showAdvanced:!1,counter:0},n.submitWithValidation=n.submitWithValidation.bind(n),n.addActionItem=n.addActionItem.bind(n),n.removeActionItem=n.removeActionItem.bind(n),n.toggleDropwdown=n.toggleDropwdown.bind(n),n.closeDropdown=n.closeDropdown.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"toggleDropwdown\",value:function(){this.setState({showDropdown:!this.state.showDropdown})}},{key:\"closeDropdown\",value:function(){this.setState({showDropdown:!1})}},{key:\"addActionItem\",value:function(e){var t=this.state.counter,n=void 0;n=\"spend_account\"===e||\"veto\"===e?{type:e,ID:t,accountAlias:this.props.currentAccount}:{type:e,ID:t},this.props.fields.actions.addField(n),this.closeDropdown(),this.setState({counter:t+1})}},{key:\"disableSubmit\",value:function(e){return 0==e.length&&!this.state.showAdvanced}},{key:\"removeActionItem\",value:function(e){this.props.fields.actions.removeField(e)}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"advancedTx\"})).catch(function(e){var t={};return e.data&&(t.actions=[],e.data.forEach(function(e){t.actions[e.data.actionIndex]={type:e}})),t._error=e,r(t)})})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.signTransaction,o=n.actions,i=n.submitAction,a=n.password,u=t.error,c=t.handleSubmit,p=t.submitting,h=this.props.t,g=h(\"transaction.new.submit\"),b=(r.value||\"\").trim().length>0;return\"generate\"!=i.value||b||(g=h(\"transaction.advance.generateJson\")),_.default.createElement(M.default,{error:u,onSubmit:c(this.submitWithValidation),submitting:p,submitLabel:g,disabled:this.disableSubmit(o),className:y.default.content+\" \"+y.default.center},_.default.createElement(l.FormSection,{title:\"Actions\"},o.map(function(t,n){return _.default.createElement(m.default,{key:\"form-action-\"+t.ID.value,index:n,fieldProps:t,accounts:e.props.accounts,assets:e.props.assets,remove:e.removeActionItem,decimal:(0,E.getAssetDecimal)(t,e.props.asset)})}),_.default.createElement(\"div\",{className:\"btn-group \"+y.default.addActionContainer+\" \"+(this.state.showDropdown&&\"open\")},_.default.createElement(f.DropdownButton,{className:\"btn btn-default \"+y.default.addAction,id:\"input-dropdown-addon\",title:\"+ Add action\",onSelect:this.addActionItem},_.default.createElement(f.MenuItem,{eventKey:\"spend_account\"},\"Spend from account\"),_.default.createElement(f.MenuItem,{eventKey:\"control_address\"},\"Control with address\"),_.default.createElement(f.MenuItem,{eventKey:\"vote_output\"},\"Vote\"),_.default.createElement(f.MenuItem,{eventKey:\"veto\"},\"Veto\"),_.default.createElement(f.MenuItem,{eventKey:\"cross_chain_in\"},\"Cross Chain In\"),_.default.createElement(f.MenuItem,{eventKey:\"cross_chain_out\"},\"Cross Chain Out\")))),!this.state.showAdvanced&&_.default.createElement(l.FormSection,null,_.default.createElement(\"a\",{href:\"#\",className:y.default.showAdvanced,onClick:function(t){t.preventDefault(),e.setState({showAdvanced:!0})}},h(\"transaction.advance.showAdvanced\"))),this.state.showAdvanced&&_.default.createElement(l.FormSection,{title:h(\"transaction.advance.option\")},_.default.createElement(\"div\",null,_.default.createElement(d.default,{fieldProps:r,decode:this.props.decode,transaction:this.props.decodedTx,showJsonModal:this.props.showJsonModal,asset:this.props.asset,btmAmountUnit:this.props.btmAmountUnit}),_.default.createElement(l.FieldLabel,null,h(\"transaction.advance.buildType\")),_.default.createElement(\"table\",{className:y.default.submitTable},_.default.createElement(\"tbody\",null,_.default.createElement(\"tr\",null,_.default.createElement(\"td\",null,_.default.createElement(\"input\",s({id:\"submit_action_submit\",type:\"radio\"},i,{value:\"submit\",checked:\"submit\"==i.value}))),_.default.createElement(\"td\",null,_.default.createElement(\"label\",{htmlFor:\"submit_action_submit\"},h(\"transaction.advance.submitToBlockchain\")),_.default.createElement(\"br\",null),_.default.createElement(\"label\",{htmlFor:\"submit_action_submit\",className:y.default.submitDescription},h(\"transaction.advance.submitLabel\")))),_.default.createElement(\"tr\",null,_.default.createElement(\"td\",null,_.default.createElement(\"input\",s({id:\"submit_action_generate\",type:\"radio\"},i,{value:\"generate\",checked:\"generate\"==i.value}))),_.default.createElement(\"td\",null,_.default.createElement(\"label\",{htmlFor:\"submit_action_generate\"},h(\"transaction.advance.needMoreSign\")),_.default.createElement(\"br\",null),_.default.createElement(\"label\",{htmlFor:\"submit_action_generate\",className:y.default.submitDescription},h(\"transaction.advance.needMoreSignDescription\")))))))),(o.length>0||this.state.showAdvanced)&&_.default.createElement(l.FormSection,null,_.default.createElement(\"label\",{className:y.default.title},h(\"key.password\")),_.default.createElement(l.PasswordField,{placeholder:h(\"key.passwordPlaceholder\"),fieldProps:a})))}}]),t}(_.default.Component),S=function(e,t){var n={actions:{}},r=t.t,o=(e.signTransaction||\"\").trim();try{JSON.parse(o)}catch(e){o&&e&&(n.signTransaction=r(\"errorMessage.jsonError\"))}var i=void 0;return e.actions.forEach(function(t,o){var a=e.actions[o];i=!/^\\d+(\\.\\d+)?$/i.test(e.actions[o].amount),i&&(n.actions[o]=s({},n.actions[o],{amount:r(\"errorMessage.amountError\")})),(a.assetAlias&&\"BTM\"!==a.assetAlias.toUpperCase()||a.assetId&&a.assetId!==T.btmID)&&\"cross_chain_in\"==a.type&&!a.rawDefinitionByte&&(n.actions[o]=s({},n.actions[o],{rawDefinitionByte:r(\"errorMessage.rawDefinitionByteError\")}))}),n},N=function(e){return s({},l.BaseNew.mapDispatchToProps(\"transaction\")(e),{decode:function(t){return e(C.default.transaction.decode(t))},showJsonModal:function(t){return e(C.default.app.showModal(t,C.default.app.hideModal,null,{wide:!0}))}})};t.default=(0,L.withNamespaces)(\"translations\")(l.BaseNew.connect(function(e,t){return s({},l.BaseNew.mapStateToProps(\"transaction\")(e,t),{decodedTx:e.transaction.decodedTx,currentAccount:e.account.currentAccount})},N,(0,p.reduxForm)({form:\"AdvancedTransactionForm\",fields:[\"signTransaction\",\"actions[].ID\",\"actions[].accountId\",\"actions[].accountAlias\",\"actions[].assetId\",\"actions[].assetAlias\",\"actions[].amount\",\"actions[].outputId\",\"actions[].type\",\"actions[].address\",\"actions[].vote\",\"actions[].sourceId\",\"actions[].vmVersion\",\"actions[].rawDefinitionByte\",\"actions[].issuanceProgram\",\"actions[].sourcePos\",\"actions[].password\",\"submitAction\",\"password\"],validate:S,touchOnChange:!0,initialValues:{submitAction:\"submit\"}})(O)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(14),p=n(181),h=n(43),m=n(1242),g=r(m),_=n(27),b=n(4),y=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.accountId,r=t.accountAlias,o=t.assetId,i=t.assetAlias,a=t.receivers,s=t.password,u=t.gasLevel,c=e.handleSubmit,m=e.submitting,b=e.cancel,y=e.error,v=e.gas,M=e.t,A=e.btmAmountUnit,w=e.assetDecimal,C=Number(u.value*v),E=(0,p.sum)(a,\"amount.value\"),L=\"BTM\"===i.value||o.value===f.btmID?E+C:E,T=M(\"transaction.new.submit\"),O=function(e,t){return t===f.btmID||\"BTM\"===t?(0,h.normalizeBTMAmountUnit)(f.btmID,e,A):w?(0,h.converIntToDec)(e,w):e},S=o.value&&this.props.asset.find(function(e){return e.id===o.value}),N=i.value&&this.props.asset.find(function(e){return e.alias===i.value}),k=i.value||S&&S.alias||o.value,D=o.value||N&&N.id,x=l.default.createElement(_.Link,{to:\"/assets/\"+D,className:g.default.unit,target:\"_blank\"},k!==f.btmID&&\"BTM\"!==k&&k);return l.default.createElement(\"div\",null,l.default.createElement(\"h3\",null,M(\"transaction.normal.confirmation\")),l.default.createElement(\"table\",{className:g.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},\"From\"),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,r.value||n.value))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null)),a.map(function(e){return[l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},\"To\"),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,e.address.value),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},M(\"form.amount\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(e.amount.value,k),\" \",x),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",null))]}),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},M(\"form.fee\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,(0,h.normalizeBTMAmountUnit)(f.btmID,C,A)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:g.default.colLabel},M(\"transaction.normal.total\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(L,k),\" \",x),\" \")))),l.default.createElement(\"hr\",{className:g.default.hr}),l.default.createElement(\"form\",{onSubmit:c},l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,M(\"key.password\")),l.default.createElement(d.PasswordField,{placeholder:M(\"key.passwordPlaceholder\"),fieldProps:s})),y&&\"PasswordWrong\"===y.message&&l.default.createElement(d.ErrorBanner,{title:M(\"form.errorTitle\"),error:M(\"errorMessage.password\")}),l.default.createElement(\"div\",{className:g.default.btnGroup},l.default.createElement(\"div\",null,l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:m},T),m&&l.default.createElement(d.SubmitIndicator,{className:g.default.submitIndicator})),l.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:b},l.default.createElement(\"i\",null),\" \",M(\"form.cancel\")))))}}]),t}(u.Component),v=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,b.withNamespaces)(\"translations\")((0,c.reduxForm)({form:\"NormalTransactionForm\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"receivers[].amount\",\"receivers[].address\",\"gasLevel\",\"isChainTx\",\"password\"],destroyOnUnmount:!1,validate:v})(y))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(14),p=n(43),h=n(1243),m=r(h),g=n(27),_=n(4),b=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.accountId,r=t.accountAlias,o=t.assetId,i=t.assetAlias,a=t.address,s=t.amount,u=t.password,c=t.gasLevel,h=e.handleSubmit,_=e.submitting,b=e.cancel,y=e.error,v=e.gas,M=e.t,A=e.btmAmountUnit,w=e.assetDecimal,C=Number(c.value*v),E=Number(s.value),L=\"BTM\"===i.value||o.value===f.btmID?E+C:E,T=M(\"transaction.crossChain.confirm\"),O=function(e,t){return t===f.btmID||\"BTM\"===t?(0,p.normalizeBTMAmountUnit)(f.btmID,e,A):w?(0,p.converIntToDec)(e,w):e},S=o.value&&this.props.asset.find(function(e){return e.id===o.value}),N=i.value&&this.props.asset.find(function(e){return e.alias===i.value}),k=i.value||S&&S.alias||o.value,D=o.value||N&&N.id,x=l.default.createElement(g.Link,{to:\"/assets/\"+D,className:m.default.unit,target:\"_blank\"},k!==f.btmID&&\"BTM\"!==k&&k);return l.default.createElement(\"div\",null,l.default.createElement(\"h3\",null,M(\"transaction.crossChain.confirm\")),l.default.createElement(\"table\",{className:m.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"form.account\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,r.value||n.value))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"transaction.crossChain.crossChainAddress\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,a.value),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"form.amount\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(s.value,k),\" \",x),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"form.fee\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,(0,p.normalizeBTMAmountUnit)(f.btmID,C,A)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},M(\"transaction.normal.total\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,O(L,k),\" \",x),\" \")))),l.default.createElement(\"hr\",{className:m.default.hr}),l.default.createElement(\"form\",{onSubmit:h},l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,M(\"key.password\")),l.default.createElement(d.PasswordField,{placeholder:M(\"key.passwordPlaceholder\"),fieldProps:u})),y&&\"PasswordWrong\"===y.message&&l.default.createElement(d.ErrorBanner,{title:M(\"form.errorTitle\"),error:M(\"errorMessage.password\")}),l.default.createElement(\"div\",{className:m.default.btnGroup},l.default.createElement(\"div\",null,l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:_},T),_&&l.default.createElement(d.SubmitIndicator,{className:m.default.submitIndicator})),l.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:b},l.default.createElement(\"i\",null),\" \",M(\"form.cancel\")))))}}]),t}(u.Component),y=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,_.withNamespaces)(\"translations\")((0,c.reduxForm)({form:\"CrossChainTransaction\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"amount\",\"address\",\"gasLevel\",\"isChainTx\",\"password\"],destroyOnUnmount:!1,validate:y})(b))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(14),d=n(23),f=n(1),p=r(f),h=n(161),m=r(h),g=n(179),_=r(g),b=n(15),y=r(b),v=n(849),M=r(v),A=n(149),w=n(4),C=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.connection=(0,c.chainClient)().connection,n.state={estimateGas:1e6,displayGas:!0},n.submitWithValidation=n.submitWithValidation.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"disableSubmit\",value:function(){var e=this.props.values,t=e.assetAlias,n=e.assetId,r=e.amount,o=e.address,i=!t&&!n;return i||!o||!r}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"crossChainTx\"})).then(function(){t.props.closeModal(),t.props.destroyForm()}).catch(function(e){\"PasswordWrong\"!==e.message&&t.props.closeModal(),r({_error:e})})})}},{key:\"confirmedTransaction\",value:function(e,t){e.preventDefault(),this.props.showModal(p.default.createElement(M.default,{cancel:this.props.closeModal,onSubmit:this.submitWithValidation,gas:this.state.estimateGas,btmAmountUnit:this.props.btmAmountUnit,assetDecimal:t,asset:this.props.asset}))}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.accountId,o=n.accountAlias,i=n.assetAlias,a=n.assetId,u=n.amount,d=n.address,f=n.gasLevel,h=n.isChainTx,g=t.error,b=t.submitting,y=this.props.t,v=y(\"transaction.crossChain.submit\"),M=(0,A.getAssetDecimal)(this.props.fields,this.props.asset)||0,w=(o.value||r.value)&&(i.value||a.value),C=(0,A.balance)(this.props.fields,M,this.props.balances,this.props.btmAmountUnit),E=\"BTM\"===i.value||a.value===c.btmID,L=this.props.networkId;return p.default.createElement(_.default,{error:g,onSubmit:function(t){return e.confirmedTransaction(t)},submitting:b,submitLabel:v,disabled:this.disableSubmit(),className:m.default.container},p.default.createElement(\"div\",{className:m.default.borderBottom},p.default.createElement(\"label\",{className:m.default.title},y(\"transaction.crossChain.title\")),p.default.createElement(\"div\",{className:m.default.mainBox+\" \"},p.default.createElement(l.ObjectSelectorField,{key:\"account-selector-field\",keyIndex:\"votetx-account\",title:y(\"form.account\"),aliasField:l.Autocomplete.AccountAlias,fieldProps:{id:r,alias:o},disabled:!0}),p.default.createElement(l.ObjectSelectorField,{key:\"asset-selector-field\",keyIndex:\"normaltx-asset\",title:y(\"form.asset\"),aliasField:l.Autocomplete.AssetAlias,fieldProps:{id:a,alias:i}}),w&&C&&p.default.createElement(\"small\",{className:m.default.balanceHint},y(\"transaction.normal.availableBalance\"),\" \",C),p.default.createElement(l.AmountField,{isBTM:E,title:y(\"form.amount\"),fieldProps:u,decimal:M}),p.default.createElement(l.TextField,{title:y(\"transaction.crossChain.address\"),fieldProps:d,hint:y(\"transaction.crossChain.addressHint\",{id:L})})),E&&[p.default.createElement(\"label\",{className:m.default.title},y(\"transaction.new.submitType\")),p.default.createElement(\"div\",{className:m.default.submitSwitchSet},p.default.createElement(\"div\",{className:m.default.submitSwitch},p.default.createElement(\"div\",{className:m.default.label},y(\"transaction.new.chainTx\")),p.default.createElement(\"label\",{className:m.default.switch},p.default.createElement(\"input\",s({type:\"checkbox\"},h)),p.default.createElement(\"span\",{className:m.default.slider}))),p.default.createElement(\"div\",null,y(\"transaction.new.chainTxNote\")))],this.state.displayGas&&[p.default.createElement(\"label\",{className:m.default.title},y(\"transaction.normal.selectFee\")),p.default.createElement(\"div\",{className:m.default.txFeeBox},p.default.createElement(l.GasField,{gas:this.state.estimateGas,fieldProps:f,btmAmountUnit:this.props.btmAmountUnit}),p.default.createElement(\"span\",{className:m.default.feeDescription},\" \",y(\"transaction.normal.feeDescription\")))]))}}]),t}(p.default.Component),E=function(e,t){var n={gas:{}},r=t.t;return e.amount&&!/^\\d+(\\.\\d+)?$/i.test(e.amount)&&(n.amount=r(\"errorMessage.amountError\")),n},L=function(e){return s({showError:function(t){return e({type:\"ERROR\",payload:t})},closeModal:function(){return e(y.default.app.hideModal)},showModal:function(t){return e(y.default.app.showModal(t,y.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))}},l.BaseNew.mapDispatchToProps(\"transaction\")(e))},T=function(e,t){var n=e.account.currentAccount;return n?{initialValues:{accountAlias:n,accountId:\"\",gasLevel:\"1\"}}:{}},O=function(e,t){var n=e.core.coreData,r=void 0;if(n&&n.networkId)switch(n.networkId){case\"mainnet\":r=\"bm\";break;case\"testnet\":r=\"tm\";break;case\"solonet\":r=\"sm\"}return s({},l.BaseNew.mapStateToProps(\"transaction\")(e,t),{networkId:r})};t.default=(0,w.withNamespaces)(\"translations\")(l.BaseNew.connect(O,L,(0,d.reduxForm)({form:\"CrossChainTransaction\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"amount\",\"address\",\"gasLevel\",\"isChainTx\"],validate:E,touchOnChange:!0},T)(C)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}Object.defineProperty(t,\"__esModule\",{value:!0});var u,l,c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),d=n(1),f=r(d),p=n(10),h=n(1244),m=r(h),g=n(14),_=n(4),b=\"cross_chain_out\",y=\"cross_chain_in\",v=\"vote_output\",M=\"veto\",A=\"spend_account\",w=\"spend_account_unspent_output\",C=\"control_receiver\",E=\"control_address\",L=\"retire\",T=\"set_transaction_reference_data\",O=(u={},s(u,b,\"Cross Chain Out\"),s(u,y,\"Cross Chain In\"),s(u,v,\"Vote Output\"),s(u,M,\"Veto\"),s(u,A,\"Spend from account\"),s(u,w,\"Spend unspent output\"),s(u,C,\"Control with receiver\"),s(u,E,\"Control with address\"),s(u,L,\"Retire\"),s(u,T,\"Set transaction reference data\"),u),S=(l={},s(l,b,{asset:!0,amount:!0,address:!0}),s(l,y,{asset:!0,amount:!0,sourceId:!0,sourcePos:!0,vmVersion:!0,issuanceProgram:!0,rawDefinitionByte:!0}),s(l,v,{asset:!0,amount:!0,address:!0,vote:!0}),s(l,M,{account:!0,amount:!0,asset:!0,vote:!0}),s(l,A,{asset:!0,account:!0,amount:!0,password:!0}),s(l,w,{outputId:!0,password:!0}),s(l,C,{asset:!0,receiver:!0,amount:!0}),s(l,E,{asset:!0,address:!0,amount:!0}),s(l,L,{asset:!0,amount:!0}),s(l,T,{}),l),N=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={referenceDataOpen:e.fieldProps.type.value==T},n.openReferenceData=n.openReferenceData.bind(n),n}return a(t,e),c(t,[{key:\"openReferenceData\",value:function(){this.setState({referenceDataOpen:!0})}},{key:\"componentDidMount\",value:function(){window.scroll(window.scrollX,window.scrollY+this.scrollRef.getBoundingClientRect().top-10)}},{key:\"render\",value:function(){var e=this,t=this.props.fieldProps,n=t.outputId,r=t.type,o=t.address,i=t.accountId,a=t.accountAlias,s=t.receiver,u=t.assetId,l=t.assetAlias,c=t.password,d=t.amount,h=t.vote,_=t.sourceId,b=t.sourcePos,y=t.vmVersion,v=t.rawDefinitionByte,M=t.issuanceProgram,A=(t.referenceData,S[r.value]||{}),w=function(t){t.preventDefault(),e.props.remove(e.props.index)},C=this.props.t,E=\"BTM\"===l.value||u.value===g.btmID,L=this.props.decimal||0,T=[m.default.main];return r.error&&T.push(m.default.error),f.default.createElement(\"div\",{className:T.join(\" \"),ref:function(t){return e.scrollRef=t}},f.default.createElement(p.HiddenField,{fieldProps:r}),f.default.createElement(\"div\",{className:m.default.header},f.default.createElement(\"label\",{className:m.default.title},O[r.value]),f.default.createElement(\"a\",{href:\"#\",className:\"btn btn-sm btn-danger\",onClick:w},C(\"commonWords.remove\"))),r.error&&f.default.createElement(p.ErrorBanner,{message:r.error}),A.account&&f.default.createElement(p.ObjectSelectorField,{keyIndex:\"advtx-account\",title:C(\"form.account\"),aliasField:p.Autocomplete.AccountAlias,fieldProps:{id:i,alias:a},disabled:!0}),A.receiver&&f.default.createElement(p.JsonField,{title:\"Receiver\",fieldProps:s}),A.address&&f.default.createElement(p.TextField,{title:C(\"form.address\"),fieldProps:o}),A.vote&&f.default.createElement(p.TextField,{title:C(\"form.vote\"),fieldProps:h}),A.sourceId&&f.default.createElement(p.TextField,{title:C(\"form.sourceId\"),fieldProps:_}),A.sourcePos&&f.default.createElement(p.TextField,{title:C(\"form.sourcePos\"),fieldProps:b}),A.vmVersion&&f.default.createElement(p.TextField,{title:C(\"form.vmVersion\"),fieldProps:y}),A.issuanceProgram&&f.default.createElement(p.TextField,{title:C(\"form.issuanceProgram\"),fieldProps:M}),A.rawDefinitionByte&&f.default.createElement(p.TextField,{title:C(\"form.rawDefinitionByte\"),fieldProps:v}),A.outputId&&f.default.createElement(p.TextField,{title:\"Output ID\",fieldProps:n\n}),A.asset&&f.default.createElement(p.ObjectSelectorField,{keyIndex:\"advtx-asset\",title:C(\"form.asset\"),aliasField:p.Autocomplete.AssetAlias,fieldProps:{id:u,alias:l}}),A.amount&&f.default.createElement(p.AmountField,{isBTM:E,title:C(\"form.amount\"),fieldProps:d,decimal:L}),A.password&&!1&&f.default.createElement(p.TextField,{title:C(\"key.password\"),placeholder:C(\"key.password\"),fieldProps:c,autoFocus:!1,type:\"password\"}),!1,!1)}}]),t}(f.default.Component);t.default=(0,_.withNamespaces)(\"translations\")(N)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(14),d=n(10),f=n(417),p=r(f),h=n(43),m=n(4),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={showJson:!1},n.normalize=n.normalize.bind(n),n}return a(t,e),s(t,[{key:\"normalize\",value:function(e){var t=this,n=[],r=this.props.asset;return e.forEach(function(e){var o=e.assetId,i=r;i=i.filter(function(e){return e.id===o});var a=o,s=e.amount;1===i.length&&(a=i[0].alias,s=o===c.btmID?(0,h.normalizeGlobalBTMAmount)(c.btmID,s,t.props.btmAmountUnit):(0,h.converIntToDec)(s,i[0].definition.decimals)),n.push({type:e.type,amount:s,assetAlias:a,assetId:o,address:e.address,controlProgram:e.controlProgram})}),n}},{key:\"showForm\",value:function(e,t){e.preventDefault();var n=\"json\"===t;this.setState({showJson:n})}},{key:\"render\",value:function(){var e=this,t=this.props.transaction,n=this.props.btmAmountUnit,r=this.props.t,o=l.default.createElement(\"div\",null);if(0!==t.length){var i=(0,h.normalizeGlobalBTMAmount)(c.btmID,t.fee,n),a=this.normalize(t.inputs),s=this.normalize(t.outputs),u=function(e){return e.map(function(e,t){return l.default.createElement(\"table\",{key:t,className:p.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.type\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.type))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.address\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.address))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.amount\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.amount))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.asset\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.assetAlias))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\" \",r(\"form.controlProgram\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,e.controlProgram)))))})};o=l.default.createElement(\"div\",null,l.default.createElement(d.FieldLabel,null,r(\"transaction.advance.transactionContent\")),l.default.createElement(\"div\",{className:p.default.main},l.default.createElement(\"div\",{className:p.default.txID},l.default.createElement(\"label\",null,r(\"form.summary\")),l.default.createElement(\"table\",{key:\"txsummary\",className:p.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},r(\"form.transactionId\")),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,t.txId))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:p.default.colLabel},\"Gas\"),l.default.createElement(\"td\",null,l.default.createElement(\"code\",null,i)))))),l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,r(\"form.input\")),u(a),l.default.createElement(\"label\",null,r(\"form.output\")),u(s))));var f=l.default.createElement(\"pre\",null,JSON.stringify(this.props.transaction,null,2));return l.default.createElement(\"div\",null,l.default.createElement(\"div\",{className:p.default.btnGroup},l.default.createElement(\"div\",{className:\"btn-group\",role:\"group\"},l.default.createElement(\"button\",{className:\"btn btn-default \"+(this.state.showJson?null:\"active\"),onClick:function(t){return e.showForm(t,\"normal\")}},r(\"transaction.advance.normalView\")),l.default.createElement(\"button\",{className:\"btn btn-default \"+(this.state.showJson?\"active\":null),onClick:function(t){return e.showForm(t,\"json\")}},r(\"transaction.advance.jsonView\")))),!this.state.showJson&&o,this.state.showJson&&f)}}}]),t}(l.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(g)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(51),f=r(d),p=n(10),h=n(67),m=r(h),g=n(417),_=r(g),b=n(241),y=n(852),v=r(y),M=n(4),A=[\"value\",\"onBlur\",\"onChange\",\"onFocus\",\"name\"],w=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.showDetailTransactions=n.showDetailTransactions.bind(n),n}return a(t,e),u(t,[{key:\"showDetailTransactions\",value:function(e,t){var n=this;e.preventDefault();var r=b.Connection.camelize(JSON.parse(t)).rawTransaction;this.props.decode(r).then(function(){n.props.showJsonModal(c.default.createElement(v.default,{transaction:n.props.transaction,btmAmountUnit:n.props.btmAmountUnit,asset:n.props.asset}))})}},{key:\"render\",value:function(){var e=this,t=(0,f.default)(this.props.fieldProps,A),n=this.props.fieldProps,r=n.touched,o=n.error,i=this.props.t;return c.default.createElement(\"div\",{className:\"form-group\"},c.default.createElement(p.FieldLabel,null,i(\"transaction.advance.toSignTransaction\")),c.default.createElement(\"input\",s({className:\"form-control\",type:\"text\",placeholder:i(\"transaction.advance.signPlaceholder\"),autoFocus:!0},m.default,t)),r&&o&&c.default.createElement(\"span\",{className:\"text-danger\"},c.default.createElement(\"strong\",null,o)),this.props.hint&&c.default.createElement(\"span\",{className:\"help-block\"},this.props.hint),c.default.createElement(\"a\",{className:\"btn btn-link \"+_.default.btn,onClick:function(n){return e.showDetailTransactions(n,t.value)}},i(\"transaction.advance.showDetails\")))}}]),t}(c.default.Component);t.default=(0,M.withNamespaces)(\"translations\")(w)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(1),d=r(c),f=n(16),p=n(161),h=r(p),m=n(15),g=r(m),_=n(53),b=r(_),y=n(14),v=n(237),M=r(v),A=n(855),w=r(A),C=n(850),E=r(C),L=n(847),T=r(L),O=n(856),S=r(O),N=n(27),k=n(23),D=n(4),x=n(41),I=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.handleFormEmpty=n.handleFormEmpty.bind(n),n}return a(t,e),u(t,[{key:\"componentDidMount\",value:function(){var e=this;this.props.autocompleteIsBalanceLoaded||this.props.fetchBalanceAll().then(function(){e.props.getVoteDetail().then(function(){e.props.didLoadBalanceAutocomplete()})}),this.props.autocompleteIsAssetLoaded||this.props.fetchAssetAll().then(function(){e.props.didLoadAssetAutocomplete()}),this.props.router.setRouteLeaveHook(this.props.route,function(t){if(!(e.handleFormEmpty()||t.state||t.pathname.startsWith(\"/transactions/generated/\")))return e.props.t(\"transaction.new.unsaveWarning\")})}},{key:\"handleKeyDown\",value:function(e,t,n){\"Enter\"!==e.key||e.shiftKey!==!1||n||(e.preventDefault(),t())}},{key:\"handleFormEmpty\",value:function(){if(this.props.normalSelected){var e=[\"assetAlias\",\"assetId\",\"password\"];for(var t in e)if(this.props.normalform[e[t]])return!1;return!(this.props.normalform.receivers.length>1)}if(this.props.advancedSelected)return!(this.props.advform.actions.length>0||this.props.advform.signTransaction||this.props.advform.password);if(this.props.voteSelected){var n=[\"amount\",\"nodePubkey\"];for(var r in n)if(this.props.voteform[n[r]])return!1;return!0}if(this.props.crossChainSelected){var o=[\"assetAlias\",\"assetId\",\"address\",\"amount\",\"password\"];for(var i in o)if(this.props.crossChainform[o[i]])return!1;return!0}}},{key:\"showForm\",value:function(e,t){e.preventDefault(),(this.handleFormEmpty()||window.confirm(this.props.t(\"transaction.new.unsaveWarning\")))&&this.props.createForm(t)}},{key:\"render\",value:function(){var e=this,t=this.props.t;return d.default.createElement(\"div\",{className:(0,b.default)(this,\"flex-container\")},d.default.createElement(l.PageTitle,{title:t(\"transaction.new.new\")}),d.default.createElement(\"div\",{className:h.default.mainContainer+\" flex-container\"},d.default.createElement(\"div\",{className:h.default.center},d.default.createElement(\"div\",{className:h.default.btnGroup},d.default.createElement(\"div\",{className:\"btn-group\",role:\"group\"},d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.normalSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"normal\")}},t(\"transaction.new.normal\")),d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.advancedSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"advanced\")}},t(\"transaction.new.advanced\")),d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.voteSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"vote\")}},t(\"transaction.new.vote\")),d.default.createElement(\"button\",{className:\"btn btn-default \"+(this.props.crossChainSelected&&\"active\"),onClick:function(t){return e.showForm(t,\"crossChain\")}},t(\"transaction.new.crossChain\")))),this.props.normalSelected&&d.default.createElement(w.default,{btmAmountUnit:this.props.btmAmountUnit,asset:this.props.asset,balances:this.props.balances,handleKeyDown:this.handleKeyDown,tutorialVisible:this.props.tutorialVisible}),this.props.advancedSelected&&d.default.createElement(T.default,{btmAmountUnit:this.props.btmAmountUnit,asset:this.props.asset,handleKeyDown:this.handleKeyDown}),this.props.voteSelected&&d.default.createElement(S.default,s({handleKeyDown:this.handleKeyDown},this.props)),this.props.crossChainSelected&&d.default.createElement(E.default,s({handleKeyDown:this.handleKeyDown},this.props))),d.default.createElement(M.default,{types:[\"TutorialForm\"],advTx:this.props.advancedSelected})))}}]),t}(d.default.Component),z=function(e,t){var n=[];for(var r in e.balance.items)n.push(e.balance.items[r]);var o=function(e,t){return e.map(function(e){return s({},t.find(function(t){return t.accountId===e.accountId&&e.assetId===y.btmID&&t}),e)})},i=e.balance.voteDetail||[];return n=0===i.length?n:o(n,i),{autocompleteIsBalanceLoaded:e.balance.autocompleteIsLoaded,autocompleteIsAssetLoaded:e.asset.autocompleteIsLoaded,btmAmountUnit:e.core.btmAmountUnit,balances:n,asset:Object.keys(e.asset.items).map(function(t){return e.asset.items[t]}),normalform:(0,k.getValues)(e.form.NormalTransactionForm),advform:(0,k.getValues)(e.form.AdvancedTransactionForm),voteform:(0,k.getValues)(e.form.Vote),crossChainform:(0,k.getValues)(e.form.CrossChainTransaction),tutorialVisible:!e.tutorial.location.isVisited,normalSelected:\"normal\"==t.location.query.type||void 0==t.location.query.type,advancedSelected:\"advanced\"==t.location.query.type,voteSelected:\"vote\"==t.location.query.type,crossChainSelected:\"crossChain\"==t.location.query.type}},j=function(e){return{didLoadBalanceAutocomplete:function(){return e(g.default.balance.didLoadAutocomplete)},fetchBalanceAll:function(t){return e(g.default.balance.fetchAll(t))},getVoteDetail:function(){return e(g.default.balance.getVoteDetail())},didLoadAssetAutocomplete:function(){return e(g.default.asset.didLoadAutocomplete)},fetchAssetAll:function(t){return e(g.default.asset.fetchAll(t))},createForm:function(t){return e((0,x.replace)(\"/transactions/create?type=\"+t))}}};t.default=(0,f.connect)(z,j)((0,D.withNamespaces)(\"translations\")((0,N.withRouter)(I)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(23),d=n(1),f=r(d),p=n(161),h=r(p),m=n(179),g=r(m),_=n(14),b=n(15),y=r(b),v=n(848),M=r(v),A=n(149),w=n(4),C=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={estimateGas:1e6,counter:1,displayGas:!0},n.submitWithValidation=n.submitWithValidation.bind(n),n.addReceiverItem=n.addReceiverItem.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"disableSubmit\",value:function(){var e=this.props.values,t=e.assetId,n=e.assetAlias,r=e.receivers,o=!n&&!t,i=r.map(function(e){return e.address}),a=r.map(function(e){return Number(e.amount)}),s=this.props.fields.receivers.map(function(e){return e.address.invalid});return i.includes(\"\")||a.includes(0)||s.includes(!0)||o}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"normalTx\"})).then(function(){t.props.closeModal(),t.props.destroyForm()}).catch(function(e){\"PasswordWrong\"!==e.message&&t.props.closeModal(),r({_error:e})})})}},{key:\"confirmedTransaction\",value:function(e,t){e.preventDefault(),this.props.showModal(f.default.createElement(M.default,{cancel:this.props.closeModal,onSubmit:this.submitWithValidation,gas:this.state.estimateGas,btmAmountUnit:this.props.btmAmountUnit,assetDecimal:t,asset:this.props.asset}))}},{key:\"addReceiverItem\",value:function(){var e=this.state.counter;this.props.fields.receivers.addField({id:e}),this.setState({counter:e+1})}},{key:\"removeReceiverItem\",value:function(e){var t=this.props.fields.receivers,n=new Promise(function(n,r){try{t.removeField(e)}catch(e){r(e)}n()});n.then(function(){})}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.accountId,o=n.accountAlias,i=n.assetId,a=n.assetAlias,u=n.receivers,c=n.gasLevel,d=n.isChainTx,p=t.error,m=t.submitting,b=this.props.t,y=b(\"transaction.new.submit\"),v=(0,A.getAssetDecimal)(this.props.fields,this.props.asset)||0,M=(o.value||r.value)&&(a.value||i.value),w=(0,A.balance)(this.props.fields,v,this.props.balances,this.props.btmAmountUnit),C=\"BTM\"===a.value||i.value===_.btmID;return f.default.createElement(g.default,{error:p,onSubmit:function(t){return e.confirmedTransaction(t,v)},submitting:m,submitLabel:y,disabled:this.disableSubmit(),className:h.default.container},f.default.createElement(\"div\",{className:h.default.borderBottom},f.default.createElement(\"label\",{className:h.default.title},b(\"transaction.normal.from\")),f.default.createElement(\"div\",{className:h.default.mainBox+\" \"},f.default.createElement(l.ObjectSelectorField,{key:\"account-selector-field\",keyIndex:\"normaltx-account\",title:b(\"form.account\"),aliasField:l.Autocomplete.AccountAlias,fieldProps:{id:r,alias:o},disabled:!0}),f.default.createElement(\"div\",null,f.default.createElement(l.ObjectSelectorField,{key:\"asset-selector-field\",keyIndex:\"normaltx-asset\",title:b(\"form.asset\"),aliasField:l.Autocomplete.AssetAlias,fieldProps:{id:i,alias:a}}),M&&w&&f.default.createElement(\"small\",{className:h.default.balanceHint},b(\"transaction.normal.availableBalance\"),\" \",w))),f.default.createElement(\"label\",{className:h.default.title},b(\"transaction.normal.to\")),f.default.createElement(\"div\",{className:h.default.mainBox},u.map(function(t,n){return f.default.createElement(\"div\",{className:e.props.tutorialVisible?h.default.tutorialItem:h.default.subjectField,key:t.id.value},f.default.createElement(l.TextField,{title:b(\"form.address\"),fieldProps:s({},t.address)}),f.default.createElement(l.AmountField,{isBTM:C,title:b(\"form.amount\"),fieldProps:t.amount,decimal:v}),f.default.createElement(\"button\",{className:\"btn btn-danger btn-xs \"+h.default.deleteButton,tabIndex:\"-1\",type:\"button\",onClick:function(){return e.removeReceiverItem(n)}},b(\"commonWords.remove\")))}),f.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:this.addReceiverItem},b(\"commonWords.addField\"))),C&&[f.default.createElement(\"label\",{className:h.default.title},b(\"transaction.new.submitType\")),f.default.createElement(\"div\",{className:h.default.submitSwitchSet},f.default.createElement(\"div\",{className:h.default.submitSwitch},f.default.createElement(\"div\",{className:h.default.label},b(\"transaction.new.chainTx\")),f.default.createElement(\"label\",{className:h.default.switch},f.default.createElement(\"input\",s({type:\"checkbox\"},d)),f.default.createElement(\"span\",{className:h.default.slider}))),f.default.createElement(\"div\",null,b(\"transaction.new.chainTxNote\")))],this.state.displayGas&&[f.default.createElement(\"label\",{className:h.default.title},b(\"transaction.normal.selectFee\")),f.default.createElement(\"div\",{className:h.default.txFeeBox},f.default.createElement(l.GasField,{gas:this.state.estimateGas,fieldProps:c,btmAmountUnit:this.props.btmAmountUnit}),f.default.createElement(\"span\",{className:h.default.feeDescription},\" \",b(\"transaction.normal.feeDescription\")))]))}}]),t}(f.default.Component),E=function(e,t){var n={gas:{}},r=t.t;return e.amount&&!/^\\d+(\\.\\d+)?$/i.test(e.amount)&&(n.amount=r(\"errorMessage.amountError\")),n},L=function(e,t,n){var r=[],o=[];return e.receivers.forEach(function(t,i){var a=e.receivers[i].address;a&&0!==a.length?o.push((0,_.chainClient)().accounts.validateAddresses(a).then(function(e){return e.data.valid||(r[i]={address:n.t(\"errorMessage.addressError\")}),{}})):o.push(Promise.resolve())}),Promise.all(o).then(function(){if(r.length>0)throw{receivers:r};return{}})},T=function(e){return s({showError:function(t){return e({type:\"ERROR\",payload:t})},closeModal:function(){return e(y.default.app.hideModal)},showModal:function(t){return e(y.default.app.showModal(t,y.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))}},l.BaseNew.mapDispatchToProps(\"transaction\")(e))},O=function(e,t){var n=e.account.currentAccount;return n?{initialValues:{accountAlias:n,accountId:\"\",gasLevel:\"1\",receivers:[{id:0,amount:\"\",address:\"\"}]}}:{}};t.default=(0,w.withNamespaces)(\"translations\")(l.BaseNew.connect(l.BaseNew.mapStateToProps(\"transaction\"),T,(0,c.reduxForm)({form:\"NormalTransactionForm\",fields:[\"accountAlias\",\"accountId\",\"assetAlias\",\"assetId\",\"receivers[].id\",\"receivers[].amount\",\"receivers[].address\",\"gasLevel\",\"isChainTx\"],asyncValidate:L,asyncBlurFields:[\"receivers[].address\"],validate:E,touchOnChange:!0},O)(C)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(10),c=n(14),d=n(23),f=n(1),p=r(f),h=n(161),m=r(h),g=n(179),_=r(g),b=n(15),y=r(b),v=n(857),M=r(v),A=(n(149),n(4)),w=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.connection=(0,c.chainClient)().connection,n.state={estimateGas:1e6,address:null,displayGas:!0},n.submitWithValidation=n.submitWithValidation.bind(n),n.disableSubmit=n.disableSubmit.bind(n),n}return a(t,e),u(t,[{key:\"disableSubmit\",value:function(){var e=this.props.values,t=e.nodePubkey,n=e.amount;return!t||!n}},{key:\"submitWithValidation\",value:function(e){var t=this;return new Promise(function(n,r){t.props.getAddress({accountAlias:e.accountAlias,accountId:e.accountId}).then(function(n){t.setState({address:n},function(){t.props.submitForm(Object.assign({},e,{state:t.state,form:\"voteTx\"})).then(function(){t.props.closeModal(),t.props.destroyForm()}).catch(function(e){\"PasswordWrong\"!==e.message&&t.props.closeModal(),r({_error:e})})})})})}},{key:\"confirmedTransaction\",value:function(e){e.preventDefault(),this.props.showModal(p.default.createElement(M.default,{cancel:this.props.closeModal,onSubmit:this.submitWithValidation,gas:this.state.estimateGas,btmAmountUnit:this.props.btmAmountUnit}))}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.fields,r=n.action,o=n.accountId,i=n.accountAlias,a=n.nodePubkey,u=n.amount,c=n.gasLevel,d=n.isChainTx,f=t.error,h=t.submitting,g=this.props.t,b=g(\"transaction.vote.\"+r.value+\".submit\"),y=[{label:g(\"transaction.vote.vote.title\"),value:\"vote\"},{label:g(\"transaction.vote.veto.title\"),value:\"veto\"}];return p.default.createElement(_.default,{error:f,onSubmit:function(t){return e.confirmedTransaction(t)},submitting:h,submitLabel:b,disabled:this.disableSubmit(),className:m.default.container},p.default.createElement(\"div\",{className:m.default.borderBottom},p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.vote.info\")),p.default.createElement(\"div\",{className:m.default.mainBox+\" \"},p.default.createElement(l.RadioField,{title:g(\"transaction.vote.action\"),options:y,fieldProps:r}),p.default.createElement(l.ObjectSelectorField,{key:\"account-selector-field\",keyIndex:\"votetx-account\",title:g(\"form.account\"),aliasField:l.Autocomplete.AccountAlias,fieldProps:{id:o,alias:i},disabled:!0}),p.default.createElement(\"div\",null,p.default.createElement(l.TextField,{key:\"asset-selector-field\",keyIndex:\"votetx-nodePubkey\",title:g(\"form.vote\"),fieldProps:a})),p.default.createElement(\"div\",null,p.default.createElement(l.AmountUnitField,{key:\"asset-selector-field\",keyIndex:\"votetx-amount\",title:g(\"transaction.vote.\"+r.value+\".voteAmount\"),fieldProps:u}))),p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.new.submitType\")),p.default.createElement(\"div\",{className:m.default.submitSwitchSet},p.default.createElement(\"div\",{className:m.default.submitSwitch},p.default.createElement(\"div\",{className:m.default.label},g(\"transaction.new.chainTx\")),p.default.createElement(\"label\",{className:m.default.switch},p.default.createElement(\"input\",s({type:\"checkbox\"},d)),p.default.createElement(\"span\",{className:m.default.slider}))),p.default.createElement(\"div\",null,g(\"transaction.new.chainTxNote\"))),this.state.displayGas&&[p.default.createElement(\"label\",{className:m.default.title},g(\"transaction.normal.selectFee\")),p.default.createElement(\"div\",{className:m.default.txFeeBox},p.default.createElement(l.GasField,{gas:this.state.estimateGas,fieldProps:c,btmAmountUnit:this.props.btmAmountUnit}),p.default.createElement(\"span\",{className:m.default.feeDescription},\" \",g(\"transaction.normal.feeDescription\")))]))}}]),t}(p.default.Component),C=function(e,t){var n={gas:{}},r=t.t;return e.amount&&!/^\\d+(\\.\\d+)?$/i.test(e.amount)&&(n.amount=r(\"errorMessage.amountError\")),n},E=function(e){return s({showError:function(t){return e({type:\"ERROR\",payload:t})},closeModal:function(){return e(y.default.app.hideModal)},showModal:function(t){return e(y.default.app.showModal(t,y.default.app.hideModal,null,{dialog:!0,noCloseBtn:!0}))},getAddress:y.default.transaction.getAddresses},l.BaseNew.mapDispatchToProps(\"transaction\")(e))},L=function(e,t){var n=e.account.currentAccount;return n?{initialValues:{accountAlias:n,accountId:\"\",gasLevel:\"1\",action:\"vote\"}}:{}};t.default=(0,A.withNamespaces)(\"translations\")(l.BaseNew.connect(l.BaseNew.mapStateToProps(\"transaction\"),E,(0,d.reduxForm)({form:\"Vote\",fields:[\"action\",\"accountAlias\",\"accountId\",\"nodePubkey\",\"amount\",\"gasLevel\",\"isChainTx\"],validate:C,touchOnChange:!0},L)(w)))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(23),d=n(10),f=n(14),p=n(43),h=n(1246),m=r(h),g=n(4),_=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props,t=e.fields,n=t.action,r=t.accountId,o=t.accountAlias,i=t.nodePubkey,a=t.amount,s=t.password,u=t.gasLevel,c=e.handleSubmit,h=e.submitting,g=e.cancel,_=e.error,b=e.gas,y=e.t,v=e.btmAmountUnit,M=Number(u.value*b),A=Number(a.value)+M,w=y(\"transaction.vote.\"+n.value+\".confirm\"),C=function(e){return(0,p.normalizeBTMAmountUnit)(f.btmID,e,v)};return l.default.createElement(\"div\",null,l.default.createElement(\"h3\",null,y(\"transaction.vote.\"+n.value+\".confirm\")),l.default.createElement(\"table\",{className:m.default.table},l.default.createElement(\"tbody\",null,l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"form.account\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,o.value||r.value))),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"transaction.vote.\"+n.value+\".for\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"span\",null,i.value),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"transaction.vote.\"+n.value+\".voteAmount\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,C(a.value)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"form.fee\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,C(M)),\" \")),l.default.createElement(\"tr\",null,l.default.createElement(\"td\",{className:m.default.colLabel},y(\"transaction.normal.total\")),l.default.createElement(\"td\",null,\" \",l.default.createElement(\"code\",null,C(A)),\" \")))),l.default.createElement(\"hr\",{className:m.default.hr}),l.default.createElement(\"form\",{onSubmit:c},l.default.createElement(\"div\",null,l.default.createElement(\"label\",null,y(\"key.password\")),l.default.createElement(d.PasswordField,{placeholder:y(\"key.passwordPlaceholder\"),fieldProps:s})),_&&\"PasswordWrong\"===_.message&&l.default.createElement(d.ErrorBanner,{title:y(\"form.errorTitle\"),error:y(\"errorMessage.password\")}),l.default.createElement(\"div\",{className:m.default.btnGroup},l.default.createElement(\"div\",null,l.default.createElement(\"button\",{type:\"submit\",className:\"btn btn-primary\",disabled:h},w),h&&l.default.createElement(d.SubmitIndicator,{className:m.default.submitIndicator})),l.default.createElement(\"button\",{type:\"button\",className:\"btn btn-default\",onClick:g},l.default.createElement(\"i\",null),\" \",y(\"form.cancel\")))))}}]),t}(u.Component),b=function(e){var t={};return e.password||(t.password=\"Required\"),t};t.default=(0,g.withNamespaces)(\"translations\")((0,c.reduxForm)({form:\"Vote\",fields:[\"action\",\"accountAlias\",\"accountId\",\"nodePubkey\",\"amount\",\"gasLevel\",\"isChainTx\",\"password\"],destroyOnUnmount:!1,validate:b})(_))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);\ne.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(43),f=n(236),p=n(14),h=n(3),m=r(h),g=n(361),_=r(g),b=n(180),y=n(16),v=n(4),M=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.item,t=this.props.t,n=this.props.btmAmountUnit,r=void 0;if(e){var o=this.props.highestBlock-e.blockHeight+1,i=e.inputs.reduce(function(e,t){return\"spend\"!==t.type&&\"cross_chain_in\"!==t.type&&\"veto\"!==t.type||t.assetId!==p.btmID||(e=(0,_.default)(t.amount).plus(e)),e},0);e.confirmations=o;var a=e.outputs.reduce(function(e,t){return\"control\"!==t.type&&\"retire\"!==t.type&&\"vote\"!==t.type&&\"cross_chain_out\"!==t.type||t.assetId!==p.btmID||(e=(0,_.default)(t.amount).plus(e)),e},0),s=i>0?i.minus(a):0,u=(0,d.normalizeGlobalBTMAmount)(p.btmID,s,n),h=0===e.blockHeight&&\"0000000000000000000000000000000000000000000000000000000000000000\"===e.blockId,g=t(e.statusFail?\"form.failed\":\"form.succeed\"),b=function(e){var t={};return t.id=e.id,e.address?t.address=e.address:e.controlProgram&&(t.controlProgram=e.controlProgram),t.amount=e.amount,(e.accountAlias||e.accountId)&&(t.account=e.accountAlias||e.accountId),\"vote\"===e.type&&(t.vote=e.vote),t.accountId=e.accountId,t.asset=e.assetAlias||e.assetId,t.assetId=e.assetId,t.assetDefinition=e.assetDefinition,t.type=e.type,t},y=[];e.outputs.forEach(function(e,t){var n=b(e);y[t]=n});var v=[];e.inputs.forEach(function(e,t){var n=b(e);v[t]=n});var M=l.default.createElement(\"span\",null,t(\"transaction.transaction\"),\"\u00a0\",l.default.createElement(\"code\",null,e.id));r=l.default.createElement(\"div\",null,l.default.createElement(c.PageTitle,{title:M}),l.default.createElement(c.PageContent,null,l.default.createElement(c.Section,{title:t(\"form.summary\"),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:e})]},l.default.createElement(f.Summary,{transaction:e,btmAmountUnit:n})),l.default.createElement(c.KeyValueTable,{title:t(\"form.detail\"),items:[{label:\"ID\",value:e.id},{label:t(\"form.timestamp\"),value:h?\"-\":(0,m.default)(e.timestamp).format()},{label:t(\"form.blockId\"),value:h?\"-\":e.blockId},{label:t(\"form.blockHeight\"),value:h?t(\"transaction.unconfirmedItem\"):e.blockHeight},{label:t(\"form.position\"),value:h?\"-\":e.position},{label:\"Gas\",value:u},{label:t(\"form.txStatus\"),value:g}]}),v.map(function(e,r){return l.default.createElement(c.KeyValueTable,{key:r,title:0==r?t(\"form.input\"):\"\",items:(0,d.buildTxInputDisplay)(e,n,t)})}),y.map(function(e,r){return l.default.createElement(c.KeyValueTable,{key:r,title:0==r?t(\"form.output\"):\"\",items:(0,d.buildTxOutputDisplay)(e,n,t)})})))}return this.renderIfFound(r)}}]),t}(c.BaseShow),A=function(e,t){return{item:e.transaction.items[t.params.id],btmAmountUnit:e.core.btmAmountUnit,highestBlock:e.core.coreData&&e.core.coreData.highestBlock}},w=function(e){return{fetchItem:function(t){return e(b.actions.getTransaction({tx_id:\"\"+t}))}}};t.default=(0,y.connect)(A,w)((0,v.withNamespaces)(\"translations\")(M))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(27),d=n(43),f=n(14),p=n(1247),h=r(p),m=n(4),g={issue:\"Issue\",spend:\"Spend\",control:\"Control\",retire:\"Retire\",vote:\"Vote\",veto:\"Veto\",crossOut:\"Cross Out\",crossIn:\"Cross In\"},b=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"normalizeInouts\",value:function(e){var t={};return e.forEach(function(e){var n=t[e.assetId];if(n||(n=t[e.assetId]={alias:e.assetAlias,decimals:e.assetDefinition&&e.assetDefinition.decimals&&e.assetId!==f.btmID?e.assetDefinition.decimals:null,issue:0,retire:0,crossOut:0,crossIn:0}),[\"issue\",\"retire\",\"cross_chain_out\",\"cross_chain_in\"].includes(e.type))switch(e.type){case\"cross_chain_out\":n.crossOut+=e.amount;break;case\"cross_chain_in\":n.crossIn+=e.amount;break;default:n[e.type]+=e.amount}else{var r=e.accountId||\"external\",o=n[r];if(o||(o=n[r]={alias:e.accountAlias,spend:0,control:0,vote:{},veto:0}),\"spend\"==e.type)o.spend+=e.amount;else if(\"veto\"==e.type)o.veto+=e.amount;else if(\"control\"==e.type&&\"change\"==e.purpose)o.spend-=e.amount;else if(\"control\"==e.type)o.control+=e.amount;else if(\"vote\"==e.type){var i=e.vote,a=o.vote,s=a[i];void 0===s&&(a[i]=0),a[i]+=e.amount}}}),t}},{key:\"render\",value:function(){var e=this,t=this.props.transaction,n=t.confirmations,r=t.inputs.length>0&&\"coinbase\"===t.inputs[0].type,o=r&&n>=100,i=this.props.transaction.inputs.concat(this.props.transaction.outputs),a=this.normalizeInouts(i),s=[],u=this.props.t,p=function(e,t,n){if(e===f.btmID)switch(n){case\"BTM\":return(0,d.converIntToDec)(t,8);case\"mBTM\":return(0,d.converIntToDec)(t,5)}return t};Object.keys(a).forEach(function(t){var n=a[t],r=[\"issue\",\"retire\",\"crossOut\",\"crossIn\"];r.forEach(function(r){n[r]>0&&s.push({type:g[r],rawAction:r,amount:n.decimals?(0,d.converIntToDec)(n[r],n.decimals):p(t,n[r],e.props.btmAmountUnit),asset:n.alias?n.alias:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t})}),Object.keys(n).forEach(function(o){if(!r.includes(o)){var i=n[o];if(i){\"external\"==o&&(i.alias=\"external\",o=null);var a=[\"spend\",\"control\",\"veto\"];if(a.forEach(function(r){i[r]>0&&s.push({type:g[r],rawAction:r,amount:n.decimals?(0,d.converIntToDec)(i[r],n.decimals):p(t,i[r],e.props.btmAmountUnit),asset:n.alias?n.alias:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o})}),!_.isEmpty(i.vote)){var u=i.vote,c=!0,f=!1,m=void 0;try{for(var b,y=Object.keys(u)[Symbol.iterator]();!(c=(b=y.next()).done);c=!0){var v=b.value,M=u[v],A=\"vote\";s.push({type:g[A],rawAction:A,amount:n.decimals?(0,d.converIntToDec)(M,n.decimals):p(t,M,e.props.btmAmountUnit),asset:n.alias?n.alias:l.default.createElement(\"code\",{className:h.default.rawId},t),assetId:t,account:i.alias?i.alias:l.default.createElement(\"code\",{className:h.default.rawId},o),accountId:o,nodePubkey:l.default.createElement(\"code\",{className:h.default.rawId},v)})}}catch(e){f=!0,m=e}finally{try{!c&&y.return&&y.return()}finally{if(f)throw m}}}}}})});var m=[\"issue\",\"spend\",\"crossIn\",\"veto\",\"control\",\"retire\",\"vote\",\"crossOut\"];return s.sort(function(e,t){return m.indexOf(e.rawAction)-m.indexOf(t.rawAction)}),l.default.createElement(\"table\",{className:h.default.main},l.default.createElement(\"tbody\",null,s.map(function(e,t){return l.default.createElement(\"tr\",{key:t},!r&&l.default.createElement(\"td\",{className:h.default.colAction},e.type),r&&l.default.createElement(\"td\",{className:h.default.colAction},\"Coinbase\",!o&&l.default.createElement(\"small\",{className:h.default.immature},u(\"transaction.type.immature\"))),l.default.createElement(\"td\",{className:h.default.colLabel},u(\"form.amount\")),l.default.createElement(\"td\",{className:\"vote\"===e.rawAction?h.default.colVote:h.default.colAmount},l.default.createElement(\"code\",{className:h.default.amount},e.amount)),l.default.createElement(\"td\",{className:h.default.colLabel},u(\"form.asset\")),l.default.createElement(\"td\",{className:\"vote\"===e.rawAction?h.default.colVote:h.default.colAccount},l.default.createElement(c.Link,{to:\"/assets/\"+e.assetId},e.asset)),l.default.createElement(\"td\",{className:h.default.colLabel},e.account&&u(\"form.account\")),l.default.createElement(\"td\",{className:\"vote\"===e.rawAction?h.default.colVote:h.default.colAccount},e.accountId&&l.default.createElement(c.Link,{to:\"/accounts/\"+e.accountId},e.account),!e.accountId&&e.account),\"vote\"===e.rawAction?[l.default.createElement(\"td\",{className:h.default.colLabel+\" \"+h.default.nodePubkey},\" \",u(\"form.vote\")),l.default.createElement(\"td\",{className:h.default.colVote},e.nodePubkey)]:[l.default.createElement(\"td\",null),l.default.createElement(\"td\",null)])})))}}]),t}(l.default.Component);t.default=(0,m.withNamespaces)(\"translations\")(b)},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(37),i=n(36),a=\"transaction\",s=50,u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"DECODE_TRANSACTION\"==t.type?t.data:e},l=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"UPDATE_TRANSACTION_ID_ARRAY\"==t.type?t.data:e},c=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],t=arguments[1];return\"UPDATE_CONFIRM_PARAMS\"!=t.type&&e},d=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];return\"UPDATE_MIXED_PAGES_NUMBER_PARAMS\"==t.type?t.data:e};t.default=(0,i.combineReducers)({items:o.reducers.itemsReducer(a),queries:o.reducers.queriesReducer(a),generated:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1];return\"GENERATED_TX_HEX\"==t.type?[t.generated].concat(r(e)).slice(0,s):e},decodedTx:u,pageIds:l,unconfirm:c,mixPageNo:d})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(236),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"transaction\",r.List,r.New,r.Show,{childRoutes:[{path:\"generated/:id\",component:r.GeneratedTxHex}]})}},function(e,t){\"use strict\";function n(e){return{type:\"TUTORIAL_NEXT_STEP\",route:e}}function r(e,t){return{type:\"UPDATE_TUTORIAL\",object:t,data:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o={tutorialNextStep:n,submitTutorialForm:r};t.default=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1248),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t,t=e(\"tutorial.content.\"+this.props.title,{returnObjects:!0}),n=e(\"tutorial.content.\"+this.props.title+\"_ad\",{returnObjects:!0}),r=this.props.advTx?n:t;return l.default.createElement(\"div\",{className:d.default.container},l.default.createElement(\"div\",{className:d.default.tutorialContainer+\" \"+d.default.fixedTutorial},l.default.createElement(\"div\",{className:d.default.header},r.header),l.default.createElement(\"div\",{className:d.default.list},l.default.createElement(\"table\",{className:d.default.listItemContainer},r.steps.map(function(e,t){var n=e.title,r=[l.default.createElement(\"tr\",{key:\"item-title-\"+t},l.default.createElement(\"td\",{className:d.default.listBullet},t+1),l.default.createElement(\"td\",null,n))];if(e.description){var o=[];e.description.forEach(function(e,t){var n=e;n.line&&(n=n.line),o.push(n)}),r.push(l.default.createElement(\"tr\",{key:\"item-description-\"+t,className:d.default.listItemDescription},l.default.createElement(\"td\",null),l.default.createElement(\"td\",null,o)))}return l.default.createElement(\"tbody\",{key:\"item-\"+t,className:d.default.listItemGroup},r)})))))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1249),d=r(c),f=n(83),p=n(16),h=n(4),m=function(e){function t(e){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return a(t,e),s(t,[{key:\"componentDidUpdate\",value:function(e){this.tutorialContainer&&this.props.tutorial!=e.tutorial?this.props.handleTutorialHeight(this.tutorialContainer.clientHeight):this.tutorialContainer||this.props.tutorial==e.tutorial||this.props.handleTutorialHeight(0)}},{key:\"render\",value:function(){var e=this,t=this.props.t;return this.props.isVisited?l.default.createElement(\"div\",null,this.props.children):l.default.createElement(\"div\",{className:d.default.main+\" \"+(!this.props.isVisited&&d.default.collapsed),ref:function(t){return e.tutorialContainer=t}},l.default.createElement(\"div\",{className:d.default.header},this.props.content&&(0,f.capitalize)(t(\"crumbName.\"+this.props.content.title)),l.default.createElement(\"div\",{className:d.default.skip},!this.props.isVisited&&l.default.createElement(\"a\",{onClick:this.props.dismissTutorial},t(\"commonWords.close\")))),!this.props.isVisited&&this.props.children)}}]),t}(l.default.Component),g=function(e){return{visitedLocation:e.tutorial.location.visited,isVisited:e.tutorial.location.isVisited,content:e.tutorial.content,tutorial:e.tutorial}},_=function(e){return{dismissTutorial:function(){return e({type:\"DISMISS_TUTORIAL\"})}}};t.default=(0,p.connect)(g,_)((0,h.withNamespaces)(\"translations\")(m))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(1250),d=r(c),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){var e=this.props.t(\"tutorial.content.\"+this.props.title,{returnObjects:!0}),t=void 0;try{t=n(668)(\"./\"+this.props.image+\".svg\")}catch(e){}return l.default.createElement(\"div\",null,l.default.createElement(\"div\",{className:d.default.container},this.props.image&&l.default.createElement(\"img\",{className:d.default.image,src:t}),l.default.createElement(\"div\",{className:d.default.text},e.map(function(e,t){var n=e;if(e.line&&(n=e.line),e.list){var r=[];return e.list.forEach(function(e,t){r.push(l.default.createElement(\"tr\",{key:t,className:d.default.listItemGroup},l.default.createElement(\"td\",{className:d.default.listBullet},t+1),l.default.createElement(\"td\",null,e)))}),l.default.createElement(\"table\",{key:t,className:d.default.listItemContainer},l.default.createElement(\"tbody\",null,r))}return l.default.createElement(\"p\",{key:t},n)}))))}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.location=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(1300),s=r(a),u=[\"/backup\",\"/access-control\",\"/core\",\"/keys/create\",\"/keys\",\"/balances\",\"/accounts/create\",\"/assets/create\",\"/assets\",\"/accounts\",\"/transactions/create\",\"/transactions\",\"/access-control/create-token\"],l=t.location=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{visited:[],isVisited:!1},t=arguments[1];if(\"@@router/LOCATION_CHANGE\"==t.type){if(e.visited.includes(t.payload.pathname)||!u.includes(t.payload.pathname))return t.payload.pathname.match(/^\\/keys.*reset-password$/g)&&!e.visited.includes(\"/keys/:id/reset-password\")?i({},e,{visited:[\"/keys/:id/reset-password\"].concat(o(e.visited)),isVisited:!1}):i({},e,{isVisited:!0});if(\"/access-control\"!==t.payload.pathname||t.payload.search.includes(\"?type=token\")&&\"/access-control\"===t.payload.pathname)return i({},e,{visited:[t.payload.pathname].concat(o(e.visited)),isVisited:!1})}return\"DISMISS_TUTORIAL\"==t.type?i({},e,{isVisited:!0}):e};t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1],n={location:l(e.location,t)};return n.content=s.default[n.location.visited[0]],n}},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(66),o=n(14);t.default=(0,r.baseListActions)(\"unspent\",{clientApi:function(){return(0,o.chainClient)().unspentOutputs}})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=(r(i),n(10)),s=n(869),u=r(s),l=\"unspent\",c=function(e,t){return o({},a.BaseList.mapStateToProps(l,u.default)(e,t),{skipCreate:!0,label:\"unspent outputs\"})};t.default=a.BaseList.connect(c,a.BaseList.mapDispatchToProps(l))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(10),d=n(43),f=n(4),p=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"render\",value:function(){return l.default.createElement(c.KeyValueTable,{title:l.default.createElement(\"span\",null,\"ID \",l.default.createElement(\"code\",null,this.props.item.id)),actions:[l.default.createElement(c.RawJsonButton,{key:\"raw-json\",item:this.props.item})],items:(0,d.buildUnspentDisplay)(this.props.item,this.props.btmAmountUnit,this.props.t)})}}]),t}(l.default.Component);t.default=(0,f.withNamespaces)(\"translations\")(p)},[1710,868],function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(37),o=n(36),i=\"unspent\",a=function(e){return\"\"+e.id};t.default=(0,o.combineReducers)({items:r.reducers.itemsReducer(i,a),queries:r.reducers.queriesReducer(i,a)})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(870),o=n(37);t.default=function(e){return(0,o.makeRoutes)(e,\"unspent\",r.List)}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(1293),i=r(o),a=n(1283),s=r(a),u=n(1302),l=r(u),c=n(1301),d=r(c);i.default.use(s.default).init({resources:{en:{translations:d.default},zh:{translations:l.default}},fallbackLng:\"en\",debug:!1,ns:[\"translations\"],defaultNS:\"translations\",interpolation:{escapeValue:!1,prefix:\"__\",suffix:\"__\"},react:{wait:!0,bindStore:!1}}),t.default=i.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(36),i=n(41),a=n(749),s=r(a),u=n(685),l=r(u),c=n(175),d=n(343),f=n(231),p=n(232),h=n(176),m=n(233),g=n(234),_=n(235),b=n(353),y=n(180),v=n(178),M=n(354),A=n(238),w=n(177),C=n(357),E=function(){return function(e,t){return(\"UPDATE_CORE_INFO\"!=t.type||t.param.isConfigured)&&\"USER_LOG_OUT\"==t.type&&(e=void 0,(0,C.clear)(),window.location.href=\"/\"),(0,o.combineReducers)({accessControl:l.default,account:c.reducers,app:d.reducers,asset:f.reducers,balance:p.reducers,core:h.reducers,form:s.default,federation:m.reducers,initialization:g.reducers,key:_.reducers,routing:i.routerReducer,peer:w.reducers,testnet:b.reducers,transaction:y.reducers,transactionFeed:v.reducers,tutorial:M.reducers,unspent:A.reducers})(e,t)}};t.default=E},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){return r.create(e,\"/create-access-token\",t,{skipArray:!0,cb:n})},query:function(t,n){return r.query(e,\"accessTokens\",\"/list-access-tokens\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"/list-access-tokens\",t,n,o)},delete:function(t,n){return r.tryCallback(e.request(\"/delete-access-token\",{id:t}),n)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){return r.create(e,\"/create-account\",t,{cb:n,skipArray:!0})},createBatch:function(t,n){return r.createBatch(e,\"/create-account\",t,{cb:n})},updateTags:function(t,n){return r.singletonBatchRequest(e,\"/update-account-tags\",{account_info:t.id,tags:t.tags},n)},updateTagsBatch:function(t,n){return r.batchRequest(e,\"/update-account-tags\",t,n)},updateAlias:function(t,n){var o={account_id:t.id,new_alias:t.alias};return r.singletonBatchRequest(e,\"/update-account-alias\",o,n)},query:function(t,n){return r.query(e,\"accounts\",\"/list-accounts\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"accounts\",t,n,o)},createReceiver:function(t,n){return r.create(e,\"/create-account-receiver\",t,{cb:n,skipArray:!0})},createAddress:function(t,n){return r.create(e,\"/create-account-receiver\",t,{cb:n,skipArray:!0})},createReceiverBatch:function(t,n){return r.createBatch(e,\"/create-account-receiver\",t,{cb:n})},listAddresses:function(t){return r.query(e,\"accounts\",\"/list-addresses\",t)},validateAddresses:function(t,n){return r.query(e,\"accounts\",\"/validate-address\",{address:t},{cb:n})},listAccountVotes:function(t,n){return r.query(e,\"accounts\",\"/list-account-votes\",t,{cb:n})}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){return r.create(e,\"/create-asset\",t,{cb:n,skipArray:!0})},createBatch:function(t,n){return r.createBatch(e,\"/create-asset\",t,{cb:n})},updateTags:function(t,n){var o={asset_info:t.id,tags:t.tags};return r.singletonBatchRequest(e,\"/update-asset-tags\",o,n)},updateAlias:function(t,n){var o={id:t.id,alias:t.alias};return r.singletonBatchRequest(e,\"/update-asset-alias\",o,n)},updateTagsBatch:function(t,n){return r.batchRequest(e,\"/update-asset-tags\",t,n)},query:function(t,n){return r.query(e,\"assets\",\"/list-assets\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"assets\",t,n,o)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=n(891),i=function(e){return{create:function(t,n){return t=Object.assign({},t),\"x509\"==t.guardType&&(t.guardData=o.sanitizeX509GuardData(t.guardData)),r.create(e,\"/create-authorization-grant\",t,{skipArray:!0,cb:n})},delete:function(t,n){return r.tryCallback(e.request(\"/delete-authorization-grant\",t),n)},list:function(t){return r.query(e,\"accessTokens\",\"/list-access-tokens\",{},{cb:t})}}};e.exports=i},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{backup:function(t){return r.tryCallback(e.request(\"/backup-wallet\",{},!0),t)},restore:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return r.tryCallback(e.request(\"/restore-wallet\",t),n)},recovery:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return r.tryCallback(e.request(\"/recovery-wallet\",t),n)},rescan:function(t){return r.tryCallback(e.request(\"/rescan-wallet\"),t)},info:function(t){return r.tryCallback(e.request(\"/wallet-info\"),t)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{query:function(t,n){return r.query(e,\"balances\",\"/list-balances\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"balances\",t,n,o)}}};e.exports=o},function(e,t){\"use strict\";var n=function(e){return{request:function(t){var n=t.split(\" \"),r={},o=[\"get-block\",\"get-block-header\",\"get-difficulty\",\"get-hash-rate\"];return\"validate-address\"===n[0]?r={address:n[1]}:\"sign-message\"===n[0]?r={address:n[1],message:n[2],password:n[3]}:\"get-transaction\"===n[0]?r={tx_id:n[1]}:\"sign-transaction\"===n[0]?r={password:n[1],transaction:JSON.parse(n[2])}:\"build-transaction\"===n[0]?r={base_transaction:JSON.parse(n[1]),actions:JSON.parse(n[2]),ttl:Number(n[3]),time_range:Number(n[4])}:\"submit-transaction\"===n[0]?r={raw_transaction:JSON.parse(n[1])}:\"estimate-transaction-gas\"===n[0]?r={transaction_template:JSON.parse(n[1])}:\"get-unconfirmed-transaction\"===n[0]?r={tx_id:n[1]}:\"decode-raw-transaction\"===n[0]?r={raw_transaction:n[1]}:o.includes(n[0])?n[1]&&(r=isNaN(n[1])?{block_hash:n[1]}:{block_height:Number(n[1])}):\"set-mining\"===n[0]?r={is_mining:\"true\"===n[1]||\"false\"!==n[1]&&n[1]}:\"verify-message\"===n[0]?r={address:n[1],derived_xpub:n[2],message:n[3],signature:n[4]}:\"decode-program\"===n[0]&&(r={program:n[1]}),e.request(\"/\"+n[0],r)}}};e.exports=n},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{reset:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments[1];return r.tryCallback(e.request(\"/reset\",{everything:t}),n)},configure:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return r.tryCallback(e.request(\"/configure\",t),n)},mining:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],n=arguments[1];return r.tryCallback(e.request(\"/set-mining\",{is_mining:t}),n)},info:function(t){return r.tryCallback(e.request(\"/net-info\"),t)}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(14),o=n(45),i=n(239),a=\"/api/v1/federation/\",s=function(e){return{query:function(e,t){return o.query(new i(r.federationApiHost,\"\",\"\"),\"federation\",a+\"list-crosschain-txs\",e,{cb:t})},queryAll:function(t,n,r){return o.queryAll(e,\"federation\",t,n,r)}}};e.exports=s},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{create:function(t,n){var o=Object.assign({},t),i=o.xprv?\"/import-private-key\":\"/create-key\";return r.tryCallback(e.request(i,o).then(function(e){return e}),n)},query:function(t,n){return Array.isArray(t.aliases)&&t.aliases.length>0&&(t.pageSize=t.aliases.length),r.query(e,\"mockHsm.keys\",\"/list-keys\",t,{cb:n})},resetPassword:function(t){return e.request(\"/reset-key-password\",t)},updateAlias:function(t,n){var o={xpub:t.id,new_alias:t.alias};return r.singletonBatchRequest(e,\"/update-key-alias\",o,n)},checkPassword:function(t){return e.request(\"/check-key-password\",t)},queryAll:function(t,n,o){return r.queryAll(e,\"mockHsm.keys\",t,n,o)},export:function(t){return e.request(\"/export-private-key\",t)},progress:function(){return e.request(\"/import-key-progress\")}}};e.exports=o},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{query:function(t,n){return r.query(e,\"peers\",\"/list-peers\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"peers\",t,n,o)},connect:function(t,n){return r.query(e,\"peers\",\"/connect-peer\",t,{cb:n})},disconnect:function(t,n){return r.query(e,\"peers\",\"/disconnect-peer\",t,{cb:n})}}};e.exports=o},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=n(45),i=n(115),a=\"9223372036854775807\",s=function e(t,n){var i=this;r(this,e),this.id=t.id,this.alias=t.alias,this.after=t.after,this.filter=t.filter;var s=void 0,u=function(){return n.request(\"/update-transaction-feed\",{id:i.id,after:s,previousAfter:i.after}).then(function(){i.after=s})},l=function(e){return n.transactions.query(e)};this.consume=function(e){var t=86400,n=void 0;switch(arguments.length<=1?0:arguments.length-1){case 0:break;case 1:(arguments.length<=1?void 0:arguments[1])instanceof Function?n=arguments.length<=1?void 0:arguments[1]:t=arguments.length<=1?void 0:arguments[1];break;case 2:t=arguments.length<=1?void 0:arguments[1],n=arguments.length<=2?void 0:arguments[2];break;default:throw new Error(\"Invalid arguments\")}var r=new Promise(function(n,r){var o={filter:i.filter,after:i.after,timeout:1e3*t,ascendingWithLongPoll:!0},c=function t(){l(o).then(function(i){var l=0,c=void 0,d=function(e){var t=void 0;t=e?u(c):Promise.resolve(),t.then(n).catch(r)},f=function n(f){var p=void 0;p=f&&c?u(c):Promise.resolve(),p.then(function(){if(l>=i.items.length)return o=i.next,void t();c=i.items[l],s=c.blockHeight+\":\"+c.position+\"-\"+a,l++;var u=e(c,n,d,r);u&&\"function\"==typeof u.catch&&u.catch(r)}).catch(r)};f()}).catch(r)};c()});return o.tryCallback(r,n)}},u=function(e){return{create:function(t,n){var r=Object.assign({clientToken:i.v4()},t);return o.tryCallback(e.request(\"/create-transaction-feed\",r).then(function(t){return new s(t,e)}),n)},get:function(t,n){return o.tryCallback(e.request(\"/get-transaction-feed\",t).then(function(t){return new s(t,e)}),n)},delete:function(t,n){return o.tryCallback(e.request(\"/delete-transaction-feed\",t).then(function(e){return e}),n)},query:function(t,n){return o.query(e,\"transactionFeeds\",\"/list-transaction-feeds\",t,{\ncb:n})},queryAll:function(t,n,r){return o.queryAll(e,\"transactionFeeds\",t,n,r)}}};e.exports=u},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e){if(\"code\"in e)throw s.create(s.types.BAD_REQUEST,s.formatErrMsg(e,\"\"),{body:e});if(\"fail\"===e.status)throw new Error(e.msg);return e}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(45),s=n(240),u=function(){function e(){r(this,e),this.actions=[],this.allowAdditionalActions=!1,this.baseTransaction=null}return i(e,[{key:\"issue\",value:function(e){this.actions.push(Object.assign({},e,{type:\"issue\"}))}},{key:\"controlWithReceiver\",value:function(e){this.actions.push(Object.assign({},e,{type:\"control_receiver\"}))}},{key:\"spendFromAccount\",value:function(e){this.actions.push(Object.assign({},e,{type:\"spend_account\"}))}},{key:\"spendUnspentOutput\",value:function(e){this.actions.push(Object.assign({},e,{type:\"spend_account_unspent_output\"}))}},{key:\"retire\",value:function(e){this.actions.push(Object.assign({},e,{type:\"retire\"}))}},{key:\"transactionReferenceData\",value:function(e){this.actions.push({type:\"set_transaction_reference_data\",referenceData:e})}}]),e}(),l=function(e){var t=function(e,t){return a.tryCallback(Promise.resolve(e),t)};return{query:function(t,n){return a.query(e,\"transactions\",\"/list-transactions\",Object.assign({},t,{detail:!0}),{cb:n})},getTransaction:function(t,n){return a.query(e,\"transactions\",\"/get-transaction\",t,{cb:n})},queryAll:function(t,n,r){return a.queryAll(e,\"transactions\",t,n,r)},build:function(t,n){var r=new u;try{t(r)}catch(e){return Promise.reject(e)}return a.tryCallback(e.request(\"/build-transaction\",r),n).then(function(e){return o(e)}).catch(function(e){throw o(e)})},buildChain:function(t,n){var r=new u;try{t(r)}catch(e){return Promise.reject(e)}return a.tryCallback(e.request(\"/build-chain-transactions\",r),n).then(function(e){return o(e)}).catch(function(e){throw o(e)})},buildBatch:function(t,n){var r=[];for(var o in t){var i=new u;try{t[o](i)}catch(e){return Promise.reject(e)}r.push(i)}return a.createBatch(e,\"/build-transaction\",r,{cb:n})},decodeTransaction:function(t,n){return a.tryCallback(e.request(\"/decode-raw-transaction\",{raw_transaction:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)},sign:function(n,r){return t(n).then(function(t){return e.request(\"/sign-transaction\",t).then(function(e){return o(e)}).catch(function(e){throw o(e)})},r)},signBatch:function(n,r){return t(n).then(function(t){return e.request(\"/sign-transactions\",t).then(function(e){return o(e)}).catch(function(e){throw o(e)})},r)},submit:function(t,n){return a.tryCallback(e.request(\"/submit-transaction\",{raw_transaction:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)},submitBatch:function(t,n){return a.tryCallback(e.request(\"/submit-transactions\",{raw_transactions:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)},estimateGas:function(t,n){return a.tryCallback(e.request(\"/estimate-transaction-gas\",{transactionTemplate:t}).then(function(e){return o(e)}).catch(function(e){throw o(e)}),n)}}};e.exports=l},function(e,t,n){\"use strict\";var r=n(45),o=function(e){return{query:function(t,n){return r.query(e,\"unspentOutputs\",\"/list-unspent-outputs\",t,{cb:n})},queryAll:function(t,n,o){return r.queryAll(e,\"unspentOutputs\",t,n,o)}}};e.exports=o},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(239),a=n(878),s=n(875),u=n(876),l=n(877),c=n(879),d=n(880),f=n(881),p=n(882),h=n(883),m=n(356),g=n(884),_=n(887),b=n(886),y=n(888),v=n(885),M=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};r(this,e),\"string\"==typeof t&&(t={url:arguments[0],accessToken:arguments[1]||\"\"}),t.url=t.url||\"http://localhost:9889\",this.connection=new i(t.url,t.accessToken,t.agent),this.signer=new m,this.accessTokens=s(this),this.authorizationGrants=a(this),this.accounts=u(this),this.assets=l(this),this.backUp=c(this),this.balances=d(this),this.bytomCli=f(this),this.config=p(this),this.federations=h(this),this.mockHsm={keys:g(this),signerConnection:new i(t.url+\"/mockhsm\",t.accessToken,t.agent)},this.peers=v(this),this.transactions=_(this),this.transactionFeeds=b(this),this.unspentOutputs=y(this)}return o(e,[{key:\"request\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this.connection.request(e,t,n)}}]),e}();e.exports=M},function(e,t){\"use strict\";function n(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=function(){function e(t,r,o){n(this,e),this.items=[],this.next={},this.lastPage=!1,Object.assign(this,t),this.client=r,this.memberPath=o}return r(e,[{key:\"nextPage\",value:function(e){var t=this.client;return this.memberPath.split(\".\").forEach(function(e){t=t[e]}),t.query(this.next,e)}}]),e}();e.exports=o},function(e,t){\"use strict\";var n={C:{array:!0},O:{array:!0},OU:{array:!0},L:{array:!0},ST:{array:!0},STREET:{array:!0},POSTALCODE:{array:!0},SERIALNUMBER:{array:!1},CN:{array:!1}},r=function(e){var t=Object.keys(e);if(1!==t.length||\"subject\"!==t[0].toLowerCase())throw new Error('X509 guard data must contain exactly one key, \"subject\"');var r={},o=e[t[0]];for(var i in o){var a=n[i.toUpperCase()];if(!a)throw new Error(\"X509 guard data contains invalid subject attribute: \"+i);var s=o[i];if(!a.array&&Array.isArray(s))throw new Error(\"X509 guard data contains invalid array for attribute \"+i+\": \"+s.toString());a.array&&!Array.isArray(s)?r[i]=[s]:r[i]=s}return{subject:r}};e.exports={sanitizeX509GuardData:r}},function(e,t,n){(function(e){\"use strict\";function t(e,t,n){e[t]||Object[r](e,t,{writable:!0,configurable:!0,value:n})}if(n(1155),n(1639),n(914),e._babelPolyfill)throw new Error(\"only one instance of babel-polyfill is allowed\");e._babelPolyfill=!0;var r=\"defineProperty\";t(String.prototype,\"padLeft\",\"\".padStart),t(String.prototype,\"padRight\",\"\".padEnd),\"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill\".split(\",\").forEach(function(e){[][e]&&t(Array,e,Function.call.bind([][e]))})}).call(t,function(){return this}())},function(e,t,n){e.exports={default:n(915),__esModule:!0}},function(e,t,n){e.exports={default:n(917),__esModule:!0}},function(e,t,n){e.exports={default:n(919),__esModule:!0}},function(e,t,n){e.exports={default:n(921),__esModule:!0}},function(e,t,n){e.exports={default:n(922),__esModule:!0}},function(e,t){\"use strict\";function n(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var n=e.indexOf(\"=\");n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function r(e){var t=n(e),r=t[0],o=t[1];return 3*(r+o)/4-o}function o(e,t,n){return 3*(t+n)/4-n}function i(e){for(var t,r=n(e),i=r[0],a=r[1],s=new d(o(e,i,a)),u=0,l=a>0?i-4:i,f=0;f<l;f+=4)t=c[e.charCodeAt(f)]<<18|c[e.charCodeAt(f+1)]<<12|c[e.charCodeAt(f+2)]<<6|c[e.charCodeAt(f+3)],s[u++]=t>>16&255,s[u++]=t>>8&255,s[u++]=255&t;return 2===a&&(t=c[e.charCodeAt(f)]<<2|c[e.charCodeAt(f+1)]>>4,s[u++]=255&t),1===a&&(t=c[e.charCodeAt(f)]<<10|c[e.charCodeAt(f+1)]<<4|c[e.charCodeAt(f+2)]>>2,s[u++]=t>>8&255,s[u++]=255&t),s}function a(e){return l[e>>18&63]+l[e>>12&63]+l[e>>6&63]+l[63&e]}function s(e,t,n){for(var r,o=[],i=t;i<n;i+=3)r=(e[i]<<16&16711680)+(e[i+1]<<8&65280)+(255&e[i+2]),o.push(a(r));return o.join(\"\")}function u(e){for(var t,n=e.length,r=n%3,o=[],i=16383,a=0,u=n-r;a<u;a+=i)o.push(s(e,a,a+i>u?u:a+i));return 1===r?(t=e[n-1],o.push(l[t>>2]+l[t<<4&63]+\"==\")):2===r&&(t=(e[n-2]<<8)+e[n-1],o.push(l[t>>10]+l[t>>4&63]+l[t<<2&63]+\"=\")),o.join(\"\")}t.byteLength=r,t.toByteArray=i,t.fromByteArray=u;for(var l=[],c=[],d=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",p=0,h=f.length;p<h;++p)l[p]=f[p],c[f.charCodeAt(p)]=p;c[\"-\".charCodeAt(0)]=62,c[\"_\".charCodeAt(0)]=63},function(e,t,n){n(1181)},function(e,t,n){n(899)},function(e,t){ace.define(\"ace/split\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/lang\",\"ace/lib/event_emitter\",\"ace/editor\",\"ace/virtual_renderer\",\"ace/edit_session\"],function(e,t,n){\"use strict\";function r(e,t){this.$u=e,this.$doc=t}var o=e(\"./lib/oop\"),i=e(\"./lib/lang\"),a=e(\"./lib/event_emitter\").EventEmitter,s=e(\"./editor\").Editor,u=e(\"./virtual_renderer\").VirtualRenderer,l=e(\"./edit_session\").EditSession,c=function(e,t,n){this.BELOW=1,this.BESIDE=0,this.$container=e,this.$theme=t,this.$splits=0,this.$editorCSS=\"\",this.$editors=[],this.$orientation=this.BESIDE,this.setSplits(n||1),this.$cEditor=this.$editors[0],this.on(\"focus\",function(e){this.$cEditor=e}.bind(this))};(function(){o.implement(this,a),this.$createEditor=function(){var e=document.createElement(\"div\");e.className=this.$editorCSS,e.style.cssText=\"position: absolute; top:0px; bottom:0px\",this.$container.appendChild(e);var t=new s(new u(e,this.$theme));return t.on(\"focus\",function(){this._emit(\"focus\",t)}.bind(this)),this.$editors.push(t),t.setFontSize(this.$fontSize),t},this.setSplits=function(e){var t;if(e<1)throw\"The number of splits have to be > 0!\";if(e!=this.$splits){if(e>this.$splits){for(;this.$splits<this.$editors.length&&this.$splits<e;)t=this.$editors[this.$splits],this.$container.appendChild(t.container),t.setFontSize(this.$fontSize),this.$splits++;for(;this.$splits<e;)this.$createEditor(),this.$splits++}else for(;this.$splits>e;)t=this.$editors[this.$splits-1],this.$container.removeChild(t.container),this.$splits--;this.resize()}},this.getSplits=function(){return this.$splits},this.getEditor=function(e){return this.$editors[e]},this.getCurrentEditor=function(){return this.$cEditor},this.focus=function(){this.$cEditor.focus()},this.blur=function(){this.$cEditor.blur()},this.setTheme=function(e){this.$editors.forEach(function(t){t.setTheme(e)})},this.setKeyboardHandler=function(e){this.$editors.forEach(function(t){t.setKeyboardHandler(e)})},this.forEach=function(e,t){this.$editors.forEach(e,t)},this.$fontSize=\"\",this.setFontSize=function(e){this.$fontSize=e,this.forEach(function(t){t.setFontSize(e)})},this.$cloneSession=function(e){var t=new l(e.getDocument(),e.getMode()),n=e.getUndoManager();if(n){var o=new r(n,t);t.setUndoManager(o)}return t.$informUndoManager=i.delayedCall(function(){t.$deltas=[]}),t.setTabSize(e.getTabSize()),t.setUseSoftTabs(e.getUseSoftTabs()),t.setOverwrite(e.getOverwrite()),t.setBreakpoints(e.getBreakpoints()),t.setUseWrapMode(e.getUseWrapMode()),t.setUseWorker(e.getUseWorker()),t.setWrapLimitRange(e.$wrapLimitRange.min,e.$wrapLimitRange.max),t.$foldData=e.$cloneFoldData(),t},this.setSession=function(e,t){var n;n=null==t?this.$cEditor:this.$editors[t];var r=this.$editors.some(function(t){return t.session===e});return r&&(e=this.$cloneSession(e)),n.setSession(e),e},this.getOrientation=function(){return this.$orientation},this.setOrientation=function(e){this.$orientation!=e&&(this.$orientation=e,this.resize())},this.resize=function(){var e,t=this.$container.clientWidth,n=this.$container.clientHeight;if(this.$orientation==this.BESIDE)for(var r=t/this.$splits,o=0;o<this.$splits;o++)e=this.$editors[o],e.container.style.width=r+\"px\",e.container.style.top=\"0px\",e.container.style.left=o*r+\"px\",e.container.style.height=n+\"px\",e.resize();else for(var i=n/this.$splits,o=0;o<this.$splits;o++)e=this.$editors[o],e.container.style.width=t+\"px\",e.container.style.top=o*i+\"px\",e.container.style.left=\"0px\",e.container.style.height=i+\"px\",e.resize()}}).call(c.prototype),function(){this.execute=function(e){this.$u.execute(e)},this.undo=function(){var e=this.$u.undo(!0);e&&this.$doc.selection.setSelectionRange(e)},this.redo=function(){var e=this.$u.redo(!0);e&&this.$doc.selection.setSelectionRange(e)},this.reset=function(){this.$u.reset()},this.hasUndo=function(){return this.$u.hasUndo()},this.hasRedo=function(){return this.$u.hasRedo()}}.call(r.prototype),t.Split=c}),ace.define(\"ace/ext/split\",[\"require\",\"exports\",\"module\",\"ace/split\"],function(e,t,n){\"use strict\";n.exports=e(\"../split\")}),function(){ace.acequire([\"ace/ext/split\"],function(){})}()},function(e,t,n){ace.define(\"ace/mode/json_highlight_rules\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text_highlight_rules\"],function(e,t,n){\"use strict\";var r=e(\"../lib/oop\"),o=e(\"./text_highlight_rules\").TextHighlightRules,i=function(){this.$rules={start:[{token:\"variable\",regex:'[\"](?:(?:\\\\\\\\.)|(?:[^\"\\\\\\\\]))*?[\"]\\\\s*(?=:)'},{token:\"string\",regex:'\"',next:\"string\"},{token:\"constant.numeric\",regex:\"0[xX][0-9a-fA-F]+\\\\b\"},{token:\"constant.numeric\",regex:\"[+-]?\\\\d+(?:(?:\\\\.\\\\d*)?(?:[eE][+-]?\\\\d+)?)?\\\\b\"},{token:\"constant.language.boolean\",regex:\"(?:true|false)\\\\b\"},{token:\"text\",regex:\"['](?:(?:\\\\\\\\.)|(?:[^'\\\\\\\\]))*?[']\"},{token:\"comment\",regex:\"\\\\/\\\\/.*$\"},{token:\"comment.start\",regex:\"\\\\/\\\\*\",next:\"comment\"},{token:\"paren.lparen\",regex:\"[[({]\"},{token:\"paren.rparen\",regex:\"[\\\\])}]\"},{token:\"text\",regex:\"\\\\s+\"}],string:[{token:\"constant.language.escape\",regex:/\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[\"\\\\\\/bfnrt])/},{token:\"string\",regex:'\"|$',next:\"start\"},{defaultToken:\"string\"}],comment:[{token:\"comment.end\",regex:\"\\\\*\\\\/\",next:\"start\"},{defaultToken:\"comment\"}]}};r.inherits(i,o),t.JsonHighlightRules=i}),ace.define(\"ace/mode/matching_brace_outdent\",[\"require\",\"exports\",\"module\",\"ace/range\"],function(e,t,n){\"use strict\";var r=e(\"../range\").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\\s+$/.test(e)&&/^\\s*\\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t),o=n.match(/^(\\s*\\})/);if(!o)return 0;var i=o[1].length,a=e.findMatchingBracket({row:t,column:i});if(!a||a.row==t)return 0;var s=this.$getIndent(e.getLine(a.row));e.replace(new r(t,0,t,i-1),s)},this.$getIndent=function(e){return e.match(/^\\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define(\"ace/mode/folding/cstyle\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/range\",\"ace/mode/folding/fold_mode\"],function(e,t,n){\"use strict\";var r=e(\"../../lib/oop\"),o=e(\"../../range\").Range,i=e(\"./fold_mode\").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\\|[^|]*?$/,\"|\"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\\|[^|]*?$/,\"|\"+e.end)))};r.inherits(a,i),function(){this.foldingStartMarker=/([\\{\\[\\(])[^\\}\\]\\)]*$|^\\s*(\\/\\*)/,this.foldingStopMarker=/^[^\\[\\{\\(]*([\\}\\]\\)])|^[\\s\\*]*(\\*\\/)/,this.singleLineBlockCommentRe=/^\\s*(\\/\\*).*\\*\\/\\s*$/,this.tripleStarBlockCommentRe=/^\\s*(\\/\\*\\*\\*).*\\*\\/\\s*$/,this.startRegionRe=/^\\s*(\\/\\*|\\/\\/)#?region\\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return\"\";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?\"start\":o},this.getFoldWidgetRange=function(e,t,n,r){var o=e.getLine(n);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,n);var i=o.match(this.foldingStartMarker);if(i){var a=i.index;if(i[1])return this.openingBracketBlock(e,i[1],n,a);var s=e.getCommentFoldRange(n,a+i[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):\"all\"!=t&&(s=null)),s}if(\"markbegin\"!==t){var i=o.match(this.foldingStopMarker);if(i){var a=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],n,a):e.getCommentFoldRange(n,a,-1)}}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\\S/),i=t,a=n.length;t+=1;for(var s=t,u=e.getLength();++t<u;){n=e.getLine(t);var l=n.search(/\\S/);if(l!==-1){if(r>l)break;var c=this.getFoldWidgetRange(e,\"all\",t);if(c){if(c.start.row<=i)break;if(c.isMultiLine())t=c.end.row;else if(r==l)break}s=t}}return new o(i,a,s,e.getLine(s).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\\s*$/),i=e.getLength(),a=n,s=/^\\s*(?:\\/\\*|\\/\\/|--)#?(end)?region\\b/,u=1;++n<i;){t=e.getLine(n);var l=s.exec(t);if(l&&(l[1]?u--:u++,!u))break}var c=n;if(c>a)return new o(a,r,c,t.length)}}.call(a.prototype)}),ace.define(\"ace/mode/json\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/mode/text\",\"ace/mode/json_highlight_rules\",\"ace/mode/matching_brace_outdent\",\"ace/mode/behaviour/cstyle\",\"ace/mode/folding/cstyle\",\"ace/worker/worker_client\"],function(e,t,r){\"use strict\";var o=e(\"../lib/oop\"),i=e(\"./text\").Mode,a=e(\"./json_highlight_rules\").JsonHighlightRules,s=e(\"./matching_brace_outdent\").MatchingBraceOutdent,u=e(\"./behaviour/cstyle\").CstyleBehaviour,l=e(\"./folding/cstyle\").FoldMode,c=e(\"../worker/worker_client\").WorkerClient,d=function(){this.HighlightRules=a,this.$outdent=new s,this.$behaviour=new u,this.foldingRules=new l};o.inherits(d,i),function(){this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);if(\"start\"==e){var o=t.match(/^.*[\\{\\(\\[]\\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new c([\"ace\"],n(904),\"JsonWorker\");return t.attachToDocument(e.getDocument()),t.on(\"annotate\",function(t){e.setAnnotations(t.data)}),t.on(\"terminate\",function(){e.clearAnnotations()}),t},this.$id=\"ace/mode/json\"}.call(d.prototype),t.Mode=d})},function(e,t){ace.define(\"ace/theme/github\",[\"require\",\"exports\",\"module\",\"ace/lib/dom\"],function(e,t,n){t.isDark=!1,t.cssClass=\"ace-github\",t.cssText='\\t.ace-github .ace_gutter {\\tbackground: #e8e8e8;\\tcolor: #AAA;\\t}\\t.ace-github  {\\tbackground: #fff;\\tcolor: #000;\\t}\\t.ace-github .ace_keyword {\\tfont-weight: bold;\\t}\\t.ace-github .ace_string {\\tcolor: #D14;\\t}\\t.ace-github .ace_variable.ace_class {\\tcolor: teal;\\t}\\t.ace-github .ace_constant.ace_numeric {\\tcolor: #099;\\t}\\t.ace-github .ace_constant.ace_buildin {\\tcolor: #0086B3;\\t}\\t.ace-github .ace_support.ace_function {\\tcolor: #0086B3;\\t}\\t.ace-github .ace_comment {\\tcolor: #998;\\tfont-style: italic;\\t}\\t.ace-github .ace_variable.ace_language  {\\tcolor: #0086B3;\\t}\\t.ace-github .ace_paren {\\tfont-weight: bold;\\t}\\t.ace-github .ace_boolean {\\tfont-weight: bold;\\t}\\t.ace-github .ace_string.ace_regexp {\\tcolor: #009926;\\tfont-weight: normal;\\t}\\t.ace-github .ace_variable.ace_instance {\\tcolor: teal;\\t}\\t.ace-github .ace_constant.ace_language {\\tfont-weight: bold;\\t}\\t.ace-github .ace_cursor {\\tcolor: black;\\t}\\t.ace-github.ace_focus .ace_marker-layer .ace_active-line {\\tbackground: rgb(255, 255, 204);\\t}\\t.ace-github .ace_marker-layer .ace_active-line {\\tbackground: rgb(245, 245, 245);\\t}\\t.ace-github .ace_marker-layer .ace_selection {\\tbackground: rgb(181, 213, 255);\\t}\\t.ace-github.ace_multiselect .ace_selection.ace_start {\\tbox-shadow: 0 0 3px 0px white;\\t}\\t.ace-github.ace_nobold .ace_line > span {\\tfont-weight: normal !important;\\t}\\t.ace-github .ace_marker-layer .ace_step {\\tbackground: rgb(252, 255, 0);\\t}\\t.ace-github .ace_marker-layer .ace_stack {\\tbackground: rgb(164, 229, 101);\\t}\\t.ace-github .ace_marker-layer .ace_bracket {\\tmargin: -1px 0 0 -1px;\\tborder: 1px solid rgb(192, 192, 192);\\t}\\t.ace-github .ace_gutter-active-line {\\tbackground-color : rgba(0, 0, 0, 0.07);\\t}\\t.ace-github .ace_marker-layer .ace_selected-word {\\tbackground: rgb(250, 250, 255);\\tborder: 1px solid rgb(200, 200, 250);\\t}\\t.ace-github .ace_invisible {\\tcolor: #BFBFBF\\t}\\t.ace-github .ace_print-margin {\\twidth: 1px;\\tbackground: #e8e8e8;\\t}\\t.ace-github .ace_indent-guide {\\tbackground: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\\t}';var r=e(\"../lib/dom\");r.importCssString(t.cssText,t.cssClass)})},function(e,t){e.exports.id=\"ace/mode/json_worker\",e.exports.src='\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\\\.\\\\//,\"\").replace(/\\\\/\\\\.\\\\//,\"/\").replace(/[^\\\\/]+\\\\/\\\\.\\\\.\\\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.column<point2.column;return point1.row<point2.row||point1.row==point2.row&&bColIsAfter}function $getTransformedPoint(delta,point,moveIfEqual){var deltaIsInsert=\"insert\"==delta.action,deltaRowShift=(deltaIsInsert?1:-1)*(delta.end.row-delta.start.row),deltaColShift=(deltaIsInsert?1:-1)*(delta.end.column-delta.start.column),deltaStart=delta.start,deltaEnd=deltaIsInsert?deltaStart:delta.end;return $pointsInOrder(point,deltaStart,moveIfEqual)?{row:point.row,column:point.column}:$pointsInOrder(deltaEnd,point,!moveIfEqual)?{row:point.row+deltaRowShift,column:point.column+(point.row==deltaEnd.row?deltaColShift:0)}:{row:deltaStart.row,column:deltaStart.column}}oop.implement(this,EventEmitter),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(delta){if(!(delta.start.row==delta.end.row&&delta.start.row!=this.row||delta.start.row>this.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\\\r\\\\n|\\\\r/g,\"\\\\n\").split(\"\\\\n\")}:function(text){return text.split(/\\\\r\\\\n|\\\\r|\\\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\\\r\\\\n|\\\\r|\\\\n)/m);this.$autoNewLine=match?match[1]:\"\\\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\\\r\\\\n\";case\"unix\":return\"\\\\n\";default:return this.$autoNewLine||\"\\\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\\\r\\\\n\"==text||\"\\\\r\"==text||\"\\\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, [\\'\\', \\'\\']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\\\s\\\\s*/,trimEndRegexp=/\\\\s\\\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\\\]\\\\/\\\\\\\\])/g,\"\\\\\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&#38;\").replace(/\"/g,\"&#34;\").replace(/\\'/g,\"&#39;\").replace(/</g,\"&#60;\")},exports.getMatchOffsets=function(string,regExp){var matches=[];return string.replace(regExp,function(str){matches.push({offset:arguments[arguments.length-2],length:str.length})}),matches},exports.deferredCall=function(fcn){var timer=null,callback=function(){timer=null,fcn()},deferred=function(timeout){return deferred.cancel(),timer=setTimeout(callback,timeout||0),deferred};return deferred.schedule=deferred,deferred.call=function(){return this.cancel(),fcn(),deferred},deferred.cancel=function(){return clearTimeout(timer),timer=null,deferred},deferred.isPending=function(){return timer},deferred},exports.delayedCall=function(fcn,defaultTimeout){var timer=null,callback=function(){timer=null,fcn()},_self=function(timeout){null==timer&&(timer=setTimeout(callback,timeout||defaultTimeout))};return _self.delay=function(timeout){timer&&clearTimeout(timer),timer=setTimeout(callback,timeout||defaultTimeout)},_self.schedule=_self,_self.call=function(){this.cancel(),fcn()},_self.cancel=function(){timer&&clearTimeout(timer),timer=null},_self.isPending=function(){return timer},_self}}),ace.define(\"ace/worker/mirror\",[\"require\",\"exports\",\"module\",\"ace/range\",\"ace/document\",\"ace/lib/lang\"],function(acequire,exports){\"use strict\";acequire(\"../range\").Range;var Document=acequire(\"../document\").Document,lang=acequire(\"../lib/lang\"),Mirror=exports.Mirror=function(sender){this.sender=sender;var doc=this.doc=new Document(\"\"),deferredUpdate=this.deferredUpdate=lang.delayedCall(this.onUpdate.bind(this)),_self=this;sender.on(\"change\",function(e){var data=e.data;if(data[0].start)doc.applyDeltas(data);else for(var i=0;data.length>i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/json/json_parse\",[\"require\",\"exports\",\"module\"],function(){\"use strict\";var at,ch,text,value,escapee={\\'\"\\':\\'\"\\',\"\\\\\\\\\":\"\\\\\\\\\",\"/\":\"/\",b:\"\\\\b\",f:\"\\\\f\",n:\"\\\\n\",r:\"\\\\r\",t:\"\\t\"},error=function(m){throw{name:\"SyntaxError\",message:m,at:at,text:text}},next=function(c){return c&&c!==ch&&error(\"Expected \\'\"+c+\"\\' instead of \\'\"+ch+\"\\'\"),ch=text.charAt(at),at+=1,ch},number=function(){var number,string=\"\";for(\"-\"===ch&&(string=\"-\",next(\"-\"));ch>=\"0\"&&\"9\">=ch;)string+=ch,next();if(\".\"===ch)for(string+=\".\";next()&&ch>=\"0\"&&\"9\">=ch;)string+=ch;if(\"e\"===ch||\"E\"===ch)for(string+=ch,next(),(\"-\"===ch||\"+\"===ch)&&(string+=ch,next());ch>=\"0\"&&\"9\">=ch;)string+=ch,next();return number=+string,isNaN(number)?(error(\"Bad number\"),void 0):number},string=function(){var hex,i,uffff,string=\"\";if(\\'\"\\'===ch)for(;next();){if(\\'\"\\'===ch)return next(),string;if(\"\\\\\\\\\"===ch)if(next(),\"u\"===ch){for(uffff=0,i=0;4>i&&(hex=parseInt(next(),16),isFinite(hex));i+=1)uffff=16*uffff+hex;string+=String.fromCharCode(uffff)}else{if(\"string\"!=typeof escapee[ch])break;string+=escapee[ch]}else string+=ch}error(\"Bad string\")},white=function(){for(;ch&&\" \">=ch;)next()},word=function(){switch(ch){case\"t\":return next(\"t\"),next(\"r\"),next(\"u\"),next(\"e\"),!0;case\"f\":return next(\"f\"),next(\"a\"),next(\"l\"),next(\"s\"),next(\"e\"),!1;case\"n\":return next(\"n\"),next(\"u\"),next(\"l\"),next(\"l\"),null}error(\"Unexpected \\'\"+ch+\"\\'\")},array=function(){var array=[];if(\"[\"===ch){if(next(\"[\"),white(),\"]\"===ch)return next(\"]\"),array;for(;ch;){if(array.push(value()),white(),\"]\"===ch)return next(\"]\"),array;next(\",\"),white()}}error(\"Bad array\")},object=function(){var key,object={};if(\"{\"===ch){if(next(\"{\"),white(),\"}\"===ch)return next(\"}\"),object;for(;ch;){if(key=string(),white(),next(\":\"),Object.hasOwnProperty.call(object,key)&&error(\\'Duplicate key \"\\'+key+\\'\"\\'),object[key]=value(),white(),\"}\"===ch)return next(\"}\"),object;next(\",\"),white()}}error(\"Bad object\")};return value=function(){switch(white(),ch){case\"{\":return object();case\"[\":return array();case\\'\"\\':return string();case\"-\":return number();default:return ch>=\"0\"&&\"9\">=ch?number():word()}},function(source,reviver){var result;return text=source,at=0,ch=\" \",result=value(),white(),ch&&error(\"Syntax error\"),\"function\"==typeof reviver?function walk(holder,key){var k,v,value=holder[key];if(value&&\"object\"==typeof value)for(k in value)Object.hasOwnProperty.call(value,k)&&(v=walk(value,k),void 0!==v?value[k]=v:delete value[k]);return reviver.call(holder,key,value)}({\"\":result},\"\"):result}}),ace.define(\"ace/mode/json_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/json/json_parse\"],function(acequire,exports){\"use strict\";var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,parse=acequire(\"./json/json_parse\"),JsonWorker=exports.JsonWorker=function(sender){Mirror.call(this,sender),this.setTimeout(200)};oop.inherits(JsonWorker,Mirror),function(){this.onUpdate=function(){var value=this.doc.getValue(),errors=[];try{value&&parse(value)}catch(e){var pos=this.doc.indexToPosition(e.at-1);errors.push({row:pos.row,column:pos.column,text:e.message,type:\"error\"})}this.sender.emit(\"annotate\",errors)}}.call(JsonWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0\\n}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != \\'object\\'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\\t\\\\n\\v\\\\f\\\\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\\\\u2028\\\\u2029\\ufeff\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can\\'t convert \"+o+\" to object\");return Object(o)}});';\n},function(e,t,n){(function(t){!function(){\"use strict\";function n(e){var n;return n=e instanceof t?e:t.from(e.toString(),\"binary\"),n.toString(\"base64\")}e.exports=n}()}).call(t,n(243).Buffer)},function(e,t,n){\"use strict\";function r(e){return{key:e.nodeKey,className:e.className,\"data-sourcepos\":e[\"data-sourcepos\"]}}function o(e){var t=e.toLowerCase(),n=A[t]||t;return\"undefined\"!=typeof w[n]?n:e}function i(e){return Object.keys(e||{}).reduce(function(t,n){var r=o(n);return t[r]=e[n],t},{})}function a(e){var t=r(e),n=e.escapeHtml?{}:{dangerouslySetInnerHTML:{__html:e.literal}},o=e.escapeHtml?[e.literal]:null;if(e.escapeHtml||!e.skipHtml){var i=b(t,n);return l(e.isBlock?\"div\":\"span\",i,o)}}function s(e){var t=e.parent.parent;return t&&\"list\"===t.type.toLowerCase()&&t.listTight}function u(e,t){var n=e;do n=n.parent;while(!n.react);n.react.children.push(t)}function l(e,t,n){var r=Array.isArray(n)&&n.reduce(c,[]),o=[e,t].concat(r||n);return _.createElement.apply(_,o)}function c(e,t){var n=e.length-1;return\"string\"==typeof t&&\"string\"==typeof e[n]?e[n]+=t:e.push(t),e}function d(e){return[e[0][0],\":\",e[0][1],\"-\",e[1][0],\":\",e[1][1]].map(String).join(\"\")}function f(e,t,n,r){var i,a={key:t};n.sourcePos&&e.sourcepos&&(a[\"data-sourcepos\"]=d(e.sourcepos));var s=o(e.type);switch(s){case\"html_inline\":case\"html_block\":a.isBlock=\"html_block\"===s,a.escapeHtml=n.escapeHtml,a.skipHtml=n.skipHtml;break;case\"code_block\":var u=e.info?e.info.split(/ +/):[];u.length>0&&u[0].length>0&&(a.language=u[0],a.codeinfo=u);break;case\"code\":a.children=e.literal,a.inline=!0;break;case\"heading\":a.level=e.level;break;case\"softbreak\":a.softBreak=n.softBreak;break;case\"link\":a.href=n.transformLinkUri?n.transformLinkUri(e.destination):e.destination,a.title=e.title||i,n.linkTarget&&(a.target=n.linkTarget);break;case\"image\":a.src=n.transformImageUri?n.transformImageUri(e.destination):e.destination,a.title=e.title||i,a.alt=e.react.children.join(\"\"),e.react.children=i;break;case\"list\":a.start=e.listStart,a.type=e.listType,a.tight=e.listTight}\"string\"!=typeof r&&(a.literal=e.literal);var l=a.children||e.react&&e.react.children;return Array.isArray(l)&&(a.children=l.reduce(c,[])||null),a}function p(e){return e?e.sourcepos?d(e.sourcepos):p(e.parent):null}function h(e){for(var t,n,r,i,a,l,c,d,h,m=e.walker(),g={sourcePos:this.sourcePos,escapeHtml:this.escapeHtml,skipHtml:this.skipHtml,transformLinkUri:this.transformLinkUri,transformImageUri:this.transformImageUri,softBreak:this.softBreak,linkTarget:this.linkTarget},y=0;t=m.next();){var v=p(t.node.sourcepos?t.node:t.node.parent);if(h===v?(c=v+y,y++):(c=v,y=0),h=v,r=t.entering,i=!r,n=t.node,a=o(n.type),d=null,l){if(n!==l&&!(\"paragraph\"===a&&s(n)||this.skipHtml&&(\"html_block\"===a||\"html_inline\"===a))){var A=n===l,w=this.allowedTypes.indexOf(a)===-1,C=!1,E=n.isContainer&&i,L=this.renderers[a];if(this.allowNode&&(E||!n.isContainer)){var T=E?n.react.children:[];d=f(n,c,g,L),C=!this.allowNode({type:M(a),renderer:this.renderers[a],props:d,children:T})}if(A||!C&&!w){var O=\"text\"===a||\"softbreak\"===a;if(\"function\"!=typeof L&&!O&&\"string\"!=typeof L)throw new Error(\"Renderer for type `\"+M(n.type)+\"` not defined or is not renderable\");if(n.isContainer&&r)n.react={component:L,props:{},children:[]};else{var S=d||f(n,c,g,L);if(L)S=\"string\"==typeof L?S:b(S,{nodeKey:S.key}),u(n,_.createElement(L,S));else if(\"text\"===a)u(n,n.literal);else if(\"softbreak\"===a){var N=\"br\"===this.softBreak?_.createElement(\"br\",{key:c}):this.softBreak;u(n,N)}}}else!this.unwrapDisallowed&&r&&n.isContainer&&m.resumeAt(n,!1)}}else l=n,n.react={children:[]}}return l.react.children}function m(e){var t=e.replace(/file:\\/\\//g,\"x-file://\");return decodeURI(v.uriInDoubleQuotedAttr(t))}function g(e){var t=e||{};if(t.allowedTypes&&t.disallowedTypes)throw new Error(\"Only one of `allowedTypes` and `disallowedTypes` should be defined\");if(t.allowedTypes&&!Array.isArray(t.allowedTypes))throw new Error(\"`allowedTypes` must be an array\");if(t.disallowedTypes&&!Array.isArray(t.disallowedTypes))throw new Error(\"`disallowedTypes` must be an array\");if(t.allowNode&&\"function\"!=typeof t.allowNode)throw new Error(\"`allowNode` must be a function\");var n=t.transformLinkUri;if(\"undefined\"==typeof n)n=m;else if(n&&\"function\"!=typeof n)throw new Error(\"`transformLinkUri` must either be a function, or `null` to disable\");var r=t.transformImageUri;if(\"undefined\"!=typeof r&&\"function\"!=typeof r)throw new Error(\"`transformImageUri` must be a function\");if(t.renderers&&!y(t.renderers))throw new Error(\"`renderers` must be a plain object of `Type`: `Renderer` pairs\");var a=t.allowedTypes&&t.allowedTypes.map(o)||C;if(t.disallowedTypes){var s=t.disallowedTypes.map(o);a=a.filter(function(e){return s.indexOf(e)===-1})}return{sourcePos:Boolean(t.sourcePos),softBreak:t.softBreak||\"\\n\",renderers:b({},w,i(t.renderers)),escapeHtml:Boolean(t.escapeHtml),skipHtml:Boolean(t.skipHtml),transformLinkUri:n,transformImageUri:r,allowNode:t.allowNode,allowedTypes:a,unwrapDisallowed:Boolean(t.unwrapDisallowed),render:h,linkTarget:t.linkTarget||!1}}var _=n(1),b=n(1303),y=n(1305),v=n(1703),M=n(1373),A={blockquote:\"block_quote\",thematicbreak:\"thematic_break\",htmlblock:\"html_block\",htmlinline:\"html_inline\",codeblock:\"code_block\",hardbreak:\"linebreak\"},w={block_quote:\"blockquote\",emph:\"em\",linebreak:\"br\",image:\"img\",item:\"li\",link:\"a\",paragraph:\"p\",strong:\"strong\",thematic_break:\"hr\",html_block:a,html_inline:a,list:function(e){var t=\"bullet\"===e.type.toLowerCase()?\"ul\":\"ol\",n=r(e);return null!==e.start&&1!==e.start&&(n.start=e.start.toString()),l(t,n,e.children)},code_block:function(e){var t=e.language&&\"language-\"+e.language,n=l(\"code\",{className:t},e.literal);return l(\"pre\",r(e),n)},code:function(e){return l(\"code\",r(e),e.children)},heading:function(e){return l(\"h\"+e.level,r(e),e.children)},text:null,softbreak:null},C=Object.keys(w);g.uriTransformer=m,g.types=C.map(M),g.renderers=C.reduce(function(e,t){return e[M(t)]=w[t],e},{}),e.exports=g},function(e,t,n){(function(t){\"use strict\";function r(e){return{doc:new U,blocks:P,blockStarts:B,tip:this.doc,oldtip:this.doc,currentLine:\"\",lineNumber:0,offset:0,column:0,nextNonspace:0,nextNonspaceColumn:0,indent:0,indented:!1,blank:!1,allClosed:!0,lastMatchedContainer:this.doc,refmap:{},lastLineLength:0,inlineParser:new m(e),findNextNonspace:W,advanceOffset:F,advanceNextNonspace:R,breakOutOfLists:k,addLine:D,addChild:x,incorporateLine:Y,finalize:H,processInlines:q,closeUnmatchedBlocks:j,parse:X,options:e||{}}}var o=n(244),i=n(122).unescapeString,a=n(122).OPENTAG,s=n(122).CLOSETAG,u=4,l=9,c=10,d=62,f=60,p=32,h=91,m=n(911),g=[/./,/^<(?:script|pre|style)(?:\\s|>|$)/i,/^<!--/,/^<[?]/,/^<![A-Z]/,/^<!\\[CDATA\\[/,/^<[\\/]?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|title|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\\s|[\\/]?[>]|$)/i,new RegExp(\"^(?:\"+a+\"|\"+s+\")s*$\",\"i\")],_=[/./,/<\\/(?:script|pre|style)>/i,/-->/,/\\?>/,/>/,/\\]\\]>/],b=/^(?:(?:\\* *){3,}|(?:_ *){3,}|(?:- *){3,}) *$/,y=/^[#`~*+_=<>0-9-]/,v=/[^ \\t\\f\\v\\r\\n]/,M=/^[*+-]/,A=/^(\\d{1,9})([.)])/,w=/^#{1,6}(?: +|$)/,C=/^`{3,}(?!.*`)|^~{3,}(?!.*~)/,E=/^(?:`{3,}|~{3,})(?= *$)/,L=/^(?:=+|-+) *$/,T=/\\r\\n|\\n|\\r/,O=function(e){return!v.test(e)},S=function(e,t){return t<e.length?e.charCodeAt(t):-1},N=function(e){for(;e;){if(e._lastLineBlank)return!0;var t=e.type;if(\"List\"!==t&&\"Item\"!==t)break;e=e._lastChild}return!1},k=function(e){var t=e,n=null;do\"List\"===t.type&&(n=t),t=t._parent;while(t);if(n){for(;e!==n;)this.finalize(e,this.lineNumber),e=e._parent;this.finalize(n,this.lineNumber),this.tip=n._parent}},D=function(){this.tip._string_content+=this.currentLine.slice(this.offset)+\"\\n\"},x=function(e,t){for(;!this.blocks[this.tip.type].canContain(e);)this.finalize(this.tip,this.lineNumber-1);var n=t+1,r=new o(e,[[this.lineNumber,n],[0,0]]);return r._string_content=\"\",this.tip.appendChild(r),this.tip=r,r},I=function(e){var t,n,r,o,i=e.currentLine.slice(e.nextNonspace),a={type:null,tight:!0,bulletChar:null,start:null,delimiter:null,padding:null,markerOffset:e.indent};if(t=i.match(M))a.type=\"Bullet\",a.bulletChar=t[0][0];else{if(!(t=i.match(A)))return null;a.type=\"Ordered\",a.start=parseInt(t[1]),a.delimiter=t[2]}if(n=S(e.currentLine,e.nextNonspace+t[0].length),n!==-1&&n!==l&&n!==p)return null;e.advanceNextNonspace(),e.advanceOffset(t[0].length,!0),r=e.column,o=e.offset;do e.advanceOffset(1,!0),n=S(e.currentLine,e.offset);while(e.column-r<5&&(n===p||n===l));var s=S(e.currentLine,e.offset)===-1,u=e.column-r;return u>=5||u<1||s?(a.padding=t[0].length+1,e.column=r,e.offset=o,S(e.currentLine,e.offset)===p&&e.advanceOffset(1,!0)):a.padding=t[0].length+u,a},z=function(e,t){return e.type===t.type&&e.delimiter===t.delimiter&&e.bulletChar===t.bulletChar},j=function(){if(!this.allClosed){for(;this.oldtip!==this.lastMatchedContainer;){var e=this.oldtip._parent;this.finalize(this.oldtip,this.lineNumber-1),this.oldtip=e}this.allClosed=!0}},P={Document:{continue:function(){return 0},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},List:{continue:function(){return 0},finalize:function(e,t){for(var n=t._firstChild;n;){if(N(n)&&n._next){t._listData.tight=!1;break}for(var r=n._firstChild;r;){if(N(r)&&(n._next||r._next)){t._listData.tight=!1;break}r=r._next}n=n._next}},canContain:function(e){return\"Item\"===e},acceptsLines:!1},BlockQuote:{continue:function(e){var t=e.currentLine;return e.indented||S(t,e.nextNonspace)!==d?1:(e.advanceNextNonspace(),e.advanceOffset(1,!1),S(t,e.offset)===p&&e.offset++,0)},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},Item:{continue:function(e,t){if(e.blank&&null!==t._firstChild)e.advanceNextNonspace();else{if(!(e.indent>=t._listData.markerOffset+t._listData.padding))return 1;e.advanceOffset(t._listData.markerOffset+t._listData.padding,!0)}return 0},finalize:function(){},canContain:function(e){return\"Item\"!==e},acceptsLines:!1},Heading:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},ThematicBreak:{continue:function(){return 1},finalize:function(){},canContain:function(){return!1},acceptsLines:!1},CodeBlock:{continue:function(e,t){var n=e.currentLine,r=e.indent;if(t._isFenced){var o=r<=3&&n.charAt(e.nextNonspace)===t._fenceChar&&n.slice(e.nextNonspace).match(E);if(o&&o[0].length>=t._fenceLength)return e.finalize(t,e.lineNumber),2;for(var i=t._fenceOffset;i>0&&S(n,e.offset)===p;)e.advanceOffset(1,!1),i--}else if(r>=u)e.advanceOffset(u,!0);else{if(!e.blank)return 1;e.advanceNextNonspace()}return 0},finalize:function(e,t){if(t._isFenced){var n=t._string_content,r=n.indexOf(\"\\n\"),o=n.slice(0,r),a=n.slice(r+1);t.info=i(o.trim()),t._literal=a}else t._literal=t._string_content.replace(/(\\n *)+$/,\"\\n\");t._string_content=null},canContain:function(){return!1},acceptsLines:!0},HtmlBlock:{continue:function(e,t){return!e.blank||6!==t._htmlBlockType&&7!==t._htmlBlockType?0:1},finalize:function(e,t){t._literal=t._string_content.replace(/(\\n *)+$/,\"\"),t._string_content=null},canContain:function(){return!1},acceptsLines:!0},Paragraph:{continue:function(e){return e.blank?1:0},finalize:function(e,t){for(var n,r=!1;S(t._string_content,0)===h&&(n=e.inlineParser.parseReference(t._string_content,e.refmap));)t._string_content=t._string_content.slice(n),r=!0;r&&O(t._string_content)&&t.unlink()},canContain:function(){return!1},acceptsLines:!0}},B=[function(e){return e.indented||S(e.currentLine,e.nextNonspace)!==d?0:(e.advanceNextNonspace(),e.advanceOffset(1,!1),S(e.currentLine,e.offset)===p&&e.advanceOffset(1,!1),e.closeUnmatchedBlocks(),e.addChild(\"BlockQuote\",e.nextNonspace),1)},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(w))){e.advanceNextNonspace(),e.advanceOffset(t[0].length,!1),e.closeUnmatchedBlocks();var n=e.addChild(\"Heading\",e.nextNonspace);return n.level=t[0].trim().length,n._string_content=e.currentLine.slice(e.offset).replace(/^ *#+ *$/,\"\").replace(/ +#+ *$/,\"\"),e.advanceOffset(e.currentLine.length-e.offset),2}return 0},function(e){var t;if(!e.indented&&(t=e.currentLine.slice(e.nextNonspace).match(C))){var n=t[0].length;e.closeUnmatchedBlocks();var r=e.addChild(\"CodeBlock\",e.nextNonspace);return r._isFenced=!0,r._fenceLength=n,r._fenceChar=t[0][0],r._fenceOffset=e.indent,e.advanceNextNonspace(),e.advanceOffset(n,!1),2}return 0},function(e,t){if(!e.indented&&S(e.currentLine,e.nextNonspace)===f){var n,r=e.currentLine.slice(e.nextNonspace);for(n=1;n<=7;n++)if(g[n].test(r)&&(n<7||\"Paragraph\"!==t.type)){e.closeUnmatchedBlocks();var o=e.addChild(\"HtmlBlock\",e.offset);return o._htmlBlockType=n,2}}return 0},function(e,t){var n;if(!e.indented&&\"Paragraph\"===t.type&&(n=e.currentLine.slice(e.nextNonspace).match(L))){e.closeUnmatchedBlocks();var r=new o(\"Heading\",t.sourcepos);return r.level=\"=\"===n[0][0]?1:2,r._string_content=t._string_content,t.insertAfter(r),t.unlink(),e.tip=r,e.advanceOffset(e.currentLine.length-e.offset,!1),2}return 0},function(e){return!e.indented&&b.test(e.currentLine.slice(e.nextNonspace))?(e.closeUnmatchedBlocks(),e.addChild(\"ThematicBreak\",e.nextNonspace),e.advanceOffset(e.currentLine.length-e.offset,!1),2):0},function(e,t){var n;return e.indented&&\"List\"!==t.type||!(n=I(e))?0:(e.closeUnmatchedBlocks(),\"List\"===e.tip.type&&z(t._listData,n)||(t=e.addChild(\"List\",e.nextNonspace),t._listData=n),t=e.addChild(\"Item\",e.nextNonspace),t._listData=n,1)},function(e){return e.indented&&\"Paragraph\"!==e.tip.type&&!e.blank?(e.advanceOffset(u,!0),e.closeUnmatchedBlocks(),e.addChild(\"CodeBlock\",e.offset),2):0}],F=function(e,t){for(var n,r,o=0,i=this.currentLine;e>0&&(r=i[this.offset]);)\"\\t\"===r?(n=4-this.column%4,this.column+=n,this.offset+=1,e-=t?n:1):(o+=1,this.offset+=1,this.column+=1,e-=1)},R=function(){this.offset=this.nextNonspace,this.column=this.nextNonspaceColumn},W=function(){for(var e,t=this.currentLine,n=this.offset,r=this.column;\"\"!==(e=t.charAt(n));)if(\" \"===e)n++,r++;else{if(\"\\t\"!==e)break;n++,r+=4-r%4}this.blank=\"\\n\"===e||\"\\r\"===e||\"\"===e,this.nextNonspace=n,this.nextNonspaceColumn=r,this.indent=this.nextNonspaceColumn-this.column,this.indented=this.indent>=u},Y=function(e){var t,n=!0,r=this.doc;this.oldtip=this.tip,this.offset=0,this.column=0,this.lineNumber+=1,e.indexOf(\"\\0\")!==-1&&(e=e.replace(/\\0/g,\"�\")),this.currentLine=e;for(var o;(o=r._lastChild)&&o._open;){switch(r=o,this.findNextNonspace(),this.blocks[r.type].continue(this,r)){case 0:break;case 1:n=!1;break;case 2:return void(this.lastLineLength=e.length);default:throw\"continue returned illegal value, must be 0, 1, or 2\"}if(!n){r=r._parent;break}}this.allClosed=r===this.oldtip,this.lastMatchedContainer=r,this.blank&&r._lastLineBlank&&(this.breakOutOfLists(r),r=this.tip);for(var i=\"Paragraph\"!==r.type&&P[r.type].acceptsLines,a=this.blockStarts,s=a.length;!i;){if(this.findNextNonspace(),!this.indented&&!y.test(e.slice(this.nextNonspace))){this.advanceNextNonspace();break}for(var u=0;u<s;){var l=a[u](this,r);if(1===l){r=this.tip;break}if(2===l){r=this.tip,i=!0;break}u++}if(u===s){this.advanceNextNonspace();break}}if(this.allClosed||this.blank||\"Paragraph\"!==this.tip.type){this.closeUnmatchedBlocks(),this.blank&&r.lastChild&&(r.lastChild._lastLineBlank=!0),t=r.type;for(var c=this.blank&&!(\"BlockQuote\"===t||\"CodeBlock\"===t&&r._isFenced||\"Item\"===t&&!r._firstChild&&r.sourcepos[0][0]===this.lineNumber),d=r;d;)d._lastLineBlank=c,d=d._parent;this.blocks[t].acceptsLines?(this.addLine(),\"HtmlBlock\"===t&&r._htmlBlockType>=1&&r._htmlBlockType<=5&&_[r._htmlBlockType].test(this.currentLine.slice(this.offset))&&this.finalize(r,this.lineNumber)):this.offset<e.length&&!this.blank&&(r=this.addChild(\"Paragraph\",this.offset),this.advanceNextNonspace(),this.addLine())}else this.addLine();this.lastLineLength=e.length},H=function(e,t){var n=e._parent;e._open=!1,e.sourcepos[1]=[t,this.lastLineLength],this.blocks[e.type].finalize(this,e),this.tip=n},q=function(e){var t,n,r,o=e.walker();for(this.inlineParser.refmap=this.refmap,this.inlineParser.options=this.options;n=o.next();)t=n.node,r=t.type,n.entering||\"Paragraph\"!==r&&\"Heading\"!==r||this.inlineParser.parse(t)},U=function(){var e=new o(\"Document\",[[1,1],[0,0]]);return e},X=function(e){this.doc=new U,this.tip=this.doc,this.refmap={},this.lineNumber=0,this.lastLineLength=0,this.offset=0,this.column=0,this.lastMatchedContainer=this.doc,this.currentLine=\"\",this.options.time&&t.time(\"preparing input\");var n=e.split(T),r=n.length;e.charCodeAt(e.length-1)===c&&(r-=1),this.options.time&&t.timeEnd(\"preparing input\"),this.options.time&&t.time(\"block parsing\");for(var o=0;o<r;o++)this.incorporateLine(n[o]);for(;this.tip;)this.finalize(this.tip,r);return this.options.time&&t.timeEnd(\"block parsing\"),this.options.time&&t.time(\"inline parsing\"),this.processInlines(this.doc),this.options.time&&t.timeEnd(\"inline parsing\"),this.doc};e.exports=r}).call(t,n(38))},function(e,t){\"use strict\";if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var n=String.fromCharCode,r=Math.floor,o=function(){var e,t,o=16384,i=[],a=-1,s=arguments.length;if(!s)return\"\";for(var u=\"\";++a<s;){var l=Number(arguments[a]);if(!isFinite(l)||l<0||l>1114111||r(l)!==l)return String.fromCharCode(65533);l<=65535?i.push(l):(l-=65536,e=(l>>10)+55296,t=l%1024+56320,i.push(e,t)),(a+1===s||i.length>o)&&(u+=n.apply(null,i),i.length=0)}return u};e.exports=o}},function(e,t,n){(function(t){\"use strict\";function r(e){return{softbreak:\"\\n\",escape:o,options:e||{},render:c}}var o=n(122).escapeXml,i=function(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var o,i=0;void 0!==(o=t[i]);)r+=\" \"+o[0]+'=\"'+o[1]+'\"',i++;return n&&(r+=\" /\"),r+=\">\"},a=/\\<[^>]*\\>/,s=/^javascript:|vbscript:|file:|data:/i,u=/^data:image\\/(?:png|gif|jpeg|webp)/i,l=function(e){return s.test(e)&&!u.test(e)},c=function(e){var n,r,o,s,u,c,d,f=e.walker(),p=\"\",h=\"\\n\",m=0,g=function(e){p+=m>0?e.replace(a,\"\"):e,h=e},_=this.escape,b=function(){\"\\n\"!==h&&(p+=\"\\n\",h=\"\\n\")},y=this.options;for(y.time&&t.time(\"rendering\");s=f.next();){if(c=s.entering,u=s.node,n=[],y.sourcepos){var v=u.sourcepos;v&&n.push([\"data-sourcepos\",String(v[0][0])+\":\"+String(v[0][1])+\"-\"+String(v[1][0])+\":\"+String(v[1][1])])}switch(u.type){case\"Text\":g(_(u.literal,!1));break;case\"Softbreak\":g(this.softbreak);break;case\"Hardbreak\":g(i(\"br\",[],!0)),b();break;case\"Emph\":g(i(c?\"em\":\"/em\"));break;case\"Strong\":g(i(c?\"strong\":\"/strong\"));break;case\"HtmlInline\":g(y.safe?\"<!-- raw HTML omitted -->\":u.literal);break;case\"CustomInline\":c&&u.onEnter?g(u.onEnter):!c&&u.onExit&&g(u.onExit);break;case\"Link\":c?(y.safe&&l(u.destination)||n.push([\"href\",_(u.destination,!0)]),u.title&&n.push([\"title\",_(u.title,!0)]),g(i(\"a\",n))):g(i(\"/a\"));break;case\"Image\":c?(0===m&&g(y.safe&&l(u.destination)?'<img src=\"\" alt=\"':'<img src=\"'+_(u.destination,!0)+'\" alt=\"'),m+=1):(m-=1,0===m&&(u.title&&g('\" title=\"'+_(u.title,!0)),g('\" />')));break;case\"Code\":g(i(\"code\")+_(u.literal,!1)+i(\"/code\"));break;case\"Document\":break;case\"Paragraph\":if(d=u.parent.parent,null!==d&&\"List\"===d.type&&d.listTight)break;c?(b(),g(i(\"p\",n))):(g(i(\"/p\")),b());break;case\"BlockQuote\":c?(b(),g(i(\"blockquote\",n)),b()):(b(),g(i(\"/blockquote\")),b());break;case\"Item\":c?g(i(\"li\",n)):(g(i(\"/li\")),b());break;case\"List\":if(o=\"Bullet\"===u.listType?\"ul\":\"ol\",c){var M=u.listStart;null!==M&&1!==M&&n.push([\"start\",M.toString()]),b(),g(i(o,n)),b()}else b(),g(i(\"/\"+o)),b();break;case\"Heading\":o=\"h\"+u.level,c?(b(),g(i(o,n))):(g(i(\"/\"+o)),b());break;case\"CodeBlock\":r=u.info?u.info.split(/\\s+/):[],r.length>0&&r[0].length>0&&n.push([\"class\",\"language-\"+_(r[0],!0)]),b(),g(i(\"pre\")+i(\"code\",n)),g(_(u.literal,!1)),g(i(\"/code\")+i(\"/pre\")),b();break;case\"HtmlBlock\":b(),g(y.safe?\"<!-- raw HTML omitted -->\":u.literal),b();break;case\"CustomBlock\":b(),c&&u.onEnter?g(u.onEnter):!c&&u.onExit&&g(u.onExit),b();break;case\"ThematicBreak\":b(),g(i(\"hr\",n,!0)),b();break;default:throw\"Unknown node type \"+u.type}}return y.time&&t.timeEnd(\"rendering\"),p};e.exports=r}).call(t,n(38))},function(e,t,n){\"use strict\";e.exports.version=\"0.24.0\",e.exports.Node=n(244),e.exports.Parser=n(907),e.exports.HtmlRenderer=n(909),e.exports.XmlRenderer=n(913)},function(e,t,n){\"use strict\";function r(e){return{subject:\"\",delimiters:null,pos:0,refmap:{},match:J,peek:ee,spnl:te,parseBackticks:ne,parseBackslash:re,parseAutolink:oe,parseHtmlTag:ie,scanDelims:ae,handleDelim:se,parseLinkTitle:de,parseLinkDestination:fe,parseLinkLabel:pe,parseOpenBracket:he,parseCloseBracket:ge,parseBang:me,parseEntity:_e,parseString:be,parseNewline:ye,parseReference:ve,parseInline:Me,processEmphasis:ce,removeDelimiter:ue,options:e||{},parse:Ae}}var o=n(244),i=n(122),a=n(912),s=i.normalizeURI,u=i.unescapeString,l=n(908),c=n(415).decodeHTML;n(1655);var d=10,f=42,p=95,h=96,m=91,g=93,_=60,b=33,y=92,v=38,M=40,A=41,w=58,C=39,E=34,L=i.ESCAPABLE,T=\"\\\\\\\\\"+L,O=\"[^\\\\\\\\()\\\\x00-\\\\x20]\",S=\"\\\\((\"+O+\"|\"+T+\"|\\\\\\\\)*\\\\)\",N=i.ENTITY,k=i.reHtmlTag,D=new RegExp(/^[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#\\$%&\\(\\)\\*\\+,\\-\\.\\/:;<=>\\?@\\[\\]\\^_`\\{\\|\\}~]/),x=new RegExp('^(?:\"('+T+'|[^\"\\\\x00])*\"|\\'('+T+\"|[^'\\\\x00])*'|\\\\((\"+T+\"|[^)\\\\x00])*\\\\))\"),I=new RegExp(\"^(?:[<](?:[^ <>\\\\t\\\\n\\\\\\\\\\\\x00]|\"+T+\"|\\\\\\\\)*[>])\"),z=new RegExp(\"^(?:\"+O+\"+|\"+T+\"|\\\\\\\\|\"+S+\")*\"),j=new RegExp(\"^\"+L),P=new RegExp(\"^\"+N,\"i\"),B=/`+/,F=/^`+/,R=/\\.\\.\\./g,W=/--+/g,Y=/^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,H=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\\x00-\\x20]*>/i,q=/^ *(?:\\n *)?/,U=/^\\s/,X=/\\s+/g,V=/ *$/,G=/^ */,$=/^ *(?:\\n|$)/,K=new RegExp(\"^\\\\[(?:[^\\\\\\\\\\\\[\\\\]]|\"+T+\"|\\\\\\\\){0,1000}\\\\]\"),Q=/^[^\\n`\\[\\]\\\\!<&*_'\"]+/m,Z=function(e){var t=new o(\"Text\");return t._literal=e,t},J=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},ee=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},te=function(){return this.match(q),!0},ne=function(e){var t=this.match(F);if(null===t)return!1;for(var n,r,i=this.pos;null!==(n=this.match(B));)if(n===t)return r=new o(\"Code\"),r._literal=this.subject.slice(i,this.pos-t.length).trim().replace(X,\" \"),e.appendChild(r),!0;return this.pos=i,e.appendChild(Z(t)),!0},re=function(e){var t,n=this.subject;return this.pos+=1,this.peek()===d?(this.pos+=1,t=new o(\"Hardbreak\"),e.appendChild(t)):j.test(n.charAt(this.pos))?(e.appendChild(Z(n.charAt(this.pos))),this.pos+=1):e.appendChild(Z(\"\\\\\")),!0},oe=function(e){var t,n,r;return(t=this.match(Y))?(n=t.slice(1,t.length-1),r=new o(\"Link\"),r._destination=s(\"mailto:\"+n),r._title=\"\",r.appendChild(Z(n)),e.appendChild(r),!0):!!(t=this.match(H))&&(n=t.slice(1,t.length-1),r=new o(\"Link\"),r._destination=s(n),r._title=\"\",r.appendChild(Z(n)),e.appendChild(r),!0)},ie=function(e){var t=this.match(k);if(null===t)return!1;var n=new o(\"HtmlInline\");return n._literal=t,e.appendChild(n),!0},ae=function(e){var t,n,r,o,i,a,s,u,c,d,f,h=0,m=this.pos;if(e===C||e===E)h++,this.pos++;else for(;this.peek()===e;)h++,this.pos++;return 0===h?null:(t=0===m?\"\\n\":this.subject.charAt(m-1),r=this.peek(),n=r===-1?\"\\n\":l(r),u=U.test(n),c=D.test(n),d=U.test(t),f=D.test(t),o=!(u||c&&!d&&!f),i=!(d||f&&!u&&!c),e===p?(a=o&&(!i||f),s=i&&(!o||c)):e===C||e===E?(a=o&&!i,s=i):(a=o,s=i),this.pos=m,{numdelims:h,can_open:a,can_close:s})},se=function(e,t){var n=this.scanDelims(e);if(!n)return!1;var r,o=n.numdelims,i=this.pos;this.pos+=o,r=e===C?\"’\":e===E?\"“\":this.subject.slice(i,this.pos);var a=Z(r);return t.appendChild(a),this.delimiters={cc:e,numdelims:o,node:a,previous:this.delimiters,next:null,can_open:n.can_open,can_close:n.can_close,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},ue=function(e){null!==e.previous&&(e.previous.next=e.next),null===e.next?this.delimiters=e.previous:e.next.previous=e.previous},le=function(e,t){e.next!==t&&(e.next=t,t.previous=e)},ce=function(e){var t,n,r,i,a,s,u,l,c,d,h=[];for(h[p]=e,h[f]=e,h[C]=e,h[E]=e,n=this.delimiters;null!==n&&n.previous!==e;)n=n.previous;for(;null!==n;){var m=n.cc;if(!n.can_close||m!==p&&m!==f&&m!==C&&m!==E)n=n.next;else{for(t=n.previous,d=!1;null!==t&&t!==e&&t!==h[m];){if(t.cc===n.cc&&t.can_open){d=!0;break}t=t.previous}if(r=n,m===f||m===p)if(d){u=n.numdelims<3||t.numdelims<3?n.numdelims<=t.numdelims?n.numdelims:t.numdelims:n.numdelims%2===0?2:1,i=t.node,a=n.node,t.numdelims-=u,n.numdelims-=u,i._literal=i._literal.slice(0,i._literal.length-u),a._literal=a._literal.slice(0,a._literal.length-u);var g=new o(1===u?\"Emph\":\"Strong\");for(l=i._next;l&&l!==a;)c=l._next,l.unlink(),g.appendChild(l),l=c;i.insertAfter(g),le(t,n),0===t.numdelims&&(i.unlink(),this.removeDelimiter(t)),0===n.numdelims&&(a.unlink(),s=n.next,this.removeDelimiter(n),n=s)}else n=n.next;else m===C?(n.node._literal=\"’\",d&&(t.node._literal=\"‘\"),n=n.next):m===E&&(n.node._literal=\"”\",d&&(t.node.literal=\"“\"),n=n.next);d||(h[m]=r.previous,r.can_open||this.removeDelimiter(r))}}for(;null!==this.delimiters&&this.delimiters!==e;)this.removeDelimiter(this.delimiters)},de=function(){var e=this.match(x);return null===e?null:u(e.substr(1,e.length-2))},fe=function(){var e=this.match(I);return null===e?(e=this.match(z),null===e?null:s(u(e))):s(u(e.substr(1,e.length-2)))},pe=function(){var e=this.match(K);return null===e||e.length>1001?0:e.length},he=function(e){var t=this.pos;this.pos+=1;var n=Z(\"[\");return e.appendChild(n),this.delimiters={cc:m,numdelims:1,node:n,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:t,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters),!0},me=function(e){var t=this.pos;if(this.pos+=1,this.peek()===m){this.pos+=1;var n=Z(\"![\");e.appendChild(n),this.delimiters={cc:b,numdelims:1,node:n,previous:this.delimiters,next:null,can_open:!0,can_close:!1,index:t+1,active:!0},null!==this.delimiters.previous&&(this.delimiters.previous.next=this.delimiters)}else e.appendChild(Z(\"!\"));return!0},ge=function(e){var t,n,r,i,s,u,l=!1;for(this.pos+=1,t=this.pos,u=this.delimiters;null!==u&&u.cc!==m&&u.cc!==b;)u=u.previous;if(null===u)return e.appendChild(Z(\"]\")),!0;if(!u.active)return e.appendChild(Z(\"]\")),this.removeDelimiter(u),!0;if(n=u.cc===b,this.peek()===M)this.pos++,this.spnl()&&null!==(r=this.parseLinkDestination())&&this.spnl()&&(U.test(this.subject.charAt(this.pos-1))&&(i=this.parseLinkTitle()),!0)&&this.spnl()&&this.peek()===A&&(this.pos+=1,l=!0);else{var c=this.pos,d=this.pos,f=this.parseLinkLabel();s=0===f||2===f?this.subject.slice(u.index,t):this.subject.slice(d,d+f),0===f&&(this.pos=c);var p=this.refmap[a(s)];p&&(r=p.destination,i=p.title,l=!0)}if(l){var h=new o(n?\"Image\":\"Link\");h._destination=r,h._title=i||\"\";var g,_;for(g=u.node._next;g;)_=g._next,g.unlink(),h.appendChild(g),g=_;if(e.appendChild(h),this.processEmphasis(u.previous),u.node.unlink(),!n)for(u=this.delimiters;null!==u;)u.cc===m&&(u.active=!1),u=u.previous;return!0}return this.removeDelimiter(u),this.pos=t,e.appendChild(Z(\"]\")),!0},_e=function(e){var t;return!!(t=this.match(P))&&(e.appendChild(Z(c(t))),!0)},be=function(e){var t;return!!(t=this.match(Q))&&(this.options.smart?e.appendChild(Z(t.replace(R,\"…\").replace(W,function(e){var t=0,n=0;return e.length%3===0?n=e.length/3:e.length%2===0?t=e.length/2:e.length%3===2?(t=1,n=(e.length-2)/3):(t=2,n=(e.length-4)/3),\"—\".repeat(n)+\"–\".repeat(t)}))):e.appendChild(Z(t)),!0)},ye=function(e){this.pos+=1;var t=e._lastChild;if(t&&\"Text\"===t.type&&\" \"===t._literal[t._literal.length-1]){var n=\" \"===t._literal[t._literal.length-2];t._literal=t._literal.replace(V,\"\"),e.appendChild(new o(n?\"Hardbreak\":\"Softbreak\"))}else e.appendChild(new o(\"Softbreak\"));return this.match(G),!0},ve=function(e,t){this.subject=e,this.pos=0;var n,r,o,i,s=this.pos;if(i=this.parseLinkLabel(),0===i)return 0;if(n=this.subject.substr(0,i),this.peek()!==w)return this.pos=s,0;if(this.pos++,this.spnl(),r=this.parseLinkDestination(),null===r||0===r.length)return this.pos=s,0;var u=this.pos;this.spnl(),o=this.parseLinkTitle(),null===o&&(o=\"\",this.pos=u);var l=!0;if(null===this.match($)&&(\"\"===o?l=!1:(o=\"\",this.pos=u,l=null!==this.match($))),!l)return this.pos=s,0;var c=a(n);return\"\"===c?(this.pos=s,0):(t[c]||(t[c]={destination:r,title:o}),this.pos-s)},Me=function(e){var t=!1,n=this.peek();if(n===-1)return!1;switch(n){case d:t=this.parseNewline(e);break;case y:t=this.parseBackslash(e);break;case h:t=this.parseBackticks(e);break;case f:case p:t=this.handleDelim(n,e);break;case C:case E:t=this.options.smart&&this.handleDelim(n,e);break;case m:t=this.parseOpenBracket(e);break;case b:t=this.parseBang(e);break;case g:t=this.parseCloseBracket(e);break;case _:t=this.parseAutolink(e)||this.parseHtmlTag(e);break;case v:t=this.parseEntity(e);break;default:t=this.parseString(e)}return t||(this.pos+=1,e.appendChild(Z(l(n)))),!0},Ae=function(e){for(this.subject=e._string_content.trim(),this.pos=0,this.delimiters=null;this.parseInline(e););e._string_content=null,this.processEmphasis(null)};e.exports=r},function(e,t){\"use strict\";var n=/[ \\t\\r\\n]+|[A-Z\\xB5\\xC0-\\xD6\\xD8-\\xDF\\u0100\\u0102\\u0104\\u0106\\u0108\\u010A\\u010C\\u010E\\u0110\\u0112\\u0114\\u0116\\u0118\\u011A\\u011C\\u011E\\u0120\\u0122\\u0124\\u0126\\u0128\\u012A\\u012C\\u012E\\u0130\\u0132\\u0134\\u0136\\u0139\\u013B\\u013D\\u013F\\u0141\\u0143\\u0145\\u0147\\u0149\\u014A\\u014C\\u014E\\u0150\\u0152\\u0154\\u0156\\u0158\\u015A\\u015C\\u015E\\u0160\\u0162\\u0164\\u0166\\u0168\\u016A\\u016C\\u016E\\u0170\\u0172\\u0174\\u0176\\u0178\\u0179\\u017B\\u017D\\u017F\\u0181\\u0182\\u0184\\u0186\\u0187\\u0189-\\u018B\\u018E-\\u0191\\u0193\\u0194\\u0196-\\u0198\\u019C\\u019D\\u019F\\u01A0\\u01A2\\u01A4\\u01A6\\u01A7\\u01A9\\u01AC\\u01AE\\u01AF\\u01B1-\\u01B3\\u01B5\\u01B7\\u01B8\\u01BC\\u01C4\\u01C5\\u01C7\\u01C8\\u01CA\\u01CB\\u01CD\\u01CF\\u01D1\\u01D3\\u01D5\\u01D7\\u01D9\\u01DB\\u01DE\\u01E0\\u01E2\\u01E4\\u01E6\\u01E8\\u01EA\\u01EC\\u01EE\\u01F0-\\u01F2\\u01F4\\u01F6-\\u01F8\\u01FA\\u01FC\\u01FE\\u0200\\u0202\\u0204\\u0206\\u0208\\u020A\\u020C\\u020E\\u0210\\u0212\\u0214\\u0216\\u0218\\u021A\\u021C\\u021E\\u0220\\u0222\\u0224\\u0226\\u0228\\u022A\\u022C\\u022E\\u0230\\u0232\\u023A\\u023B\\u023D\\u023E\\u0241\\u0243-\\u0246\\u0248\\u024A\\u024C\\u024E\\u0345\\u0370\\u0372\\u0376\\u037F\\u0386\\u0388-\\u038A\\u038C\\u038E-\\u03A1\\u03A3-\\u03AB\\u03B0\\u03C2\\u03CF-\\u03D1\\u03D5\\u03D6\\u03D8\\u03DA\\u03DC\\u03DE\\u03E0\\u03E2\\u03E4\\u03E6\\u03E8\\u03EA\\u03EC\\u03EE\\u03F0\\u03F1\\u03F4\\u03F5\\u03F7\\u03F9\\u03FA\\u03FD-\\u042F\\u0460\\u0462\\u0464\\u0466\\u0468\\u046A\\u046C\\u046E\\u0470\\u0472\\u0474\\u0476\\u0478\\u047A\\u047C\\u047E\\u0480\\u048A\\u048C\\u048E\\u0490\\u0492\\u0494\\u0496\\u0498\\u049A\\u049C\\u049E\\u04A0\\u04A2\\u04A4\\u04A6\\u04A8\\u04AA\\u04AC\\u04AE\\u04B0\\u04B2\\u04B4\\u04B6\\u04B8\\u04BA\\u04BC\\u04BE\\u04C0\\u04C1\\u04C3\\u04C5\\u04C7\\u04C9\\u04CB\\u04CD\\u04D0\\u04D2\\u04D4\\u04D6\\u04D8\\u04DA\\u04DC\\u04DE\\u04E0\\u04E2\\u04E4\\u04E6\\u04E8\\u04EA\\u04EC\\u04EE\\u04F0\\u04F2\\u04F4\\u04F6\\u04F8\\u04FA\\u04FC\\u04FE\\u0500\\u0502\\u0504\\u0506\\u0508\\u050A\\u050C\\u050E\\u0510\\u0512\\u0514\\u0516\\u0518\\u051A\\u051C\\u051E\\u0520\\u0522\\u0524\\u0526\\u0528\\u052A\\u052C\\u052E\\u0531-\\u0556\\u0587\\u10A0-\\u10C5\\u10C7\\u10CD\\u1E00\\u1E02\\u1E04\\u1E06\\u1E08\\u1E0A\\u1E0C\\u1E0E\\u1E10\\u1E12\\u1E14\\u1E16\\u1E18\\u1E1A\\u1E1C\\u1E1E\\u1E20\\u1E22\\u1E24\\u1E26\\u1E28\\u1E2A\\u1E2C\\u1E2E\\u1E30\\u1E32\\u1E34\\u1E36\\u1E38\\u1E3A\\u1E3C\\u1E3E\\u1E40\\u1E42\\u1E44\\u1E46\\u1E48\\u1E4A\\u1E4C\\u1E4E\\u1E50\\u1E52\\u1E54\\u1E56\\u1E58\\u1E5A\\u1E5C\\u1E5E\\u1E60\\u1E62\\u1E64\\u1E66\\u1E68\\u1E6A\\u1E6C\\u1E6E\\u1E70\\u1E72\\u1E74\\u1E76\\u1E78\\u1E7A\\u1E7C\\u1E7E\\u1E80\\u1E82\\u1E84\\u1E86\\u1E88\\u1E8A\\u1E8C\\u1E8E\\u1E90\\u1E92\\u1E94\\u1E96-\\u1E9B\\u1E9E\\u1EA0\\u1EA2\\u1EA4\\u1EA6\\u1EA8\\u1EAA\\u1EAC\\u1EAE\\u1EB0\\u1EB2\\u1EB4\\u1EB6\\u1EB8\\u1EBA\\u1EBC\\u1EBE\\u1EC0\\u1EC2\\u1EC4\\u1EC6\\u1EC8\\u1ECA\\u1ECC\\u1ECE\\u1ED0\\u1ED2\\u1ED4\\u1ED6\\u1ED8\\u1EDA\\u1EDC\\u1EDE\\u1EE0\\u1EE2\\u1EE4\\u1EE6\\u1EE8\\u1EEA\\u1EEC\\u1EEE\\u1EF0\\u1EF2\\u1EF4\\u1EF6\\u1EF8\\u1EFA\\u1EFC\\u1EFE\\u1F08-\\u1F0F\\u1F18-\\u1F1D\\u1F28-\\u1F2F\\u1F38-\\u1F3F\\u1F48-\\u1F4D\\u1F50\\u1F52\\u1F54\\u1F56\\u1F59\\u1F5B\\u1F5D\\u1F5F\\u1F68-\\u1F6F\\u1F80-\\u1FAF\\u1FB2-\\u1FB4\\u1FB6-\\u1FBC\\u1FBE\\u1FC2-\\u1FC4\\u1FC6-\\u1FCC\\u1FD2\\u1FD3\\u1FD6-\\u1FDB\\u1FE2-\\u1FE4\\u1FE6-\\u1FEC\\u1FF2-\\u1FF4\\u1FF6-\\u1FFC\\u2126\\u212A\\u212B\\u2132\\u2160-\\u216F\\u2183\\u24B6-\\u24CF\\u2C00-\\u2C2E\\u2C60\\u2C62-\\u2C64\\u2C67\\u2C69\\u2C6B\\u2C6D-\\u2C70\\u2C72\\u2C75\\u2C7E-\\u2C80\\u2C82\\u2C84\\u2C86\\u2C88\\u2C8A\\u2C8C\\u2C8E\\u2C90\\u2C92\\u2C94\\u2C96\\u2C98\\u2C9A\\u2C9C\\u2C9E\\u2CA0\\u2CA2\\u2CA4\\u2CA6\\u2CA8\\u2CAA\\u2CAC\\u2CAE\\u2CB0\\u2CB2\\u2CB4\\u2CB6\\u2CB8\\u2CBA\\u2CBC\\u2CBE\\u2CC0\\u2CC2\\u2CC4\\u2CC6\\u2CC8\\u2CCA\\u2CCC\\u2CCE\\u2CD0\\u2CD2\\u2CD4\\u2CD6\\u2CD8\\u2CDA\\u2CDC\\u2CDE\\u2CE0\\u2CE2\\u2CEB\\u2CED\\u2CF2\\uA640\\uA642\\uA644\\uA646\\uA648\\uA64A\\uA64C\\uA64E\\uA650\\uA652\\uA654\\uA656\\uA658\\uA65A\\uA65C\\uA65E\\uA660\\uA662\\uA664\\uA666\\uA668\\uA66A\\uA66C\\uA680\\uA682\\uA684\\uA686\\uA688\\uA68A\\uA68C\\uA68E\\uA690\\uA692\\uA694\\uA696\\uA698\\uA69A\\uA722\\uA724\\uA726\\uA728\\uA72A\\uA72C\\uA72E\\uA732\\uA734\\uA736\\uA738\\uA73A\\uA73C\\uA73E\\uA740\\uA742\\uA744\\uA746\\uA748\\uA74A\\uA74C\\uA74E\\uA750\\uA752\\uA754\\uA756\\uA758\\uA75A\\uA75C\\uA75E\\uA760\\uA762\\uA764\\uA766\\uA768\\uA76A\\uA76C\\uA76E\\uA779\\uA77B\\uA77D\\uA77E\\uA780\\uA782\\uA784\\uA786\\uA78B\\uA78D\\uA790\\uA792\\uA796\\uA798\\uA79A\\uA79C\\uA79E\\uA7A0\\uA7A2\\uA7A4\\uA7A6\\uA7A8\\uA7AA-\\uA7AD\\uA7B0\\uA7B1\\uFB00-\\uFB06\\uFB13-\\uFB17\\uFF21-\\uFF3A]|\\uD801[\\uDC00-\\uDC27]|\\uD806[\\uDCA0-\\uDCBF]/g,r={\nA:\"a\",B:\"b\",C:\"c\",D:\"d\",E:\"e\",F:\"f\",G:\"g\",H:\"h\",I:\"i\",J:\"j\",K:\"k\",L:\"l\",M:\"m\",N:\"n\",O:\"o\",P:\"p\",Q:\"q\",R:\"r\",S:\"s\",T:\"t\",U:\"u\",V:\"v\",W:\"w\",X:\"x\",Y:\"y\",Z:\"z\",\"µ\":\"μ\",\"À\":\"à\",\"Á\":\"á\",\"Â\":\"â\",\"Ã\":\"ã\",\"Ä\":\"ä\",\"Å\":\"å\",\"Æ\":\"æ\",\"Ç\":\"ç\",\"È\":\"è\",\"É\":\"é\",\"Ê\":\"ê\",\"Ë\":\"ë\",\"Ì\":\"ì\",\"Í\":\"í\",\"Î\":\"î\",\"Ï\":\"ï\",\"Ð\":\"ð\",\"Ñ\":\"ñ\",\"Ò\":\"ò\",\"Ó\":\"ó\",\"Ô\":\"ô\",\"Õ\":\"õ\",\"Ö\":\"ö\",\"Ø\":\"ø\",\"Ù\":\"ù\",\"Ú\":\"ú\",\"Û\":\"û\",\"Ü\":\"ü\",\"Ý\":\"ý\",\"Þ\":\"þ\",\"Ā\":\"ā\",\"Ă\":\"ă\",\"Ą\":\"ą\",\"Ć\":\"ć\",\"Ĉ\":\"ĉ\",\"Ċ\":\"ċ\",\"Č\":\"č\",\"Ď\":\"ď\",\"Đ\":\"đ\",\"Ē\":\"ē\",\"Ĕ\":\"ĕ\",\"Ė\":\"ė\",\"Ę\":\"ę\",\"Ě\":\"ě\",\"Ĝ\":\"ĝ\",\"Ğ\":\"ğ\",\"Ġ\":\"ġ\",\"Ģ\":\"ģ\",\"Ĥ\":\"ĥ\",\"Ħ\":\"ħ\",\"Ĩ\":\"ĩ\",\"Ī\":\"ī\",\"Ĭ\":\"ĭ\",\"Į\":\"į\",\"IJ\":\"ij\",\"Ĵ\":\"ĵ\",\"Ķ\":\"ķ\",\"Ĺ\":\"ĺ\",\"Ļ\":\"ļ\",\"Ľ\":\"ľ\",\"Ŀ\":\"ŀ\",\"Ł\":\"ł\",\"Ń\":\"ń\",\"Ņ\":\"ņ\",\"Ň\":\"ň\",\"Ŋ\":\"ŋ\",\"Ō\":\"ō\",\"Ŏ\":\"ŏ\",\"Ő\":\"ő\",\"Œ\":\"œ\",\"Ŕ\":\"ŕ\",\"Ŗ\":\"ŗ\",\"Ř\":\"ř\",\"Ś\":\"ś\",\"Ŝ\":\"ŝ\",\"Ş\":\"ş\",\"Š\":\"š\",\"Ţ\":\"ţ\",\"Ť\":\"ť\",\"Ŧ\":\"ŧ\",\"Ũ\":\"ũ\",\"Ū\":\"ū\",\"Ŭ\":\"ŭ\",\"Ů\":\"ů\",\"Ű\":\"ű\",\"Ų\":\"ų\",\"Ŵ\":\"ŵ\",\"Ŷ\":\"ŷ\",\"Ÿ\":\"ÿ\",\"Ź\":\"ź\",\"Ż\":\"ż\",\"Ž\":\"ž\",\"ſ\":\"s\",\"Ɓ\":\"ɓ\",\"Ƃ\":\"ƃ\",\"Ƅ\":\"ƅ\",\"Ɔ\":\"ɔ\",\"Ƈ\":\"ƈ\",\"Ɖ\":\"ɖ\",\"Ɗ\":\"ɗ\",\"Ƌ\":\"ƌ\",\"Ǝ\":\"ǝ\",\"Ə\":\"ə\",\"Ɛ\":\"ɛ\",\"Ƒ\":\"ƒ\",\"Ɠ\":\"ɠ\",\"Ɣ\":\"ɣ\",\"Ɩ\":\"ɩ\",\"Ɨ\":\"ɨ\",\"Ƙ\":\"ƙ\",\"Ɯ\":\"ɯ\",\"Ɲ\":\"ɲ\",\"Ɵ\":\"ɵ\",\"Ơ\":\"ơ\",\"Ƣ\":\"ƣ\",\"Ƥ\":\"ƥ\",\"Ʀ\":\"ʀ\",\"Ƨ\":\"ƨ\",\"Ʃ\":\"ʃ\",\"Ƭ\":\"ƭ\",\"Ʈ\":\"ʈ\",\"Ư\":\"ư\",\"Ʊ\":\"ʊ\",\"Ʋ\":\"ʋ\",\"Ƴ\":\"ƴ\",\"Ƶ\":\"ƶ\",\"Ʒ\":\"ʒ\",\"Ƹ\":\"ƹ\",\"Ƽ\":\"ƽ\",\"DŽ\":\"dž\",\"Dž\":\"dž\",\"LJ\":\"lj\",\"Lj\":\"lj\",\"NJ\":\"nj\",\"Nj\":\"nj\",\"Ǎ\":\"ǎ\",\"Ǐ\":\"ǐ\",\"Ǒ\":\"ǒ\",\"Ǔ\":\"ǔ\",\"Ǖ\":\"ǖ\",\"Ǘ\":\"ǘ\",\"Ǚ\":\"ǚ\",\"Ǜ\":\"ǜ\",\"Ǟ\":\"ǟ\",\"Ǡ\":\"ǡ\",\"Ǣ\":\"ǣ\",\"Ǥ\":\"ǥ\",\"Ǧ\":\"ǧ\",\"Ǩ\":\"ǩ\",\"Ǫ\":\"ǫ\",\"Ǭ\":\"ǭ\",\"Ǯ\":\"ǯ\",\"DZ\":\"dz\",\"Dz\":\"dz\",\"Ǵ\":\"ǵ\",\"Ƕ\":\"ƕ\",\"Ƿ\":\"ƿ\",\"Ǹ\":\"ǹ\",\"Ǻ\":\"ǻ\",\"Ǽ\":\"ǽ\",\"Ǿ\":\"ǿ\",\"Ȁ\":\"ȁ\",\"Ȃ\":\"ȃ\",\"Ȅ\":\"ȅ\",\"Ȇ\":\"ȇ\",\"Ȉ\":\"ȉ\",\"Ȋ\":\"ȋ\",\"Ȍ\":\"ȍ\",\"Ȏ\":\"ȏ\",\"Ȑ\":\"ȑ\",\"Ȓ\":\"ȓ\",\"Ȕ\":\"ȕ\",\"Ȗ\":\"ȗ\",\"Ș\":\"ș\",\"Ț\":\"ț\",\"Ȝ\":\"ȝ\",\"Ȟ\":\"ȟ\",\"Ƞ\":\"ƞ\",\"Ȣ\":\"ȣ\",\"Ȥ\":\"ȥ\",\"Ȧ\":\"ȧ\",\"Ȩ\":\"ȩ\",\"Ȫ\":\"ȫ\",\"Ȭ\":\"ȭ\",\"Ȯ\":\"ȯ\",\"Ȱ\":\"ȱ\",\"Ȳ\":\"ȳ\",\"Ⱥ\":\"ⱥ\",\"Ȼ\":\"ȼ\",\"Ƚ\":\"ƚ\",\"Ⱦ\":\"ⱦ\",\"Ɂ\":\"ɂ\",\"Ƀ\":\"ƀ\",\"Ʉ\":\"ʉ\",\"Ʌ\":\"ʌ\",\"Ɇ\":\"ɇ\",\"Ɉ\":\"ɉ\",\"Ɋ\":\"ɋ\",\"Ɍ\":\"ɍ\",\"Ɏ\":\"ɏ\",\"ͅ\":\"ι\",\"Ͱ\":\"ͱ\",\"Ͳ\":\"ͳ\",\"Ͷ\":\"ͷ\",\"Ϳ\":\"ϳ\",\"Ά\":\"ά\",\"Έ\":\"έ\",\"Ή\":\"ή\",\"Ί\":\"ί\",\"Ό\":\"ό\",\"Ύ\":\"ύ\",\"Ώ\":\"ώ\",\"Α\":\"α\",\"Β\":\"β\",\"Γ\":\"γ\",\"Δ\":\"δ\",\"Ε\":\"ε\",\"Ζ\":\"ζ\",\"Η\":\"η\",\"Θ\":\"θ\",\"Ι\":\"ι\",\"Κ\":\"κ\",\"Λ\":\"λ\",\"Μ\":\"μ\",\"Ν\":\"ν\",\"Ξ\":\"ξ\",\"Ο\":\"ο\",\"Π\":\"π\",\"Ρ\":\"ρ\",\"Σ\":\"σ\",\"Τ\":\"τ\",\"Υ\":\"υ\",\"Φ\":\"φ\",\"Χ\":\"χ\",\"Ψ\":\"ψ\",\"Ω\":\"ω\",\"Ϊ\":\"ϊ\",\"Ϋ\":\"ϋ\",\"ς\":\"σ\",\"Ϗ\":\"ϗ\",\"ϐ\":\"β\",\"ϑ\":\"θ\",\"ϕ\":\"φ\",\"ϖ\":\"π\",\"Ϙ\":\"ϙ\",\"Ϛ\":\"ϛ\",\"Ϝ\":\"ϝ\",\"Ϟ\":\"ϟ\",\"Ϡ\":\"ϡ\",\"Ϣ\":\"ϣ\",\"Ϥ\":\"ϥ\",\"Ϧ\":\"ϧ\",\"Ϩ\":\"ϩ\",\"Ϫ\":\"ϫ\",\"Ϭ\":\"ϭ\",\"Ϯ\":\"ϯ\",\"ϰ\":\"κ\",\"ϱ\":\"ρ\",\"ϴ\":\"θ\",\"ϵ\":\"ε\",\"Ϸ\":\"ϸ\",\"Ϲ\":\"ϲ\",\"Ϻ\":\"ϻ\",\"Ͻ\":\"ͻ\",\"Ͼ\":\"ͼ\",\"Ͽ\":\"ͽ\",\"Ѐ\":\"ѐ\",\"Ё\":\"ё\",\"Ђ\":\"ђ\",\"Ѓ\":\"ѓ\",\"Є\":\"є\",\"Ѕ\":\"ѕ\",\"І\":\"і\",\"Ї\":\"ї\",\"Ј\":\"ј\",\"Љ\":\"љ\",\"Њ\":\"њ\",\"Ћ\":\"ћ\",\"Ќ\":\"ќ\",\"Ѝ\":\"ѝ\",\"Ў\":\"ў\",\"Џ\":\"џ\",\"А\":\"а\",\"Б\":\"б\",\"В\":\"в\",\"Г\":\"г\",\"Д\":\"д\",\"Е\":\"е\",\"Ж\":\"ж\",\"З\":\"з\",\"И\":\"и\",\"Й\":\"й\",\"К\":\"к\",\"Л\":\"л\",\"М\":\"м\",\"Н\":\"н\",\"О\":\"о\",\"П\":\"п\",\"Р\":\"р\",\"С\":\"с\",\"Т\":\"т\",\"У\":\"у\",\"Ф\":\"ф\",\"Х\":\"х\",\"Ц\":\"ц\",\"Ч\":\"ч\",\"Ш\":\"ш\",\"Щ\":\"щ\",\"Ъ\":\"ъ\",\"Ы\":\"ы\",\"Ь\":\"ь\",\"Э\":\"э\",\"Ю\":\"ю\",\"Я\":\"я\",\"Ѡ\":\"ѡ\",\"Ѣ\":\"ѣ\",\"Ѥ\":\"ѥ\",\"Ѧ\":\"ѧ\",\"Ѩ\":\"ѩ\",\"Ѫ\":\"ѫ\",\"Ѭ\":\"ѭ\",\"Ѯ\":\"ѯ\",\"Ѱ\":\"ѱ\",\"Ѳ\":\"ѳ\",\"Ѵ\":\"ѵ\",\"Ѷ\":\"ѷ\",\"Ѹ\":\"ѹ\",\"Ѻ\":\"ѻ\",\"Ѽ\":\"ѽ\",\"Ѿ\":\"ѿ\",\"Ҁ\":\"ҁ\",\"Ҋ\":\"ҋ\",\"Ҍ\":\"ҍ\",\"Ҏ\":\"ҏ\",\"Ґ\":\"ґ\",\"Ғ\":\"ғ\",\"Ҕ\":\"ҕ\",\"Җ\":\"җ\",\"Ҙ\":\"ҙ\",\"Қ\":\"қ\",\"Ҝ\":\"ҝ\",\"Ҟ\":\"ҟ\",\"Ҡ\":\"ҡ\",\"Ң\":\"ң\",\"Ҥ\":\"ҥ\",\"Ҧ\":\"ҧ\",\"Ҩ\":\"ҩ\",\"Ҫ\":\"ҫ\",\"Ҭ\":\"ҭ\",\"Ү\":\"ү\",\"Ұ\":\"ұ\",\"Ҳ\":\"ҳ\",\"Ҵ\":\"ҵ\",\"Ҷ\":\"ҷ\",\"Ҹ\":\"ҹ\",\"Һ\":\"һ\",\"Ҽ\":\"ҽ\",\"Ҿ\":\"ҿ\",\"Ӏ\":\"ӏ\",\"Ӂ\":\"ӂ\",\"Ӄ\":\"ӄ\",\"Ӆ\":\"ӆ\",\"Ӈ\":\"ӈ\",\"Ӊ\":\"ӊ\",\"Ӌ\":\"ӌ\",\"Ӎ\":\"ӎ\",\"Ӑ\":\"ӑ\",\"Ӓ\":\"ӓ\",\"Ӕ\":\"ӕ\",\"Ӗ\":\"ӗ\",\"Ә\":\"ә\",\"Ӛ\":\"ӛ\",\"Ӝ\":\"ӝ\",\"Ӟ\":\"ӟ\",\"Ӡ\":\"ӡ\",\"Ӣ\":\"ӣ\",\"Ӥ\":\"ӥ\",\"Ӧ\":\"ӧ\",\"Ө\":\"ө\",\"Ӫ\":\"ӫ\",\"Ӭ\":\"ӭ\",\"Ӯ\":\"ӯ\",\"Ӱ\":\"ӱ\",\"Ӳ\":\"ӳ\",\"Ӵ\":\"ӵ\",\"Ӷ\":\"ӷ\",\"Ӹ\":\"ӹ\",\"Ӻ\":\"ӻ\",\"Ӽ\":\"ӽ\",\"Ӿ\":\"ӿ\",\"Ԁ\":\"ԁ\",\"Ԃ\":\"ԃ\",\"Ԅ\":\"ԅ\",\"Ԇ\":\"ԇ\",\"Ԉ\":\"ԉ\",\"Ԋ\":\"ԋ\",\"Ԍ\":\"ԍ\",\"Ԏ\":\"ԏ\",\"Ԑ\":\"ԑ\",\"Ԓ\":\"ԓ\",\"Ԕ\":\"ԕ\",\"Ԗ\":\"ԗ\",\"Ԙ\":\"ԙ\",\"Ԛ\":\"ԛ\",\"Ԝ\":\"ԝ\",\"Ԟ\":\"ԟ\",\"Ԡ\":\"ԡ\",\"Ԣ\":\"ԣ\",\"Ԥ\":\"ԥ\",\"Ԧ\":\"ԧ\",\"Ԩ\":\"ԩ\",\"Ԫ\":\"ԫ\",\"Ԭ\":\"ԭ\",\"Ԯ\":\"ԯ\",\"Ա\":\"ա\",\"Բ\":\"բ\",\"Գ\":\"գ\",\"Դ\":\"դ\",\"Ե\":\"ե\",\"Զ\":\"զ\",\"Է\":\"է\",\"Ը\":\"ը\",\"Թ\":\"թ\",\"Ժ\":\"ժ\",\"Ի\":\"ի\",\"Լ\":\"լ\",\"Խ\":\"խ\",\"Ծ\":\"ծ\",\"Կ\":\"կ\",\"Հ\":\"հ\",\"Ձ\":\"ձ\",\"Ղ\":\"ղ\",\"Ճ\":\"ճ\",\"Մ\":\"մ\",\"Յ\":\"յ\",\"Ն\":\"ն\",\"Շ\":\"շ\",\"Ո\":\"ո\",\"Չ\":\"չ\",\"Պ\":\"պ\",\"Ջ\":\"ջ\",\"Ռ\":\"ռ\",\"Ս\":\"ս\",\"Վ\":\"վ\",\"Տ\":\"տ\",\"Ր\":\"ր\",\"Ց\":\"ց\",\"Ւ\":\"ւ\",\"Փ\":\"փ\",\"Ք\":\"ք\",\"Օ\":\"օ\",\"Ֆ\":\"ֆ\",\"Ⴀ\":\"ⴀ\",\"Ⴁ\":\"ⴁ\",\"Ⴂ\":\"ⴂ\",\"Ⴃ\":\"ⴃ\",\"Ⴄ\":\"ⴄ\",\"Ⴅ\":\"ⴅ\",\"Ⴆ\":\"ⴆ\",\"Ⴇ\":\"ⴇ\",\"Ⴈ\":\"ⴈ\",\"Ⴉ\":\"ⴉ\",\"Ⴊ\":\"ⴊ\",\"Ⴋ\":\"ⴋ\",\"Ⴌ\":\"ⴌ\",\"Ⴍ\":\"ⴍ\",\"Ⴎ\":\"ⴎ\",\"Ⴏ\":\"ⴏ\",\"Ⴐ\":\"ⴐ\",\"Ⴑ\":\"ⴑ\",\"Ⴒ\":\"ⴒ\",\"Ⴓ\":\"ⴓ\",\"Ⴔ\":\"ⴔ\",\"Ⴕ\":\"ⴕ\",\"Ⴖ\":\"ⴖ\",\"Ⴗ\":\"ⴗ\",\"Ⴘ\":\"ⴘ\",\"Ⴙ\":\"ⴙ\",\"Ⴚ\":\"ⴚ\",\"Ⴛ\":\"ⴛ\",\"Ⴜ\":\"ⴜ\",\"Ⴝ\":\"ⴝ\",\"Ⴞ\":\"ⴞ\",\"Ⴟ\":\"ⴟ\",\"Ⴠ\":\"ⴠ\",\"Ⴡ\":\"ⴡ\",\"Ⴢ\":\"ⴢ\",\"Ⴣ\":\"ⴣ\",\"Ⴤ\":\"ⴤ\",\"Ⴥ\":\"ⴥ\",\"Ⴧ\":\"ⴧ\",\"Ⴭ\":\"ⴭ\",\"Ḁ\":\"ḁ\",\"Ḃ\":\"ḃ\",\"Ḅ\":\"ḅ\",\"Ḇ\":\"ḇ\",\"Ḉ\":\"ḉ\",\"Ḋ\":\"ḋ\",\"Ḍ\":\"ḍ\",\"Ḏ\":\"ḏ\",\"Ḑ\":\"ḑ\",\"Ḓ\":\"ḓ\",\"Ḕ\":\"ḕ\",\"Ḗ\":\"ḗ\",\"Ḙ\":\"ḙ\",\"Ḛ\":\"ḛ\",\"Ḝ\":\"ḝ\",\"Ḟ\":\"ḟ\",\"Ḡ\":\"ḡ\",\"Ḣ\":\"ḣ\",\"Ḥ\":\"ḥ\",\"Ḧ\":\"ḧ\",\"Ḩ\":\"ḩ\",\"Ḫ\":\"ḫ\",\"Ḭ\":\"ḭ\",\"Ḯ\":\"ḯ\",\"Ḱ\":\"ḱ\",\"Ḳ\":\"ḳ\",\"Ḵ\":\"ḵ\",\"Ḷ\":\"ḷ\",\"Ḹ\":\"ḹ\",\"Ḻ\":\"ḻ\",\"Ḽ\":\"ḽ\",\"Ḿ\":\"ḿ\",\"Ṁ\":\"ṁ\",\"Ṃ\":\"ṃ\",\"Ṅ\":\"ṅ\",\"Ṇ\":\"ṇ\",\"Ṉ\":\"ṉ\",\"Ṋ\":\"ṋ\",\"Ṍ\":\"ṍ\",\"Ṏ\":\"ṏ\",\"Ṑ\":\"ṑ\",\"Ṓ\":\"ṓ\",\"Ṕ\":\"ṕ\",\"Ṗ\":\"ṗ\",\"Ṙ\":\"ṙ\",\"Ṛ\":\"ṛ\",\"Ṝ\":\"ṝ\",\"Ṟ\":\"ṟ\",\"Ṡ\":\"ṡ\",\"Ṣ\":\"ṣ\",\"Ṥ\":\"ṥ\",\"Ṧ\":\"ṧ\",\"Ṩ\":\"ṩ\",\"Ṫ\":\"ṫ\",\"Ṭ\":\"ṭ\",\"Ṯ\":\"ṯ\",\"Ṱ\":\"ṱ\",\"Ṳ\":\"ṳ\",\"Ṵ\":\"ṵ\",\"Ṷ\":\"ṷ\",\"Ṹ\":\"ṹ\",\"Ṻ\":\"ṻ\",\"Ṽ\":\"ṽ\",\"Ṿ\":\"ṿ\",\"Ẁ\":\"ẁ\",\"Ẃ\":\"ẃ\",\"Ẅ\":\"ẅ\",\"Ẇ\":\"ẇ\",\"Ẉ\":\"ẉ\",\"Ẋ\":\"ẋ\",\"Ẍ\":\"ẍ\",\"Ẏ\":\"ẏ\",\"Ẑ\":\"ẑ\",\"Ẓ\":\"ẓ\",\"Ẕ\":\"ẕ\",\"ẛ\":\"ṡ\",\"Ạ\":\"ạ\",\"Ả\":\"ả\",\"Ấ\":\"ấ\",\"Ầ\":\"ầ\",\"Ẩ\":\"ẩ\",\"Ẫ\":\"ẫ\",\"Ậ\":\"ậ\",\"Ắ\":\"ắ\",\"Ằ\":\"ằ\",\"Ẳ\":\"ẳ\",\"Ẵ\":\"ẵ\",\"Ặ\":\"ặ\",\"Ẹ\":\"ẹ\",\"Ẻ\":\"ẻ\",\"Ẽ\":\"ẽ\",\"Ế\":\"ế\",\"Ề\":\"ề\",\"Ể\":\"ể\",\"Ễ\":\"ễ\",\"Ệ\":\"ệ\",\"Ỉ\":\"ỉ\",\"Ị\":\"ị\",\"Ọ\":\"ọ\",\"Ỏ\":\"ỏ\",\"Ố\":\"ố\",\"Ồ\":\"ồ\",\"Ổ\":\"ổ\",\"Ỗ\":\"ỗ\",\"Ộ\":\"ộ\",\"Ớ\":\"ớ\",\"Ờ\":\"ờ\",\"Ở\":\"ở\",\"Ỡ\":\"ỡ\",\"Ợ\":\"ợ\",\"Ụ\":\"ụ\",\"Ủ\":\"ủ\",\"Ứ\":\"ứ\",\"Ừ\":\"ừ\",\"Ử\":\"ử\",\"Ữ\":\"ữ\",\"Ự\":\"ự\",\"Ỳ\":\"ỳ\",\"Ỵ\":\"ỵ\",\"Ỷ\":\"ỷ\",\"Ỹ\":\"ỹ\",\"Ỻ\":\"ỻ\",\"Ỽ\":\"ỽ\",\"Ỿ\":\"ỿ\",\"Ἀ\":\"ἀ\",\"Ἁ\":\"ἁ\",\"Ἂ\":\"ἂ\",\"Ἃ\":\"ἃ\",\"Ἄ\":\"ἄ\",\"Ἅ\":\"ἅ\",\"Ἆ\":\"ἆ\",\"Ἇ\":\"ἇ\",\"Ἐ\":\"ἐ\",\"Ἑ\":\"ἑ\",\"Ἒ\":\"ἒ\",\"Ἓ\":\"ἓ\",\"Ἔ\":\"ἔ\",\"Ἕ\":\"ἕ\",\"Ἠ\":\"ἠ\",\"Ἡ\":\"ἡ\",\"Ἢ\":\"ἢ\",\"Ἣ\":\"ἣ\",\"Ἤ\":\"ἤ\",\"Ἥ\":\"ἥ\",\"Ἦ\":\"ἦ\",\"Ἧ\":\"ἧ\",\"Ἰ\":\"ἰ\",\"Ἱ\":\"ἱ\",\"Ἲ\":\"ἲ\",\"Ἳ\":\"ἳ\",\"Ἴ\":\"ἴ\",\"Ἵ\":\"ἵ\",\"Ἶ\":\"ἶ\",\"Ἷ\":\"ἷ\",\"Ὀ\":\"ὀ\",\"Ὁ\":\"ὁ\",\"Ὂ\":\"ὂ\",\"Ὃ\":\"ὃ\",\"Ὄ\":\"ὄ\",\"Ὅ\":\"ὅ\",\"Ὑ\":\"ὑ\",\"Ὓ\":\"ὓ\",\"Ὕ\":\"ὕ\",\"Ὗ\":\"ὗ\",\"Ὠ\":\"ὠ\",\"Ὡ\":\"ὡ\",\"Ὢ\":\"ὢ\",\"Ὣ\":\"ὣ\",\"Ὤ\":\"ὤ\",\"Ὥ\":\"ὥ\",\"Ὦ\":\"ὦ\",\"Ὧ\":\"ὧ\",\"Ᾰ\":\"ᾰ\",\"Ᾱ\":\"ᾱ\",\"Ὰ\":\"ὰ\",\"Ά\":\"ά\",\"ι\":\"ι\",\"Ὲ\":\"ὲ\",\"Έ\":\"έ\",\"Ὴ\":\"ὴ\",\"Ή\":\"ή\",\"Ῐ\":\"ῐ\",\"Ῑ\":\"ῑ\",\"Ὶ\":\"ὶ\",\"Ί\":\"ί\",\"Ῠ\":\"ῠ\",\"Ῡ\":\"ῡ\",\"Ὺ\":\"ὺ\",\"Ύ\":\"ύ\",\"Ῥ\":\"ῥ\",\"Ὸ\":\"ὸ\",\"Ό\":\"ό\",\"Ὼ\":\"ὼ\",\"Ώ\":\"ώ\",\"Ω\":\"ω\",\"K\":\"k\",\"Å\":\"å\",\"Ⅎ\":\"ⅎ\",\"Ⅰ\":\"ⅰ\",\"Ⅱ\":\"ⅱ\",\"Ⅲ\":\"ⅲ\",\"Ⅳ\":\"ⅳ\",\"Ⅴ\":\"ⅴ\",\"Ⅵ\":\"ⅵ\",\"Ⅶ\":\"ⅶ\",\"Ⅷ\":\"ⅷ\",\"Ⅸ\":\"ⅸ\",\"Ⅹ\":\"ⅹ\",\"Ⅺ\":\"ⅺ\",\"Ⅻ\":\"ⅻ\",\"Ⅼ\":\"ⅼ\",\"Ⅽ\":\"ⅽ\",\"Ⅾ\":\"ⅾ\",\"Ⅿ\":\"ⅿ\",\"Ↄ\":\"ↄ\",\"Ⓐ\":\"ⓐ\",\"Ⓑ\":\"ⓑ\",\"Ⓒ\":\"ⓒ\",\"Ⓓ\":\"ⓓ\",\"Ⓔ\":\"ⓔ\",\"Ⓕ\":\"ⓕ\",\"Ⓖ\":\"ⓖ\",\"Ⓗ\":\"ⓗ\",\"Ⓘ\":\"ⓘ\",\"Ⓙ\":\"ⓙ\",\"Ⓚ\":\"ⓚ\",\"Ⓛ\":\"ⓛ\",\"Ⓜ\":\"ⓜ\",\"Ⓝ\":\"ⓝ\",\"Ⓞ\":\"ⓞ\",\"Ⓟ\":\"ⓟ\",\"Ⓠ\":\"ⓠ\",\"Ⓡ\":\"ⓡ\",\"Ⓢ\":\"ⓢ\",\"Ⓣ\":\"ⓣ\",\"Ⓤ\":\"ⓤ\",\"Ⓥ\":\"ⓥ\",\"Ⓦ\":\"ⓦ\",\"Ⓧ\":\"ⓧ\",\"Ⓨ\":\"ⓨ\",\"Ⓩ\":\"ⓩ\",\"Ⰰ\":\"ⰰ\",\"Ⰱ\":\"ⰱ\",\"Ⰲ\":\"ⰲ\",\"Ⰳ\":\"ⰳ\",\"Ⰴ\":\"ⰴ\",\"Ⰵ\":\"ⰵ\",\"Ⰶ\":\"ⰶ\",\"Ⰷ\":\"ⰷ\",\"Ⰸ\":\"ⰸ\",\"Ⰹ\":\"ⰹ\",\"Ⰺ\":\"ⰺ\",\"Ⰻ\":\"ⰻ\",\"Ⰼ\":\"ⰼ\",\"Ⰽ\":\"ⰽ\",\"Ⰾ\":\"ⰾ\",\"Ⰿ\":\"ⰿ\",\"Ⱀ\":\"ⱀ\",\"Ⱁ\":\"ⱁ\",\"Ⱂ\":\"ⱂ\",\"Ⱃ\":\"ⱃ\",\"Ⱄ\":\"ⱄ\",\"Ⱅ\":\"ⱅ\",\"Ⱆ\":\"ⱆ\",\"Ⱇ\":\"ⱇ\",\"Ⱈ\":\"ⱈ\",\"Ⱉ\":\"ⱉ\",\"Ⱊ\":\"ⱊ\",\"Ⱋ\":\"ⱋ\",\"Ⱌ\":\"ⱌ\",\"Ⱍ\":\"ⱍ\",\"Ⱎ\":\"ⱎ\",\"Ⱏ\":\"ⱏ\",\"Ⱐ\":\"ⱐ\",\"Ⱑ\":\"ⱑ\",\"Ⱒ\":\"ⱒ\",\"Ⱓ\":\"ⱓ\",\"Ⱔ\":\"ⱔ\",\"Ⱕ\":\"ⱕ\",\"Ⱖ\":\"ⱖ\",\"Ⱗ\":\"ⱗ\",\"Ⱘ\":\"ⱘ\",\"Ⱙ\":\"ⱙ\",\"Ⱚ\":\"ⱚ\",\"Ⱛ\":\"ⱛ\",\"Ⱜ\":\"ⱜ\",\"Ⱝ\":\"ⱝ\",\"Ⱞ\":\"ⱞ\",\"Ⱡ\":\"ⱡ\",\"Ɫ\":\"ɫ\",\"Ᵽ\":\"ᵽ\",\"Ɽ\":\"ɽ\",\"Ⱨ\":\"ⱨ\",\"Ⱪ\":\"ⱪ\",\"Ⱬ\":\"ⱬ\",\"Ɑ\":\"ɑ\",\"Ɱ\":\"ɱ\",\"Ɐ\":\"ɐ\",\"Ɒ\":\"ɒ\",\"Ⱳ\":\"ⱳ\",\"Ⱶ\":\"ⱶ\",\"Ȿ\":\"ȿ\",\"Ɀ\":\"ɀ\",\"Ⲁ\":\"ⲁ\",\"Ⲃ\":\"ⲃ\",\"Ⲅ\":\"ⲅ\",\"Ⲇ\":\"ⲇ\",\"Ⲉ\":\"ⲉ\",\"Ⲋ\":\"ⲋ\",\"Ⲍ\":\"ⲍ\",\"Ⲏ\":\"ⲏ\",\"Ⲑ\":\"ⲑ\",\"Ⲓ\":\"ⲓ\",\"Ⲕ\":\"ⲕ\",\"Ⲗ\":\"ⲗ\",\"Ⲙ\":\"ⲙ\",\"Ⲛ\":\"ⲛ\",\"Ⲝ\":\"ⲝ\",\"Ⲟ\":\"ⲟ\",\"Ⲡ\":\"ⲡ\",\"Ⲣ\":\"ⲣ\",\"Ⲥ\":\"ⲥ\",\"Ⲧ\":\"ⲧ\",\"Ⲩ\":\"ⲩ\",\"Ⲫ\":\"ⲫ\",\"Ⲭ\":\"ⲭ\",\"Ⲯ\":\"ⲯ\",\"Ⲱ\":\"ⲱ\",\"Ⲳ\":\"ⲳ\",\"Ⲵ\":\"ⲵ\",\"Ⲷ\":\"ⲷ\",\"Ⲹ\":\"ⲹ\",\"Ⲻ\":\"ⲻ\",\"Ⲽ\":\"ⲽ\",\"Ⲿ\":\"ⲿ\",\"Ⳁ\":\"ⳁ\",\"Ⳃ\":\"ⳃ\",\"Ⳅ\":\"ⳅ\",\"Ⳇ\":\"ⳇ\",\"Ⳉ\":\"ⳉ\",\"Ⳋ\":\"ⳋ\",\"Ⳍ\":\"ⳍ\",\"Ⳏ\":\"ⳏ\",\"Ⳑ\":\"ⳑ\",\"Ⳓ\":\"ⳓ\",\"Ⳕ\":\"ⳕ\",\"Ⳗ\":\"ⳗ\",\"Ⳙ\":\"ⳙ\",\"Ⳛ\":\"ⳛ\",\"Ⳝ\":\"ⳝ\",\"Ⳟ\":\"ⳟ\",\"Ⳡ\":\"ⳡ\",\"Ⳣ\":\"ⳣ\",\"Ⳬ\":\"ⳬ\",\"Ⳮ\":\"ⳮ\",\"Ⳳ\":\"ⳳ\",\"Ꙁ\":\"ꙁ\",\"Ꙃ\":\"ꙃ\",\"Ꙅ\":\"ꙅ\",\"Ꙇ\":\"ꙇ\",\"Ꙉ\":\"ꙉ\",\"Ꙋ\":\"ꙋ\",\"Ꙍ\":\"ꙍ\",\"Ꙏ\":\"ꙏ\",\"Ꙑ\":\"ꙑ\",\"Ꙓ\":\"ꙓ\",\"Ꙕ\":\"ꙕ\",\"Ꙗ\":\"ꙗ\",\"Ꙙ\":\"ꙙ\",\"Ꙛ\":\"ꙛ\",\"Ꙝ\":\"ꙝ\",\"Ꙟ\":\"ꙟ\",\"Ꙡ\":\"ꙡ\",\"Ꙣ\":\"ꙣ\",\"Ꙥ\":\"ꙥ\",\"Ꙧ\":\"ꙧ\",\"Ꙩ\":\"ꙩ\",\"Ꙫ\":\"ꙫ\",\"Ꙭ\":\"ꙭ\",\"Ꚁ\":\"ꚁ\",\"Ꚃ\":\"ꚃ\",\"Ꚅ\":\"ꚅ\",\"Ꚇ\":\"ꚇ\",\"Ꚉ\":\"ꚉ\",\"Ꚋ\":\"ꚋ\",\"Ꚍ\":\"ꚍ\",\"Ꚏ\":\"ꚏ\",\"Ꚑ\":\"ꚑ\",\"Ꚓ\":\"ꚓ\",\"Ꚕ\":\"ꚕ\",\"Ꚗ\":\"ꚗ\",\"Ꚙ\":\"ꚙ\",\"Ꚛ\":\"ꚛ\",\"Ꜣ\":\"ꜣ\",\"Ꜥ\":\"ꜥ\",\"Ꜧ\":\"ꜧ\",\"Ꜩ\":\"ꜩ\",\"Ꜫ\":\"ꜫ\",\"Ꜭ\":\"ꜭ\",\"Ꜯ\":\"ꜯ\",\"Ꜳ\":\"ꜳ\",\"Ꜵ\":\"ꜵ\",\"Ꜷ\":\"ꜷ\",\"Ꜹ\":\"ꜹ\",\"Ꜻ\":\"ꜻ\",\"Ꜽ\":\"ꜽ\",\"Ꜿ\":\"ꜿ\",\"Ꝁ\":\"ꝁ\",\"Ꝃ\":\"ꝃ\",\"Ꝅ\":\"ꝅ\",\"Ꝇ\":\"ꝇ\",\"Ꝉ\":\"ꝉ\",\"Ꝋ\":\"ꝋ\",\"Ꝍ\":\"ꝍ\",\"Ꝏ\":\"ꝏ\",\"Ꝑ\":\"ꝑ\",\"Ꝓ\":\"ꝓ\",\"Ꝕ\":\"ꝕ\",\"Ꝗ\":\"ꝗ\",\"Ꝙ\":\"ꝙ\",\"Ꝛ\":\"ꝛ\",\"Ꝝ\":\"ꝝ\",\"Ꝟ\":\"ꝟ\",\"Ꝡ\":\"ꝡ\",\"Ꝣ\":\"ꝣ\",\"Ꝥ\":\"ꝥ\",\"Ꝧ\":\"ꝧ\",\"Ꝩ\":\"ꝩ\",\"Ꝫ\":\"ꝫ\",\"Ꝭ\":\"ꝭ\",\"Ꝯ\":\"ꝯ\",\"Ꝺ\":\"ꝺ\",\"Ꝼ\":\"ꝼ\",\"Ᵹ\":\"ᵹ\",\"Ꝿ\":\"ꝿ\",\"Ꞁ\":\"ꞁ\",\"Ꞃ\":\"ꞃ\",\"Ꞅ\":\"ꞅ\",\"Ꞇ\":\"ꞇ\",\"Ꞌ\":\"ꞌ\",\"Ɥ\":\"ɥ\",\"Ꞑ\":\"ꞑ\",\"Ꞓ\":\"ꞓ\",\"Ꞗ\":\"ꞗ\",\"Ꞙ\":\"ꞙ\",\"Ꞛ\":\"ꞛ\",\"Ꞝ\":\"ꞝ\",\"Ꞟ\":\"ꞟ\",\"Ꞡ\":\"ꞡ\",\"Ꞣ\":\"ꞣ\",\"Ꞥ\":\"ꞥ\",\"Ꞧ\":\"ꞧ\",\"Ꞩ\":\"ꞩ\",\"Ɦ\":\"ɦ\",\"Ɜ\":\"ɜ\",\"Ɡ\":\"ɡ\",\"Ɬ\":\"ɬ\",\"Ʞ\":\"ʞ\",\"Ʇ\":\"ʇ\",\"A\":\"a\",\"B\":\"b\",\"C\":\"c\",\"D\":\"d\",\"E\":\"e\",\"F\":\"f\",\"G\":\"g\",\"H\":\"h\",\"I\":\"i\",\"J\":\"j\",\"K\":\"k\",\"L\":\"l\",\"M\":\"m\",\"N\":\"n\",\"O\":\"o\",\"P\":\"p\",\"Q\":\"q\",\"R\":\"r\",\"S\":\"s\",\"T\":\"t\",\"U\":\"u\",\"V\":\"v\",\"W\":\"w\",\"X\":\"x\",\"Y\":\"y\",\"Z\":\"z\",\"𐐀\":\"𐐨\",\"𐐁\":\"𐐩\",\"𐐂\":\"𐐪\",\"𐐃\":\"𐐫\",\"𐐄\":\"𐐬\",\"𐐅\":\"𐐭\",\"𐐆\":\"𐐮\",\"𐐇\":\"𐐯\",\"𐐈\":\"𐐰\",\"𐐉\":\"𐐱\",\"𐐊\":\"𐐲\",\"𐐋\":\"𐐳\",\"𐐌\":\"𐐴\",\"𐐍\":\"𐐵\",\"𐐎\":\"𐐶\",\"𐐏\":\"𐐷\",\"𐐐\":\"𐐸\",\"𐐑\":\"𐐹\",\"𐐒\":\"𐐺\",\"𐐓\":\"𐐻\",\"𐐔\":\"𐐼\",\"𐐕\":\"𐐽\",\"𐐖\":\"𐐾\",\"𐐗\":\"𐐿\",\"𐐘\":\"𐑀\",\"𐐙\":\"𐑁\",\"𐐚\":\"𐑂\",\"𐐛\":\"𐑃\",\"𐐜\":\"𐑄\",\"𐐝\":\"𐑅\",\"𐐞\":\"𐑆\",\"𐐟\":\"𐑇\",\"𐐠\":\"𐑈\",\"𐐡\":\"𐑉\",\"𐐢\":\"𐑊\",\"𐐣\":\"𐑋\",\"𐐤\":\"𐑌\",\"𐐥\":\"𐑍\",\"𐐦\":\"𐑎\",\"𐐧\":\"𐑏\",\"𑢠\":\"𑣀\",\"𑢡\":\"𑣁\",\"𑢢\":\"𑣂\",\"𑢣\":\"𑣃\",\"𑢤\":\"𑣄\",\"𑢥\":\"𑣅\",\"𑢦\":\"𑣆\",\"𑢧\":\"𑣇\",\"𑢨\":\"𑣈\",\"𑢩\":\"𑣉\",\"𑢪\":\"𑣊\",\"𑢫\":\"𑣋\",\"𑢬\":\"𑣌\",\"𑢭\":\"𑣍\",\"𑢮\":\"𑣎\",\"𑢯\":\"𑣏\",\"𑢰\":\"𑣐\",\"𑢱\":\"𑣑\",\"𑢲\":\"𑣒\",\"𑢳\":\"𑣓\",\"𑢴\":\"𑣔\",\"𑢵\":\"𑣕\",\"𑢶\":\"𑣖\",\"𑢷\":\"𑣗\",\"𑢸\":\"𑣘\",\"𑢹\":\"𑣙\",\"𑢺\":\"𑣚\",\"𑢻\":\"𑣛\",\"𑢼\":\"𑣜\",\"𑢽\":\"𑣝\",\"𑢾\":\"𑣞\",\"𑢿\":\"𑣟\",\"ß\":\"ss\",\"İ\":\"i̇\",\"ʼn\":\"ʼn\",\"ǰ\":\"ǰ\",\"ΐ\":\"ΐ\",\"ΰ\":\"ΰ\",\"և\":\"եւ\",\"ẖ\":\"ẖ\",\"ẗ\":\"ẗ\",\"ẘ\":\"ẘ\",\"ẙ\":\"ẙ\",\"ẚ\":\"aʾ\",\"ẞ\":\"ss\",\"ὐ\":\"ὐ\",\"ὒ\":\"ὒ\",\"ὔ\":\"ὔ\",\"ὖ\":\"ὖ\",\"ᾀ\":\"ἀι\",\"ᾁ\":\"ἁι\",\"ᾂ\":\"ἂι\",\"ᾃ\":\"ἃι\",\"ᾄ\":\"ἄι\",\"ᾅ\":\"ἅι\",\"ᾆ\":\"ἆι\",\"ᾇ\":\"ἇι\",\"ᾈ\":\"ἀι\",\"ᾉ\":\"ἁι\",\"ᾊ\":\"ἂι\",\"ᾋ\":\"ἃι\",\"ᾌ\":\"ἄι\",\"ᾍ\":\"ἅι\",\"ᾎ\":\"ἆι\",\"ᾏ\":\"ἇι\",\"ᾐ\":\"ἠι\",\"ᾑ\":\"ἡι\",\"ᾒ\":\"ἢι\",\"ᾓ\":\"ἣι\",\"ᾔ\":\"ἤι\",\"ᾕ\":\"ἥι\",\"ᾖ\":\"ἦι\",\"ᾗ\":\"ἧι\",\"ᾘ\":\"ἠι\",\"ᾙ\":\"ἡι\",\"ᾚ\":\"ἢι\",\"ᾛ\":\"ἣι\",\"ᾜ\":\"ἤι\",\"ᾝ\":\"ἥι\",\"ᾞ\":\"ἦι\",\"ᾟ\":\"ἧι\",\"ᾠ\":\"ὠι\",\"ᾡ\":\"ὡι\",\"ᾢ\":\"ὢι\",\"ᾣ\":\"ὣι\",\"ᾤ\":\"ὤι\",\"ᾥ\":\"ὥι\",\"ᾦ\":\"ὦι\",\"ᾧ\":\"ὧι\",\"ᾨ\":\"ὠι\",\"ᾩ\":\"ὡι\",\"ᾪ\":\"ὢι\",\"ᾫ\":\"ὣι\",\"ᾬ\":\"ὤι\",\"ᾭ\":\"ὥι\",\"ᾮ\":\"ὦι\",\"ᾯ\":\"ὧι\",\"ᾲ\":\"ὰι\",\"ᾳ\":\"αι\",\"ᾴ\":\"άι\",\"ᾶ\":\"ᾶ\",\"ᾷ\":\"ᾶι\",\"ᾼ\":\"αι\",\"ῂ\":\"ὴι\",\"ῃ\":\"ηι\",\"ῄ\":\"ήι\",\"ῆ\":\"ῆ\",\"ῇ\":\"ῆι\",\"ῌ\":\"ηι\",\"ῒ\":\"ῒ\",\"ΐ\":\"ΐ\",\"ῖ\":\"ῖ\",\"ῗ\":\"ῗ\",\"ῢ\":\"ῢ\",\"ΰ\":\"ΰ\",\"ῤ\":\"ῤ\",\"ῦ\":\"ῦ\",\"ῧ\":\"ῧ\",\"ῲ\":\"ὼι\",\"ῳ\":\"ωι\",\"ῴ\":\"ώι\",\"ῶ\":\"ῶ\",\"ῷ\":\"ῶι\",\"ῼ\":\"ωι\",\"ff\":\"ff\",\"fi\":\"fi\",\"fl\":\"fl\",\"ffi\":\"ffi\",\"ffl\":\"ffl\",\"ſt\":\"st\",\"st\":\"st\",\"ﬓ\":\"մն\",\"ﬔ\":\"մե\",\"ﬕ\":\"մի\",\"ﬖ\":\"վն\",\"ﬗ\":\"մխ\"};e.exports=function(e){return e.slice(1,e.length-1).trim().replace(n,function(e){return r[e]||\" \"})}},function(e,t,n){(function(t){\"use strict\";function r(e){return{softbreak:\"\\n\",escape:o,options:e||{},render:u}}var o=n(122).escapeXml,i=function(e,t,n){var r=\"<\"+e;if(t&&t.length>0)for(var o,i=0;void 0!==(o=t[i]);)r+=\" \"+o[0]+'=\"'+o[1]+'\"',i++;return n&&(r+=\" /\"),r+=\">\"},a=/\\<[^>]*\\>/,s=function(e){return e.replace(/([a-z])([A-Z])/g,\"$1_$2\").toLowerCase()},u=function(e){var n,r,o,u,l,c,d,f,p=e.walker(),h=\"\",m=\"\\n\",g=0,_=0,b=\"  \",y=function(e){h+=g>0?e.replace(a,\"\"):e,m=e},v=this.escape,M=function(){if(\"\\n\"!==m){h+=\"\\n\",m=\"\\n\";for(var e=_;e>0;e--)h+=b}},A=this.options;for(A.time&&t.time(\"rendering\"),h+='<?xml version=\"1.0\" encoding=\"UTF-8\"?>\\n',h+='<!DOCTYPE CommonMark SYSTEM \"CommonMark.dtd\">\\n';o=p.next();)if(l=o.entering,u=o.node,f=u.type,c=u.isContainer,d=\"ThematicBreak\"===f||\"Hardbreak\"===f||\"Softbreak\"===f,r=s(f),l){switch(n=[],f){case\"Document\":n.push([\"xmlns\",\"http://commonmark.org/xml/1.0\"]);break;case\"List\":null!==u.listType&&n.push([\"type\",u.listType.toLowerCase()]),null!==u.listStart&&n.push([\"start\",String(u.listStart)]),null!==u.listTight&&n.push([\"tight\",u.listTight?\"true\":\"false\"]);var w=u.listDelimiter;if(null!==w){var C=\"\";C=\".\"===w?\"period\":\"paren\",n.push([\"delimiter\",C])}break;case\"CodeBlock\":u.info&&n.push([\"info\",u.info]);break;case\"Heading\":n.push([\"level\",String(u.level)]);break;case\"Link\":case\"Image\":n.push([\"destination\",u.destination]),n.push([\"title\",u.title]);break;case\"CustomInline\":case\"CustomBlock\":n.push([\"on_enter\",u.onEnter]),n.push([\"on_exit\",u.onExit])}if(A.sourcepos){var E=u.sourcepos;E&&n.push([\"sourcepos\",String(E[0][0])+\":\"+String(E[0][1])+\"-\"+String(E[1][0])+\":\"+String(E[1][1])])}if(M(),y(i(r,n,d)),c)_+=1;else if(!c&&!d){var L=u.literal;L&&y(v(L)),y(i(\"/\"+r))}}else _-=1,M(),y(i(\"/\"+r));return A.time&&t.timeEnd(\"rendering\"),h+=\"\\n\"};e.exports=r}).call(t,n(38))},function(e,t,n){n(963),e.exports=n(60).RegExp.escape},function(e,t,n){n(373),n(945),e.exports=n(58).Array.from},function(e,t,n){n(947),e.exports=n(58).Object.assign},function(e,t,n){n(948);var r=n(58).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(952),e.exports=n(58).Object.entries},function(e,t,n){n(949),e.exports=n(58).Object.setPrototypeOf},function(e,t,n){n(953),e.exports=n(58).Object.values},function(e,t,n){n(951),n(950),n(954),n(955),e.exports=n(58).Symbol},function(e,t,n){n(373),n(956),e.exports=n(258).f(\"iterator\")},44,function(e,t){e.exports=function(){}},[1712,96,372,943],[1713,245,68],[1714,95,155],[1718,153,250,154],[1720,85],[1723,152,68],[1724,245],[1725,123],[1726,249,155,251,125,68],[1728,68],387,[1729,183,126,94,95,151],[1730,153,250,154,255,365,151],[1733,95,123,153,124],[1735,96,368],[1737,94,255,252],[1741,126,123,246,367],[1745,254,247],[1746,254],[1754,926,68,152,58],[1755,246,84,255,932,930,372,927,944,934],[1756,924,935,152,96,366],[1757,84,937],[1758,84,249],[1759,84,941],function(e,t){},[1761,85,94,124,84,371,936,151,253,251,183,68,258,257,928,931,123,126,96,256,155,249,939,367,95,153,368,154,250,182,125],[1762,84,370],[1763,84,370],[1764,257],[1765,257],function(e,t,n){n(946);for(var r=n(85),o=n(125),i=n(152),a=n(68)(\"toStringTag\"),s=\"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\".split(\",\"),u=0;u<s.length;u++){var l=s[u],c=r[l],d=c&&c.prototype;d&&!d[a]&&o(d,a,l),i[l]=i.Array}},function(e,t,n){var r=n(22),o=n(188),i=n(26)(\"species\");e.exports=function(e){var t;return o(e)&&(t=e.constructor,\"function\"!=typeof t||t!==Array&&!o(t.prototype)||(t=void 0),r(t)&&(t=t[i],null===t&&(t=void 0))),void 0===t?Array:t}},function(e,t,n){\"use strict\";var r=n(21),o=Date.prototype.getTime,i=Date.prototype.toISOString,a=function(e){return e>9?e:\"0\"+e};e.exports=r(function(){return\"0385-07-25T07:06:39.999Z\"!=i.call(new Date(-5e13-1))})||!r(function(){i.call(new Date(NaN))})?function(){if(!isFinite(o.call(this)))throw RangeError(\"Invalid time value\");var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?\"-\":t>9999?\"+\":\"\";return r+(\"00000\"+Math.abs(t)).slice(r?-6:-4)+\"-\"+a(e.getUTCMonth()+1)+\"-\"+a(e.getUTCDate())+\"T\"+a(e.getUTCHours())+\":\"+a(e.getUTCMinutes())+\":\"+a(e.getUTCSeconds())+\".\"+(n>99?n:\"0\"+a(n))+\"Z\"}:i},function(e,t,n){\"use strict\";var r=n(18),o=n(73),i=\"number\";e.exports=function(e){if(\"string\"!==e&&e!==i&&\"default\"!==e)throw TypeError(\"Incorrect hint\");return o(r(this),e!=i)}},[1718,101,192,158],function(e,t){e.exports=function(e,t){var n=t===Object(t)?function(e){return t[e]}:t;return function(t){return String(t).replace(e,n)}}},function(e,t){e.exports=Object.is||function(e,t){return e===t?0!==e||1/e===1/t:e!=e&&t!=t}},function(e,t,n){var r=n(2),o=n(961)(/[\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\");r(r.S,\"RegExp\",{escape:function(e){return o(e)}})},function(e,t,n){var r=n(2);r(r.P,\"Array\",{copyWithin:n(375)}),n(86)(\"copyWithin\")},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(4);r(r.P+r.F*!n(62)([].every,!0),\"Array\",{every:function(e){return o(this,e,arguments[1])}})},function(e,t,n){var r=n(2);r(r.P,\"Array\",{fill:n(259)}),n(86)(\"fill\")},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(2);r(r.P+r.F*!n(62)([].filter,!0),\"Array\",{filter:function(e){return o(this,e,arguments[1])}})},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(6),i=\"findIndex\",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,\"Array\",{findIndex:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(86)(i)},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(5),i=\"find\",a=!0;i in[]&&Array(1)[i](function(){a=!1}),r(r.P+r.F*a,\"Array\",{find:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(86)(i)},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(0),i=n(62)([].forEach,!0);r(r.P+r.F*!i,\"Array\",{forEach:function(e){return o(this,e,arguments[1])}})},[1755,61,2,35,386,267,32,261,283,190],function(e,t,n){\"use strict\";var r=n(2),o=n(184)(!1),i=[].indexOf,a=!!i&&1/[1].indexOf(1,-0)<0;r(r.P+r.F*(a||!n(62)(i)),\"Array\",{indexOf:function(e){return a?i.apply(this,arguments)||0:o(this,e,arguments[1])}})},function(e,t,n){var r=n(2);r(r.S,\"Array\",{isArray:n(188)})},function(e,t,n){\"use strict\";var r=n(2),o=n(57),i=[].join;r(r.P+r.F*(n(157)!=Object||!n(62)(i)),\"Array\",{join:function(e){return i.call(o(this),void 0===e?\",\":e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(57),i=n(72),a=n(32),s=[].lastIndexOf,u=!!s&&1/[1].lastIndexOf(1,-0)<0;r(r.P+r.F*(u||!n(62)(s)),\"Array\",{lastIndexOf:function(e){if(u)return s.apply(this,arguments)||0;var t=o(this),n=a(t.length),r=n-1;for(arguments.length>1&&(r=Math.min(r,i(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0;return-1}})},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(1);r(r.P+r.F*!n(62)([].map,!0),\"Array\",{map:function(e){return o(this,e,arguments[1])}})},function(e,t,n){\"use strict\";var r=n(2),o=n(261);r(r.S+r.F*n(21)(function(){function e(){}return!(Array.of.call(e)instanceof e)}),\"Array\",{of:function(){for(var e=0,t=arguments.length,n=new(\"function\"==typeof this?this:Array)(t);t>e;)o(n,e,arguments[e++]);return n.length=t,n}})},function(e,t,n){\"use strict\";var r=n(2),o=n(377);r(r.P+r.F*!n(62)([].reduceRight,!0),\"Array\",{reduceRight:function(e){return o(this,e,arguments.length,arguments[1],!0)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(377);r(r.P+r.F*!n(62)([].reduce,!0),\"Array\",{reduce:function(e){return o(this,e,arguments.length,arguments[1],!1)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(265),i=n(59),a=n(105),s=n(32),u=[].slice;r(r.P+r.F*n(21)(function(){o&&u.call(o)}),\"Array\",{slice:function(e,t){var n=s(this.length),r=i(this);if(t=void 0===t?n:t,\"Array\"==r)return u.call(this,e,t);for(var o=a(e,n),l=a(t,n),c=s(l-o),d=new Array(c),f=0;f<c;f++)d[f]=\"String\"==r?this.charAt(o+f):this[o+f];return d}})},function(e,t,n){\"use strict\";var r=n(2),o=n(69)(3);r(r.P+r.F*!n(62)([].some,!0),\"Array\",{some:function(e){return o(this,e,arguments[1])}})},function(e,t,n){\"use strict\";var r=n(2),o=n(44),i=n(35),a=n(21),s=[].sort,u=[1,2,3];r(r.P+r.F*(a(function(){u.sort(void 0)})||!a(function(){u.sort(null)})||!n(62)(s)),\"Array\",{sort:function(e){return void 0===e?s.call(i(this)):s.call(i(this),o(e))}})},function(e,t,n){n(104)(\"Array\")},function(e,t,n){var r=n(2);r(r.S,\"Date\",{now:function(){return(new Date).getTime()}})},function(e,t,n){var r=n(2),o=n(958);r(r.P+r.F*(Date.prototype.toISOString!==o),\"Date\",{toISOString:o})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(73);r(r.P+r.F*n(21)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),\"Date\",{toJSON:function(e){var t=o(this),n=i(t);return\"number\"!=typeof n||isFinite(n)?t.toISOString():null}})},function(e,t,n){var r=n(26)(\"toPrimitive\"),o=Date.prototype;r in o||n(48)(o,r,n(959))},function(e,t,n){var r=Date.prototype,o=\"Invalid Date\",i=\"toString\",a=r[i],s=r.getTime;new Date(NaN)+\"\"!=o&&n(49)(r,i,function(){var e=s.call(this);return e===e?a.call(this):o})},function(e,t,n){var r=n(2);r(r.P,\"Function\",{bind:n(378)})},function(e,t,n){\"use strict\";var r=n(22),o=n(56),i=n(26)(\"hasInstance\"),a=Function.prototype;i in a||n(31).f(a,i,{value:function(e){if(\"function\"!=typeof this||!r(e))return!1;if(!r(this.prototype))return e instanceof this;for(;e=o(e);)if(this.prototype===e)return!0;return!1}})},function(e,t,n){var r=n(31).f,o=Function.prototype,i=/^\\s*function ([^ (]*)/,a=\"name\";a in o||n(30)&&r(o,a,{configurable:!0,get:function(){try{return(\"\"+this).match(i)[1]}catch(e){return\"\"}}})},function(e,t,n){var r=n(2),o=n(389),i=Math.sqrt,a=Math.acosh;r(r.S+r.F*!(a&&710==Math.floor(a(Number.MAX_VALUE))&&a(1/0)==1/0),\"Math\",{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:o(e-1+i(e-1)*i(e+1))}})},function(e,t,n){function r(e){return isFinite(e=+e)&&0!=e?e<0?-r(-e):Math.log(e+Math.sqrt(e*e+1)):e}var o=n(2),i=Math.asinh;o(o.S+o.F*!(i&&1/i(0)>0),\"Math\",{asinh:r})},function(e,t,n){var r=n(2),o=Math.atanh;r(r.S+r.F*!(o&&1/o(-0)<0),\"Math\",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},function(e,t,n){var r=n(2),o=n(271);r(r.S,\"Math\",{cbrt:function(e){return o(e=+e)*Math.pow(Math.abs(e),1/3)}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{clz32:function(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},function(e,t,n){var r=n(2),o=Math.exp;r(r.S,\"Math\",{cosh:function(e){return(o(e=+e)+o(-e))/2}})},function(e,t,n){var r=n(2),o=n(270);r(r.S+r.F*(o!=Math.expm1),\"Math\",{expm1:o})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{fround:n(388)})},function(e,t,n){var r=n(2),o=Math.abs;r(r.S,\"Math\",{hypot:function(e,t){for(var n,r,i=0,a=0,s=arguments.length,u=0;a<s;)n=o(arguments[a++]),u<n?(r=u/n,i=i*r*r+1,u=n):n>0?(r=n/u,i+=r*r):i+=n;return u===1/0?1/0:u*Math.sqrt(i)}})},function(e,t,n){var r=n(2),o=Math.imul;r(r.S+r.F*n(21)(function(){return o(4294967295,5)!=-5||2!=o.length}),\"Math\",{imul:function(e,t){var n=65535,r=+e,o=+t,i=n&r,a=n&o;return 0|i*a+((n&r>>>16)*a+i*(n&o>>>16)<<16>>>0)}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{log10:function(e){return Math.log(e)*Math.LOG10E}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{log1p:n(389)})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{log2:function(e){return Math.log(e)/Math.LN2}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{sign:n(271)})},function(e,t,n){var r=n(2),o=n(270),i=Math.exp;r(r.S+r.F*n(21)(function(){return!Math.sinh(-2e-17)!=-2e-17}),\"Math\",{sinh:function(e){return Math.abs(e=+e)<1?(o(e)-o(-e))/2:(i(e-1)-i(-e-1))*(Math.E/2)}})},function(e,t,n){var r=n(2),o=n(270),i=Math.exp;r(r.S,\"Math\",{tanh:function(e){var t=o(e=+e),n=o(-e);return t==1/0?1:n==1/0?-1:(t-n)/(i(e)+i(-e))}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},function(e,t,n){\"use strict\";var r=n(19),o=n(54),i=n(59),a=n(266),s=n(73),u=n(21),l=n(100).f,c=n(55).f,d=n(31).f,f=n(129).trim,p=\"Number\",h=r[p],m=h,g=h.prototype,_=i(n(99)(g))==p,b=\"trim\"in String.prototype,y=function(e){var t=s(e,!1);if(\"string\"==typeof t&&t.length>2){t=b?t.trim():f(t,3);var n,r,o,i=t.charCodeAt(0);if(43===i||45===i){if(n=t.charCodeAt(2),88===n||120===n)return NaN}else if(48===i){switch(t.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+t}for(var a,u=t.slice(2),l=0,c=u.length;l<c;l++)if(a=u.charCodeAt(l),a<48||a>o)return NaN;return parseInt(u,r)}}return+t};if(!h(\" 0o1\")||!h(\"0b1\")||h(\"+0x1\")){h=function(e){var t=arguments.length<1?0:e,n=this;return n instanceof h&&(_?u(function(){g.valueOf.call(n)}):i(n)!=p)?a(new m(y(t)),n,h):y(t)};for(var v,M=n(30)?l(m):\"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger\".split(\",\"),A=0;M.length>A;A++)o(m,v=M[A])&&!o(h,v)&&d(h,v,c(m,v));h.prototype=g,g.constructor=h,n(49)(r,p,h)}},function(e,t,n){var r=n(2);r(r.S,\"Number\",{EPSILON:Math.pow(2,-52)})},function(e,t,n){var r=n(2),o=n(19).isFinite;r(r.S,\"Number\",{isFinite:function(e){return\"number\"==typeof e&&o(e)}})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{isInteger:n(385)})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{isNaN:function(e){return e!=e}})},function(e,t,n){var r=n(2),o=n(385),i=Math.abs;r(r.S,\"Number\",{isSafeInteger:function(e){return o(e)&&i(e)<=9007199254740991}})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{MAX_SAFE_INTEGER:9007199254740991})},function(e,t,n){var r=n(2);r(r.S,\"Number\",{MIN_SAFE_INTEGER:-9007199254740991})},function(e,t,n){var r=n(2),o=n(397);r(r.S+r.F*(Number.parseFloat!=o),\"Number\",{parseFloat:o})},function(e,t,n){var r=n(2),o=n(398);r(r.S+r.F*(Number.parseInt!=o),\"Number\",{parseInt:o})},function(e,t,n){\"use strict\";var r=n(2),o=n(72),i=n(374),a=n(278),s=1..toFixed,u=Math.floor,l=[0,0,0,0,0,0],c=\"Number.toFixed: incorrect invocation!\",d=\"0\",f=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*l[n],l[n]=r%1e7,r=u(r/1e7)},p=function(e){for(var t=6,n=0;--t>=0;)n+=l[t],l[t]=u(n/e),n=n%e*1e7},h=function(){for(var e=6,t=\"\";--e>=0;)if(\"\"!==t||0===e||0!==l[e]){var n=String(l[e]);t=\"\"===t?n:t+a.call(d,7-n.length)+n}return t},m=function(e,t,n){return 0===t?n:t%2===1?m(e,t-1,n*e):m(e*e,t/2,n)},g=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096;for(;n>=2;)t+=1,n/=2;return t};r(r.P+r.F*(!!s&&(\"0.000\"!==8e-5.toFixed(3)||\"1\"!==.9.toFixed(0)||\"1.25\"!==1.255.toFixed(2)||\"1000000000000000128\"!==(0xde0b6b3a7640080).toFixed(0))||!n(21)(function(){s.call({})})),\"Number\",{toFixed:function(e){var t,n,r,s,u=i(this,c),l=o(e),_=\"\",b=d;if(l<0||l>20)throw RangeError(c);if(u!=u)return\"NaN\";if(u<=-1e21||u>=1e21)return String(u);if(u<0&&(_=\"-\",u=-u),u>1e-21)if(t=g(u*m(2,69,1))-69,n=t<0?u*m(2,-t,1):u/m(2,t,1),n*=4503599627370496,t=52-t,t>0){for(f(0,n),r=l;r>=7;)f(1e7,0),r-=7;for(f(m(10,r,1),0),r=t-1;r>=23;)p(1<<23),r-=23;p(1<<r),f(1,1),p(2),b=h()}else f(0,n),f(1<<-t,0),b=h()+a.call(d,l);return l>0?(s=b.length,b=_+(s<=l?\"0.\"+a.call(d,l-s)+b:b.slice(0,s-l)+\".\"+b.slice(s-l))):b=_+b,b}})},function(e,t,n){\"use strict\";var r=n(2),o=n(21),i=n(374),a=1..toPrecision;r(r.P+r.F*(o(function(){return\"1\"!==a.call(1,void 0)})||!o(function(){a.call({})})),\"Number\",{toPrecision:function(e){var t=i(this,\"Number#toPrecision: incorrect invocation!\");return void 0===e?a.call(t):a.call(t,e)}})},[1757,2,391],[1758,2,99],function(e,t,n){var r=n(2);r(r.S+r.F*!n(30),\"Object\",{defineProperties:n(392)})},function(e,t,n){var r=n(2);r(r.S+r.F*!n(30),\"Object\",{defineProperty:n(31).f})},function(e,t,n){var r=n(22),o=n(88).onFreeze;n(71)(\"freeze\",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(57),o=n(55).f;n(71)(\"getOwnPropertyDescriptor\",function(){return function(e,t){return o(r(e),t)}})},function(e,t,n){n(71)(\"getOwnPropertyNames\",function(){return n(393).f})},function(e,t,n){var r=n(35),o=n(56);n(71)(\"getPrototypeOf\",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(22);n(71)(\"isExtensible\",function(e){return function(t){return!!r(t)&&(!e||e(t))}})},function(e,t,n){var r=n(22);n(71)(\"isFrozen\",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(22);n(71)(\"isSealed\",function(e){return function(t){return!r(t)||!!e&&e(t)}})},function(e,t,n){var r=n(2);r(r.S,\"Object\",{is:n(962)})},function(e,t,n){var r=n(35),o=n(101);n(71)(\"keys\",function(){return function(e){return o(r(e))}})},function(e,t,n){var r=n(22),o=n(88).onFreeze;n(71)(\"preventExtensions\",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},function(e,t,n){var r=n(22),o=n(88).onFreeze;n(71)(\"seal\",function(e){return function(t){return e&&r(t)?e(o(t)):t}})},[1759,2,274],function(e,t,n){\"use strict\";var r=n(156),o={};o[n(26)(\"toStringTag\")]=\"z\",o+\"\"!=\"[object z]\"&&n(49)(Object.prototype,\"toString\",function(){return\"[object \"+r(this)+\"]\"},!0)},function(e,t,n){var r=n(2),o=n(397);r(r.G+r.F*(parseFloat!=o),{parseFloat:o})},function(e,t,n){var r=n(2),o=n(398);r(r.G+r.F*(parseInt!=o),{parseInt:o})},function(e,t,n){\"use strict\";var r,o,i,a,s=n(87),u=n(19),l=n(61),c=n(156),d=n(2),f=n(22),p=n(44),h=n(97),m=n(98),g=n(196),_=n(280).set,b=n(272)(),y=n(273),v=n(399),M=n(198),A=n(400),w=\"Promise\",C=u.TypeError,E=u.process,L=E&&E.versions,T=L&&L.v8||\"\",O=u[w],S=\"process\"==c(E),N=function(){},k=o=y.f,D=!!function(){try{var e=O.resolve(1),t=(e.constructor={})[n(26)(\"species\")]=function(e){e(N,N)};return(S||\"function\"==typeof PromiseRejectionEvent)&&e.then(N)instanceof t&&0!==T.indexOf(\"6.6\")&&M.indexOf(\"Chrome/66\")===-1}catch(e){}}(),x=function(e){var t;return!(!f(e)||\"function\"!=typeof(t=e.then))&&t},I=function(e,t){if(!e._n){e._n=!0;var n=e._c;b(function(){for(var r=e._v,o=1==e._s,i=0,a=function(t){var n,i,a,s=o?t.ok:t.fail,u=t.resolve,l=t.reject,c=t.domain;try{s?(o||(2==e._h&&P(e),e._h=1),s===!0?n=r:(c&&c.enter(),n=s(r),c&&(c.exit(),a=!0)),n===t.promise?l(C(\"Promise-chain cycle\")):(i=x(n))?i.call(n,u,l):u(n)):l(r)}catch(e){c&&!a&&c.exit(),l(e)}};n.length>i;)a(n[i++]);e._c=[],e._n=!1,t&&!e._h&&z(e)})}},z=function(e){_.call(u,function(){var t,n,r,o=e._v,i=j(e);if(i&&(t=v(function(){S?E.emit(\"unhandledRejection\",o,e):(n=u.onunhandledrejection)?n({promise:e,reason:o}):(r=u.console)&&r.error&&r.error(\"Unhandled promise rejection\",o)}),e._h=S||j(e)?2:1),e._a=void 0,i&&t.e)throw t.v})},j=function(e){return 1!==e._h&&0===(e._a||e._c).length},P=function(e){_.call(u,function(){var t;S?E.emit(\"rejectionHandled\",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},B=function(e){var t=this;t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),I(t,!0))},F=function(e){var t,n=this;if(!n._d){n._d=!0,n=n._w||n;try{if(n===e)throw C(\"Promise can't be resolved itself\");(t=x(e))?b(function(){var r={_w:n,_d:!1};try{t.call(e,l(F,r,1),l(B,r,1))}catch(e){B.call(r,e)}}):(n._v=e,n._s=1,I(n,!1))}catch(e){B.call({_w:n,_d:!1},e)}}};D||(O=function(e){h(this,O,w,\"_h\"),p(e),r.call(this);try{e(l(F,this,1),l(B,this,1))}catch(e){B.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=n(103)(O.prototype,{then:function(e,t){var n=k(g(this,O));return n.ok=\"function\"!=typeof e||e,n.fail=\"function\"==typeof t&&t,n.domain=S?E.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&I(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),i=function(){var e=new r;this.promise=e,this.resolve=l(F,e,1),this.reject=l(B,e,1)},y.f=k=function(e){return e===O||e===a?new i(e):o(e)}),d(d.G+d.W+d.F*!D,{Promise:O}),n(128)(O,w),n(104)(w),a=n(60)[w],d(d.S+d.F*!D,w,{reject:function(e){var t=k(this),n=t.reject;return n(e),t.promise}}),d(d.S+d.F*(s||!D),w,{resolve:function(e){return A(s&&this===a?O:this,e)}}),d(d.S+d.F*!(D&&n(190)(function(e){O.all(e).catch(N)})),w,{all:function(e){var t=this,n=k(t),r=n.resolve,o=n.reject,i=v(function(){var n=[],i=0,a=1;m(e,!1,function(e){var s=i++,u=!1;n.push(void 0),a++,t.resolve(e).then(function(e){u||(u=!0,n[s]=e,--a||r(n))},o)}),--a||r(n)});return i.e&&o(i.v),n.promise},race:function(e){var t=this,n=k(t),r=n.reject,o=v(function(){m(e,!1,function(e){t.resolve(e).then(n.resolve,r)})});return o.e&&r(o.v),n.promise}})},function(e,t,n){var r=n(2),o=n(44),i=n(18),a=(n(19).Reflect||{}).apply,s=Function.apply;r(r.S+r.F*!n(21)(function(){a(function(){})}),\"Reflect\",{apply:function(e,t,n){var r=o(e),u=i(n);return a?a(r,t,u):s.call(r,t,u)}})},function(e,t,n){var r=n(2),o=n(99),i=n(44),a=n(18),s=n(22),u=n(21),l=n(378),c=(n(19).Reflect||{}).construct,d=u(function(){function e(){}return!(c(function(){},[],e)instanceof e)}),f=!u(function(){c(function(){})});r(r.S+r.F*(d||f),\"Reflect\",{construct:function(e,t){i(e),a(t);var n=arguments.length<3?e:i(arguments[2]);if(f&&!d)return c(e,t,n);if(e==n){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null];return r.push.apply(r,t),new(l.apply(e,r))}var u=n.prototype,p=o(s(u)?u:Object.prototype),h=Function.apply.call(e,p,t);return s(h)?h:p}})},function(e,t,n){var r=n(31),o=n(2),i=n(18),a=n(73);o(o.S+o.F*n(21)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),\"Reflect\",{defineProperty:function(e,t,n){i(e),t=a(t,!0),i(n);try{return r.f(e,t,n),!0}catch(e){return!1}}})},function(e,t,n){var r=n(2),o=n(55).f,i=n(18);r(r.S,\"Reflect\",{deleteProperty:function(e,t){var n=o(i(e),t);return!(n&&!n.configurable)&&delete e[t]}})},function(e,t,n){\"use strict\";var r=n(2),o=n(18),i=function(e){this._t=o(e),this._i=0;var t,n=this._k=[];for(t in e)n.push(t)};n(268)(i,\"Object\",function(){var e,t=this,n=t._k;do if(t._i>=n.length)return{value:void 0,done:!0};while(!((e=n[t._i++])in t._t));return{value:e,done:!1}}),r(r.S,\"Reflect\",{enumerate:function(e){return new i(e)}})},function(e,t,n){var r=n(55),o=n(2),i=n(18);o(o.S,\"Reflect\",{getOwnPropertyDescriptor:function(e,t){return r.f(i(e),t)}})},function(e,t,n){var r=n(2),o=n(56),i=n(18);r(r.S,\"Reflect\",{getPrototypeOf:function(e){return o(i(e))}})},function(e,t,n){function r(e,t){var n,s,c=arguments.length<3?e:arguments[2];return l(e)===c?e[t]:(n=o.f(e,t))?a(n,\"value\")?n.value:void 0!==n.get?n.get.call(c):void 0:u(s=i(e))?r(s,t,c):void 0;\n}var o=n(55),i=n(56),a=n(54),s=n(2),u=n(22),l=n(18);s(s.S,\"Reflect\",{get:r})},function(e,t,n){var r=n(2);r(r.S,\"Reflect\",{has:function(e,t){return t in e}})},function(e,t,n){var r=n(2),o=n(18),i=Object.isExtensible;r(r.S,\"Reflect\",{isExtensible:function(e){return o(e),!i||i(e)}})},function(e,t,n){var r=n(2);r(r.S,\"Reflect\",{ownKeys:n(396)})},function(e,t,n){var r=n(2),o=n(18),i=Object.preventExtensions;r(r.S,\"Reflect\",{preventExtensions:function(e){o(e);try{return i&&i(e),!0}catch(e){return!1}}})},function(e,t,n){var r=n(2),o=n(274);o&&r(r.S,\"Reflect\",{setPrototypeOf:function(e,t){o.check(e,t);try{return o.set(e,t),!0}catch(e){return!1}}})},function(e,t,n){function r(e,t,n){var u,f,p=arguments.length<4?e:arguments[3],h=i.f(c(e),t);if(!h){if(d(f=a(e)))return r(f,t,n,p);h=l(0)}if(s(h,\"value\")){if(h.writable===!1||!d(p))return!1;if(u=i.f(p,t)){if(u.get||u.set||u.writable===!1)return!1;u.value=n,o.f(p,t,u)}else o.f(p,t,l(0,n));return!0}return void 0!==h.set&&(h.set.call(p,n),!0)}var o=n(31),i=n(55),a=n(56),s=n(54),u=n(2),l=n(102),c=n(18),d=n(22);u(u.S,\"Reflect\",{set:r})},function(e,t,n){var r=n(19),o=n(266),i=n(31).f,a=n(100).f,s=n(189),u=n(187),l=r.RegExp,c=l,d=l.prototype,f=/a/g,p=/a/g,h=new l(f)!==f;if(n(30)&&(!h||n(21)(function(){return p[n(26)(\"match\")]=!1,l(f)!=f||l(p)==p||\"/a/i\"!=l(f,\"i\")}))){l=function(e,t){var n=this instanceof l,r=s(e),i=void 0===t;return!n&&r&&e.constructor===l&&i?e:o(h?new c(r&&!i?e.source:e,t):c((r=e instanceof l)?e.source:e,r&&i?u.call(e):t),n?this:d,l)};for(var m=(function(e){e in l||i(l,e,{configurable:!0,get:function(){return c[e]},set:function(t){c[e]=t}})}),g=a(c),_=0;g.length>_;)m(g[_++]);d.constructor=l,l.prototype=d,n(49)(r,\"RegExp\",l)}n(104)(\"RegExp\")},function(e,t,n){n(186)(\"match\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(186)(\"replace\",2,function(e,t,n){return[function(r,o){\"use strict\";var i=e(this),a=void 0==r?void 0:r[t];return void 0!==a?a.call(r,i,o):n.call(String(i),r,o)},n]})},function(e,t,n){n(186)(\"search\",1,function(e,t,n){return[function(n){\"use strict\";var r=e(this),o=void 0==n?void 0:n[t];return void 0!==o?o.call(n,r):new RegExp(n)[t](String(r))},n]})},function(e,t,n){n(186)(\"split\",2,function(e,t,r){\"use strict\";var o=n(189),i=r,a=[].push,s=\"split\",u=\"length\",l=\"lastIndex\";if(\"c\"==\"abbc\"[s](/(b)*/)[1]||4!=\"test\"[s](/(?:)/,-1)[u]||2!=\"ab\"[s](/(?:ab)*/)[u]||4!=\".\"[s](/(.?)(.?)/)[u]||\".\"[s](/()()/)[u]>1||\"\"[s](/.?/)[u]){var c=void 0===/()??/.exec(\"\")[1];r=function(e,t){var n=String(this);if(void 0===e&&0===t)return[];if(!o(e))return i.call(n,e,t);var r,s,d,f,p,h=[],m=(e.ignoreCase?\"i\":\"\")+(e.multiline?\"m\":\"\")+(e.unicode?\"u\":\"\")+(e.sticky?\"y\":\"\"),g=0,_=void 0===t?4294967295:t>>>0,b=new RegExp(e.source,m+\"g\");for(c||(r=new RegExp(\"^\"+b.source+\"$(?!\\\\s)\",m));(s=b.exec(n))&&(d=s.index+s[0][u],!(d>g&&(h.push(n.slice(g,s.index)),!c&&s[u]>1&&s[0].replace(r,function(){for(p=1;p<arguments[u]-2;p++)void 0===arguments[p]&&(s[p]=void 0)}),s[u]>1&&s.index<n[u]&&a.apply(h,s.slice(1)),f=s[0][u],g=d,h[u]>=_)));)b[l]===s.index&&b[l]++;return g===n[u]?!f&&b.test(\"\")||h.push(\"\"):h.push(n.slice(g)),h[u]>_?h.slice(0,_):h}}else\"0\"[s](void 0,0)[u]&&(r=function(e,t){return void 0===e&&0===t?[]:i.call(this,e,t)});return[function(n,o){var i=e(this),a=void 0==n?void 0:n[t];return void 0!==a?a.call(n,i,o):r.call(String(i),n,o)},r]})},function(e,t,n){\"use strict\";n(405);var r=n(18),o=n(187),i=n(30),a=\"toString\",s=/./[a],u=function(e){n(49)(RegExp.prototype,a,e,!0)};n(21)(function(){return\"/a/b\"!=s.call({source:\"a\",flags:\"b\"})})?u(function(){var e=r(this);return\"/\".concat(e.source,\"/\",\"flags\"in e?e.flags:!i&&e instanceof RegExp?o.call(e):void 0)}):s.name!=a&&u(function(){return s.call(this)})},function(e,t,n){\"use strict\";n(50)(\"anchor\",function(e){return function(t){return e(this,\"a\",\"name\",t)}})},function(e,t,n){\"use strict\";n(50)(\"big\",function(e){return function(){return e(this,\"big\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"blink\",function(e){return function(){return e(this,\"blink\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"bold\",function(e){return function(){return e(this,\"b\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(2),o=n(276)(!1);r(r.P,\"String\",{codePointAt:function(e){return o(this,e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(32),i=n(277),a=\"endsWith\",s=\"\"[a];r(r.P+r.F*n(264)(a),\"String\",{endsWith:function(e){var t=i(this,e,a),n=arguments.length>1?arguments[1]:void 0,r=o(t.length),u=void 0===n?r:Math.min(o(n),r),l=String(e);return s?s.call(t,l,u):t.slice(u-l.length,u)===l}})},function(e,t,n){\"use strict\";n(50)(\"fixed\",function(e){return function(){return e(this,\"tt\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"fontcolor\",function(e){return function(t){return e(this,\"font\",\"color\",t)}})},function(e,t,n){\"use strict\";n(50)(\"fontsize\",function(e){return function(t){return e(this,\"font\",\"size\",t)}})},function(e,t,n){var r=n(2),o=n(105),i=String.fromCharCode,a=String.fromCodePoint;r(r.S+r.F*(!!a&&1!=a.length),\"String\",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,a=0;r>a;){if(t=+arguments[a++],o(t,1114111)!==t)throw RangeError(t+\" is not a valid code point\");n.push(t<65536?i(t):i(((t-=65536)>>10)+55296,t%1024+56320))}return n.join(\"\")}})},function(e,t,n){\"use strict\";var r=n(2),o=n(277),i=\"includes\";r(r.P+r.F*n(264)(i),\"String\",{includes:function(e){return!!~o(this,e,i).indexOf(e,arguments.length>1?arguments[1]:void 0)}})},function(e,t,n){\"use strict\";n(50)(\"italics\",function(e){return function(){return e(this,\"i\",\"\",\"\")}})},[1760,276,269],function(e,t,n){\"use strict\";n(50)(\"link\",function(e){return function(t){return e(this,\"a\",\"href\",t)}})},function(e,t,n){var r=n(2),o=n(57),i=n(32);r(r.S,\"String\",{raw:function(e){for(var t=o(e.raw),n=i(t.length),r=arguments.length,a=[],s=0;n>s;)a.push(String(t[s++])),s<r&&a.push(String(arguments[s]));return a.join(\"\")}})},function(e,t,n){var r=n(2);r(r.P,\"String\",{repeat:n(278)})},function(e,t,n){\"use strict\";n(50)(\"small\",function(e){return function(){return e(this,\"small\",\"\",\"\")}})},function(e,t,n){\"use strict\";var r=n(2),o=n(32),i=n(277),a=\"startsWith\",s=\"\"[a];r(r.P+r.F*n(264)(a),\"String\",{startsWith:function(e){var t=i(this,e,a),n=o(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e);return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},function(e,t,n){\"use strict\";n(50)(\"strike\",function(e){return function(){return e(this,\"strike\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"sub\",function(e){return function(){return e(this,\"sub\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(50)(\"sup\",function(e){return function(){return e(this,\"sup\",\"\",\"\")}})},function(e,t,n){\"use strict\";n(129)(\"trim\",function(e){return function(){return e(this,3)}})},[1761,19,54,30,2,49,88,21,195,128,106,26,403,282,960,188,18,22,57,73,102,99,393,55,31,101,100,158,192,87,48],function(e,t,n){\"use strict\";var r=n(2),o=n(197),i=n(281),a=n(18),s=n(105),u=n(32),l=n(22),c=n(19).ArrayBuffer,d=n(196),f=i.ArrayBuffer,p=i.DataView,h=o.ABV&&c.isView,m=f.prototype.slice,g=o.VIEW,_=\"ArrayBuffer\";r(r.G+r.W+r.F*(c!==f),{ArrayBuffer:f}),r(r.S+r.F*!o.CONSTR,_,{isView:function(e){return h&&h(e)||l(e)&&g in e}}),r(r.P+r.U+r.F*n(21)(function(){return!new f(2).slice(1,void 0).byteLength}),_,{slice:function(e,t){if(void 0!==m&&void 0===t)return m.call(a(this),e);for(var n=a(this).byteLength,r=s(e,n),o=s(void 0===t?n:t,n),i=new(d(this,f))(u(o-r)),l=new p(this),c=new p(i),h=0;r<o;)c.setUint8(h++,l.getUint8(r++));return i}}),n(104)(_)},function(e,t,n){var r=n(2);r(r.G+r.W+r.F*!n(197).ABV,{DataView:n(281).DataView})},function(e,t,n){n(79)(\"Float32\",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Float64\",8,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Int16\",2,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Int32\",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Int8\",1,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint16\",2,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint32\",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint8\",1,function(e){return function(t,n,r){return e(this,t,n,r)}})},function(e,t,n){n(79)(\"Uint8\",1,function(e){return function(t,n,r){return e(this,t,n,r)}},!0)},function(e,t,n){\"use strict\";var r=n(381),o=n(130),i=\"WeakSet\";n(185)(i,function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(o(this,i),e,!0)}},r,!1,!0)},function(e,t,n){\"use strict\";var r=n(2),o=n(382),i=n(35),a=n(32),s=n(44),u=n(260);r(r.P,\"Array\",{flatMap:function(e){var t,n,r=i(this);return s(e),t=a(r.length),n=u(r,0),o(n,r,r,t,0,1,e,arguments[1]),n}}),n(86)(\"flatMap\")},function(e,t,n){\"use strict\";var r=n(2),o=n(382),i=n(35),a=n(32),s=n(72),u=n(260);r(r.P,\"Array\",{flatten:function(){var e=arguments[0],t=i(this),n=a(t.length),r=u(t,0);return o(r,t,t,n,0,void 0===e?1:s(e)),r}}),n(86)(\"flatten\")},function(e,t,n){\"use strict\";var r=n(2),o=n(184)(!0);r(r.P,\"Array\",{includes:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0)}}),n(86)(\"includes\")},function(e,t,n){var r=n(2),o=n(272)(),i=n(19).process,a=\"process\"==n(59)(i);r(r.G,{asap:function(e){var t=a&&i.domain;o(t?t.bind(e):e)}})},function(e,t,n){var r=n(2),o=n(59);r(r.S,\"Error\",{isError:function(e){return\"Error\"===o(e)}})},function(e,t,n){var r=n(2);r(r.G,{global:n(19)})},function(e,t,n){n(193)(\"Map\")},function(e,t,n){n(194)(\"Map\")},function(e,t,n){var r=n(2);r(r.P+r.R,\"Map\",{toJSON:n(380)(\"Map\")})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{clamp:function(e,t,n){return Math.min(n,Math.max(t,e))}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{DEG_PER_RAD:Math.PI/180})},function(e,t,n){var r=n(2),o=180/Math.PI;r(r.S,\"Math\",{degrees:function(e){return e*o}})},function(e,t,n){var r=n(2),o=n(390),i=n(388);r(r.S,\"Math\",{fscale:function(e,t,n,r,a){return i(o(e,t,n,r,a))}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{iaddh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i+(r>>>0)+((o&a|(o|a)&~(o+a>>>0))>>>31)|0}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{imulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>16,u=o>>16,l=(s*a>>>0)+(i*a>>>16);return s*u+(l>>16)+((i*u>>>0)+(l&n)>>16)}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{isubh:function(e,t,n,r){var o=e>>>0,i=t>>>0,a=n>>>0;return i-(r>>>0)-((~o&a|~(o^a)&o-a>>>0)>>>31)|0}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{RAD_PER_DEG:180/Math.PI})},function(e,t,n){var r=n(2),o=Math.PI/180;r(r.S,\"Math\",{radians:function(e){return e*o}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{scale:n(390)})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{signbit:function(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},function(e,t,n){var r=n(2);r(r.S,\"Math\",{umulh:function(e,t){var n=65535,r=+e,o=+t,i=r&n,a=o&n,s=r>>>16,u=o>>>16,l=(s*a>>>0)+(i*a>>>16);return s*u+(l>>>16)+((i*u>>>0)+(l&n)>>>16)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(44),a=n(31);n(30)&&r(r.P+n(191),\"Object\",{__defineGetter__:function(e,t){a.f(o(this),e,{get:i(t),enumerable:!0,configurable:!0})}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(44),a=n(31);n(30)&&r(r.P+n(191),\"Object\",{__defineSetter__:function(e,t){a.f(o(this),e,{set:i(t),enumerable:!0,configurable:!0})}})},[1762,2,395],function(e,t,n){var r=n(2),o=n(396),i=n(57),a=n(55),s=n(261);r(r.S,\"Object\",{getOwnPropertyDescriptors:function(e){for(var t,n,r=i(e),u=a.f,l=o(r),c={},d=0;l.length>d;)n=u(r,t=l[d++]),void 0!==n&&s(c,t,n);return c}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(73),a=n(56),s=n(55).f;n(30)&&r(r.P+n(191),\"Object\",{__lookupGetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.get;while(n=a(n))}})},function(e,t,n){\"use strict\";var r=n(2),o=n(35),i=n(73),a=n(56),s=n(55).f;n(30)&&r(r.P+n(191),\"Object\",{__lookupSetter__:function(e){var t,n=o(this),r=i(e,!0);do if(t=s(n,r))return t.set;while(n=a(n))}})},[1763,2,395],function(e,t,n){\"use strict\";var r=n(2),o=n(19),i=n(60),a=n(272)(),s=n(26)(\"observable\"),u=n(44),l=n(18),c=n(97),d=n(103),f=n(48),p=n(98),h=p.RETURN,m=function(e){return null==e?void 0:u(e)},g=function(e){var t=e._c;t&&(e._c=void 0,t())},_=function(e){return void 0===e._o},b=function(e){_(e)||(e._o=void 0,g(e))},y=function(e,t){l(e),this._c=void 0,this._o=e,e=new v(this);try{var n=t(e),r=n;null!=n&&(\"function\"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:u(n),this._c=n)}catch(t){return void e.error(t)}_(this)&&g(this)};y.prototype=d({},{unsubscribe:function(){b(this)}});var v=function(e){this._s=e};v.prototype=d({},{next:function(e){var t=this._s;if(!_(t)){var n=t._o;try{var r=m(n.next);if(r)return r.call(n,e)}catch(e){try{b(t)}finally{throw e}}}},error:function(e){var t=this._s;if(_(t))throw e;var n=t._o;t._o=void 0;try{var r=m(n.error);if(!r)throw e;e=r.call(n,e)}catch(e){try{g(t)}finally{throw e}}return g(t),e},complete:function(e){var t=this._s;if(!_(t)){var n=t._o;t._o=void 0;try{var r=m(n.complete);e=r?r.call(n,e):void 0}catch(e){try{g(t)}finally{throw e}}return g(t),e}}});var M=function(e){c(this,M,\"Observable\",\"_f\")._f=u(e)};d(M.prototype,{subscribe:function(e){return new y(e,this._f)},forEach:function(e){var t=this;return new(i.Promise||o.Promise)(function(n,r){u(e);var o=t.subscribe({next:function(t){try{return e(t)}catch(e){r(e),o.unsubscribe()}},error:r,complete:n})})}}),d(M,{from:function(e){var t=\"function\"==typeof this?this:M,n=m(l(e)[s]);if(n){var r=l(n.call(e));return r.constructor===t?r:new t(function(e){return r.subscribe(e)})}return new t(function(t){var n=!1;return a(function(){if(!n){try{if(p(e,!1,function(e){if(t.next(e),n)return h})===h)return}catch(e){if(n)throw e;return void t.error(e)}t.complete()}}),function(){n=!0}})},of:function(){for(var e=0,t=arguments.length,n=new Array(t);e<t;)n[e]=arguments[e++];return new(\"function\"==typeof this?this:M)(function(e){var t=!1;return a(function(){if(!t){for(var r=0;r<n.length;++r)if(e.next(n[r]),t)return;e.complete()}}),function(){t=!0}})}}),f(M.prototype,s,function(){return this}),r(r.G,{Observable:M}),n(104)(\"Observable\")},function(e,t,n){\"use strict\";var r=n(2),o=n(60),i=n(19),a=n(196),s=n(400);r(r.P+r.R,\"Promise\",{finally:function(e){var t=a(this,o.Promise||i.Promise),n=\"function\"==typeof e;return this.then(n?function(n){return s(t,e()).then(function(){return n})}:e,n?function(n){return s(t,e()).then(function(){throw n})}:e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(273),i=n(399);r(r.S,\"Promise\",{try:function(e){var t=o.f(this),n=i(e);return(n.e?t.reject:t.resolve)(n.v),t.promise}})},function(e,t,n){var r=n(78),o=n(18),i=r.key,a=r.set;r.exp({defineMetadata:function(e,t,n,r){a(e,t,o(n),i(r))}})},function(e,t,n){var r=n(78),o=n(18),i=r.key,a=r.map,s=r.store;r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:i(arguments[2]),r=a(o(t),n,!1);if(void 0===r||!r.delete(e))return!1;if(r.size)return!0;var u=s.get(t);return u.delete(n),!!u.size||s.delete(t)}})},function(e,t,n){var r=n(406),o=n(376),i=n(78),a=n(18),s=n(56),u=i.keys,l=i.key,c=function(e,t){var n=u(e,t),i=s(e);if(null===i)return n;var a=c(i,t);return a.length?n.length?o(new r(n.concat(a))):a:n};i.exp({getMetadataKeys:function(e){return c(a(e),arguments.length<2?void 0:l(arguments[1]))}})},function(e,t,n){var r=n(78),o=n(18),i=n(56),a=r.has,s=r.get,u=r.key,l=function(e,t,n){var r=a(e,t,n);if(r)return s(e,t,n);var o=i(t);return null!==o?l(e,o,n):void 0};r.exp({getMetadata:function(e,t){return l(e,o(t),arguments.length<3?void 0:u(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=r.keys,a=r.key;r.exp({getOwnMetadataKeys:function(e){return i(o(e),arguments.length<2?void 0:a(arguments[1]))}})},function(e,t,n){var r=n(78),o=n(18),i=r.get,a=r.key;r.exp({getOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=n(56),a=r.has,s=r.key,u=function(e,t,n){var r=a(e,t,n);if(r)return!0;var o=i(t);return null!==o&&u(e,o,n)};r.exp({hasMetadata:function(e,t){return u(e,o(t),arguments.length<3?void 0:s(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=r.has,a=r.key;r.exp({hasOwnMetadata:function(e,t){return i(e,o(t),arguments.length<3?void 0:a(arguments[2]))}})},function(e,t,n){var r=n(78),o=n(18),i=n(44),a=r.key,s=r.set;r.exp({metadata:function(e,t){return function(n,r){s(e,t,(void 0!==r?o:i)(n),a(r))}}})},function(e,t,n){n(193)(\"Set\")},function(e,t,n){n(194)(\"Set\")},function(e,t,n){var r=n(2);r(r.P+r.R,\"Set\",{toJSON:n(380)(\"Set\")})},function(e,t,n){\"use strict\";var r=n(2),o=n(276)(!0);r(r.P,\"String\",{at:function(e){return o(this,e)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(70),i=n(32),a=n(189),s=n(187),u=RegExp.prototype,l=function(e,t){this._r=e,this._s=t};n(268)(l,\"RegExp String\",function(){var e=this._r.exec(this._s);return{value:e,done:null===e}}),r(r.P,\"String\",{matchAll:function(e){if(o(this),!a(e))throw TypeError(e+\" is not a regexp!\");var t=String(this),n=\"flags\"in u?String(e.flags):s.call(e),r=new RegExp(e.source,~n.indexOf(\"g\")?n:\"g\"+n);return r.lastIndex=i(e.lastIndex),new l(r,t)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(401),i=n(198);r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(i),\"String\",{padEnd:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},function(e,t,n){\"use strict\";var r=n(2),o=n(401),i=n(198);r(r.P+r.F*/Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(i),\"String\",{padStart:function(e){return o(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},function(e,t,n){\"use strict\";n(129)(\"trimLeft\",function(e){return function(){return e(this,1)}},\"trimStart\")},function(e,t,n){\"use strict\";n(129)(\"trimRight\",function(e){return function(){return e(this,2)}},\"trimEnd\")},[1764,282],[1765,282],function(e,t,n){var r=n(2);r(r.S,\"System\",{global:n(19)})},function(e,t,n){n(193)(\"WeakMap\")},function(e,t,n){n(194)(\"WeakMap\")},function(e,t,n){n(193)(\"WeakSet\")},function(e,t,n){n(194)(\"WeakSet\")},function(e,t,n){for(var r=n(284),o=n(101),i=n(49),a=n(19),s=n(48),u=n(127),l=n(26),c=l(\"iterator\"),d=l(\"toStringTag\"),f=u.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},h=o(p),m=0;m<h.length;m++){var g,_=h[m],b=p[_],y=a[_],v=y&&y.prototype;if(v&&(v[c]||s(v,c,f),v[d]||s(v,d,_),u[_]=f,b))for(g in r)v[g]||i(v,g,r[g],!0)}},function(e,t,n){var r=n(2),o=n(280);r(r.G+r.B,{setImmediate:o.set,clearImmediate:o.clear})},function(e,t,n){var r=n(19),o=n(2),i=n(198),a=[].slice,s=/MSIE .\\./.test(i),u=function(e){return function(t,n){var r=arguments.length>2,o=!!r&&a.call(arguments,2);return e(r?function(){(\"function\"==typeof t?t:Function(t)).apply(this,o)}:t,n)}};o(o.G+o.B+o.F*s,{setTimeout:u(r.setTimeout),setInterval:u(r.setInterval)})},function(e,t,n){n(1083),n(1022),n(1024),n(1023),n(1026),n(1028),n(1033),n(1027),n(1025),n(1035),n(1034),n(1030),n(1031),n(1029),n(1021),n(1032),n(1036),n(1037),n(989),n(991),n(990),n(1039),n(1038),n(1009),n(1019),n(1020),n(1010),n(1011),n(1012),n(1013),n(1014),n(1015),n(1016),n(1017),n(1018),n(992),n(993),n(994),n(995),n(996),n(997),n(998),n(999),n(1e3),n(1001),n(1002),n(1003),n(1004),n(1005),n(1006),n(1007),n(1008),n(1070),n(1075),n(1082),n(1073),n(1065),n(1066),n(1071),n(1076),n(1078),n(1061),n(1062),n(1063),n(1064),n(1067),n(1068),n(1069),n(1072),n(1074),n(1077),n(1079),n(1080),n(1081),n(984),n(986),n(985),n(988),n(987),n(973),n(971),n(977),n(974),n(980),n(982),n(970),n(976),n(967),n(981),n(965),n(979),n(978),n(972),n(975),n(964),n(966),n(969),n(968),n(983),n(284),n(1055),n(1060),n(405),n(1056),n(1057),n(1058),n(1059),n(1040),n(404),n(406),n(407),n(1095),n(1084),n(1085),n(1090),n(1093),n(1094),n(1088),n(1091),n(1089),n(1092),n(1086),n(1087),n(1041),n(1042),n(1043),n(1044),n(1045),n(1048),n(1046),n(1047),n(1049),n(1050),n(1051),n(1052),n(1054),n(1053),n(1098),n(1096),n(1097),n(1139),n(1142),n(1141),n(1143),n(1144),n(1140),n(1145),n(1146),n(1120),n(1123),n(1119),n(1117),n(1118),n(1121),n(1122),n(1104),n(1138),n(1103),n(1137),n(1149),n(1151),n(1102),n(1136),n(1148),n(1150),n(1101),n(1147),n(1100),n(1105),n(1106),n(1107),n(1108),n(1109),n(1111),n(1110),n(1112),n(1113),n(1114),n(1116),n(1115),n(1125),n(1126),n(1127),n(1128),n(1130),n(1129),n(1132),n(1131),n(1133),n(1134),n(1135),n(1099),n(1124),n(1154),n(1153),n(1152),e.exports=n(60)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function u(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter(function(t){return t!==e})},get:function(){return e},set:function(n,r){e=n,t.forEach(function(t){return t(e,r)})}}}function l(e){return Array.isArray(e)?e[0]:e}function c(e,t){var n,r,c=\"__create-react-context-\"+(0,m.default)()+\"__\",f=function(e){function n(){var t,r,a;o(this,n);for(var s=arguments.length,l=Array(s),c=0;c<s;c++)l[c]=arguments[c];return t=r=i(this,e.call.apply(e,[this].concat(l))),r.emitter=u(r.props.value),a=t,i(r,a)}return a(n,e),n.prototype.getChildContext=function(){var e;return e={},e[c]=this.emitter,e},n.prototype.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n=this.props.value,r=e.value,o=void 0;s(n,r)?o=0:(o=\"function\"==typeof t?t(n,r):_,o|=0,0!==o&&this.emitter.set(e.value,o))}},n.prototype.render=function(){return this.props.children},n}(d.Component);f.childContextTypes=(n={},n[c]=p.default.object.isRequired,n);var h=function(t){function n(){var e,r,a;o(this,n);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return e=r=i(this,t.call.apply(t,[this].concat(u))),r.state={value:r.getValue()},r.onUpdate=function(e,t){var n=0|r.observedBits;0!==(n&t)&&r.setState({value:r.getValue()})},a=e,i(r,a)}return a(n,t),n.prototype.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=void 0===t||null===t?_:t},n.prototype.componentDidMount=function(){this.context[c]&&this.context[c].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=void 0===e||null===e?_:e},n.prototype.componentWillUnmount=function(){this.context[c]&&this.context[c].off(this.onUpdate)},n.prototype.getValue=function(){return this.context[c]?this.context[c].get():e},n.prototype.render=function(){return l(this.props.children)(this.state.value)},n}(d.Component);return h.contextTypes=(r={},r[c]=p.default.object,r),{Provider:f,Consumer:h}}t.__esModule=!0;var d=n(1),f=(r(d),n(5)),p=r(f),h=n(1264),m=r(h),g=n(20),_=(r(g),1073741823);t.default=c,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(1156),s=r(a);t.default=i.default.createContext||s.default,e.exports=t.default},function(e,t){function n(){return(new Date).getTime()}e.exports=n},function(e,t){function n(e){return\"[object Arguments]\"==Object.prototype.toString.call(e)}function r(e){return e&&\"object\"==typeof e&&\"number\"==typeof e.length&&Object.prototype.hasOwnProperty.call(e,\"callee\")&&!Object.prototype.propertyIsEnumerable.call(e,\"callee\")||!1}var o=\"[object Arguments]\"==function(){return Object.prototype.toString.call(arguments)}();t=e.exports=o?n:r,t.supported=n,t.unsupported=r},function(e,t){function n(e){var t=[];for(var n in e)t.push(n);return t}t=e.exports=\"function\"==typeof Object.keys?Object.keys:n,t.shim=n},function(e,t){function n(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=.5,this.Match_Distance=1e3,this.Patch_DeleteThreshold=.5,this.Patch_Margin=4,this.Match_MaxBits=32}var r=-1,o=1,i=0;n.Diff,n.prototype.diff_main=function(e,t,n,r){\"undefined\"==typeof r&&(r=this.Diff_Timeout<=0?Number.MAX_VALUE:(new Date).getTime()+1e3*this.Diff_Timeout);var o=r;if(null==e||null==t)throw new Error(\"Null input. (diff_main)\");if(e==t)return e?[[i,e]]:[];\"undefined\"==typeof n&&(n=!0);var a=n,s=this.diff_commonPrefix(e,t),u=e.substring(0,s);e=e.substring(s),t=t.substring(s),s=this.diff_commonSuffix(e,t);var l=e.substring(e.length-s);e=e.substring(0,e.length-s),t=t.substring(0,t.length-s);var c=this.diff_compute_(e,t,a,o);return u&&c.unshift([i,u]),l&&c.push([i,l]),this.diff_cleanupMerge(c),c},n.prototype.diff_compute_=function(e,t,n,a){var s;if(!e)return[[o,t]];if(!t)return[[r,e]];var u=e.length>t.length?e:t,l=e.length>t.length?t:e,c=u.indexOf(l);if(c!=-1)return s=[[o,u.substring(0,c)],[i,l],[o,u.substring(c+l.length)]],e.length>t.length&&(s[0][0]=s[2][0]=r),s;if(1==l.length)return[[r,e],[o,t]];var d=this.diff_halfMatch_(e,t);if(d){var f=d[0],p=d[1],h=d[2],m=d[3],g=d[4],_=this.diff_main(f,h,n,a),b=this.diff_main(p,m,n,a);return _.concat([[i,g]],b)}return n&&e.length>100&&t.length>100?this.diff_lineMode_(e,t,a):this.diff_bisect_(e,t,a)},n.prototype.diff_lineMode_=function(e,t,n){var a=this.diff_linesToChars_(e,t);e=a.chars1,t=a.chars2;var s=a.lineArray,u=this.diff_main(e,t,!1,n);this.diff_charsToLines_(u,s),this.diff_cleanupSemantic(u),u.push([i,\"\"]);for(var l=0,c=0,d=0,f=\"\",p=\"\";l<u.length;){switch(u[l][0]){case o:d++,p+=u[l][1];break;case r:c++,f+=u[l][1];break;case i:if(c>=1&&d>=1){u.splice(l-c-d,c+d),l=l-c-d;for(var a=this.diff_main(f,p,!1,n),h=a.length-1;h>=0;h--)u.splice(l,0,a[h]);l+=a.length}d=0,c=0,f=\"\",p=\"\"}l++}return u.pop(),u},n.prototype.diff_bisect_=function(e,t,n){for(var i=e.length,a=t.length,s=Math.ceil((i+a)/2),u=s,l=2*s,c=new Array(l),d=new Array(l),f=0;f<l;f++)c[f]=-1,d[f]=-1;c[u+1]=0,d[u+1]=0;for(var p=i-a,h=p%2!=0,m=0,g=0,_=0,b=0,y=0;y<s&&!((new Date).getTime()>n);y++){for(var v=-y+m;v<=y-g;v+=2){var M,A=u+v;M=v==-y||v!=y&&c[A-1]<c[A+1]?c[A+1]:c[A-1]+1;for(var w=M-v;M<i&&w<a&&e.charAt(M)==t.charAt(w);)M++,w++;if(c[A]=M,M>i)g+=2;else if(w>a)m+=2;else if(h){var C=u+p-v;if(C>=0&&C<l&&d[C]!=-1){var E=i-d[C];if(M>=E)return this.diff_bisectSplit_(e,t,M,w,n)}}}for(var L=-y+_;L<=y-b;L+=2){var E,C=u+L;E=L==-y||L!=y&&d[C-1]<d[C+1]?d[C+1]:d[C-1]+1;for(var T=E-L;E<i&&T<a&&e.charAt(i-E-1)==t.charAt(a-T-1);)E++,T++;if(d[C]=E,E>i)b+=2;else if(T>a)_+=2;else if(!h){var A=u+p-L;if(A>=0&&A<l&&c[A]!=-1){var M=c[A],w=u+M-A;if(E=i-E,M>=E)return this.diff_bisectSplit_(e,t,M,w,n)}}}}return[[r,e],[o,t]]},n.prototype.diff_bisectSplit_=function(e,t,n,r,o){var i=e.substring(0,n),a=t.substring(0,r),s=e.substring(n),u=t.substring(r),l=this.diff_main(i,a,!1,o),c=this.diff_main(s,u,!1,o);return l.concat(c)},n.prototype.diff_linesToChars_=function(e,t){function n(e){for(var t=\"\",n=0,i=-1,a=r.length;i<e.length-1;){i=e.indexOf(\"\\n\",n),i==-1&&(i=e.length-1);var s=e.substring(n,i+1);n=i+1,(o.hasOwnProperty?o.hasOwnProperty(s):void 0!==o[s])?t+=String.fromCharCode(o[s]):(t+=String.fromCharCode(a),o[s]=a,r[a++]=s)}return t}var r=[],o={};r[0]=\"\";var i=n(e),a=n(t);return{chars1:i,chars2:a,lineArray:r}},n.prototype.diff_charsToLines_=function(e,t){for(var n=0;n<e.length;n++){for(var r=e[n][1],o=[],i=0;i<r.length;i++)o[i]=t[r.charCodeAt(i)];e[n][1]=o.join(\"\")}},n.prototype.diff_commonPrefix=function(e,t){if(!e||!t||e.charAt(0)!=t.charAt(0))return 0;for(var n=0,r=Math.min(e.length,t.length),o=r,i=0;n<o;)e.substring(i,o)==t.substring(i,o)?(n=o,i=n):r=o,o=Math.floor((r-n)/2+n);return o},n.prototype.diff_commonSuffix=function(e,t){if(!e||!t||e.charAt(e.length-1)!=t.charAt(t.length-1))return 0;for(var n=0,r=Math.min(e.length,t.length),o=r,i=0;n<o;)e.substring(e.length-o,e.length-i)==t.substring(t.length-o,t.length-i)?(n=o,i=n):r=o,o=Math.floor((r-n)/2+n);return o},n.prototype.diff_commonOverlap_=function(e,t){var n=e.length,r=t.length;if(0==n||0==r)return 0;n>r?e=e.substring(n-r):n<r&&(t=t.substring(0,n));var o=Math.min(n,r);if(e==t)return o;for(var i=0,a=1;;){var s=e.substring(o-a),u=t.indexOf(s);if(u==-1)return i;a+=u,0!=u&&e.substring(o-a)!=t.substring(0,a)||(i=a,a++)}},n.prototype.diff_halfMatch_=function(e,t){function n(e,t,n){for(var r,o,i,s,u=e.substring(n,n+Math.floor(e.length/4)),l=-1,c=\"\";(l=t.indexOf(u,l+1))!=-1;){var d=a.diff_commonPrefix(e.substring(n),t.substring(l)),f=a.diff_commonSuffix(e.substring(0,n),t.substring(0,l));c.length<f+d&&(c=t.substring(l-f,l)+t.substring(l,l+d),r=e.substring(0,n-f),o=e.substring(n+d),i=t.substring(0,l-f),s=t.substring(l+d))}return 2*c.length>=e.length?[r,o,i,s,c]:null}if(this.Diff_Timeout<=0)return null;var r=e.length>t.length?e:t,o=e.length>t.length?t:e;if(r.length<4||2*o.length<r.length)return null;var i,a=this,s=n(r,o,Math.ceil(r.length/4)),u=n(r,o,Math.ceil(r.length/2));if(!s&&!u)return null;i=u?s&&s[4].length>u[4].length?s:u:s;var l,c,d,f;e.length>t.length?(l=i[0],c=i[1],d=i[2],f=i[3]):(d=i[0],f=i[1],l=i[2],c=i[3]);var p=i[4];return[l,c,d,f,p]},n.prototype.diff_cleanupSemantic=function(e){for(var t=!1,n=[],a=0,s=null,u=0,l=0,c=0,d=0,f=0;u<e.length;)e[u][0]==i?(n[a++]=u,l=d,c=f,d=0,f=0,s=e[u][1]):(e[u][0]==o?d+=e[u][1].length:f+=e[u][1].length,s&&s.length<=Math.max(l,c)&&s.length<=Math.max(d,f)&&(e.splice(n[a-1],0,[r,s]),e[n[a-1]+1][0]=o,a--,a--,u=a>0?n[a-1]:-1,l=0,c=0,d=0,f=0,s=null,t=!0)),u++;for(t&&this.diff_cleanupMerge(e),this.diff_cleanupSemanticLossless(e),u=1;u<e.length;){if(e[u-1][0]==r&&e[u][0]==o){var p=e[u-1][1],h=e[u][1],m=this.diff_commonOverlap_(p,h),g=this.diff_commonOverlap_(h,p);m>=g?(m>=p.length/2||m>=h.length/2)&&(e.splice(u,0,[i,h.substring(0,m)]),e[u-1][1]=p.substring(0,p.length-m),e[u+1][1]=h.substring(m),u++):(g>=p.length/2||g>=h.length/2)&&(e.splice(u,0,[i,p.substring(0,g)]),e[u-1][0]=o,e[u-1][1]=h.substring(0,h.length-g),e[u+1][0]=r,e[u+1][1]=p.substring(g),u++),u++}u++}},n.prototype.diff_cleanupSemanticLossless=function(e){function t(e,t){if(!e||!t)return 6;var r=e.charAt(e.length-1),o=t.charAt(0),i=r.match(n.nonAlphaNumericRegex_),a=o.match(n.nonAlphaNumericRegex_),s=i&&r.match(n.whitespaceRegex_),u=a&&o.match(n.whitespaceRegex_),l=s&&r.match(n.linebreakRegex_),c=u&&o.match(n.linebreakRegex_),d=l&&e.match(n.blanklineEndRegex_),f=c&&t.match(n.blanklineStartRegex_);return d||f?5:l||c?4:i&&!s&&u?3:s||u?2:i||a?1:0}for(var r=1;r<e.length-1;){if(e[r-1][0]==i&&e[r+1][0]==i){var o=e[r-1][1],a=e[r][1],s=e[r+1][1],u=this.diff_commonSuffix(o,a);if(u){var l=a.substring(a.length-u);o=o.substring(0,o.length-u),a=l+a.substring(0,a.length-u),s=l+s}for(var c=o,d=a,f=s,p=t(o,a)+t(a,s);a.charAt(0)===s.charAt(0);){o+=a.charAt(0),a=a.substring(1)+s.charAt(0),s=s.substring(1);var h=t(o,a)+t(a,s);h>=p&&(p=h,c=o,d=a,f=s)}e[r-1][1]!=c&&(c?e[r-1][1]=c:(e.splice(r-1,1),r--),e[r][1]=d,f?e[r+1][1]=f:(e.splice(r+1,1),r--))}r++}},n.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/,n.whitespaceRegex_=/\\s/,n.linebreakRegex_=/[\\r\\n]/,n.blanklineEndRegex_=/\\n\\r?\\n$/,n.blanklineStartRegex_=/^\\r?\\n\\r?\\n/,n.prototype.diff_cleanupEfficiency=function(e){for(var t=!1,n=[],a=0,s=null,u=0,l=!1,c=!1,d=!1,f=!1;u<e.length;)e[u][0]==i?(e[u][1].length<this.Diff_EditCost&&(d||f)?(n[a++]=u,l=d,c=f,s=e[u][1]):(a=0,s=null),d=f=!1):(e[u][0]==r?f=!0:d=!0,s&&(l&&c&&d&&f||s.length<this.Diff_EditCost/2&&l+c+d+f==3)&&(e.splice(n[a-1],0,[r,s]),e[n[a-1]+1][0]=o,a--,s=null,l&&c?(d=f=!0,a=0):(a--,u=a>0?n[a-1]:-1,d=f=!1),t=!0)),u++;t&&this.diff_cleanupMerge(e)},n.prototype.diff_cleanupMerge=function(e){\ne.push([i,\"\"]);for(var t,n=0,a=0,s=0,u=\"\",l=\"\";n<e.length;)switch(e[n][0]){case o:s++,l+=e[n][1],n++;break;case r:a++,u+=e[n][1],n++;break;case i:a+s>1?(0!==a&&0!==s&&(t=this.diff_commonPrefix(l,u),0!==t&&(n-a-s>0&&e[n-a-s-1][0]==i?e[n-a-s-1][1]+=l.substring(0,t):(e.splice(0,0,[i,l.substring(0,t)]),n++),l=l.substring(t),u=u.substring(t)),t=this.diff_commonSuffix(l,u),0!==t&&(e[n][1]=l.substring(l.length-t)+e[n][1],l=l.substring(0,l.length-t),u=u.substring(0,u.length-t))),0===a?e.splice(n-s,a+s,[o,l]):0===s?e.splice(n-a,a+s,[r,u]):e.splice(n-a-s,a+s,[r,u],[o,l]),n=n-a-s+(a?1:0)+(s?1:0)+1):0!==n&&e[n-1][0]==i?(e[n-1][1]+=e[n][1],e.splice(n,1)):n++,s=0,a=0,u=\"\",l=\"\"}\"\"===e[e.length-1][1]&&e.pop();var c=!1;for(n=1;n<e.length-1;)e[n-1][0]==i&&e[n+1][0]==i&&(e[n][1].substring(e[n][1].length-e[n-1][1].length)==e[n-1][1]?(e[n][1]=e[n-1][1]+e[n][1].substring(0,e[n][1].length-e[n-1][1].length),e[n+1][1]=e[n-1][1]+e[n+1][1],e.splice(n-1,1),c=!0):e[n][1].substring(0,e[n+1][1].length)==e[n+1][1]&&(e[n-1][1]+=e[n+1][1],e[n][1]=e[n][1].substring(e[n+1][1].length)+e[n+1][1],e.splice(n+1,1),c=!0)),n++;c&&this.diff_cleanupMerge(e)},n.prototype.diff_xIndex=function(e,t){var n,i=0,a=0,s=0,u=0;for(n=0;n<e.length&&(e[n][0]!==o&&(i+=e[n][1].length),e[n][0]!==r&&(a+=e[n][1].length),!(i>t));n++)s=i,u=a;return e.length!=n&&e[n][0]===r?u:u+(t-s)},n.prototype.diff_prettyHtml=function(e){for(var t=[],n=/&/g,a=/</g,s=/>/g,u=/\\n/g,l=0;l<e.length;l++){var c=e[l][0],d=e[l][1],f=d.replace(n,\"&amp;\").replace(a,\"&lt;\").replace(s,\"&gt;\").replace(u,\"&para;<br>\");switch(c){case o:t[l]='<ins style=\"background:#e6ffe6;\">'+f+\"</ins>\";break;case r:t[l]='<del style=\"background:#ffe6e6;\">'+f+\"</del>\";break;case i:t[l]=\"<span>\"+f+\"</span>\"}}return t.join(\"\")},n.prototype.diff_text1=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==o&&(t[n]=e[n][1]);return t.join(\"\")},n.prototype.diff_text2=function(e){for(var t=[],n=0;n<e.length;n++)e[n][0]!==r&&(t[n]=e[n][1]);return t.join(\"\")},n.prototype.diff_levenshtein=function(e){for(var t=0,n=0,a=0,s=0;s<e.length;s++){var u=e[s][0],l=e[s][1];switch(u){case o:n+=l.length;break;case r:a+=l.length;break;case i:t+=Math.max(n,a),n=0,a=0}}return t+=Math.max(n,a)},n.prototype.diff_toDelta=function(e){for(var t=[],n=0;n<e.length;n++)switch(e[n][0]){case o:t[n]=\"+\"+encodeURI(e[n][1]);break;case r:t[n]=\"-\"+e[n][1].length;break;case i:t[n]=\"=\"+e[n][1].length}return t.join(\"\\t\").replace(/%20/g,\" \")},n.prototype.diff_fromDelta=function(e,t){for(var n=[],a=0,s=0,u=t.split(/\\t/g),l=0;l<u.length;l++){var c=u[l].substring(1);switch(u[l].charAt(0)){case\"+\":try{n[a++]=[o,decodeURI(c)]}catch(e){throw new Error(\"Illegal escape in diff_fromDelta: \"+c)}break;case\"-\":case\"=\":var d=parseInt(c,10);if(isNaN(d)||d<0)throw new Error(\"Invalid number in diff_fromDelta: \"+c);var f=e.substring(s,s+=d);\"=\"==u[l].charAt(0)?n[a++]=[i,f]:n[a++]=[r,f];break;default:if(u[l])throw new Error(\"Invalid diff operation in diff_fromDelta: \"+u[l])}}if(s!=e.length)throw new Error(\"Delta length (\"+s+\") does not equal source text length (\"+e.length+\").\");return n},n.prototype.match_main=function(e,t,n){if(null==e||null==t||null==n)throw new Error(\"Null input. (match_main)\");return n=Math.max(0,Math.min(n,e.length)),e==t?0:e.length?e.substring(n,n+t.length)==t?n:this.match_bitap_(e,t,n):-1},n.prototype.match_bitap_=function(e,t,n){function r(e,r){var o=e/t.length,a=Math.abs(n-r);return i.Match_Distance?o+a/i.Match_Distance:a?1:o}if(t.length>this.Match_MaxBits)throw new Error(\"Pattern too long for this browser.\");var o=this.match_alphabet_(t),i=this,a=this.Match_Threshold,s=e.indexOf(t,n);s!=-1&&(a=Math.min(r(0,s),a),s=e.lastIndexOf(t,n+t.length),s!=-1&&(a=Math.min(r(0,s),a)));var u=1<<t.length-1;s=-1;for(var l,c,d,f=t.length+e.length,p=0;p<t.length;p++){for(l=0,c=f;l<c;)r(p,n+c)<=a?l=c:f=c,c=Math.floor((f-l)/2+l);f=c;var h=Math.max(1,n-c+1),m=Math.min(n+c,e.length)+t.length,g=Array(m+2);g[m+1]=(1<<p)-1;for(var _=m;_>=h;_--){var b=o[e.charAt(_-1)];if(0===p?g[_]=(g[_+1]<<1|1)&b:g[_]=(g[_+1]<<1|1)&b|((d[_+1]|d[_])<<1|1)|d[_+1],g[_]&u){var y=r(p,_-1);if(y<=a){if(a=y,s=_-1,!(s>n))break;h=Math.max(1,2*n-s)}}}if(r(p+1,n)>a)break;d=g}return s},n.prototype.match_alphabet_=function(e){for(var t={},n=0;n<e.length;n++)t[e.charAt(n)]=0;for(var n=0;n<e.length;n++)t[e.charAt(n)]|=1<<e.length-n-1;return t},n.prototype.patch_addContext_=function(e,t){if(0!=t.length){for(var n=t.substring(e.start2,e.start2+e.length1),r=0;t.indexOf(n)!=t.lastIndexOf(n)&&n.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin;)r+=this.Patch_Margin,n=t.substring(e.start2-r,e.start2+e.length1+r);r+=this.Patch_Margin;var o=t.substring(e.start2-r,e.start2);o&&e.diffs.unshift([i,o]);var a=t.substring(e.start2+e.length1,e.start2+e.length1+r);a&&e.diffs.push([i,a]),e.start1-=o.length,e.start2-=o.length,e.length1+=o.length+a.length,e.length2+=o.length+a.length}},n.prototype.patch_make=function(e,t,a){var s,u;if(\"string\"==typeof e&&\"string\"==typeof t&&\"undefined\"==typeof a)s=e,u=this.diff_main(s,t,!0),u.length>2&&(this.diff_cleanupSemantic(u),this.diff_cleanupEfficiency(u));else if(e&&\"object\"==typeof e&&\"undefined\"==typeof t&&\"undefined\"==typeof a)u=e,s=this.diff_text1(u);else if(\"string\"==typeof e&&t&&\"object\"==typeof t&&\"undefined\"==typeof a)s=e,u=t;else{if(\"string\"!=typeof e||\"string\"!=typeof t||!a||\"object\"!=typeof a)throw new Error(\"Unknown call format to patch_make.\");s=e,u=a}if(0===u.length)return[];for(var l=[],c=new n.patch_obj,d=0,f=0,p=0,h=s,m=s,g=0;g<u.length;g++){var _=u[g][0],b=u[g][1];switch(d||_===i||(c.start1=f,c.start2=p),_){case o:c.diffs[d++]=u[g],c.length2+=b.length,m=m.substring(0,p)+b+m.substring(p);break;case r:c.length1+=b.length,c.diffs[d++]=u[g],m=m.substring(0,p)+m.substring(p+b.length);break;case i:b.length<=2*this.Patch_Margin&&d&&u.length!=g+1?(c.diffs[d++]=u[g],c.length1+=b.length,c.length2+=b.length):b.length>=2*this.Patch_Margin&&d&&(this.patch_addContext_(c,h),l.push(c),c=new n.patch_obj,d=0,h=m,f=p)}_!==o&&(f+=b.length),_!==r&&(p+=b.length)}return d&&(this.patch_addContext_(c,h),l.push(c)),l},n.prototype.patch_deepCopy=function(e){for(var t=[],r=0;r<e.length;r++){var o=e[r],i=new n.patch_obj;i.diffs=[];for(var a=0;a<o.diffs.length;a++)i.diffs[a]=o.diffs[a].slice();i.start1=o.start1,i.start2=o.start2,i.length1=o.length1,i.length2=o.length2,t[r]=i}return t},n.prototype.patch_apply=function(e,t){if(0==e.length)return[t,[]];e=this.patch_deepCopy(e);var n=this.patch_addPadding(e);t=n+t+n,this.patch_splitMax(e);for(var a=0,s=[],u=0;u<e.length;u++){var l,c=e[u].start2+a,d=this.diff_text1(e[u].diffs),f=-1;if(d.length>this.Match_MaxBits?(l=this.match_main(t,d.substring(0,this.Match_MaxBits),c),l!=-1&&(f=this.match_main(t,d.substring(d.length-this.Match_MaxBits),c+d.length-this.Match_MaxBits),(f==-1||l>=f)&&(l=-1))):l=this.match_main(t,d,c),l==-1)s[u]=!1,a-=e[u].length2-e[u].length1;else{s[u]=!0,a=l-c;var p;if(p=f==-1?t.substring(l,l+d.length):t.substring(l,f+this.Match_MaxBits),d==p)t=t.substring(0,l)+this.diff_text2(e[u].diffs)+t.substring(l+d.length);else{var h=this.diff_main(d,p,!1);if(d.length>this.Match_MaxBits&&this.diff_levenshtein(h)/d.length>this.Patch_DeleteThreshold)s[u]=!1;else{this.diff_cleanupSemanticLossless(h);for(var m,g=0,_=0;_<e[u].diffs.length;_++){var b=e[u].diffs[_];b[0]!==i&&(m=this.diff_xIndex(h,g)),b[0]===o?t=t.substring(0,l+m)+b[1]+t.substring(l+m):b[0]===r&&(t=t.substring(0,l+m)+t.substring(l+this.diff_xIndex(h,g+b[1].length))),b[0]!==r&&(g+=b[1].length)}}}}}return t=t.substring(n.length,t.length-n.length),[t,s]},n.prototype.patch_addPadding=function(e){for(var t=this.Patch_Margin,n=\"\",r=1;r<=t;r++)n+=String.fromCharCode(r);for(var r=0;r<e.length;r++)e[r].start1+=t,e[r].start2+=t;var o=e[0],a=o.diffs;if(0==a.length||a[0][0]!=i)a.unshift([i,n]),o.start1-=t,o.start2-=t,o.length1+=t,o.length2+=t;else if(t>a[0][1].length){var s=t-a[0][1].length;a[0][1]=n.substring(a[0][1].length)+a[0][1],o.start1-=s,o.start2-=s,o.length1+=s,o.length2+=s}if(o=e[e.length-1],a=o.diffs,0==a.length||a[a.length-1][0]!=i)a.push([i,n]),o.length1+=t,o.length2+=t;else if(t>a[a.length-1][1].length){var s=t-a[a.length-1][1].length;a[a.length-1][1]+=n.substring(0,s),o.length1+=s,o.length2+=s}return n},n.prototype.patch_splitMax=function(e){for(var t=this.Match_MaxBits,a=0;a<e.length;a++)if(!(e[a].length1<=t)){var s=e[a];e.splice(a--,1);for(var u=s.start1,l=s.start2,c=\"\";0!==s.diffs.length;){var d=new n.patch_obj,f=!0;for(d.start1=u-c.length,d.start2=l-c.length,\"\"!==c&&(d.length1=d.length2=c.length,d.diffs.push([i,c]));0!==s.diffs.length&&d.length1<t-this.Patch_Margin;){var p=s.diffs[0][0],h=s.diffs[0][1];p===o?(d.length2+=h.length,l+=h.length,d.diffs.push(s.diffs.shift()),f=!1):p===r&&1==d.diffs.length&&d.diffs[0][0]==i&&h.length>2*t?(d.length1+=h.length,u+=h.length,f=!1,d.diffs.push([p,h]),s.diffs.shift()):(h=h.substring(0,t-d.length1-this.Patch_Margin),d.length1+=h.length,u+=h.length,p===i?(d.length2+=h.length,l+=h.length):f=!1,d.diffs.push([p,h]),h==s.diffs[0][1]?s.diffs.shift():s.diffs[0][1]=s.diffs[0][1].substring(h.length))}c=this.diff_text2(d.diffs),c=c.substring(c.length-this.Patch_Margin);var m=this.diff_text1(s.diffs).substring(0,this.Patch_Margin);\"\"!==m&&(d.length1+=m.length,d.length2+=m.length,0!==d.diffs.length&&d.diffs[d.diffs.length-1][0]===i?d.diffs[d.diffs.length-1][1]+=m:d.diffs.push([i,m])),f||e.splice(++a,0,d)}}},n.prototype.patch_toText=function(e){for(var t=[],n=0;n<e.length;n++)t[n]=e[n];return t.join(\"\")},n.prototype.patch_fromText=function(e){var t=[];if(!e)return t;for(var a=e.split(\"\\n\"),s=0,u=/^@@ -(\\d+),?(\\d*) \\+(\\d+),?(\\d*) @@$/;s<a.length;){var l=a[s].match(u);if(!l)throw new Error(\"Invalid patch string: \"+a[s]);var c=new n.patch_obj;for(t.push(c),c.start1=parseInt(l[1],10),\"\"===l[2]?(c.start1--,c.length1=1):\"0\"==l[2]?c.length1=0:(c.start1--,c.length1=parseInt(l[2],10)),c.start2=parseInt(l[3],10),\"\"===l[4]?(c.start2--,c.length2=1):\"0\"==l[4]?c.length2=0:(c.start2--,c.length2=parseInt(l[4],10)),s++;s<a.length;){var d=a[s].charAt(0);try{var f=decodeURI(a[s].substring(1))}catch(e){throw new Error(\"Illegal escape in patch_fromText: \"+f)}if(\"-\"==d)c.diffs.push([r,f]);else if(\"+\"==d)c.diffs.push([o,f]);else if(\" \"==d)c.diffs.push([i,f]);else{if(\"@\"==d)break;if(\"\"!==d)throw new Error('Invalid patch mode \"'+d+'\" in: '+f)}s++}}return t},n.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0},n.patch_obj.prototype.toString=function(){var e,t;e=0===this.length1?this.start1+\",0\":1==this.length1?this.start1+1:this.start1+1+\",\"+this.length1,t=0===this.length2?this.start2+\",0\":1==this.length2?this.start2+1:this.start2+1+\",\"+this.length2;for(var n,a=[\"@@ -\"+e+\" +\"+t+\" @@\\n\"],s=0;s<this.diffs.length;s++){switch(this.diffs[s][0]){case o:n=\"+\";break;case r:n=\"-\";break;case i:n=\" \"}a[s+1]=n+encodeURI(this.diffs[s][1])+\"\\n\"}return a.join(\"\").replace(/%20/g,\" \")},e.exports=n,e.exports.diff_match_patch=n,e.exports.DIFF_DELETE=r,e.exports.DIFF_INSERT=o,e.exports.DIFF_EQUAL=i},function(e,t,n){\"use strict\";var r={single_source_shortest_paths:function(e,t,n){var o={},i={};i[t]=0;var a=r.PriorityQueue.make();a.push(t,0);for(var s,u,l,c,d,f,p,h,m;!a.empty();){s=a.pop(),u=s.value,c=s.cost,d=e[u]||{};for(l in d)d.hasOwnProperty(l)&&(f=d[l],p=c+f,h=i[l],m=\"undefined\"==typeof i[l],(m||h>p)&&(i[l]=p,a.push(l,p),o[l]=u))}if(\"undefined\"!=typeof n&&\"undefined\"==typeof i[n]){var g=[\"Could not find a path from \",t,\" to \",n,\".\"].join(\"\");throw new Error(g)}return o},extract_shortest_path_from_predecessor_list:function(e,t){for(var n,r=[],o=t;o;)r.push(o),n=e[o],o=e[o];return r.reverse(),r},find_path:function(e,t,n){var o=r.single_source_shortest_paths(e,t,n);return r.extract_shortest_path_from_predecessor_list(o,n)},PriorityQueue:{make:function(e){var t,n=r.PriorityQueue,o={};e=e||{};for(t in n)n.hasOwnProperty(t)&&(o[t]=n[t]);return o.queue=[],o.sorter=e.sorter||n.default_sorter,o},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){e.classList?e.classList.add(t):(0,a.default)(e,t)||(\"string\"==typeof e.className?e.className=e.className+\" \"+t:e.setAttribute(\"class\",(e.className&&e.className.baseVal||\"\")+\" \"+t))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(408),a=r(i);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){return e.replace(new RegExp(\"(^|\\\\s)\"+t+\"(?:\\\\s|$)\",\"g\"),\"$1\").replace(/\\s+/g,\" \").replace(/^\\s*|\\s*$/g,\"\")}e.exports=function(e,t){e.classList?e.classList.remove(t):\"string\"==typeof e.className?e.className=n(e.className,t):e.setAttribute(\"class\",n(e.className&&e.className.baseVal||\"\",t))}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return function(n){var r=n.currentTarget,o=n.target,i=(0,u.default)(r,e);i.some(function(e){return(0,a.default)(e,o)})&&t.call(this,n)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(89),a=r(i),s=n(1170),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.listen=t.filter=t.off=t.on=void 0;var o=n(159),i=r(o),a=n(199),s=r(a),u=n(1165),l=r(u),c=n(1167),d=r(c);t.on=i.default,t.off=s.default,t.filter=l.default,t.listen=d.default,t.default={on:i.default,off:s.default,filter:l.default,listen:d.default}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=n(74),i=r(o),a=n(159),s=r(a),u=n(199),l=r(u),c=function(){};i.default&&(c=function(e,t,n,r){return(0,s.default)(e,t,n,r),function(){(0,l.default)(e,t,n,r)}}),t.default=c,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=(0,a.default)(e);return t&&t.defaultView||t.parentWindow}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(80),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,u.default)(e);return n?n.innerHeight:t?e.clientHeight:(0,a.default)(e).height}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(132),a=r(i),s=n(131),u=r(s);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){var n,i=\"#\"===t[0],a=\".\"===t[0],s=i||a?t.slice(1):t,u=r.test(s);return u?i?(e=e.getElementById?e:document,(n=e.getElementById(s))?[n]:[]):o(e.getElementsByClassName&&a?e.getElementsByClassName(s):e.getElementsByTagName(t)):o(e.querySelectorAll(t))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/^[\\w-]*$/,o=Function.prototype.bind.call(Function.prototype.call,[].slice);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=(0,a.default)(e);return void 0===t?n?\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft:e.scrollLeft:void(n?n.scrollTo(t,\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop):e.scrollLeft=t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(131),a=r(i);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(!e)throw new TypeError(\"No Element passed to `getComputedStyle()`\");var t=e.ownerDocument;return\"defaultView\"in t?t.defaultView.opener?e.ownerDocument.defaultView.getComputedStyle(e,null):window.getComputedStyle(e,null):{getPropertyValue:function(t){var n=e.style;t=(0,a.default)(t),\"float\"==t&&(t=\"styleFloat\");var r=e.currentStyle[t]||null;if(null==r&&n&&n[t]&&(r=n[t]),u.test(r)&&!s.test(t)){var o=n.left,i=e.runtimeStyle,l=i&&i.left;l&&(i.left=e.currentStyle.left),n.left=\"fontSize\"===t?\"1em\":r,r=n.pixelLeft+\"px\",n.left=o,l&&(i.left=l)}return r}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(413),a=r(i),s=/^(top|right|bottom|left)$/,u=/^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;e.exports=t.default},function(e,t){\"use strict\";function n(e,t){return\"removeProperty\"in e.style?e.style.removeProperty(t):e.style.removeAttribute(t)}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t){\"use strict\";function n(e){return!(!e||!r.test(e))}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;e.exports=t.default},function(e,t){\"use strict\";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/-(.)/g;e.exports=t.default},function(e,t){\"use strict\";function n(e){return e.replace(r,\"-$1\").toLowerCase()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n;var r=/([A-Z])/g;e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return(0,a.default)(e).replace(s,\"-ms-\")}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(1176),a=r(i),s=/^ms-/;e.exports=t.default},function(e,t,n){function r(e){var t=Object.keys(e).join(\"|\"),n=i(e);t+=\"|#[xX][\\\\da-fA-F]+|#\\\\d+\";var r=new RegExp(\"&(?:\"+t+\");\",\"g\");return function(e){return String(e).replace(r,n)}}function o(e,t){return e<t?1:-1}function i(e){return function(t){return\"#\"===t.charAt(1)?l(\"X\"===t.charAt(2)||\"x\"===t.charAt(2)?parseInt(t.substr(3),16):parseInt(t.substr(2),10)):e[t.slice(1,-1)]}}var a=n(429),s=n(1297),u=n(430),l=n(1179),c=r(u),d=r(a),f=function(){function e(e){return\";\"!==e.substr(-1)&&(e+=\";\"),c(e)}for(var t=Object.keys(s).sort(o),n=Object.keys(a).sort(o),r=0,u=0;r<n.length;r++)t[u]===n[r]?(n[r]+=\";?\",u++):n[r]+=\";\";var l=new RegExp(\"&(?:\"+n.join(\"|\")+\"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\",\"g\"),c=i(a);return function(t){return String(t).replace(l,e)}}();e.exports={XML:c,HTML:f,HTMLStrict:d}},function(e,t,n){function r(e){if(e>=55296&&e<=57343||e>1114111)return\"�\";e in o&&(e=o[e]);var t=\"\";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e)}var o=n(1296);e.exports=r},function(e,t,n){function r(e){return Object.keys(e).sort().reduce(function(t,n){return t[e[n]]=\"&\"+n+\";\",t},{})}function o(e){var t=[],n=[];return Object.keys(e).forEach(function(e){1===e.length?t.push(\"\\\\\"+e):n.push(e)}),n.unshift(\"[\"+t.join(\"\")+\"]\"),new RegExp(n.join(\"|\"),\"g\")}function i(e){return\"&#x\"+e.charCodeAt(0).toString(16).toUpperCase()+\";\"}function a(e){var t=e.charCodeAt(0),n=e.charCodeAt(1),r=1024*(t-55296)+n-56320+65536;return\"&#x\"+r.toString(16).toUpperCase()+\";\"}function s(e,t){function n(t){return e[t]}return function(e){return e.replace(t,n).replace(h,a).replace(p,i)}}function u(e){return e.replace(m,i).replace(h,a).replace(p,i)}var l=r(n(430)),c=o(l);t.XML=s(l,c);var d=r(n(429)),f=o(d);t.HTML=s(d,f);var p=/[^\\0-\\x7F]/g,h=/[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,m=o(l);t.escape=u},function(e,t){},function(e,t){e.exports={progress:\"AccessControlList__progress__20Hmu\",\"progress-bar\":\"AccessControlList__progress-bar__3eQh9\",\"progress-striped\":\"AccessControlList__progress-striped__n2ZIO\",\"progress-bar-striped\":\"AccessControlList__progress-bar-striped__rNAP_\",active:\"AccessControlList__active__2iFGN\",\"progress-bar-stripes\":\"AccessControlList__progress-bar-stripes__3Lb0s\",\"progress-bar-success\":\"AccessControlList__progress-bar-success__1cpGz\",\"progress-bar-info\":\"AccessControlList__progress-bar-info__1G1Gt\",\"progress-bar-warning\":\"AccessControlList__progress-bar-warning__1TxPq\",\"progress-bar-danger\":\"AccessControlList__progress-bar-danger__2vfmI\",tooltip:\"AccessControlList__tooltip__14sjr\",in:\"AccessControlList__in__1HQSn\",top:\"AccessControlList__top__2_OgA\",right:\"AccessControlList__right__WSNlL\",bottom:\"AccessControlList__bottom__Zbrzm\",left:\"AccessControlList__left__3RjWS\",\"tooltip-arrow\":\"AccessControlList__tooltip-arrow__3w8HR\",\"top-left\":\"AccessControlList__top-left__FDYQm\",\"top-right\":\"AccessControlList__top-right__2l3LZ\",\"bottom-left\":\"AccessControlList__bottom-left__3K2y4\",\"bottom-right\":\"AccessControlList__bottom-right__2ohIx\",\"tooltip-inner\":\"AccessControlList__tooltip-inner__2NEwt\",newBtn:\"AccessControlList__newBtn__1SEFR\",btnGroup:\"AccessControlList__btnGroup__BEtXR\",btn:\"AccessControlList__btn__3r9CX\"}},function(e,t){e.exports={progress:\"GrantListItem__progress__2EzsC\",\"progress-bar\":\"GrantListItem__progress-bar__MOEWU\",\"progress-striped\":\"GrantListItem__progress-striped__3al23\",\"progress-bar-striped\":\"GrantListItem__progress-bar-striped__3u5QQ\",active:\"GrantListItem__active__2vtoY\",\"progress-bar-stripes\":\"GrantListItem__progress-bar-stripes__1NdrI\",\"progress-bar-success\":\"GrantListItem__progress-bar-success__3kaNO\",\"progress-bar-info\":\"GrantListItem__progress-bar-info__2NjL2\",\"progress-bar-warning\":\"GrantListItem__progress-bar-warning__1TsVt\",\"progress-bar-danger\":\"GrantListItem__progress-bar-danger__31WBf\",tooltip:\"GrantListItem__tooltip__3Wvfl\",in:\"GrantListItem__in__1LtW_\",top:\"GrantListItem__top__1fr-T\",right:\"GrantListItem__right__-1p8s\",bottom:\"GrantListItem__bottom__OYqLU\",left:\"GrantListItem__left__F5Xls\",\"tooltip-arrow\":\"GrantListItem__tooltip-arrow__3ED75\",\"top-left\":\"GrantListItem__top-left__1f0CJ\",\"top-right\":\"GrantListItem__top-right__2IGTh\",\"bottom-left\":\"GrantListItem__bottom-left__3Y3bj\",\"bottom-right\":\"GrantListItem__bottom-right__2eWzT\",\"tooltip-inner\":\"GrantListItem__tooltip-inner__7eEj9\",tdWrap:\"GrantListItem__tdWrap__lMI3F\"}},function(e,t){e.exports={progress:\"List__progress__3YcGh\",\"progress-bar\":\"List__progress-bar__2xWdL\",\"progress-striped\":\"List__progress-striped__SiKIP\",\"progress-bar-striped\":\"List__progress-bar-striped__1o5l9\",active:\"List__active__3rKEi\",\"progress-bar-stripes\":\"List__progress-bar-stripes__1sN4X\",\"progress-bar-success\":\"List__progress-bar-success__1ivu-\",\"progress-bar-info\":\"List__progress-bar-info__3P9jG\",\"progress-bar-warning\":\"List__progress-bar-warning__3Mvhs\",\"progress-bar-danger\":\"List__progress-bar-danger__Vk4I4\",tooltip:\"List__tooltip__3RTyo\",in:\"List__in__1GLum\",top:\"List__top__2dta7\",right:\"List__right__28YIZ\",bottom:\"List__bottom__1o1qs\",left:\"List__left__3J6zG\",\"tooltip-arrow\":\"List__tooltip-arrow__14zgU\",\"top-left\":\"List__top-left__1Qn8J\",\"top-right\":\"List__top-right__22Nzx\",\"bottom-left\":\"List__bottom-left__1b_x_\",\"bottom-right\":\"List__bottom-right__2JAmX\",\"tooltip-inner\":\"List__tooltip-inner__3v3YO\",main:\"List__main__1Uqei\"}},function(e,t){e.exports={progress:\"ListItem__progress__yQ5xH\",\"progress-bar\":\"ListItem__progress-bar__2O2xo\",\"progress-striped\":\"ListItem__progress-striped__2j7Bp\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__2nwhY\",active:\"ListItem__active__2dUxQ\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__3kfeX\",\"progress-bar-success\":\"ListItem__progress-bar-success__2TeL1\",\"progress-bar-info\":\"ListItem__progress-bar-info__1zYsZ\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__29gOY\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__EDS_i\",tooltip:\"ListItem__tooltip__1TMFy\",in:\"ListItem__in__a8l-3\",top:\"ListItem__top__1lIlT\",right:\"ListItem__right__3bVNJ\",bottom:\"ListItem__bottom__36mZW\",left:\"ListItem__left__1lzK4\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__xTUJ4\",\"top-left\":\"ListItem__top-left__2Dg5g\",\"top-right\":\"ListItem__top-right__25NCA\",\"bottom-left\":\"ListItem__bottom-left__qr7wA\",\"bottom-right\":\"ListItem__bottom-right__hdpq0\",\"tooltip-inner\":\"ListItem__tooltip-inner__237x1\",selectButton:\"ListItem__selectButton__2XVGK\",buttonDisable:\"ListItem__buttonDisable__2Mk5k\",tr:\"ListItem__tr__2DYB8\"}},function(e,t){e.exports={progress:\"MnemonicStepper__progress__vumsh\",\"progress-bar\":\"MnemonicStepper__progress-bar__2silB\",\"progress-striped\":\"MnemonicStepper__progress-striped__1FMBY\",\"progress-bar-striped\":\"MnemonicStepper__progress-bar-striped__3YT8l\",active:\"MnemonicStepper__active__21CZL\",\"progress-bar-stripes\":\"MnemonicStepper__progress-bar-stripes__2UxBv\",\"progress-bar-success\":\"MnemonicStepper__progress-bar-success__13qjh\",\"progress-bar-info\":\"MnemonicStepper__progress-bar-info__SVlD9\",\"progress-bar-warning\":\"MnemonicStepper__progress-bar-warning__29n14\",\"progress-bar-danger\":\"MnemonicStepper__progress-bar-danger__3WlmD\",tooltip:\"MnemonicStepper__tooltip__1AdsT\",in:\"MnemonicStepper__in__1UR9T\",top:\"MnemonicStepper__top__1wvoS\",right:\"MnemonicStepper__right__O_whf\",bottom:\"MnemonicStepper__bottom__Zohjw\",left:\"MnemonicStepper__left__3-d3S\",\"tooltip-arrow\":\"MnemonicStepper__tooltip-arrow__2zraH\",\"top-left\":\"MnemonicStepper__top-left__2j4Gd\",\"top-right\":\"MnemonicStepper__top-right__2SFKw\",\"bottom-left\":\"MnemonicStepper__bottom-left__1bOj_\",\"bottom-right\":\"MnemonicStepper__bottom-right__3s5S8\",\"tooltip-inner\":\"MnemonicStepper__tooltip-inner__3A73h\",content:\"MnemonicStepper__content__c5QSh\",marginLeft:\"MnemonicStepper__marginLeft__3yw1h\"}},function(e,t){e.exports={progress:\"Loading__progress__1nevk\",\"progress-bar\":\"Loading__progress-bar__Y4vE2\",\"progress-striped\":\"Loading__progress-striped__3dURX\",\"progress-bar-striped\":\"Loading__progress-bar-striped__VrWWQ\",active:\"Loading__active__3tIdR\",\"progress-bar-stripes\":\"Loading__progress-bar-stripes__3XzRg\",\"progress-bar-success\":\"Loading__progress-bar-success__3uE-N\",\"progress-bar-info\":\"Loading__progress-bar-info__2qCEh\",\"progress-bar-warning\":\"Loading__progress-bar-warning__Cz44m\",\"progress-bar-danger\":\"Loading__progress-bar-danger__2neAH\",tooltip:\"Loading__tooltip__1gIoP\",in:\"Loading__in__4ySFz\",top:\"Loading__top__vD3U3\",right:\"Loading__right__3W2FR\",bottom:\"Loading__bottom__31boG\",left:\"Loading__left__2PNMa\",\"tooltip-arrow\":\"Loading__tooltip-arrow__1zq8c\",\"top-left\":\"Loading__top-left__2GFts\",\"top-right\":\"Loading__top-right__1AeFH\",\"bottom-left\":\"Loading__bottom-left__3genF\",\"bottom-right\":\"Loading__bottom-right__A4Tgx\",\"tooltip-inner\":\"Loading__tooltip-inner__3MYtb\",main:\"Loading__main__11Yng\",logo:\"Loading__logo__2xsAb\",pulsing:\"Loading__pulsing__3RSez\"}},function(e,t){e.exports={progress:\"Login__progress__3Dh0F\",\"progress-bar\":\"Login__progress-bar__32iE9\",\"progress-striped\":\"Login__progress-striped__21p8e\",\"progress-bar-striped\":\"Login__progress-bar-striped__3SLfT\",active:\"Login__active__3QMlL\",\"progress-bar-stripes\":\"Login__progress-bar-stripes__-vr4P\",\"progress-bar-success\":\"Login__progress-bar-success__3fziN\",\"progress-bar-info\":\"Login__progress-bar-info__3Hx2D\",\"progress-bar-warning\":\"Login__progress-bar-warning__2mI9n\",\"progress-bar-danger\":\"Login__progress-bar-danger__1cq9j\",tooltip:\"Login__tooltip__jpSTt\",in:\"Login__in__BYTfP\",top:\"Login__top__3BTy0\",right:\"Login__right__1TRRm\",bottom:\"Login__bottom__1JhAq\",left:\"Login__left__k0_Wx\",\"tooltip-arrow\":\"Login__tooltip-arrow__1glnE\",\"top-left\":\"Login__top-left__1ECol\",\"top-right\":\"Login__top-right__3VoUH\",\"bottom-left\":\"Login__bottom-left__3wQYy\",\"bottom-right\":\"Login__bottom-right__2Y0HF\",\"tooltip-inner\":\"Login__tooltip-inner__19mys\",main:\"Login__main__37Jey\",image:\"Login__image__2YQqX\",form:\"Login__form__25_4X\"}},function(e,t){e.exports={progress:\"Main__progress__S94Hk\",\"progress-bar\":\"Main__progress-bar__1167Q\",\"progress-striped\":\"Main__progress-striped__3F4wp\",\"progress-bar-striped\":\"Main__progress-bar-striped__1mSaW\",active:\"Main__active__3v2Qq\",\"progress-bar-stripes\":\"Main__progress-bar-stripes__2Qq8h\",\"progress-bar-success\":\"Main__progress-bar-success__1ftDk\",\"progress-bar-info\":\"Main__progress-bar-info__1B2ic\",\"progress-bar-warning\":\"Main__progress-bar-warning__2QF-g\",\"progress-bar-danger\":\"Main__progress-bar-danger__3lG54\",tooltip:\"Main__tooltip__3GC3n\",in:\"Main__in__1lbLc\",top:\"Main__top__1gxkl\",right:\"Main__right__2E0Tj\",bottom:\"Main__bottom__3cesW\",left:\"Main__left__1aX5Z\",\"tooltip-arrow\":\"Main__tooltip-arrow__1gzva\",\"top-left\":\"Main__top-left__3eiYD\",\"top-right\":\"Main__top-right__3A2vK\",\"bottom-left\":\"Main__bottom-left__j-r1q\",\"bottom-right\":\"Main__bottom-right__I9LgK\",\"tooltip-inner\":\"Main__tooltip-inner__1P3Z0\",main:\"Main__main__2CrUS\",sidebar:\"Main__sidebar__23xrF\",content:\"Main__content__3EmN7\",sidebarContent:\"Main__sidebarContent__3xf4d\",version:\"Main__version__30V6N\",logo:\"Main__logo__3c8sL\",settings:\"Main__settings__2SkYg\",languagesContainer:\"Main__languagesContainer__2ghdd\",languages:\"Main__languages__XSMu9\",connectionIssue:\"Main__connectionIssue__MlmQz\",languagesMenu:\"Main__languagesMenu__2cz3H\"}},function(e,t){e.exports={progress:\"Modal__progress__1pk_p\",\"progress-bar\":\"Modal__progress-bar__mHFYY\",\"progress-striped\":\"Modal__progress-striped__1vkq3\",\"progress-bar-striped\":\"Modal__progress-bar-striped__pLbcU\",active:\"Modal__active__2Q0cA\",\"progress-bar-stripes\":\"Modal__progress-bar-stripes__ECNxO\",\"progress-bar-success\":\"Modal__progress-bar-success__qs27E\",\"progress-bar-info\":\"Modal__progress-bar-info__2S4Dr\",\"progress-bar-warning\":\"Modal__progress-bar-warning__dx2VK\",\"progress-bar-danger\":\"Modal__progress-bar-danger__3xS8c\",tooltip:\"Modal__tooltip__XyByj\",in:\"Modal__in__1fFZB\",top:\"Modal__top__11_Nm\",right:\"Modal__right__2qf1s\",bottom:\"Modal__bottom__3Hx97\",left:\"Modal__left__1YS9_\",\"tooltip-arrow\":\"Modal__tooltip-arrow__TalEl\",\"top-left\":\"Modal__top-left__yjFKr\",\"top-right\":\"Modal__top-right__2msdI\",\"bottom-left\":\"Modal__bottom-left__1_klG\",\"bottom-right\":\"Modal__bottom-right__1qabe\",\"tooltip-inner\":\"Modal__tooltip-inner__1d25M\",main:\"Modal__main__1qTNQ\",backdrop:\"Modal__backdrop__TKcEi\",content:\"Modal__content__4bKWt\",wide:\"Modal__wide__3bblv\",cancel:\"Modal__cancel__3c2lX\",box:\"Modal__box__2ZGSs\",title:\"Modal__title__1PCgn\",close:\"Modal__close__UG6xL\"}},function(e,t){e.exports={progress:\"SecondaryNavigation__progress__19Oy6\",\"progress-bar\":\"SecondaryNavigation__progress-bar__2L7zy\",\"progress-striped\":\"SecondaryNavigation__progress-striped__2JTvg\",\"progress-bar-striped\":\"SecondaryNavigation__progress-bar-striped__35txP\",active:\"SecondaryNavigation__active__d6pyG\",\"progress-bar-stripes\":\"SecondaryNavigation__progress-bar-stripes__1mw-t\",\"progress-bar-success\":\"SecondaryNavigation__progress-bar-success__1SLtl\",\"progress-bar-info\":\"SecondaryNavigation__progress-bar-info__2udhj\",\"progress-bar-warning\":\"SecondaryNavigation__progress-bar-warning__1rDxZ\",\"progress-bar-danger\":\"SecondaryNavigation__progress-bar-danger__2zgth\",tooltip:\"SecondaryNavigation__tooltip__1kL7B\",in:\"SecondaryNavigation__in__2lyL8\",top:\"SecondaryNavigation__top__2F9N2\",right:\"SecondaryNavigation__right__2B25y\",bottom:\"SecondaryNavigation__bottom__3Chcd\",left:\"SecondaryNavigation__left__2YG70\",\"tooltip-arrow\":\"SecondaryNavigation__tooltip-arrow__1veBG\",\"top-left\":\"SecondaryNavigation__top-left__KqLem\",\"top-right\":\"SecondaryNavigation__top-right__25Ipl\",\"bottom-left\":\"SecondaryNavigation__bottom-left__1RS1d\",\"bottom-right\":\"SecondaryNavigation__bottom-right__W1MgK\",\"tooltip-inner\":\"SecondaryNavigation__tooltip-inner__3I8_r\",main:\"SecondaryNavigation__main__3Hsa-\",navigation:\"SecondaryNavigation__navigation__im_Yu\",navigationTitle:\"SecondaryNavigation__navigationTitle__1GL7l\",logOut:\"SecondaryNavigation__logOut__EO-se\",activeIcon:\"SecondaryNavigation__activeIcon__1Z7VF\",icon:\"SecondaryNavigation__icon__24hic\",iconWrapper:\"SecondaryNavigation__iconWrapper__3D9qC\"}},function(e,t){e.exports={progress:\"Sync__progress__1p5_H\",\"progress-bar\":\"Sync__progress-bar__2ANl3\",\"progress-striped\":\"Sync__progress-striped__26Ij5\",\"progress-bar-striped\":\"Sync__progress-bar-striped__BMwXj\",active:\"Sync__active__1cjBg\",\"progress-bar-stripes\":\"Sync__progress-bar-stripes__2Q-L9\",\"progress-bar-success\":\"Sync__progress-bar-success__2TOc_\",\"progress-bar-info\":\"Sync__progress-bar-info__3fO79\",\"progress-bar-warning\":\"Sync__progress-bar-warning__vKS8V\",\"progress-bar-danger\":\"Sync__progress-bar-danger__2O28w\",tooltip:\"Sync__tooltip__2n85E\",in:\"Sync__in__2ttnB\",top:\"Sync__top__32Nv1\",right:\"Sync__right__BX-r7\",bottom:\"Sync__bottom__1eKbw\",left:\"Sync__left__1A5rB\",\"tooltip-arrow\":\"Sync__tooltip-arrow__l7Ggu\",\"top-left\":\"Sync__top-left__EuuJA\",\"top-right\":\"Sync__top-right__I8QCz\",\"bottom-left\":\"Sync__bottom-left__2lOFX\",\n\"bottom-right\":\"Sync__bottom-right__ofNjk\",\"tooltip-inner\":\"Sync__tooltip-inner__1ix_4\",main:\"Sync__main__16_Oi\",testnetError:\"Sync__testnetError__1dv29\",testnetReset:\"Sync__testnetReset__36ijp\",blockHightlight:\"Sync__blockHightlight__NgZDE\",progressBar:\"Sync__progressBar__146Vd\"}},function(e,t){e.exports={progress:\"New__progress__WpGSM\",\"progress-bar\":\"New__progress-bar__FzorI\",\"progress-striped\":\"New__progress-striped__2G8Gi\",\"progress-bar-striped\":\"New__progress-bar-striped__2phve\",active:\"New__active__1ZqEV\",\"progress-bar-stripes\":\"New__progress-bar-stripes__2Yy_D\",\"progress-bar-success\":\"New__progress-bar-success__1BVE7\",\"progress-bar-info\":\"New__progress-bar-info__2Hl0L\",\"progress-bar-warning\":\"New__progress-bar-warning__3FlV3\",\"progress-bar-danger\":\"New__progress-bar-danger__VnGR3\",tooltip:\"New__tooltip__WzRW6\",in:\"New__in__17d97\",top:\"New__top__HXQ4l\",right:\"New__right__1JLw8\",bottom:\"New__bottom__2yk_R\",left:\"New__left__2G8_L\",\"tooltip-arrow\":\"New__tooltip-arrow__36gJa\",\"top-left\":\"New__top-left__1AaOH\",\"top-right\":\"New__top-right__MKVXW\",\"bottom-left\":\"New__bottom-left__2KgGR\",\"bottom-right\":\"New__bottom-right__3BjDI\",\"tooltip-inner\":\"New__tooltip-inner__3SNji\",subjectField:\"New__subjectField__heTjx\",receiverBtn:\"New__receiverBtn__1ABhp\",panel:\"New__panel__3IKRi\"}},function(e,t){e.exports={progress:\"Backup__progress__19G1j\",\"progress-bar\":\"Backup__progress-bar__3HtFc\",\"progress-striped\":\"Backup__progress-striped__AePft\",\"progress-bar-striped\":\"Backup__progress-bar-striped__ilGkH\",active:\"Backup__active__39bjS\",\"progress-bar-stripes\":\"Backup__progress-bar-stripes__3E0u9\",\"progress-bar-success\":\"Backup__progress-bar-success__12jhV\",\"progress-bar-info\":\"Backup__progress-bar-info__N4lu9\",\"progress-bar-warning\":\"Backup__progress-bar-warning__LPBuQ\",\"progress-bar-danger\":\"Backup__progress-bar-danger__16DO-\",tooltip:\"Backup__tooltip__3u91M\",in:\"Backup__in__3m1QN\",top:\"Backup__top__2HXzO\",right:\"Backup__right__3UWL_\",bottom:\"Backup__bottom__19fPR\",left:\"Backup__left__1sbB5\",\"tooltip-arrow\":\"Backup__tooltip-arrow__2OTPx\",\"top-left\":\"Backup__top-left__GhHJM\",\"top-right\":\"Backup__top-right__3OP7j\",\"bottom-left\":\"Backup__bottom-left__2REpU\",\"bottom-right\":\"Backup__bottom-right__375U5\",\"tooltip-inner\":\"Backup__tooltip-inner__30VGR\",mainContainer:\"Backup__mainContainer__1D29U\",choices:\"Backup__choices__2fwuU\",choice_wrapper:\"Backup__choice_wrapper__55pV-\",choice_radio_button:\"Backup__choice_radio_button__13ADI\",choice:\"Backup__choice__3vlYc\",disabled:\"Backup__disabled__3Ph7h\",choice_title:\"Backup__choice_title__3nyE7\",backup:\"Backup__backup__1iu6I\",restoreKeystore:\"Backup__restoreKeystore__2B53A\",restoreMnemonic:\"Backup__restoreMnemonic__2dauK\",submitWrapper:\"Backup__submitWrapper__3GmPu\",submit:\"Backup__submit__34nLc\",infoLink:\"Backup__infoLink__2tKe2\"}},function(e,t){e.exports={progress:\"RescanDialog__progress__3XubD\",\"progress-bar\":\"RescanDialog__progress-bar__1HaX3\",\"progress-striped\":\"RescanDialog__progress-striped__15HnX\",\"progress-bar-striped\":\"RescanDialog__progress-bar-striped__2spKu\",active:\"RescanDialog__active__8R4RW\",\"progress-bar-stripes\":\"RescanDialog__progress-bar-stripes__211F3\",\"progress-bar-success\":\"RescanDialog__progress-bar-success__2w1sQ\",\"progress-bar-info\":\"RescanDialog__progress-bar-info__1DQB0\",\"progress-bar-warning\":\"RescanDialog__progress-bar-warning__3wFGj\",\"progress-bar-danger\":\"RescanDialog__progress-bar-danger__jJINj\",tooltip:\"RescanDialog__tooltip__aOL4m\",in:\"RescanDialog__in__3baGS\",top:\"RescanDialog__top__2j_4o\",right:\"RescanDialog__right__2ZwFj\",bottom:\"RescanDialog__bottom__1YwgM\",left:\"RescanDialog__left__2CAqS\",\"tooltip-arrow\":\"RescanDialog__tooltip-arrow__25bWP\",\"top-left\":\"RescanDialog__top-left__1zx-7\",\"top-right\":\"RescanDialog__top-right__15v7q\",\"bottom-left\":\"RescanDialog__bottom-left__RxxOT\",\"bottom-right\":\"RescanDialog__bottom-right__26Afx\",\"tooltip-inner\":\"RescanDialog__tooltip-inner__602aP\",title:\"RescanDialog__title__1eOLf\",submitBtn:\"RescanDialog__submitBtn__K0Qj9\",infoContainer:\"RescanDialog__infoContainer__2BMzq\"}},function(e,t){e.exports={progress:\"VoteDetails__progress__jEtNI\",\"progress-bar\":\"VoteDetails__progress-bar__O0CtV\",\"progress-striped\":\"VoteDetails__progress-striped__HKOux\",\"progress-bar-striped\":\"VoteDetails__progress-bar-striped__3TPcq\",active:\"VoteDetails__active__3ABoF\",\"progress-bar-stripes\":\"VoteDetails__progress-bar-stripes__1KIUx\",\"progress-bar-success\":\"VoteDetails__progress-bar-success__11Bp1\",\"progress-bar-info\":\"VoteDetails__progress-bar-info__3I3Fx\",\"progress-bar-warning\":\"VoteDetails__progress-bar-warning__1xOot\",\"progress-bar-danger\":\"VoteDetails__progress-bar-danger__3M8LA\",tooltip:\"VoteDetails__tooltip__20Pk4\",in:\"VoteDetails__in__Kw8Fy\",top:\"VoteDetails__top__3N_cd\",right:\"VoteDetails__right__3ygHj\",bottom:\"VoteDetails__bottom__2as6j\",left:\"VoteDetails__left__F60la\",\"tooltip-arrow\":\"VoteDetails__tooltip-arrow__3uByT\",\"top-left\":\"VoteDetails__top-left__1PoqF\",\"top-right\":\"VoteDetails__top-right__1MvhM\",\"bottom-left\":\"VoteDetails__bottom-left__14zqZ\",\"bottom-right\":\"VoteDetails__bottom-right__3pB-I\",\"tooltip-inner\":\"VoteDetails__tooltip-inner__R4qqQ\",main:\"VoteDetails__main__1yaqL\"}},function(e,t){e.exports={progress:\"Index__progress__2yXf0\",\"progress-bar\":\"Index__progress-bar__ZToC5\",\"progress-striped\":\"Index__progress-striped__O-yOF\",\"progress-bar-striped\":\"Index__progress-bar-striped__T2VOf\",active:\"Index__active__2BvM9\",\"progress-bar-stripes\":\"Index__progress-bar-stripes__zmrYR\",\"progress-bar-success\":\"Index__progress-bar-success__1k9g0\",\"progress-bar-info\":\"Index__progress-bar-info__1R6h0\",\"progress-bar-warning\":\"Index__progress-bar-warning__R00OQ\",\"progress-bar-danger\":\"Index__progress-bar-danger__2GtWv\",tooltip:\"Index__tooltip__1gef1\",in:\"Index__in__3GVmE\",top:\"Index__top__1E1fY\",right:\"Index__right__3qRVa\",bottom:\"Index__bottom__14iVH\",left:\"Index__left__2l0Y3\",\"tooltip-arrow\":\"Index__tooltip-arrow__2os-c\",\"top-left\":\"Index__top-left__164-H\",\"top-right\":\"Index__top-right__3vvNN\",\"bottom-left\":\"Index__bottom-left__x1wyW\",\"bottom-right\":\"Index__bottom-right__29mww\",\"tooltip-inner\":\"Index__tooltip-inner__3BSCQ\",title:\"Index__title__2C-1_\",choices:\"Index__choices__z1D6y\",choice_wrapper:\"Index__choice_wrapper__aUflq\",choice_radio_button:\"Index__choice_radio_button__3N5lo\",choice:\"Index__choice__113bB\",disabled:\"Index__disabled__35ptv\",choice_title:\"Index__choice_title__LJh-1\",new:\"Index__new__3iNcH\",join:\"Index__join__1q1y7\",testnet:\"Index__testnet__1gJyo\",joinFields:\"Index__joinFields__3IheX\",submitWrapper:\"Index__submitWrapper__163w8\",submit:\"Index__submit__3i4UA\",infoLink:\"Index__infoLink__cX96b\"}},function(e,t){e.exports={progress:\"CoreIndex__progress__YcMom\",\"progress-bar\":\"CoreIndex__progress-bar__3eWGJ\",\"progress-striped\":\"CoreIndex__progress-striped__3_X2V\",\"progress-bar-striped\":\"CoreIndex__progress-bar-striped__3dXd0\",active:\"CoreIndex__active__12qOz\",\"progress-bar-stripes\":\"CoreIndex__progress-bar-stripes__1SfHI\",\"progress-bar-success\":\"CoreIndex__progress-bar-success__1SdPN\",\"progress-bar-info\":\"CoreIndex__progress-bar-info__1u5JQ\",\"progress-bar-warning\":\"CoreIndex__progress-bar-warning__3Pm_p\",\"progress-bar-danger\":\"CoreIndex__progress-bar-danger__JYq5B\",tooltip:\"CoreIndex__tooltip__gNTyC\",in:\"CoreIndex__in__1t15g\",top:\"CoreIndex__top__3hUB5\",right:\"CoreIndex__right__1ivs4\",bottom:\"CoreIndex__bottom__OWOVC\",left:\"CoreIndex__left__36Tt0\",\"tooltip-arrow\":\"CoreIndex__tooltip-arrow__2ZrXO\",\"top-left\":\"CoreIndex__top-left__DC0BE\",\"top-right\":\"CoreIndex__top-right__2uBgT\",\"bottom-left\":\"CoreIndex__bottom-left__1fR4i\",\"bottom-right\":\"CoreIndex__bottom-right__4rksZ\",\"tooltip-inner\":\"CoreIndex__tooltip-inner__2W9aX\",page_header:\"CoreIndex__page_header__5QQUg\",table:\"CoreIndex__table__Dceyw\",actionBtn:\"CoreIndex__actionBtn__21s5W\",row:\"CoreIndex__row__28vvd\",row_label:\"CoreIndex__row_label__1wXx4\",row_value:\"CoreIndex__row_value__15ygI\",shorten_value:\"CoreIndex__shorten_value__Zv0Qs\",block_hash:\"CoreIndex__block_hash__2Cz48\",flex:\"CoreIndex__flex__3F9Af\",col:\"CoreIndex__col__3Mv9x\",wordWrap:\"CoreIndex__wordWrap__oQe8i\",copyButton:\"CoreIndex__copyButton__1IwKv\",\"sub-row\":\"CoreIndex__sub-row__3OQu5\",replication_lag:\"CoreIndex__replication_lag__3RmHd\",green:\"CoreIndex__green__2pqbx\",yellow:\"CoreIndex__yellow__3eSHB\",red:\"CoreIndex__red__1oSeH\",mainContainer:\"CoreIndex__mainContainer__3G2_G\",switch:\"CoreIndex__switch__3nsIV\",slider:\"CoreIndex__slider__2PcsQ\"}},function(e,t){e.exports={progress:\"DetailSummary__progress__1f9x1\",\"progress-bar\":\"DetailSummary__progress-bar__1Y7M1\",\"progress-striped\":\"DetailSummary__progress-striped__fVb4W\",\"progress-bar-striped\":\"DetailSummary__progress-bar-striped__2scRv\",active:\"DetailSummary__active__5GwCs\",\"progress-bar-stripes\":\"DetailSummary__progress-bar-stripes__209md\",\"progress-bar-success\":\"DetailSummary__progress-bar-success__1GFpq\",\"progress-bar-info\":\"DetailSummary__progress-bar-info__oO1FT\",\"progress-bar-warning\":\"DetailSummary__progress-bar-warning__nAdgI\",\"progress-bar-danger\":\"DetailSummary__progress-bar-danger__DL5wc\",tooltip:\"DetailSummary__tooltip__1twCh\",in:\"DetailSummary__in__1NvMu\",top:\"DetailSummary__top__3rq9M\",right:\"DetailSummary__right__3u1fK\",bottom:\"DetailSummary__bottom__2sSLl\",left:\"DetailSummary__left__2X5SF\",\"tooltip-arrow\":\"DetailSummary__tooltip-arrow__ODqzF\",\"top-left\":\"DetailSummary__top-left__13LPN\",\"top-right\":\"DetailSummary__top-right__6yaqQ\",\"bottom-left\":\"DetailSummary__bottom-left__2nKDZ\",\"bottom-right\":\"DetailSummary__bottom-right__b7Yu3\",\"tooltip-inner\":\"DetailSummary__tooltip-inner__2EkAq\",main:\"DetailSummary__main__3bBER\",row:\"DetailSummary__row__1ePRR\",col:\"DetailSummary__col__2UzKA\",rawId:\"DetailSummary__rawId__2Quy9\",colAction:\"DetailSummary__colAction__1md-X\",colAmount:\"DetailSummary__colAmount__3pXSq\",account:\"DetailSummary__account__zR2O3\",middle:\"DetailSummary__middle__3m0HU\",end:\"DetailSummary__end__3NvRk\",amount:\"DetailSummary__amount__eTrOb\",emphasisLabel:\"DetailSummary__emphasisLabel__3XRU_\",colAccount:\"DetailSummary__colAccount__1lAm3\",colLabel:\"DetailSummary__colLabel__1GpAa\",colUnit:\"DetailSummary__colUnit__EiGni\",immature:\"DetailSummary__immature__CVc0s\",recievedAmount:\"DetailSummary__recievedAmount__1QuIp\",titleBar:\"DetailSummary__titleBar__1kjA7\",title:\"DetailSummary__title__BDGyL\"}},function(e,t){e.exports={progress:\"ListItem__progress__1Z0bU\",\"progress-bar\":\"ListItem__progress-bar__2xrEB\",\"progress-striped\":\"ListItem__progress-striped__3nE6O\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__234VW\",active:\"ListItem__active__1wrjj\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__ftQUL\",\"progress-bar-success\":\"ListItem__progress-bar-success__32Yfx\",\"progress-bar-info\":\"ListItem__progress-bar-info__3BLRt\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__1KnMX\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__2NQP-\",tooltip:\"ListItem__tooltip__BDBF1\",in:\"ListItem__in__11Jze\",top:\"ListItem__top__1uBie\",right:\"ListItem__right__2ohZ_\",bottom:\"ListItem__bottom__2b4rs\",left:\"ListItem__left__1lx8q\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__2UQYC\",\"top-left\":\"ListItem__top-left__3VfXL\",\"top-right\":\"ListItem__top-right__Vjx-R\",\"bottom-left\":\"ListItem__bottom-left__2SrnB\",\"bottom-right\":\"ListItem__bottom-right__24sep\",\"tooltip-inner\":\"ListItem__tooltip-inner__1O_-i\",main:\"ListItem__main__3HK-c\",titleBar:\"ListItem__titleBar__95ibV\",title:\"ListItem__title__1prs7\",colAction:\"ListItem__colAction__3EKK_\",confirmation:\"ListItem__confirmation__1OdaI\",end:\"ListItem__end__1XqGY\",emphasisLabel:\"ListItem__emphasisLabel__3Vc4W\",colUnit:\"ListItem__colUnit__2W6kX\",recievedAmount:\"ListItem__recievedAmount__GI2yq\",col:\"ListItem__col__Ih0v0\"}},function(e,t){e.exports={progress:\"Index__progress__1h05H\",\"progress-bar\":\"Index__progress-bar__142hW\",\"progress-striped\":\"Index__progress-striped__2c1ts\",\"progress-bar-striped\":\"Index__progress-bar-striped__28Xca\",active:\"Index__active__3W7cZ\",\"progress-bar-stripes\":\"Index__progress-bar-stripes__Za6qP\",\"progress-bar-success\":\"Index__progress-bar-success__2HUhJ\",\"progress-bar-info\":\"Index__progress-bar-info__gKt04\",\"progress-bar-warning\":\"Index__progress-bar-warning__epJRD\",\"progress-bar-danger\":\"Index__progress-bar-danger__1UT-2\",tooltip:\"Index__tooltip__37G-b\",in:\"Index__in__2lszE\",top:\"Index__top__3kkw6\",right:\"Index__right__3qfDM\",bottom:\"Index__bottom__1zwWz\",left:\"Index__left__1e83H\",\"tooltip-arrow\":\"Index__tooltip-arrow__2HpXY\",\"top-left\":\"Index__top-left__1eip8\",\"top-right\":\"Index__top-right__2qPTz\",\"bottom-left\":\"Index__bottom-left__2CUqG\",\"bottom-right\":\"Index__bottom-right__2O08v\",\"tooltip-inner\":\"Index__tooltip-inner__2kxgG\",main:\"Index__main__2EDWo\",title:\"Index__title__3WA9V\",choices:\"Index__choices__zm6bs\",choice_wrapper:\"Index__choice_wrapper__26rG1\",choice_radio_button:\"Index__choice_radio_button__2_EdP\",choice:\"Index__choice__38C__\",disabled:\"Index__disabled__2cU-g\",choice_title:\"Index__choice_title__2wFO9\",backup:\"Index__backup__2__Y7\",restoreKeystore:\"Index__restoreKeystore__2kxGg\",restoreMnemonic:\"Index__restoreMnemonic__8QGc9\",submitWrapper:\"Index__submitWrapper__30JLz\",submit:\"Index__submit__p2c2r\",infoLink:\"Index__infoLink__3fkmH\"}},function(e,t){e.exports={progress:\"MnemonicStepper__progress__1Qo7Z\",\"progress-bar\":\"MnemonicStepper__progress-bar__3oqj6\",\"progress-striped\":\"MnemonicStepper__progress-striped__IsaNH\",\"progress-bar-striped\":\"MnemonicStepper__progress-bar-striped__2z5-H\",active:\"MnemonicStepper__active__XviSm\",\"progress-bar-stripes\":\"MnemonicStepper__progress-bar-stripes__uFLMv\",\"progress-bar-success\":\"MnemonicStepper__progress-bar-success__17hBv\",\"progress-bar-info\":\"MnemonicStepper__progress-bar-info__2M5Kx\",\"progress-bar-warning\":\"MnemonicStepper__progress-bar-warning__1EaZK\",\"progress-bar-danger\":\"MnemonicStepper__progress-bar-danger__2xBuA\",tooltip:\"MnemonicStepper__tooltip__duoi4\",in:\"MnemonicStepper__in__2KMT7\",top:\"MnemonicStepper__top__2_dhh\",right:\"MnemonicStepper__right__2Bhzp\",bottom:\"MnemonicStepper__bottom__zfa3m\",left:\"MnemonicStepper__left__3MIVH\",\"tooltip-arrow\":\"MnemonicStepper__tooltip-arrow__3oogb\",\"top-left\":\"MnemonicStepper__top-left__6K4H1\",\"top-right\":\"MnemonicStepper__top-right__ghh5i\",\"bottom-left\":\"MnemonicStepper__bottom-left__3_Aap\",\"bottom-right\":\"MnemonicStepper__bottom-right__Ni_3A\",\"tooltip-inner\":\"MnemonicStepper__tooltip-inner__Le-SG\",main:\"MnemonicStepper__main__T98E_\",title:\"MnemonicStepper__title__3kGml\",formWarpper:\"MnemonicStepper__formWarpper__s10LS\",form:\"MnemonicStepper__form__2JMd7\"}},function(e,t){e.exports={progress:\"ExportKey__progress__j9Q4i\",\"progress-bar\":\"ExportKey__progress-bar__1xJI2\",\"progress-striped\":\"ExportKey__progress-striped__3qt4I\",\"progress-bar-striped\":\"ExportKey__progress-bar-striped__dREUT\",active:\"ExportKey__active__2DafI\",\"progress-bar-stripes\":\"ExportKey__progress-bar-stripes__Tr6Vs\",\"progress-bar-success\":\"ExportKey__progress-bar-success__2MQ4m\",\"progress-bar-info\":\"ExportKey__progress-bar-info__2A0xB\",\"progress-bar-warning\":\"ExportKey__progress-bar-warning__3aWpZ\",\"progress-bar-danger\":\"ExportKey__progress-bar-danger__3CntM\",tooltip:\"ExportKey__tooltip__2iDVa\",in:\"ExportKey__in__jmknh\",top:\"ExportKey__top__en0er\",right:\"ExportKey__right__2UThf\",bottom:\"ExportKey__bottom__1G0ik\",left:\"ExportKey__left__25ZLY\",\"tooltip-arrow\":\"ExportKey__tooltip-arrow__1g5Zd\",\"top-left\":\"ExportKey__top-left__PD9CY\",\"top-right\":\"ExportKey__top-right__WQMlJ\",\"bottom-left\":\"ExportKey__bottom-left__3-u3j\",\"bottom-right\":\"ExportKey__bottom-right__1aMKB\",\"tooltip-inner\":\"ExportKey__tooltip-inner__ryDGD\",main:\"ExportKey__main__1x33C\"}},function(e,t){e.exports={progress:\"MnemonicStepper__progress__3wkIK\",\"progress-bar\":\"MnemonicStepper__progress-bar__3-QZF\",\"progress-striped\":\"MnemonicStepper__progress-striped__2mjgM\",\"progress-bar-striped\":\"MnemonicStepper__progress-bar-striped__2sb4n\",active:\"MnemonicStepper__active__66hST\",\"progress-bar-stripes\":\"MnemonicStepper__progress-bar-stripes__1HPes\",\"progress-bar-success\":\"MnemonicStepper__progress-bar-success__2Gkz-\",\"progress-bar-info\":\"MnemonicStepper__progress-bar-info__1eMrq\",\"progress-bar-warning\":\"MnemonicStepper__progress-bar-warning__2eiSb\",\"progress-bar-danger\":\"MnemonicStepper__progress-bar-danger__1nybQ\",tooltip:\"MnemonicStepper__tooltip__2R2EU\",in:\"MnemonicStepper__in__2245d\",top:\"MnemonicStepper__top__Ts5b6\",right:\"MnemonicStepper__right__oACiT\",bottom:\"MnemonicStepper__bottom__K2_nx\",left:\"MnemonicStepper__left__1pIvY\",\"tooltip-arrow\":\"MnemonicStepper__tooltip-arrow__11nla\",\"top-left\":\"MnemonicStepper__top-left__DQ2-s\",\"top-right\":\"MnemonicStepper__top-right__SiYff\",\"bottom-left\":\"MnemonicStepper__bottom-left__3kFjm\",\"bottom-right\":\"MnemonicStepper__bottom-right__jN_fV\",\"tooltip-inner\":\"MnemonicStepper__tooltip-inner__3MDnm\",main:\"MnemonicStepper__main__2RplQ\",content:\"MnemonicStepper__content__IdMni\",marginLeft:\"MnemonicStepper__marginLeft__1wt7k\"}},function(e,t){e.exports={progress:\"List__progress__2Dh9E\",\"progress-bar\":\"List__progress-bar__YbEBL\",\"progress-striped\":\"List__progress-striped__1UFwo\",\"progress-bar-striped\":\"List__progress-bar-striped__U4E9h\",active:\"List__active__2me18\",\"progress-bar-stripes\":\"List__progress-bar-stripes__39id3\",\"progress-bar-success\":\"List__progress-bar-success__1TTJY\",\"progress-bar-info\":\"List__progress-bar-info__3lzpL\",\"progress-bar-warning\":\"List__progress-bar-warning__26JGp\",\"progress-bar-danger\":\"List__progress-bar-danger__SZrXy\",tooltip:\"List__tooltip__-QXEl\",in:\"List__in__VBAGe\",top:\"List__top__SglWV\",right:\"List__right__1zdrn\",bottom:\"List__bottom__13A0p\",left:\"List__left__efcFr\",\"tooltip-arrow\":\"List__tooltip-arrow__1s3hP\",\"top-left\":\"List__top-left__30DE9\",\"top-right\":\"List__top-right__1_Kii\",\"bottom-left\":\"List__bottom-left__1iFXx\",\"bottom-right\":\"List__bottom-right__3Pv0Q\",\"tooltip-inner\":\"List__tooltip-inner__20srf\",main:\"List__main__3aglb\"}},function(e,t){e.exports={progress:\"AmountUnitField__progress__21S1C\",\"progress-bar\":\"AmountUnitField__progress-bar__UgpH0\",\"progress-striped\":\"AmountUnitField__progress-striped__1vhAn\",\"progress-bar-striped\":\"AmountUnitField__progress-bar-striped__2Yy3N\",active:\"AmountUnitField__active__1MpMw\",\"progress-bar-stripes\":\"AmountUnitField__progress-bar-stripes__uuBVY\",\"progress-bar-success\":\"AmountUnitField__progress-bar-success__1FNp4\",\"progress-bar-info\":\"AmountUnitField__progress-bar-info__1Oo_P\",\"progress-bar-warning\":\"AmountUnitField__progress-bar-warning__2JaOk\",\"progress-bar-danger\":\"AmountUnitField__progress-bar-danger__18VUs\",tooltip:\"AmountUnitField__tooltip__3CiI2\",in:\"AmountUnitField__in__1sS6g\",top:\"AmountUnitField__top__3jvd6\",right:\"AmountUnitField__right__w8s3I\",bottom:\"AmountUnitField__bottom__3PYgP\",left:\"AmountUnitField__left__2zMX4\",\"tooltip-arrow\":\"AmountUnitField__tooltip-arrow__1LcpL\",\"top-left\":\"AmountUnitField__top-left__26t_4\",\"top-right\":\"AmountUnitField__top-right__3YQOF\",\"bottom-left\":\"AmountUnitField__bottom-left__1naBf\",\"bottom-right\":\"AmountUnitField__bottom-right__ioxJo\",\"tooltip-inner\":\"AmountUnitField__tooltip-inner__3OwLT\",base:\"AmountUnitField__base__1Fg35\",unit:\"AmountUnitField__unit__FVVwA\"}},function(e,t){e.exports={progress:\"AutocompleteField__progress__3Ho2G\",\"progress-bar\":\"AutocompleteField__progress-bar__3cOaz\",\"progress-striped\":\"AutocompleteField__progress-striped__39v8F\",\"progress-bar-striped\":\"AutocompleteField__progress-bar-striped__3hIP0\",active:\"AutocompleteField__active__2cBDW\",\"progress-bar-stripes\":\"AutocompleteField__progress-bar-stripes__2eH4S\",\"progress-bar-success\":\"AutocompleteField__progress-bar-success__1qJ27\",\"progress-bar-info\":\"AutocompleteField__progress-bar-info__13u8H\",\"progress-bar-warning\":\"AutocompleteField__progress-bar-warning__YLRon\",\"progress-bar-danger\":\"AutocompleteField__progress-bar-danger__3Kh-p\",tooltip:\"AutocompleteField__tooltip__1SKAY\",in:\"AutocompleteField__in__1TAkw\",top:\"AutocompleteField__top__2XrIo\",right:\"AutocompleteField__right__CyNJs\",bottom:\"AutocompleteField__bottom__3VHcl\",left:\"AutocompleteField__left__1Fg1D\",\"tooltip-arrow\":\"AutocompleteField__tooltip-arrow__EGv_4\",\"top-left\":\"AutocompleteField__top-left__2NghJ\",\"top-right\":\"AutocompleteField__top-right__2Uoke\",\"bottom-left\":\"AutocompleteField__bottom-left__3RIok\",\"bottom-right\":\"AutocompleteField__bottom-right__2ySey\",\"tooltip-inner\":\"AutocompleteField__tooltip-inner__Xwcw3\",container:\"AutocompleteField__container__3bx1h\",suggestionsContainer:\"AutocompleteField__suggestionsContainer__1XjWG\",suggestionsContainerOpen:\"AutocompleteField__suggestionsContainerOpen__1s0BC\",suggestionsList:\"AutocompleteField__suggestionsList__3326u\",suggestion:\"AutocompleteField__suggestion__wB3Wf\",suggestionHighlighted:\"AutocompleteField__suggestionHighlighted__2uhI8\"}},function(e,t){e.exports={progress:\"EmptyList__progress__2L_Hh\",\"progress-bar\":\"EmptyList__progress-bar__OpZz-\",\"progress-striped\":\"EmptyList__progress-striped__1liw7\",\"progress-bar-striped\":\"EmptyList__progress-bar-striped__1asYW\",active:\"EmptyList__active__DolKG\",\"progress-bar-stripes\":\"EmptyList__progress-bar-stripes__1Jjas\",\"progress-bar-success\":\"EmptyList__progress-bar-success__1ei_Z\",\"progress-bar-info\":\"EmptyList__progress-bar-info__3fE7b\",\"progress-bar-warning\":\"EmptyList__progress-bar-warning__3qQxn\",\"progress-bar-danger\":\"EmptyList__progress-bar-danger__3BYEp\",tooltip:\"EmptyList__tooltip__1XoMm\",in:\"EmptyList__in__1-ODX\",top:\"EmptyList__top__3QNWa\",right:\"EmptyList__right__26zZU\",bottom:\"EmptyList__bottom__3xhga\",left:\"EmptyList__left__2EH1p\",\"tooltip-arrow\":\"EmptyList__tooltip-arrow__JrjXp\",\"top-left\":\"EmptyList__top-left__Mr2pl\",\"top-right\":\"EmptyList__top-right__2TGrl\",\"bottom-left\":\"EmptyList__bottom-left__1pzfN\",\"bottom-right\":\"EmptyList__bottom-right__2XkE9\",\"tooltip-inner\":\"EmptyList__tooltip-inner__ydWol\",empty:\"EmptyList__empty__1pTM6\",emptyContainer:\"EmptyList__emptyContainer__1467p\",emptyContent:\"EmptyList__emptyContent__1gaoa\",emptyLabel:\"EmptyList__emptyLabel__bXs_y\",noResults:\"EmptyList__noResults__3Tisc\",noResultsLabel:\"EmptyList__noResultsLabel__K4m_A\",image:\"EmptyList__image__1k3Yi\",code:\"EmptyList__code__3JZWJ\"}},function(e,t){e.exports={progress:\"CheckboxField__progress__wB5V-\",\"progress-bar\":\"CheckboxField__progress-bar__2KLUY\",\"progress-striped\":\"CheckboxField__progress-striped__13LqG\",\"progress-bar-striped\":\"CheckboxField__progress-bar-striped__3iWcp\",active:\"CheckboxField__active__dwy53\",\"progress-bar-stripes\":\"CheckboxField__progress-bar-stripes__1BBPY\",\"progress-bar-success\":\"CheckboxField__progress-bar-success__NktQf\",\"progress-bar-info\":\"CheckboxField__progress-bar-info__3lbbL\",\"progress-bar-warning\":\"CheckboxField__progress-bar-warning__QkB48\",\"progress-bar-danger\":\"CheckboxField__progress-bar-danger__2tetS\",tooltip:\"CheckboxField__tooltip__23RbA\",in:\"CheckboxField__in__bt1uj\",top:\"CheckboxField__top__njrkB\",right:\"CheckboxField__right__SRGHn\",bottom:\"CheckboxField__bottom__3wQua\",left:\"CheckboxField__left__1rIHc\",\"tooltip-arrow\":\"CheckboxField__tooltip-arrow__2YwBA\",\"top-left\":\"CheckboxField__top-left__25-3-\",\"top-right\":\"CheckboxField__top-right__39yMe\",\"bottom-left\":\"CheckboxField__bottom-left__39SKV\",\"bottom-right\":\"CheckboxField__bottom-right__27sTk\",\"tooltip-inner\":\"CheckboxField__tooltip-inner__3wLbY\",label:\"CheckboxField__label__2Ug2d\",title:\"CheckboxField__title__3hm4r\",hint:\"CheckboxField__hint__33L32\"}},function(e,t){e.exports={progress:\"ConfirmMnemonic__progress__2wGv_\",\"progress-bar\":\"ConfirmMnemonic__progress-bar__28wLF\",\"progress-striped\":\"ConfirmMnemonic__progress-striped__2SXql\",\"progress-bar-striped\":\"ConfirmMnemonic__progress-bar-striped__v-TKi\",active:\"ConfirmMnemonic__active__3BQ33\",\"progress-bar-stripes\":\"ConfirmMnemonic__progress-bar-stripes__hzvI5\",\"progress-bar-success\":\"ConfirmMnemonic__progress-bar-success__1l0w4\",\"progress-bar-info\":\"ConfirmMnemonic__progress-bar-info__38Onq\",\"progress-bar-warning\":\"ConfirmMnemonic__progress-bar-warning__1iNMP\",\"progress-bar-danger\":\"ConfirmMnemonic__progress-bar-danger__1Ybfu\",tooltip:\"ConfirmMnemonic__tooltip__1VXcq\",in:\"ConfirmMnemonic__in__2C6us\",top:\"ConfirmMnemonic__top__2OovI\",right:\"ConfirmMnemonic__right__1BO6Z\",bottom:\"ConfirmMnemonic__bottom__1_6zW\",left:\"ConfirmMnemonic__left__3qyaT\",\"tooltip-arrow\":\"ConfirmMnemonic__tooltip-arrow__2Mmg6\",\"top-left\":\"ConfirmMnemonic__top-left__1tQ2S\",\"top-right\":\"ConfirmMnemonic__top-right__Tbred\",\"bottom-left\":\"ConfirmMnemonic__bottom-left__fg21-\",\"bottom-right\":\"ConfirmMnemonic__bottom-right__3SQnf\",\"tooltip-inner\":\"ConfirmMnemonic__tooltip-inner__3O-Qm\",submit:\"ConfirmMnemonic__submit__1Shoc\",seed:\"ConfirmMnemonic__seed__nWB5b\",seedWord:\"ConfirmMnemonic__seedWord__3KN5P\",seedArea:\"ConfirmMnemonic__seedArea__3ZdYC\",container:\"ConfirmMnemonic__container__2SqXP\"}},function(e,t){e.exports={progress:\"ConsoleSection__progress__3OO9b\",\"progress-bar\":\"ConsoleSection__progress-bar__1b0PU\",\"progress-striped\":\"ConsoleSection__progress-striped__1Xxz4\",\"progress-bar-striped\":\"ConsoleSection__progress-bar-striped__1e9_q\",active:\"ConsoleSection__active__1-bEw\",\"progress-bar-stripes\":\"ConsoleSection__progress-bar-stripes__2tlpB\",\"progress-bar-success\":\"ConsoleSection__progress-bar-success__1eNaV\",\"progress-bar-info\":\"ConsoleSection__progress-bar-info__Cz2ak\",\"progress-bar-warning\":\"ConsoleSection__progress-bar-warning__2TKfU\",\"progress-bar-danger\":\"ConsoleSection__progress-bar-danger__2Zf54\",tooltip:\"ConsoleSection__tooltip__GkFSS\",in:\"ConsoleSection__in__36AYU\",top:\"ConsoleSection__top__1EBdJ\",right:\"ConsoleSection__right__3JOvF\",bottom:\"ConsoleSection__bottom__2Grn9\",left:\"ConsoleSection__left__1RoJV\",\"tooltip-arrow\":\"ConsoleSection__tooltip-arrow__r5pTQ\",\"top-left\":\"ConsoleSection__top-left__1_jY2\",\"top-right\":\"ConsoleSection__top-right__3dlY6\",\"bottom-left\":\"ConsoleSection__bottom-left__20WrN\",\"bottom-right\":\"ConsoleSection__bottom-right__2phiX\",\"tooltip-inner\":\"ConsoleSection__tooltip-inner__2YkFQ\",main:\"ConsoleSection__main__dLChn\",reactConsoleContainer:\"ConsoleSection__reactConsoleContainer__34lQ6\",input:\"ConsoleSection__input__BLXlA\",inputBox:\"ConsoleSection__inputBox__301o3\"}},function(e,t){e.exports={progress:\"ListItem__progress__3FfjV\",\"progress-bar\":\"ListItem__progress-bar__1Lgtj\",\"progress-striped\":\"ListItem__progress-striped__9KLa0\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__1C2_f\",active:\"ListItem__active__3sHME\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__31rn8\",\"progress-bar-success\":\"ListItem__progress-bar-success__1cHLI\",\"progress-bar-info\":\"ListItem__progress-bar-info__2CC8p\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__3POTB\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__34TNF\",tooltip:\"ListItem__tooltip__2fhGc\",in:\"ListItem__in__3640W\",top:\"ListItem__top__2mZoE\",right:\"ListItem__right__1jvZV\",bottom:\"ListItem__bottom__2h7cM\",left:\"ListItem__left__xR670\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__1kw7y\",\"top-left\":\"ListItem__top-left__OYOVh\",\"top-right\":\"ListItem__top-right__NuiGB\",\"bottom-left\":\"ListItem__bottom-left__3u3SI\",\"bottom-right\":\"ListItem__bottom-right__4eHhU\",\"tooltip-inner\":\"ListItem__tooltip-inner__29d02\",main:\"ListItem__main__1i9rL\",title:\"ListItem__title__3-OgI\",messageBox:\"ListItem__messageBox__1apGn\"}},function(e,t){e.exports={progress:\"CopyableBlock__progress__2stXW\",\"progress-bar\":\"CopyableBlock__progress-bar__3xi0A\",\"progress-striped\":\"CopyableBlock__progress-striped__1D6HZ\",\"progress-bar-striped\":\"CopyableBlock__progress-bar-striped__2lmkl\",active:\"CopyableBlock__active__1X4VL\",\"progress-bar-stripes\":\"CopyableBlock__progress-bar-stripes__1ipG6\",\"progress-bar-success\":\"CopyableBlock__progress-bar-success__2th1A\",\"progress-bar-info\":\"CopyableBlock__progress-bar-info__rmB4P\",\"progress-bar-warning\":\"CopyableBlock__progress-bar-warning__17lrc\",\"progress-bar-danger\":\"CopyableBlock__progress-bar-danger__1x_WG\",tooltip:\"CopyableBlock__tooltip__2s-8y\",in:\"CopyableBlock__in__amhuo\",top:\"CopyableBlock__top__1SBh_\",right:\"CopyableBlock__right__3M_BP\",bottom:\"CopyableBlock__bottom__2faDE\",left:\"CopyableBlock__left__1orYH\",\"tooltip-arrow\":\"CopyableBlock__tooltip-arrow__1_NZj\",\"top-left\":\"CopyableBlock__top-left__3cdG_\",\"top-right\":\"CopyableBlock__top-right__30nd4\",\"bottom-left\":\"CopyableBlock__bottom-left__1imtm\",\"bottom-right\":\"CopyableBlock__bottom-right__gzmDN\",\"tooltip-inner\":\"CopyableBlock__tooltip-inner__3h-61\",main:\"CopyableBlock__main__1KLm8\",pre:\"CopyableBlock__pre__3OKn9\",copyButton:\"CopyableBlock__copyButton__1m-rB\"}},function(e,t){e.exports={progress:\"EmptyContent__progress__bX7n8\",\"progress-bar\":\"EmptyContent__progress-bar__GwaJi\",\"progress-striped\":\"EmptyContent__progress-striped__2fOvp\",\"progress-bar-striped\":\"EmptyContent__progress-bar-striped__2H4IL\",active:\"EmptyContent__active__2dGx5\",\"progress-bar-stripes\":\"EmptyContent__progress-bar-stripes__1yHSl\",\"progress-bar-success\":\"EmptyContent__progress-bar-success__s_lGk\",\"progress-bar-info\":\"EmptyContent__progress-bar-info__1O6yZ\",\"progress-bar-warning\":\"EmptyContent__progress-bar-warning__3yx4R\",\"progress-bar-danger\":\"EmptyContent__progress-bar-danger__a7E9O\",tooltip:\"EmptyContent__tooltip__Uv8sG\",in:\"EmptyContent__in__2dN4D\",top:\"EmptyContent__top__AVFxC\",right:\"EmptyContent__right__2LpDL\",bottom:\"EmptyContent__bottom__30en-\",left:\"EmptyContent__left__3O_Q5\",\"tooltip-arrow\":\"EmptyContent__tooltip-arrow__2anDt\",\"top-left\":\"EmptyContent__top-left__QeKkN\",\"top-right\":\"EmptyContent__top-right__1xklU\",\"bottom-left\":\"EmptyContent__bottom-left__1yJWY\",\"bottom-right\":\"EmptyContent__bottom-right__3mOIr\",\"tooltip-inner\":\"EmptyContent__tooltip-inner__hb2Fm\",emptyContainer:\"EmptyContent__emptyContainer__3Y4UB\",emptyContent:\"EmptyContent__emptyContent__kTzeB\"}},function(e,t){e.exports={progress:\"ErrorBanner__progress__3D-He\",\"progress-bar\":\"ErrorBanner__progress-bar__JX1wI\",\"progress-striped\":\"ErrorBanner__progress-striped__1gumd\",\"progress-bar-striped\":\"ErrorBanner__progress-bar-striped__2UqpK\",active:\"ErrorBanner__active__AEp9i\",\"progress-bar-stripes\":\"ErrorBanner__progress-bar-stripes__3ku9y\",\"progress-bar-success\":\"ErrorBanner__progress-bar-success__XPu7b\",\"progress-bar-info\":\"ErrorBanner__progress-bar-info__3Vfht\",\"progress-bar-warning\":\"ErrorBanner__progress-bar-warning__xe5IK\",\"progress-bar-danger\":\"ErrorBanner__progress-bar-danger__1p2XN\",tooltip:\"ErrorBanner__tooltip__HAEZC\",in:\"ErrorBanner__in__1dSay\",top:\"ErrorBanner__top__1GIKL\",right:\"ErrorBanner__right__2J93q\",bottom:\"ErrorBanner__bottom__3Abvh\",left:\"ErrorBanner__left__IRdDJ\",\"tooltip-arrow\":\"ErrorBanner__tooltip-arrow__1jDcV\",\"top-left\":\"ErrorBanner__top-left__HUq1S\",\"top-right\":\"ErrorBanner__top-right__bZwNC\",\"bottom-left\":\"ErrorBanner__bottom-left__1Mvpa\",\"bottom-right\":\"ErrorBanner__bottom-right__1dYOm\",\"tooltip-inner\":\"ErrorBanner__tooltip-inner__2-nRg\",main:\"ErrorBanner__main__1Py51\",mainSuccess:\"ErrorBanner__mainSuccess__2jGHr\",message:\"ErrorBanner__message__R0tyV\",extra:\"ErrorBanner__extra__1j-Fm\"}},function(e,t){e.exports={progress:\"FieldLabel__progress__3YeL-\",\"progress-bar\":\"FieldLabel__progress-bar__2eLcu\",\"progress-striped\":\"FieldLabel__progress-striped__2m6hE\",\"progress-bar-striped\":\"FieldLabel__progress-bar-striped__2zJbx\",active:\"FieldLabel__active__1f483\",\"progress-bar-stripes\":\"FieldLabel__progress-bar-stripes__2-oBG\",\"progress-bar-success\":\"FieldLabel__progress-bar-success__9zwDp\",\"progress-bar-info\":\"FieldLabel__progress-bar-info__2747F\",\"progress-bar-warning\":\"FieldLabel__progress-bar-warning__2xbaa\",\"progress-bar-danger\":\"FieldLabel__progress-bar-danger__23aul\",tooltip:\"FieldLabel__tooltip__2UeB2\",in:\"FieldLabel__in__39x3l\",top:\"FieldLabel__top__17UQE\",right:\"FieldLabel__right__1wvfo\",bottom:\"FieldLabel__bottom__ipWXH\",left:\"FieldLabel__left__1mn7T\",\"tooltip-arrow\":\"FieldLabel__tooltip-arrow__3Oea5\",\"top-left\":\"FieldLabel__top-left__30u3Z\",\"top-right\":\"FieldLabel__top-right__h8TBT\",\"bottom-left\":\"FieldLabel__bottom-left__JS4MQ\",\"bottom-right\":\"FieldLabel__bottom-right__nM2LH\",\"tooltip-inner\":\"FieldLabel__tooltip-inner__bfQZW\",main:\"FieldLabel__main__IFBc0\"}},function(e,t){e.exports={progress:\"Flash__progress__24VZm\",\"progress-bar\":\"Flash__progress-bar__22Dwb\",\"progress-striped\":\"Flash__progress-striped__3VoEB\",\"progress-bar-striped\":\"Flash__progress-bar-striped__qd-6_\",\nactive:\"Flash__active__13uae\",\"progress-bar-stripes\":\"Flash__progress-bar-stripes__1az7e\",\"progress-bar-success\":\"Flash__progress-bar-success__ioNuj\",\"progress-bar-info\":\"Flash__progress-bar-info__1XGc8\",\"progress-bar-warning\":\"Flash__progress-bar-warning__3Teta\",\"progress-bar-danger\":\"Flash__progress-bar-danger__129aY\",tooltip:\"Flash__tooltip__3_PIV\",in:\"Flash__in__JJM7r\",top:\"Flash__top__1cfxW\",right:\"Flash__right__2NFte\",bottom:\"Flash__bottom__12V-2\",left:\"Flash__left__1PTHD\",\"tooltip-arrow\":\"Flash__tooltip-arrow__1OBM2\",\"top-left\":\"Flash__top-left__3WUPn\",\"top-right\":\"Flash__top-right__3MZdy\",\"bottom-left\":\"Flash__bottom-left__rxgVg\",\"bottom-right\":\"Flash__bottom-right__qtoEa\",\"tooltip-inner\":\"Flash__tooltip-inner__27N93\",main:\"Flash__main__33MVw\",alert:\"Flash__alert__1rexD\",info:\"Flash__info__1Pa8b\",success:\"Flash__success__2JEIi\",danger:\"Flash__danger__1S0HK\",content:\"Flash__content__16af6\"}},function(e,t){e.exports={progress:\"FormContainer__progress__1Zz89\",\"progress-bar\":\"FormContainer__progress-bar__NFDHe\",\"progress-striped\":\"FormContainer__progress-striped__2SmvL\",\"progress-bar-striped\":\"FormContainer__progress-bar-striped__92lyR\",active:\"FormContainer__active__lciQM\",\"progress-bar-stripes\":\"FormContainer__progress-bar-stripes__17Ypv\",\"progress-bar-success\":\"FormContainer__progress-bar-success__3Z1EW\",\"progress-bar-info\":\"FormContainer__progress-bar-info__TYeRo\",\"progress-bar-warning\":\"FormContainer__progress-bar-warning__3z_Dt\",\"progress-bar-danger\":\"FormContainer__progress-bar-danger__3za5W\",tooltip:\"FormContainer__tooltip__18ury\",in:\"FormContainer__in__tsIs-\",top:\"FormContainer__top__2L2N6\",right:\"FormContainer__right__F5eW_\",bottom:\"FormContainer__bottom__qnt-J\",left:\"FormContainer__left__f5n2Q\",\"tooltip-arrow\":\"FormContainer__tooltip-arrow__n9Dkn\",\"top-left\":\"FormContainer__top-left__18sot\",\"top-right\":\"FormContainer__top-right__1j8uC\",\"bottom-left\":\"FormContainer__bottom-left__2Q22_\",\"bottom-right\":\"FormContainer__bottom-right__zvxVK\",\"tooltip-inner\":\"FormContainer__tooltip-inner__25zye\",main:\"FormContainer__main__1XmHt\",content:\"FormContainer__content__1sxOR\",submit:\"FormContainer__submit__3QrVn\"}},function(e,t){e.exports={progress:\"FormSection__progress__2ci9w\",\"progress-bar\":\"FormSection__progress-bar__AUG20\",\"progress-striped\":\"FormSection__progress-striped__25AVN\",\"progress-bar-striped\":\"FormSection__progress-bar-striped__15CLT\",active:\"FormSection__active__2q6gP\",\"progress-bar-stripes\":\"FormSection__progress-bar-stripes__1QcMN\",\"progress-bar-success\":\"FormSection__progress-bar-success__3UiIb\",\"progress-bar-info\":\"FormSection__progress-bar-info__35WLU\",\"progress-bar-warning\":\"FormSection__progress-bar-warning__1xku2\",\"progress-bar-danger\":\"FormSection__progress-bar-danger__2W36c\",tooltip:\"FormSection__tooltip__Xwzx9\",in:\"FormSection__in__1JTyJ\",top:\"FormSection__top__3TiPS\",right:\"FormSection__right__2cUZo\",bottom:\"FormSection__bottom__GOGKq\",left:\"FormSection__left__1l0XJ\",\"tooltip-arrow\":\"FormSection__tooltip-arrow__2EioC\",\"top-left\":\"FormSection__top-left__3lgou\",\"top-right\":\"FormSection__top-right__2R4Nu\",\"bottom-left\":\"FormSection__bottom-left__3lmed\",\"bottom-right\":\"FormSection__bottom-right__2F5cK\",\"tooltip-inner\":\"FormSection__tooltip-inner__owcub\",main:\"FormSection__main__1qV8i\",title:\"FormSection__title__1XQXa\"}},function(e,t){e.exports={progress:\"GasField__progress__3IAKc\",\"progress-bar\":\"GasField__progress-bar__1vy-M\",\"progress-striped\":\"GasField__progress-striped__3sc3P\",\"progress-bar-striped\":\"GasField__progress-bar-striped__1dEbd\",active:\"GasField__active__ol0k0\",\"progress-bar-stripes\":\"GasField__progress-bar-stripes__3fjg-\",\"progress-bar-success\":\"GasField__progress-bar-success__1KpYp\",\"progress-bar-info\":\"GasField__progress-bar-info__8oF5j\",\"progress-bar-warning\":\"GasField__progress-bar-warning__RLo-L\",\"progress-bar-danger\":\"GasField__progress-bar-danger__22Lak\",tooltip:\"GasField__tooltip__1BxZF\",in:\"GasField__in__3_LTt\",top:\"GasField__top__1Hawz\",right:\"GasField__right__HZale\",bottom:\"GasField__bottom__3uLzR\",left:\"GasField__left__3srf7\",\"tooltip-arrow\":\"GasField__tooltip-arrow__35QXQ\",\"top-left\":\"GasField__top-left__3HEke\",\"top-right\":\"GasField__top-right__1XBMU\",\"bottom-left\":\"GasField__bottom-left__3K0RW\",\"bottom-right\":\"GasField__bottom-right__3khFt\",\"tooltip-inner\":\"GasField__tooltip-inner__146qW\",slider:\"GasField__slider__DySSx\"}},function(e,t){e.exports={progress:\"JsonField__progress__3_KNn\",\"progress-bar\":\"JsonField__progress-bar__b6nzW\",\"progress-striped\":\"JsonField__progress-striped__gm4b_\",\"progress-bar-striped\":\"JsonField__progress-bar-striped__2exSW\",active:\"JsonField__active__3Cyw-\",\"progress-bar-stripes\":\"JsonField__progress-bar-stripes__1yb9Z\",\"progress-bar-success\":\"JsonField__progress-bar-success__1ZCav\",\"progress-bar-info\":\"JsonField__progress-bar-info__33nT7\",\"progress-bar-warning\":\"JsonField__progress-bar-warning__Ko7kG\",\"progress-bar-danger\":\"JsonField__progress-bar-danger__392-Y\",tooltip:\"JsonField__tooltip__3XnpT\",in:\"JsonField__in__3IuNj\",top:\"JsonField__top__2BT55\",right:\"JsonField__right__qRPYP\",bottom:\"JsonField__bottom__FNUjL\",left:\"JsonField__left__3sudf\",\"tooltip-arrow\":\"JsonField__tooltip-arrow__2aWgB\",\"top-left\":\"JsonField__top-left__1xgAI\",\"top-right\":\"JsonField__top-right__2bkYr\",\"bottom-left\":\"JsonField__bottom-left__2JGqG\",\"bottom-right\":\"JsonField__bottom-right__In1HQ\",\"tooltip-inner\":\"JsonField__tooltip-inner__2CWD9\",editorWrapper:\"JsonField__editorWrapper__24TdT\",editorError:\"JsonField__editorError__3aglE\",errorBlock:\"JsonField__errorBlock__2YbXG\"}},function(e,t){e.exports={progress:\"KeyValueTable__progress__1iAIc\",\"progress-bar\":\"KeyValueTable__progress-bar__d0dyO\",\"progress-striped\":\"KeyValueTable__progress-striped__2GNYd\",\"progress-bar-striped\":\"KeyValueTable__progress-bar-striped__2vnML\",active:\"KeyValueTable__active__Dzb4m\",\"progress-bar-stripes\":\"KeyValueTable__progress-bar-stripes__39-LP\",\"progress-bar-success\":\"KeyValueTable__progress-bar-success__3eE_r\",\"progress-bar-info\":\"KeyValueTable__progress-bar-info__30oiy\",\"progress-bar-warning\":\"KeyValueTable__progress-bar-warning__v6bAo\",\"progress-bar-danger\":\"KeyValueTable__progress-bar-danger__3nmtw\",tooltip:\"KeyValueTable__tooltip__1ApT3\",in:\"KeyValueTable__in__JPSct\",top:\"KeyValueTable__top__1eqqI\",right:\"KeyValueTable__right__2nDg9\",bottom:\"KeyValueTable__bottom__1vH8n\",left:\"KeyValueTable__left__O8-Mv\",\"tooltip-arrow\":\"KeyValueTable__tooltip-arrow__2meU4\",\"top-left\":\"KeyValueTable__top-left__1U9Td\",\"top-right\":\"KeyValueTable__top-right__2GFqG\",\"bottom-left\":\"KeyValueTable__bottom-left__33hAb\",\"bottom-right\":\"KeyValueTable__bottom-right__2JSpw\",\"tooltip-inner\":\"KeyValueTable__tooltip-inner__Ku1LL\",table:\"KeyValueTable__table__2B4pY\",pre:\"KeyValueTable__pre__1bjMa\",edit:\"KeyValueTable__edit__2nkqO\",detail:\"KeyValueTable__detail__d9uZX\",pencil:\"KeyValueTable__pencil__VD-63\",label:\"KeyValueTable__label__35Rgy\",value:\"KeyValueTable__value__bwXOr\",copyButton:\"KeyValueTable__copyButton__2nsqx\"}},function(e,t){e.exports={progress:\"Mnemonic__progress__3Fsru\",\"progress-bar\":\"Mnemonic__progress-bar__3hte8\",\"progress-striped\":\"Mnemonic__progress-striped__3B9g4\",\"progress-bar-striped\":\"Mnemonic__progress-bar-striped__3Zdco\",active:\"Mnemonic__active__iuzOz\",\"progress-bar-stripes\":\"Mnemonic__progress-bar-stripes__2D_Gk\",\"progress-bar-success\":\"Mnemonic__progress-bar-success__3Mftm\",\"progress-bar-info\":\"Mnemonic__progress-bar-info__38xfx\",\"progress-bar-warning\":\"Mnemonic__progress-bar-warning__67_hE\",\"progress-bar-danger\":\"Mnemonic__progress-bar-danger__2aiVf\",tooltip:\"Mnemonic__tooltip__WUlaF\",in:\"Mnemonic__in__mUU6D\",top:\"Mnemonic__top__1b1U5\",right:\"Mnemonic__right__2DyRZ\",bottom:\"Mnemonic__bottom__2xGK0\",left:\"Mnemonic__left__8dShv\",\"tooltip-arrow\":\"Mnemonic__tooltip-arrow__28eAo\",\"top-left\":\"Mnemonic__top-left__gO9Zk\",\"top-right\":\"Mnemonic__top-right__2ANj3\",\"bottom-left\":\"Mnemonic__bottom-left__2bntD\",\"bottom-right\":\"Mnemonic__bottom-right__deJxw\",\"tooltip-inner\":\"Mnemonic__tooltip-inner__32_Dh\",seed:\"Mnemonic__seed__2aDuu\",copy:\"Mnemonic__copy__3nTWY\",flexContainer:\"Mnemonic__flexContainer__pWQMX\",seedArea:\"Mnemonic__seedArea__3T2B_\",container:\"Mnemonic__container__1Sfnd\"}},function(e,t){e.exports={progress:\"ObjectSelectorField__progress__15Yfn\",\"progress-bar\":\"ObjectSelectorField__progress-bar__obc8A\",\"progress-striped\":\"ObjectSelectorField__progress-striped__1SjQq\",\"progress-bar-striped\":\"ObjectSelectorField__progress-bar-striped__1T6dz\",active:\"ObjectSelectorField__active__3iUnq\",\"progress-bar-stripes\":\"ObjectSelectorField__progress-bar-stripes__1iky2\",\"progress-bar-success\":\"ObjectSelectorField__progress-bar-success__3LW7l\",\"progress-bar-info\":\"ObjectSelectorField__progress-bar-info__292eA\",\"progress-bar-warning\":\"ObjectSelectorField__progress-bar-warning__l0MJ3\",\"progress-bar-danger\":\"ObjectSelectorField__progress-bar-danger__Ty_VX\",tooltip:\"ObjectSelectorField__tooltip__1oKiC\",in:\"ObjectSelectorField__in__1Mrx7\",top:\"ObjectSelectorField__top__3jiYf\",right:\"ObjectSelectorField__right__2YSY0\",bottom:\"ObjectSelectorField__bottom__iMRXd\",left:\"ObjectSelectorField__left__4nx0u\",\"tooltip-arrow\":\"ObjectSelectorField__tooltip-arrow__3mqn0\",\"top-left\":\"ObjectSelectorField__top-left__1GCdl\",\"top-right\":\"ObjectSelectorField__top-right__3FjQs\",\"bottom-left\":\"ObjectSelectorField__bottom-left__2BQ_G\",\"bottom-right\":\"ObjectSelectorField__bottom-right__LvC3L\",\"tooltip-inner\":\"ObjectSelectorField__tooltip-inner__1DAhx\",dropdownButton:\"ObjectSelectorField__dropdownButton__3wU1e\",aliasFieldGroupItem:\"ObjectSelectorField__aliasFieldGroupItem__35ZI4\"}},function(e,t){e.exports={progress:\"PageContent__progress__3a9Vk\",\"progress-bar\":\"PageContent__progress-bar__38e5Z\",\"progress-striped\":\"PageContent__progress-striped__2fSkw\",\"progress-bar-striped\":\"PageContent__progress-bar-striped__1sOF4\",active:\"PageContent__active__ZWILU\",\"progress-bar-stripes\":\"PageContent__progress-bar-stripes__3Nj8t\",\"progress-bar-success\":\"PageContent__progress-bar-success__U0myE\",\"progress-bar-info\":\"PageContent__progress-bar-info__qHReg\",\"progress-bar-warning\":\"PageContent__progress-bar-warning__HmRxk\",\"progress-bar-danger\":\"PageContent__progress-bar-danger__2e7ia\",tooltip:\"PageContent__tooltip__Z365i\",in:\"PageContent__in__1jDne\",top:\"PageContent__top__2kTaR\",right:\"PageContent__right__3b3d2\",bottom:\"PageContent__bottom__oTp-8\",left:\"PageContent__left__E5kad\",\"tooltip-arrow\":\"PageContent__tooltip-arrow__3tteJ\",\"top-left\":\"PageContent__top-left__3X2hD\",\"top-right\":\"PageContent__top-right__3Bk3q\",\"bottom-left\":\"PageContent__bottom-left__3y6Ud\",\"bottom-right\":\"PageContent__bottom-right__1ygzY\",\"tooltip-inner\":\"PageContent__tooltip-inner__1JhrP\",main:\"PageContent__main__2Yu_Q\"}},function(e,t){e.exports={progress:\"PageTitle__progress__3U4Ea\",\"progress-bar\":\"PageTitle__progress-bar__3L0vx\",\"progress-striped\":\"PageTitle__progress-striped__3yHWy\",\"progress-bar-striped\":\"PageTitle__progress-bar-striped__Yr53t\",active:\"PageTitle__active__1TYMZ\",\"progress-bar-stripes\":\"PageTitle__progress-bar-stripes__1xdhc\",\"progress-bar-success\":\"PageTitle__progress-bar-success__3IZXU\",\"progress-bar-info\":\"PageTitle__progress-bar-info__8z84B\",\"progress-bar-warning\":\"PageTitle__progress-bar-warning__2RIPY\",\"progress-bar-danger\":\"PageTitle__progress-bar-danger__3uYv5\",tooltip:\"PageTitle__tooltip__35dTR\",in:\"PageTitle__in__C0X6E\",top:\"PageTitle__top__qvPWB\",right:\"PageTitle__right__18DIo\",bottom:\"PageTitle__bottom__3xAZ3\",left:\"PageTitle__left__3XIs6\",\"tooltip-arrow\":\"PageTitle__tooltip-arrow__LZW1I\",\"top-left\":\"PageTitle__top-left__34hmC\",\"top-right\":\"PageTitle__top-right__3pbms\",\"bottom-left\":\"PageTitle__bottom-left__2Q9Ty\",\"bottom-right\":\"PageTitle__bottom-right__3zojQ\",\"tooltip-inner\":\"PageTitle__tooltip-inner__1xtqP\",main:\"PageTitle__main__ABEpT\",title:\"PageTitle__title__3Es27\",navigation:\"PageTitle__navigation__3_HhP\",crumbs:\"PageTitle__crumbs__-Ay5t\",crumb:\"PageTitle__crumb__gVdBx\",chevron:\"PageTitle__chevron__2f3I4\",actions:\"PageTitle__actions__2ch3W\",flash:\"PageTitle__flash__1OtqT\"}},function(e,t){e.exports={progress:\"Pagination__progress__3LBnR\",\"progress-bar\":\"Pagination__progress-bar__2djEG\",\"progress-striped\":\"Pagination__progress-striped__2DBtK\",\"progress-bar-striped\":\"Pagination__progress-bar-striped__34ir2\",active:\"Pagination__active__2VQ-0\",\"progress-bar-stripes\":\"Pagination__progress-bar-stripes__2zR5F\",\"progress-bar-success\":\"Pagination__progress-bar-success__3Zp6q\",\"progress-bar-info\":\"Pagination__progress-bar-info__2JNrd\",\"progress-bar-warning\":\"Pagination__progress-bar-warning__2G2aS\",\"progress-bar-danger\":\"Pagination__progress-bar-danger__2Loi9\",tooltip:\"Pagination__tooltip__w_NQ1\",in:\"Pagination__in__2tW2K\",top:\"Pagination__top__3NRAH\",right:\"Pagination__right__2lD9Z\",bottom:\"Pagination__bottom__1nk1a\",left:\"Pagination__left__2aU6x\",\"tooltip-arrow\":\"Pagination__tooltip-arrow__e4hJY\",\"top-left\":\"Pagination__top-left__1k-hR\",\"top-right\":\"Pagination__top-right__3gjcz\",\"bottom-left\":\"Pagination__bottom-left__1CCyh\",\"bottom-right\":\"Pagination__bottom-right__3g8YE\",\"tooltip-inner\":\"Pagination__tooltip-inner__1172w\",main:\"Pagination__main__2oPNq\",button:\"Pagination__button__7PNQR\",disabled:\"Pagination__disabled__2U4H8\"}},function(e,t){e.exports={progress:\"PasswordField__progress__3N7qR\",\"progress-bar\":\"PasswordField__progress-bar__DtrQF\",\"progress-striped\":\"PasswordField__progress-striped__3ZHh7\",\"progress-bar-striped\":\"PasswordField__progress-bar-striped__WoGge\",active:\"PasswordField__active__3E0Di\",\"progress-bar-stripes\":\"PasswordField__progress-bar-stripes__yyFGx\",\"progress-bar-success\":\"PasswordField__progress-bar-success__2-oUj\",\"progress-bar-info\":\"PasswordField__progress-bar-info__SjBKC\",\"progress-bar-warning\":\"PasswordField__progress-bar-warning__3QtNg\",\"progress-bar-danger\":\"PasswordField__progress-bar-danger__LM6g6\",tooltip:\"PasswordField__tooltip__2c8Yz\",in:\"PasswordField__in__jw6AB\",top:\"PasswordField__top__2vUGF\",right:\"PasswordField__right__2XGbC\",bottom:\"PasswordField__bottom__13ViL\",left:\"PasswordField__left__3MJD-\",\"tooltip-arrow\":\"PasswordField__tooltip-arrow__3Nmmp\",\"top-left\":\"PasswordField__top-left__2Dzeh\",\"top-right\":\"PasswordField__top-right__1GlF9\",\"bottom-left\":\"PasswordField__bottom-left__1RLLL\",\"bottom-right\":\"PasswordField__bottom-right__mAEV7\",\"tooltip-inner\":\"PasswordField__tooltip-inner__3-3LR\",capsIcon:\"PasswordField__capsIcon__3MrOT\",capsIconGreen:\"PasswordField__capsIconGreen__axeCy\",password:\"PasswordField__password__3SXbs\",dotFont:\"PasswordField__dotFont__19fE5\"}},function(e,t){e.exports={progress:\"RadioField__progress__3qFVF\",\"progress-bar\":\"RadioField__progress-bar__pxEck\",\"progress-striped\":\"RadioField__progress-striped__1vYrR\",\"progress-bar-striped\":\"RadioField__progress-bar-striped__10nF1\",active:\"RadioField__active__2w0w2\",\"progress-bar-stripes\":\"RadioField__progress-bar-stripes__3YpNP\",\"progress-bar-success\":\"RadioField__progress-bar-success__3_kUu\",\"progress-bar-info\":\"RadioField__progress-bar-info__3EGh-\",\"progress-bar-warning\":\"RadioField__progress-bar-warning__v1n-v\",\"progress-bar-danger\":\"RadioField__progress-bar-danger__1qPgq\",tooltip:\"RadioField__tooltip__2mlcK\",in:\"RadioField__in__3WzBr\",top:\"RadioField__top__2-VdY\",right:\"RadioField__right__1Ca27\",bottom:\"RadioField__bottom__CG-hS\",left:\"RadioField__left__vXIzj\",\"tooltip-arrow\":\"RadioField__tooltip-arrow__2--ao\",\"top-left\":\"RadioField__top-left__3vNwa\",\"top-right\":\"RadioField__top-right__3TJXX\",\"bottom-left\":\"RadioField__bottom-left__1BbaB\",\"bottom-right\":\"RadioField__bottom-right__2b73U\",\"tooltip-inner\":\"RadioField__tooltip-inner__2QX8g\",radio:\"RadioField__radio__3Eql3\",label:\"RadioField__label__397An\"}},function(e,t){e.exports={progress:\"RestoreKeystore__progress__1dEXP\",\"progress-bar\":\"RestoreKeystore__progress-bar__1v5Nh\",\"progress-striped\":\"RestoreKeystore__progress-striped__QSLB4\",\"progress-bar-striped\":\"RestoreKeystore__progress-bar-striped__SCCkv\",active:\"RestoreKeystore__active__2Osp-\",\"progress-bar-stripes\":\"RestoreKeystore__progress-bar-stripes__3ZHmd\",\"progress-bar-success\":\"RestoreKeystore__progress-bar-success__1MhH0\",\"progress-bar-info\":\"RestoreKeystore__progress-bar-info__1_EYW\",\"progress-bar-warning\":\"RestoreKeystore__progress-bar-warning__19uTJ\",\"progress-bar-danger\":\"RestoreKeystore__progress-bar-danger__AHn1g\",tooltip:\"RestoreKeystore__tooltip__2L2Xt\",in:\"RestoreKeystore__in__4tDR0\",top:\"RestoreKeystore__top__bBQdY\",right:\"RestoreKeystore__right__13FIn\",bottom:\"RestoreKeystore__bottom__-7omJ\",left:\"RestoreKeystore__left__k5zHL\",\"tooltip-arrow\":\"RestoreKeystore__tooltip-arrow__2hynC\",\"top-left\":\"RestoreKeystore__top-left__CyWh7\",\"top-right\":\"RestoreKeystore__top-right__34hdM\",\"bottom-left\":\"RestoreKeystore__bottom-left__2Tgj4\",\"bottom-right\":\"RestoreKeystore__bottom-right__3Ajst\",\"tooltip-inner\":\"RestoreKeystore__tooltip-inner__r5aO-\",submitButton:\"RestoreKeystore__submitButton__1cFjI\"}},function(e,t){e.exports={progress:\"RestoreMnemonic__progress__35Vbx\",\"progress-bar\":\"RestoreMnemonic__progress-bar__3GkMq\",\"progress-striped\":\"RestoreMnemonic__progress-striped__28JrI\",\"progress-bar-striped\":\"RestoreMnemonic__progress-bar-striped__swvjc\",active:\"RestoreMnemonic__active__3EaAH\",\"progress-bar-stripes\":\"RestoreMnemonic__progress-bar-stripes__3Lyt1\",\"progress-bar-success\":\"RestoreMnemonic__progress-bar-success__3inPy\",\"progress-bar-info\":\"RestoreMnemonic__progress-bar-info__vuGK-\",\"progress-bar-warning\":\"RestoreMnemonic__progress-bar-warning__3hyUJ\",\"progress-bar-danger\":\"RestoreMnemonic__progress-bar-danger__1GnQo\",tooltip:\"RestoreMnemonic__tooltip__2sQy9\",in:\"RestoreMnemonic__in__cXJz-\",top:\"RestoreMnemonic__top__3bC1x\",right:\"RestoreMnemonic__right__1w9AI\",bottom:\"RestoreMnemonic__bottom__2DBZw\",left:\"RestoreMnemonic__left__1mi8a\",\"tooltip-arrow\":\"RestoreMnemonic__tooltip-arrow__276jG\",\"top-left\":\"RestoreMnemonic__top-left__1qElw\",\"top-right\":\"RestoreMnemonic__top-right__3u2IW\",\"bottom-left\":\"RestoreMnemonic__bottom-left__t9d7r\",\"bottom-right\":\"RestoreMnemonic__bottom-right__3Jww8\",\"tooltip-inner\":\"RestoreMnemonic__tooltip-inner__2gTnu\",submitButton:\"RestoreMnemonic__submitButton__3IEuJ\"}},function(e,t){e.exports={progress:\"SearchBar__progress__3O7nP\",\"progress-bar\":\"SearchBar__progress-bar__3qbD1\",\"progress-striped\":\"SearchBar__progress-striped__3Rw_9\",\"progress-bar-striped\":\"SearchBar__progress-bar-striped__1WWbT\",active:\"SearchBar__active__1AeyI\",\"progress-bar-stripes\":\"SearchBar__progress-bar-stripes___L-Kx\",\"progress-bar-success\":\"SearchBar__progress-bar-success__3CbbN\",\"progress-bar-info\":\"SearchBar__progress-bar-info__3AlZd\",\"progress-bar-warning\":\"SearchBar__progress-bar-warning__tUw9c\",\"progress-bar-danger\":\"SearchBar__progress-bar-danger__33hmO\",tooltip:\"SearchBar__tooltip__CSgzd\",in:\"SearchBar__in__n8Oip\",top:\"SearchBar__top__1TDCY\",right:\"SearchBar__right__2bflR\",bottom:\"SearchBar__bottom__2SVku\",left:\"SearchBar__left__efOY3\",\"tooltip-arrow\":\"SearchBar__tooltip-arrow__2INP-\",\"top-left\":\"SearchBar__top-left__7E0r6\",\"top-right\":\"SearchBar__top-right__3mAxB\",\"bottom-left\":\"SearchBar__bottom-left__2KMkT\",\"bottom-right\":\"SearchBar__bottom-right__1fNgf\",\"tooltip-inner\":\"SearchBar__tooltip-inner__1q1ys\",main:\"SearchBar__main__39O9j\",search_field_full:\"SearchBar__search_field_full__3k8Mt\",search_field_half:\"SearchBar__search_field_half__3zle5\",sum_by_field:\"SearchBar__sum_by_field__25K5l\",searchField:\"SearchBar__searchField__1QxVJ\",label:\"SearchBar__label__MMYXk\",search_input:\"SearchBar__search_input__2ADny\",sum_by_input:\"SearchBar__sum_by_input__2N2c9\",showSumBy:\"SearchBar__showSumBy__uBJtx\",submit:\"SearchBar__submit__1CViG\",clearSearch:\"SearchBar__clearSearch__3DOpG\",queryTime:\"SearchBar__queryTime__SRpkj\"}},function(e,t){e.exports={progress:\"Section__progress__3FuJl\",\"progress-bar\":\"Section__progress-bar__19MJw\",\"progress-striped\":\"Section__progress-striped__2LUc8\",\"progress-bar-striped\":\"Section__progress-bar-striped__2Is6j\",active:\"Section__active__2oIa-\",\"progress-bar-stripes\":\"Section__progress-bar-stripes__mZ0KE\",\"progress-bar-success\":\"Section__progress-bar-success__1Cm9i\",\"progress-bar-info\":\"Section__progress-bar-info__1Xqei\",\"progress-bar-warning\":\"Section__progress-bar-warning__2T9HJ\",\"progress-bar-danger\":\"Section__progress-bar-danger__2Nrto\",tooltip:\"Section__tooltip__1VtVu\",in:\"Section__in__1jeey\",top:\"Section__top__3WRzV\",right:\"Section__right__2_WLq\",bottom:\"Section__bottom__4HUov\",left:\"Section__left__2cDFN\",\"tooltip-arrow\":\"Section__tooltip-arrow__1uQXJ\",\"top-left\":\"Section__top-left__3LMns\",\"top-right\":\"Section__top-right__1a3f8\",\"bottom-left\":\"Section__bottom-left__3FMyS\",\"bottom-right\":\"Section__bottom-right__2Urg4\",\"tooltip-inner\":\"Section__tooltip-inner__1CT6E\",main:\"Section__main__14cl4\",title:\"Section__title__8yHMA\"}},function(e,t){e.exports={progress:\"stepper__progress__3PiT3\",\"progress-bar\":\"stepper__progress-bar__3M508\",\"progress-striped\":\"stepper__progress-striped__1burD\",\"progress-bar-striped\":\"stepper__progress-bar-striped__1uCa1\",active:\"stepper__active__2otz9\",\"progress-bar-stripes\":\"stepper__progress-bar-stripes__Wkf2J\",\"progress-bar-success\":\"stepper__progress-bar-success__Z3HAi\",\"progress-bar-info\":\"stepper__progress-bar-info__m7X7w\",\"progress-bar-warning\":\"stepper__progress-bar-warning__1BmuU\",\"progress-bar-danger\":\"stepper__progress-bar-danger__-o5y8\",tooltip:\"stepper__tooltip__1TbaP\",in:\"stepper__in__2FIAD\",top:\"stepper__top__25j30\",right:\"stepper__right__1_AZY\",bottom:\"stepper__bottom__32L8-\",left:\"stepper__left__24svJ\",\"tooltip-arrow\":\"stepper__tooltip-arrow__25fLh\",\"top-left\":\"stepper__top-left__FDaaK\",\"top-right\":\"stepper__top-right__2Fz9t\",\"bottom-left\":\"stepper__bottom-left__3-JCK\",\"bottom-right\":\"stepper__bottom-right__2kTqR\",\"tooltip-inner\":\"stepper__tooltip-inner__1A4ao\",marginLeft:\"stepper__marginLeft__2HF9S\",floatLeft:\"stepper__floatLeft__2EIk8\"}},function(e,t){e.exports={progress:\"SubmitIndicator__progress__3mx7R\",\"progress-bar\":\"SubmitIndicator__progress-bar__oFjIQ\",\"progress-striped\":\"SubmitIndicator__progress-striped__2eC6l\",\"progress-bar-striped\":\"SubmitIndicator__progress-bar-striped__2UvzG\",active:\"SubmitIndicator__active__1qm89\",\"progress-bar-stripes\":\"SubmitIndicator__progress-bar-stripes__33r1W\",\"progress-bar-success\":\"SubmitIndicator__progress-bar-success__2hJcL\",\"progress-bar-info\":\"SubmitIndicator__progress-bar-info__3-d9k\",\"progress-bar-warning\":\"SubmitIndicator__progress-bar-warning__1Ui9z\",\"progress-bar-danger\":\"SubmitIndicator__progress-bar-danger__1B53Z\",tooltip:\"SubmitIndicator__tooltip__F5Lyy\",in:\"SubmitIndicator__in__1WTVD\",top:\"SubmitIndicator__top__2ffeP\",right:\"SubmitIndicator__right__3n1Yw\",bottom:\"SubmitIndicator__bottom__3wC62\",left:\"SubmitIndicator__left__1TLzo\",\"tooltip-arrow\":\"SubmitIndicator__tooltip-arrow__3Scd-\",\"top-left\":\"SubmitIndicator__top-left__WpLdP\",\"top-right\":\"SubmitIndicator__top-right__3lubo\",\"bottom-left\":\"SubmitIndicator__bottom-left__McmiD\",\"bottom-right\":\"SubmitIndicator__bottom-right__2Q2y9\",\"tooltip-inner\":\"SubmitIndicator__tooltip-inner__12QWs\",activeSubmit:\"SubmitIndicator__activeSubmit__36Ovr\",pulse:\"SubmitIndicator__pulse__33QCg\"}},function(e,t){e.exports={progress:\"TableList__progress__-pc-m\",\"progress-bar\":\"TableList__progress-bar__BeiqZ\",\"progress-striped\":\"TableList__progress-striped__DeROy\",\"progress-bar-striped\":\"TableList__progress-bar-striped__2ikdv\",active:\"TableList__active__1zeto\",\"progress-bar-stripes\":\"TableList__progress-bar-stripes__3Da4G\",\"progress-bar-success\":\"TableList__progress-bar-success__12kjh\",\"progress-bar-info\":\"TableList__progress-bar-info__1R-ep\",\"progress-bar-warning\":\"TableList__progress-bar-warning__3aDQk\",\"progress-bar-danger\":\"TableList__progress-bar-danger__1dLjQ\",tooltip:\"TableList__tooltip__1Eehn\",in:\"TableList__in__3Wsgc\",top:\"TableList__top__fXXGt\",right:\"TableList__right__29LrY\",bottom:\"TableList__bottom__3hLbI\",left:\"TableList__left__2KSMH\",\"tooltip-arrow\":\"TableList__tooltip-arrow__kCk2k\",\"top-left\":\"TableList__top-left__3XOgn\",\"top-right\":\"TableList__top-right__1MOHt\",\"bottom-left\":\"TableList__bottom-left__3ZD2a\",\"bottom-right\":\"TableList__bottom-right__1eJTK\",\"tooltip-inner\":\"TableList__tooltip-inner__2dfOG\",main:\"TableList__main__1sTEz\"}},function(e,t){e.exports={progress:\"XpubField__progress__1SM0I\",\"progress-bar\":\"XpubField__progress-bar__iTGGs\",\"progress-striped\":\"XpubField__progress-striped__11p60\",\"progress-bar-striped\":\"XpubField__progress-bar-striped__1QBEo\",active:\"XpubField__active__mBj3I\",\"progress-bar-stripes\":\"XpubField__progress-bar-stripes__1Wxxl\",\"progress-bar-success\":\"XpubField__progress-bar-success__bp4QU\",\"progress-bar-info\":\"XpubField__progress-bar-info__10yBi\",\"progress-bar-warning\":\"XpubField__progress-bar-warning__1FQYZ\",\"progress-bar-danger\":\"XpubField__progress-bar-danger__3cIV0\",tooltip:\"XpubField__tooltip__2dURq\",in:\"XpubField__in__JOMhq\",top:\"XpubField__top__1_QYf\",right:\"XpubField__right__1TVYv\",bottom:\"XpubField__bottom__1TXXq\",left:\"XpubField__left__2R3H7\",\"tooltip-arrow\":\"XpubField__tooltip-arrow__2C0Ya\",\"top-left\":\"XpubField__top-left__1zO5A\",\"top-right\":\"XpubField__top-right__2-AsW\",\"bottom-left\":\"XpubField__bottom-left__3tjAe\",\"bottom-right\":\"XpubField__bottom-right__J_vQW\",\"tooltip-inner\":\"XpubField__tooltip-inner__U_urd\",main:\"XpubField__main__2C7z_\",options:\"XpubField__options__1NX5P\",radio:\"XpubField__radio__1_BQb\",label:\"XpubField__label__SLmLW\",field:\"XpubField__field__1jRWW\"}},function(e,t){e.exports={progress:\"DetailSummary__progress__1D8wI\",\"progress-bar\":\"DetailSummary__progress-bar__3FEB_\",\"progress-striped\":\"DetailSummary__progress-striped__2HKyU\",\"progress-bar-striped\":\"DetailSummary__progress-bar-striped__3-3Nm\",active:\"DetailSummary__active__LGdP-\",\"progress-bar-stripes\":\"DetailSummary__progress-bar-stripes__gjzay\",\"progress-bar-success\":\"DetailSummary__progress-bar-success__3grbl\",\"progress-bar-info\":\"DetailSummary__progress-bar-info__15ebM\",\"progress-bar-warning\":\"DetailSummary__progress-bar-warning__1QoBo\",\"progress-bar-danger\":\"DetailSummary__progress-bar-danger__1EKdn\",tooltip:\"DetailSummary__tooltip__3VWZA\",in:\"DetailSummary__in__1o16O\",top:\"DetailSummary__top__2fmu1\",right:\"DetailSummary__right__19ZOp\",bottom:\"DetailSummary__bottom__2cWJv\",left:\"DetailSummary__left__37zqH\",\"tooltip-arrow\":\"DetailSummary__tooltip-arrow__10iK2\",\"top-left\":\"DetailSummary__top-left__12aE1\",\"top-right\":\"DetailSummary__top-right__ZnrAL\",\"bottom-left\":\"DetailSummary__bottom-left__1EXyG\",\"bottom-right\":\"DetailSummary__bottom-right__2kSLV\",\"tooltip-inner\":\"DetailSummary__tooltip-inner__2i4YI\",main:\"DetailSummary__main__28Xcp\",row:\"DetailSummary__row__qH5eY\",col:\"DetailSummary__col__2H41Y\",rawId:\"DetailSummary__rawId__1QgaQ\",colAction:\"DetailSummary__colAction__k6Ki1\",colAmount:\"DetailSummary__colAmount__18s5E\",account:\"DetailSummary__account__4k-W8\",middle:\"DetailSummary__middle__3LiUa\",end:\"DetailSummary__end__1woyG\",amount:\"DetailSummary__amount__1x3FD\",emphasisLabel:\"DetailSummary__emphasisLabel__3IZEE\",colLabel:\"DetailSummary__colLabel__1Km8p\",colUnit:\"DetailSummary__colUnit__1QVzI\",immature:\"DetailSummary__immature__2XJcR\",recievedAmount:\"DetailSummary__recievedAmount__1GOAH\"}},function(e,t){e.exports={progress:\"GeneratedTxHex__progress__3xmiG\",\"progress-bar\":\"GeneratedTxHex__progress-bar__2nG81\",\"progress-striped\":\"GeneratedTxHex__progress-striped__1EXXb\",\"progress-bar-striped\":\"GeneratedTxHex__progress-bar-striped__2e3wB\",active:\"GeneratedTxHex__active__3Wthg\",\"progress-bar-stripes\":\"GeneratedTxHex__progress-bar-stripes__3h0VL\",\"progress-bar-success\":\"GeneratedTxHex__progress-bar-success__G7HFx\",\"progress-bar-info\":\"GeneratedTxHex__progress-bar-info__VRKGW\",\"progress-bar-warning\":\"GeneratedTxHex__progress-bar-warning__1ZePZ\",\"progress-bar-danger\":\"GeneratedTxHex__progress-bar-danger__1X-hD\",tooltip:\"GeneratedTxHex__tooltip__2JhUN\",in:\"GeneratedTxHex__in__3Of5d\",top:\"GeneratedTxHex__top__3_Tcd\",right:\"GeneratedTxHex__right__3hMFa\",bottom:\"GeneratedTxHex__bottom__1evC3\",left:\"GeneratedTxHex__left__dSeji\",\"tooltip-arrow\":\"GeneratedTxHex__tooltip-arrow__1L1Lg\",\"top-left\":\"GeneratedTxHex__top-left__Vk9iy\",\"top-right\":\"GeneratedTxHex__top-right__1AHdX\",\"bottom-left\":\"GeneratedTxHex__bottom-left__30E92\",\"bottom-right\":\"GeneratedTxHex__bottom-right__hYHS_\",\"tooltip-inner\":\"GeneratedTxHex__tooltip-inner__15WkF\",main:\"GeneratedTxHex__main__3OJO4\",hex:\"GeneratedTxHex__hex__fvV-s\",mgl:\"GeneratedTxHex__mgl__2-jYS\"}},function(e,t){e.exports={progress:\"QrCode__progress__1PnDK\",\"progress-bar\":\"QrCode__progress-bar__I2BvB\",\"progress-striped\":\"QrCode__progress-striped__1R4wh\",\"progress-bar-striped\":\"QrCode__progress-bar-striped__2etPO\",active:\"QrCode__active__27IZy\",\"progress-bar-stripes\":\"QrCode__progress-bar-stripes__1iCCZ\",\"progress-bar-success\":\"QrCode__progress-bar-success__sYc9k\",\"progress-bar-info\":\"QrCode__progress-bar-info__3woV1\",\"progress-bar-warning\":\"QrCode__progress-bar-warning__29naC\",\"progress-bar-danger\":\"QrCode__progress-bar-danger__1BJdo\",tooltip:\"QrCode__tooltip__3X4JO\",in:\"QrCode__in__R4UxO\",top:\"QrCode__top__1CSTZ\",right:\"QrCode__right__22-LS\",bottom:\"QrCode__bottom__3z03l\",left:\"QrCode__left__33KTN\",\"tooltip-arrow\":\"QrCode__tooltip-arrow__1gMox\",\"top-left\":\"QrCode__top-left__2Ub_7\",\"top-right\":\"QrCode__top-right__uWZ_O\",\"bottom-left\":\"QrCode__bottom-left__3fs5F\",\"bottom-right\":\"QrCode__bottom-right__2MXv0\",\"tooltip-inner\":\"QrCode__tooltip-inner__ffDXZ\",code:\"QrCode__code__2GSi9\",progressBar:\"QrCode__progressBar__2cJxt\"}},function(e,t){e.exports={progress:\"ListItem__progress__1N5lv\",\"progress-bar\":\"ListItem__progress-bar__aURWZ\",\"progress-striped\":\"ListItem__progress-striped__2ZTBU\",\"progress-bar-striped\":\"ListItem__progress-bar-striped__BtkFr\",active:\"ListItem__active__2VmTV\",\"progress-bar-stripes\":\"ListItem__progress-bar-stripes__2adlD\",\"progress-bar-success\":\"ListItem__progress-bar-success__1yG1-\",\"progress-bar-info\":\"ListItem__progress-bar-info__2l-aC\",\"progress-bar-warning\":\"ListItem__progress-bar-warning__1V5wZ\",\"progress-bar-danger\":\"ListItem__progress-bar-danger__vH209\",tooltip:\"ListItem__tooltip__JumnF\",in:\"ListItem__in__1kJZP\",top:\"ListItem__top__1UKht\",right:\"ListItem__right__2C0Gt\",bottom:\"ListItem__bottom__2Yzvc\",left:\"ListItem__left__2LqD7\",\"tooltip-arrow\":\"ListItem__tooltip-arrow__1fNpC\",\"top-left\":\"ListItem__top-left__2C14K\",\"top-right\":\"ListItem__top-right__2Z_mI\",\"bottom-left\":\"ListItem__bottom-left__RweVE\",\"bottom-right\":\"ListItem__bottom-right__2NEP2\",\"tooltip-inner\":\"ListItem__tooltip-inner__cDIZl\",main:\"ListItem__main__1d1Ux\",titleBar:\"ListItem__titleBar__3-1At\",title:\"ListItem__title__3-0qJ\",timestamp:\"ListItem__timestamp__1gwZn\",confirmation:\"ListItem__confirmation__3FoPX\",viewLink:\"ListItem__viewLink__2ybtJ\"}},function(e,t){e.exports={progress:\"ConfirmModal__progress__2EhGZ\",\"progress-bar\":\"ConfirmModal__progress-bar__365ZH\",\"progress-striped\":\"ConfirmModal__progress-striped__2p3Ez\",\"progress-bar-striped\":\"ConfirmModal__progress-bar-striped__2OawW\",active:\"ConfirmModal__active__3q90o\",\"progress-bar-stripes\":\"ConfirmModal__progress-bar-stripes__jTTXQ\",\"progress-bar-success\":\"ConfirmModal__progress-bar-success__1ye2p\",\"progress-bar-info\":\"ConfirmModal__progress-bar-info__3HWAk\",\"progress-bar-warning\":\"ConfirmModal__progress-bar-warning__2GPs4\",\"progress-bar-danger\":\"ConfirmModal__progress-bar-danger__2S7lb\",tooltip:\"ConfirmModal__tooltip__2APw_\",in:\"ConfirmModal__in__1wEMm\",top:\"ConfirmModal__top__NqetT\",right:\"ConfirmModal__right__IIJZ2\",bottom:\"ConfirmModal__bottom__Ty0xr\",left:\"ConfirmModal__left__2y66G\",\"tooltip-arrow\":\"ConfirmModal__tooltip-arrow__28hFR\",\"top-left\":\"ConfirmModal__top-left__37LZF\",\"top-right\":\"ConfirmModal__top-right__2CGie\",\"bottom-left\":\"ConfirmModal__bottom-left__mvXjG\",\"bottom-right\":\"ConfirmModal__bottom-right__1S-mZ\",\"tooltip-inner\":\"ConfirmModal__tooltip-inner__rIpCx\",submitIndicator:\"ConfirmModal__submitIndicator__1OsG9\",btnGroup:\"ConfirmModal__btnGroup__1RPWA\",hr:\"ConfirmModal__hr__yYS1d\",table:\"ConfirmModal__table__reOw8\",colLabel:\"ConfirmModal__colLabel__2ALAD\",unit:\"ConfirmModal__unit__3Mem1\"}},function(e,t){e.exports={progress:\"CrossChainConfirmModal__progress__B15O8\",\"progress-bar\":\"CrossChainConfirmModal__progress-bar__2cL2v\",\"progress-striped\":\"CrossChainConfirmModal__progress-striped__1CgoG\",\n\"progress-bar-striped\":\"CrossChainConfirmModal__progress-bar-striped__aTCun\",active:\"CrossChainConfirmModal__active__2s0Eo\",\"progress-bar-stripes\":\"CrossChainConfirmModal__progress-bar-stripes__1bh1L\",\"progress-bar-success\":\"CrossChainConfirmModal__progress-bar-success__2yZzs\",\"progress-bar-info\":\"CrossChainConfirmModal__progress-bar-info__2dFLj\",\"progress-bar-warning\":\"CrossChainConfirmModal__progress-bar-warning__FxpUJ\",\"progress-bar-danger\":\"CrossChainConfirmModal__progress-bar-danger__3Vwnw\",tooltip:\"CrossChainConfirmModal__tooltip__a9_OF\",in:\"CrossChainConfirmModal__in__13zJA\",top:\"CrossChainConfirmModal__top__36hwL\",right:\"CrossChainConfirmModal__right__2Kj4g\",bottom:\"CrossChainConfirmModal__bottom__12dlt\",left:\"CrossChainConfirmModal__left__LSWpJ\",\"tooltip-arrow\":\"CrossChainConfirmModal__tooltip-arrow__s_q9i\",\"top-left\":\"CrossChainConfirmModal__top-left__24xTZ\",\"top-right\":\"CrossChainConfirmModal__top-right__2qYMP\",\"bottom-left\":\"CrossChainConfirmModal__bottom-left__1CHdC\",\"bottom-right\":\"CrossChainConfirmModal__bottom-right__MuMfS\",\"tooltip-inner\":\"CrossChainConfirmModal__tooltip-inner__qKzjR\",submitIndicator:\"CrossChainConfirmModal__submitIndicator__3ebbq\",btnGroup:\"CrossChainConfirmModal__btnGroup__pUWkl\",hr:\"CrossChainConfirmModal__hr__CN2PZ\",table:\"CrossChainConfirmModal__table__MoPCf\",colLabel:\"CrossChainConfirmModal__colLabel__2A27x\",unit:\"CrossChainConfirmModal__unit__30Fqe\"}},function(e,t){e.exports={progress:\"FormActionItem__progress__179Ws\",\"progress-bar\":\"FormActionItem__progress-bar__30Ryz\",\"progress-striped\":\"FormActionItem__progress-striped__28X4D\",\"progress-bar-striped\":\"FormActionItem__progress-bar-striped__E_8cV\",active:\"FormActionItem__active__1UGMY\",\"progress-bar-stripes\":\"FormActionItem__progress-bar-stripes__1gkL3\",\"progress-bar-success\":\"FormActionItem__progress-bar-success__1iK2u\",\"progress-bar-info\":\"FormActionItem__progress-bar-info__2sajB\",\"progress-bar-warning\":\"FormActionItem__progress-bar-warning__1yU5N\",\"progress-bar-danger\":\"FormActionItem__progress-bar-danger__2mA3w\",tooltip:\"FormActionItem__tooltip__3urBp\",in:\"FormActionItem__in__2o_7v\",top:\"FormActionItem__top__OUhRa\",right:\"FormActionItem__right__3D4M8\",bottom:\"FormActionItem__bottom__2ZBES\",left:\"FormActionItem__left__3ekYp\",\"tooltip-arrow\":\"FormActionItem__tooltip-arrow__1Q3LO\",\"top-left\":\"FormActionItem__top-left__2vKy1\",\"top-right\":\"FormActionItem__top-right__102U9\",\"bottom-left\":\"FormActionItem__bottom-left__2gC3m\",\"bottom-right\":\"FormActionItem__bottom-right__2qk_n\",\"tooltip-inner\":\"FormActionItem__tooltip-inner__MgAN6\",main:\"FormActionItem__main__q9zTA\",error:\"FormActionItem__error__2JMgJ\",header:\"FormActionItem__header__1hync\",title:\"FormActionItem__title__LVKpm\"}},function(e,t){e.exports={progress:\"TxContainer__progress__8hjSE\",\"progress-bar\":\"TxContainer__progress-bar__X-3tP\",\"progress-striped\":\"TxContainer__progress-striped__3hyc1\",\"progress-bar-striped\":\"TxContainer__progress-bar-striped__1vt1j\",active:\"TxContainer__active__12dLY\",\"progress-bar-stripes\":\"TxContainer__progress-bar-stripes__ufAdb\",\"progress-bar-success\":\"TxContainer__progress-bar-success__3yAN3\",\"progress-bar-info\":\"TxContainer__progress-bar-info__1_Kem\",\"progress-bar-warning\":\"TxContainer__progress-bar-warning__J1Hf2\",\"progress-bar-danger\":\"TxContainer__progress-bar-danger__1EMQN\",tooltip:\"TxContainer__tooltip__2NT88\",in:\"TxContainer__in__23yjE\",top:\"TxContainer__top__1cS8z\",right:\"TxContainer__right__qGDVG\",bottom:\"TxContainer__bottom__3P1qF\",left:\"TxContainer__left__22TYt\",\"tooltip-arrow\":\"TxContainer__tooltip-arrow__3olGA\",\"top-left\":\"TxContainer__top-left__2aap7\",\"top-right\":\"TxContainer__top-right__3E39S\",\"bottom-left\":\"TxContainer__bottom-left__2VYCj\",\"bottom-right\":\"TxContainer__bottom-right__XC4-d\",\"tooltip-inner\":\"TxContainer__tooltip-inner__14x3D\",main:\"TxContainer__main__BhstN\",content:\"TxContainer__content__2PfIm\",submit:\"TxContainer__submit__m3Y45\"}},function(e,t){e.exports={progress:\"VoteConfirmModal__progress__20v1g\",\"progress-bar\":\"VoteConfirmModal__progress-bar__8pT-y\",\"progress-striped\":\"VoteConfirmModal__progress-striped__376Sh\",\"progress-bar-striped\":\"VoteConfirmModal__progress-bar-striped__ONZnu\",active:\"VoteConfirmModal__active__1I4Ve\",\"progress-bar-stripes\":\"VoteConfirmModal__progress-bar-stripes__1vkJW\",\"progress-bar-success\":\"VoteConfirmModal__progress-bar-success__11pbI\",\"progress-bar-info\":\"VoteConfirmModal__progress-bar-info__LbTKr\",\"progress-bar-warning\":\"VoteConfirmModal__progress-bar-warning__2et3n\",\"progress-bar-danger\":\"VoteConfirmModal__progress-bar-danger__2iPp4\",tooltip:\"VoteConfirmModal__tooltip__2NJrG\",in:\"VoteConfirmModal__in__vcY-J\",top:\"VoteConfirmModal__top__2NUe7\",right:\"VoteConfirmModal__right__2tqUp\",bottom:\"VoteConfirmModal__bottom__RImAq\",left:\"VoteConfirmModal__left__1espM\",\"tooltip-arrow\":\"VoteConfirmModal__tooltip-arrow__15RH2\",\"top-left\":\"VoteConfirmModal__top-left__3izD9\",\"top-right\":\"VoteConfirmModal__top-right__3ymmT\",\"bottom-left\":\"VoteConfirmModal__bottom-left__6dHB_\",\"bottom-right\":\"VoteConfirmModal__bottom-right__3qZTI\",\"tooltip-inner\":\"VoteConfirmModal__tooltip-inner__2lxda\",submitIndicator:\"VoteConfirmModal__submitIndicator__2EpHu\",btnGroup:\"VoteConfirmModal__btnGroup__rA57m\",hr:\"VoteConfirmModal__hr__3TzmN\",table:\"VoteConfirmModal__table__1-kzp\",colLabel:\"VoteConfirmModal__colLabel__1RMRz\",unit:\"VoteConfirmModal__unit__1ukVS\"}},function(e,t){e.exports={progress:\"Summary__progress__3RTEa\",\"progress-bar\":\"Summary__progress-bar__1EEvk\",\"progress-striped\":\"Summary__progress-striped__1tm-F\",\"progress-bar-striped\":\"Summary__progress-bar-striped__-QKGo\",active:\"Summary__active__5bGe_\",\"progress-bar-stripes\":\"Summary__progress-bar-stripes__25EuB\",\"progress-bar-success\":\"Summary__progress-bar-success__1V4zz\",\"progress-bar-info\":\"Summary__progress-bar-info__3oEOY\",\"progress-bar-warning\":\"Summary__progress-bar-warning__1PM3S\",\"progress-bar-danger\":\"Summary__progress-bar-danger__2aKFH\",tooltip:\"Summary__tooltip__eDiAG\",in:\"Summary__in__7sgfl\",top:\"Summary__top__pxRha\",right:\"Summary__right__1O3bt\",bottom:\"Summary__bottom__1cuEf\",left:\"Summary__left__vZGJ_\",\"tooltip-arrow\":\"Summary__tooltip-arrow__2W71o\",\"top-left\":\"Summary__top-left__1obgG\",\"top-right\":\"Summary__top-right__3upDU\",\"bottom-left\":\"Summary__bottom-left__2oU3o\",\"bottom-right\":\"Summary__bottom-right__2k6i4\",\"tooltip-inner\":\"Summary__tooltip-inner__1Yroz\",main:\"Summary__main__3L15I\",rawId:\"Summary__rawId__1m-WX\",colAction:\"Summary__colAction__1pBsx\",colAmount:\"Summary__colAmount__2zblu\",colAsset:\"Summary__colAsset__tmO7c\",colAccount:\"Summary__colAccount__1pnMT\",colVote:\"Summary__colVote__2OkOE\",amount:\"Summary__amount__s6hW7\",colLabel:\"Summary__colLabel__BG0DE\",immature:\"Summary__immature__Pzq3K\",nodePubkey:\"Summary__nodePubkey__2JtMo\"}},function(e,t){e.exports={progress:\"TutorialForm__progress__3Py0L\",\"progress-bar\":\"TutorialForm__progress-bar__1norf\",\"progress-striped\":\"TutorialForm__progress-striped__3MXLM\",\"progress-bar-striped\":\"TutorialForm__progress-bar-striped__3j7pW\",active:\"TutorialForm__active__2KK-s\",\"progress-bar-stripes\":\"TutorialForm__progress-bar-stripes__lmJAW\",\"progress-bar-success\":\"TutorialForm__progress-bar-success__3nHcH\",\"progress-bar-info\":\"TutorialForm__progress-bar-info__2TKnI\",\"progress-bar-warning\":\"TutorialForm__progress-bar-warning__1lBEu\",\"progress-bar-danger\":\"TutorialForm__progress-bar-danger__1zNDb\",tooltip:\"TutorialForm__tooltip__2tCOR\",in:\"TutorialForm__in__34NG5\",top:\"TutorialForm__top__3yJ3W\",right:\"TutorialForm__right__sFnqN\",bottom:\"TutorialForm__bottom__2EFYx\",left:\"TutorialForm__left__39_VJ\",\"tooltip-arrow\":\"TutorialForm__tooltip-arrow__5dmJe\",\"top-left\":\"TutorialForm__top-left__1RLVV\",\"top-right\":\"TutorialForm__top-right__Vm-PE\",\"bottom-left\":\"TutorialForm__bottom-left__W5h9d\",\"bottom-right\":\"TutorialForm__bottom-right__2Q0jU\",\"tooltip-inner\":\"TutorialForm__tooltip-inner__3ZsY_\",container:\"TutorialForm__container__1_1bJ\",tutorialContainer:\"TutorialForm__tutorialContainer__24YDK\",fixedTutorial:\"TutorialForm__fixedTutorial__-0whm\",header:\"TutorialForm__header__2HZt3\",list:\"TutorialForm__list__1RRZe\",listItemContainer:\"TutorialForm__listItemContainer__2XitV\",listBullet:\"TutorialForm__listBullet__1FBxg\",listItemGroup:\"TutorialForm__listItemGroup__2v66w\",listItemDescription:\"TutorialForm__listItemDescription__jb1ji\",userInputData:\"TutorialForm__userInputData__2g-H0\"}},function(e,t){e.exports={progress:\"TutorialHeader__progress__1csQm\",\"progress-bar\":\"TutorialHeader__progress-bar__3fpuy\",\"progress-striped\":\"TutorialHeader__progress-striped__3qJox\",\"progress-bar-striped\":\"TutorialHeader__progress-bar-striped__268AW\",active:\"TutorialHeader__active__17imu\",\"progress-bar-stripes\":\"TutorialHeader__progress-bar-stripes__2Idgf\",\"progress-bar-success\":\"TutorialHeader__progress-bar-success__3Y_7x\",\"progress-bar-info\":\"TutorialHeader__progress-bar-info__3GpVb\",\"progress-bar-warning\":\"TutorialHeader__progress-bar-warning__3X0oo\",\"progress-bar-danger\":\"TutorialHeader__progress-bar-danger__1aMSb\",tooltip:\"TutorialHeader__tooltip__1FWB7\",in:\"TutorialHeader__in__3MF9h\",top:\"TutorialHeader__top__3Qffl\",right:\"TutorialHeader__right__23-nH\",bottom:\"TutorialHeader__bottom__HHc8i\",left:\"TutorialHeader__left__3Ahef\",\"tooltip-arrow\":\"TutorialHeader__tooltip-arrow__2htH-\",\"top-left\":\"TutorialHeader__top-left__2vq4A\",\"top-right\":\"TutorialHeader__top-right__3V8cv\",\"bottom-left\":\"TutorialHeader__bottom-left__21__4\",\"bottom-right\":\"TutorialHeader__bottom-right__2TIJr\",\"tooltip-inner\":\"TutorialHeader__tooltip-inner__2vge0\",main:\"TutorialHeader__main__lEKJv\",collapsed:\"TutorialHeader__collapsed__2uFMY\",header:\"TutorialHeader__header__2yjuR\",skip:\"TutorialHeader__skip__1HyRy\"}},function(e,t){e.exports={progress:\"TutorialInfo__progress__nsfo6\",\"progress-bar\":\"TutorialInfo__progress-bar__1rXlE\",\"progress-striped\":\"TutorialInfo__progress-striped__X6dpF\",\"progress-bar-striped\":\"TutorialInfo__progress-bar-striped__evIaI\",active:\"TutorialInfo__active__3vG-z\",\"progress-bar-stripes\":\"TutorialInfo__progress-bar-stripes__2vFTS\",\"progress-bar-success\":\"TutorialInfo__progress-bar-success__3AIrj\",\"progress-bar-info\":\"TutorialInfo__progress-bar-info__2_pjS\",\"progress-bar-warning\":\"TutorialInfo__progress-bar-warning__2gq25\",\"progress-bar-danger\":\"TutorialInfo__progress-bar-danger__3WjNO\",tooltip:\"TutorialInfo__tooltip__1AmCG\",in:\"TutorialInfo__in__3w60o\",top:\"TutorialInfo__top__2OnVl\",right:\"TutorialInfo__right__3rsqe\",bottom:\"TutorialInfo__bottom__Lieo-\",left:\"TutorialInfo__left__35VbX\",\"tooltip-arrow\":\"TutorialInfo__tooltip-arrow__1nSCS\",\"top-left\":\"TutorialInfo__top-left__3W-qq\",\"top-right\":\"TutorialInfo__top-right__3BdQr\",\"bottom-left\":\"TutorialInfo__bottom-left__1D0OA\",\"bottom-right\":\"TutorialInfo__bottom-right__1cDj0\",\"tooltip-inner\":\"TutorialInfo__tooltip-inner__1UksN\",container:\"TutorialInfo__container__3Xwmp\",image:\"TutorialInfo__image__2fEBi\",text:\"TutorialInfo__text__3SM08\",listItemContainer:\"TutorialInfo__listItemContainer__31PCM\",listBullet:\"TutorialInfo__listBullet__cYqkK\",listItemGroup:\"TutorialInfo__listItemGroup__3F-EB\",nextWrapper:\"TutorialInfo__nextWrapper__sfXS8\",next:\"TutorialInfo__next__172nR\"}},function(e,t){\"use strict\";function n(e){return e.replace(r,function(e,t){return t.toUpperCase()})}var r=/-(.)/g;e.exports=n},function(e,t,n){\"use strict\";function r(e){return o(e.replace(i,\"ms-\"))}var o=n(1251),i=/^-ms-/;e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):\"contains\"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=n(1261);e.exports=r},function(e,t,n){\"use strict\";function r(e){var t=e.length;if(Array.isArray(e)||\"object\"!=typeof e&&\"function\"!=typeof e?a(!1):void 0,\"number\"!=typeof t?a(!1):void 0,0===t||t-1 in e?void 0:a(!1),\"function\"==typeof e.callee?a(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}function o(e){return!!e&&(\"object\"==typeof e||\"function\"==typeof e)&&\"length\"in e&&!(\"setInterval\"in e)&&\"number\"!=typeof e.nodeType&&(Array.isArray(e)||\"callee\"in e||\"item\"in e)}function i(e){return o(e)?Array.isArray(e)?e.slice():r(e):[e]}var a=n(17);e.exports=i},function(e,t,n){\"use strict\";function r(e){var t=e.match(c);return t&&t[1].toLowerCase()}function o(e,t){var n=l;l?void 0:u(!1);var o=r(e),i=o&&s(o);if(i){n.innerHTML=i[1]+e+i[2];for(var c=i[0];c--;)n=n.lastChild}else n.innerHTML=e;var d=n.getElementsByTagName(\"script\");d.length&&(t?void 0:u(!1),a(d).forEach(t));for(var f=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var i=n(46),a=n(1254),s=n(1256),u=n(17),l=i.canUseDOM?document.createElement(\"div\"):null,c=/^\\s*<(\\w+)/;e.exports=o},function(e,t,n){\"use strict\";function r(e){return a?void 0:i(!1),f.hasOwnProperty(e)||(e=\"*\"),s.hasOwnProperty(e)||(\"*\"===e?a.innerHTML=\"<link />\":a.innerHTML=\"<\"+e+\"></\"+e+\">\",s[e]=!a.firstChild),s[e]?f[e]:null}var o=n(46),i=n(17),a=o.canUseDOM?document.createElement(\"div\"):null,s={},u=[1,'<select multiple=\"true\">',\"</select>\"],l=[1,\"<table>\",\"</table>\"],c=[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],d=[1,'<svg xmlns=\"http://www.w3.org/2000/svg\">',\"</svg>\"],f={\"*\":[1,\"?<div>\",\"</div>\"],area:[1,\"<map>\",\"</map>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],param:[1,\"<object>\",\"</object>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],optgroup:u,option:u,caption:l,colgroup:l,tbody:l,tfoot:l,thead:l,td:c,th:c},p=[\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"g\",\"image\",\"line\",\"linearGradient\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"text\",\"tspan\"];p.forEach(function(e){f[e]=d,s[e]=!0}),e.exports=r},function(e,t){\"use strict\";function n(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}e.exports=n},function(e,t){\"use strict\";function n(e){return e.replace(r,\"-$1\").toLowerCase()}var r=/([A-Z])/g;e.exports=n},function(e,t,n){\"use strict\";function r(e){return o(e).replace(i,\"-ms-\")}var o=n(1258),i=/^ms-/;e.exports=r},function(e,t){\"use strict\";function n(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!(\"function\"==typeof n.Node?e instanceof n.Node:\"object\"==typeof e&&\"number\"==typeof e.nodeType&&\"string\"==typeof e.nodeName))}e.exports=n},function(e,t,n){\"use strict\";function r(e){return o(e)&&3==e.nodeType}var o=n(1260);e.exports=r},function(e,t){\"use strict\";function n(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}e.exports=n},function(e,t,n){e.exports=n.p+\"favicon.ico\"},function(e,t){(function(t){\"use strict\";var n=\"__global_unique_id__\";e.exports=function(){return t[n]=(t[n]||0)+1}}).call(t,function(){return this}())},function(e,t){\"use strict\";function n(e,t,n){function o(){return s=!0,u?void(c=[].concat(r.call(arguments))):void n.apply(this,arguments)}function i(){if(!s&&(l=!0,!u)){for(u=!0;!s&&a<e&&l;)l=!1,t.call(this,a++,i,o);return u=!1,s?void n.apply(this,c):void(a>=e&&l&&(s=!0,n()))}}var a=0,s=!1,u=!1,l=!1,c=void 0;i()}t.__esModule=!0;var r=Array.prototype.slice;t.loopAsync=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(108),i=r(o),a=n(427),s=r(a);t.default=i.default(s.default,\"enableBeforeUnload is deprecated, use useBeforeUnload instead\"),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(108),i=r(o),a=n(133),s=r(a);t.default=i.default(s.default,\"enableQueries is deprecated, use useQueries instead\"),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(108),i=r(o),a=n(425),s=r(a),u=n(422),l=r(u);t.createHistory=l.default;var c=n(291),d=r(c);t.createHashHistory=d.default;var f=n(426),p=r(f);t.createMemoryHistory=p.default;var h=n(293),m=r(h);t.useBasename=m.default;var g=n(427),_=r(g);t.useBeforeUnload=_.default;var b=n(133),y=r(b);t.useQueries=y.default;var v=n(90),M=r(v);t.Actions=M.default;var A=n(1266),w=r(A);t.enableBeforeUnload=w.default;var C=n(1267),E=r(C);t.enableQueries=E.default;var L=i.default(s.default,\"Using createLocation without a history instance is deprecated; please use history.createLocation instead\");t.createLocation=L},function(e,t,n){!function(t,n){e.exports=n()}(this,function(){\"use strict\";var e={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},t={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},n=Object.defineProperty,r=Object.getOwnPropertyNames,o=Object.getOwnPropertySymbols,i=Object.getOwnPropertyDescriptor,a=Object.getPrototypeOf,s=a&&a(Object);return function u(l,c,d){if(\"string\"!=typeof c){if(s){var f=a(c);f&&f!==s&&u(l,f,d)}var p=r(c);o&&(p=p.concat(o(c)));for(var h=0;h<p.length;++h){var m=p[h];if(!(e[m]||t[m]||d&&d[m])){var g=i(c,m);try{n(l,m,g)}catch(e){}}}return l}return l}})},function(e,t,n){e.exports={parse:n(1272),stringify:n(1273)}},function(e,t,n){var r=/([\\w-]+)|=|(['\"])([.\\s\\S]*?)\\2/g,o=n(1702);e.exports=function(e){var t,n=0,i=!0,a={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]};return e.replace(r,function(r){return\"=\"===r?(i=!0,void n++):(i?0===n?((o[r]||\"/\"===e.charAt(e.length-2))&&(a.voidElement=!0),a.name=r):(a.attrs[t]=r.replace(/^['\"]|['\"]$/g,\"\"),t=void 0):(t&&(a.attrs[t]=t),t=r),n++,void(i=!1))}),a}},function(e,t,n){function r(e,t,n,r,o){var i=t.indexOf(\"<\",r),a=t.slice(r,i===-1?void 0:i);/^\\s*$/.test(a)&&(a=\" \"),(!o&&i>-1&&n+e.length>=0||\" \"!==a)&&e.push({type:\"text\",content:a})}var o=/(?:<!--[\\S\\s]*?-->|<(?:\"[^\"]*\"['\"]*|'[^']*'['\"]*|[^'\">])+>)/g,i=n(1271),a=Object.create?Object.create(null):{};e.exports=function(e,t){t||(t={}),t.components||(t.components=a);var n,s=[],u=-1,l=[],c={},d=!1;return e.replace(o,function(o,a){if(d){if(o!==\"</\"+n.name+\">\")return;d=!1}var f,p=\"/\"!==o.charAt(1),h=0===o.indexOf(\"<!--\"),m=a+o.length,g=e.charAt(m);p&&!h&&(u++,n=i(o),\"tag\"===n.type&&t.components[n.name]&&(n.type=\"component\",d=!0),n.voidElement||d||!g||\"<\"===g||r(n.children,e,u,m,t.ignoreWhitespace),c[n.tagName]=n,0===u&&s.push(n),f=l[u-1],f&&f.children.push(n),l[u]=n),(h||!p||n.voidElement)&&(h||u--,!d&&\"<\"!==g&&g&&(f=u===-1?s:l[u].children,r(f,e,u,m,t.ignoreWhitespace)))}),!s.length&&e.length&&r(s,e,0,0,t.ignoreWhitespace),s}},function(e,t){function n(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}function r(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?n(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(r,\"\")+\"</\"+t.name+\">\"}}e.exports=function(e){return e.reduce(function(e,t){return e+r(\"\",t)},\"\")}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n={create:function(e,t,n,r){var o=void 0;if(n){var i=new Date;i.setTime(i.getTime()+60*n*1e3),o=\"; expires=\"+i.toGMTString()}else o=\"\";r=r?\"domain=\"+r+\";\":\"\",document.cookie=e+\"=\"+t+o+\";\"+r+\"path=/\"},read:function(e){for(var t=e+\"=\",n=document.cookie.split(\";\"),r=0;r<n.length;r++){for(var o=n[r];\" \"===o.charAt(0);)o=o.substring(1,o.length);if(0===o.indexOf(t))return o.substring(t.length,o.length)}return null},remove:function(e){this.create(e,\"\",-1)}};t.default={name:\"cookie\",lookup:function(e){var t=void 0;if(e.lookupCookie&&\"undefined\"!=typeof document){var r=n.read(e.lookupCookie);r&&(t=r)}return t},cacheUserLanguage:function(e,t){t.lookupCookie&&\"undefined\"!=typeof document&&n.create(t.lookupCookie,e,t.cookieMinutes,t.cookieDomain)}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"htmlTag\",lookup:function(e){var t=void 0,n=e.htmlTag||(\"undefined\"!=typeof document?document.documentElement:null);return n&&\"function\"==typeof n.getAttribute&&(t=n.getAttribute(\"lang\")),t}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var n=void 0;try{n=\"undefined\"!==window&&null!==window.localStorage;var r=\"i18next.translate.boo\";window.localStorage.setItem(r,\"foo\"),window.localStorage.removeItem(r)}catch(e){n=!1}t.default={name:\"localStorage\",lookup:function(e){var t=void 0;if(e.lookupLocalStorage&&n){var r=window.localStorage.getItem(e.lookupLocalStorage);r&&(t=r)}return t},cacheUserLanguage:function(e,t){t.lookupLocalStorage&&n&&window.localStorage.setItem(t.lookupLocalStorage,e)}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"navigator\",lookup:function(e){var t=[];if(\"undefined\"!=typeof navigator){if(navigator.languages)for(var n=0;n<navigator.languages.length;n++)t.push(navigator.languages[n]);navigator.userLanguage&&t.push(navigator.userLanguage),navigator.language&&t.push(navigator.language)}return t.length>0?t:void 0}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"path\",lookup:function(e){var t=void 0;if(\"undefined\"!=typeof window){var n=window.location.pathname.match(/\\/([a-zA-Z-]*)/g);if(n instanceof Array)if(\"number\"==typeof e.lookupFromPathIndex){if(\"string\"!=typeof n[e.lookupFromPathIndex])return;t=n[e.lookupFromPathIndex].replace(\"/\",\"\")}else t=n[0].replace(\"/\",\"\")}return t}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"querystring\",lookup:function(e){var t=void 0;if(\"undefined\"!=typeof window)for(var n=window.location.search.substring(1),r=n.split(\"&\"),o=0;o<r.length;o++){var i=r[o].indexOf(\"=\");if(i>0){var a=r[o].substring(0,i);a===e.lookupQuerystring&&(t=r[o].substring(i+1))}}return t}}},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.default={name:\"subdomain\",lookup:function(e){var t=void 0;if(\"undefined\"!=typeof window){var n=window.location.pathname.match(/(?:http[s]*\\:\\/\\/)*(.*?)\\.(?=[^\\/]*\\..{2,5})/gi);n instanceof Array&&(t=\"number\"==typeof e.lookupFromSubdomainIndex?n[e.lookupFromSubdomainIndex].replace(\"http://\",\"\").replace(\"https://\",\"\").replace(\".\",\"\"):n[0].replace(\"http://\",\"\").replace(\"https://\",\"\").replace(\".\",\"\"))}return t}}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(){return{order:[\"querystring\",\"cookie\",\"localStorage\",\"navigator\",\"htmlTag\"],lookupQuerystring:\"lng\",lookupCookie:\"i18next\",lookupLocalStorage:\"i18nextLng\",caches:[\"localStorage\"],excludeCacheFor:[\"cimode\"]}}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1282),l=o(u),c=n(1274),d=r(c),f=n(1279),p=r(f),h=n(1276),m=r(h),g=n(1277),_=r(g),b=n(1275),y=r(b),v=n(1278),M=r(v),A=n(1280),w=r(A),C=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};i(this,e),this.type=\"languageDetector\",this.detectors={},this.init(t,n)}return s(e,[{key:\"init\",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=l.defaults(t,this.options||{},a()),this.options.lookupFromUrlIndex&&(this.options.lookupFromPathIndex=this.options.lookupFromUrlIndex),this.i18nOptions=n,this.addDetector(d.default),this.addDetector(p.default),this.addDetector(m.default),this.addDetector(_.default),this.addDetector(y.default),this.addDetector(M.default),this.addDetector(w.default)}},{key:\"addDetector\",value:function(e){this.detectors[e.name]=e}},{key:\"detect\",value:function(e){var t=this;e||(e=this.options.order);var n=[];e.forEach(function(e){if(t.detectors[e]){var r=t.detectors[e].lookup(t.options);r&&\"string\"==typeof r&&(r=[r]),r&&(n=n.concat(r))}});var r=void 0;if(n.forEach(function(e){if(!r){var n=t.services.languageUtils.formatLanguageCode(e);t.services.languageUtils.isWhitelisted(n)&&(r=n)}}),!r){var o=this.i18nOptions.fallbackLng;\"string\"==typeof o&&(o=[o]),o||(o=[]),r=\"[object Array]\"===Object.prototype.toString.apply(o)?o[0]:o[0]||o.default&&o.default[0]}return r}},{key:\"cacheUserLanguage\",value:function(e,t){var n=this;t||(t=this.options.caches),t&&(this.options.excludeCacheFor&&this.options.excludeCacheFor.indexOf(e)>-1||t.forEach(function(t){n.detectors[t]&&n.detectors[t].cacheUserLanguage(e,n.options)}))}}]),e}();C.type=\"languageDetector\",t.default=C},function(e,t){\"use strict\";function n(e){return i.call(a.call(arguments,1),function(t){if(t)for(var n in t)void 0===e[n]&&(e[n]=t[n])}),e}function r(e){return i.call(a.call(arguments,1),function(t){if(t)for(var n in t)e[n]=t[n]}),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.defaults=n,t.extend=r;var o=[],i=o.forEach,a=o.slice},[1766,1281],function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):i(e,t))}function l(e,t){for(var n=e.indexOf(t);n!==-1;)e.splice(n,1),n=e.indexOf(t)}Object.defineProperty(t,\"__esModule\",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),f=n(203),p=o(f),h=n(134),m=r(h),g=n(202),_=r(g),b=function(e){function t(n,r,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};a(this,t);var u=s(this,e.call(this));return u.backend=n,u.store=r,u.languageUtils=o.languageUtils,u.options=i,u.logger=m.default.create(\"backendConnector\"),u.state={},u.queue=[],u.backend&&u.backend.init&&u.backend.init(o,i.backend,i),u}return u(t,e),t.prototype.queueLoad=function(e,t,n,r){var o=this,i=[],a=[],s=[],u=[];return e.forEach(function(e){var r=!0;t.forEach(function(t){var s=e+\"|\"+t;!n.reload&&o.store.hasResourceBundle(e,t)?o.state[s]=2:o.state[s]<0||(1===o.state[s]?a.indexOf(s)<0&&a.push(s):(o.state[s]=1,r=!1,a.indexOf(s)<0&&a.push(s),i.indexOf(s)<0&&i.push(s),u.indexOf(t)<0&&u.push(t)))}),r||s.push(e)}),(i.length||a.length)&&this.queue.push({pending:a,loaded:{},errors:[],callback:r}),{toLoad:i,pending:a,toLoadLanguages:s,toLoadNamespaces:u}},t.prototype.loaded=function e(t,n,r){var o=t.split(\"|\"),i=d(o,2),a=i[0],s=i[1];n&&this.emit(\"failedLoading\",a,s,n),r&&this.store.addResourceBundle(a,s,r),this.state[t]=n?-1:2;var e={};this.queue.forEach(function(r){p.pushPath(r.loaded,[a],s),l(r.pending,t),n&&r.errors.push(n),0!==r.pending.length||r.done||(Object.keys(r.loaded).forEach(function(t){e[t]||(e[t]=[]),r.loaded[t].length&&r.loaded[t].forEach(function(n){e[t].indexOf(n)<0&&e[t].push(n)})}),r.done=!0,r.errors.length?r.callback(r.errors):r.callback())}),this.emit(\"loaded\",e),this.queue=this.queue.filter(function(e){return!e.done})},t.prototype.read=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=this,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:250,a=arguments[5];return e.length?this.backend[n](e,t,function(s,u){return s&&u&&r<5?void setTimeout(function(){o.read.call(o,e,t,n,r+1,2*i,a)},i):void a(s,u)}):a(null,{})},t.prototype.prepareLoading=function(e,t){var n=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments[3];if(!this.backend)return this.logger.warn(\"No backend was added via i18next.use. Will not load resources.\"),o&&o();\"string\"==typeof e&&(e=this.languageUtils.toResolveHierarchy(e)),\"string\"==typeof t&&(t=[t]);var i=this.queueLoad(e,t,r,o);return i.toLoad.length?void i.toLoad.forEach(function(e){n.loadOne(e)}):(i.pending.length||o(),null)},t.prototype.load=function(e,t,n){this.prepareLoading(e,t,{},n)},t.prototype.reload=function(e,t,n){this.prepareLoading(e,t,{reload:!0},n)},t.prototype.loadOne=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",r=e.split(\"|\"),o=d(r,2),i=o[0],a=o[1];this.read(i,a,\"read\",null,null,function(r,o){r&&t.logger.warn(n+\"loading namespace \"+a+\" for language \"+i+\" failed\",r),!r&&o&&t.logger.log(n+\"loaded namespace \"+a+\" for language \"+i,o),t.loaded(e,r,o)})},t.prototype.saveMissing=function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backend&&this.backend.create&&this.backend.create(e,t,n,r,null,c({},i,{isUpdate:o})),e&&e[0]&&this.store.addResource(e[0],t,n,r)},t}(_.default);t.default=b},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(t,\"__esModule\",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(203),u=o(s),l=n(134),c=r(l),d=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,e),this.logger=c.default.create(\"interpolator\"),this.init(t,!0)}return e.prototype.init=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];t&&(this.options=e,this.format=e.interpolation&&e.interpolation.format||function(e){return e}),e.interpolation||(e.interpolation={escapeValue:!0});var n=e.interpolation;this.escape=void 0!==n.escape?n.escape:u.escape,this.escapeValue=void 0===n.escapeValue||n.escapeValue,this.useRawValueToEscape=void 0!==n.useRawValueToEscape&&n.useRawValueToEscape,this.prefix=n.prefix?u.regexEscape(n.prefix):n.prefixEscaped||\"{{\",this.suffix=n.suffix?u.regexEscape(n.suffix):n.suffixEscaped||\"}}\",this.formatSeparator=n.formatSeparator?n.formatSeparator:n.formatSeparator||\",\",this.unescapePrefix=n.unescapeSuffix?\"\":n.unescapePrefix||\"-\",this.unescapeSuffix=this.unescapePrefix?\"\":n.unescapeSuffix||\"\",this.nestingPrefix=n.nestingPrefix?u.regexEscape(n.nestingPrefix):n.nestingPrefixEscaped||u.regexEscape(\"$t(\"),this.nestingSuffix=n.nestingSuffix?u.regexEscape(n.nestingSuffix):n.nestingSuffixEscaped||u.regexEscape(\")\"),this.maxReplaces=n.maxReplaces?n.maxReplaces:1e3,this.resetRegExp()},e.prototype.reset=function(){this.options&&this.init(this.options)},e.prototype.resetRegExp=function(){var e=this.prefix+\"(.+?)\"+this.suffix;this.regexp=new RegExp(e,\"g\");var t=\"\"+this.prefix+this.unescapePrefix+\"(.+?)\"+this.unescapeSuffix+this.suffix;this.regexpUnescape=new RegExp(t,\"g\");\nvar n=this.nestingPrefix+\"(.+?)\"+this.nestingSuffix;this.nestingRegexp=new RegExp(n,\"g\")},e.prototype.interpolate=function(e,t,n){function r(e){return e.replace(/\\$/g,\"$$$$\")}var o=this,i=void 0,a=void 0,s=void 0,l=function(e){if(e.indexOf(o.formatSeparator)<0)return u.getPath(t,e);var r=e.split(o.formatSeparator),i=r.shift().trim(),a=r.join(o.formatSeparator).trim();return o.format(u.getPath(t,i),a,n)};for(this.resetRegExp(),s=0;(i=this.regexpUnescape.exec(e))&&(a=l(i[1].trim()),e=e.replace(i[0],a),this.regexpUnescape.lastIndex=0,s++,!(s>=this.maxReplaces)););for(s=0;i=this.regexp.exec(e);){if(a=l(i[1].trim()),void 0===a)if(\"function\"==typeof this.options.missingInterpolationHandler){var c=this.options.missingInterpolationHandler(e,i);a=\"string\"==typeof c?c:\"\"}else this.logger.warn(\"missed to pass in variable \"+i[1]+\" for interpolating \"+e),a=\"\";else\"string\"==typeof a||this.useRawValueToEscape||(a=u.makeString(a));if(a=r(this.escapeValue?this.escape(a):a),e=e.replace(i[0],a),this.regexp.lastIndex=0,s++,s>=this.maxReplaces)break}return e},e.prototype.nest=function(e,t){function n(e,t){if(e.indexOf(\",\")<0)return e;var n=e.split(\",\");e=n.shift();var r=n.join(\",\");r=this.interpolate(r,s),r=r.replace(/'/g,'\"');try{s=JSON.parse(r),t&&(s=a({},t,s))}catch(t){this.logger.error(\"failed parsing options string in nesting for key \"+e,t)}return e}var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=void 0,i=void 0,s=a({},r);for(s.applyPostProcessor=!1;o=this.nestingRegexp.exec(e);){if(i=t(n.call(this,o[1].trim(),s),s),i&&o[0]===e&&\"string\"!=typeof i)return i;\"string\"!=typeof i&&(i=u.makeString(i)),i||(this.logger.warn(\"missed to resolve \"+o[1]+\" for nesting \"+e),i=\"\"),e=e.replace(o[0],i),this.regexp.lastIndex=0}return e},e}();t.default=d},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(134),s=r(a),u=function(){function e(t){o(this,e),this.options=t,this.whitelist=this.options.whitelist||!1,this.logger=s.default.create(\"languageUtils\")}return e.prototype.getScriptPartFromCode=function(e){if(!e||e.indexOf(\"-\")<0)return null;var t=e.split(\"-\");return 2===t.length?null:(t.pop(),this.formatLanguageCode(t.join(\"-\")))},e.prototype.getLanguagePartFromCode=function(e){if(!e||e.indexOf(\"-\")<0)return e;var t=e.split(\"-\");return this.formatLanguageCode(t[0])},e.prototype.formatLanguageCode=function(e){if(\"string\"==typeof e&&e.indexOf(\"-\")>-1){var t=[\"hans\",\"hant\",\"latn\",\"cyrl\",\"cans\",\"mong\",\"arab\"],n=e.split(\"-\");return this.options.lowerCaseLng?n=n.map(function(e){return e.toLowerCase()}):2===n.length?(n[0]=n[0].toLowerCase(),n[1]=n[1].toUpperCase(),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=i(n[1].toLowerCase()))):3===n.length&&(n[0]=n[0].toLowerCase(),2===n[1].length&&(n[1]=n[1].toUpperCase()),\"sgn\"!==n[0]&&2===n[2].length&&(n[2]=n[2].toUpperCase()),t.indexOf(n[1].toLowerCase())>-1&&(n[1]=i(n[1].toLowerCase())),t.indexOf(n[2].toLowerCase())>-1&&(n[2]=i(n[2].toLowerCase()))),n.join(\"-\")}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e},e.prototype.isWhitelisted=function(e){return(\"languageOnly\"===this.options.load||this.options.nonExplicitWhitelist)&&(e=this.getLanguagePartFromCode(e)),!this.whitelist||!this.whitelist.length||this.whitelist.indexOf(e)>-1},e.prototype.getFallbackCodes=function(e,t){if(!e)return[];if(\"string\"==typeof e&&(e=[e]),\"[object Array]\"===Object.prototype.toString.apply(e))return e;if(!t)return e.default||[];var n=e[t];return n||(n=e[this.getScriptPartFromCode(t)]),n||(n=e[this.formatLanguageCode(t)]),n||(n=e.default),n||[]},e.prototype.toResolveHierarchy=function(e,t){var n=this,r=this.getFallbackCodes(t||this.options.fallbackLng||[],e),o=[],i=function(e){e&&(n.isWhitelisted(e)?o.push(e):n.logger.warn(\"rejecting non-whitelisted language code: \"+e))};return\"string\"==typeof e&&e.indexOf(\"-\")>-1?(\"languageOnly\"!==this.options.load&&i(this.formatLanguageCode(e)),\"languageOnly\"!==this.options.load&&\"currentOnly\"!==this.options.load&&i(this.getScriptPartFromCode(e)),\"currentOnly\"!==this.options.load&&i(this.getLanguagePartFromCode(e))):\"string\"==typeof e&&i(this.formatLanguageCode(e)),r.forEach(function(e){o.indexOf(e)<0&&i(n.formatLanguageCode(e))}),o},e}();t.default=u},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(){var e={};return u.forEach(function(t){t.lngs.forEach(function(n){e[n]={numbers:t.nr,plurals:l[t.fc]}})}),e}Object.defineProperty(t,\"__esModule\",{value:!0});var a=n(134),s=r(a),u=[{lngs:[\"ach\",\"ak\",\"am\",\"arn\",\"br\",\"fil\",\"gun\",\"ln\",\"mfe\",\"mg\",\"mi\",\"oc\",\"pt\",\"pt-BR\",\"tg\",\"ti\",\"tr\",\"uz\",\"wa\"],nr:[1,2],fc:1},{lngs:[\"af\",\"an\",\"ast\",\"az\",\"bg\",\"bn\",\"ca\",\"da\",\"de\",\"dev\",\"el\",\"en\",\"eo\",\"es\",\"et\",\"eu\",\"fi\",\"fo\",\"fur\",\"fy\",\"gl\",\"gu\",\"ha\",\"he\",\"hi\",\"hu\",\"hy\",\"ia\",\"it\",\"kn\",\"ku\",\"lb\",\"mai\",\"ml\",\"mn\",\"mr\",\"nah\",\"nap\",\"nb\",\"ne\",\"nl\",\"nn\",\"no\",\"nso\",\"pa\",\"pap\",\"pms\",\"ps\",\"pt-PT\",\"rm\",\"sco\",\"se\",\"si\",\"so\",\"son\",\"sq\",\"sv\",\"sw\",\"ta\",\"te\",\"tk\",\"ur\",\"yo\"],nr:[1,2],fc:2},{lngs:[\"ay\",\"bo\",\"cgg\",\"fa\",\"id\",\"ja\",\"jbo\",\"ka\",\"kk\",\"km\",\"ko\",\"ky\",\"lo\",\"ms\",\"sah\",\"su\",\"th\",\"tt\",\"ug\",\"vi\",\"wo\",\"zh\"],nr:[1],fc:3},{lngs:[\"be\",\"bs\",\"dz\",\"hr\",\"ru\",\"sr\",\"uk\"],nr:[1,2,5],fc:4},{lngs:[\"ar\"],nr:[0,1,2,3,11,100],fc:5},{lngs:[\"cs\",\"sk\"],nr:[1,2,5],fc:6},{lngs:[\"csb\",\"pl\"],nr:[1,2,5],fc:7},{lngs:[\"cy\"],nr:[1,2,3,8],fc:8},{lngs:[\"fr\"],nr:[1,2],fc:9},{lngs:[\"ga\"],nr:[1,2,3,7,11],fc:10},{lngs:[\"gd\"],nr:[1,2,3,20],fc:11},{lngs:[\"is\"],nr:[1,2],fc:12},{lngs:[\"jv\"],nr:[0,1],fc:13},{lngs:[\"kw\"],nr:[1,2,3,4],fc:14},{lngs:[\"lt\"],nr:[1,2,10],fc:15},{lngs:[\"lv\"],nr:[1,2,0],fc:16},{lngs:[\"mk\"],nr:[1,2],fc:17},{lngs:[\"mnk\"],nr:[0,1,2],fc:18},{lngs:[\"mt\"],nr:[1,2,11,20],fc:19},{lngs:[\"or\"],nr:[2,1],fc:2},{lngs:[\"ro\"],nr:[1,2,20],fc:20},{lngs:[\"sl\"],nr:[5,1,2,3],fc:21}],l={1:function(e){return Number(e>1)},2:function(e){return Number(1!=e)},3:function(e){return 0},4:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},5:function(e){return Number(0===e?0:1==e?1:2==e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5)},6:function(e){return Number(1==e?0:e>=2&&e<=4?1:2)},7:function(e){return Number(1==e?0:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?1:2)},8:function(e){return Number(1==e?0:2==e?1:8!=e&&11!=e?2:3)},9:function(e){return Number(e>=2)},10:function(e){return Number(1==e?0:2==e?1:e<7?2:e<11?3:4)},11:function(e){return Number(1==e||11==e?0:2==e||12==e?1:e>2&&e<20?2:3)},12:function(e){return Number(e%10!=1||e%100==11)},13:function(e){return Number(0!==e)},14:function(e){return Number(1==e?0:2==e?1:3==e?2:3)},15:function(e){return Number(e%10==1&&e%100!=11?0:e%10>=2&&(e%100<10||e%100>=20)?1:2)},16:function(e){return Number(e%10==1&&e%100!=11?0:0!==e?1:2)},17:function(e){return Number(1==e||e%10==1?0:1)},18:function(e){return Number(0==e?0:1==e?1:2)},19:function(e){return Number(1==e?0:0===e||e%100>1&&e%100<11?1:e%100>10&&e%100<20?2:3)},20:function(e){return Number(1==e?0:0===e||e%100>0&&e%100<20?1:2)},21:function(e){return Number(e%100==1?1:e%100==2?2:e%100==3||e%100==4?3:0)}},c=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};o(this,e),this.languageUtils=t,this.options=n,this.logger=s.default.create(\"pluralResolver\"),this.rules=i()}return e.prototype.addRule=function(e,t){this.rules[e]=t},e.prototype.getRule=function(e){return this.rules[e]||this.rules[this.languageUtils.getLanguagePartFromCode(e)]},e.prototype.needsPlural=function(e){var t=this.getRule(e);return t&&t.numbers.length>1},e.prototype.getPluralFormsOfKey=function(e,t){var n=this,r=[],o=this.getRule(e);return o?(o.numbers.forEach(function(o){var i=n.getSuffix(e,o);r.push(\"\"+t+i)}),r):r},e.prototype.getSuffix=function(e,t){var n=this,r=this.getRule(e);if(r){var o=r.noAbs?r.plurals(t):r.plurals(Math.abs(t)),i=r.numbers[o];this.options.simplifyPluralSuffix&&2===r.numbers.length&&1===r.numbers[0]&&(2===i?i=\"plural\":1===i&&(i=\"\"));var a=function(){return n.options.prepend&&i.toString()?n.options.prepend+i.toString():i.toString()};return\"v1\"===this.options.compatibilityJSON?1===i?\"\":\"number\"==typeof i?\"_plural_\"+i.toString():a():\"v2\"===this.options.compatibilityJSON&&2===r.numbers.length&&1===r.numbers[0]?a():this.options.simplifyPluralSuffix&&2===r.numbers.length&&1===r.numbers[0]?a():this.options.prepend&&o.toString()?this.options.prepend+o.toString():o.toString()}return this.logger.warn(\"no plural rule found for: \"+e),\"\"},e}();t.default=c},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):i(e,t))}Object.defineProperty(t,\"__esModule\",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(202),d=o(c),f=n(203),p=r(f),h=function(e){function t(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:[\"translation\"],defaultNS:\"translation\"};a(this,t);var o=s(this,e.call(this));return o.data=n||{},o.options=r,void 0===o.options.keySeparator&&(o.options.keySeparator=\".\"),o}return u(t,e),t.prototype.addNamespaces=function(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)},t.prototype.removeNamespaces=function(e){var t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)},t.prototype.getResource=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=void 0!==r.keySeparator?r.keySeparator:this.options.keySeparator,i=[e,t];return n&&\"string\"!=typeof n&&(i=i.concat(n)),n&&\"string\"==typeof n&&(i=i.concat(o?n.split(o):n)),e.indexOf(\".\")>-1&&(i=e.split(\".\")),p.getPath(this.data,i)},t.prototype.addResource=function(e,t,n,r){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},i=this.options.keySeparator;void 0===i&&(i=\".\");var a=[e,t];n&&(a=a.concat(i?n.split(i):n)),e.indexOf(\".\")>-1&&(a=e.split(\".\"),r=t,t=a[1]),this.addNamespaces(t),p.setPath(this.data,a,r),o.silent||this.emit(\"added\",e,t,n,r)},t.prototype.addResources=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var o in n)\"string\"==typeof n[o]&&this.addResource(e,t,o,n[o],{silent:!0});r.silent||this.emit(\"added\",e,t,n)},t.prototype.addResourceBundle=function(e,t,n,r,o){var i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},a=[e,t];e.indexOf(\".\")>-1&&(a=e.split(\".\"),r=n,n=t,t=a[1]),this.addNamespaces(t);var s=p.getPath(this.data,a)||{};r?p.deepExtend(s,n,o):s=l({},s,n),p.setPath(this.data,a,s),i.silent||this.emit(\"added\",e,t,n)},t.prototype.removeResourceBundle=function(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(\"removed\",e,t)},t.prototype.hasResourceBundle=function(e,t){return void 0!==this.getResource(e,t)},t.prototype.getResourceBundle=function(e,t){return t||(t=this.options.defaultNS),\"v1\"===this.options.compatibilityAPI?l({},this.getResource(e,t)):this.getResource(e,t)},t.prototype.getDataByLanguage=function(e){return this.data[e]},t.prototype.toJSON=function(){return this.data},t}(d.default);t.default=h},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):i(e,t))}Object.defineProperty(t,\"__esModule\",{value:!0});var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=\"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},d=n(134),f=o(d),p=n(202),h=o(p),m=n(428),g=o(m),_=n(203),b=r(_),y=function(e){function t(n){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(this,t);var o=s(this,e.call(this));return b.copy([\"resourceStore\",\"languageUtils\",\"pluralResolver\",\"interpolator\",\"backendConnector\",\"i18nFormat\"],n,o),o.options=r,void 0===o.options.keySeparator&&(o.options.keySeparator=\".\"),o.logger=f.default.create(\"translator\"),o}return u(t,e),t.prototype.changeLanguage=function(e){e&&(this.language=e)},t.prototype.exists=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},n=this.resolve(e,t);return n&&void 0!==n.res},t.prototype.extractFromKey=function(e,t){var n=t.nsSeparator||this.options.nsSeparator;void 0===n&&(n=\":\");var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=t.ns||this.options.defaultNS;if(n&&e.indexOf(n)>-1){var i=e.split(n);(n!==r||n===r&&this.options.ns.indexOf(i[0])>-1)&&(o=i.shift()),e=i.join(r)}return\"string\"==typeof o&&(o=[o]),{key:e,namespaces:o}},t.prototype.translate=function(e,t){var n=this;if(\"object\"!==(\"undefined\"==typeof t?\"undefined\":c(t))&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),void 0===e||null===e||\"\"===e)return\"\";\"number\"==typeof e&&(e=String(e)),\"string\"==typeof e&&(e=[e]);var r=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,o=this.extractFromKey(e[e.length-1],t),i=o.key,a=o.namespaces,s=a[a.length-1],u=t.lng||this.language,d=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(u&&\"cimode\"===u.toLowerCase()){if(d){var f=t.nsSeparator||this.options.nsSeparator;return s+f+i}return i}var p=this.resolve(e,t),h=p&&p.res,m=p&&p.usedKey||i,g=Object.prototype.toString.apply(h),_=[\"[object Number]\",\"[object Function]\",\"[object RegExp]\"],b=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,v=\"string\"!=typeof h&&\"boolean\"!=typeof h&&\"number\"!=typeof h;if(y&&h&&v&&_.indexOf(g)<0&&(!b||\"[object Array]\"!==g)){if(!t.returnObjects&&!this.options.returnObjects)return this.logger.warn(\"accessing an object - but returnObjects options is not enabled!\"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(m,h,t):\"key '\"+i+\" (\"+this.language+\")' returned an object instead of string.\";if(r){var M=\"[object Array]\"===g?[]:{};for(var A in h)if(Object.prototype.hasOwnProperty.call(h,A)){var w=\"\"+m+r+A;M[A]=this.translate(w,l({},t,{joinArrays:!1,ns:a})),M[A]===w&&(M[A]=h[A])}h=M}}else if(y&&b&&\"[object Array]\"===g)h=h.join(b),h&&(h=this.extendTranslation(h,e,t));else{var C=!1,E=!1;if(!this.isValidLookup(h)&&void 0!==t.defaultValue){if(C=!0,void 0!==t.count){var L=this.pluralResolver.getSuffix(u,t.count);h=t[\"defaultValue\"+L]}h||(h=t.defaultValue)}this.isValidLookup(h)||(E=!0,h=i);var T=t.defaultValue&&t.defaultValue!==h&&this.options.updateMissing;if(E||C||T){this.logger.log(T?\"updateKey\":\"missingKey\",u,s,i,T?t.defaultValue:h);var O=[],S=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(\"fallback\"===this.options.saveMissingTo&&S&&S[0])for(var N=0;N<S.length;N++)O.push(S[N]);else\"all\"===this.options.saveMissingTo?O=this.languageUtils.toResolveHierarchy(t.lng||this.language):O.push(t.lng||this.language);var k=function(e,r){n.options.missingKeyHandler?n.options.missingKeyHandler(e,s,r,T?t.defaultValue:h,T,t):n.backendConnector&&n.backendConnector.saveMissing&&n.backendConnector.saveMissing(e,s,r,T?t.defaultValue:h,T,t),n.emit(\"missingKey\",e,s,r,h)};if(this.options.saveMissing){var D=void 0!==t.count&&\"string\"!=typeof t.count;this.options.saveMissingPlurals&&D?O.forEach(function(e){var t=n.pluralResolver.getPluralFormsOfKey(e,i);t.forEach(function(t){return k([e],t)})}):k(O,i)}}h=this.extendTranslation(h,e,t,p),E&&h===i&&this.options.appendNamespaceToMissingKey&&(h=s+\":\"+i),E&&this.options.parseMissingKeyHandler&&(h=this.options.parseMissingKeyHandler(h))}return h},t.prototype.extendTranslation=function(e,t,n,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)e=this.i18nFormat.parse(e,n,r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init(l({},n,{interpolation:l({},this.options.interpolation,n.interpolation)}));var i=n.replace&&\"string\"!=typeof n.replace?n.replace:n;this.options.interpolation.defaultVariables&&(i=l({},this.options.interpolation.defaultVariables,i)),e=this.interpolator.interpolate(e,i,n.lng||this.language),n.nest!==!1&&(e=this.interpolator.nest(e,function(){return o.translate.apply(o,arguments)},n)),n.interpolation&&this.interpolator.reset()}var a=n.postProcess||this.options.postProcess,s=\"string\"==typeof a?[a]:a;return void 0!==e&&null!==e&&s&&s.length&&n.applyPostProcessor!==!1&&(e=g.default.handle(s,e,t,n,this)),e},t.prototype.resolve=function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=void 0,o=void 0,i=void 0,a=void 0;return\"string\"==typeof e&&(e=[e]),e.forEach(function(e){if(!t.isValidLookup(r)){var s=t.extractFromKey(e,n),u=s.key;o=u;var l=s.namespaces;t.options.fallbackNS&&(l=l.concat(t.options.fallbackNS));var c=void 0!==n.count&&\"string\"!=typeof n.count,d=void 0!==n.context&&\"string\"==typeof n.context&&\"\"!==n.context,f=n.lngs?n.lngs:t.languageUtils.toResolveHierarchy(n.lng||t.language,n.fallbackLng);l.forEach(function(e){t.isValidLookup(r)||(a=e,f.forEach(function(o){if(!t.isValidLookup(r)){i=o;var a=u,s=[a];if(t.i18nFormat&&t.i18nFormat.addLookupKeys)t.i18nFormat.addLookupKeys(s,u,o,e,n);else{var l=void 0;c&&(l=t.pluralResolver.getSuffix(o,n.count)),c&&d&&s.push(a+l),d&&s.push(a+=\"\"+t.options.contextSeparator+n.context),c&&s.push(a+=l)}for(var f=void 0;f=s.pop();)t.isValidLookup(r)||(r=t.getResource(o,e,f,n))}}))})}}),{res:r,usedKey:o,usedLng:i,usedNS:a}},t.prototype.isValidLookup=function(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&\"\"===e)},t.prototype.getResource=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)},t}(h.default);t.default=y},function(e,t){\"use strict\";function n(){return{debug:!1,initImmediate:!0,ns:[\"translation\"],defaultNS:[\"translation\"],fallbackLng:[\"dev\"],fallbackNS:!1,whitelist:!1,nonExplicitWhitelist:!1,load:\"all\",preload:!1,simplifyPluralSuffix:!0,keySeparator:\".\",nsSeparator:\":\",pluralSeparator:\"_\",contextSeparator:\"_\",saveMissing:!1,updateMissing:!1,saveMissingTo:\"fallback\",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:function(){},parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(e){var t={};return e[1]&&(t.defaultValue=e[1]),e[2]&&(t.tDescription=e[2]),t},interpolation:{escapeValue:!0,format:function(e,t,n){return e},prefix:\"{{\",suffix:\"}}\",formatSeparator:\",\",unescapePrefix:\"-\",nestingPrefix:\"$t(\",nestingSuffix:\")\",maxReplaces:1e3}}}function r(e){return\"string\"==typeof e.ns&&(e.ns=[e.ns]),\"string\"==typeof e.fallbackLng&&(e.fallbackLng=[e.fallbackLng]),\"string\"==typeof e.fallbackNS&&(e.fallbackNS=[e.fallbackNS]),e.whitelist&&e.whitelist.indexOf(\"cimode\")<0&&(e.whitelist=e.whitelist.concat([\"cimode\"])),e}Object.defineProperty(t,\"__esModule\",{value:!0}),t.transformOptions=r,t.get=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var o=n[r],i=Object.getOwnPropertyDescriptor(t,o);i&&i.configurable&&void 0===e[o]&&Object.defineProperty(e,o,i)}return e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):o(e,t))}function u(){}Object.defineProperty(t,\"__esModule\",{value:!0});var l=\"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},c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=n(134),f=r(d),p=n(202),h=r(p),m=n(1288),g=r(m),_=n(1289),b=r(_),y=n(1286),v=r(y),M=n(1287),A=r(M),w=n(1285),C=r(w),E=n(1284),L=r(E),T=n(1290),O=n(428),S=r(O),N=function(e){function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];i(this,t);var o=a(this,e.call(this));if(o.options=(0,T.transformOptions)(n),o.services={},o.logger=f.default,o.modules={external:[]},r&&!o.isInitialized&&!n.isClone){var s;if(!o.options.initImmediate)return s=o.init(n,r),a(o,s);setTimeout(function(){o.init(n,r)},0)}return o}return s(t,e),t.prototype.init=function(){function e(e){return e?\"function\"==typeof e?new e:e:null}var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];if(\"function\"==typeof n&&(r=n,n={}),this.options=c({},(0,T.get)(),this.options,(0,T.transformOptions)(n)),this.format=this.options.interpolation.format,r||(r=u),!this.options.isClone){this.modules.logger?f.default.init(e(this.modules.logger),this.options):f.default.init(null,this.options);var o=new v.default(this.options);this.store=new g.default(this.options.resources,this.options);var i=this.services;i.logger=f.default,i.resourceStore=this.store,i.languageUtils=o,i.pluralResolver=new A.default(o,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),i.interpolator=new C.default(this.options),i.backendConnector=new L.default(e(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on(\"*\",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];t.emit.apply(t,[e].concat(r))}),this.modules.languageDetector&&(i.languageDetector=e(this.modules.languageDetector),i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=e(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new b.default(this.services,this.options),this.translator.on(\"*\",function(e){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];t.emit.apply(t,[e].concat(r))}),this.modules.external.forEach(function(e){e.init&&e.init(t)})}var a=[\"getResource\",\"addResource\",\"addResources\",\"addResourceBundle\",\"removeResourceBundle\",\"hasResourceBundle\",\"getResourceBundle\",\"getDataByLanguage\"];a.forEach(function(e){t[e]=function(){var n;return(n=t.store)[e].apply(n,arguments)}});var s=function(){t.changeLanguage(t.options.lng,function(e,n){t.isInitialized=!0,t.logger.log(\"initialized\",t.options),t.emit(\"initialized\",t.options),r(e,n)})};return this.options.resources||!this.options.initImmediate?s():setTimeout(s,0),this},t.prototype.loadResources=function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u;if(this.options.resources)t(null);else{if(this.language&&\"cimode\"===this.language.toLowerCase())return t();var n=[],r=function(t){if(t){var r=e.services.languageUtils.toResolveHierarchy(t);r.forEach(function(e){n.indexOf(e)<0&&n.push(e)})}};if(this.language)r(this.language);else{var o=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);o.forEach(function(e){return r(e)})}this.options.preload&&this.options.preload.forEach(function(e){return r(e)}),this.services.backendConnector.load(n,this.options.ns,t)}},t.prototype.reloadResources=function(e,t,n){e||(e=this.languages),t||(t=this.options.ns),n||(n=function(){}),this.services.backendConnector.reload(e,t,n)},t.prototype.use=function(e){return\"backend\"===e.type&&(this.modules.backend=e),(\"logger\"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),\"languageDetector\"===e.type&&(this.modules.languageDetector=e),\"i18nFormat\"===e.type&&(this.modules.i18nFormat=e),\"postProcessor\"===e.type&&S.default.addPostProcessor(e),\"3rdParty\"===e.type&&this.modules.external.push(e),this},t.prototype.changeLanguage=function(e,t){var n=this,r=function(e,r){n.translator.changeLanguage(r),r&&(n.emit(\"languageChanged\",r),n.logger.log(\"languageChanged\",r)),t&&t(e,function(){return n.t.apply(n,arguments)})},o=function(e){e&&(n.language=e,n.languages=n.services.languageUtils.toResolveHierarchy(e),n.translator.language||n.translator.changeLanguage(e),n.services.languageDetector&&n.services.languageDetector.cacheUserLanguage(e)),n.loadResources(function(t){r(t,e)})};e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(e):o(this.services.languageDetector.detect())},t.prototype.getFixedT=function(e,t){var n=this,r=function e(t,r){for(var o=arguments.length,i=Array(o>2?o-2:0),a=2;a<o;a++)i[a-2]=arguments[a];var s=c({},r);return\"object\"!==(\"undefined\"==typeof r?\"undefined\":l(r))&&(s=n.options.overloadTranslationOptionHandler([t,r].concat(i))),s.lng=s.lng||e.lng,s.lngs=s.lngs||e.lngs,s.ns=s.ns||e.ns,n.t(t,s)};return\"string\"==typeof e?r.lng=e:r.lngs=e,r.ns=t,r},t.prototype.t=function(){var e;return this.translator&&(e=this.translator).translate.apply(e,arguments)},t.prototype.exists=function(){var e;return this.translator&&(e=this.translator).exists.apply(e,arguments)},t.prototype.setDefaultNamespace=function(e){this.options.defaultNS=e},t.prototype.loadNamespaces=function(e,t){var n=this;return this.options.ns?(\"string\"==typeof e&&(e=[e]),e.forEach(function(e){n.options.ns.indexOf(e)<0&&n.options.ns.push(e)}),void this.loadResources(t)):t&&t()},t.prototype.loadLanguages=function(e,t){\"string\"==typeof e&&(e=[e]);var n=this.options.preload||[],r=e.filter(function(e){return n.indexOf(e)<0});return r.length?(this.options.preload=n.concat(r),void this.loadResources(t)):t()},t.prototype.dir=function(e){if(e||(e=this.languages&&this.languages.length>0?this.languages[0]:this.language),!e)return\"rtl\";var t=[\"ar\",\"shu\",\"sqr\",\"ssh\",\"xaa\",\"yhd\",\"yud\",\"aao\",\"abh\",\"abv\",\"acm\",\"acq\",\"acw\",\"acx\",\"acy\",\"adf\",\"ads\",\"aeb\",\"aec\",\"afb\",\"ajp\",\"apc\",\"apd\",\"arb\",\"arq\",\"ars\",\"ary\",\"arz\",\"auz\",\"avl\",\"ayh\",\"ayl\",\"ayn\",\"ayp\",\"bbz\",\"pga\",\"he\",\"iw\",\"ps\",\"pbt\",\"pbu\",\"pst\",\"prp\",\"prd\",\"ur\",\"ydd\",\"yds\",\"yih\",\"ji\",\"yi\",\"hbo\",\"men\",\"xmn\",\"fa\",\"jpr\",\"peo\",\"pes\",\"prs\",\"dv\",\"sam\"];return t.indexOf(this.services.languageUtils.getLanguagePartFromCode(e))>=0?\"rtl\":\"ltr\"},t.prototype.createInstance=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments[1];return new t(e,n)},t.prototype.cloneInstance=function(){var e=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,o=c({},this.options,n,{isClone:!0}),i=new t(o),a=[\"store\",\"services\",\"language\"];return a.forEach(function(t){i[t]=e[t]}),i.translator=new b.default(i.services,i.options),i.translator.on(\"*\",function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];i.emit.apply(i,[e].concat(n))}),i.init(o,r),i.translator.options=i.options,i},t}(h.default);t.default=new N},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.use=t.t=t.setDefaultNamespace=t.on=t.off=t.loadResources=t.loadNamespaces=t.loadLanguages=t.init=t.getFixedT=t.exists=t.dir=t.createInstance=t.cloneInstance=t.changeLanguage=void 0;var o=n(1291),i=r(o);t.default=i.default;t.changeLanguage=i.default.changeLanguage.bind(i.default),t.cloneInstance=i.default.cloneInstance.bind(i.default),t.createInstance=i.default.createInstance.bind(i.default),t.dir=i.default.dir.bind(i.default),t.exists=i.default.exists.bind(i.default),t.getFixedT=i.default.getFixedT.bind(i.default),t.init=i.default.init.bind(i.default),t.loadLanguages=i.default.loadLanguages.bind(i.default),t.loadNamespaces=i.default.loadNamespaces.bind(i.default),t.loadResources=i.default.loadResources.bind(i.default),t.off=i.default.off.bind(i.default),t.on=i.default.on.bind(i.default),t.setDefaultNamespace=i.default.setDefaultNamespace.bind(i.default),t.t=i.default.t.bind(i.default),t.use=i.default.use.bind(i.default)},[1766,1292],function(e,t){t.read=function(e,t,n,r,o){var i,a,s=8*o-r-1,u=(1<<s)-1,l=u>>1,c=-7,d=n?o-1:0,f=n?-1:1,p=e[t+d];for(d+=f,i=p&(1<<-c)-1,p>>=-c,c+=s;c>0;i=256*i+e[t+d],d+=f,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=r;c>0;a=256*a+e[t+d],d+=f,c-=8);if(0===i)i=1-l;else{if(i===u)return a?NaN:(p?-1:1)*(1/0);a+=Math.pow(2,r),i-=l}return(p?-1:1)*a*Math.pow(2,i-r)},t.write=function(e,t,n,r,o,i){var a,s,u,l=8*i-o-1,c=(1<<l)-1,d=c>>1,f=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:i-1,h=r?1:-1,m=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-a))<1&&(a--,u*=2),t+=a+d>=1?f/u:f*Math.pow(2,1-d),t*u>=2&&(a++,u/=2),a+d>=c?(s=0,a=c):a+d>=1?(s=(t*u-1)*Math.pow(2,o),a+=d):(s=t*Math.pow(2,d-1)*Math.pow(2,o),a=0));o>=8;e[n+p]=255&s,p+=h,s/=256,o-=8);for(a=a<<o|s,l+=o;l>0;e[n+p]=255&a,p+=h,a/=256,l-=8);e[n+p-h]|=128*m}},303,function(e,t){e.exports={0:65533,128:8364,130:8218,131:402,132:8222,133:8230,134:8224,135:8225,136:710,137:8240,138:352,139:8249,140:338,142:381,145:8216,146:8217,147:8220,148:8221,149:8226,150:8211,151:8212,152:732,153:8482,154:353,155:8250,156:339,158:382,159:376}},function(e,t){e.exports={Aacute:\"Á\",aacute:\"á\",Acirc:\"Â\",acirc:\"â\",acute:\"´\",AElig:\"Æ\",aelig:\"æ\",Agrave:\"À\",agrave:\"à\",amp:\"&\",AMP:\"&\",Aring:\"Å\",aring:\"å\",Atilde:\"Ã\",atilde:\"ã\",Auml:\"Ä\",auml:\"ä\",brvbar:\"¦\",Ccedil:\"Ç\",ccedil:\"ç\",cedil:\"¸\",cent:\"¢\",copy:\"©\",COPY:\"©\",curren:\"¤\",deg:\"°\",divide:\"÷\",Eacute:\"É\",eacute:\"é\",Ecirc:\"Ê\",ecirc:\"ê\",Egrave:\"È\",egrave:\"è\",ETH:\"Ð\",eth:\"ð\",Euml:\"Ë\",euml:\"ë\",\nfrac12:\"½\",frac14:\"¼\",frac34:\"¾\",gt:\">\",GT:\">\",Iacute:\"Í\",iacute:\"í\",Icirc:\"Î\",icirc:\"î\",iexcl:\"¡\",Igrave:\"Ì\",igrave:\"ì\",iquest:\"¿\",Iuml:\"Ï\",iuml:\"ï\",laquo:\"«\",lt:\"<\",LT:\"<\",macr:\"¯\",micro:\"µ\",middot:\"·\",nbsp:\"\u00a0\",not:\"¬\",Ntilde:\"Ñ\",ntilde:\"ñ\",Oacute:\"Ó\",oacute:\"ó\",Ocirc:\"Ô\",ocirc:\"ô\",Ograve:\"Ò\",ograve:\"ò\",ordf:\"ª\",ordm:\"º\",Oslash:\"Ø\",oslash:\"ø\",Otilde:\"Õ\",otilde:\"õ\",Ouml:\"Ö\",ouml:\"ö\",para:\"¶\",plusmn:\"±\",pound:\"£\",quot:'\"',QUOT:'\"',raquo:\"»\",reg:\"®\",REG:\"®\",sect:\"§\",shy:\"\u00ad\",sup1:\"¹\",sup2:\"²\",sup3:\"³\",szlig:\"ß\",THORN:\"Þ\",thorn:\"þ\",times:\"×\",Uacute:\"Ú\",uacute:\"ú\",Ucirc:\"Û\",ucirc:\"û\",Ugrave:\"Ù\",ugrave:\"ù\",uml:\"¨\",Uuml:\"Ü\",uuml:\"ü\",Yacute:\"Ý\",yacute:\"ý\",yen:\"¥\",yuml:\"ÿ\"}},function(e,t){e.exports={version:\"2018e\",zones:[\"Africa/Abidjan|LMT GMT|g.8 0|01|-2ldXH.Q|48e5\",\"Africa/Accra|LMT GMT +0020|.Q 0 -k|012121212121212121212121212121212121212121212121|-26BbX.8 6tzX.8 MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE 1BAk MnE 1C0k MnE 1BAk MnE 1BAk MnE|41e5\",\"Africa/Nairobi|LMT EAT +0230 +0245|-2r.g -30 -2u -2J|01231|-1F3Cr.g 3Dzr.g okMu MFXJ|47e5\",\"Africa/Algiers|PMT WET WEST CET CEST|-9.l 0 -10 -10 -20|0121212121212121343431312123431213|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 DA0 Imo0 rd0 De0 9Xz0 1fb0 1ap0 16K0 2yo0 mEp0 hwL0 jxA0 11A0 dDd0 17b0 11B0 1cN0 2Dy0 1cN0 1fB0 1cL0|26e5\",\"Africa/Lagos|LMT WAT|-d.A -10|01|-22y0d.A|17e6\",\"Africa/Bissau|LMT -01 GMT|12.k 10 0|012|-2ldX0 2xoo0|39e4\",\"Africa/Maputo|LMT CAT|-2a.k -20|01|-2GJea.k|26e5\",\"Africa/Cairo|EET EEST|-20 -30|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1bIO0 vb0 1ip0 11z0 1iN0 1nz0 12p0 1pz0 10N0 1pz0 16p0 1jz0 s3d0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1WL0 rd0 1Rz0 wp0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1qL0 Xd0 1oL0 11d0 1oL0 11d0 1pb0 11d0 1oL0 11d0 1oL0 11d0 1ny0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 WL0 1qN0 Rb0 1wp0 On0 1zd0 Lz0 1EN0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6\",\"Africa/Casablanca|LMT WET WEST CET|u.k 0 -10 -10|0121212121212121213121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2gMnt.E 130Lt.E rb0 Dd0 dVb0 b6p0 TX0 EoB0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4mn0 SyN0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|32e5\",\"Africa/Ceuta|WET WEST CET CEST|0 -10 -10 -20|010101010101010101010232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-25KN0 11z0 drd0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1y7o0 LL0 gnd0 rz0 43d0 AL0 1Nd0 XX0 1Cp0 pz0 dEp0 4VB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|85e3\",\"Africa/El_Aaiun|LMT -01 WET WEST|Q.M 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1rDz7.c 1GVA7.c 6L0 AL0 1Nd0 XX0 1Cp0 pz0 1cBB0 AL0 1Nd0 wn0 1FB0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0 11A0 5A0 e00 17c0 1fA0 1a00 1a00 1fA0 17c0 1io0 14o0 1lc0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1lc0 14o0 1fA0|20e4\",\"Africa/Johannesburg|SAST SAST SAST|-1u -20 -30|012121|-2GJdu 1Ajdu 1cL0 1cN0 1cL0|84e5\",\"Africa/Juba|LMT CAT CAST EAT|-26.s -20 -30 -30|01212121212121212121212121212121213|-1yW26.s 1zK06.s 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0\",\"Africa/Khartoum|LMT CAT CAST EAT|-2a.8 -20 -30 -30|012121212121212121212121212121212131|-1yW2a.8 1zK0a.8 16L0 1iN0 17b0 1jd0 17b0 1ip0 17z0 1i10 17X0 1hB0 18n0 1hd0 19b0 1gp0 19z0 1iN0 17b0 1ip0 17z0 1i10 18n0 1hd0 18L0 1gN0 19b0 1gp0 19z0 1iN0 17z0 1i10 17X0 yGd0 HjL0|51e5\",\"Africa/Monrovia|MMT MMT GMT|H.8 I.u 0|012|-23Lzg.Q 28G01.m|11e5\",\"Africa/Ndjamena|LMT WAT WAST|-10.c -10 -20|0121|-2le10.c 2J3c0.c Wn0|13e5\",\"Africa/Sao_Tome|LMT GMT WAT|A.J 0 -10|012|-2le00 4i6N0\",\"Africa/Tripoli|LMT CET CEST EET|-Q.I -10 -20 -20|012121213121212121212121213123123|-21JcQ.I 1hnBQ.I vx0 4iP0 xx0 4eN0 Bb0 7ip0 U0n0 A10 1db0 1cN0 1db0 1dd0 1db0 1eN0 1bb0 1e10 1cL0 1c10 1db0 1dd0 1db0 1cN0 1db0 1q10 fAn0 1ep0 1db0 AKq0 TA0 1o00|11e5\",\"Africa/Tunis|PMT CET CEST|-9.l -10 -20|0121212121212121212121212121212121|-2nco9.l 18pa9.l 1qM0 DA0 3Tc0 11B0 1ze0 WM0 7z0 3d0 14L0 1cN0 1f90 1ar0 16J0 1gXB0 WM0 1rA0 11c0 nwo0 Ko0 1cM0 1cM0 1rA0 10M0 zuM0 10N0 1aN0 1qM0 WM0 1qM0 11A0 1o00|20e5\",\"Africa/Windhoek|+0130 SAST SAST CAT WAT|-1u -20 -30 -20 -10|01213434343434343434343434343434343434343434343434343|-2GJdu 1Ajdu 1cL0 1SqL0 9Io0 16P0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4\",\"America/Adak|NST NWT NPT BST BDT AHST HST HDT|b0 a0 a0 b0 a0 a0 a0 90|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326\",\"America/Anchorage|AST AWT APT AHST AHDT YST AKST AKDT|a0 90 90 a0 90 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T00 8wX0 iA0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cm0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4\",\"America/Port_of_Spain|LMT AST|46.4 40|01|-2kNvR.U|43e3\",\"America/Araguaina|LMT -03 -02|3c.M 30 20|0121212121212121212121212121212121212121212121212121|-2glwL.c HdKL.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 ny10 Lz0|14e4\",\"America/Argentina/Buenos_Aires|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\"America/Argentina/Catamarca|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\"America/Argentina/Cordoba|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323132323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0 1qN0 WL0\",\"America/Argentina/Jujuy|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1ze0 TX0 1ld0 WK0 1wp0 TX0 A4p0 uL0\",\"America/Argentina/La_Rioja|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\"America/Argentina/Mendoza|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232312121321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1u20 SL0 1vd0 Tb0 1wp0 TW0 ri10 Op0 7TX0 uL0\",\"America/Argentina/Rio_Gallegos|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rlB0 7B0 8zb0 uL0\",\"America/Argentina/Salta|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231323232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 A4p0 uL0\",\"America/Argentina/San_Juan|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323231232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Qn0 qO0 16n0 Rb0 1wp0 TX0 rld0 m10 8lb0 uL0\",\"America/Argentina/San_Luis|CMT -04 -03 -02|4g.M 40 30 20|012121212121212121212121212121212121212121232323121212321212|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 XX0 1q20 SL0 AN0 vDb0 m10 8lb0 8L0 jd0 1qN0 WL0 1qN0\",\"America/Argentina/Tucuman|CMT -04 -03 -02|4g.M 40 30 20|0121212121212121212121212121212121212121212323232313232123232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wq0 Ra0 1wp0 TX0 rlB0 4N0 8BX0 uL0 1qN0 WL0\",\"America/Argentina/Ushuaia|CMT -04 -03 -02|4g.M 40 30 20|01212121212121212121212121212121212121212123232323232321232|-20UHH.c pKnH.c Mn0 1iN0 Tb0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 1C10 LX0 1C10 LX0 1C10 LX0 1C10 Mn0 MN0 2jz0 MN0 4lX0 u10 5Lb0 1pB0 Fnz0 u10 uL0 1vd0 SL0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 zvd0 Bz0 1tB0 TX0 1wp0 Rb0 1wp0 Rb0 1wp0 TX0 rkN0 8p0 8zb0 uL0\",\"America/Curacao|LMT -0430 AST|4z.L 4u 40|012|-2kV7o.d 28KLS.d|15e4\",\"America/Asuncion|AMT -04 -03|3O.E 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-1x589.k 1DKM9.k 3CL0 3Dd0 10L0 1pB0 10n0 1pB0 10n0 1pB0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1dd0 1cL0 1dd0 1cL0 1dd0 1db0 1dd0 1cL0 1lB0 14n0 1dd0 1cL0 1fd0 WL0 1rd0 1aL0 1dB0 Xz0 1qp0 Xb0 1qN0 10L0 1rB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 WN0 1qL0 11B0 1nX0 1ip0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 TX0 1tB0 19X0 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5\",\"America/Atikokan|CST CDT CWT CPT EST|60 50 50 50 50|0101234|-25TQ0 1in0 Rnb0 3je0 8x30 iw0|28e2\",\"America/Bahia_Banderas|LMT MST CST PST MDT CDT|71 70 60 80 60 50|0121212131414141414141414141414141414152525252525252525252525252525252525252525252525252525252|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3\",\"America/Bahia|LMT -03 -02|2y.4 30 20|01212121212121212121212121212121212121212121212121212121212121|-2glxp.U HdLp.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 l5B0 Rb0|27e5\",\"America/Barbados|LMT BMT AST ADT|3W.t 3W.t 40 30|01232323232|-1Q0I1.v jsM0 1ODC1.v IL0 1ip0 17b0 1ip0 17b0 1ld0 13b0|28e4\",\"America/Belem|LMT -03 -02|3d.U 30 20|012121212121212121212121212121|-2glwK.4 HdKK.4 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|20e5\",\"America/Belize|LMT CST -0530 CDT|5Q.M 60 5u 50|01212121212121212121212121212121212121212121212121213131|-2kBu7.c fPA7.c Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1wou Rbu 1zcu Onu 1zcu Onu 1zcu Rbu 1wou Rbu 1f0Mu qn0 lxB0 mn0|57e3\",\"America/Blanc-Sablon|AST ADT AWT APT|40 30 30 30|010230|-25TS0 1in0 UGp0 8x50 iu0|11e2\",\"America/Boa_Vista|LMT -04 -03|42.E 40 30|0121212121212121212121212121212121|-2glvV.k HdKV.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 smp0 WL0 1tB0 2L0|62e2\",\"America/Bogota|BMT -05 -04|4U.g 50 40|0121|-2eb73.I 38yo3.I 2en0|90e5\",\"America/Boise|PST PDT MST MWT MPT MDT|80 70 70 60 60 60|0101023425252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-261q0 1nX0 11B0 1nX0 8C10 JCL0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 Dd0 1Kn0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e4\",\"America/Cambridge_Bay|-00 MST MWT MPT MDDT MDT CST CDT EST|0 70 60 60 50 60 60 50 50|0123141515151515151515151515151515151515151515678651515151515151515151515151515151515151515151515151515151515151515151515151|-21Jc0 RO90 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11A0 1nX0 2K0 WQ0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e2\",\"America/Campo_Grande|LMT -04 -03|3C.s 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwl.w HdLl.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|77e4\",\"America/Cancun|LMT CST EST EDT CDT|5L.4 60 50 40 50|0123232341414141414141414141414141414141412|-1UQG0 2q2o0 yLB0 1lb0 14p0 1lb0 14p0 Lz0 xB0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4\",\"America/Caracas|CMT -0430 -04|4r.E 4u 40|01212|-2kV7w.k 28KM2.k 1IwOu kqo0|29e5\",\"America/Cayenne|LMT -04 -03|3t.k 40 30|012|-2mrwu.E 2gWou.E|58e3\",\"America/Panama|CMT EST|5j.A 50|01|-2uduE.o|15e5\",\"America/Chicago|CST CDT EST CWT CPT|60 50 50 50 50|01010101010101010101010101010101010102010101010103401010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 1wp0 TX0 WN0 1qL0 1cN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 11B0 1Hz0 14p0 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5\",\"America/Chihuahua|LMT MST CST CDT MDT|74.k 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4\",\"America/Costa_Rica|SJMT CST CDT|5A.d 60 50|0121212121|-1Xd6n.L 2lu0n.L Db0 1Kp0 Db0 pRB0 15b0 1kp0 mL0|12e5\",\"America/Creston|MST PST|70 80|010|-29DR0 43B0|53e2\",\"America/Cuiaba|LMT -04 -03|3I.k 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwf.E HdLf.E 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 4a10 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|54e4\",\"America/Danmarkshavn|LMT -03 -02 GMT|1e.E 30 20 0|01212121212121212121212121212121213|-2a5WJ.k 2z5fJ.k 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 DC0|8\",\"America/Dawson_Creek|PST PDT PWT PPT MST|80 70 70 70 70|0102301010101010101010101010101010101010101010101010101014|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 ML0|12e3\",\"America/Dawson|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 jrA0 fNd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|13e2\",\"America/Denver|MST MDT MWT MPT|70 60 60 60|01010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 11B0 1qL0 WN0 mn0 Ord0 8x20 ix0 LCN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5\",\"America/Detroit|LMT CST EST EWT EPT EDT|5w.b 60 50 40 40 40|012342525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2Cgir.N peqr.N 156L0 8x40 iv0 6fd0 11z0 XQp0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e5\",\"America/Edmonton|LMT MST MDT MWT MPT|7x.Q 70 60 60 60|01212121212121341212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2yd4q.8 shdq.8 1in0 17d0 hz0 2dB0 1fz0 1a10 11z0 1qN0 WL0 1qN0 11z0 IGN0 8x20 ix0 3NB0 11z0 LFB0 1cL0 3Cp0 1cL0 66N0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|10e5\",\"America/Eirunepe|LMT -05 -04|4D.s 50 40|0121212121212121212121212121212121|-2glvk.w HdLk.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0 yTd0 d5X0|31e3\",\"America/El_Salvador|LMT CST CDT|5U.M 60 50|012121|-1XiG3.c 2Fvc3.c WL0 1qN0 WL0|11e5\",\"America/Tijuana|LMT MST PST PDT PWT PPT|7M.4 70 80 70 70 70|012123245232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQE0 4PX0 8mM0 8lc0 SN0 1cL0 pHB0 83r0 zI0 5O10 1Rz0 cOO0 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 BUp0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|20e5\",\"America/Fort_Nelson|PST PDT PWT PPT MST|80 70 70 70 70|01023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010104|-25TO0 1in0 UGp0 8x10 iy0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2\",\"America/Fort_Wayne|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010101023010101010101010101040454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 QI10 Db0 RB0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 5Tz0 1o10 qLb0 1cL0 1cN0 1cL0 1qhd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Fortaleza|LMT -03 -02|2y 30 20|0121212121212121212121212121212121212121|-2glxq HdLq 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 5z0 2mN0 On0|34e5\",\"America/Glace_Bay|LMT AST ADT AWT APT|3X.M 40 30 30 30|012134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsI0.c CwO0.c 1in0 UGp0 8x50 iu0 iq10 11z0 Jg10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\"America/Godthab|LMT -03 -02|3q.U 30 20|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5Ux.4 2z5dx.4 19U0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3\",\"America/Goose_Bay|NST NDT NST NDT NWT NPT AST ADT ADDT|3u.Q 2u.Q 3u 2u 2u 2u 40 30 20|010232323232323245232323232323232323232323232323232323232326767676767676767676767676767676767676767676768676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-25TSt.8 1in0 DXb0 2HbX.8 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 S10 g0u 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2\",\"America/Grand_Turk|KMT EST EDT AST|57.a 50 40 40|01212121212121212121212121212121212121212121212121212121212121212121212121232121212121212121212121212121212121212121|-2l1uQ.O 2HHBQ.O 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2\",\"America/Guatemala|LMT CST CDT|62.4 60 50|0121212121|-24KhV.U 2efXV.U An0 mtd0 Nz0 ifB0 17b0 zDB0 11z0|13e5\",\"America/Guayaquil|QMT -05 -04|5e 50 40|0121|-1yVSK 2uILK rz0|27e5\",\"America/Guyana|LMT -0345 -03 -04|3Q.E 3J 30 40|0123|-2dvU7.k 2r6LQ.k Bxbf|80e4\",\"America/Halifax|LMT AST ADT AWT APT|4e.o 40 30 30 30|0121212121212121212121212121212121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsHJ.A xzzJ.A 1db0 3I30 1in0 3HX0 IL0 1E10 ML0 1yN0 Pb0 1Bd0 Mn0 1Bd0 Rz0 1w10 Xb0 1w10 LX0 1w10 Xb0 1w10 Lz0 1C10 Jz0 1E10 OL0 1yN0 Un0 1qp0 Xb0 1qp0 11X0 1w10 Lz0 1HB0 LX0 1C10 FX0 1w10 Xb0 1qp0 Xb0 1BB0 LX0 1td0 Xb0 1qp0 Xb0 Rf0 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 3Qp0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 6i10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4\",\"America/Havana|HMT CST CDT|5t.A 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Meuu.o 72zu.o ML0 sld0 An0 1Nd0 Db0 1Nd0 An0 6Ep0 An0 1Nd0 An0 JDd0 Mn0 1Ap0 On0 1fd0 11X0 1qN0 WL0 1wp0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 14n0 1ld0 14L0 1kN0 15b0 1kp0 1cL0 1cN0 1fz0 1a10 1fz0 1fB0 11z0 14p0 1nX0 11B0 1nX0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 1a10 1in0 1a10 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 17c0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 11A0 6i00 Rc0 1wo0 U00 1tA0 Rc0 1wo0 U00 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5\",\"America/Hermosillo|LMT MST CST PST MDT|7n.Q 70 60 80 60|0121212131414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0|64e4\",\"America/Indiana/Knox|CST CDT CWT CPT EST|60 50 50 50 50|0101023010101010101010101010101010101040101010101010101010101010101010101010101010101010141010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 3NB0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 3Cn0 8wp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 z8o0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Marengo|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010104545454545414545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 dyN0 11z0 6fd0 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1e6p0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Petersburg|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010104010101010101010101010141014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 njX0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 3Fb0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 19co0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Tell_City|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Vevay|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|010102304545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 kPB0 Awn0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1lnd0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Vincennes|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010454541014545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 g0p0 11z0 1o10 11z0 1qL0 WN0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 caL0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Indiana/Winamac|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|01010230101010101010101010101010101010454541054545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 jrz0 1cL0 1cN0 1cL0 1qhd0 1o00 Rd0 1za0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Inuvik|-00 PST PDDT MST MDT|0 80 60 70 60|0121343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-FnA0 tWU0 1fA0 wPe0 2pz0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|35e2\",\"America/Iqaluit|-00 EWT EPT EST EDDT EDT CST CDT|0 40 40 50 30 40 60 50|01234353535353535353535353535353535353535353567353535353535353535353535353535353535353535353535353535353535353535353535353|-16K00 7nX0 iv0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|67e2\",\"America/Jamaica|KMT EST EDT|57.a 50 40|0121212121212121212121|-2l1uQ.O 2uM1Q.O 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0|94e4\",\"America/Juneau|PST PWT PPT PDT YDT YST AKST AKDT|80 70 70 70 80 90 90 80|01203030303030303030303030403030356767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cM0 1cM0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|33e3\",\"America/Kentucky/Louisville|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101010102301010101010101010101010101454545454545414545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 3Fd0 Nb0 LPd0 11z0 RB0 8x30 iw0 Bb0 10N0 2bB0 8in0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 xz0 gso0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1VA0 LA0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Kentucky/Monticello|CST CDT CWT CPT EST EDT|60 50 50 50 50 40|0101023010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454545454|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 SWp0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/La_Paz|CMT BST -04|4w.A 3w.A 40|012|-1x37r.o 13b0|19e5\",\"America/Lima|LMT -05 -04|58.A 50 40|0121212121212121|-2tyGP.o 1bDzP.o zX0 1aN0 1cL0 1cN0 1cL0 1PrB0 zX0 1O10 zX0 6Gp0 zX0 98p0 zX0|11e6\",\"America/Los_Angeles|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 5Wp1 1VaX 3dA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6\",\"America/Maceio|LMT -03 -02|2m.Q 30 20|012121212121212121212121212121212121212121|-2glxB.8 HdLB.8 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 dMN0 Lz0 8Q10 WL0 1tB0 5z0 2mN0 On0|93e4\",\"America/Managua|MMT CST EST CDT|5J.c 60 50 50|0121313121213131|-1quie.M 1yAMe.M 4mn0 9Up0 Dz0 1K10 Dz0 s3F0 1KH0 DB0 9In0 k8p0 19X0 1o30 11y0|22e5\",\"America/Manaus|LMT -04 -03|40.4 40 30|01212121212121212121212121212121|-2glvX.U HdKX.U 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 dPB0 On0|19e5\",\"America/Martinique|FFMT AST ADT|44.k 40 30|0121|-2mPTT.E 2LPbT.E 19X0|39e4\",\"America/Matamoros|LMT CST CDT|6E 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|45e4\",\"America/Mazatlan|LMT MST CST PST MDT|75.E 70 60 80 60|0121212131414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 otX0 gmN0 P2N0 13Vd0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|44e4\",\"America/Menominee|CST CDT CWT CPT EST|60 50 50 50 50|01010230101041010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 1o10 11z0 LCN0 1fz0 6410 9Jb0 1cM0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|85e2\",\"America/Merida|LMT CST EST CDT|5W.s 60 50 50|0121313131313131313131313131313131313131313131313131313131313131313131313131313131313131|-1UQG0 2q2o0 2hz0 wu30 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|11e5\",\"America/Metlakatla|PST PWT PPT PDT AKST AKDT|80 70 70 70 90 80|0120303030303030303030303030303030454545454545454545454545454545454545454545454|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1hU10 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\"America/Mexico_City|LMT MST CST CDT CWT|6A.A 70 60 50 50|012121232324232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 gEn0 TX0 3xd0 Jb0 6zB0 SL0 e5d0 17b0 1Pff0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6\",\"America/Miquelon|LMT AST -03 -02|3I.E 40 30 20|012323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2mKkf.k 2LTAf.k gQ10 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2\",\"America/Moncton|EST AST ADT AWT APT|50 40 30 30 30|012121212121212121212134121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2IsH0 CwN0 1in0 zAo0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1Nd0 An0 1K10 Lz0 1zB0 NX0 1u10 Wn0 S20 8x50 iu0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14n1 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 ReX 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|64e3\",\"America/Monterrey|LMT CST CDT|6F.g 60 50|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1UQG0 2FjC0 1nX0 i6p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|41e5\",\"America/Montevideo|LMT MMT -04 -03 -0330 -0230 -02 -0130|3I.P 3I.P 40 30 3u 2u 20 1u|012343434343434343434343435353636353636375363636363636363636363636363636363636363636363|-2tRUf.9 sVc0 8jcf.9 1db0 1dcu 1cLu 1dcu 1cLu ircu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu WLu 1fAu 1cLu 1o0u 11zu NAu 3jXu zXu Dq0u 19Xu pcu jz0 cm10 19X0 6tB0 1fbu 3o0u jX0 4vB0 xz0 3Cp0 mmu 1a10 IMu Db0 4c10 uL0 1Nd0 An0 1SN0 uL0 mp0 28L0 iPB0 un0 1SN0 xz0 1zd0 Lz0 1zd0 Rb0 1zd0 On0 1wp0 Rb0 s8p0 1fB0 1ip0 11z0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 14n0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5\",\"America/Toronto|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101012301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 11Wu 1nzu 1fD0 WJ0 1wr0 Nb0 1Ap0 On0 1zd0 On0 1wp0 TX0 1tB0 TX0 1tB0 TX0 1tB0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 4kM0 8x40 iv0 1o10 11z0 1nX0 11z0 1o10 11z0 1o10 1qL0 11D0 1nX0 11B0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e5\",\"America/Nassau|LMT EST EDT|59.u 50 40|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2kNuO.u 26XdO.u 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|24e4\",\"America/New_York|EST EDT EWT EPT|50 40 40 40|01010101010101010101010101010101010101010101010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 11B0 1qL0 1a10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 RB0 8x40 iv0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6\",\"America/Nipigon|EST EDT EWT EPT|50 40 40 40|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TR0 1in0 Rnb0 3je0 8x40 iv0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|16e2\",\"America/Nome|NST NWT NPT BST BDT YST AKST AKDT|b0 a0 a0 b0 a0 90 90 80|012034343434343434343434343434343456767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676767676|-17SX0 8wW0 iB0 Qlb0 52O0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cl0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|38e2\",\"America/Noronha|LMT -02 -01|29.E 20 10|0121212121212121212121212121212121212121|-2glxO.k HdKO.k 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|30e2\",\"America/North_Dakota/Beulah|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/North_Dakota/Center|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101014545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/North_Dakota/New_Salem|MST MDT MWT MPT CST CDT|70 60 60 60 60 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101454545454545454545454545454545454545454545454545454545454545454545454|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14o0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"America/Ojinaga|LMT MST CST CDT MDT|6V.E 70 60 50 60|0121212323241414141414141414141414141414141414141414141414141414141414141414141414141414141|-1UQF0 deL0 8lc0 17c0 10M0 1dd0 2zQN0 1lb0 14p0 1lb0 14q0 1lb0 14p0 1nX0 11B0 1nX0 1fB0 WL0 1fB0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 U10 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\"America/Pangnirtung|-00 AST AWT APT ADDT ADT EDT EST CST CDT|0 40 30 30 20 30 40 50 60 50|012314151515151515151515151515151515167676767689767676767676767676767676767676767676767676767676767676767676767676767676767|-1XiM0 PnG0 8x50 iu0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1o00 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11C0 1nX0 11A0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2\",\"America/Paramaribo|LMT PMT PMT -0330 -03|3E.E 3E.Q 3E.A 3u 30|01234|-2nDUj.k Wqo0.c qanX.I 1yVXN.o|24e4\",\"America/Phoenix|MST MDT MWT|70 60 60|01010202010|-261r0 1nX0 11B0 1nX0 SgN0 4Al1 Ap0 1db0 SWqX 1cL0|42e5\",\"America/Port-au-Prince|PPMT EST EDT|4N 50 40|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-28RHb 2FnMb 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14q0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 i6n0 1nX0 11B0 1nX0 d430 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\"America/Rio_Branco|LMT -05 -04|4v.c 50 40|01212121212121212121212121212121|-2glvs.M HdLs.M 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0 d5X0|31e4\",\"America/Porto_Velho|LMT -04 -03|4f.A 40 30|012121212121212121212121212121|-2glvI.o HdKI.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0|37e4\",\"America/Puerto_Rico|AST AWT APT|40 30 30|0120|-17lU0 7XT0 iu0|24e5\",\"America/Punta_Arenas|SMT -05 -04 -03|4G.K 50 40 30|0102021212121212121232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 blz0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0\",\"America/Rainy_River|CST CDT CWT CPT|60 50 50 50|010123010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TQ0 1in0 Rnb0 3je0 8x30 iw0 19yN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|842\",\"America/Rankin_Inlet|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313131313131313131313131313131313131313131313131313131313131313131|-vDc0 keu0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e2\",\"America/Recife|LMT -03 -02|2j.A 30 20|0121212121212121212121212121212121212121|-2glxE.o HdLE.o 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 nsp0 WL0 1tB0 2L0 2pB0 On0|33e5\",\"America/Regina|LMT MST MDT MWT MPT CST|6W.A 70 60 60 60 60|012121212121212121212121341212121212121212121212121215|-2AD51.o uHe1.o 1in0 s2L0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 66N0 1cL0 1cN0 19X0 1fB0 1cL0 1fB0 1cL0 1cN0 1cL0 M30 8x20 ix0 1ip0 1cL0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 3NB0 1cL0 1cN0|19e4\",\"America/Resolute|-00 CST CDDT CDT EST|0 60 40 50 50|012131313131313131313131313131313131313131313431313131313431313131313131313131313131313131313131313131313131313131313131|-SnA0 GWS0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|229\",\"America/Santarem|LMT -04 -03|3C.M 40 30|0121212121212121212121212121212|-2glwl.c HdLl.c 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 qe10 xb0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 NBd0|21e4\",\"America/Santiago|SMT -05 -04 -03|4G.K 50 40 30|010202121212121212321232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-2q2jh.e fJAh.e 5knG.K 1Vzh.e jRAG.K 1pbh.e 11d0 1oL0 11d0 1oL0 11d0 1oL0 11d0 1pb0 11d0 nHX0 op0 9Bz0 jb0 1oN0 ko0 Qeo0 WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5\",\"America/Santo_Domingo|SDMT EST EDT -0430 AST|4E 50 40 4u 40|01213131313131414|-1ttjk 1lJMk Mn0 6sp0 Lbu 1Cou yLu 1RAu wLu 1QMu xzu 1Q0u xXu 1PAu 13jB0 e00|29e5\",\"America/Sao_Paulo|LMT -03 -02|36.s 30 20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-2glwR.w HdKR.w 1cc0 1e10 1bX0 Ezd0 So0 1vA0 Mn0 1BB0 ML0 1BB0 zX0 pTd0 PX0 2ep0 nz0 1C10 zX0 1C10 LX0 1C10 Mn0 H210 Rb0 1tB0 IL0 1Fd0 FX0 1EN0 FX0 1HB0 Lz0 1EN0 Lz0 1C10 IL0 1HB0 Db0 1HB0 On0 1zd0 On0 1zd0 Lz0 1zd0 Rb0 1wN0 Wn0 1tB0 Rb0 1tB0 WL0 1tB0 Rb0 1zd0 On0 1HB0 FX0 1C10 Lz0 1Ip0 HX0 1zd0 On0 1HB0 IL0 1wp0 On0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0 1HB0 FX0 1HB0 IL0 1HB0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0 IL0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1HB0 FX0 1Kp0 FX0 1HB0 IL0 1EN0 FX0 1HB0 FX0 1HB0 IL0 1EN0|20e6\",\"America/Scoresbysund|LMT -02 -01 +00|1r.Q 20 10 0|0121323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2a5Ww.8 2z5ew.8 1a00 1cK0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452\",\"America/Sitka|PST PWT PPT PDT YST AKST AKDT|80 70 70 70 90 90 80|01203030303030303030303030303030345656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-17T20 8x10 iy0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 co0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|90e2\",\"America/St_Johns|NST NDT NST NDT NWT NPT NDDT|3u.Q 2u.Q 3u 2u 2u 2u 1u|01010101010101010101010101010101010102323232323232324523232323232323232323232323232323232323232323232323232323232323232323232323232323232326232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-28oit.8 14L0 1nB0 1in0 1gm0 Dz0 1JB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 19X0 1fB0 1cL0 1fB0 19X0 1fB0 19X0 10O0 eKX.8 19X0 1iq0 WL0 1qN0 WL0 1qN0 WL0 1tB0 TX0 1tB0 WL0 1qN0 WL0 1qN0 7UHu itu 1tB0 WL0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1tB0 WL0 1ld0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14n1 1lb0 14p0 1nW0 11C0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\"America/Swift_Current|LMT MST MDT MWT MPT CST|7b.k 70 60 60 60 60|012134121212121212121215|-2AD4M.E uHdM.E 1in0 UGp0 8x20 ix0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 isN0 1cL0 3Cp0 1cL0 1cN0 11z0 1qN0 WL0 pMp0|16e3\",\"America/Tegucigalpa|LMT CST CDT|5M.Q 60 50|01212121|-1WGGb.8 2ETcb.8 WL0 1qN0 WL0 GRd0 AL0|11e5\",\"America/Thule|LMT AST ADT|4z.8 40 30|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a5To.Q 31NBo.Q 1cL0 1cN0 1cL0 1fB0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|656\",\"America/Thunder_Bay|CST EST EWT EPT EDT|60 50 40 40 40|0123141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141414141|-2q5S0 1iaN0 8x40 iv0 XNB0 1cL0 1cN0 1fz0 1cN0 1cL0 3Cp0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4\",\"America/Vancouver|PST PDT PWT PPT|80 70 70 70|0102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-25TO0 1in0 UGp0 8x10 iy0 1o10 17b0 1ip0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5\",\"America/Whitehorse|YST YDT YWT YPT YDDT PST PDT|90 80 80 80 70 80 70|0101023040565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565656565|-25TN0 1in0 1o10 13V0 Ser0 8x00 iz0 LCL0 1fA0 3NA0 vrd0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e3\",\"America/Winnipeg|CST CDT CWT CPT|60 50 50 50|010101023010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aIi0 WL0 3ND0 1in0 Jap0 Rb0 aCN0 8x30 iw0 1tB0 11z0 1ip0 11z0 1o10 11z0 1o10 11z0 1rd0 10L0 1op0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 1cL0 1cN0 11z0 6i10 WL0 6i10 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1o00 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1o00 11A0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|66e4\",\"America/Yakutat|YST YWT YPT YDT AKST AKDT|90 80 80 80 90 80|01203030303030303030303030303030304545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-17T10 8x00 iz0 Vo10 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 cn0 10q0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|642\",\"America/Yellowknife|-00 MST MWT MPT MDDT MDT|0 70 60 60 50 60|012314151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151515151|-1pdA0 hix0 8x20 ix0 LCL0 1fA0 zgO0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|19e3\",\"Antarctica/Casey|-00 +08 +11|0 -80 -b0|01212121|-2q00 1DjS0 T90 40P0 KL0 blz0 3m10|10\",\"Antarctica/Davis|-00 +07 +05|0 -70 -50|01012121|-vyo0 iXt0 alj0 1D7v0 VB0 3Wn0 KN0|70\",\"Antarctica/DumontDUrville|-00 +10|0 -a0|0101|-U0o0 cfq0 bFm0|80\",\"Antarctica/Macquarie|AEST AEDT -00 +11|-a0 -b0 0 -b0|0102010101010101010101010101010101010101010101010101010101010101010101010101010101010101013|-29E80 19X0 4SL0 1ayy0 Lvs0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0|1\",\"Antarctica/Mawson|-00 +06 +05|0 -60 -50|012|-CEo0 2fyk0|60\",\"Pacific/Auckland|NZMT NZST NZST NZDT|-bu -cu -c0 -d0|01020202020202020202020202023232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1GCVu Lz0 1tB0 11zu 1o0u 11zu 1o0u 11zu 1o0u 14nu 1lcu 14nu 1lcu 1lbu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1nXu 11Au 1qLu WMu 1qLu 11Au 1n1bu IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5\",\"Antarctica/Palmer|-00 -03 -04 -02|0 30 40 20|0121212121213121212121212121212121212121212121212121212121212121212121212121212121|-cao0 nD0 1vd0 SL0 1vd0 17z0 1cN0 1fz0 1cN0 1cL0 1cN0 asn0 Db0 jsN0 14N0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40\",\"Antarctica/Rothera|-00 -03|0 30|01|gOo0|130\",\"Antarctica/Syowa|-00 +03|0 -30|01|-vs00|20\",\"Antarctica/Troll|-00 +00 +02|0 0 -20|01212121212121212121212121212121212121212121212121212121212121212121|1puo0 hd0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40\",\"Antarctica/Vostok|-00 +06|0 -60|01|-tjA0|25\",\"Europe/Oslo|CET CEST|-10 -20|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2awM0 Qm0 W6o0 5pf0 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 wJc0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1qM0 WM0 zpc0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e4\",\"Asia/Riyadh|LMT +03|-36.Q -30|01|-TvD6.Q|57e5\",\"Asia/Almaty|LMT +05 +06 +07|-57.M -50 -60 -70|012323232323232323232321232323232323232323232323232|-1Pc57.M eUo7.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|15e5\",\"Asia/Amman|LMT EET EEST|-2n.I -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1yW2n.I 1HiMn.I KL0 1oN0 11b0 1oN0 11b0 1pd0 1dz0 1cp0 11b0 1op0 11b0 fO10 1db0 1e10 1cL0 1cN0 1cL0 1cN0 1fz0 1pd0 10n0 1ld0 14n0 1hB0 15b0 1ip0 19X0 1cN0 1cL0 1cN0 17b0 1ld0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1So0 y00 1fc0 1dc0 1co0 1dc0 1cM0 1cM0 1cM0 1o00 11A0 1lc0 17c0 1cM0 1cM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e5\",\"Asia/Anadyr|LMT +12 +13 +14 +11|-bN.U -c0 -d0 -e0 -b0|01232121212121212121214121212121212121212121212121212121212141|-1PcbN.U eUnN.U 23CL0 1db0 2q10 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|13e3\",\"Asia/Aqtau|LMT +04 +05 +06|-3l.4 -40 -50 -60|012323232323232323232123232312121212121212121212|-1Pc3l.4 eUnl.4 24PX0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|15e4\",\"Asia/Aqtobe|LMT +04 +05 +06|-3M.E -40 -50 -60|0123232323232323232321232323232323232323232323232|-1Pc3M.E eUnM.E 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0|27e4\",\"Asia/Ashgabat|LMT +04 +05 +06|-3R.w -40 -50 -60|0123232323232323232323212|-1Pc3R.w eUnR.w 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0|41e4\",\"Asia/Atyrau|LMT +03 +05 +06 +04|-3r.I -30 -50 -60 -40|01232323232323232323242323232323232324242424242|-1Pc3r.I eUor.I 24PW0 2pX0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 2sp0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0\",\"Asia/Baghdad|BMT +03 +04|-2V.A -30 -40|012121212121212121212121212121212121212121212121212121|-26BeV.A 2ACnV.A 11b0 1cp0 1dz0 1dd0 1db0 1cN0 1cp0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1de0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0 1dc0 1dc0 1cM0 1dc0 1cM0 1dc0 1cM0 1dc0|66e5\",\"Asia/Qatar|LMT +04 +03|-3q.8 -40 -30|012|-21Jfq.8 27BXq.8|96e4\",\"Asia/Baku|LMT +03 +04 +05|-3j.o -30 -40 -50|01232323232323232323232123232323232323232323232323232323232323232|-1Pc3j.o 1jUoj.o WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 9Je0 1o00 11z0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5\",\"Asia/Bangkok|BMT +07|-6G.4 -70|01|-218SG.4|15e6\",\"Asia/Barnaul|LMT +06 +07 +08|-5z -60 -70 -80|0123232323232323232323212323232321212121212121212121212121212121212|-21S5z pCnz 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 p90 LE0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\"Asia/Beirut|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-21aq0 1on0 1410 1db0 19B0 1in0 1ip0 WL0 1lQp0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 q6N0 En0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1op0 11b0 dA10 17b0 1iN0 17b0 1iN0 17b0 1iN0 17b0 1vB0 SL0 1mp0 13z0 1iN0 17b0 1iN0 17b0 1jd0 12n0 1a10 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5\",\"Asia/Bishkek|LMT +05 +06 +07|-4W.o -50 -60 -70|012323232323232323232321212121212121212121212121212|-1Pc4W.o eUnW.o 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2e00 1tX0 17b0 1ip0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1cPu 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0|87e4\",\"Asia/Brunei|LMT +0730 +08|-7D.E -7u -80|012|-1KITD.E gDc9.E|42e4\",\"Asia/Kolkata|MMT IST +0630|-5l.a -5u -6u|012121|-2zOtl.a 1r2LP.a 1un0 HB0 7zX0|15e6\",\"Asia/Chita|LMT +08 +09 +10|-7x.Q -80 -90 -a0|012323232323232323232321232323232323232323232323232323232323232312|-21Q7x.Q pAnx.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3re0|33e4\",\"Asia/Choibalsan|LMT +07 +08 +10 +09|-7C -70 -80 -a0 -90|0123434343434343434343434343434343434343434343424242|-2APHC 2UkoC cKn0 1da0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 3Db0 h1f0 1cJ0 1cP0 1cJ0|38e3\",\"Asia/Shanghai|CST CDT|-80 -90|01010101010101010|-1c1I0 LX0 16p0 1jz0 1Myp0 Rb0 1o10 11z0 1o10 11z0 1qN0 11z0 1o10 11z0 1o10 11z0|23e6\",\"Asia/Colombo|MMT +0530 +06 +0630|-5j.w -5u -60 -6u|01231321|-2zOtj.w 1rFbN.w 1zzu 7Apu 23dz0 11zu n3cu|22e5\",\"Asia/Dhaka|HMT +0630 +0530 +06 +07|-5R.k -6u -5u -60 -70|0121343|-18LFR.k 1unn.k HB0 m6n0 2kxbu 1i00|16e6\",\"Asia/Damascus|LMT EET EEST|-2p.c -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-21Jep.c Hep.c 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1xRB0 11X0 1oN0 10L0 1pB0 11b0 1oN0 10L0 1mp0 13X0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 1pd0 11b0 1oN0 Nb0 1AN0 Nb0 bcp0 19X0 1gp0 19X0 3ld0 1xX0 Vd0 1Bz0 Sp0 1vX0 10p0 1dz0 1cN0 1cL0 1db0 1db0 1g10 1an0 1ap0 1db0 1fd0 1db0 1cN0 1db0 1dd0 1db0 1cp0 1dz0 1c10 1dX0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1db0 1cN0 1db0 1cN0 19z0 1fB0 1qL0 11B0 1on0 Wp0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|26e5\",\"Asia/Dili|LMT +08 +09|-8m.k -80 -90|01212|-2le8m.k 1dnXm.k 1nfA0 Xld0|19e4\",\"Asia/Dubai|LMT +04|-3F.c -40|01|-21JfF.c|39e5\",\"Asia/Dushanbe|LMT +05 +06 +07|-4z.c -50 -60 -70|012323232323232323232321|-1Pc4z.c eUnz.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2hB0|76e4\",\"Asia/Famagusta|LMT EET EEST +03|-2f.M -20 -30 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212312121212121212121212121212121212121212121|-1Vc2f.M 2a3cf.M 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"Asia/Gaza|EET EEST IST IDT|-20 -30 -20 -30|010101010101010101010101010101012323232323232323232323232320101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 11z0 1o10 14o0 1lA1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|18e5\",\"Asia/Hebron|EET EEST IST IDT|-20 -30 -20 -30|01010101010101010101010101010101232323232323232323232323232010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-1c2q0 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 pBd0 Vz0 1oN0 11b0 1oO0 10N0 1pz0 10N0 1pb0 10N0 1pb0 10N0 1pb0 10N0 1pz0 10N0 1pb0 10N0 1pb0 11d0 1oL0 dW0 hfB0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 M10 C00 17c0 1io0 17c0 1io0 17c0 1o00 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 17c0 1io0 18N0 1bz0 19z0 1gp0 1610 1iL0 12L0 1mN0 14o0 1lc0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1qL0|25e4\",\"Asia/Ho_Chi_Minh|LMT PLMT +07 +08 +09|-76.E -76.u -70 -80 -90|0123423232|-2yC76.E bK00.a 1h7b6.u 5lz0 18o0 3Oq0 k5b0 aW00 BAM0|90e5\",\"Asia/Hong_Kong|LMT HKT HKST JST|-7A.G -80 -90 -90|0121312121212121212121212121212121212121212121212121212121212121212121|-2CFHA.G 1sEP6.G 1cL0 ylu 93X0 1qQu 1tX0 Rd0 1In0 NB0 1cL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1kL0 14N0 1nX0 U10 1tz0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 Rd0 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 17d0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 s10 1Vz0 1cN0 1cL0 1cN0 1cL0 6fd0 14n0|73e5\",\"Asia/Hovd|LMT +06 +07 +08|-66.A -60 -70 -80|012323232323232323232323232323232323232323232323232|-2APG6.A 2Uko6.A cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|81e3\",\"Asia/Irkutsk|IMT +07 +08 +09|-6V.5 -70 -80 -90|01232323232323232323232123232323232323232323232323232323232323232|-21zGV.5 pjXV.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\"Europe/Istanbul|IMT EET EEST +04 +03|-1U.U -20 -30 -40 -30|012121212121212121212121212121212121212121212121212121234343434342121212121212121212121212121212121212121212121212121212121212124|-2ogNU.U dzzU.U 11b0 8tB0 1on0 1410 1db0 19B0 1in0 3Rd0 Un0 1oN0 11b0 zSp0 CL0 mN0 1Vz0 1gN0 1pz0 5Rd0 1fz0 1yp0 ML0 1kp0 17b0 1ip0 17b0 1fB0 19X0 1jB0 18L0 1ip0 17z0 qdd0 xX0 3S10 Tz0 dA10 11z0 1o10 11z0 1qN0 11z0 1ze0 11B0 WM0 1qO0 WI0 1nX0 1rB0 10L0 11B0 1in0 17d0 1in0 2pX0 19E0 1fU0 16Q0 1iI0 16Q0 1iI0 1Vd0 pb0 3Kp0 14o0 1de0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1a00 1fA0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WO0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6\",\"Asia/Jakarta|BMT +0720 +0730 +09 +08 WIB|-77.c -7k -7u -90 -80 -70|01232425|-1Q0Tk luM0 mPzO 8vWu 6kpu 4PXu xhcu|31e6\",\"Asia/Jayapura|LMT +09 +0930 WIT|-9m.M -90 -9u -90|0123|-1uu9m.M sMMm.M L4nu|26e4\",\"Asia/Jerusalem|JMT IST IDT IDDT|-2k.E -20 -30 -40|01212121212132121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-26Bek.E SyMk.E 5Rb0 10r0 1px0 10N0 1pz0 16p0 1jB0 16p0 1jx0 3LB0 Em0 or0 1cn0 1dB0 16n0 10O0 1ja0 1tC0 14o0 1cM0 1a00 11A0 1Na0 An0 1MP0 AJ0 1Kp0 LC0 1oo0 Wl0 EQN0 Db0 1fB0 Rb0 npB0 11z0 1C10 IL0 1s10 10n0 1o10 WL0 1zd0 On0 1ld0 11z0 1o10 14n0 1o10 14n0 1nd0 12n0 1nd0 Xz0 1q10 12n0 1hB0 1dX0 1ep0 1aL0 1eN0 17X0 1nf0 11z0 1tB0 19W0 1e10 17b0 1ep0 1gL0 18N0 1fz0 1eN0 17b0 1gq0 1gn0 19d0 1dz0 1c10 17X0 1hB0 1gn0 19d0 1dz0 1c10 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4\",\"Asia/Kabul|+04 +0430|-40 -4u|01|-10Qs0|46e5\",\"Asia/Kamchatka|LMT +11 +12 +13|-ay.A -b0 -c0 -d0|012323232323232323232321232323232323232323232323232323232323212|-1SLKy.A ivXy.A 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|18e4\",\"Asia/Karachi|LMT +0530 +0630 +05 PKT PKST|-4s.c -5u -6u -50 -50 -60|012134545454|-2xoss.c 1qOKW.c 7zX0 eup0 LqMu 1fy00 1cL0 dK10 11b0 1610 1jX0|24e6\",\"Asia/Urumqi|LMT +06|-5O.k -60|01|-1GgtO.k|32e5\",\"Asia/Kathmandu|LMT +0530 +0545|-5F.g -5u -5J|012|-21JhF.g 2EGMb.g|12e5\",\"Asia/Khandyga|LMT +08 +09 +10 +11|-92.d -80 -90 -a0 -b0|0123232323232323232323212323232323232323232323232343434343434343432|-21Q92.d pAp2.d 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 qK0 yN0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|66e2\",\"Asia/Krasnoyarsk|LMT +06 +07 +08|-6b.q -60 -70 -80|01232323232323232323232123232323232323232323232323232323232323232|-21Hib.q prAb.q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\"Asia/Kuala_Lumpur|SMT +07 +0720 +0730 +09 +08|-6T.p -70 -7k -7u -90 -80|0123435|-2Bg6T.p 17anT.p l5XE 17bO 8Fyu 1so1u|71e5\",\"Asia/Kuching|LMT +0730 +08 +0820 +09|-7l.k -7u -80 -8k -90|0123232323232323242|-1KITl.k gDbP.k 6ynu AnE 1O0k AnE 1NAk AnE 1NAk AnE 1NAk AnE 1O0k AnE 1NAk AnE pAk 8Fz0|13e4\",\"Asia/Macau|LMT CST CDT|-7y.k -80 -90|012121212121212121212121212121212121212121|-2le80 1XO3u 1wn0 Rd0 1wn0 R9u 1wqu U10 1tz0 TVu 1tz0 17gu 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cOu 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cJu 1cL0 1cN0 1fz0 1cN0 1cL0|57e4\",\"Asia/Magadan|LMT +10 +11 +12|-a3.c -a0 -b0 -c0|012323232323232323232321232323232323232323232323232323232323232312|-1Pca3.c eUo3.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Cq0|95e3\",\"Asia/Makassar|LMT MMT +08 +09 WITA|-7V.A -7V.A -80 -90 -80|01234|-21JjV.A vfc0 myLV.A 8ML0|15e5\",\"Asia/Manila|+08 +09|-80 -90|010101010|-1kJI0 AL0 cK10 65X0 mXB0 vX0 VK10 1db0|24e6\",\"Asia/Nicosia|LMT EET EEST|-2d.s -20 -30|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1Vc2d.s 2a3cd.s 1cL0 1qp0 Xz0 19B0 19X0 1fB0 1db0 1cp0 1cL0 1fB0 19X0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1o30 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|32e4\",\"Asia/Novokuznetsk|LMT +06 +07 +08|-5M.M -60 -70 -80|012323232323232323232321232323232323232323232323232323232323212|-1PctM.M eULM.M 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|55e4\",\"Asia/Novosibirsk|LMT +06 +07 +08|-5v.E -60 -70 -80|0123232323232323232323212323212121212121212121212121212121212121212|-21Qnv.E pAFv.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 ml0 Os0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 4eN0|15e5\",\"Asia/Omsk|LMT +05 +06 +07|-4R.u -50 -60 -70|01232323232323232323232123232323232323232323232323232323232323232|-224sR.u pMLR.u 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|12e5\",\"Asia/Oral|LMT +03 +05 +06 +04|-3p.o -30 -50 -60 -40|01232323232323232424242424242424242424242424242|-1Pc3p.o eUop.o 23CK0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 1cM0 IM0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|27e4\",\"Asia/Pontianak|LMT PMT +0730 +09 +08 WITA WIB|-7h.k -7h.k -7u -90 -80 -80 -70|012324256|-2ua7h.k XE00 munL.k 8Rau 6kpu 4PXu xhcu Wqnu|23e4\",\"Asia/Pyongyang|LMT KST JST KST|-8n -8u -90 -90|012313|-2um8n 97XR 1lTzu 2Onc0 6BAu|29e5\",\"Asia/Qyzylorda|LMT +04 +05 +06|-4l.Q -40 -50 -60|0123232323232323232323232323232323232323232323|-1Pc4l.Q eUol.Q 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 3ao0 1EM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0|73e4\",\"Asia/Rangoon|RMT +0630 +09|-6o.L -6u -90|0121|-21Jio.L SmnS.L 7j9u|48e5\",\"Asia/Sakhalin|LMT +09 +11 +12 +10|-9u.M -90 -b0 -c0 -a0|01232323232323232323232423232323232424242424242424242424242424242|-2AGVu.M 1BoMu.M 1qFa0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 2pB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0|58e4\",\"Asia/Samarkand|LMT +04 +05 +06|-4r.R -40 -50 -60|01232323232323232323232|-1Pc4r.R eUor.R 23CL0 3Db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0|36e4\",\"Asia/Seoul|LMT KST JST KST KDT KDT|-8r.Q -8u -90 -90 -9u -a0|0123141414141414135353|-2um8r.Q 97XV.Q 1m1zu kKo0 2I0u OL0 1FB0 Rb0 1qN0 TX0 1tB0 TX0 1tB0 TX0 1tB0 TX0 2ap0 12FBu 11A0 1o00 11A0|23e6\",\"Asia/Srednekolymsk|LMT +10 +11 +12|-ae.Q -a0 -b0 -c0|01232323232323232323232123232323232323232323232323232323232323232|-1Pcae.Q eUoe.Q 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|35e2\",\"Asia/Taipei|CST JST CDT|-80 -90 -90|01020202020202020202020202020202020202020|-1iw80 joM0 1yo0 Tz0 1ip0 1jX0 1cN0 11b0 1oN0 11b0 1oN0 11b0 1oN0 11b0 10N0 1BX0 10p0 1pz0 10p0 1pz0 10p0 1db0 1dd0 1db0 1cN0 1db0 1cN0 1db0 1cN0 1db0 1BB0 ML0 1Bd0 ML0 uq10 1db0 1cN0 1db0 97B0 AL0|74e5\",\"Asia/Tashkent|LMT +05 +06 +07|-4B.b -50 -60 -70|012323232323232323232321|-1Pc4B.b eUnB.b 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0|23e5\",\"Asia/Tbilisi|TBMT +03 +04 +05|-2X.b -30 -40 -50|0123232323232323232323212121232323232323232323212|-1Pc2X.b 1jUnX.b WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cK0 1cL0 1cN0 1cL0 1cN0 2pz0 1cL0 1fB0 3Nz0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 An0 Os0 WM0|11e5\",\"Asia/Tehran|LMT TMT +0330 +04 +05 +0430|-3p.I -3p.I -3u -40 -50 -4u|01234325252525252525252525252525252525252525252525252525252525252525252525252525252525252525252525252|-2btDp.I 1d3c0 1huLT.I TXu 1pz0 sN0 vAu 1cL0 1dB0 1en0 pNB0 UL0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 64p0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6\",\"Asia/Thimphu|LMT +0530 +06|-5W.A -5u -60|012|-Su5W.A 1BGMs.A|79e3\",\"Asia/Tokyo|JST JDT|-90 -a0|010101010|-QJJ0 Rb0 1ld0 14n0 1zd0 On0 1zd0 On0|38e6\",\"Asia/Tomsk|LMT +06 +07 +08|-5D.P -60 -70 -80|0123232323232323232323212323232323232323232323212121212121212121212|-21NhD.P pxzD.P 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 co0 1bB0 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3Qp0|10e5\",\"Asia/Ulaanbaatar|LMT +07 +08 +09|-77.w -70 -80 -90|012323232323232323232323232323232323232323232323232|-2APH7.w 2Uko7.w cKn0 1db0 1dd0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 6hD0 11z0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 kEp0 1cJ0 1cP0 1cJ0|12e5\",\"Asia/Ust-Nera|LMT +08 +09 +12 +11 +10|-9w.S -80 -90 -c0 -b0 -a0|012343434343434343434345434343434343434343434343434343434343434345|-21Q9w.S pApw.S 23CL0 1d90 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 17V0 7zD0|65e2\",\"Asia/Vladivostok|LMT +09 +10 +11|-8L.v -90 -a0 -b0|01232323232323232323232123232323232323232323232323232323232323232|-1SJIL.v itXL.v 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|60e4\",\"Asia/Yakutsk|LMT +08 +09 +10|-8C.W -80 -90 -a0|01232323232323232323232123232323232323232323232323232323232323232|-21Q8C.W pAoC.W 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|28e4\",\"Asia/Yekaterinburg|LMT PMT +04 +05 +06|-42.x -3J.5 -40 -50 -60|012343434343434343434343234343434343434343434343434343434343434343|-2ag42.x 7mQh.s qBvJ.5 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|14e5\",\"Asia/Yerevan|LMT +03 +04 +05|-2W -30 -40 -50|0123232323232323232323212121212323232323232323232323232323232|-1Pc2W 1jUnW WCL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 2pB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 4RX0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|13e5\",\"Atlantic/Azores|HMT -02 -01 +00 WET|1S.w 20 10 0 0|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121232323232323232323232323232323234323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-2ldW0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cL0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4\",\"Atlantic/Bermuda|LMT AST ADT|4j.i 40 30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1BnRE.G 1LTbE.G 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|65e3\",\"Atlantic/Canary|LMT -01 WET WEST|11.A 10 0 -10|01232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-1UtaW.o XPAW.o 1lAK0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Atlantic/Cape_Verde|LMT -02 -01|1y.4 20 10|01212|-2ldW0 1eEo0 7zX0 1djf0|50e4\",\"Atlantic/Faroe|LMT WET WEST|r.4 0 -10|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2uSnw.U 2Wgow.U 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|49e3\",\"Atlantic/Madeira|FMT -01 +00 +01 WET WEST|17.A 10 0 -10 0 -10|01212121212121212121212121212121212121212121232123212321232121212121212121212121212121212121212121454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2ldX0 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 qIl0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e4\",\"Atlantic/Reykjavik|LMT -01 +00 GMT|1s 10 0 0|012121212121212121212121212121212121212121212121212121212121212121213|-2uWmw mfaw 1Bd0 ML0 1LB0 Cn0 1LB0 3fX0 C10 HrX0 1cO0 LB0 1EL0 LA0 1C00 Oo0 1wo0 Rc0 1wo0 Rc0 1wo0 Rc0 1zc0 Oo0 1zc0 14o0 1lc0 14o0 1lc0 14o0 1o00 11A0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1lc0 14o0 1o00 14o0|12e4\",\"Atlantic/South_Georgia|-02|20|0||30\",\"Atlantic/Stanley|SMT -04 -03 -02|3P.o 40 30 20|012121212121212323212121212121212121212121212121212121212121212121212|-2kJw8.A 12bA8.A 19X0 1fB0 19X0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1fB0 Cn0 1Cc10 WL0 1qL0 U10 1tz0 2mN0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 U10 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1tz0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qL0 WN0 1qN0 U10 1wn0 Rd0 1wn0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1tz0 U10 1wn0 U10 1tz0 U10 1tz0 U10|21e2\",\"Australia/Sydney|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5\",\"Australia/Adelaide|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 WM0 1qM0 Rc0 1zc0 U00 1tA0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5\",\"Australia/Brisbane|AEST AEDT|-a0 -b0|01010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0|20e5\",\"Australia/Broken_Hill|ACST ACDT|-9u -au|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 14o0 1o00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1tA0 WM0 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|18e3\",\"Australia/Currie|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|746\",\"Australia/Darwin|ACST ACDT|-9u -au|010101010|-293lt xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0|12e4\",\"Australia/Eucla|+0845 +0945|-8J -9J|0101010101010101010|-293kI xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|368\",\"Australia/Hobart|AEST AEDT|-a0 -b0|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-29E80 19X0 10jd0 yL0 1cN0 1cL0 1fB0 19X0 VfB0 1cM0 1o00 Rc0 1wo0 Rc0 1wo0 U00 1wo0 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 11A0 1qM0 WM0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1wo0 WM0 1tA0 WM0 1tA0 U00 1tA0 U00 1tA0 11A0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 11A0 1o00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|21e4\",\"Australia/Lord_Howe|AEST +1030 +1130 +11|-a0 -au -bu -b0|0121212121313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313131313|raC0 1zdu Rb0 1zd0 On0 1zd0 On0 1zd0 On0 1zd0 TXu 1qMu WLu 1tAu WLu 1tAu TXu 1tAu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu 11zu 1o0u 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 11Au 1nXu 1qMu 11zu 1o0u 11zu 1o0u 11zu 1qMu WLu 1qMu 11zu 1o0u WLu 1qMu 14nu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1fzu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347\",\"Australia/Lindeman|AEST AEDT|-a0 -b0|010101010101010101010|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 H1A0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0|10\",\"Australia/Melbourne|AEST AEDT|-a0 -b0|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101|-293lX xcX 10jd0 yL0 1cN0 1cL0 1fB0 19X0 17c10 LA0 1C00 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 U00 1qM0 WM0 1qM0 11A0 1tA0 U00 1tA0 U00 1tA0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 11A0 1o00 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 14o0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|39e5\",\"Australia/Perth|AWST AWDT|-80 -90|0101010101010101010|-293jX xcX 10jd0 yL0 1cN0 1cL0 1gSp0 Oo0 l5A0 Oo0 iJA0 G00 zU00 IM0 1qM0 11A0 1o00 11A0|18e5\",\"CET|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"Pacific/Easter|EMT -07 -06 -05|7h.s 70 60 50|012121212121212121212121212123232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323|-1uSgG.w 1s4IG.w WL0 1zd0 On0 1ip0 11z0 1o10 11z0 1qN0 WL0 1ld0 14n0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 2pA0 11z0 1o10 11z0 1qN0 WL0 1qN0 WL0 1qN0 1cL0 1cN0 11z0 1o10 11z0 1qN0 WL0 1fB0 19X0 1qN0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1ip0 1fz0 1fB0 11z0 1qN0 WL0 1qN0 WL0 1qN0 WL0 1qN0 11z0 1o10 11z0 1o10 11z0 1qN0 WL0 1qN0 17b0 1ip0 11z0 1o10 19X0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Dd0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2\",\"CST6CDT|CST CDT CWT CPT|60 50 50 50|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261s0 1nX0 11B0 1nX0 SgN0 8x30 iw0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"EET|EET EEST|-20 -30|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"Europe/Dublin|DMT IST GMT BST IST|p.l -y.D 0 -10 -10|01232323232324242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242|-2ax9y.D Rc0 1fzy.D 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 g600 14o0 1wo0 17c0 1io0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"EST|EST|50|0|\",\"EST5EDT|EST EDT EWT EPT|50 40 40 40|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261t0 1nX0 11B0 1nX0 SgN0 8x40 iv0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"Etc/GMT-0|GMT|0|0|\",\"Etc/GMT-1|+01|-10|0|\",\"Pacific/Port_Moresby|+10|-a0|0||25e4\",\"Pacific/Pohnpei|+11|-b0|0||34e3\",\"Pacific/Tarawa|+12|-c0|0||29e3\",\"Etc/GMT-13|+13|-d0|0|\",\"Etc/GMT-14|+14|-e0|0|\",\"Etc/GMT-2|+02|-20|0|\",\"Etc/GMT-3|+03|-30|0|\",\"Etc/GMT-4|+04|-40|0|\",\"Etc/GMT-5|+05|-50|0|\",\"Etc/GMT-6|+06|-60|0|\",\"Indian/Christmas|+07|-70|0||21e2\",\"Etc/GMT-8|+08|-80|0|\",\"Pacific/Palau|+09|-90|0||21e3\",\"Etc/GMT+1|-01|10|0|\",\"Etc/GMT+10|-10|a0|0|\",\"Etc/GMT+11|-11|b0|0|\",\"Etc/GMT+12|-12|c0|0|\",\"Etc/GMT+3|-03|30|0|\",\"Etc/GMT+4|-04|40|0|\",\"Etc/GMT+5|-05|50|0|\",\"Etc/GMT+6|-06|60|0|\",\"Etc/GMT+7|-07|70|0|\",\"Etc/GMT+8|-08|80|0|\",\"Etc/GMT+9|-09|90|0|\",\"Etc/UCT|UCT|0|0|\",\"Etc/UTC|UTC|0|0|\",\"Europe/Amsterdam|AMT NST +0120 +0020 CEST CET|-j.w -1j.w -1k -k -20 -10|010101010101010101010101010101010101010101012323234545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545|-2aFcj.w 11b0 1iP0 11A0 1io0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1co0 1io0 1yo0 Pc0 1a00 1fA0 1Bc0 Mo0 1tc0 Uo0 1tA0 U00 1uo0 W00 1s00 VA0 1so0 Vc0 1sM0 UM0 1wo0 Rc0 1u00 Wo0 1rA0 W00 1s00 VA0 1sM0 UM0 1w00 fV0 BCX.w 1tA0 U00 1u00 Wo0 1sm0 601k WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|16e5\",\"Europe/Andorra|WET CET CEST|0 -10 -20|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-UBA0 1xIN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|79e3\",\"Europe/Astrakhan|LMT +03 +04 +05|-3c.c -30 -40 -50|012323232323232323212121212121212121212121212121212121212121212|-1Pcrc.c eUMc.c 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\"Europe/Athens|AMT EET EEST CEST CET|-1y.Q -20 -30 -20 -10|012123434121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2a61x.Q CNbx.Q mn0 kU10 9b0 3Es0 Xa0 1fb0 1dd0 k3X0 Nz0 SCp0 1vc0 SO0 1cM0 1a00 1ao0 1fc0 1a10 1fG0 1cg0 1dX0 1bX0 1cQ0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5\",\"Europe/London|GMT BST BDST|0 -10 -20|0101010101010101010101010101010101010101010101010121212121210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1a00 1qM0 WM0 1qM0 11A0 1o00 WM0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1tA0 IM0 90o0 U00 1tA0 U00 1tA0 U00 1tA0 U00 1tA0 WM0 1qM0 WM0 1qM0 WM0 1tA0 U00 1tA0 U00 1tA0 11z0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 14o0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6\",\"Europe/Belgrade|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19RC0 3IP0 WM0 1fA0 1cM0 1cM0 1rc0 Qo0 1vmo0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Berlin|CET CEST CEMT|-10 -20 -30|01010101010101210101210101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 kL0 Nc0 m10 WM0 1ao0 1cp0 dX0 jz0 Dd0 1io0 17c0 1fA0 1a00 1ehA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e5\",\"Europe/Prague|CET CEST GMT|-10 -20 0|01010101010101010201010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 1cM0 1qM0 11c0 mp0 xA0 mn0 17c0 1io0 17c0 1fc0 1ao0 1bNc0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|13e5\",\"Europe/Brussels|WET CET CEST WEST|0 -10 -20 -10|0121212103030303030303030303030303030303030303030303212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ehc0 3zX0 11c0 1iO0 11A0 1o00 11A0 my0 Ic0 1qM0 Rc0 1EM0 UM0 1u00 10o0 1io0 1io0 17c0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a30 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 y00 5Wn0 WM0 1fA0 1cM0 16M0 1iM0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|21e5\",\"Europe/Bucharest|BMT EET EEST|-1I.o -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1xApI.o 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Axc0 On0 1fA0 1a10 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|19e5\",\"Europe/Budapest|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1ip0 17b0 1op0 1tb0 Q2m0 3Ne0 WM0 1fA0 1cM0 1cM0 1oJ0 1dc0 1030 1fA0 1cM0 1cM0 1cM0 1cM0 1fA0 1a00 1iM0 1fA0 8Ha0 Rb0 1wN0 Rb0 1BB0 Lz0 1C20 LB0 SNX0 1a10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\"Europe/Zurich|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-19Lc0 11A0 1o00 11A0 1xG10 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e4\",\"Europe/Chisinau|CMT BMT EET EEST CEST CET MSK MSD|-1T -1I.o -20 -30 -20 -10 -30 -40|012323232323232323234545467676767676767676767323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232|-26jdT wGMa.A 20LI.o RA0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 27A0 2en0 39g0 WM0 1fA0 1cM0 V90 1t7z0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 gL0 WO0 1cM0 1cM0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11D0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4\",\"Europe/Copenhagen|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 Tz0 VuO0 60q0 WM0 1fA0 1cM0 1cM0 1cM0 S00 1HA0 Nc0 1C00 Dc0 1Nc0 Ao0 1h5A0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Gibraltar|GMT BST BDST CET CEST|0 -10 -20 -10 -20|010101010101010101010101010101010101010101010101012121212121010121010101010101010101034343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-2axa0 Rc0 1fA0 14M0 1fc0 1g00 1co0 1dc0 1co0 1oo0 1400 1dc0 19A0 1io0 1io0 WM0 1o00 14o0 1o00 17c0 1io0 17c0 1fA0 1a00 1lc0 17c0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1cM0 1io0 17c0 1fA0 1a00 1io0 17c0 1io0 17c0 1fA0 1a00 1io0 1qM0 Dc0 2Rz0 Dc0 1zc0 Oo0 1zc0 Rc0 1wo0 17c0 1iM0 FA0 xB0 1fA0 1a00 14o0 bb0 LA0 xB0 Rc0 1wo0 11A0 1o00 17c0 1fA0 1a00 1fA0 1cM0 1fA0 1a00 17c0 1fA0 1a00 1io0 17c0 1lc0 17c0 1fA0 10Jz0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|30e3\",\"Europe/Helsinki|HMT EET EEST|-1D.N -20 -30|0121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-1WuND.N OULD.N 1dA0 1xGq0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Kaliningrad|CET CEST CET CEST MSK MSD EEST EET +03|-10 -20 -20 -30 -30 -40 -30 -20 -30|0101010101010232454545454545454546767676767676767676767676767676767676767676787|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 Am0 Lb0 1en0 op0 1pNz0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|44e4\",\"Europe/Kiev|KMT EET MSK CEST CET MSD EEST|-22.4 -20 -30 -20 -10 -40 -30|0123434252525252525252525256161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc22.4 eUo2.4 rnz0 2Hg0 WM0 1fA0 da0 1v4m0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 Db0 3220 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|34e5\",\"Europe/Kirov|LMT +03 +04 +05|-3i.M -30 -40 -50|01232323232323232321212121212121212121212121212121212121212121|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|48e4\",\"Europe/Lisbon|LMT WET WEST WEMT CET CEST|A.J 0 -10 -20 -10 -20|012121212121212121212121212121212121212121212321232123212321212121212121212121212121212121212121214121212121212121212121212121212124545454212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2le00 aPX0 Sp0 LX0 1vc0 Tc0 1uM0 SM0 1vc0 Tc0 1vc0 SM0 1vc0 6600 1co0 3E00 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 3I00 17c0 1cM0 1cM0 3Fc0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 1tA0 1cM0 1dc0 1400 gL0 IM0 s10 U00 dX0 Rc0 pd0 Rc0 gL0 Oo0 pd0 Rc0 gL0 Oo0 pd0 14o0 1cM0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 3Co0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 pvy0 1cM0 1cM0 1fA0 1cM0 1cM0 1cN0 1cL0 1cN0 1cM0 1cM0 1cM0 1cM0 1cN0 1cL0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5\",\"Europe/Luxembourg|LMT CET CEST WET WEST WEST WET|-o.A -10 -20 0 -10 -20 -10|0121212134343434343434343434343434343434343434343434565651212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2DG0o.A t6mo.A TB0 1nX0 Up0 1o20 11A0 rW0 CM0 1qP0 R90 1EO0 UK0 1u20 10m0 1ip0 1in0 17e0 19W0 1fB0 1db0 1cp0 1in0 17d0 1fz0 1a10 1in0 1a10 1in0 17f0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Dc0 vA0 60L0 WM0 1fA0 1cM0 17c0 1io0 16M0 1C00 Uo0 1eeo0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Europe/Madrid|WET WEST WEMT CET CEST|0 -10 -20 -10 -20|010101010101010101210343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343|-25Td0 19B0 1cL0 1dd0 b1z0 18p0 3HX0 17d0 1fz0 1a10 1io0 1a00 1in0 17d0 iIn0 Hd0 1cL0 bb0 1200 2s20 14n0 5aL0 Mp0 1vz0 17d0 1in0 17d0 1in0 17d0 1in0 17d0 6hX0 11B0 XHX0 1a10 1fz0 1a10 19X0 1cN0 1fz0 1a10 1fC0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|62e5\",\"Europe/Malta|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1co0 17c0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1co0 1cM0 1lA0 Xc0 1qq0 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1o10 11z0 1iN0 19z0 1fB0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\"Europe/Minsk|MMT EET MSK CEST CET MSD EEST +03|-1O -20 -30 -20 -10 -40 -30 -30|01234343252525252525252525261616161616161616161616161616161616161617|-1Pc1O eUnO qNX0 3gQ0 WM0 1fA0 1cM0 Al0 1tsn0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 3Fc0 1cN0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0|19e5\",\"Europe/Monaco|PMT WET WEST WEMT CET CEST|-9.l 0 -10 -20 -10 -20|01212121212121212121212121212121212121212121212121232323232345454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-2nco9.l cNb9.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 2RV0 11z0 11B0 1ze0 WM0 1fA0 1cM0 1fa0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|38e3\",\"Europe/Moscow|MMT MMT MST MDST MSD MSK +05 EET EEST MSK|-2u.h -2v.j -3v.j -4v.j -40 -30 -50 -20 -30 -40|012132345464575454545454545454545458754545454545454545454545454545454545454595|-2ag2u.h 2pyW.W 1bA0 11X0 GN0 1Hb0 c4v.j ik0 3DA0 dz0 15A0 c10 2q10 iM10 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|16e6\",\"Europe/Paris|PMT WET WEST CEST CET WEMT|-9.l 0 -10 -20 -10 -20|0121212121212121212121212121212121212121212121212123434352543434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434343434|-2nco8.l cNb8.l HA0 19A0 1iM0 11c0 1oo0 Wo0 1rc0 QM0 1EM0 UM0 1u00 10o0 1io0 1wo0 Rc0 1a00 1fA0 1cM0 1cM0 1io0 17c0 1fA0 1a00 1io0 1a00 1io0 17c0 1fA0 1a00 1io0 17c0 1cM0 1cM0 1a00 1io0 1cM0 1cM0 1a00 1fA0 1io0 17c0 1cM0 1cM0 1a00 1fA0 1io0 1qM0 Df0 Ik0 5M30 WM0 1fA0 1cM0 Vx0 hB0 1aq0 16M0 1ekn0 1cL0 1fC0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6\",\"Europe/Riga|RMT LST EET MSK CEST CET MSD EEST|-1A.y -2A.y -20 -30 -20 -10 -40 -30|010102345454536363636363636363727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272727272|-25TzA.y 11A0 1iM0 ko0 gWm0 yDXA.y 2bX0 3fE0 WM0 1fA0 1cM0 1cM0 4m0 1sLy0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cN0 1o00 11A0 1o00 11A0 1qM0 3oo0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|64e4\",\"Europe/Rome|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2arB0 Lz0 1cN0 1db0 1410 1on0 Wp0 1qL0 17d0 1cL0 M3B0 5M20 WM0 1fA0 1cM0 16M0 1iM0 16m0 1de0 1lc0 14m0 1lc0 WO0 1qM0 GTW0 On0 1C10 LA0 1C00 LA0 1EM0 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1C00 LA0 1zc0 Oo0 1C00 LA0 1C00 LA0 1zc0 Oo0 1C00 Oo0 1zc0 Oo0 1fC0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|39e5\",\"Europe/Samara|LMT +03 +04 +05|-3k.k -30 -40 -50|0123232323232323232121232323232323232323232323232323232323212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2y10 14m0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 2sp0 WM0|12e5\",\"Europe/Saratov|LMT +03 +04 +05|-34.i -30 -40 -50|012323232323232321212121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 5810\",\"Europe/Simferopol|SMT EET MSK CEST CET MSD EEST MSK|-2g -20 -30 -20 -10 -40 -30 -40|012343432525252525252525252161616525252616161616161616161616161616161616172|-1Pc2g eUog rEn0 2qs0 WM0 1fA0 1cM0 3V0 1u0L0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 4eL0 1cL0 1cN0 1cL0 1cN0 dX0 WL0 1cN0 1cL0 1fB0 1o30 11B0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4\",\"Europe/Sofia|EET CET CEST EEST|-20 -10 -20 -30|01212103030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030|-168L0 WM0 1fA0 1cM0 1cM0 1cN0 1mKH0 1dd0 1fb0 1ap0 1fb0 1a20 1fy0 1a30 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cK0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 1nX0 11E0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5\",\"Europe/Stockholm|CET CEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2azC0 TB0 2yDe0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|15e5\",\"Europe/Tallinn|TMT CET CEST EET MSK MSD EEST|-1D -10 -20 -20 -30 -40 -30|012103421212454545454545454546363636363636363636363636363636363636363636363636363636363636363636363636363636363636363636363|-26oND teD 11A0 1Ta0 4rXl KSLD 2FX0 2Jg0 WM0 1fA0 1cM0 18J0 1sTX0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o10 11A0 1qM0 5QM0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|41e4\",\"Europe/Tirane|LMT CET CEST|-1j.k -10 -20|01212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2glBj.k 14pcj.k 5LC0 WM0 4M0 1fCK0 10n0 1op0 11z0 1pd0 11z0 1qN0 WL0 1qp0 Xb0 1qp0 Xb0 1qp0 11z0 1lB0 11z0 1qN0 11z0 1iN0 16n0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|42e4\",\"Europe/Ulyanovsk|LMT +03 +04 +05 +02|-3d.A -30 -40 -50 -20|01232323232323232321214121212121212121212121212121212121212121212|-22WM0 qH90 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1fA0 2pB0 IM0 rX0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0 3rd0\",\"Europe/Uzhgorod|CET CEST MSK MSD EET EEST|-10 -20 -30 -40 -20 -30|010101023232323232323232320454545454545454545454545454545454545454545454545454545454545454545454545454545454545454545454|-1cqL0 6i00 WM0 1fA0 1cM0 1ml0 1Cp0 1r3W0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1Q00 1Nf0 2pw0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e4\",\"Europe/Vienna|CET CEST|-10 -20|0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 3KM0 14o0 LA00 6i00 WM0 1fA0 1cM0 1cM0 1cM0 400 2qM0 1a00 1cM0 1cM0 1io0 17c0 1gHa0 19X0 1cP0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|18e5\",\"Europe/Vilnius|WMT KMT CET EET MSK CEST MSD EEST|-1o -1z.A -10 -20 -30 -20 -40 -30|012324525254646464646464646473737373737373737352537373737373737373737373737373737373737373737373737373737373737373737373|-293do 6ILM.o 1Ooz.A zz0 Mfd0 29W0 3is0 WM0 1fA0 1cM0 LV0 1tgL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11B0 1o00 11A0 1qM0 8io0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|54e4\",\"Europe/Volgograd|LMT +03 +04 +05|-2V.E -30 -40 -50|01232323232323232121212121212121212121212121212121212121212121|-21IqV.E psLV.E 23CL0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 2pB0 1cM0 1cM0 1cM0 1fA0 1cM0 3Co0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 8Hz0|10e5\",\"Europe/Warsaw|WMT CET CEST EET EEST|-1o -10 -20 -20 -30|012121234312121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121|-2ctdo 1LXo 11d0 1iO0 11A0 1o00 11A0 1on0 11A0 6zy0 HWP0 5IM0 WM0 1fA0 1cM0 1dz0 1mL0 1en0 15B0 1aq0 1nA0 11A0 1io0 17c0 1fA0 1a00 iDX0 LA0 1cM0 1cM0 1C00 Oo0 1cM0 1cM0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1C00 LA0 uso0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cN0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e5\",\"Europe/Zaporozhye|+0220 EET MSK CEST CET MSD EEST|-2k -20 -30 -20 -10 -40 -30|01234342525252525252525252526161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161|-1Pc2k eUok rdb0 2RE0 WM0 1fA0 8m0 1v9a0 1db0 1cN0 1db0 1cN0 1db0 1dd0 1cO0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cK0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cQ0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|77e4\",\"HST|HST|a0|0|\",\"Indian/Chagos|LMT +05 +06|-4N.E -50 -60|012|-2xosN.E 3AGLN.E|30e2\",\"Indian/Cocos|+0630|-6u|0||596\",\"Indian/Kerguelen|-00 +05|0 -50|01|-MG00|130\",\"Indian/Mahe|LMT +04|-3F.M -40|01|-2yO3F.M|79e3\",\"Indian/Maldives|MMT +05|-4S -50|01|-olgS|35e4\",\"Indian/Mauritius|LMT +04 +05|-3O -40 -50|012121|-2xorO 34unO 14L0 12kr0 11z0|15e4\",\"Indian/Reunion|LMT +04|-3F.Q -40|01|-2mDDF.Q|84e4\",\"Pacific/Kwajalein|+11 -12 +12|-b0 c0 -c0|012|-AX0 W9X0|14e3\",\"MET|MET MEST|-10 -20|01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-2aFe0 11d0 1iO0 11A0 1o00 11A0 Qrc0 6i00 WM0 1fA0 1cM0 1cM0 1cM0 16M0 1gMM0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\",\"MST|MST|70|0|\",\"MST7MDT|MST MDT MWT MPT|70 60 60 60|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261r0 1nX0 11B0 1nX0 SgN0 8x20 ix0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"Pacific/Chatham|+1215 +1245 +1345|-cf -cJ -dJ|012121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212|-WqAf 1adef IM0 1C00 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1qM0 14o0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1lc0 14o0 1lc0 14o0 1lc0 17c0 1io0 17c0 1io0 17c0 1io0 17c0 1io0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600\",\"Pacific/Apia|LMT -1130 -11 -10 +14 +13|bq.U bu b0 a0 -e0 -d0|01232345454545454545454545454545454545454545454545454545454|-2nDMx.4 1yW03.4 2rRbu 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1io0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3\",\"Pacific/Bougainville|+10 +09 +11|-a0 -90 -b0|0102|-16Wy0 7CN0 2MQp0|18e4\",\"Pacific/Efate|LMT +11 +12|-bd.g -b0 -c0|0121212121212121212121|-2l9nd.g 2Szcd.g 1cL0 1oN0 10L0 1fB0 19X0 1fB0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1fB0 Lz0 1Nd0 An0|66e3\",\"Pacific/Enderbury|-12 -11 +13|c0 b0 -d0|012|nIc0 B7X0|1\",\"Pacific/Fakaofo|-11 +13|b0 -d0|01|1Gfn0|483\",\"Pacific/Fiji|LMT +12 +13|-bT.I -c0 -d0|0121212121212121212121212121212121212121212121212121212121212121|-2bUzT.I 3m8NT.I LA0 1EM0 IM0 nJc0 LA0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0|88e4\",\"Pacific/Galapagos|LMT -05 -06|5W.o 50 60|01212|-1yVS1.A 2dTz1.A gNd0 rz0|25e3\",\"Pacific/Gambier|LMT -09|8X.M 90|01|-2jof0.c|125\",\"Pacific/Guadalcanal|LMT +11|-aD.M -b0|01|-2joyD.M|11e4\",\"Pacific/Guam|GST ChST|-a0 -a0|01|1fpq0|17e4\",\"Pacific/Honolulu|HST HDT HST|au 9u a0|010102|-1thLu 8x0 lef0 8Pz0 46p0|37e4\",\"Pacific/Kiritimati|-1040 -10 +14|aE a0 -e0|012|nIaE B7Xk|51e2\",\"Pacific/Kosrae|+11 +12|-b0 -c0|010|-AX0 1bdz0|66e2\",\"Pacific/Majuro|+11 +12|-b0 -c0|01|-AX0|28e3\",\"Pacific/Marquesas|LMT -0930|9i 9u|01|-2joeG|86e2\",\"Pacific/Pago_Pago|LMT SST|bm.M b0|01|-2nDMB.c|37e2\",\"Pacific/Nauru|LMT +1130 +09 +12|-b7.E -bu -90 -c0|01213|-1Xdn7.E PvzB.E 5RCu 1ouJu|10e3\",\"Pacific/Niue|-1120 -1130 -11|bk bu b0|012|-KfME 17y0a|12e2\",\"Pacific/Norfolk|+1112 +1130 +1230 +11|-bc -bu -cu -b0|01213|-Kgbc W01G On0 1COp0|25e4\",\"Pacific/Noumea|LMT +11 +12|-b5.M -b0 -c0|01212121|-2l9n5.M 2EqM5.M xX0 1PB0 yn0 HeP0 Ao0|98e3\",\"Pacific/Pitcairn|-0830 -08|8u 80|01|18Vku|56\",\"Pacific/Rarotonga|-1030 -0930 -10|au 9u a0|012121212121212121212121212|lyWu IL0 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Onu 1zcu Rbu 1zcu Onu 1zcu Onu 1zcu Onu|13e3\",\"Pacific/Tahiti|LMT -10|9W.g a0|01|-2joe1.I|18e4\",\"Pacific/Tongatapu|+1220 +13 +14|-ck -d0 -e0|0121212121|-1aB0k 2n5dk 15A0 1wo0 xz0 1Q10 xz0 zWN0 s00|75e3\",\"PST8PDT|PST PDT PWT PPT|80 70 70 70|010102301010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|-261q0 1nX0 11B0 1nX0 SgN0 8x10 iy0 QwN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1cN0 1cL0 1cN0 1cL0 s10 1Vz0 LB0 1BX0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 1cN0 1fz0 1a10 1fz0 1cN0 1cL0 1cN0 1cL0 1cN0 1cL0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0\",\"WET|WET WEST|0 -10|010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010|hDB0 1a00 1fA0 1cM0 1cM0 1cM0 1fA0 1a00 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00\"],\nlinks:[\"Africa/Abidjan|Africa/Bamako\",\"Africa/Abidjan|Africa/Banjul\",\"Africa/Abidjan|Africa/Conakry\",\"Africa/Abidjan|Africa/Dakar\",\"Africa/Abidjan|Africa/Freetown\",\"Africa/Abidjan|Africa/Lome\",\"Africa/Abidjan|Africa/Nouakchott\",\"Africa/Abidjan|Africa/Ouagadougou\",\"Africa/Abidjan|Africa/Timbuktu\",\"Africa/Abidjan|Atlantic/St_Helena\",\"Africa/Cairo|Egypt\",\"Africa/Johannesburg|Africa/Maseru\",\"Africa/Johannesburg|Africa/Mbabane\",\"Africa/Lagos|Africa/Bangui\",\"Africa/Lagos|Africa/Brazzaville\",\"Africa/Lagos|Africa/Douala\",\"Africa/Lagos|Africa/Kinshasa\",\"Africa/Lagos|Africa/Libreville\",\"Africa/Lagos|Africa/Luanda\",\"Africa/Lagos|Africa/Malabo\",\"Africa/Lagos|Africa/Niamey\",\"Africa/Lagos|Africa/Porto-Novo\",\"Africa/Maputo|Africa/Blantyre\",\"Africa/Maputo|Africa/Bujumbura\",\"Africa/Maputo|Africa/Gaborone\",\"Africa/Maputo|Africa/Harare\",\"Africa/Maputo|Africa/Kigali\",\"Africa/Maputo|Africa/Lubumbashi\",\"Africa/Maputo|Africa/Lusaka\",\"Africa/Nairobi|Africa/Addis_Ababa\",\"Africa/Nairobi|Africa/Asmara\",\"Africa/Nairobi|Africa/Asmera\",\"Africa/Nairobi|Africa/Dar_es_Salaam\",\"Africa/Nairobi|Africa/Djibouti\",\"Africa/Nairobi|Africa/Kampala\",\"Africa/Nairobi|Africa/Mogadishu\",\"Africa/Nairobi|Indian/Antananarivo\",\"Africa/Nairobi|Indian/Comoro\",\"Africa/Nairobi|Indian/Mayotte\",\"Africa/Tripoli|Libya\",\"America/Adak|America/Atka\",\"America/Adak|US/Aleutian\",\"America/Anchorage|US/Alaska\",\"America/Argentina/Buenos_Aires|America/Buenos_Aires\",\"America/Argentina/Catamarca|America/Argentina/ComodRivadavia\",\"America/Argentina/Catamarca|America/Catamarca\",\"America/Argentina/Cordoba|America/Cordoba\",\"America/Argentina/Cordoba|America/Rosario\",\"America/Argentina/Jujuy|America/Jujuy\",\"America/Argentina/Mendoza|America/Mendoza\",\"America/Atikokan|America/Coral_Harbour\",\"America/Chicago|US/Central\",\"America/Curacao|America/Aruba\",\"America/Curacao|America/Kralendijk\",\"America/Curacao|America/Lower_Princes\",\"America/Denver|America/Shiprock\",\"America/Denver|Navajo\",\"America/Denver|US/Mountain\",\"America/Detroit|US/Michigan\",\"America/Edmonton|Canada/Mountain\",\"America/Fort_Wayne|America/Indiana/Indianapolis\",\"America/Fort_Wayne|America/Indianapolis\",\"America/Fort_Wayne|US/East-Indiana\",\"America/Halifax|Canada/Atlantic\",\"America/Havana|Cuba\",\"America/Indiana/Knox|America/Knox_IN\",\"America/Indiana/Knox|US/Indiana-Starke\",\"America/Jamaica|Jamaica\",\"America/Kentucky/Louisville|America/Louisville\",\"America/Los_Angeles|US/Pacific\",\"America/Los_Angeles|US/Pacific-New\",\"America/Manaus|Brazil/West\",\"America/Mazatlan|Mexico/BajaSur\",\"America/Mexico_City|Mexico/General\",\"America/New_York|US/Eastern\",\"America/Noronha|Brazil/DeNoronha\",\"America/Panama|America/Cayman\",\"America/Phoenix|US/Arizona\",\"America/Port_of_Spain|America/Anguilla\",\"America/Port_of_Spain|America/Antigua\",\"America/Port_of_Spain|America/Dominica\",\"America/Port_of_Spain|America/Grenada\",\"America/Port_of_Spain|America/Guadeloupe\",\"America/Port_of_Spain|America/Marigot\",\"America/Port_of_Spain|America/Montserrat\",\"America/Port_of_Spain|America/St_Barthelemy\",\"America/Port_of_Spain|America/St_Kitts\",\"America/Port_of_Spain|America/St_Lucia\",\"America/Port_of_Spain|America/St_Thomas\",\"America/Port_of_Spain|America/St_Vincent\",\"America/Port_of_Spain|America/Tortola\",\"America/Port_of_Spain|America/Virgin\",\"America/Regina|Canada/Saskatchewan\",\"America/Rio_Branco|America/Porto_Acre\",\"America/Rio_Branco|Brazil/Acre\",\"America/Santiago|Chile/Continental\",\"America/Sao_Paulo|Brazil/East\",\"America/St_Johns|Canada/Newfoundland\",\"America/Tijuana|America/Ensenada\",\"America/Tijuana|America/Santa_Isabel\",\"America/Tijuana|Mexico/BajaNorte\",\"America/Toronto|America/Montreal\",\"America/Toronto|Canada/Eastern\",\"America/Vancouver|Canada/Pacific\",\"America/Whitehorse|Canada/Yukon\",\"America/Winnipeg|Canada/Central\",\"Asia/Ashgabat|Asia/Ashkhabad\",\"Asia/Bangkok|Asia/Phnom_Penh\",\"Asia/Bangkok|Asia/Vientiane\",\"Asia/Dhaka|Asia/Dacca\",\"Asia/Dubai|Asia/Muscat\",\"Asia/Ho_Chi_Minh|Asia/Saigon\",\"Asia/Hong_Kong|Hongkong\",\"Asia/Jerusalem|Asia/Tel_Aviv\",\"Asia/Jerusalem|Israel\",\"Asia/Kathmandu|Asia/Katmandu\",\"Asia/Kolkata|Asia/Calcutta\",\"Asia/Kuala_Lumpur|Asia/Singapore\",\"Asia/Kuala_Lumpur|Singapore\",\"Asia/Macau|Asia/Macao\",\"Asia/Makassar|Asia/Ujung_Pandang\",\"Asia/Nicosia|Europe/Nicosia\",\"Asia/Qatar|Asia/Bahrain\",\"Asia/Rangoon|Asia/Yangon\",\"Asia/Riyadh|Asia/Aden\",\"Asia/Riyadh|Asia/Kuwait\",\"Asia/Seoul|ROK\",\"Asia/Shanghai|Asia/Chongqing\",\"Asia/Shanghai|Asia/Chungking\",\"Asia/Shanghai|Asia/Harbin\",\"Asia/Shanghai|PRC\",\"Asia/Taipei|ROC\",\"Asia/Tehran|Iran\",\"Asia/Thimphu|Asia/Thimbu\",\"Asia/Tokyo|Japan\",\"Asia/Ulaanbaatar|Asia/Ulan_Bator\",\"Asia/Urumqi|Asia/Kashgar\",\"Atlantic/Faroe|Atlantic/Faeroe\",\"Atlantic/Reykjavik|Iceland\",\"Atlantic/South_Georgia|Etc/GMT+2\",\"Australia/Adelaide|Australia/South\",\"Australia/Brisbane|Australia/Queensland\",\"Australia/Broken_Hill|Australia/Yancowinna\",\"Australia/Darwin|Australia/North\",\"Australia/Hobart|Australia/Tasmania\",\"Australia/Lord_Howe|Australia/LHI\",\"Australia/Melbourne|Australia/Victoria\",\"Australia/Perth|Australia/West\",\"Australia/Sydney|Australia/ACT\",\"Australia/Sydney|Australia/Canberra\",\"Australia/Sydney|Australia/NSW\",\"Etc/GMT-0|Etc/GMT\",\"Etc/GMT-0|Etc/GMT+0\",\"Etc/GMT-0|Etc/GMT0\",\"Etc/GMT-0|Etc/Greenwich\",\"Etc/GMT-0|GMT\",\"Etc/GMT-0|GMT+0\",\"Etc/GMT-0|GMT-0\",\"Etc/GMT-0|GMT0\",\"Etc/GMT-0|Greenwich\",\"Etc/UCT|UCT\",\"Etc/UTC|Etc/Universal\",\"Etc/UTC|Etc/Zulu\",\"Etc/UTC|UTC\",\"Etc/UTC|Universal\",\"Etc/UTC|Zulu\",\"Europe/Belgrade|Europe/Ljubljana\",\"Europe/Belgrade|Europe/Podgorica\",\"Europe/Belgrade|Europe/Sarajevo\",\"Europe/Belgrade|Europe/Skopje\",\"Europe/Belgrade|Europe/Zagreb\",\"Europe/Chisinau|Europe/Tiraspol\",\"Europe/Dublin|Eire\",\"Europe/Helsinki|Europe/Mariehamn\",\"Europe/Istanbul|Asia/Istanbul\",\"Europe/Istanbul|Turkey\",\"Europe/Lisbon|Portugal\",\"Europe/London|Europe/Belfast\",\"Europe/London|Europe/Guernsey\",\"Europe/London|Europe/Isle_of_Man\",\"Europe/London|Europe/Jersey\",\"Europe/London|GB\",\"Europe/London|GB-Eire\",\"Europe/Moscow|W-SU\",\"Europe/Oslo|Arctic/Longyearbyen\",\"Europe/Oslo|Atlantic/Jan_Mayen\",\"Europe/Prague|Europe/Bratislava\",\"Europe/Rome|Europe/San_Marino\",\"Europe/Rome|Europe/Vatican\",\"Europe/Warsaw|Poland\",\"Europe/Zurich|Europe/Busingen\",\"Europe/Zurich|Europe/Vaduz\",\"Indian/Christmas|Etc/GMT-7\",\"Pacific/Auckland|Antarctica/McMurdo\",\"Pacific/Auckland|Antarctica/South_Pole\",\"Pacific/Auckland|NZ\",\"Pacific/Chatham|NZ-CHAT\",\"Pacific/Easter|Chile/EasterIsland\",\"Pacific/Guam|Pacific/Saipan\",\"Pacific/Honolulu|Pacific/Johnston\",\"Pacific/Honolulu|US/Hawaii\",\"Pacific/Kwajalein|Kwajalein\",\"Pacific/Pago_Pago|Pacific/Midway\",\"Pacific/Pago_Pago|Pacific/Samoa\",\"Pacific/Pago_Pago|US/Samoa\",\"Pacific/Palau|Etc/GMT-9\",\"Pacific/Pohnpei|Etc/GMT-11\",\"Pacific/Pohnpei|Pacific/Ponape\",\"Pacific/Port_Moresby|Etc/GMT-10\",\"Pacific/Port_Moresby|Pacific/Chuuk\",\"Pacific/Port_Moresby|Pacific/Truk\",\"Pacific/Port_Moresby|Pacific/Yap\",\"Pacific/Tarawa|Etc/GMT-12\",\"Pacific/Tarawa|Pacific/Funafuti\",\"Pacific/Tarawa|Pacific/Wake\",\"Pacific/Tarawa|Pacific/Wallis\"]}},function(e,t){e.exports={help:[\"validate-address <address>\",\"sign-message <address> <message> <password>\",\"get-transaction <transaction id>\",\"list-transactions\",'build-transaction <base_transaction> [{\"account_id\":id,\"amount\":amount,\"asset_id\": id,\"type\":type of transaction}…] <ttl> <time_range>',\"sign-transaction <password> <transaction>\",\"estimate-transaction-gas <transaction>\",\"get-unconfirmed-transaction <tx_id>\",\"list-unconfirmed-transactions\",\"decode-raw-transaction <raw_transaction>\",\"get-block-count\",\"get-block-hash\",\"get-block  (\u00a0<block_height> | <block_hash> )\",\"get-block-header  (\u00a0<block_height> | <block_hash> )\",\"get-difficulty  (\u00a0<block_height> | <block_hash> )\",\"get-hash-rate (\u00a0<block_height> | <block_hash> )\",\"net-info\",\"is-mining\",\"set-mining <true|false>\",\"gas-rate\",\"verify-message <address> <derived_xpub> <message> <signature>\",\"decode-program <program>\"]}},function(e,t){e.exports={\"/transactions\":{component:\"TutorialInfo\",title:\"transaction\",image:\"transaction\"},\"/keys\":{component:\"TutorialInfo\",title:\"key\",image:\"key\"},\"/accounts\":{component:\"TutorialInfo\",title:\"account\",image:\"account\"},\"/assets\":{component:\"TutorialInfo\",title:\"asset\",image:\"asset\"},\"/balances\":{component:\"TutorialInfo\",title:\"balance\",image:\"balance\"},\"/core\":{component:\"TutorialInfo\",title:\"coreStatus\"},\"/access-control\":{component:\"TutorialInfo\",title:\"accessControl\",image:\"network_access_token\"},\"/unspents\":{component:\"TutorialInfo\",title:\"unspent\",image:\"unspent\"},\"/backup\":{component:\"TutorialInfo\",title:\"backupRestore\",image:\"client_access_token\"},\"/transactions/create\":{component:\"TutorialForm\",title:\"newTx\"},\"/accounts/create\":{component:\"TutorialForm\",title:\"newAccount\"},\"/assets/create\":{component:\"TutorialForm\",title:\"newAsset\"},\"/keys/create\":{component:\"TutorialForm\",title:\"newKey\"},\"/keys/:id/reset-password\":{component:\"TutorialForm\",title:\"resetPassword\"},\"/access-control/create-token\":{component:\"TutorialForm\",title:\"newToken\"}}},function(e,t){e.exports={language:\"EN\",languageFull:\"English\",main:{loading:\"Connecting to Vapor Core...\"},asset:{asset:\"Asset\",xpubs:\"xpub __id__\",assetPub:\"Asset Pubkey\",formTitle:[\"Asset Alias\",\"Asset ID\"],new:\"New asset\",information:\"Asset Information\",quorumHint:\"Number of signatures required to issue\",aliasError:\"Asset alias is required\",aliasLengthError:\"The Length of the Asset alias should be less than 30 characters.\",symbolError:\"Symbol is required\",symbolCaseError:\"Symbol must be in UpperCase.\",symbolPlaceholder:\"Symbols must be made up of uppercase letters, 3 or 4 letters is better.\",decimalPlaceholder:\"Define the number of decimals the token uses.\",keysError:\"Please provide keys\",editAlias:\"Edit asset alias\",alias:\"Asset Alias\",aliasPlaceholder:\"Please entered asset alias\",decimalsError:\"Decimals is required.\",decimalsTypeError:\"Please enter a number.\",decimalsRangeError:\"Please enter a decimals number smaller or equal to 16.\",additionInfo:\"Additional Info\",additionInfoKey:\"Description\",additionInfoValue:\"Value\",additionInfoKeyError:\"Description is required.\",additionInfoValueError:\"Value is required.\",issuableLabel:\"(Please issue the asset within approx. __time__ mins.)\",noIssuableLabel:\"(The asset can't be issued anymore.)\"},commonWords:{version:\"Version\",viewDetails:\"View details\",language:\"Language\",program:\"Program\",remove:\"Remove\",page:\"Page\",close:\"Close\",errorCode:\"Error Code:\",requestId:\"Request ID:\",cancel:\"Cancel\",continue:\"Continue\",next:\"Next\",previous:\"Previous\",addField:\"Add Field\"},crumbName:{transaction:\"transactions\",asset:\"assets\",key:\"keys\",account:\"accounts\",accountManagement:\"Management\",unspent:\"Unspent outputs\",balance:\"balances\",accessControl:\"Access control\",new:\"New\",update:\" update available\",coreData:\"core data\",services:\"services\",advanced:\"advanced\",help:\"help\",doc:\"Documentation\",developer:\"Developer\",equity:\"Equity Contract\",settings:\"settings\",coreStatus:\"Core status\",logout:\"Log Out\",backupRestore:\"Backup or Restore\",newTx:\"Create a new transaction\",newAccount:\"Create an account\",newKey:\"Create a key\",newToken:\"Create an access token\",newAsset:\"Create an asset\",resetPassword:\"Reset password\",peer:\"Peers information\",federation:\"Federation\"},form:{detail:\"Details\",alias:\"Alias\",definition:\"Definition\",xpubs:\"xpubs\",quorum:\"Quorum\",index:\"Index\",keys:\"Keys\",key:\"Key\",keyAlias:\"Key Alias\",keyAndSign:\"Keys and Signing\",selectPlaceholder:\"Select one...\",enter:\"Enter\",ok:\"OK\",delete:\"Delete\",cancel:\"Cancel\",more:\"More\",required:\"Required\",submit:\"Submit\",edit:\"Edit\",succeed:\"Succeed\",failed:\"Failed\",summary:\"Summary\",timestamp:\"Timestamp\",blockId:\"Block ID\",blockHeight:\"Block Height\",position:\"Position\",txStatus:\"Transaction status\",input:\"Inputs\",output:\"Outputs\",id:\"ID\",type:\"Type\",purpose:\"Purpose\",transactionId:\"Transaction ID\",assetId:\"Asset ID\",assetAlias:\"Asset Alias\",asset:\"Asset\",assetDefinition:\"Asset Definition\",assetTags:\"Asset Tags\",assetIsLocal:\"Asset Is Local?\",amount:\"Amount\",accountId:\"Account ID\",accountAlias:\"Account Alias\",account:\"Account\",accountTags:\"Account Tags\",controlProgram:\"Control Program\",address:\"Address\",programIndex:\"Program Index\",spentOutputId:\"Spent Output ID\",refData:\"Reference Data\",sourceId:\"Source ID\",sourcePos:\"Source Position\",issuanceProgram:\"Issuance Program\",isLocal:\"Local?\",referenceData:\"Reference Data\",change:\"Change\",errorTitle:\"Error submitting form\",fee:\"Fee\",successTitle:\"Success\",objectField:{aliasPlaceholder:\"Start typing __title__ alias...\"},symbol:\"Symbol\",decimals:\"Decimals\",reissueTitle:\"Token reissuable\",reissueTrue:\"Able to be reissued\",reissueFalse:\"Unable to be reissued\",vote:\"Node Public Key\",totalVoteNumber:\"Vote\",vmVersion:\"VM Version\",rawDefinitionByte:\"Raw Definition Byte\"},xpub:{methodOptions:{mockhsm:\"Use existing key\",provide:\"Provide existing xpub\",generate:\"Generate a new key\",currentAccount:\"Current account xpub\"},providePlaceholder:\"Enter xpub\"},sync:{status:\"Sync Status\",peer:\"Peer Count\",synchronizing:\"Synchronizing...\",synced:\"Fully synced\",disconnect:\"Disconnect\"},coreIndex:{configuration:\"Configuration\",version:\"Core Versions\",advanced:\"Advanced\",mining:\"Block Producing\",unit:\"Unit to show amount in\",networkStatus:\"Network status\",listening:\"Peer Listening\",connect:\"true\",disConnect:\"false\",syncStatus:\"Syncing\",synchronizing:\"true\",synced:\"false\",miningStatus:\"Block Producing\",miningRuning:\"true\",miningStopped:\"false\",peer:\"Peer Count\",currentBlock:\"Current Block\",highestBlock:\"Highest Block\",networkId:\"Network Id\",nodeXpub:\"Node Xpub\",coreStatus:\"Core Status\",fedAddress:\"Federation Addr.\"},console:{title:\"Console\",message:\"Welcome to the Vapor Core API console.<1/> Type <2>help</2> for an overview of available commands\",warning:\"WARNING\",warningMessage:\"Scammers have been active, telling users to type commands here, stealing their wallet contents. Do not use this console without fully understanding the ramification of a command.\",placeholder:'Enter \"help\" for an overview of available commands'},key:{keys:\"Keys\",xpub:\"xpub\",formTitle:[\"Alias\",\"xpub\"],reset:{title:\"Reset key password\",label:\"Reset the password\",oldPassword:\"Old Password\",oldPPlaceholder:\"Please entered the old password.\",newPassword:\"New Password\",newPasswordPlaceholder:\"Please entered the new password.\",repeatPassword:\"Repeat Password\",repeatPasswordPlaceholder:\"Please repeated the new password.\",newPWarning:\"Please enter at least 5 characters password.\",repeatPWarning:\"Please match the repeat password.\"},new:\"New key\",info:\"Key Information\",aliasPlaceHolder:\"Please enter key alias...\",password:\"Password\",passwordPlaceholder:\"Please enter your password...\",repeatPassword:\"Repeat Password\",repeatPasswordPlaceholder:\"Please repeat your password\",aliasRequired:\"Key alias is required\",passwordRequired:\"Password is required\",tryPassword:\"Try Password\",resetPassword:\"Reset Password\",tryPPlaceholder:\"Please entered the password that you need to check.\",editAlias:\"Edit key alias\",alias:\"Key Alias\"},account:{account:\"Account\",formTitle:[\"Account Alias\",\"Account ID\",\"Signature Structure\"],accountXpub:\"Account Xpub\",keyIndex:\"Key Index\",address:\"Addresses\",xpubs:\"XPUB __id__\",changeAddress:\"Addresses for Change\",newAddress:\"Create address\",copyAddress:\"Copy this address to use in a transaction:\",copyProgram:\"Copy this control program to use in a transaction:\",copyClipboard:\"Copy to clipboard\",select:\"Select\",selected:\"Selected\",new:{newAccount:\"New account\",information:\"Account Information\",quorumHint:\"Number of keys required for transfer\",aliasWarning:\"Account alias is required\",keyWarning:\"Please provide keys\"},editAlias:\"Edit account alias\",alias:\"Account Alias\",aliasPlaceholder:\"Please entered account alias\"},transaction:{transaction:\"Transaction\",unconfirmedTx:\"unconfirmed transaction\",id:\"Tx ID:\",crossChainId:\"Tx ID(__id__):\",confirmed:\"confirmed\",contractStatus:\"Contract Execution Status\",confirmation:\"__count__ confirmation\",confirmation_plural:\"__count__ confirmations\",unconfirmedItem:\"Unknown (0 confirmation)\",pending:\"Pending\",completed:\"Completed\",type:{issue:\"issue\",sent:\"sent\",received:\"received\",retire:\"retire\",coinbase:\"coinbase\",immature:\"immature\",vote:\"vote\",veto:\"veto\",crossOut:\"Vapor -> Bytom\",crossIn:\"Bytom -> Vapor\"},new:{unsaveWarning:\"Your work is not saved! Are you sure you want to leave?\",new:\"New transaction\",normal:\"Normal\",vote:\"Vote\",submit:\"Submit transaction\",advanced:\"Advanced\",crossChain:\"Cross Chain\",submitType:\"Transactions Submitted Type\",chainTx:\"Chain Transactions\",chainTxNote:\"Chain Transactions will generate multiple transactions, cost an extra fee and improve UTXO amount limit in a single transaction.\"},normal:{from:\"From\",availableBalance:\"Available balance:\",to:\"To\",selectFee:\"Select Fee\",feeDescription:\"This is the money that might be used to process this transaction. Your transaction will be mined usually within 2.5 minutes.\",confirmation:\"Confirm Transaction\",total:\"Total\"},advance:{generateJson:\"Generate transaction JSON\",showAdvanced:\"Show advanced options\",option:\"Advanced Options\",buildType:\"Transaction Build Type\",submitToBlockchain:\"Submit transaction to blockchain\",submitLabel:\"This transaction will be signed by the key and submitted to the blockchain.\",needMoreSign:\"Need more signature\",needMoreSignDescription:\"These actions will be signed by the Key and returned as a transaction JSON string, which should be used to sign transaction in a multi-sign spend.\",toSignTransaction:\"To sign transaction\",signPlaceholder:\"Paste transaction hex here...\",showDetails:\"Show transaction details\",transactionContent:\"Transaction Content\",normalView:\"Normal View\",jsonView:\"Json View\",generated:{title:\"Generated Transaction\",lead:\"Use the following JSON string as the transaction to sign by another account:\",qrBtnText:\"Qr Code\",signatureQrBtnText:\"Signature Qr Code\",qrModalLabel:\"The following Qr Code represent the Json String. Please use the phone scanner to scan the Qr code.\",qrModalLabels:\"The Json is separated into __size__ different chunk of substring. Please use the phone scanner to scan the Qr code.\"}},issue:{issueAsset:\"Issue Asset\",transactionType:\"Transaction Type\",signRaw:\"Sign Raw Transaction\",accountAddress:\"Gas Paid Account Address\",gasAccount:\"Gas Paid Account\",signTx:\"Sign Transaction\"},vote:{info:\"Vote Information\",action:\"Action\",vote:{title:\"Vote\",voteAmount:\"Amount Vote\",for:\"Vote for\",confirm:\"Confirm Vote\",submit:\"Submit Vote\"},veto:{title:\"Veto\",voteAmount:\"Amount Veto\",for:\"Veto for\",confirm:\"Confirm Veto\",submit:\"Submit Veto\"}},crossChain:{title:\"Cross Chain info (Vapor->Bytom)\",address:\"Bytom Address\",addressHint:\"Note: the address must start with '__id__'.\",submit:\"Submit Cross Chain\",confirm:\"Confirm Cross Chain\",crossChainAddress:\"Cross Chain Address\"}},balances:{rescan:\"Rescan\",status:{success:\"Success\",start:\"Starting...\",rescan:\"Rescanning...\",successMsg:\"Successfully rescanned spent outputs.\",startMsg:\"Rescan is starting...\",rescanMsg:\"Wallet Rescanning...\"},voteDetails:\"Vote Details\"},errorMessage:{password:\"Your password is wrong, please check your password.\",amountError:\"Invalid amount type\",addressError:\"Invalid address\",jsonError:\"To sign transaction must be a JSON string.\",tokenError:\"Token name is required\",jsonObjectError:\"Contents must be represented as a JSON object\",jsonRowError:\" __error__ on row __row__`\",parseError:\"Error parsing JSON\",rawDefinitionByteError:\"Raw Definition Byte is required\"},emptyList:{loading:\"LOADING\",noRecord:\"There are no __objectName__\"},token:{accessToken:\"Access control\",formTitle:[\"Token Name\",\"Token\"],new:\"New token\",newAccessToken:\"New access token\",info:\"Token information\",name:\"Token Name\"},init:{title:\"Init your account\",keyPassword:\"Key Password\",repeatKeyPassword:\"Repeat your key password\",register:\"Register\",restoreWallet:\"Restore wallet\",restore:\"Restore\",restoreLabel:\"Click the button, and select the backup file\",accountPlaceholder:\"Please enter the account alias...\",keyPlaceholder:\"Please enter the key alias...\",passwordPlaceholder:\"Please enter the key password...\",repeatPlaceHolder:\"Please repeat the key password...\",errorTitle:\"Error in initialization\",mnemonic:\"mnemonic\",mnemonicRequire:\"Mnemonic is Required\",create:\"Create Wallet\",createDescription:\"This option will create a default account, key password.  Warning: it's important to remember your password.\",welcome:\"Welcome to Vapor __network__\"},backup:{title:\"Backup and Restore\",backup:\"Back Up\",backupDescription:\"This option will back up all data stored in this core, including blockchain data, accounts, assets and balances.\",restoreKeystore:\"Restore from Keystore File\",restoreKeystoreDescription:\"This option will restore the wallet data form a file. You might need to rescan your wallet, if you balance is not up to date.\",restoreMnemonic:\"Restore by Mnemonic\",restoreMnemonicDescription:\"This option will restore the key related data by mnemonic. You might need to rescan your wallet, if you balance is not up to date.\",download:\"Download Backup\",selectFile:\"Select Restore File\",restore:\"Restore\"},peers:{formTitle:[\"Remote Address\",\"Height\",\"Ping\",\"Duration\",\"Total Byte\"],disconnect:\"Disconnect\"},mnemonic:{backup:\"Backup Seed\",backupMessage:\"Mnemonic used to restore the key related information. Please write down the following seed and save it in a secure location.\",continue:\"I have written down the seed\",skip:\"Skip the backup\",confirmTitle:\"Enter your wallet recover phrase\",confirm:\"Confirm Seed\",confirmMessage:\"Confirm that you backed up your Mnemonic by filling the missing words.\"},notFound:{title:\"Not Found\",word:\"We couldn't find the page you were looking for.\"},tutorial:{content:{transaction:[\"A transaction provides the amount of the asset either spend out from your account or come in to your account. In your transaction, the total amount of assets spent was equal to the total amount of assets controlled (received) plus the gas cost of transactions fee. SPEND Actions represent what comes in the transactions, while CONTROL Actions represent what comes out. Any combination of actions can be added to a single advanced transaction, as long as what goes in bigger than what comes out. Note that the differences of which become the amount of transactions fee.\"],key:[\"Cryptographic private keys are the primary authorization mechanism on a blockchain. They control both the issuance and transfer of asset units. An asset or account will define one or more keys required for issuance or transfers.\"],account:[\"An account is an object in Vapor that tracks ownership of assets on a blockchain by creating and tracking control programs. The account object does not exist on the blockchain - it is local to this Vapor. Only the control programs created in the account are visible on the blockchain.\"],asset:[\"An asset is a type of value that can be issued on a blockchain. All units of an asset are fungible and can be transacted directly between parties without the involvement of the issuer.\"],balance:[\"The balance shows the amount and the type of asset that a local Vapor account possess.\"],coreStatus:[\"The core status shows the blockchain network status and the local setting.\"],accessControl:[\"Access token is used for remote authorizations. An access token is required to connect a remote Vapor Core.\"],unspent:[\"Each new transaction in the blockchain consumes some unspent outputs and creates others. An output is considered unspent when it has not yet been used as an input to a new transaction. All asset units on a blockchain exist in the unspent output set.\"],backupRestore:[\"Backup and Restore the wallet information will be stored in a txt format. It’s important to keep your backup files in a safe place.\"],newTx:{header:\"Normal Transactions\",steps:[{title:'Fill in the account \"Alias\" or \"ID\"',description:[\"The account that you wished to spend from.\"]},{title:'Fill in the asset \"Alias\" or \"ID\"',description:[\"The asset type that you wished to spend.\"]},{title:'Paste the \"Address\"',description:[\"The address that you wish to send amount of asset to.\"]},{title:\"Fill in the amount of the asset\"},{title:\"Choose the gas\",description:[\"Choose the gas (tx. fees) that you want to spend for this transaction.\"]},{title:\"Fill in the Key password\",description:[\"Fill in the key password when account created. Note:please use advanced transaction for multi-sign.\"]},{title:'Click the \"Submit transaction\" button'}]},newTx_ad:{header:\"Advanced Transactions\",steps:[{title:'Click the \"Add action\" button',description:['Select \"Spend from account\" to add a new spend action.']},{title:\"Fill in the spend action\",description:[{index:0,line:\"Enter the account alias, \"},{line:\"the asset alias \"},{line:\"and the spend amount.\"}]},{title:'Click the \"Add action\" button',description:['Select \"Control with address\" to add a new control action.']},{title:\"Fill in the control action\",description:[{index:1,line:\"Paste the address, \"},{line:\"fill in the asset alias\"},{line:\"and the received amount.\"}]},{title:\"Fill in the Key password\",description:['The key password when account created. Please use the \"show advanced options\" for multi-sign.']},{title:'Click the \"Submit transaction\" button'}]},newAccount:{header:\"New account\",steps:[{title:'Type name for account alias (ex. \"alice\")',description:[\"An alias is a friendly label used to distinguish between accounts.\"]},{title:'Select \"Use existing keys\" or \"Provide existing xpub\" under \"Keys and Signing\"',description:[\"Choose an existing key alias or enter an existing xpub.\"]},{title:'Click the \"Submit\" button'}]},newAsset:{header:\"New asset\",steps:[{title:'Enter an alias for your asset (ex. \"gold\")',description:[\"An alias is a friendly label used to distinguish between assets.\"]},{title:'Select \"Use existing a key\" or \"Provide existing xpub\" under \"Keys and Signing\"',description:[\"Choose an existing key alias or enter an existing xpub.\"]},{title:'Click the \"Submit\" button'}]},newKey:{header:\"New key\",steps:[{title:'Enter an alias for your key (ex. \"goldkey\")',description:[\"An alias is a friendly label used to distinguish between keys.\"]},{title:\"Enter and repeat the password for your key\",description:[\"It's important to memorize the password for your key and keep it somewhere safe. Vapor doesn't provide any lost and found. \"]},{title:'Click the \"Submit\" button'}]},resetPassword:{header:\"Reset password\",steps:[{title:\"Enter the original password for your key\"},{title:\"Enter and repeat the new password for your key\",description:[\"It's important to memorize the password for your key and keep it somewhere safe. Vapor doesn't provide any lost and found. \"]},{title:'Click the \"Reset the Password\" button'}]},newToken:{header:\"Create an access token\",steps:[{title:\"Enter alias for the access token\"},{title:'Click the \"Submit\" button'}]}}},message:{CREATED_ASSET:\"Asset has been created successfully.\",CREATED_ACCOUNT:\"Account has been created successfully.\",CREATED_TRANSACTION:\"Transaction has been submitted successfully.\",CREATED_KEY:\"Key has been created successfully.\",RESET_PASSWORD_KEY:\"Key password has been reset successfully.\",CREATE_REGISTER_ACCOUNT:\"Default account and key have been initialized successfully.\",RESTORE_SUCCESS:\"Wallet restore successfully\",UPDATED_ASSET:\"Updated asset alias.\",UPDATED_ACCOUNT:\"Updated account alias.\",UPDATED_KEY:\"Updated key alias.\",CREATED_TOKEN_WITH_GRANT:\"Access token has been created successfully.\"},btmError:{BTM000:\"Vapor API Error\",BTM001:\"Request timed out\",BTM002:\"Invalid request body\",BTM103:\"A peer core is operating on a different blockchain network\",BTM200:\"Quorum must be greater than 1 and less than or equal to the length of xpubs\",BTM201:\"Invalid xpub format\",BTM202:\"At least one xpub is required\",BTM203:\"Root XPubs cannot contain the same key more than once\",BTM700:\"Funds of account are insufficient\",BTM701:\"Available funds of account are immature\",BTM702:\"Available UTXOs of account have been reserved\",BTM703:\"Not found UTXO with given hash\",BTM704:\"Invalid action type\",BTM705:\"Invalid action object\",BTM706:\"Invalid action construction\",BTM707:\"One or more fields are missing\",BTM708:\"Invalid asset amount\",BTM709:\"Not found account\",BTM710:\"Not found asset\",BTM730:\"Invalid transaction version\",BTM731:\"Invalid transaction size\",BTM732:\"Invalid transaction time range\",BTM733:\"Not standard transaction\",BTM734:\"Invalid coinbase transaction\",BTM735:\"Invalid coinbase assetID\",BTM736:\"Invalid coinbase arbitrary size\",BTM737:\"No results in the transaction\",BTM738:\"Mismatched assetID\",BTM739:\"Mismatched value source/dest position\",BTM740:\"Mismatched reference\",BTM741:\"Mismatched value\",BTM742:\"Missing required field\",BTM743:\"No source for value\",BTM744:\"Arithmetic overflow/underflow\",BTM745:\"Invalid source or destination position\",BTM746:\"Unbalanced asset amount between input and output\",BTM747:\"Gas credit has been spent\",BTM748:\"Gas usage calculate got a math error\",BTM760:\"Alt stack underflow\",BTM761:\"Bad value\",BTM762:\"Wrong context\",BTM763:\"Data stack underflow\",BTM764:\"Disallowed opcode\",BTM765:\"Division by zero\",BTM766:\"False result for executing VM\",BTM767:\"Program size exceeds max int32\",BTM768:\"Arithmetic range error\",BTM769:\"RETURN executed\",BTM770:\"Run limit exceeded because the BTM Fee is insufficient\",BTM771:\"Unexpected end of program\",BTM772:\"Unrecognized token\",BTM773:\"Unexpected error\",BTM774:\"Unsupported VM because the version of VM is mismatched\",BTM775:\"VERIFY failed\",BTM800:\"Key Alias already exists\",BTM801:\"Invalid after in query\",BTM802:\"Key not found or wrong password\",BTM803:\"Requested key aliases exceeds limit\",BTM804:\"Could not decrypt key with given passphrase\",BTM860:\"Request could not be authenticated\",F_BTM000:\"Your Password is wrong\",F_BTM001:\"Unable to reset the key password.\",F_BTM002:\"Your key password is correct.\",F_BTM003:\"Your account has multiple keys, please use advanced transactions.\",F_BTM100:\"Signature failed.\"}}},function(e,t){e.exports={language:\"中\",languageFull:\"中文\",main:{loading:\"等待连接Vapor Core...\"},asset:{asset:\"资产\",xpubs:\"扩展公钥 __id__\",assetPub:\"资产公钥\",formTitle:[\"资产别名\",\"资产ID\"],new:\"新建资产\",information:\"资产信息\",quorumHint:\"所需的签名数\",aliasError:\"资产别名是必须项\",aliasLengthError:\"资产别名的长度应该小于30字符。\",symbolError:\"资产代号是必须项\",symbolCaseError:\"资产代号必须是大写\",symbolPlaceholder:\"资产代号必须是大写, 3或者4个字符最好。\",decimalPlaceholder:\"定义资产小数位。\",keysError:\"请输入或选择密钥\",editAlias:\"编辑资产别名\",alias:\"资产别名\",aliasPlaceholder:\"请输入资产别名\",decimalsError:\"精度是必须项\",decimalsTypeError:\"请输入数字\",decimalsRangeError:\"精度的最大值是16。\",additionInfo:\"附加信息\",additionInfoKey:\"描述\",additionInfoValue:\"值\",additionInfoKeyError:\"描述是必须项。\",additionInfoValueError:\"值是必须项。\",issuableLabel:\"(请在大约__time__分钟内完成发布资产)\",noIssuableLabel:\"(资产不可发行)\"},commonWords:{version:\"版本号\",viewDetails:\"查看详情\",language:\"语言\",program:\"合约程序\",remove:\"删除\",page:\"页面\",close:\"关闭\",errorCode:\"错误代码:\",requestId:\"请求ID:\",cancel:\"返回\",continue:\"继续\",next:\"下一页\",previous:\"上一页\",addField:\"添加项\"},crumbName:{transaction:\"交易\",asset:\"资产\",key:\"密钥\",account:\"账户\",accountManagement:\"管理\",balance:\"余额\",unspent:\"未花费输出\",accessControl:\"访问控制\",new:\"新建\",update:\"版本更新\",coreData:\"核心数据\",services:\"服务\",advanced:\"高级\",help:\"帮助\",doc:\"文档\",developer:\"开发者\",equity:\"Equity 合约\",settings:\"设置\",coreStatus:\"核心状态\",logout:\"退出\",backupRestore:\"备份与恢复\",newTx:\"新建交易\",newAccount:\"新建账户\",newKey:\"新建密钥\",newToken:\"新建访问令牌\",newAsset:\"新建资产\",resetPassword:\"重置密钥密码\",peer:\"节点信息\",federation:\"联邦\"},form:{detail:\"详情\",alias:\"别名\",definition:\"定义\",xpubs:\"扩展公钥数\",quorum:\"签名数\",index:\"索引\",keys:\"密钥数\",key:\"密钥\",keyAlias:\"密钥别名\",keyAndSign:\"密钥和签名\",selectPlaceholder:\"请选择...\",enter:\"输入\",ok:\"关闭\",delete:\"删除\",cancel:\"返回\",more:\"更多\",required:\"必须项\",submit:\"提交\",edit:\"编辑\",succeed:\"成功\",failed:\"失败\",summary:\"概括\",timestamp:\"时间戳\",blockId:\"区块ID\",blockHeight:\"区块高度\",position:\"位置\",txStatus:\"交易状态\",input:\"输入\",output:\"输出\",id:\"ID\",type:\"类型\",purpose:\"Purpose\",transactionId:\"交易ID\",asset:\"资产\",assetId:\"资产ID\",assetAlias:\"资产别名\",assetDefinition:\"资产定义\",assetTags:\"Asset Tags\",assetIsLocal:\"Asset Is Local?\",amount:\"数量\",account:\"账户\",accountId:\"账户ID\",accountAlias:\"账户别名\",accountTags:\"Account Tags\",controlProgram:\"合约程序\",address:\"地址\",programIndex:\"程序索引\",spentOutputId:\"花费输出ID\",refData:\"Reference Data\",\nsourceId:\"源ID\",sourcePos:\"源位置\",issuanceProgram:\"资产发布程序\",isLocal:\"Local?\",referenceData:\"Reference Data\",change:\"找零\",errorTitle:\"表格提交错误\",fee:\"手续费\",successTitle:\"成功\",objectField:{aliasPlaceholder:\"输入__title__别名...\"},symbol:\"资产代号\",decimals:\"精度\",reissueTitle:\"是否可重复发行\",reissueTrue:\"可重复发行\",reissueFalse:\"不可重复发行\",vote:\"节点公钥\",totalVoteNumber:\"投票\",vmVersion:\"VM版本号\",rawDefinitionByte:\"资产描述\"},xpub:{methodOptions:{mockhsm:\"使用已有的密钥\",provide:\"提供已有的扩展公钥\",generate:\"新建密钥\",currentAccount:\"本账户扩展密钥\"},providePlaceholder:\"输入扩展公钥\"},sync:{status:\"同步状态\",peer:\"连接数\",synchronizing:\"区块同步中...\",synced:\"同步完成\",disconnect:\"同步中断\"},coreIndex:{configuration:\"配置\",version:\"核心版本号\",advanced:\"高级导航选项\",mining:\"节点出块\",unit:\"比原数量单位显示\",networkStatus:\"网络状态\",listening:\"节点监听\",connect:\"连接\",disConnect:\"断开\",syncStatus:\"网络同步\",synchronizing:\"同步中\",synced:\"同步完成\",miningStatus:\"节点出块状态\",miningRuning:\"运行\",miningStopped:\"停止\",peer:\"连接数\",currentBlock:\"当前高度\",highestBlock:\"最高高度\",networkId:\"网络ID\",nodeXpub:\"节点公钥\",coreStatus:\"核心状态\",fedAddress:\"联邦地址\"},console:{title:\"命令行\",message:\"欢迎来到Vapor Core API 命令行。<1/> 输入<2>help</2> 查看所有可用命令行。\",warning:\"注意\",warningMessage:\"骗子可能会让你在此输入命令,以盗取你的钱包内容。 如果你没有了解命令所带来的后果,请不要在此输入命令。\",placeholder:'输入 \"help\" 查看所有可用的命令'},key:{keys:\"密钥\",xpub:\"主公钥\",formTitle:[\"别名\",\"主公钥\"],reset:{title:\"重置密钥密码\",label:\"重置密码\",oldPassword:\"原始密码\",oldPPlaceholder:\"请输入原始密码\",newPassword:\"新密码\",newPasswordPlaceholder:\"请输入新密码\",repeatPassword:\"重复新密码\",repeatPasswordPlaceholder:\"请重复输入新密码\",newPWarning:\"请输入至少5位数的密码\",repeatPWarning:\"请重复输入刚刚所输入的密码\"},new:\"新建密钥\",info:\"密钥信息\",aliasPlaceHolder:\"请输入密钥别名...\",password:\"密码\",passwordPlaceholder:\"请输入密码...\",repeatPassword:\"重复密码\",repeatPasswordPlaceholder:\"请重复输入密码...\",aliasRequired:\"密钥别名是必须项\",passwordRequired:\"密码是必须项\",tryPassword:\"密码校验\",resetPassword:\"重置密码\",tryPPlaceholder:\"请输入校验密码\",editAlias:\"编辑密钥别名\",alias:\"密钥别名\"},account:{account:\"账户\",formTitle:[\"账户别名\",\"账户ID\",\"签名构成\"],accountXpub:\"账户公钥\",keyIndex:\"密钥索引\",address:\"地址\",xpubs:\"扩展公钥 __id__\",changeAddress:\"找零地址\",newAddress:\"新建地址\",copyAddress:\"拷贝这个地址以用于交易中:\",copyProgram:\"拷贝这个合约程序以用于交易中:\",copyClipboard:\"拷贝到剪贴板\",select:\"切换\",selected:\"使用中\",new:{newAccount:\"新建账户\",information:\"账户信息\",quorumHint:\"传输所需的密钥数\",aliasWarning:\"账户别名是必须项\",keyWarning:\"请输入或选择密钥\"},editAlias:\"编辑账户别名\",alias:\"账户别名\",aliasPlaceholder:\"请输入账户别名\"},transaction:{transaction:\"交易\",unconfirmedTx:\"未确认交易\",id:\"交易ID:\",crossChainId:\"交易ID(__id__):\",confirmed:\"已确认\",contractStatus:\"合约运行状态\",confirmation:\"确认数 __count__\",unconfirmedItem:\"未知 (确认数 0)\",pending:\"等待确认中\",completed:\"已完成\",type:{issue:\"创建资产\",sent:\"支出\",received:\"收入\",retire:\"销毁资产\",coinbase:\"挖矿收入\",immature:\"未成熟\",vote:\"投票\",veto:\"取消投票\"},new:{unsaveWarning:\"交易表格有未完成内容,你确定要离开么?\",new:\"新建交易\",normal:\"简单交易\",advanced:\"高级交易\",vote:\"投票\",submit:\"提交交易\",crossChain:\"跨链\",submitType:\"交易提交类型\",chainTx:\"链式交易\",chainTxNote:\"解决单笔交易UTXO个数限制,链式交易会生成多笔交易以及额外手续费。\"},normal:{from:\"从\",availableBalance:\"可用余额: \",to:\"至\",selectFee:\"选择手续费\",feeDescription:\"交易所需手续费, 你的交易将会在2.5分钟之后完成。\",confirmation:\"确认交易\",total:\"交易总数\"},advance:{generateJson:\"生成交易JSON\",showAdvanced:\"显示高级选项\",option:\"高级选项\",buildType:\"交易构建类型\",submitToBlockchain:\"向区块链提交交易\",submitLabel:\"此次交易将通过密钥签名然后提交到区块链。\",needMoreSign:\"需要更多签名\",needMoreSignDescription:\"这些actions将通过密钥签名然后作为一个交易 JSON 字符串返回。 作为多签交易的输入,这个JSON字符串需要更多的签名数据。\",toSignTransaction:\"带签名交易\",signPlaceholder:\"在这里复制交易 HEX ...\",showDetails:\"展示交易内容\",transactionContent:\"交易内容\",normalView:\"普通展示\",jsonView:\"Json格式\",generated:{title:\"生成的交易\",lead:\"请将下面的JSON交易发送给其他账户进行签名:\",qrBtnText:\"二维码\",signatureQrBtnText:\"Signature二维码\",qrModalLabel:\"Json转换成为下面的二维码。 请用手机扫描二维码。\",qrModalLabels:\"Json被分成了__size__个不同的字段, 并转换成二维码。 请用手机扫描二维码并拼接。\"}},issue:{issueAsset:\"发布资产\",transactionType:\"交易类型\",signRaw:\"签名交易Json\",accountAddress:\"Gas付款账户地址\",gasAccount:\"Gas付款账户\",signTx:\"签名提交交易\"},vote:{info:\"投票信息\",action:\"操作\",vote:{title:\"投票\",voteAmount:\"投票数量\",for:\"投票给\",confirm:\"确认投票\",submit:\"提交投票\"},veto:{title:\"取消投票\",voteAmount:\"取消投票数量\",for:\"取消投票给\",confirm:\"取消投票\",submit:\"提交取消投票\"}},crossChain:{title:\"跨链信息(Vapor->Bytom)\",address:\"Bytom地址\",addressHint:\"注意:所填地址必须以__id__开头。\",submit:\"提交跨链\",confirm:\"确认跨链\",crossChainAddress:\"跨链地址\"}},balances:{rescan:\"重新扫描\",status:{success:\"扫描成功\",start:\"扫描开始...\",rescan:\"扫描中...\",successMsg:\"已经成功扫描资产余额。\",startMsg:\"扫描正在启动...\",rescanMsg:\"钱包正在扫描中...\"},voteDetails:\"投票详情\"},errorMessage:{password:\"密码错误,请重新查看密码。\",amountError:\"请输入数字\",addressError:\"地址无效\",jsonError:\"请使用JSON字符来签名交易\",tokenError:\"令牌名称是必须项\",jsonObjectError:\"内容必须表示为JSON对象\",jsonRowError:\" 行数:__row__,  __error__\",parseError:\"转换错误\",rawDefinitionByteError:\"资产描述是必须项\"},emptyList:{loading:\"加载中\",noRecord:\"没有__objectName__记录\"},token:{accessToken:\"访问控制\",formTitle:[\"令牌名称\",\"令牌\"],new:\"新建令牌\",newAccessToken:\"新建访问令牌\",info:\"令牌信息\",name:\"令牌名称\"},init:{title:\"初始账户\",keyPassword:\"密钥密码\",repeatKeyPassword:\"重复输入密钥密码\",register:\"注册\",restoreWallet:\"恢复钱包\",restore:\"恢复\",restoreLabel:\"点击恢复按钮,选择备份文件进行恢复\",accountPlaceholder:\"请输入账户别名...\",keyPlaceholder:\"请输入密钥别名...\",passwordPlaceholder:\"请输入密钥密码...\",repeatPlaceHolder:\"请重复输入密钥密码...\",errorTitle:\"初始化错误\",mnemonic:\"助记词\",mnemonicRequire:\"助记词是必须项\",create:\"新建钱包\",createDescription:\"这个选项将生成默认的挖矿账户和默认密钥。注意: 请将密码妥善保存\",welcome:\"欢迎来到Vapor __network__\"},backup:{title:\"备份与恢复\",backup:\"备份\",backupDescription:\"这个选项备份所有本地数据,包括账户,资产和余额。 请妥善保管你的备份文件。\",restoreKeystore:\"从Keystore文件恢复\",restoreKeystoreDescription:\"这个选项将从文件中恢复钱包数据。 如果你的钱包余额显示不正确,请点击扫描钱包的按钮。\",restoreMnemonic:\"通过助记词恢复\",restoreMnemonicDescription:\"这个选项将通过助记词恢复密钥相关的数据。 如果你的钱包余额显示不正确,请点击扫描钱包的按钮。\",download:\"下载备份\",selectFile:\"选择备份文件\",restore:\"恢复\"},peers:{formTitle:[\"远程地址\",\"高度\",\"Ping\",\"时长\",\"总字节\"],disconnect:\"断开\"},mnemonic:{backup:\"备份助记词\",backupMessage:\"助记词只展示一次。用于恢复密钥相关的信息。 请将它准确的抄写到纸上,并存放在的安全的地方。\",continue:\"我已抄写助记词\",skip:\"跳过备份\",confirmTitle:\"请重复输入钱包助记词\",confirm:\"验证助记词\",confirmMessage:\"填写缺失的文字以验证你已经抄写下助记词。\"},notFound:{title:\"页面找不到\",word:\"我们找不到你所寻找的页面。\"},tutorial:{content:{transaction:[\"交易记录展示了账户资产的输入输出数额。 在你的交易显示中,个人的资产账户的输出与输入,手续费消耗燃料的总额是相等的。SPEND行为代表输入行为,  CONTROL代表输出行为,在高级交易中, 任何Actions只要满足输入大于输出都可以组合成交易进行发送, 但要注意差额形成的手续费数量。\"],key:[\"加密私钥是区块链上的主要授权机制。 他们控制着资产单位的发行和交易。资产或账户将定义发行或转账所需的一个或多个密钥。\"],account:[\"账户是Vapor中的对象,它通过创建和追溯Control Program来追溯区块链上资产的所有权。账户对象不存在与区块链中, 它是存在于本地Vapor中。 只有账户中创建的Control Program存在于区块链上。\"],asset:[\"资产是可以在区块链上发行的一种价值。资产的所有单位都是可替代的,并且可以在各方之间直接进行交易,而无需发行人的参与。\"],balance:[\"余额显示了本地比原账户所拥有的资产种类和资产数。\"],coreStatus:[\"核心状态显示了一些区块链网络的状态和本地的配置。\"],accessControl:[\"访问令牌是用于远程授权。远程控制非本地节点,需要访问令牌。\"],unspent:[\"区块链上的每个新交易都会消耗一些未花费的输出并创建其他交易。输出如果未用作新交易的输入,将被视为未花费输出。区块链上的所有资产单位都存在于未花费输出集中。\"],backupRestore:[\"备份和恢复钱包信息将会以TXT文件的形式储存。 请妥善保管你的备份信息。\"],newTx:{header:\"简单交易\",steps:[{title:'填写账户的 \"别名\" 或者 \"ID\"',description:[\"选择你想要花费的账户。\"]},{title:'填写资产的 \"别名\" 或者 \"ID\"',description:[\"选择你想要发送的资产类型。\"]},{title:'复制 \"地址\"',description:[\"复制接受资产的地址。\"]},{title:\"填写所发送的资产数额\"},{title:\"选择gas\",description:[\"选择交易的手续费gas。\"]},{title:\"填写密钥密码\",description:[\"填写创建账户时所选密钥的密码。注意,多重签名交易请使用高级交易。\"]},{title:'点击 \"提交交易\" 的按钮'}]},newTx_ad:{header:\"高级交易\",steps:[{title:'点击 \"Add action\" 的按钮',description:['选择 \"Spend from account\" 添加一个spend action']},{title:\"填写 spend action\",description:[\"填写账户别名, 资产别名和发送数额。\"]},{title:'点击 \"Add action\"的按钮',description:['选择\"Control with address\" 添加一个control action。']},{title:\"填写 control action\",description:[\"复制地址, 填写资产和接收数额\"]},{title:\"填写密钥密码\",description:[\"填写创建账户时所选密钥的密码。 多重签名交易请点击 show advanced options。\"]},{title:'点击 \"提交交易\" 的按钮'}]},newAccount:{header:\"新建账户\",steps:[{title:'在账户别名栏填写名称 (例如: \"alice\")',description:[\"别名是用来区分账户的用户友好的标签。\"]},{title:'在 \"密钥和签名\" 栏目中选择 \"使用已有的密钥\" 或者 \"提供已有的扩展公钥\"',description:[\"选择已有的密钥或者输入提供公钥。\"]},{title:'点击 \"提交\" 按钮'}]},newAsset:{header:\"新建资产\",steps:[{title:'填写资产别名 (例如: \"gold\")',description:[\"别名是用来区分资产的用户友好的标签。\"]},{title:'在 \"密钥和签名\" 栏目中选择 \"使用已有的密钥\" 或者 \"提供已有的扩展公钥\"',description:[\"选择已有的密钥或者输入提供公钥。\"]},{title:'点击 \"提交\" 按钮'}]},newKey:{header:\"新建密钥\",steps:[{title:'填写密钥别名 (例如. \"goldkey\")',description:[\"别名是用来区分密钥的用户友好的标签。\"]},{title:\"输入和重复输入密钥的密码\",description:[\"请妥善保管你的密钥密码, Vapor 不提供找回密码的功能。 \"]},{title:'点击 \"提交\" 按钮'}]},resetPassword:{header:\"重置密码密钥\",steps:[{title:\"输入原始的密钥密码\"},{title:\"输入和重复输入密钥的新密码\",description:[\"请妥善保管你的密钥密码, Vapor 不提供找回密码的功能。\"]},{title:'点击 \"提交\" 按钮'}]},newToken:{header:\"新建访问令牌\",steps:[{title:\"填写访问令牌的别名\"},{title:'点击\"提交\" 按钮'}]}}},message:{CREATED_ASSET:\"资产已经成功创建。\",CREATED_ACCOUNT:\"账户已经成功创建。\",CREATED_TRANSACTION:\"交易已经成功提交。\",CREATED_KEY:\"密钥已经成功创建。\",RESET_PASSWORD_KEY:\"密钥密码已经重置成功。\",CREATE_REGISTER_ACCOUNT:\"默认账户和密钥已经初始化成功。\",RESTORE_SUCCESS:\"钱包已经成功恢复。\",UPDATED_ASSET:\"资产别名更改成功。\",UPDATED_ACCOUNT:\"账户别名更改成功。\",UPDATED_KEY:\"密钥别名更改成功。\",CREATED_TOKEN_WITH_GRANT:\"访问令牌创建成功。\"},btmError:{BTM000:\"非比原标准错误\",BTM001:\"API请求超时\",BTM002:\"非法的API请求结构\",BTM103:\"区块链网络类型不匹配\",BTM200:\"签名数必须大于或者等于1 并且小于或者等于所提供的密钥数\",BTM201:\"签名格式错误\",BTM202:\"请提供至少一个扩展公钥\",BTM203:\"主公钥重复\",BTM700:\"账户资产余额不足\",BTM701:\"coinbase交易未成熟,币不可花费\",BTM702:\"UTXO已经被用来构建交易,导致被临时锁定,不可花费\",BTM703:\"UTXO不属于当前钱包\",BTM704:\"action类型无效\",BTM705:\"action 内容无效\",BTM706:\"action结构错误(只有输入或者只有输出)\",BTM707:\"action输入内容缺失\",BTM708:\"资产数量格式错误(超过最大数量)\",BTM709:\"所输入账户不存在\",BTM710:\"所输入资产不存在\",BTM730:\"交易版本无效\",BTM731:\"交易大小无效,不能为0\",BTM732:\"超出交易时间范围,用于将停留时间过久的未确认交易作废\",BTM733:\"非标准的交易\",BTM734:\"非法coinbase交易\",BTM735:\"非法的coinbase资产ID\",BTM736:\"coinbase尺寸过大,附加数据超过一定限制\",BTM737:\"交易结构异常\",BTM738:\"资产ID无法匹配\",BTM739:\"action位置不匹配\",BTM740:\"引用不匹配\",BTM741:\"不匹配的值,action的资产值不匹配\",BTM742:\"缺少所必须的项目\",BTM743:\"输入源不存在\",BTM744:\"计算溢出,资产计算值超出限制\",BTM745:\"源位置或者目标位置无效\",BTM746:\"输入数资产数不等于输出资产数\",BTM747:\"交易的输入UTXO数量超过上限,最高为20个\",BTM748:\"Gas运算错误\",BTM760:\"子虚拟机栈溢出\",BTM761:\"非法栈数据\",BTM762:\"context值错误,context为虚拟机执行上下文\",BTM763:\"虚拟机数据溢出\",BTM764:\"虚拟机指令不存在\",BTM765:\"除零错误\",BTM766:\"虚拟机执行结果为Fasle\",BTM767:\"合约的字节大小超过int32上限\",BTM768:\"运算结果溢出\",BTM769:\"执行了op FAIL指令,直接返回\",BTM770:\"手续费不足,引起合约终止\",BTM771:\"异常的program合约程序\",BTM772:\"不识别的虚拟机指令数据\",BTM773:\"异常错误\",BTM774:\"虚拟机版本不匹配\",BTM775:\"verify指令执行失败\",BTM800:\"密钥别名已经存在,请选择其他名字\",BTM801:\"Invalid after in query\",BTM802:\"密钥不存在或者密码错误\",BTM803:\"Requested key aliases exceeds limit\",BTM804:\"无法根据提供的密码进行解密\",BTM860:\"请求没有经过认证。一般由Access Token造成\",F_BTM000:\"账户对应的密码错误\",F_BTM001:\"重置密钥失败\",F_BTM002:\"你的密钥密码是正确的。\",F_BTM003:\"发送账户为多签账户,请使用高级交易\",F_BTM100:\"签名失败。\"}}},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function r(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}function o(e,t){return function(n){return e(t(n))}}function i(e,t){var n=z(e)||m(e)?r(e.length,String):[],o=n.length,i=!!o;for(var a in e)!t&&!S.call(e,a)||i&&(\"length\"==a||d(a,o))||n.push(a);return n}function a(e,t,n){var r=e[t];S.call(e,t)&&h(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function s(e){if(!p(e))return D(e);var t=[];for(var n in Object(e))S.call(e,n)&&\"constructor\"!=n&&t.push(n);return t}function u(e,t){return t=x(void 0===t?e.length-1:t,0),function(){for(var r=arguments,o=-1,i=x(r.length-t,0),a=Array(i);++o<i;)a[o]=r[t+o];o=-1;for(var s=Array(t+1);++o<t;)s[o]=r[o];return s[t]=a,n(e,this,s)}}function l(e,t,n,r){n||(n={});for(var o=-1,i=t.length;++o<i;){var s=t[o],u=r?r(n[s],e[s],s,n,e):void 0;a(n,s,void 0===u?e[s]:u)}return n}function c(e){return u(function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&\"function\"==typeof i?(o--,i):void 0,a&&f(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=Object(t);++r<o;){var s=n[r];s&&e(t,s,r,i)}return t})}function d(e,t){return t=null==t?w:t,!!t&&(\"number\"==typeof e||T.test(e))&&e>-1&&e%1==0&&e<t}function f(e,t,n){if(!v(n))return!1;var r=typeof t;return!!(\"number\"==r?g(n)&&d(t,n.length):\"string\"==r&&t in n)&&h(n[t],e)}function p(e){var t=e&&e.constructor,n=\"function\"==typeof t&&t.prototype||O;return e===n}function h(e,t){return e===t||e!==e&&t!==t}function m(e){return _(e)&&S.call(e,\"callee\")&&(!k.call(e,\"callee\")||N.call(e)==C)}function g(e){return null!=e&&y(e.length)&&!b(e)}function _(e){return M(e)&&g(e)}function b(e){var t=v(e)?N.call(e):\"\";return t==E||t==L}function y(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=w}function v(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function M(e){return!!e&&\"object\"==typeof e}function A(e){return g(e)?i(e):s(e)}var w=9007199254740991,C=\"[object Arguments]\",E=\"[object Function]\",L=\"[object GeneratorFunction]\",T=/^(?:0|[1-9]\\d*)$/,O=Object.prototype,S=O.hasOwnProperty,N=O.toString,k=O.propertyIsEnumerable,D=o(Object.keys,Object),x=Math.max,I=!k.call({valueOf:1},\"valueOf\"),z=Array.isArray,j=c(function(e,t){if(I||p(t)||g(t))return void l(t,A(t),e);for(var n in t)S.call(t,n)&&a(e,n,t[n])});e.exports=j},function(e,t){(function(t){function n(e,t){return null==e?void 0:e[t]}function r(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function o(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function i(){this.__data__=ge?ge(null):{}}function a(e){return this.has(e)&&delete this.__data__[e]}function s(e){var t=this.__data__;if(ge){var n=t[e];return n===H?void 0:n}return ce.call(t,e)?t[e]:void 0}function u(e){var t=this.__data__;return ge?void 0!==t[e]:ce.call(t,e)}function l(e,t){var n=this.__data__;return n[e]=ge&&void 0===t?H:t,this}function c(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function d(){this.__data__=[]}function f(e){var t=this.__data__,n=A(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():he.call(t,n,1),!0}function p(e){var t=this.__data__,n=A(t,e);return n<0?void 0:t[n][1]}function h(e){return A(this.__data__,e)>-1}function m(e,t){var n=this.__data__,r=A(n,e);return r<0?n.push([e,t]):n[r][1]=t,this}function g(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _(){this.__data__={hash:new o,map:new(me||c),string:new o}}function b(e){return T(this,e).delete(e)}function y(e){return T(this,e).get(e)}function v(e){return T(this,e).has(e)}function M(e,t){return T(this,e).set(e,t),this}function A(e,t){for(var n=e.length;n--;)if(z(e[n][0],t))return n;return-1}function w(e,t){t=S(t,e)?[t]:L(t);for(var n=0,r=t.length;null!=e&&n<r;)e=e[D(t[n++])];return n&&n==r?e:void 0}function C(e){if(!P(e)||k(e))return!1;var t=j(e)||r(e)?fe:ee;return t.test(x(e))}function E(e){if(\"string\"==typeof e)return e;if(F(e))return be?be.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-q?\"-0\":t}function L(e){return ve(e)?e:ye(e)}function T(e,t){var n=e.__data__;return N(t)?n[\"string\"==typeof t?\"string\":\"hash\"]:n.map}function O(e,t){var r=n(e,t);return C(r)?r:void 0}function S(e,t){if(ve(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!F(e))||($.test(e)||!G.test(e)||null!=t&&e in Object(t))}function N(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}function k(e){return!!ue&&ue in e}function D(e){if(\"string\"==typeof e||F(e))return e;var t=e+\"\";return\"0\"==t&&1/e==-q?\"-0\":t}function x(e){if(null!=e){try{return le.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}function I(e,t){if(\"function\"!=typeof e||t&&\"function\"!=typeof t)throw new TypeError(Y);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a),a};return n.cache=new(I.Cache||g),n}function z(e,t){return e===t||e!==e&&t!==t}function j(e){var t=P(e)?de.call(e):\"\";return t==U||t==X}function P(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function B(e){return!!e&&\"object\"==typeof e}function F(e){return\"symbol\"==typeof e||B(e)&&de.call(e)==V}function R(e){return null==e?\"\":E(e)}function W(e,t,n){var r=null==e?void 0:w(e,t);return void 0===r?n:r}var Y=\"Expected a function\",H=\"__lodash_hash_undefined__\",q=1/0,U=\"[object Function]\",X=\"[object GeneratorFunction]\",V=\"[object Symbol]\",G=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,$=/^\\w*$/,K=/^\\./,Q=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,Z=/[\\\\^$.*+?()[\\]{}|]/g,J=/\\\\(\\\\)?/g,ee=/^\\[object .+?Constructor\\]$/,te=\"object\"==typeof t&&t&&t.Object===Object&&t,ne=\"object\"==typeof self&&self&&self.Object===Object&&self,re=te||ne||Function(\"return this\")(),oe=Array.prototype,ie=Function.prototype,ae=Object.prototype,se=re[\"__core-js_shared__\"],ue=function(){var e=/[^.]+$/.exec(se&&se.keys&&se.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}(),le=ie.toString,ce=ae.hasOwnProperty,de=ae.toString,fe=RegExp(\"^\"+le.call(ce).replace(Z,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),pe=re.Symbol,he=oe.splice,me=O(re,\"Map\"),ge=O(Object,\"create\"),_e=pe?pe.prototype:void 0,be=_e?_e.toString:void 0;o.prototype.clear=i,o.prototype.delete=a,o.prototype.get=s,o.prototype.has=u,o.prototype.set=l,c.prototype.clear=d,c.prototype.delete=f,c.prototype.get=p,c.prototype.has=h,c.prototype.set=m,g.prototype.clear=_,g.prototype.delete=b,g.prototype.get=y,g.prototype.has=v,g.prototype.set=M;var ye=I(function(e){e=R(e);var t=[];return K.test(e)&&t.push(\"\"),e.replace(Q,function(e,n,r,o){t.push(r?o.replace(J,\"$1\"):n||e)}),t});I.Cache=g;var ve=Array.isArray;e.exports=W}).call(t,function(){return this}())},function(e,t){function n(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}function r(e,t){return function(n){return e(t(n))}}function o(e){return!!e&&\"object\"==typeof e}function i(e){if(!o(e)||f.call(e)!=a||n(e))return!1;var t=p(e);if(null===t)return!0;var r=c.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&l.call(r)==d}var a=\"[object Object]\",s=Function.prototype,u=Object.prototype,l=s.toString,c=u.hasOwnProperty,d=l.call(Object),f=u.toString,p=r(Object.getPrototypeOf,Object);e.exports=i},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(1332),i=n(1333),a=n(1334),s=n(1335),u=n(1336);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(1341),i=n(1342),a=n(1343),s=n(1344),u=n(1345);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t,n){var r=n(296),o=n(297),i=r(o,\"Map\");e.exports=i},function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=n(1346),i=n(1347),a=n(1348),s=n(1349),u=n(1350);r.prototype.clear=o,r.prototype.delete=i,r.prototype.get=a,r.prototype.has=s,r.prototype.set=u,e.exports=r},function(e,t){function n(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}e.exports=n},function(e,t){function n(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}e.exports=n},function(e,t,n){function r(e,t,n){var r=e[t];s.call(e,t)&&i(r,n)&&(void 0!==n||t in e)||o(e,t,n)}var o=n(1314),i=n(434),a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t,n){\"__proto__\"==t&&o?o(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}var o=n(432);e.exports=r},function(e,t,n){function r(e,t,n,a,s){var u=-1,l=e.length;for(n||(n=i),s||(s=[]);++u<l;){var c=e[u];t>0&&n(c)?t>1?r(c,t-1,n,a,s):o(s,c):a||(s[s.length]=c)}return s}var o=n(1312),i=n(1337);e.exports=r},function(e,t,n){function r(e,t){t=o(t,e);for(var n=0,r=t.length;null!=e&&n<r;)e=e[i(t[n++])];return n&&n==r?e:void 0}var o=n(207),i=n(298);e.exports=r},function(e,t){function n(e,t){return null!=e&&t in Object(e)}e.exports=n},function(e,t,n){function r(e){return i(e)&&o(e)==a}var o=n(206),i=n(210),a=\"[object Arguments]\";e.exports=r},function(e,t,n){function r(e){if(!a(e)||i(e))return!1;var t=o(e)?h:l;return t.test(s(e))}var o=n(1363),i=n(1340),a=n(299),s=n(1358),u=/[\\\\^$.*+?()[\\]{}|]/g,l=/^\\[object .+?Constructor\\]$/,c=Function.prototype,d=Object.prototype,f=c.toString,p=d.hasOwnProperty,h=RegExp(\"^\"+f.call(p).replace(u,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");e.exports=r},function(e,t,n){function r(e,t){return o(e,t,function(t,n){return i(e,n)})}var o=n(1321),i=n(1361);e.exports=r},function(e,t,n){function r(e,t,n){for(var r=-1,s=t.length,u={};++r<s;){var l=t[r],c=o(e,l);n(c,l)&&i(u,a(l,e),c)}return u}var o=n(1316),i=n(1322),a=n(207);e.exports=r},function(e,t,n){function r(e,t,n,r){if(!s(e))return e;t=i(t,e);for(var l=-1,c=t.length,d=c-1,f=e;null!=f&&++l<c;){var p=u(t[l]),h=n;if(l!=d){var m=f[p];h=r?r(m,p,f):void 0,void 0===h&&(h=s(m)?m:a(t[l+1])?[]:{})}o(f,p,h),f=f[p]}return e}var o=n(1313),i=n(207),a=n(433),s=n(299),u=n(298);e.exports=r},function(e,t,n){var r=n(1359),o=n(432),i=n(1362),a=o?function(e,t){return o(e,\"toString\",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:i;e.exports=a},function(e,t,n){function r(e){if(\"string\"==typeof e)return e;if(a(e))return i(e,r)+\"\";if(s(e))return c?c.call(e):\"\";var t=e+\"\";return\"0\"==t&&1/e==-u?\"-0\":t}var o=n(204),i=n(1311),a=n(164),s=n(300),u=1/0,l=o?o.prototype:void 0,c=l?l.toString:void 0;e.exports=r},function(e,t,n){var r=n(297),o=r[\"__core-js_shared__\"];e.exports=o},function(e,t,n){function r(e){return a(i(e,void 0,o),e+\"\")}var o=n(1360),i=n(1354),a=n(1355);e.exports=r},function(e,t){(function(t){var n=\"object\"==typeof t&&t&&t.Object===Object&&t;e.exports=n}).call(t,function(){return this}())},function(e,t,n){var r=n(1353),o=r(Object.getPrototypeOf,Object);e.exports=o},function(e,t,n){function r(e){var t=a.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(e){}var o=s.call(e);return r&&(t?e[u]=n:delete e[u]),o}var o=n(204),i=Object.prototype,a=i.hasOwnProperty,s=i.toString,u=o?o.toStringTag:void 0;e.exports=r},function(e,t){function n(e,t){return null==e?void 0:e[t]}e.exports=n},function(e,t,n){function r(e,t,n){t=o(t,e);for(var r=-1,c=t.length,d=!1;++r<c;){var f=l(t[r]);if(!(d=null!=e&&n(e,f)))break;e=e[f]}return d||++r!=c?d:(c=null==e?0:e.length,!!c&&u(c)&&s(f,c)&&(a(e)||i(e)))}var o=n(207),i=n(435),a=n(164),s=n(433),u=n(1364),l=n(298);e.exports=r},function(e,t,n){function r(){this.__data__=o?o(null):{},this.size=0}var o=n(209);e.exports=r},function(e,t){function n(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}e.exports=n},function(e,t,n){function r(e){var t=this.__data__;if(o){var n=t[e];return n===i?void 0:n}return s.call(t,e)?t[e]:void 0}var o=n(209),i=\"__lodash_hash_undefined__\",a=Object.prototype,s=a.hasOwnProperty;e.exports=r},function(e,t,n){function r(e){var t=this.__data__;return o?void 0!==t[e]:a.call(t,e)}var o=n(209),i=Object.prototype,a=i.hasOwnProperty;e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=o&&void 0===t?i:t,this}var o=n(209),i=\"__lodash_hash_undefined__\";e.exports=r},function(e,t,n){function r(e){return a(e)||i(e)||!!(s&&e&&e[s])}var o=n(204),i=n(435),a=n(164),s=o?o.isConcatSpreadable:void 0;e.exports=r},function(e,t,n){function r(e,t){if(o(e))return!1;var n=typeof e;return!(\"number\"!=n&&\"symbol\"!=n&&\"boolean\"!=n&&null!=e&&!i(e))||(s.test(e)||!a.test(e)||null!=t&&e in Object(t))}var o=n(164),i=n(300),a=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,s=/^\\w*$/;e.exports=r},function(e,t){function n(e){var t=typeof e;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==e:null===e}e.exports=n},function(e,t,n){function r(e){return!!i&&i in e}var o=n(1325),i=function(){var e=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||\"\");return e?\"Symbol(src)_1.\"+e:\"\"}();e.exports=r},function(e,t){function n(){this.__data__=[],this.size=0}e.exports=n},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():a.call(t,n,1),--this.size,!0}var o=n(205),i=Array.prototype,a=i.splice;e.exports=r},function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);return n<0?void 0:t[n][1]}var o=n(205);e.exports=r},function(e,t,n){function r(e){return o(this.__data__,e)>-1}var o=n(205);e.exports=r},function(e,t,n){function r(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var o=n(205);e.exports=r},function(e,t,n){function r(){this.size=0,this.__data__={hash:new o,map:new(a||i),string:new o}}var o=n(1306),i=n(1307),a=n(1308);e.exports=r},function(e,t,n){function r(e){var t=o(this,e).delete(e);return this.size-=t?1:0,t}var o=n(208);e.exports=r},function(e,t,n){function r(e){return o(this,e).get(e)}var o=n(208);e.exports=r},function(e,t,n){function r(e){return o(this,e).has(e)}var o=n(208);e.exports=r},function(e,t,n){function r(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var o=n(208);e.exports=r},function(e,t,n){function r(e){var t=o(e,function(e){return n.size===i&&n.clear(),e}),n=t.cache;return t}var o=n(1366),i=500;e.exports=r},function(e,t){function n(e){return o.call(e)}var r=Object.prototype,o=r.toString;e.exports=n},function(e,t){function n(e,t){return function(n){return e(t(n))}}e.exports=n},function(e,t,n){function r(e,t,n){return t=i(void 0===t?e.length-1:t,0),function(){for(var r=arguments,a=-1,s=i(r.length-t,0),u=Array(s);++a<s;)u[a]=r[t+a];a=-1;for(var l=Array(t+1);++a<t;)l[a]=r[a];return l[t]=n(u),o(e,this,l)}}var o=n(1310),i=Math.max;e.exports=r},function(e,t,n){var r=n(1323),o=n(1356),i=o(r);e.exports=i},function(e,t){function n(e){var t=0,n=0;return function(){var a=i(),s=o-(a-n);if(n=a,s>0){if(++t>=r)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var r=800,o=16,i=Date.now;e.exports=n},function(e,t,n){var r=n(1351),o=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,i=/\\\\(\\\\)?/g,a=r(function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(\"\"),e.replace(o,function(e,n,r,o){t.push(r?o.replace(i,\"$1\"):n||e)}),t});e.exports=a},function(e,t){function n(e){if(null!=e){try{return o.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}var r=Function.prototype,o=r.toString;e.exports=n},function(e,t){function n(e){return function(){return e}}e.exports=n},function(e,t,n){function r(e){var t=null==e?0:e.length;return t?o(e,1):[]}var o=n(1315);e.exports=r},function(e,t,n){function r(e,t){return null!=e&&i(e,t,o)}var o=n(1317),i=n(1331);e.exports=r},function(e,t){function n(e){return e}e.exports=n},function(e,t,n){function r(e){if(!i(e))return!1;var t=o(e);return t==s||t==u||t==a||t==l}var o=n(206),i=n(299),a=\"[object AsyncFunction]\",s=\"[object Function]\",u=\"[object GeneratorFunction]\",l=\"[object Proxy]\";e.exports=r},function(e,t){function n(e){return\"number\"==typeof e&&e>-1&&e%1==0&&e<=r}var r=9007199254740991;e.exports=n},function(e,t,n){function r(e){if(!a(e)||o(e)!=s)return!1;var t=i(e);if(null===t)return!0;var n=d.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof n&&n instanceof n&&c.call(n)==f}var o=n(206),i=n(1328),a=n(210),s=\"[object Object]\",u=Function.prototype,l=Object.prototype,c=u.toString,d=l.hasOwnProperty,f=c.call(Object);e.exports=r},function(e,t,n){function r(e,t){if(\"function\"!=typeof e||null!=t&&\"function\"!=typeof t)throw new TypeError(i);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(r.Cache||o),n}var o=n(1309),i=\"Expected a function\";r.Cache=o,e.exports=r},function(e,t,n){function r(e){return null==e?\"\":o(e)}var o=n(1324);e.exports=r},function(e,t){\"use strict\";function n(e){var t,n,r=o[e];if(r)return r;for(r=o[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),r.push(n);for(t=0;t<e.length;t++)n=e.charCodeAt(t),r[n]=\"%\"+(\"0\"+n.toString(16).toUpperCase()).slice(-2);return r}function r(e,t){var o;return\"string\"!=typeof t&&(t=r.defaultChars),o=n(t),e.replace(/(%[a-f0-9]{2})+/gi,function(e){var t,n,r,i,a,s,u,l=\"\";for(t=0,n=e.length;t<n;t+=3)r=parseInt(e.slice(t+1,t+3),16),r<128?l+=o[r]:192===(224&r)&&t+3<n&&(i=parseInt(e.slice(t+4,t+6),16),128===(192&i))?(u=r<<6&1984|63&i,l+=u<128?\"��\":String.fromCharCode(u),t+=3):224===(240&r)&&t+6<n&&(i=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),128===(192&i)&&128===(192&a))?(u=r<<12&61440|i<<6&4032|63&a,l+=u<2048||u>=55296&&u<=57343?\"���\":String.fromCharCode(u),t+=6):240===(248&r)&&t+9<n&&(i=parseInt(e.slice(t+4,t+6),16),a=parseInt(e.slice(t+7,t+9),16),s=parseInt(e.slice(t+10,t+12),16),128===(192&i)&&128===(192&a)&&128===(192&s))?(u=r<<18&1835008|i<<12&258048|a<<6&4032|63&s,u<65536||u>1114111?l+=\"����\":(u-=65536,l+=String.fromCharCode(55296+(u>>10),56320+(1023&u))),t+=9):l+=\"�\";return l})}var o={};r.defaultChars=\";/?:@&=+$,#\",r.componentChars=\"\",e.exports=r},function(e,t){\"use strict\";function n(e){var t,n,r=o[e];if(r)return r;for(r=o[e]=[],t=0;t<128;t++)n=String.fromCharCode(t),/^[0-9a-z]$/i.test(n)?r.push(n):r.push(\"%\"+(\"0\"+t.toString(16).toUpperCase()).slice(-2));for(t=0;t<e.length;t++)r[e.charCodeAt(t)]=e[t];return r}function r(e,t,o){var i,a,s,u,l,c=\"\";for(\"string\"!=typeof t&&(o=t,t=r.defaultChars),\"undefined\"==typeof o&&(o=!0),l=n(t),i=0,a=e.length;i<a;i++)if(s=e.charCodeAt(i),o&&37===s&&i+2<a&&/^[0-9a-f]{2}$/i.test(e.slice(i+1,i+3)))c+=e.slice(i,i+3),i+=2;else if(s<128)c+=l[s];else if(s>=55296&&s<=57343){if(s>=55296&&s<=56319&&i+1<a&&(u=e.charCodeAt(i+1),u>=56320&&u<=57343)){c+=encodeURIComponent(e[i]+e[i+1]),i++;continue}c+=\"%EF%BF%BD\"}else c+=encodeURIComponent(e[i]);return c}var o={};r.defaultChars=\";/?:@&=+$,-_.!~*'()#\",r.componentChars=\"-_.!~*'()\",e.exports=r},function(e,t,n){var r=e.exports=n(1371);r.tz.load(n(1298))},function(e,t,n){var r,o,i;(function(a){!function(a,s){\"use strict\";o=[n(3)],r=s,i=\"function\"==typeof r?r.apply(t,o):r,!(void 0!==i&&(e.exports=i))}(this,function(e){\"use strict\";function t(e){return e>96?e-87:e>64?e-29:e-48}function n(e){var n,r=0,o=e.split(\".\"),i=o[0],a=o[1]||\"\",s=1,u=0,l=1;for(45===e.charCodeAt(0)&&(r=1,l=-1),r;r<i.length;r++)n=t(i.charCodeAt(r)),u=60*u+n;for(r=0;r<a.length;r++)s/=60,n=t(a.charCodeAt(r)),u+=n*s;return u*l}function r(e){for(var t=0;t<e.length;t++)e[t]=n(e[t])}function o(e,t){for(var n=0;n<t;n++)e[n]=Math.round((e[n-1]||0)+6e4*e[n]);e[t-1]=1/0}function i(e,t){var n,r=[];for(n=0;n<t.length;n++)r[n]=e[t[n]];return r}function s(e){var t=e.split(\"|\"),n=t[2].split(\" \"),a=t[3].split(\"\"),s=t[4].split(\" \");return r(n),r(a),r(s),o(s,a.length),{name:t[0],abbrs:i(t[1].split(\" \"),a),offsets:i(n,a),untils:s,population:0|t[5]}}function u(e){e&&this._set(s(e))}function l(e){var t=e.toTimeString(),n=t.match(/\\([a-z ]+\\)/i);n&&n[0]?(n=n[0].match(/[A-Z]/g),n=n?n.join(\"\"):void 0):(n=t.match(/[A-Z]{3,5}/g),n=n?n[0]:void 0),\"GMT\"===n&&(n=void 0),this.at=+e,this.abbr=n,this.offset=e.getTimezoneOffset()}function c(e){this.zone=e,this.offsetScore=0,this.abbrScore=0}function d(e,t){for(var n,r;r=6e4*((t.at-e.at)/12e4|0);)n=new l(new Date(e.at+r)),n.offset===e.offset?e=n:t=n;return e}function f(){var e,t,n,r=(new Date).getFullYear()-2,o=new l(new Date(r,0,1)),i=[o];for(n=1;n<48;n++)t=new l(new Date(r,n,1)),t.offset!==o.offset&&(e=d(o,t),i.push(e),i.push(new l(new Date(e.at+6e4)))),o=t;for(n=0;n<4;n++)i.push(new l(new Date(r+n,0,1))),i.push(new l(new Date(r+n,6,1)));return i}function p(e,t){return e.offsetScore!==t.offsetScore?e.offsetScore-t.offsetScore:e.abbrScore!==t.abbrScore?e.abbrScore-t.abbrScore:t.zone.population-e.zone.population}function h(e,t){var n,o;for(r(t),n=0;n<t.length;n++)o=t[n],z[o]=z[o]||{},z[o][e]=!0}function m(e){var t,n,r,o=e.length,i={},a=[];for(t=0;t<o;t++){r=z[e[t].offset]||{};for(n in r)r.hasOwnProperty(n)&&(i[n]=!0)}for(t in i)i.hasOwnProperty(t)&&a.push(I[t]);return a}function g(){try{var e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e&&e.length>3){var t=I[b(e)];if(t)return t;L(\"Moment Timezone found \"+e+\" from the Intl api, but did not have that data loaded.\")}}catch(e){}var n,r,o,i=f(),a=i.length,s=m(i),u=[];for(r=0;r<s.length;r++){for(n=new c(v(s[r]),a),o=0;o<a;o++)n.scoreOffsetAt(i[o]);u.push(n)}return u.sort(p),u.length>0?u[0].zone.name:void 0}function _(e){return N&&!e||(N=g()),N}function b(e){return(e||\"\").toLowerCase().replace(/\\//g,\"_\")}function y(e){var t,n,r,o;for(\"string\"==typeof e&&(e=[e]),t=0;t<e.length;t++)r=e[t].split(\"|\"),n=r[0],o=b(n),\nD[o]=e[t],I[o]=n,h(o,r[2].split(\" \"))}function v(e,t){e=b(e);var n,r=D[e];return r instanceof u?r:\"string\"==typeof r?(r=new u(r),D[e]=r,r):x[e]&&t!==v&&(n=v(x[e],v))?(r=D[e]=new u,r._set(n),r.name=I[e],r):null}function M(){var e,t=[];for(e in I)I.hasOwnProperty(e)&&(D[e]||D[x[e]])&&I[e]&&t.push(I[e]);return t.sort()}function A(e){var t,n,r,o;for(\"string\"==typeof e&&(e=[e]),t=0;t<e.length;t++)n=e[t].split(\"|\"),r=b(n[0]),o=b(n[1]),x[r]=o,I[r]=n[0],x[o]=r,I[o]=n[1]}function w(e){y(e.zones),A(e.links),T.dataVersion=e.version}function C(e){return C.didShowError||(C.didShowError=!0,L(\"moment.tz.zoneExists('\"+e+\"') has been deprecated in favor of !moment.tz.zone('\"+e+\"')\")),!!v(e)}function E(e){var t=\"X\"===e._f||\"x\"===e._f;return!(!e._a||void 0!==e._tzm||t)}function L(e){\"undefined\"!=typeof a&&\"function\"==typeof a.error&&a.error(e)}function T(t){var n=Array.prototype.slice.call(arguments,0,-1),r=arguments[arguments.length-1],o=v(r),i=e.utc.apply(null,n);return o&&!e.isMoment(t)&&E(i)&&i.add(o.parse(i),\"minutes\"),i.tz(r),i}function O(e){return function(){return this._z?this._z.abbr(this):e.call(this)}}function S(e){return function(){return this._z=null,e.apply(this,arguments)}}var N,k=\"0.5.17\",D={},x={},I={},z={},j=e.version.split(\".\"),P=+j[0],B=+j[1];(P<2||2===P&&B<6)&&L(\"Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js \"+e.version+\". See momentjs.com\"),u.prototype={_set:function(e){this.name=e.name,this.abbrs=e.abbrs,this.untils=e.untils,this.offsets=e.offsets,this.population=e.population},_index:function(e){var t,n=+e,r=this.untils;for(t=0;t<r.length;t++)if(n<r[t])return t},parse:function(e){var t,n,r,o,i=+e,a=this.offsets,s=this.untils,u=s.length-1;for(o=0;o<u;o++)if(t=a[o],n=a[o+1],r=a[o?o-1:o],t<n&&T.moveAmbiguousForward?t=n:t>r&&T.moveInvalidForward&&(t=r),i<s[o]-6e4*t)return a[o];return a[u]},abbr:function(e){return this.abbrs[this._index(e)]},offset:function(e){return L(\"zone.offset has been deprecated in favor of zone.utcOffset\"),this.offsets[this._index(e)]},utcOffset:function(e){return this.offsets[this._index(e)]}},c.prototype.scoreOffsetAt=function(e){this.offsetScore+=Math.abs(this.zone.utcOffset(e.at)-e.offset),this.zone.abbr(e.at).replace(/[^A-Z]/g,\"\")!==e.abbr&&this.abbrScore++},T.version=k,T.dataVersion=\"\",T._zones=D,T._links=x,T._names=I,T.add=y,T.link=A,T.load=w,T.zone=v,T.zoneExists=C,T.guess=_,T.names=M,T.Zone=u,T.unpack=s,T.unpackBase60=n,T.needsOffset=E,T.moveInvalidForward=!0,T.moveAmbiguousForward=!1;var F=e.fn;e.tz=T,e.defaultZone=null,e.updateOffset=function(t,n){var r,o=e.defaultZone;void 0===t._z&&(o&&E(t)&&!t._isUTC&&(t._d=e.utc(t._a)._d,t.utc().add(o.parse(t),\"minutes\")),t._z=o),t._z&&(r=t._z.utcOffset(t),Math.abs(r)<16&&(r/=60),void 0!==t.utcOffset?t.utcOffset(-r,n):t.zone(r,n))},F.tz=function(t,n){return t?(this._z=v(t),this._z?e.updateOffset(this,n):L(\"Moment Timezone has no data for \"+t+\". See http://momentjs.com/timezone/docs/#/data-loading/.\"),this):this._z?this._z.name:void 0},F.zoneName=O(F.zoneName),F.zoneAbbr=O(F.zoneAbbr),F.utc=S(F.utc),e.tz.setDefault=function(t){return(P<2||2===P&&B<9)&&L(\"Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js \"+e.version+\".\"),e.defaultZone=t?v(t):null,e};var R=e.momentProperties;return\"[object Array]\"===Object.prototype.toString.call(R)?(R.push(\"_z\"),R.push(\"_a\")):R&&(R._z=null),e})}).call(t,n(38))},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./af\":436,\"./af.js\":436,\"./ar\":443,\"./ar-dz\":437,\"./ar-dz.js\":437,\"./ar-kw\":438,\"./ar-kw.js\":438,\"./ar-ly\":439,\"./ar-ly.js\":439,\"./ar-ma\":440,\"./ar-ma.js\":440,\"./ar-sa\":441,\"./ar-sa.js\":441,\"./ar-tn\":442,\"./ar-tn.js\":442,\"./ar.js\":443,\"./az\":444,\"./az.js\":444,\"./be\":445,\"./be.js\":445,\"./bg\":446,\"./bg.js\":446,\"./bm\":447,\"./bm.js\":447,\"./bn\":448,\"./bn.js\":448,\"./bo\":449,\"./bo.js\":449,\"./br\":450,\"./br.js\":450,\"./bs\":451,\"./bs.js\":451,\"./ca\":452,\"./ca.js\":452,\"./cs\":453,\"./cs.js\":453,\"./cv\":454,\"./cv.js\":454,\"./cy\":455,\"./cy.js\":455,\"./da\":456,\"./da.js\":456,\"./de\":459,\"./de-at\":457,\"./de-at.js\":457,\"./de-ch\":458,\"./de-ch.js\":458,\"./de.js\":459,\"./dv\":460,\"./dv.js\":460,\"./el\":461,\"./el.js\":461,\"./en-au\":462,\"./en-au.js\":462,\"./en-ca\":463,\"./en-ca.js\":463,\"./en-gb\":464,\"./en-gb.js\":464,\"./en-ie\":465,\"./en-ie.js\":465,\"./en-il\":466,\"./en-il.js\":466,\"./en-nz\":467,\"./en-nz.js\":467,\"./eo\":468,\"./eo.js\":468,\"./es\":471,\"./es-do\":469,\"./es-do.js\":469,\"./es-us\":470,\"./es-us.js\":470,\"./es.js\":471,\"./et\":472,\"./et.js\":472,\"./eu\":473,\"./eu.js\":473,\"./fa\":474,\"./fa.js\":474,\"./fi\":475,\"./fi.js\":475,\"./fo\":476,\"./fo.js\":476,\"./fr\":479,\"./fr-ca\":477,\"./fr-ca.js\":477,\"./fr-ch\":478,\"./fr-ch.js\":478,\"./fr.js\":479,\"./fy\":480,\"./fy.js\":480,\"./gd\":481,\"./gd.js\":481,\"./gl\":482,\"./gl.js\":482,\"./gom-latn\":483,\"./gom-latn.js\":483,\"./gu\":484,\"./gu.js\":484,\"./he\":485,\"./he.js\":485,\"./hi\":486,\"./hi.js\":486,\"./hr\":487,\"./hr.js\":487,\"./hu\":488,\"./hu.js\":488,\"./hy-am\":489,\"./hy-am.js\":489,\"./id\":490,\"./id.js\":490,\"./is\":491,\"./is.js\":491,\"./it\":492,\"./it.js\":492,\"./ja\":493,\"./ja.js\":493,\"./jv\":494,\"./jv.js\":494,\"./ka\":495,\"./ka.js\":495,\"./kk\":496,\"./kk.js\":496,\"./km\":497,\"./km.js\":497,\"./kn\":498,\"./kn.js\":498,\"./ko\":499,\"./ko.js\":499,\"./ky\":500,\"./ky.js\":500,\"./lb\":501,\"./lb.js\":501,\"./lo\":502,\"./lo.js\":502,\"./lt\":503,\"./lt.js\":503,\"./lv\":504,\"./lv.js\":504,\"./me\":505,\"./me.js\":505,\"./mi\":506,\"./mi.js\":506,\"./mk\":507,\"./mk.js\":507,\"./ml\":508,\"./ml.js\":508,\"./mn\":509,\"./mn.js\":509,\"./mr\":510,\"./mr.js\":510,\"./ms\":512,\"./ms-my\":511,\"./ms-my.js\":511,\"./ms.js\":512,\"./mt\":513,\"./mt.js\":513,\"./my\":514,\"./my.js\":514,\"./nb\":515,\"./nb.js\":515,\"./ne\":516,\"./ne.js\":516,\"./nl\":518,\"./nl-be\":517,\"./nl-be.js\":517,\"./nl.js\":518,\"./nn\":519,\"./nn.js\":519,\"./pa-in\":520,\"./pa-in.js\":520,\"./pl\":521,\"./pl.js\":521,\"./pt\":523,\"./pt-br\":522,\"./pt-br.js\":522,\"./pt.js\":523,\"./ro\":524,\"./ro.js\":524,\"./ru\":525,\"./ru.js\":525,\"./sd\":526,\"./sd.js\":526,\"./se\":527,\"./se.js\":527,\"./si\":528,\"./si.js\":528,\"./sk\":529,\"./sk.js\":529,\"./sl\":530,\"./sl.js\":530,\"./sq\":531,\"./sq.js\":531,\"./sr\":533,\"./sr-cyrl\":532,\"./sr-cyrl.js\":532,\"./sr.js\":533,\"./ss\":534,\"./ss.js\":534,\"./sv\":535,\"./sv.js\":535,\"./sw\":536,\"./sw.js\":536,\"./ta\":537,\"./ta.js\":537,\"./te\":538,\"./te.js\":538,\"./tet\":539,\"./tet.js\":539,\"./tg\":540,\"./tg.js\":540,\"./th\":541,\"./th.js\":541,\"./tl-ph\":542,\"./tl-ph.js\":542,\"./tlh\":543,\"./tlh.js\":543,\"./tr\":544,\"./tr.js\":544,\"./tzl\":545,\"./tzl.js\":545,\"./tzm\":547,\"./tzm-latn\":546,\"./tzm-latn.js\":546,\"./tzm.js\":547,\"./ug-cn\":548,\"./ug-cn.js\":548,\"./uk\":549,\"./uk.js\":549,\"./ur\":550,\"./ur.js\":550,\"./uz\":552,\"./uz-latn\":551,\"./uz-latn.js\":551,\"./uz.js\":552,\"./vi\":553,\"./vi.js\":553,\"./x-pseudo\":554,\"./x-pseudo.js\":554,\"./yo\":555,\"./yo.js\":555,\"./zh-cn\":556,\"./zh-cn.js\":556,\"./zh-hk\":557,\"./zh-hk.js\":557,\"./zh-tw\":558,\"./zh-tw.js\":558};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=1372},function(e,t){function n(e){if(\"string\"!=typeof e)throw new TypeError(\"expected a string.\");return e=e.replace(/([A-Z])/g,\" $1\"),1===e.length?e.toUpperCase():(e=e.replace(/^[\\W_]+|[\\W_]+$/g,\"\").toLowerCase(),e=e.charAt(0).toUpperCase()+e.slice(1),e.replace(/[\\W_]+(\\w|$)/g,function(e,t){return t.toUpperCase()}))}e.exports=n},function(e,t,n){!function(t,n){e.exports=n()}(this,function(){function e(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()}function t(e){return\"string\"==typeof e?new RegExp(\"^\"+e+\"$\",\"i\"):e}function n(t,n){return t===t.toUpperCase()?n.toUpperCase():t[0]===t[0].toUpperCase()?e(n):n.toLowerCase()}function r(e,t){return e.replace(/\\$(\\d{1,2})/g,function(e,n){return t[n]||\"\"})}function o(e,t,o){if(!e.length||l.hasOwnProperty(e))return t;for(var i=o.length;i--;){var a=o[i];if(a[0].test(t))return t.replace(a[0],function(e,t,o){var i=r(a[1],arguments);return\"\"===e?n(o[t-1],i):n(e,i)})}return t}function i(e,t,r){return function(i){var a=i.toLowerCase();return t.hasOwnProperty(a)?n(i,a):e.hasOwnProperty(a)?n(i,e[a]):o(a,i,r)}}function a(e,t,n){var r=1===t?a.singular(e):a.plural(e);return(n?t+\" \":\"\")+r}var s=[],u=[],l={},c={},d={};return a.plural=i(d,c,s),a.singular=i(c,d,u),a.addPluralRule=function(e,n){s.push([t(e),n])},a.addSingularRule=function(e,n){u.push([t(e),n])},a.addUncountableRule=function(e){return\"string\"==typeof e?void(l[e.toLowerCase()]=!0):(a.addPluralRule(e,\"$0\"),void a.addSingularRule(e,\"$0\"))},a.addIrregularRule=function(e,t){t=t.toLowerCase(),e=e.toLowerCase(),d[e]=t,c[t]=e},[[\"I\",\"we\"],[\"me\",\"us\"],[\"he\",\"they\"],[\"she\",\"they\"],[\"them\",\"them\"],[\"myself\",\"ourselves\"],[\"yourself\",\"yourselves\"],[\"itself\",\"themselves\"],[\"herself\",\"themselves\"],[\"himself\",\"themselves\"],[\"themself\",\"themselves\"],[\"is\",\"are\"],[\"was\",\"were\"],[\"has\",\"have\"],[\"this\",\"these\"],[\"that\",\"those\"],[\"echo\",\"echoes\"],[\"dingo\",\"dingoes\"],[\"volcano\",\"volcanoes\"],[\"tornado\",\"tornadoes\"],[\"torpedo\",\"torpedoes\"],[\"genus\",\"genera\"],[\"viscus\",\"viscera\"],[\"stigma\",\"stigmata\"],[\"stoma\",\"stomata\"],[\"dogma\",\"dogmata\"],[\"lemma\",\"lemmata\"],[\"schema\",\"schemata\"],[\"anathema\",\"anathemata\"],[\"ox\",\"oxen\"],[\"axe\",\"axes\"],[\"die\",\"dice\"],[\"yes\",\"yeses\"],[\"foot\",\"feet\"],[\"eave\",\"eaves\"],[\"goose\",\"geese\"],[\"tooth\",\"teeth\"],[\"quiz\",\"quizzes\"],[\"human\",\"humans\"],[\"proof\",\"proofs\"],[\"carve\",\"carves\"],[\"valve\",\"valves\"],[\"looey\",\"looies\"],[\"thief\",\"thieves\"],[\"groove\",\"grooves\"],[\"pickaxe\",\"pickaxes\"],[\"whiskey\",\"whiskies\"]].forEach(function(e){return a.addIrregularRule(e[0],e[1])}),[[/s?$/i,\"s\"],[/([^aeiou]ese)$/i,\"$1\"],[/(ax|test)is$/i,\"$1es\"],[/(alias|[^aou]us|tlas|gas|ris)$/i,\"$1es\"],[/(e[mn]u)s?$/i,\"$1s\"],[/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i,\"$1\"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,\"$1i\"],[/(alumn|alg|vertebr)(?:a|ae)$/i,\"$1ae\"],[/(seraph|cherub)(?:im)?$/i,\"$1im\"],[/(her|at|gr)o$/i,\"$1oes\"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,\"$1a\"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,\"$1a\"],[/sis$/i,\"ses\"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,\"$1$2ves\"],[/([^aeiouy]|qu)y$/i,\"$1ies\"],[/([^ch][ieo][ln])ey$/i,\"$1ies\"],[/(x|ch|ss|sh|zz)$/i,\"$1es\"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,\"$1ices\"],[/(m|l)(?:ice|ouse)$/i,\"$1ice\"],[/(pe)(?:rson|ople)$/i,\"$1ople\"],[/(child)(?:ren)?$/i,\"$1ren\"],[/eaux$/i,\"$0\"],[/m[ae]n$/i,\"men\"],[\"thou\",\"you\"]].forEach(function(e){return a.addPluralRule(e[0],e[1])}),[[/s$/i,\"\"],[/(ss)$/i,\"$1\"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(?:sis|ses)$/i,\"$1sis\"],[/(^analy)(?:sis|ses)$/i,\"$1sis\"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i,\"$1fe\"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,\"$1f\"],[/ies$/i,\"y\"],[/\\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,\"$1ie\"],[/\\b(mon|smil)ies$/i,\"$1ey\"],[/(m|l)ice$/i,\"$1ouse\"],[/(seraph|cherub)im$/i,\"$1\"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i,\"$1\"],[/(e[mn]u)s?$/i,\"$1\"],[/(movie|twelve)s$/i,\"$1\"],[/(cris|test|diagnos)(?:is|es)$/i,\"$1is\"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,\"$1us\"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,\"$1um\"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,\"$1on\"],[/(alumn|alg|vertebr)ae$/i,\"$1a\"],[/(cod|mur|sil|vert|ind)ices$/i,\"$1ex\"],[/(matr|append)ices$/i,\"$1ix\"],[/(pe)(rson|ople)$/i,\"$1rson\"],[/(child)ren$/i,\"$1\"],[/(eau)x?$/i,\"$1\"],[/men$/i,\"man\"]].forEach(function(e){return a.addSingularRule(e[0],e[1])}),[\"advice\",\"adulthood\",\"agenda\",\"aid\",\"alcohol\",\"ammo\",\"athletics\",\"bison\",\"blood\",\"bream\",\"buffalo\",\"butter\",\"carp\",\"cash\",\"chassis\",\"chess\",\"clothing\",\"commerce\",\"cod\",\"cooperation\",\"corps\",\"digestion\",\"debris\",\"diabetes\",\"energy\",\"equipment\",\"elk\",\"excretion\",\"expertise\",\"flounder\",\"fun\",\"gallows\",\"garbage\",\"graffiti\",\"headquarters\",\"health\",\"herpes\",\"highjinks\",\"homework\",\"housework\",\"information\",\"jeans\",\"justice\",\"kudos\",\"labour\",\"literature\",\"machinery\",\"mackerel\",\"mail\",\"media\",\"mews\",\"moose\",\"music\",\"news\",\"pike\",\"plankton\",\"pliers\",\"pollution\",\"premises\",\"rain\",\"research\",\"rice\",\"salmon\",\"scissors\",\"series\",\"sewage\",\"shambles\",\"shrimp\",\"species\",\"staff\",\"swine\",\"trout\",\"traffic\",\"transporation\",\"tuna\",\"wealth\",\"welfare\",\"whiting\",\"wildebeest\",\"wildlife\",\"you\",/pox$/i,/ois$/i,/deer$/i,/fish$/i,/sheep$/i,/measles$/i,/[^aeiou]ese$/i].forEach(a.addUncountableRule),a})},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return function(n,r,o,i,a){var l=o||\"<<anonymous>>\",c=a||r;if(null!=n[r]){var d=o+\".\"+r;(0,s.default)(u[d],\"The \"+i+\" `\"+c+\"` of \"+(\"`\"+l+\"` is deprecated. \"+t+\".\")),u[d]=!0}for(var f=arguments.length,p=Array(f>5?f-5:0),h=5;h<f;h++)p[h-5]=arguments[h];return e.apply(void 0,[n,r,o,i,a].concat(p))}}function i(){u={}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var a=n(47),s=r(a),u={};o._resetWarned=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n,r,o){}e.exports=r},function(e,t,n){\"use strict\";var r=n(1379);e.exports=function(e){var t=!1;return r(e,t)}},function(e,t,n){\"use strict\";function r(){}var o=n(561);e.exports=function(){function e(e,t,n,r,i,a){if(a!==o){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},function(e,t,n){\"use strict\";function r(){return null}var o=n(28),i=n(561),a=n(1376),s=function(){};e.exports=function(e,t){function n(e){var t=e&&(O&&e[O]||e[S]);if(\"function\"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=\"\"}function c(e){function n(n,r,o,a,s,u,c){if(a=a||N,u=u||o,c!==i){if(t){var d=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");throw d.name=\"Invariant Violation\",d}}return null==r[o]?n?new l(null===r[o]?\"The \"+s+\" `\"+u+\"` is marked as required \"+(\"in `\"+a+\"`, but its value is `null`.\"):\"The \"+s+\" `\"+u+\"` is marked as required in \"+(\"`\"+a+\"`, but its value is `undefined`.\")):null:e(r,o,a,s,u)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function d(e){function t(t,n,r,o,i,a){var s=t[n],u=C(s);if(u!==e){var c=E(s);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+c+\"` supplied to `\"+r+\"`, expected \")+(\"`\"+e+\"`.\"))}return null}return c(t)}function f(){return c(r)}function p(e){function t(t,n,r,o,a){if(\"function\"!=typeof e)return new l(\"Property `\"+a+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var s=t[n];if(!Array.isArray(s)){var u=C(s);return new l(\"Invalid \"+o+\" `\"+a+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an array.\"))}for(var c=0;c<s.length;c++){var d=e(s,c,r,o,a+\"[\"+c+\"]\",i);if(d instanceof Error)return d}return null}return c(t)}function h(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){var s=C(a);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected a single ReactElement.\"))}return null}return c(t)}function m(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||N,s=T(t[n]);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected \")+(\"instance of `\"+a+\"`.\"))}return null}return c(t)}function g(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(u(a,e[s]))return null;var c=JSON.stringify(e);return new l(\"Invalid \"+o+\" `\"+i+\"` of value `\"+a+\"` \"+(\"supplied to `\"+r+\"`, expected one of \"+c+\".\"))}return Array.isArray(e)?c(t):r}function _(e){function t(t,n,r,o,a){if(\"function\"!=typeof e)return new l(\"Property `\"+a+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var s=t[n],u=C(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+a+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an object.\"));for(var c in s)if(s.hasOwnProperty(c)){var d=e(s,c,r,o,a+\".\"+c,i);if(d instanceof Error)return d}return null}return c(t)}function b(e){function t(t,n,r,o,a){for(var s=0;s<e.length;s++){var u=e[s];if(null==u(t,n,r,o,a,i))return null}return new l(\"Invalid \"+o+\" `\"+a+\"` supplied to \"+(\"`\"+r+\"`.\"))}if(!Array.isArray(e))return r;for(var n=0;n<e.length;n++){var o=e[n];if(\"function\"!=typeof o)return s(\"Invalid argument supplied to oneOfType. Expected an array of check functions, but received \"+L(o)+\" at index \"+n+\".\"),r}return c(t)}function y(){function e(e,t,n,r,o){return A(e[t])?null:new l(\"Invalid \"+r+\" `\"+o+\"` supplied to \"+(\"`\"+n+\"`, expected a ReactNode.\"))}return c(e)}function v(e){function t(t,n,r,o,a){var s=t[n],u=C(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+a+\"` of type `\"+u+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"));for(var c in e){var d=e[c];if(d){var f=d(s,c,r,o,a+\".\"+c,i);if(f)return f}}return null}return c(t)}function M(e){function t(t,n,r,a,s){var u=t[n],c=C(u);if(\"object\"!==c)return new l(\"Invalid \"+a+\" `\"+s+\"` of type `\"+c+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"));var d=o({},t[n],e);for(var f in d){var p=e[f];if(!p)return new l(\"Invalid \"+a+\" `\"+s+\"` key `\"+f+\"` supplied to `\"+r+\"`.\\nBad object: \"+JSON.stringify(t[n],null,\"  \")+\"\\nValid keys: \"+JSON.stringify(Object.keys(e),null,\"  \"));var h=p(u,f,r,a,s+\".\"+f,i);if(h)return h}return null}return c(t)}function A(t){switch(typeof t){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!t;case\"object\":if(Array.isArray(t))return t.every(A);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!A(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!A(a[1]))return!1}return!0;default:return!1}}function w(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function C(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":w(t,e)?\"symbol\":t}function E(e){if(\"undefined\"==typeof e||null===e)return\"\"+e;var t=C(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function L(e){var t=E(e);switch(t){case\"array\":case\"object\":return\"an \"+t;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+t;default:return t}}function T(e){return e.constructor&&e.constructor.name?e.constructor.name:N}var O=\"function\"==typeof Symbol&&Symbol.iterator,S=\"@@iterator\",N=\"<<anonymous>>\",k={array:d(\"array\"),bool:d(\"boolean\"),func:d(\"function\"),number:d(\"number\"),object:d(\"object\"),string:d(\"string\"),symbol:d(\"symbol\"),any:f(),arrayOf:p,element:h(),instanceOf:m,node:y(),objectOf:_,oneOf:g,oneOfType:b,shape:v,exact:M};return l.prototype=Error.prototype,k.checkPropTypes=a,k.PropTypes=k,k}},function(e,t,n){function r(e,t,n,r,a){var s=[].slice.call(arguments,1),u=s.length,l=\"function\"==typeof s[u-1];if(!l&&!o())throw new Error(\"Callback required as last argument\");if(!l){if(u<1)throw new Error(\"Too few arguments provided\");return 1===u?(n=t,t=r=void 0):2!==u||t.getContext||(r=n,n=t,t=void 0),new Promise(function(o,a){try{var s=i.create(n,r);o(e(s,t,r))}catch(e){a(e)}})}if(u<2)throw new Error(\"Too few arguments provided\");2===u?(a=n,n=t,t=r=void 0):3===u&&(t.getContext&&\"undefined\"==typeof a?(a=r,r=void 0):(a=r,r=n,n=t,t=void 0));try{var c=i.create(n,r);a(null,e(c,t,r))}catch(e){a(e)}}var o=n(1381),i=n(1394),a=n(1398),s=n(1399);t.create=i.create,t.toCanvas=r.bind(null,a.render),t.toDataURL=r.bind(null,a.renderToDataURL),t.toString=r.bind(null,function(e,t,n){return s.render(e,n)})},function(e,t){e.exports=function(){return\"function\"==typeof Promise&&Promise.prototype&&Promise.prototype.then}},function(e,t,n){var r=n(111).getSymbolSize;t.getRowColCoords=function(e){if(1===e)return[];for(var t=Math.floor(e/7)+2,n=r(e),o=145===n?26:2*Math.ceil((n-13)/(2*t-2)),i=[n-7],a=1;a<t-1;a++)i[a]=i[a-1]-o;return i.push(6),i.reverse()},t.getPositions=function(e){for(var n=[],r=t.getRowColCoords(e),o=r.length,i=0;i<o;i++)for(var a=0;a<o;a++)0===i&&0===a||0===i&&a===o-1||i===o-1&&0===a||n.push([r[i],r[a]]);return n}},function(e,t,n){function r(e){this.mode=o.ALPHANUMERIC,this.data=e}var o=n(110),i=[\"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\",\" \",\"$\",\"%\",\"*\",\"+\",\"-\",\".\",\"/\",\":\"];r.getBitsLength=function(e){return 11*Math.floor(e/2)+6*(e%2)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){var t;for(t=0;t+2<=this.data.length;t+=2){var n=45*i.indexOf(this.data[t]);n+=i.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(i.indexOf(this.data[t]),6)},e.exports=r},function(e,t){function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){var t=Math.floor(e/8);return 1===(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(var n=0;n<t;n++)this.putBit(1===(e>>>t-n-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){var t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},e.exports=n},function(e,t,n){function r(e){if(!e||e<1)throw new Error(\"BitMatrix size must be defined and greater than 0\");this.size=e,this.data=new o(e*e),this.data.fill(0),this.reservedBit=new o(e*e),this.reservedBit.fill(0)}var o=n(136);r.prototype.set=function(e,t,n,r){var o=e*this.size+t;this.data[o]=n,r&&(this.reservedBit[o]=!0)},r.prototype.get=function(e,t){return this.data[e*this.size+t]},r.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},r.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},e.exports=r},function(e,t,n){function r(e){this.mode=i.BYTE,this.data=new o(e)}var o=n(136),i=n(110);r.getBitsLength=function(e){return 8*e},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(var t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},e.exports=r},function(e,t,n){var r=n(111).getSymbolSize,o=7;t.getPositions=function(e){var t=r(e);return[[0,0],[t-o,0],[0,t-o]]}},function(e,t,n){var r=n(111),o=1335,i=21522,a=r.getBCHDigit(o);t.getEncodedBits=function(e,t){for(var n=e.bit<<3|t,s=n<<10;r.getBCHDigit(s)-a>=0;)s^=o<<r.getBCHDigit(s)-a;return(n<<10|s)^i}},function(e,t,n){var r=n(136);if(r.alloc)var o=r.alloc(512),i=r.alloc(256);else var o=new r(512),i=new r(256);!function(){for(var e=1,t=0;t<255;t++)o[t]=e,i[e]=t,e<<=1,256&e&&(e^=285);for(t=255;t<512;t++)o[t]=o[t-255]}(),t.log=function(e){if(e<1)throw new Error(\"log(\"+e+\")\");return i[e]},t.exp=function(e){return o[e]},t.mul=function(e,t){return 0===e||0===t?0:o[i[e]+i[t]]}},function(e,t,n){function r(e){this.mode=o.KANJI,this.data=e}var o=n(110),i=n(111);r.getBitsLength=function(e){return 13*e},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){var t;for(t=0;t<this.data.length;t++){var n=i.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error(\"Invalid SJIS character: \"+this.data[t]+\"\\nMake sure your charset is UTF-8\");n-=49472}n=192*(n>>>8&255)+(255&n),e.put(n,13)}},e.exports=r},function(e,t){function n(e,n,r){switch(e){case t.Patterns.PATTERN000:return(n+r)%2===0;case t.Patterns.PATTERN001:return n%2===0;case t.Patterns.PATTERN010:return r%3===0;case t.Patterns.PATTERN011:return(n+r)%3===0;case t.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2===0;case t.Patterns.PATTERN101:return n*r%2+n*r%3===0;case t.Patterns.PATTERN110:return(n*r%2+n*r%3)%2===0;case t.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2===0;default:throw new Error(\"bad maskPattern:\"+e)}}t.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var r={N1:3,N2:3,N3:40,N4:10};t.isValid=function(e){return null!=e&&\"\"!==e&&!isNaN(e)&&e>=0&&e<=7},t.from=function(e){return t.isValid(e)?parseInt(e,10):void 0},t.getPenaltyN1=function(e){for(var t=e.size,n=0,o=0,i=0,a=null,s=null,u=0;u<t;u++){o=i=0,a=s=null;for(var l=0;l<t;l++){var c=e.get(u,l);c===a?o++:(o>=5&&(n+=r.N1+(o-5)),a=c,o=1),c=e.get(l,u),c===s?i++:(i>=5&&(n+=r.N1+(i-5)),s=c,i=1)}o>=5&&(n+=r.N1+(o-5)),i>=5&&(n+=r.N1+(i-5))}return n},t.getPenaltyN2=function(e){for(var t=e.size,n=0,o=0;o<t-1;o++)for(var i=0;i<t-1;i++){var a=e.get(o,i)+e.get(o,i+1)+e.get(o+1,i)+e.get(o+1,i+1);4!==a&&0!==a||n++}return n*r.N2},t.getPenaltyN3=function(e){for(var t=e.size,n=0,o=0,i=0,a=0;a<t;a++){o=i=0;for(var s=0;s<t;s++)o=o<<1&2047|e.get(a,s),s>=10&&(1488===o||93===o)&&n++,i=i<<1&2047|e.get(s,a),s>=10&&(1488===i||93===i)&&n++}return n*r.N3},t.getPenaltyN4=function(e){for(var t=0,n=e.data.length,o=0;o<n;o++)t+=e.data[o];var i=Math.abs(Math.ceil(100*t/n/5)-10);return i*r.N4},t.applyMask=function(e,t){for(var r=t.size,o=0;o<r;o++)for(var i=0;i<r;i++)t.isReserved(i,o)||t.xor(i,o,n(e,i,o))},t.getBestMask=function(e,n){for(var r=Object.keys(t.Patterns).length,o=0,i=1/0,a=0;a<r;a++){n(a),t.applyMask(a,e);var s=t.getPenaltyN1(e)+t.getPenaltyN2(e)+t.getPenaltyN3(e)+t.getPenaltyN4(e);t.applyMask(a,e),s<i&&(i=s,o=a)}return o}},function(e,t,n){function r(e){this.mode=o.NUMERIC,this.data=e.toString()}var o=n(110);r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){var t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);var o=this.data.length-t;o>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,3*o+1))},e.exports=r},function(e,t,n){var r=n(136),o=n(1389);t.mul=function(e,t){var n=new r(e.length+t.length-1);n.fill(0);for(var i=0;i<e.length;i++)for(var a=0;a<t.length;a++)n[i+a]^=o.mul(e[i],t[a]);return n},t.mod=function(e,t){for(var n=new r(e);n.length-t.length>=0;){for(var i=n[0],a=0;a<t.length;a++)n[a]^=o.mul(t[a],i);for(var s=0;s<n.length&&0===n[s];)s++;n=n.slice(s)}return n},t.generateECPolynomial=function(e){for(var n=new r([1]),i=0;i<e;i++)n=t.mul(n,[1,o.exp(i)]);return n}},function(e,t,n){function r(e,t){for(var n=e.size,r=b.getPositions(t),o=0;o<r.length;o++)for(var i=r[o][0],a=r[o][1],s=-1;s<=7;s++)if(!(i+s<=-1||n<=i+s))for(var u=-1;u<=7;u++)a+u<=-1||n<=a+u||(s>=0&&s<=6&&(0===u||6===u)||u>=0&&u<=6&&(0===s||6===s)||s>=2&&s<=4&&u>=2&&u<=4?e.set(i+s,a+u,!0,!0):e.set(i+s,a+u,!1,!0))}function o(e){for(var t=e.size,n=8;n<t-8;n++){var r=n%2===0;e.set(n,6,r,!0),e.set(6,n,r,!0)}}function i(e,t){for(var n=_.getPositions(t),r=0;r<n.length;r++)for(var o=n[r][0],i=n[r][1],a=-2;a<=2;a++)for(var s=-2;s<=2;s++)a===-2||2===a||s===-2||2===s||0===a&&0===s?e.set(o+a,i+s,!0,!0):e.set(o+a,i+s,!1,!0)}function a(e,t){for(var n,r,o,i=e.size,a=A.getEncodedBits(t),s=0;s<18;s++)n=Math.floor(s/3),r=s%3+i-8-3,o=1===(a>>s&1),e.set(n,r,o,!0),e.set(r,n,o,!0)}function s(e,t,n){var r,o,i=e.size,a=w.getEncodedBits(t,n);for(r=0;r<15;r++)o=1===(a>>r&1),r<6?e.set(r,8,o,!0):r<8?e.set(r+1,8,o,!0):e.set(i-15+r,8,o,!0),r<8?e.set(8,i-r-1,o,!0):r<9?e.set(8,15-r-1+1,o,!0):e.set(8,15-r-1,o,!0);e.set(i-8,8,1,!0)}function u(e,t){for(var n=e.size,r=-1,o=n-1,i=7,a=0,s=n-1;s>0;s-=2)for(6===s&&s--;;){for(var u=0;u<2;u++)if(!e.isReserved(o,s-u)){var l=!1;a<t.length&&(l=1===(t[a]>>>i&1)),e.set(o,s-u,l),i--,i===-1&&(a++,i=7)}if(o+=r,o<0||n<=o){o-=r,r=-r;break}}}function l(e,t,n){var r=new m;n.forEach(function(t){r.put(t.mode.bit,4),r.put(t.getLength(),C.getCharCountIndicator(t.mode,e)),t.write(r)});var o=p.getSymbolTotalCodewords(e),i=v.getTotalCodewordsCount(e,t),a=8*(o-i);for(r.getLengthInBits()+4<=a&&r.put(0,4);r.getLengthInBits()%8!==0;)r.putBit(0);for(var s=(a-r.getLengthInBits())/8,u=0;u<s;u++)r.put(u%2?17:236,8);return c(r,e,t)}function c(e,t,n){for(var r=p.getSymbolTotalCodewords(t),o=v.getTotalCodewordsCount(t,n),i=r-o,a=v.getBlocksCount(t,n),s=r%a,u=a-s,l=Math.floor(r/a),c=Math.floor(i/a),d=c+1,h=l-c,m=new M(h),g=0,_=new Array(a),b=new Array(a),y=0,A=new f(e.buffer),w=0;w<a;w++){var C=w<u?c:d;_[w]=A.slice(g,g+C),b[w]=m.encode(_[w]),g+=C,y=Math.max(y,C)}var E,L,T=new f(r),O=0;for(E=0;E<y;E++)for(L=0;L<a;L++)E<_[L].length&&(T[O++]=_[L][E]);for(E=0;E<h;E++)for(L=0;L<a;L++)T[O++]=b[L][E];return T}function d(e,t,n,c){var d;if(L(e))d=E.fromArray(e);else{if(\"string\"!=typeof e)throw new Error(\"Invalid data\");var f=t;if(!f){var h=E.rawSplit(e);f=A.getBestVersionForData(h,n)}d=E.fromString(e,f||40)}var m=A.getBestVersionForData(d,n);if(!m)throw new Error(\"The amount of data is too big to be stored in a QR Code\");if(t){if(t<m)throw new Error(\"\\nThe chosen QR Code version cannot contain this amount of data.\\nMinimum version required to store current data is: \"+m+\".\\n\")}else t=m;var _=l(t,n,d),b=p.getSymbolSize(t),v=new g(b);return r(v,t),o(v),i(v,t),s(v,n,0),t>=7&&a(v,t),u(v,_),isNaN(c)&&(c=y.getBestMask(v,s.bind(null,v,n))),y.applyMask(c,v),s(v,n,c),{modules:v,version:t,errorCorrectionLevel:n,maskPattern:c,segments:d}}var f=n(136),p=n(111),h=n(302),m=n(1384),g=n(1385),_=n(1382),b=n(1387),y=n(1391),v=n(562),M=n(1395),A=n(1397),w=n(1388),C=n(110),E=n(1396),L=n(303);t.create=function(e,t){if(\"undefined\"==typeof e||\"\"===e)throw new Error(\"No input text\");var n,r,o=h.M;return\"undefined\"!=typeof t&&(o=h.from(t.errorCorrectionLevel,h.M),n=A.from(t.version),r=y.from(t.maskPattern),t.toSJISFunc&&p.setToSJISFunction(t.toSJISFunc)),d(e,n,o,r)}},function(e,t,n){function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}var o=n(136),i=n(1393);r.prototype.initialize=function(e){this.degree=e,this.genPoly=i.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw new Error(\"Encoder not initialized\");var t=new o(this.degree);t.fill(0);var n=o.concat([e,t],e.length+this.degree),r=i.mod(n,this.genPoly),a=this.degree-r.length;if(a>0){var s=new o(this.degree);return s.fill(0),r.copy(s,a),s}return r},e.exports=r},function(e,t,n){function r(e){return unescape(encodeURIComponent(e)).length}function o(e,t,n){for(var r,o=[];null!==(r=e.exec(n));)o.push({data:r[0],index:r.index,mode:t,length:r[0].length});return o}function i(e){var t,n,r=o(g.NUMERIC,d.NUMERIC,e),i=o(g.ALPHANUMERIC,d.ALPHANUMERIC,e);_.isKanjiModeEnabled()?(t=o(g.BYTE,d.BYTE,e),n=o(g.KANJI,d.KANJI,e)):(t=o(g.BYTE_KANJI,d.BYTE,e),n=[]);var a=r.concat(i,t,n);return a.sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function a(e,t){switch(t){case d.NUMERIC:return f.getBitsLength(e);case d.ALPHANUMERIC:return p.getBitsLength(e);case d.KANJI:return m.getBitsLength(e);case d.BYTE:return h.getBitsLength(e)}}function s(e){return e.reduce(function(e,t){var n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function u(e){for(var t=[],n=0;n<e.length;n++){var o=e[n];switch(o.mode){case d.NUMERIC:t.push([o,{data:o.data,mode:d.ALPHANUMERIC,length:o.length},{data:o.data,mode:d.BYTE,length:o.length}]);break;case d.ALPHANUMERIC:t.push([o,{data:o.data,mode:d.BYTE,length:o.length}]);break;case d.KANJI:t.push([o,{data:o.data,mode:d.BYTE,length:r(o.data)}]);break;case d.BYTE:t.push([{data:o.data,mode:d.BYTE,length:r(o.data)}])}}return t}function l(e,t){for(var n={},r={start:{}},o=[\"start\"],i=0;i<e.length;i++){for(var s=e[i],u=[],l=0;l<s.length;l++){var c=s[l],f=\"\"+i+l;u.push(f),n[f]={node:c,lastCount:0},r[f]={};for(var p=0;p<o.length;p++){var h=o[p];n[h]&&n[h].node.mode===c.mode?(r[h][f]=a(n[h].lastCount+c.length,c.mode)-a(n[h].lastCount,c.mode),\nn[h].lastCount+=c.length):(n[h]&&(n[h].lastCount=c.length),r[h][f]=a(c.length,c.mode)+4+d.getCharCountIndicator(c.mode,t))}}o=u}for(p=0;p<o.length;p++)r[o[p]].end=0;return{map:r,table:n}}function c(e,t){var n,r=d.getBestModeForData(e);if(n=d.from(t,r),n!==d.BYTE&&n.bit<r.bit)throw new Error('\"'+e+'\" cannot be encoded with mode '+d.toString(n)+\".\\n Suggested mode is: \"+d.toString(r));switch(n!==d.KANJI||_.isKanjiModeEnabled()||(n=d.BYTE),n){case d.NUMERIC:return new f(e);case d.ALPHANUMERIC:return new p(e);case d.KANJI:return new m(e);case d.BYTE:return new h(e)}}var d=n(110),f=n(1392),p=n(1383),h=n(1386),m=n(1390),g=n(563),_=n(111),b=n(1162);t.fromArray=function(e){return e.reduce(function(e,t){return\"string\"==typeof t?e.push(c(t,null)):t.data&&e.push(c(t.data,t.mode)),e},[])},t.fromString=function(e,n){for(var r=i(e,_.isKanjiModeEnabled()),o=u(r),a=l(o,n),c=b.find_path(a.map,\"start\",\"end\"),d=[],f=1;f<c.length-1;f++)d.push(a.table[c[f]].node);return t.fromArray(s(d))},t.rawSplit=function(e){return t.fromArray(i(e,_.isKanjiModeEnabled()))}},function(e,t,n){function r(e,n,r){for(var o=1;o<=40;o++)if(n<=t.getCapacity(o,r,e))return o}function o(e,t){return c.getCharCountIndicator(e,t)+4}function i(e,t){var n=0;return e.forEach(function(e){var r=o(e.mode,t);n+=r+e.getBitsLength()}),n}function a(e,n){for(var r=1;r<=40;r++){var o=i(e,r);if(o<=t.getCapacity(r,n,c.MIXED))return r}}var s=n(111),u=n(562),l=n(302),c=n(110),d=n(564),f=n(303),p=7973,h=s.getBCHDigit(p);t.from=function(e,t){return d.isValid(e)?parseInt(e,10):t},t.getCapacity=function(e,t,n){if(!d.isValid(e))throw new Error(\"Invalid QR Code version\");\"undefined\"==typeof n&&(n=c.BYTE);var r=s.getSymbolTotalCodewords(e),i=u.getTotalCodewordsCount(e,t),a=8*(r-i);if(n===c.MIXED)return a;var l=a-o(n,e);switch(n){case c.NUMERIC:return Math.floor(l/10*3);case c.ALPHANUMERIC:return Math.floor(l/11*2);case c.KANJI:return Math.floor(l/13);case c.BYTE:default:return Math.floor(l/8)}},t.getBestVersionForData=function(e,t){var n,o=l.from(t,l.M);if(f(e)){if(e.length>1)return a(e,o);if(0===e.length)return 1;n=e[0]}else n=e;return r(n.mode,n.getLength(),o)},t.getEncodedBits=function(e){if(!d.isValid(e)||e<7)throw new Error(\"Invalid QR Code version\");for(var t=e<<12;s.getBCHDigit(t)-h>=0;)t^=p<<s.getBCHDigit(t)-h;return e<<12|t}},function(e,t,n){function r(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||(t.style={}),t.height=n,t.width=n,t.style.height=n+\"px\",t.style.width=n+\"px\"}function o(){try{return document.createElement(\"canvas\")}catch(e){throw new Error(\"You need to specify a canvas element\")}}var i=n(565);t.render=function(e,t,n){var a=n,s=t;\"undefined\"!=typeof a||t&&t.getContext||(a=t,t=void 0),t||(s=o()),a=i.getOptions(a);var u=i.getImageWidth(e.modules.size,a),l=s.getContext(\"2d\"),c=l.createImageData(u,u);return i.qrToImageData(c.data,e,a),r(l,s,u),l.putImageData(c,0,0),s},t.renderToDataURL=function(e,n,r){var o=r;\"undefined\"!=typeof o||n&&n.getContext||(o=n,n=void 0),o||(o={});var i=t.render(e,n,o),a=o.type||\"image/png\",s=o.rendererOpts||{};return i.toDataURL(a,s.quality)}},function(e,t,n){function r(e,t){var n=e.a/255,r=t+'=\"'+e.hex+'\"';return n<1?r+\" \"+t+'-opacity=\"'+n.toFixed(2).slice(1)+'\"':r}function o(e,t,n){var r=e+t;return\"undefined\"!=typeof n&&(r+=\" \"+n),r}function i(e,t,n){for(var r=\"\",i=0,a=!1,s=0,u=0;u<e.length;u++){var l=Math.floor(u%t),c=Math.floor(u/t);l||a||(a=!0),e[u]?(s++,u>0&&l>0&&e[u-1]||(r+=a?o(\"M\",l+n,.5+c+n):o(\"m\",i,0),i=0,a=!1),l+1<t&&e[u+1]||(r+=o(\"h\",s),s=0)):i++}return r}var a=n(565);t.render=function(e,t,n){var o=a.getOptions(t),s=e.modules.size,u=e.modules.data,l=s+2*o.margin,c=o.color.light.a?\"<path \"+r(o.color.light,\"fill\")+' d=\"M0 0h'+l+\"v\"+l+'H0z\"/>':\"\",d=\"<path \"+r(o.color.dark,\"stroke\")+' d=\"'+i(u,s,o.margin)+'\"/>',f='viewBox=\"0 0 '+l+\" \"+l+'\"',p=o.width?'width=\"'+o.width+'\" height=\"'+o.width+'\" ':\"\",h='<svg xmlns=\"http://www.w3.org/2000/svg\" '+p+f+' shape-rendering=\"crispEdges\">'+c+d+\"</svg>\\n\";return\"function\"==typeof n&&n(null,h),h}},function(e,t,n){\"use strict\";var r=n(1654);t.extract=function(e){return e.split(\"?\")[1]||\"\"},t.parse=function(e){return\"string\"!=typeof e?{}:(e=e.trim().replace(/^(\\?|#|&)/,\"\"),e?e.split(\"&\").reduce(function(e,t){var n=t.replace(/\\+/g,\" \").split(\"=\"),r=n.shift(),o=n.length>0?n.join(\"=\"):void 0;return r=decodeURIComponent(r),o=void 0===o?null:decodeURIComponent(o),e.hasOwnProperty(r)?Array.isArray(e[r])?e[r].push(o):e[r]=[e[r],o]:e[r]=o,e},{}):{})},t.stringify=function(e){return e?Object.keys(e).sort().map(function(t){var n=e[t];return void 0===n?\"\":null===n?t:Array.isArray(n)?n.slice().sort().map(function(e){return r(t)+\"=\"+r(e)}).join(\"&\"):r(t)+\"=\"+r(n)}).filter(function(e){return e.length>0}).join(\"&\"):\"\"}},function(e,t,n){(function(e){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(362),c=r(l),d=n(1),f=r(d),p=n(5),h=r(p),m=n(431),g=r(m),_=n(566),b=c.default.acequire(\"ace/range\"),y=b.Range,v=function(t){function n(e){o(this,n);var t=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e));return _.editorEvents.forEach(function(e){t[e]=t[e].bind(t)}),t.debounce=_.debounce,t}return a(n,t),u(n,[{key:\"componentDidMount\",value:function(){var t=this,n=this.props,r=n.className,o=n.onBeforeLoad,i=n.onValidate,a=n.mode,s=n.focus,u=n.theme,l=n.fontSize,d=n.value,f=n.defaultValue,p=n.cursorStart,h=n.showGutter,m=n.wrapEnabled,g=n.showPrintMargin,b=n.scrollMargin,y=void 0===b?[0,0,0,0]:b,v=n.keyboardHandler,M=n.onLoad,A=n.commands,w=n.annotations,C=n.markers;this.editor=c.default.edit(this.refEditor),o&&o(c.default);for(var E=Object.keys(this.props.editorProps),L=0;L<E.length;L++)this.editor[E[L]]=this.props.editorProps[E[L]];this.props.debounceChangePeriod&&(this.onChange=this.debounce(this.onChange,this.props.debounceChangePeriod)),this.editor.renderer.setScrollMargin(y[0],y[1],y[2],y[3]),this.editor.getSession().setMode(\"ace/mode/\"+a),this.editor.setTheme(\"ace/theme/\"+u),this.editor.setFontSize(l),this.editor.getSession().setValue(f?f:d,p),this.editor.navigateFileEnd(),this.editor.renderer.setShowGutter(h),this.editor.getSession().setUseWrapMode(m),this.editor.setShowPrintMargin(g),this.editor.on(\"focus\",this.onFocus),this.editor.on(\"blur\",this.onBlur),this.editor.on(\"copy\",this.onCopy),this.editor.on(\"paste\",this.onPaste),this.editor.on(\"change\",this.onChange),this.editor.on(\"input\",this.onInput),this.editor.getSession().selection.on(\"changeSelection\",this.onSelectionChange),this.editor.getSession().selection.on(\"changeCursor\",this.onCursorChange),i&&this.editor.getSession().on(\"changeAnnotation\",function(){var e=t.editor.getSession().getAnnotations();t.props.onValidate(e)}),this.editor.session.on(\"changeScrollTop\",this.onScroll),this.editor.getSession().setAnnotations(w||[]),C&&C.length>0&&this.handleMarkers(C);for(var T=this.editor.$options,O=0;O<_.editorOptions.length;O++){var S=_.editorOptions[O];T.hasOwnProperty(S)?this.editor.setOption(S,this.props[S]):this.props[S]&&e.warn(\"ReactAce: editor option \"+S+\" was activated but not found. Did you need to import a related tool or did you possibly mispell the option?\")}this.handleOptions(this.props),Array.isArray(A)&&A.forEach(function(e){\"string\"==typeof e.exec?t.editor.commands.bindKey(e.bindKey,e.exec):t.editor.commands.addCommand(e)}),v&&this.editor.setKeyboardHandler(\"ace/keyboard/\"+v),r&&(this.refEditor.className+=\" \"+r),s&&this.editor.focus(),M&&M(this.editor),this.editor.resize()}},{key:\"componentDidUpdate\",value:function(e){for(var t=e,n=this.props,r=0;r<_.editorOptions.length;r++){var o=_.editorOptions[r];n[o]!==t[o]&&this.editor.setOption(o,n[o])}if(n.className!==t.className){var i=this.refEditor.className,a=i.trim().split(\" \"),s=t.className.trim().split(\" \");s.forEach(function(e){var t=a.indexOf(e);a.splice(t,1)}),this.refEditor.className=\" \"+n.className+\" \"+a.join(\" \")}if(this.editor&&this.editor.getValue()!==n.value){this.silent=!0;var u=this.editor.session.selection.toJSON();this.editor.setValue(n.value,n.cursorStart),this.editor.session.selection.fromJSON(u),this.silent=!1}n.mode!==t.mode&&this.editor.getSession().setMode(\"ace/mode/\"+n.mode),n.theme!==t.theme&&this.editor.setTheme(\"ace/theme/\"+n.theme),n.keyboardHandler!==t.keyboardHandler&&(n.keyboardHandler?this.editor.setKeyboardHandler(\"ace/keyboard/\"+n.keyboardHandler):this.editor.setKeyboardHandler(null)),n.fontSize!==t.fontSize&&this.editor.setFontSize(n.fontSize),n.wrapEnabled!==t.wrapEnabled&&this.editor.getSession().setUseWrapMode(n.wrapEnabled),n.showPrintMargin!==t.showPrintMargin&&this.editor.setShowPrintMargin(n.showPrintMargin),n.showGutter!==t.showGutter&&this.editor.renderer.setShowGutter(n.showGutter),(0,g.default)(n.setOptions,t.setOptions)||this.handleOptions(n),(0,g.default)(n.annotations,t.annotations)||this.editor.getSession().setAnnotations(n.annotations||[]),!(0,g.default)(n.markers,t.markers)&&Array.isArray(n.markers)&&this.handleMarkers(n.markers),(0,g.default)(n.scrollMargin,t.scrollMargin)||this.handleScrollMargins(n.scrollMargin),e.height===this.props.height&&e.width===this.props.width||this.editor.resize(),this.props.focus&&!e.focus&&this.editor.focus()}},{key:\"handleScrollMargins\",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[0,0,0,0];this.editor.renderer.setScrollMargins(e[0],e[1],e[2],e[3])}},{key:\"componentWillUnmount\",value:function(){this.editor.destroy(),this.editor=null}},{key:\"onChange\",value:function(e){if(this.props.onChange&&!this.silent){var t=this.editor.getValue();this.props.onChange(t,e)}}},{key:\"onSelectionChange\",value:function(e){if(this.props.onSelectionChange){var t=this.editor.getSelection();this.props.onSelectionChange(t,e)}}},{key:\"onCursorChange\",value:function(e){if(this.props.onCursorChange){var t=this.editor.getSelection();this.props.onCursorChange(t,e)}}},{key:\"onInput\",value:function(e){this.props.onInput&&this.props.onInput(e)}},{key:\"onFocus\",value:function(e){this.props.onFocus&&this.props.onFocus(e)}},{key:\"onBlur\",value:function(e){this.props.onBlur&&this.props.onBlur(e,this.editor)}},{key:\"onCopy\",value:function(e){this.props.onCopy&&this.props.onCopy(e)}},{key:\"onPaste\",value:function(e){this.props.onPaste&&this.props.onPaste(e)}},{key:\"onScroll\",value:function(){this.props.onScroll&&this.props.onScroll(this.editor)}},{key:\"handleOptions\",value:function(e){for(var t=Object.keys(e.setOptions),n=0;n<t.length;n++)this.editor.setOption(t[n],e.setOptions[t[n]])}},{key:\"handleMarkers\",value:function(e){var t=this,n=this.editor.getSession().getMarkers(!0);for(var r in n)n.hasOwnProperty(r)&&this.editor.getSession().removeMarker(n[r].id);n=this.editor.getSession().getMarkers(!1);for(var o in n)n.hasOwnProperty(o)&&this.editor.getSession().removeMarker(n[o].id);e.forEach(function(e){var n=e.startRow,r=e.startCol,o=e.endRow,i=e.endCol,a=e.className,s=e.type,u=e.inFront,l=void 0!==u&&u,c=new y(n,r,o,i);t.editor.getSession().addMarker(c,a,s,l)})}},{key:\"updateRef\",value:function(e){this.refEditor=e}},{key:\"render\",value:function(){var e=this.props,t=e.name,n=e.width,r=e.height,o=e.style,i=s({width:n,height:r},o);return f.default.createElement(\"div\",{ref:this.updateRef,id:t,style:i})}}]),n}(d.Component);t.default=v,v.propTypes={mode:h.default.string,focus:h.default.bool,theme:h.default.string,name:h.default.string,className:h.default.string,height:h.default.string,width:h.default.string,fontSize:h.default.oneOfType([h.default.number,h.default.string]),showGutter:h.default.bool,onChange:h.default.func,onCopy:h.default.func,onPaste:h.default.func,onFocus:h.default.func,onInput:h.default.func,onBlur:h.default.func,onScroll:h.default.func,value:h.default.string,defaultValue:h.default.string,onLoad:h.default.func,onSelectionChange:h.default.func,onCursorChange:h.default.func,onBeforeLoad:h.default.func,onValidate:h.default.func,minLines:h.default.number,maxLines:h.default.number,readOnly:h.default.bool,highlightActiveLine:h.default.bool,tabSize:h.default.number,showPrintMargin:h.default.bool,cursorStart:h.default.number,debounceChangePeriod:h.default.number,editorProps:h.default.object,setOptions:h.default.object,style:h.default.object,scrollMargin:h.default.array,annotations:h.default.array,markers:h.default.array,keyboardHandler:h.default.string,wrapEnabled:h.default.bool,enableBasicAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),enableLiveAutocompletion:h.default.oneOfType([h.default.bool,h.default.array]),commands:h.default.array},v.defaultProps={name:\"brace-editor\",focus:!1,mode:\"\",theme:\"\",height:\"500px\",width:\"500px\",value:\"\",fontSize:12,showGutter:!0,onChange:null,onPaste:null,onLoad:null,onScroll:null,minLines:null,maxLines:null,readOnly:!1,highlightActiveLine:!0,showPrintMargin:!0,tabSize:4,cursorStart:1,editorProps:{},style:{},scrollMargin:[0,0,0,0],setOptions:{},wrapEnabled:!1,enableBasicAutocompletion:!1,enableLiveAutocompletion:!1}}).call(t,n(38))},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(567),l=r(u),c=n(1),d=r(c),f=n(5),p=r(f),h=n(1161),m=r(h),g=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={value:n.props.value},n.onChange=n.onChange.bind(n),n.diff=n.diff.bind(n),n}return a(t,e),s(t,[{key:\"componentDidUpdate\",value:function(){var e=this.props.value;e!==this.state.value&&this.setState({value:e})}},{key:\"onChange\",value:function(e){this.setState({value:e}),this.props.onChange&&this.props.onChange(e)}},{key:\"diff\",value:function e(){var t=new m.default,n=this.state.value[0],r=this.state.value[1];if(0===n.length&&0===r.length)return[];var e=t.diff_main(n,r);t.diff_cleanupSemantic(e);var o=this.generateDiffedLines(e),i=this.setCodeMarkers(o);return i}},{key:\"generateDiffedLines\",value:function(e){var t={DIFF_EQUAL:0,DIFF_DELETE:-1,DIFF_INSERT:1},n={left:[],right:[]},r={left:1,right:1};return e.forEach(function(e){var o=e[0],i=e[1],a=i.split(\"\\n\").length-1;if(0!==i.length){var s=i[0],u=i[i.length-1],l=0;switch(o){case t.DIFF_EQUAL:r.left+=a,r.right+=a;break;case t.DIFF_DELETE:\"\\n\"===s&&(r.left++,a--),l=a,0===l&&n.right.push({startLine:r.right,endLine:r.right}),\"\\n\"===u&&(l-=1),n.left.push({startLine:r.left,endLine:r.left+l}),r.left+=a;break;case t.DIFF_INSERT:\"\\n\"===s&&(r.right++,a--),l=a,0===l&&n.left.push({startLine:r.left,endLine:r.left}),\"\\n\"===u&&(l-=1),n.right.push({startLine:r.right,endLine:r.right+l}),r.right+=a;break;default:throw new Error(\"Diff type was not defined.\")}}}),n}},{key:\"setCodeMarkers\",value:function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{left:[],right:[]},t=[],n={left:[],right:[]},r=0;r<e.left.length;r++){var o={startRow:e.left[r].startLine-1,endRow:e.left[r].endLine,type:\"text\",className:\"codeMarker\"};n.left.push(o)}for(var i=0;i<e.right.length;i++){var a={startRow:e.right[i].startLine-1,endRow:e.right[i].endLine,type:\"text\",className:\"codeMarker\"};n.right.push(a)}return t[0]=n.left,t[1]=n.right,t}},{key:\"render\",value:function(){var e=this.diff();return d.default.createElement(l.default,{name:this.props.name,className:this.props.className,focus:this.props.focus,orientation:this.props.orientation,splits:this.props.splits,mode:this.props.mode,theme:this.props.theme,height:this.props.height,width:this.props.width,fontSize:this.props.fontSize,showGutter:this.props.showGutter,onChange:this.onChange,onPaste:this.props.onPaste,onLoad:this.props.onLoad,onScroll:this.props.onScroll,minLines:this.props.minLines,maxLines:this.props.maxLines,readOnly:this.props.readOnly,highlightActiveLine:this.props.highlightActiveLine,showPrintMargin:this.props.showPrintMargin,tabSize:this.props.tabSize,cursorStart:this.props.cursorStart,editorProps:this.props.editorProps,style:this.props.style,scrollMargin:this.props.scrollMargin,setOptions:this.props.setOptions,wrapEnabled:this.props.wrapEnabled,enableBasicAutocompletion:this.props.enableBasicAutocompletion,enableLiveAutocompletion:this.props.enableLiveAutocompletion,value:this.state.value,markers:e})}}]),t}(c.Component);t.default=g,g.propTypes={cursorStart:p.default.number,editorProps:p.default.object,enableBasicAutocompletion:p.default.bool,enableLiveAutocompletion:p.default.bool,focus:p.default.bool,fontSize:p.default.number,height:p.default.string,highlightActiveLine:p.default.bool,maxLines:p.default.func,minLines:p.default.func,mode:p.default.string,name:p.default.string,className:p.default.string,onLoad:p.default.func,onPaste:p.default.func,onScroll:p.default.func,onChange:p.default.func,orientation:p.default.string,readOnly:p.default.bool,scrollMargin:p.default.array,setOptions:p.default.object,showGutter:p.default.bool,showPrintMargin:p.default.bool,splits:p.default.number,style:p.default.object,tabSize:p.default.number,theme:p.default.string,value:p.default.array,width:p.default.string,wrapEnabled:p.default.bool},g.defaultProps={cursorStart:1,editorProps:{},enableBasicAutocompletion:!1,enableLiveAutocompletion:!1,focus:!1,fontSize:12,height:\"500px\",highlightActiveLine:!0,maxLines:null,minLines:null,mode:\"\",name:\"brace-editor\",onLoad:null,onScroll:null,onPaste:null,onChange:null,orientation:\"beside\",readOnly:!1,scrollMargin:[0,0,0,0],setOptions:{},showGutter:!0,showPrintMargin:!0,splits:2,style:{},tabSize:4,theme:\"github\",value:[\"\",\"\"],width:\"500px\",wrapEnabled:!0}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.diff=t.split=void 0;var o=n(1401),i=r(o),a=n(567),s=r(a),u=n(1402),l=r(u);t.split=s.default,t.diff=l.default,t.default=i.default},function(e,t,n){(function(e){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(5),f=r(d),p=n(1653),h=r(p),m=n(1411),g=r(m),_=n(1406),b=function(){return!0},y=function(e){return e.trim().length>0},v=function(e){var t=e.containerProps,n=e.children;return c.default.createElement(\"div\",t,n)},M=function(t){function n(e){var t=e.alwaysRenderSuggestions;o(this,n);var r=i(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return A.call(r),r.state={isFocused:!1,isCollapsed:!t,highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:null},r.justPressedUpDown=!1,r.justMouseEntered=!1,r.pressedSuggestion=null,r}return a(n,t),u(n,[{key:\"componentDidMount\",value:function(){document.addEventListener(\"mousedown\",this.onDocumentMouseDown),document.addEventListener(\"mouseup\",this.onDocumentMouseUp),this.input=this.autowhatever.input,this.suggestionsContainer=this.autowhatever.itemsContainer}},{key:\"componentWillReceiveProps\",value:function(e){(0,h.default)(e.suggestions,this.props.suggestions)?e.highlightFirstSuggestion&&e.suggestions.length>0&&this.justPressedUpDown===!1&&this.justMouseEntered===!1&&this.highlightFirstSuggestion():this.willRenderSuggestions(e)?this.state.isCollapsed&&!this.justSelectedSuggestion&&this.revealSuggestions():this.resetHighlightedSuggestion()}},{key:\"componentDidUpdate\",value:function(e,t){var n=this.props,r=n.suggestions,o=n.onSuggestionHighlighted,i=n.highlightFirstSuggestion;if(!(0,h.default)(r,e.suggestions)&&r.length>0&&i)return void this.highlightFirstSuggestion();if(o){var a=this.getHighlightedSuggestion(),s=t.highlightedSuggestion;a!=s&&o({suggestion:a})}}},{key:\"componentWillUnmount\",value:function(){document.removeEventListener(\"mousedown\",this.onDocumentMouseDown),document.removeEventListener(\"mouseup\",this.onDocumentMouseUp)}},{key:\"updateHighlightedSuggestion\",value:function(e,t,n){var r=this;this.setState(function(o){var i=o.valueBeforeUpDown;return null===t?i=null:null===i&&\"undefined\"!=typeof n&&(i=n),{highlightedSectionIndex:e,highlightedSuggestionIndex:t,highlightedSuggestion:null===t?null:r.getSuggestion(e,t),valueBeforeUpDown:i}})}},{key:\"resetHighlightedSuggestion\",value:function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.setState(function(t){var n=t.valueBeforeUpDown;return{highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:e?null:n}})}},{key:\"revealSuggestions\",value:function(){this.setState({isCollapsed:!1})}},{key:\"closeSuggestions\",value:function(){this.setState({highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:null,isCollapsed:!0})}},{key:\"getSuggestion\",value:function(e,t){var n=this.props,r=n.suggestions,o=n.multiSection,i=n.getSectionSuggestions;return o?i(r[e])[t]:r[t]}},{key:\"getHighlightedSuggestion\",value:function(){var e=this.state,t=e.highlightedSectionIndex,n=e.highlightedSuggestionIndex;return null===n?null:this.getSuggestion(t,n)}},{key:\"getSuggestionValueByIndex\",value:function(e,t){var n=this.props.getSuggestionValue;return n(this.getSuggestion(e,t))}},{key:\"getSuggestionIndices\",value:function(e){var t=e.getAttribute(\"data-section-index\"),n=e.getAttribute(\"data-suggestion-index\");return{sectionIndex:\"string\"==typeof t?parseInt(t,10):null,suggestionIndex:parseInt(n,10)}}},{key:\"findSuggestionElement\",value:function(t){var n=t;do{if(null!==n.getAttribute(\"data-suggestion-index\"))return n;n=n.parentNode}while(null!==n);throw e.error(\"Clicked element:\",t),new Error(\"Couldn't find suggestion element\")}},{key:\"maybeCallOnChange\",value:function(e,t,n){var r=this.props.inputProps,o=r.value,i=r.onChange;t!==o&&i(e,{newValue:t,method:n})}},{key:\"willRenderSuggestions\",value:function(e){var t=e.suggestions,n=e.inputProps,r=e.shouldRenderSuggestions,o=n.value;return t.length>0&&r(o)}},{key:\"getQuery\",value:function(){var e=this.props.inputProps,t=e.value,n=this.state.valueBeforeUpDown;return(null===n?t:n).trim()}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.suggestions,r=t.renderInputComponent,o=t.onSuggestionsFetchRequested,i=t.renderSuggestion,a=t.inputProps,u=t.multiSection,l=t.renderSectionTitle,d=t.id,f=t.getSectionSuggestions,p=t.theme,h=t.getSuggestionValue,m=t.alwaysRenderSuggestions,y=t.highlightFirstSuggestion,v=this.state,M=v.isFocused,A=v.isCollapsed,w=v.highlightedSectionIndex,C=v.highlightedSuggestionIndex,E=v.valueBeforeUpDown,L=m?b:this.props.shouldRenderSuggestions,T=a.value,O=a.onFocus,S=a.onKeyDown,N=this.willRenderSuggestions(this.props),k=m||M&&!A&&N,D=k?n:[],x=s({},a,{onFocus:function(t){if(!e.justSelectedSuggestion&&!e.justClickedOnSuggestionsContainer){var n=L(T);e.setState({isFocused:!0,isCollapsed:!n}),O&&O(t),n&&o({value:T,reason:\"input-focused\"})}},onBlur:function(t){return e.justClickedOnSuggestionsContainer?void e.input.focus():(e.blurEvent=t,void(e.justSelectedSuggestion||(e.onBlur(),e.onSuggestionsClearRequested())))},onChange:function(t){var n=t.target.value,r=L(n);e.maybeCallOnChange(t,n,\"type\"),e.setState(s({},y?{}:{highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null},{valueBeforeUpDown:null,isCollapsed:!r})),r?o({value:n,reason:\"input-changed\"}):e.onSuggestionsClearRequested()},onKeyDown:function(t,r){var i=t.keyCode;switch(i){case 40:case 38:if(A)L(T)&&(o({value:T,reason:\"suggestions-revealed\"}),e.revealSuggestions());else if(n.length>0){var a=r.newHighlightedSectionIndex,s=r.newHighlightedItemIndex,u=void 0;u=null===s?null===E?T:E:e.getSuggestionValueByIndex(a,s),e.updateHighlightedSuggestion(a,s,T),e.maybeCallOnChange(t,u,40===i?\"down\":\"up\")}t.preventDefault(),e.justPressedUpDown=!0,setTimeout(function(){e.justPressedUpDown=!1});break;case 13:if(229===t.keyCode)break;var l=e.getHighlightedSuggestion();if(k&&!m&&e.closeSuggestions(),null!=l){var c=h(l);e.maybeCallOnChange(t,c,\"enter\"),e.onSuggestionSelected(t,{suggestion:l,suggestionValue:c,suggestionIndex:C,sectionIndex:w,method:\"enter\"}),e.justSelectedSuggestion=!0,setTimeout(function(){e.justSelectedSuggestion=!1})}break;case 27:k&&t.preventDefault();var d=k&&!m;if(null===E){if(!d){var f=\"\";e.maybeCallOnChange(t,f,\"escape\"),L(f)?o({value:f,reason:\"escape-pressed\"}):e.onSuggestionsClearRequested()}}else e.maybeCallOnChange(t,E,\"escape\");d?(e.onSuggestionsClearRequested(),e.closeSuggestions()):e.resetHighlightedSuggestion()}S&&S(t)}}),I={query:this.getQuery()};return c.default.createElement(g.default,{multiSection:u,items:D,renderInputComponent:r,renderItemsContainer:this.renderSuggestionsContainer,renderItem:i,renderItemData:I,renderSectionTitle:l,getSectionItems:f,highlightedSectionIndex:w,highlightedItemIndex:C,inputProps:x,itemProps:this.itemProps,theme:(0,_.mapToAutowhateverTheme)(p),id:d,ref:this.storeAutowhateverRef})}}]),n}(l.Component);M.propTypes={suggestions:f.default.array.isRequired,onSuggestionsFetchRequested:function e(t,n){var e=t[n];if(\"function\"!=typeof e)throw new Error(\"'onSuggestionsFetchRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsFetchRequestedProp\")},onSuggestionsClearRequested:function e(t,n){var e=t[n];if(t.alwaysRenderSuggestions===!1&&\"function\"!=typeof e)throw new Error(\"'onSuggestionsClearRequested' must be implemented. See: https://github.com/moroshko/react-autosuggest#onSuggestionsClearRequestedProp\")},onSuggestionSelected:f.default.func,onSuggestionHighlighted:f.default.func,renderInputComponent:f.default.func,renderSuggestionsContainer:f.default.func,getSuggestionValue:f.default.func.isRequired,renderSuggestion:f.default.func.isRequired,inputProps:function e(t,n){var e=t[n];if(!e.hasOwnProperty(\"value\"))throw new Error(\"'inputProps' must have 'value'.\");if(!e.hasOwnProperty(\"onChange\"))throw new Error(\"'inputProps' must have 'onChange'.\")},shouldRenderSuggestions:f.default.func,alwaysRenderSuggestions:f.default.bool,multiSection:f.default.bool,renderSectionTitle:function e(t,n){var e=t[n];if(t.multiSection===!0&&\"function\"!=typeof e)throw new Error(\"'renderSectionTitle' must be implemented. See: https://github.com/moroshko/react-autosuggest#renderSectionTitleProp\")},getSectionSuggestions:function e(t,n){var e=t[n];if(t.multiSection===!0&&\"function\"!=typeof e)throw new Error(\"'getSectionSuggestions' must be implemented. See: https://github.com/moroshko/react-autosuggest#getSectionSuggestionsProp\")},focusInputOnSuggestionClick:f.default.bool,highlightFirstSuggestion:f.default.bool,theme:f.default.object,id:f.default.string},M.defaultProps={renderSuggestionsContainer:v,shouldRenderSuggestions:y,alwaysRenderSuggestions:!1,multiSection:!1,focusInputOnSuggestionClick:!0,highlightFirstSuggestion:!1,theme:_.defaultTheme,id:\"1\"};var A=function(){var e=this;this.onDocumentMouseDown=function(t){e.justClickedOnSuggestionsContainer=!1;for(var n=t.detail&&t.detail.target||t.target;null!==n&&n!==document;){if(null!==n.getAttribute(\"data-suggestion-index\"))return;if(n===e.suggestionsContainer)return void(e.justClickedOnSuggestionsContainer=!0);n=n.parentNode}},this.storeAutowhateverRef=function(t){null!==t&&(e.autowhatever=t)},this.onSuggestionMouseEnter=function(t,n){var r=n.sectionIndex,o=n.itemIndex;e.updateHighlightedSuggestion(r,o),t.target===e.pressedSuggestion&&(e.justSelectedSuggestion=!0),e.justMouseEntered=!0,setTimeout(function(){e.justMouseEntered=!1})},this.highlightFirstSuggestion=function(){e.updateHighlightedSuggestion(e.props.multiSection?0:null,0)},this.onDocumentMouseUp=function(){e.pressedSuggestion&&!e.justSelectedSuggestion&&e.input.focus(),e.pressedSuggestion=null},this.onSuggestionMouseDown=function(t){e.justSelectedSuggestion||(e.justSelectedSuggestion=!0,e.pressedSuggestion=t.target)},this.onSuggestionsClearRequested=function(){var t=e.props.onSuggestionsClearRequested;t&&t()},this.onSuggestionSelected=function(t,n){var r=e.props,o=r.alwaysRenderSuggestions,i=r.onSuggestionSelected,a=r.onSuggestionsFetchRequested;i&&i(t,n),o?a({value:n.suggestionValue,reason:\"suggestion-selected\"}):e.onSuggestionsClearRequested(),e.resetHighlightedSuggestion()},this.onSuggestionClick=function(t){var n=e.props,r=n.alwaysRenderSuggestions,o=n.focusInputOnSuggestionClick,i=e.getSuggestionIndices(e.findSuggestionElement(t.target)),a=i.sectionIndex,s=i.suggestionIndex,u=e.getSuggestion(a,s),l=e.props.getSuggestionValue(u);e.maybeCallOnChange(t,l,\"click\"),e.onSuggestionSelected(t,{suggestion:u,suggestionValue:l,suggestionIndex:s,sectionIndex:a,method:\"click\"}),r||e.closeSuggestions(),o===!0?e.input.focus():e.onBlur(),setTimeout(function(){e.justSelectedSuggestion=!1})},this.onBlur=function(){var t=e.props,n=t.inputProps,r=t.shouldRenderSuggestions,o=n.value,i=n.onBlur,a=e.getHighlightedSuggestion(),s=r(o);e.setState({isFocused:!1,highlightedSectionIndex:null,highlightedSuggestionIndex:null,highlightedSuggestion:null,valueBeforeUpDown:null,isCollapsed:!s}),i&&i(e.blurEvent,{highlightedSuggestion:a})},this.onSuggestionMouseLeave=function(t){e.resetHighlightedSuggestion(!1),e.justSelectedSuggestion&&t.target===e.pressedSuggestion&&(e.justSelectedSuggestion=!1)},this.onSuggestionTouchStart=function(){e.justSelectedSuggestion=!0},this.onSuggestionTouchMove=function(){e.justSelectedSuggestion=!1,e.pressedSuggestion=null,e.input.focus()},this.itemProps=function(t){var n=t.sectionIndex,r=t.itemIndex;return{\"data-section-index\":n,\"data-suggestion-index\":r,onMouseEnter:e.onSuggestionMouseEnter,onMouseLeave:e.onSuggestionMouseLeave,onMouseDown:e.onSuggestionMouseDown,\nonTouchStart:e.onSuggestionTouchStart,onTouchMove:e.onSuggestionTouchMove,onClick:e.onSuggestionClick}},this.renderSuggestionsContainer=function(t){var n=t.containerProps,r=t.children,o=e.props.renderSuggestionsContainer;return o({containerProps:n,children:r,query:e.getQuery()})}};t.default=M}).call(t,n(38))},function(e,t,n){\"use strict\";e.exports=n(1404).default},function(e,t){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});t.defaultTheme={container:\"react-autosuggest__container\",containerOpen:\"react-autosuggest__container--open\",input:\"react-autosuggest__input\",inputOpen:\"react-autosuggest__input--open\",inputFocused:\"react-autosuggest__input--focused\",suggestionsContainer:\"react-autosuggest__suggestions-container\",suggestionsContainerOpen:\"react-autosuggest__suggestions-container--open\",suggestionsList:\"react-autosuggest__suggestions-list\",suggestion:\"react-autosuggest__suggestion\",suggestionFirst:\"react-autosuggest__suggestion--first\",suggestionHighlighted:\"react-autosuggest__suggestion--highlighted\",sectionContainer:\"react-autosuggest__section-container\",sectionContainerFirst:\"react-autosuggest__section-container--first\",sectionTitle:\"react-autosuggest__section-title\"},t.mapToAutowhateverTheme=function(e){var t={};for(var n in e)switch(n){case\"suggestionsContainer\":t.itemsContainer=e[n];break;case\"suggestionsContainerOpen\":t.itemsContainerOpen=e[n];break;case\"suggestion\":t.item=e[n];break;case\"suggestionFirst\":t.itemFirst=e[n];break;case\"suggestionHighlighted\":t.itemHighlighted=e[n];break;case\"suggestionsList\":t.itemsList=e[n];break;default:t[n]=e[n]}return t}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(5),p=r(f),h=n(1647),m=r(h),g=n(1599),_=r(g),b=n(1410),y=r(b),v=n(1409),M=r(v),A={},w=function(e){return d.default.createElement(\"input\",e)},C=function(e){var t=e.containerProps,n=e.children;return d.default.createElement(\"div\",t,n)},E={container:\"react-autowhatever__container\",containerOpen:\"react-autowhatever__container--open\",input:\"react-autowhatever__input\",inputOpen:\"react-autowhatever__input--open\",inputFocused:\"react-autowhatever__input--focused\",itemsContainer:\"react-autowhatever__items-container\",itemsContainerOpen:\"react-autowhatever__items-container--open\",itemsList:\"react-autowhatever__items-list\",item:\"react-autowhatever__item\",itemFirst:\"react-autowhatever__item--first\",itemHighlighted:\"react-autowhatever__item--highlighted\",sectionContainer:\"react-autowhatever__section-container\",sectionContainerFirst:\"react-autowhatever__section-container--first\",sectionTitle:\"react-autowhatever__section-title\"},L=function(e){function t(e){o(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.storeInputReference=function(e){null!==e&&(n.input=e)},n.storeItemsContainerReference=function(e){null!==e&&(n.itemsContainer=e)},n.onHighlightedItemChange=function(e){n.highlightedItem=e},n.getItemId=function(e,t){if(null===t)return null;var r=n.props.id,o=null===e?\"\":\"section-\"+e;return\"react-autowhatever-\"+r+\"-\"+o+\"-item-\"+t},n.onFocus=function(e){var t=n.props.inputProps;n.setState({isInputFocused:!0}),t.onFocus&&t.onFocus(e)},n.onBlur=function(e){var t=n.props.inputProps;n.setState({isInputFocused:!1}),t.onBlur&&t.onBlur(e)},n.onKeyDown=function(e){var t=n.props,r=t.inputProps,o=t.highlightedSectionIndex,i=t.highlightedItemIndex;switch(e.key){case\"ArrowDown\":case\"ArrowUp\":var a=\"ArrowDown\"===e.key?\"next\":\"prev\",s=n.sectionIterator[a]([o,i]),l=u(s,2),c=l[0],d=l[1];r.onKeyDown(e,{newHighlightedSectionIndex:c,newHighlightedItemIndex:d});break;default:r.onKeyDown(e,{highlightedSectionIndex:o,highlightedItemIndex:i})}},n.highlightedItem=null,n.state={isInputFocused:!1},n.setSectionsItems(e),n.setSectionIterator(e),n.setTheme(e),n}return a(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.ensureHighlightedItemIsVisible()}},{key:\"componentWillReceiveProps\",value:function(e){e.items!==this.props.items&&this.setSectionsItems(e),e.items===this.props.items&&e.multiSection===this.props.multiSection||this.setSectionIterator(e),e.theme!==this.props.theme&&this.setTheme(e)}},{key:\"componentDidUpdate\",value:function(){this.ensureHighlightedItemIsVisible()}},{key:\"setSectionsItems\",value:function(e){e.multiSection&&(this.sectionsItems=e.items.map(function(t){return e.getSectionItems(t)}),this.sectionsLengths=this.sectionsItems.map(function(e){return e.length}),this.allSectionsAreEmpty=this.sectionsLengths.every(function(e){return 0===e}))}},{key:\"setSectionIterator\",value:function(e){this.sectionIterator=(0,m.default)({multiSection:e.multiSection,data:e.multiSection?this.sectionsLengths:e.items.length})}},{key:\"setTheme\",value:function(e){this.theme=(0,_.default)(e.theme)}},{key:\"renderSections\",value:function(){var e=this;if(this.allSectionsAreEmpty)return null;var t=this.theme,n=this.props,r=n.id,o=n.items,i=n.renderItem,a=n.renderItemData,s=n.renderSectionTitle,u=n.highlightedSectionIndex,l=n.highlightedItemIndex,c=n.itemProps;return o.map(function(n,o){var f=\"react-autowhatever-\"+r+\"-\",p=f+\"section-\"+o+\"-\",h=0===o;return d.default.createElement(\"div\",t(p+\"container\",\"sectionContainer\",h&&\"sectionContainerFirst\"),d.default.createElement(y.default,{section:n,renderSectionTitle:s,theme:t,sectionKeyPrefix:p}),d.default.createElement(M.default,{items:e.sectionsItems[o],itemProps:c,renderItem:i,renderItemData:a,sectionIndex:o,highlightedItemIndex:u===o?l:null,onHighlightedItemChange:e.onHighlightedItemChange,getItemId:e.getItemId,theme:t,keyPrefix:f,ref:e.storeItemsListReference}))})}},{key:\"renderItems\",value:function(){var e=this.props.items;if(0===e.length)return null;var t=this.theme,n=this.props,r=n.id,o=n.renderItem,i=n.renderItemData,a=n.highlightedSectionIndex,s=n.highlightedItemIndex,u=n.itemProps;return d.default.createElement(M.default,{items:e,itemProps:u,renderItem:o,renderItemData:i,highlightedItemIndex:null===a?s:null,onHighlightedItemChange:this.onHighlightedItemChange,getItemId:this.getItemId,theme:t,keyPrefix:\"react-autowhatever-\"+r+\"-\"})}},{key:\"ensureHighlightedItemIsVisible\",value:function(){var e=this.highlightedItem;if(e){var t=this.itemsContainer,n=e.offsetParent===t?e.offsetTop:e.offsetTop-t.offsetTop,r=t.scrollTop;n<r?r=n:n+e.offsetHeight>r+t.offsetHeight&&(r=n+e.offsetHeight-t.offsetHeight),r!==t.scrollTop&&(t.scrollTop=r)}}},{key:\"render\",value:function(){var e=this.theme,t=this.props,n=t.id,r=t.multiSection,o=t.renderInputComponent,i=t.renderItemsContainer,a=t.highlightedSectionIndex,u=t.highlightedItemIndex,l=this.state.isInputFocused,c=r?this.renderSections():this.renderItems(),f=null!==c,p=this.getItemId(a,u),h=\"react-autowhatever-\"+n,m=s({role:\"combobox\",\"aria-haspopup\":\"listbox\",\"aria-owns\":h,\"aria-expanded\":f},e(\"react-autowhatever-\"+n+\"-container\",\"container\",f&&\"containerOpen\")),g=o(s({type:\"text\",value:\"\",autoComplete:\"off\",\"aria-autocomplete\":\"list\",\"aria-controls\":h,\"aria-activedescendant\":p},e(\"react-autowhatever-\"+n+\"-input\",\"input\",f&&\"inputOpen\",l&&\"inputFocused\"),this.props.inputProps,{onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.props.inputProps.onKeyDown&&this.onKeyDown,ref:this.storeInputReference})),_=i({containerProps:s({id:h,role:\"listbox\"},e(\"react-autowhatever-\"+n+\"-items-container\",\"itemsContainer\",f&&\"itemsContainerOpen\"),{ref:this.storeItemsContainerReference}),children:c});return d.default.createElement(\"div\",m,g,_)}}]),t}(c.Component);L.propTypes={id:p.default.string,multiSection:p.default.bool,renderInputComponent:p.default.func,renderItemsContainer:p.default.func,items:p.default.array.isRequired,renderItem:p.default.func,renderItemData:p.default.object,renderSectionTitle:p.default.func,getSectionItems:p.default.func,inputProps:p.default.object,itemProps:p.default.oneOfType([p.default.object,p.default.func]),highlightedSectionIndex:p.default.number,highlightedItemIndex:p.default.number,theme:p.default.oneOfType([p.default.object,p.default.array])},L.defaultProps={id:\"1\",multiSection:!1,renderInputComponent:w,renderItemsContainer:C,renderItem:function(){throw new Error(\"`renderItem` must be provided\")},renderItemData:A,renderSectionTitle:function(){throw new Error(\"`renderSectionTitle` must be provided\")},getSectionItems:function(){throw new Error(\"`getSectionItems` must be provided\")},inputProps:A,itemProps:A,highlightedSectionIndex:null,highlightedItemIndex:null,theme:E},t.default=L},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(5),p=r(f),h=n(304),m=r(h),g=function(e){function t(){var e,n,r,o;i(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=a(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.storeItemReference=function(e){null!==e&&(r.item=e)},r.onMouseEnter=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onMouseEnter(e,{sectionIndex:n,itemIndex:o})},r.onMouseLeave=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onMouseLeave(e,{sectionIndex:n,itemIndex:o})},r.onMouseDown=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onMouseDown(e,{sectionIndex:n,itemIndex:o})},r.onClick=function(e){var t=r.props,n=t.sectionIndex,o=t.itemIndex;r.props.onClick(e,{sectionIndex:n,itemIndex:o})},o=n,a(r,o)}return s(t,e),l(t,[{key:\"shouldComponentUpdate\",value:function(e){return(0,m.default)(e,this.props,[\"renderItemData\"])}},{key:\"render\",value:function(){var e=this.props,t=e.isHighlighted,n=e.item,r=e.renderItem,i=e.renderItemData,a=o(e,[\"isHighlighted\",\"item\",\"renderItem\",\"renderItemData\"]);return delete a.sectionIndex,delete a.itemIndex,\"function\"==typeof a.onMouseEnter&&(a.onMouseEnter=this.onMouseEnter),\"function\"==typeof a.onMouseLeave&&(a.onMouseLeave=this.onMouseLeave),\"function\"==typeof a.onMouseDown&&(a.onMouseDown=this.onMouseDown),\"function\"==typeof a.onClick&&(a.onClick=this.onClick),d.default.createElement(\"li\",u({role:\"option\"},a,{ref:this.storeItemReference}),r(n,u({isHighlighted:t},i)))}}]),t}(c.Component);g.propTypes={sectionIndex:p.default.number,isHighlighted:p.default.bool.isRequired,itemIndex:p.default.number.isRequired,item:p.default.any.isRequired,renderItem:p.default.func.isRequired,renderItemData:p.default.object.isRequired,onMouseEnter:p.default.func,onMouseLeave:p.default.func,onMouseDown:p.default.func,onClick:p.default.func},t.default=g},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=n(1),c=r(l),d=n(5),f=r(d),p=n(1408),h=r(p),m=n(304),g=r(m),_=function(e){function t(){var e,n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),r.storeHighlightedItemReference=function(e){r.props.onHighlightedItemChange(null===e?null:e.item)},a=n,i(r,a)}return a(t,e),u(t,[{key:\"shouldComponentUpdate\",value:function(e){return(0,g.default)(e,this.props,[\"itemProps\"])}},{key:\"render\",value:function(){var e=this,t=this.props,n=t.items,r=t.itemProps,o=t.renderItem,i=t.renderItemData,a=t.sectionIndex,u=t.highlightedItemIndex,l=t.getItemId,d=t.theme,f=t.keyPrefix,p=null===a?f:f+\"section-\"+a+\"-\",m=\"function\"==typeof r;return c.default.createElement(\"ul\",s({role:\"listbox\"},d(p+\"items-list\",\"itemsList\")),n.map(function(t,n){var f=0===n,g=n===u,_=p+\"item-\"+n,b=m?r({sectionIndex:a,itemIndex:n}):r,y=s({id:l(a,n),\"aria-selected\":g},d(_,\"item\",f&&\"itemFirst\",g&&\"itemHighlighted\"),b);return g&&(y.ref=e.storeHighlightedItemReference),c.default.createElement(h.default,s({},y,{sectionIndex:a,isHighlighted:g,itemIndex:n,item:t,renderItem:o,renderItemData:i}))}))}}]),t}(l.Component);_.propTypes={items:f.default.array.isRequired,itemProps:f.default.oneOfType([f.default.object,f.default.func]),renderItem:f.default.func.isRequired,renderItemData:f.default.object.isRequired,sectionIndex:f.default.number,highlightedItemIndex:f.default.number,onHighlightedItemChange:f.default.func.isRequired,getItemId:f.default.func.isRequired,theme:f.default.func.isRequired,keyPrefix:f.default.string.isRequired},_.defaultProps={sectionIndex:null},t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=n(1),l=r(u),c=n(5),d=r(c),f=n(304),p=r(f),h=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return a(t,e),s(t,[{key:\"shouldComponentUpdate\",value:function(e){return(0,p.default)(e,this.props)}},{key:\"render\",value:function(){var e=this.props,t=e.section,n=e.renderSectionTitle,r=e.theme,o=e.sectionKeyPrefix,i=n(t);return i?l.default.createElement(\"div\",r(o+\"title\",\"sectionTitle\"),i):null}}]),t}(u.Component);h.propTypes={section:d.default.any.isRequired,renderSectionTitle:d.default.func.isRequired,theme:d.default.func.isRequired,sectionKeyPrefix:d.default.string.isRequired},t.default=h},function(e,t,n){\"use strict\";e.exports=n(1407).default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(1),p=r(f),h=n(584),m=r(h),g=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return p.default.createElement(m.default,(0,i.default)({},this.props,{accordion:!0}),this.props.children)},t}(p.default.Component);t.default=g,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(13),w=n(40),C={onDismiss:M.default.func,closeLabel:M.default.string},E={closeLabel:\"Close alert\"},L=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.renderDismissButton=function(e){return y.default.createElement(\"button\",{type:\"button\",className:\"close\",onClick:e,\"aria-hidden\":\"true\",tabIndex:\"-1\"},y.default.createElement(\"span\",null,\"×\"))},t.prototype.renderSrOnlyDismissButton=function(e,t){return y.default.createElement(\"button\",{type:\"button\",className:\"close sr-only\",onClick:e},t)},t.prototype.render=function(){var e,t=this.props,n=t.onDismiss,r=t.closeLabel,o=t.className,i=t.children,a=(0,l.default)(t,[\"onDismiss\",\"closeLabel\",\"className\",\"children\"]),u=(0,A.splitBsProps)(a),c=u[0],d=u[1],f=!!n,p=(0,s.default)({},(0,A.getClassSet)(c),(e={},e[(0,A.prefix)(c,\"dismissable\")]=f,e));return y.default.createElement(\"div\",(0,s.default)({},d,{role:\"alert\",className:(0,_.default)(o,p)}),f&&this.renderDismissButton(n),i,f&&this.renderSrOnlyDismissButton(n,r))},t}(y.default.Component);L.propTypes=C,L.defaultProps=E,t.default=(0,A.bsStyles)((0,i.default)(w.State),w.State.INFO,(0,A.bsClass)(\"alert\",L)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={pullRight:y.default.bool},A={pullRight:!1},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.hasContent=function(e){var t=!1;return _.default.Children.forEach(e,function(e){t||(e||0===e)&&(t=!0)}),t},t.prototype.render=function(){var e=this.props,t=e.pullRight,n=e.className,r=e.children,o=(0,s.default)(e,[\"pullRight\",\"className\",\"children\"]),a=(0,v.splitBsProps)(o),u=a[0],l=a[1],c=(0,i.default)({},(0,v.getClassSet)(u),{\"pull-right\":t,hidden:!this.hasContent(r)});return _.default.createElement(\"span\",(0,i.default)({},l,{className:(0,m.default)(n,c)}),r)},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"badge\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(568),y=r(b),v=n(13),M=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,v.splitBsProps)(n),o=r[0],a=r[1],u=(0,v.getClassSet)(o);return _.default.createElement(\"ol\",(0,i.default)({},a,{role:\"navigation\",\"aria-label\":\"breadcrumbs\",className:(0,m.default)(t,u)}))},t}(_.default.Component);M.Item=y.default,t.default=(0,v.bsClass)(\"breadcrumb\",M),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(166),y=r(b),v=n(13),M=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,v.splitBsProps)(n),o=r[0],a=r[1],u=(0,v.getClassSet)(o);return _.default.createElement(\"div\",(0,i.default)({},a,{role:\"toolbar\",className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,v.bsClass)(\"btn-toolbar\",(0,v.bsSizes)(y.default.SIZES,M)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(1418),M=r(v),A=n(570),w=r(A),C=n(306),E=r(C),L=n(75),T=r(L),O=n(13),S=n(52),N=r(S),k={slide:y.default.bool,indicators:y.default.bool,interval:y.default.number,controls:y.default.bool,pauseOnHover:y.default.bool,wrap:y.default.bool,onSelect:y.default.func,onSlideEnd:y.default.func,activeIndex:y.default.number,defaultActiveIndex:y.default.number,direction:y.default.oneOf([\"prev\",\"next\"]),prevIcon:y.default.node,prevLabel:y.default.string,nextIcon:y.default.node,nextLabel:y.default.string},D={slide:!0,interval:5e3,pauseOnHover:!0,wrap:!0,indicators:!0,controls:!0,prevIcon:_.default.createElement(E.default,{glyph:\"chevron-left\"}),prevLabel:\"Previous\",nextIcon:_.default.createElement(E.default,{glyph:\"chevron-right\"}),nextLabel:\"Next\"},x=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));o.handleMouseOver=o.handleMouseOver.bind(o),o.handleMouseOut=o.handleMouseOut.bind(o),o.handlePrev=o.handlePrev.bind(o),o.handleNext=o.handleNext.bind(o),o.handleItemAnimateOutEnd=o.handleItemAnimateOutEnd.bind(o);var i=n.defaultActiveIndex;return o.state={activeIndex:null!=i?i:0,previousActiveIndex:null,direction:null},o.isUnmounted=!1,o}return(0,p.default)(t,e),t.prototype.componentWillReceiveProps=function(e){var t=this.getActiveIndex();null!=e.activeIndex&&e.activeIndex!==t&&(clearTimeout(this.timeout),this.setState({previousActiveIndex:t,direction:null!=e.direction?e.direction:this.getDirection(t,e.activeIndex)}))},t.prototype.componentDidMount=function(){this.waitForNext()},t.prototype.componentWillUnmount=function(){clearTimeout(this.timeout),this.isUnmounted=!0},t.prototype.handleMouseOver=function(){this.props.pauseOnHover&&this.pause()},t.prototype.handleMouseOut=function(){this.isPaused&&this.play()},t.prototype.handlePrev=function(e){var t=this.getActiveIndex()-1;if(t<0){if(!this.props.wrap)return;t=N.default.count(this.props.children)-1}this.select(t,e,\"prev\")},t.prototype.handleNext=function(e){var t=this.getActiveIndex()+1,n=N.default.count(this.props.children);if(t>n-1){if(!this.props.wrap)return;t=0}this.select(t,e,\"next\")},t.prototype.handleItemAnimateOutEnd=function(){var e=this;this.setState({previousActiveIndex:null,direction:null},function(){e.waitForNext(),e.props.onSlideEnd&&e.props.onSlideEnd()})},t.prototype.getActiveIndex=function(){var e=this.props.activeIndex;return null!=e?e:this.state.activeIndex},t.prototype.getDirection=function(e,t){return e===t?null:e>t?\"prev\":\"next\"},t.prototype.select=function(e,t,n){if(clearTimeout(this.timeout),!this.isUnmounted){var r=this.props.slide?this.getActiveIndex():null;n=n||this.getDirection(r,e);var o=this.props.onSelect;if(o&&(o.length>1?(t?(t.persist(),t.direction=n):t={direction:n},o(e,t)):o(e)),null==this.props.activeIndex&&e!==r){if(null!=this.state.previousActiveIndex)return;this.setState({activeIndex:e,previousActiveIndex:r,direction:n})}}},t.prototype.waitForNext=function(){var e=this.props,t=e.slide,n=e.interval,r=e.activeIndex;!this.isPaused&&t&&n&&null==r&&(this.timeout=setTimeout(this.handleNext,n))},t.prototype.pause=function(){this.isPaused=!0,clearTimeout(this.timeout)},t.prototype.play=function(){this.isPaused=!1,this.waitForNext()},t.prototype.renderIndicators=function(e,t,n){var r=this,o=[];return N.default.forEach(e,function(e,n){o.push(_.default.createElement(\"li\",{key:n,className:n===t?\"active\":null,onClick:function(e){return r.select(n,e)}}),\" \")}),_.default.createElement(\"ol\",{className:(0,O.prefix)(n,\"indicators\")},o)},t.prototype.renderControls=function(e){var t=e.wrap,n=e.children,r=e.activeIndex,o=e.prevIcon,i=e.nextIcon,a=e.bsProps,s=e.prevLabel,u=e.nextLabel,l=(0,O.prefix)(a,\"control\"),c=N.default.count(n);return[(t||0!==r)&&_.default.createElement(T.default,{key:\"prev\",className:(0,m.default)(l,\"left\"),onClick:this.handlePrev},o,s&&_.default.createElement(\"span\",{className:\"sr-only\"},s)),(t||r!==c-1)&&_.default.createElement(T.default,{key:\"next\",className:(0,m.default)(l,\"right\"),onClick:this.handleNext},i,u&&_.default.createElement(\"span\",{className:\"sr-only\"},u))]},t.prototype.render=function(){var e=this,t=this.props,n=t.slide,r=t.indicators,o=t.controls,a=t.wrap,u=t.prevIcon,l=t.prevLabel,c=t.nextIcon,d=t.nextLabel,f=t.className,p=t.children,h=(0,s.default)(t,[\"slide\",\"indicators\",\"controls\",\"wrap\",\"prevIcon\",\"prevLabel\",\"nextIcon\",\"nextLabel\",\"className\",\"children\"]),b=this.state,y=b.previousActiveIndex,v=b.direction,M=(0,O.splitBsPropsAndOmit)(h,[\"interval\",\"pauseOnHover\",\"onSelect\",\"onSlideEnd\",\"activeIndex\",\"defaultActiveIndex\",\"direction\"]),A=M[0],w=M[1],C=this.getActiveIndex(),E=(0,i.default)({},(0,O.getClassSet)(A),{slide:n});return _.default.createElement(\"div\",(0,i.default)({},w,{className:(0,m.default)(f,E),onMouseOver:this.handleMouseOver,onMouseOut:this.handleMouseOut}),r&&this.renderIndicators(p,C,A),_.default.createElement(\"div\",{className:(0,O.prefix)(A,\"inner\")},N.default.map(p,function(t,r){var o=r===C,i=n&&r===y;return(0,g.cloneElement)(t,{active:o,index:r,animateOut:i,animateIn:o&&null!=y&&n,direction:v,onAnimateOutEnd:i?e.handleItemAnimateOutEnd:null})})),o&&this.renderControls({wrap:a,children:p,activeIndex:C,prevIcon:u,prevLabel:l,nextIcon:c,nextLabel:d,bsProps:A}))},t}(_.default.Component);x.propTypes=k,x.defaultProps=D,x.Caption=M.default,x.Item=w.default,t.default=(0,O.bsClass)(\"carousel\",x),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"carousel-caption\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={inline:y.default.bool,disabled:y.default.bool,validationState:y.default.oneOf([\"success\",\"warning\",\"error\",null]),inputRef:y.default.func},w={inline:!1,disabled:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.inline,n=e.disabled,r=e.validationState,o=e.inputRef,a=e.className,u=e.style,l=e.children,c=(0,s.default)(e,[\"inline\",\"disabled\",\"validationState\",\"inputRef\",\"className\",\"style\",\"children\"]),d=(0,M.splitBsProps)(c),f=d[0],p=d[1],h=_.default.createElement(\"input\",(0,i.default)({},p,{ref:o,type:\"checkbox\",disabled:n}));if(t){var g,b=(g={},g[(0,M.prefix)(f,\"inline\")]=!0,g.disabled=n,g);return _.default.createElement(\"label\",{className:(0,m.default)(a,b),style:u},h,l)}var y=(0,i.default)({},(0,M.getClassSet)(f),{disabled:n});return r&&(y[\"has-\"+r]=!0),_.default.createElement(\"div\",{className:(0,m.default)(a,y),style:u},_.default.createElement(\"label\",null,h,l))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=(0,M.bsClass)(\"checkbox\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w=n(586),C=r(w),E=n(40),L={componentClass:M.default,visibleXsBlock:y.default.bool,visibleSmBlock:y.default.bool,visibleMdBlock:y.default.bool,visibleLgBlock:y.default.bool},T={componentClass:\"div\"},O=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);return E.DEVICE_SIZES.forEach(function(e){var t=\"visible\"+(0,C.default)(e)+\"Block\";u[t]&&(l[\"visible-\"+e+\"-block\"]=!0),delete u[t]}),_.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);O.propTypes=L,O.defaultProps=T,t.default=(0,A.bsClass)(\"clearfix\",O),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w=n(40),C={componentClass:M.default,xs:y.default.number,sm:y.default.number,md:y.default.number,lg:y.default.number,xsHidden:y.default.bool,smHidden:y.default.bool,mdHidden:y.default.bool,lgHidden:y.default.bool,xsOffset:y.default.number,smOffset:y.default.number,mdOffset:y.default.number,lgOffset:y.default.number,xsPush:y.default.number,smPush:y.default.number,mdPush:y.default.number,lgPush:y.default.number,xsPull:y.default.number,smPull:y.default.number,mdPull:y.default.number,lgPull:y.default.number},E={componentClass:\"div\"},L=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=[];return w.DEVICE_SIZES.forEach(function(e){function t(t,n){var r=\"\"+e+t,o=u[r];null!=o&&l.push((0,A.prefix)(a,\"\"+e+n+\"-\"+o)),delete u[r]}t(\"\",\"\"),t(\"Offset\",\"-offset\"),t(\"Push\",\"-push\"),t(\"Pull\",\"-pull\");var n=e+\"Hidden\";u[n]&&l.push(\"hidden-\"+e),delete u[n]}),_.default.createElement(t,(0,i.default)({},u,{\nclassName:(0,m.default)(n,l)}))},t}(_.default.Component);L.propTypes=C,L.defaultProps=E,t.default=(0,A.bsClass)(\"col\",L),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={htmlFor:y.default.string,srOnly:y.default.bool},w={srOnly:!1},C={$bs_formGroup:y.default.object},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.context.$bs_formGroup,t=e&&e.controlId,n=this.props,r=n.htmlFor,o=void 0===r?t:r,a=n.srOnly,u=n.className,l=(0,s.default)(n,[\"htmlFor\",\"srOnly\",\"className\"]),c=(0,M.splitBsProps)(l),d=c[0],f=c[1],p=(0,i.default)({},(0,M.getClassSet)(d),{\"sr-only\":a});return _.default.createElement(\"label\",(0,i.default)({},f,{htmlFor:o,className:(0,m.default)(u,p)}))},t}(_.default.Component);E.propTypes=A,E.defaultProps=w,E.contextTypes=C,t.default=(0,M.bsClass)(\"control-label\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(211),y=r(b),v=n(213),M=r(v),A=(0,p.default)({},y.default.propTypes,{bsStyle:_.default.string,bsSize:_.default.string,title:_.default.node.isRequired,noCaret:_.default.bool,children:_.default.node}),w=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.bsSize,n=e.bsStyle,r=e.title,o=e.children,a=(0,i.default)(e,[\"bsSize\",\"bsStyle\",\"title\",\"children\"]),s=(0,M.default)(a,y.default.ControlledComponent),u=s[0],l=s[1];return m.default.createElement(y.default,(0,p.default)({},u,{bsSize:t,bsStyle:n}),m.default.createElement(y.default.Toggle,(0,p.default)({},l,{bsSize:t,bsStyle:n}),r),m.default.createElement(y.default.Menu,null,o))},t}(m.default.Component);w.propTypes=A,t.default=w,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(893),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(295),y=r(b),v=n(1),M=r(v),A=n(5),w=r(A),C=n(29),E=r(C),L=n(588),T=r(L),O=n(13),S=n(39),N=r(S),k=n(52),D=r(k),x={open:w.default.bool,pullRight:w.default.bool,onClose:w.default.func,labelledBy:w.default.oneOfType([w.default.string,w.default.number]),onSelect:w.default.func,rootCloseEvent:w.default.oneOf([\"click\",\"mousedown\"])},I={bsRole:\"menu\",pullRight:!1},z=function(e){function t(n){(0,d.default)(this,t);var r=(0,p.default)(this,e.call(this,n));return r.handleRootClose=r.handleRootClose.bind(r),r.handleKeyDown=r.handleKeyDown.bind(r),r}return(0,m.default)(t,e),t.prototype.handleRootClose=function(e){this.props.onClose(e,{source:\"rootClose\"})},t.prototype.handleKeyDown=function(e){switch(e.keyCode){case y.default.codes.down:this.focusNext(),e.preventDefault();break;case y.default.codes.up:this.focusPrevious(),e.preventDefault();break;case y.default.codes.esc:case y.default.codes.tab:this.props.onClose(e,{source:\"keydown\"})}},t.prototype.getItemsAndActiveIndex=function(){var e=this.getFocusableMenuItems(),t=e.indexOf(document.activeElement);return{items:e,activeIndex:t}},t.prototype.getFocusableMenuItems=function(){var e=E.default.findDOMNode(this);return e?(0,l.default)(e.querySelectorAll('[tabIndex=\"-1\"]')):[]},t.prototype.focusNext=function(){var e=this.getItemsAndActiveIndex(),t=e.items,n=e.activeIndex;if(0!==t.length){var r=n===t.length-1?0:n+1;t[r].focus()}},t.prototype.focusPrevious=function(){var e=this.getItemsAndActiveIndex(),t=e.items,n=e.activeIndex;if(0!==t.length){var r=0===n?t.length-1:n-1;t[r].focus()}},t.prototype.render=function(){var e,t=this,n=this.props,r=n.open,o=n.pullRight,a=n.labelledBy,u=n.onSelect,l=n.className,c=n.rootCloseEvent,d=n.children,f=(0,s.default)(n,[\"open\",\"pullRight\",\"labelledBy\",\"onSelect\",\"className\",\"rootCloseEvent\",\"children\"]),p=(0,O.splitBsPropsAndOmit)(f,[\"onClose\"]),h=p[0],m=p[1],g=(0,i.default)({},(0,O.getClassSet)(h),(e={},e[(0,O.prefix)(h,\"right\")]=o,e));return M.default.createElement(T.default,{disabled:!r,onRootClose:this.handleRootClose,event:c},M.default.createElement(\"ul\",(0,i.default)({},m,{role:\"menu\",className:(0,_.default)(l,g),\"aria-labelledby\":a}),D.default.map(d,function(e){return M.default.cloneElement(e,{onKeyDown:(0,N.default)(e.props.onKeyDown,t.handleKeyDown),onSelect:(0,N.default)(e.props.onSelect,u)})})))},t}(M.default.Component);z.propTypes=x,z.defaultProps=I,t.default=(0,O.bsClass)(\"dropdown-menu\",z),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(13),w={horizontal:y.default.bool,inline:y.default.bool,componentClass:M.default},C={horizontal:!1,inline:!1,componentClass:\"form\"},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.horizontal,n=e.inline,r=e.componentClass,o=e.className,a=(0,s.default)(e,[\"horizontal\",\"inline\",\"componentClass\",\"className\"]),u=(0,A.splitBsProps)(a),l=u[0],c=u[1],d=[];return t&&d.push((0,A.prefix)(l,\"horizontal\")),n&&d.push((0,A.prefix)(l,\"inline\")),_.default.createElement(r,(0,i.default)({},c,{className:(0,m.default)(o,d)}))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"form\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(47),w=(r(A),n(1427)),C=r(w),E=n(1428),L=r(E),T=n(13),O=n(40),S={componentClass:M.default,type:y.default.string,id:y.default.string,inputRef:y.default.func},N={componentClass:\"input\"},k={$bs_formGroup:y.default.object},D=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.context.$bs_formGroup,t=e&&e.controlId,n=this.props,r=n.componentClass,o=n.type,a=n.id,u=void 0===a?t:a,l=n.inputRef,c=n.className,d=n.bsSize,f=(0,s.default)(n,[\"componentClass\",\"type\",\"id\",\"inputRef\",\"className\",\"bsSize\"]),p=(0,T.splitBsProps)(f),h=p[0],g=p[1],b=void 0;if(\"file\"!==o&&(b=(0,T.getClassSet)(h)),d){var y=O.SIZE_MAP[d]||d;b[(0,T.prefix)({bsClass:\"input\"},y)]=!0}return _.default.createElement(r,(0,i.default)({},g,{type:o,id:u,ref:l,className:(0,m.default)(c,b)}))},t}(_.default.Component);D.propTypes=S,D.defaultProps=N,D.contextTypes=k,D.Feedback=C.default,D.Static=L.default,t.default=(0,T.bsClass)(\"form-control\",(0,T.bsSizes)([O.Size.SMALL,O.Size.LARGE],D)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(9),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(306),M=r(v),A=n(13),w={bsRole:\"feedback\"},C={$bs_formGroup:y.default.object},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.getGlyph=function(e){switch(e){case\"success\":return\"ok\";case\"warning\":return\"warning-sign\";case\"error\":return\"remove\";default:return null}},t.prototype.renderDefaultFeedback=function(e,t,n,r){var o=this.getGlyph(e&&e.validationState);return o?_.default.createElement(M.default,(0,s.default)({},r,{glyph:o,className:(0,m.default)(t,n)})):null},t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,i.default)(e,[\"className\",\"children\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);if(!n)return this.renderDefaultFeedback(this.context.$bs_formGroup,t,l,u);var c=_.default.Children.only(n);return _.default.cloneElement(c,(0,s.default)({},u,{className:(0,m.default)(c.props.className,t,l)}))},t}(_.default.Component);E.defaultProps=w,E.contextTypes=C,t.default=(0,A.bsClass)(\"form-control-feedback\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"p\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"form-control-static\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(40),A=n(52),w=r(A),C={controlId:y.default.string,validationState:y.default.oneOf([\"success\",\"warning\",\"error\",null])},E={$bs_formGroup:y.default.object.isRequired},L=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.controlId,n=e.validationState;return{$bs_formGroup:{controlId:t,validationState:n}}},t.prototype.hasFeedback=function(e){var t=this;return w.default.some(e,function(e){return\"feedback\"===e.props.bsRole||e.props.children&&t.hasFeedback(e.props.children)})},t.prototype.render=function(){var e=this.props,t=e.validationState,n=e.className,r=e.children,o=(0,s.default)(e,[\"validationState\",\"className\",\"children\"]),a=(0,v.splitBsPropsAndOmit)(o,[\"controlId\"]),u=a[0],l=a[1],c=(0,i.default)({},(0,v.getClassSet)(u),{\"has-feedback\":this.hasFeedback(r)});return t&&(c[\"has-\"+t]=!0),_.default.createElement(\"div\",(0,i.default)({},l,{className:(0,m.default)(n,c)}),r)},t}(_.default.Component);L.propTypes=C,L.childContextTypes=E,t.default=(0,v.bsClass)(\"form-group\",(0,v.bsSizes)([M.Size.LARGE,M.Size.SMALL],L)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"help-block\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={responsive:y.default.bool,rounded:y.default.bool,circle:y.default.bool,thumbnail:y.default.bool},A={responsive:!1,rounded:!1,circle:!1,thumbnail:!1},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.responsive,r=t.rounded,o=t.circle,a=t.thumbnail,u=t.className,l=(0,s.default)(t,[\"responsive\",\"rounded\",\"circle\",\"thumbnail\",\"className\"]),c=(0,v.splitBsProps)(l),d=c[0],f=c[1],p=(e={},e[(0,v.prefix)(d,\"responsive\")]=n,e[(0,v.prefix)(d,\"rounded\")]=r,e[(0,v.prefix)(d,\"circle\")]=o,e[(0,v.prefix)(d,\"thumbnail\")]=a,e);return _.default.createElement(\"img\",(0,i.default)({},f,{className:(0,m.default)(u,p)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"img\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(1433),y=r(b),v=n(1434),M=r(v),A=n(13),w=n(40),C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,A.splitBsProps)(n),o=r[0],a=r[1],u=(0,A.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);C.Addon=y.default,C.Button=M.default,t.default=(0,A.bsClass)(\"input-group\",(0,A.bsSizes)([w.Size.LARGE,w.Size.SMALL],C)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"input-group-addon\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"span\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"input-group-btn\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(1),m=r(h),g=n(12),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return m.default.createElement(t,(0,i.default)({},u,{className:(0,_.default)(n,l)}))},t}(m.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"jumbotron\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(9),s=r(a),u=n(11),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(13),M=n(40),A=function(e){function t(){return(0,d.default)(this,t),(0,p.default)(this,e.apply(this,arguments))}return(0,m.default)(t,e),t.prototype.hasContent=function(e){var t=!1;return y.default.Children.forEach(e,function(e){t||(e||0===e)&&(t=!0)}),t},t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,l.default)(e,[\"className\",\"children\"]),o=(0,v.splitBsProps)(r),i=o[0],a=o[1],u=(0,s.default)({},(0,v.getClassSet)(i),{hidden:!this.hasContent(n)});return y.default.createElement(\"span\",(0,s.default)({},a,{className:(0,_.default)(t,u)}),n)},t}(y.default.Component);t.default=(0,v.bsClass)(\"label\",(0,v.bsStyles)([].concat((0,i.default)(M.State),[M.Style.DEFAULT,M.Style.PRIMARY]),M.Style.DEFAULT,A)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e?E.default.some(e,function(e){return e.type!==A.default||e.props.href||e.props.onClick})?\"div\":\"ul\":\"div\"}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(12),g=r(m),_=n(1),b=r(_),y=n(25),v=r(y),M=n(573),A=r(M),w=n(13),C=n(52),E=r(C),L={componentClass:v.default},T=function(e){function t(){return(0,c.default)(this,t),(0,f.default)(this,e.apply(this,arguments))}return(0,h.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=e.componentClass,r=void 0===n?o(t):n,i=e.className,s=(0,u.default)(e,[\"children\",\"componentClass\",\"className\"]),l=(0,w.splitBsProps)(s),c=l[0],d=l[1],f=(0,w.getClassSet)(c),p=\"ul\"===r&&E.default.every(t,function(e){return e.type===A.default});return b.default.createElement(r,(0,a.default)({},d,{className:(0,g.default)(i,f)}),p?E.default.map(t,function(e){return(0,_.cloneElement)(e,{listItem:!0})}):t)},t}(b.default.Component);T.propTypes=L,t.default=(0,w.bsClass)(\"list-group\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"media-body\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"h4\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"media-heading\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(307),M=r(v),A=n(13),w={align:y.default.oneOf([\"top\",\"middle\",\"bottom\"])},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.align,n=e.className,r=(0,s.default)(e,[\"align\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);return t&&(l[(0,A.prefix)(M.default.defaultProps,t)]=!0),_.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);C.propTypes=w,t.default=(0,A.bsClass)(\"media-left\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"ul\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"media-list\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"li\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"media\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(307),M=r(v),A=n(13),w={align:y.default.oneOf([\"top\",\"middle\",\"bottom\"])},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.align,n=e.className,r=(0,s.default)(e,[\"align\",\"className\"]),o=(0,A.splitBsProps)(r),a=o[0],u=o[1],l=(0,A.getClassSet)(a);return t&&(l[(0,A.prefix)(M.default.defaultProps,t)]=!0),_.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);C.propTypes=w,t.default=(0,A.bsClass)(\"media-right\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(220),M=r(v),A=n(75),w=r(A),C=n(13),E=n(39),L=r(E),T={active:y.default.bool,disabled:y.default.bool,divider:(0,M.default)(y.default.bool,function(e){var t=e.divider,n=e.children;return t&&n?new Error(\"Children will not be rendered for dividers\"):null}),eventKey:y.default.any,header:y.default.bool,href:y.default.string,onClick:y.default.func,onSelect:y.default.func},O={divider:!1,disabled:!1,header:!1},S=function(e){function t(n,r){(0,l.default)(this,t);var o=(0,d.default)(this,e.call(this,n,r));return o.handleClick=o.handleClick.bind(o),o}return(0,p.default)(t,e),t.prototype.handleClick=function(e){var t=this.props,n=t.href,r=t.disabled,o=t.onSelect,i=t.eventKey;n&&!r||e.preventDefault(),r||o&&o(i,e)},t.prototype.render=function(){var e=this.props,t=e.active,n=e.disabled,r=e.divider,o=e.header,a=e.onClick,u=e.className,l=e.style,c=(0,s.default)(e,[\"active\",\"disabled\",\"divider\",\"header\",\"onClick\",\"className\",\"style\"]),d=(0,C.splitBsPropsAndOmit)(c,[\"eventKey\",\"onSelect\"]),f=d[0],p=d[1];return r?(p.children=void 0,_.default.createElement(\"li\",(0,i.default)({},p,{role:\"separator\",className:(0,m.default)(u,\"divider\"),style:l}))):o?_.default.createElement(\"li\",(0,i.default)({},p,{role:\"heading\",className:(0,m.default)(u,(0,C.prefix)(f,\"header\")),style:l})):_.default.createElement(\"li\",{role:\"presentation\",className:(0,m.default)(u,{active:t,disabled:n}),style:l},_.default.createElement(w.default,(0,i.default)({},p,{role:\"menuitem\",tabIndex:\"-1\",onClick:(0,L.default)(a,this.handleClick)})))},t}(_.default.Component);S.propTypes=T,S.defaultProps=O,t.default=(0,C.bsClass)(\"dropdown\",S),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(12),m=r(h),g=n(1166),_=r(g),b=n(80),y=r(b),v=n(74),M=r(v),A=n(287),w=r(A),C=n(1),E=r(C),L=n(5),T=r(L),O=n(29),S=r(O),N=n(1475),k=r(N),D=n(591),x=r(D),I=n(25),z=r(I),j=n(212),P=r(j),B=n(574),F=r(B),R=n(1446),W=r(R),Y=n(575),H=r(Y),q=n(576),U=r(q),X=n(577),V=r(X),G=n(13),$=n(39),K=r($),Q=n(213),Z=r(Q),J=n(40),ee=(0,p.default)({},k.default.propTypes,W.default.propTypes,{backdrop:T.default.oneOf([\"static\",!0,!1]),keyboard:T.default.bool,animation:T.default.bool,dialogComponentClass:z.default,autoFocus:T.default.bool,enforceFocus:T.default.bool,restoreFocus:T.default.bool,show:T.default.bool,onHide:T.default.func,onEnter:T.default.func,onEntering:T.default.func,onEntered:T.default.func,onExit:T.default.func,onExiting:T.default.func,onExited:T.default.func,container:k.default.propTypes.container}),te=(0,p.default)({},k.default.defaultProps,{animation:!0,dialogComponentClass:W.default}),ne={$bs_modal:T.default.shape({onHide:T.default.func})},re=function(e){function t(n,r){(0,s.default)(this,t);var o=(0,l.default)(this,e.call(this,n,r));return o.handleEntering=o.handleEntering.bind(o),o.handleExited=o.handleExited.bind(o),o.handleWindowResize=o.handleWindowResize.bind(o),o.handleDialogClick=o.handleDialogClick.bind(o),o.state={style:{}},o}return(0,d.default)(t,e),t.prototype.getChildContext=function(){return{$bs_modal:{onHide:this.props.onHide}}},t.prototype.componentWillUnmount=function(){this.handleExited()},t.prototype.handleEntering=function(){_.default.on(window,\"resize\",this.handleWindowResize),this.updateStyle()},t.prototype.handleExited=function(){_.default.off(window,\"resize\",this.handleWindowResize)},t.prototype.handleWindowResize=function(){this.updateStyle()},t.prototype.handleDialogClick=function(e){e.target===e.currentTarget&&this.props.onHide()},t.prototype.updateStyle=function(){if(M.default){var e=this._modal.getDialogElement(),t=e.scrollHeight,n=(0,y.default)(e),r=(0,x.default)(S.default.findDOMNode(this.props.container||n.body)),o=t>n.documentElement.clientHeight;this.setState({style:{paddingRight:r&&!o?(0,w.default)():void 0,paddingLeft:!r&&o?(0,w.default)():void 0}})}},t.prototype.render=function(){var e=this,n=this.props,r=n.backdrop,o=n.animation,a=n.show,s=n.dialogComponentClass,u=n.className,l=n.style,c=n.children,d=n.onEntering,f=n.onExited,h=(0,i.default)(n,[\"backdrop\",\"animation\",\"show\",\"dialogComponentClass\",\"className\",\"style\",\"children\",\"onEntering\",\"onExited\"]),g=(0,Z.default)(h,k.default),_=g[0],b=g[1],y=a&&!o&&\"in\";return E.default.createElement(k.default,(0,p.default)({},_,{ref:function(t){e._modal=t},show:a,onEntering:(0,K.default)(d,this.handleEntering),onExited:(0,K.default)(f,this.handleExited),backdrop:r,backdropClassName:(0,m.default)((0,G.prefix)(h,\"backdrop\"),y),containerClassName:(0,G.prefix)(h,\"open\"),transition:o?P.default:void 0,dialogTransitionTimeout:t.TRANSITION_DURATION,backdropTransitionTimeout:t.BACKDROP_TRANSITION_DURATION}),E.default.createElement(s,(0,p.default)({},b,{style:(0,p.default)({},this.state.style,l),className:(0,m.default)(u,y),onClick:r===!0?this.handleDialogClick:null}),c))},t}(E.default.Component);re.propTypes=ee,re.defaultProps=te,re.childContextTypes=ne,re.Body=F.default,re.Header=U.default,re.Title=V.default,re.Footer=H.default,re.Dialog=W.default,re.TRANSITION_DURATION=300,re.BACKDROP_TRANSITION_DURATION=150,t.default=(0,G.bsClass)(\"modal\",(0,G.bsSizes)([J.Size.LARGE,J.Size.SMALL],re)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(40),A={dialogClassName:y.default.string},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.dialogClassName,r=t.className,o=t.style,a=t.children,u=(0,s.default)(t,[\"dialogClassName\",\"className\",\"style\",\"children\"]),l=(0,v.splitBsProps)(u),c=l[0],d=l[1],f=(0,v.prefix)(c),p=(0,i.default)({display:\"block\"},o),h=(0,i.default)({},(0,v.getClassSet)(c),(e={},e[f]=!1,e[(0,v.prefix)(c,\"dialog\")]=!0,e));return _.default.createElement(\"div\",(0,i.default)({},d,{tabIndex:\"-1\",role:\"dialog\",style:p,className:(0,m.default)(r,f)}),_.default.createElement(\"div\",{className:(0,m.default)(n,h)},_.default.createElement(\"div\",{className:(0,v.prefix)(c,\"content\"),role:\"document\"},a)))},t}(_.default.Component);w.propTypes=A,t.default=(0,v.bsClass)(\"modal\",(0,v.bsSizes)([M.Size.LARGE,M.Size.SMALL],w)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(211),M=r(v),A=n(213),w=r(A),C=n(52),E=r(C),L=(0,p.default)({},M.default.propTypes,{title:y.default.node.isRequired,noCaret:y.default.bool,active:y.default.bool,children:y.default.node}),T=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.isActive=function(e,t,n){var r=e.props,o=this;return!!(r.active||null!=t&&r.eventKey===t||n&&r.href===n)||(!!E.default.some(r.children,function(e){return o.isActive(e,t,n)})||r.active)},t.prototype.render=function(){var e=this,t=this.props,n=t.title,r=t.activeKey,o=t.activeHref,a=t.className,s=t.style,u=t.children,l=(0,i.default)(t,[\"title\",\"activeKey\",\"activeHref\",\"className\",\"style\",\"children\"]),c=this.isActive(this,r,o);delete l.active,delete l.eventKey;var d=(0,w.default)(l,M.default.ControlledComponent),f=d[0],h=d[1];return _.default.createElement(M.default,(0,p.default)({},f,{componentClass:\"li\",className:(0,m.default)(a,{active:c}),style:s}),_.default.createElement(M.default.Toggle,(0,p.default)({},h,{useAnchor:!0}),n),_.default.createElement(M.default.Menu,null,E.default.map(u,function(t){return _.default.cloneElement(t,{active:e.isActive(t,r,o)})})))},t}(_.default.Component);T.propTypes=L,t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=function(e,n){var r=n.$bs_navbar,o=void 0===r?{bsClass:\"navbar\"}:r,i=e.componentClass,s=e.className,l=e.pullRight,c=e.pullLeft,d=(0,u.default)(e,[\"componentClass\",\"className\",\"pullRight\",\"pullLeft\"]);return b.default.createElement(i,(0,a.default)({},d,{className:(0,g.default)(s,(0,z.prefix)(o,t),l&&(0,z.prefix)(o,\"right\"),c&&(0,z.prefix)(o,\"left\"))}))};return r.displayName=n,r.propTypes={componentClass:A.default,pullRight:v.default.bool,pullLeft:v.default.bool},r.defaultProps={componentClass:e,pullRight:!1,pullLeft:!1},r.contextTypes={$bs_navbar:v.default.shape({bsClass:v.default.string})},r}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(12),g=r(m),_=n(1),b=r(_),y=n(5),v=r(y),M=n(25),A=r(M),w=n(226),C=r(w),E=n(572),L=r(E),T=n(580),O=r(T),S=n(1449),N=r(S),k=n(1450),D=r(k),x=n(1451),I=r(x),z=n(13),j=n(40),P=n(39),B=r(P),F={fixedTop:v.default.bool,fixedBottom:v.default.bool,staticTop:v.default.bool,inverse:v.default.bool,fluid:v.default.bool,componentClass:A.default,onToggle:v.default.func,onSelect:v.default.func,collapseOnSelect:v.default.bool,expanded:v.default.bool,role:v.default.string},R={componentClass:\"nav\",fixedTop:!1,fixedBottom:!1,staticTop:!1,inverse:!1,fluid:!1,collapseOnSelect:!1},W={$bs_navbar:v.default.shape({bsClass:v.default.string,expanded:v.default.bool,onToggle:v.default.func.isRequired,onSelect:v.default.func})},Y=function(e){function t(n,r){(0,c.default)(this,t);var o=(0,f.default)(this,e.call(this,n,r));return o.handleToggle=o.handleToggle.bind(o),o.handleCollapse=o.handleCollapse.bind(o),o}return(0,h.default)(t,e),t.prototype.getChildContext=function(){var e=this.props,t=e.bsClass,n=e.expanded,r=e.onSelect,o=e.collapseOnSelect;return{$bs_navbar:{bsClass:t,expanded:n,onToggle:this.handleToggle,onSelect:(0,B.default)(r,o?this.handleCollapse:null)}}},t.prototype.handleCollapse=function(){var e=this.props,t=e.onToggle,n=e.expanded;n&&t(!1);\n},t.prototype.handleToggle=function(){var e=this.props,t=e.onToggle,n=e.expanded;t(!n)},t.prototype.render=function(){var e,t=this.props,n=t.componentClass,r=t.fixedTop,o=t.fixedBottom,i=t.staticTop,s=t.inverse,l=t.fluid,c=t.className,d=t.children,f=(0,u.default)(t,[\"componentClass\",\"fixedTop\",\"fixedBottom\",\"staticTop\",\"inverse\",\"fluid\",\"className\",\"children\"]),p=(0,z.splitBsPropsAndOmit)(f,[\"expanded\",\"onToggle\",\"onSelect\",\"collapseOnSelect\"]),h=p[0],m=p[1];void 0===m.role&&\"nav\"!==n&&(m.role=\"navigation\"),s&&(h.bsStyle=j.Style.INVERSE);var _=(0,a.default)({},(0,z.getClassSet)(h),(e={},e[(0,z.prefix)(h,\"fixed-top\")]=r,e[(0,z.prefix)(h,\"fixed-bottom\")]=o,e[(0,z.prefix)(h,\"static-top\")]=i,e));return b.default.createElement(n,(0,a.default)({},m,{className:(0,g.default)(c,_)}),b.default.createElement(L.default,{fluid:l},d))},t}(b.default.Component);Y.propTypes=F,Y.defaultProps=R,Y.childContextTypes=W,(0,z.bsClass)(\"navbar\",Y);var H=(0,C.default)(Y,{expanded:\"onToggle\"});H.Brand=O.default,H.Header=D.default,H.Toggle=I.default,H.Collapse=N.default,H.Form=o(\"div\",\"form\",\"NavbarForm\"),H.Text=o(\"p\",\"text\",\"NavbarText\"),H.Link=o(\"a\",\"link\",\"NavbarLink\"),t.default=(0,z.bsStyles)([j.Style.DEFAULT,j.Style.INVERSE],j.Style.DEFAULT,H),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(305),y=r(b),v=n(13),M={$bs_navbar:_.default.shape({bsClass:_.default.string,expanded:_.default.bool})},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.children,n=(0,s.default)(e,[\"children\"]),r=this.context.$bs_navbar||{bsClass:\"navbar\"},o=(0,v.prefix)(r,\"collapse\");return m.default.createElement(y.default,(0,i.default)({in:r.expanded},n),m.default.createElement(\"div\",{className:o},t))},t}(m.default.Component);A.contextTypes=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={$bs_navbar:y.default.shape({bsClass:y.default.string})},A=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=this.context.$bs_navbar||{bsClass:\"navbar\"},o=(0,v.prefix)(r,\"header\");return _.default.createElement(\"div\",(0,i.default)({},n,{className:(0,m.default)(t,o)}))},t}(_.default.Component);A.contextTypes=M,t.default=A,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M=n(39),A=r(M),w={onClick:y.default.func,children:y.default.node},C={$bs_navbar:y.default.shape({bsClass:y.default.string,expanded:y.default.bool,onToggle:y.default.func.isRequired})},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.onClick,n=e.className,r=e.children,o=(0,s.default)(e,[\"onClick\",\"className\",\"children\"]),a=this.context.$bs_navbar||{bsClass:\"navbar\"},u=(0,i.default)({type:\"button\"},o,{onClick:(0,A.default)(t,a.onToggle),className:(0,m.default)(n,(0,v.prefix)(a,\"toggle\"),!a.expanded&&\"collapsed\")});return r?_.default.createElement(\"button\",u,r):_.default.createElement(\"button\",u,_.default.createElement(\"span\",{className:\"sr-only\"},\"Toggle navigation\"),_.default.createElement(\"span\",{className:\"icon-bar\"}),_.default.createElement(\"span\",{className:\"icon-bar\"}),_.default.createElement(\"span\",{className:\"icon-bar\"}))},t}(_.default.Component);E.propTypes=w,E.contextTypes=C,t.default=E,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){return Array.isArray(t)?t.indexOf(e)>=0:e===t}t.__esModule=!0;var i=n(11),a=r(i),s=n(6),u=r(s),l=n(8),c=r(l),d=n(7),f=r(d),p=n(9),h=r(p),m=n(89),g=r(m),_=n(1),b=r(_),y=n(5),v=r(y),M=n(29),A=r(M),w=n(47),C=(r(w),n(581)),E=r(C),L=n(39),T=r(L),O=v.default.oneOf([\"click\",\"hover\",\"focus\"]),S=(0,h.default)({},E.default.propTypes,{trigger:v.default.oneOfType([O,v.default.arrayOf(O)]),delay:v.default.number,delayShow:v.default.number,delayHide:v.default.number,defaultOverlayShown:v.default.bool,overlay:v.default.node.isRequired,onBlur:v.default.func,onClick:v.default.func,onFocus:v.default.func,onMouseOut:v.default.func,onMouseOver:v.default.func,target:v.default.oneOf([null]),onHide:v.default.oneOf([null]),show:v.default.oneOf([null])}),N={defaultOverlayShown:!1,trigger:[\"hover\",\"focus\"]},k=function(e){function t(n,r){(0,u.default)(this,t);var o=(0,c.default)(this,e.call(this,n,r));return o.handleToggle=o.handleToggle.bind(o),o.handleDelayedShow=o.handleDelayedShow.bind(o),o.handleDelayedHide=o.handleDelayedHide.bind(o),o.handleHide=o.handleHide.bind(o),o.handleMouseOver=function(e){return o.handleMouseOverOut(o.handleDelayedShow,e)},o.handleMouseOut=function(e){return o.handleMouseOverOut(o.handleDelayedHide,e)},o._mountNode=null,o.state={show:n.defaultOverlayShown},o}return(0,f.default)(t,e),t.prototype.componentDidMount=function(){this._mountNode=document.createElement(\"div\"),this.renderOverlay()},t.prototype.componentDidUpdate=function(){this.renderOverlay()},t.prototype.componentWillUnmount=function(){A.default.unmountComponentAtNode(this._mountNode),this._mountNode=null,clearTimeout(this._hoverShowDelay),clearTimeout(this._hoverHideDelay)},t.prototype.handleToggle=function(){this.state.show?this.hide():this.show()},t.prototype.handleDelayedShow=function(){var e=this;if(null!=this._hoverHideDelay)return clearTimeout(this._hoverHideDelay),void(this._hoverHideDelay=null);if(!this.state.show&&null==this._hoverShowDelay){var t=null!=this.props.delayShow?this.props.delayShow:this.props.delay;return t?void(this._hoverShowDelay=setTimeout(function(){e._hoverShowDelay=null,e.show()},t)):void this.show()}},t.prototype.handleDelayedHide=function(){var e=this;if(null!=this._hoverShowDelay)return clearTimeout(this._hoverShowDelay),void(this._hoverShowDelay=null);if(this.state.show&&null==this._hoverHideDelay){var t=null!=this.props.delayHide?this.props.delayHide:this.props.delay;return t?void(this._hoverHideDelay=setTimeout(function(){e._hoverHideDelay=null,e.hide()},t)):void this.hide()}},t.prototype.handleMouseOverOut=function(e,t){var n=t.currentTarget,r=t.relatedTarget||t.nativeEvent.toElement;r&&(r===n||(0,g.default)(n,r))||e(t)},t.prototype.handleHide=function(){this.hide()},t.prototype.show=function(){this.setState({show:!0})},t.prototype.hide=function(){this.setState({show:!1})},t.prototype.makeOverlay=function(e,t){return b.default.createElement(E.default,(0,h.default)({},t,{show:this.state.show,onHide:this.handleHide,target:this}),e)},t.prototype.renderOverlay=function(){A.default.unstable_renderSubtreeIntoContainer(this,this._overlay,this._mountNode)},t.prototype.render=function(){var e=this.props,t=e.trigger,n=e.overlay,r=e.children,i=e.onBlur,s=e.onClick,u=e.onFocus,l=e.onMouseOut,c=e.onMouseOver,d=(0,a.default)(e,[\"trigger\",\"overlay\",\"children\",\"onBlur\",\"onClick\",\"onFocus\",\"onMouseOut\",\"onMouseOver\"]);delete d.delay,delete d.delayShow,delete d.delayHide,delete d.defaultOverlayShown;var f=b.default.Children.only(r),p=f.props,h={};return this.state.show&&(h[\"aria-describedby\"]=n.props.id),h.onClick=(0,T.default)(p.onClick,s),o(\"click\",t)&&(h.onClick=(0,T.default)(h.onClick,this.handleToggle)),o(\"hover\",t)&&(h.onMouseOver=(0,T.default)(p.onMouseOver,c,this.handleMouseOver),h.onMouseOut=(0,T.default)(p.onMouseOut,l,this.handleMouseOut)),o(\"focus\",t)&&(h.onFocus=(0,T.default)(p.onFocus,u,this.handleDelayedShow),h.onBlur=(0,T.default)(p.onBlur,i,this.handleDelayedHide)),this._overlay=this.makeOverlay(n,d),(0,_.cloneElement)(f,h)},t}(b.default.Component);k.propTypes=S,k.defaultProps=N,t.default=k,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=e.children,r=(0,s.default)(e,[\"className\",\"children\"]),o=(0,b.splitBsProps)(r),a=o[0],u=o[1],l=(0,b.getClassSet)(a);return _.default.createElement(\"div\",(0,i.default)({},u,{className:(0,m.default)(t,l)}),_.default.createElement(\"h1\",null,n))},t}(_.default.Component);t.default=(0,b.bsClass)(\"page-header\",y),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(582),i=r(o),a=n(1473),s=r(a);t.default=s.default.wrapper(i.default,\"`<PageItem>`\",\"`<Pager.Item>`\"),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(582),M=r(v),A=n(13),w=n(39),C=r(w),E=n(52),L=r(E),T={onSelect:y.default.func},O=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.onSelect,n=e.className,r=e.children,o=(0,s.default)(e,[\"onSelect\",\"className\",\"children\"]),a=(0,A.splitBsProps)(o),u=a[0],l=a[1],c=(0,A.getClassSet)(u);return _.default.createElement(\"ul\",(0,i.default)({},l,{className:(0,m.default)(n,c)}),L.default.map(r,function(e){return(0,g.cloneElement)(e,{onSelect:(0,C.default)(e.props.onSelect,t)})}))},t}(_.default.Component);O.propTypes=T,O.Item=M.default,t.default=(0,A.bsClass)(\"pager\",O),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(9),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(25),M=r(v),A=n(583),w=r(A),C=n(13),E={activePage:y.default.number,items:y.default.number,maxButtons:y.default.number,boundaryLinks:y.default.bool,ellipsis:y.default.oneOfType([y.default.bool,y.default.node]),first:y.default.oneOfType([y.default.bool,y.default.node]),last:y.default.oneOfType([y.default.bool,y.default.node]),prev:y.default.oneOfType([y.default.bool,y.default.node]),next:y.default.oneOfType([y.default.bool,y.default.node]),onSelect:y.default.func,buttonComponentClass:M.default},L={activePage:1,items:1,maxButtons:0,first:!1,last:!1,prev:!1,next:!1,ellipsis:!0,boundaryLinks:!1},T=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.renderPageButtons=function(e,t,n,r,o,i){var a=[],u=void 0,l=void 0;n&&n<t?(u=Math.max(Math.min(e-Math.floor(n/2,10),t-n+1),1),l=u+n-1):(u=1,l=t);for(var c=u;c<=l;++c)a.push(_.default.createElement(w.default,(0,s.default)({},i,{key:c,eventKey:c,active:c===e}),c));return o&&r&&u>1&&(u>2&&a.unshift(_.default.createElement(w.default,{key:\"ellipsisFirst\",disabled:!0,componentClass:i.componentClass},_.default.createElement(\"span\",{\"aria-label\":\"More\"},o===!0?\"…\":o))),a.unshift(_.default.createElement(w.default,(0,s.default)({},i,{key:1,eventKey:1,active:!1}),\"1\"))),o&&l<t&&((!r||l<t-1)&&a.push(_.default.createElement(w.default,{key:\"ellipsis\",disabled:!0,componentClass:i.componentClass},_.default.createElement(\"span\",{\"aria-label\":\"More\"},o===!0?\"…\":o))),r&&a.push(_.default.createElement(w.default,(0,s.default)({},i,{key:t,eventKey:t,active:!1}),t))),a},t.prototype.render=function(){var e=this.props,t=e.activePage,n=e.items,r=e.maxButtons,o=e.boundaryLinks,a=e.ellipsis,u=e.first,l=e.last,c=e.prev,d=e.next,f=e.onSelect,p=e.buttonComponentClass,h=e.className,g=(0,i.default)(e,[\"activePage\",\"items\",\"maxButtons\",\"boundaryLinks\",\"ellipsis\",\"first\",\"last\",\"prev\",\"next\",\"onSelect\",\"buttonComponentClass\",\"className\"]),b=(0,C.splitBsProps)(g),y=b[0],v=b[1],M=(0,C.getClassSet)(y),A={onSelect:f,componentClass:p};return _.default.createElement(\"ul\",(0,s.default)({},v,{className:(0,m.default)(h,M)}),u&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:1,disabled:1===t}),_.default.createElement(\"span\",{\"aria-label\":\"First\"},u===!0?\"«\":u)),c&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:t-1,disabled:1===t}),_.default.createElement(\"span\",{\"aria-label\":\"Previous\"},c===!0?\"‹\":c)),this.renderPageButtons(t,n,r,o,a,A),d&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:t+1,disabled:t>=n}),_.default.createElement(\"span\",{\"aria-label\":\"Next\"},d===!0?\"›\":d)),l&&_.default.createElement(w.default,(0,s.default)({},A,{eventKey:n,disabled:t>=n}),_.default.createElement(\"span\",{\"aria-label\":\"Last\"},l===!0?\"»\":l)))},t}(_.default.Component);T.propTypes=E,T.defaultProps=L,t.default=(0,C.bsClass)(\"pagination\",T),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(121),i=r(o),a=n(11),s=r(a),u=n(9),l=r(u),c=n(6),d=r(c),f=n(8),p=r(f),h=n(7),m=r(h),g=n(12),_=r(g),b=n(1),y=r(b),v=n(5),M=r(v),A=n(305),w=r(A),C=n(13),E=n(40),L={collapsible:M.default.bool,onSelect:M.default.func,header:M.default.node,id:M.default.oneOfType([M.default.string,M.default.number]),footer:M.default.node,defaultExpanded:M.default.bool,expanded:M.default.bool,eventKey:M.default.any,headerRole:M.default.string,panelRole:M.default.string,onEnter:M.default.func,onEntering:M.default.func,onEntered:M.default.func,onExit:M.default.func,onExiting:M.default.func,onExited:M.default.func},T={defaultExpanded:!1},O=function(e){function t(n,r){(0,d.default)(this,t);var o=(0,p.default)(this,e.call(this,n,r));return o.handleClickTitle=o.handleClickTitle.bind(o),o.state={expanded:o.props.defaultExpanded},o}return(0,m.default)(t,e),t.prototype.handleClickTitle=function(e){e.persist(),e.selected=!0,this.props.onSelect?this.props.onSelect(this.props.eventKey,e):e.preventDefault(),e.selected&&this.setState({expanded:!this.state.expanded})},t.prototype.renderHeader=function(e,t,n,r,o,i){var a=(0,C.prefix)(i,\"title\");return e?y.default.isValidElement(t)?(0,b.cloneElement)(t,{className:(0,_.default)(t.props.className,a),children:this.renderAnchor(t.props.children,n,r,o)}):y.default.createElement(\"h4\",{role:\"presentation\",className:a},this.renderAnchor(t,n,r,o)):y.default.isValidElement(t)?(0,b.cloneElement)(t,{className:(0,_.default)(t.props.className,a)}):t},t.prototype.renderAnchor=function(e,t,n,r){return y.default.createElement(\"a\",{role:n,href:t&&\"#\"+t,onClick:this.handleClickTitle,\"aria-controls\":t,\"aria-expanded\":r,\"aria-selected\":r,className:r?null:\"collapsed\"},e)},t.prototype.renderCollapsibleBody=function(e,t,n,r,o,i){return y.default.createElement(w.default,(0,l.default)({in:t},i),y.default.createElement(\"div\",{id:e,role:n,className:(0,C.prefix)(o,\"collapse\"),\"aria-hidden\":!t},this.renderBody(r,o)))},t.prototype.renderBody=function(e,t){function n(){o.length&&(r.push(y.default.createElement(\"div\",{key:r.length,className:i},o)),o=[])}var r=[],o=[],i=(0,C.prefix)(t,\"body\");return y.default.Children.toArray(e).forEach(function(e){return y.default.isValidElement(e)&&e.props.fill?(n(),void r.push((0,b.cloneElement)(e,{fill:void 0}))):void o.push(e)}),n(),r},t.prototype.render=function(){var e=this.props,t=e.collapsible,n=e.header,r=e.id,o=e.footer,i=e.expanded,a=e.headerRole,u=e.panelRole,c=e.className,d=e.children,f=e.onEnter,p=e.onEntering,h=e.onEntered,m=e.onExit,g=e.onExiting,b=e.onExited,v=(0,s.default)(e,[\"collapsible\",\"header\",\"id\",\"footer\",\"expanded\",\"headerRole\",\"panelRole\",\"className\",\"children\",\"onEnter\",\"onEntering\",\"onEntered\",\"onExit\",\"onExiting\",\"onExited\"]),M=(0,C.splitBsPropsAndOmit)(v,[\"defaultExpanded\",\"eventKey\",\"onSelect\"]),A=M[0],w=M[1],E=null!=i?i:this.state.expanded,L=(0,C.getClassSet)(A);return y.default.createElement(\"div\",(0,l.default)({},w,{className:(0,_.default)(c,L),id:t?null:r}),n&&y.default.createElement(\"div\",{className:(0,C.prefix)(A,\"heading\")},this.renderHeader(t,n,r,a,E,A)),t?this.renderCollapsibleBody(r,E,u,d,A,{onEnter:f,onEntering:p,onEntered:h,onExit:m,onExiting:g,onExited:b}):this.renderBody(d,A),o&&y.default.createElement(\"div\",{className:(0,C.prefix)(A,\"footer\")},o))},t}(y.default.Component);O.propTypes=L,O.defaultProps=T,t.default=(0,C.bsClass)(\"panel\",(0,C.bsStyles)([].concat((0,i.default)(E.State),[E.Style.DEFAULT,E.Style.PRIMARY]),E.Style.DEFAULT,O)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(221),M=r(v),A=n(13),w={id:(0,M.default)(y.default.oneOfType([y.default.string,y.default.number])),placement:y.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),positionTop:y.default.oneOfType([y.default.number,y.default.string]),positionLeft:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetTop:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetLeft:y.default.oneOfType([y.default.number,y.default.string]),title:y.default.node},C={placement:\"right\"},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.placement,r=t.positionTop,o=t.positionLeft,a=t.arrowOffsetTop,u=t.arrowOffsetLeft,l=t.title,c=t.className,d=t.style,f=t.children,p=(0,s.default)(t,[\"placement\",\"positionTop\",\"positionLeft\",\"arrowOffsetTop\",\"arrowOffsetLeft\",\"title\",\"className\",\"style\",\"children\"]),h=(0,A.splitBsProps)(p),g=h[0],b=h[1],y=(0,i.default)({},(0,A.getClassSet)(g),(e={},e[n]=!0,e)),v=(0,i.default)({display:\"block\",top:r,left:o},d),M={top:a,left:u};return _.default.createElement(\"div\",(0,i.default)({},b,{role:\"tooltip\",className:(0,m.default)(c,y),style:v}),_.default.createElement(\"div\",{className:\"arrow\",style:M}),l&&_.default.createElement(\"h3\",{className:(0,A.prefix)(g,\"title\")},l),_.default.createElement(\"div\",{className:(0,A.prefix)(g,\"content\")},f))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"popover\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=e[t];if(!r)return null;var o=null;return M.default.Children.forEach(r,function(e){if(!o&&e.type!==k){var t=M.default.isValidElement(e)?e.type.displayName||e.type.name||e.type:e;o=new Error(\"Children of \"+n+\" can contain only ProgressBar \"+(\"components. Found \"+t+\".\"))}}),o}function i(e,t,n){var r=(e-t)/(n-t)*100;return Math.round(r*O)/O}t.__esModule=!0;var a=n(121),s=r(a),u=n(9),l=r(u),c=n(11),d=r(c),f=n(6),p=r(f),h=n(8),m=r(h),g=n(7),_=r(g),b=n(12),y=r(b),v=n(1),M=r(v),A=n(5),w=r(A),C=n(13),E=n(40),L=n(52),T=r(L),O=1e3,S={min:w.default.number,now:w.default.number,max:w.default.number,label:w.default.node,srOnly:w.default.bool,striped:w.default.bool,active:w.default.bool,children:o,isChild:w.default.bool},N={min:0,max:100,active:!1,isChild:!1,srOnly:!1,striped:!1},k=function(e){function t(){return(0,p.default)(this,t),(0,m.default)(this,e.apply(this,arguments))}return(0,_.default)(t,e),t.prototype.renderProgressBar=function(e){var t,n=e.min,r=e.now,o=e.max,a=e.label,s=e.srOnly,u=e.striped,c=e.active,f=e.className,p=e.style,h=(0,d.default)(e,[\"min\",\"now\",\"max\",\"label\",\"srOnly\",\"striped\",\"active\",\"className\",\"style\"]),m=(0,C.splitBsProps)(h),g=m[0],_=m[1],b=(0,l.default)({},(0,C.getClassSet)(g),(t={active:c},t[(0,C.prefix)(g,\"striped\")]=c||u,t));return M.default.createElement(\"div\",(0,l.default)({},_,{role:\"progressbar\",className:(0,y.default)(f,b),style:(0,l.default)({width:i(r,n,o)+\"%\"},p),\"aria-valuenow\":r,\"aria-valuemin\":n,\"aria-valuemax\":o}),s?M.default.createElement(\"span\",{className:\"sr-only\"},a):a)},t.prototype.render=function(){var e=this.props,t=e.isChild,n=(0,d.default)(e,[\"isChild\"]);if(t)return this.renderProgressBar(n);var r=n.min,o=n.now,i=n.max,a=n.label,s=n.srOnly,u=n.striped,c=n.active,f=n.bsClass,p=n.bsStyle,h=n.className,m=n.children,g=(0,d.default)(n,[\"min\",\"now\",\"max\",\"label\",\"srOnly\",\"striped\",\"active\",\"bsClass\",\"bsStyle\",\"className\",\"children\"]);return M.default.createElement(\"div\",(0,l.default)({},g,{className:(0,y.default)(h,\"progress\")}),m?T.default.map(m,function(e){return(0,v.cloneElement)(e,{isChild:!0})}):this.renderProgressBar({min:r,now:o,max:i,label:a,srOnly:s,striped:u,active:c,bsClass:f,bsStyle:p}))},t}(M.default.Component);k.propTypes=S,k.defaultProps=N,t.default=(0,C.bsClass)(\"progress-bar\",(0,C.bsStyles)((0,s.default)(E.State),k)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={inline:y.default.bool,disabled:y.default.bool,validationState:y.default.oneOf([\"success\",\"warning\",\"error\",null]),inputRef:y.default.func},w={inline:!1,disabled:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.inline,n=e.disabled,r=e.validationState,o=e.inputRef,a=e.className,u=e.style,l=e.children,c=(0,s.default)(e,[\"inline\",\"disabled\",\"validationState\",\"inputRef\",\"className\",\"style\",\"children\"]),d=(0,M.splitBsProps)(c),f=d[0],p=d[1],h=_.default.createElement(\"input\",(0,i.default)({},p,{ref:o,type:\"radio\",disabled:n}));if(t){var g,b=(g={},g[(0,M.prefix)(f,\"inline\")]=!0,g.disabled=n,g);return _.default.createElement(\"label\",{className:(0,m.default)(a,b),style:u},h,l)}var y=(0,i.default)({},(0,M.getClassSet)(f),{disabled:n});return r&&(y[\"has-\"+r]=!0),_.default.createElement(\"div\",{className:(0,m.default)(a,y),style:u},_.default.createElement(\"label\",null,h,l))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=(0,M.bsClass)(\"radio\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(47),M=(r(v),n(13)),A={children:y.default.element.isRequired,a16by9:y.default.bool,a4by3:y.default.bool},w={a16by9:!1,a4by3:!1},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.a16by9,r=t.a4by3,o=t.className,a=t.children,u=(0,s.default)(t,[\"a16by9\",\"a4by3\",\"className\",\"children\"]),l=(0,M.splitBsProps)(u),c=l[0],d=l[1],f=(0,i.default)({},(0,M.getClassSet)(c),(e={},e[(0,M.prefix)(c,\"16by9\")]=n,e[(0,M.prefix)(c,\"4by3\")]=r,e));return _.default.createElement(\"div\",{className:(0,m.default)(f)},(0,g.cloneElement)(a,(0,i.default)({},d,{className:(0,m.default)(o,(0,M.prefix)(c,\"item\"))})))},t}(_.default.Component);C.propTypes=A,C.defaultProps=w,t.default=(0,M.bsClass)(\"embed-responsive\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(25),y=r(b),v=n(13),M={componentClass:y.default},A={componentClass:\"div\"},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.componentClass,n=e.className,r=(0,s.default)(e,[\"componentClass\",\"className\"]),o=(0,v.splitBsProps)(r),a=o[0],u=o[1],l=(0,v.getClassSet)(a);return _.default.createElement(t,(0,i.default)({},u,{className:(0,m.default)(n,l)}))},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"row\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(11),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(9),p=r(f),h=n(1),m=r(h),g=n(5),_=r(g),b=n(166),y=r(b),v=n(211),M=r(v),A=n(1464),w=r(A),C=n(213),E=r(C),L=(0,p.default)({},M.default.propTypes,{bsStyle:_.default.string,bsSize:_.default.string,href:_.default.string,onClick:_.default.func,title:_.default.node.isRequired,toggleLabel:_.default.string,children:_.default.node}),T=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.bsSize,n=e.bsStyle,r=e.title,o=e.toggleLabel,a=e.children,s=(0,i.default)(e,[\"bsSize\",\"bsStyle\",\"title\",\"toggleLabel\",\"children\"]),u=(0,E.default)(s,M.default.ControlledComponent),l=u[0],c=u[1];return m.default.createElement(M.default,(0,p.default)({},l,{bsSize:t,bsStyle:n}),m.default.createElement(y.default,(0,p.default)({},c,{disabled:s.disabled,bsSize:t,bsStyle:n}),r),m.default.createElement(w.default,{\"aria-label\":o||r,bsSize:t,bsStyle:n}),m.default.createElement(M.default.Menu,null,a))},t}(m.default.Component);T.propTypes=L,T.Toggle=w.default,t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(1),p=r(f),h=n(571),m=r(h),g=function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.render=function(){return p.default.createElement(m.default,(0,i.default)({},this.props,{useAnchor:!1,noCaret:!1}))},t}(p.default.Component);g.defaultProps=m.default.defaultProps,t.default=g,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(6),i=r(o),a=n(8),s=r(a),u=n(7),l=r(u),c=n(9),d=r(c),f=n(1),p=r(f),h=n(5),m=r(h),g=n(308),_=r(g),b=n(309),y=r(b),v=n(585),M=r(v),A=(0,d.default)({},M.default.propTypes,{disabled:m.default.bool,title:m.default.node,tabClassName:m.default.string}),w=function(e){function t(){return(0,i.default)(this,t),(0,s.default)(this,e.apply(this,arguments))}return(0,l.default)(t,e),t.prototype.render=function(){var e=(0,d.default)({},this.props);return delete e.title,delete e.disabled,delete e.tabClassName,p.default.createElement(M.default,e)},t}(p.default.Component);w.propTypes=A,w.Container=_.default,w.Content=y.default,w.Pane=M.default,t.default=w,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(13),M={striped:y.default.bool,bordered:y.default.bool,condensed:y.default.bool,hover:y.default.bool,responsive:y.default.bool},A={bordered:!1,condensed:!1,hover:!1,responsive:!1,striped:!1},w=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.striped,r=t.bordered,o=t.condensed,a=t.hover,u=t.responsive,l=t.className,c=(0,s.default)(t,[\"striped\",\"bordered\",\"condensed\",\"hover\",\"responsive\",\"className\"]),d=(0,v.splitBsProps)(c),f=d[0],p=d[1],h=(0,i.default)({},(0,v.getClassSet)(f),(e={},e[(0,v.prefix)(f,\"striped\")]=n,e[(0,v.prefix)(f,\"bordered\")]=r,e[(0,v.prefix)(f,\"condensed\")]=o,e[(0,v.prefix)(f,\"hover\")]=a,e)),g=_.default.createElement(\"table\",(0,i.default)({},p,{className:(0,m.default)(l,h)}));return u?_.default.createElement(\"div\",{className:(0,v.prefix)(f,\"responsive\")},g):g},t}(_.default.Component);w.propTypes=M,w.defaultProps=A,t.default=(0,v.bsClass)(\"table\",w),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=void 0;return x.default.forEach(e,function(e){null==t&&(t=e.props.eventKey)}),t}t.__esModule=!0;var i=n(9),a=r(i),s=n(11),u=r(s),l=n(6),c=r(l),d=n(8),f=r(d),p=n(7),h=r(p),m=n(1),g=r(m),_=n(5),b=r(_),y=n(221),v=r(y),M=n(226),A=r(M),w=n(578),C=r(w),E=n(579),L=r(E),T=n(308),O=r(T),S=n(309),N=r(S),k=n(13),D=n(52),x=r(D),I=O.default.ControlledComponent,z={activeKey:b.default.any,bsStyle:b.default.oneOf([\"tabs\",\"pills\"]),animation:b.default.bool,id:(0,v.default)(b.default.oneOfType([b.default.string,b.default.number])),onSelect:b.default.func,mountOnEnter:b.default.bool,unmountOnExit:b.default.bool},j={bsStyle:\"tabs\",animation:!0,mountOnEnter:!1,unmountOnExit:!1},P=function(e){function t(){return(0,c.default)(this,t),(0,f.default)(this,e.apply(this,arguments))}return(0,h.default)(t,e),t.prototype.renderTab=function(e){var t=e.props,n=t.title,r=t.eventKey,o=t.disabled,i=t.tabClassName;return null==n?null:g.default.createElement(L.default,{eventKey:r,disabled:o,className:i},n)},t.prototype.render=function(){var e=this.props,t=e.id,n=e.onSelect,r=e.animation,i=e.mountOnEnter,s=e.unmountOnExit,l=e.bsClass,c=e.className,d=e.style,f=e.children,p=e.activeKey,h=void 0===p?o(f):p,m=(0,u.default)(e,[\"id\",\"onSelect\",\"animation\",\"mountOnEnter\",\"unmountOnExit\",\"bsClass\",\"className\",\"style\",\"children\",\"activeKey\"]);return g.default.createElement(I,{id:t,activeKey:h,onSelect:n,className:c,style:d},g.default.createElement(\"div\",null,g.default.createElement(C.default,(0,a.default)({},m,{role:\"tablist\"}),x.default.map(f,this.renderTab)),g.default.createElement(N.default,{bsClass:l,animation:r,mountOnEnter:i,unmountOnExit:s},f)))},t}(g.default.Component);P.propTypes=z,P.defaultProps=j,(0,k.bsClass)(\"tab\",P),t.default=(0,A.default)(P,{activeKey:\"onSelect\"}),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(75),M=r(v),A=n(13),w={src:y.default.string,alt:y.default.string,href:y.default.string},C=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.src,n=e.alt,r=e.className,o=e.children,a=(0,s.default)(e,[\"src\",\"alt\",\"className\",\"children\"]),u=(0,A.splitBsProps)(a),l=u[0],c=u[1],d=c.href?M.default:\"div\",f=(0,A.getClassSet)(l);return _.default.createElement(d,(0,i.default)({},c,{className:(0,m.default)(r,f)}),_.default.createElement(\"img\",{src:t,alt:n}),o&&_.default.createElement(\"div\",{className:\"caption\"},o))},t}(_.default.Component);C.propTypes=w,t.default=(0,A.bsClass)(\"thumbnail\",C),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(5),y=r(b),v=n(221),M=r(v),A=n(13),w={id:(0,M.default)(y.default.oneOfType([y.default.string,y.default.number])),placement:y.default.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),positionTop:y.default.oneOfType([y.default.number,y.default.string]),positionLeft:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetTop:y.default.oneOfType([y.default.number,y.default.string]),arrowOffsetLeft:y.default.oneOfType([y.default.number,y.default.string])},C={placement:\"right\"},E=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e,t=this.props,n=t.placement,r=t.positionTop,o=t.positionLeft,a=t.arrowOffsetTop,u=t.arrowOffsetLeft,l=t.className,c=t.style,d=t.children,f=(0,s.default)(t,[\"placement\",\"positionTop\",\"positionLeft\",\"arrowOffsetTop\",\"arrowOffsetLeft\",\"className\",\"style\",\"children\"]),p=(0,A.splitBsProps)(f),h=p[0],g=p[1],b=(0,i.default)({},(0,A.getClassSet)(h),(e={},\ne[n]=!0,e)),y=(0,i.default)({top:r,left:o},c),v={top:a,left:u};return _.default.createElement(\"div\",(0,i.default)({},g,{role:\"tooltip\",className:(0,m.default)(l,b),style:y}),_.default.createElement(\"div\",{className:(0,A.prefix)(h,\"arrow\"),style:v}),_.default.createElement(\"div\",{className:(0,A.prefix)(h,\"inner\")},d))},t}(_.default.Component);E.propTypes=w,E.defaultProps=C,t.default=(0,A.bsClass)(\"tooltip\",E),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(9),i=r(o),a=n(11),s=r(a),u=n(6),l=r(u),c=n(8),d=r(c),f=n(7),p=r(f),h=n(12),m=r(h),g=n(1),_=r(g),b=n(13),y=n(40),v=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,e.apply(this,arguments))}return(0,p.default)(t,e),t.prototype.render=function(){var e=this.props,t=e.className,n=(0,s.default)(e,[\"className\"]),r=(0,b.splitBsProps)(n),o=r[0],a=r[1],u=(0,b.getClassSet)(o);return _.default.createElement(\"div\",(0,i.default)({},a,{className:(0,m.default)(t,u)}))},t}(_.default.Component);t.default=(0,b.bsClass)(\"well\",(0,b.bsSizes)([y.Size.LARGE,y.Size.SMALL],v)),e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.default)(function(e,n,r){var o=void 0;return t.every(function(t){return!!l.default.some(e.children,function(e){return e.props.bsRole===t})||(o=t,!1)}),o?new Error(\"(children) \"+r+\" - Missing a required child with bsRole: \"+(o+\". \"+r+\" must have at least one child of each of \")+(\"the following bsRoles: \"+t.join(\", \"))):null})}function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return(0,s.default)(function(e,n,r){var o=void 0;return t.every(function(t){var n=l.default.filter(e.children,function(e){return e.props.bsRole===t});return!(n.length>1)||(o=t,!1)}),o?new Error(\"(children) \"+r+\" - Duplicate children detected of bsRole: \"+(o+\". Only one child each allowed with the following \")+(\"bsRoles: \"+t.join(\", \"))):null})}t.__esModule=!0,t.requiredRoles=o,t.exclusiveRoles=i;var a=n(222),s=r(a),u=n(52),l=r(u)},function(e,t){\"use strict\";function n(){var e=document.createElement(\"div\"),t=e.style;\"AnimationEvent\"in window||delete a.animationend.animation,\"TransitionEvent\"in window||delete a.transitionend.transition;for(var n in a){var r=a[n];for(var o in r)if(o in t){s.push(r[o]);break}}}function r(e,t,n){e.addEventListener(t,n,!1)}function o(e,t,n){e.removeEventListener(t,n,!1)}t.__esModule=!0;var i=!(\"undefined\"==typeof window||!window.document||!window.document.createElement),a={transitionend:{transition:\"transitionend\",WebkitTransition:\"webkitTransitionEnd\",MozTransition:\"mozTransitionEnd\",OTransition:\"oTransitionEnd\",msTransition:\"MSTransitionEnd\"},animationend:{animation:\"animationend\",WebkitAnimation:\"webkitAnimationEnd\",MozAnimation:\"mozAnimationEnd\",OAnimation:\"oAnimationEnd\",msAnimation:\"MSAnimationEnd\"}},s=[];i&&n();var u={addEndEventListener:function(e,t){return 0===s.length?void window.setTimeout(t,0):void s.forEach(function(n){r(e,n,t)})},removeEndEventListener:function(e,t){0!==s.length&&s.forEach(function(n){o(e,n,t)})}};t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r=void 0;\"object\"===(\"undefined\"==typeof e?\"undefined\":(0,p.default)(e))?r=e.message:(r=e+\" is deprecated. Use \"+t+\" instead.\",n&&(r+=\"\\nYou can read more about it at \"+n)),m[r]||(m[r]=!0)}function i(){m={}}t.__esModule=!0;var a=n(6),s=r(a),u=n(8),l=r(u),c=n(7),d=r(c),f=n(242),p=r(f);t._resetWarned=i;var h=n(47),m=(r(h),{});o.wrapper=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(e){function t(){return(0,s.default)(this,t),(0,l.default)(this,e.apply(this,arguments))}return(0,d.default)(t,e),t.prototype.componentWillMount=function(){if(o.apply(void 0,n),e.prototype.componentWillMount){for(var t,r=arguments.length,i=Array(r),a=0;a<r;a++)i[a]=arguments[a];(t=e.prototype.componentWillMount).call.apply(t,[this].concat(i))}},t}(e)},t.default=o},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}t.__esModule=!0,t.ValidComponentChildren=t.createChainedFunction=t.bootstrapUtils=void 0;var i=n(13),a=o(i),s=n(39),u=r(s),l=n(52),c=r(l);t.bootstrapUtils=a,t.createChainedFunction=u.default,t.ValidComponentChildren=c.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(47),u=r(s),l=n(328),c=r(l),d=n(25),f=r(d),p=n(587),h=r(p),m=n(1476),g=r(m),_=n(167),b=r(_),y=n(590),v=r(y),M=n(1479),A=r(M),w=n(74),C=r(w),E=n(286),L=r(E),T=n(89),O=r(T),S=n(310),N=r(S),k=new g.default,D=a.default.createClass({displayName:\"Modal\",propTypes:o({},h.default.propTypes,{show:a.default.PropTypes.bool,container:a.default.PropTypes.oneOfType([c.default,a.default.PropTypes.func]),onShow:a.default.PropTypes.func,onHide:a.default.PropTypes.func,backdrop:a.default.PropTypes.oneOfType([a.default.PropTypes.bool,a.default.PropTypes.oneOf([\"static\"])]),renderBackdrop:a.default.PropTypes.func,onEscapeKeyUp:a.default.PropTypes.func,onBackdropClick:a.default.PropTypes.func,backdropStyle:a.default.PropTypes.object,backdropClassName:a.default.PropTypes.string,containerClassName:a.default.PropTypes.string,keyboard:a.default.PropTypes.bool,transition:f.default,dialogTransitionTimeout:a.default.PropTypes.number,backdropTransitionTimeout:a.default.PropTypes.number,autoFocus:a.default.PropTypes.bool,enforceFocus:a.default.PropTypes.bool,restoreFocus:a.default.PropTypes.bool,onEnter:a.default.PropTypes.func,onEntering:a.default.PropTypes.func,onEntered:a.default.PropTypes.func,onExit:a.default.PropTypes.func,onExiting:a.default.PropTypes.func,onExited:a.default.PropTypes.func,manager:a.default.PropTypes.object.isRequired}),getDefaultProps:function(){var e=function(){};return{show:!1,backdrop:!0,keyboard:!0,autoFocus:!0,enforceFocus:!0,restoreFocus:!0,onHide:e,manager:k,renderBackdrop:function(e){return a.default.createElement(\"div\",e)}}},omitProps:function(e,t){var n=Object.keys(e),r={};return n.map(function(n){Object.prototype.hasOwnProperty.call(t,n)||(r[n]=e[n])}),r},getInitialState:function(){return{exited:!this.props.show}},render:function(){var e=this.props,t=e.show,n=e.container,r=e.children,s=e.transition,u=e.backdrop,l=e.dialogTransitionTimeout,c=e.className,d=e.style,f=e.onExit,p=e.onExiting,m=e.onEnter,g=e.onEntering,_=e.onEntered,b=a.default.Children.only(r),y=this.omitProps(this.props,D.propTypes),v=t||s&&!this.state.exited;if(!v)return null;var M=b.props,A=M.role,w=M.tabIndex;return void 0!==A&&void 0!==w||(b=(0,i.cloneElement)(b,{role:void 0===A?\"document\":A,tabIndex:null==w?\"-1\":w})),s&&(b=a.default.createElement(s,{transitionAppear:!0,unmountOnExit:!0,in:t,timeout:l,onExit:f,onExiting:p,onExited:this.handleHidden,onEnter:m,onEntering:g,onEntered:_},b)),a.default.createElement(h.default,{ref:this.setMountNode,container:n},a.default.createElement(\"div\",o({ref:\"modal\",role:A||\"dialog\"},y,{style:d,className:c}),u&&this.renderBackdrop(),b))},renderBackdrop:function e(){var t=this,n=this.props,r=n.backdropStyle,o=n.backdropClassName,e=n.renderBackdrop,i=n.transition,s=n.backdropTransitionTimeout,u=function(e){return t.backdrop=e},l=a.default.createElement(\"div\",{ref:u,style:this.props.backdropStyle,className:this.props.backdropClassName,onClick:this.handleBackdropClick});return i&&(l=a.default.createElement(i,{transitionAppear:!0,in:this.props.show,timeout:s},e({ref:u,style:r,className:o,onClick:this.handleBackdropClick}))),l},componentWillReceiveProps:function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})},componentWillUpdate:function(e){!this.props.show&&e.show&&this.checkForFocus()},componentDidMount:function(){this.props.show&&this.onShow()},componentDidUpdate:function(e){var t=this.props.transition;!e.show||this.props.show||t?!e.show&&this.props.show&&this.onShow():this.onHide()},componentWillUnmount:function(){var e=this.props,t=e.show,n=e.transition;(t||n&&!this.state.exited)&&this.onHide()},onShow:function(){var e=(0,b.default)(this),t=(0,N.default)(this.props.container,e.body);this.props.manager.add(this,t,this.props.containerClassName),this._onDocumentKeyupListener=(0,v.default)(e,\"keyup\",this.handleDocumentKeyUp),this._onFocusinListener=(0,A.default)(this.enforceFocus),this.focus(),this.props.onShow&&this.props.onShow()},onHide:function(){this.props.manager.remove(this),this._onDocumentKeyupListener.remove(),this._onFocusinListener.remove(),this.props.restoreFocus&&this.restoreLastFocus()},setMountNode:function(e){this.mountNode=e?e.getMountNode():e},handleHidden:function(){if(this.setState({exited:!0}),this.onHide(),this.props.onExited){var e;(e=this.props).onExited.apply(e,arguments)}},handleBackdropClick:function(e){e.target===e.currentTarget&&(this.props.onBackdropClick&&this.props.onBackdropClick(e),this.props.backdrop===!0&&this.props.onHide())},handleDocumentKeyUp:function(e){this.props.keyboard&&27===e.keyCode&&this.isTopModal()&&(this.props.onEscapeKeyUp&&this.props.onEscapeKeyUp(e),this.props.onHide())},checkForFocus:function(){C.default&&(this.lastFocus=(0,L.default)())},focus:function(){var e=this.props.autoFocus,t=this.getDialogElement(),n=(0,L.default)((0,b.default)(this)),r=n&&(0,O.default)(t,n);t&&e&&!r&&(this.lastFocus=n,t.hasAttribute(\"tabIndex\")||(t.setAttribute(\"tabIndex\",-1),(0,u.default)(!1,'The modal content node does not accept focus. For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".')),t.focus())},restoreLastFocus:function(){this.lastFocus&&this.lastFocus.focus&&(this.lastFocus.focus(),this.lastFocus=null)},enforceFocus:function e(){var e=this.props.enforceFocus;if(e&&this.isMounted()&&this.isTopModal()){var t=(0,L.default)((0,b.default)(this)),n=this.getDialogElement();n&&n!==t&&!(0,O.default)(n,t)&&n.focus()}},getDialogElement:function(){var e=this.refs.modal;return e&&e.lastChild},isTopModal:function(){return this.props.manager.isTopModal(this)}});D.Manager=g.default,t.default=D,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){var n=-1;return e.some(function(e,r){if(t(e,r))return n=r,!0}),n}function a(e,t){return i(e,function(e){return e.modals.indexOf(t)!==-1})}function s(e,t){var n={overflow:\"hidden\"};e.style={overflow:t.style.overflow,paddingRight:t.style.paddingRight},e.overflowing&&(n.paddingRight=parseInt((0,d.default)(t,\"paddingRight\")||0,10)+(0,m.default)()+\"px\"),(0,d.default)(t,n)}function u(e,t){var n=e.style;Object.keys(n).forEach(function(e){return t.style[e]=n[e]})}Object.defineProperty(t,\"__esModule\",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(160),d=r(c),f=n(409),p=r(f),h=n(287),m=r(h),g=n(591),_=r(g),b=n(1481),y=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.hideSiblingNodes,r=void 0===n||n,i=t.handleContainerOverflow,a=void 0===i||i;o(this,e),this.hideSiblingNodes=r,this.handleContainerOverflow=a,this.modals=[],this.containers=[],this.data=[]}return l(e,[{key:\"add\",value:function(e,t,n){var r=this.modals.indexOf(e),o=this.containers.indexOf(t);if(r!==-1)return r;if(r=this.modals.length,this.modals.push(e),this.hideSiblingNodes&&(0,b.hideSiblings)(t,e.mountNode),o!==-1)return this.data[o].modals.push(e),r;var i={modals:[e],classes:n?n.split(/\\s+/):[],overflowing:(0,_.default)(t)};return this.handleContainerOverflow&&s(i,t),i.classes.forEach(p.default.addClass.bind(null,t)),this.containers.push(t),this.data.push(i),r}},{key:\"remove\",value:function(e){var t=this.modals.indexOf(e);if(t!==-1){var n=a(this.data,e),r=this.data[n],o=this.containers[n];r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length?(r.classes.forEach(p.default.removeClass.bind(null,o)),this.handleContainerOverflow&&u(r,o),this.hideSiblingNodes&&(0,b.showSiblings)(o,e.mountNode),this.containers.splice(n,1),this.data.splice(n,1)):this.hideSiblingNodes&&(0,b.ariaHidden)(!1,r.modals[r.modals.length-1].mountNode)}}},{key:\"isTopModal\",value:function(e){return!!this.modals.length&&this.modals[this.modals.length-1]===e}}]),e}();t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),d=r(c),f=n(587),p=r(f),h=n(1478),m=r(h),g=n(588),_=r(g),b=n(25),y=r(b),v=function(e){function t(e,n){i(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.state={exited:!e.show},r.onHiddenListener=r.handleHidden.bind(r),r}return s(t,e),l(t,[{key:\"componentWillReceiveProps\",value:function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})}},{key:\"render\",value:function(){var e=this.props,t=e.container,n=e.containerPadding,r=e.target,i=e.placement,a=e.shouldUpdatePosition,s=e.rootClose,u=e.children,l=e.transition,c=o(e,[\"container\",\"containerPadding\",\"target\",\"placement\",\"shouldUpdatePosition\",\"rootClose\",\"children\",\"transition\"]),f=c.show||l&&!this.state.exited;if(!f)return null;var h=u;if(h=d.default.createElement(m.default,{container:t,containerPadding:n,target:r,placement:i,shouldUpdatePosition:a},h),l){var g=c.onExit,b=c.onExiting,y=c.onEnter,v=c.onEntering,M=c.onEntered;h=d.default.createElement(l,{in:c.show,transitionAppear:!0,onExit:g,onExiting:b,onExited:this.onHiddenListener,onEnter:y,onEntering:v,onEntered:M},h)}return s&&(h=d.default.createElement(_.default,{onRootClose:c.onHide},h)),d.default.createElement(p.default,{container:t},h)}},{key:\"handleHidden\",value:function(){if(this.setState({exited:!0}),this.props.onExited){var e;(e=this.props).onExited.apply(e,arguments)}}}]),t}(d.default.Component);v.propTypes=u({},p.default.propTypes,m.default.propTypes,{show:d.default.PropTypes.bool,rootClose:d.default.PropTypes.bool,onHide:function(e){var t=d.default.PropTypes.func;e.rootClose&&(t=t.isRequired);for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.apply(void 0,[e].concat(r))},transition:y.default,onEnter:d.default.PropTypes.func,onEntering:d.default.PropTypes.func,onEntered:d.default.PropTypes.func,onExit:d.default.PropTypes.func,onExiting:d.default.PropTypes.func,onExited:d.default.PropTypes.func}),t.default=v,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,\"__esModule\",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(12),d=r(c),f=n(1),p=r(f),h=n(29),m=r(h),g=n(328),_=r(g),b=n(1480),y=r(b),v=n(310),M=r(v),A=n(167),w=r(A),C=function(e){function t(e,n){i(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.state={positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null},r._needsFlush=!1,r._lastTarget=null,r}return s(t,e),l(t,[{key:\"componentDidMount\",value:function(){this.updatePosition(this.getTarget())}},{key:\"componentWillReceiveProps\",value:function(){this._needsFlush=!0}},{key:\"componentDidUpdate\",value:function(e){this._needsFlush&&(this._needsFlush=!1,this.maybeUpdatePosition(this.props.placement!==e.placement))}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.className,r=o(e,[\"children\",\"className\"]),i=this.state,a=i.positionLeft,s=i.positionTop,l=o(i,[\"positionLeft\",\"positionTop\"]);delete r.target,delete r.container,delete r.containerPadding,delete r.shouldUpdatePosition;var c=p.default.Children.only(t);return(0,f.cloneElement)(c,u({},r,l,{positionLeft:a,positionTop:s,className:(0,d.default)(n,c.props.className),style:u({},c.props.style,{left:a,top:s})}))}},{key:\"getTarget\",value:function(){var e=this.props.target,t=\"function\"==typeof e?e():e;return t&&m.default.findDOMNode(t)||null}},{key:\"maybeUpdatePosition\",value:function(e){var t=this.getTarget();(this.props.shouldUpdatePosition||t!==this._lastTarget||e)&&this.updatePosition(t)}},{key:\"updatePosition\",value:function(e){if(this._lastTarget=e,!e)return void this.setState({positionLeft:0,positionTop:0,arrowOffsetLeft:null,arrowOffsetTop:null});var t=m.default.findDOMNode(this),n=(0,M.default)(this.props.container,(0,w.default)(this).body);this.setState((0,y.default)(this.props.placement,t,e,n,this.props.containerPadding))}}]),t}(p.default.Component);C.propTypes={target:p.default.PropTypes.oneOfType([_.default,p.default.PropTypes.func]),container:p.default.PropTypes.oneOfType([_.default,p.default.PropTypes.func]),containerPadding:p.default.PropTypes.number,placement:p.default.PropTypes.oneOf([\"top\",\"right\",\"bottom\",\"left\"]),shouldUpdatePosition:p.default.PropTypes.bool},C.displayName=\"Position\",C.defaultProps={containerPadding:0,placement:\"right\",shouldUpdatePosition:!1},t.default=C,e.exports=t.default},function(e,t){\"use strict\";function n(e){var t=!document.addEventListener,n=void 0;return t?(document.attachEvent(\"onfocusin\",e),n=function(){return document.detachEvent(\"onfocusin\",e)}):(document.addEventListener(\"focus\",e,!0),n=function(){return document.removeEventListener(\"focus\",e,!0)}),{remove:n}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=void 0,n=void 0,r=void 0;if(\"BODY\"===e.tagName)t=window.innerWidth,n=window.innerHeight,r=(0,p.default)((0,m.default)(e).documentElement)||(0,p.default)(e);else{var o=(0,l.default)(e);t=o.width,n=o.height,r=(0,p.default)(e)}return{width:t,height:n,scroll:r}}function i(e,t,n,r){var i=o(n),a=i.scroll,s=i.height,u=e-r-a,l=e+r-a+t;return u<0?-u:l>s?s-l:0}function a(e,t,n,r){var i=o(n),a=i.width,s=e-r,u=e+r+t;return s<0?-s:u>a?a-u:0}function s(e,t,n,r,o){var s=\"BODY\"===r.tagName?(0,l.default)(n):(0,d.default)(n,r),u=(0,l.default)(t),c=u.height,f=u.width,p=void 0,h=void 0,m=void 0,g=void 0;if(\"left\"===e||\"right\"===e){h=s.top+(s.height-c)/2,p=\"left\"===e?s.left-f:s.left+s.width;var _=i(h,c,r,o);h+=_,g=50*(1-2*_/c)+\"%\",m=void 0}else{if(\"top\"!==e&&\"bottom\"!==e)throw new Error('calcOverlayPosition(): No such placement of \"'+e+'\" found.');p=s.left+(s.width-f)/2,h=\"top\"===e?s.top-c:s.top+s.height;var b=a(p,f,r,o);p+=b,m=50*(1-2*b/f)+\"%\",g=void 0}return{positionLeft:p,positionTop:h,arrowOffsetLeft:m,arrowOffsetTop:g}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=s;var u=n(132),l=r(u),c=n(411),d=r(c),f=n(200),p=r(f),h=n(167),m=r(h);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){t&&(e?t.setAttribute(\"aria-hidden\",\"true\"):t.removeAttribute(\"aria-hidden\"))}function r(e,t){s(e,t,function(e){return n(!0,e)})}function o(e,t){s(e,t,function(e){return n(!1,e)})}Object.defineProperty(t,\"__esModule\",{value:!0}),t.ariaHidden=n,t.hideSiblings=r,t.showSiblings=o;var i=[\"template\",\"script\",\"style\"],a=function(e){var t=e.nodeType,n=e.tagName;return 1===t&&i.indexOf(n.toLowerCase())===-1},s=function(e,t,n){t=[].concat(t),[].forEach.call(e.children,function(e){t.indexOf(e)===-1&&a(e)&&n(e)})}},function(e,t){\"use strict\";var n={Properties:{\"aria-current\":0,\"aria-details\":0,\"aria-disabled\":0,\"aria-hidden\":0,\"aria-invalid\":0,\"aria-keyshortcuts\":0,\"aria-label\":0,\"aria-roledescription\":0,\"aria-autocomplete\":0,\"aria-checked\":0,\"aria-expanded\":0,\"aria-haspopup\":0,\"aria-level\":0,\"aria-modal\":0,\"aria-multiline\":0,\"aria-multiselectable\":0,\"aria-orientation\":0,\"aria-placeholder\":0,\"aria-pressed\":0,\"aria-readonly\":0,\"aria-required\":0,\"aria-selected\":0,\"aria-sort\":0,\"aria-valuemax\":0,\"aria-valuemin\":0,\"aria-valuenow\":0,\"aria-valuetext\":0,\"aria-atomic\":0,\"aria-busy\":0,\"aria-live\":0,\"aria-relevant\":0,\"aria-dropeffect\":0,\"aria-grabbed\":0,\"aria-activedescendant\":0,\"aria-colcount\":0,\"aria-colindex\":0,\"aria-colspan\":0,\"aria-controls\":0,\"aria-describedby\":0,\"aria-errormessage\":0,\"aria-flowto\":0,\"aria-labelledby\":0,\"aria-owns\":0,\"aria-posinset\":0,\"aria-rowcount\":0,\"aria-rowindex\":0,\"aria-rowspan\":0,\"aria-setsize\":0},DOMAttributeNames:{},DOMPropertyNames:{}};e.exports=n},function(e,t,n){\"use strict\";var r=n(34),o=n(419),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){\"use strict\";function r(){var e=window.opera;return\"object\"==typeof e&&\"function\"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function i(e){switch(e){case\"topCompositionStart\":return L.compositionStart;case\"topCompositionEnd\":return L.compositionEnd;case\"topCompositionUpdate\":return L.compositionUpdate}}function a(e,t){return\"topKeyDown\"===e&&t.keyCode===y}function s(e,t){switch(e){case\"topKeyUp\":return b.indexOf(t.keyCode)!==-1;case\"topKeyDown\":return t.keyCode!==y;case\"topKeyPress\":case\"topMouseDown\":case\"topBlur\":return!0;default:return!1}}function u(e){var t=e.detail;return\"object\"==typeof t&&\"data\"in t?t.data:null}function l(e,t,n,r){var o,l;if(v?o=i(e):O?s(e,n)&&(o=L.compositionEnd):a(e,n)&&(o=L.compositionStart),!o)return null;w&&(O||o!==L.compositionStart?o===L.compositionEnd&&O&&(l=O.getData()):O=m.getPooled(r));var c=g.getPooled(o,t,n,r);if(l)c.data=l;else{var d=u(n);null!==d&&(c.data=d)}return p.accumulateTwoPhaseDispatches(c),c}function c(e,t){switch(e){case\"topCompositionEnd\":return u(t);case\"topKeyPress\":var n=t.which;return n!==C?null:(T=!0,E);case\"topTextInput\":var r=t.data;return r===E&&T?null:r;default:return null}}function d(e,t){if(O){if(\"topCompositionEnd\"===e||!v&&s(e,t)){var n=O.getData();return m.release(O),O=null,n}return null}switch(e){case\"topPaste\":return null;case\"topKeyPress\":return t.which&&!o(t)?String.fromCharCode(t.which):null;case\"topCompositionEnd\":return w?null:t.data;default:return null}}function f(e,t,n,r){var o;if(o=A?c(e,n):d(e,n),!o)return null;var i=_.getPooled(L.beforeInput,t,n,r);return i.data=o,p.accumulateTwoPhaseDispatches(i),i}var p=n(169),h=n(46),m=n(1490),g=n(1527),_=n(1530),b=[9,13,27,32],y=229,v=h.canUseDOM&&\"CompositionEvent\"in window,M=null;h.canUseDOM&&\"documentMode\"in document&&(M=document.documentMode);var A=h.canUseDOM&&\"TextEvent\"in window&&!M&&!r(),w=h.canUseDOM&&(!v||M&&M>8&&M<=11),C=32,E=String.fromCharCode(C),L={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:[\"topBlur\",\"topCompositionEnd\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",captured:\"onCompositionStartCapture\"},dependencies:[\"topBlur\",\"topCompositionStart\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:[\"topBlur\",\"topCompositionUpdate\",\"topKeyDown\",\"topKeyPress\",\"topKeyUp\",\"topMouseDown\"]}},T=!1,O=null,S={eventTypes:L,extractEvents:function(e,t,n,r){return[l(e,t,n,r),f(e,t,n,r)]}};e.exports=S},function(e,t,n){\"use strict\";var r=n(592),o=n(46),i=(n(65),n(1252),n(1536)),a=n(1259),s=n(1262),u=(n(20),s(function(e){return a(e)})),l=!1,c=\"cssFloat\";if(o.canUseDOM){var d=document.createElement(\"div\").style;try{d.font=\"\"}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c=\"styleFloat\")}var f={createMarkupForStyles:function(e,t){var n=\"\";for(var r in e)if(e.hasOwnProperty(r)){var o=e[r];null!=o&&(n+=u(r)+\":\",n+=i(r,o,t)+\";\")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=i(a,t[a],n);if(\"float\"!==a&&\"cssFloat\"!==a||(a=c),s)o[a]=s;else{var u=l&&r.shorthandPropertyExpansions[a];if(u)for(var d in u)o[d]=\"\";else o[a]=\"\"}}}};e.exports=f},function(e,t,n){\"use strict\";function r(e){var t=e.nodeName&&e.nodeName.toLowerCase();return\"select\"===t||\"input\"===t&&\"file\"===e.type}function o(e){var t=C.getPooled(O.change,N,e,E(e));v.accumulateTwoPhaseDispatches(t),w.batchedUpdates(i,t)}function i(e){y.enqueueEvents(e),y.processEventQueue(!1)}function a(e,t){S=e,N=t,S.attachEvent(\"onchange\",o)}function s(){S&&(S.detachEvent(\"onchange\",o),S=null,N=null)}function u(e,t){if(\"topChange\"===e)return t}function l(e,t,n){\"topFocus\"===e?(s(),a(t,n)):\"topBlur\"===e&&s()}function c(e,t){S=e,N=t,k=e.value,D=Object.getOwnPropertyDescriptor(e.constructor.prototype,\"value\"),Object.defineProperty(S,\"value\",z),S.attachEvent?S.attachEvent(\"onpropertychange\",f):S.addEventListener(\"propertychange\",f,!1)}function d(){S&&(delete S.value,S.detachEvent?S.detachEvent(\"onpropertychange\",f):S.removeEventListener(\"propertychange\",f,!1),S=null,N=null,k=null,D=null)}function f(e){if(\"value\"===e.propertyName){var t=e.srcElement.value;t!==k&&(k=t,o(e))}}function p(e,t){if(\"topInput\"===e)return t}function h(e,t,n){\"topFocus\"===e?(d(),c(t,n)):\"topBlur\"===e&&d()}function m(e,t){if((\"topSelectionChange\"===e||\"topKeyUp\"===e||\"topKeyDown\"===e)&&S&&S.value!==k)return k=S.value,N}function g(e){return e.nodeName&&\"input\"===e.nodeName.toLowerCase()&&(\"checkbox\"===e.type||\"radio\"===e.type)}function _(e,t){if(\"topClick\"===e)return t}function b(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&\"number\"===t.type){var r=\"\"+t.value;t.getAttribute(\"value\")!==r&&t.setAttribute(\"value\",r)}}}var y=n(168),v=n(169),M=n(46),A=n(34),w=n(77),C=n(81),E=n(323),L=n(324),T=n(609),O={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:[\"topBlur\",\"topChange\",\"topClick\",\"topFocus\",\"topInput\",\"topKeyDown\",\"topKeyUp\",\"topSelectionChange\"]}},S=null,N=null,k=null,D=null,x=!1;M.canUseDOM&&(x=L(\"change\")&&(!document.documentMode||document.documentMode>8));var I=!1;M.canUseDOM&&(I=L(\"input\")&&(!document.documentMode||document.documentMode>11));var z={get:function(){return D.get.call(this)},set:function(e){k=\"\"+e,D.set.call(this,e)}},j={eventTypes:O,extractEvents:function(e,t,n,o){var i,a,s=t?A.getNodeFromInstance(t):window;if(r(s)?x?i=u:a=l:T(s)?I?i=p:(i=m,a=h):g(s)&&(i=_),i){var c=i(e,t);if(c){var d=C.getPooled(O.change,c,n,o);return d.type=\"change\",v.accumulateTwoPhaseDispatches(d),d}}a&&a(e,s,t),\"topBlur\"===e&&b(t,s)}};e.exports=j},function(e,t,n){\"use strict\";var r=n(24),o=n(137),i=n(46),a=n(1255),s=n(63),u=(n(17),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM?void 0:r(\"56\"),t?void 0:r(\"57\"),\"HTML\"===e.nodeName?r(\"58\"):void 0,\"string\"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},function(e,t){\"use strict\";var n=[\"ResponderEventPlugin\",\"SimpleEventPlugin\",\"TapEventPlugin\",\"EnterLeaveEventPlugin\",\"ChangeEventPlugin\",\"SelectEventPlugin\",\"BeforeInputEventPlugin\"];e.exports=n},function(e,t,n){\"use strict\";var r=n(169),o=n(34),i=n(215),a={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"topMouseOut\",\"topMouseOver\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"topMouseOut\",\"topMouseOver\"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if(\"topMouseOver\"===e&&(n.relatedTarget||n.fromElement))return null;if(\"topMouseOut\"!==e&&\"topMouseOver\"!==e)return null;var u;if(s.window===s)u=s;else{var l=s.ownerDocument;u=l?l.defaultView||l.parentWindow:window}var c,d;if(\"topMouseOut\"===e){c=t;var f=n.relatedTarget||n.toElement;d=f?o.getClosestInstanceFromNode(f):null}else c=null,d=t;if(c===d)return null;var p=null==c?u:o.getNodeFromInstance(c),h=null==d?u:o.getNodeFromInstance(d),m=i.getPooled(a.mouseLeave,c,n,s);m.type=\"mouseleave\",m.target=p,m.relatedTarget=h;var g=i.getPooled(a.mouseEnter,d,n,s);return g.type=\"mouseenter\",g.target=h,g.relatedTarget=p,r.accumulateEnterLeaveDispatches(m,g,c,d),[m,g]}};e.exports=s},function(e,t,n){\"use strict\";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=n(28),i=n(112),a=n(607);o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return\"value\"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),i.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";var r=n(138),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp(\"^(data|aria)-[\"+r.ATTRIBUTE_NAME_CHAR+\"]*$\")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,\nheaders:0,height:0,hidden:i,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:i,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute(\"value\"):void(\"number\"!==e.type||e.hasAttribute(\"value\")===!1?e.setAttribute(\"value\",\"\"+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute(\"value\",\"\"+t))}}};e.exports=l},function(e,t,n){(function(t){\"use strict\";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=i(t,!0))}var o=n(139),i=n(608),a=(n(315),n(325)),s=n(611);n(20);\"undefined\"!=typeof t&&t.env,1;var u={instantiateChildren:function(e,t,n,o){if(null==e)return null;var i={};return s(e,r,i),i},updateChildren:function(e,t,n,r,s,u,l,c,d){if(t||e){var f,p;for(f in t)if(t.hasOwnProperty(f)){p=e&&e[f];var h=p&&p._currentElement,m=t[f];if(null!=p&&a(h,m))o.receiveComponent(p,m,s,c),t[f]=p;else{p&&(r[f]=o.getHostNode(p),o.unmountComponent(p,!1));var g=i(m,!0);t[f]=g;var _=o.mountComponent(g,s,u,l,c,d);n.push(_)}}for(f in e)!e.hasOwnProperty(f)||t&&t.hasOwnProperty(f)||(p=e[f],r[f]=o.getHostNode(p),o.unmountComponent(p,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}};e.exports=u}).call(t,n(135))},function(e,t,n){\"use strict\";var r=n(311),o=n(1500),i={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=i},function(e,t,n){\"use strict\";function r(e){}function o(e,t){}function i(e){return!(!e.prototype||!e.prototype.isReactComponent)}function a(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var s=n(24),u=n(28),l=n(143),c=n(317),d=n(82),f=n(318),p=n(170),h=(n(65),n(602)),m=n(139),g=n(162),_=(n(17),n(289)),b=n(325),y=(n(20),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=p.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return o(e,t),t};var v=1,M={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,u){this._context=u,this._mountOrder=v++,this._hostParent=t,this._hostContainerInfo=n;var c,d=this._currentElement.props,f=this._processContext(u),h=this._currentElement.type,m=e.getUpdateQueue(),_=i(h),b=this._constructComponent(_,d,f,m);_||null!=b&&null!=b.render?a(h)?this._compositeType=y.PureClass:this._compositeType=y.ImpureClass:(c=b,o(h,c),null===b||b===!1||l.isValidElement(b)?void 0:s(\"105\",h.displayName||h.name||\"Component\"),b=new r(h),this._compositeType=y.StatelessFunctional);b.props=d,b.context=f,b.refs=g,b.updater=m,this._instance=b,p.set(b,this);var M=b.state;void 0===M&&(b.state=M=null),\"object\"!=typeof M||Array.isArray(M)?s(\"106\",this.getName()||\"ReactCompositeComponent\"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var A;return A=b.unstable_handleError?this.performInitialMountWithErrorHandling(c,t,n,e,u):this.performInitialMount(c,t,n,e,u),b.componentDidMount&&e.getReactMountReady().enqueue(b.componentDidMount,b),A},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance,a=0;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var l=m.mountComponent(u,r,t,n,this._processChildContext(o),a);return l},getHostNode:function(){return m.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+\".componentWillUnmount()\";f.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(m.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,p.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return g;var r={};for(var o in n)r[o]=e[o];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){\"object\"!=typeof n.childContextTypes?s(\"107\",this.getName()||\"ReactCompositeComponent\"):void 0;for(var o in t)o in n.childContextTypes?void 0:s(\"108\",this.getName()||\"ReactCompositeComponent\",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?m.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var i=this._instance;null==i?s(\"136\",this.getName()||\"ReactCompositeComponent\"):void 0;var a,u=!1;this._context===o?a=i.context:(a=this._processContext(o),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&i.componentWillReceiveProps&&i.componentWillReceiveProps(c,a);var d=this._processPendingState(c,a),f=!0;this._pendingForceUpdate||(i.shouldComponentUpdate?f=i.shouldComponentUpdate(c,d,a):this._compositeType===y.PureClass&&(f=!_(l,c)||!_(i.state,d))),this._updateBatchNumber=null,f?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,d,a,e,o)):(this._currentElement=n,this._context=o,i.props=c,i.state=d,i.context=a)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var i=u({},o?r[0]:n.state),a=o?1:0;a<r.length;a++){var s=r[a];u(i,\"function\"==typeof s?s.call(n,i,e,t):s)}return i},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(o,i),c&&o.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent(),i=0;if(b(r,o))m.receiveComponent(n,o,e,this._processChildContext(t));else{var a=m.getHostNode(n);m.unmountComponent(n,!1);var s=h.getType(o);this._renderedNodeType=s;var u=this._instantiateReactComponent(o,s!==h.EMPTY);this._renderedComponent=u;var l=m.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),i);this._replaceNodeWithMarkup(a,l,n)}},_replaceNodeWithMarkup:function(e,t,n){c.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e,t=this._instance;return e=t.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==y.StatelessFunctional){d.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{d.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||e===!1||l.isValidElement(e)?void 0:s(\"109\",this.getName()||\"ReactCompositeComponent\"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n?s(\"110\"):void 0;var r=t.getPublicInstance(),o=n.refs===g?n.refs={}:n.refs;o[e]=r},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===y.StatelessFunctional?null:e},_instantiateReactComponent:null};e.exports=M},function(e,t,n){\"use strict\";var r=n(34),o=n(1508),i=n(601),a=n(139),s=n(77),u=n(1521),l=n(1537),c=n(606),d=n(1544);n(20);o.inject();var f={findDOMNode:l,render:i.render,unmountComponentAtNode:i.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:d};\"undefined\"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&\"function\"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a});e.exports=f},function(e,t,n){\"use strict\";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return\" This DOM node was rendered by `\"+n+\"`.\"}}return\"\"}function o(e,t){t&&(G[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML?m(\"137\",e._tag,e._currentElement._owner?\" Check the render method of \"+e._currentElement._owner.getName()+\".\":\"\"):void 0),null!=t.dangerouslySetInnerHTML&&(null!=t.children?m(\"60\"):void 0,\"object\"==typeof t.dangerouslySetInnerHTML&&Y in t.dangerouslySetInnerHTML?void 0:m(\"61\")),null!=t.style&&\"object\"!=typeof t.style?m(\"62\",r(e)):void 0)}function i(e,t,n,r){if(!(r instanceof x)){var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===q,s=i?o._node:o._ownerDocument;B(t,s),r.getReactMountReady().enqueue(a,{inst:e,registrationName:t,listener:n})}}function a(){var e=this;w.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;O.postMountWrapper(e)}function u(){var e=this;k.postMountWrapper(e)}function l(){var e=this;S.postMountWrapper(e)}function c(){var e=this;e._rootNodeID?void 0:m(\"63\");var t=P(e);switch(t?void 0:m(\"64\"),e._tag){case\"iframe\":case\"object\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topLoad\",\"load\",t)];break;case\"video\":case\"audio\":e._wrapperState.listeners=[];for(var n in U)U.hasOwnProperty(n)&&e._wrapperState.listeners.push(E.trapBubbledEvent(n,U[n],t));break;case\"source\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topError\",\"error\",t)];break;case\"img\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topError\",\"error\",t),E.trapBubbledEvent(\"topLoad\",\"load\",t)];break;case\"form\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topReset\",\"reset\",t),E.trapBubbledEvent(\"topSubmit\",\"submit\",t)];break;case\"input\":case\"select\":case\"textarea\":e._wrapperState.listeners=[E.trapBubbledEvent(\"topInvalid\",\"invalid\",t)]}}function d(){N.postUpdateWrapper(this)}function f(e){Q.call(K,e)||($.test(e)?void 0:m(\"65\",e),K[e]=!0)}function p(e,t){return e.indexOf(\"-\")>=0||null!=t.is}function h(e){var t=e.type;f(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var m=n(24),g=n(28),_=n(1483),b=n(1485),y=n(137),v=n(312),M=n(138),A=n(594),w=n(168),C=n(313),E=n(214),L=n(595),T=n(34),O=n(1501),S=n(1502),N=n(596),k=n(1505),D=(n(65),n(1514)),x=n(1519),I=(n(63),n(217)),z=(n(17),n(324),n(289),n(326),n(20),L),j=w.deleteListener,P=T.getNodeFromInstance,B=E.listenTo,F=C.registrationNameModules,R={string:!0,number:!0},W=\"style\",Y=\"__html\",H={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},q=11,U={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\"},X={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},V={listing:!0,pre:!0,textarea:!0},G=g({menuitem:!0},X),$=/^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,K={},Q={}.hasOwnProperty,Z=1;h.displayName=\"ReactDOMComponent\",h.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Z++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var i=this._currentElement.props;switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(c,this);break;case\"input\":O.mountWrapper(this,i,t),i=O.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case\"option\":S.mountWrapper(this,i,t),i=S.getHostProps(this,i);break;case\"select\":N.mountWrapper(this,i,t),i=N.getHostProps(this,i),e.getReactMountReady().enqueue(c,this);break;case\"textarea\":k.mountWrapper(this,i,t),i=k.getHostProps(this,i),e.getReactMountReady().enqueue(c,this)}o(this,i);var a,d;null!=t?(a=t._namespaceURI,d=t._tag):n._tag&&(a=n._namespaceURI,d=n._tag),(null==a||a===v.svg&&\"foreignobject\"===d)&&(a=v.html),a===v.html&&(\"svg\"===this._tag?a=v.svg:\"math\"===this._tag&&(a=v.mathml)),this._namespaceURI=a;var f;if(e.useCreateElement){var p,h=n._ownerDocument;if(a===v.html)if(\"script\"===this._tag){var m=h.createElement(\"div\"),g=this._currentElement.type;m.innerHTML=\"<\"+g+\"></\"+g+\">\",p=m.removeChild(m.firstChild)}else p=i.is?h.createElement(this._currentElement.type,i.is):h.createElement(this._currentElement.type);else p=h.createElementNS(a,this._currentElement.type);T.precacheNode(this,p),this._flags|=z.hasCachedChildNodes,this._hostParent||A.setAttributeForRoot(p),this._updateDOMProperties(null,i,e);var b=y(p);this._createInitialChildren(e,i,r,b),f=b}else{var M=this._createOpenTagMarkupAndPutListeners(e,i),w=this._createContentMarkup(e,i,r);f=!w&&X[this._tag]?M+\"/>\":M+\">\"+w+\"</\"+this._currentElement.type+\">\"}switch(this._tag){case\"input\":e.getReactMountReady().enqueue(s,this),i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"textarea\":e.getReactMountReady().enqueue(u,this),i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"select\":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"button\":i.autoFocus&&e.getReactMountReady().enqueue(_.focusDOMComponent,this);break;case\"option\":e.getReactMountReady().enqueue(l,this)}return f},_createOpenTagMarkupAndPutListeners:function(e,t){var n=\"<\"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(F.hasOwnProperty(r))o&&i(this,r,o,e);else{r===W&&(o&&(o=this._previousStyleCopy=g({},t.style)),o=b.createMarkupForStyles(o,this));var a=null;null!=this._tag&&p(this._tag,t)?H.hasOwnProperty(r)||(a=A.createMarkupForCustomAttribute(r,o)):a=A.createMarkupForProperty(r,o),a&&(n+=\" \"+a)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=\" \"+A.createMarkupForRoot()),n+=\" \"+A.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r=\"\",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=R[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=I(i);else if(null!=a){var s=this.mountChildren(a,e,n);r=s.join(\"\")}}return V[this._tag]&&\"\\n\"===r.charAt(0)?\"\\n\"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&y.queueHTML(r,o.__html);else{var i=R[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)\"\"!==i&&y.queueText(r,i);else if(null!=a)for(var s=this.mountChildren(a,e,n),u=0;u<s.length;u++)y.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var i=t.props,a=this._currentElement.props;switch(this._tag){case\"input\":i=O.getHostProps(this,i),a=O.getHostProps(this,a);break;case\"option\":i=S.getHostProps(this,i),a=S.getHostProps(this,a);break;case\"select\":i=N.getHostProps(this,i),a=N.getHostProps(this,a);break;case\"textarea\":i=k.getHostProps(this,i),a=k.getHostProps(this,a)}switch(o(this,a),this._updateDOMProperties(i,a,e),this._updateDOMChildren(i,a,e,r),this._tag){case\"input\":O.updateWrapper(this);break;case\"textarea\":k.updateWrapper(this);break;case\"select\":e.getReactMountReady().enqueue(d,this)}},_updateDOMProperties:function(e,t,n){var r,o,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===W){var s=this._previousStyleCopy;for(o in s)s.hasOwnProperty(o)&&(a=a||{},a[o]=\"\");this._previousStyleCopy=null}else F.hasOwnProperty(r)?e[r]&&j(this,r):p(this._tag,e)?H.hasOwnProperty(r)||A.deleteValueForAttribute(P(this),r):(M.properties[r]||M.isCustomAttribute(r))&&A.deleteValueForProperty(P(this),r);for(r in t){var u=t[r],l=r===W?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==l&&(null!=u||null!=l))if(r===W)if(u?u=this._previousStyleCopy=g({},u):this._previousStyleCopy=null,l){for(o in l)!l.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(a=a||{},a[o]=\"\");for(o in u)u.hasOwnProperty(o)&&l[o]!==u[o]&&(a=a||{},a[o]=u[o])}else a=u;else if(F.hasOwnProperty(r))u?i(this,r,u,n):l&&j(this,r);else if(p(this._tag,t))H.hasOwnProperty(r)||A.setValueForAttribute(P(this),r,u);else if(M.properties[r]||M.isCustomAttribute(r)){var c=P(this);null!=u?A.setValueForProperty(c,r,u):A.deleteValueForProperty(c,r)}}a&&b.setValueForStyles(P(this),a,this)},_updateDOMChildren:function(e,t,n,r){var o=R[typeof e.children]?e.children:null,i=R[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,l=null!=i?null:t.children,c=null!=o||null!=a,d=null!=i||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!d&&this.updateTextContent(\"\"),null!=i?o!==i&&this.updateTextContent(\"\"+i):null!=s?a!==s&&this.updateMarkup(\"\"+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return P(this)},unmountComponent:function(e){switch(this._tag){case\"audio\":case\"form\":case\"iframe\":case\"img\":case\"link\":case\"object\":case\"source\":case\"video\":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case\"html\":case\"head\":case\"body\":m(\"66\",this._tag)}this.unmountChildren(e),T.uncacheNode(this),w.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return P(this)}},g(h.prototype,h.Mixin,D.Mixin),e.exports=h},function(e,t,n){\"use strict\";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===o?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var o=(n(326),9);e.exports=r},function(e,t,n){\"use strict\";var r=n(28),o=n(137),i=n(34),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=\" react-empty: \"+this._domID+\" \";if(e.useCreateElement){var u=n._ownerDocument,l=u.createComment(s);return i.precacheNode(this,l),o(l)}return e.renderToStaticMarkup?\"\":\"<!--\"+s+\"-->\"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t){\"use strict\";var n={useCreateElement:!0,useFiber:!1};e.exports=n},function(e,t,n){\"use strict\";var r=n(311),o=n(34),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},function(e,t,n){\"use strict\";function r(){this._rootNodeID&&f.updateWrapper(this)}function o(e){var t=\"checkbox\"===e.type||\"radio\"===e.type;return t?null!=e.checked:null!=e.value}function i(e){var t=this._currentElement.props,n=l.executeOnChange(t,e);d.asap(r,this);var o=t.name;if(\"radio\"===t.type&&null!=o){for(var i=c.getNodeFromInstance(this),s=i;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+o)+'][type=\"radio\"]'),f=0;f<u.length;f++){var p=u[f];if(p!==i&&p.form===i.form){var h=c.getInstanceFromNode(p);h?void 0:a(\"90\"),d.asap(r,h)}}}return n}var a=n(24),s=n(28),u=n(594),l=n(316),c=n(34),d=n(77),f=(n(17),n(20),{getHostProps:function(e,t){var n=l.getValue(t),r=l.getChecked(t),o=s({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange});return o},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:i.bind(e),controlled:o(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&u.setValueForProperty(c.getNodeFromInstance(e),\"checked\",n||!1);var r=c.getNodeFromInstance(e),o=l.getValue(t);if(null!=o)if(0===o&&\"\"===r.value)r.value=\"0\";else if(\"number\"===t.type){var i=parseFloat(r.value,10)||0;o!=i&&(r.value=\"\"+o)}else o!=r.value&&(r.value=\"\"+o);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==\"\"+t.defaultValue&&(r.defaultValue=\"\"+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=c.getNodeFromInstance(e);switch(t.type){case\"submit\":case\"reset\":break;case\"color\":case\"date\":case\"datetime\":case\"datetime-local\":case\"month\":case\"time\":case\"week\":n.value=\"\",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;\"\"!==r&&(n.name=\"\"),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,\"\"!==r&&(n.name=r)}});e.exports=f},function(e,t,n){\"use strict\";function r(e){var t=\"\";return i.Children.forEach(e,function(e){null!=e&&(\"string\"==typeof e||\"number\"==typeof e?t+=e:u||(u=!0))}),t}var o=n(28),i=n(143),a=n(34),s=n(596),u=(n(20),!1),l={mountWrapper:function(e,t,n){var o=null;if(null!=n){var i=n;\"optgroup\"===i._tag&&(i=i._hostParent),null!=i&&\"select\"===i._tag&&(o=s.getSelectValueContext(i))}var a=null;if(null!=o){var u;if(u=null!=t.value?t.value+\"\":r(t.children),a=!1,Array.isArray(o)){for(var l=0;l<o.length;l++)if(\"\"+o[l]===u){a=!0;break}}else a=\"\"+o===u}e._wrapperState={selected:a}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){var n=a.getNodeFromInstance(e);n.setAttribute(\"value\",t.value)}},getHostProps:function(e,t){var n=o({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var i=r(t.children);return i&&(n.children=i),n}};e.exports=l},function(e,t,n){\"use strict\";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint(\"EndToStart\",n);var i=o.text.length,a=i+r;return{start:i,end:a}}function i(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,i=t.focusNode,a=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=u?0:s.toString().length,c=s.cloneRange();c.selectNodeContents(e),c.setEnd(s.startContainer,s.startOffset);var d=r(c.startContainer,c.startOffset,c.endContainer,c.endOffset),f=d?0:c.toString().length,p=f+l,h=document.createRange();h.setStart(n,o),h.setEnd(i,a);var m=h.collapsed;return{start:m?p:f,end:m?f:p}}function a(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart(\"character\",n),o.setEndPoint(\"EndToStart\",o),o.moveEnd(\"character\",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[c()].length,o=Math.min(t.start,r),i=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>i){var a=i;i=o,o=a}var s=l(e,o),u=l(e,i);if(s&&u){var d=document.createRange();d.setStart(s.node,s.offset),n.removeAllRanges(),o>i?(n.addRange(d),n.extend(u.node,u.offset)):(d.setEnd(u.node,u.offset),n.addRange(d))}}}var u=n(46),l=n(1541),c=n(607),d=u.canUseDOM&&\"selection\"in document&&!(\"getSelection\"in window),f={getOffsets:d?o:i,setOffsets:d?a:s};e.exports=f},function(e,t,n){\"use strict\";var r=n(24),o=n(28),i=n(311),a=n(137),s=n(34),u=n(217),l=(n(17),n(326),function(e){this._currentElement=e,this._stringText=\"\"+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=\" react-text: \"+o+\" \",l=\" /react-text \";if(this._domID=o,this._hostParent=t,e.useCreateElement){var c=n._ownerDocument,d=c.createComment(i),f=c.createComment(l),p=a(c.createDocumentFragment());return a.queueChild(p,a(d)),this._stringText&&a.queueChild(p,a(c.createTextNode(this._stringText))),a.queueChild(p,a(f)),s.precacheNode(this,d),this._closingComment=f,p}var h=u(this._stringText);return e.renderToStaticMarkup?h:\"<!--\"+i+\"-->\"+h+\"<!--\"+l+\"-->\"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=\"\"+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();i.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r(\"67\",this._domID):void 0,8===n.nodeType&&\" /react-text \"===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},function(e,t,n){\"use strict\";function r(){this._rootNodeID&&c.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return l.asap(r,this),n}var i=n(24),a=n(28),s=n(316),u=n(34),l=n(77),c=(n(17),n(20),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?i(\"91\"):void 0;var n=a({},t,{value:void 0,defaultValue:void 0,children:\"\"+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var a=t.defaultValue,u=t.children;null!=u&&(null!=a?i(\"92\"):void 0,Array.isArray(u)&&(u.length<=1?void 0:i(\"93\"),u=u[0]),a=\"\"+u),null==a&&(a=\"\"),r=a}e._wrapperState={initialValue:\"\"+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=\"\"+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});e.exports=c},function(e,t,n){\"use strict\";function r(e,t){\"_hostNode\"in e?void 0:u(\"33\"),\"_hostNode\"in t?void 0:u(\"33\");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,i=t;i;i=i._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var a=n;a--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){\"_hostNode\"in e?void 0:u(\"35\"),\"_hostNode\"in t?void 0:u(\"35\");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function i(e){return\"_hostNode\"in e?void 0:u(\"36\"),e._hostParent}function a(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],\"captured\",n);for(o=0;o<r.length;o++)t(r[o],\"bubbled\",n)}function s(e,t,n,o,i){for(var a=e&&t?r(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==a;)u.push(t),t=t._hostParent;var l;for(l=0;l<s.length;l++)n(s[l],\"bubbled\",o);for(l=u.length;l-- >0;)n(u[l],\"captured\",i)}var u=n(24);n(17);e.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:i,traverseTwoPhase:a,traverseEnterLeave:s}},function(e,t,n){\"use strict\";function r(){this.reinitializeTransaction()}var o=n(28),i=n(77),a=n(216),s=n(63),u={initialize:s,close:function(){f.isBatchingUpdates=!1}},l={initialize:s,close:i.flushBatchedUpdates.bind(i)},c=[l,u];o(r.prototype,a,{getTransactionWrappers:function(){return c}});var d=new r,f={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=f.isBatchingUpdates;return f.isBatchingUpdates=!0,a?e(t,n,r,o,i):d.perform(e,null,t,n,r,o,i)}};e.exports=f},function(e,t,n){\"use strict\";function r(){w||(w=!0,b.EventEmitter.injectReactEventListener(_),b.EventPluginHub.injectEventPluginOrder(s),b.EventPluginUtils.injectComponentTree(f),b.EventPluginUtils.injectTreeTraversal(h),b.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:A,EnterLeaveEventPlugin:u,ChangeEventPlugin:a,SelectEventPlugin:M,BeforeInputEventPlugin:i}),b.HostComponent.injectGenericComponentClass(d),b.HostComponent.injectTextComponentClass(m),b.DOMProperty.injectDOMPropertyConfig(o),b.DOMProperty.injectDOMPropertyConfig(l),b.DOMProperty.injectDOMPropertyConfig(v),b.EmptyComponent.injectEmptyComponentFactory(function(e){return new p(e)}),b.Updates.injectReconcileTransaction(y),b.Updates.injectBatchingStrategy(g),b.Component.injectEnvironment(c))}var o=n(1482),i=n(1484),a=n(1486),s=n(1488),u=n(1489),l=n(1491),c=n(1493),d=n(1496),f=n(34),p=n(1498),h=n(1506),m=n(1504),g=n(1507),_=n(1511),b=n(1512),y=n(1517),v=n(1522),M=n(1523),A=n(1524),w=!1;e.exports={inject:r}},631,function(e,t,n){\"use strict\";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=n(168),i={handleTopLevel:function(e,t,n,i){var a=o.extractEvents(e,t,n,i);\nr(a)}};e.exports=i},function(e,t,n){\"use strict\";function r(e){for(;e._hostParent;)e=e._hostParent;var t=d.getNodeFromInstance(e),n=t.parentNode;return d.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function i(e){var t=p(e.nativeEvent),n=d.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var i=0;i<e.ancestors.length;i++)n=e.ancestors[i],m._handleTopLevel(e.topLevelType,n,e.nativeEvent,p(e.nativeEvent))}function a(e){var t=h(window);e(t)}var s=n(28),u=n(418),l=n(46),c=n(112),d=n(34),f=n(77),p=n(323),h=n(1257);s(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),c.addPoolingTo(o,c.twoArgumentPooler);var m={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:l.canUseDOM?window:null,setHandleTopLevel:function(e){m._handleTopLevel=e},setEnabled:function(e){m._enabled=!!e},isEnabled:function(){return m._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,m.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,m.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=a.bind(null,e);u.listen(window,\"scroll\",t)},dispatchEvent:function(e,t){if(m._enabled){var n=o.getPooled(e,t);try{f.batchedUpdates(i,n)}finally{o.release(n)}}}};e.exports=m},function(e,t,n){\"use strict\";var r=n(138),o=n(168),i=n(314),a=n(317),s=n(597),u=n(214),l=n(599),c=n(77),d={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};e.exports=d},function(e,t,n){\"use strict\";var r=n(1535),o=/\\/?>/,i=/^<\\!\\-\\-/,a={CHECKSUM_ATTR_NAME:\"data-react-checksum\",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o,\" \"+a.CHECKSUM_ATTR_NAME+'=\"'+t+'\"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};e.exports=a},function(e,t,n){\"use strict\";function r(e,t,n){return{type:\"INSERT_MARKUP\",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:\"MOVE_EXISTING\",content:null,fromIndex:e._mountIndex,fromNode:f.getHostNode(e),toIndex:n,afterNode:t}}function i(e,t){return{type:\"REMOVE_NODE\",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function a(e){return{type:\"SET_MARKUP\",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:\"TEXT_CONTENT\",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function l(e,t){d.processChildrenUpdates(e,t)}var c=n(24),d=n(317),f=(n(170),n(65),n(82),n(139)),p=n(1492),h=(n(63),n(1538)),m=(n(17),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return p.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var a,s=0;return a=h(t,s),p.updateChildren(e,a,n,r,o,this,this._hostContainerInfo,i,s),a},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],i=0;for(var a in r)if(r.hasOwnProperty(a)){var s=r[a],u=0,l=f.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=i++,o.push(l)}return o},updateTextContent:function(e){var t=this._renderedChildren;p.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c(\"118\");var r=[s(e)];l(this,r)},updateMarkup:function(e){var t=this._renderedChildren;p.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&c(\"118\");var r=[a(e)];l(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},i=[],a=this._reconcilerUpdateChildren(r,e,i,o,t,n);if(a||r){var s,c=null,d=0,p=0,h=0,m=null;for(s in a)if(a.hasOwnProperty(s)){var g=r&&r[s],_=a[s];g===_?(c=u(c,this.moveChild(g,m,d,p)),p=Math.max(g._mountIndex,p),g._mountIndex=d):(g&&(p=Math.max(g._mountIndex,p)),c=u(c,this._mountChildAtIndex(_,i[h],m,d,t,n)),h++),d++,m=f.getHostNode(_)}for(s in o)o.hasOwnProperty(s)&&(c=u(c,this._unmountChild(r[s],o[s])));c&&l(this,c),this._renderedChildren=a}},unmountChildren:function(e){var t=this._renderedChildren;p.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return o(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return i(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});e.exports=m},function(e,t,n){\"use strict\";function r(e){return!(!e||\"function\"!=typeof e.attachRef||\"function\"!=typeof e.detachRef)}var o=n(24),i=(n(17),{addComponentAsRefTo:function(e,t,n){r(n)?void 0:o(\"119\"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)?void 0:o(\"120\");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});e.exports=i},function(e,t){\"use strict\";var n=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";e.exports=n},function(e,t,n){\"use strict\";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=i.getPooled(null),this.useCreateElement=e}var o=n(28),i=n(593),a=n(112),s=n(214),u=n(600),l=(n(65),n(216)),c=n(319),d={initialize:u.getSelectionInformation,close:u.restoreSelection},f={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},p={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h=[d,f,p],m={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return c},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){i.release(this.reactMountReady),this.reactMountReady=null}};o(r.prototype,l,m),a.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n){\"function\"==typeof e?e(t.getPublicInstance()):i.addComponentAsRefTo(t,e,n)}function o(e,t,n){\"function\"==typeof e?e(null):i.removeComponentAsRefFrom(t,e,n)}var i=n(1515),a={};a.attachRefs=function(e,t){if(null!==t&&\"object\"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},a.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&\"object\"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&\"object\"==typeof t&&(o=t.ref,i=t._owner),n!==o||\"string\"==typeof o&&i!==r},a.detachRefs=function(e,t){if(null!==t&&\"object\"==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},e.exports=a},function(e,t,n){\"use strict\";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var o=n(28),i=n(112),a=n(216),s=(n(65),n(1520)),u=[],l={enqueue:function(){}},c={getTransactionWrappers:function(){return u},getReactMountReady:function(){return l},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};o(r.prototype,a,c),i.addPoolingTo(r),e.exports=r},function(e,t,n){\"use strict\";function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function o(e,t){}var i=n(319),a=(n(20),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&i.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()?i.enqueueForceUpdate(e):o(e,\"forceUpdate\")},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()?i.enqueueReplaceState(e,t):o(e,\"replaceState\")},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()?i.enqueueSetState(e,t):o(e,\"setState\")},e}());e.exports=a},function(e,t){\"use strict\";e.exports=\"15.5.4\"},function(e,t){\"use strict\";var n={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},r={accentHeight:\"accent-height\",accumulate:0,additive:0,alignmentBaseline:\"alignment-baseline\",allowReorder:\"allowReorder\",alphabetic:0,amplitude:0,arabicForm:\"arabic-form\",ascent:0,attributeName:\"attributeName\",attributeType:\"attributeType\",autoReverse:\"autoReverse\",azimuth:0,baseFrequency:\"baseFrequency\",baseProfile:\"baseProfile\",baselineShift:\"baseline-shift\",bbox:0,begin:0,bias:0,by:0,calcMode:\"calcMode\",capHeight:\"cap-height\",clip:0,clipPath:\"clip-path\",clipRule:\"clip-rule\",clipPathUnits:\"clipPathUnits\",colorInterpolation:\"color-interpolation\",colorInterpolationFilters:\"color-interpolation-filters\",colorProfile:\"color-profile\",colorRendering:\"color-rendering\",contentScriptType:\"contentScriptType\",contentStyleType:\"contentStyleType\",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:\"diffuseConstant\",direction:0,display:0,divisor:0,dominantBaseline:\"dominant-baseline\",dur:0,dx:0,dy:0,edgeMode:\"edgeMode\",elevation:0,enableBackground:\"enable-background\",end:0,exponent:0,externalResourcesRequired:\"externalResourcesRequired\",fill:0,fillOpacity:\"fill-opacity\",fillRule:\"fill-rule\",filter:0,filterRes:\"filterRes\",filterUnits:\"filterUnits\",floodColor:\"flood-color\",floodOpacity:\"flood-opacity\",focusable:0,fontFamily:\"font-family\",fontSize:\"font-size\",fontSizeAdjust:\"font-size-adjust\",fontStretch:\"font-stretch\",fontStyle:\"font-style\",fontVariant:\"font-variant\",fontWeight:\"font-weight\",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:\"glyph-name\",glyphOrientationHorizontal:\"glyph-orientation-horizontal\",glyphOrientationVertical:\"glyph-orientation-vertical\",glyphRef:\"glyphRef\",gradientTransform:\"gradientTransform\",gradientUnits:\"gradientUnits\",hanging:0,horizAdvX:\"horiz-adv-x\",horizOriginX:\"horiz-origin-x\",ideographic:0,imageRendering:\"image-rendering\",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:\"kernelMatrix\",kernelUnitLength:\"kernelUnitLength\",kerning:0,keyPoints:\"keyPoints\",keySplines:\"keySplines\",keyTimes:\"keyTimes\",lengthAdjust:\"lengthAdjust\",letterSpacing:\"letter-spacing\",lightingColor:\"lighting-color\",limitingConeAngle:\"limitingConeAngle\",local:0,markerEnd:\"marker-end\",markerMid:\"marker-mid\",markerStart:\"marker-start\",markerHeight:\"markerHeight\",markerUnits:\"markerUnits\",markerWidth:\"markerWidth\",mask:0,maskContentUnits:\"maskContentUnits\",maskUnits:\"maskUnits\",mathematical:0,mode:0,numOctaves:\"numOctaves\",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:\"overline-position\",overlineThickness:\"overline-thickness\",paintOrder:\"paint-order\",panose1:\"panose-1\",pathLength:\"pathLength\",patternContentUnits:\"patternContentUnits\",patternTransform:\"patternTransform\",patternUnits:\"patternUnits\",pointerEvents:\"pointer-events\",points:0,pointsAtX:\"pointsAtX\",pointsAtY:\"pointsAtY\",pointsAtZ:\"pointsAtZ\",preserveAlpha:\"preserveAlpha\",preserveAspectRatio:\"preserveAspectRatio\",primitiveUnits:\"primitiveUnits\",r:0,radius:0,refX:\"refX\",refY:\"refY\",renderingIntent:\"rendering-intent\",repeatCount:\"repeatCount\",repeatDur:\"repeatDur\",requiredExtensions:\"requiredExtensions\",requiredFeatures:\"requiredFeatures\",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:\"shape-rendering\",slope:0,spacing:0,specularConstant:\"specularConstant\",specularExponent:\"specularExponent\",speed:0,spreadMethod:\"spreadMethod\",startOffset:\"startOffset\",stdDeviation:\"stdDeviation\",stemh:0,stemv:0,stitchTiles:\"stitchTiles\",stopColor:\"stop-color\",stopOpacity:\"stop-opacity\",strikethroughPosition:\"strikethrough-position\",strikethroughThickness:\"strikethrough-thickness\",string:0,stroke:0,strokeDasharray:\"stroke-dasharray\",strokeDashoffset:\"stroke-dashoffset\",strokeLinecap:\"stroke-linecap\",strokeLinejoin:\"stroke-linejoin\",strokeMiterlimit:\"stroke-miterlimit\",strokeOpacity:\"stroke-opacity\",strokeWidth:\"stroke-width\",surfaceScale:\"surfaceScale\",systemLanguage:\"systemLanguage\",tableValues:\"tableValues\",targetX:\"targetX\",targetY:\"targetY\",textAnchor:\"text-anchor\",textDecoration:\"text-decoration\",textRendering:\"text-rendering\",textLength:\"textLength\",to:0,transform:0,u1:0,u2:0,underlinePosition:\"underline-position\",underlineThickness:\"underline-thickness\",unicode:0,unicodeBidi:\"unicode-bidi\",unicodeRange:\"unicode-range\",unitsPerEm:\"units-per-em\",vAlphabetic:\"v-alphabetic\",vHanging:\"v-hanging\",vIdeographic:\"v-ideographic\",vMathematical:\"v-mathematical\",values:0,vectorEffect:\"vector-effect\",version:0,vertAdvY:\"vert-adv-y\",vertOriginX:\"vert-origin-x\",vertOriginY:\"vert-origin-y\",viewBox:\"viewBox\",viewTarget:\"viewTarget\",visibility:0,widths:0,wordSpacing:\"word-spacing\",writingMode:\"writing-mode\",x:0,xHeight:\"x-height\",x1:0,x2:0,xChannelSelector:\"xChannelSelector\",xlinkActuate:\"xlink:actuate\",xlinkArcrole:\"xlink:arcrole\",xlinkHref:\"xlink:href\",xlinkRole:\"xlink:role\",xlinkShow:\"xlink:show\",xlinkTitle:\"xlink:title\",xlinkType:\"xlink:type\",xmlBase:\"xml:base\",xmlns:0,xmlnsXlink:\"xmlns:xlink\",xmlLang:\"xml:lang\",xmlSpace:\"xml:space\",y:0,y1:0,y2:0,yChannelSelector:\"yChannelSelector\",z:0,zoomAndPan:\"zoomAndPan\"},o={Properties:{},DOMAttributeNamespaces:{xlinkActuate:n.xlink,xlinkArcrole:n.xlink,xlinkHref:n.xlink,xlinkRole:n.xlink,xlinkShow:n.xlink,xlinkTitle:n.xlink,xlinkType:n.xlink,xmlBase:n.xml,xmlLang:n.xml,xmlSpace:n.xml},DOMAttributeNames:{}};Object.keys(r).forEach(function(e){o.Properties[e]=0,r[e]&&(o.DOMAttributeNames[e]=r[e])}),e.exports=o},function(e,t,n){\"use strict\";function r(e){if(\"selectionStart\"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e,t){if(b||null==m||m!==c())return null;var n=r(m);if(!_||!f(_,n)){_=n;var o=l.getPooled(h.select,g,e,t);return o.type=\"select\",o.target=m,i.accumulateTwoPhaseDispatches(o),o}return null}var i=n(169),a=n(46),s=n(34),u=n(600),l=n(81),c=n(420),d=n(609),f=n(289),p=a.canUseDOM&&\"documentMode\"in document&&document.documentMode<=11,h={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:[\"topBlur\",\"topContextMenu\",\"topFocus\",\"topKeyDown\",\"topKeyUp\",\"topMouseDown\",\"topMouseUp\",\"topSelectionChange\"]}},m=null,g=null,_=null,b=!1,y=!1,v={eventTypes:h,extractEvents:function(e,t,n,r){if(!y)return null;var i=t?s.getNodeFromInstance(t):window;switch(e){case\"topFocus\":(d(i)||\"true\"===i.contentEditable)&&(m=i,g=t,_=null);break;case\"topBlur\":m=null,g=null,_=null;break;case\"topMouseDown\":b=!0;break;case\"topContextMenu\":case\"topMouseUp\":return b=!1,o(n,r);case\"topSelectionChange\":if(p)break;case\"topKeyDown\":case\"topKeyUp\":return o(n,r)}return null},didPutListener:function(e,t,n){\"onSelect\"===t&&(y=!0)}};e.exports=v},function(e,t,n){\"use strict\";function r(e){return\".\"+e._rootNodeID}function o(e){return\"button\"===e||\"input\"===e||\"select\"===e||\"textarea\"===e}var i=n(24),a=n(418),s=n(169),u=n(34),l=n(1525),c=n(1526),d=n(81),f=n(1529),p=n(1531),h=n(215),m=n(1528),g=n(1532),_=n(1533),b=n(171),y=n(1534),v=n(63),M=n(321),A=(n(17),{}),w={};[\"abort\",\"animationEnd\",\"animationIteration\",\"animationStart\",\"blur\",\"canPlay\",\"canPlayThrough\",\"click\",\"contextMenu\",\"copy\",\"cut\",\"doubleClick\",\"drag\",\"dragEnd\",\"dragEnter\",\"dragExit\",\"dragLeave\",\"dragOver\",\"dragStart\",\"drop\",\"durationChange\",\"emptied\",\"encrypted\",\"ended\",\"error\",\"focus\",\"input\",\"invalid\",\"keyDown\",\"keyPress\",\"keyUp\",\"load\",\"loadedData\",\"loadedMetadata\",\"loadStart\",\"mouseDown\",\"mouseMove\",\"mouseOut\",\"mouseOver\",\"mouseUp\",\"paste\",\"pause\",\"play\",\"playing\",\"progress\",\"rateChange\",\"reset\",\"scroll\",\"seeked\",\"seeking\",\"stalled\",\"submit\",\"suspend\",\"timeUpdate\",\"touchCancel\",\"touchEnd\",\"touchMove\",\"touchStart\",\"transitionEnd\",\"volumeChange\",\"waiting\",\"wheel\"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n=\"on\"+t,r=\"top\"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+\"Capture\"},dependencies:[r]};A[e]=o,w[r]=o});var C={},E={eventTypes:A,extractEvents:function(e,t,n,r){var o=w[e];if(!o)return null;var a;switch(e){case\"topAbort\":case\"topCanPlay\":case\"topCanPlayThrough\":case\"topDurationChange\":case\"topEmptied\":case\"topEncrypted\":case\"topEnded\":case\"topError\":case\"topInput\":case\"topInvalid\":case\"topLoad\":case\"topLoadedData\":case\"topLoadedMetadata\":case\"topLoadStart\":case\"topPause\":case\"topPlay\":case\"topPlaying\":case\"topProgress\":case\"topRateChange\":case\"topReset\":case\"topSeeked\":case\"topSeeking\":case\"topStalled\":case\"topSubmit\":case\"topSuspend\":case\"topTimeUpdate\":case\"topVolumeChange\":case\"topWaiting\":a=d;break;case\"topKeyPress\":if(0===M(n))return null;case\"topKeyDown\":case\"topKeyUp\":a=p;break;case\"topBlur\":case\"topFocus\":a=f;break;case\"topClick\":if(2===n.button)return null;case\"topDoubleClick\":case\"topMouseDown\":case\"topMouseMove\":case\"topMouseUp\":case\"topMouseOut\":case\"topMouseOver\":case\"topContextMenu\":a=h;break;case\"topDrag\":case\"topDragEnd\":case\"topDragEnter\":case\"topDragExit\":case\"topDragLeave\":case\"topDragOver\":case\"topDragStart\":case\"topDrop\":a=m;break;case\"topTouchCancel\":case\"topTouchEnd\":case\"topTouchMove\":case\"topTouchStart\":a=g;break;case\"topAnimationEnd\":case\"topAnimationIteration\":case\"topAnimationStart\":a=l;break;case\"topTransitionEnd\":a=_;break;case\"topScroll\":a=b;break;case\"topWheel\":a=y;break;case\"topCopy\":case\"topCut\":case\"topPaste\":a=c}a?void 0:i(\"86\",e);var u=a.getPooled(o,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if(\"onClick\"===t&&!o(e._tag)){var i=r(e),s=u.getNodeFromInstance(e);C[i]||(C[i]=a.listen(s,\"click\",v))}},willDeleteListener:function(e,t){if(\"onClick\"===t&&!o(e._tag)){var n=r(e);C[n].remove(),delete C[n]}}};e.exports=E},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={animationName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={clipboardData:function(e){return\"clipboardData\"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(215),i={dataTransfer:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i={relatedTarget:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={data:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i=n(321),a=n(1539),s=n(322),u={key:a,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return\"keypress\"===e.type?i(e):0},keyCode:function(e){return\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0},which:function(e){return\"keypress\"===e.type?i(e):\"keydown\"===e.type||\"keyup\"===e.type?e.keyCode:0}};o.augmentClass(r,u),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(171),i=n(322),a={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:i};o.augmentClass(r,a),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(81),i={propertyName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,i),e.exports=r},function(e,t,n){\"use strict\";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=n(215),i={deltaX:function(e){return\"deltaX\"in e?e.deltaX:\"wheelDeltaX\"in e?-e.wheelDeltaX:0},deltaY:function(e){return\"deltaY\"in e?e.deltaY:\"wheelDeltaY\"in e?-e.wheelDeltaY:\"wheelDelta\"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,i),e.exports=r},function(e,t){\"use strict\";function n(e){for(var t=1,n=0,o=0,i=e.length,a=i&-4;o<a;){for(var s=Math.min(o+4096,a);o<s;o+=4)n+=(t+=e.charCodeAt(o))+(t+=e.charCodeAt(o+1))+(t+=e.charCodeAt(o+2))+(t+=e.charCodeAt(o+3));t%=r,n%=r}for(;o<i;o++)n+=t+=e.charCodeAt(o);return t%=r,n%=r,t|n<<16}var r=65521;e.exports=n},function(e,t,n){\"use strict\";function r(e,t,n){var r=null==t||\"boolean\"==typeof t||\"\"===t;if(r)return\"\";var o=isNaN(t);if(o||0===t||i.hasOwnProperty(e)&&i[e])return\"\"+t;if(\"string\"==typeof t){t=t.trim()}return t+\"px\"}var o=n(592),i=(n(20),o.isUnitlessNumber);e.exports=r},function(e,t,n){\"use strict\";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=a.get(e);return t?(t=s(t),t?i.getNodeFromInstance(t):null):void(\"function\"==typeof e.render?o(\"44\"):o(\"45\",Object.keys(e)))}var o=n(24),i=(n(82),n(34)),a=n(170),s=n(606);n(17),n(20);e.exports=r},function(e,t,n){(function(t){\"use strict\";function r(e,t,n,r){if(e&&\"object\"==typeof e){var o=e,i=void 0===o[n];i&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return i(e,r,n),n}var i=(n(315),n(611));n(20);\"undefined\"!=typeof t&&t.env,1,e.exports=o}).call(t,n(135))},function(e,t,n){\"use strict\";function r(e){if(e.key){var t=i[e.key]||e.key;if(\"Unidentified\"!==t)return t}if(\"keypress\"===e.type){var n=o(e);return 13===n?\"Enter\":String.fromCharCode(n)}return\"keydown\"===e.type||\"keyup\"===e.type?a[e.keyCode]||\"Unidentified\":\"\"}var o=n(321),i={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},a={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};e.exports=r},function(e,t){\"use strict\";function n(e){var t=e&&(r&&e[r]||e[o]);if(\"function\"==typeof t)return t}var r=\"function\"==typeof Symbol&&Symbol.iterator,o=\"@@iterator\";e.exports=n},function(e,t){\"use strict\";function n(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function r(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function o(e,t){for(var o=n(e),i=0,a=0;o;){if(3===o.nodeType){if(a=i+o.textContent.length,i<=t&&a>=t)return{node:o,offset:t-i};i=a}o=n(r(o))}}e.exports=o},function(e,t,n){\"use strict\";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[\"Webkit\"+e]=\"webkit\"+t,n[\"Moz\"+e]=\"moz\"+t,n[\"ms\"+e]=\"MS\"+t,n[\"O\"+e]=\"o\"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!a[e])return e;var t=a[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return\"\"}var i=n(46),a={animationend:r(\"Animation\",\"AnimationEnd\"),animationiteration:r(\"Animation\",\"AnimationIteration\"),animationstart:r(\"Animation\",\"AnimationStart\"),transitionend:r(\"Transition\",\"TransitionEnd\")},s={},u={};i.canUseDOM&&(u=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete a.animationend.animation,delete a.animationiteration.animation,delete a.animationstart.animation),\"TransitionEvent\"in window||delete a.transitionend.transition),e.exports=o},function(e,t,n){\"use strict\";function r(e){return'\"'+o(e)+'\"'}var o=n(217);e.exports=r},function(e,t,n){\"use strict\";var r=n(601);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){\"use strict\";function r(e,t,n,r,o){}e.exports=r},function(e,t,n){\"use strict\";var r=n(1547);e.exports=function(e){var t=!1;return r(e,t)}},function(e,t,n){\"use strict\";var r=n(63),o=n(17),i=n(20),a=n(1548),s=n(1545);e.exports=function(e,t){function n(e){var t=e&&(T&&e[T]||e[O]);if(\"function\"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function l(e){this.message=e,this.stack=\"\"}function c(e){function n(n,r,i,s,u,c,d){if(s=s||S,c=c||i,d!==a)if(t)o(!1,\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types\");else;return null==r[i]?n?new l(null===r[i]?\"The \"+u+\" `\"+c+\"` is marked as required \"+(\"in `\"+s+\"`, but its value is `null`.\"):\"The \"+u+\" `\"+c+\"` is marked as required in \"+(\"`\"+s+\"`, but its value is `undefined`.\")):null:e(r,i,s,u,c)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function d(e){function t(t,n,r,o,i,a){var s=t[n],u=w(s);if(u!==e){var c=C(s);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+c+\"` supplied to `\"+r+\"`, expected \")+(\"`\"+e+\"`.\"))}return null}return c(t)}function f(){return c(r.thatReturnsNull)}function p(e){function t(t,n,r,o,i){if(\"function\"!=typeof e)return new l(\"Property `\"+i+\"` of component `\"+r+\"` has invalid PropType notation inside arrayOf.\");var s=t[n];if(!Array.isArray(s)){var u=w(s);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an array.\"))}for(var c=0;c<s.length;c++){var d=e(s,c,r,o,i+\"[\"+c+\"]\",a);if(d instanceof Error)return d}return null}return c(t)}function h(){function t(t,n,r,o,i){var a=t[n];if(!e(a)){var s=w(a);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected a single ReactElement.\"))}return null}return c(t)}function m(e){function t(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||S,s=L(t[n]);return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+s+\"` supplied to `\"+r+\"`, expected \")+(\"instance of `\"+a+\"`.\"))}return null}return c(t)}function g(e){function t(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(u(a,e[s]))return null;var c=JSON.stringify(e);return new l(\"Invalid \"+o+\" `\"+i+\"` of value `\"+a+\"` \"+(\"supplied to `\"+r+\"`, expected one of \"+c+\".\"))}return Array.isArray(e)?c(t):r.thatReturnsNull}function _(e){function t(t,n,r,o,i){if(\"function\"!=typeof e)return new l(\"Property `\"+i+\"` of component `\"+r+\"` has invalid PropType notation inside objectOf.\");var s=t[n],u=w(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+i+\"` of type \"+(\"`\"+u+\"` supplied to `\"+r+\"`, expected an object.\"));for(var c in s)if(s.hasOwnProperty(c)){var d=e(s,c,r,o,i+\".\"+c,a);if(d instanceof Error)return d}return null}return c(t)}function b(e){function t(t,n,r,o,i){for(var s=0;s<e.length;s++){var u=e[s];if(null==u(t,n,r,o,i,a))return null}return new l(\"Invalid \"+o+\" `\"+i+\"` supplied to \"+(\"`\"+r+\"`.\"))}if(!Array.isArray(e))return r.thatReturnsNull;for(var n=0;n<e.length;n++){var o=e[n];if(\"function\"!=typeof o)return i(!1,\"Invalid argument supplid to oneOfType. Expected an array of check functions, but received %s at index %s.\",E(o),n),r.thatReturnsNull}return c(t)}function y(){function e(e,t,n,r,o){return M(e[t])?null:new l(\"Invalid \"+r+\" `\"+o+\"` supplied to \"+(\"`\"+n+\"`, expected a ReactNode.\"))}return c(e)}function v(e){function t(t,n,r,o,i){var s=t[n],u=w(s);if(\"object\"!==u)return new l(\"Invalid \"+o+\" `\"+i+\"` of type `\"+u+\"` \"+(\"supplied to `\"+r+\"`, expected `object`.\"));for(var c in e){var d=e[c];if(d){var f=d(s,c,r,o,i+\".\"+c,a);if(f)return f}}return null}return c(t)}function M(t){switch(typeof t){case\"number\":case\"string\":case\"undefined\":return!0;case\"boolean\":return!t;case\"object\":if(Array.isArray(t))return t.every(M);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!M(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!M(a[1]))return!1}return!0;default:return!1}}function A(e,t){return\"symbol\"===e||(\"Symbol\"===t[\"@@toStringTag\"]||\"function\"==typeof Symbol&&t instanceof Symbol)}function w(e){var t=typeof e;return Array.isArray(e)?\"array\":e instanceof RegExp?\"object\":A(t,e)?\"symbol\":t}function C(e){if(\"undefined\"==typeof e||null===e)return\"\"+e;var t=w(e);if(\"object\"===t){if(e instanceof Date)return\"date\";if(e instanceof RegExp)return\"regexp\"}return t}function E(e){var t=C(e);switch(t){case\"array\":case\"object\":return\"an \"+t;case\"boolean\":case\"date\":case\"regexp\":return\"a \"+t;default:return t}}function L(e){return e.constructor&&e.constructor.name?e.constructor.name:S}var T=\"function\"==typeof Symbol&&Symbol.iterator,O=\"@@iterator\",S=\"<<anonymous>>\",N={array:d(\"array\"),bool:d(\"boolean\"),func:d(\"function\"),number:d(\"number\"),object:d(\"object\"),string:d(\"string\"),symbol:d(\"symbol\"),any:f(),arrayOf:p,element:h(),instanceOf:m,node:y(),objectOf:_,oneOf:g,oneOfType:b,shape:v};return l.prototype=Error.prototype,N.checkPropTypes=s,N.PropTypes=N,N}},function(e,t){\"use strict\";var n=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\";e.exports=n},function(e,t,n){\"use strict\";var r=n(148),o=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.I18nextProvider=void 0;var i=o(n(116)),a=o(n(117)),s=o(n(120)),u=o(n(118)),l=o(n(119)),c=r(n(1)),d=n(140),f=n(141),p=function(e){function t(e){var n;return(0,i.default)(this,t),n=(0,s.default)(this,(0,u.default)(t).call(this,e)),(0,f.initSSR)(e,!0),n}return(0,l.default)(t,e),(0,a.default)(t,[{key:\"componentWillReceiveProps\",value:function(e){if(this.props.i18n!==e.i18n)throw new Error(\"[react-i18next][I18nextProvider]does not support changing the i18n object.\")}},{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.i18n,r=e.defaultNS,o=e.reportNS;return c.default.createElement(d.I18nContext.Provider,{value:{i18n:n,defaultNS:r,reportNS:o,lng:n&&n.language,t:n&&n.t.bind(n)}},t)}}]),t}(c.Component);t.I18nextProvider=p},function(e,t,n){\"use strict\";var r=n(148),o=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.Interpolate=t.InterpolateComponent=void 0;var i=o(n(173)),a=o(n(116)),s=o(n(117)),u=o(n(120)),l=o(n(118)),c=o(n(119)),d=r(n(1)),f=n(140),p=n(141),h=function(e){function t(e){var n;return(0,a.default)(this,t),n=(0,u.default)(this,(0,l.default)(t).call(this,e)),(0,p.deprecated)('Interpolate is deprecated and will be removed in the next major version (v9.0.0). Usage can be replaced by the \"Trans\" component'),n}return(0,c.default)(t,e),(0,s.default)(t,[{key:\"render\",value:function(){var e=this,t=this.props,n=t.i18n,r=t.t,o=t.i18nKey,a=t.options,s=t.className,u=t.style,l=this.props.parent||\"span\",c=this.props.regexp||n.services.interpolator.regexp,f=this.props.useDangerouslySetInnerHTML||!1,p=this.props.dangerouslySetInnerHTMLPartElement||\"span\",h=(0,i.default)({},{},a,{interpolation:{prefix:\"#$?\",suffix:\"?$#\"}}),m=r(o,h);if(!m||\"string\"!=typeof m)return d.default.createElement(\"noscript\",null);var g=[],_=function(e,t){if(e.indexOf(n.options.interpolation.formatSeparator)<0)return void 0===t[e]&&n.services.logger.warn(\"interpolator: missed to pass in variable \".concat(e,\" for interpolating \").concat(m)),t[e];var r=e.split(n.options.interpolation.formatSeparator),o=r.shift().trim(),i=r.join(n.options.interpolation.formatSeparator).trim();return void 0===t[o]&&n.services.logger.warn(\"interpolator: missed to pass in variable \".concat(o,\" for interpolating \").concat(m)),n.options.interpolation.format(t[o],i,n.language)};m.split(c).reduce(function(t,n,r){var o;if(r%2===0){if(0===n.length)return t;o=f?d.default.createElement(p,{dangerouslySetInnerHTML:{__html:n}}):n}else o=_(n,e.props);return t.push(o),t},g);var b={};if(n.options.react&&n.options.react.exposeNamespace){var y=\"string\"==typeof r.ns?r.ns:r.ns[0];if(o&&n.options.nsSeparator&&o.indexOf(n.options.nsSeparator)>-1){var v=o.split(n.options.nsSeparator);y=v[0]}r.ns&&(b[\"data-i18next-options\"]=JSON.stringify({ns:y}))}return s&&(b.className=s),u&&(b.style=u),d.default.createElement.apply(this,[l,b].concat(g))}}]),t}(d.Component);t.InterpolateComponent=h;var m=(0,f.withI18n)()(h);t.Interpolate=m},function(e,t,n){\"use strict\";function r(e){return e&&(e.children||e.props&&e.props.children)}function o(e){return e&&e.children?e.children:e.props&&e.props.children}function i(e,t,n){return t?(\"[object Array]\"!==Object.prototype.toString.call(t)&&(t=[t]),t.forEach(function(t,n){\nvar a=\"\".concat(n);if(\"string\"==typeof t)e=\"\".concat(e).concat(t);else if(r(t))e=\"\".concat(e,\"<\").concat(a,\">\").concat(i(\"\",o(t),n+1),\"</\").concat(a,\">\");else if(g.default.isValidElement(t))e=\"\".concat(e,\"<\").concat(a,\"></\").concat(a,\">\");else if(\"object\"===(0,m.default)(t)){var s=(0,h.default)({},t),u=s.format;delete s.format;var l=Object.keys(s);u&&1===l.length?e=\"\".concat(e,\"{{\").concat(l[0],\", \").concat(u,\"}}\"):1===l.length?e=\"\".concat(e,\"{{\").concat(l[0],\"}}\"):(0,y.warn)(\"react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.\",t)}else(0,y.warn)(\"Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.\",t)}),e):\"\"}function a(e,t,n){function i(e){\"[object Array]\"!==Object.prototype.toString.call(e)&&(e=[e]),e.forEach(function(e){\"string\"!=typeof e&&(r(e)?i(o(e)):\"object\"!==(0,m.default)(e)||g.default.isValidElement(e)||Object.assign(s,e))})}function a(e,t){return\"[object Array]\"!==Object.prototype.toString.call(e)&&(e=[e]),\"[object Array]\"!==Object.prototype.toString.call(t)&&(t=[t]),t.reduce(function(t,n,i){if(\"tag\"===n.type){var s=e[parseInt(n.name,10)]||{},u=g.default.isValidElement(s);if(\"string\"==typeof s)t.push(s);else if(r(s)){var l=a(o(s),n.children);s.dummy&&(s.children=l),t.push(g.default.cloneElement(s,(0,h.default)({},s.props,{key:i}),l))}else if(\"object\"!==(0,m.default)(s)||u)t.push(s);else{var c=n.children[0]?n.children[0].content:null;c&&t.push(c)}}else\"text\"===n.type&&t.push(n.content);return t},[])}if(\"\"===t)return[];if(!e)return[t];var s={};i(e),t=n.services.interpolator.interpolate(t,s,n.language);var u=_.default.parse(\"<0>\".concat(t,\"</0>\")),l=a([{dummy:!0,children:e}],u);return o(l[0])}var s=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.Trans=t.TransComponent=void 0;var u=s(n(341)),l=s(n(116)),c=s(n(117)),d=s(n(120)),f=s(n(118)),p=s(n(119)),h=s(n(173)),m=s(n(228)),g=s(n(1)),_=s(n(1270)),b=n(140),y=n(141),v=function(e){function t(){return(0,l.default)(this,t),(0,d.default)(this,(0,f.default)(t).apply(this,arguments))}return(0,p.default)(t,e),(0,c.default)(t,[{key:\"render\",value:function(){var e=this.props,t=e.children,n=e.count,r=e.parent,o=e.i18nKey,s=e.tOptions,l=e.values,c=e.defaults,d=e.components,f=e.ns,p=e.i18n,m=e.t,_=(e.defaultNS,e.reportNS,e.lng,e.i18nOptions,(0,u.default)(e,[\"children\",\"count\",\"parent\",\"i18nKey\",\"tOptions\",\"values\",\"defaults\",\"components\",\"ns\",\"i18n\",\"t\",\"defaultNS\",\"reportNS\",\"lng\",\"i18nOptions\"])),b=m||p.t.bind(p),y=p.options&&p.options.react||{},v=void 0!==r?r:y.defaultTransParent,M=c||i(\"\",t,0),A=y.hashTransKey,w=o||(A?A(M):M),C=l?{}:{interpolation:{prefix:\"#$?\",suffix:\"?$#\"}},E=w?b(w,(0,h.default)({},s,l,C,{defaultValue:M,count:n,ns:f})):M;if(y.exposeNamespace){var L=\"string\"==typeof b.ns?b.ns:b.ns[0];if(o&&p.options&&p.options.nsSeparator&&o.indexOf(p.options.nsSeparator)>-1){var T=o.split(p.options.nsSeparator);L=T[0]}b.ns&&(_[\"data-i18next-options\"]=JSON.stringify({ns:L}))}return v?g.default.createElement(v,_,a(d||t,E,p)):a(d||t,E,p)}}]),t}(g.default.Component);t.TransComponent=v;var M=(0,b.withI18n)()(v);t.Trans=M},function(e,t,n){\"use strict\";function r(e){return e.displayName||e.name||\"Component\"}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(n){var o=function(r){function o(){return(0,c.default)(this,o),(0,f.default)(this,(0,p.default)(o).apply(this,arguments))}return(0,h.default)(o,r),(0,d.default)(o,[{key:\"shouldComponentUpdate\",value:function(e){var n=this.props.i18nOptions;return!n.usePureComponent&&!t.usePureComponent||!(0,_.shallowEqual)(this.props,e)}},{key:\"render\",value:function(){var r=this,o=this.props,i=o.namespaces,a=o.i18nOptions,s=(0,l.default)({},a,t),c={};return s.innerRef&&(c.ref=s.innerRef),m.default.createElement(y.NamespacesConsumer,(0,l.default)({ns:i||e},this.props,{i18nOptions:Object.keys(s).length>0?s:null}),function(e,t){var o=t.ready,i=(0,u.default)(t,[\"ready\"]);return m.default.createElement(n,(0,l.default)({tReady:o},r.props,c,i))})}}]),o}(m.Component),i=(0,b.withI18n)()(o);return i.WrappedComponent=n,i.displayName=\"LoadNamespace(\".concat(r(n),\")\"),i.namespaces=e,(0,g.default)(i,n)}}function i(e,t){return(0,_.deprecated)('translate was renamed to \"withNamespaces\" to make it more clear what the HOC does.'),o(e,t)}var a=n(148),s=n(93);Object.defineProperty(t,\"__esModule\",{value:!0}),t.withNamespaces=o,t.translate=i;var u=s(n(341)),l=s(n(173)),c=s(n(116)),d=s(n(117)),f=s(n(120)),p=s(n(118)),h=s(n(119)),m=a(n(1)),g=s(n(1553)),_=n(141),b=n(140),y=n(612);o.setDefaults=b.setDefaults,o.setI18n=b.setI18n},function(e,t,n){\"use strict\";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function o(e,t,n){if(\"string\"!=typeof t){if(m){var r=h(t);r&&r!==m&&o(e,r,n)}var i=d(t);f&&(i=i.concat(f(t)));for(var a=l[e.$$typeof]||s,g=l[t.$$typeof]||s,_=0;_<i.length;++_){var b=i[_];if(!(u[b]||n&&n[b]||g&&g[b]||a&&a[b])){var y=p(t,b);try{c(e,b,y)}catch(e){}}}return e}return e}var i,a=n(613),s=(n(1),{childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0}),u={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},l=r({},a.ForwardRef,(i={},r(i,\"$$typeof\",!0),r(i,\"render\",!0),i)),c=Object.defineProperty,d=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,h=Object.getPrototypeOf,m=Object.prototype;e.exports=o},function(e,t){\"use strict\";function n(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case c:case a:case s:return e;default:switch(e=e&&e.$$typeof){case l:case d:case u:return e;default:return t}}case i:return t}}}Object.defineProperty(t,\"__esModule\",{value:!0});var r=\"function\"==typeof Symbol&&Symbol.for,o=r?Symbol.for(\"react.element\"):60103,i=r?Symbol.for(\"react.portal\"):60106,a=r?Symbol.for(\"react.fragment\"):60107,s=r?Symbol.for(\"react.strict_mode\"):60108,u=r?Symbol.for(\"react.provider\"):60109,l=r?Symbol.for(\"react.context\"):60110,c=r?Symbol.for(\"react.async_mode\"):60111,d=r?Symbol.for(\"react.forward_ref\"):60112;t.typeOf=n,t.AsyncMode=c,t.ContextConsumer=l,t.ContextProvider=u,t.Element=o,t.ForwardRef=d,t.Fragment=a,t.Portal=i,t.StrictMode=s,t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===a||e===c||e===s||\"object\"==typeof e&&null!==e&&(e.$$typeof===u||e.$$typeof===l||e.$$typeof===d)},t.isAsyncMode=function(e){return n(e)===c},t.isContextConsumer=function(e){return n(e)===l},t.isContextProvider=function(e){return n(e)===u},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return n(e)===d},t.isFragment=function(e){return n(e)===a},t.isPortal=function(e){return n(e)===i},t.isStrictMode=function(e){return n(e)===s}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){return!!(e&&t&&e.some(function(e){return~t.indexOf(e)}))}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(285),u=r(s),l=function(){function e(t,n){var r=this;o(this,e),this.component=t,this.allProps=[],this.cache=Object.keys(n).reduce(function(e,t){var o,i=n[t],s=i.fn,u=i.params;return u.forEach(function(e){~r.allProps.indexOf(e)||r.allProps.push(e)}),a({},e,(o={},o[t]={value:void 0,props:u,fn:s},o))},{})}return e.prototype.get=function(e){var t=this.component,n=this.cache[e],r=n.value,o=n.fn,i=n.props;if(void 0!==r)return r;var a=i.map(function(e){return t.props[e]}),s=o.apply(void 0,a);return this.cache[e].value=s,s},e.prototype.componentWillReceiveProps=function(e){var t=this,n=this.component,r=[];this.allProps.forEach(function(t){u.default(n.props[t],e[t])||r.push(t)}),r.length&&Object.keys(this.cache).forEach(function(e){i(r,t.cache[e].props)&&delete t.cache[e].value})},e}();t.default=l,e.exports=t.default},function(e,t,n){e.exports=n(1555)},function(e,t,n){\"use strict\";function r(e){o.Component.call(this,e)}var o=n(1),i=n(910).Parser,a=n(906),s=n(5);r.prototype=Object.create(o.Component.prototype),r.prototype.constructor=r,r.prototype.render=function(){var e=this.props.containerProps||{},t=new a(this.props),n=new i(this.props.parserOptions),r=n.parse(this.props.source||\"\");if(this.props.walker)for(var s,u=r.walker();s=u.next();)this.props.walker.call(this,s,u);return this.props.className&&(e.className=this.props.className),o.createElement.apply(o,[this.props.containerTagName,e,this.props.childBefore].concat(t.render(r).concat([this.props.childAfter])))},r.propTypes={className:s.string,containerProps:s.object,source:s.string.isRequired,containerTagName:s.string,childBefore:s.object,childAfter:s.object,sourcePos:s.bool,escapeHtml:s.bool,skipHtml:s.bool,softBreak:s.string,allowNode:s.func,allowedTypes:s.array,disallowedTypes:s.array,transformLinkUri:s.func,transformImageUri:s.func,unwrapDisallowed:s.bool,renderers:s.object,walker:s.func,parserOptions:s.object},r.defaultProps={containerTagName:\"div\",parserOptions:{}},r.types=a.types,r.renderers=a.renderers,r.uriTransformer=a.uriTransformer,e.exports=r},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(132),c=r(l),d=n(414),f=r(d),p=n(5),h=r(p),m=n(165),g=r(m),_=n(1),b=r(_),y=n(614),v=r(y),M=n(219),A=r(M),w=n(172),C=r(w),E=n(617),L=r(E),T=n(91),O=r(T),S=n(618),N=r(S),k=\"AutoAffix\",D=u({},v.default.propTypes,{container:h.default.oneOfType([g.default,h.default.func]),autoWidth:h.default.bool}),x={viewportOffsetTop:0,autoWidth:!0},I=function(e){function t(n,r){i(this,t);var o=a(this,e.call(this,n,r));return o.onWindowScroll=function(){o.onUpdate()},o.onWindowResize=function(){o.props.autoWidth&&(0,f.default)(function(){return o.onUpdate()})},o.onDocumentClick=function(){(0,f.default)(function(){return o.onUpdate()})},o.onUpdate=function(){if(o._isMounted){var e=(0,c.default)(o.positioner),t=e.top,n=e.width,r=(0,C.default)(o.props.container),i=void 0;if(r){var a=(0,L.default)((0,O.default)(o)),s=(0,c.default)(r),u=s.top,l=s.height;i=a-u-l}else i=null;o.updateState(t,i,n)}},o.updateState=function(e,t,n){e===o.state.offsetTop&&t===o.state.offsetBottom&&n===o.state.width||o.setState({offsetTop:e,offsetBottom:t,width:n})},o.state={offsetTop:null,offsetBottom:null,width:null},o}return s(t,e),t.prototype.componentDidMount=function(){var e=this;this._isMounted=!0,this._windowScrollListener=(0,A.default)((0,N.default)(this),\"scroll\",function(){return e.onWindowScroll()}),this._windowResizeListener=(0,A.default)((0,N.default)(this),\"resize\",function(){return e.onWindowResize()}),this._documentClickListener=(0,A.default)((0,O.default)(this),\"click\",function(){return e.onDocumentClick()}),this.onUpdate()},t.prototype.componentWillReceiveProps=function(){this._needPositionUpdate=!0},t.prototype.componentDidUpdate=function(){this._needPositionUpdate&&(this._needPositionUpdate=!1,this.onUpdate())},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this._windowScrollListener&&this._windowScrollListener.remove(),this._documentClickListener&&this._documentClickListener.remove(),this._windowResizeListener&&this._windowResizeListener.remove()},t.prototype.render=function(){var e=this,t=this.props,n=t.autoWidth,r=t.viewportOffsetTop,i=t.children,a=o(t,[\"autoWidth\",\"viewportOffsetTop\",\"children\"]),s=this.state,l=s.offsetTop,c=s.offsetBottom,d=s.width;delete a.container;var f=Math.max(l,r||0),p=this.props,h=p.affixStyle,m=p.bottomStyle;return n&&(h=u({width:d},h),m=u({width:d},m)),b.default.createElement(\"div\",null,b.default.createElement(\"div\",{ref:function(t){e.positioner=t}}),b.default.createElement(v.default,u({},a,{offsetTop:f,viewportOffsetTop:r,offsetBottom:c,affixStyle:h,bottomStyle:m}),i))},t}(b.default.Component);I.displayName=k,I.propTypes=D,I.defaultProps=x,t.default=I,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(5),u=r(s),l=n(165),c=r(l),d=n(1),f=r(d),p=n(29),h=r(p),m=n(172),g=r(m),_=n(91),b=r(_),y=function(e){function t(){var n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,e.call.apply(e,[this].concat(u))),r._mountOverlayTarget=function(){r._overlayTarget||(r._overlayTarget=document.createElement(\"div\"),r._portalContainerNode=(0,g.default)(r.props.container,(0,b.default)(r).body),r._portalContainerNode.appendChild(r._overlayTarget))},r._unmountOverlayTarget=function(){r._overlayTarget&&(r._portalContainerNode.removeChild(r._overlayTarget),r._overlayTarget=null),r._portalContainerNode=null},r._renderOverlay=function(){var e=r.props.children?f.default.Children.only(r.props.children):null;if(null!==e){r._mountOverlayTarget();var t=!r._overlayInstance;r._overlayInstance=h.default.unstable_renderSubtreeIntoContainer(r,e,r._overlayTarget,function(){t&&r.props.onRendered&&r.props.onRendered()})}else r._unrenderOverlay(),r._unmountOverlayTarget()},r._unrenderOverlay=function(){r._overlayTarget&&(h.default.unmountComponentAtNode(r._overlayTarget),r._overlayInstance=null)},r.getMountNode=function(){return r._overlayTarget},a=n,i(r,a)}return a(t,e),t.prototype.componentDidMount=function(){this._isMounted=!0,this._renderOverlay()},t.prototype.componentDidUpdate=function(){this._renderOverlay()},t.prototype.componentWillReceiveProps=function(e){this._overlayTarget&&e.container!==this.props.container&&(this._portalContainerNode.removeChild(this._overlayTarget),this._portalContainerNode=(0,g.default)(e.container,(0,b.default)(this).body),this._portalContainerNode.appendChild(this._overlayTarget))},t.prototype.componentWillUnmount=function(){this._isMounted=!1,this._unrenderOverlay(),this._unmountOverlayTarget()},t.prototype.render=function(){return null},t}(f.default.Component);y.displayName=\"Portal\",y.propTypes={container:u.default.oneOfType([c.default,u.default.func]),onRendered:u.default.func},t.default=y,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(286),l=r(u),c=n(89),d=r(c),f=n(74),p=r(f),h=n(5),m=r(h),g=n(165),_=r(g),b=n(1375),y=r(b),v=n(559),M=r(v),A=n(1),w=r(A),C=n(29),E=r(C),L=n(47),T=r(L),O=n(1561),S=r(O),N=n(327),k=r(N),D=n(1563),x=r(D),I=n(219),z=r(I),j=n(1565),P=r(j),B=n(172),F=r(B),R=n(91),W=r(R),Y=new S.default,H=function(e){function t(){var n,r,a;o(this,t);for(var s=arguments.length,u=Array(s),l=0;l<s;l++)u[l]=arguments[l];return n=r=i(this,e.call.apply(e,[this].concat(u))),q.call(r),a=n,i(r,a)}return a(t,e),t.prototype.omitProps=function(e,t){var n=Object.keys(e),r={};return n.map(function(n){Object.prototype.hasOwnProperty.call(t,n)||(r[n]=e[n])}),r},t.prototype.render=function(){var e=this.props,n=e.show,r=e.container,o=e.children,i=e.transition,a=e.backdrop,u=e.className,l=e.style,c=e.onExit,d=e.onExiting,f=e.onEnter,p=e.onEntering,h=e.onEntered,m=w.default.Children.only(o),g=this.omitProps(this.props,t.propTypes),_=n||i&&!this.state.exited;if(!_)return null;var b=m.props,y=b.role,v=b.tabIndex;return void 0!==y&&void 0!==v||(m=(0,A.cloneElement)(m,{role:void 0===y?\"document\":y,tabIndex:null==v?\"-1\":v})),i&&(m=w.default.createElement(i,{appear:!0,unmountOnExit:!0,in:n,onExit:c,onExiting:d,onExited:this.handleHidden,onEnter:f,onEntering:p,onEntered:h},m)),w.default.createElement(k.default,{ref:this.setMountNode,container:r,onRendered:this.onPortalRendered},w.default.createElement(\"div\",s({ref:this.setModalNodeRef,role:y||\"dialog\"},g,{style:l,className:u}),a&&this.renderBackdrop(),w.default.createElement(x.default,{ref:this.setDialogRef},m)))},t.prototype.componentWillReceiveProps=function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})},t.prototype.componentWillUpdate=function(e){!this.props.show&&e.show&&this.checkForFocus()},t.prototype.componentDidMount=function(){this._isMounted=!0,this.props.show&&this.onShow()},t.prototype.componentDidUpdate=function(e){var t=this.props.transition;!e.show||this.props.show||t?!e.show&&this.props.show&&this.onShow():this.onHide()},t.prototype.componentWillUnmount=function(){var e=this.props,t=e.show,n=e.transition;this._isMounted=!1,(t||n&&!this.state.exited)&&this.onHide()},t.prototype.autoFocus=function(){if(this.props.autoFocus){var e=this.getDialogElement(),t=(0,l.default)((0,W.default)(this));e&&!(0,d.default)(e,t)&&(this.lastFocus=t,e.hasAttribute(\"tabIndex\")||((0,T.default)(!1,'The modal content node does not accept focus. For the benefit of assistive technologies, the tabIndex of the node is being set to \"-1\".'),e.setAttribute(\"tabIndex\",-1)),e.focus())}},t.prototype.restoreLastFocus=function(){this.lastFocus&&this.lastFocus.focus&&(this.lastFocus.focus(),this.lastFocus=null)},t.prototype.getDialogElement=function(){return E.default.findDOMNode(this.dialog)},t.prototype.isTopModal=function(){return this.props.manager.isTopModal(this)},t}(w.default.Component);H.propTypes=s({},k.default.propTypes,{show:m.default.bool,container:m.default.oneOfType([_.default,m.default.func]),onShow:m.default.func,onHide:m.default.func,backdrop:m.default.oneOfType([m.default.bool,m.default.oneOf([\"static\"])]),renderBackdrop:m.default.func,onEscapeKeyDown:m.default.func,onEscapeKeyUp:(0,y.default)(m.default.func,\"Please use onEscapeKeyDown instead for consistency\"),onBackdropClick:m.default.func,backdropStyle:m.default.object,backdropClassName:m.default.string,containerClassName:m.default.string,keyboard:m.default.bool,transition:M.default,backdropTransition:M.default,autoFocus:m.default.bool,enforceFocus:m.default.bool,restoreFocus:m.default.bool,onEnter:m.default.func,onEntering:m.default.func,onEntered:m.default.func,onExit:m.default.func,onExiting:m.default.func,onExited:m.default.func,manager:m.default.object.isRequired}),H.defaultProps={show:!1,backdrop:!0,keyboard:!0,autoFocus:!0,enforceFocus:!0,restoreFocus:!0,onHide:function(){},manager:Y,renderBackdrop:function(e){return w.default.createElement(\"div\",e)}};var q=function(){var e=this;this.state={exited:!this.props.show},this.renderBackdrop=function(){var t=e.props,n=t.backdropStyle,r=t.backdropClassName,o=t.renderBackdrop,i=t.backdropTransition,a=function(t){return e.backdrop=t},s=o({ref:a,style:n,className:r,onClick:e.handleBackdropClick});return i&&(s=w.default.createElement(i,{appear:!0,in:e.props.show},s)),s},this.onPortalRendered=function(){e.autoFocus(),e.props.onShow&&e.props.onShow()},this.onShow=function(){var t=(0,W.default)(e),n=(0,F.default)(e.props.container,t.body);e.props.manager.add(e,n,e.props.containerClassName),e._onDocumentKeydownListener=(0,z.default)(t,\"keydown\",e.handleDocumentKeyDown),e._onDocumentKeyupListener=(0,z.default)(t,\"keyup\",e.handleDocumentKeyUp),e._onFocusinListener=(0,P.default)(e.enforceFocus)},this.onHide=function(){e.props.manager.remove(e),e._onDocumentKeydownListener.remove(),e._onDocumentKeyupListener.remove(),e._onFocusinListener.remove(),e.props.restoreFocus&&e.restoreLastFocus()},this.setMountNode=function(t){e.mountNode=t?t.getMountNode():t},this.setModalNodeRef=function(t){e.modalNode=t},this.setDialogRef=function(t){e.dialog=t},this.handleHidden=function(){if(e.setState({exited:!0}),e.onHide(),e.props.onExited){var t;(t=e.props).onExited.apply(t,arguments)}},this.handleBackdropClick=function(t){t.target===t.currentTarget&&(e.props.onBackdropClick&&e.props.onBackdropClick(t),e.props.backdrop===!0&&e.props.onHide())},this.handleDocumentKeyDown=function(t){e.props.keyboard&&27===t.keyCode&&e.isTopModal()&&(e.props.onEscapeKeyDown&&e.props.onEscapeKeyDown(t),e.props.onHide())},this.handleDocumentKeyUp=function(t){e.props.keyboard&&27===t.keyCode&&e.isTopModal()&&e.props.onEscapeKeyUp&&e.props.onEscapeKeyUp(t)},this.checkForFocus=function(){p.default&&(e.lastFocus=(0,l.default)())},this.enforceFocus=function(){if(e.props.enforceFocus&&e._isMounted&&e.isTopModal()){var t=e.getDialogElement(),n=(0,l.default)((0,W.default)(e));t&&!(0,d.default)(t,n)&&t.focus()}}};H.Manager=S.default,t.default=H,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){var n=-1;return e.some(function(e,r){if(t(e,r))return n=r,!0}),n}function a(e,t){return i(e,function(e){return e.modals.indexOf(t)!==-1})}function s(e,t){var n={overflow:\"hidden\"};e.style={overflow:t.style.overflow,paddingRight:t.style.paddingRight},e.overflowing&&(n.paddingRight=parseInt((0,f.default)(t,\"paddingRight\")||0,10)+(0,h.default)()+\"px\"),(0,f.default)(t,n)}function u(e,t){var n=e.style;Object.keys(n).forEach(function(e){return t.style[e]=n[e]})}t.__esModule=!0;var l=n(409),c=r(l),d=n(160),f=r(d),p=n(287),h=r(p),m=n(1567),g=r(m),_=n(1568),b=function e(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=n.hideSiblingNodes,i=void 0===r||r,l=n.handleContainerOverflow,d=void 0===l||l;o(this,e),this.add=function(e,n,r){var o=t.modals.indexOf(e),i=t.containers.indexOf(n);if(o!==-1)return o;if(o=t.modals.length,t.modals.push(e),t.hideSiblingNodes&&(0,_.hideSiblings)(n,e.mountNode),i!==-1)return t.data[i].modals.push(e),o;var a={modals:[e],classes:r?r.split(/\\s+/):[],overflowing:(0,g.default)(n)};return t.handleContainerOverflow&&s(a,n),a.classes.forEach(c.default.addClass.bind(null,n)),t.containers.push(n),t.data.push(a),o},this.remove=function(e){var n=t.modals.indexOf(e);if(n!==-1){var r=a(t.data,e),o=t.data[r],i=t.containers[r];o.modals.splice(o.modals.indexOf(e),1),t.modals.splice(n,1),0===o.modals.length?(o.classes.forEach(c.default.removeClass.bind(null,i)),t.handleContainerOverflow&&u(o,i),t.hideSiblingNodes&&(0,_.showSiblings)(i,e.mountNode),t.containers.splice(r,1),t.data.splice(r,1)):t.hideSiblingNodes&&(0,_.ariaHidden)(!1,o.modals[o.modals.length-1].mountNode)}},this.isTopModal=function(e){return!!t.modals.length&&t.modals[t.modals.length-1]===e},this.hideSiblingNodes=i,this.handleContainerOverflow=d,this.modals=[],this.containers=[],this.data=[]};t.default=b,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(5),c=r(l),d=n(559),f=r(d),p=n(1),h=r(p),m=n(327),g=r(m),_=n(615),b=r(_),y=n(616),v=r(y),M=function(e){function t(n,r){i(this,t);var o=a(this,e.call(this,n,r));return o.handleHidden=function(){if(o.setState({exited:!0}),o.props.onExited){var e;(e=o.props).onExited.apply(e,arguments)}},o.state={exited:!n.show},o.onHiddenListener=o.handleHidden.bind(o),o}return s(t,e),t.prototype.componentWillReceiveProps=function(e){e.show?this.setState({exited:!1}):e.transition||this.setState({exited:!0})},t.prototype.render=function(){var e=this.props,t=e.container,n=e.containerPadding,r=e.target,i=e.placement,a=e.shouldUpdatePosition,s=e.rootClose,u=e.children,l=e.transition,c=o(e,[\"container\",\"containerPadding\",\"target\",\"placement\",\"shouldUpdatePosition\",\"rootClose\",\"children\",\"transition\"]),d=c.show||l&&!this.state.exited;if(!d)return null;var f=u;if(f=h.default.createElement(b.default,{container:t,containerPadding:n,target:r,placement:i,shouldUpdatePosition:a},f),l){var p=c.onExit,m=c.onExiting,_=c.onEnter,y=c.onEntering,M=c.onEntered;f=h.default.createElement(l,{in:c.show,appear:!0,onExit:p,onExiting:m,onExited:this.onHiddenListener,onEnter:_,onEntering:y,onEntered:M},f)}return s&&(f=h.default.createElement(v.default,{onRootClose:c.onHide},f)),h.default.createElement(g.default,{container:t},f)},t}(h.default.Component);M.propTypes=u({},g.default.propTypes,b.default.propTypes,{show:c.default.bool,rootClose:c.default.bool,onHide:function(e){var t=c.default.func;e.rootClose&&(t=t.isRequired);for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return t.apply(void 0,[e].concat(r))},transition:f.default,onEnter:c.default.func,onEntering:c.default.func,onEntered:c.default.func,onExit:c.default.func,onExiting:c.default.func,onExited:c.default.func}),t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(5),u=r(s),l=n(1),c=r(l),d={children:u.default.node},f=function(e){function t(){return o(this,t),i(this,e.apply(this,arguments))}return a(t,e),t.prototype.render=function(){return this.props.children},t}(c.default.Component);f.propTypes=d,t.default=f,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0,t.RootCloseWrapper=t.Position=t.Portal=t.Overlay=t.Modal=t.AutoAffix=t.Affix=void 0;var o=n(614),i=r(o),a=n(1558),s=r(a),u=n(1560),l=r(u),c=n(1562),d=r(c),f=n(327),p=r(f),h=n(615),m=r(h),g=n(616),_=r(g);t.Affix=i.default,t.AutoAffix=s.default,t.Modal=l.default,t.Overlay=d.default,t.Portal=p.default,t.Position=m.default,t.RootCloseWrapper=_.default},function(e,t){\"use strict\";function n(e){var t=!document.addEventListener,n=void 0;return t?(document.attachEvent(\"onfocusin\",e),n=function(){return document.detachEvent(\"onfocusin\",e)}):(document.addEventListener(\"focus\",e,!0),n=function(){return document.removeEventListener(\"focus\",e,!0)}),{remove:n}}t.__esModule=!0,t.default=n,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){var t=void 0,n=void 0,r=void 0;if(\"BODY\"===e.tagName)t=window.innerWidth,n=window.innerHeight,r=(0,p.default)((0,m.default)(e).documentElement)||(0,p.default)(e);else{var o=(0,l.default)(e);t=o.width,n=o.height,r=(0,p.default)(e)}return{width:t,height:n,scroll:r}}function i(e,t,n,r){var i=o(n),a=i.scroll,s=i.height,u=e-r-a,l=e+r-a+t;return u<0?-u:l>s?s-l:0}function a(e,t,n,r){var i=o(n),a=i.width,s=e-r,u=e+r+t;return s<0?-s:u>a?a-u:0}function s(e,t,n,r,o){var s=\"BODY\"===r.tagName?(0,l.default)(n):(0,d.default)(n,r),u=(0,l.default)(t),c=u.height,f=u.width,p=void 0,h=void 0,m=void 0,g=void 0;if(\"left\"===e||\"right\"===e){h=s.top+(s.height-c)/2,p=\"left\"===e?s.left-f:s.left+s.width;var _=i(h,c,r,o);h+=_,g=50*(1-2*_/c)+\"%\",m=void 0}else{if(\"top\"!==e&&\"bottom\"!==e)throw new Error('calcOverlayPosition(): No such placement of \"'+e+'\" found.');p=s.left+(s.width-f)/2,h=\"top\"===e?s.top-c:s.top+s.height;var b=a(p,f,r,o);p+=b,m=50*(1-2*b/f)+\"%\",g=void 0}return{positionLeft:p,positionTop:h,arrowOffsetLeft:m,arrowOffsetTop:g}}t.__esModule=!0,t.default=s;var u=n(132),l=r(u),c=n(411),d=r(c),f=n(200),p=r(f),h=n(91),m=r(h);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e&&\"body\"===e.tagName.toLowerCase()}function i(e){var t=(0,c.default)(e),n=(0,u.default)(t),r=n.innerWidth;if(!r){var o=t.documentElement.getBoundingClientRect();r=o.right-Math.abs(o.left)}return t.body.clientWidth<r}function a(e){var t=(0,u.default)(e);return t||o(e)?i(e):e.scrollHeight>e.clientHeight}t.__esModule=!0,t.default=a;var s=n(131),u=r(s),l=n(80),c=r(l);e.exports=t.default},function(e,t){\"use strict\";function n(e,t){t&&(e?t.setAttribute(\"aria-hidden\",\"true\"):t.removeAttribute(\"aria-hidden\"))}function r(e,t){s(e,t,function(e){return n(!0,e)})}function o(e,t){s(e,t,function(e){return n(!1,e)})}t.__esModule=!0,t.ariaHidden=n,t.hideSiblings=r,t.showSiblings=o;var i=[\"template\",\"script\",\"style\"],a=function(e){var t=e.nodeType,n=e.tagName;return 1===t&&i.indexOf(n.toLowerCase())===-1},s=function(e,t,n){t=[].concat(t),[].forEach.call(e.children,function(e){t.indexOf(e)===-1&&a(e)&&n(e)})}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0,\nt.default=void 0;var s=n(1),u=n(5),l=r(u),c=n(619),d=r(c),f=n(620),p=(r(f),function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));return a.store=n.store,a}return a(t,e),t.prototype.getChildContext=function(){return{store:this.store}},t.prototype.render=function(){return s.Children.only(this.props.children)},t}(s.Component));t.default=p,p.propTypes={store:d.default.isRequired,children:l.default.element.isRequired},p.childContextTypes={store:d.default.isRequired}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.displayName||e.name||\"Component\"}function u(e,t){try{return e.apply(t)}catch(e){return T.value=e,T}}function l(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=Boolean(e),f=e||C,h=void 0;h=\"function\"==typeof t?t:t?(0,_.default)(t):E;var g=n||L,b=r.pure,y=void 0===b||b,v=r.withRef,A=void 0!==v&&v,S=y&&g!==L,N=O++;return function(e){function t(e,t,n){var r=g(e,t,n);return r}var n=\"Connect(\"+s(e)+\")\",r=function(r){function s(e,t){o(this,s);var a=i(this,r.call(this,e,t));a.version=N,a.store=e.store||t.store,(0,w.default)(a.store,'Could not find \"store\" in either the context or '+('props of \"'+n+'\". ')+\"Either wrap the root component in a <Provider>, \"+('or explicitly pass \"store\" as a prop to \"'+n+'\".'));var u=a.store.getState();return a.state={storeState:u},a.clearCache(),a}return a(s,r),s.prototype.shouldComponentUpdate=function(){return!y||this.haveOwnPropsChanged||this.hasStoreStateChanged},s.prototype.computeStateProps=function(e,t){if(!this.finalMapStateToProps)return this.configureFinalMapState(e,t);var n=e.getState(),r=this.doStatePropsDependOnOwnProps?this.finalMapStateToProps(n,t):this.finalMapStateToProps(n);return r},s.prototype.configureFinalMapState=function(e,t){var n=f(e.getState(),t),r=\"function\"==typeof n;return this.finalMapStateToProps=r?n:f,this.doStatePropsDependOnOwnProps=1!==this.finalMapStateToProps.length,r?this.computeStateProps(e,t):n},s.prototype.computeDispatchProps=function(e,t){if(!this.finalMapDispatchToProps)return this.configureFinalMapDispatch(e,t);var n=e.dispatch,r=this.doDispatchPropsDependOnOwnProps?this.finalMapDispatchToProps(n,t):this.finalMapDispatchToProps(n);return r},s.prototype.configureFinalMapDispatch=function(e,t){var n=h(e.dispatch,t),r=\"function\"==typeof n;return this.finalMapDispatchToProps=r?n:h,this.doDispatchPropsDependOnOwnProps=1!==this.finalMapDispatchToProps.length,r?this.computeDispatchProps(e,t):n},s.prototype.updateStatePropsIfNeeded=function(){var e=this.computeStateProps(this.store,this.props);return(!this.stateProps||!(0,m.default)(e,this.stateProps))&&(this.stateProps=e,!0)},s.prototype.updateDispatchPropsIfNeeded=function(){var e=this.computeDispatchProps(this.store,this.props);return(!this.dispatchProps||!(0,m.default)(e,this.dispatchProps))&&(this.dispatchProps=e,!0)},s.prototype.updateMergedPropsIfNeeded=function(){var e=t(this.stateProps,this.dispatchProps,this.props);return!(this.mergedProps&&S&&(0,m.default)(e,this.mergedProps))&&(this.mergedProps=e,!0)},s.prototype.isSubscribed=function(){return\"function\"==typeof this.unsubscribe},s.prototype.trySubscribe=function(){l&&!this.unsubscribe&&(this.unsubscribe=this.store.subscribe(this.handleChange.bind(this)),this.handleChange())},s.prototype.tryUnsubscribe=function(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=null)},s.prototype.componentDidMount=function(){this.trySubscribe()},s.prototype.componentWillReceiveProps=function(e){y&&(0,m.default)(e,this.props)||(this.haveOwnPropsChanged=!0)},s.prototype.componentWillUnmount=function(){this.tryUnsubscribe(),this.clearCache()},s.prototype.clearCache=function(){this.dispatchProps=null,this.stateProps=null,this.mergedProps=null,this.haveOwnPropsChanged=!0,this.hasStoreStateChanged=!0,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,this.renderedElement=null,this.finalMapDispatchToProps=null,this.finalMapStateToProps=null},s.prototype.handleChange=function(){if(this.unsubscribe){var e=this.store.getState(),t=this.state.storeState;if(!y||t!==e){if(y&&!this.doStatePropsDependOnOwnProps){var n=u(this.updateStatePropsIfNeeded,this);if(!n)return;n===T&&(this.statePropsPrecalculationError=T.value),this.haveStatePropsBeenPrecalculated=!0}this.hasStoreStateChanged=!0,this.setState({storeState:e})}}},s.prototype.getWrappedInstance=function(){return(0,w.default)(A,\"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call.\"),this.refs.wrappedInstance},s.prototype.render=function(){var t=this.haveOwnPropsChanged,n=this.hasStoreStateChanged,r=this.haveStatePropsBeenPrecalculated,o=this.statePropsPrecalculationError,i=this.renderedElement;if(this.haveOwnPropsChanged=!1,this.hasStoreStateChanged=!1,this.haveStatePropsBeenPrecalculated=!1,this.statePropsPrecalculationError=null,o)throw o;var a=!0,s=!0;y&&i&&(a=n||t&&this.doStatePropsDependOnOwnProps,s=t&&this.doDispatchPropsDependOnOwnProps);var u=!1,l=!1;r?u=!0:a&&(u=this.updateStatePropsIfNeeded()),s&&(l=this.updateDispatchPropsIfNeeded());var f=!0;return f=!!(u||l||t)&&this.updateMergedPropsIfNeeded(),!f&&i?i:(A?this.renderedElement=(0,d.createElement)(e,c({},this.mergedProps,{ref:\"wrappedInstance\"})):this.renderedElement=(0,d.createElement)(e,this.mergedProps),this.renderedElement)},s}(d.Component);return r.displayName=n,r.WrappedComponent=e,r.contextTypes={store:p.default},r.propTypes={store:p.default},(0,M.default)(r,e)}}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=l;var d=n(1),f=n(619),p=r(f),h=n(1571),m=r(h),g=n(1572),_=r(g),b=n(620),y=(r(b),n(1365)),v=(r(y),n(1269)),M=r(v),A=n(33),w=r(A),C=function(e){return{}},E=function(e){return{dispatch:e}},L=function(e,t,n){return c({},n,e,t)},T={value:null},O=0},function(e,t){\"use strict\";function n(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,i=0;i<n.length;i++)if(!o.call(t,n[i])||e[n[i]]!==t[n[i]])return!1;return!0}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){return function(t){return(0,o.bindActionCreators)(e,t)}}t.__esModule=!0,t.default=r;var o=n(36)},function(e,t,n){\"use strict\";function r(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function o(e){return function(){return function(t){return function(n){if(n.type!==i.CALL_HISTORY_METHOD)return t(n);var o=n.payload,a=o.method,s=o.args;e[a].apply(e,r(s))}}}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=o;var i=n(621)},function(e,t,n){\"use strict\";function r(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.selectLocationState,s=void 0===r?a:r,u=n.adjustUrlOnReplay,l=void 0===u||u;if(\"undefined\"==typeof s(t.getState()))throw new Error(\"Expected the routing state to be available either as `state.routing` or as the custom expression you can specify as `selectLocationState` in the `syncHistoryWithStore()` options. Ensure you have added the `routerReducer` to your store's reducers via `combineReducers` or whatever method you use to isolate your reducers.\");var c=void 0,d=void 0,f=void 0,p=void 0,h=void 0,m=function(e){var n=s(t.getState());return n.locationBeforeTransitions||(e?c:void 0)};if(c=m(),l){var g=function(){var t=m(!0);h!==t&&c!==t&&(d=!0,h=t,e.transitionTo(o({},t,{action:\"PUSH\"})),d=!1)};f=t.subscribe(g),g()}var _=function(e){d||(h=e,!c&&(c=e,m())||t.dispatch({type:i.LOCATION_CHANGE,payload:e}))};return p=e.listen(_),e.getCurrentLocation&&_(e.getCurrentLocation()),o({},e,{listen:function(n){var r=m(!0),o=!1,i=t.subscribe(function(){var e=m(!0);e!==r&&(r=e,o||n(r))});return e.getCurrentLocation||n(r),function(){o=!0,i()}},unsubscribe:function(){l&&f(),p()}})}Object.defineProperty(t,\"__esModule\",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=r;var i=n(622),a=function(e){return e.routing}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=n(1),u=r(s),l=n(1641),c=r(l),d={shouldUpdateScroll:u.default.PropTypes.func,routerProps:u.default.PropTypes.object.isRequired,children:u.default.PropTypes.element.isRequired},f={scrollBehavior:u.default.PropTypes.object.isRequired},p=function(e){function t(n,r){o(this,t);var a=i(this,e.call(this,n,r));h.call(a);var s=n.routerProps;return a.scrollBehavior=new c.default(s.router,function(){return a.props.routerProps.location},a.shouldUpdateScroll),a.scrollBehavior.updateScroll(null,s),a}return a(t,e),t.prototype.getChildContext=function(){return{scrollBehavior:this}},t.prototype.componentDidUpdate=function(e){var t=this.props.routerProps,n=e.routerProps;t.location!==n.location&&this.scrollBehavior.updateScroll(n,t)},t.prototype.componentWillUnmount=function(){this.scrollBehavior.stop()},t.prototype.render=function(){return this.props.children},t}(u.default.Component),h=function(){var e=this;this.shouldUpdateScroll=function(t,n){var r=e.props.shouldUpdateScroll;return!r||r.call(e.scrollBehavior,t,n)},this.registerElement=function(t,n,r){e.scrollBehavior.registerElement(t,n,r,e.props.routerProps)},this.unregisterElement=function(t){e.scrollBehavior.unregisterElement(t)}};p.propTypes=d,p.childContextTypes=f,t.default=p,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return{renderRouterContext:function(t,n){return a.default.createElement(u.default,{shouldUpdateScroll:e,routerProps:n},t)}}}t.__esModule=!0,t.default=o;var i=n(1),a=r(i),s=n(1575),u=r(s);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(42),i=(r(o),n(113)),a={contextTypes:{history:i.history},componentWillMount:function(){this.history=this.context.history}};t.default=a,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(623),u=r(s),l=a.default.createClass({displayName:\"IndexLink\",render:function(){return a.default.createElement(u.default,o({},this.props,{onlyActiveOnIndex:!0}))}});t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(42),s=(r(a),n(33)),u=r(s),l=n(624),c=r(l),d=n(113),f=i.default.PropTypes,p=f.string,h=f.object,m=i.default.createClass({displayName:\"IndexRedirect\",statics:{createRouteFromReactElement:function(e,t){t&&(t.indexRoute=c.default.createRouteFromReactElement(e))}},propTypes:{to:p.isRequired,query:h,state:h,onEnter:d.falsy,children:d.falsy},render:function(){(0,u.default)(!1)}});t.default=m,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(42),s=(r(a),n(33)),u=r(s),l=n(92),c=n(113),d=i.default.PropTypes.func,f=i.default.createClass({displayName:\"IndexRoute\",statics:{createRouteFromReactElement:function(e,t){t&&(t.indexRoute=(0,l.createRouteFromReactElement)(e))}},propTypes:{path:c.falsy,component:c.component,components:c.components,getComponent:d,getComponents:d},render:function(){(0,u.default)(!1)}});t.default=f,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(42),i=(r(o),n(1)),a=r(i),s=n(33),u=r(s),l=a.default.PropTypes.object,c={contextTypes:{history:l.isRequired,route:l},propTypes:{route:l},componentDidMount:function(){this.routerWillLeave?void 0:(0,u.default)(!1);var e=this.props.route||this.context.route;e?void 0:(0,u.default)(!1),this._unlistenBeforeLeavingRoute=this.context.history.listenBeforeLeavingRoute(e,this.routerWillLeave)},componentWillUnmount:function(){this._unlistenBeforeLeavingRoute&&this._unlistenBeforeLeavingRoute()}};t.default=c,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(33),s=r(a),u=n(92),l=n(113),c=i.default.PropTypes,d=c.string,f=c.func,p=i.default.createClass({displayName:\"Route\",statics:{createRouteFromReactElement:u.createRouteFromReactElement},propTypes:{path:d,component:l.component,components:l.components,getComponent:f,getComponents:f},render:function(){(0,s.default)(!1)}});t.default=p,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(42),i=(r(o),n(1)),a=r(i),s=a.default.PropTypes.object,u={propTypes:{route:s.isRequired},childContextTypes:{route:s.isRequired},getChildContext:function(){return{route:this.props.route}},componentWillMount:function(){}};t.default=u,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e){return!e||!e.__v2_compatible__}function a(e){return e&&e.getCurrentLocation}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(291),l=r(u),c=n(133),d=r(c),f=n(33),p=r(f),h=n(1),m=r(h),g=n(331),_=r(g),b=n(113),y=n(223),v=r(y),M=n(92),A=n(625),w=n(42),C=(r(w),m.default.PropTypes),E=C.func,L=C.object,T=m.default.createClass({displayName:\"Router\",propTypes:{history:L,children:b.routes,routes:b.routes,render:E,createElement:E,onError:E,onUpdate:E,parseQueryString:E,stringifyQuery:E,matchContext:L},getDefaultProps:function(){return{render:function(e){return m.default.createElement(v.default,e)}}},getInitialState:function(){return{location:null,routes:null,params:null,components:null}},handleError:function(e){if(!this.props.onError)throw e;this.props.onError.call(this,e)},componentWillMount:function(){var e=this,t=this.props,n=(t.parseQueryString,t.stringifyQuery,this.createRouterObjects()),r=n.history,o=n.transitionManager,i=n.router;this._unlisten=o.listen(function(t,n){t?e.handleError(t):e.setState(n,e.props.onUpdate)}),this.history=r,this.router=i},createRouterObjects:function(){var e=this.props.matchContext;if(e)return e;var t=this.props.history,n=this.props,r=n.routes,o=n.children;a(t)?(0,p.default)(!1):void 0,i(t)&&(t=this.wrapDeprecatedHistory(t));var s=(0,_.default)(t,(0,M.createRoutes)(r||o)),u=(0,A.createRouterObject)(t,s),l=(0,A.createRoutingHistory)(t,s);return{history:l,transitionManager:s,router:u}},wrapDeprecatedHistory:function(e){var t=this.props,n=t.parseQueryString,r=t.stringifyQuery,o=void 0;return o=e?function(){return e}:l.default,(0,d.default)(o)({parseQueryString:n,stringifyQuery:r})},componentWillReceiveProps:function(e){},componentWillUnmount:function(){this._unlisten&&this._unlisten()},render:function e(){var t=this.state,n=t.location,r=t.routes,i=t.params,a=t.components,u=this.props,l=u.createElement,e=u.render,c=o(u,[\"createElement\",\"render\"]);return null==n?null:(Object.keys(T.propTypes).forEach(function(e){return delete c[e]}),e(s({},c,{history:this.history,router:this.router,location:n,routes:r,params:i,components:a,createElement:l})))}});t.default=T,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(1),i=r(o),a=n(223),s=r(a),u=n(42),l=(r(u),i.default.createClass({displayName:\"RoutingContext\",componentWillMount:function(){},render:function(){return i.default.createElement(s.default,this.props)}}));t.default=l,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){return function(){for(var r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];if(e.apply(t,o),e.length<n){var a=o[o.length-1];a()}}}function i(e){return e.reduce(function(e,t){return t.onEnter&&e.push(o(t.onEnter,t,3)),e},[])}function a(e){return e.reduce(function(e,t){return t.onChange&&e.push(o(t.onChange,t,4)),e},[])}function s(e,t,n){function r(e,t,n){return t?void(o={pathname:t,query:n,state:e}):void(o=e)}if(!e)return void n();var o=void 0;(0,d.loopAsync)(e,function(e,n,i){t(e,r,function(e){e||o?i(e,o):n()})},n)}function u(e,t,n){var r=i(e);return s(r.length,function(e,n,o){r[e](t,n,o)},n)}function l(e,t,n,r){var o=a(e);return s(o.length,function(e,r,i){o[e](t,n,r,i)},r)}function c(e,t){for(var n=0,r=e.length;n<r;++n)e[n].onLeave&&e[n].onLeave.call(e[n],t)}t.__esModule=!0,t.runEnterHooks=u,t.runChangeHooks=l,t.runLeaveHooks=c;var d=n(329),f=n(42);r(f)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1),a=r(i),s=n(223),u=r(s);t.default=function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=t.map(function(e){return e.renderRouterContext}).filter(function(e){return e}),s=t.map(function(e){return e.renderRouteComponent}).filter(function(e){return e}),l=function(){var e=arguments.length<=0||void 0===arguments[0]?i.createElement:arguments[0];return function(t,n){return s.reduceRight(function(e,t){return t(e,n)},e(t,n))}};return function(e){return r.reduceRight(function(t,n){return n(t,e)},a.default.createElement(u.default,o({},e,{createElement:l(e.createElement)})))}},e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(422),i=r(o),a=n(627),s=r(a);t.default=(0,s.default)(i.default),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t,n){if(!e.path)return!1;var r=(0,i.getParamNames)(e.path);return r.some(function(e){return t.params[e]!==n.params[e]})}function o(e,t){var n=e&&e.routes,o=t.routes,i=void 0,a=void 0,s=void 0;return n?!function(){var u=!1;i=n.filter(function(n){if(u)return!0;var i=o.indexOf(n)===-1||r(n,e,t);return i&&(u=!0),i}),i.reverse(),s=[],a=[],o.forEach(function(e){var t=n.indexOf(e)===-1,r=i.indexOf(e)!==-1;t||r?s.push(e):a.push(e)})}():(i=[],a=[],s=o),{leaveRoutes:i,changeRoutes:a,enterRoutes:s}}t.__esModule=!0;var i=n(142);t.default=o,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){if(t.component||t.components)return void n(null,t.component||t.components);var r=t.getComponent||t.getComponents;if(!r)return void n();var o=e.location,i=(0,u.default)(e,o);r.call(t,i,n)}function i(e,t){(0,a.mapAsync)(e.routes,function(t,n,r){o(e,t,r)},t)}t.__esModule=!0;var a=n(329),s=n(628),u=r(s);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){var n={};return e.path?((0,o.getParamNames)(e.path).forEach(function(e){Object.prototype.hasOwnProperty.call(t,e)&&(n[e]=t[e])}),n):n}t.__esModule=!0;var o=n(142);t.default=r,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(291),i=r(o),a=n(627),s=r(a);t.default=(0,s.default)(i.default),e.exports=t.default},function(e,t,n){\"use strict\";function r(e,t){if(e==t)return!0;if(null==e||null==t)return!1;if(Array.isArray(e))return Array.isArray(t)&&e.length===t.length&&e.every(function(e,n){return r(e,t[n])});if(\"object\"===(\"undefined\"==typeof e?\"undefined\":u(e))){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n))if(void 0===e[n]){if(void 0!==t[n])return!1}else{if(!Object.prototype.hasOwnProperty.call(t,n))return!1;if(!r(e[n],t[n]))return!1}return!0}return String(e)===String(t)}function o(e,t){return\"/\"!==t.charAt(0)&&(t=\"/\"+t),\"/\"!==e.charAt(e.length-1)&&(e+=\"/\"),\"/\"!==t.charAt(t.length-1)&&(t+=\"/\"),t===e}function i(e,t,n){for(var r=e,o=[],i=[],a=0,s=t.length;a<s;++a){var u=t[a],c=u.path||\"\";if(\"/\"===c.charAt(0)&&(r=e,o=[],i=[]),null!==r&&c){var d=(0,l.matchPattern)(c,r);if(d?(r=d.remainingPathname,o=[].concat(o,d.paramNames),i=[].concat(i,d.paramValues)):r=null,\"\"===r)return o.every(function(e,t){return String(i[t])===String(n[e])})}}return!1}function a(e,t){return null==t?null==e:null==e||r(e,t)}function s(e,t,n,r,s){var u=e.pathname,l=e.query;return null!=n&&(\"/\"!==u.charAt(0)&&(u=\"/\"+u),!!(o(u,n.pathname)||!t&&i(u,r,s))&&a(l,n.query))}t.__esModule=!0;var u=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e};t.default=s;var l=n(142);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e,t){var n=e.history,r=e.routes,i=e.location,s=o(e,[\"history\",\"routes\",\"location\"]);n||i?void 0:(0,u.default)(!1),n=n?n:(0,c.default)(s);var l=(0,f.default)(n,(0,p.createRoutes)(r)),d=void 0;i?i=n.createLocation(i):d=n.listen(function(e){i=e});var m=(0,h.createRouterObject)(n,l);n=(0,h.createRoutingHistory)(n,l),l.match(i,function(e,r,o){t(e,r,o&&a({},o,{history:n,router:m,matchContext:{history:n,transitionManager:l,router:m}})),d&&d()})}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(33),u=r(s),l=n(626),c=r(l),d=n(331),f=r(d),p=n(92),h=n(625);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n,r,o){if(e.childRoutes)return[null,e.childRoutes];if(!e.getChildRoutes)return[];var i=!0,a=void 0,u={location:t,params:s(n,r)},l=(0,h.default)(u,t);return e.getChildRoutes(l,function(e,t){return t=!e&&(0,_.createRoutes)(t),i?void(a=[e,t]):void o(e,t)}),i=!1,a}function i(e,t,n,r,o){if(e.indexRoute)o(null,e.indexRoute);else if(e.getIndexRoute){var a={location:t,params:s(n,r)},u=(0,h.default)(a,t);e.getIndexRoute(u,function(e,t){o(e,!e&&(0,_.createRoutes)(t)[0])})}else e.childRoutes?!function(){var a=e.childRoutes.filter(function(e){return!e.path});(0,f.loopAsync)(a.length,function(e,o,s){i(a[e],t,n,r,function(t,n){if(t||n){var r=[a[e]].concat(Array.isArray(n)?n:[n]);s(t,r)}else o()})},function(e,t){o(null,t)})}():o()}function a(e,t,n){return t.reduce(function(e,t,r){var o=n&&n[r];return Array.isArray(e[t])?e[t].push(o):t in e?e[t]=[e[t],o]:e[t]=o,e},e)}function s(e,t){return a({},e,t)}function u(e,t,n,r,a,u){var c=e.path||\"\";if(\"/\"===c.charAt(0)&&(n=t.pathname,r=[],a=[]),null!==n&&c){try{var f=(0,m.matchPattern)(c,n);f?(n=f.remainingPathname,r=[].concat(r,f.paramNames),a=[].concat(a,f.paramValues)):n=null}catch(e){u(e)}if(\"\"===n){var p=function(){var n={routes:[e],params:s(r,a)};return i(e,t,r,a,function(e,t){if(e)u(e);else{if(Array.isArray(t)){var r;(r=n.routes).push.apply(r,t)}else t&&n.routes.push(t);u(null,n)}}),{v:void 0}}();if(\"object\"===(\"undefined\"==typeof p?\"undefined\":d(p)))return p.v}}if(null!=n||e.childRoutes){var h=function(o,i){o?u(o):i?l(i,t,function(t,n){t?u(t):n?(n.routes.unshift(e),u(null,n)):u()},n,r,a):u()},g=o(e,t,r,a,h);g&&h.apply(void 0,g)}else u()}function l(e,t,n,r){var o=arguments.length<=4||void 0===arguments[4]?[]:arguments[4],i=arguments.length<=5||void 0===arguments[5]?[]:arguments[5];void 0===r&&(\"/\"!==t.pathname.charAt(0)&&(t=c({},t,{pathname:\"/\"+t.pathname})),r=t.pathname),(0,f.loopAsync)(e.length,function(n,a,s){u(e[n],t,r,o,i,function(e,t){e||t?s(e,t):a()})},n)}t.__esModule=!0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},d=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol?\"symbol\":typeof e};t.default=l;var f=n(329),p=n(628),h=r(p),m=n(142),g=n(42),_=(r(g),n(92));e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function i(e){return function(){var t=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],n=t.routes,r=o(t,[\"routes\"]),i=(0,u.default)(e)(r),s=(0,c.default)(i,n);return a({},i,s)}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},s=n(133),u=r(s),l=n(331),c=r(l),d=n(42);r(d);t.default=i,e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){return e.displayName||e.name||\"Component\"}function i(e){var t=u.default.createClass({displayName:\"WithRouter\",contextTypes:{router:d.routerShape},render:function(){return u.default.createElement(e,a({},this.props,{router:this.context.router}))}});return t.displayName=\"withRouter(\"+o(e)+\")\",t.WrappedComponent=e,(0,c.default)(t,e)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(1),u=r(s),l=n(1598),c=r(l),d=n(330);e.exports=t.default},function(e,t){\"use strict\";var n={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,arguments:!0,arity:!0},o=\"function\"==typeof Object.getOwnPropertySymbols;e.exports=function(e,t,i){if(\"string\"!=typeof t){var a=Object.getOwnPropertyNames(t);o&&(a=a.concat(Object.getOwnPropertySymbols(t)));for(var s=0;s<a.length;++s)if(!(n[a[s]]||r[a[s]]||i&&i[a[s]]))try{e[a[s]]=t[a[s]]}catch(e){}}return e}},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}Object.defineProperty(t,\"__esModule\",{value:!0});var i=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}(),a=n(1600),s=r(a),u=function(e){return e};t.default=function(e){var t=Array.isArray(e)&&2===e.length?e:[e,null],n=i(t,2),r=n[0],a=n[1];return function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];var l=n.map(function(e){return r[e]}).filter(u);return\"string\"==typeof l[0]||\"function\"==typeof a?{key:e,className:a?a.apply(void 0,o(l)):l.join(\" \")}:{key:e,style:s.default.apply(void 0,[{}].concat(o(l)))}}},e.exports=t.default},function(e,t){\"use strict\";function n(e){if(null==e)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function r(e){var t=Object.getOwnPropertyNames(e);return Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(e))),t.filter(function(t){return o.call(e,t)})}var o=Object.prototype.propertyIsEnumerable;e.exports=Object.assign||function(e,t){for(var o,i,a=n(e),s=1;s<arguments.length;s++){o=arguments[s],i=r(Object(o));for(var u=0;u<i.length;u++)a[i[u]]=o[i[u]]}return a}},315,[1767,145],function(e,t,n){\"use strict\";function r(e){return(\"\"+e).replace(v,\"$&/\")}function o(e,t){this.func=e,this.context=t,this.count=0}function i(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function a(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);_(e,i,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,i=e.keyPrefix,a=e.func,s=e.context,u=a.call(s,t,e.count++);Array.isArray(u)?l(u,o,n,g.thatReturnsArgument):null!=u&&(m.isValidElement(u)&&(u=m.cloneAndReplaceKey(u,i+(!u.key||t&&t.key===u.key?\"\":r(u.key)+\"/\")+n)),o.push(u))}function l(e,t,n,o,i){var a=\"\";null!=n&&(a=r(n)+\"/\");var l=s.getPooled(t,a,o,i);_(e,u,l),s.release(l)}function c(e,t,n){if(null==e)return e;var r=[];return l(e,r,null,t,n),r}function d(e,t,n){return null}function f(e,t){return _(e,d,null)}function p(e){var t=[];return l(e,t,null,g.thatReturnsArgument),t}var h=n(1602),m=n(144),g=n(63),_=n(1613),b=h.twoArgumentPooler,y=h.fourArgumentPooler,v=/\\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,b),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,y);var M={forEach:a,map:c,mapIntoWithKeyPrefixInternal:l,count:f,toArray:p};e.exports=M},function(e,t,n){\"use strict\";function r(e){return e}function o(e,t){var n=v.hasOwnProperty(t)?v[t]:null;A.hasOwnProperty(t)&&(\"OVERRIDE_BASE\"!==n?f(\"73\",t):void 0),e&&(\"DEFINE_MANY\"!==n&&\"DEFINE_MANY_MERGED\"!==n?f(\"74\",t):void 0)}function i(e,t){if(t){\"function\"==typeof t?f(\"75\"):void 0,m.isValidElement(t)?f(\"76\"):void 0;var n=e.prototype,r=n.__reactAutoBindPairs;t.hasOwnProperty(b)&&M.mixins(e,t.mixins);for(var i in t)if(t.hasOwnProperty(i)&&i!==b){var a=t[i],s=n.hasOwnProperty(i);if(o(s,i),M.hasOwnProperty(i))M[i](e,a);else{var c=v.hasOwnProperty(i),d=\"function\"==typeof a,p=d&&!c&&!s&&t.autobind!==!1;if(p)r.push(i,a),n[i]=a;else if(s){var h=v[i];!c||\"DEFINE_MANY_MERGED\"!==h&&\"DEFINE_MANY\"!==h?f(\"77\",h,i):void 0,\"DEFINE_MANY_MERGED\"===h?n[i]=u(n[i],a):\"DEFINE_MANY\"===h&&(n[i]=l(n[i],a))}else n[i]=a}}}else;}function a(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in M;o?f(\"78\",n):void 0;var i=n in e;i?f(\"79\",n):void 0,e[n]=r}}}function s(e,t){e&&t&&\"object\"==typeof e&&\"object\"==typeof t?void 0:f(\"80\");for(var n in t)t.hasOwnProperty(n)&&(void 0!==e[n]?f(\"81\",n):void 0,e[n]=t[n]);return e}function u(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return s(o,n),s(o,r),o}}function l(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function c(e,t){var n=t.bind(e);return n}function d(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=c(e,o)}}var f=n(145),p=n(28),h=n(332),m=n(144),g=(n(1606),n(333)),_=n(162),b=(n(17),n(20),\"mixins\"),y=[],v={mixins:\"DEFINE_MANY\",statics:\"DEFINE_MANY\",propTypes:\"DEFINE_MANY\",\ncontextTypes:\"DEFINE_MANY\",childContextTypes:\"DEFINE_MANY\",getDefaultProps:\"DEFINE_MANY_MERGED\",getInitialState:\"DEFINE_MANY_MERGED\",getChildContext:\"DEFINE_MANY_MERGED\",render:\"DEFINE_ONCE\",componentWillMount:\"DEFINE_MANY\",componentDidMount:\"DEFINE_MANY\",componentWillReceiveProps:\"DEFINE_MANY\",shouldComponentUpdate:\"DEFINE_ONCE\",componentWillUpdate:\"DEFINE_MANY\",componentDidUpdate:\"DEFINE_MANY\",componentWillUnmount:\"DEFINE_MANY\",updateComponent:\"OVERRIDE_BASE\"},M={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=p({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=p({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=u(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=p({},e.propTypes,t)},statics:function(e,t){a(e,t)},autobind:function(){}},A={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e),t&&this.updater.enqueueCallback(this,t,\"replaceState\")},isMounted:function(){return this.updater.isMounted(this)}},w=function(){};p(w.prototype,h.prototype,A);var C={createClass:function(e){var t=r(function(e,n,r){this.__reactAutoBindPairs.length&&d(this),this.props=e,this.context=n,this.refs=_,this.updater=r||g,this.state=null;var o=this.getInitialState?this.getInitialState():null;\"object\"!=typeof o||Array.isArray(o)?f(\"82\",t.displayName||\"ReactCompositeComponent\"):void 0,this.state=o});t.prototype=new w,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],y.forEach(i.bind(null,t)),i(t,e),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),t.prototype.render?void 0:f(\"83\");for(var n in v)t.prototype[n]||(t.prototype[n]=null);return t},injection:{injectMixin:function(e){y.push(e)}}};e.exports=C},function(e,t,n){\"use strict\";var r=n(144),o=r.createFactory,i={a:o(\"a\"),abbr:o(\"abbr\"),address:o(\"address\"),area:o(\"area\"),article:o(\"article\"),aside:o(\"aside\"),audio:o(\"audio\"),b:o(\"b\"),base:o(\"base\"),bdi:o(\"bdi\"),bdo:o(\"bdo\"),big:o(\"big\"),blockquote:o(\"blockquote\"),body:o(\"body\"),br:o(\"br\"),button:o(\"button\"),canvas:o(\"canvas\"),caption:o(\"caption\"),cite:o(\"cite\"),code:o(\"code\"),col:o(\"col\"),colgroup:o(\"colgroup\"),data:o(\"data\"),datalist:o(\"datalist\"),dd:o(\"dd\"),del:o(\"del\"),details:o(\"details\"),dfn:o(\"dfn\"),dialog:o(\"dialog\"),div:o(\"div\"),dl:o(\"dl\"),dt:o(\"dt\"),em:o(\"em\"),embed:o(\"embed\"),fieldset:o(\"fieldset\"),figcaption:o(\"figcaption\"),figure:o(\"figure\"),footer:o(\"footer\"),form:o(\"form\"),h1:o(\"h1\"),h2:o(\"h2\"),h3:o(\"h3\"),h4:o(\"h4\"),h5:o(\"h5\"),h6:o(\"h6\"),head:o(\"head\"),header:o(\"header\"),hgroup:o(\"hgroup\"),hr:o(\"hr\"),html:o(\"html\"),i:o(\"i\"),iframe:o(\"iframe\"),img:o(\"img\"),input:o(\"input\"),ins:o(\"ins\"),kbd:o(\"kbd\"),keygen:o(\"keygen\"),label:o(\"label\"),legend:o(\"legend\"),li:o(\"li\"),link:o(\"link\"),main:o(\"main\"),map:o(\"map\"),mark:o(\"mark\"),menu:o(\"menu\"),menuitem:o(\"menuitem\"),meta:o(\"meta\"),meter:o(\"meter\"),nav:o(\"nav\"),noscript:o(\"noscript\"),object:o(\"object\"),ol:o(\"ol\"),optgroup:o(\"optgroup\"),option:o(\"option\"),output:o(\"output\"),p:o(\"p\"),param:o(\"param\"),picture:o(\"picture\"),pre:o(\"pre\"),progress:o(\"progress\"),q:o(\"q\"),rp:o(\"rp\"),rt:o(\"rt\"),ruby:o(\"ruby\"),s:o(\"s\"),samp:o(\"samp\"),script:o(\"script\"),section:o(\"section\"),select:o(\"select\"),small:o(\"small\"),source:o(\"source\"),span:o(\"span\"),strong:o(\"strong\"),style:o(\"style\"),sub:o(\"sub\"),summary:o(\"summary\"),sup:o(\"sup\"),table:o(\"table\"),tbody:o(\"tbody\"),td:o(\"td\"),textarea:o(\"textarea\"),tfoot:o(\"tfoot\"),th:o(\"th\"),thead:o(\"thead\"),time:o(\"time\"),title:o(\"title\"),tr:o(\"tr\"),track:o(\"track\"),u:o(\"u\"),ul:o(\"ul\"),var:o(\"var\"),video:o(\"video\"),wbr:o(\"wbr\"),circle:o(\"circle\"),clipPath:o(\"clipPath\"),defs:o(\"defs\"),ellipse:o(\"ellipse\"),g:o(\"g\"),image:o(\"image\"),line:o(\"line\"),linearGradient:o(\"linearGradient\"),mask:o(\"mask\"),path:o(\"path\"),pattern:o(\"pattern\"),polygon:o(\"polygon\"),polyline:o(\"polyline\"),radialGradient:o(\"radialGradient\"),rect:o(\"rect\"),stop:o(\"stop\"),svg:o(\"svg\"),text:o(\"text\"),tspan:o(\"tspan\")};e.exports=i},function(e,t,n){\"use strict\";var r={};e.exports=r},function(e,t,n){\"use strict\";var r=n(144),o=r.isValidElement,i=n(1377);e.exports=i(o)},function(e,t,n){\"use strict\";function r(e,t,n){this.props=e,this.context=t,this.refs=u,this.updater=n||s}function o(){}var i=n(28),a=n(332),s=n(333),u=n(162);o.prototype=a.prototype,r.prototype=new o,r.prototype.constructor=r,i(r.prototype,a.prototype),r.prototype.isPureReactComponent=!0,e.exports=r},1521,1540,function(e,t){\"use strict\";function n(){return r++}var r=1;e.exports=n},function(e,t,n){\"use strict\";function r(e){return i.isValidElement(e)?void 0:o(\"143\"),e}var o=n(145),i=n(144);n(17);e.exports=r},function(e,t,n){\"use strict\";function r(e,t){return e&&\"object\"==typeof e&&null!=e.key?l.escape(e.key):t.toString(36)}function o(e,t,n,i){var f=typeof e;if(\"undefined\"!==f&&\"boolean\"!==f||(e=null),null===e||\"string\"===f||\"number\"===f||\"object\"===f&&e.$$typeof===s)return n(i,e,\"\"===t?c+r(e,0):t),1;var p,h,m=0,g=\"\"===t?c:t+d;if(Array.isArray(e))for(var _=0;_<e.length;_++)p=e[_],h=g+r(p,_),m+=o(p,h,n,i);else{var b=u(e);if(b){var y,v=b.call(e);if(b!==e.entries)for(var M=0;!(y=v.next()).done;)p=y.value,h=g+r(p,M++),m+=o(p,h,n,i);else for(;!(y=v.next()).done;){var A=y.value;A&&(p=A[1],h=g+l.escape(A[0])+d+r(p,0),m+=o(p,h,n,i))}}else if(\"object\"===f){var w=\"\",C=String(e);a(\"31\",\"[object Object]\"===C?\"object with keys {\"+Object.keys(e).join(\", \")+\"}\":C,w)}}return m}function i(e,t,n){return null==e?0:o(e,\"\",t,n)}var a=n(145),s=(n(82),n(631)),u=n(1610),l=(n(17),n(1601)),c=(n(20),\".\"),d=\":\";e.exports=i},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(294),i=r(o),a=n(225),s=r(a),u=function(e,t,n,r){t(r);var o=e();if(!(0,i.default)(o))throw new Error(\"asyncValidate function passed to reduxForm must return a promise\");var a=function(e){return function(t){if(!(0,s.default)(t))return n(t),Promise.reject();if(e)throw n(),new Error(\"Asynchronous validation promise was rejected without errors.\");return n(),Promise.resolve()}};return o.then(a(!1),a(!0))};t.default=u},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t,n){return{actionTypes:b,addArrayValue:C,autofill:E,autofillWithKey:L,blur:T,change:O,changeWithKey:S,destroy:N,focus:k,getValues:A.default,initialize:D,initializeWithKey:x,propTypes:(0,v.default)(),reduxForm:(0,c.default)(e,t,n),reducer:u.default,removeArrayValue:I,reset:z,startAsyncValidation:j,startSubmit:P,stopAsyncValidation:B,stopSubmit:F,submitFailed:R,swapArrayValues:W,touch:Y,touchWithKey:H,untouch:q,untouchWithKey:U}}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(336),u=o(s),l=n(1618),c=o(l),d=n(335),f=o(d),p=n(634),h=o(p),m=n(633),g=r(m),_=n(334),b=r(_),y=n(1617),v=o(y),M=n(642),A=o(M),w=a({},(0,f.default)(a({},g,{autofillWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.autofill,{key:e}).apply(void 0,n)},changeWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.change,{key:e}).apply(void 0,n)},initializeWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.initialize,{key:e}).apply(void 0,n)},reset:function(e){return(0,h.default)(g.reset,{key:e})()},touchWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.touch,{key:e}).apply(void 0,n)},untouchWithKey:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return(0,h.default)(g.untouch,{key:e}).apply(void 0,n)},destroy:function(e){return(0,h.default)(g.destroy,{key:e})()}}),function(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(0,h.default)(e,{form:t}).apply(void 0,r)}})),C=w.addArrayValue,E=w.autofill,L=w.autofillWithKey,T=w.blur,O=w.change,S=w.changeWithKey,N=w.destroy,k=w.focus,D=w.initialize,x=w.initializeWithKey,I=w.removeArrayValue,z=w.reset,j=w.startAsyncValidation,P=w.startSubmit,B=w.stopAsyncValidation,F=w.stopSubmit,R=w.submitFailed,W=w.swapArrayValues,Y=w.touch,H=w.touchWithKey,q=w.untouch,U=w.untouchWithKey},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function u(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=n(5),d=o(c),f=n(633),p=r(f),h=n(640),m=o(h),g=n(336),_=n(285),b=o(_),y=n(634),v=o(y),M=n(641),A=o(M),w=n(225),C=o(w),E=n(1629),L=o(E),T=n(1625),O=o(T),S=n(1614),N=o(S),k=n(1624),D=o(k),x=n(639),I=o(x),z=n(1635),j=o(z),P=n(1636),B=o(P),F=n(635),R=o(F),W=function(e,t,n,r,o,c,f,h,_){var y=n.Component;return function(M,w,E,T){var S=_||{},k=S.withRef,x=void 0!==k&&k,z=function(r){function c(n){a(this,c);var o=s(this,r.call(this,n));o.asyncValidate=o.asyncValidate.bind(o),o.handleSubmit=o.handleSubmit.bind(o);var i=o.props,u=i.initialValues,d=i.submitPassback,f=(0,b.default)(n.form,g.initialState)?(0,R.default)(u,e.fields,{},!0,!1):n.form;return o.fields=(0,L.default)(l({},n,{form:f}),{},{},o.asyncValidate,t),d(function(){return o.handleSubmit()}),o}return u(c,r),c.prototype.componentWillMount=function(){var e=this.props,t=e.fields,n=e.form,r=e.initialize,o=e.initialValues;o&&!n._initialized&&r(o,t)},c.prototype.componentWillReceiveProps=function(e){(0,b.default)(this.props.fields,e.fields)&&(0,b.default)(this.props.form,e.form,{strict:!0})||(this.fields=(0,L.default)(e,this.props,this.fields,this.asyncValidate,t)),(0,b.default)(this.props.initialValues,e.initialValues)||this.props.initialize(e.initialValues,e.fields,this.props.overwriteOnInitialValuesChange||!this.props.form._initialized)},c.prototype.componentWillUnmount=function(){e.destroyOnUnmount&&this.props.destroy()},c.prototype.asyncValidate=function e(t,n){var r=this,o=this.props,i=o.alwaysAsyncValidate,e=o.asyncValidate,a=o.dispatch,s=o.fields,u=o.form,l=o.startAsyncValidation,c=o.stopAsyncValidation,d=o.validate,f=!t;if(e){var p=(0,A.default)(s,u);t&&(p[t]=n);var h=d(p,this.props),m=this.fields._meta.allPristine,g=u._initialized,_=f||(0,C.default)(h[t]);if(i||_&&(f||!m||!g))return(0,N.default)(function(){return e(p,a,r.props)},l,c,t)}},c.prototype.handleSubmit=function(e){var t=this,n=this.props,r=n.onSubmit,o=n.fields,i=n.form,a=function(e){if(!e||\"function\"!=typeof e)throw new Error(\"You must either pass handleSubmit() an onSubmit function or pass onSubmit as a prop\");return e};return!e||(0,I.default)(e)?(0,O.default)(a(r),(0,A.default)(o,i),this.props,this.asyncValidate):(0,D.default)(function(){return(0,O.default)(a(e),(0,A.default)(o,i),t.props,t.asyncValidate)})},c.prototype.render=function(){var e,t=this,r=this.fields,a=this.props,s=(a.addArrayValue,a.asyncBlurFields,a.autofill,a.blur,a.change,a.destroy),u=(a.focus,a.fields),c=a.form,d=(a.initialValues,a.initialize),f=(a.onSubmit,a.propNamespace),p=a.reset,h=(a.removeArrayValue,a.returnRejectedSubmitPromise,a.startAsyncValidation,a.startSubmit,a.stopAsyncValidation,a.stopSubmit,a.submitFailed,a.swapArrayValues,a.touch),m=a.untouch,g=(a.validate,i(a,[\"addArrayValue\",\"asyncBlurFields\",\"autofill\",\"blur\",\"change\",\"destroy\",\"focus\",\"fields\",\"form\",\"initialValues\",\"initialize\",\"onSubmit\",\"propNamespace\",\"reset\",\"removeArrayValue\",\"returnRejectedSubmitPromise\",\"startAsyncValidation\",\"startSubmit\",\"stopAsyncValidation\",\"stopSubmit\",\"submitFailed\",\"swapArrayValues\",\"touch\",\"untouch\",\"validate\"])),_=r._meta,b=_.allPristine,y=_.allValid,v=_.errors,M=_.formError,A=_.values,w={active:c._active,asyncValidating:c._asyncValidating,dirty:!b,error:M,errors:v,fields:r,formKey:E,invalid:!y,pristine:b,submitting:c._submitting,submitFailed:c._submitFailed,valid:y,values:A,asyncValidate:(0,D.default)(function(){return t.asyncValidate()}),destroyForm:(0,D.default)(s),handleSubmit:this.handleSubmit,initializeForm:(0,D.default)(function(e){return d(e,u)}),resetForm:(0,D.default)(p),touch:(0,D.default)(function(){return h.apply(void 0,arguments)}),touchAll:(0,D.default)(function(){return h.apply(void 0,u)}),untouch:(0,D.default)(function(){return m.apply(void 0,arguments)}),untouchAll:(0,D.default)(function(){return m.apply(void 0,u)})},C=f?(e={},e[f]=w,e):w;return x?n.createElement(o,l({},l({},g,C),{ref:\"wrappedInstance\"})):n.createElement(o,l({},g,C))},c}(y);z.displayName=\"ReduxForm(\"+(0,m.default)(o)+\")\",z.WrappedComponent=o,z.propTypes={alwaysAsyncValidate:d.default.bool,asyncBlurFields:d.default.arrayOf(d.default.string),asyncValidate:d.default.func,dispatch:d.default.func.isRequired,fields:d.default.arrayOf(d.default.string).isRequired,form:d.default.object,initialValues:d.default.any,onSubmit:d.default.func,onSubmitSuccess:d.default.func,onSubmitFail:d.default.func,overwriteOnInitialValuesChange:d.default.bool.isRequired,propNamespace:d.default.string,readonly:d.default.bool,returnRejectedSubmitPromise:d.default.bool,submitPassback:d.default.func.isRequired,validate:d.default.func,addArrayValue:d.default.func.isRequired,autofill:d.default.func.isRequired,blur:d.default.func.isRequired,change:d.default.func.isRequired,destroy:d.default.func.isRequired,focus:d.default.func.isRequired,initialize:d.default.func.isRequired,removeArrayValue:d.default.func.isRequired,reset:d.default.func.isRequired,startAsyncValidation:d.default.func.isRequired,startSubmit:d.default.func.isRequired,stopAsyncValidation:d.default.func.isRequired,stopSubmit:d.default.func.isRequired,submitFailed:d.default.func.isRequired,swapArrayValues:d.default.func.isRequired,touch:d.default.func.isRequired,untouch:d.default.func.isRequired},z.defaultProps={asyncBlurFields:[],form:g.initialState,readonly:!1,returnRejectedSubmitPromise:!1,validate:function(){return{}}};var P=l({},p,{blur:(0,v.default)(p.blur,{touch:!!e.touchOnBlur}),change:(0,v.default)(p.change,{touch:!!e.touchOnChange})}),F=void 0!==E&&null!==E?r((0,B.default)(c,function(e){var t=T(e,M);if(!t)throw new Error('You need to mount the redux-form reducer at \"'+M+'\"');return t&&t[w]&&t[w][E]}),(0,j.default)(f,(0,v.default)(P,{form:w,key:E})),h,_):r((0,B.default)(c,function(e){var t=T(e,M);if(!t)throw new Error('You need to mount the redux-form reducer at \"'+M+'\"');return t&&t[w]}),(0,j.default)(f,(0,v.default)(P,{form:w})),h,_);return F(z)}};t.default=W},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(5),i=r(o),a=function(){return{active:i.default.string,asyncValidating:i.default.bool.isRequired,autofilled:i.default.bool,dirty:i.default.bool.isRequired,error:i.default.any,errors:i.default.object,fields:i.default.object.isRequired,formKey:i.default.any,invalid:i.default.bool.isRequired,pristine:i.default.bool.isRequired,submitting:i.default.bool.isRequired,submitFailed:i.default.bool.isRequired,valid:i.default.bool.isRequired,values:i.default.object.isRequired,asyncValidate:i.default.func.isRequired,destroyForm:i.default.func.isRequired,handleSubmit:i.default.func.isRequired,initializeForm:i.default.func.isRequired,resetForm:i.default.func.isRequired,touch:i.default.func.isRequired,touchAll:i.default.func.isRequired,untouch:i.default.func.isRequired,untouchAll:i.default.func.isRequired}};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=n(1619),l=r(u),c=n(1637),d=r(c),f=n(33),p=r(f),h=function(e,t,n){var r=t.Component,u=(0,l.default)(e,t,n);return function(e,n,l,c,f){return function(h){var m=u(h,n,l,c,f),g=f||{},_=g.withRef,b=void 0!==_&&_,y=s({overwriteOnInitialValuesChange:!0,touchOnBlur:!0,touchOnChange:!1,destroyOnUnmount:!0},e),v=function(e){function n(t){o(this,n);var r=i(this,e.call(this,t));return r.handleSubmitPassback=r.handleSubmitPassback.bind(r),r}return a(n,e),n.prototype.getWrappedInstance=function(){return(0,p.default)(b,\"To access the wrapped instance, you need to specify { withRef: true } as the fourth argument of the connect() call.\"),this.refs.wrappedInstance.refs.wrappedInstance.getWrappedInstance().refs.wrappedInstance},n.prototype.handleSubmitPassback=function(e){this.submit=e},n.prototype.render=function(){return b?t.createElement(m,s({},y,this.props,{ref:\"wrappedInstance\",submitPassback:this.handleSubmitPassback})):t.createElement(m,s({},y,this.props,{submitPassback:this.handleSubmitPassback}))},n}(r);return(0,d.default)(v,h)}}};t.default=h},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,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 a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}t.__esModule=!0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=n(5),c=r(l),d=n(1556),f=r(d),p=n(640),h=r(p),m=n(1616),g=r(m),_=function(e,t,n){return function(r,l,d,p,m){var _=t.Component,b=m||{},y=b.withRef,v=void 0!==y&&y,M=function(c){function h(o){i(this,h);var s=a(this,c.call(this,o));return s.cache=new f.default(s,{ReduxForm:{params:[\"reduxMountPoint\",\"form\",\"formKey\",\"getFormState\"],fn:(0,g.default)(o,e,t,n,r,l,d,p,m)}}),s}return s(h,c),h.prototype.componentWillReceiveProps=function(e){this.cache.componentWillReceiveProps(e)},h.prototype.render=function(){var e=this.cache.get(\"ReduxForm\"),n=this.props,r=(n.reduxMountPoint,n.destroyOnUnmount,n.form,n.getFormState,n.touchOnBlur,n.touchOnChange,o(n,[\"reduxMountPoint\",\"destroyOnUnmount\",\"form\",\"getFormState\",\"touchOnBlur\",\"touchOnChange\"]));return v?t.createElement(e,u({},r,{ref:\"wrappedInstance\"})):t.createElement(e,r)},h}(_);return M.displayName=\"ReduxFormConnector(\"+(0,h.default)(r)+\")\",M.WrappedComponent=r,M.propTypes={destroyOnUnmount:c.default.bool,reduxMountPoint:c.default.string,form:c.default.string.isRequired,formKey:c.default.string,getFormState:c.default.func,touchOnBlur:c.default.bool,touchOnChange:c.default.bool},M.defaultProps={reduxMountPoint:\"form\",getFormState:function(e,t){return e[t]}},M}};t.default=_},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(637),i=r(o),a=function(e,t,n,r){return function(o){var a=(0,i.default)(o,n);t(e,a),r&&r(e,a)}};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(637),i=r(o),a=function(e,t,n){return function(r){return t(e,(0,i.default)(r,n))}};t.default=a},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(636),o=function(e,t){return function(n){t(e,n.dataTransfer.getData(r.dataKey))}};t.default=o},function(e,t){\"use strict\";t.__esModule=!0;var n=function(e,t){return function(){return t(e)}};t.default=n},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(639),i=r(o),a=function(e){return function(t){for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return(0,i.default)(t)?e.apply(void 0,r):e.apply(void 0,[t].concat(r))}};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(294),i=r(o),a=n(225),s=r(a),u=function(e,t,n,r){var o=n.dispatch,a=n.fields,u=n.onSubmitSuccess,l=n.onSubmitFail,c=n.startSubmit,d=n.stopSubmit,f=n.submitFailed,p=n.returnRejectedSubmitPromise,h=n.touch,m=n.validate,g=m(t,n);if(h.apply(void 0,a),(0,s.default)(g)){var _=function(){var r=e(t,o,n);return(0,i.default)(r)?(c(),r.then(function(e){return d(),u&&u(e),e},function(e){if(d(e),l&&l(e),p)return Promise.reject(e)})):(u&&u(r),r)},b=r();return(0,i.default)(b)?b.then(_,function(){return f(),l&&l(),p?Promise.reject():Promise.resolve()}):_()}if(f(),l&&l(g),p)return Promise.reject(g)};t.default=u},function(e,t){\"use strict\";function n(e,t){if(e===t)return!0;if(\"boolean\"==typeof e||\"boolean\"==typeof t)return e===t;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e&&\"object\"==typeof e){if(!t||\"object\"!=typeof t)return!1;var r=Object.keys(e),o=Object.keys(t);if(r.length!==o.length)return!1;for(var i=0;i<o.length;i++){var a=o[i];if(!n(e[a],t[a]))return!1}}else{if(e||t)return e===t;if(null===e&&0===t||0===e&&null===t)return!1}return!0}t.__esModule=!0,t.default=n},function(e,t,n){\"use strict\";function r(e){var t=e.indexOf(\".\"),n=e.indexOf(\"[\"),r=e.indexOf(\"]\");if(n>0&&r!==n+1)throw new Error(\"found [ not followed by ]\");var o=n>0&&(t<0||n<t),i=void 0,a=void 0;return o?(i=e.substring(0,n),a=e.substring(r+1),\".\"===a[0]&&(a=a.substring(1))):t>0?(i=e.substring(0,t),a=e.substring(t+1)):i=e,{isArray:o,key:i,nestedPath:a}}function o(e,t,n,i,a,u,l){if(e.isArray){if(e.nestedPath){var c=n&&n[e.key]||[],d=i&&i[e.key]||[],f=r(e.nestedPath);return c.map(function(e,n){return e[f.key]=o(f,t,e,d[n],a,u,l),e})}var p=l[t],h=p(n&&n[e.key],i&&i[e.key],a,u);return e.isArray?h&&h.map(s.makeFieldValue):h}if(e.nestedPath){var m=n&&n[e.key]||{},g=r(e.nestedPath);return m[g.key]=o(g,t,m,i&&i[e.key],a,u,l),m}var _=n&&Object.assign({},n[e.key]||{}),b=l[t];return _.value=b(_.value,i&&i[e.key]&&i[e.key].value,a,u),(0,s.makeFieldValue)(_)}function i(e,t,n,i,s){var u=Object.keys(e).reduce(function(a,u){var l=r(u);return a[l.key]=o(l,u,t,n,i,s,e),a},{});return a({},t,u)}t.__esModule=!0;var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=i;var s=n(146)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){var n=e.substring(t+1);return\".\"===n[0]&&(n=n.substring(1)),n}t.__esModule=!0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},a=n(1620),s=r(a),u=n(1621),l=r(u),c=n(636),d=r(c),f=n(1622),p=r(f),h=n(1623),m=r(h),g=n(1633),_=r(g),b=n(645),y=r(b),v=n(1634),M=r(v),A=n(644),w=r(A),C=function(e){var t=e.indexOf(\".\"),n=e.indexOf(\"[\");return n>0&&(t<0||n<t)?e.substring(0,n):t>0?e.substring(0,t):e},E=function(e,t){return~t.indexOf(e.replace(/\\[[0-9]+\\]/g,\"[]\"))},L=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"\",a=arguments[3],u=arguments[4],c=arguments[5],f=arguments[6],h=arguments[7],g=arguments.length>8&&void 0!==arguments[8]?arguments[8]:function(){return null},b=arguments.length>9&&void 0!==arguments[9]?arguments[9]:\"\",v=h.asyncBlurFields,A=h.autofill,L=h.blur,T=h.change,O=h.focus,S=h.form,N=h.initialValues,k=h.readonly,D=h.addArrayValue,x=h.removeArrayValue,I=h.swapArrayValues,z=n.indexOf(\".\"),j=n.indexOf(\"[\"),P=n.indexOf(\"]\");if(j>0&&P!==j+1)throw new Error(\"found [ not followed by ]\");if(j>0&&(z<0||j<z)){var B=n.substring(0,j),F=o(n,P),R=t&&t[B]||[],W=b+n.substring(0,P+1),Y=h.fields.reduce(function(e,t){return 0===t.indexOf(W)&&e.push(t),e},[]).map(function(e){return o(e,b.length+P)}),H=function(e){return Object.defineProperty(e,\"addField\",{value:function(e,t){return D(r+B,e,t,Y)}}),Object.defineProperty(e,\"removeField\",{value:function(e){return x(r+B,e)}}),Object.defineProperty(e,\"swapFields\",{value:function(e,t){return I(r+B,e,t)}}),e};a[B]&&a[B].length===R.length||(a[B]=a[B]?[].concat(a[B]):[],H(a[B]));var q=a[B],U=!1;return R.forEach(function(t,n){F&&!q[n]&&(q[n]={},U=!0);var o=F?q[n]:{},a=\"\"+r+B+\"[\"+n+\"]\"+(F?\".\":\"\"),s=\"\"+b+B+\"[]\"+(F?\".\":\"\"),l=e(t,F,a,o,u,c,f,h,g,s);q[n]!==l&&(F&&(l=i({},o)),q[n]=l,U=!0)}),q.length>R.length&&q.splice(R.length,q.length-R.length),U&&(q=H([].concat(q))),a[B]=q,q}if(z>0){var X=n.substring(0,z),V=n.substring(z+1),G=a[X]||{},$=r+X+\".\",K=C(V),Q=b+X+\".\",Z=G[K],J=e(t[X]||{},V,$,G,u,c,f,h,g,Q);if(J!==Z){var ee;G=i({},G,(ee={},ee[K]=J,ee))}return a[X]=G,G}var te=r+n,ne=a[n]||{};if(ne.name!==te){var re=(0,l.default)(te,T,f),oe=(0,y.default)(te+\".initial\",S),ie=oe||(0,y.default)(te,N);ie=void 0===ie?\"\":ie,ne.name=te,ne.checked=(0,w.default)(ie),ne.value=ie,ne.initialValue=ie,k||(ne.autofill=function(e){return A(te,e)},ne.onBlur=(0,s.default)(te,L,f,E(te,v)&&function(e,t){return(0,_.default)(c(e,t))}),ne.onChange=re,ne.onDragStart=(0,d.default)(te,function(){return ne.value}),ne.onDrop=(0,p.default)(te,T),ne.onFocus=(0,m.default)(te,O),ne.onUpdate=re),ne.valid=!0,ne.invalid=!1,Object.defineProperty(ne,\"_isField\",{value:!0})}var ae=(n?t[n]:t)||{},se=(0,y.default)(te,u),ue=(0,M.default)(ne,ae,te===S._active,se);return(n||a[n]!==ue)&&(a[n]=ue),g(ue),ue};t.default=L},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1628),a=r(i),s=n(646),u=r(s),l=n(641),c=r(l),d=n(1630),f=r(d),p=function(e,t,n,r,i){var s=e.fields,l=e.form,d=e.validate,p=t.fields,h=(0,c.default)(s,l),m=d(h,e)||{},g={},_=m._error||l._error,b=!_,y=!0,v=function(e){e.error&&(g=(0,u.default)(e.name,e.error,g),b=!1),e.dirty&&(y=!1)},M=p?p.reduce(function(e,t){return~s.indexOf(t)?e:(0,f.default)(e,t)},o({},n)):o({},n);return s.forEach(function(t){(0,a.default)(l,t,void 0,M,m,r,i,e,v)}),Object.defineProperty(M,\"_meta\",{value:{allPristine:y,allValid:b,values:h,errors:g,formError:_}}),M};t.default=p},function(e,t){\"use strict\";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r=function(e,t){var r=n({},e);return delete r[t],r},o=function e(t,o){var i=o.indexOf(\".\"),a=o.indexOf(\"[\"),s=o.indexOf(\"]\");if(a>0&&s!==a+1)throw new Error(\"found [ not followed by ]\");if(a>0&&(i<0||a<i)){var u=o.substring(0,a);if(!Array.isArray(t[u]))return r(t,u);var l=o.substring(s+1);if(\".\"===l[0]&&(l=l.substring(1)),l){var c,d=[];return t[u].forEach(function(t,n){var r=e(t,l);Object.keys(r).length&&(d[n]=r)}),d.length?n({},t,(c={},c[u]=d,c)):r(t,u)}return r(t,u)}if(i>0){var f,p=o.substring(0,i),h=o.substring(i+1);if(!t[p])return t;var m=e(t[p],h);return Object.keys(m).length?n({},t,(f={},f[p]=e(t[p],h),f)):r(t,p)}return r(t,o)};t.default=o},function(e,t,n){\"use strict\";t.__esModule=!0;var r=n(146),o=function(e){return(0,r.makeFieldValue)(void 0===e||e&&void 0===e.initial?{}:{initial:e.initial,value:e.initial})},i=function e(t){return t?Object.keys(t).reduce(function(n,i){var a=t[i];return Array.isArray(a)?n[i]=a.map(function(t){return(0,r.isFieldValue)(t)?o(t):e(t)}):a&&((0,r.isFieldValue)(a)?n[i]=o(a):\"object\"==typeof a&&null!==a?n[i]=e(a):n[i]=a),n},{}):t};t.default=i},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(146),i=function(e){return\"_\"===e[0]},a=function e(t,n,a){var s=function(){if(Array.isArray(t))return t.map(function(t,r){return e(t,n&&n[r],a)});if(t&&\"object\"==typeof t){var s=Object.keys(t).reduce(function(o,s){var u;return i(s)?o:r({},o,(u={},u[s]=e(t[s],n&&n[s],a),u))},t);return(0,o.isFieldValue)(t)&&(0,o.makeFieldValue)(s),s}return(0,o.makeFieldValue)(t)};if(\"undefined\"!=typeof File&&t instanceof File)return t;if(!n){if(!t)return t;if(t[a]){var u=r({},t);return delete u[a],(0,o.makeFieldValue)(u)}return s()}if(\"string\"==typeof n){var l;return(0,o.makeFieldValue)(r({},t,(l={},l[a]=n,l)))}if(Array.isArray(n)){if(!t||Array.isArray(t)){var c=(t||[]).map(function(t,r){return e(t,n[r],a)});return n.forEach(function(t,n){return c[n]=e(c[n],t,a)}),c}return e(t,n[0],a)}if((0,o.isFieldValue)(t)){var d;return(0,o.makeFieldValue)(r({},t,(d={},d[a]=n,d)))}var f=Object.keys(n);return f.length||t?f.reduce(function(o,s){var u;return i(s)?o:r({},o,(u={},u[s]=e(t&&t[s],n[s],a),u))},s()||{}):t};t.default=a},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=n(294),i=r(o),a=function(){},s=function(e){return(0,i.default)(e)?e.then(a,a):e};t.default=s},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=n(1626),a=r(i),s=n(225),u=r(s),l=n(644),c=r(l),d=function(e,t,n,r){var i={},s=void 0===t.value?\"\":t.value;e.value!==s&&(i.value=s,i.checked=(0,c.default)(s));var l=(0,a.default)(s,t.initial);e.pristine!==l&&(i.dirty=!l,i.pristine=l);var d=r||t.submitError||t.asyncError;d!==e.error&&(i.error=d);var f=(0,u.default)(d);e.valid!==f&&(i.invalid=!f,i.valid=f),n!==e.active&&(i.active=n);var p=!!t.touched;p!==e.touched&&(i.touched=p);var h=!!t.visited;h!==e.visited&&(i.visited=h);var m=!!t.autofilled;return m!==e.autofilled&&(i.autofilled=m),\"initial\"in t&&t.initial!==e.initialValue&&(e.initialValue=t.initial),Object.keys(i).length?o({},e,i):e};t.default=d},function(e,t,n){\"use strict\";t.__esModule=!0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=n(36),i=function(e,t){return e?\"function\"==typeof e?e.length>1?function(n,i){return r({dispatch:n},e(n,i),(0,o.bindActionCreators)(t,n))}:function(n){return r({dispatch:n},e(n),(0,o.bindActionCreators)(t,n))}:function(n){return r({dispatch:n},(0,o.bindActionCreators)(e,n),(0,o.bindActionCreators)(t,n))}:function(e){return r({dispatch:e},(0,o.bindActionCreators)(t,e));\n}};t.default=i},function(e,t){\"use strict\";t.__esModule=!0;var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r=function(e,t){if(e){if(\"function\"!=typeof e)throw new Error(\"mapStateToProps must be a function\");return e.length>1?function(r,o){return n({},e(r,o),{form:t(r)})}:function(r){return n({},e(r),{form:t(r)})}}return function(e){return{form:t(e)}}};t.default=r},1598,function(e,t){\"use strict\";function n(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(o){return\"function\"==typeof o?o(n,r,e):t(o)}}}}t.__esModule=!0;var r=n();r.withExtraArgument=n,t.default=r},function(e,t,n){(function(t,n){!function(t){\"use strict\";function r(e,t,n,r){var o=t&&t.prototype instanceof i?t:i,a=Object.create(o.prototype),s=new h(r||[]);return a._invoke=d(e,n,s),a}function o(e,t,n){try{return{type:\"normal\",arg:e.call(t,n)}}catch(e){return{type:\"throw\",arg:e}}}function i(){}function a(){}function s(){}function u(e){[\"next\",\"throw\",\"return\"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function l(e){this.arg=e}function c(e){function t(n,r,i,a){var s=o(e[n],e,r);if(\"throw\"!==s.type){var u=s.arg,c=u.value;return c instanceof l?Promise.resolve(c.arg).then(function(e){t(\"next\",e,i,a)},function(e){t(\"throw\",e,i,a)}):Promise.resolve(c).then(function(e){u.value=e,i(u)},a)}a(s.arg)}function r(e,n){function r(){return new Promise(function(r,o){t(e,n,r,o)})}return i=i?i.then(r,r):r()}\"object\"==typeof n&&n.domain&&(t=n.domain.bind(t));var i;this._invoke=r}function d(e,t,n){var r=C;return function(i,a){if(r===L)throw new Error(\"Generator is already running\");if(r===T){if(\"throw\"===i)throw a;return g()}for(;;){var s=n.delegate;if(s){if(\"return\"===i||\"throw\"===i&&s.iterator[i]===_){n.delegate=null;var u=s.iterator.return;if(u){var l=o(u,s.iterator,a);if(\"throw\"===l.type){i=\"throw\",a=l.arg;continue}}if(\"return\"===i)continue}var l=o(s.iterator[i],s.iterator,a);if(\"throw\"===l.type){n.delegate=null,i=\"throw\",a=l.arg;continue}i=\"next\",a=_;var c=l.arg;if(!c.done)return r=E,c;n[s.resultName]=c.value,n.next=s.nextLoc,n.delegate=null}if(\"next\"===i)n.sent=n._sent=a;else if(\"throw\"===i){if(r===C)throw r=T,a;n.dispatchException(a)&&(i=\"next\",a=_)}else\"return\"===i&&n.abrupt(\"return\",a);r=L;var l=o(e,t,n);if(\"normal\"===l.type){r=n.done?T:E;var c={value:l.arg,done:n.done};if(l.arg!==O)return c;n.delegate&&\"next\"===i&&(a=_)}else\"throw\"===l.type&&(r=T,i=\"throw\",a=l.arg)}}}function f(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 p(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function h(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(f,this),this.reset(!0)}function m(e){if(e){var t=e[v];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(b.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=_,t.done=!0,t};return r.next=r}}return{next:g}}function g(){return{value:_,done:!0}}var _,b=Object.prototype.hasOwnProperty,y=\"function\"==typeof Symbol?Symbol:{},v=y.iterator||\"@@iterator\",M=y.toStringTag||\"@@toStringTag\",A=\"object\"==typeof e,w=t.regeneratorRuntime;if(w)return void(A&&(e.exports=w));w=t.regeneratorRuntime=A?e.exports:{},w.wrap=r;var C=\"suspendedStart\",E=\"suspendedYield\",L=\"executing\",T=\"completed\",O={},S=s.prototype=i.prototype;a.prototype=S.constructor=s,s.constructor=a,s[M]=a.displayName=\"GeneratorFunction\",w.isGeneratorFunction=function(e){var t=\"function\"==typeof e&&e.constructor;return!!t&&(t===a||\"GeneratorFunction\"===(t.displayName||t.name))},w.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,M in e||(e[M]=\"GeneratorFunction\")),e.prototype=Object.create(S),e},w.awrap=function(e){return new l(e)},u(c.prototype),w.async=function(e,t,n,o){var i=new c(r(e,t,n,o));return w.isGeneratorFunction(t)?i:i.next().then(function(e){return e.done?e.value:i.next()})},u(S),S[v]=function(){return this},S[M]=\"Generator\",S.toString=function(){return\"[object Generator]\"},w.keys=function(e){var t=[];for(var n in e)t.push(n);return t.reverse(),function n(){for(;t.length;){var r=t.pop();if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},w.values=m,h.prototype={constructor:h,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=_,this.done=!1,this.delegate=null,this.tryEntries.forEach(p),!e)for(var t in this)\"t\"===t.charAt(0)&&b.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=_)},stop:function(){this.done=!0;var e=this.tryEntries[0],t=e.completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(e){function t(t,r){return i.type=\"throw\",i.arg=e,n.next=t,!!r}if(this.done)throw e;for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r],i=o.completion;if(\"root\"===o.tryLoc)return t(\"end\");if(o.tryLoc<=this.prev){var a=b.call(o,\"catchLoc\"),s=b.call(o,\"finallyLoc\");if(a&&s){if(this.prev<o.catchLoc)return t(o.catchLoc,!0);if(this.prev<o.finallyLoc)return t(o.finallyLoc)}else if(a){if(this.prev<o.catchLoc)return t(o.catchLoc,!0)}else{if(!s)throw new Error(\"try statement without catch or finally\");if(this.prev<o.finallyLoc)return t(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n];if(r.tryLoc<=this.prev&&b.call(r,\"finallyLoc\")&&this.prev<r.finallyLoc){var o=r;break}}o&&(\"break\"===e||\"continue\"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=e,i.arg=t,o?this.next=o.finallyLoc:this.complete(i),O},complete:function(e,t){if(\"throw\"===e.type)throw e.arg;\"break\"===e.type||\"continue\"===e.type?this.next=e.arg:\"return\"===e.type?(this.rval=e.arg,this.next=\"end\"):\"normal\"===e.type&&t&&(this.next=t)},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),p(n),O}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if(\"throw\"===r.type){var o=r.arg;p(n)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,n){return this.delegate={iterator:m(e),resultName:t,nextLoc:n},O}}}(\"object\"==typeof t?t:\"object\"==typeof window?window:\"object\"==typeof self?self:this)}).call(t,function(){return this}(),n(135))},function(e,t){\"use strict\";function n(e,t){return e===t}function r(e,t,n){if(null===t||null===n||t.length!==n.length)return!1;for(var r=t.length,o=0;o<r;o++)if(!e(t[o],n[o]))return!1;return!0}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:n,o=null,i=null;return function(){return r(t,o,arguments)||(i=e.apply(null,arguments)),o=arguments,i}}function i(e){var t=Array.isArray(e[0])?e[0]:e;if(!t.every(function(e){return\"function\"==typeof e})){var n=t.map(function(e){return typeof e}).join(\", \");throw new Error(\"Selector creators expect all input-selectors to be functions, \"+(\"instead received the following types: [\"+n+\"]\"))}return t}function a(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return function(){for(var t=arguments.length,r=Array(t),a=0;a<t;a++)r[a]=arguments[a];var s=0,u=r.pop(),l=i(r),c=e.apply(void 0,[function(){return s++,u.apply(null,arguments)}].concat(n)),d=o(function(){for(var e=[],t=l.length,n=0;n<t;n++)e.push(l[n].apply(null,arguments));return c.apply(null,e)});return d.resultFunc=u,d.recomputations=function(){return s},d.resetRecomputations=function(){return s=0},d}}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u;if(\"object\"!=typeof e)throw new Error(\"createStructuredSelector expects first argument to be an object where each property is a selector, instead received a \"+typeof e);var n=Object.keys(e);return t(n.map(function(t){return e[t]}),function(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return t.reduce(function(e,t,r){return e[n[r]]=t,e},{})})}t.__esModule=!0,t.defaultMemoize=o,t.createSelectorCreator=a,t.createStructuredSelector=s;var u=t.createSelector=a(o)},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0;var i=n(1642),a=r(i),s=n(1643),u=r(s),l=n(1644),c=r(l),d=n(1645),f=r(d),p=n(1646),h=r(p),m=n(90),g=n(290),_=n(33),b=r(_),y=\"s/\",v=2,M=function(){function e(t,n,r){var i=this;o(this,e),this._onWindowScroll=function(){if(null===i._saveWindowPositionHandle&&(i._saveWindowPositionHandle=(0,h.default)(i._saveWindowPosition)),i._windowScrollTarget){var e=i._windowScrollTarget,t=e[0],n=e[1],r=(0,c.default)(window),o=(0,f.default)(window);r===t&&o===n&&(i._windowScrollTarget=null,i._cancelCheckWindowScroll())}},this._saveWindowPosition=function(){i._saveWindowPositionHandle=null,i._savePosition(null,window)},this._checkWindowScrollPosition=function(){if(i._checkWindowScrollHandle=null,i._windowScrollTarget){var e=i._windowScrollTarget,t=e[0],n=e[1];return window.scrollTo(t,n),++i._numWindowScrollAttempts,i._numWindowScrollAttempts>=v?void(i._windowScrollTarget=null):void(i._checkWindowScrollHandle=(0,h.default)(i._checkWindowScrollPosition))}},this._history=t,this._getCurrentLocation=n,this._shouldUpdateScroll=r,\"scrollRestoration\"in window.history?(this._oldScrollRestoration=window.history.scrollRestoration,window.history.scrollRestoration=\"manual\"):this._oldScrollRestoration=null,this._saveWindowPositionHandle=null,this._checkWindowScrollHandle=null,this._windowScrollTarget=null,this._numWindowScrollAttempts=0,this._scrollElements={},(0,u.default)(window,\"scroll\",this._onWindowScroll),this._unlistenBefore=t.listenBefore(function(){null!==i._saveWindowPositionHandle&&(h.default.cancel(i._saveWindowPositionHandle),i._saveWindowPositionHandle=null),Object.keys(i._scrollElements).forEach(function(e){i._saveElementPosition(e)})})}return e.prototype.stop=function(){this._oldScrollRestoration&&(window.history.scrollRestoration=this._oldScrollRestoration),(0,a.default)(window,\"scroll\",this._onWindowScroll),this._cancelCheckWindowScroll(),this._unlistenBefore()},e.prototype.registerElement=function(e,t,n,r){this._scrollElements[e]?(0,b.default)(!1):void 0,this._scrollElements[e]={element:t,shouldUpdateScroll:n},this._updateElementScroll(e,null,r)},e.prototype.unregisterElement=function(e){this._scrollElements[e]?void 0:(0,b.default)(!1),delete this._scrollElements[e]},e.prototype.updateScroll=function(e,t){var n=this;this._updateWindowScroll(e,t),Object.keys(this._scrollElements).forEach(function(r){n._updateElementScroll(r,e,t)})},e.prototype.readPosition=function(e,t){return(0,g.readState)(this._getKey(e,t))},e.prototype._cancelCheckWindowScroll=function(){null!==this._checkWindowScrollHandle&&(h.default.cancel(this._checkWindowScrollHandle),this._checkWindowScrollHandle=null)},e.prototype._saveElementPosition=function(e){var t=this._scrollElements[e].element;this._savePosition(e,t)},e.prototype._savePosition=function(e,t){(0,g.saveState)(this._getKey(this._getCurrentLocation(),e),[(0,c.default)(t),(0,f.default)(t)])},e.prototype._getKey=function(e,t){var n=e.key||this._history.createHref(e);return null==t?\"\"+y+n:\"\"+y+t+\"/\"+n},e.prototype._updateWindowScroll=function(e,t){this._cancelCheckWindowScroll(),this._windowScrollTarget=this._getScrollTarget(null,this._shouldUpdateScroll,e,t),this._onWindowScroll(),this._windowScrollTarget&&(this._numWindowScrollAttempts=0,this._checkWindowScrollPosition())},e.prototype._updateElementScroll=function(e,t,n){var r=this._scrollElements[e],o=r.element,i=r.shouldUpdateScroll,a=this._getScrollTarget(e,i,t,n);if(a){var s=a[0],u=a[1];(0,c.default)(o,s),(0,f.default)(o,u)}},e.prototype._getScrollTarget=function(e,t,n,r){var o=!t||t.call(this,n,r);if(!o||Array.isArray(o))return o;var i=this._getCurrentLocation();return i.action===m.PUSH?[0,0]:this.readPosition(i,e)||[0,0]},e}();t.default=M,e.exports=t.default},function(e,t,n){\"use strict\";var r=n(337),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.removeEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.detachEvent(\"on\"+t,n)}:void 0}()),e.exports=o},function(e,t,n){\"use strict\";var r=n(337),o=function(){};r&&(o=function(){return document.addEventListener?function(e,t,n,r){return e.addEventListener(t,n,r||!1)}:document.attachEvent?function(e,t,n){return e.attachEvent(\"on\"+t,n)}:void 0}()),e.exports=o},function(e,t,n){\"use strict\";var r=n(647);e.exports=function(e,t){var n=r(e);return void 0===t?n?\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft:e.scrollLeft:void(n?n.scrollTo(t,\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop):e.scrollLeft=t)}},function(e,t,n){\"use strict\";var r=n(647);e.exports=function(e,t){var n=r(e);return void 0===t?n?\"pageYOffset\"in n?n.pageYOffset:n.document.documentElement.scrollTop:e.scrollTop:void(n?n.scrollTo(\"pageXOffset\"in n?n.pageXOffset:n.document.documentElement.scrollLeft,t):e.scrollTop=t)}},function(e,t,n){\"use strict\";function r(e){var t=(new Date).getTime(),n=Math.max(0,16-(t-c)),r=setTimeout(e,n);return c=t,r}var o,i=n(337),a=[\"\",\"webkit\",\"moz\",\"o\",\"ms\"],s=\"clearTimeout\",u=r,l=function(e,t){return e+(e?t[0].toUpperCase()+t.substr(1):t)+\"AnimationFrame\"};i&&a.some(function(e){var t=l(e,\"request\");if(t in window)return s=l(e,\"cancel\"),u=function(e){return window[t](e)}});var c=(new Date).getTime();o=function(e){return u(e)},o.cancel=function(e){return window[s](e)},e.exports=o},function(e,t){\"use strict\";var n=function(){function e(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,s=e[Symbol.iterator]();!(r=(a=s.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{!r&&s.return&&s.return()}finally{if(o)throw i}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError(\"Invalid attempt to destructure non-iterable instance\")}}();e.exports=function(e){function t(e){for(null===e?e=0:e++;e<s.length&&0===s[e];)e++;return e===s.length?null:e}function r(e){for(null===e?e=s.length-1:e--;e>=0&&0===s[e];)e--;return e===-1?null:e}function o(e){var r=n(e,2),o=r[0],i=r[1];return u?null===i||i===s[o]-1?(o=t(o),null===o?[null,null]:[o,0]):[o,i+1]:0===s||i===s-1?[null,null]:null===i?[null,0]:[null,i+1]}function i(e){var t=n(e,2),o=t[0],i=t[1];return u?null===i||0===i?(o=r(o),null===o?[null,null]:[o,s[o]-1]):[o,i-1]:0===s||0===i?[null,null]:null===i?[null,s-1]:[null,i-1]}function a(e){return null===o(e)[1]}var s=e.data,u=e.multiSection;return{next:o,prev:i,isLast:a}}},function(e,t,n){var t=e.exports=function(e){e=e.toLowerCase();var n=t[e];if(!n)throw new Error(e+\" is not supported (we accept pull requests)\");return new n};t.sha=n(1649),t.sha1=n(1650),t.sha224=n(1651),t.sha256=n(648),t.sha384=n(1652),t.sha512=n(649)},function(e,t,n){function r(){this.init(),this._w=d,u.call(this,64,56)}function o(e){return e<<5|e>>>27}function i(e){return e<<30|e>>>2}function a(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}var s=n(109),u=n(147),l=n(114).Buffer,c=[1518500249,1859775393,-1894007588,-899497514],d=new Array(80);s(r,u),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},r.prototype._update=function(e){for(var t=this._w,n=0|this._a,r=0|this._b,s=0|this._c,u=0|this._d,l=0|this._e,d=0;d<16;++d)t[d]=e.readInt32BE(4*d);for(;d<80;++d)t[d]=t[d-3]^t[d-8]^t[d-14]^t[d-16];for(var f=0;f<80;++f){var p=~~(f/20),h=o(n)+a(p,r,s,u)+l+t[f]+c[p]|0;l=u,u=s,s=i(r),r=n,n=h}this._a=n+this._a|0,this._b=r+this._b|0,this._c=s+this._c|0,this._d=u+this._d|0,this._e=l+this._e|0},r.prototype._hash=function(){var e=l.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=f,l.call(this,64,56)}function o(e){return e<<1|e>>>31}function i(e){return e<<5|e>>>27}function a(e){return e<<30|e>>>2}function s(e,t,n,r){return 0===e?t&n|~t&r:2===e?t&n|t&r|n&r:t^n^r}var u=n(109),l=n(147),c=n(114).Buffer,d=[1518500249,1859775393,-1894007588,-899497514],f=new Array(80);u(r,l),r.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},r.prototype._update=function(e){for(var t=this._w,n=0|this._a,r=0|this._b,u=0|this._c,l=0|this._d,c=0|this._e,f=0;f<16;++f)t[f]=e.readInt32BE(4*f);for(;f<80;++f)t[f]=o(t[f-3]^t[f-8]^t[f-14]^t[f-16]);for(var p=0;p<80;++p){var h=~~(p/20),m=i(n)+s(h,r,u,l)+c+t[p]+d[h]|0;c=l,l=u,u=a(r),r=n,n=m}this._a=n+this._a|0,this._b=r+this._b|0,this._c=u+this._c|0,this._d=l+this._d|0,this._e=c+this._e|0},r.prototype._hash=function(){var e=c.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=u,a.call(this,64,56)}var o=n(109),i=n(648),a=n(147),s=n(114).Buffer,u=new Array(64);o(r,i),r.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},r.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},e.exports=r},function(e,t,n){function r(){this.init(),this._w=u,a.call(this,128,112)}var o=n(109),i=n(649),a=n(147),s=n(114).Buffer,u=new Array(160);o(r,i),r.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},r.prototype._hash=function(){function e(e,n,r){t.writeInt32BE(e,r),t.writeInt32BE(n,r+4)}var t=s.allocUnsafe(48);return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t},e.exports=r},function(e,t){e.exports=function(e,t){if(e===t)return!0;var n=e.length;if(t.length!==n)return!1;for(var r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}},function(e,t){\"use strict\";e.exports=function(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(e){return\"%\"+e.charCodeAt(0).toString(16).toUpperCase()})}},function(e,t){String.prototype.repeat||!function(){\"use strict\";var e=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),t=function(e){if(null==this)throw TypeError();var t=String(this),n=e?Number(e):0;if(n!=n&&(n=0),n<0||n==1/0)throw RangeError();for(var r=\"\";n;)n%2==1&&(r+=t),n>1&&(t+=t),n>>=1;return r};e?e(String.prototype,\"repeat\",{value:t,configurable:!0,writable:!0}):String.prototype.repeat=t}()},function(e,t,n){(function(e,r){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0});var i,a=n(1657),s=o(a);i=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof e?e:r;var u=(0,s.default)(i);t.default=u}).call(t,function(){return this}(),n(227)(e))},function(e,t){\"use strict\";function n(e){var t,n=e.Symbol;return\"function\"==typeof n?n.observable?t=n.observable:(t=n(\"observable\"),n.observable=t):t=\"@@observable\",t}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=n},function(e,t,n){\"use strict\";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function o(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function a(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e,t){function n(r,o){function u(e,n){var r=m.getLinkName(e),i=this.props[o[e]];r&&c(this.props,r)&&!i&&(i=this.props[r].requestChange);for(var a=arguments.length,s=Array(a>2?a-2:0),u=2;u<a;u++)s[u-2]=arguments[u];t(this,e,i,n,s)}function c(e,t){return void 0!==e[t]}function f(e){var t={};return m.each(e,function(e,n){w.indexOf(n)===-1&&(t[n]=e)}),t}var h,g,_,b=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],y=r.displayName||r.name||\"Component\",v=m.getType(r).propTypes,M=m.isReactComponent(r),A=Object.keys(o),w=[\"valueLink\",\"checkedLink\"].concat(A.map(m.defaultKey));_=m.uncontrolledPropTypes(o,v,y),(0,p.default)(M||!b.length,\"[uncontrollable] stateless function components cannot pass through methods because they have no associated instances. Check component: \"+y+\", attempting to pass through methods: \"+b.join(\", \")),b=m.transform(b,function(e,t){e[t]=function(){var e;return(e=this.refs.inner)[t].apply(e,arguments)}},{});var C=(g=h=function(t){function n(){return i(this,n),a(this,t.apply(this,arguments))}return s(n,t),n.prototype.shouldComponentUpdate=function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return!e.shouldComponentUpdate||e.shouldComponentUpdate.apply(this,n)},n.prototype.componentWillMount=function(){var e=this,t=this.props;this._values={},A.forEach(function(n){e._values[n]=t[m.defaultKey(n)]})},n.prototype.componentWillReceiveProps=function(t){var n=this,r=this.props;e.componentWillReceiveProps&&e.componentWillReceiveProps.call(this,t),A.forEach(function(e){void 0===m.getValue(t,e)&&void 0!==m.getValue(r,e)&&(n._values[e]=t[m.defaultKey(e)])})},n.prototype.componentWillUnmount=function(){this.unmounted=!0},n.prototype.getControlledInstance=function(){return this.refs.inner},n.prototype.render=function(){var e=this,t={},n=f(this.props);return m.each(o,function(n,r){var o=m.getLinkName(r),i=e.props[r];o&&!c(e.props,r)&&c(e.props,o)&&(i=e.props[o].value),t[r]=void 0!==i?i:e._values[r],t[n]=u.bind(e,r)}),t=l({},n,t,{ref:M?\"inner\":null}),d.default.createElement(r,t)},n}(d.default.Component),h.displayName=\"Uncontrolled(\"+y+\")\",h.propTypes=_,g);return l(C.prototype,b),C.ControlledComponent=r,C.deferControlTo=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments[2];return n(e,l({},o,t),r)},C}return n}t.__esModule=!0;var l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};t.default=u;var c=n(1),d=o(c),f=n(33),p=o(f),h=n(1659),m=r(h);e.exports=t.default},function(e,t,n){\"use strict\";function r(e){return e&&e.__esModule?e:{default:e}}function o(e,t,n){var r={};return r}function i(e){return b[0]>=15||0===b[0]&&b[1]>=13?e:e.type}function a(e,t){var n=u(t);return n&&!s(e,t)&&s(e,n)?e[n].value:e[t]}function s(e,t){return void 0!==e[t]}function u(e){return\"value\"===e?\"valueLink\":\"checked\"===e?\"checkedLink\":null}function l(e){return\"default\"+e.charAt(0).toUpperCase()+e.substr(1)}function c(e,t,n){return function(){for(var r=arguments.length,o=Array(r),i=0;i<r;i++)o[i]=arguments[i];t&&t.call.apply(t,[e].concat(o)),n&&n.call.apply(n,[e].concat(o))}}function d(e,t,n){return f(e,t.bind(null,n=n||(Array.isArray(e)?[]:{}))),n}function f(e,t,n){if(Array.isArray(e))return e.forEach(t,n);for(var r in e)p(e,r)&&t.call(n,e[r],r,e)}function p(e,t){return!!e&&Object.prototype.hasOwnProperty.call(e,t)}function h(e){return!!(e&&e.prototype&&e.prototype.isReactComponent)}t.__esModule=!0,t.version=void 0,t.uncontrolledPropTypes=o,t.getType=i,t.getValue=a,t.getLinkName=u,t.defaultKey=l,t.chain=c,t.transform=d,t.each=f,t.has=p,t.isReactComponent=h;var m=n(1),g=r(m),_=n(33),b=(r(_),t.version=g.default.version.split(\".\").map(parseFloat))},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAASCAYAAABit09LAAAAAXNSR0IArs4c6QAAAVtJREFUKBWVkD9LA0EQxXfuEq1TCJaCKVQQS4mgUSKYTxDCwV0qC8XG0kbwGwiCQkAIucRcgqWQC2KhNpY2FoJYaSFaWV9unLfxovkn+Iq9ebu/ebs3Sv1Hruc7lcbl/F89BiBFqsRhcH123poZBRtEFJNDUkSJoB3ejIIJCa7X2lLEx6hZ8bs0L9m57BN8JAOFnd84UUzbqCV6gplv3YafhI+kQRjAzGoXtcCTgGu15hQ81AVhnHz2kJj3UAMODNWF9Rtx8Ftlzz8gUvudPX6hGKeGggAEvhN4UcPMVxjNgGS2R3J3BD2HxlhhIPEb2tHdzIBWCrnMa09iue4XBdjsXMGPZhhP2/nMG7yJRUZB03OposT/QO142rLWNQRGpsFUqbdK8ian06QeYuH4qmWtfcBHMpOzKTxcJ8nAh0KADdGp3P0p9b3ZDpb7k6JE/ZU/XahWLxI9m33mC4VShVyqSaDPAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA01JREFUaAXtWMuRGjEUXCgfgMuSAWwEwBE47GTgcQSwETCOwJuBIQJDBLARGA7AEYhghwyWC3ACd48ftRRmND/p4CqpSkijp093P+nNiIcHm6wCVgGrgFXAKmAVsApYBawCVgGrQBoFcmkGJRmzXC6r5/O5h+zkcrk6x6K+Rn2KPGg2m36S+ZL2NUpwsVh4IPMDRMoKYF6r1Roo7JlMxgiCXB/IeoJuh3JCr/EZpOnJLvIjMp+H7Xb7hXXdyQhBkHMBdCxgZ8Vi0W00Gh/X4FerVflwOFCEjrR/gycn13101E0R9AGuAs9s4Jm6CijEmML+jOyD4BNKrSmvdTZMNp/PSajCefP5vMdSlbBtu2KviudV3RPbtBMEAldQbBEhp1GIJIpu2U/OZtSQRHYTBC8A/EslRpmkb4zpPruYJBhs08+lwmvwXDncms2inSDO1FogVfmSj4LHPhhTY7+rsVHDYtu1E5RQz/cez9TPKCSn06kvfXZ4nUyj+ie1aycoAF6ldBFVf4WBgu0VXvtKO8To374rw8YlaTfyHiQAhPwhig7rSD4yPRVsX5CqwnMeyjramGbwvBPUNP8YI0icNyTDoI+wNT0T3uOCRglyAQQRR7wVbEW2MWFLvuFDoB/nXfl3xH/wy+/POJFVJxWjHpQP6hrOmkPQ8Fpw5vAcnEV4dg0vbkzeCbUTFFIdkOleBRGlU9DX2AVYK0GGfTDpgVj5htEWz/5NWxXP/3ztgOywVCp91xV0tBDkDQKkxgBM0Jc0Qtu0UChMVGDlBuFgUBf5EZlb+QNjX3TcDzMTlCg5BqCL1waoMzr6BBs3cWvv93u+Gz2MCYiSJOYZxp3jXr9MBMVzK5l4B0Bu1rDPKIvgM8FcNZk3000/NUFR/DeA1AGE5OpJvXZPcbZJoFqjWuF2xZl8Um3zsHnYnvpb9Hg8ukKOtwB6zlctlMRGMpizyzEo+d9NUOdz0pSaILaRy8Wg8FvWbXkPNOfE3BtZ4/JNe6+rsu2L0qowQlmHZpTviITPiq5ZTO8YzA8FHoNUKTVBrDZBprKeZBTG0iztzKm3KG8AWHSEHFxu0wKIGscjwP9Vo/pZu1XAKmAVsApYBawCVgGrgFXAKmAV0KvAH/rLLOXj7HrbAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABJBJREFUaAXtmM1VG0kQxyWeD3CyMtjZCIyOwIEhAuMMZiOwiMDOwGSAMrAcgYYDcBREwJCBdAFO4P+vXcUby2BmesbrS9d7TVVXV9d3d48YDBKkDKQMpAykDKQMpAykDKQMpAykDKQMxGRgGLOp6Z6zs7PtjY2N94+Pj7nGaDgcbrNX9KXopUb58PDwbW9v77KpzrZyfyTA8/PzQznyRSNr6FAluaPd3d1ZQ/nGYr0GeHFxkak6J7Ke1zxYiZ6JX6maFXxVLVP1MpEk4q2GQyn+fzs7O5UzuuLeAqQd5cxcDo7MqVPRn+Vs+TsnrdoTyewjp0QshQ76atteAiQ4BbPAQQEVK9bbbbFYjO7u7t4hsLW1dTUejwnkCVT9QsEdixEqKnrcR5AbTxYiCdpSW+e2fSXHcg+ONavQ4P7+flsyJcPoAWuSycUbqNJT9ookQcDcdP+YRf7tHKCcmlpbhuA86zivtWuNE6q37h881jQIpGCdvZrnIlfoZB1+F+gUoFUnnB05NPHgcEjzS8NDKsZZVGWHDOjb21suGq9WiSxgOj6HiS4r7wCb/79IxiuNR43SLVMNrxjt57Sv1zFryMATztgLDaDTdF8HRuSf6EumfrGoEgdUBWdpOY2lnoQP8Jr45fuQla5/tY/EHWr6FZ70RV84XVoUB4BVLZAMBq23ubkZWpT5a2CytCvneBt5u6i8hd3Wa6p+WY8OUEHkpm3mWhXolApoFOvPgMs8h5HVnkM9H5nfwHXdWsuf29eE96aJ0HMyyvRIhmmfinXOE++c5mS/hNcG6AJalXPn7yS6zUZ4G9voc9noAGU4PNr++WVv29wUR51tBRT2S9eB9JSysUSfcGhb090KRbdoKyt/UTi6gsr2FVXkwxn/uSgs89HhSB+VC7rAsuHH4Ip5DEQHWGufDMN2qZScRZ6Q+qPfxDHOH0mqX06ykbHXbUG3hegWVXZLjAm/d6M4qYtmIYfC++X81zBJUSd81dfNtXQUNfnwPLitGr8xGR2gLITnQcE8fY2Y1Uw4s4faWL9HXFDSA4wkWSJt+/32DLbgt4XoAK0FbzCoDH8C24N/pPmY94yKUh3WXgJk2KfgCLL+Y3die27atnvd1rA+aUvXP6fMuanrkOOZ2o52Xdpa6WtgAlMiTjRGemrGCrLydekluC82/7D2+LtYI9wpQCzImVJoX44uhZ9+iSuAQrwT8VZ8odCGmod3TgEfcKHovFZaf1tPztp/Bk4VXC6ZaIhuUbco5wrR4feb8Nwc9B+wY61P6jej77PPswnBqnpT+GvBobOA3wU6VxDjOCZnFtBUUi135E7DAziLVBF6/TmAR1tq7yfpGTEXHf0Lgv0OvQSIMguyFOk3Xyknj3VBfGP9JbBz/FHrucn89J+Bl/Y15fcWIAa5WBTUVOQ+c0BzzubMvlkreAIuoEz40CsGU3CqeVG/cH6w4//2GqC7YVU51vwf572Cb7Q+6XJbvqT/jwToxuzSoEq5KjkSfseaaL5jl8KlprMu7xz6EqQMpAykDKQMpAykDKQMpAykDKQMpAz0n4HvsENe7ajDHv0AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAXdJREFUaAXtmLFygzAMhgPXAabmTRJGYCh5oz5K36hkAEaSN0kmmHAlDnpJzoPBCk6434swkWTpk89W2GwwQAAEQAAEQAAEQAAEQAAEQGAOAW+OEduUZalYep53iOM45+dXHP4rBiUZExKUpOnC1+or+CFFta7rbdM0O/aXJMmRZVEUezqEPpVS1zRNT/zucejsHnVs5mIJtm27p0B+h2D605mS+6H5F0lOOBt+uxM6uzsFy8nqtygStNwhzs1RQeclsAxA7BQ1jaOqqoyuDRWG4TmKoovOzuR60dnp3i2+RSk3vkry4XrQxcQNPF8v+SC1OqYvF0/QNDApPSQoRdKVH1TQFXmpdVFBKZKu/KCCrshLrSvWqgVBcKLu5HAbGHUt377vb7uu+2/JqDvpdVifdU3tbv1Oee7/eU8xGHXf5buodQWpSrsx2TH5Z8jxO89U39YJ0oLcGC8xZu221Z+iS5DHGiAAAiAAAiAAAiAAAiAAAmsk8Aft62To/r7zNAAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA2xJREFUaAXtmM1R40AQhbFrD8DJGayJwPbRcEBEgDMAIlg2AkQEmAxMBhAB4oB9tB3BKgRzAU6w3/POUPKCCk3LRRVVoyp5ftTdb96bGfXIGxvxigpEBaICUYGoQFQgKhAViApEBaICFgUaFqeiz3Q6bT09PXUajUZS7K9bf319zba2tua9Xm9RJ1YtgpPJ5Pjl5eUCcq06gyjzheSi2Wz+7vf7ozKbz/rNBCGXMIDbzwDW8RwBDyCZWWL9sDjJB3KpK+fb29tJ6FLS0n5+fv61ubl56X2daJ3d3d1LPX98fMwg13FYifBCr2aoQ8F+X3WW0NAPsPDs0yr7dqiBU6bemPY19aGIKibkRu7ZEsvbhZRmggxmLiDKJASwYCsyd9xZoW9EvBtmdeb6uio9VsGuctW8B+/v71MUPnNIWkpZZdQKhk64RKbUz/f29lLVQy8zQQGNx+OMwrx88K1y3bEnkyqGH9nUIqiAShVO7fZHADX6cq2KOimiBvb3ca01g8xem9m70AyidmudtImpt6j2thJ9bo1tJujy1J91E/ufiIiSZ3csqUixzImeJDxy5B4oT4mVK2Dg1cY+L/pAqEW8BX1aHUNhCIv2oGhXtW4mCHDXgaSWF4FPM5B4SwH0zYjbIe6Ojma027TPXF9VTit25kRPlNZKpDU2OMAvY0Ns4cKat5LZEXWvGcCh9gjHtVPKPJQj/lqGK36+TyVEl0sUmxsS/SA0vuzNS9SRShhIiwGMLOD4vXPzfSqJrecPwnpnWLHDvET16mYAXQZyUxEr2EyxhVEnTQSDfjcH8x70RHVUY6/so3Tb962jZPZylqaOald14tUi+EWH7YzD9oGVpJmgz2MCRm19G15bB1HiN2BVKCcq/luuLLEt7Ta/RYnoX9tXvMKPSxFKHuirnYEriZ8rqcuMFTGk+Mm/aScczVLaI9pH3IfcKXfwZX6LenVBnAWj4gA5CSSSXiiFOeYe8F9NVw2uZWywfPtfb8CvmSAYd8JhgEc6eAdgLk2ZpRTfc5XeFyID6vp6yBRTsd2zJZa3CynNe9AtsdsQMKstxM1/G5pnUCoDfMKgH6wDr+CnL5UTv0cr2L8zMc+gj+Q+enWiMe8TH6tYQkxfFjPI5cX+WI8KRAWiAlGBqEBUICoQFYgKRAWiAl+jwF8TUm3TeJ7SpwAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABCJJREFUaAXtmM1VIkEQx4W3B/UiGUgGK0f1wBjBkoGYAUYgG4FsBI4ZYAQOB/UIG8FCBAsXvcn+/kP3vnEeM/R8uId9Xe81VV1dXZ/9NeztefAZ8BnwGfAZ8BnwGfAZ8BnwGfAZ8Bkok4FGmUmuc56enk6azea39Xod0FqNRuNEc6Fn0Eta9P7+/nB+fj5z1VlU7lMCfH5+7uHILa3t6NAcueuzs7Oxo7yzWK0Bvry8tKnOHdaDhAcLaDk+pylowX2ioscbVvwbUdWr09PTeYJXiawtQC1HPHnEwZbxaAI9xNnIekhl16LhX1i+qfYAdldjBL4EXdS1bGsJUMHh9FQOCqBVhTDuJH4IJlKXIAbpAKh+H/6I4SMj00nLiF8UKgeoZclBMSUoW7nxwcHBVafTUSVyYTqdtl5fX9s2EBI1RM+NJqmSHFCdqsu1meuBwyCOhIngNKP39vY2dpi6R3Dh4eHhXLJUd2CDU1860X0nugpUCtDsn3jv4MQ17YecwblQOA+YG2rcVppgIror8E/mX2kMCIyNTe9f/2J8TlvTImtbS9bSWVj7TfOEkzL0A9uXTqP7l+WVwaUraE7NY2NUh0MMu/YMTvfs0tvf3/+wlO3JKkVUcRgr5C41tky3GPpSTPyDdM/0VrsuaHPK6g4MrAaCfLDL0/KSWMGSjAU8JVG2ZslxV7p0BclwICNm72TaM9l/RCBICXUdKhNX2NpKzXfqlq4ggbUwLCO/yXQ3x9qQsRZthfxAcswdQYt3y9yheBmwFh/5+G7MkMlllw4QB79KM7gPUssFBceyCyXEYSKn7yADWkTLBeae5ArkDDZzxv6LodIVpAK6r1TFe3CYlQ3khox1ee3cUrl4yYlmjqr4wGtllDO3z9ilbGXJ7OKXDhAHl0Z5O3m8pw1ykOiFEtH0Mgk1ruCAFU2P8Zk628Duz4StbWK5vNJLFGcjaQbHezHLit6ZyASMTxIyE/HsGzTBT5Px3rO20oMu/TiVLoJpGXO3TcUnw1u/HtJzivT1yiEwHURKYukvi9IVNNlfGAcuizjvIss+HRi5hUOlM1WWDtBotE4E7BdLZxpzHZAuVoVd+pX0ll6i1lmciaC7LKMluPKXuH35EGALfROegQG4NFStoL3o9UqRQ48Oz69MZ1PBSWc/U9hxoHKAHPNzqhfIng1SB4T6RcDM+fufjnRKdxEd22QrL1Gr1JyqEf0jw4sI+HveHSk5AgsI5gYyUB/QR6/LFbKR3vFbW4Cyg7NtnAshu+oL6GtvjnmxzMFqAv2P0wb3TNXFE0zo9+uo3EYdq8oSdWIOnh76RrRjR70L5Aa7visddX0Q+5QArQVzaKhKWoYtcHz0Q+sduwRHyI6r3HPWlsc+Az4DPgM+Az4DPgM+Az4DPgM+Az4D9WbgD7hRzY7DM0fyAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAgZJREFUaAXtWL1xwjAYxb4U0GUENnAogSJkgrBBskGODbJBVmCDkAlCCkMLGzgbpHSF8z6dnaOxLX+SFbh7KixZ+v7ek/RJ9mDAQgbIABkgA2SADJABMkAGyAAZ0DAQaZTOddI0fY2i6Al94/N+3+3ZbKaK9cYlEIDbANyji42+ddUAy5kz4Iqi+IjjeINgs74D7mpfDRCOluJMwM3nc9Pu6jyEfKx1gqWZiG45c1ozveupAVaRYQbvqvYl1s4AAeplv99LFr3Iokq9gmS32xUhEWmPCR8z+B0SaFdfLlnU+EKyeUYjw16UTPomneh7kNq1lPvb2NTacgYojqfTaYZ9eEBAJg68b03D8QGbcgw5WfECsEsECHqBoBujHo1Gx8lk8tPFbp1scIDA9lkXTNWf57ks8W317lL7SDIu/nvXDT6D2nSvZYIzqGWuTg8XhC3GGpMM9ukKF/gD5JxL8CWKiO/bosYF/rZNxnb8PwB+tQV3Op28HBHiJzhAJJlFG0Cf40wyPtkUWzZfIXKX9XXd4wxazODYQuZPxOZLYzgcejkixKk6yeCsOiLYBLX8WVuLMZvia+nZ+BIZNUCAW0NfvtWW2FfvAJqhbQreW8+6Sraphs2kadxmLLIRqpMJ+eNXe4d1SjLl/9CVLNc6EthPBsgAGSADZIAMkAEyQAbIABm4TgZ+AUWef+9zrB8pAAAAAElFTkSuQmCC\";\n},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABDNJREFUaAXtWFloE0EY3plNai0oWBHSggi1Wtu0giiIvvimJGnFA1FQ8EnEihceeIF4oBa8WjxAUEEsPkRQTNLgi1RQ8aFFsYeI+iBoESr2QamNNTt+/7ChKWSzyWbXpxkImZ3//L5/Mv9ONE0NxYBiQDGgGFAMKAYUA4oBxYBiQDGgGMjBAMux5vqS0DQ+EA6v1ThfrQkxmzF2KxiPd7oeKIfD/wKwr7n5IQKtyY4vhOhsSiS2ZK95MedeOM322R+JbMqAw3c7gH0hOaq4GcA3Zut6MfcU4IdQaAqQXKTEqWLYlnvLOF+E+QitAfAlqUMPHg1PAY5xfgB5VwNdyq/rhwhDXSz2HUFPmHiqobPfnHvy5RlAVGYWqnfUzLptwePHQxkEDRUV1zH/KJ8ZOyZ1M0KXvz0DOKbrbdiCFch3qJLztuy8WTSaRuA9tEY6fzg/ly13cw7/7o+BUGiR4LyXThJ439oYj9/ti0Tq8XyDovHx8XXBJ09+4JDphsIK+oEyw2gMJpODbmfjSQUB7oYJ7jWBk6CEmE5gJCBdL5Nr6XQremSadA1dp23r+nAdYH84vB4JL6VMOQDky5gqxoW4SToEfLClZVKvzGdbqMxVgD2LF/sBTrYFbLtoQzL5yi6RtKYdg85P0jMM44r0YWdUhNxVgOVVVfsAcA61BVTmYCF5LEwkRvATPCV1YTs1ENhdiF2hOq4BNI/642ailxu6uj4XmkTq27d2kCL1BWMn3kYiMwq1tdNzDWCK8zMINg3VGK5k7LRd4Gz5kt7ecQDbZ65NQ1Lky5XhCkC0hQZks83M6Eh1LDZabHZN8fhDnKjPyA5gtw+sWlVbrI9c+q4AlEc89TwhBhsTidu5AhWyJk9d6omapgu//1ohNnY6JQPsb25uQUIrKJDOeSvmKISzQW0DxndM65XYGSFnniasSgJoHumXyB0Se1Qfi8ktNuF+Yubj/At0TtJHGx39NSGZPCs3jMPQkVtc6HqH2LBBn6xR3FNJAMsDgZ0IV4tdNa4bxt58oevi8a/Qa8dr2r1gd7clwHnJ5DC2+lnTV+3g79878vm1kzkGKI9yxk6ZATrs2gK1EWzf94bP12PXzFHFC/Arbx8GeiRsp9sBsZI7BsgZo55HbWEECWWAWsXR0n7/GF4CDHx+TK2pAVbrgSqmUEV5T8TZNQMtKHPtsjaykOQNZGEjl/FXxBCSrYKDXbipX82n61SG28ZL+F8GsJ9wOjtqG44rCHAzZeKG8dwpADs7XKGipIO+WGWnayX3WQns1rE1e7B9liP4A7SK+zj58N7s+qBDDAjFG6eeHQP0MXYgLcRTVHIugh93vNftMhdiDCe04/9tSsrrXTg8/y9j5wGy0i7PYuVILMWEeIErVGdTMvmpWHulrxhQDCgGFAOKAcWAYkAxoBhQDCgGFAN5GfgHJCZRZCwa9+sAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAA0JJREFUaAXtWMtxGkEQFZRPXKwQyMDsETiwikBkIBSB5Qi8isBkIJSBHYHYA3AEMpAzkC4cwe9tzbhGW/ub3Z4qHXqrlvl0T2+/1/Nrrq70UQaUAWVAGVAGlAFlQBlQBpSBIAz0gljNGd3tdovz+fy91+uNKLpcLod+v78cj8fPOVXxZlCA+/3++nQ6vVhgee8JdDAY3ERR9JaXSbW/SBkqsgNwa4D7ZmQpAK1ZR1+MYkbgJAD1CG+QJ1gEt9vtAzz+Ra8B7HE6nSas22ez2SQA+JNtlPeYrisrkyz7ksZcWwC1MO00D4797IPOkXWuT5YhnmAAEZVsatppWeL8b/ZzqpbIO3cHA9jZMyEDwQDa6YfozCp8nVNmdSv0WouCAeQ5Z7yKcQ5mm4nrpdlksmns6LoqIvVguyi9A4iDsxZ5uGdrDpvK3K47Rg8bTrA1GPQcdENAQACTAUHdFV3chnQ92BTlOWii9xflPRxPHedT00fZyJyZjliu+oFKKbNYc0NMwz2cv8Z7g0N8XWQbejGi+oL3DdM3gt5rkV6XviARBLglwcHxP2Xg6DRl1DG62a2nC5iiseIAGRU4fIuPvSMqD0UfdfuMzjv65hzryiTqogCZPSAiT8axpMmUMzoJx3AsbZjxIoUoQGQGjNgQjh4nk8myqYfU5RiONTaaDq3VEwPIjQVTMzvQm0zNvGd2DG3QVl7ett1pF4UjHzJ1OoFIHHBwt8rv3IuBtQXgnTL/VgClM3Vpe260W91kpDN1aXsuQO8I+mTq+NCPus3Gxx7Wp3fm773JYI0tDEO1mTp071w2i+o+9tpk/t4AwaJopi5tL09iqzWYN1LVxk6bHR1lOohgmUik3xsgHDqSdbyzCg/mVgb9xNaryib2+O0qG0Uyb4A8l/ChJxjLMnVctR5dw26mjv5n6L668nwdwIbou8Nba4/fhp7X472L0rp7IANAYaYOtRQ7aEz9uqeJPUavTebvHUE6i7/bY3t2IQIjfHzEftRZ8DZzhM7/aZp1Vvw0tBdXmCgVtYqgtWauajZzZ8pzAMgVpu3K6viUtAdyFhhDwr6SKHNVW6GtjzKgDCgDyoAyoAwoA8qAMqAMfCYG/gEGFcJxKJP+IwAAAABJRU5ErkJggg==\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAepJREFUaAXtmD9LAzEYxt83rX8QBRedVHAScXJxL4jWxUGkRaEVZyf9AtovIP0CglYQPToIhVKn4ig4FXVxcHBTRFEHrXcXE0Gn3g2vLZ7luSXh3ntyeX8JeZIQ4QEBEAABEAABEAABEAABEAABCQGWiKxm/7CyqolyzFTzO+IrKwvTD45THnjXvCZtM1indCY9mwuOB0fiwaHwiGbaNnT6zVfDXHczpsy7Sg2SR5vhSknUoDQwJUolEVkNk77+1ipSV9/1qJXiKeo41d66rqd8n2vZpZnzqCWG/oAACESDgHiR2SuWJ9lV68xcGxrszCcSCbdUKvU8vcanmp2ajsV0NjVzKmlX7IPsqWNj8iNEmm7v3x7Nz3de3jtGSVFV0pEwDWvfhkWD8RsfFGvDkml2TDyCfkzPs8tfU7Sbnndtx5YXk5emEJG2ejwgAALtR0C8IDTywSjiEa+ijXzwoFiZ8Dy6aEWimXRSNBhiLzPnQbG2FQCC2hSPYCMf7Ov6uDFbtUTQz6Tv7VZNqoUOBEDgbwmIll7b5f9y6SROsHBUOTPir8OtJp3MpudO2swHaexn8mke/6lHrCL2QSbe8LXeslf33YoKNq+47995xLnm56jgg82HihZBAARAAARAAARAAARAAARCCXwC+SWNEJILv24AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABK9JREFUaAXtmN9rXEUUx7O/spuVNknXPGjtQ4si/YEUkkg2WQKBUDBYaTHFv6AFhda3UuiDaUpb0b7YPra+ieCvtihGMWAIySZB82BEhKpYaJpWNE0Izd7sbrJJP+fm3rJ7093cnU6fnAuzZ2bOmTPf7znz496tqTGPiYCJgImAiYCJgImAiYCJgImAiYCJgEoEAiqDVMdMTk7Gc7ncrrW1tR2pVOo7VT/VjHuqBMfGxravrq7uCgQCrwKqFfkScgsEn6Pe397e/mE1YFVstRNMp9MHAH8QEq8gm5BNyGe94OhfpP88JC94dTrbWglOTEykyNiIFyBkZiDzL3Ia/Y/BYPAo7b0OyQ8gedY7Rlc7rMuR42erI/9B3qWMQeQHiNyqra39u6WlxRL91NTU1Uwm8zO63ehOjo6OhtmT74lO96M1gyzPXkB/Acg/yVJvW1vbr+UADwwMROvr66ewfxmSD7C73NHRcbqcvWp/UHXg48YBNuH0B5eXl7OPs3H7enp6coODg3topxm3BXl8fHz8fVevS+omKKekPCH22tJ6tfxvX1/fKvsvBcFBIcmYdyB5sfyI6jVaCbLUogIBmY/FYvZ+8wMpmUwewO57h+QxrpfP/YzzY6OVIABtgsj7oVBo0wwWAySTr9H+Vkgij5DJL4v1qnWtBIsyGGlubq6KoBCA5OuIb6SOrzfJ5HWpP8mjlSBAXhQwZKFAWfMC45Q9QblEdt7y6tw2JN+gfsNpH8L2a1enInUTtO9Vor/sBQPQK5D+iHIc/cdk55jXxm1D8jB1e4lie5CgfDI0NBRz9dVIbQR5kY4UTfxXUb0GgElOyENFfc9Qf5cL/vmivpIqJI/Q8ZPTuXt4eDhfYuCzoY3gyspKHXPamSNLueL5ufSD3iVLZgLclWXnJ8Pb8CE+5fldrpT1anW/ZSeozo1tXQfoF6SGLIk210Ca7lHbal0vV8hnXV1dd9w+ryQmO/HTIP0EZ8ir99vWRpDvvDhA7Ch7MyhgINmL6Af0V4A/xWvZmUogsduHnx3Y3Kf8Vsm2ks4+FCoZ+NUBRpZTQewB94d3nEPe9ws1PpKOjxmW/y2vP79tbRnka0GWqJvBWb8Aytnhq9nRzXV2dv5Xzm6zfm0ZZKI6smTvQU7Mii/aHCB1lmXFI5FInDceWdoyVmS8UCiIFD9yyNTga0Kk6qONoAMs7gBp5WpIsNf2k4kogKMAbRDgtCOUlTgPtvL3hWRdlnYj9SbGOC4eiQ0f0I80PiraCAIsBkB7Sur2AeK2RULO1rnSxeZt0y+HyhxjQviZp/6La6sitREkQ1sFrEPmJmBCTpGUzFDkRUCytYjNbcBnkTnKHco0bYuS4UBZwpcVDoctvvrnu7u7hbDyo41gNBq9ls/n5XCx2FcWoC2ujiUuc0s+nbgWMgTAPoSU0ZqB/8MIKP3pNDIy0sh+OceSK3nnfNrxY9nPLiwsXJT/c/zOpbQHmaiTCd72O4kuOwJ6O5FIfIo/3282SgQ54e4xifzvWfJSrYtIBT9znLKZCvoNKqUlKl4qfcttmEVTRzabzT3ptaEJinFjImAiYCJgImAiYCJgImAiYCKwaQQeAp1lzm5r0935AAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAe1JREFUaAXtmEFOg0AUhgtxQVj1CHqC2iVhY2+iN9ATtL2BN7A3KS6AJfUEegRXhRX4P5SENiQOvFcy4iNpB8ibx//9M/OGdjbTQx1QB9QBdUAdUAfUAXVAHVAH1IEhDjhDOlGfJEmqoX2pX1VV2zAMN5wcJn1dk6C/HHMlIP7JcZyDaR6M3N40ViKODUhwQRBEpmIwtU1DReImP0UVUGSeGCRJ0/TaIKx3iBUjCLh7FJ93ansT/NLBCsCyLB9JJyBfpCGtAPR9/w5wb5eAHB0QIFv6uK4bERAdy+Xy81KQ7Fc17IOrPvvgN1L3d5Zl8+PxGCHngiLQPiD3rjva7C57o28/hgTmeV6La983PUdfCl1jhHeAm6OlNTnjQIoCFkVxC4GsVzGAnfjBhRx9DZ6oH+FCdAQ9zztgFFcc3RixemrSFKU83HUoCkjVEJoiEjbk+Ckyeyk40iAKaAIVx/EGW0SF2Nd29W3B0Tpmj1yjZXRAjM4a07D+RQ8REQm5FBzlHh2QHnp+SO997fxWVFFM2WcSxS0obbDm3ApA2sgBd8PZ0Bug89YKQBIFuI9zcRLX1gBKwHTlmDwgu4qi5C+4fwJ3OS91jw0IIXUFlBIknWfyU1TaMM2nDqgD6oA6oA6oA+qAOqAOqAP/xYEvhq24/9BV9n0AAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAArpJREFUaAXtmMFx4jAYhYEbXKAEp4KFI3CIU0GyFYStYNkKlg52OyDpIKkg5AAcIR24BHyBG+x7jLTDaITGsWQ5h18zHsnSb/O+98uWTKMhRRwQB8QBcUAcEAfEAXFAHBAHxIEyDjTLXBTqmvV6nZxOp5840maz2ed90d6i/dRut58Hg8HO97dqAwTcBDDzawAY27Vare/D4XBxLaZIfy2Aq9VqCnF/lMAc9QuOLaB6yF6C9iOOc8H5nQ9kdMDlctmH6A3VA+ij0+mk5lRUMQuEdJlJxNyYMby+SGkVCQocM1P3y21wHBuPx8xmyjbM6B0OhwnbZUp0QAi+V0JnrqwoyFcV+1AGjtdEBeRbUwsF6Fa3HbWOuXXEOIeiAkJJ4lRjDMKEndH16dOogMbbMCmgts8YvowKxFpDogIqBe+sIfq3VZHq3Gw2PcScn1dkcuGKdY1FB4TYmRKUYDmY28QRbr/fvyG2h/Ec9V9bXJG+WtdBJTBDTYAtzwGTHo/HqYLj+Q9M7SeOlSlRAbmAQ6TOTBG9v0ajUens8QeiTVEDLsfzNUB27lDrtU4Dc+wVYze+cLxhlAxa4FIu5JqINWOwud5hOmaX/b7tygGLwPlCuK6vFLBuOIJXBvgV4AhYyUvGgOPvvJnPHDtjlOCAFjhyPKDfuqhXDRkU0IDjDoTLwHkfifakDshggCYcwFJurvlRa0DOqs7a5f2DABpwvH8Xaxp3LQ1+1GpIgqLttTPhPT9TvN+iBhx3IRmm4zeKQP1/H8kNNPtcX/EcD128ACka/5dkENXFQbgUGcrwJbCwQYYWX+R+XlOU2QDIVMNxKbickhQA6Dn/A2W7juKVQS2YmTSnnvqm05nM8U91Ysbo66usgwBeE6im8AuyOK1rob+mTfrFAXFAHBAHxAFxQBwQB8QBcUAccDvwD+QhOE5BAoWcAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABHtJREFUaAXtl89VG0kQxiWeD3BCjgBlgDgCB4YILEeAHMGiCNaOYNkIVo7AIgKGA3CUiMBSBCsucIP9fe0q0dLDb2d65OdL93sz9be7v6rqqZlptfLIGcgZyBnIGcgZyBnIGcgZyBnIGcgZSMlAO2VS1Tk3Nze9ra2tDy8vLwVXp91u9zQXfgq/4Cqfn58vj4+Pp1XXrOv3SwK8vb3tA+Qvrm5FQDP8hkdHR+OK/pXdNhrg3d1dl+r8w+5FZQSrjiVV/XR4eDhbVadLW+lTV2fqOHLcJmgLWQj0XtTGA3TogvHS+ZgbU2gNreWGpnQjAQoQmZ9wdQRIVeCaOjiCLWJZPFff7dDvyJ8kQztcGwuycYA6luC6EjgfVEHP35lkgvvyVhPhGJaY/5YPQ5XTnHhc2dqxrjbfOEACGCnr7KwjFwCbHMDA7wP0DL+eoxNP1dVdd123tsaDZOx6nhuNRk3GuuU3IQCQmsOIYAqArVS0BsKP6qTxuswNuhprrLg2reCFrXat4MQTnKqp4RX1BvJDG93xvUcMVZcaOVTZXhfX5rp+dE1djSQHaJ1uz7bxQCX2dQNsCdBzru7Ozs57VEPpNVRt9G2ezZ58LFDpi+DADd258d0mXTU5QDYPgUDngBwbGJHC+KnR1sHBgb5aljL6mdtEsZUmnxhtWWPy6vtebq5MkwOMsl2u7Raqyifaun7N7VWkWotXaYUbS4r2WjFWEd5VcXrLB1B6X8n0L00hZF4694XfR/8SyzEf27SG29RdWTcEzBq72kPU7XVpQFh3kvzXAKYsUWuOntlaE8w5+YimbPY75jQ5ovccn31Af4WOHDzH6Uo89Ev8HCL3UHvLHzJn6nP4iimQ/5QMPXU9cwbwZ1C9TpJGcoAA8eekw/EpfXeeIQ+8ZZ9jwcQHgIIOvIKLbcwpbP481vMYfJbe9zKfWiT5iAK2tJ1O4h0dDLQb6/+HV3U1ZuH+egv6aK9XS0UuOUDWH2sPAumQ6X60X9AD6kOkE9uN5CU/mUzUjd03zJWfrblrc5Z6kyuTpM7kqwNiBr/Hpa+WU+n1B0Bw38VDR1bJQvL6wD7FPkMfEoR84H8e0dr6kOiuz60qN6mg9ji3jQoCG4jnGZpB5uIBP4AUXG8O7D0MITg50JQ6ogSndZU4DfHJo1EFtStgSsgJ2V8AcEhH/MOAow5VvEd/gV3gl10UfoZugK8fT7l71QdBaLWuqV5hfBJpWkGv0vL/LQruwRDtbW9vj9FPHaF4PsBL6L50BKrXQFx1qbXmQEyT0ThAHUkAFjEI5BHg+tJBO4+Pj1foVMHleHp6ukDommKA32fjA9GadtxjdW2+8RH1HfVLA8gS2TufeI1CNwAvFKzxai494y/hNaeQzHhQcN5sfqjS7xsLUBCsg45gV96NslUc1wQ72ETlfL+NBuiL0nj68DqC3gnd9DM6x6Cf4/HPHFL1vyRAB6NjC9+nKoWeQeiyqcAv0JXYx5s6jr5vpjkDOQM5AzkDOQM5AzkDOQM5AzkDOQPNM/AfPQLglaBBktYAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAiZJREFUaAXtmMFxwjAQRbEnF7iEEuggcGS4mA5IB0kHSSUpgXQQOgAODEegA0oIF7hB/s9YxKMxg9EusQ6rGY9l2Vrp/ZW0C42GFVPAFDAFTAFTwBQwBUwBU8AUMAVCFEhCOmn3WSwW3SRJPprN5nOv1/vWtF874Gq1ah8Ohy2gHk+n07rVag01IVNNtUJsEQbee2Nf3Lv7/X5K6BBbZX1q96Cb1HK5fIEHx3zW9GQ0gATzILkXh4PBYM13oSUqQEJoQ6oCutMwVG3XD0uUp+rvPkRd5MkHZ1TjnqZpGxPKpLYAdzaRg07Q0Dk33lBRBTwejzwR5zeMf+nTLl485i93EG106cNr7X9SXfvyn957e3CDVTHq9/vb0OGjAvThEPQzadCPBvAecPR6FID3grsLYJ5bfuFgeK8SpL1cdKOxLIv7VTUX5WSZS2KADFelnJJ7LA8tc204gqotUQeHMMEjnonzK06/T9brLCqAzGAAMc2DcjRwFFYMGDOcGDB2OBGgD4eDgmnamkYlperpW3WM4FwUMBMM0nYD5fsvc8+hdybsoX3L+gUDQukRoGYwek6KURd7kAl72URD20SHDJdpERL1KEJDUQxRoGemwiCNa0OjuI+ZdhUHqLsu8qCbfB7kZ/DgE9ti8qQKIKFihVQDLIHc4Z/qjvT3HO1KimgP+gMThgkz2ufcm3XD+fOzZ1PAFDAFTAFTwBQwBUwBU8AUMAWqK/AD1rESGBZG0cgAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAkJJREFUaAXtmL9LHEEUx98bD5IqJOBBmjRphLOxSJEmydnkPMEqOifCbZ1Wq5TmLxD8BwIuGu4uXQgnCuH8UYT8AZLC/8AyQYi4Pt+yu9zt6d2uu8+whDfNzLx5M/O+nzfDMgugRQkoASWgBJSAElACSkAJKAElkIUAZpl01zlua9fynNbgPCKyznK9M2i7j3ZmgVutbi9tQLxJGQArcX86IYCzuO32HhJSc3lu9vbR8dbS+OHRowj4ZvRomhGspKab2vHmvpkFAtDHcLmlIDt0wn2pIze0puFkZys52AQbuq0ui8JFvlMdvlP+XctdJNc0uaMp+AIqsOAJSgxPM5iIqOAOmsGCJygxPM1gIqKCO2gGC56gxPA0g4mICu6Q47kUV8bvw7L7uVuNW7P1+G1Uzv3MCbcWEwgIVUAUESglztf4399BSVjhoQiqnS+7094l9TirkwR0bsh84F8rmzEnoI1mo74Wt8n27iWD2+29GRZ3FInj41vzSt5xP3T6EbRxlX9ezfft8i1xgb64qyvvgMU94cz99cU5tj4gjkUQvieCX6HI7U/tb0/lpQUrigp0292pUNyjQJyZvyGO9zUlc44GFrj5h+/I4wkynfV1Eo0lAia66AP4fUqAh31xte/RRsN10875viu+nT8xL59X9l8N+0j0RQVaa72H5tm7CcTXjh0tLgrcadS+Mow1IHjh2LcHkV2ylvsOhlFZO33BzZ9pg3Qa9Y20vuqnBJSAElACSkAJKAEloASUgBL4dwSuAT6jj5dI8O7nAAAAAElFTkSuQmCC\"},function(e,t){e.exports=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAABJ9JREFUaAXtmM9VIkEQxsG3B/UiG4FjBMJRPTAbwWIEshFoBmAEixGIGWAEjgf16BjBjhngRT3J/r622zfC4INu3vPS9V5NVdf0n/qqq6sHarVIMQIxAjECMQIxAjECMQIxAjECMQIxAj4RqPsM+mrMzc1Nc21tbXcymTTpJxal5jn7yKwpr9fr+dvb28PBwUE+283fshKAd3d3CYCOcaMDJ/7umJEFzxGAz/b29qQHURDA+/v7xvPz81+c6U57AeAHbAVsdoQ+Y+2S+ml34YZ0qAknvNs1rc+PwcbGxmmr1Rp/Ni/eWlu86+eeFtxVCdwTPc7gQ5z6idQubMFj0q6PHJGCqVi6tQn0lvru7+8r2Iew5niCRScE8EprvTeXf3rv4O3t7ZDljrQku3GKozmyqzZncEB6ZdIXJdJc4E9s/z6yw5w9274gAF2rLyVCACpttgQOQBl6WysD7FTSlyhSfeabMP7a7naPNZQFyoqlyTtFWUmpVSPKOjsFLIfq7KwBSntp0i46cAwu4KYmYQ3vFP2hCQKpA7AEJ4Z2nhaOPqIn2BWEx3mlX1cK77fVB2Bju2PKDNnPmTNBBtEqACrCcmiALEinDF0ppvRv4LgpGALD+wE2ndkTgeZdA1At7DvYNEZgj+AEXgnJCS8iFeWQKzApalvtCiqwiasowSiuomsFC/A9vbRVtqrfl7aQM2gmZhcyFk9xpgWfwg9TKya00zmsd2USKM3R0pyau/zSRw9OUZ0bFs7sOcvR+3BNBQNHG7DS15HT1c8QO5TD46prxZ5J19VLBqeoXTX4i6PsfdUXkm+Krgqg8Y/dGtq0ul72O5IdT5ikbXetayYsPb4NIKAuSbEUX8y96HzCPlb6IQtAF85eloDR9ZLQRxW2UX6H/oRdRea37L4Ag88gzg/W19e7Ly8vXfzowKaaWodTpCot5lnSO5GTtsc1csT37PD19VUf5Qagfbe0CAaIAw37tT9g9YHOjxyzqaZdaZa8cnpesmmXx0rt6ULDVaTxQRR8BnEu39zc/BXyk6YKQenXigmKb4oG34OkV5OfNP8oEr2QnzUOpObQXJpTczu7rwzewemFtaOk24gUVRrO/Q5149z3KGOU1p15oHx3MPgM4tAfQKU4fCSn5SBtVUU1a5wjI3kUltVOLEs3xJhysVEFHQC6QJ67Pj4yOEVZtCC6XQDtwH9oX8DuF3nZp4RGaln6ND1i0Fj9I5DwZdRHL+AgCtlBgdhStUSqAhbIoWXE++eapO0j9YMIhrkneacfs0rnGdI4+sleFbCZ/lWGEIAjJjzCgR5FYcJdeDZdSUtlP6tafJ7NXjXHpGfP9tFaXmTC4zPSlvEMgLsajzNjhBzRH0qXsi1LnNcO8+hiV7FpaDztB66hdDp4i87tDVALCCRfMH3UY7XLhGM5ThZw7uzYMunYUkkRNhWlBFvz3fLpecZ57PuC00xBAJ0r+lDGyRPaHXjb2T3lI+NGANY/c4XnHB/DVgLwYzYU3Wu607QzNN2utMt9rK7CkUunb6YrAdUVK5kjxQjECMQIxAjECMQIxAjECMQIxAjECHxjBP4DTHEmvys1hjIAAAAASUVORK5CYII=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMTYgMTYiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PGcgY2xhc3M9Im5jLWljb24td3JhcHBlciI+PHBhdGggY2xhc3M9InN0MCIgZD0iTTIuNyAyVjBoLTJDLjMgMCAwIC4zIDAgLjdWMmgyLjd6IiBmaWxsPSIjNDQ0Ij48L3BhdGg+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE2IDJWLjdjMC0uNC0uMy0uNy0uNy0uN0g0djJoMTJ6IiBmaWxsPSIjNDQ0Ij48L3BhdGg+PHBhdGggY2xhc3M9InN0MCIgZD0iTTAgMy40djEwLjdjMCAuMy4zLjYuNy42aDE0LjdjLjQgMCAuNy0uMy43LS43VjMuNEgwem01LjggNS44bC0yLjUgMi41LS45LTEgMi0yLTItMiAuOS0uOSAyLjUgMi41Yy4zLjIuMy42IDAgLjl6bTUuNSAyLjJoLTR2LTEuM2g0djEuM3oiIGZpbGw9IiM0NDQiPjwvcGF0aD48L2c+PC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjcwcHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDcwIDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkI1NDExNjc3LTQ3RjMtNDM0OS05NDBGLThCMjVDMDI0REE3ODwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYWNjb3VudDotZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OTYuMDAwMDAwLCAtMjQ2LjAwMDAwMCkiIGZpbGw9IiNBM0E5QjgiPgogICAgICAgICAgICA8cGF0aCBkPSJNODQ5LjYyMDY5LDI2NS42MTIwNjkgQzg0OS42MjA2OSwyNTQuNzUgODQxLjIyOTg4NSwyNDYgODMwLjg4NTA1NywyNDYgQzgyMC41NDAyMywyNDYgODEyLjE0OTQyNSwyNTQuODEwMzQ1IDgxMi4xNDk0MjUsMjY1LjYxMjA2OSBDODEyLjE0OTQyNSwyNzYuNDEzNzkzIDgyMC41NDAyMywyODUuMjg0NDgzIDgzMC44ODUwNTcsMjg1LjI4NDQ4MyBDODQxLjIyOTg4NSwyODUuMjg0NDgzIDg0OS42MjA2OSwyNzYuNDc0MTM4IDg0OS42MjA2OSwyNjUuNjEyMDY5IFogTTg0NC42NzgxNjEsMjY1LjYxMjA2OSBDODQ0LjY3ODE2MSwyNzMuNTc3NTg2IDgzOC40NzEyNjQsMjgwLjA5NDgyOCA4MzAuODg1MDU3LDI4MC4wOTQ4MjggQzgyMy4yOTg4NTEsMjgwLjA5NDgyOCA4MTcuMDkxOTU0LDI3My41Nzc1ODYgODE3LjA5MTk1NCwyNjUuNjEyMDY5IEM4MTcuMDkxOTU0LDI1Ny42NDY1NTIgODIzLjI5ODg1MSwyNTEuMTI5MzEgODMwLjg4NTA1NywyNTEuMTI5MzEgQzgzOC40NzEyNjQsMjUxLjEyOTMxIDg0NC42NzgxNjEsMjU3LjY0NjU1MiA4NDQuNjc4MTYxLDI2NS42MTIwNjkgWiBNODYzLjUyODczNiwzMTYgQzg2NC45MDgwNDYsMzE2IDg2NiwzMTQuODUzNDQ4IDg2NiwzMTMuNDA1MTcyIEM4NjYsMjk5LjgyNzU4NiA4NTUuNDgyNzU5LDI4OC43MjQxMzggODQyLjQ5NDI1MywyODguNzI0MTM4IEw4MTkuNTA1NzQ3LDI4OC43MjQxMzggQzgwNi41NzQ3MTMsMjg4LjcyNDEzOCA3OTYsMjk5Ljc2NzI0MSA3OTYsMzEzLjQwNTE3MiBDNzk2LDMxNC44NTM0NDggNzk3LjA5MTk1NCwzMTYgNzk4LjQ3MTI2NCwzMTYgTDg2My41Mjg3MzYsMzE2IFogTTg0Mi40OTQyNTMsMjkzLjkxMzc5MyBDODUxLjkxOTU0LDI5My45MTM3OTMgODU5LjY3ODE2MSwzMDEuMjc1ODYyIDg2MC44ODUwNTcsMzEwLjgxMDM0NSBMODAxLjExNDk0MywzMTAuODEwMzQ1IEM4MDIuMzIxODM5LDMwMS4zMzYyMDcgODEwLjA4MDQ2LDI5My45MTM3OTMgODE5LjUwNTc0NywyOTMuOTEzNzkzIEw4NDIuNDk0MjUzLDI5My45MTM3OTMgWiIgaWQ9ImFjY291bnQtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijc2cHgiIGhlaWdodD0iNzZweCIgdmlld0JveD0iMCAwIDc2IDc2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0MC4zICgzMzgzOSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+YXNzZXQtZW1wdHktc3RhdGU8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYXNzZXQtZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuMDAwMDAwLCAzLjAwMDAwMCkiIHN0cm9rZT0iI0EzQTlCOCIgc3Ryb2tlLXdpZHRoPSI1Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTM1LDY5LjU3NzIyMTcgQzU0LjMyOTk2NjIsNjkuNTc3MjIxNyA3MCw1NC4wMDE4MzAxIDcwLDM0Ljc4ODYxMDkgQzcwLDE4LjQyMzY3NDMgNTguNjMxNjI3Miw0LjY5NzkyNjcyIDQzLjMxNjMzOTUsMC45ODgwMDI4MjcgQzQwLjY1MDc0NiwwLjM0MjI5ODQwNCAzNy44NjU1ODk5LDAgMzUsMCBDMTUuNjcwMDMzOCwwIDAsMTUuNTc1MzkxNiAwLDM0Ljc4ODYxMDkgQzAsNTQuMDAxODMwMSAxNS42NzAwMzM4LDY5LjU3NzIyMTcgMzUsNjkuNTc3MjIxNyBaIiBpZD0iT3ZhbC0zIj48L3BhdGg+CiAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTQiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1kYXNoYXJyYXk9IjEsMTEiIGN4PSIzNSIgY3k9IjM0Ljc4ODYxMDkiIHJ4PSIyMy4zMzMzMzMzIiByeT0iMjMuMTkyNDA3MiI+PC9lbGxpcHNlPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjY2cHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDY2IDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkExNkE5NTQ0LUQ0MTctNEY1Qy05OTg3LTlERkUzMTczRDk2NzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iYmFsYW5jZXM6LWVtcHR5LXN0YXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzk4LjAwMDAwMCwgLTI0Ni4wMDAwMDApIiBmaWxsPSIjQTNBOUI4Ij4KICAgICAgICAgICAgPHBhdGggZD0iTTgwMi42Mzk3NjcsMzExLjA1NTk4NiBMODAyLjYzOTc2NywyNDguNDcyMDA3IEM4MDIuNjM5NzY3LDI0Ny4wODUyNzEgODAxLjYyMTI4MSwyNDYgODAwLjMxOTg4MywyNDYgQzc5OS4wMTg0ODUsMjQ2IDc5OCwyNDcuMDg1MjcxIDc5OCwyNDguNDcyMDA3IEw3OTgsMzEzLjUyNzk5MyBDNzk4LDMxNC45MTQ3MjkgNzk5LjAxODQ4NSwzMTYgODAwLjMxOTg4MywzMTYgTDg2MS4zNzI0MjQsMzE2IEM4NjIuNjczODIyLDMxNiA4NjMuNjkyMzA4LDMxNC45MTQ3MjkgODYzLjY5MjMwOCwzMTMuNTI3OTkzIEM4NjMuNjkyMzA4LDMxMi4xNDEyNTggODYyLjY3MzgyMiwzMTEuMDU1OTg2IDg2MS4zNzI0MjQsMzExLjA1NTk4NiBMODAyLjYzOTc2NywzMTEuMDU1OTg2IFogTTgyNS4xMDMwMjgsMjY1Ljk1NjkzNCBDODI1LjEwMzAyOCwyNjQuNTcwMTk4IDgyNC4wODQ1NDMsMjYzLjQ4NDkyNyA4MjIuNzgzMTQ1LDI2My40ODQ5MjcgQzgyMS40ODE3NDcsMjYzLjQ4NDkyNyA4MjAuNDYzMjYxLDI2NC41NzAxOTggODIwLjQ2MzI2MSwyNjUuOTU2OTM0IEw4MjAuNDYzMjYxLDMwMS41Mjk3MTYgQzgyMC40NjMyNjEsMzAyLjkxNjQ1MSA4MjEuNDgxNzQ3LDMwNC4wMDE3MjMgODIyLjc4MzE0NSwzMDQuMDAxNzIzIEM4MjQuMDg0NTQzLDMwNC4wMDE3MjMgODI1LjEwMzAyOCwzMDIuOTE2NDUxIDgyNS4xMDMwMjgsMzAxLjUyOTcxNiBMODI1LjEwMzAyOCwyNjUuOTU2OTM0IFogTTgxMy44OTk2ODksMjY1Ljk1NjkzNCBDODEzLjg5OTY4OSwyNjQuNTcwMTk4IDgxMi44ODEyMDMsMjYzLjQ4NDkyNyA4MTEuNTc5ODA1LDI2My40ODQ5MjcgQzgxMC4yNzg0MDcsMjYzLjQ4NDkyNyA4MDkuMjU5OTIyLDI2NC41NzAxOTggODA5LjI1OTkyMiwyNjUuOTU2OTM0IEw4MDkuMjU5OTIyLDMwMS41Mjk3MTYgQzgwOS4yNTk5MjIsMzAyLjkxNjQ1MSA4MTAuMjc4NDA3LDMwNC4wMDE3MjMgODExLjU3OTgwNSwzMDQuMDAxNzIzIEM4MTIuODgxMjAzLDMwNC4wMDE3MjMgODEzLjg5OTY4OSwzMDIuOTE2NDUxIDgxMy44OTk2ODksMzAxLjUyOTcxNiBMODEzLjg5OTY4OSwyNjUuOTU2OTM0IFogTTg0Ny41MDk3MDYsMjY1Ljk1NjkzNCBDODQ3LjUwOTcwNiwyNjQuNTcwMTk4IDg0Ni40OTEyMjEsMjYzLjQ4NDkyNyA4NDUuMTg5ODIzLDI2My40ODQ5MjcgQzg0My44ODg0MjUsMjYzLjQ4NDkyNyA4NDIuODY5OTQsMjY0LjU3MDE5OCA4NDIuODY5OTQsMjY1Ljk1NjkzNCBMODQyLjg2OTk0LDMwMS41Mjk3MTYgQzg0Mi44Njk5NCwzMDIuOTE2NDUxIDg0My44ODg0MjUsMzA0LjAwMTcyMyA4NDUuMTg5ODIzLDMwNC4wMDE3MjMgQzg0Ni40OTEyMjEsMzA0LjAwMTcyMyA4NDcuNTA5NzA2LDMwMi45MTY0NTEgODQ3LjUwOTcwNiwzMDEuNTI5NzE2IEw4NDcuNTA5NzA2LDI2NS45NTY5MzQgWiBNODU4LjcxMzA0NiwyODMuNzQzMzI1IEM4NTguNzEzMDQ2LDI4Mi4zNTY1ODkgODU3LjY5NDU2LDI4MS4yNzEzMTggODU2LjM5MzE2MiwyODEuMjcxMzE4IEM4NTUuMDkxNzY0LDI4MS4yNzEzMTggODU0LjA3MzI3OSwyODIuMzU2NTg5IDg1NC4wNzMyNzksMjgzLjc0MzMyNSBMODU0LjA3MzI3OSwzMDEuNTI5NzE2IEM4NTQuMDczMjc5LDMwMi45MTY0NTEgODU1LjA5MTc2NCwzMDQuMDAxNzIzIDg1Ni4zOTMxNjIsMzA0LjAwMTcyMyBDODU3LjY5NDU2LDMwNC4wMDE3MjMgODU4LjcxMzA0NiwzMDIuOTE2NDUxIDg1OC43MTMwNDYsMzAxLjUyOTcxNiBMODU4LjcxMzA0NiwyODMuNzQzMzI1IFogTTgzNi4zMDYzNjcsMjgzLjc0MzMyNSBDODM2LjMwNjM2NywyODIuMzU2NTg5IDgzNS4yODc4ODIsMjgxLjI3MTMxOCA4MzMuOTg2NDg0LDI4MS4yNzEzMTggQzgzMi42ODUwODYsMjgxLjI3MTMxOCA4MzEuNjY2NiwyODIuMzU2NTg5IDgzMS42NjY2LDI4My43NDMzMjUgTDgzMS42NjY2LDMwMS41Mjk3MTYgQzgzMS42NjY2LDMwMi45MTY0NTEgODMyLjY4NTA4NiwzMDQuMDAxNzIzIDgzMy45ODY0ODQsMzA0LjAwMTcyMyBDODM1LjI4Nzg4MiwzMDQuMDAxNzIzIDgzNi4zMDYzNjcsMzAyLjkxNjQ1MSA4MzYuMzA2MzY3LDMwMS41Mjk3MTYgTDgzNi4zMDYzNjcsMjgzLjc0MzMyNSBaIiBpZD0iQmFsYW5jZXMtaWNvbiI+PC9wYXRoPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSIxMnB4IiB2aWV3Qm94PSIwIDAgMTIgMTIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQxLjIgKDM1Mzk3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5jbGllbnQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cmVjdCBpZD0icGF0aC0xIiB4PSIwIiB5PSIwIiB3aWR0aD0iMTEuMDc2OTIzMSIgaGVpZ2h0PSIzLjM3MjM2NTM0IiByeD0iMS42ODYxODI2NyI+PC9yZWN0PgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIG1hc2tDb250ZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB4PSIwIiB5PSIwIiB3aWR0aD0iMTEuMDc2OTIzMSIgaGVpZ2h0PSIzLjM3MjM2NTM0IiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxyZWN0IGlkPSJwYXRoLTMiIHg9IjAiIHk9IjQuMjE1NDU2NjciIHdpZHRoPSIxMS4wNzY5MjMxIiBoZWlnaHQ9IjMuMzcyMzY1MzQiIHJ4PSIxLjY4NjE4MjY3Ij48L3JlY3Q+CiAgICAgICAgPG1hc2sgaWQ9Im1hc2stNCIgbWFza0NvbnRlbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIG1hc2tVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giIHg9IjAiIHk9IjAiIHdpZHRoPSIxMS4wNzY5MjMxIiBoZWlnaHQ9IjMuMzcyMzY1MzQiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0zIj48L3VzZT4KICAgICAgICA8L21hc2s+CiAgICAgICAgPHJlY3QgaWQ9InBhdGgtNSIgeD0iMCIgeT0iOC40MzA5MTMzNSIgd2lkdGg9IjExLjA3NjkyMzEiIGhlaWdodD0iMy4zNzIzNjUzNCIgcng9IjEuNjg2MTgyNjciPjwvcmVjdD4KICAgICAgICA8bWFzayBpZD0ibWFzay02IiBtYXNrQ29udGVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgbWFza1VuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeD0iMCIgeT0iMCIgd2lkdGg9IjExLjA3NjkyMzEiIGhlaWdodD0iMy4zNzIzNjUzNCIgZmlsbD0id2hpdGUiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNwYXRoLTUiPjwvdXNlPgogICAgICAgIDwvbWFzaz4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpY29uLXNldCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTkyLjAwMDAwMCwgLTguMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJpY29ucyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0iY2xpZW50IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4NC4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9InNlcnZlciIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOC4wMDAwMDAsIDguMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgaWQ9IlJlY3RhbmdsZSIgc3Ryb2tlPSIjQTNBOUI4IiBtYXNrPSJ1cmwoI21hc2stMikiIHN0cm9rZS13aWR0aD0iMS40IiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0iUmVjdGFuZ2xlIiBzdHJva2U9IiNBM0E5QjgiIG1hc2s9InVybCgjbWFzay00KSIgc3Ryb2tlLXdpZHRoPSIxLjQiIHhsaW5rOmhyZWY9IiNwYXRoLTMiPjwvdXNlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbCIgZmlsbD0iI0EzQTlCOCIgY3g9IjguNzIzMDc2OTEiIGN5PSIxLjcwNzI1OTk0IiByeD0iMC40MTUzODQ2MDQiIHJ5PSIwLjQ0MjYyMjkzOSI+PC9lbGxpcHNlPgogICAgICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbCIgZmlsbD0iI0EzQTlCOCIgY3g9IjguNzIzMDc2OTEiIGN5PSI1LjkyMjcxNjYyIiByeD0iMC40MTUzODQ2MDQiIHJ5PSIwLjQ0MjYyMjkzOSI+PC9lbGxpcHNlPgogICAgICAgICAgICAgICAgICAgICAgICA8dXNlIGlkPSJSZWN0YW5nbGUiIHN0cm9rZT0iI0EzQTlCOCIgbWFzaz0idXJsKCNtYXNrLTYpIiBzdHJva2Utd2lkdGg9IjEuNCIgeGxpbms6aHJlZj0iI3BhdGgtNSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iOC43MjMwNzY5MSIgY3k9IjEwLjEzODE3MzMiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iNi44NzY5MjMwNyIgY3k9IjEuNzA3MjU5OTQiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iNi44NzY5MjMwNyIgY3k9IjUuOTIyNzE2NjIiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsIiBmaWxsPSIjQTNBOUI4IiBjeD0iNi44NzY5MjMwNyIgY3k9IjEwLjEzODE3MzMiIHJ4PSIwLjQxNTM4NDYwNCIgcnk9IjAuNDQyNjIyOTM5Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjU0cHgiIGhlaWdodD0iNjlweCIgdmlld0JveD0iMCAwIDU0IDY5IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPjYxNkI0Q0EzLTJGOTctNEVCNi1CQUY3LUY1NzEwODQ0NUY4MzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8cmVjdCBpZD0icGF0aC0xIiB4PSIyMC41OTQ5MjQ3IiB5PSI3LjMyNzEyMjI2IiB3aWR0aD0iMzQuODc4NDcyMiIgaGVpZ2h0PSIzNC44Nzg0NzIyIiByeD0iMTcuNDM5MjM2MSI+PC9yZWN0PgogICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIG1hc2tDb250ZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiBtYXNrVW5pdHM9Im9iamVjdEJvdW5kaW5nQm94IiB4PSIwIiB5PSIwIiB3aWR0aD0iMzQuODc4NDcyMiIgaGVpZ2h0PSIzNC44Nzg0NzIyIiBmaWxsPSJ3aGl0ZSI+CiAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgPC9tYXNrPgogICAgPC9kZWZzPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Im1vY2sta2V5czotZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MDEuMDAwMDAwLCAtMjQ5LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAtNCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzk5LjAwMDAwMCwgMjQyLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZSIgZmlsbD0iI0EzQTlCOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTUuMTcwMjMzLCA2Ny45NTQyOTEpIHJvdGF0ZSg0Mi4wMDAwMDApIHRyYW5zbGF0ZSgtMTUuMTcwMjMzLCAtNjcuOTU0MjkxKSAiIHg9IjUuNTg1MjMzMzEiIHk9IjY1Ljg2ODQ2NzciIHdpZHRoPSIxOS4xNzAwMDAxIiBoZWlnaHQ9IjQuMTcxNjQ2NjQiIHJ4PSIyLjA4NTgyMzMyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlIiBmaWxsPSIjQTNBOUI4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMC4zNjEyOTksIDYxLjQ2NjkwNykgcm90YXRlKDQyLjAwMDAwMCkgdHJhbnNsYXRlKC0yMC4zNjEyOTksIC02MS40NjY5MDcpICIgeD0iMTIuNDcxMjk4OSIgeT0iNTkuNDE5ODQzMyIgd2lkdGg9IjE1Ljc3OTk5OTciIGhlaWdodD0iNC4wOTQxMjc2OSIgcng9IjIuMDQ3MDYzODUiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi43MDk4NTYzLDMzLjE3Njg2NTQgTDE4LjQwNzY4NDQsNzEuNzk1MDg2MiIgaWQ9IkxpbmUiIHN0cm9rZT0iI0EzQTlCOCIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3LjU1ODc3MCwgNTIuNDg1OTc2KSByb3RhdGUoNDIuMDAwMDAwKSB0cmFuc2xhdGUoLTE3LjU1ODc3MCwgLTUyLjQ4NTk3NikgIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8dXNlIGlkPSJSZWN0YW5nbGUtMiIgc3Ryb2tlPSIjQTNBOUI4IiBtYXNrPSJ1cmwoI21hc2stMikiIHN0cm9rZS13aWR0aD0iMTAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDM4LjAzNDE2MSwgMjQuNzY2MzU4KSByb3RhdGUoNDIuMDAwMDAwKSB0cmFuc2xhdGUoLTM4LjAzNDE2MSwgLTI0Ljc2NjM1OCkgIiB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTJweCIgaGVpZ2h0PSIxMnB4IiB2aWV3Qm94PSIwIDAgMTIgMTIiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQxLjIgKDM1Mzk3KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5uZXR3b3JrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+CiAgICAgICAgPHBhdGggZD0iTTYsMCBDMi42OTE2LDAgMCwyLjY5MTYgMCw2IEMwLDkuMzA4MjggMi42OTE2LDEyIDYsMTIgQzkuMzA4MjgsMTIgMTIsOS4zMDgyOCAxMiw2IEMxMiwyLjY5MTYgOS4zMDgyOCwwIDYsMCBMNiwwIFogTTMuOTY0NjgsMS4xMzYyOCBDMy42OTAzNiwxLjQ4MzU2IDMuNDQ3NDgsMS44OTk5NiAzLjI0NDY4LDIuMzczMjQgQzIuOTg2OTIsMi4yODQ5MiAyLjczMjQsMi4xODczNiAyLjQ4NDYsMi4wNzQ1NiBDMi45MTkyNCwxLjY4NDY4IDMuNDE4NDQsMS4zNjU3MiAzLjk2NDY4LDEuMTM2MjggTDMuOTY0NjgsMS4xMzYyOCBaIE0xLjk1MTA4LDIuNjI2OCBDMi4yODg1MiwyLjc5MjE2IDIuNjM2MTYsMi45MzY0IDIuOTkxNiwzLjA1ODkyIEMyLjc0OTY4LDMuODI1MjQgMi42MDA4OCw0LjY5ODYgMi41NzAxNiw1LjYzNjQgTDAuNzQxMTIsNS42MzY0IEMwLjgxOTI0LDQuNDk2MTYgMS4yNjA0OCwzLjQ1NDQ0IDEuOTUxMDgsMi42MjY4IEwxLjk1MTA4LDIuNjI2OCBaIE0wLjc0MTEyLDYuMzYzNiBMMi41NzAyOCw2LjM2MzYgQzIuNjAxLDcuMzAxNCAyLjc0OTgsOC4xNzQ3NiAyLjk5MTcyLDguOTQxMDggQzIuNjM2NCw5LjA2MzYgMi4yODg2NCw5LjIwNzg0IDEuOTUxMiw5LjM3MzMyIEMxLjI2MDQ4LDguNTQ1NjggMC44MTkyNCw3LjUwMzg0IDAuNzQxMTIsNi4zNjM2IEwwLjc0MTEyLDYuMzYzNiBaIE0yLjQ4NDQ4LDkuOTI1NDQgQzIuNzMyMjgsOS44MTI2NCAyLjk4NjkyLDkuNzE1MDggMy4yNDQ1Niw5LjYyNjg4IEMzLjQ0NzQ4LDEwLjEwMDE2IDMuNjkwMjQsMTAuNTE2NTYgMy45NjQ1NiwxMC44NjM4NCBDMy40MTg0NCwxMC42MzQ0IDIuOTE5MjQsMTAuMzE1MiAyLjQ4NDQ4LDkuOTI1NDQgTDIuNDg0NDgsOS45MjU0NCBaIE01LjYzNjQsMTEuMjIxNjggQzQuOTc0LDExLjAzOTc2IDQuMzc5NzYsMTAuMzcxMjQgMy45NTUwOCw5LjQxMzUyIEM0LjUwNDU2LDkuMjc3NDQgNS4wNjg1Niw5LjE5OTA4IDUuNjM2NCw5LjE3NDcyIEw1LjYzNjQsMTEuMjIxNjggTDUuNjM2NCwxMS4yMjE2OCBaIE01LjYzNjQsOC40NDQxNiBDNC45ODAzNiw4LjQ3MDMyIDQuMzI5MTIsOC41NjY1NiAzLjY5NjEyLDguNzI5ODggQzMuNDcxNzIsOC4wMjY2OCAzLjMzMDEyLDcuMjE5NDQgMy4yOTg0NCw2LjM2MzYgTDUuNjM2NCw2LjM2MzYgTDUuNjM2NCw4LjQ0NDE2IEw1LjYzNjQsOC40NDQxNiBaIE01LjYzNjQsNS42MzY0IEwzLjI5ODQ0LDUuNjM2NCBDMy4zMzAxMiw0Ljc4MDQ0IDMuNDcxNzIsMy45NzMzMiAzLjY5NjEyLDMuMjcwMjQgQzQuMzI5MjQsMy40MzM0NCA0Ljk4MDM2LDMuNTI5NjggNS42MzY0LDMuNTU1NzIgTDUuNjM2NCw1LjYzNjQgTDUuNjM2NCw1LjYzNjQgWiBNNS42MzY0LDIuODI1NTIgQzUuMDY4NTYsMi44MDEwNCA0LjUwNDQ0LDIuNzIyNjggMy45NTQ5NiwyLjU4NjYgQzQuMzc5NzYsMS42MjkgNC45NzQsMC45NjAzNiA1LjYzNjQsMC43Nzg0NCBMNS42MzY0LDIuODI1NTIgTDUuNjM2NCwyLjgyNTUyIFogTTExLjI1ODg4LDUuNjM2NCBMOS40Mjk4NCw1LjYzNjQgQzkuMzk5MTIsNC42OTg2IDkuMjUwMzIsMy44MjUyNCA5LjAwODQsMy4wNTg5MiBDOS4zNjM3MiwyLjkzNjQgOS43MTE0OCwyLjc5MjE2IDEwLjA0ODkyLDIuNjI2OCBDMTAuNzM5NjQsMy40NTQ0NCAxMS4xODA3Niw0LjQ5NjI4IDExLjI1ODg4LDUuNjM2NCBMMTEuMjU4ODgsNS42MzY0IFogTTkuNTE1NjQsMi4wNzQ1NiBDOS4yNjc4NCwyLjE4NzQ4IDkuMDEzMiwyLjI4NDkyIDguNzU1NDQsMi4zNzMyNCBDOC41NTI2NCwxLjg5OTk2IDguMzA5NzYsMS40ODM1NiA4LjAzNTQ0LDEuMTM2MjggQzguNTgxNTYsMS4zNjU3MiA5LjA4MDg4LDEuNjg0NjggOS41MTU2NCwyLjA3NDU2IEw5LjUxNTY0LDIuMDc0NTYgWiBNNi4zNjM2LDAuNzc4MzIgQzcuMDI1ODgsMC45NjAyNCA3LjYyMDEyLDEuNjI4ODggOC4wNDQ5MiwyLjU4NjQ4IEM3LjQ5NTU2LDIuNzIyNTYgNi45MzE0NCwyLjgwMDkyIDYuMzYzNiwyLjgyNTQgTDYuMzYzNiwwLjc3ODMyIEw2LjM2MzYsMC43NzgzMiBaIE02LjM2MzYsMy41NTU3MiBDNy4wMTk2NCwzLjUyOTY4IDcuNjcwODgsMy40MzMzMiA4LjMwMzg4LDMuMjcwMjQgQzguNTI4MjgsMy45NzMzMiA4LjY2OTg4LDQuNzgwNDQgOC43MDE1Niw1LjYzNjQgTDYuMzYzNiw1LjYzNjQgTDYuMzYzNiwzLjU1NTcyIEw2LjM2MzYsMy41NTU3MiBaIE02LjM2MzYsNi4zNjM2IEw4LjcwMTU2LDYuMzYzNiBDOC42Njk3Niw3LjIxOTQ0IDguNTI4MjgsOC4wMjY1NiA4LjMwMzg4LDguNzI5ODggQzcuNjcwNzYsOC41NjY1NiA3LjAxOTY0LDguNDcwMzIgNi4zNjM2LDguNDQ0MTYgTDYuMzYzNiw2LjM2MzYgTDYuMzYzNiw2LjM2MzYgWiBNNi4zNjM2LDExLjIyMTY4IEw2LjM2MzYsOS4xNzQ2IEM2LjkzMTMyLDkuMTk4OTYgNy40OTU0NCw5LjI3NzMyIDguMDQ0OTIsOS40MTM1MiBDNy42MjAxMiwxMC4zNzEyNCA3LjAyNTg4LDExLjAzOTc2IDYuMzYzNiwxMS4yMjE2OCBMNi4zNjM2LDExLjIyMTY4IFogTTguMDM1NDQsMTAuODYzNzIgQzguMzA5NzYsMTAuNTE2NDQgOC41NTI2NCwxMC4xMDAxNiA4Ljc1NTQ0LDkuNjI2NzYgQzkuMDEzMiw5LjcxNTIgOS4yNjc4NCw5LjgxMjY0IDkuNTE1NjQsOS45MjU1NiBDOS4wODA4OCwxMC4zMTUzMiA4LjU4MTU2LDEwLjYzNDQgOC4wMzU0NCwxMC44NjM3MiBMOC4wMzU0NCwxMC44NjM3MiBaIE0xMC4wNDg5Miw5LjM3MzA4IEM5LjcxMTM2LDkuMjA3NzIgOS4zNjM3Miw5LjA2MzYgOS4wMDg0LDguOTQwOTYgQzkuMjUwMzIsOC4xNzQ2NCA5LjM5OTEyLDcuMzAxNCA5LjQyOTg0LDYuMzYzNDggTDExLjI1ODg4LDYuMzYzNDggQzExLjE4MDc2LDcuNTAzODQgMTAuNzM5NjQsOC41NDU1NiAxMC4wNDg5Miw5LjM3MzA4IEwxMC4wNDg5Miw5LjM3MzA4IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpY29uLXNldCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIwNC4wMDAwMDAsIC04LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0iaWNvbnMiPgogICAgICAgICAgICAgICAgPGcgaWQ9Im5ldHdvcmsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE5Ni4wMDAwMDAsIDAuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTEzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4LjAwMDAwMCwgOC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTMyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGlkPSJPdmFsLTUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSBpZD0iTWFzayIgZmlsbD0iI0EzQTlCOCIgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==\";\n},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijc3cHgiIGhlaWdodD0iNzZweCIgdmlld0JveD0iMCAwIDc3IDc2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPjc2QzdENTMzLUE4M0ItNDMyNy04QTQzLTZCREZBRTcxQTJBQTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgIDxnIGlkPSJUWDotZW1wdHktc3RhdGUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC03OTMuMDAwMDAwLCAtMjQzLjAwMDAwMCkiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlPSIjQTNBOUI4Ij4KICAgICAgICAgICAgPGcgaWQ9Ikdyb3VwLTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc5Ni4wMDAwMDAsIDI0Ni4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC04Ij4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgaWQ9IlN0cm9rZS0yMjAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ1LjcyODE5MiwgMjQuNTIxODkxKSByb3RhdGUoOTAuMDAwMDAwKSB0cmFuc2xhdGUoLTQ1LjcyODE5MiwgLTI0LjUyMTg5MSkgIiBwb2ludHM9IjM3LjQyOTc1MzQgNDkuNTQ5MTQ1OCAzNy4yNTY2NDUgLTAuNTA1MzYyODQ5IDU0LjE5OTczODggMTQuODAwODc3OCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTY5LjY5MDI2MTEsLTAuMDYzODIyNTkzOSBMNTQuNjE2MTE3NCwxNS4xNTU1Nzg1IiBpZD0iU3Ryb2tlLTIyMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjIuMTUzMTg5LCA3LjU0NTg3OCkgcm90YXRlKDkwLjAwMDAwMCkgdHJhbnNsYXRlKC02Mi4xNTMxODksIC03LjU0NTg3OCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBpZD0iU3Ryb2tlLTIyMCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjUuMjE3NzU0LCA2MS4zMTc5MTQpIHNjYWxlKDEsIC0xKSByb3RhdGUoLTkwLjAwMDAwMCkgdHJhbnNsYXRlKC0yNS4yMTc3NTQsIC02MS4zMTc5MTQpICIgcG9pbnRzPSIxNi45MTkzMTU2IDg2LjM0NTE2ODUgMTYuNzQ2MjA3MiAzNi4yOTA2NTk5IDMzLjY4OTMwMSA1MS41OTY5MDA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTYuMzI5ODI4NSwzNi43MzIyMDAxIEwxLjI1NTY4NDg4LDUxLjk1MTYwMTIiIGlkPSJTdHJva2UtMjIyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc5Mjc1NywgNDQuMzQxOTAxKSBzY2FsZSgxLCAtMSkgcm90YXRlKC05MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43OTI3NTcsIC00NC4zNDE5MDEpICI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijk2cHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDk2IDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkQ3QTA3REJELTExMjctNDhCMC1CMTJBLUUzODkxOTg5QTM3NDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iRmVlZHM6LWVtcHR5LXN0YXRlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzgwLjAwMDAwMCwgLTI0NC4wMDAwMDApIiBzdHJva2U9IiNBM0E5QjgiPgogICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMjEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc4MS4wMDAwMDAsIDI0NS4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xOSI+CiAgICAgICAgICAgICAgICAgICAgPGVsbGlwc2UgaWQ9Ik92YWwtNiIgZmlsbD0iI0EzQTlCOCIgY3g9IjMuNzMzMzMzMzkiIGN5PSIzLjk3ODE0MjE0IiByeD0iMy43MzMzMzMzOSIgcnk9IjMuOTc4MTQyMTQiPjwvZWxsaXBzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQuODg4ODg4OSwzLjUgTDkyLjAyODE4NDQsMy41IiBpZD0iTGluZSIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIGlkPSJHcm91cC0xNyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDIwLjAwMDAwMCkiPgogICAgICAgICAgICAgICAgICAgIDxlbGxpcHNlIGlkPSJPdmFsLTYiIGZpbGw9IiNBM0E5QjgiIGN4PSIzLjczMzMzMzM5IiBjeT0iNC4yMDAzNjQzNiIgcng9IjMuNzMzMzMzMzkiIHJ5PSIzLjk3ODE0MjE0Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ljg4ODg4ODksMy41IEw5Mi4wMjgxODQ0LDMuNSIgaWQ9IkxpbmUiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49ImJldmVsIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA0MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC02IiBmaWxsPSIjQTNBOUI4IiBjeD0iMy4zNTA0Mjc0IiBjeT0iNC4wMTQ1NzIiIHJ4PSIzLjM1MDQyNzQiIHJ5PSIzLjU3MDEyNzU2Ij48L2VsbGlwc2U+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTI0Ljg4ODg4ODksMy41IEw5Mi4wMjgxODQ0LDMuNSIgaWQ9IkxpbmUiIHN0cm9rZS13aWR0aD0iNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49ImJldmVsIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyBpZD0iR3JvdXAtMTMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA2MC4wMDAwMDApIj4KICAgICAgICAgICAgICAgICAgICA8ZWxsaXBzZSBpZD0iT3ZhbC02IiBmaWxsPSIjQTNBOUI4IiBjeD0iMy4zNTA0Mjc0IiBjeT0iNC4yMzY3OTQyMiIgcng9IjMuMzUwNDI3NCIgcnk9IjMuNTcwMTI3NTYiPjwvZWxsaXBzZT4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjQuODg4ODg4OSwzLjUgTDkyLjAyODE4NDQsMy41IiBpZD0iTGluZSIgc3Ryb2tlLXdpZHRoPSI1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0iYmV2ZWwiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjY2cHgiIGhlaWdodD0iNzBweCIgdmlld0JveD0iMCAwIDY2IDcwIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IHNrZXRjaHRvb2wgNDAuMiAoMzM4MjYpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPkQ4MzE1QjM2LTZGMzktNDRGRC1BNUFGLTI5MDQ1MzNEQzVDMzwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggc2tldGNodG9vbC48L2Rlc2M+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iUGFnZS0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0idW5zcGVudC1vdXRwdXRzOi1lbXB0eS1zdGF0ZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgwMC4wMDAwMDAsIC0yNDYuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cC0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4MDAuMDAwMDAwLCAyNDYuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNTcuMDc5NTQ3NiwxNi4xNDQ5MDI5IEM1Ni44NjM4MDE3LDEyLjIyNDMwMzggNDYuMTEwMjUwOSw5LjE5MDM2Nzc0IDMzLjA0Nzc0MTQsOS4zNjg0MTcwNCBDMTkuOTcwNzg2LDkuNTQ2NDY2MzMgOS4wNjcyMDUzMiwxMi44NjkwNzczIDguNzA2OTkwNTksMTYuNzg5Njc2NCBDOC4zNDY3NzU4NiwyMC43MTAyNzU1IDE5LjEzMzI0MTQsMjMuNzQ0MjExNiAzMi43ODYxNTc1LDIzLjU2NjE2MjMgQzQ2LjQyNDYyNzYsMjMuMzg4MTEzIDU3LjI5NTI5MzUsMjAuMDY1NTAyIDU3LjA3OTU0NzYsMTYuMTQ0OTAyOSBaIiBpZD0iT3ZhbC00IiBzdHJva2U9IiNBM0E5QjgiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWRhc2hhcnJheT0iNiw1LDYsNyI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMyLjY1MTc5NzksMC4yNTM5NTI4NTcgQzE0LjM0NjU5OTYsMC4yNTM5NTI4NTcgMCw3LjQ0OTg5OTAyIDAsMTYuNjE5NzMzMiBMMCw1My40NzM5NzEzIEMwLDYyLjY2ODc5MTQgMTQuMzQ2NTk5Niw2OS44Mzk3NTE3IDMyLjY1MTc5NzksNjkuODM5NzUxNyBDNTAuOTU2OTk2Miw2OS44Mzk3NTE3IDY1LjMwMzU5NTgsNjIuNjY4NzkxNCA2NS4zMDM1OTU4LDUzLjQ5ODk1NzMgTDY1LjMwMzU5NTgsMTYuNjQ0NzE5MSBDNjUuMzAzNTk1OCw3LjQ0OTg5OTAyIDUwLjk1Njk5NjIsMC4yNTM5NTI4NTcgMzIuNjUxNzk3OSwwLjI1Mzk1Mjg1NyBMMzIuNjUxNzk3OSwwLjI1Mzk1Mjg1NyBaIE02MC45NDY0ODA0LDUzLjQ5ODk1NzMgQzYwLjk0NjQ4MDQsNTkuNDIwNjIxMyA0OS41NzU0NzE4LDY1Ljc5MjAzMiAzMi42NTE3OTc5LDY1Ljc5MjAzMiBDMTUuNzI4MTI0LDY1Ljc5MjAzMiA0LjM1NzExNTQyLDU5LjQ0NTYwNzIgNC4zNTcxMTU0Miw1My40OTg5NTczIEw0LjM1NzExNTQyLDQ5LjQ3NjIyMzUgQzkuOTM2MzQ4NTksNTQuMzczNDY0NiAyMC40MDQwNTI3LDU3LjU5NjY0ODggMzIuNjUxNzk3OSw1Ny41OTY2NDg4IEM0NC44OTk1NDMxLDU3LjU5NjY0ODggNTUuMzY3MjQ3Miw1NC4zNzM0NjQ2IDYwLjk0NjQ4MDQsNDkuNDc2MjIzNSBMNjAuOTQ2NDgwNCw1My40OTg5NTczIEw2MC45NDY0ODA0LDUzLjQ5ODk1NzMgWiBNNjAuOTQ2NDgwNCw0MS4yMDU4ODI2IEM2MC45NDY0ODA0LDQ3LjEyNzU0NjYgNDkuNTc1NDcxOCw1My40OTg5NTczIDMyLjY1MTc5NzksNTMuNDk4OTU3MyBDMTUuNzI4MTI0LDUzLjQ5ODk1NzMgNC4zNTcxMTU0Miw0Ny4xNTI1MzI1IDQuMzU3MTE1NDIsNDEuMjA1ODgyNiBMNC4zNTcxMTU0MiwzNy4xODMxNDg4IEM5LjkzNjM0ODU5LDQyLjA4MDM4OTkgMjAuNDA0MDUyNyw0NS4zMDM1NzQxIDMyLjY1MTc5NzksNDUuMzAzNTc0MSBDNDQuODk5NTQzMSw0NS4zMDM1NzQxIDU1LjM2NzI0NzIsNDIuMDgwMzg5OSA2MC45NDY0ODA0LDM3LjE4MzE0ODggTDYwLjk0NjQ4MDQsNDEuMjA1ODgyNiBMNjAuOTQ2NDgwNCw0MS4yMDU4ODI2IFogTTYwLjk0NjQ4MDQsMjguOTEyODA3OSBDNjAuOTQ2NDgwNCwzNC44MzQ0NzE5IDQ5LjU3NTQ3MTgsNDEuMjA1ODgyNiAzMi42NTE3OTc5LDQxLjIwNTg4MjYgQzE1LjcyODEyNCw0MS4yMDU4ODI2IDQuMzU3MTE1NDIsMzQuODU5NDU3OCA0LjM1NzExNTQyLDI4LjkxMjgwNzkgTDQuMzU3MTE1NDIsMjQuODkwMDc0MSBDOS45MzYzNDg1OSwyOS43ODczMTUyIDIwLjQwNDA1MjcsMzMuMDEwNDk5NCAzMi42NTE3OTc5LDMzLjAxMDQ5OTQgQzQ0Ljg5OTU0MzEsMzMuMDEwNDk5NCA1NS4zNjcyNDcyLDI5Ljc4NzMxNTIgNjAuOTQ2NDgwNCwyNC44OTAwNzQxIEw2MC45NDY0ODA0LDI4LjkxMjgwNzkgTDYwLjk0NjQ4MDQsMjguOTEyODA3OSBaIE0zMi42NTE3OTc5LDI4LjkxMjgwNzkgQzE1LjcyODEyNCwyOC45MTI4MDc5IDQuMzU3MTE1NDIsMjIuNTY2MzgzMSA0LjM1NzExNTQyLDE2LjYxOTczMzIgQzQuMzU3MTE1NDIsMTAuNjk4MDY5MiAxNS43MjgxMjQsNC4zMjY2NTg1IDMyLjY1MTc5NzksNC4zMjY2NTg1IEM0OS41NzU0NzE4LDQuMzI2NjU4NSA2MC45NDY0ODA0LDEwLjY3MzA4MzIgNjAuOTQ2NDgwNCwxNi42MTk3MzMyIEM2MC45NDY0ODA0LDIyLjU2NjM4MzEgNDkuNTc1NDcxOCwyOC45MTI4MDc5IDMyLjY1MTc5NzksMjguOTEyODA3OSBMMzIuNjUxNzk3OSwyOC45MTI4MDc5IFoiIGlkPSJTaGFwZSIgZmlsbD0iI0EzQTlCOCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMTc0Ljc1NCIgaGVpZ2h0PSIxODAiIHZpZXdCb3g9IjAgMCAxNzQuNzU0IDE4MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogIzI0N2NmNjsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiB1cmwoI2xpbmVhci1ncmFkaWVudCk7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQtMik7CiAgICAgIH0KCiAgICAgIC5jbHMtNCB7CiAgICAgICAgZmlsbDogdXJsKCNsaW5lYXItZ3JhZGllbnQtMyk7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudCIgeDE9IjAuNjU1IiB5MT0iMSIgeDI9IjAuMzc5IiB5Mj0iLTAuMDgzIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iI2E1Y2JmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNiNGQ0ZmYiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudC0yIiB4MT0iMC42NDMiIHkxPSIxLjA0OCIgeDI9IjAuNDAyIiB5Mj0iLTAuNjk2IiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCI+CiAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzQwOTBmZiIvPgogICAgICA8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNhNWNiZmYiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQgaWQ9ImxpbmVhci1ncmFkaWVudC0zIiB4MT0iMC41IiB4Mj0iMC41IiB5Mj0iMSIgZ3JhZGllbnRVbml0cz0ib2JqZWN0Qm91bmRpbmdCb3giPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMyYzg1ZmYiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDM1YmQ0Ii8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8ZyBpZD0iTG9hZGluZy1WYXBvcl9Mb2dvIiBkYXRhLW5hbWU9IkxvYWRpbmctVmFwb3IgTG9nbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc0OS42IC0yMzYpIj4KICAgIDxnIGlkPSJHcm91cF84NTQyIiBkYXRhLW5hbWU9Ikdyb3VwIDg1NDIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDc0OS42IDIzNikiPgogICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNyIgZGF0YS1uYW1lPSJQYXRoIDI2MTE3IiBjbGFzcz0iY2xzLTEiIGQ9Ik00OTAuNCw1NTkuNzU5YTQ0Ni43MDksNDQ2LjcwOSwwLDAsMCw2MC42OTQsMTYuMzM0LDQ0Ny44NjYsNDQ3Ljg2NiwwLDAsMC01NC43NDEsMzAuNDI2QTQ0Ny4wMSw0NDcuMDEsMCwwLDEsMzc3LjkxLDU2NS42MzJhNDQ4LjMxOSw0NDguMzE5LDAsMCwxLDU0Ljg0Ny0zMC40NjUsNDUwLjc3Miw0NTAuNzcyLDAsMCwxLTUzLjc0NS0zMi40MDYsNDQ3LjQsNDQ3LjQsMCwwLDEsNTguNjc1LTIyLjUwOEE0NTIuMjI2LDQ1Mi4yMjYsMCwwLDEsMzg4LjgzMiw0NDAuNmE0NDYuNDU4LDQ0Ni40NTgsMCwwLDEsNjEuMjQ1LTE0LjA3OSw0NTAuODEsNDUwLjgxLDAsMCwwLDQ4Ljg2OCwzOS42NTQsNDQ3Ljk1OCw0NDcuOTU4LDAsMCwwLDUzLjcxOSwzMi4zOTMsNDQ3LjEyLDQ0Ny4xMiwwLDAsMC02MS4yNTgsMTQuMDkyLDQ0Ny41MDcsNDQ3LjUwNywwLDAsMCw1Ny41NzQsMjQuNTc5QTQ0Ni4xODIsNDQ2LjE4MiwwLDAsMCw0OTAuNCw1NTkuNzU5WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM3Ny45MSAtNDI2LjUyKSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNCIgZGF0YS1uYW1lPSJQYXRoIDI2MTE0IiBjbGFzcz0iY2xzLTIiIGQ9Ik01NTAuMDcyLDQ5OC41NjdhNDQ3LjEsNDQ3LjEsMCwwLDAtNjEuMjU4LDE0LjA5Miw0NDcuOTc2LDQ0Ny45NzYsMCwwLDEtNTMuNzE5LTMyLjQwNUE0NTIuMTI1LDQ1Mi4xMjUsMCwwLDEsMzg2LjI0LDQ0MC42YTQ0Ni40MzgsNDQ2LjQzOCwwLDAsMSw2MS4yNDUtMTQuMDc5LDQ1MC44NjUsNDUwLjg2NSwwLDAsMCw0OC44NjgsMzkuNjU0QTQ0OCw0NDgsMCwwLDAsNTUwLjA3Miw0OTguNTY3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM3NS4zMTkgLTQyNi41MikiLz4KICAgICAgPHBhdGggaWQ9IlBhdGhfMjYxMTUiIGRhdGEtbmFtZT0iUGF0aCAyNjExNSIgY2xhc3M9ImNscy0zIiBkPSJNNTQ4LjcxOSw1MjQuNDk1YTQ0Ni4xMjIsNDQ2LjEyMiwwLDAsMC01OC41ODMsMjIuNTIyLDQ0NC43NSw0NDQuNzUsMCwwLDEtNTcuNjQtMjQuNTkzLDQ1MC43ODcsNDUwLjc4NywwLDAsMS01My43NDUtMzIuNDA1LDQ0Ny4zOTEsNDQ3LjM5MSwwLDAsMSw1OC42NzUtMjIuNTA4LDQ1MC4yMDgsNDUwLjIwOCwwLDAsMCwxMTEuMjkzLDU2Ljk4NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0zNzcuNjQ4IC00MTMuNzc2KSIvPgogICAgICA8cGF0aCBpZD0iUGF0aF8yNjExNiIgZGF0YS1uYW1lPSJQYXRoIDI2MTE2IiBjbGFzcz0iY2xzLTQiIGQ9Ik01NTEuMDkxLDU1MC4zMjdhNDQ3LjcsNDQ3LjcsMCwwLDAtNTQuNzQxLDMwLjQyNkE0NDcuMTE4LDQ0Ny4xMTgsMCwwLDEsMzc3LjkxLDUzOS44NjYsNDQ4LjQsNDQ4LjQsMCwwLDEsNDMyLjc1Nyw1MDkuNGE0NDQuOTA2LDQ0NC45MDYsMCwwLDAsNTcuNjQsMjQuNTkzQTQ0Ni45MzEsNDQ2LjkzMSwwLDAsMCw1NTEuMDkxLDU1MC4zMjdaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMzc3LjkxIC00MDAuNzUzKSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgICAgc3Ryb2tlOiByZ2JhKDAsMCwwLDApOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iVmFwb3IyQnl0b20iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtNSkiPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNjk0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNjk0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNSkiLz4KICAgIDxwYXRoIGlkPSJQYXRoXzIwMzMxIiBkYXRhLW5hbWU9IlBhdGggMjAzMzEiIGNsYXNzPSJjbHMtMiIgZD0iTS0zMTMyLjQ4Mi0yODIuNDE4bDMuNTUzLDMuNTUzaDBsLS45MjUuOTI2LTMuNTUzLTMuNTU0YS42NjcuNjY3LDAsMCwxLS4wMTYtLjkuNjQ2LjY0NiwwLDAsMSwuNDY2LS4yMTRoLjAxNkEuNjQ1LjY0NSwwLDAsMS0zMTMyLjQ4Mi0yODIuNDE4Wm0xMS44NzYuNzE1aDBsLTQuMjg3LDQuMjg3LS45LS45LDQuMjg0LTQuMjg1Wm0tNy40MjEsMy43NC45MzUuOTM2LS45MjYuOTI3LS45MzYtLjkzNy45MjYtLjkyNmgwWm0xLjgzOSwxLjgzOS45MzQuOTM1LS45MjYuOTI3LS45MzYtLjkzNi45MjYtLjkyNmgwWm0tNi4xMTgsMS4zMTR2Mi45ODFsMi45NTYtMi45NTcuOTE5LjkxOS0yLjk1NiwyLjk1N2gyLjk4djEuM2gtNS4ydi01LjJabTcuOTU2LjUyNCwzLjU0MSwzLjU0M2EuNjUyLjY1MiwwLDAsMSwwLC45MmwtLjAwNi4wMDhhLjY1Mi42NTIsMCwwLDEtLjkxMS4wMDlsLTMuNTUxLTMuNTUyLjkyNi0uOTI3aDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTk3LjEwNSAyOTAuMTA5KSIvPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgICAgc3Ryb2tlOiByZ2JhKDAsMCwwLDApOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iQnl0b20yVmFwb3IiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtNSkiPgogICAgPHJlY3QgaWQ9IlJlY3RhbmdsZV8zNjk0IiBkYXRhLW5hbWU9IlJlY3RhbmdsZSAzNjk0IiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNSkiLz4KICAgIDxwYXRoIGlkPSJQYXRoXzIwMzMwIiBkYXRhLW5hbWU9IlBhdGggMjAzMzAiIGNsYXNzPSJjbHMtMiIgZD0iTS0zMTIxLjcyOS0yNjkuOGwtMy41NTMtMy41NTNoMGwuOTI1LS45MjYsMy41NTMsMy41NTRhLjY2Ny42NjcsMCwwLDEsLjAxNi45LjY0Ni42NDYsMCwwLDEtLjQ2Ni4yMTRoLS4wMTZBLjY0NS42NDUsMCwwLDEtMzEyMS43MjktMjY5LjhabS0xMS44NzYtLjcxNWgwbDQuMjg3LTQuMjg3LjkuOS00LjI4NCw0LjI4NVptNy40MjEtMy43NC0uOTM1LS45MzYuOTI2LS45MjcuOTM2LjkzNy0uOTI2LjkyNmgwWm0tMS44MzktMS44MzktLjkzNC0uOTM1LjkyNi0uOTI3LjkzNi45MzYtLjkyNi45MjZoMFptNi4xMTgtMS4zMTR2LTIuOTgxbC0yLjk1NiwyLjk1Ny0uOTE5LS45MTksMi45NTYtMi45NTdoLTIuOTh2LTEuM2g1LjJ2NS4yWm0tNy45NTYtLjUyNC0zLjU0MS0zLjU0M2EuNjUyLjY1MiwwLDAsMSwwLS45MmwuMDA2LS4wMDhhLjY1Mi42NTIsMCwwLDEsLjkxMS0uMDA5bDMuNTUxLDMuNTUyLS45MjYuOTI3aDBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzMTk3LjEwNSAyOTAuMTA5KSIvPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTM2OTA1NDM3MDc2IiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjMzNzMiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTExLjk5ODk3NyA5NjEuNjEwMDQ0Yy0yNDguMzA2MjcyIDAtNDQ5LjYwNzk5OC0yMDEuMzA3ODY1LTQ0OS42MDc5OTgtNDQ5LjYxNDEzOFMyNjMuNjkyNzA0IDYyLjM4OTk1NiA1MTEuOTk4OTc3IDYyLjM4OTk1NmMyNDguMzY0NjAxIDAgNDQ5LjYxMDA0NCAyMDEuMjk5Njc5IDQ0OS42MTAwNDQgNDQ5LjYwNjk3NFM3NjAuMzYzNTc3IDk2MS42MTAwNDQgNTExLjk5ODk3NyA5NjEuNjEwMDQ0TDUxMS45OTg5NzcgOTYxLjYxMDA0NHpNNzE4LjE4Njk4OSAzODAuOTIxNjM5YzguNDU3NjI2LTguNDYyNzQyIDguNDU3NjI2LTIyLjIwMjY3NSAwLTMwLjY1ODI1NGwtNDUuOTI3MDA1LTQ1Ljg3MTc0N2MtOC40NTk2NzItOC40NTk2NzItMjIuMTM4MjA2LTguNDU5NjcyLTMwLjU5OTkyNSAwTDUxMS42MDM5ODEgNDM0LjQ0ODc0IDM4MS41NDY4NzkgMzA0LjM5MTYzOGMtOC40NTk2NzItOC40NTk2NzItMjIuMTQyMy04LjQ1OTY3Mi0zMC41OTk5MjUgMGwtNDUuOTI3MDA1IDQ1Ljg3MTc0N2MtOC40NTc2MjYgOC40NTU1NzktOC40NTc2MjYgMjIuMTk1NTExIDAgMzAuNjU4MjU0bDEzMC4wNTcxMDEgMTMwLjA1MzAwOEwzMDUuMDE5OTQ4IDY0MS4wMzE3NDhjLTguNDU3NjI2IDguNDU1NTc5LTguNDU3NjI2IDIyLjE0MDI1MyAwIDMwLjU5OTkyNUwzNTAuOTQ2OTU0IDcxNy41NTU2MDljOC40NTc2MjYgOC40MDQ0MTQgMjIuMTQwMjUzIDguNDA0NDE0IDMwLjU5OTkyNSAwbDEzMC4wNTcxMDEtMTMwLjA1NzEwMUw2NDEuNjYxMDgyIDcxNy41NTU2MDljOC40NjE3MTkgOC40MDQ0MTQgMjIuMTQwMjUzIDguNDA0NDE0IDMwLjU5OTkyNSAwbDQ1LjkyNzAwNS00NS45MjI5MTJjOC40NTc2MjYtOC40NTk2NzIgOC40NTc2MjYtMjIuMTQ0MzQ2IDAtMzAuNTk5OTI1TDU4OC4xMjk4ODggNTEwLjk3NTY3IDcxOC4xODY5ODkgMzgwLjkyMTYzOSA3MTguMTg2OTg5IDM4MC45MjE2Mzl6IiBwLWlkPSIzMzc0IiBmaWxsPSIjZDQ0YzRjIj48L3BhdGg+PC9zdmc+\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMjAyNTJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iaXNzdWUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtODkpIj4KICAgIDxyZWN0IGlkPSLnn6nlvaJfMzY3MyIgZGF0YS1uYW1lPSLnn6nlvaIgMzY3MyIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxIDg5KSIvPgogICAgPGcgaWQ9Iue7hF8yOTY1IiBkYXRhLW5hbWU9Iue7hCAyOTY1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTgzLjczOCAtMTE1MS4xNzgpIj4KICAgICAgPHBhdGggaWQ9Iui3r+W+hF80OTU1IiBkYXRhLW5hbWU9Iui3r+W+hCA0OTU1IiBjbGFzcz0iY2xzLTIiIGQ9Ik0zMDAuMDY0LDU1NC4xNThoLTEuMjgydjIuMTU5aC0yLjIyNVY1NTcuNmgyLjIyNXYyLjE1NGgxLjI4MlY1NTcuNkgzMDIuM3YtMS4yODJoLTIuMjMzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTUxLjQxOSA2OTcuOTgpIi8+CiAgICAgIDxwYXRoIGlkPSLlh4/ljrtfMTQiIGRhdGEtbmFtZT0i5YeP5Y67IDE0IiBjbGFzcz0iY2xzLTIiIGQ9Ik05LjQ4MywxMy4xOTNoMGwtMi45ODktMS43LTIuMiwxLjQzM1YxMS41OTRMNS45LDEwLjQ4N1Y3LjgzM0wzLjYyMyw2LjUsMS4zMzcsNy43ODN2LjkyNEgwVjcuMTY0TDIuOTksNS4zOVYyLjAxTDYuNDk0LDAsMTAsMi4wMVY1LjMxOGwyLjk5LDEuODQ2djQuMDJsLTMuNSwyLjAwOVpNOS40LDYuNiw3LjE1OSw3Ljg4MnYyLjU3M0w5LjQsMTEuNzRsMi4yNDItMS4yODZWNy44ODJMOS40LDYuNlpNNi41MzksMS40MDhsLTIuMywxLjMxOFY1LjM2MmwyLjMsMS4zMTcsMi4zLTEuMzE3VjIuNzI2bC0yLjMtMS4zMThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDcuMzE0IDEyNDIuNjc4KSIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTggMTgiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEsIC5jbHMtMiB7CiAgICAgICAgZmlsbDogIzIwMjUyZDsKICAgICAgfQoKICAgICAgLmNscy0xIHsKICAgICAgICBjbGlwLXJ1bGU6IGV2ZW5vZGQ7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy00IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcC1wYXRoKTsKICAgICAgfQoKICAgICAgLmNscy01IHsKICAgICAgICBjbGlwLXBhdGg6IHVybCgjY2xpcC1wYXRoLTIpOwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICA8cGF0aCBpZD0i6Lev5b6EXzUxMDgiIGRhdGEtbmFtZT0i6Lev5b6EIDUxMDgiIGNsYXNzPSJjbHMtMSIgZD0iTTUuMzc2LTEzLjUyN2wzLjAzNiwzLjIxNi45NDUtLjg4NUw3Ljc3OS0xMi44NUgxM3YtMS4zSDcuNzc5bDEuNTc4LTEuNjg1LS45NDUtLjg3NlpNNi41LTdIMFYtMjBINi41djIuNkg1LjJ2LTEuM0gxLjNWLTguM0g1LjJWLTkuNkg2LjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDApIi8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgtMiI+CiAgICAgIDxwYXRoIGlkPSLot6/lvoRfNTEwNyIgZGF0YS1uYW1lPSLot6/lvoQgNTEwNyIgY2xhc3M9ImNscy0yIiBkPSJNLTIyMCwzODlINTNWLTQwSC0yMjBaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMjAgNDApIi8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8ZyBpZD0icmVjaWV2ZWQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02MSAtMzMpIj4KICAgIDxyZWN0IGlkPSLnn6nlvaJfMzY3MyIgZGF0YS1uYW1lPSLnn6nlvaIgMzY3MyIgY2xhc3M9ImNscy0zIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxIDMzKSIvPgogICAgPGcgaWQ9Iue7hF8yOTY0IiBkYXRhLW5hbWU9Iue7hCAyOTY0IiBjbGFzcz0iY2xzLTQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzLjUgNDguNSkgcm90YXRlKC05MCkiPgogICAgICA8ZyBpZD0i57uEXzI5NjMiIGRhdGEtbmFtZT0i57uEIDI5NjMiIGNsYXNzPSJjbHMtNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE0MyAtMzMpIj4KICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzUxMDYiIGRhdGEtbmFtZT0i6Lev5b6EIDUxMDYiIGNsYXNzPSJjbHMtMiIgZD0iTS01LTUuNUgxNC41Vi0yNUgtNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE0NC43NSAzNC43NSkiLz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMTggMTgiPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgY2xpcC1wYXRoOiB1cmwoI2NsaXAtcGF0aCk7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogIzIwMjUyZDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoIj4KICAgICAgPHJlY3QgaWQ9IuefqeW9ol8zNjczIiBkYXRhLW5hbWU9IuefqeW9oiAzNjczIiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgMTE3KSIvPgogICAgPC9jbGlwUGF0aD4KICA8L2RlZnM+CiAgPGcgaWQ9InJldGlyZSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC0xMTcpIj4KICAgIDxnIGlkPSLokpnniYjnu4RfNjYiIGRhdGEtbmFtZT0i6JKZ54mI57uEIDY2IiBjbGFzcz0iY2xzLTIiPgogICAgICA8ZyBpZD0i57uEXzI5NjciIGRhdGEtbmFtZT0i57uEIDI5NjciIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xODMuNyAtMTEyMy4xNzgpIj4KICAgICAgICA8cGF0aCBpZD0i6Lev5b6EXzQ5NTUiIGRhdGEtbmFtZT0i6Lev5b6EIDQ5NTUiIGNsYXNzPSJjbHMtMyIgZD0iTTMuNTA4LDBIMi4yMjZWMi4xNTlIMFYzLjQ0MUgyLjIyNlY1LjZIMy41MDhWMy40NDFINS43NDFWMi4xNTlIMy41MDhaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyNDcuOTE1IDEyNTAuOTMpIHJvdGF0ZSg0NSkiLz4KICAgICAgICA8cGF0aCBpZD0i5YeP5Y67XzE0IiBkYXRhLW5hbWU9IuWHj+WOuyAxNCIgY2xhc3M9ImNscy0zIiBkPSJNOS40ODUsMTMuMmgwTDYuNSwxMS41LDQuMjksMTIuOTNWMTEuNkw1LjksMTAuNDg5VjcuODM1TDMuNjI0LDYuNSwxLjMzOCw3Ljc4NHYuOTI0SDBWNy4xNjZMMi45OSw1LjM5MVYyLjAxTDYuNSwwLDEwLDIuMDFWNS4zMmwyLjk5LDEuODQ2djQuMDIxTDkuNDg2LDEzLjJaTTkuNCw2LjYsNy4xNjEsNy44ODN2Mi41NzNMOS40LDExLjc0M2wyLjI0Mi0xLjI4NlY3Ljg4M0w5LjQsNi42Wk02LjU0MSwxLjQwOGwtMi4zLDEuMzE4VjUuMzYzbDIuMywxLjMxOCwyLjMtMS4zMThWMi43MjdsLTIuMy0xLjMxOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDI0Ny4yNzIgMTI0Mi42NzgpIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMjAyNTJkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0ic2VudCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC02MSkiPgogICAgPHJlY3QgaWQ9IuefqeW9ol8zNjczIiBkYXRhLW5hbWU9IuefqeW9oiAzNjczIiBjbGFzcz0iY2xzLTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNjEgNjEpIi8+CiAgICA8cGF0aCBpZD0i6IGU5ZCIXzEyMCIgZGF0YS1uYW1lPSLogZTlkIggMTIwIiBjbGFzcz0iY2xzLTIiIGQ9Ik0tMjkxMy00OTgwdi02LjVoMi42djEuM2gtMS4zdjMuOWgxMC40di0zLjloLTEuM3YtMS4zaDIuNnY2LjVabTUuODI4LTUuMzc3di01LjIyMWwtMS42NTQsMS41NzgtLjg4Ni0uOTQ1LDMuMjE3LTMuMDM2LDMuMTg0LDMuMDM2LS44NzcuOTQ1LTEuNjg0LTEuNTc4djUuMjIxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjk3Ni41IDUwNTYuNSkiLz4KICA8L2c+Cjwvc3ZnPgo=\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTM2OTA4NTQwNjEyIiBjbGFzcz0iaWNvbiIgc3R5bGU9IiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE4NDUiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PGRlZnM+PHN0eWxlIHR5cGU9InRleHQvY3NzIj48L3N0eWxlPjwvZGVmcz48cGF0aCBkPSJNNTE1LjQ3OTE2NSA2Ni45MjI3NTRjLTI0My41NDE1MjEgMC00NDEuMDM1Mjc1IDE5Ny4zOTE0MjYtNDQxLjAzNTI3NiA0NDEuMDM1Mjc1czE5Ny4zOTE0MjYgNDQxLjAzNTI3NSA0NDEuMDM1Mjc2IDQ0MS4wMzUyNzYgNDQxLjAzNTI3NS0xOTcuMzkxNDI2IDQ0MS4wMzUyNzUtNDQxLjAzNTI3Ni0xOTcuNDkzNzU0LTQ0MS4wMzUyNzUtNDQxLjAzNTI3NS00NDEuMDM1Mjc1eiBtMjY2Ljc3MDA2MSAzMzYuMjUxMDI0TDQ4Ni4zMTU1NzkgNjk5LjEwNzQyNWMtNy43NzY5NTYgNy43NzY5NTYtMTcuOTA3NDY1IDExLjY2NTQzNC0yOC4wMzc5NzMgMTEuNjY1NDM0LTEwLjEzMDUwOSAwLTIwLjI2MTAxNy0zLjg4ODQ3OC0yOC4wMzc5NzQtMTEuNjY1NDM0TDI4NS4wMzU2NzUgNTU0LjAwNTc5NmMtMTUuNTUzOTEyLTE1LjQ1MTU4NC0xNS41NTM5MTItNDAuNjI0MzYzIDAtNTYuMDc1OTQ3IDE1LjU1MzkxMi0xNS41NTM5MTIgNDAuNjI0MzYzLTE1LjU1MzkxMiA1Ni4wNzU5NDcgMGwxMTcuMDYzNjU1IDExNy4wNjM2NTYgMjY3Ljc5MzM0NS0yNjcuNzkzMzQ1YzE1LjU1MzkxMi0xNS41NTM5MTIgNDAuNjI0MzYzLTE1LjU1MzkxMiA1Ni4wNzU5NDcgMCAxNS42NTYyNDEgMTUuMzQ5MjU2IDE1LjY1NjI0MSA0MC41MjIwMzUgMC4yMDQ2NTcgNTUuOTczNjE4eiIgcC1pZD0iMTg0NiIgZmlsbD0iI2RmZjBkMyI+PC9wYXRoPjwvc3ZnPg==\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJ2b3RlLWNhbmNlbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTYxIC01KSI+CiAgICA8cmVjdCBpZD0iUmVjdGFuZ2xlXzM2OTQiIGRhdGEtbmFtZT0iUmVjdGFuZ2xlIDM2OTQiIGNsYXNzPSJjbHMtMSIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MSA1KSIvPgogICAgPHBhdGggaWQ9ImluYm94X2Nsb3NlIiBjbGFzcz0iY2xzLTIiIGQ9Ik0xNTEuNywxNDIuNmgtLjY1VjE0MGgtOS4xdjIuNmgtLjY1bC0xLjMsMy44NDZWMTUzaDEzdi02LjU1NFptLTguNDUtMS4zaDYuNXY1LjJIMTQ3Ljh2Mi42aC0yLjZ2LTIuNmgtMS45NVptLTEuMywzLjJ2MmgtLjY1Wm05Ljc1LDcuMkgxNDEuM3YtMy45aDIuNnYyLjZoNS4ydi0yLjZoMi42Wm0tLjY1LTUuMnYtMmwuNjUsMlptLTUuNDY5LS43NjItLjkxOS0uOTE5LjkxOS0uOTE5LS45MTktLjkxOS45MTktLjkxOS45MTkuOTE5LjkxOS0uOTE5LjkxOS45MTktLjkxOS45MTkuOTE5LjkxOS0uOTE5LjkxOS0uOTE5LS45MTlaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNzYuNSAtMTMyLjUpIi8+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICMyMDI1MmQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJ2b3RlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNjEgLTUpIj4KICAgIDxyZWN0IGlkPSJSZWN0YW5nbGVfMzY5NCIgZGF0YS1uYW1lPSJSZWN0YW5nbGUgMzY5NCIgY2xhc3M9ImNscy0xIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDYxIDUpIi8+CiAgICA8cGF0aCBpZD0iaW5ib3hfcGFwZXIiIGNsYXNzPSJjbHMtMiIgZD0iTTE4MCwxMTNoMTN2LTYuNWwtMS4zLTMuOWgtLjY1VjEwMGgtOS4xdjIuNmgtLjY1bC0xLjMsMy45Wm05Ljc1LTYuNUgxODcuOHYyLjZoLTIuNnYtMi42aC0xLjk1di01LjJoNi41Wm0tNy44LTEuOTV2MS45NWgtLjY1Wm05Ljc1LDMuMjV2My45SDE4MS4zdi0zLjloMi42djIuNmg1LjJ2LTIuNlptLS42NS0xLjN2LTEuOTVsLjY1LDEuOTVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTE2LjUgLTkyLjUpIi8+CiAgPC9nPgo8L3N2Zz4K\"},function(e,t){e.exports=\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMy44MTcgMjEuMzAxIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZmVhYTE3OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBpZD0i6K2m5ZGKIiBjbGFzcz0iY2xzLTEiIGQ9Ik0xOTUuNiwyMTUuNzU5bC05LjM3NC0xNi4yNWEyLjUxNywyLjUxNywwLDAsMC00LjM2NCwwbC05LjM4OCwxNi4yNWEyLjUxNywyLjUxNywwLDAsMCwwLDIuNTI1LDIuNDg1LDIuNDg1LDAsMCwwLDIuMTgyLDEuMjYzaDE4Ljc3NWEyLjUxNCwyLjUxNCwwLDAsMCwyLjE2OS0zLjc4OFptLTExLjU3LDEuNDU1YTEuNTc4LDEuNTc4LDAsMSwxLDEuNTc4LTEuNTc4QTEuNTc5LDEuNTc5LDAsMCwxLDE4NC4wMywyMTcuMjE0Wm0xLjI0OS01LjM5NGExLjA0OCwxLjA0OCwwLDAsMS0xLjA0My45NzRoLS40YTEuMDM5LDEuMDM5LDAsMCwxLTEuMDQzLS45NzRsLS41MDgtNy40MzlhMS4wNTQsMS4wNTQsMCwwLDEsMS4wNDMtMS4xMjVoMS40MjdhMS4wNTQsMS4wNTQsMCwwLDEsMS4wNDMsMS4xMjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjEzNSAtMTk4LjI0NikiLz4KPC9zdmc+Cg==\"},678,[1706,1699,109],function(e,t){(function(t){var n,r=t.crypto||t.msCrypto;if(r&&r.getRandomValues){var o=new Uint8Array(16);n=function(){return r.getRandomValues(o),o}}if(!n){var i=new Array(16);n=function(){for(var e,t=0;t<16;t++)0===(3&t)&&(e=4294967296*Math.random()),i[t]=e>>>((3&t)<<3)&255;return i}}e.exports=n}).call(t,function(){return this}())},function(e,t){e.exports={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,menuitem:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0}},function(e,t){function n(e,t,n){return r.yubl(t((n||r.yufull)(e)))}t._getPrivFilters=function(){function e(e){var t=e.split(w,2);return!t[0]||2!==t.length&&e.length===t[0].length?null:t[0]}function t(e,t,n,r){function o(e,n,o,a){return n?(n=Number(n[0]<=\"9\"?n:\"0\"+n),r?T(n):128===n?\"€\":130===n?\"‚\":131===n?\"ƒ\":132===n?\"„\":133===n?\"…\":134===n?\"†\":135===n?\"‡\":136===n?\"ˆ\":137===n?\"‰\":138===n?\"Š\":139===n?\"‹\":140===n?\"Œ\":142===n?\"Ž\":145===n?\"‘\":146===n?\"’\":147===n?\"“\":148===n?\"”\":149===n?\"•\":150===n?\"–\":151===n?\"—\":152===n?\"˜\":153===n?\"™\":154===n?\"š\":155===n?\"›\":156===n?\"œ\":158===n?\"ž\":159===n?\"Ÿ\":n>=55296&&n<=57343||13===n?\"�\":i.frCoPt(n)):t[o||a]||e}return t=t||m,n=n||h,void 0===e?\"undefined\":null===e?\"null\":e.toString().replace(c,\"�\").replace(n,o)}function n(e){return\"\\\\\"+e.charCodeAt(0).toString(16).toLowerCase()+\" \"}function r(e){return e.replace(y,function(e){return\"-x-\"+e})}function o(n){n=i.yufull(t(n));var r=e(n);return r&&A[r.toLowerCase()]?\"##\"+n:n}var i,a=/</g,s=/\"/g,u=/'/g,l=/&/g,c=/\\x00/g,d=/(?:^$|[\\x00\\x09-\\x0D \"'`=<>])/g,f=/[&<>\"'`]/g,p=/(?:\\x00|^-*!?>|--!?>|--?!?$|\\]>|\\]$)/g,h=/&(?:#([xX][0-9A-Fa-f]+|\\d+);?|(Tab|NewLine|colon|semi|lpar|rpar|apos|sol|comma|excl|ast|midast|ensp|emsp|thinsp);|(nbsp|amp|AMP|lt|LT|gt|GT|quot|QUOT);?)/g,m={Tab:\"\\t\",NewLine:\"\\n\",colon:\":\",semi:\";\",lpar:\"(\",rpar:\")\",apos:\"'\",sol:\"/\",comma:\",\",excl:\"!\",ast:\"*\",midast:\"*\",ensp:\"\u2002\",emsp:\"\u2003\",thinsp:\"\u2009\",nbsp:\"\u00a0\",amp:\"&\",lt:\"<\",gt:\">\",quot:'\"',QUOT:'\"'},g=/^(?:(?!-*expression)#?[-\\w]+|[+-]?(?:\\d+|\\d*\\.\\d+)(?:r?em|ex|ch|cm|mm|in|px|pt|pc|%|vh|vw|vmin|vmax)?|!important|)$/i,_=/[\\x00-\\x1F\\x7F\\[\\]{}\\\\\"]/g,b=/[\\x00-\\x1F\\x7F\\[\\]{}\\\\']/g,y=/url[\\(\\u207D\\u208D]+/g,v=/['\\(\\)]/g,M=/\\/\\/%5[Bb]([A-Fa-f0-9:]+)%5[Dd]/,A={javascript:1,data:1,vbscript:1,mhtml:1,\"x-schema\":1},w=/(?::|&#[xX]0*3[aA];?|&#0*58;?|&colon;)/,C=/(?:^[\\x00-\\x20]+|[\\t\\n\\r\\x00]+)/g,E={Tab:\"\\t\",NewLine:\"\\n\"},L=function(e,t,n){return void 0===e?\"undefined\":null===e?\"null\":e.toString().replace(t,n)},T=String.fromCodePoint||function(e){return 0===arguments.length?\"\":e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10)+55296,e%1024+56320))};return i={frCoPt:function(e){return void 0===e||null===e?\"\":!isFinite(e=Number(e))||e<=0||e>1114111||e>=1&&e<=8||e>=14&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||11===e||65535===(65535&e)||65534===(65535&e)?\"�\":T(e)},d:t,yup:function(n){return n=e(n.replace(c,\"\")),n?t(n,E,null,!0).replace(C,\"\").toLowerCase():null},y:function(e){return L(e,f,function(e){return\"&\"===e?\"&amp;\":\"<\"===e?\"&lt;\":\">\"===e?\"&gt;\":'\"'===e?\"&quot;\":\"'\"===e?\"&#39;\":\"&#96;\"})},ya:function(e){return L(e,l,\"&amp;\")},yd:function(e){return L(e,a,\"&lt;\")},yc:function(e){return L(e,p,function(e){return\"\\0\"===e?\"�\":\"--!\"===e||\"--\"===e||\"-\"===e||\"]\"===e?e+\" \":e.slice(0,-1)+\" >\"})},yavd:function(e){return L(e,s,\"&quot;\")},yavs:function(e){return L(e,u,\"&#39;\")},yavu:function(e){return L(e,d,function(e){return\"\\t\"===e?\"&#9;\":\"\\n\"===e?\"&#10;\":\"\\v\"===e?\"&#11;\":\"\\f\"===e?\"&#12;\":\"\\r\"===e?\"&#13;\":\" \"===e?\"&#32;\":\"=\"===e?\"&#61;\":\"<\"===e?\"&lt;\":\">\"===e?\"&gt;\":'\"'===e?\"&quot;\":\"'\"===e?\"&#39;\":\"`\"===e?\"&#96;\":\"�\"})},yu:encodeURI,yuc:encodeURIComponent,yubl:function(e){\nreturn A[i.yup(e)]?\"x-\"+e:e},yufull:function(e){return i.yu(e).replace(M,function(e,t){return\"//[\"+t+\"]\"})},yublf:function(e){return i.yubl(i.yufull(e))},yceu:function(e){return e=t(e),g.test(e)?e:\";-x:'\"+r(e.replace(b,n))+\"';-v:\"},yced:function(e){return r(t(e).replace(_,n))},yces:function(e){return r(t(e).replace(b,n))},yceuu:function(e){return o(e).replace(v,function(e){return\"'\"===e?\"\\\\27 \":\"(\"===e?\"%28\":\"%29\"})},yceud:function(e){return o(e)},yceus:function(e){return o(e).replace(u,\"\\\\27 \")}}};var r=t._privFilters=t._getPrivFilters();t.inHTMLData=r.yd,t.inHTMLComment=r.yc,t.inSingleQuotedAttr=r.yavs,t.inDoubleQuotedAttr=r.yavd,t.inUnQuotedAttr=r.yavu,t.uriInSingleQuotedAttr=function(e){return n(e,r.yavs)},t.uriInDoubleQuotedAttr=function(e){return n(e,r.yavd)},t.uriInUnQuotedAttr=function(e){return n(e,r.yavu)},t.uriInHTMLData=r.yufull,t.uriInHTMLComment=function(e){return r.yc(r.yufull(e))},t.uriPathInSingleQuotedAttr=function(e){return n(e,r.yavs,r.yu)},t.uriPathInDoubleQuotedAttr=function(e){return n(e,r.yavd,r.yu)},t.uriPathInUnQuotedAttr=function(e){return n(e,r.yavu,r.yu)},t.uriPathInHTMLData=r.yu,t.uriPathInHTMLComment=function(e){return r.yc(r.yu(e))},t.uriQueryInSingleQuotedAttr=t.uriPathInSingleQuotedAttr,t.uriQueryInDoubleQuotedAttr=t.uriPathInDoubleQuotedAttr,t.uriQueryInUnQuotedAttr=t.uriPathInUnQuotedAttr,t.uriQueryInHTMLData=t.uriPathInHTMLData,t.uriQueryInHTMLComment=t.uriPathInHTMLComment,t.uriComponentInSingleQuotedAttr=function(e){return r.yavs(r.yuc(e))},t.uriComponentInDoubleQuotedAttr=function(e){return r.yavd(r.yuc(e))},t.uriComponentInUnQuotedAttr=function(e){return r.yavu(r.yuc(e))},t.uriComponentInHTMLData=r.yuc,t.uriComponentInHTMLComment=function(e){return r.yc(r.yuc(e))},t.uriFragmentInSingleQuotedAttr=function(e){return r.yubl(r.yavs(r.yuc(e)))},t.uriFragmentInDoubleQuotedAttr=function(e){return r.yubl(r.yavd(r.yuc(e)))},t.uriFragmentInUnQuotedAttr=function(e){return r.yubl(r.yavu(r.yuc(e)))},t.uriFragmentInHTMLData=t.uriComponentInHTMLData,t.uriFragmentInHTMLComment=t.uriComponentInHTMLComment},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./account-active.png\":650,\"./asset-active.png\":651,\"./balance-active.png\":652,\"./client-active.png\":653,\"./core-active.png\":654,\"./federation-active.png\":655,\"./feed-active.png\":656,\"./help-active.png\":657,\"./mockhsm-active.png\":658,\"./network-active.png\":659,\"./settings-active.png\":660,\"./transaction-active.png\":662,\"./tutorial-active.png\":663,\"./unspent-active.png\":664};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=1704},function(e,t,n){function r(e){return n(o(e))}function o(e){return i[e]||function(){throw new Error(\"Cannot find module '\"+e+\"'.\")}()}var i={\"./account-active.png\":650,\"./account.png\":1661,\"./asset-active.png\":651,\"./asset.png\":1662,\"./balance-active.png\":652,\"./balance.png\":1663,\"./client-active.png\":653,\"./client.png\":1664,\"./core-active.png\":654,\"./core.png\":1665,\"./docs.png\":1666,\"./error.png\":1667,\"./federation-active.png\":655,\"./federation.png\":1668,\"./feed-active.png\":656,\"./feed.png\":1669,\"./help-active.png\":657,\"./help.png\":1670,\"./logout.png\":1671,\"./mockhsm-active.png\":658,\"./mockhsm.png\":1672,\"./network-active.png\":659,\"./network.png\":1673,\"./settings-active.png\":660,\"./settings.png\":661,\"./transaction-active.png\":662,\"./transaction.png\":1674,\"./tutorial-active.png\":663,\"./tutorial.png\":1675,\"./unspent-active.png\":664,\"./unspent.png\":1676};r.keys=function(){return Object.keys(i)},r.resolve=o,e.exports=r,r.id=1705},function(e,t,n,r,o){(function(e,i,a){function s(e,n){var r={seen:[],stylize:l};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),b(n)?r.showHidden=n:n&&t._extend(r,n),C(r.showHidden)&&(r.showHidden=!1),C(r.depth)&&(r.depth=2),C(r.colors)&&(r.colors=!1),C(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=u),d(r,e,r.depth)}function u(e,t){var n=s.styles[t];return n?\"\x1b[\"+s.colors[n][0]+\"m\"+e+\"\x1b[\"+s.colors[n][1]+\"m\":e}function l(e,t){return e}function c(e){var t={};return e.forEach(function(e,n){t[e]=!0}),t}function d(e,n,r){if(e.customInspect&&n&&S(n.inspect)&&n.inspect!==t.inspect&&(!n.constructor||n.constructor.prototype!==n)){var o=n.inspect(r,e);return A(o)||(o=d(e,o,r)),o}var i=f(e,n);if(i)return i;var a=Object.keys(n),s=c(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(n)),O(n)&&(a.indexOf(\"message\")>=0||a.indexOf(\"description\")>=0))return p(n);if(0===a.length){if(S(n)){var u=n.name?\": \"+n.name:\"\";return e.stylize(\"[Function\"+u+\"]\",\"special\")}if(E(n))return e.stylize(RegExp.prototype.toString.call(n),\"regexp\");if(T(n))return e.stylize(Date.prototype.toString.call(n),\"date\");if(O(n))return p(n)}var l=\"\",b=!1,y=[\"{\",\"}\"];if(_(n)&&(b=!0,y=[\"[\",\"]\"]),S(n)){var v=n.name?\": \"+n.name:\"\";l=\" [Function\"+v+\"]\"}if(E(n)&&(l=\" \"+RegExp.prototype.toString.call(n)),T(n)&&(l=\" \"+Date.prototype.toUTCString.call(n)),O(n)&&(l=\" \"+p(n)),0===a.length&&(!b||0==n.length))return y[0]+l+y[1];if(r<0)return E(n)?e.stylize(RegExp.prototype.toString.call(n),\"regexp\"):e.stylize(\"[Object]\",\"special\");e.seen.push(n);var M;return M=b?h(e,n,r,s,a):a.map(function(t){return m(e,n,r,s,t,b)}),e.seen.pop(),g(M,l,y)}function f(e,t){if(C(t))return e.stylize(\"undefined\",\"undefined\");if(A(t)){var n=\"'\"+JSON.stringify(t).replace(/^\"|\"$/g,\"\").replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"')+\"'\";return e.stylize(n,\"string\")}return M(t)?e.stylize(\"\"+t,\"number\"):b(t)?e.stylize(\"\"+t,\"boolean\"):y(t)?e.stylize(\"null\",\"null\"):void 0}function p(e){return\"[\"+Error.prototype.toString.call(e)+\"]\"}function h(e,t,n,r,o){for(var i=[],a=0,s=t.length;a<s;++a)I(t,String(a))?i.push(m(e,t,n,r,String(a),!0)):i.push(\"\");return o.forEach(function(o){o.match(/^\\d+$/)||i.push(m(e,t,n,r,o,!0))}),i}function m(e,t,n,r,o,i){var a,s,u;if(u=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]},u.get?s=u.set?e.stylize(\"[Getter/Setter]\",\"special\"):e.stylize(\"[Getter]\",\"special\"):u.set&&(s=e.stylize(\"[Setter]\",\"special\")),I(r,o)||(a=\"[\"+o+\"]\"),s||(e.seen.indexOf(u.value)<0?(s=y(n)?d(e,u.value,null):d(e,u.value,n-1),s.indexOf(\"\\n\")>-1&&(s=i?s.split(\"\\n\").map(function(e){return\"  \"+e}).join(\"\\n\").substr(2):\"\\n\"+s.split(\"\\n\").map(function(e){return\"   \"+e}).join(\"\\n\"))):s=e.stylize(\"[Circular]\",\"special\")),C(a)){if(i&&o.match(/^\\d+$/))return s;a=JSON.stringify(\"\"+o),a.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,\"name\")):(a=a.replace(/'/g,\"\\\\'\").replace(/\\\\\"/g,'\"').replace(/(^\"|\"$)/g,\"'\"),a=e.stylize(a,\"string\"))}return a+\": \"+s}function g(e,t,n){var r=0,o=e.reduce(function(e,t){return r++,t.indexOf(\"\\n\")>=0&&r++,e+t.replace(/\\u001b\\[\\d\\d?m/g,\"\").length+1},0);return o>60?n[0]+(\"\"===t?\"\":t+\"\\n \")+\" \"+e.join(\",\\n  \")+\" \"+n[1]:n[0]+t+\" \"+e.join(\", \")+\" \"+n[1]}function _(e){return Array.isArray(e)}function b(e){return\"boolean\"==typeof e}function y(e){return null===e}function v(e){return null==e}function M(e){return\"number\"==typeof e}function A(e){return\"string\"==typeof e}function w(e){return\"symbol\"==typeof e}function C(e){return void 0===e}function E(e){return L(e)&&\"[object RegExp]\"===k(e)}function L(e){return\"object\"==typeof e&&null!==e}function T(e){return L(e)&&\"[object Date]\"===k(e)}function O(e){return L(e)&&(\"[object Error]\"===k(e)||e instanceof Error)}function S(e){return\"function\"==typeof e}function N(e){return null===e||\"boolean\"==typeof e||\"number\"==typeof e||\"string\"==typeof e||\"symbol\"==typeof e||\"undefined\"==typeof e}function k(e){return Object.prototype.toString.call(e)}function D(e){return e<10?\"0\"+e.toString(10):e.toString(10)}function x(){var e=new Date,t=[D(e.getHours()),D(e.getMinutes()),D(e.getSeconds())].join(\":\");return[e.getDate(),B[e.getMonth()],t].join(\" \")}function I(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var z=/%[sdj%]/g;t.format=function(e){if(!A(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(s(arguments[n]));return t.join(\" \")}for(var n=1,r=arguments,o=r.length,i=String(e).replace(z,function(e){if(\"%%\"===e)return\"%\";if(n>=o)return e;switch(e){case\"%s\":return String(r[n++]);case\"%d\":return Number(r[n++]);case\"%j\":try{return JSON.stringify(r[n++])}catch(e){return\"[Circular]\"}default:return e}}),a=r[n];n<o;a=r[++n])i+=y(a)||!L(a)?\" \"+a:\" \"+s(a);return i},t.deprecate=function(n,r){function o(){if(!s){if(i.throwDeprecation)throw new Error(r);i.traceDeprecation?a.trace(r):a.error(r),s=!0}return n.apply(this,arguments)}if(C(e.process))return function(){return t.deprecate(n,r).apply(this,arguments)};if(i.noDeprecation===!0)return n;var s=!1;return o};var j,P={};t.debuglog=function(e){if(C(j)&&(j=i.env.NODE_DEBUG||\"\"),e=e.toUpperCase(),!P[e])if(new RegExp(\"\\\\b\"+e+\"\\\\b\",\"i\").test(j)){var n=i.pid;P[e]=function(){var r=t.format.apply(t,arguments);a.error(\"%s %d: %s\",e,n,r)}}else P[e]=function(){};return P[e]},t.inspect=s,s.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]},s.styles={special:\"cyan\",number:\"yellow\",boolean:\"yellow\",undefined:\"grey\",null:\"bold\",string:\"green\",date:\"magenta\",regexp:\"red\"},t.isArray=_,t.isBoolean=b,t.isNull=y,t.isNullOrUndefined=v,t.isNumber=M,t.isString=A,t.isSymbol=w,t.isUndefined=C,t.isRegExp=E,t.isObject=L,t.isDate=T,t.isError=O,t.isFunction=S,t.isPrimitive=N,t.isBuffer=n(r);var B=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];t.log=function(){a.log(\"%s - %s\",x(),t.format.apply(t,arguments))},t.inherits=n(o),t._extend=function(e,t){if(!t||!L(t))return e;for(var n=Object.keys(t),r=n.length;r--;)e[n[r]]=t[n[r]];return e}}).call(t,function(){return this}(),n(135),n(38))},function(e,t,n,r,o,i){\"use strict\";function a(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.routes=t.reducers=t.actions=void 0;var s=n(r),u=a(s),l=n(o),c=a(l),d=n(i),f=a(d);t.actions=u.default,t.reducers=c.default,t.routes=f.default},function(e,t,n,r,o){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.reducers=t.actions=void 0;var a=n(r),s=i(a),u=n(o),l=i(u);t.actions=s.default,t.reducers=l.default},function(e,t,n,r,o){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.routes=t.actions=void 0;var a=n(r),s=i(a),u=n(o),l=i(u);t.actions=s.default,t.routes=l.default},function(e,t,n,r){\"use strict\";function o(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.List=void 0;var i=n(r),a=o(i);t.List=a.default},function(e,t,n,r){var o=n(r);e.exports=function(e){if(!o(e))throw TypeError(e+\" is not an object!\");return e}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i);e.exports=function(e){return function(t,n,r){var o,i=a(t),l=s(i.length),c=u(r,l);if(e&&n!=n){for(;l>c;)if(o=i[c++],o!=o)return!0}else for(;l>c;c++)if((e||c in i)&&i[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n,r,o){var i=n(r),a=n(o)(\"toStringTag\"),s=\"Arguments\"==i(function(){return arguments}()),u=function(e,t){try{return e[t]}catch(e){}};e.exports=function(e){var t,n,r;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(n=u(t=Object(e),a))?n:s?i(t):\"Object\"==(r=i(t))&&\"function\"==typeof t.callee?\"Arguments\":r}},function(e,t,n,r,o){\"use strict\";var i=n(r),a=n(o);e.exports=function(e,t,n){t in e?i.f(e,t,a(0,n)):e[t]=n}},function(e,t,n,r){var o=n(r);e.exports=function(e,t,n){if(o(e),void 0===t)return e;switch(n){case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n,r){e.exports=!n(r)(function(){return 7!=Object.defineProperty({},\"a\",{get:function(){return 7}}).a})},function(e,t,n,r,o){var i=n(r),a=n(o).document,s=i(a)&&i(a.createElement);e.exports=function(e){return s?a.createElement(e):{}}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i);e.exports=function(e){var t=a(e),n=s.f;if(n)for(var r,o=n(e),i=u.f,l=0;o.length>l;)i.call(e,r=o[l++])&&t.push(r);return t}},function(e,t,n,r,o,i){var a=n(r),s=n(o);e.exports=n(i)?function(e,t,n){return a.f(e,t,s(1,n))}:function(e,t,n){return e[t]=n,e}},function(e,t,n,r){var o=n(r).document;e.exports=o&&o.documentElement},function(e,t,n,r,o,i){e.exports=!n(r)&&!n(o)(function(){return 7!=Object.defineProperty(n(i)(\"div\"),\"a\",{get:function(){return 7}}).a})},function(e,t,n,r){var o=n(r);e.exports=Object(\"z\").propertyIsEnumerable(0)?Object:function(e){return\"String\"==o(e)?e.split(\"\"):Object(e)}},function(e,t,n,r,o){var i=n(r),a=n(o)(\"iterator\"),s=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||s[a]===e)}},function(e,t,n,r){var o=n(r);e.exports=Array.isArray||function(e){return\"Array\"==o(e)}},function(e,t,n,r){var o=n(r);e.exports=function(e,t,n,r){try{return r?t(o(n)[0],n[1]):t(n)}catch(t){var i=e.return;throw void 0!==i&&o(i.call(e)),t}}},function(e,t,n,r,o,i,a,s){\"use strict\";var u=n(r),l=n(o),c=n(i),d={};n(a)(d,n(s)(\"iterator\"),function(){return this}),e.exports=function(e,t,n){e.prototype=u(d,{next:l(1,n)}),c(e,t+\" Iterator\")}},function(e,t,n,r,o,i,a,s,u,l,c,d){\"use strict\";var f=n(r),p=n(o),h=n(i),m=n(a),g=n(s),_=n(u),b=n(l),y=n(c),v=n(d)(\"iterator\"),M=!([].keys&&\"next\"in[].keys()),A=\"@@iterator\",w=\"keys\",C=\"values\",E=function(){return this};e.exports=function(e,t,n,r,o,i,a){_(n,t,r);var s,u,l,c=function(e){if(!M&&e in O)return O[e];switch(e){case w:return function(){return new n(this,e)};case C:return function(){return new n(this,e)}}return function(){return new n(this,e)}},d=t+\" Iterator\",L=o==C,T=!1,O=e.prototype,S=O[v]||O[A]||o&&O[o],N=S||c(o),k=o?L?c(\"entries\"):N:void 0,D=\"Array\"==t?O.entries||S:S;if(D&&(l=y(D.call(new e)),l!==Object.prototype&&l.next&&(b(l,d,!0),f||\"function\"==typeof l[v]||m(l,v,E))),L&&S&&S.name!==C&&(T=!0,N=function(){return S.call(this)}),f&&!a||!M&&!T&&O[v]||m(O,v,N),g[t]=N,g[d]=E,o)if(s={values:L?N:c(C),keys:i?N:c(w),entries:k},a)for(u in s)u in O||h(O,u,s[u]);else p(p.P+p.F*(M||T),t,s);return s}},function(e,t,n,r){var o=n(r)(\"iterator\"),i=!1;try{var a=[7][o]();a.return=function(){i=!0},Array.from(a,function(){throw 2})}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var r=[7],a=r[o]();a.next=function(){return{done:n=!0}},r[o]=function(){return a},e(r)}catch(e){}return n}},function(e,t,n,r,o,i,a,s){var u=n(r)(\"meta\"),l=n(o),c=n(i),d=n(a).f,f=0,p=Object.isExtensible||function(){return!0},h=!n(s)(function(){return p(Object.preventExtensions({}))}),m=function(e){d(e,u,{value:{i:\"O\"+ ++f,w:{}}})},g=function(e,t){if(!l(e))return\"symbol\"==typeof e?e:(\"string\"==typeof e?\"S\":\"P\")+e;if(!c(e,u)){if(!p(e))return\"F\";if(!t)return\"E\";m(e)}return e[u].i},_=function(e,t){if(!c(e,u)){if(!p(e))return!0;if(!t)return!1;m(e)}return e[u].w},b=function(e){return h&&y.NEED&&p(e)&&!c(e,u)&&m(e),e},y=e.exports={KEY:u,NEED:!1,fastKey:g,getWeak:_,onFreeze:b}},function(e,t,n,r,o,i,a,s,u){\"use strict\";var l=n(r),c=n(o),d=n(i),f=n(a),p=n(s),h=Object.assign;e.exports=!h||n(u)(function(){var e={},t={},n=Symbol(),r=\"abcdefghijklmnopqrst\";return e[n]=7,r.split(\"\").forEach(function(e){t[e]=e}),7!=h({},e)[n]||Object.keys(h({},t)).join(\"\")!=r})?function(e,t){for(var n=f(e),r=arguments.length,o=1,i=c.f,a=d.f;r>o;)for(var s,u=p(arguments[o++]),h=i?l(u).concat(i(u)):l(u),m=h.length,g=0;m>g;)a.call(u,s=h[g++])&&(n[s]=u[s]);return n}:h},function(e,t,n,r,o,i,a,s,u){var l=n(r),c=n(o),d=n(i),f=n(a)(\"IE_PROTO\"),p=function(){},h=\"prototype\",m=function(){var e,t=n(s)(\"iframe\"),r=d.length,o=\"<\",i=\">\";for(t.style.display=\"none\",n(u).appendChild(t),t.src=\"javascript:\",e=t.contentWindow.document,e.open(),e.write(o+\"script\"+i+\"document.F=Object\"+o+\"/script\"+i),e.close(),m=e.F;r--;)delete m[h][d[r]];return m()};e.exports=Object.create||function(e,t){var n;return null!==e?(p[h]=l(e),n=new p,p[h]=null,n[f]=e):n=m(),void 0===t?n:c(n,t)}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=n(i),c=Object.defineProperty;t.f=n(a)?Object.defineProperty:function(e,t,n){if(s(e),t=l(t,!0),s(n),u)try{return c(e,t,n)}catch(e){}if(\"get\"in n||\"set\"in n)throw TypeError(\"Accessors not supported!\");return\"value\"in n&&(e[t]=n.value),e}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=n(i);e.exports=n(a)?Object.defineProperties:function(e,t){u(e);for(var n,r=l(t),o=r.length,i=0;o>i;)s.f(e,n=r[i++],t[n]);return e}},function(e,t,n,r,o,i,a,s,u,l){var c=n(r),d=n(o),f=n(i),p=n(a),h=n(s),m=n(u),g=Object.getOwnPropertyDescriptor;t.f=n(l)?g:function(e,t){if(e=f(e),t=p(t,!0),m)try{return g(e,t)}catch(e){}if(h(e,t))return d(!c.f.call(e,t),e[t])}},function(e,t,n,r,o){var i=n(r),a=n(o).f,s={}.toString,u=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],l=function(e){try{return a(e)}catch(e){return u.slice()}};e.exports.f=function(e){return u&&\"[object Window]\"==s.call(e)?l(e):a(i(e))}},function(e,t,n,r,o){var i=n(r),a=n(o).concat(\"length\",\"prototype\");t.f=Object.getOwnPropertyNames||function(e){return i(e,a)}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i)(\"IE_PROTO\"),l=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=s(e),a(e,u)?e[u]:\"function\"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=n(i)(!1),c=n(a)(\"IE_PROTO\");e.exports=function(e,t){var n,r=u(e),o=0,i=[];for(n in r)n!=c&&s(r,n)&&i.push(n);for(;t.length>o;)s(r,n=t[o++])&&(~l(i,n)||i.push(n));return i}},function(e,t,n,r,o){var i=n(r),a=n(o);e.exports=Object.keys||function(e){return i(e,a)}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=n(i).f;e.exports=function(e){return function(t){for(var n,r=s(t),o=a(r),i=o.length,l=0,c=[];i>l;)u.call(r,n=o[l++])&&c.push(e?[n,r[n]]:r[n]);return c}}},function(e,t,n,r,o,i,a){var s=n(r),u=n(o),l=function(e,t){if(u(e),!s(t)&&null!==t)throw TypeError(t+\": can't set as prototype!\")};e.exports={set:Object.setPrototypeOf||(\"__proto__\"in{}?function(e,t,r){try{r=n(i)(Function.call,n(a).f(Object.prototype,\"__proto__\").set,2),r(e,[]),t=!(e instanceof Array)}catch(e){t=!0}return function(e,n){return l(e,n),t?e.__proto__=n:r(e,n),e}}({},!1):void 0),check:l}},function(e,t,n,r,o,i){var a=n(r).f,s=n(o),u=n(i)(\"toStringTag\");e.exports=function(e,t,n){e&&!s(e=n?e:e.prototype,u)&&a(e,u,{configurable:!0,value:t})}},function(e,t,n,r,o){var i=n(r)(\"keys\"),a=n(o);e.exports=function(e){return i[e]||(i[e]=a(e))}},function(e,t,n,r,o,i){var a=n(r),s=n(o),u=\"__core-js_shared__\",l=s[u]||(s[u]={});(e.exports=function(e,t){return l[e]||(l[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:a.version,mode:n(i)?\"pure\":\"global\",copyright:\"© 2018 Denis Pushkarev (zloirock.ru)\"})},function(e,t,n,r,o){var i=n(r),a=n(o);e.exports=function(e){return function(t,n){var r,o,s=String(a(t)),u=i(n),l=s.length;return u<0||u>=l?e?\"\":void 0:(r=s.charCodeAt(u),r<55296||r>56319||u+1===l||(o=s.charCodeAt(u+1))<56320||o>57343?e?s.charAt(u):r:e?s.slice(u,u+2):(r-55296<<10)+(o-56320)+65536)}}},function(e,t,n,r){var o=n(r),i=Math.max,a=Math.min;e.exports=function(e,t){return e=o(e),e<0?i(e+t,0):a(e,t)}},function(e,t,n,r,o){var i=n(r),a=n(o);e.exports=function(e){return i(a(e))}},function(e,t,n,r){var o=n(r),i=Math.min;e.exports=function(e){return e>0?i(o(e),9007199254740991):0}},function(e,t,n,r){var o=n(r);e.exports=function(e){return Object(o(e))}},function(e,t,n,r){var o=n(r);e.exports=function(e,t){if(!o(e))return e;var n,r;if(t&&\"function\"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;if(\"function\"==typeof(n=e.valueOf)&&!o(r=n.call(e)))return r;if(!t&&\"function\"==typeof(n=e.toString)&&!o(r=n.call(e)))return r;throw TypeError(\"Can't convert object to primitive value\")}},function(e,t,n,r,o,i,a,s){var u=n(r),l=n(o),c=n(i),d=n(a),f=n(s).f;e.exports=function(e){var t=l.Symbol||(l.Symbol=c?{}:u.Symbol||{});\"_\"==e.charAt(0)||e in t||f(t,e,{value:d.f(e)})}},function(e,t,n,r){t.f=n(r)},function(e,t,n,r,o,i){var a=n(r)(\"wks\"),s=n(o),u=n(i).Symbol,l=\"function\"==typeof u,c=e.exports=function(e){return a[e]||(a[e]=l&&u[e]||(l?u:s)(\"Symbol.\"+e))};c.store=a},function(e,t,n,r,o,i,a){var s=n(r),u=n(o)(\"iterator\"),l=n(i);e.exports=n(a).getIteratorMethod=function(e){if(void 0!=e)return e[u]||e[\"@@iterator\"]||l[s(e)]}},function(e,t,n,r,o,i,a,s,u,l,c,d){\"use strict\";var f=n(r),p=n(o),h=n(i),m=n(a),g=n(s),_=n(u),b=n(l),y=n(c);p(p.S+p.F*!n(d)(function(e){Array.from(e)}),\"Array\",{from:function(e){var t,n,r,o,i=h(e),a=\"function\"==typeof this?this:Array,s=arguments.length,u=s>1?arguments[1]:void 0,l=void 0!==u,c=0,d=y(i);if(l&&(u=f(u,s>2?arguments[2]:void 0,2)),void 0==d||a==Array&&g(d))for(t=_(i.length),n=new a(t);t>c;c++)b(n,c,l?u(i[c],c):i[c]);else for(o=d.call(i),n=new a;!(r=o.next()).done;c++)b(n,c,l?m(o,u,[r.value,c],!0):r.value);return n.length=c,n}})},function(e,t,n,r,o,i,a,s){\"use strict\";var u=n(r),l=n(o),c=n(i),d=n(a);e.exports=n(s)(Array,\"Array\",function(e,t){this._t=d(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++;return!e||n>=e.length?(this._t=void 0,l(1)):\"keys\"==t?l(0,n):\"values\"==t?l(0,e[n]):l(0,[n,e[n]])},\"values\"),c.Arguments=c.Array,u(\"keys\"),u(\"values\"),u(\"entries\")},function(e,t,n,r,o){var i=n(r);i(i.S+i.F,\"Object\",{assign:n(o)})},function(e,t,n,r,o){var i=n(r);i(i.S,\"Object\",{create:n(o)})},function(e,t,n,r,o){var i=n(r);i(i.S,\"Object\",{setPrototypeOf:n(o).set})},function(e,t,n,r,o){\"use strict\";var i=n(r)(!0);n(o)(String,\"String\",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i;return n>=t.length?{value:void 0,done:!0}:(e=i(t,n),this._i+=e.length,{value:e,done:!1})})},function(e,t,n,r,o,i,a,s,u,l,c,d,f,p,h,m,g,_,b,y,v,M,A,w,C,E,L,T,O,S,N,k,D){\"use strict\";var x=n(r),I=n(o),z=n(i),j=n(a),P=n(s),B=n(u).KEY,F=n(l),R=n(c),W=n(d),Y=n(f),H=n(p),q=n(h),U=n(m),X=n(g),V=n(_),G=n(b),$=n(y),K=n(v),Q=n(M),Z=n(A),J=n(w),ee=n(C),te=n(E),ne=n(L),re=n(T),oe=te.f,ie=ne.f,ae=ee.f,se=x.Symbol,ue=x.JSON,le=ue&&ue.stringify,ce=\"prototype\",de=H(\"_hidden\"),fe=H(\"toPrimitive\"),pe={}.propertyIsEnumerable,he=R(\"symbol-registry\"),me=R(\"symbols\"),ge=R(\"op-symbols\"),_e=Object[ce],be=\"function\"==typeof se,ye=x.QObject,ve=!ye||!ye[ce]||!ye[ce].findChild,Me=z&&F(function(){return 7!=J(ie({},\"a\",{get:function(){return ie(this,\"a\",{value:7}).a}})).a})?function(e,t,n){var r=oe(_e,t);r&&delete _e[t],ie(e,t,n),r&&e!==_e&&ie(_e,t,r)}:ie,Ae=function(e){var t=me[e]=J(se[ce]);return t._k=e,t},we=be&&\"symbol\"==typeof se.iterator?function(e){return\"symbol\"==typeof e}:function(e){return e instanceof se},Ce=function(e,t,n){return e===_e&&Ce(ge,t,n),G(e),t=Q(t,!0),G(n),I(me,t)?(n.enumerable?(I(e,de)&&e[de][t]&&(e[de][t]=!1),n=J(n,{enumerable:Z(0,!1)})):(I(e,de)||ie(e,de,Z(1,{})),e[de][t]=!0),Me(e,t,n)):ie(e,t,n)},Ee=function(e,t){G(e);for(var n,r=X(t=K(t)),o=0,i=r.length;i>o;)Ce(e,n=r[o++],t[n]);return e},Le=function(e,t){return void 0===t?J(e):Ee(J(e),t)},Te=function(e){var t=pe.call(this,e=Q(e,!0));return!(this===_e&&I(me,e)&&!I(ge,e))&&(!(t||!I(this,e)||!I(me,e)||I(this,de)&&this[de][e])||t)},Oe=function(e,t){if(e=K(e),t=Q(t,!0),e!==_e||!I(me,t)||I(ge,t)){var n=oe(e,t);return!n||!I(me,t)||I(e,de)&&e[de][t]||(n.enumerable=!0),n}},Se=function(e){for(var t,n=ae(K(e)),r=[],o=0;n.length>o;)I(me,t=n[o++])||t==de||t==B||r.push(t);return r},Ne=function(e){for(var t,n=e===_e,r=ae(n?ge:K(e)),o=[],i=0;r.length>i;)!I(me,t=r[i++])||n&&!I(_e,t)||o.push(me[t]);return o};be||(se=function(){if(this instanceof se)throw TypeError(\"Symbol is not a constructor!\");var e=Y(arguments.length>0?arguments[0]:void 0),t=function(n){this===_e&&t.call(ge,n),I(this,de)&&I(this[de],e)&&(this[de][e]=!1),Me(this,e,Z(1,n))};return z&&ve&&Me(_e,e,{configurable:!0,set:t}),Ae(e)},P(se[ce],\"toString\",function(){return this._k}),te.f=Oe,ne.f=Ce,n(O).f=ee.f=Se,n(S).f=Te,n(N).f=Ne,z&&!n(k)&&P(_e,\"propertyIsEnumerable\",Te,!0),q.f=function(e){return Ae(H(e))}),j(j.G+j.W+j.F*!be,{Symbol:se});for(var ke=\"hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables\".split(\",\"),De=0;ke.length>De;)H(ke[De++]);for(var xe=re(H.store),Ie=0;xe.length>Ie;)U(xe[Ie++]);j(j.S+j.F*!be,\"Symbol\",{for:function(e){return I(he,e+=\"\")?he[e]:he[e]=se(e)},keyFor:function(e){if(!we(e))throw TypeError(e+\" is not a symbol!\");for(var t in he)if(he[t]===e)return t},useSetter:function(){ve=!0},useSimple:function(){ve=!1}}),j(j.S+j.F*!be,\"Object\",{create:Le,defineProperty:Ce,defineProperties:Ee,getOwnPropertyDescriptor:Oe,getOwnPropertyNames:Se,getOwnPropertySymbols:Ne}),ue&&j(j.S+j.F*(!be||F(function(){var e=se();return\"[null]\"!=le([e])||\"{}\"!=le({a:e})||\"{}\"!=le(Object(e))})),\"JSON\",{stringify:function(e){for(var t,n,r=[e],o=1;arguments.length>o;)r.push(arguments[o++]);if(n=t=r[1],($(t)||void 0!==e)&&!we(e))return V(t)||(t=function(e,t){if(\"function\"==typeof n&&(t=n.call(this,e,t)),!we(t))return t}),r[1]=t,le.apply(ue,r)}}),se[ce][fe]||n(D)(se[ce],fe,se[ce].valueOf),W(se,\"Symbol\"),W(Math,\"Math\",!0),W(x.JSON,\"JSON\",!0)},function(e,t,n,r,o){var i=n(r),a=n(o)(!0);i(i.S,\"Object\",{entries:function(e){return a(e)}})},function(e,t,n,r,o){var i=n(r),a=n(o)(!1);i(i.S,\"Object\",{values:function(e){return a(e)}})},function(e,t,n,r){n(r)(\"asyncIterator\")},function(e,t,n,r){n(r)(\"observable\")},function(e,t,n,r){e.exports=n(r).default},function(e,t,n,r){\"use strict\";var o=n(r),i=(n(17),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},s=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},u=function(e,t,n,r){var o=this;if(o.instancePool.length){var i=o.instancePool.pop();return o.call(i,e,t,n,r),i}return new o(e,t,n,r)},l=function(e){var t=this;e instanceof t?void 0:o(\"25\"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,d=i,f=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||d,n.poolSize||(n.poolSize=c),n.release=l,n},p={addPoolingTo:f,oneArgumentPooler:i,twoArgumentPooler:a,threeArgumentPooler:s,fourArgumentPooler:u};e.exports=p}]));",
 "e18bbf611f2a2e43afc071aa2f4e1512.ttf": "\x00\x01\x00\x00\x00\x0f\x00\x80\x00\x03\x00pFFTMm*\x97\xdc\x00\x00\x00\xfc\x00\x00\x00\x1cGDEF\x01D\x00\x04\x00\x00\x01\x18\x00\x00\x00 OS/2g\xb9k\x89\x00\x00\x018\x00\x00\x00`cmapڭ\xe3\x81\x00\x00\x01\x98\x00\x00\x06rcvt \x00(\x02\xf8\x00\x00\b\f\x00\x00\x00\x04gasp\xff\xff\x00\x03\x00\x00\b\x10\x00\x00\x00\bglyf}]\xc2o\x00\x00\b\x18\x00\x00\x94\xa4head\x05M/\xd8\x00\x00\x9c\xbc\x00\x00\x006hhea\nD\x04\x11\x00\x00\x9c\xf4\x00\x00\x00$hmtx\xd2\xc7 `\x00\x00\x9d\x18\x00\x00\x03tlocao\xfb\x95\xce\x00\x00\xa0\x8c\x00\x00\x020maxp\x01j\x00\xd8\x00\x00\xa2\xbc\x00\x00\x00 name\xb3,\xa0\x9b\x00\x00\xa2\xdc\x00\x00\x03\xa2post\xba\xa3\xe55\x00\x00\xa6\x80\x00\x00\n\xd1webf\xc3\x18TP\x00\x00\xb1T\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x00\xcc=\xa2\xcf\x00\x00\x00\x00\xd0v\x81u\x00\x00\x00\x00\xd0vs\x97\x00\x01\x00\x00\x00\x0e\x00\x00\x00\x18\x00\x00\x00\x00\x00\x02\x00\x01\x00\x01\x01\x16\x00\x01\x00\x04\x00\x00\x00\x02\x00\x00\x00\x03\x04\x8b\x01\x90\x00\x05\x00\x04\x03\f\x02\xd0\x00\x00\x00Z\x03\f\x02\xd0\x00\x00\x01\xa4\x002\x02\xb8\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00UKWN\x00@\x00 \xff\xff\x03\xc0\xff\x10\x00\x00\x05\x14\x00{\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x01\x00\x00\x00\x05\x00\x00\x00\x03\x00\x00\x00,\x00\x00\x00\n\x00\x00\x01\xdc\x00\x01\x00\x00\x00\x00\x04h\x00\x03\x00\x01\x00\x00\x00,\x00\x03\x00\n\x00\x00\x01\xdc\x00\x04\x01\xb0\x00\x00\x00h\x00@\x00\x05\x00(\x00 \x00+\x00\xa0\x00\xa5 \n / _ \xac \xbd\"\x12#\x1b%\xfc&\x01&\xfa'\t'\x0f\xe0\x03\xe0\t\xe0\x19\xe0)\xe09\xe0I\xe0Y\xe0`\xe0i\xe0y\xe0\x89\xe0\x97\xe1\t\xe1\x19\xe1)\xe19\xe1F\xe1I\xe1Y\xe1i\xe1y\xe1\x89\xe1\x95\xe1\x99\xe2\x06\xe2\t\xe2\x16\xe2\x19\xe2!\xe2'\xe29\xe2I\xe2Y\xe2`\xf8\xff\xff\xff\x00\x00\x00 \x00*\x00\xa0\x00\xa5 \x00 / _ \xac \xbd\"\x12#\x1b%\xfc&\x01&\xfa'\t'\x0f\xe0\x01\xe0\x05\xe0\x10\xe0 \xe00\xe0@\xe0P\xe0`\xe0b\xe0p\xe0\x80\xe0\x90\xe1\x01\xe1\x10\xe1 \xe10\xe1@\xe1H\xe1P\xe1`\xe1p\xe1\x80\xe1\x90\xe1\x97\xe2\x00\xe2\t\xe2\x10\xe2\x18\xe2!\xe2#\xe20\xe2@\xe2P\xe2`\xf8\xff\xff\xff\xff\xe3\xff\xda\xfff\xffb\xe0\b\xdf\xe4ߵ\xdfi\xdfY\xde\x05\xdc\xfd\xda\x1d\xda\x19\xd9!\xd9\x13\xd9\x0e \x1d \x1c \x16 \x10 \n \x04\x1f\xfe\x1f\xf8\x1f\xf7\x1f\xf1\x1f\xeb\x1f\xe5\x1f|\x1fv\x1fp\x1fj\x1fd\x1fc\x1f]\x1fW\x1fQ\x1fK\x1fE\x1fD\x1e\xde\x1e\xdc\x1e\xd6\x1e\xd5\x1e\xce\x1e\xcd\x1e\xc5\x1e\xbf\x1e\xb9\x1e\xb3\b\x15\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\f\x00\x00\x00\x00\x02\x8c\x00\x00\x00\x00\x00\x00\x005\x00\x00\x00 \x00\x00\x00 \x00\x00\x00\x03\x00\x00\x00*\x00\x00\x00+\x00\x00\x00\x04\x00\x00\x00\xa0\x00\x00\x00\xa0\x00\x00\x00\x06\x00\x00\x00\xa5\x00\x00\x00\xa5\x00\x00\x00\a\x00\x00 \x00\x00\x00 \n\x00\x00\x00\b\x00\x00 /\x00\x00 /\x00\x00\x00\x13\x00\x00 _\x00\x00 _\x00\x00\x00\x14\x00\x00 \xac\x00\x00 \xac\x00\x00\x00\x15\x00\x00 \xbd\x00\x00 \xbd\x00\x00\x00\x16\x00\x00\"\x12\x00\x00\"\x12\x00\x00\x00\x17\x00\x00#\x1b\x00\x00#\x1b\x00\x00\x00\x18\x00\x00%\xfc\x00\x00%\xfc\x00\x00\x00\x19\x00\x00&\x01\x00\x00&\x01\x00\x00\x00\x1a\x00\x00&\xfa\x00\x00&\xfa\x00\x00\x00\x1b\x00\x00'\t\x00\x00'\t\x00\x00\x00\x1c\x00\x00'\x0f\x00\x00'\x0f\x00\x00\x00\x1d\x00\x00\xe0\x01\x00\x00\xe0\x03\x00\x00\x00\x1e\x00\x00\xe0\x05\x00\x00\xe0\t\x00\x00\x00!\x00\x00\xe0\x10\x00\x00\xe0\x19\x00\x00\x00&\x00\x00\xe0 \x00\x00\xe0)\x00\x00\x000\x00\x00\xe00\x00\x00\xe09\x00\x00\x00:\x00\x00\xe0@\x00\x00\xe0I\x00\x00\x00D\x00\x00\xe0P\x00\x00\xe0Y\x00\x00\x00N\x00\x00\xe0`\x00\x00\xe0`\x00\x00\x00X\x00\x00\xe0b\x00\x00\xe0i\x00\x00\x00Y\x00\x00\xe0p\x00\x00\xe0y\x00\x00\x00a\x00\x00\xe0\x80\x00\x00\xe0\x89\x00\x00\x00k\x00\x00\xe0\x90\x00\x00\xe0\x97\x00\x00\x00u\x00\x00\xe1\x01\x00\x00\xe1\t\x00\x00\x00}\x00\x00\xe1\x10\x00\x00\xe1\x19\x00\x00\x00\x86\x00\x00\xe1 \x00\x00\xe1)\x00\x00\x00\x90\x00\x00\xe10\x00\x00\xe19\x00\x00\x00\x9a\x00\x00\xe1@\x00\x00\xe1F\x00\x00\x00\xa4\x00\x00\xe1H\x00\x00\xe1I\x00\x00\x00\xab\x00\x00\xe1P\x00\x00\xe1Y\x00\x00\x00\xad\x00\x00\xe1`\x00\x00\xe1i\x00\x00\x00\xb7\x00\x00\xe1p\x00\x00\xe1y\x00\x00\x00\xc1\x00\x00\xe1\x80\x00\x00\xe1\x89\x00\x00\x00\xcb\x00\x00\xe1\x90\x00\x00\xe1\x95\x00\x00\x00\xd5\x00\x00\xe1\x97\x00\x00\xe1\x99\x00\x00\x00\xdb\x00\x00\xe2\x00\x00\x00\xe2\x06\x00\x00\x00\xde\x00\x00\xe2\t\x00\x00\xe2\t\x00\x00\x00\xe5\x00\x00\xe2\x10\x00\x00\xe2\x16\x00\x00\x00\xe6\x00\x00\xe2\x18\x00\x00\xe2\x19\x00\x00\x00\xed\x00\x00\xe2!\x00\x00\xe2!\x00\x00\x00\xef\x00\x00\xe2#\x00\x00\xe2'\x00\x00\x00\xf0\x00\x00\xe20\x00\x00\xe29\x00\x00\x00\xf5\x00\x00\xe2@\x00\x00\xe2I\x00\x00\x00\xff\x00\x00\xe2P\x00\x00\xe2Y\x00\x00\x01\t\x00\x00\xe2`\x00\x00\xe2`\x00\x00\x01\x13\x00\x00\xf8\xff\x00\x00\xf8\xff\x00\x00\x01\x14\x00\x01\xf5\x11\x00\x01\xf5\x11\x00\x00\x01\x15\x00\x01\xf6\xaa\x00\x01\xf6\xaa\x00\x00\x01\x16\x00\x06\x02\n\x00\x00\x00\x00\x01\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x02\xf8\x00\x00\x00\x01\xff\xff\x00\x02\x00\x02\x00(\x00\x00\x01h\x03 \x00\x03\x00\a\x00.\xb1\x01\x00/<\xb2\a\x04\x00\xed2\xb1\x06\x05\xdc<\xb2\x03\x02\x00\xed2\x00\xb1\x03\x00/<\xb2\x05\x04\x00\xed2\xb2\a\x06\x01\xfc<\xb2\x01\x02\x00\xed23\x11!\x11%3\x11#(\x01@\xfe\xe8\xf0\xf0\x03 \xfc\xe0(\x02\xd0\x00\x01\x00d\x00d\x04L\x04L\x00[\x00\x00\x012\x16\x1f\x01\x1e\x01\x1d\x017>\x01\x1f\x01\x16\x06\x0f\x0132\x16\x17\x16\x15\x14\x06\x0f\x01\x0e\x01+\x01\x17\x1e\x01\x0f\x01\x06&/\x01\x15\x14\x06\a\x06#\"&/\x01.\x01=\x01\a\x0e\x01/\x01&6?\x01#\"&'&546?\x01>\x01;\x01'.\x01?\x016\x16\x1f\x0154676\x02X\x0f&\v\v\n\x0f\x9e\a\x16\bj\a\x02\a\x9e\xe0\n\x11\x02\x06\x03\x02\x01\x02\x11\n\xe0\x9e\a\x02\aj\b\x16\a\x9e\x0f\n)\"\x0f&\v\v\n\x0f\x9e\a\x16\bj\a\x02\a\x9e\xe0\n\x11\x02\x06\x03\x02\x01\x02\x11\n\xe0\x9e\a\x02\aj\b\x16\a\x9e\x0f\n)\x04L\x03\x02\x01\x02\x11\n\xe0\x9e\a\x02\aj\b\x16\a\x9e\x0f\n)\"\x0f&\v\v\n\x0f\x9e\a\x16\bj\a\x02\a\x9e\xe0\n\x11\x02\x06\x03\x02\x01\x02\x11\n\xe0\x9e\a\x02\aj\b\x16\a\x9e\x0f\n)\"\x0f&\v\v\n\x0f\x9e\a\x16\bj\a\x02\a\x9e\xe0\n\x11\x02\x06\x00\x00\x00\x00\x01\x00\x00\x00\x00\x04L\x04L\x00#\x00\x00\x0132\x16\x15\x11!2\x16\x1d\x01\x14\x06#!\x11\x14\x06+\x01\"&5\x11!\"&=\x01463!\x1146\x01\xc2\xc8\x15\x1d\x01^\x15\x1d\x1d\x15\xfe\xa2\x1d\x15\xc8\x15\x1d\xfe\xa2\x15\x1d\x1d\x15\x01^\x1d\x04L\x1d\x15\xfe\xa2\x1d\x15\xc8\x15\x1d\xfe\xa2\x15\x1d\x1d\x15\x01^\x1d\x15\xc8\x15\x1d\x01^\x15\x1d\x00\x00\x00\x00\x01\x00p\x00\x00\x04@\x04L\x00E\x00\x00\x0132\x16\a\x01\x06\a!2\x16\x0f\x01\x0e\x01+\x01\x15!2\x16\x0f\x01\x0e\x01+\x01\x15\x14\x06+\x01\"&=\x01!\"&?\x01>\x01;\x015!\"&?\x01>\x01;\x01&'\x01&6;\x012\x1f\x01\x162?\x016\x039\xfa\n\x05\b\xfe\x94\x06\x05\x01\f\n\x06\x06x\x06\x18\n}\x01\x13\n\x06\x06x\x06\x18\n}\x0f\v\x94\v\x0f\xfe\xed\n\x06\x06x\x06\x18\n}\xfe\xed\n\x06\x06x\x06\x18\nv\x05\x06\xfe\x94\b\x05\n\xfa\x19\x12\xa4\b\x14\b\xa4\x12\x04L\n\b\xfe\x94\x06\f\f\b\xa0\b\fd\f\b\xa0\b\f\xae\v\x0f\x0f\v\xae\f\b\xa0\b\fd\f\b\xa0\b\f\f\x06\x01l\b\n\x12\xa4\b\b\xa4\x12\x00\x00\x01\x00d\x00\x05\x04\x8c\x04\xae\x00;\x00\x00\x012\x17\x16\x17#4.\x03#\"\x0e\x03\a!\a!\x06\x15!\a!\x1e\x0432>\x0353\x06\a\x06#\"'.\x01'#7367#73>\x0176\x02\xe8\xf2p<\x06\xb5#4@9\x17\x13+820\x0f\x01{d\xfe\xd4\x06\x01\x96d\xfe\xd4\t09B4\x15\x169@4#\xae\x1ebk\xa7\xcev$B\f\xd9dp\x01\x05\xdad\x86\x14>\x1fu\x04\xae\xbdhi-K0!\x0f\v\x1e.O2d22dJtB+\x0f\x0f\"0J+\xabku\x9e0\xaawd/5dW\x85%\x8d\x00\x00\x02\x00{\x00\x00\x04L\x04\xb0\x00>\x00G\x00\x00\x01!2\x1e\x05\x15\x1c\x01\x15\x14\x0e\x05+\x01\a!2\x16\x0f\x01\x0e\x01+\x01\x15\x14\x06+\x01\"&=\x01!\"&?\x01>\x01;\x015!\"&?\x01>\x01;\x01\x1146\x17\x1132654&#\x01\xac\x01^CjB0\x16\f\x01\x01\f\x160BjC\xb2\x02\x01 \n\x06\x06x\x06\x18\n\x8a\v\n\x95\n\x0f\xfe\xf5\n\x06\x06x\x06\x18\nu\xfe\xf5\n\x06\x06x\x06\x18\nu\x0f\xb6\xcb@--@\x04\xb0\x1a$?2O*$\v\v\v$*P2@%\x1ad\f\b\xa0\b\f\xaf\v\x0e\x0f\n\xaf\f\b\xa0\b\fd\f\b\xa0\b\f\x01\xdb\n\x0f\xc8\xfe\xd4BVT@\x00\x00\x01\x00\xc8\x01\x90\x04L\x02\xbc\x00\x0f\x00\x00\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\xfa\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\x02\xbc\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x00\x00\x00\x02\x00\xc8\x00\x00\x03\xe8\x04\xb0\x00%\x00A\x00\x00\x01\x15\x14\x06+\x01\x15\x14\x06\a\x1e\x01\x1d\x0132\x16\x1d\x01!546;\x015467.\x01=\x01#\"&=\x01\x17\x15\x14\x16\x17\x1e\x01\x14\x06\a\x0e\x01\x1d\x01!54&'.\x01467>\x01=\x01\x03\xe8\x1d\x152cQQc2\x15\x1d\xfc\xe0\x1d\x152cQQc2\x15\x1d\xc8A7\x1c  \x1c7A\x01\x90A7\x1c  \x1c7A\x04\xb0\x96\x15\x1dd[\x95##\x95[\x96\x1d\x15\x96\x96\x15\x1d\x96[\x95##\x95[d\x1d\x15\x96\xc8d<c\x18\f2<2\f\x18c<\x96\x96<c\x18\f2<2\f\x18c<d\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x001\x00\x00\x01\xff\xf2\x01,\x04\xc2\x04A\x00\x16\x00\x00\x012\x16\x17632\x16\x15\x14\x06#!\"&5467&546\x01\xf7n\xb5,,.x\xaa\xaax\xfd\x12OqUB\x02\xd8\x04Awa\x0e\xadxy\xadrPEk\x0e\f\x19\x99\xd7\x00\x00\x00\x02\x00\x00\x00d\x04\xb0\x04\xaf\x00\x1a\x00\x1e\x00\x00\x00\x1e\x01\x0f\x01\x0132\x16\x1d\x01!546;\x01\x01'&>\x01\x16\x1f\x0176\x03!'\x03\x02\xf6 \t\n\x88\x01\xd3\x1e\x14\x1e\xfbP\x1e\x14\x1e\x01ԇ\n\t $\nop\tz\x01y\xb6\xc3\x04\xb3\x13#\x10\xbb\xfd\x16%\x15**\x15%\x02\xea\xb7\x10$\x14\t\x10\x94\x96\x10\xfc\x1ep\x02\x16\x00\x00\x00\x00\x04\x00\x00\x00d\x04\xb0\x04L\x00\v\x00\x17\x00#\x007\x00\x00\x13!2\x16\a\x01\x06\"'\x01&6\x17\x01\x16\x14\a\x01\x06&5\x1146\t\x016\x16\x15\x11\x14\x06'\x01&4\a\x01\x16\x06#!\"&7\x0162\x1f\x01\x162?\x0162\x19\x04~\n\x05\b\xfd\xcc\b\x14\b\xfd\xcc\b\x05\x03\x01\b\b\b\xfe\xf8\b\n\n\x03\x8c\x01\b\b\n\n\b\xfe\xf8\b\\\x01l\b\x05\n\xfb\x82\n\x05\b\x01l\b\x14\b\xa4\b\x14\b\xa4\b\x14\x04L\n\b\xfd\xc9\b\b\x027\b\n\xda\xfe\xf8\b\x14\b\xfe\xf8\b\x05\n\x02&\n\x05\xfe\xf0\x01\b\b\x05\n\xfd\xda\n\x05\b\x01\b\b\x14\x80\xfe\x94\b\n\n\b\x01l\b\b\xa4\b\b\xa4\b\x00\x00\x00\x03\xff\xf0\xff\xf0\x04\xba\x04\xba\x00\t\x00\r\x00\x10\x00\x00\x002\x1f\x01\x16\x14\x0f\x01'7\x13\x01'\t\x01\x05\x13\x03\xe0&\x0e\x99\r\rc\xd6_\"\xfd\x99\xd6\x02f\xfe\x1f\xfe\xb3n\x04\xba\r\x99\x0e&\x0e\\\xd6`\xfet\xfd\x9a\xd6\x02f\xfcjp\x01O\x00\x00\x00\x01\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x0f\x00\x00\x01\x1132\x16\x1d\x01!546;\x01\x11\x01!\x02\xbc\xfa\x15\x1d\xfc\xe0\x1d\x15\xfa\xfe\f\x04\xb0\x02\x8a\xfd\xda\x1d\x1522\x15\x1d\x02&\x02&\x00\x00\x00\x01\x00\x0e\x00\b\x04L\x04\x9c\x00\x1f\x00\x00\x01%6\x16\x15\x11\x14\x06\a\x06.\x01676\x17\x11\x05\x11\x14\x06\a\x06.\x01676\x17\x1146\x01p\x02\x85'0SFO\x88$WOHB\xfd\xa8XAO\x88$WOHB\x1d\x03\xf9\xa3\x0f\x1e\"\xfc\xc17Q\x17\x19)mr\x19\x18\x10\x02\t\x9b\xfd\xa2*`\x15\x1a)nq\x1a\x18\x11\x02\u007f&*\x00\x00\x00\x02\x00\t\xff\xf8\x04\xbb\x04\xa7\x00\x1d\x00)\x00\x00\x002\x1e\x02\x15\a\x17\x14\a\x01\x16\x06\x0f\x01\x06\"'\x01\x06#'\a\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x01\x90ȶ\x83N\x01\x01N\x01\x13\x17\x01\x16;\x1a)\x13\xfe\xedw\x8e\x05\x02d\xb6\x83NN\x83\x01r\xb0\x94VV\x94\xb0\x94VV\x04\xa7N\x83\xb6d\x02\x05\x8dy\xfe\xee\x1a%\x18:\x14\x14\x01\x12M\x01\x01N\x83\xb6ȶ\x83[V\x94\xb0\x94VV\x94\xb0\x94\x00\x01\x00d\x00X\x04\xaf\x04D\x00\x19\x00\x00\x01>\x02\x1e\x02\x15\x14\x0e\x03\a.\x0454>\x02\x1e\x01\x02\x890{xuX6Cy\x84\xa8>>\xa7\x85xC8Zvxy\x03\xb5DH\x05-Sv@9y\x80\u007f\xb2UU\xb2\u007f\x80y9@vS-\x05H\x00\x00\x00\x01\xff\xd3\x00^\x04{\x04\x94\x00\x18\x00\x00\x01\x1362\x17\x13!2\x16\a\x05\x13\x16\x06'%\x05\x06&7\x13%&63\x01\x97\x83\a\x15\a\x81\x01\xa5\x15\x06\x11\xfe\xaa\x82\a\x0f\x11\xfe\xa9\xfe\xaa\x11\x0f\a\x82\xfe\xa5\x11\x06\x14\x03 \x01a\x13\x13\xfe\x9f\x11\f\xf9\xfeo\x14\v\f\xf6\xf7\f\v\x14\x01\x90\xfb\f\x11\x00\x02\xff\xd3\x00^\x04{\x04\x94\x00\x18\x00\"\x00\x00\x01\x1362\x17\x13!2\x16\a\x05\x13\x16\x06'%\x05\x06&7\x13%&63\x05#\x17\a7\x17'7#'\x01\x97\x83\a\x15\a\x81\x01\xa5\x15\x06\x11\xfe\xaa\x82\a\x0f\x11\xfe\xa9\xfe\xaa\x11\x0f\a\x82\xfe\xa5\x11\x06\x14\x01\xf3\xf0\xc5J\xc1\xc3J\xc0\xeaN\x03 \x01a\x13\x13\xfe\x9f\x11\f\xf9\xfeo\x14\v\f\xf6\xf7\f\v\x14\x01\x90\xfb\f\x11d\x8e⋌\xe5\x8c\xd3\x00\x00\x01\x00\x00\x00\x00\x04\xb0\x04\xb0\x00&\x00\x00\x012\x16\x1d\x01\x14\x06#\x15\x14\x16\x17\x05\x1e\x01\x1d\x01\x14\x06#!\"&=\x01467%>\x01=\x01\"&=\x0146\x02X|\xb0>&\f\t\x01f\t\f\x0f\n\xfb\x82\n\x0f\f\t\x01f\t\f&>\xb0\x04\xb0\xb0|\xfa.hK\n\x17\x06\xe6\x05\x17\n]\n\x0f\x0f\n]\n\x17\x05\xe6\x06\x17\nKh.\xfa|\xb0\x00\x00\x00\r\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00#\x00'\x00+\x00/\x003\x007\x00G\x00K\x00O\x00S\x00W\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x1535)\x01\"\x06\x15\x11\x14\x163!265\x114&3\x1535\x05\x1535!\x1535\x05\x1535!\x1535\a!\"\x06\x15\x11\x14\x163!265\x114&\x05\x1535!\x1535\x05\x1535!\x1535\x19\x04~\n\x0f\x0f\n\xfb\x82\n\x0f\x0fUd\x02\xa3\xfd\xda\n\x0f\x0f\n\x02&\n\x0f\x0fsd\xfc\x18d\x03 d\xfc\x18d\x03 d\xe1\xfd\xda\n\x0f\x0f\n\x02&\n\x0f\x0f\xfc\xefd\x03 d\xfc\x18d\x03 d\x04L\x0f\n\xfb\xe6\n\x0f\x0f\n\x04\x1a\n\x0fddd\x0f\n\xfe\xa2\n\x0f\x0f\n\x01^\n\x0fdd\xc8dddd\xc8ddddd\x0f\n\xfe\xa2\n\x0f\x0f\n\x01^\n\x0fddddd\xc8dddd\x00\x00\x04\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00/\x00?\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146)\x012\x16\x15\x11\x14\x06#!\"&5\x1146\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146)\x012\x16\x15\x11\x14\x06#!\"&5\x11462\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x02m\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\xfd\xbd\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x02m\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x04L\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\xfd\xa8\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\x00\x00\t\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00/\x00?\x00O\x00_\x00o\x00\u007f\x00\x8f\x00\x00\x1332\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x01462\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\xfc\xf5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\xfc\xf5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x04L\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\xfep\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\xfep\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x00\x06\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x1f\x00/\x00?\x00O\x00_\x00\x00\x1332\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x01462\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\x02\xbc\x15\x1d\x1d\x15\xfdD\x15\x1d\x1d\xfe\x85\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\x02\xbc\x15\x1d\x1d\x15\xfdD\x15\x1d\x1d\xfe\x85\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\x02\xbc\x15\x1d\x1d\x15\xfdD\x15\x1d\x1d\x04L\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\xfep\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\xfep\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x00\x00\x00\x00\x01\x00&\x00,\x04\xe8\x04 \x00\x17\x00\x00\t\x0162\x1f\x01\x16\x14\a\x01\x06\"'\x01&4?\x0162\x1f\x01\x162\x01\xd1\x02;\b\x14\a\xb1\b\b\xfc\xf1\a\x15\a\xfe\x80\b\b\xb1\a\x14\b\xab\a\x16\x01\xdd\x02;\b\b\xb1\a\x14\b\xfc\xf0\b\b\x01\x80\b\x14\a\xb1\b\b\xab\a\x00\x01\x00n\x00n\x04B\x04B\x00#\x00\x00\x01\x17\x16\x14\a\t\x01\x16\x14\x0f\x01\x06\"'\t\x01\x06\"/\x01&47\t\x01&4?\x0162\x17\t\x0162\x03\x88\xb2\b\b\xfe\xf5\x01\v\b\b\xb2\b\x15\a\xfe\xf4\xfe\xf4\a\x15\b\xb2\b\b\x01\v\xfe\xf5\b\b\xb2\b\x15\a\x01\f\x01\f\a\x15\x04;\xb3\b\x15\a\xfe\xf4\xfe\xf4\a\x15\b\xb2\b\b\x01\v\xfe\xf5\b\b\xb2\b\x15\a\x01\f\x01\f\a\x15\b\xb2\b\b\xfe\xf5\x01\f\a\x00\x03\x00\x17\xff\xeb\x04\xc5\x04\x99\x00\x19\x00%\x00I\x00\x00\x002\x1e\x02\x15\x14\a\x01\x16\x14\x0f\x01\x06\"'\x01\x06#\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x0532\x16\x1d\x0132\x16\x1d\x01\x14\x06+\x01\x15\x14\x06+\x01\"&=\x01#\"&=\x0146;\x01546\x01\x99ij\x82MN\x01,\b\bm\a\x15\b\xfe\xd4w\x8eb\xb4\x81MM\x81\x01o\xb3\x98XX\x98\xb3\x99XX\xfe\xbc\x96\n\x0fK\n\x0f\x0f\nK\x0f\n\x96\n\x0fK\n\x0f\x0f\nK\x0f\x04\x99M\x82\xb3b\x8dy\xfe\xd5\b\x15\bl\b\b\x01+MM\x81\xb4ij\x82MX\x99\xb3\x98XX\x98\xb3\x99#\x0f\nK\x0f\n\x96\n\x0fK\n\x0f\x0f\nK\x0f\n\x96\n\x0fK\n\x0f\x00\x00\x03\x00\x17\xff\xeb\x04\xc5\x04\x99\x00\x19\x00%\x005\x00\x00\x002\x1e\x02\x15\x14\a\x01\x16\x14\x0f\x01\x06\"'\x01\x06#\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x05!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x01\x99ij\x82MN\x01,\b\bm\a\x15\b\xfe\xd4w\x8eb\xb4\x81MM\x81\x01o\xb3\x98XX\x98\xb3\x99XX\xfeX\x01^\n\x0f\x0f\n\xfe\xa2\n\x0f\x0f\x04\x99M\x82\xb3b\x8dy\xfe\xd5\b\x15\bl\b\b\x01+MM\x81\xb4ij\x82MX\x99\xb3\x98XX\x98\xb3\x99\x87\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x00\x00\x00\x00\x02\x00\x17\x00\x17\x04\x99\x04\xb0\x00\x0f\x00-\x00\x00\x0132\x16\x15\x11\x14\x06+\x01\"&5\x1146\x055\x16\x12\x15\x14\x0e\x02\".\x0254\x127\x15\x0e\x01\x15\x14\x1e\x012>\x0154&\x02&d\x15\x1d\x1d\x15d\x15\x1d\x1d\x01\x0f\xa7\xd2[\x9b\xd6\xea֛[ҧg|r\xc5\xe8\xc5r|\x04\xb0\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\xe1\xa6>\xfeٸu֛[[\x9b\xd6u\xb8\x01'>\xa67\xc8xt\xc5rr\xc5tx\xc8\x00\x04\x00d\x00\x00\x04\xb0\x04\xb0\x00\x0f\x00\x1f\x00/\x00?\x00\x00\x0132\x16\x15\x11\x14\x06+\x01\"&5\x1146\x0132\x16\x15\x11\x14\x06+\x01\"&5\x1146\x0132\x16\x15\x11\x14\x06+\x01\"&5\x1146\x0532\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x04\x01\x96\n\x0f\x0f\n\x96\n\x0f\x0f\xfeޖ\n\x0f\x0f\n\x96\n\x0f\x0f\xfeޖ\n\x0f\x0f\n\x96\n\x0f\x0f\xfeޖ\n\x0f\x0f\n\x96\n\x0f\x0f\x04\xb0\x0f\n\xfb\x82\n\x0f\x0f\n\x04~\n\x0f\xfep\x0f\n\xfd\x12\n\x0f\x0f\n\x02\xee\n\x0f\xfe\xd4\x0f\n\xfe>\n\x0f\x0f\n\x01\xc2\n\x0f\xc8\x0f\n\xfa\n\x0f\x0f\n\xfa\n\x0f\x00\x00\x00\x00\x02\x00\x1a\x00\x1b\x04\x96\x04\x96\x00G\x00O\x00\x00\x012\x1f\x02\x16\x1f\x017\x16\x17\a\x17\x16\x1f\x02\x16\x15\x14\x0f\x02\x06\x0f\x01\x17\x06\a'\a\x06\x0f\x02\x06#\"/\x02&/\x01\a&'7'&/\x02&54?\x026?\x01'67\x1776?\x026\x12\"\x06\x14\x16264\x02X!)&\x051-\x05\x86=+P\x03\x19\x0e\x01\x98\x05\x05\x98\x01\x0f\x18\x03P08\x86\x05,2\x05&+\x1f!)&\x051-\x05\x86<,P\x03\x19\r\x02\x97\x06\x06\x97\x02\r\x19\x03P/:\x85\x05-1\x05&+x\xb2~~\xb2~\x04\x96\x05\x98\x01\x0e\x19\x02P09\x86\x05,1\x06&+\x1e\"(&\x061,\x05\x86=,Q\x03\x19\x0e\x02\x97\x05\x05\x97\x02\x0e\x19\x03Q09\x86\x05-0\x06&* !(&\x060-\x05\x86=,P\x02\x19\x0e\x01\x98\x05\xfe\x99~\xb1~~\xb1\x00\a\x00d\x00\x00\x04\xb0\x05\x14\x00\x13\x00\x17\x00!\x00%\x00)\x00-\x001\x00\x00\x01!2\x16\x1d\x01!2\x16\x1d\x01!5463!546\x17\x15!5\x01\x11\x14\x06#!\"&5\x11\x17\x113\x113\x113\x113\x113\x113\x113\x11\x01\xf4\x01,);\x01\x13\n\x0f\xfb\xb4\x0f\n\x01\x13;)\x01,\x01,;)\xfdD);dddddddd\x05\x14;)d\x0f\nKK\n\x0fd);ddd\xfe\xd4\xfc\xe0);;)\x03 d\xfdD\x02\xbc\xfdD\x02\xbc\xfdD\x02\xbc\xfdD\x02\xbc\x00\x01\x00\f\x00\x00\x05\b\x04\xd1\x00\x1f\x00\x00\x13\x0162\x17\x01\x16\x06+\x01\x11\x14\x06+\x01\"&5\x11!\x11\x14\x06+\x01\"&5\x11#\"&\x12\x02l\b\x15\a\x02`\b\x05\n\xaf\x0f\n\xfa\n\x0f\xfe\xd4\x0f\n\xfa\n\x0f\xaf\n\x05\x02j\x02`\a\a\xfd\xa0\b\n\xfd\xc1\n\x0f\x0f\n\x01w\xfe\x89\n\x0f\x0f\n\x02?\n\x00\x02\x00d\x00\x00\x03\xe8\x04\xb0\x00\x11\x00\x17\x00\x00\x01\x11\x14\x163!\x11\x14\x06#!\"&5\x11463\x01#\"&=\x01\x02X;)\x01,\x1d\x15\xfc\xe0\x15\x1d\x1d\x15\x03R\xfa\x15\x1d\x04\xb0\xfep);\xfdv\x15\x1d\x1d\x15\x04L\x15\x1d\xfep\x1d\x15\xfa\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1b\x000\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x0532\x16\x15\x1132\x16\x1d\x01\x14\x06+\x01\"&5\x1146\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xbf\xe8\xc5rr\xc5\xe8\xc5rr\xfe|2\n\x0f\xaf\n\x0f\x0f\n\xfa\n\x0f\x0f\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5\xe8\xc5rr\xc5\xe8\xc5\r\x0f\n\xfe\xed\x0f\n2\n\x0f\x0f\n\x01^\n\x0f\x00\x00\x00\x00\x02\xff\x9c\x00\x00\x05\x14\x04\xb0\x00\v\x00\x0f\x00\x00)\x01\x03#\x03!\x013\x033\x033\x01\x033\x03\x05\x14\xfd\xe6)\xf2)\xfd\xe6\x01\xaf\xd1\x15\xa2\x14\xd0\xfe\x9e\x1b\xe0\x1b\x01\x90\xfep\x04\xb0\xfe\xd4\x01,\xfep\xfe\xd4\x01,\x00\x00\x00\x00\x02\x00d\x00\x00\x04\xb0\x04\xb0\x00\x15\x00/\x00\x00\x0132\x16\x15\x1132\x16\a\x01\x06\"'\x01&6;\x01\x1146\x0132\x16\x15\x11\x14\x06#!\"&5\x1146;\x012\x16\x1d\x01!546\x02&\xc8\x15\x1d\xbf\x14\v\r\xfe\xb9\r&\r\xfe\xb9\r\v\x14\xbf\x1d\x02T2\n\x0f\x0f\n\xfb\xe6\n\x0f\x0f\n2\n\x0f\x03\x84\x0f\x04\xb0\x1d\x15\xfe>\x17\x10\xfep\x10\x10\x01\x90\x10\x17\x01\xc2\x15\x1d\xfc\xe0\x0f\n\xfe\xa2\n\x0f\x0f\n\x01^\n\x0f\x0f\n\xaf\xaf\n\x0f\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1b\x001\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x0532\x16\x15\x1132\x16\a\x03\x06\"'\x03&6;\x01\x1146\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xbf\xe8\xc5rr\xc5\xe8\xc5rr\xfe|\x96\n\x0f\x89\x15\n\r\xdf\r&\r\xdf\r\n\x15\x89\x0f\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5\xe8\xc5rr\xc5\xe8\xc5\r\x0f\n\xfe\xed\x17\x10\xfe\xed\x10\x10\x01\x13\x10\x17\x01\x13\n\x0f\x00\x00\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1b\x001\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&%\x13\x16\x06+\x01\x11\x14\x06+\x01\"&5\x11#\"&7\x1362\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xbf\xe8\xc5rr\xc5\xe8\xc5rr\xfe\xe7\xdf\r\n\x15\x89\x0f\n\x96\n\x0f\x89\x15\n\r\xdf\r&\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5\xe8\xc5rr\xc5\xe8\xc5\x01\xfe\xed\x10\x17\xfe\xed\n\x0f\x0f\n\x01\x13\x17\x10\x01\x13\x10\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x19\x009\x00\x00\x13!2\x16\x17\x13\x16\x15\x11\x14\x06\a\x06#!\"&'&5\x1347\x13>\x01\x05!\"\x06\a\x03\x06\x16;\x012\x16\x1f\x01\x1e\x01;\x0126?\x01>\x01;\x0126'\x03.\x01\xe1\x02\xee\n\x13\x03\xba\a\b\x05\f\x19\xfb\xb4\f\x1e\x02\x06\x01\a\xb9\x03\x13\x02\x97\xfd\xd4\n\x12\x02W\x02\f\n\x96\n\x13\x02&\x02\x13\n\xfa\n\x13\x02&\x02\x13\n\x96\n\f\x02W\x02\x12\x04\xb0\x0e\n\xfdt\x18\x19\xfeW\f\x1e\x02\x06\b\x04\r\x19\x01\xa9\x19\x18\x02\x8c\n\x0e\xc8\x0e\v\xfe>\v\x0e\x0e\n\x98\n\x0e\x0e\n\x98\n\x0e\x0e\v\x01\xc2\v\x0e\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1b\x00'\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x05\x17\x16\x14\x0f\x01\x06&5\x1146\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xbf\xe8\xc5rr\xc5\xe8\xc5rr\xfe\x8b\xfd\x11\x11\xfd\x10\x18\x18\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5\xe8\xc5rr\xc5\xe8\xc5]\xbe\f$\f\xbe\f\v\x15\x01\x90\x15\v\x00\x01\x00\x17\x00\x17\x04\x99\x04\xb0\x00(\x00\x00\x0176\x16\x15\x11\x14\x06#!\"&?\x01&#\"\x0e\x01\x14\x1e\x012>\x0153\x14\x0e\x02\".\x024>\x0232\x03\xb3\x87\a\v\x0f\n\xfe\x96\v\x04\a\x85m\x81t\xc5rr\xc5\xe8\xc5r\x96[\x9b\xd6\xea֛[[\x9b\xd6u\xc0\x04$\x87\a\x04\v\xfe\x96\n\x0f\v\a\x85Lr\xc5\xe8\xc5rr\xc5tu֛[[\x9b\xd6\xea֛[\x00\x00\x00\x00\x02\x00\x17\x00\x01\x04\x99\x04\xb0\x00\x1a\x005\x00\x00\x0176\x16\x15\x11\x14\x06#!\"&?\x01&#\"\x0e\x01\x15#4>\x0232\x133\x14\x0e\x02#\"'\a\x06&5\x11463!2\x16\x0f\x01\x1632>\x01\x03\xb3\x87\a\v\x0f\v\xfe\x97\v\x04\a\x86n\x81t\xc5r\x96[\x9b\xd6u\xc0\xeb\x96[\x9b\xd6u\xc0\x9c\x86\a\v\x0f\v\x01h\n\x05\b\x85n\x82t\xc5r\x04$\x87\a\x04\v\xfe\x97\v\x0f\v\a\x86Kr\xc5tu֛[\xfd\xbfu֛[v\x86\b\x05\n\x01h\v\x0f\v\a\x85Lr\xc5\x00\x00\x00\n\x00d\x00\x00\x04\xb0\x04\xb0\x00\x0f\x00\x1f\x00/\x00?\x00O\x00_\x00o\x00\u007f\x00\x8f\x00\x9f\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05!\"\x06\x15\x11\x14\x163!265\x114&\x0532\x16\x1d\x01\x14\x06+\x01\"&=\x01463!2\x16\x1d\x01\x14\x06#!\"&=\x0146\a32\x16\x1d\x01\x14\x06+\x01\"&=\x01463!2\x16\x1d\x01\x14\x06#!\"&=\x0146\a32\x16\x1d\x01\x14\x06+\x01\"&=\x01463!2\x16\x1d\x01\x14\x06#!\"&=\x0146\a32\x16\x1d\x01\x14\x06+\x01\"&=\x01463!2\x16\x1d\x01\x14\x06#!\"&=\x0146}\x04\x1a\n\x0f\x0f\n\xfb\xe6\n\x0f\x0f\x03\xc0\xfc\xae\n\x0f\x0f\n\x03R\n\x0f\x0f\xfd\b2\n\x0f\x0f\n2\n\x0f\x0f\xd2\x01\xc2\n\x0f\x0f\n\xfe>\n\x0f\x0f\xbe2\n\x0f\x0f\n2\n\x0f\x0f\xd2\x01\xc2\n\x0f\x0f\n\xfe>\n\x0f\x0f\xbe2\n\x0f\x0f\n2\n\x0f\x0f\xd2\x01\xc2\n\x0f\x0f\n\xfe>\n\x0f\x0f\xbe2\n\x0f\x0f\n2\n\x0f\x0f\xd2\x01\xc2\n\x0f\x0f\n\xfe>\n\x0f\x0f\x04\xb0\x0f\n\xfb\x82\n\x0f\x0f\n\x04~\n\x0f\xc8\x0f\n\xfc\xae\n\x0f\x0f\n\x03R\n\x0fd\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\xc8\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\xc8\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\xc8\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\x0f\n2\n\x0f\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04L\x04\xb0\x00\x19\x00#\x00\x00\x0154&#!\"\x06\x1d\x01#\"\x06\x15\x11\x14\x163!265\x114&#!546;\x012\x16\x1d\x01\x03\x84uS\xfe\xd4Rvd);;)\x03\x84);;)\xfd\xa8\x1e\x14\xc8\x14\x1e\x03 \xc8SuvR\xc8;)\xfd\xa8);;)\x02X);\x96\x15\x1d\x1d\x15\x96\x00\x02\x00d\x00\x00\x04L\x04L\x00\t\x007\x00\x00\x1332\x16\x15\x11#\x1146\x052\x17\x16\x15\x11\x14\a\x0e\x03#\".\x01'.\x02#\"\a\x06#\"'&5\x11>\x0176\x1e\x03\x17\x1e\x023276}2\n\x0fd\x0f\x03\xc0\x04\x05\x10\x03!C@1\x1c\x1a?*'),G\x1eUK\a\b\x06\x05\x0e\x16x;\x17(.\x139\x04)-E\x1dgP\a\x04L\x0f\n\xfb\xcd\x043\n\x0f0\x02\x06\x11\xfe[\x06\x06;P$\r\r\x0e\x0e\x0f\x0f\x0f9\x05\x03\a\x0f\x01\xb67W\x03\x02\x03\v\x06\x14\x01\x0e\x0e\x0eW\b\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x04\x97\x00!\x001\x00A\x00\x00\x002\x1e\x02\x15\x11\x14\x06+\x01\"&5\x114.\x01 \x0e\x01\x15\x11\x14\x06+\x01\"&5\x114>\x01\x0332\x16\x15\x11\x14\x06+\x01\"&5\x1146!32\x16\x15\x11\x14\x06+\x01\"&5\x1146\x01\xe4\xe8ޣc\x0f\n2\n\x0f\x8d\xe4\xfe\xfa\xe4\x8d\x0f\n2\n\x0fc\xa3*\xa0\b\f\f\b\xa0\b\f\f\x02`\xa0\b\f\f\b\xa0\b\f\f\x04\x97c\xa3\xdet\xfe\xd4\n\x0f\x0f\n\x01,\u007f\xd1rr\xd1\u007f\xfe\xd4\n\x0f\x0f\n\x01,tޣ\xfd\xc0\f\b\xfe4\b\f\f\b\x01\xcc\b\f\f\b\xfe4\b\f\f\b\x01\xcc\b\f\x00\x00\x00\x00\x02\x00\x00\x00\xd3\x04G\x03\xdd\x00\x15\x009\x00\x00\x01%6\x16\x15\x11\x14\x06'%&+\x01\"&5\x1146;\x012\x05762\x1f\x01\x16\x14\x0f\x01\x17\x16\x14\x0f\x01\x06\"/\x01\a\x06\"/\x01&4?\x01'&4?\x0162\x17\x01A\x01\x02\t\f\f\t\xfe\xfe\x15\x19\xfa\n\x0f\x0f\n\xfa\x19\x02Xx\a\x14\a\"\a\axx\a\a\"\a\x14\axx\a\x14\a\"\a\aww\a\a\"\a\x14\a\x03.\xac\x06\a\n\xfd\x12\n\a\x06\xac\x0e\x0f\n\x01^\n\x0f\x84x\a\a\"\a\x14\axx\a\x14\a\"\a\aww\a\a\"\a\x14\axx\a\x14\a\"\b\b\x00\x00\x00\x00\x02\x00\x00\x00\xd3\x03r\x03\xdd\x00\x15\x00/\x00\x00\x01%6\x16\x15\x11\x14\x06'%&+\x01\"&5\x1146;\x012%3\x16\x17\x16\x15\x14\a\x06\x0f\x01\"/\x01.\x017654'&6?\x016\x01A\x01\x02\t\f\f\t\xfe\xfe\x15\x19\xfa\n\x0f\x0f\n\xfa\x19\x01\xd2\x04\n\x06`Z\x06\v\x03\t\a\x1d\a\x03\x06HN\x06\x03\b\x1d\a\x03.\xac\x06\a\n\xfd\x12\n\a\x06\xac\x0e\x0f\n\x01^\n\x0fd\x01\t\x81\xa1\x9a\u007f\t\x01\x01\x06\x17\a\x13\bg~\x84j\b\x14\a\x16\x05\x00\x00\x00\x00\x03\x00\x00\x00\xc4\x04b\x03\xec\x00\x1b\x001\x00K\x00\x00\x013\x16\x17\x16\x15\x14\x06\a\x06\a#\"/\x01.\x017654&'&6?\x016\x05%6\x16\x15\x11\x14\x06'%&+\x01\"&5\x1146;\x012%3\x16\x17\x16\x15\x14\a\x06\x0f\x01\"/\x01.\x017654'&6?\x016\x03\xc7\x03\v\x06\x87D@\a\n\x03\t\a*\b\x02\x06o;7\x06\x02\t*\a\xfd\x82\x01\x02\t\f\f\t\xfe\xfe\x15\x19\xfa\n\x0f\x0f\n\xfa\x19\x01\xd2\x04\n\x06`Z\x06\v\x03\t\a\x1d\a\x03\x06HN\x06\x03\b\x1d\a\x03\xec\x01\t\xb3\xd9i\xcbT\t\x01\x06\"\x06\x14\b\x96\xb2Z\xacG\t\x14\x06!\x05\xbe\xac\x06\a\n\xfd\x12\n\a\x06\xac\x0e\x0f\n\x01^\n\x0fd\x01\t\x81\xa1\x9a\u007f\t\x01\x01\x06\x17\a\x13\bg~\x84j\b\x15\x06\x16\x05\x00\x00\x00\x00\r\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\t\x00\x15\x00\x19\x00\x1d\x00!\x00%\x00-\x00;\x00?\x00C\x00G\x00K\x00O\x00\x00\x013\x15#\x15!\x15#\x11!\x01#\x153\x15!\x11#\x11#5!\x05\x11!\x11!\x11!\x11\x05#53\x05#53\x013\x11!\x11353\x013\x15#\x15#5#535#5!\x05\x11!\x11\a#53\x05#53\x01#53\x05!5!\x01\xf4dd\xfepd\x01\xf4\x02\xbc\xc8\xc8\xfe\xd4\xc8d\x02X\xfb\xb4\x01,\x01\x90\x01,\xfc\xe0dd\x02\xbcdd\xfdD\xc8\xfe\f\xc8d\x01\xf4\xc8d\xc8dd\xc8\x01,\xfdD\x01,ddd\x03\x84dd\xfe\fdd\x01\xf4\xfe\xd4\x01,\x03\x84ddd\x02X\xfe\fd\xc8\x01,\x01,\xc8d\xfe\xd4\x01,\xfe\xd4\x01,\xc8ddd\xfe\f\xfe\f\x01\xf4d\xfe\xd4dddd\xc8d\xc8\xfe\xd4\x01,\xc8ddd\xfe\xd4ddd\x00\x00\x00\x00\t\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x03\x00\a\x00\v\x00\x0f\x00\x13\x00\x17\x00\x1b\x00\x1f\x00#\x00\x007#\x113\x13#\x113\x01#\x113\x13#\x113\x01#\x113\x01!5!\x17#53\x17#53\x05#53ddd\xc8dd\x01\x90\xc8\xc8\xc8dd\x01,\xc8\xc8\xfc\xe0\xfe\xd4\x01,\xc8dd\xc8dd\x01,\xc8\xc8\xc8\x03\xe8\xfc\x18\x03\xe8\xfc\x18\x03\xe8\xfc\x18\x03\xe8\xfc\x18\x03\xe8\xfbPdd[[[[[\x00\x00\x02\x00\x00\x00\n\x04\xa6\x04\xb0\x00\r\x00\x15\x00\x00\t\x01\x16\x14\a\x01\x06\"'\x01\x13463\x04&\"\x06\x14\x1626\x01\xf4\x02\xaa\b\b\xfe0\b\x14\b\xfdV\x01\x0f\n\x01C;S;;S;\x04\xb0\xfdV\b\x14\b\xfe0\b\b\x02\xaa\x01\xdb\n\x0f\xcd;;T;;\x00\x00\x00\x00\x03\x00\x00\x00\n\x05\xd2\x04\xb0\x00\r\x00\x19\x00!\x00\x00\t\x01\x16\x14\a\x01\x06\"'\x01\x13463!\x01\x16\x14\a\x01\x06\"/\x01\t\x01\x04&\"\x06\x14\x1626\x01\xf4\x02\xaa\b\b\xfe0\b\x14\b\xfdV\x01\x0f\n\x03\x06\x02\xaa\b\b\xfe0\b\x14\b8\x01\xa8\xfdD\xfe\xd3;S;;S;\x04\xb0\xfdV\b\x14\b\xfe0\b\b\x02\xaa\x01\xdb\n\x0f\xfdV\b\x14\b\xfe0\b\b8\x01\xaa\x02\xbc\xcd;;T;;\x00\x00\x00\x00\x01\x00d\x00\x00\x04\xb0\x04\xb0\x00&\x00\x00\x01!2\x15\x11\x14\x0f\x01\x06&5\x114&#!\"\x0f\x01\x06\x163!2\x16\x15\x11\x14\x06#!\"&5\x114?\x016\x01,\x039K\x12@\b\n\x0f\n\xfdD\x19\x12@\b\x05\n\x02\xbc\n\x0f\x0f\n\xfc\xae\n\x0f\x12\x8b\x12\x04\xb0K\xfc|\x19\x12@\b\x05\n\x03\xb6\n\x0f\x12@\b\n\x0f\n\xfcJ\n\x0f\x0f\n\x03\xcf\x19\x12\x8b\x12\x00\x00\x00\x01\x00\xc8\xff\xff\x04L\x04\xb0\x00\n\x00\x00\x13!2\x16\x15\x11\t\x01\x1146\xfa\x03 \x15\x1d\xfe>\xfe>\x1d\x04\xb0\x1d\x15\xfb\x82\x01\xbc\xfeC\x04\u007f\x15\x1d\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x15\x00E\x00U\x00\x00\x01!\"\x06\a\x03\x06\x1f\x01\x1e\x013!26?\x016'\x03.\x01\x01#\"\x06\x0f\x01\x0e\x01#!\"&/\x01.\x01+\x01\"\x06\x15\x11\x14\x16;\x0126=\x01463!2\x16\x1d\x01\x14\x16;\x01265\x114&\x01!\"\x06\x0f\x01\x06\x163!26/\x01.\x01\x036\xfeD\v\x10\x01N\a\x0e9\x06\x17\n\x01\xc2\n\x17\x06>\x0e\aS\x01\x10\x01V\x96\n\x16\x04N\x04\x16\n\xfd\xda\n\x16\x04N\x04\x16\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x02\xee\n\x0f\x0f\n\x96\n\x0f\x0f\xfe\xb1\xfe\f\n\x13\x02&\x02\v\n\x02X\n\v\x02&\x02\x13\x04\xb0\x0f\n\xfe\xd3\x18\x15l\t\f\f\tl\x15\x18\x01-\n\x0f\xfep\r\t\x9c\t\r\r\t\x9c\t\r\x0f\n\xfdv\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x02\x8a\n\x0f\xfd\xa8\x0e\n\x98\n\x0e\x0e\n\x98\n\x0e\x00\x00\x00\x00\x04\x00\x00\x00d\x04\xb0\x04L\x00\x1d\x00!\x00)\x001\x00\x00\x0132\x1e\x02\x1f\x0132\x16\x15\x11\x14\x06#!\"&5\x1146;\x01>\x04\x01\x1535\x04\"\x06\x14\x16264$2\x16\x14\x06\"&4\x01\xf4\xc88]4$\a\x06\x96);;)\xfc\x18);;)\x96\x02\t'3]\x01\xc8d\xfeϾ\x87\x87\xbe\x87\xfe\xefV<<V<\x04L);;\x15\x14;)\xfd\xa8);;)\x02X);\b\x1bE5+\xfe\xd4ddF\x87\xbe\x87\x87\xbe\b<V<<V\x00\x00\x00\x00\x02\x005\x00\x00\x04\xb0\x04\xaf\x00 \x00#\x00\x00\t\x01\x16\x17\x1e\x01\x1f\x01\x15!526/\x01!\x06\a\x06\x1e\x023\x15!567>\x01?\x01\x01\x03!\x03\x02\xa9\x01\x81\x14(\x12%\t\n\xfe_5,\x11R\xfey:\"\v\t*2\x1e\xfe\x938\x1c\f\x1a\a\a\x01\x8f\xac\x01T\xa2\x04\xaf\xfc\x1a2*\x13\x15\x01\x02BBW-ޑY\".\x1c\fBB\x18\x1c\f%\r\r\x03\xee\xfdZ\x01\xc9\x00\x00\x00\x00\x03\x00d\x00\x00\x03\xf0\x04\xb0\x00'\x002\x00;\x00\x00\x01\x1e\x06\x15\x14\x0e\x03#!5>\x015\x114.\x04'5\x052\x1e\x02\x15\x14\x0e\x02\a%32654.\x02+\x01\x1132654&+\x01\x02\xf1\x05\x1350;*\x1d7Xml0\xfe\f);\x01\x06\v\x17!\x1a\x01\xd79uc>\x1f--\x10\xfe\x8f\x8bNi\x11*S>v\xd8PR}^\x9f\x02\x81\x01\a\x18\x1d3:R.CuN7\x1aY\a3(\x03;\x18\x14\x1c\v\x10\t\aG\x01)IsC3[:+\t1aJ);4\x1b\xfc\xaeePZ\x81\x00\x00\x01\x00\xc8\x00\x00\x03o\x04\xb0\x00\x19\x00\x00\x01\x17\x0e\x01\a\x03\x06\x16\x17\x15!567\x1364.\x04'&'5\x03m\x02SB\a\x84\t,J\xfe\f\xba\x0e\xad\x03\x03\x0f\f\x1f\x15\x17\r\x06\x04\xb09\x135(\xfc\xb91(\x06aa\x10R\x03@\x11\x1a\x13\x10\t\v\x06\a\x03\x029\x00\x00\x00\x00\x02\xff\xb5\x00\x00\x05\x14\x04\xb0\x00%\x00/\x00\x00\x01#4.\x05+\x01\x11\x14\x16\x1f\x01\x15!52>\x035\x11#\"\x0e\x05\x15#\x11!\x05#\x113\a'3\x11#7\x05\x142\b\v\x19\x13&\x18\x19\xc82\x19\x19\xfep\x04\x0e\"\x1a\x16\xc8\x19\x18&\x13\x19\v\b2\x03\xe8\xfb\x9bKK}}KK}\x03\x84\x15 \x15\x0e\b\x03\x01\xfc\xae\x16\x19\x01\x02dd\x01\x05\t\x15\x0e\x03R\x01\x03\b\x0e\x15 \x15\x01,\xc8\xfc১\x03 \xa7\x00\x02\x00!\xff\xb5\x04\x8f\x04\xb0\x00%\x00/\x00\x00\x01#4.\x05+\x01\x11\x14\x16\x1f\x01\x15!52>\x035\x11#\"\x0e\x05\x15#\x11!\x13\a5!\x15'7\x15!5\x04L2\b\v\x19\x13&\x18\x19\xc82\x19\x19\xfep\x04\x0e\"\x1a\x16\xc8\x19\x18&\x13\x19\v\b2\x03\xe8C\xa7\xfc১\x03 \x03\x84\x15 \x15\x0e\b\x03\x01\xfdv\x16\x19\x01\x02dd\x01\x05\t\x15\x0e\x02\x8a\x01\x03\b\x0e\x15 \x15\x01,\xfb\x82}KK}}KK\x00\x04\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x1f\x00/\x00?\x00\x00\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x01462\x02X\x15\x1d\x1d\x15\xfd\xa8\x15\x1d\x1d\x15\x03\xe8\x15\x1d\x1d\x15\xfc\x18\x15\x1d\x1d\x15\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\x15\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x04\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x1f\x00/\x00?\x00\x00\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x03!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x03!2\x16\x1d\x01\x14\x06#!\"&=\x0146\xfa\x02\xbc\x15\x1d\x1d\x15\xfdD\x15\x1d\x1d\xb3\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\xdd\x02\xbc\x15\x1d\x1d\x15\xfdD\x15\x1d\x1d\xb3\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x04\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x1f\x00/\x00?\x00\x00\x015463!2\x16\x1d\x01\x14\x06#!\"&\x015463!2\x16\x1d\x01\x14\x06#!\"&\x135463!2\x16\x1d\x01\x14\x06#!\"&\x015463!2\x16\x1d\x01\x14\x06#!\"&\x01\xf4\x1d\x15\x02X\x15\x1d\x1d\x15\xfd\xa8\x15\x1d\xfep\x1d\x15\x03\xe8\x15\x1d\x1d\x15\xfc\x18\x15\x1d\xc8\x1d\x15\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\xfe\xd4\x1d\x15\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x03\xb6d\x15\x1d\x1d\x15d\x15\x1d\x1d\xfe\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\xfe\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\xfe\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x1f\x00/\x00?\x00\x00\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x01462\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x15\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x15\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x15\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\b\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x1f\x00/\x00?\x00O\x00_\x00o\x00\u007f\x00\x00\x1332\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146)\x012\x16\x1d\x01\x14\x06#!\"&=\x01462d\x15\x1d\x1d\x15d\x15\x1d\x1d\x01A\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\xfe\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\x01A\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\xfe\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\x01A\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\xfe\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\x01A\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x00\x06\xff\x9c\x00\x00\x04\xb0\x04L\x00\x03\x00\x13\x00#\x00*\x00:\x00J\x00\x00!#\x11;\x022\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x05\a5#535\x05!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x01\x90dd\x96d\x15\x1d\x1d\x15d\x15\x1d\x1d\x15\x01\xf4\x15\x1d\x1d\x15\xfe\f\x15\x1d\x1d\xfe\xfa\xa7\xc8\xc8\x01\xc2\x01,\x15\x1d\x1d\x15\xfe\xd4\x15\x1d\x1d\x15\x02X\x15\x1d\x1d\x15\xfd\xa8\x15\x1d\x1d\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfa}KdK\xaf\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x00\x00\x06\x00\x00\x00\x00\x05\x14\x04L\x00\x0f\x00\x13\x00#\x00*\x00:\x00J\x00\x00\x1332\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x01#\x113\x01!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x053\x15#\x15'7\x05!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x01462d\x15\x1d\x1d\x15d\x15\x1d\x1d\x03gdd\xfc\xae\x01\xf4\x15\x1d\x1d\x15\xfe\f\x15\x1d\x1d\x04/\xc8ȧ\xa7\xfb\xe6\x01,\x15\x1d\x1d\x15\xfe\xd4\x15\x1d\x1d\x15\x02X\x15\x1d\x1d\x15\xfd\xa8\x15\x1d\x1d\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfb\xb4\x04L\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xc8dK}}\xaf\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfe\xd4\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x00\x00\x00\x02\x00\x00\x00\xc8\x04\xb0\x03\xe8\x00\x0f\x00\x12\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\t\x02K\x02\xee\x1f,,\x1f\xfd\x12\x1f,,\x04\x84\xfe\xd4\x01,\x03\xe8,\x1f\xfdv\x1f,,\x1f\x02\x8a\x1f,\xfdD\x01,\x01,\x00\x03\x00\x00\x00\x00\x04\xb0\x04L\x00\x0f\x00\x17\x00\x1f\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x117\x05'\x01\x13\x11\x042\x16\x14\x06\"&4,\x04X\x12\x1a\x1a\x12\xfb\xa8\x12\x1a\x1aJ\xf7\x01*J\x01%\xec\xfc\xd2pNNpN\x04L\x1a\x12\xfc\f\x12\x1a\x1a\x12\x03\xf4\x12\x1ad\xfd\x1f\xb6\x83\x9c\x01>\xfe\xe0\x01\xf4tNoOOo\x00\x00\x00\x00\x02\x00\xdb\x00\x05\x046\x04\x91\x00\x16\x00\x1e\x00\x00\x012\x1e\x01\x15\x14\a\x0e\x01\x0f\x01.\x04'&54>\x02\x16\"\x06\x14\x16264\x02\x88u\xc6sFE\xb266\t!^Xm)<Ds\x9f\xb7\xb7\x82\x82\xb7\x82\x04\x91x\xcaus\x8fm\xe9?>\b!fh\x98H\x84uX\xa3yHÂ\xb8\x81\x81\xb8\x00\x00\x00\x02\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x17\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x01\x11\"\x0e\x01\x14\x1e\x01\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01Kt\xc5rr\xc5\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\xfco\x03Vr\xc5\xe8\xc5r\x00\x00\x02\x00u\x00\x03\x03\xdf\x05\x0f\x00\x1a\x005\x00\x00\x01\x1e\x06\x15\x14\x0e\x03\a.\x0354>\x05\x03\x0e\x02\x17\x1e\x04\x17\x166?\x016&'.\x02'&76#&\x02*\x15IOWN>%3Vp}?T\x9b|J$?LWPI\xbc\x17)(\x03\x01\x1b!1\x1c\x13\x15\x16\x02\x06\x02\t\t\x05\x12)\f\x1a \x02\b\b\x05\x0fH\x8fuwsu\x87EG\x80^F&\x04\x05:c\x97YE\x87vsxv\x90\xfd\xfe!K\x82:%A'#\x0e\b\a\f\x10\"\n\x18\a\x04\x10A)Y\xb6\v\x01\x00\x00\x00\x03\x00\x00\x00\x00\x04\xcb\x04l\x00\f\x00*\x00/\x00\x00\x017>\x02\x1e\x01\x17\x1e\x01\x0f\x02%!2\x17\a!\"\x06\x15\x11\x14\x163!26=\x017\x11\x14\x06#!\"&5\x1146\t\x01\a7\x01\x03\xe8l\x02\x06\x14\x15\x1d\x0e\x16\n\x05\x06l\xfd\x05\x01\x9027\xbb\xfe\x90);;)\x01\xf4);Ȼ\xa3\xfep\xa5\xb9\xb9\x038\xfe\x96\xa17\x01c\x03\xf5s\x01\x02\x02\x04\x0f\x0e\x16*\v\ns\xc8\r\xbb;)\xfe\f);;)\xb6\xc8\xfe\xb4\xa5\xb9\xb9\xa5\x01\x90\xa5\xb9\xfe\xd7\xfe\x962\xaa\x01c\x00\x02\x00\x00\x00\x00\x04\x93\x04L\x00\x1b\x006\x00\x00\x01!\x06\a#\"\x06\x15\x11\x14\x163!2657\x15\x14\x06#!\"&5\x1146\x05\x01\x16\x14\a\x01\x06&'5&\x0e\x03\a>\x0675>\x01\x01^\x01i\xa44\xc3);;)\x01\xf4);ȹ\xa5\xfep\xa5\xb9\xb9\x02\u007f\x01S\b\b\xfe\xac\a\v\x01\x1a9dTX\x1a\n.9I@F*\x13\x01\v\x04L\x926;)\xfe\f);;)\x99g\xa5\xb9\xb9\xa5\x01\x90\xa5\xb9\x1b\xfe\xd3\a\x15\a\xfe\xce\x06\x04\t\xcb\x01\x02\r\x160!;bA4\x1d\x14\a\x01\xd2\n\x05\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\x9d\x04L\x00\x1d\x005\x00\x00\x01!2\x17\a!\"\x06\x15\x11\x14\x163!26=\x017\x15\x14\x06#!\"&5\x1146\t\x0162\x1f\x01\x16\x14\a\x01\x06\"/\x01&4?\x0162\x1f\x01\x162\x01^\x01^<C\xb2\xfe\xa3);;)\x01\xf4);ȹ\xa5\xfep\xa5\xb9\xb9\x01\xca\x01\x8b\a\x15\ae\a\a\xfd\xed\a\x15\a\xf8\a\ae\a\x15\ao\b\x14\x04L\x17\xb1;)\xfe\f);;)E\xc8ۥ\xb9\xb9\xa5\x01\x90\xa5\xb9\xfe3\x01\x8b\a\ae\a\x15\a\xfd\xec\a\a\xf8\a\x15\ae\a\ao\a\x00\x00\x00\x01\x00\n\x00\n\x04\xa6\x04\xa6\x00;\x00\x00\t\x0162\x17\x01\x16\x06+\x01\x153546\x17\x01\x16\x14\a\x01\x06&=\x01#\x1532\x16\a\x01\x06\"'\x01&6;\x015#\x15\x14\x06'\x01&47\x016\x16\x1d\x0135#\"&\x01>\x01\b\b\x14\b\x01\x04\a\x05\n\xaa\xc8\n\b\x01\b\b\b\xfe\xf8\b\nȪ\n\x05\a\xfe\xfc\b\x14\b\xfe\xf8\b\x05\n\xaf\xc8\n\b\xfe\xf8\b\b\x01\b\b\nȯ\n\x05\x03\x96\x01\b\b\b\xfe\xf8\b\nȭ\n\x04\a\xfe\xfc\a\x15\a\xfe\xf7\a\x04\n\xad\xc8\n\b\xfe\xf8\b\b\x01\b\b\nȭ\n\x04\a\x01\t\a\x15\a\x01\x04\a\x04\n\xad\xc8\n\x00\x01\x00\xc8\x00\x00\x03\x84\x04L\x00\x19\x00\x00\x1332\x16\x15\x11\x016\x16\x15\x11\x14\x06'\x01\x11\x14\x06+\x01\"&5\x1146\xfad\x15\x1d\x01\xd0\x0f\x15\x15\x0f\xfe0\x1d\x15d\x15\x1d\x1d\x04L\x1d\x15\xfeJ\x01\xc5\x0e\b\x15\xfc\x18\x15\b\x0e\x01\xc5\xfeJ\x15\x1d\x1d\x15\x03\xe8\x15\x1d\x00\x00\x00\x01\x00\x00\x00\x00\x04\xb0\x04L\x00#\x00\x00\x1332\x16\x15\x11\x016\x16\x15\x11\x016\x16\x15\x11\x14\x06'\x01\x11\x14\x06'\x01\x11\x14\x06+\x01\"&5\x11462d\x15\x1d\x01\xd0\x0f\x15\x01\xd0\x0f\x15\x15\x0f\xfe0\x15\x0f\xfe0\x1d\x15d\x15\x1d\x1d\x04L\x1d\x15\xfeJ\x01\xc5\x0e\b\x15\xfeJ\x01\xc5\x0e\b\x15\xfc\x18\x15\b\x0e\x01\xc5\xfeJ\x15\b\x0e\x01\xc5\xfeJ\x15\x1d\x1d\x15\x03\xe8\x15\x1d\x00\x00\x00\x01\x00\x9d\x00\x19\x04\xb0\x043\x00\x15\x00\x00\x01\x11\x14\x06'\x01\x11\x14\x06'\x01&47\x016\x16\x15\x11\x016\x16\x04\xb0\x15\x0f\xfe0\x15\x0f\xfe\x14\x0f\x0f\x01\xec\x0f\x15\x01\xd0\x0f\x15\x04\x1a\xfc\x18\x15\b\x0e\x01\xc5\xfeJ\x15\b\x0e\x01\xe0\x0e*\x0e\x01\xe0\x0e\b\x15\xfeJ\x01\xc5\x0e\b\x00\x00\x00\x01\x00\xc8\x00\x16\x043\x046\x00\v\x00\x00\x13\x01\x16\x14\a\x01\x06&5\x1146\xf3\x03.\x12\x12\xfc\xd2\x12\x19\x19\x042\xfe\x0e\v\x1e\v\xfe\x0e\v\x0e\x15\x03\xe8\x15\x0e\x00\x02\x00\xc8\x00d\x03\x84\x03\xe8\x00\x0f\x00\x1f\x00\x00\x1332\x16\x15\x11\x14\x06+\x01\"&5\x1146!32\x16\x15\x11\x14\x06+\x01\"&5\x1146\xfa\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x01\xa5\xc8\x15\x1d\x1d\x15\xc8\x15\x1d\x1d\x03\xe8\x1d\x15\xfc\xe0\x15\x1d\x1d\x15\x03 \x15\x1d\x1d\x15\xfc\xe0\x15\x1d\x1d\x15\x03 \x15\x1d\x00\x00\x01\x00\xc8\x00d\x04L\x03\xe8\x00\x0f\x00\x00\x01\x11\x14\x06#!\"&5\x11463!2\x16\x04L\x1d\x15\xfc\xe0\x15\x1d\x1d\x15\x03 \x15\x1d\x03\xb6\xfc\xe0\x15\x1d\x1d\x15\x03 \x15\x1d\x1d\x00\x00\x00\x00\x01\x00\x00\x00\x19\x04\x13\x043\x00\x15\x00\x00\x01\x1146\x17\x01\x16\x14\a\x01\x06&5\x11\x01\x06&5\x1146\x17\x01\xf4\x15\x0f\x01\xec\x0f\x0f\xfe\x14\x0f\x15\xfe0\x0f\x15\x15\x0f\x02d\x01\xb6\x15\b\x0e\xfe \x0e*\x0e\xfe \x0e\b\x15\x01\xb6\xfe;\x0e\b\x15\x03\xe8\x15\b\x0e\x00\x00\x01\xff\xfe\x00\x02\x04\xb3\x04O\x00#\x00\x00\x0172\x16\x15\x13\x14\x06#\a\"&5\x03\x01\x06&5\x03\x01\x06&5\x0346\x17\x01\x0346\x17\x01\x0346\x04\x18d\x14\x1e\x05\x1d\x15d\x15\x1d\x02\xfe1\x0e\x15\x02\xfe2\x0f\x15\x05\x15\x0f\x01\xd2\x02\x15\x0f\x01\xd2\x02\x1d\x04N\x01\x1d\x15\xfc\x18\x15\x1d\x01\x1d\x15\x01\xb5\xfe:\x0f\t\x15\x01\xb5\xfe9\x0e\t\x14\x03\xe8\x15\t\x0f\xfe>\x01\xb6\x14\t\x0e\xfe=\x01\xb6\x15\x1d\x00\x00\x01\x01,\x00\x00\x03\xe8\x04L\x00\x19\x00\x00\x0132\x16\x15\x11\x14\x06+\x01\"&5\x11\x01\x06&5\x1146\x17\x01\x1146\x03Rd\x15\x1d\x1d\x15d\x15\x1d\xfe0\x0f\x15\x15\x0f\x01\xd0\x1d\x04L\x1d\x15\xfc\x18\x15\x1d\x1d\x15\x01\xb6\xfe;\x0e\b\x15\x03\xe8\x15\b\x0e\xfe;\x01\xb6\x15\x1d\x00\x00\x02\x00d\x00\xc8\x04\xb0\x04H\x00\v\x00\x1b\x00\x00\t\x01\x16\x06#!\"&7\x0162\x01!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x02\xae\x01\xf5\x0f\t\x16\xfb\xee\x16\t\x0f\x01\xf5\x0f*\xfd\xf7\x03\xe8\x15\x1d\x1d\x15\xfc\x18\x15\x1d\x1d\x049\xfd\xe4\x0f\x16\x16\x0f\x02\x1c\x0f\xfdH\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x01\x00\x88\xff\xfc\x03u\x04J\x00\x05\x00\x00\t\x02\a\t\x01\x03u\xfe\xa0\x01`\xc5\xfd\xd8\x02(\x03\x84\xfe\x9f\xfe\x9f\xc6\x02(\x02&\x00\x00\x00\x00\x01\x01;\xff\xfc\x04(\x04J\x00\x05\x00\x00\t\x01'\t\x017\x04(\xfd\xd9\xc6\x01a\xfe\x9f\xc6\x02#\xfd\xd9\xc6\x01a\x01a\xc6\x00\x02\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x003\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x05#\"\x06\x1d\x01#\"\x06\x1d\x01\x14\x16;\x01\x15\x14\x16;\x0126=\x01326=\x014&+\x0154&\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01}d\x15\x1d\x96\x15\x1d\x1d\x15\x96\x1d\x15d\x15\x1d\x96\x15\x1d\x1d\x15\x96\x1d\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\xba\x1d\x15\x96\x1d\x15d\x15\x1d\x96\x15\x1d\x1d\x15\x96\x1d\x15d\x15\x1d\x96\x15\x1d\x00\x00\x00\x00\x02\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1f\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x01!\"\x06\x1d\x01\x14\x163!26=\x014&\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x02E\xfe\f\x15\x1d\x1d\x15\x01\xf4\x15\x1d\x1d\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\xfe~\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x02\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x003\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0f\x01'&\"\x0f\x01\x06\x14\x1f\x01\a\x06\x14\x1f\x01\x162?\x01\x17\x162?\x0164/\x01764/\x01\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xe5\x19\txx\t\x19\t\x8d\t\txx\t\t\x8d\t\x19\txx\t\x19\t\x8d\t\txx\t\t\x8d\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\xad\txx\t\t\x8d\t\x19\txx\t\x19\t\x8d\t\txx\t\t\x8d\t\x19\txx\t\x19\t\x8d\x00\x02\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00$\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x01'&\"\x0f\x01\x06\x14\x1f\x01\x1627\x0164/\x01&\"\a\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\x15T\a\x15\b\x8b\a\a\xf2\a\x15\a\x01w\a\a\x8b\a\x15\a\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\xfe1U\a\a\x8b\b\x14\b\xf1\b\b\x01w\a\x15\b\x8b\a\a\x00\x00\x00\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00;\x00K\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x05\"\x0e\x03\x15\x14;\x01\x167>\x0132\x16\x15\x14\x06\a\"\x0e\x05\a\x06\x16;\x012>\x0354.\x03\x13#\"\x06\x1d\x01\x14\x16;\x0126=\x014&\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01?\x1d<B2!\x14\x83\x1e\x05\x06\x1d\x1f\x14\x17\x0e\x13\x01\x19\x0e\x1a\x12\x13\f\x02\x01\r\x0e\xad\a\x1e(#\x18\"3D<:\x96\n\x0f\x0f\n\x96\n\x0f\x0f\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\x91\v\x1e/O2\x19\x05\x10\x14\x10\x15\x12\x17\x16\a\b\a\x0e\x14\x1c*\x19\b\x11\x10(8\\6/H*\x1b\t\xfd\xe3\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x00\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1f\x00>\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x05#\"\x06\x1d\x01\x14\x16;\x0126=\x014&\x03#\"\x06\x1d\x01\x14\x16;\x01\x15#\"\x06\x1d\x01\x14\x163!26=\x014&+\x01\x114&\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\x96\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\xfa\n\x0f\x0f\nKK\n\x0f\x0f\n\x01^\n\x0f\x0f\nK\x0f\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛V\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\xfe\xd4\x0f\n2\n\x0f\xc8\x0f\n2\n\x0f\x0f\n2\n\x0f\x01\x13\n\x0f\x00\x02\x00\x00\x00\x00\x04\xb0\x04\xb0\x00/\x00_\x00\x00\x0132\x16\x1d\x01\x1e\x01\x1732\x16\x1d\x01\x14\x06+\x01\x0e\x01\a\x15\x14\x06+\x01\"&=\x01.\x01'#\"&=\x0146;\x01>\x017546\x13\x15\x14\x06+\x01\"&=\x01\x0e\x01\a32\x16\x1d\x01\x14\x06+\x01\x1e\x01\x17546;\x012\x16\x1d\x01>\x017#\"&=\x0146;\x01.\x01\x02\r\x96\n\x0fg\x97\x1b\xc2\n\x0f\x0f\n\xc2\x1b\x97g\x0f\n\x96\n\x0fg\x97\x1b\xc2\n\x0f\x0f\n\xc2\x1b\x97g\x0f\xb9\x0f\n\x96\n\x0fDf\x17\xa8\n\x0f\x0f\n\xa8\x17fD\x0f\n\x96\n\x0fDf\x17\xa8\n\x0f\x0f\n\xa8\x17f\x04\xb0\x0f\n\xc2\x1b\x97g\x0f\n\x96\n\x0fg\x97\x1b\xc2\n\x0f\x0f\n\xc2\x1b\x97g\x0f\n\x96\n\x0fg\x97\x1b\xc2\n\x0f\xfeͨ\n\x0f\x0f\n\xa8\x17fD\x0f\n\x96\n\x0fDf\x17\xa8\n\x0f\x0f\n\xa8\x17fD\x0f\n\x96\n\x0fDf\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1b\x00?\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\a\x17\x16\x14\x0f\x01\x17\x16\x14\x0f\x01\x06\"/\x01\a\x06\"/\x01&4?\x01'&4?\x0162\x1f\x01762\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xbf\xe8\xc5rr\xc5\xe8\xc5rr\x9a@\a\a||\a\a@\a\x15\a||\a\x15\a@\a\a||\a\a@\a\x15\a||\a\x15\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5\xe8\xc5rr\xc5\xe8\xc5Z@\a\x15\a||\a\x15\a@\a\a||\a\a@\a\x15\a||\a\x15\a@\a\a||\a\x00\x00\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1b\x000\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\a\x17\x16\x14\a\x01\x06\"/\x01&4?\x0162\x1f\x01762\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xbf\xe8\xc5rr\xc5\xe8\xc5rr\x83j\a\a\xfe\xc0\b\x14\b\xca\b\bj\a\x15\aO\xc5\a\x15\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5\xe8\xc5rr\xc5\xe8\xc5}j\a\x15\a\xfe\xbf\a\a\xcb\a\x15\aj\b\bO\xc5\a\x00\x00\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x18\x00!\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x05\"\x0e\x01\x15\x14\x17\x01&\x17\x01\x1632>\x0154\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01Kt\xc5rA\x02Ki\xf5\xfd\xb8hst\xc5r\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛;r\xc5txi\x02KA\xd0\xfd\xb8>r\xc5ts\x00\x00\x00\x00\x01\x00\x17\x00S\x04\xb0\x03\xf9\x00\x15\x00\x00\x13\x016\x16\x15\x11!2\x16\x1d\x01\x14\x06#!\x11\x14\x06'\x01&4'\x02\n\x10\x17\x02&\x15\x1d\x1d\x15\xfd\xda\x17\x10\xfd\xf6\x10\x02F\x01\xab\r\n\x15\xfe\xdd\x1d\x15\xc8\x15\x1d\xfe\xdd\x15\n\r\x01\xab\r&\x00\x00\x00\x00\x01\x00\x00\x00S\x04\x99\x03\xf9\x00\x15\x00\x00\t\x01\x16\x14\a\x01\x06&5\x11!\"&=\x01463!\x1146\x02\u007f\x02\n\x10\x10\xfd\xf6\x10\x17\xfd\xda\x15\x1d\x1d\x15\x02&\x17\x03\xf1\xfeU\r&\r\xfeU\r\n\x15\x01#\x1d\x15\xc8\x15\x1d\x01#\x15\n\x00\x00\x00\x01\x00\xb7\x00\x00\x04]\x04\x99\x00\x15\x00\x00\t\x01\x16\x06#!\x11\x14\x06+\x01\"&5\x11!\"&7\x0162\x02\xaa\x01\xab\r\n\x15\xfe\xdd\x1d\x15\xc8\x15\x1d\xfe\xdd\x15\n\r\x01\xab\r&\x04\x89\xfd\xf6\x10\x17\xfd\xda\x15\x1d\x1d\x15\x02&\x17\x10\x02\n\x10\x00\x00\x00\x01\x00\xb7\x00\x17\x04]\x04\xb0\x00\x15\x00\x00\x0132\x16\x15\x11!2\x16\a\x01\x06\"'\x01&63!\x1146\x02&\xc8\x15\x1d\x01#\x15\n\r\xfeU\r&\r\xfeU\r\n\x15\x01#\x1d\x04\xb0\x1d\x15\xfd\xda\x17\x10\xfd\xf6\x10\x10\x02\n\x10\x17\x02&\x15\x1d\x00\x00\x01\x00\x00\x00\xb7\x04\x99\x04]\x00\x17\x00\x00\t\x01\x16\x14\a\x01\x06&5\x11\x0e\x03\a>\x047\x1146\x02\u007f\x02\n\x10\x10\xfd\xf6\x10\x17^\xb0\xa5\x81$\x05,[\x87\xc7~\x17\x04U\xfeU\r&\r\xfeU\r\n\x15\x01#\x02$DuMi\xb1\x9dqF\a\x01\x06\x15\n\x00\x02\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x15\x00+\x00\x00\x01!2\x16\x15\x11\x14\x06/\x01\a\x06\"/\x01&4?\x01'&6\x01!\"&5\x1146\x1f\x01762\x1f\x01\x16\x14\x0f\x01\x17\x16\x06\x03R\x01,\x15\x1d\x15\x0e^\xf9\b\x14\bj\a\a\xf9^\x0e\b\xfe!\xfe\xd4\x15\x1d\x15\x0e^\xf9\b\x14\bj\a\a\xf9^\x0e\b\x04\xb0\x1d\x15\xfe\xd4\x15\b\x0e^\xf9\a\aj\b\x14\b\xf9^\x0e\x15\xfbP\x1d\x15\x01,\x15\b\x0e^\xf9\a\aj\b\x14\b\xf9^\x0e\x15\x00\x00\x00\x02\x00I\x00I\x04g\x04g\x00\x15\x00+\x00\x00\x01\x17\x16\x14\x0f\x01\x17\x16\x06#!\"&5\x1146\x1f\x01762\x01!2\x16\x15\x11\x14\x06/\x01\a\x06\"/\x01&4?\x01'&6\x03\xf6j\a\a\xf9^\x0e\b\x15\xfe\xd4\x15\x1d\x15\x0e^\xf9\b\x14\xfd\f\x01,\x15\x1d\x15\x0e^\xf9\b\x14\bj\a\a\xf9^\x0e\b\x04`j\b\x14\b\xf9^\x0e\x15\x1d\x15\x01,\x15\b\x0e^\xf9\a\xfd\xf1\x1d\x15\xfe\xd4\x15\b\x0e^\xf9\a\aj\b\x14\b\xf9^\x0e\x15\x00\x00\x00\x00\x03\x00\x17\x00\x17\x04\x99\x04\x99\x00\x0f\x00\x1f\x00/\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x05#\"\x06\x17\x13\x1e\x01;\x01267\x136&\x03#\"\x06\x1d\x01\x14\x16;\x0126=\x014&\x01\xe3\xea֛[[\x9b\xd6\xea֛[[\x9b\x01\xb3\xd0\x14\x18\x04:\x04#\x146\x14#\x04:\x04\x181\x96\n\x0f\x0f\n\x96\n\x0f\x0f\x04\x99[\x9b\xd6\xea֛[[\x9b\xd6\xea֛\xba\x1d\x14\xfe\xd2\x14\x1d\x1d\x14\x01.\x14\x1d\xfe\f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x00\x00\x00\x00\x05\x00\x00\x00\x00\x04\xb0\x04\xb0\x00I\x00U\x00a\x00h\x00o\x00\x00\x012\x16\x1f\x01\x16\x1f\x01\x16\x17\x1676?\x0167632\x16\x1f\x01\x16\x1f\x02\x1e\x01;\x012\x16\x1d\x01\x14\x06+\x01\"\x06\x1d\x01!\x11#\x11!54&+\x01\"&=\x0146;\x012654?\x0167>\x04\x05\a\x06\x16;\x0126/\x01.\x01\x05'&\x06\x0f\x01\x06\x16;\x0126\x13!\"&5\x11)\x01\x11\x14\x06#!\x11\x01\x04\t\x14\x05\x05\x16\x16\xc4\x15\x0f\x1d\b\v&\xc4\x16\x17\x11\x15\x170\r\r\x0e\x04\x19\b\x01\x0f\n=\n\x0f\x0f\n2\n\x0f\xfep\xc8\xfep\x0f\n2\n\x0f\x0f\n=\v\x0e\t\x19\x05\x0e\x02\x06\x15\x16\x1f\x02\x9d\xa6\a\x04\n\xdb\n\n\x033\x03\x10\xfe5\xb1\b\x10\x033\x03\n\n\xe7\v\x03\x1e\xfe\x89\n\x0f\x01\x90\x02X\x0f\n\xfe\x89\x04\xb0\x04\x02\x02\n\rv\r\v\x15\t\r\x16v\r\n\a!\x11\x10\x15\x18{,\t\v\x0f\n2\n\x0f\x0f\n\xaf\x01,\xfeԯ\n\x0f\x0f\n2\n\x0f\x06\x05\x040\x80\x19\x14\x03\b\x16\x11\x0ey\xa2\a\n\x0e\n\x95\n\x04\xaa\x9d\a\x04\n\x8f\n\x0e\n\xfcr\x0f\n\x01w\xfe\x89\n\x0f\x01\x90\x00\x00\x00\x00\x02\x00\x00\x00\f\x04\xaf\x04\xa6\x00+\x00I\x00\x00\x016\x16\x15\x06\x02\x0e\x04.\x01'&\a&\x0e\x01\x0f\x01\x06&547>\x017>\x01'.\x01>\x017>\x06\x17&\x06\a\x0e\x01\x0f\x01\x0e\x04\a\x0e\x01\x1667>\x027>\x037>\x01\x04\x8d\b\x1a\x02-Bla\x8bb\x8eD8=\x11\x04\x113\x1b\x99\x1a\x16*\bU\x18\x13 \x03\t\x02\x10:1'Ra\\\x87{\xc0%\b\x1d\x1f&\xa2=>8\\tYR\x17\x18\x0e\x12-!\x19\x8aq[Fak[)\x16\x04\x04\xa6\x03\x13\b\xb2\xfe\xddȕX1\x11\b\v\v\f\x01\x01\x02\x1b\x1b\x99\x18\x13\"@&\bJ\x15\x11<\x1f7_\u007f\x85?3J5%#\x1b/D\t\x18&/q!!\x1e6ROg58<\x04'(\x1e[@1%@_\u007fU2\x14\x00\x01\x00]\x00\x1e\x04r\x04\xcf\x00O\x00\x00\x01\x0e\x01\x1e\x04\x17.\a>\x017\x1e\x03\x06\a\x0e\x04\a\x06'&767>\x04.\x01'\x16\x0e\x03&'.\x01'&>\x047\x06\x1e\x037>\x01.\x02'&>\x03\x02\x8d'\x1f\n'8GB \x04\x1b\n\x18\n\x10\x03\x01\t\x12\x0e`\x8aH \x06\x10\r>JS>\x16H7\x1f\x12\x06\v\r'+\"\t\x16NA\n\x155M[`/Pg\x02\x02\x04\x05\x16!;(\b\x06\x1d'2\x18\x1f\x0f\x18\"&\a\x0f\"IbY\x04\xcfC\x80e\\D9$\f\a8\x178\x1e6#1%)\x12*\x83\x91\xa7\x97J7gG: \x06\x16\v\x06\r\x03\x04\x05 8G\\au9h\xaaoK\x1d\a\x15$\x9c]\x1754<<E\"5cQ8\x16\t\r.@AU!U\x99hQ)\x00\x00\x00\x00\x03\xff\xdc\x00j\x04\xd4\x04F\x00\x1b\x00?\x00Q\x00\x00\x002\x1e\x05\x14\x0e\x05\".\x054>\x04\x05&\x06\x17\x16\x15\x14\x06\"&5476&\a\x06\a\x0e\x01\x17\x1e\x042>\x0376&'&\x05\a\x0e\x01\x17\x16\x17\x166?\x016&'&'.\x01\x02\x06\xa4\x9d{nO9\x1c\x1c:On{\x9d\xa2\x9d{nO:\x1c\x1c9On{\x02\x0f\x0f\x06\b\x19\xb0\xf8\xb0\x17\b\a\x0eFZ\r\x04\v\x162Z_\x83\x88\x83_Z2\x16\v\x04\fZ\xfd\xff#\x0f\t\t%8\x10-\x0e#\x0e\x03\x0f,-\v\"\x04F-I\\b\\I*I\\b\\I--I\\b\\I*I\\b\\I\xdc\x0f\x06\x139>|\xb0\xb0|;7\x13\x06\x0fEs\x101\x12$F^D10E^E$\x121\x11u\x1e$\x0f/\x12D0\r\x04\x0f\"\x0f%\x0f,I\x12\x04\x00\x00\x00\x04\xff\xdc\x00\x00\x04\xd4\x04\xb0\x00\x14\x00'\x00;\x00L\x00\x00!#7.\x0454>\x0532\x1773\x137\x1e\x01\x15\x14\x0e\x03\a7>\x0176&'&%\x06\a\x0e\x01\x17\x1e\x04\x177.\x015476&\x17\a\x0e\x01\x17\x16\x17\x166?\x02'&'.\x01\x02P\x94\x1f[\xa9vY,\x1c9On{\x9dR=A \x94&/l\x89'Pj\x98R.Mv&\v\x04\f6\xfdQFZ\r\x04\v\x12*HLh5)k\x8f\x17\b\a|#\x0f\t\t%8\x10-\x0e\f\x16\x03,-\v\"x\x14atzb\x1b\x15I\\b\\I-\x0fy\xfeR\xb5U\xd64\x1aZrnc\x1a\xad1\x88?\x121\x11FrEs\x101\x12\x1e<QA9\r\x9a\x12\xa7n;7\x13\x06p$\x0f/\x12D0\r\x04\x0f\vV\x04,I\x12\x04\x00\x00\x00\x03\xff\x9e\x00\x00\x05\x12\x04\xab\x00\v\x00\x18\x00(\x00\x00'\x016\x16\x17\x01\x16\x06#!\"&%!546;\x012\x16\x1d\x01!\x01\a32\x16\x0f\x01\x0e\x01+\x01\"&/\x01&6Z\x02\x82\x148\x14\x02\x82\x15\x1b%\xfa\xf2%\x1b\x01\n\x01Y\x0f\n\x96\n\x0f\x01Y\xfeCh\xd0\x14\x18\x04:\x04#\x146\x14#\x04:\x04\x18d\x04*\x1f\x05!\xfb\xe0 GD\x84K\n\x0f\x0f\nK\x02\xd3\xdf\x1d\x14\xfc\x14\x1d\x1d\x14\xfc\x14\x1d\x00\x00\x00\x01\x00d\x00\x15\x04\xb0\x04\xb0\x00(\x00\x00\x002\x16\x15\x11\x01\x1e\x01\x1d\x01\x14\x06'%\x11\x16\x1d\x01\x14\x06/\x01\a\x06&=\x0147\x11\x05\x06&=\x01467\x01\x114\x02L|X\x01k\x0f\x16\x18\x11\xfe\x99d\x1a\x13\xcd\xcd\x13\x1ad\xfe\x99\x11\x18\x16\x0f\x01k\x04\xb0X>\xfe\xad\xfe\xbb\x0e1\x14)\x14\r\f\xf9\xfe\xf9]\x14@\x15\x10\t\x80\x80\t\x10\x15@\x14]\x01\a\xf9\f\r\x14)\x141\x0e\x01E\x01S>\x00\x00\x00\x11\x00\x00\x00\x00\x04L\x04\xb0\x00\x1d\x00'\x00+\x00/\x003\x007\x00;\x00?\x00C\x00G\x00K\x00O\x00S\x00W\x00[\x00_\x00c\x00\x00\x0132\x16\x1d\x0132\x16\x1d\x01!546;\x01546;\x012\x16\x1d\x01!546\x01\x11\x14\x06#!\"&5\x11\x17\x15353\x15353\x15353\x15353\x1535\x05\x15353\x15353\x15353\x15353\x1535\x05\x15353\x15353\x15353\x15353\x1535\x03Rd\x15\x1d2\x15\x1d\xfb\xb4\x1d\x152\x1d\x15d\x15\x1d\x01\xf4\x1d\x01\x0f\x1d\x15\xfc\x18\x15\x1ddddddddddd\xfc|ddddddddd\xfc|ddddddddd\x04\xb0\x1d\x152\x1d\x15\x96\x96\x15\x1d2\x15\x1d\x1d\x1522\x15\x1d\xfep\xfd\x12\x15\x1d\x1d\x15\x02\xee\xc8dddddddddd\xc8dddddddddd\xc8dddddddddd\x00\x00\x00\x03\x00\x00\x00\x19\x05w\x04\x97\x00\x19\x00%\x007\x00\x00\x01\x17\x16\x14\x0f\x01\x06&=\x01#\x01!\"&=\x0146;\x01\x013546\x01\a'#\"&=\x01463!\x01\x17\x16\x14\x0f\x01\x06&=\x01#'7\x173546\x04o\xf9\x0f\x0f\xf9\x0e\x15\x9f\xfd\xa8\xfe\xdd\x15\x1d\x1d\x15\xd1\x02X\xf1\x15\xfd\xa9\x8dz\xd1\x15\x1d\x1d\x15\x01#\x03\x1a\xf9\x0f\x0f\xf9\x0e\x15\xf1\xb5\x8dz\x9f\x15\x04\x8d\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xfd\xa8\x1d\x15d\x15\x1d\x02X\x96\x15\b\xfe\x98\x8dz\x1d\x15d\x15\x1d\xfeM\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xb5\x8dz\x96\x15\b\x00\x00\x00\x01\x00\x00\x00\x00\x04\xb0\x04L\x00\x12\x00\x00\x13!2\x16\x15\x11\x14\x06#!\x01\x11#\"&5\x1146d\x03\xe8);;)\xfd\xac\xfe\xd0d);;\x04L;)\xfd\xa8);\xfe\xd4\x01,;)\x02X);\x00\x00\x00\x03\x00d\x00\x00\x04L\x04\xb0\x00\t\x00\x13\x00?\x00\x00\x1332\x16\x1d\x01!546!32\x16\x1d\x01!546\x01\x11\x14\x0e\x05\".\x055\x11!\x15\x14\x15\x1c\x01\x1e\x062>\x06&54=\x01\x96\xc8\x15\x1d\xfe\xd4\x1d\x02\xd1\xc8\x15\x1d\xfe\xd4\x1d\x01\x0f\x06\x18(Lf\x9c\xc0\x9cfL(\x18\x06\x01,\x03\a\r\x14\x1f'6B6'\x1f\x13\x0f\x05\x05\x01\x04\xb0\x1d\x15\xfa\xfa\x15\x1d\x1d\x15\xfa\xfa\x15\x1d\xfep\xfe\xd4)IjV\\>((>\\VjI)\x01,\xfa\t\x12\x15+'%!\x1b\x16\x10\b\t\x10\x17\x1c!%'*\x15\x11\b\xfa\x00\x00\x00\x01\xff\xff\x00\xd4\x04L\x03\xc2\x00\x05\x00\x00\x01\a\t\x01'\x01\x04L\xc6\xfe\x9f\xfe\x9f\xc5\x02'\x01\x9b\xc7\x01a\xfe\x9f\xc7\x02'\x00\x01\x00\x00\x00\xee\x04M\x03\xdc\x00\x05\x00\x00\t\x027\t\x01\x04M\xfd\xda\xfd\xd9\xc6\x01a\x01a\x03\x15\xfd\xd9\x02'\xc7\xfe\x9f\x01a\x00\x00\x00\x00\x02\xffQ\x00d\x05_\x03\xe8\x00\x14\x00)\x00\x00\x01!2\x16\x15\x1132\x16\x0f\x01\x06\"/\x01&6;\x01\x11!%\x17\x16\x06+\x01\x11!\x17!\"&5\x11#\"&?\x0162\x01\x94\x02\xea\x15\x1d\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xfe\x83\xfe\x1c\xe6\x0e\b\x15\x96\x01\x81\xd7\xfd\x12\x15\x1d\x96\x15\b\x0e\xe6\x0e*\x03\xe8\x1d\x15\xfd\xd9\x15\x0e\xf9\x0f\x0f\xf9\x0e\x15\x01\x91\xb8\xf9\x0e\x15\xfep\xc8\x1d\x15\x02&\x15\x0e\xf9\x0f\x00\x00\x01\x00\x06\x00\x00\x04\x9e\x04\xb0\x000\x00\x00\x1332\x16\x1f\x01!2\x16\a\x03\x0e\x01#!\x17!2\x16\x14\x06+\x01\x15\x14\x06\"&=\x01!\x15\x14\x06\"&=\x01#\"&/\x01\x03#\"&468^\x11\x1c\x04&\x03\x80\x18\x1e\x05d\x05,!\xfd\x870\x02\x17\x15\x1d\x1d\x152\x1d*\x1d\xfe\xd4\x1d*\x1d\x1f\x12\x1d\x06\x05\xc96\x14\x1e\x1e\x04\xb0\x16\x10\xa2%\x18\xfe%\x15+\xc8\x1d*\x1d2\x15\x1d\x1d\x1522\x15\x1d\x1d\x152\x14\t\n\x03\xc1\x1d*\x1d\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\xb0\x04L\x00\v\x00\x0f\x00\x00\x01\x15!53463!2\x16\x15\x05!\x11!\x04\xb0\xfbP\xc8;)\x01,);\xfdD\x04\xb0\xfbP\x03\xe8dd);;)\xc8\xfc\xe0\x00\x02\x00\x00\x00\x00\x05\xdc\x04L\x00\f\x00\x10\x00\x00\x13\x03\x113463!2\x16\x15!\x15\x05\x01!\x01\xc8\xc8\xc8;)\x01,*:\x01\xf4\x01,\xfe\xd4\xfbP\x01,\x03 \xfep\x02X);;)\xc8d\xfdD\x02\xbc\x00\x01\x01E\x00\x00\x03k\x04\xaf\x00\x1b\x00\x00\x01\x17\x16\x06+\x01\x1132\x16\x0f\x01\x06\"/\x01&6;\x01\x11#\"&?\x0162\x02{\xe6\x0e\b\x15\x96\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\x96\x15\b\x0e\xe6\x0e*\x04\xa0\xf9\x0e\x15\xfd\xa7\x15\x0e\xf9\x0f\x0f\xf9\x0e\x15\x02Y\x15\x0e\xf9\x0f\x00\x00\x00\x01\x00\x01\x01D\x04\xaf\x03k\x00\x1b\x00\x00\x01\x17\x16\x14\x0f\x01\x06&=\x01!\x15\x14\x06/\x01&4?\x016\x16\x1d\x01!546\x03\xa8\xf9\x0e\x0e\xf9\x0f\x15\xfd\xa8\x15\x0f\xf9\x0e\x0e\xf9\x0f\x15\x02X\x15\x03`\xe5\x0f)\x0f\xe5\x0f\t\x14\x97\x97\x14\t\x0f\xe5\x0f)\x0f\xe5\x0f\t\x15\x95\x95\x15\t\x00\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\t\x00\x19\x00\x1d\x00!\x00\x00\x01\x03.\x01#!\"\x06\a\x03\x05!\"\x06\x1d\x01\x14\x163!26=\x014&\x0553\x15353\x15\x04\x91\xac\x05$\x14\xfd`\x14$\x05\xac\x04-\xfc\x18);;)\x03\xe8);;\xfe\xabddd\x01\x90\x02\xdc\x17-(\x15\xfd\x1dd;)d);;)d);\xc8dddd\x00\x00\x00\x03\xff\x9c\x00d\x04\xb0\x04L\x00\v\x00#\x001\x00\x00\x002\x16\x15\x11\x14\x06\"&5\x114\x03%#\x13\x16\x06#\"+\x01\"&'\x02=\x01454>\x01;\x01%\x01\x15\".\x03=\x014>\x027\x04i*\x1d\x1d*\x1dd\xfd]&/\x03\x11\x15\x05\x02T\x14\x1d\x047\x02\v\f\xc8\x02\xa3\xfc\x18\x04\x0e\"\x1a\x16\x15\x1d\x1d\v\x04L\x1d\x15\xfc\xae\x15\x1d\x1d\x15\x03R\x15\xfc\x99\xc8\xfe\xec\x10\b\x1c\x15\x01Q\x0e\xfa\x02\x04\x10\x0f\r\xfa\xfe\xd4\xfa\x01\v\x13)\x1c2\x1a(\x14\f\x01\x00\x00\x00\x02\x00J\x00\x00\x04f\x04\xb0\x00,\x005\x00\x00\x0132\x16\x0f\x01\x1e\x01\x17\x13\x1732\x16\x14\x06\a\x0e\x04#\".\x04/\x01.\x0146;\x017\x13>\x017'&6\x03\x16327\x0e\x01\"&\x02)^\x14\x12\x06\x12Sz\x0f?v\x11\x13\x1c\x1a\x12\b\x1edj\x9fO9t\\U>/\f\v\x12\x1a\x1c\x13\x11v?\x0fzS\x12\x06\x13$2451\f7F8\x04\xb0\x15\x13%\x13\u007fM\xfe\xb9\xad\x1d)(\a\x04\v\x1c\x16\x12\n\x0e\x11\x12\x0e\x05\x04\b()\x1d\xad\x01GM~\x14 \x13\x1a\xfb\xbe\x06\x061==\x00\x01\x00\x14\x00\x14\x04\x9c\x04\x9c\x00\x17\x00\x00\x017\a\x17\a\x17\a\x17'\a'\a'\a7'7'7'\x177\x177\x03 \xe0N괴\xeaN\xe0-\x9b\x9b-\xe0N괴\xeaN\xe0-\x9b\x9b\x03\xb2N\xe0-\x9b\x9b-\xe0N괴\xeaN\xe0-\x9b\x9b-\xe0N괴\x00\x03\x00\x00\x00d\x04\xb0\x04\xb0\x00!\x00-\x00=\x00\x00\x0132\x16\x1d\x01\a!2\x16\x1d\x01\x14\a\x03\x0e\x01+\x01\"&/\x01#\"&5\x114?\x02>\x01\x17\x0f\x01\x113\x173\x135!75\x0132\x16\x15\x11\x14\x06+\x01\"&5\x1146\x02\x8a2(<\x1c\x01H(<\x1d\xee\x10,\x17\xfa\aF\x1f\x1f=-7\x14\x91`\r1\x1bd\x96d\x88\xd6\xfa\xfe>2\xfdvd\x15\x1d\x1d\x15d\x15\x1d\x1d\x04\xb0Q,\x96}Q,d-\x1d\xfe\xa8\x18!2\x19\x19$'\x01\x90$\x1b\xc4\xc6\x1c(d\xd4\xd5\xfe\x89d\x01w}\xe1\xaf\xfe\xd4\x1d\x15\xfe\f\x15\x1d\x1d\x15\x01\xf4\x15\x1d\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x04L\x00 \x000\x00<\x00\x00\x0132\x16\x17\x13\x16\x1d\x01\x14\x06#!\x16\x1d\x01\x14\x06+\x01\"&/\x02&5\x1146;\x016\x0532\x16\x15\x11\x14\x06+\x01\"&5\x1146!\a#\x11\x1f\x0135'!5\x03\x02X\xfa\x17,\x10\xee\x1d<(\xfe\xb8\x1c<(2\x1b1\r`\x91\x147-=|\xfd\xe9d\x15\x1d\x1d\x15d\x15\x1d\x1d\x02_\x88d\x96d22\x01\xc2\xfa\x04L!\x18\xfe\xa8\x1d-d,Qv\a\x96,Q(\x1c\xc6\xc4\x1b$\x01\x90'$dd\x1d\x15\xfe\f\x15\x1d\x1d\x15\x01\xf4\x15\x1dd\xfe\x89\xd5ԯ\xe1}\x01w\x00\x03\x00\x00\x00d\x05\x0e\x04O\x00\x1b\x007\x00G\x00\x00\x01%6\x1f\x01\x1e\x01\x0f\x01!2\x16\x14\x06+\x01\x03\x0e\x01#!\"&5\x11467\x17\x11\x17!\x13>\x01;\x0126&#!*\x03.\x04'&?\x01'\x0532\x16\x15\x11\x14\x06+\x01\"&5\x1146\x01d\x01k\x1f\x16n\r\x01\fT\x01.TlnTj\x83\x06\x1b\x0f\xfe\xaa\a\xa6\x1c\x0e:d\x01%\x83\x06\x1b\x0f\xcb\x15\x13\x12\x16\xfe8\x02\n\x02\t\x03\a\x03\x05\x03\x01\f\x11\x92V\xfdOd\x15\x1d\x1d\x15d\x15\x1d\x1d\x03i\xe6\x10\x16p\r&\x0fyL\x90N\xfe\xad\x15(\xa2\r\x02\r\x11%\nH\xfe\tY\x01S\x15(22\x01\x02\x02\x03\x05\x02\x19\x16\xb7S\xe4\x1d\x15\xfe\f\x15\x1d\x1d\x15\x01\xf4\x15\x1d\x00\x00\x00\x03\xff\x9c\x00d\x04\xb0\x04O\x00\x1d\x006\x00F\x00\x00\x01\x05\x1e\x04\x15\x11\x14\x06#!\"&'\x03#\"&463!'&6?\x016\a\x17\x16\a\x0e\x05*\x02#!\x1532\x16\x17\x13!7\x11%\x0532\x16\x15\x11\x14\x06+\x01\"&5\x1146\x01\xdb\x01n\x02\b\x14\x10\r\xac\a\xfe\xaa\x0f\x1b\x06\x83jUmlT\x01.U\v\x01\rn\x16J\x92\x11\f\x02\x03\x05\x03\a\x03\t\x03\n\x01\xfe%\xdd\x0f\x1c\x06\x82\x01&j\xfe\xaa\x02Pd\x15\x1d\x1d\x15d\x15\x1d\x1d\x04O\xe6\x01\x05\x10\x11\x17\v\xfd\xf3\r\xa2(\x15\x01SN\x90Ly\x0f&\rp\x16\xae\xb7\x16\x19\x02\x05\x03\x02\x02\x01d(\x15\xfe\xadY\x01\xf7\xec\xe4\x1d\x15\xfe\f\x15\x1d\x1d\x15\x01\xf4\x15\x1d\x00\x00\x00\x03\x00a\x00\x00\x04L\x05\x0e\x00\x1b\x007\x00G\x00\x00\x002\x16\x1d\x01\x05\x1e\x01\x15\x11\x14\x06#!\"&/\x01\x03&?\x01>\x01\x1f\x01\x114\x1754&\x06\x15\x11\x1c\x03\x0e\x04\a\x06/\x01\a\x13!7\x11%.\x01\x03!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x01ސN\x01S\x15(\xa2\r\xfd\xf3\x11%\n\t\xe6\x10\x16p\r&\x0fy\xc622\x01\x02\x02\x03\x05\x02\x19\x16\xb7S\xec\x01\xf7Y\xfe\xad\x15(\x96\x01\xf4\x15\x1d\x1d\x15\xfe\f\x15\x1d\x1d\x05\x0enTj\x83\x06\x1b\x0f\xfe\xaa\a\xa6\x1c\x0e\x0e\x01k\x1f\x16n\r\x01\fT\x01.T\xd6\xcb\x15\x13\x12\x16\xfe8\x02\n\x02\t\x03\a\x03\x05\x03\x01\f\x11\x92V\xfe\xadd\x01%\x83\x06\x1b\xfd\v\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\x00\x03\xff\xfd\x00\x06\x03\xe8\x05\x14\x00\x0f\x00-\x00I\x00\x00\x01!26=\x014&#!\"\x06\x1d\x01\x14\x16\x01\x15\x14\x06\"&5\x11\a\x06&/\x01&7\x13>\x043!2\x16\x15\x11\x14\x06\a\x01\x03\x1776\x17\x1e\x05\x1c\x02\x15\x11\x14\x166=\x01467%\x11'\x01^\x01\xf4\x15\x1d\x1d\x15\xfe\f\x15\x1d\x1d\x01\x0fN\x90Ly\x0f&\rp\x16\x10\xe6\x01\x05\x10\x11\x17\v\x02\r\r\xa2(\x15\xfd\x89\xecS\xb7\x16\x19\x02\x05\x03\x02\x02\x0122(\x15\x01SY\x04L\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d\xfc\xe6jTnlT\x01.T\f\x01\rn\x16\x1f\x01k\x02\b\x13\x0f\f\xa6\a\xfe\xaa\x0f\x1b\x06\x01\xcf\xfe\xadV\x92\x11\f\x01\x03\x05\x03\a\x03\t\x02\n\x02\xfe8\x16\x12\x13\x15\xcb\x0f\x1b\x06\x83\x01%d\x00\x02\x00\x16\x00\x16\x04\x9a\x04\x9a\x00\x0f\x00%\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x01%&\x06\x1d\x01!\"\x06\x1d\x01\x14\x163!\x15\x14\x167%64\x01\xe2\xec֛[[\x9b\xd6\xec֛[[\x9b\x02\x86\xfe\xed\x10\x17\xfe\xed\n\x0f\x0f\n\x01\x13\x17\x10\x01\x13\x10\x04\x9a[\x9b\xd6\xec֛[[\x9b\xd6\xec֛\xfe9\xdf\r\n\x15\x89\x0f\n\x96\n\x0f\x89\x15\n\r\xdf\r&\x00\x00\x02\x00\x16\x00\x16\x04\x9a\x04\x9a\x00\x0f\x00%\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\r\x01\x06\x14\x17\x05\x166=\x01!26=\x014&#!54&\x01\xe2\xec֛[[\x9b\xd6\xec֛[[\x9b\x01%\xfe\xed\x10\x10\x01\x13\x10\x17\x01\x13\n\x0f\x0f\n\xfe\xed\x17\x04\x9a[\x9b\xd6\xec֛[[\x9b\xd6\xec֛\xe8\xdf\r&\r\xdf\r\n\x15\x89\x0f\n\x96\n\x0f\x89\x15\n\x00\x00\x00\x02\x00\x16\x00\x16\x04\x9a\x04\x9a\x00\x0f\x00%\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x01\x03&\"\a\x03\x06\x16;\x01\x11\x14\x16;\x01265\x11326\x01\xe2\xec֛[[\x9b\xd6\xec֛[[\x9b\x02K\xdf\r&\r\xdf\r\n\x15\x89\x0f\n\x96\n\x0f\x89\x15\n\x04\x9a[\x9b\xd6\xec֛[[\x9b\xd6\xec֛\xfe@\x01\x13\x10\x10\xfe\xed\x10\x17\xfe\xed\n\x0f\x0f\n\x01\x13\x17\x00\x00\x02\x00\x16\x00\x16\x04\x9a\x04\x9a\x00\x0f\x00%\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x05#\"\x06\x15\x11#\"\x06\x17\x13\x1627\x136&+\x01\x114&\x01\xe2\xec֛[[\x9b\xd6\xec֛[[\x9b\x01\x97\x96\n\x0f\x89\x15\n\r\xdf\r&\r\xdf\r\n\x15\x89\x0f\x04\x9a[\x9b\xd6\xec֛[[\x9b\xd6\xec֛\xbb\x0f\n\xfe\xed\x17\x10\xfe\xed\x10\x10\x01\x13\x10\x17\x01\x13\n\x0f\x00\x00\x03\x00\x18\x00\x18\x04\x98\x04\x98\x00\x0f\x00\x96\x00\xa6\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01%\x0e\x03\a\x06&\a\x0e\x01\a\x06\x16\a\x0e\x01\a\x06\x16\a\x14\x16\a2\x1e\x01\x17\x1e\x02\x17\x1e\x027\x16\x0e\x01\x17\x1e\x02\x17\x14\x06\x14\x17\x167>\x027.\x01'.\x01'\"\x0e\x02\a\x06'&65.\x01'6.\x01\x06\a\x06'&767\x1e\x02\x17\x1e\x03\x1f\x01>\x02'&>\x017>\x037&72\x16267.\x03'4>\x02&'\x1e\x01?\x016.\x02'\x06\a\x14\x1e\x01\x15.\x02'>\x017\x162>\x01\x01\xe4\xe8՛\\\\\x9b\xd5\xe8՛\\\\\x9b\x01d\x0f+\x1c:\n\x0f=\x0f\x14?\x03\x03\x13\x01\x031\x05\t\x1c\x06\"\x01\f\x16\x19\a\x10\"/\v\x15?9\x1d\a\x14\x19\x03\r\x14#\x13\a\x05hu\x1e!$\x03\r0\f\x0fE\x11\x12.(,\x103\x0f\x04\x01\x06)\x04\x01\x03\v\x1a\x12\x17\x13\x13\v\x06\x10\x06(\x1b\x06\a\x16\x15\x13\x06\x05\x02\v\x05\x03\x03\r\x17\x04\x06\t\a\x18\x16\x06\x10\b \x11\x17\t\n*!A\v\x04\x02\x01\x03\x03\x1f7\v\f\x05\x1d,8\r\x12!\x10\x12\b?*\x10\x03\x1a\x03\n\x12\n\x11\x04\x98\\\x9b\xd5\xe8՛\\\\\x9b\xd5\xe8՛\x11\f\x11\a\t\x02\x03\x06\x05\a'\x0f\v\x17\a\"r\x16\"v\x1c\tG\x18\n\x14\x04\b\x0e\x10\x04\t.\x1e\x04\x0f&*\x11\x15\x1b\x1c\x04\a\x12\n\f\x02r\x1d$> \b\x01\a\a\x10\v\x01\x02\v\v#\x17\x011\x01\r\t\x02\x0f\x1f\x19\x02\x14\x19\x1d\x1c\x1e\x10\x06\x01\x01\a\n\f\x18\x11\r\x04\x03\f% \x10\x12\x16\x17\r\x0e*\x14\x19\n\x12\x12\x03\t\v\x17'\x14\"\x06\x01\x0e\t\f\a\x01\r\x03\x04\x05\x1c$\f\x12\v\x04g\x112(\x03\x01\t\v\v\v%\a\n\f\x11\x00\x00\x00\x00\x01\x00\x00\x00\x02\x04\xaf\x04\x85\x00\x16\x00\x00\x016\x17\x05\x177\x16\x06\a\x0e\x01'\x01\x06\"/\x01&47\x01&6\x02\xf4\xa4\x8e\xfe\xfd\x91\xfb\x06PM<\x86;\xfd\xac\x0f+\x0fo\x0f\x0f\x02X\"O\x04\x85\\e\x8a\xe8~Y\x87+\"\v\x16\xfd\xac\x10\x10n\x0f+\x10\x02We\xc9\x00\x06\x00\x00\x00`\x04\xb0\x04\xac\x00\x0f\x00\x13\x00#\x00'\x007\x00;\x00\x00\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x05#\x153\x05!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x05!\x15!\x05!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x05!\x15!d\x03\xe8);;)\xfc\x18);;\x04\x11\xc8\xc8\xfc\x18\x03\xe8);;)\xfc\x18);;\x04\x11\xfe\f\x01\xf4\xfc\x18\x03\xe8);;)\xfc\x18);;\x04\x11\xfe\xd4\x01,\x04\xac;)d);;)d);dd\xc8;)d);;)d);dd\xc8;)d);;)d);dd\x00\x00\x00\x02\x00d\x00\x00\x04L\x04\xb0\x00\v\x00\x11\x00\x00\x13!2\x16\x14\x06#!\"&46\x01\x11\a\x11\x01!\x96\x03\x84\x15\x1d\x1d\x15\xfc|\x15\x1d\x1d\x02;\xc8\xfe\xa2\x03\x84\x04\xb0\x1d*\x1d\x1d*\x1d\xfdD\xfe\xd4\xc8\x01\xf4\x01\xf4\x00\x00\x00\x03\x00\x00\x00d\x04\xb0\x04\xb0\x00\x17\x00\x1b\x00%\x00\x00\x0132\x16\x1d\x01!2\x16\x15\x11!5#\x15!\x11463!546\x17\x1535\x01\x15\x14\x06#!\"&=\x01\x01\xf4\xc8);\x01,);\xfe\f\xc8\xfe\f;)\x01,;)\xc8\x01\xf4;)\xfc\x18);\x04\xb0;)d;)\xfepdd\x01\x90);d);ddd\xfdD\xc8);;)\xc8\x00\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x15\x00+\x00A\x00W\x00\x00\x13!2\x16\x0f\x01\x17\x16\x14\x0f\x01\x06\"/\x01\a\x06&5\x1146)\x012\x16\x15\x11\x14\x06/\x01\a\x06\"/\x01&4?\x01'&6\x01\x17\x16\x14\x0f\x01\x17\x16\x06#!\"&5\x1146\x1f\x01762\x0576\x16\x15\x11\x14\x06#!\"&?\x01'&4?\x0162\x172\x01,\x15\b\x0e^\xc7\a\aj\b\x14\b\xc7^\x0e\x15\x1d\x035\x01,\x15\x1d\x15\x0e^\xc7\b\x14\bj\a\a\xc7^\x0e\b\xfe/j\a\a\xc7^\x0e\b\x15\xfe\xd4\x15\x1d\x15\x0e^\xc7\b\x14\x02\xcb^\x0e\x15\x1d\x15\xfe\xd4\x15\b\x0e^\xc7\a\aj\b\x14\b\x04\xb0\x15\x0e^\xc7\b\x14\bj\a\a\xc7^\x0e\b\x15\x01,\x15\x1d\x1d\x15\xfe\xd4\x15\b\x0e^\xc7\a\aj\b\x14\b\xc7^\x0e\x15\xfd&j\b\x14\b\xc7^\x0e\x15\x1d\x15\x01,\x15\b\x0e^\xc7\a\xce^\x0e\b\x15\xfe\xd4\x15\x1d\x15\x0e^\xc7\b\x14\bj\a\a\x00\x00\x00\x06\x00\x00\x00\x00\x04\xa8\x04\xa8\x00\x0f\x00\x1b\x00#\x00;\x00C\x00K\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&$2\x16\x14\x06\"&4$2\x16\x14\x06#\"'\a\x16\x15\x14\x06\"&546?\x02&54\x042\x16\x14\x06\"&4$2\x16\x14\x06\"&4\x01\xdb\xf2ݟ__\x9f\xdd\xf2ݠ^^\xa0\x01\xc6\xe0\xbfoo\xbf\xe0\xbfoo\xfe--  - \x01L-  \x16\x0e\x0f7\x113H3)\x1fz\x01\t\xfe\x87-  - \x02\x1d-  - \x04\xa8_\x9f\xdd\xf2ݠ^^\xa0\xdd\xf2ݟWo\xbf\xe0\xbfoo\xbf\xe0\xbf\x06 -!!-  -!\n\x91\x17\x1c$33$ 1\x05~\x01\x0e\x0e\x17\xa4 -  -  -  -\x00\x01\xff\xd8\x00Z\x04\xb9\x04\xbc\x00[\x00\x00%\x01676&'&#\"\x0e\x03\a\x00\a\x0e\x04\x17\x1e\x01327\x016'.\x01#\"\a\x06\a\x01\x0e\x01&47\x007>\x0132\x17\x1e\x01\x17\x16\x06\a\x0e\x06\a\x06#\"&'&67\x0167632\x17\x1e\x01\x17\x16\x06\a\x01\x0e\x01'.\x01\x02\"\x01\xd5[\b\av_\x16\x19\"A0?! \xfe\x88\x0f\x1e\x1e-\x13\r\x05\tY7J3\x02$$\x10\a\x1d\x12\x1a\x18\r\x1a\xfe\xab\x0f)\x1c\x0e\x01G\"#A.\x0e\x0f,=\r\x0e\x18#\f(wn\x8bkV\x0e8@Fv\"0\x1aD\x01\xffG([kPHNg\x0f\x118B\xfe\x1e\x0f*\x10\x10\x03\xad\x01\xd6[eb\x9b\x11\x04\x14\x1a2!\x1f\xfe\x89\x0f\x1b\x1d5(7\x1d>B3\x02$$'\x10\x14\x17\f\x1a\xfe\xae\x0f\x01\x1c)\x0e\x01M\"#!\x01\b7)/c#\v*xn\x89fL\a\x1b@9N\xbeD\x01\xffH\x187!$\x86W]\xb5B\xfe$\x0f\x02\x0f\x0f&\x00\x00\x00\x02\x00d\x00X\x04\xaf\x04D\x00\x19\x00D\x00\x00\x01>\x02\x1e\x02\x15\x14\x0e\x03\a.\x0454>\x02\x1e\x01\x05\"\x0e\x03\".\x03#\"\x06\x15\x14\x1e\x02\x17\x16\x17\x1e\x042>\x03767>\x0454&\x02\x890{xuX6Cy\x84\xa8>>\xa7\x85xC8Zvxy\x01#!?2-*!')-?\"Co\x1bA23\x0f\a\x0f:+1!\r\"3)@\f\x04\b+)?\x1d\x17j\x03\xb5DH\x05-Sv@9y\x80\u007f\xb2UU\xb2\u007f\x80y9@vS-\x05H-&65&&56&oM\x178J41\x0f\a\x0e<*.\x18\x180(@\v\x04\t)*D*2\x13Om\x00\x02\x009\xff\xf2\x04w\x04\xbe\x00\x17\x00.\x00\x00\x002\x1f\x01\x16\x15\x14\x06\x0f\x01&/\x017'\x01\x17\a/\x01&47\x01\x037\x16\x1f\x01\x16\x14\a\x01\x06\"/\x01&4?\x01\x16\x1f\x01\a\x17\x01\x02\xab\xbbB\x8dB8\"\x1d\x1f.\x12_\xf7\xfe{\xd4i\x13\x8dBB\x01\x1b\x12i\n\t\x8dBB\xfe\xe5B\xbaB\x8dBB7\x1d.\x12_\xf7\x01\x85\x04\xbeB\x8dB^*k\"\x1d5.\x12_\xf8\xfe{\xd4j\x12\x8dB\xbaB\x01\x1b\xfeFi\b\t\x8dB\xbaB\xfe\xe5BB\x8dB\xbbB77/\x11_\xf8\x01\x85\x00\x00\x00\x00\x03\x00\xc8\x00\x00\x03\xe8\x04\xb0\x00\x11\x00\x15\x00\x1d\x00\x00\x002\x1e\x02\x15\x11\x14\x06#!\"&5\x114>\x01\a\x11!\x11\x00\"\x06\x14\x16264\x02\x06\xaa\x9ad:;)\xfd\xa8);<f>\x02X\xfe\xffV==V=\x04\xb0\x1e.2\x15\xfcG);;)\x03\xb9\x153-\xaa\xfdD\x02\xbc\xfd\x16=V==V\x00\x01\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x16\x00\x00\t\x01\x16\x14\x06\"/\x01\x01\x11'\x01\x05\x13\x01'!\x01'&462\x03\x86\x01\x1b\x0f\x1d*\x0e$\xfe\xe9\xd4\xfe\xcc\xfe\xe8\xcb\x013\xd2\x01,\x01\v#\x0f\x1d*\x04\xa1\xfe\xe6\x0f*\x1d\x0f#\xfe\xf5\xfe\xd4\xd2\xfe\xcd\xcb\x01\x18\x014\xd4\x01\x17$\x0e*\x1d\x00\x00\x00\x00\x03\x01'\x00\x11\x04\t\x04\xe0\x002\x00@\x00K\x00\x00\x01\x15\x1e\x04\x17#.\x03'\x11\x17\x1e\x04\x15\x14\x06\a\x15#5&'.\x01'3\x1e\x01\x17\x11'.\x0454>\x0275\x19\x01\x0e\x03\x15\x14\x1e\x03\x17\x16\x17\x11>\x044.\x02\x02\xbc&ER<,\x02\x9f\x04\r\x1d3'@\"<P7(\xb2\x9bd\x96W(\x19\x03\x8b\x05WJ\x1b.BN0 2Uh:\x1d**\x15\x0e\x13&\x19\x19\th\x16)1\"\x18\x1937\x04\xe0N\x05\x13,?iB$.,\x1b\a\xfe\xcd\r\a\x13-<d>\x8b\xaa\fMO\x10W(kVMb\x10\x01O\b\x0e\x19/9X6FpH*\x06M\xfe\x12\x01\x12\x04\x0e\x1d6&\x1d+\x19\x14\b\x06\x03\xd0\xfe\xca\x02\t\x16 4C4%\x19\x00\x00\x00\x01\x00d\x00f\x03\x94\x04\xad\x00J\x00\x00\x012\x1e\x01\x15#4.\x02#\"\x06\a\x06\x15\x14\x1e\x01\x17\x16\x173\x15#\x16\x06\a\x06\a>\x0136\x16327\x17\x0e\x03#\".\x01\a\x0e\x01\x0f\x01'>\x057>\x01'#53&'.\x02>\x0176\x021T\x99^\x99'<;\x1a%T\x14)\x1b\x1a\x18\x06\x03\xf1\xc5\b\x15\x15-6\"b\x16 \x8c\"S52\x1f68\x1c \x17jt&'V\x18\x177\x04\x18\a\x13\f\x11\t0\f$ݦ\x17\x15\a\n\x02\x0e-$a\x04\xadP\x8bN(?\"\x12\x1d\x15,9\x1aJ0*\t\x05d2\x82\x1e>2\n\x0f\x01\"\x1e\x93\x13\x17\b\x01\"\x1f\x04\x03\x1a\f\v\x91\x03\x10\x05\r\v\x11\n7\x8fGd/9\x14+DAL!X\x00\x00\x00\x02\x00\x19\xff\xff\x04\x97\x04\xb0\x00\x0f\x00\x1f\x00\x00\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x05\x17\x16\x06+\x01\x11#\x11#\"&?\x0162\x01\x90\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x02\x17\xe6\x0e\b\x15\x96Ȗ\x15\b\x0e\xe6\x0e*\x01,\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84\x10\xf9\x0e\x15\xfc|\x03\x84\x15\x0e\xf9\x0f\x00\x00\x04\x00\x19\xff\xff\x03\xe8\x04\xb0\x00\a\x00\x17\x00\x1b\x00%\x00\x00\x01#5#\x15#\x11!\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x05\x1535\x13\a3\x15!57#5!\x03\xe8ddd\x01,\xfd\xa8\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x01\x91dc\xc8\xc8\xfe\xd4\xc8\xc8\x01,\x02\xbcdd\x01\xf4\xfc|\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84d\xc8\xc8\xfd\x12\xfad\x96\xfad\x00\x00\x00\x00\x04\x00\x19\xff\xff\x03\xe8\x04\xb0\x00\x0f\x00\x19\x00!\x00%\x00\x00\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x05\a3\x15!57#5!\x11#5#\x15#\x11!\a\x1535\x01\x90\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x02X\xc8\xc8\xfe\xd4\xc8\xc8\x01,ddd\x01,\xc7d\x01,\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84\x96\xfad\x96\xfad\xfbPdd\x01\xf4d\xc8\xc8\x00\x00\x00\x04\x00\x19\xff\xff\x04L\x04\xb0\x00\x0f\x00\x15\x00\x1b\x00\x1f\x00\x00\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x01#\x11#53\x13#5#\x11!\a\x1535\x01\x90\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x02Xdd\xc8dd\xc8\x01,\xc7d\x01,\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84\xfe\f\x01\x90d\xfbPd\x01\x90d\xc8\xc8\x00\x00\x00\x00\x04\x00\x19\xff\xff\x04L\x04\xb0\x00\x0f\x00\x15\x00\x19\x00\x1f\x00\x00\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x01#5#\x11!\a\x1535\x03#\x11#53\x01\x90\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x02\xbcd\xc8\x01,\xc7d\x01dd\xc8\x01,\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84\xfe\fd\x01\x90d\xc8\xc8\xfb\xb4\x01\x90d\x00\x00\x00\x00\x05\x00\x19\xff\xff\x04\xb0\x04\xb0\x00\x0f\x00\x13\x00\x17\x00\x1b\x00\x1f\x00\x00\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x05#53\x13!5!\x13!5!\x13!5!\x01\x90\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x01\xf4\xc8\xc8d\xfe\xd4\x01,d\xfep\x01\x90d\xfe\f\x01\xf4\x01,\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84\xc8\xc8\xfe\f\xc8\xfe\f\xc8\xfe\f\xc8\x00\x05\x00\x19\xff\xff\x04\xb0\x04\xb0\x00\x0f\x00\x13\x00\x17\x00\x1b\x00\x1f\x00\x00\x0132\x16\x0f\x01\x06\"/\x01&6;\x01\x113\x05!5!\x03!5!\x03!5!\x03#53\x01\x90\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\xc8\x03 \xfe\f\x01\xf4d\xfep\x01\x90d\xfe\xd4\x01,d\xc8\xc8\x01,\x16\x0e\xfa\x0f\x0f\xfa\x0e\x16\x03\x84\xc8\xc8\xfe\f\xc8\xfe\f\xc8\xfe\f\xc8\x00\x02\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00\x00\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05!\"\x06\x15\x11\x14\x163!265\x114&\x01^\x01\x90\xa2\xbc\xbb\xa3\xfep\xa5\xb9\xb9\x02g\xfe\f);;)\x01\xf4);;\x04L\xbb\xa3\xfep\xa5\xb9\xb9\xa5\x01\x90\xa5\xb9\xc8;)\xfe\f);;)\x01\xf4);\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00+\x00\x00\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05!\"\x06\x15\x11\x14\x163!265\x114&\x05\x17\x16\x14\x0f\x01\x06&5\x1146\x01^\x01\x90\xa5\xb9\xb9\xa5\xfep\xa3\xbb\xbc\x02d\xfe\f);;)\x01\xf4);;\xfeo\xfd\x11\x11\xfd\x10\x18\x18\x04L\xb9\xa5\xfep\xa5\xb9\xb9\xa5\x01\x90\xa3\xbb\xc8;)\xfe\f);;)\x01\xf4);\x82\xbe\f$\f\xbe\f\v\x15\x01\x90\x15\v\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00+\x00\x00\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05!\"\x06\x15\x11\x14\x163!265\x114&\x05!2\x16\x0f\x01\x06\"/\x01&6\x01^\x01\x90\xa3\xbb\xb9\xa5\xfep\xa5\xb9\xb9\x02g\xfe\f);;)\x01\xf4);;\xfe\x15\x01\x90\x15\v\f\xbe\f$\f\xbe\f\v\x04L\xbc\xa2\xfep\xa5\xb9\xb9\xa5\x01\x90\xa3\xbb\xc8;)\xfe\f);;)\x01\xf4);\xc8\x18\x10\xfd\x11\x11\xfd\x10\x18\x00\x00\x00\x03\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00+\x00\x00\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05!\"\x06\x15\x11\x14\x163!265\x114&\x05\x17\x16\x06#!\"&?\x0162\x01^\x01\x90\xa5\xb9\xb9\xa5\xfep\xa3\xbb\xb9\x02g\xfe\f);;)\x01\xf4);;\xfe\xfb\xbe\f\v\x15\xfep\x15\v\f\xbe\f$\x04L\xb9\xa5\xfep\xa3\xbb\xbc\xa2\x01\x90\xa5\xb9\xc8;)\xfe\f);;)\x01\xf4);\xcf\xfd\x10\x18\x18\x10\xfd\x11\x00\x00\x00\x00\x02\x00\x00\x00\x00\x05\x14\x04L\x00\x1f\x005\x00\x00\x01!2\x16\x15\x11\x14\x06#!\"&=\x01463!265\x114&#!\"&=\x0146\a\x01\x16\x14\a\x01\x06&=\x01#\"&=\x0146;\x01546\x02&\x01\x90\xa5\xb9\xb9\xa5\xfep\x15\x1d\x1d\x15\x01\xc2);;)\xfe>\x15\x1d\x1d\xbf\x01D\x10\x10\xfe\xbc\x10\x16\xfa\x15\x1d\x1d\x15\xfa\x16\x04L\xb9\xa5\xfep\xa5\xb9\x1d\x15d\x15\x1d;)\x01\xf4);\x1d\x15d\x15\x1d\xe9\xfe\xe4\x0e&\x0e\xfe\xe4\x0e\n\x15\x96\x1d\x15\xc8\x15\x1d\x96\x15\n\x00\x00\x01\x00\xd9\x00\x02\x03\xd7\x04\x9e\x00#\x00\x00\x01\x17\x16\a\x06\x02\a%2\x16\a\"\b\x01\a\x06+\x01'&7>\x01?\x01!\"'&76\x006763\x03\x19\t\b\x03\x03\x98\x02\x01,\x18\x11\x0e\x01\xfe\xf7\xfe\xf3\x04\f\x0e\t\t\t\x05\x02P''\xfe\xd2\x17\b\n\x10K\x01\r\xbb\x05\t\x10\x04\x9e\t\n\x11\v\xfeS\a\x01#\x12\xfe\xca\xfe\xc5\x05\x0f\b\v\x15\t\xe5nn\x13\x15\x14V\x01/\xd3\x06\x10\x00\x00\x00\x02\x00\x00\x00\x00\x04\xfe\x04L\x00\x1f\x005\x00\x00\x01!2\x16\x1d\x01\x14\x06#!\"\x06\x15\x11\x14\x163!2\x16\x1d\x01\x14\x06#!\"&5\x1146\x05\x01\x16\x14\a\x01\x06&=\x01#\"&=\x0146;\x01546\x01^\x01\x90\x15\x1d\x1d\x15\xfe>);;)\x01\xc2\x15\x1d\x1d\x15\xfep\xa5\xb9\xb9\x02\xf1\x01D\x10\x10\xfe\xbc\x10\x16\xfa\x15\x1d\x1d\x15\xfa\x16\x04L\x1d\x15d\x15\x1d;)\xfe\f);\x1d\x15d\x15\x1d\xb9\xa5\x01\x90\xa5\xb9\xe9\xfe\xe4\x0e&\x0e\xfe\xe4\x0e\n\x15\x96\x1d\x15\xc8\x15\x1d\x96\x15\n\x00\x02\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x15\x001\x00\x00\x01!2\x16\x15\x11\x14\x06/\x01\x01\x06\"/\x01&47\x01'&6\x01#\"\x06\x15\x11\x14\x163!26=\x017\x11\x14\x06#!\"&5\x11463!\x02\xee\x01\x90\x15\x1d\x15\x0em\xfe\xc8\x0f)\x0f\x8d\x0f\x0f\x018m\x0e\b\xfe\xef\x9c);;)\x01\xf4);Ȼ\xa3\xfep\xa5\xb9\xb9\xa5\x01,\x04\xb0\x1d\x15\xfep\x15\b\x0em\xfe\xc8\x0f\x0f\x8d\x0f)\x0f\x018m\x0e\x15\xfe\xd4;)\xfe\f);;)\x94\xc8\xfe֥\xb9\xb9\xa5\x01\x90\xa5\xb9\x00\x00\x03\x00\x0e\x00\x0e\x04\xa2\x04\xa2\x00\x0f\x00\x1b\x00#\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\x042\x16\x14\x06\"&4\x01\xe1\xeeٝ]]\x9d\xd9\xeeٝ]]\x9d\x01\xc3\xe6\xc2qq\xc2\xe6\xc2qq\xfe{\xa0rr\xa0r\x04\xa2]\x9d\xd9\xeeٝ]]\x9d\xd9\xeeٝGq\xc2\xe6\xc2qq\xc2\xe6\xc2sr\xa0rr\xa0\x00\x00\x03\x00\x00\x00\x00\x04L\x04\xb0\x00\x15\x00\x1f\x00#\x00\x00\x0132\x16\x15\x1132\x16\a\x01\x06\"'\x01&6;\x01\x1146\x01!2\x16\x1d\x01!546\x05\x1535\x01\xc2\xc8\x15\x1d\xf5\x14\n\x0e\xfe\x81\x0e'\r\xfe\x85\r\t\x15\xfa\x1d\xfe\x85\x03\xe8\x15\x1d\xfb\xb4\x1d\x03gd\x04\xb0\x1d\x15\xfe\xa2\x16\x0f\xfeV\x0f\x0f\x01\xaa\x0f\x16\x01^\x15\x1d\xfc|\x1d\x15\xfa\xfa\x15\x1dd22\x00\x00\x00\x03\x00\x00\x00\x00\x04L\x04\xac\x00\x15\x00\x1f\x00#\x00\x00\t\x01\x16\x06+\x01\x15\x14\x06+\x01\"&=\x01#\"&7\x01>\x01\x01!2\x16\x1d\x01!546\x05\x1535\x02G\x01z\x0e\n\x15\xf4\"\x16\xc8\x14\x18\xfa\x14\v\x0e\x01\u007f\x0e'\xfd\xf9\x03\xe8\x15\x1d\xfb\xb4\x1d\x03gd\x04\x9e\xfeM\x0f \xfa\x14\x1e\x1d\x15\xfa!\x0f\x01\xaf\x10\x02\xfc\u007f\x1d\x15\xfa\xfa\x15\x1dd22\x00\x03\x00\x00\x00\x00\x04L\x04K\x00\x14\x00\x1e\x00\"\x00\x00\t\x0162\x1f\x01\x16\x14\a\x01\x06\"'\x01&4?\x0162\x17\x03!2\x16\x1d\x01!546\x05\x1535\x01\x8c\x01q\a\x15\a\x8b\a\a\xfd\xf3\a\x15\a\xfe\xdc\a\a\x8b\b\x15\a\xd4\x03\xe8\x15\x1d\xfb\xb4\x1d\x03gd\x02\xd3\x01q\a\a\x8b\b\x15\a\xfd\xf3\b\b\x01#\b\x14\b\x8b\a\a\xfd\xd2\x1d\x15\xfa\xfa\x15\x1dd22\x00\x04\x00\x00\x00\x00\x04L\x04\x9b\x00\t\x00\x19\x00#\x00'\x00\x00\x13762\x1f\x01\a'&4\x0576\x16\x15\x03\x0e\x01#\x05\"&?\x01'7\x01!2\x16\x1d\x01!546\x05\x1535\x87\x8e\x0e*\x0eM\xd4M\x0e\x02\x16\xd2\x0e\x15\x02\x01\x1d\x15\xfd\xab\x15\b\x0eК\xd4\xfe=\x03\xe8\x15\x1d\xfb\xb4\x1d\x03gd\x03\xff\x8e\x0e\x0eM\xd4L\x0f*\x9a\xd2\x0e\b\x15\xfd\xa9\x14\x1e\x01\x15\x0eЛ\xd4\xfd:\x1d\x15\xfa\xfa\x15\x1dd22\x00\x00\x00\x04\x00\x00\x00\x00\x04L\x04\xb0\x00\x0f\x00\x19\x00#\x00'\x00\x00\x01\x05\x1e\x01\x15\x13\x14\x06/\x01\a'7'&6\x13\a\x06\"/\x01&4?\x01\x01!2\x16\x1d\x01!546\x05\x1535\x01^\x02W\x14\x1e\x01\x15\x0eЛԛ\xd2\x0e\b\xc3L\x0f*\x0e\x8e\x0e\x0eM\xfe\xfa\x03\xe8\x15\x1d\xfb\xb4\x1d\x03gd\x04\xb0\x02\x01\x1d\x15\xfd\xab\x15\b\x0eКԚ\xd2\x0e\x15\xfdPM\x0e\x0e\x8e\x0e*\x0eM\xfeX\x1d\x15\xfa\xfa\x15\x1dd22\x00\x02\x00\x04\xff\xec\x04\xb0\x04\xaf\x00\x05\x00\b\x00\x00%\t\x01\x11!\t\x01\x15\x01\x04\xb0\xfe\x1d\xfe\xc6\xfeq\x04\xac\xfd3\x02\xabg\x01\x14\xfeq\x01\xa7\x03\x1c\xfc\xf9\xe6\x03\xb9\x00\x00\x00\x00\x02\x00\x00\x00d\x04L\x04\xb0\x00\x15\x00\x19\x00\x00\x01\x11\x14\x06+\x01\x11!\x11#\"&5\x1146;\x01\x11!\x113\a#53\x04L\x1d\x15\x96\xfdD\x96\x15\x1d\x1d\x15\xfa\x01\xf4d\xc8dd\x03\xe8\xfc\xae\x15\x1d\x01\x90\xfep\x1d\x15\x03\xe8\x14\x1e\xfe\xd4\x01,\xc8\xc8\x00\x00\x03\x00\x00\x00E\x04\xdd\x04\xb0\x00\x16\x00\x1a\x00/\x00\x00\x01\a\x01'&\"\x0f\x01!\x11#\"&5\x1146;\x01\x11!\x113\a#53\x01\x17\x16\x14\a\x01\x06\"/\x01&4?\x0162\x1f\x01\x0162\x04L\x02\xfe\xd5_\t\x19\t\x95\xfeȖ\x15\x1d\x1d\x15\xfa\x01\xf4d\xc8dd\x01\xb0j\a\a\xfe\\\b\x14\b\xca\b\bj\a\x15\aO\x01)\a\x15\x03\xe8\x95\xfe\xd5_\t\t\x93\xfep\x1d\x15\x03\xe8\x14\x1e\xfe\xd4\x01,\xc8\xc8\xfd\xcej\a\x15\a\xfe[\a\a\xcb\a\x15\aj\b\bO\x01)\a\x00\x03\x00\x00\x00\r\x05\a\x04\xb0\x00\x16\x00\x1a\x00>\x00\x00\x01\x11\a'.\x01\a\x01!\x11#\"&5\x1146;\x01\x11!\x113\a#53\x01\x17\x16\x14\x0f\x01\x17\x16\x14\x0f\x01\x06\"/\x01\a\x06\"/\x01&4?\x01'&4?\x0162\x1f\x01762\x04Lg\x86\x0f%\x10\xfe\xf6\xfe\xb7\x96\x15\x1d\x1d\x15\xfa\x01\xf4d\xc8dd\x01\xf6F\x0f\x0f\x83\x83\x0f\x0fF\x0f)\x0f\x83\x83\x0f)\x0fF\x0f\x0f\x83\x83\x0f\x0fF\x0f)\x0f\x83\x83\x0f)\x03\xe8\xfe\xf3g\x86\x0f\x03\x0e\xfe\xf6\xfep\x1d\x15\x03\xe8\x14\x1e\xfe\xd4\x01,\xc8\xc8\xfd\x8cF\x0f)\x0f\x83\x83\x0f)\x0fF\x0f\x0f\x83\x83\x0f\x0fF\x0f)\x0f\x83\x83\x0f)\x0fF\x0f\x0f\x83\x83\x0f\x00\x00\x03\x00\x00\x00\x15\x04\x97\x04\xb0\x00\x15\x00\x19\x00/\x00\x00\x01\x11!\"\x06\x1d\x01!\x11#\"&5\x1146;\x01\x11!\x113\a#53\x1332\x16\x1d\x0132\x16\x0f\x01\x06\"/\x01&6;\x01546\x04L\xfe\xa2\x15\x1d\xfe\f\x96\x15\x1d\x1d\x15\xfa\x01\xf4d\xc8dd\x96d\x15\x1d\x96\x15\b\x0e\xe6\x0e*\x0e\xe6\x0e\b\x15\x96\x1d\x03\xe8\xfe\xd4\x1d\x15\x96\xfep\x1d\x15\x03\xe8\x14\x1e\xfe\xd4\x01,\xc8\xc8\xfd\xa8\x1d\x15\xfa\x15\x0e\xe6\x0e\x0e\xe6\x0e\x15\xfa\x15\x1d\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04\x97\x04\xb0\x00\x15\x00\x19\x00/\x00\x00\x01\x11'&\"\a\x01!\x11#\"&5\x1146;\x01\x11!\x113\a#53\x13\x17\x16\x06+\x01\x15\x14\x06+\x01\"&=\x01#\"&?\x0162\x04L\xa5\x0e*\x0e\xfe\xf9\xfen\x96\x15\x1d\x1d\x15\xfa\x01\xf4d\xc8dd\xeb\xe6\x0e\b\x15\x96\x1d\x15d\x15\x1d\x96\x15\b\x0e\xe6\x0e*\x03\xe8\xfep\xa5\x0f\x0f\xfe\xf7\xfep\x1d\x15\x03\xe8\x14\x1e\xfe\xd4\x01,\xc8\xc8\xfd\x85\xe5\x0f\x15\xfa\x14\x1e\x1e\x14\xfa\x15\x0f\xe5\x0f\x00\x03\x00\x00\x00\xc8\x04\xb0\x04L\x00\t\x00\x13\x00\x17\x00\x00\x13!2\x16\x1d\x01!546\x01\x11\x14\x06#!\"&5\x11\x13\x15!52\x04L\x15\x1d\xfbP\x1d\x04\x93\x1d\x15\xfb\xb4\x15\x1dd\x01\x90\x04L\x1d\x15\x96\x96\x15\x1d\xfe\xd4\xfd\xda\x15\x1d\x1d\x15\x02&\xfe\xd4\xc8\xc8\x00\x00\x06\x00\x03\x00}\x04\xad\x04\x97\x00\x0f\x00\x19\x00\x1d\x00-\x001\x00;\x00\x00\x01\x17\x16\x14\x0f\x01\x06&=\x01!5!546\x01#\"&=\x0146;\x01\x17#53\x0176\x16\x1d\x01!\x15!\x15\x14\x06/\x01&4\x05#5;\x022\x16\x1d\x01\x14\x06+\x01\x03\xa7\xf8\x0e\x0e\xf8\x0e\x15\xfep\x01\x90\x15\xfd/2\x15\x1d\x1d\x152\xc8dd\xfe\x82\xf7\x0e\x15\x01\x90\xfep\x15\x0e\xf7\x0f\x03\x81ddd3\x14\x1d\x1d\x143\x04\x8d\xe6\x0e*\x0e\xe6\x0e\b\x15\x96Ȗ\x15\b\xfe\x85\x1d\x15d\x15\x1d\xc8\xc8\xfd\xcb\xe6\x0e\b\x15\x96Ȗ\x15\b\x0e\xe6\x0e*y\xc8\x1d\x15d\x15\x1d\x00\x00\x00\x00\x02\x00d\x00\x00\x04\xb0\x04\xb0\x00\x16\x00Q\x00\x00\x01%6\x16\x15\x11\x14\x06+\x01\"&5\x11.\x045\x1146%2\x16\x1f\x01\x11\x14\x0e\x02\x0f\x01\x11\x14\x06+\x01\"&5\x11.\x045\x114>\x0332\x16\x1f\x01\x113\x11<\x01>\x0232\x16\x1f\x01\x113\x114>\x03\x03^\x01\x14\x19%\x1d\x15\xc8\x15\x1d\x04\x0e\"\x1a\x16%\xfe\xe1\x16\x19\x02\x01\x15\x1d\x1d\v\n\x1d\x15\xc8\x15\x1d\x04\x0e\"\x1a\x16\x01\a\n\x13\r\x14\x19\x02\x03d\x05\t\x15\x0f\x17\x19\x01\x01d\x01\x05\t\x15\x041t\x12\x14\x1f\xfb\xae\x15\x1d\x1d\x15\x01\x8d\x01\b\x1b\x1f5\x1e\x01g\x1fD\x91\x19\f\r\xfe>\x1c?1)\v\v\xfeA\x15\x1d\x1d\x15\x01\xbf\x04\x0f..@\x1c\x01\xc2\x02\a\x11\r\v\x19\f\r\xfe\xa2\x01^\x02\a\x11\r\v\x19\f\r\xfe\xa2\x01^\x02\a\x11\r\v\x00\x01\x00d\x00\x00\x04\xb0\x04L\x003\x00\x00\x01\x15\"\x0e\x03\x15\x11\x14\x16\x1f\x01\x15!5265\x11!\x11\x14\x163\x15!52>\x035\x114&/\x015!\x15\"\x06\x15\x11!\x114&#5\x04\xb0\x04\x0e\"\x1a\x162\x19\x19\xfepK\x19\xfe\f\x19K\xfep\x04\x0e\"\x1a\x162\x19\x19\x01\x90K\x19\x01\xf4\x19K\x04L8\x01\x05\n\x14\x0e\xfc\x88\x16\x19\x01\x0288\r%\x01\x8a\xfev%\r88\x01\x05\n\x14\x0e\x03x\x16\x19\x01\x0288\r%\xfev\x01\x8a%\r8\x00\x00\x00\x06\x00\x00\x00\x00\x04L\x04L\x00\f\x00\x1c\x00 \x00$\x00(\x004\x00\x00\x01!2\x16\x1d\x01#\x055'!7!\x05!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x15!5\x01\x055%\x05\x15!5\x05\x15\x14\x06#!\a!'!73\x02\xa3\x01w\x15\x1di\xfe\xd9\xc8\xfepd\x01w\xfe%\x01,);;)\xfe\xd4);;)\x01,\x02\xbc\xfep\x01\x90\xfc\x18\x01,\x02\xbc\x1d\x15\xfe\x89d\xfe\x89d\x01\x90\xc8i\x03\xe8\x1d\x15\x96bb\xc8d\xc8;)\xfe\f);;)\x01\xf4);d\xc8\xc8\xfe\xf7\x85\xa3\x85\xc6\xc8\xc8f\xf8\x15\x1ddd\xc8\x00\x01\x00\x10\x00\x10\x04\x9f\x04\x9f\x00&\x00\x00\x1376\x16\x1f\x01\x16\x06\x0f\x01\x1e\x01\x177>\x01\x1f\x01\x1e\x01\x0f\x01\x06\".\x06'.\x057\x11\xa2\x11.\x0e\x8b\x0e\x06\x11wf\xfc\x8dw\x113\x13\xc0\x13\a\x11\xa3\x03\r.1LOefx;JwF2\x13\v\x01\x03\xef\xa2\x11\x06\x13\xc2\x141\x11v\x8e\xfcev\x11\x04\x0e\x88\x0e/\x11\xa2\x01\x04\b\x15 5Cc;J\x99|sU@\x10\x00\x00\x00\x02\x00\x00\x00\x00\x04\xb0\x04L\x00#\x00A\x00\x00\x002\x1e\x04\x1f\x01\x15\x14\x06/\x01.\x01=\x01& \a\x15\x14\x06\x0f\x01\x06&=\x01>\x05\x122\x1e\x02\x1f\x01\x15\x01\x1e\x01\x1d\x01\x14\x06#!\"&=\x01467\x0154>\x02\x01\xfc\xb8\xa6ud?,\t\t\x1d\x14\xca\x14\x1d\x8d\xfe\u008d\x1d\x14\xca\x14\x1d\x03\r1;ft\xcapR&\x16\x01\x01\x01m\x0e\x15\x1d\x15\xfb\xb4\x15\x1d\x15\x0e\x01m\x02\x16&\x04L\x15!((\"\n\n\xc8\x15\x18\x03\"\x03\"\x15\x92\x18\x18\x92\x15\"\x03\"\x03\x18\x15\xc8\x04\r'$+ \xfe\xe4\x13\x1c\x1c\n\n2\xfe\xd1\x0f2\x14\xd4\x15\x1d\x1d\x15\xd4\x142\x0f\x01/2\x04\r!\x19\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\r\x00\x1d\x00'\x00\x00\x01\a!'\x113\x15353\x15353\x01!2\x16\x14\x06+\x01\x17!7#\"&46\x03!2\x16\x1d\x01!546\x04L\xc8\xfd\xa8\xc8\xc8\xc8\xc8\xc8\xc8\xfc\xae\x02\xbc\x15\x1d\x1d\x15\f\x89\xfcJ\x89\f\x15\x1d\x1d\xb3\x04L\x15\x1d\xfbP\x1d\x02\xbc\xc8\xc8\x01\xf4\xc8\xc8\xc8\xc8\xfc\xe0\x1d*\x1ddd\x1d*\x1d\xfe\xd4\x1d\x1522\x15\x1d\x00\x00\x00\x03\x00d\x00\x00\x04\xb0\x04L\x00\t\x00\x13\x00\x1d\x00\x00\x01#\"\x06\x15\x11!\x114&\x01#\"\x06\x15\x11!\x114&\x01!\x1146;\x012\x16\x15\x02\xbcd);\x01,;\x01gd);\x01,;\xfd\x1b\xfe\xd4;)d);\x04L;)\xfc\x18\x03\xe8);\xfe\xd4;)\xfdD\x02\xbc);\xfc\xe0\x01\x90);;)\x00\x00\x00\x00\x05\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x1f\x00%\x00)\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x05#\x153\x11!535#\x11!\x05\x11\a#\x113\a\x113\x11\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfe\f\xc8\xc8\xfe\xd4\xc8\xc8\x01,\x01\x90d\xc8\xc8dd\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xc8d\xfe\xd4dd\x01,d\xfe\xd4d\x01\xf4d\xfe\xd4\x01,\x00\x00\x00\x05\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x1f\x00%\x00)\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x01#5#\x15#\x113\x15353\x05\x11\a#\x113\a\x113\x11\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfe\fdddddd\x01\x90d\xc8\xc8dd\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xfd\xa8\xc8\xc8\x01\xf4\xc8\xc8d\xfe\xd4d\x01\xf4d\xfe\xd4\x01,\x00\x04\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x1b\x00#\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x05#\x113\x15!\x11!\x05#\x113\x15!\x11!\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfe\f\xc8\xc8\xfe\xd4\x01,\x01\x90\xc8\xc8\xfe\xd4\x01,\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xc8\xfe\xd4d\x01\xf4d\xfe\xd4d\x01\xf4\x00\x00\x00\x04\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x16\x00\x19\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x01-\x01\r\x01\x11\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfe\f\xfe\xd4\x01,\x01\x90\xfe\xd4\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xfe\f\x96\x96\x96\x96\x01,\x00\x00\x00\x05\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x17\x00 \x00)\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x03!\x11!\a#\"\x06\x15\x14\x16;\x01\x01\x1132654&#\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84d\xfdD\x02\xbcd\x82&96)\x82\xfe\f\x82)69&\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xfd\xa8\x01\xf4dVAAT\x01,\xfe\xd4TAAV\x00\x00\x00\x05\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x1f\x00%\x00)\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x05#\x153\x11!535#\x11!\x01#\x11#53\x03#53\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfe\f\xc8\xc8\xfe\xd4\xc8\xc8\x01,\x01\x90dd\xc8\xc8dd\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xc8d\xfe\xd4dd\x01,\xfe\f\x01\x90d\xfe\fd\x00\x06\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x19\x00\x1f\x00#\x00'\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x053\x11!\x113\x01#\x11#53\x05\x1535\x01#53\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfdD\xc8\xfe\xd4d\x02Xdd\xc8\xfd\xa8d\x01,dd\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xc8\xfep\x01\xf4\xfe\f\x01\x90d\xc8\xc8\xc8\xfe\xd4d\x00\x05\xff\x9c\x00\x00\x04\xb0\x04L\x00\x0f\x00\x13\x00\x1c\x00\"\x00&\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x01\a#575#5!\x01#\x11#53\x03#53\xc8\x02\xbc|\xb0\xb0|\xfdD|\xb0\xb0\x18\x03\x84\xfe\f\xc7d\xc7\xc8\x01,\x01\x90dd\xc8\xc7dd\x04L\xb0|\xfe\f|\xb0\xb0|\x01\xf4|\xb0\xc8\xfdD\x02\xbc\xfep\xc82Ȗd\xfe\f\x01\x90d\xfe\fd\x00\x00\x00\x03\x00\t\x00\t\x04\xa7\x04\xa7\x00\x0f\x00\x1b\x00%\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\a!\x15!\x15!'57!\x01\xe0\xf0۞^^\x9e\xdb\xf0۞^^\x9e\x01\xc5\xe4\xc2qq\xc2\xe4\xc2qql\xfe\xd4\x01,\xfe\xd4dd\x01,\x04\xa7^\x9e\xdb\xf0۞^^\x9e\xdb\xf0۞Lq\xc2\xe4\xc2qq\xc2\xe4\xc2\xd0\xc8dd\xc8d\x00\x00\x00\x00\x04\x00\t\x00\t\x04\xa7\x04\xa7\x00\x0f\x00\x1b\x00'\x00+\x00\x00\x002\x1e\x02\x14\x0e\x02\".\x024>\x01\x04\"\x0e\x01\x14\x1e\x012>\x014&\a\x15\a\x17\x15#'#\x15#\x11!\a\x1535\x01\xe0\xf0۞^^\x9e\xdb\xf0۞^^\x9e\x01\xc5\xe4\xc2qq\xc2\xe4\xc2qql2ddd\x96d\x01,\xc8\xc8\x04\xa7^\x9e\xdb\xf0۞^^\x9e\xdb\xf0۞Lq\xc2\xe4\xc2qq\xc2\xe4\xc2\xd0d2d2dd\x01\x90ddd\x00\x00\x02\xff\xf2\xff\x9d\x04\xc2\x04A\x00 \x006\x00\x00\x012\x16\x17632\x16\x14\x06+\x0154&#!\"\x06\x1d\x01#\"&5467&54>\x01\x1332\x16\x15\x1132\x16\x0f\x01\x06\"/\x01&6;\x01\x1146\x01\xf7n\xb5,,.x\xaa\xaax\x80\x1d\x15\xfe\xd4\x15\x1d\xdePpVA\x02b\xaaz\x96\n\x0f\x89\x15\n\r\xdf\r&\r\xdf\r\n\x15\x89\x0f\x04Awa\x0e\xad\xf1\xad\xfa\x15\x1d\x1d\x15\xfasOEk\x0e\x13\x12d\xaab\xfd\xb3\x0f\n\xfe\xed\x17\x10\xf4\x10\x10\xf4\x10\x17\x01\x13\n\x0f\x00\x00\x00\x00\x02\xff\xf2\xff\x9c\x04\xc3\x04A\x00\x1c\x003\x00\x00\x012\x16\x17632\x16\x17\x14\x06\a\x01&\"\a\x01#\"&5467&54>\x01\x13\x17\x16\x06+\x01\x11\x14\x06+\x01\"&5\x11#\"&76762\x01\xf6n\xb6,+.y\xaa\x01xZ\xfe\x86\r%\r\xfe\x83\tOqVA\x02b\xa9\xe6\xdf\r\n\x15\x89\x0f\n\x96\n\x0f\x89\x15\n\r\xc7\x18\x13\x19\x04Awa\x0f\xadxc\xa4\x1c\x01h\x10\x10\xfe\x93sOEk\x0e\x13\x13d\xa9c\xfd\x92\xe4\x10\x17\xfe\xed\n\x0f\x0f\n\x01\x13\x17\x10\xcc\x18\x13\x00\x00\x00\x01\x00d\x00\x00\x04L\x04m\x00\x18\x00\x00%5!\x013\x013\t\x013\x013\x01!\x15#\"\x06\x1d\x01!54&#\x02\xbc\x01\x90\xfe\xf2\xaa\xfe\xf2\xaa\xfe\xd4\xfeԪ\xfe\xf2\xaa\xfe\xf2\x01\x902\x15\x1d\x01\x90\x1d\x15dd\x01,\x01,\x01M\xfe\xb3\xfe\xd4\xfe\xd4d\x1d\x1522\x15\x1d\x00\x00\x00\x00\x01\x00y\x00\x00\x047\x04\x9b\x00/\x00\x00\x012\x16\x17\x1e\x01\x15\x14\x06\a\x16\x15\x14\x06#\"'\x152\x16\x1d\x01!54635\x06#\"&547.\x0154632\x174&546\x02X^\x93\x1aY{;2\tiJ7-\x15\x1d\xfe\xd4\x1d\x15-7Ji\x04/9iJ\x05\x12\x02\xa3\x04\x9bqY\x06\x83Z=g\x1f\x1d\x1aJi\x1e\xfb\x1d\x1522\x15\x1d\xfb\x1eiJ\x12\x14\x15X5Ji\x02\x02\x10\x05t\xa3\x00\x00\x00\x06\x00'\x00\x14\x04\x89\x04\x9c\x00\x11\x00*\x00B\x00J\x00b\x00{\x00\x00\x01\x16\x12\x02\a\x0e\x01\"&'&\x02\x127>\x012\x16\x05\"\a\x0e\x01\a\x06\x16\x1f\x01\x163276767>\x01/\x01&'&\x17\"\a\x0e\x01\a\x06\x16\x1f\x01\x16327>\x017>\x01/\x01&'&\x16&\"\x06\x14\x16267\"\a\x0e\x01\a\x0e\x01\x1f\x01\x16\x17\x16327>\x0176&/\x01&\x17\"\a\x06\a\x06\a\x0e\x01\x1f\x01\x16\x17\x16327>\x0176&/\x01&\x03\xf2oOOoS\xd9\xdc\xd9SoOOoS\xd9\xdc\xd9\xfe=\x04\x04y\xb1\"\x04\r\f$\x03\x04\x17\x06\x1bGF`\v\r\x03\t\x03\v\a\x1c\x04\x05Pu\x18\x04\f\r\"\x04\x04\x16\x06\x12Q9\f\f\x03\t\x03\v\a\xf9c\x8ccc\x8ccV\x16\x06\x12Q:\v\f\x03\t\x03\v\a\b\x04\x05Pu\x18\x04\r\f\"\x04\x8d\x17\x06\x1bGF`\v\r\x03\t\x03\v\a\b\x04\x04y\xb1\"\x04\r\f$\x03\x03\xf2o\xfe\xd5\xfe\xd5oSWWSo\x01+\x01+oSWW\x1c\x01\"\xb1y\f\x16\x03\t\x01\x16`FG\x1b\x03\x15\f#\r\x06\x04\x91\x02\x18uP\r\x16\x03\t\x01\x15:Q\x12\x03\x15\v#\f\a\x04\xfacc\x8ccc\x15\x15:Q\x11\x04\x15\v#\f\a\x04\x02\x18uP\r\x16\x03\t\x01$\x16`FG\x1b\x03\x15\f#\r\x06\x04\x01\"\xb1y\f\x16\x03\t\x01\x00\x00\x00\x05\x00d\x00\x00\x03\xe8\x04\xb0\x00\f\x00\x0f\x00\x16\x00\x1c\x00\"\x00\x00\x01!\x11#5!\x15!\x11463!\x01#5\x033\a'353\x03!\"&5\x11\x05\x15\x14\x06+\x01\x02\xbc\x01,\xb4\xfe\xac\xfe\x84\x0f\n\x02?\x01,\xc8d\xa2\xd4Ԣd\xb4\xfeu\n\x0f\x03\x84\x0f\n\xc3\x03 \xfe\x84\xc8\xc8\x02\xf3\n\x0f\xfe\xd4\xc8\xfc\xe0\xd4\xd4\xc8\xfe\f\x0f\n\x01\x8b\xc8\xc3\n\x0f\x00\x00\x00\x00\x05\x00d\x00\x00\x03\xe8\x04\xb0\x00\t\x00\f\x00\x13\x00\x1a\x00!\x00\x00\x01!\x11\t\x01\x11463!\x01#5\x13#\x15#5#7\x03!\"&=\x01)\x01\x15\x14\x06+\x015\x02\xbc\x01,\xfe\xa2\xfd\xda\x0f\n\x02?\x01,\xc8>\xa2d\xa2Ԫ\xfe\x9d\n\x0f\x01|\x02\b\x0f\n\x9b\x03 \xfd\xf8\x01^\xfd\xda\x04G\n\x0f\xfe\xd4\xc8\xfc|\xc8\xc8\xd4\xfed\x0f\n77\n\x0fP\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x03\xf4\x00\b\x00\x19\x00\x1f\x00\x00\x01#\x153\x17!\x11#7\x0532\x1e\x02\x15!\x15!\x03\x1134>\x02\x013\x03!\x01!\x04\x8a\xa2dd\xfeԢ\xd4\xfd\x12\xc8\x1b\x1a!\x0e\x01,\xfd\xa8\xc8d\x0e!\x1a\x02s\xf0\xf0\xfc\xe0\x01,\x01\xf4\x03 \xc8d\x01,\xd4\xd4\x04\x11+$d\xfe\xa2\x01\xc2$+\x11\x04\xfep\xfep\x01\xf4\x00\x00\x00\x03\x00\x00\x00\x00\x04L\x04L\x00\x19\x002\x009\x00\x00\x0132\x16\x1d\x0132\x16\x1d\x01\x14\x06#!\"&=\x0146;\x01546\x0552\x16\x15\x11\x14\x06#!\"'7\x01\x11463\x15\x14\x163!26\x01\a5#535\x02\x8ad\x15\x1d2\x15\x1d\x1d\x15\xfe\xd4\x15\x1d\x1d\x152\x1d\x01s);;)\xfd\xa8\x01\x13\xf6\xfe\xba;)X>\x01,>X\xfd\xb4\xd4\xc8\xc8\x04L\x1d\x152\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d2\x15\x1d\xfa\x96;)\xfc\xe0);\x04\xf6\x01F\x01D);\x96>XX\xfd\xe6Ԣd\xa2\x00\x03\x00d\x00\x00\x04\xbc\x04L\x00\x19\x006\x00=\x00\x00\x0132\x16\x1d\x0132\x16\x1d\x01\x14\x06#!\"&=\x0146;\x01546\x0552\x16\x15\x11#\x113\x14\x0e\x02#!\"&5\x11463\x15\x14\x163!26\x01\a5#535\x01\xc2d\x15\x1d2\x15\x1d\x1d\x15\xfe\xd4\x15\x1d\x1d\x152\x1d\x01s);\xc8\xc8\x0e!\x1a\x1b\xfd\xa8);;)X>\x01,>X\x01\x9c\xd4\xc8\xc8\x04L\x1d\x152\x1d\x15d\x15\x1d\x1d\x15d\x15\x1d2\x15\x1d\xfa\x96;)\xfe\f\xfe\xd4$+\x11\x04;)\x03 );\x96>XX\xfd\xe6Ԣd\xa2\x00\x00\x00\x03\xff\xa2\x00\x00\x05\x16\x04\xd4\x00\v\x00\x1b\x00\x1f\x00\x00\t\x01\x16\x06#!\"&7\x0162\x13#\"\x06\x17\x13\x1e\x01;\x01267\x136&\x03\x1535\x02\x92\x02}\x17 ,\xfb\x04, \x17\x02}\x16@D\xd0\x14\x18\x04:\x04#\x146\x14#\x04:\x04\x18\xe0\xc8\x04\xad\xfb\xb0&77&\x04P'\xfeL\x1d\x14\xfe\xd2\x14\x1d\x1d\x14\x01.\x14\x1d\xfe\fdd\x00\x00\x00\x00\t\x00\x00\x00\x00\x04L\x04L\x00\x0f\x00\x1f\x00/\x00?\x00O\x00_\x00o\x00\u007f\x00\x8f\x00\x00\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x1332\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x0132\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146!32\x16\x1d\x01\x14\x06+\x01\"&=\x0146\x01\xa9\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x01\x9a\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\xfc\xea\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x01\x9a\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x01\x9a\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\xfc\xea\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x01\x9a\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x01\x9a\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x04L\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\xfe\xd4\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\xfe\xd4\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\xfe\xd4\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x00\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x05\x14\x00\x19\x00)\x003\x00\x00\x013\x15#\x15!2\x16\x0f\x01\x06\a!&/\x01&63!5#5353\x01!2\x16\x14\x06+\x01\x17!7#\"&46\x03!2\x16\x1d\x01!546\x02\xbcdd\x01^>1\x1cB)(\xfc\xfc()B\x1c1>\x01^dd\xc8\xfe>\x02\xbc\x15\x1d\x1d\x15\f\x89\xfcJ\x8a\r\x15\x1d\x1d\xb3\x04L\x15\x1d\xfbP\x1d\x04\xb0\xc8dO7\x84S33S\x847Od\xc8d\xfc|\x1d*\x1ddd\x1d*\x1d\xfe\xd4\x1d\x1522\x15\x1d\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x05\x14\x00\x05\x00\x19\x00+\x005\x00\x00\x002\x16\x15#4\a!\x16\x15\x14\a!2\x16\x0f\x01!'&63!&54\x03!2\x16\x14\x06+\x01\x15\x05!%5#\"&46\x03!2\x16\x1d\x01!546\x020P9\xc2<\x01:\x12\x03\x01H)\a\"\xaf\xfdZ\xb2\"\n)\x01H\x03\xaf\x02\xbc\x15\x1d\x1d\x15\x96\x01\x13\xfcJ\x01\x13\x96\x15\x1d\x1d\xb3\x04L\x15\x1d\xfbP\x1d\x05\x14;))\x8d%&\b\x11!\x16\x91\x91\x16!\x11\b&\xfe\x95\x1d*\x1d\xc8\xc8\xc8\xc8\x1d*\x1d\xfd\xa8\x1d\x1522\x15\x1d\x00\x04\x00\x00\x00\x00\x04\xb0\x04\x9d\x00\a\x00\x14\x00$\x00.\x00\x00\x002\x16\x14\x06\"&4\x1332\x16\x15\x14\x17!65463\x01!2\x16\x14\x06+\x01\x17!7#\"&46\x03!2\x16\x1d\x01!546\x02\r\x96jj\x96j\xb7.\"+'\xfe\xbc'+#\xfe\xcd\x02\xbc\x15\x1d\x1d\x15\r\x8a\xfcJ\x89\f\x15\x1d\x1d\xb3\x04L\x15\x1d\xfbP\x1d\x04\x9dj\x96jj\x96\xfe\xeb9:LkkL:9\xfer\x1d*\x1ddd\x1d*\x1d\xfe\xd4\x1d\x1522\x15\x1d\x00\x04\x00\x00\x00\x00\x04\xb0\x05\x14\x00\x0f\x00\x1c\x00,\x006\x00\x00\x012\x1e\x01\x15\x14\x06\"&547\x177'6\x1332\x16\x15\x14\x17!65463\x01!2\x16\x14\x06+\x01\x17!7#\"&46\x03!2\x16\x1d\x01!546\x02X/[3o\x9co\"\x90o\xa3\"\x1f.\"+'\xfe\xbc'+#\xfe\xcd\x02\xbc\x15\x1d\x1d\x15\r\x8a\xfcJ\x89\f\x15\x1d\x1d\xb3\x04L\x15\x1d\xfbP\x1d\x05\x14k\x8b6NooN>Q\x8fo\xa3\x1a\xfe\n9:LkkL:9\xfer\x1d*\x1ddd\x1d*\x1d\xfe\xd4\x1d\x1522\x15\x1d\x00\x00\x00\x03\x00\x00\x00\x00\x04\xb0\x05\x12\x00\x12\x00\"\x00,\x00\x00\x01\x05\x15!\x14\x1e\x03\x17!.\x0154>\x027\x01!2\x16\x14\x06+\x01\x17!7#\"&46\x03!2\x16\x1d\x01!546\x02X\x01,\xfe\xd4%??M\x13\xfd\xee<=Bm\x8fJ\xfe\xa2\x02\xbc\x15\x1d\x1d\x15\r\x8a\xfcJ\x89\f\x15\x1d\x1d\xb3\x04L\x15\x1d\xfbP\x1d\x04\xb0\xa1\x8b9fQ?H\x19S\xbdTT\xa1vK\x04\xfc~\x1d*\x1ddd\x1d*\x1d\xfe\xd4\x1d\x1522\x15\x1d\x00\x02\x00\xc8\x00\x00\x03\xe8\x05\x14\x00\x0f\x00)\x00\x00\x002\x16\x1d\x01\x1e\x01\x1d\x01!546754\x03!2\x16\x17#\x153\x15#\x153\x15#\x153\x14\x06#!\"&5\x1146\x02/R;.6\xfep6.d\x01\x906\\\x1a\xac\xc8\xc8\xc8\xc8\xc8uS\xfepSuu\x05\x14;)N\x1a\\6226\\\x1aN)\xfeG6.dddddSuuS\x01\x90Su\x00\x00\x03\x00d\xff\xff\x04L\x04L\x00\x0f\x00/\x003\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x03!2\x16\x1d\x01\x14\x06#!\x17\x16\x14\x06\"/\x01!\a\x06\"&4?\x01!\"&=\x0146\x05\a!'\x96\x03\x84\x15\x1d\x1d\x15\xfc|\x15\x1d\x1d\x04\x03\xb6\n\x0f\x0f\n\xfe\xe5\xe0\r\x1a%\rX\xfd\xf4W\r&\x1a\r\xe0\xfe\xdf\n\x0f\x0f\x01\xaad\x01Dd\x04L\x1d\x15\xfe\f\x15\x1d\x1d\x15\x01\xf4\x15\x1d\xfdD\x0f\n2\n\x0f\xe0\r%\x1b\rXX\r\x1b%\r\xe0\x0f\n2\n\x0fddd\x00\x00\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04L\x00\x19\x00#\x00-\x007\x00\x00\x13!2\x16\x1d\x01#4&+\x01\"\x06\x15#4&+\x01\"\x06\x15#546\x03!2\x16\x15\x11!\x1146\x13\x15\x14\x06+\x01\"&=\x01!\x15\x14\x06+\x01\"&=\x01\xc8\x03 Sud;)\xfa);d;)\xfa);du\x11\x03\xe8);\xfbP;\xf1\x1d\x15d\x15\x1d\x03\xe8\x1d\x15d\x15\x1d\x04LuS\xc8);;));;)\xc8Su\xfe\f;)\xfe\xd4\x01,);\xfe\f2\x15\x1d\x1d\x1522\x15\x1d\x1d\x152\x00\x03\x00\x01\x00\x00\x04\xa9\x04\xac\x00\r\x00\x11\x00\x1b\x00\x00\t\x01\x16\x14\x0f\x01!\x01&47\x0162\t\x03\x03!2\x16\x1d\x01!546\x01\xe0\x02\xaa\x1f\x1f\x83\xfe\x1f\xfd\xfb  \x01'\x1fY\xfe\xac\x01V\x01/\xfe\xab\xa2\x03 \x15\x1d\xfc|\x1d\x04\x8d\xfdU\x1fY\x1f\x83\x02\x06\x1fY\x1f\x01(\x1f\xfen\xfe\xaa\x010\x01U\xfc\x1b\x1d\x1522\x15\x1d\x00\x00\x00\x00\x02\x00\x8f\x00\x00\x04!\x04\xb0\x00\x17\x00/\x00\x00\x01\x03.\x01#!\"\x06\a\x03\x06\x163!\x15\x14\x1626=\x01326\x03!546;\x01546;\x01\x113\x1132\x16\x1d\x0132\x16\x15\x04!\xbd\b'\x15\xfep\x15'\b\xbd\b\x13\x15\x02q\x1d*\x1d}\x15\x13\xa8\xfd\xad\x1d\x152\x1d\x150\xc8/\x15\x1d2\x15\x1d\x02\x87\x01\xfa\x13\x1c\x1c\x13\xfe\x06\x13\x1c\x96\x15\x1d\x1d\x15\x96\x1c\xfd\x8c2\x15\x1d2\x15\x1d\x01,\xfe\xd4\x1d\x152\x1d\x15\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\r\x00\x10\x00\x1f\x00\"\x00\x00\x01!\x11\x14\x06#!\x11\x015463!\x01#5\x01!\x11\x14\x06#!\"&5\x11463!\x01#5\x03\x84\x01,\x0f\n\xfe\x89\xfe\xd4\x0f\n\x01w\x01,\xc8\xfd\xa8\x01,\x0f\n\xfdv\n\x0f\x0f\n\x01w\x01,\xc8\x03 \xfd\xc1\n\x0f\x02O\x01,T\n\x0f\xfe\xd4\xc8\xfe\f\xfd\xc1\n\x0f\x0f\n\x03\xb6\n\x0f\xfe\xd4\xc8\x00\x02\xff\x9c\x00d\x05\x14\x04G\x00F\x00V\x00\x00\x0132\x1e\x02\x17\x16\x17\x16676'&7>\x01\x16\x17\x16\a\x0e\x01+\x01\x0e\x01\x0f\x01\x0e\x01+\x01\"&?\x01\x06+\x01\"'\a\x0e\x01+\x01\"&?\x01&/\x01.\x01=\x0146;\x0167'&6;\x016\x05#\"\x06\x1d\x01\x14\x16;\x0126=\x014&\x01\xe4\xc3K\x8ejI\f\x12\x11\x1fC\n\n\x19\x13\n\x05\x0f\x17\f)\x02\x03V=>\a8\x1c'\x03\"\x15d\x15\x18\x03\f1*\xc3\x18)\v\x03\"\x15d\x15\x18\x03\x1aT,\x9f\x13\x1c\x1d\x15|\v-o\x10\a\x15\xcbt\x01E\xfa\n\x0f\x0f\n\xfa\n\x0f\x0f\x04GAk\x8aI\x0e\x06\n! \"%\x1b\x10\b\x06\b\f,=?W7|&\xea\x14\x1d\x1d\x14F\x0e\b@\x14\x1d\x1d\x14\x9dJe5\a&\x152\x15\x1dWO_\x0e\x13e_\x0f\n2\n\x0f\x0f\n2\n\x0f\x00\x06\xff\x9c\xff\xe6\x05\x14\x04~\x00\t\x00$\x004\x00<\x00R\x00b\x00\x00\x01%6\x16\x1f\x01\x16\x06\x0f\x01%32\x16\x1f\x01!2\x16\x1d\x01\x14\x06\a\x05\x06&'&#!\"&=\x0146\x17#\"\x06\x1d\x01\x14;\x012654&'&\x04\"\x06\x14\x16264\x017>\x01\x1e\x01\x17\x1e\x01?\x01\x17\x16\x06\x0f\x01\x06&/\x01&6%\a\x06\x1f\x01\x1e\x01?\x016'.\x01'.\x01\x02\x81\x01\xa7\x13.\x0e \x0e\x03\x10\x8b\xfc+jCH\x1ef\x037\x15\x1d\x1c\x13\xfd\x1f\x17\"\t*:\xfe\xd4>XX\xb9P\x13\x12*\x86\x10\v \v\x12\x01\x80@--@-\xfe\x0f\x98\x12 \x1e\x13\x10\x1c-\x1a?0\r!3P/|)\x82(\t\x01)f\x1f!%\r\x1d\x11=\x13\x05\x02\x14\a\v\x10\x03\x84\xf7\b\v\x10&\x0f*\rx\xc8\"6\xd4\x1d\x152\x15&\a\x84\x04\x14\x0fCX>\xc8>X\xac\x1c\x1583\x10\x10\vD\x11\x1c\xc9-@--@\xfeۂ\x13\n\x11\x12\x13# \x03\x05\xb3=I+E(\t/\x97/}\x1cX\x1b&+\x0f\t\v5\x10!\x14H\t\f\x04\x00\x00\x00\x00\x03\x00d\x00\x00\x049\x04\xb0\x00Q\x00`\x00o\x00\x00\x0132\x16\x1d\x01\x1e\x01\x17\x16\x0e\x02\x0f\x012\x1e\x05\x15\x14\x0e\x05#\x15\x14\x06+\x01\"&=\x01#\x15\x14\x06+\x01\"&=\x01#\"&=\x0146;\x01\x11#\"&=\x0146;\x01546;\x012\x16\x1d\x013546\x03\x15!2>\x02574.\x03#\x01\x15!2>\x02574.\x03#\x02q\x96\n\x0fOh\x01\x01 ..\x10\x11\x06\x1240:*\x1d\x17\"6-@#\x1a\x0f\n\x96\n\x0fd\x0f\n\x96\n\x0f\xaf\n\x0f\x0f\nKK\n\x0f\x0f\n\xaf\x0f\n\x96\n\x0fd\x0f\xd7\x01\a\x1c)\x13\v\x01\x01\v\x13)\x1c\xfe\xf9\x01k\x1c)\x13\v\x01\x01\v\x13)\x1c\x04\xb0\x0f\nm!mJ.M-\x1f\x06\x06\x03\x0f\x14(2N-;]<*\x15\v\x02K\n\x0f\x0f\nKK\n\x0f\x0f\nK\x0f\n\x96\n\x0f\x02X\x0f\n\x96\n\x0fK\n\x0f\x0f\nKK\n\x0f\xfe\xd4\xc8\x15\x1d\x1d\v\n\x04\x0e\"\x1a\x16\xfep\xc8\x15\x1d\x1d\v\n\x04\x0e\"\x1a\x16\x00\x00\x03\x00\x04\x00\x02\x04\xb0\x04\xae\x00\x17\x00)\x00,\x00\x00\x13!2\x16\x15\x11\x14\x06\x0f\x01\x0e\x01#!\"&'.\x025\x1146\x04\"\x0e\x04\x0f\x01\x17!7.\x05\x03#\x13\xd4\x03\fVz$\x12\x12\x1d\x81R\xfd\xc4R\x82\x1c\b\x18(z\x02 \x8c}VG+\x1d\x06\x06\x9c\x020\x9c\x02\b )IU!\x9d\xc3\x04\xaezV\xfe`3\xb7BBWwvX\x1cZ\xc53\x01\xa0Vz\x99\x17&--%\f\f\xf3\xf3\x05\x0f,(1#\xfe\xc2\x01\x05\x00\x02\x00\xc8\x00\x00\x03\x84\x05\x14\x00\x0f\x00\x19\x00\x00\x0132\x16\x15\x11\x14\x06#!\"&5\x1146\x01\x15\x14\x06+\x01\"&=\x01\x01ۖg\xacT)\xfe>)T\xac\x01H6\x15\x96\x156\x05\x14\xacg\xfe\f)TT)\x01\xf4g\xac\xfc\x18\xe1\x1566\x15\xe1\x00\x00\x02\x00\xc8\x00\x00\x03\x84\x05\x14\x00\x0f\x00\x19\x00\x00\x013\x14\x163\x11\x14\x06#!\"&5\x1146\x01\x15\x14\x06+\x01\"&=\x01\x01\xdb`\xb3\x96T)\xfe>)T\xac\x01H6\x15\x96\x156\x05\x14\x96\xb3\xfeB)TT)\x01\xf4g\xac\xfc\x18\xe1\x1566\x15\xe1\x00\x00\x02\x00\x00\x00\x14\x05\x0e\x04\x1a\x00\x14\x00\x1a\x00\x00\t\x01%\a\x15\x17\x15'\a5754&>\x02?\x01'\t\x01\x05%5\x05%\x05\x0e\xfd\x82\xfe\x86Nd\x96\x96d\x01\x01\x01\x05\x04/\x93\x02\x82\x01\\\xfe\xa2\xfe\xa2\x01^\x01^\x02\xff\xfe\xe5\xaa<\xe0\x96ǔ\x95Ȗ\xfa\x04\r\x06\n\x06\x03(A\x01\x1b\xfdb\xa6\xa6\x93\xa5\xa5\x00\x00\x03\x00d\x01\xf4\x04\xb0\x03 \x00\a\x00\x0f\x00\x17\x00\x00\x122\x16\x14\x06\"&4$2\x16\x14\x06\"&4$2\x16\x14\x06\"&4\xbc|XX|X\x01\xe8|XX|X\x01\xe8|XX|X\x03 X|XX|XX|XX|XX|XX|\x00\x00\x00\x00\x03\x01\x90\x00\x00\x02\xbc\x04L\x00\a\x00\x0f\x00\x17\x00\x00\x002\x16\x14\x06\"&4\x122\x16\x14\x06\"&4\x122\x16\x14\x06\"&4\x01\xe8|XX|XX|XX|XX|XX|X\x04LX|XX|\xfe\xc8X|XX|\xfe\xc8X|XX|\x00\x00\x00\x03\x00d\x00d\x04L\x04L\x00\x0f\x00\x1f\x00/\x00\x00\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146\x13!2\x16\x1d\x01\x14\x06#!\"&=\x0146}\x03\xb6\n\x0f\x0f\n\xfcJ\n\x0f\x0f\n\x03\xb6\n\x0f\x0f\n\xfcJ\n\x0f\x0f\n\x03\xb6\n\x0f\x0f\n\xfcJ\n\x0f\x0f\x04L\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\xfep\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\xfep\x0f\n\x96\n\x0f\x0f\n\x96\n\x0f\x00\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x0f\x00\x1f\x00/\x003\x00\x00\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05!\"\x06\x15\x11\x14\x163!265\x114&\x05!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x15!5\x01^\x01\xf4\xa2\xbc\xbb\xa3\xfe\f\xa5\xb9\xb9\x02\xcb\xfd\xa8);;)\x02X);;\xfd\xb1\x01\xf4\x15\x1d\x1d\x15\xfe\f\x15\x1d\x1dG\x01\x90\x04\xb0\xbb\xa3\xfe\f\xa5\xb9\xb9\xa5\x01\xf4\xa5\xb9\xc8;)\xfd\xa8);;)\x02X);d\x1d\x15\xfe\xd4\x15\x1d\x1d\x15\x01,\x15\x1dd\xc8\xc8\x00\x00\x00\x00\x01\x00d\x00d\x04\xb0\x04L\x00;\x00\x00\x13!2\x16\x14\x06+\x01\x1532\x16\x14\x06+\x01\x1532\x16\x14\x06+\x01\x1532\x16\x14\x06#!\"&46;\x015#\"&46;\x015#\"&46;\x015#\"&46\x96\x03\xe8\x15\x1d\x1d\x1522\x15\x1d\x1d\x1522\x15\x1d\x1d\x1522\x15\x1d\x1d\x15\xfc\x18\x15\x1d\x1d\x1522\x15\x1d\x1d\x1522\x15\x1d\x1d\x1522\x15\x1d\x1d\x04L\x1d*\x1d\xc8\x1d*\x1d\xc8\x1d*\x1d\xc8\x1d*\x1d\x1d*\x1d\xc8\x1d*\x1d\xc8\x1d*\x1d\xc8\x1d*\x1d\x00\x00\x00\x06\x01,\x00\x05\x03\xe8\x04\xa3\x00\a\x00\r\x00\x13\x00\x19\x00\x1f\x00*\x00\x00\x01\x1e\x01\x06\a.\x016\x012\x16\x15\"&%\x14\x06#46\x012\x16\x15\"&%\x14\x06#46\x03\x15\x14\x06\"&=\x01\x1632\x02\x8aW??WW??\xfe\xf9|\xb0|\xb0\x02\xbc\xb0|\xb0\xfd\xc0|\xb0|\xb0\x02\xbc\xb0|\xb0\xb0\x1d*\x1d(\x03\x11\x04\xa3C\xb2\xb2BB\xb2\xb2\xfe\xc0\xb0|\xb0||\xb0|\xb0\xfe\u0530|\xb0||\xb0|\xb0\xfeӐ\x15\x1d\x1d\x15\x8e\x04\x00\x00\x01\xff\xb5\x00\xc8\x04\x94\x03\x81\x00B\x00\x00\x0176\x17\x01\x1e\x01\a\x0e\x01+\x012\x15\x14\x0e\x04+\x01\"\x1147&\"\a\x16\x15\x10+\x01\".\x03543#\"&'&67\x016\x1f\x01\x1e\x01\x0e\x01/\x01\a!'\a\x06.\x016\x02\xe9E\x19\x14\x01*\v\b\x06\x05\x1a\x0f\b\x01\x04\r\x1b'?)\x92\xb8\n\x14T\x15\v\xb8\x8e0I'\x19\a\x02\a\x0f\x19\x06\x06\b\v\x01*\x14\x1aL\x14\x15\n#\x143\xb6\x03{\xb6,\x14#\n\x16\x03n\x13\x06\x12\xfe\xd9\v\x1f\x0f\x0e\x13\r\x1d6F82\x1c\x01 \x18\x17\x04\x04\x18\x17\xfe\xe0*<SC#\r\x13\x0e\x0f\x1f\n\x01(\x12\a\x13\x05#(\x16\x06\f\xc1\xc1\f\x05\x16(#\x00\x00\x00\x00\x02\x00\x00\x00\x00\x04\xb0\x04\xb0\x00%\x00C\x00\x00\x01#4.\x05+\x01\x11\x14\x16\x1f\x01\x15!52>\x035\x11#\"\x0e\x05\x15#\x11!\x01#4.\x03+\x01\x11\x14\x16\x173\x15#525\x11#\"\x0e\x03\x15#5!\x04\xb02\b\v\x19\x13&\x18\x19\xc82\x19\x19\xfep\x04\x0e\"\x1a\x16\xc8\x19\x18&\x13\x19\v\b2\x03\xe8\xfdD\x19\b\n\x18\x10\x11d\x19\r\f\xc82d\x11\x10\x18\n\b\x19\x01\xf4\x03\x84\x15 \x15\x0e\b\x03\x01\xfc\xae\x16\x19\x01\x02dd\x01\x05\t\x15\x0e\x03R\x01\x03\b\x0e\x15 \x15\x01,\xfd\x12\x0f\x13\n\x05\x01\xfeW\v\r\x0122\x19\x01\xa9\x01\x05\n\x13\x0f\x96\x00\x00\x00\x00\x03\x00\x00\x00\x00\x04L\x04\xae\x00\x1d\x00 \x000\x00\x00\x015\"'.\x01/\x01\x01#\x01\x06\a\x0e\x01\x0f\x01\x15!5\"&?\x01!\x17\x16\x06#\x15\x01\x1b\x01\x01\x15\x14\x06#!\"&=\x01463!2\x16\x03\xe8\x19\x1e\x0e\x16\x05\x04\xfe\xdfE\xfe\xd4\x12\x15\t\x1f\v\v\x01\x111;\x12E\x01%=\r!'\xfe\xec\x86y\x01\xb1\x1d\x15\xfc\x18\x15\x1d\x1d\x15\x03\xe8\x15\x1d\x01,2 \x0e\"\n\v\x02\xeb\xfd\x0e#\x15\t\x13\x05\x0522+.\xb0\xa6\"A2\x01\x87\x01V\xfe\xaa\xfd\xe3d\x15\x1d\x1d\x15d\x15\x1d\x1d\x00\x03\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x0f\x00G\x00J\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x05#\"\a\x01\x06\a\x06\a\x06\x1d\x01\x14\x163!26=\x014&#\"'&?\x01!\x17\x16\a\x06#\"\x06\x1d\x01\x14\x163!26=\x014&'\"'&'#\x01&\x13#\x132\x04L\x15\x1d\x1d\x15\xfb\xb4\x15\x1d\x1d\x02FF\r\x05\xfe\xd5\x11\x12\x12&\f\v\t\x01\x11\b\f\f\b7\x10\n\n?\x01\n9\v\x11\f\x18\b\f\f\b\x019\b\f\v\b\x11\x19\x19\x0f\x01\xfe\xe0\x05\x0e\xc5g\x04\xb0\x1d\x15\xfb\xb4\x15\x1d\x1d\x15\x04L\x15\x1dR\f\xfd\x0f \x13\x12\x10\x05\r2\b\f\f\b2\b\f\x17\x0e\x19\xa3\x99\x1f\x18\x11\f\b2\b\f\f\b2\a\f\x01\x19\x1b$\x02\xec\f\xfe\x05\x01\b\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x03\x00\x13\x00#\x00'\x00\x00\x01!5!\x05!2\x16\x15\x11\x14\x06#!\"&5\x1146)\x012\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x04\xb0\xfbP\x04\xb0\xfb\x82\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x02m\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1dG\x01,\x04Ld\xc8\x1d\x15\xfc|\x15\x1d\x1d\x15\x03\x84\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1dd\xfe\xd4\x01,\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x0f\x00\x1f\x00#\x00'\x00\x00\x13!2\x16\x15\x11\x14\x06#!\"&5\x1146\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x13!5!2\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1d\x02m\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1dG\x01,\xc8\xfbP\x04\xb0\x04\xb0\x1d\x15\xfc|\x15\x1d\x1d\x15\x03\x84\x15\x1d\xfe\f\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1dd\xfe\xd4\x01,\xfd\xa8d\x00\x00\x00\x00\x02\x00\x00\x00d\x04\xb0\x03\xe8\x00'\x00+\x00\x00\x13!2\x16\x15\x1135463!2\x16\x1d\x013\x15#\x15\x14\x06#!\"&=\x01#\x11\x14\x06#!\"&5\x1146\x01\x11!\x112\x01\x90\x15\x1dd\x1d\x15\x01\x90\x15\x1ddd\x1d\x15\xfep\x15\x1dd\x1d\x15\xfep\x15\x1d\x1d\x02\x9f\x01,\x03\xe8\x1d\x15\xfe\xa2\x96\x15\x1d\x1d\x15\x96d\x96\x15\x1d\x1d\x15\x96\xfe\xa2\x15\x1d\x1d\x15\x03 \x15\x1d\xfe\xd4\xfe\xd4\x01,\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x03\x00\x13\x00\x17\x00'\x00\x003#\x113\x17!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146ddd\x96\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1dG\x01,\xfe\xa2\x03\x84\x15\x1d\x1d\x15\xfc|\x15\x1d\x1d\x04\xb0d\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1dd\xfe\xd4\x01,\xfe\f\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\x00\x00\x00\x00\x02\x00d\x00\x00\x04L\x04\xb0\x00'\x00+\x00\x00\x0132\x16\x15\x11\x14\x06+\x01\x15!2\x16\x15\x11\x14\x06#!\"&5\x11463!5#\"&5\x1146;\x0153\a\x11!\x11\x02X\x96\x15\x1d\x1d\x15\x96\x01\xc2\x15\x1d\x1d\x15\xfc|\x15\x1d\x1d\x15\x01^\x96\x15\x1d\x1d\x15\x96d\xc8\x01,\x04L\x1d\x15\xfep\x15\x1dd\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1dd\x1d\x15\x01\x90\x15\x1dd\xc8\xfe\xd4\x01,\x00\x00\x00\x04\x00\x00\x00\x00\x04\xb0\x04\xb0\x00\x03\x00\x13\x00\x17\x00'\x00\x00!#\x113\x05!2\x16\x15\x11\x14\x06#!\"&5\x1146\x17\x11!\x11\x01!2\x16\x15\x11\x14\x06#!\"&5\x1146\x04\xb0dd\xfdv\x01\x90\x15\x1d\x1d\x15\xfep\x15\x1d\x1dG\x01,\xfc\xae\x03\x84\x15\x1d\x1d\x15\xfc|\x15\x1d\x1d\x04\xb0d\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1dd\xfe\xd4\x01,\xfe\f\x1d\x15\xfep\x15\x1d\x1d\x15\x01\x90\x15\x1d\x00\x00\x01\x01,\x000\x03o\x04\x80\x00\x0f\x00\x00\t\x01\x06#\"&5\x114632\x17\x01\x16\x14\x03a\xfe\x12\x17\x12\x0e\x10\x10\x0e\x12\x17\x01\xee\x0e\x025\xfe\x12\x17\x1b\x19\x03\xe8\x19\x1b\x17\xfe\x12\x0e*\x00\x00\x00\x00\x01\x01A\x002\x03\x84\x04~\x00\v\x00\x00\t\x016\x16\x15\x11\x14\x06'\x01&4\x01O\x01\xee\x1d**\x1d\xfe\x12\x0e\x02{\x01\xee\x1d\x11)\xfc\x18)\x11\x1d\x01\xee\x0e*\x00\x00\x00\x00\x01\x002\x01A\x04~\x03\x84\x00\v\x00\x00\x13!2\x16\a\x01\x06\"'\x01&6d\x03\xe8)\x11\x1d\xfe\x12\x0e*\x0e\xfe\x12\x1d\x11\x03\x84*\x1d\xfe\x12\x0e\x0e\x01\xee\x1d*\x00\x00\x00\x00\x01\x002\x01,\x04~\x03o\x00\v\x00\x00\t\x01\x16\x06#!\"&7\x0162\x02{\x01\xee\x1d\x11)\xfc\x18)\x11\x1d\x01\xee\x0e*\x03a\xfe\x12\x1d**\x1d\x01\xee\x0e\x00\x00\x00\x00\x02\x00\b\x00\x00\x04\xb0\x04(\x00\x06\x00\n\x00\x00\x01\x15\x015-\x015\x01!5!\x02\xbc\xfdL\x01\x9d\xfec\x04\xa8\xfc\xe0\x03 \x02\xe5\xb6\xfe\xbd\xdd\xc1\xc1\xdd\xfb\xd8\xc8\x00\x00\x00\x00\x02\x00\x00\x00d\x04\xb0\x04\xb0\x00\v\x001\x00\x00\x01#\x153\x15!\x1135#5!\x0134>\x05;\x01\x11\x14\x06\x0f\x01\x15!5\".\x035\x1132\x1e\x05\x153\x11!\x04\xb0\xc8\xc8\xfe\xd4\xc8\xc8\x01,\xfbP2\b\v\x19\x13&\x18\x19d2\x19\x19\x01\x90\x04\x0e\"\x1a\x16d\x19\x18&\x13\x19\v\b2\xfc\xe0\x03\x84dd\x01,dd\xfe\f\x15 \x15\x0e\b\x03\x01\xfd\xda\x16\x19\x01\x02dd\x01\x05\t\x15\x0e\x02&\x01\x03\b\x0e\x15 \x15\x01,\x00\x00\x02\x00\x00\x00\x00\x04L\x03\xe8\x00%\x001\x00\x00\x01#4.\x05+\x01\x11\x14\x16\x1f\x01\x15!52>\x035\x11#\"\x0e\x05\x15#\x11!\x01#\x153\x15!\x1135#5!\x03 2\b\v\x19\x13&\x18\x19d2\x19\x19\xfep\x04\x0e\"\x1a\x16d\x19\x18&\x13\x19\v\b2\x03 \x01,\xc8\xc8\xfe\xd4\xc8\xc8\x01,\x02\xbc\x15 \x15\x0e\b\x03\x01\xfd\xda\x16\x19\x02\x01dd\x01\x05\t\x15\x0e\x02&\x01\x03\b\x0e\x15 \x15\x01,\xfc\xe0dd\x01,dd\x00\x00\x01\x00\xc8\x00f\x03r\x04J\x00\x12\x00\x00\x0132\x16\a\t\x01\x16\x06+\x01\"'\x01&47\x016\x02\xbd\xa0\x10\n\f\xfe0\x01\xd0\f\n\x10\xa0\r\n\xfe)\a\a\x01\xd7\n\x04J\x16\f\xfe0\xfe0\f\x16\t\x01\xd7\b\x14\b\x01\xd7\t\x00\x00\x01\x01>\x00f\x03\xe8\x04J\x00\x12\x00\x00\x0132\x17\x01\x16\x14\a\x01\x06+\x01\"&7\t\x01&6\x01S\xa0\r\n\x01\xd7\a\a\xfe)\n\r\xa0\x10\n\f\x01\xd0\xfe0\f\n\x04J\t\xfe)\b\x14\b\xfe)\t\x16\f\x01\xd0\x01\xd0\f\x16\x00\x00\x01\x00f\x00\xc8\x04J\x03r\x00\x12\x00\x00\x00\x16\x1d\x01\x14\a\x01\x06\"'\x01&=\x0146\x17\t\x01\x044\x16\t\xfe)\b\x14\b\xfe)\t\x16\f\x01\xd0\x01\xd0\x03w\n\x10\xa0\r\n\xfe)\a\a\x01\xd7\n\r\xa0\x10\n\f\xfe0\x01\xd0\x00\x00\x00\x01\x00f\x01>\x04J\x03\xe8\x00\x12\x00\x00\t\x01\x16\x1d\x01\x14\x06'\t\x01\x06&=\x0147\x0162\x02j\x01\xd7\t\x16\f\xfe0\xfe0\f\x16\t\x01\xd7\b\x14\x03\xe1\xfe)\n\r\xa0\x10\n\f\x01\xd0\xfe0\f\n\x10\xa0\r\n\x01\xd7\a\x00\x00\x00\x02\x00\xd9\xff\xf9\x04=\x04\xb0\x00\x05\x00:\x00\x00\x01\x14\x06#46\x0532\x16\x1f\x0167>\x02\x1e\x04\x06\a\x0e\x06\a\x06\"&#\"\x06\"'.\x03/\x01.\x01>\x04\x1e\x01\x17'&6\x03\xe8\xb0|\xb0\xfeVd\x15&\aO\x05\v\"(P3G*+\x0f\x05\x11\x01\x04\x12\x17*3M,\r:I\v\x0eG7\x109_7&\a\a\x0f\x06\x0f%*>7F1\x1f\x93\f\r\x04\xb0|\xb0|\xb0\xc8\x1c\x13\xc2\x01\x02\x06\a\a\x05\x0f\x1f5KmC\a\x19KG\\JB\x11\x05\x05\a\a\x19ktl$#?hI7 \x13\a\x03\x06\x05\xc0\x12\x18\x00\x00\x00\x00\x02\x00\xc8\x00\x15\x03\x84\x04\xb0\x00\x16\x00\x1a\x00\x00\x13!2\x16\x15\x11\x14\x06+\x01\x11\a\x06&5\x11#\"&5\x1146\x17\x15!5\xfa\x02X\x15\x1d\x1d\x15\x96\xff\x13\x1a\x96\x15\x1d\x1d\xab\x01,\x04\xb0\x1d\x15\xfep\x15\x1d\xfe\f\xb2\t\x10\x15\x02\x8a\x1d\x15\x01\x90\x15\x1dddd\x00\x00\x00\x02\x00\xc8\x00\x19\x04L\x04\xb0\x00\x0e\x00\x12\x00\x00\x13!2\x16\x15\x11\x05\x11%!\x11#\x1146\x01\x1575\xfa\x02\xee'=\xfdD\x02X\xfdDd\x1f\x01\rd\x04\xb0Q,\xfc[u\x03\xb6}\xfc\x18\x04\x01\x174\xfd]d\x14d\x00\x01\x00\x00\x00\x01\x02Mo\xc3\x04__\x0f<\xf5\x00\x1f\x04\xb0\x00\x00\x00\x00\xd0vs\x97\x00\x00\x00\x00\xd0vs\x97\xffQ\xff\x9c\x05\xdc\x05\x14\x00\x00\x00\b\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x05\x14\xff\x85\x00\x00\x05\x14\xffQ\xfe\xd4\x05\xdc\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x01\xb8\x00(\x00\x00\x00\x00\x01\x90\x00\x00\x04\xb0\x00\x00\x04\xb0\x00d\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00p\x02\x8a\x00\x00\x05\x14\x00\x00\x02\x8a\x00\x00\x05\x14\x00\x00\x01\xb1\x00\x00\x01E\x00\x00\x00\xd8\x00\x00\x00\xd8\x00\x00\x00\xa2\x00\x00\x01\x04\x00\x00\x00H\x00\x00\x01\x04\x00\x00\x01E\x00\x00\x04\xb0\x00d\x04\xb0\x00{\x04\xb0\x00\xc8\x04\xb0\x00\xc8\x01\xf4\x00\x00\x04\xb0\xff\xf2\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\xff\xf0\x04\xb0\x00\x00\x04\xb0\x00\x0e\x04\xb0\x00\t\x04\xb0\x00d\x04\xb0\xff\xd3\x04\xb0\xff\xd3\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00&\x04\xb0\x00n\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00d\x04\xb0\x00\x1a\x04\xb0\x00d\x04\xb0\x00\f\x04\xb0\x00d\x04\xb0\x00\x17\x04\xb0\xff\x9c\x04\xb0\x00d\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x00\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00d\x04\xb0\x00\x00\x04\xb0\x00d\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00d\x04\xb0\x00\xc8\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x005\x04\xb0\x00d\x04\xb0\x00\xc8\x04\xb0\xff\xb5\x04\xb0\x00!\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\xff\x9c\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\xdb\x04\xb0\x00\x17\x04\xb0\x00u\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\n\x04\xb0\x00\xc8\x04\xb0\x00\x00\x04\xb0\x00\x9d\x04\xb0\x00\xc8\x04\xb0\x00\xc8\x04\xb0\x00\xc8\x04\xb0\x00\x00\x04\xb0\xff\xfe\x04\xb0\x01,\x04\xb0\x00d\x04\xb0\x00\x88\x04\xb0\x01;\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x00\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x17\x04\xb0\x00\x00\x04\xb0\x00\xb7\x04\xb0\x00\xb7\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00I\x04\xb0\x00\x17\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00]\x04\xb0\xff\xdc\x04\xb0\xff\xdc\x04\xb0\xff\x9f\x04\xb0\x00d\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00d\x04\xb0\xff\xff\x04\xb0\x00\x00\x04\xb0\xffQ\x04\xb0\x00\x06\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x01E\x04\xb0\x00\x01\x04\xb0\x00\x00\x04\xb0\xff\x9c\x04\xb0\x00J\x04\xb0\x00\x14\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\x00\x00\x04\xb0\xff\x9c\x04\xb0\x00a\x04\xb0\xff\xfd\x04\xb0\x00\x16\x04\xb0\x00\x16\x04\xb0\x00\x16\x04\xb0\x00\x16\x04\xb0\x00\x18\x04\xb0\x00\x00\x04\xc4\x00\x00\x04\xb0\x00d\x00\x00\x00\x00\x00\x00\xff\xd8\x00d\x009\x00\xc8\x00\x00\x01'\x00d\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd9\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00d\x00d\x00\x00\x00\x10\x00\x00\x00\x00\x00d\xff\x9c\xff\x9c\xff\x9c\xff\x9c\xff\x9c\xff\x9c\xff\x9c\xff\x9c\x00\t\x00\t\xff\xf2\xff\xf2\x00d\x00y\x00'\x00d\x00d\x00\x00\x00\x00\x00d\xff\xa2\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc8\x00d\x00\x00\x00\x01\x00\x8f\x00\x00\xff\x9c\xff\x9c\x00d\x00\x04\x00\xc8\x00\xc8\x00\x00\x00d\x01\x90\x00d\x00\x00\x00d\x01,\xff\xb5\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00d\x00\x00\x01,\x01A\x002\x002\x00\b\x00\x00\x00\x00\x00\xc8\x01>\x00f\x00f\x00\xd9\x00\xc8\x00\xc8\x00\x00\x00*\x00*\x00*\x00*\x00\xb2\x00\xe8\x00\xe8\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01N\x01\xa4\x02\x06\x02\"\x02~\x02\x86\x02\xac\x02\xe4\x03F\x03n\x03\x8c\x03\xc4\x04\b\x042\x04b\x04\xa2\x04\xdc\x05\\\x05\xba\x06r\x06\xf4\a \ab\a\xca\b\x1e\bb\b\xbe\t6\t\x84\t\xb6\t\xde\n(\nL\n\x94\n\xe2\v0\v\x8a\v\xca\f\b\fX\r*\r^\r\xb0\x0e\x0e\x0eh\x0e\xb4\x0f(\x0f\xa6\x0f\xe6\x10\x12\x10T\x10\x90\x10\xaa\x11*\x11v\x11\xb6\x12\n\x128\x12|\x12\xc0\x13\x1a\x13t\x13\xd0\x14*\x14\xd4\x15<\x15\xa8\x15\xcc\x16\x04\x166\x16`\x16\xb0\x16\xfe\x17R\x17\xa6\x18\x02\x18.\x18j\x18\x96\x18\xb0\x18\xe0\x18\xfe\x19(\x19h\x19\x94\x19\xc4\x19\xda\x19\xee\x1a6\x1ah\x1a\xb8\x1a\xf6\x1b^\x1b\xb4\x1c2\x1c\x94\x1c\xe2\x1d\x1c\x1dD\x1dl\x1d\x94\x1d\xbc\x1d\xe6\x1e.\x1ev\x1e\xc0\x1fb\x1f\xd2 F \xbe!2!v!\xb8\"@\"\x96\"\xb8#\x0e#\"#8#z#\xc2#\xe0$\x02$0$^$\x96$\xe2%4%`%\xbc&\x14&~&\xe6'P'\xbc'\xf8(4(p(\xac)\xa0)\xcc*&*J*\x84+\n+z,\b,h,\xba,\xec-\x1c-\x88-\xf4.(.f.\xa2.\xd8/\x0e/F/~/\xb2/\xf80>0\x840\xd21\x121`1\xae1\xe82$2^2\x9a2\xde3\"3>3h3\xb64\x184`4\xa84\xd25,5\x9e5\xe86>6|6\xdc7\x1a7N7\x927\xd48\x108B8\x868\xc89\n9J9\x889\xcc:\x1c:l:\x9a:\xde;\xa0;\xdc<\x18<P<\xa2<\xf8=2=\xec>:>\x8c>\xd4?(?n?\xaa?\xfa@H@\x80@\xc6A\x02A~B\x18B\xa8B\xeeC\x18CBCvC\xa0C\xcaD\x10D`D\xaeD\xf6EZE\xb6F\x06FtF\xb4F\xf6G6GvG\xb6G\xf6H\x16H2HNHjH\x86H\xccI\x12I8I^I\x84I\xaaJ\x02J.JR\x00\x01\x00\x00\x01\x17\x00\xa7\x00\x11\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x01\x00\x00\x00@\x00.\x00\x00\x00\x00\x00\x00\x00\x10\x00\xc6\x00\x01\x00\x00\x00\x00\x00\x13\x00\x12\x00\x00\x00\x03\x00\x01\x04\t\x00\x00\x00j\x00\x12\x00\x03\x00\x01\x04\t\x00\x01\x00(\x00|\x00\x03\x00\x01\x04\t\x00\x02\x00\x0e\x00\xa4\x00\x03\x00\x01\x04\t\x00\x03\x00L\x00\xb2\x00\x03\x00\x01\x04\t\x00\x04\x008\x00\xfe\x00\x03\x00\x01\x04\t\x00\x05\x00x\x016\x00\x03\x00\x01\x04\t\x00\x06\x006\x01\xae\x00\x03\x00\x01\x04\t\x00\b\x00\x16\x01\xe4\x00\x03\x00\x01\x04\t\x00\t\x00\x16\x01\xfa\x00\x03\x00\x01\x04\t\x00\v\x00$\x02\x10\x00\x03\x00\x01\x04\t\x00\f\x00$\x024\x00\x03\x00\x01\x04\t\x00\x13\x00$\x02X\x00\x03\x00\x01\x04\t\x00\xc8\x00\x16\x02|\x00\x03\x00\x01\x04\t\x00\xc9\x000\x02\x92\x00\x03\x00\x01\x04\t\xd9\x03\x00\x1a\x02\xc2www.glyphicons.com\x00C\x00o\x00p\x00y\x00r\x00i\x00g\x00h\x00t\x00 \x00\xa9\x00 \x002\x000\x001\x004\x00 \x00b\x00y\x00 \x00J\x00a\x00n\x00 \x00K\x00o\x00v\x00a\x00r\x00i\x00k\x00.\x00 \x00A\x00l\x00l\x00 \x00r\x00i\x00g\x00h\x00t\x00s\x00 \x00r\x00e\x00s\x00e\x00r\x00v\x00e\x00d\x00.\x00G\x00L\x00Y\x00P\x00H\x00I\x00C\x00O\x00N\x00S\x00 \x00H\x00a\x00l\x00f\x00l\x00i\x00n\x00g\x00s\x00R\x00e\x00g\x00u\x00l\x00a\x00r\x001\x00.\x000\x000\x009\x00;\x00U\x00K\x00W\x00N\x00;\x00G\x00L\x00Y\x00P\x00H\x00I\x00C\x00O\x00N\x00S\x00H\x00a\x00l\x00f\x00l\x00i\x00n\x00g\x00s\x00-\x00R\x00e\x00g\x00u\x00l\x00a\x00r\x00G\x00L\x00Y\x00P\x00H\x00I\x00C\x00O\x00N\x00S\x00 \x00H\x00a\x00l\x00f\x00l\x00i\x00n\x00g\x00s\x00 \x00R\x00e\x00g\x00u\x00l\x00a\x00r\x00V\x00e\x00r\x00s\x00i\x00o\x00n\x00 \x001\x00.\x000\x000\x009\x00;\x00P\x00S\x00 \x000\x000\x001\x00.\x000\x000\x009\x00;\x00h\x00o\x00t\x00c\x00o\x00n\x00v\x00 \x001\x00.\x000\x00.\x007\x000\x00;\x00m\x00a\x00k\x00e\x00o\x00t\x00f\x00.\x00l\x00i\x00b\x002\x00.\x005\x00.\x005\x008\x003\x002\x009\x00G\x00L\x00Y\x00P\x00H\x00I\x00C\x00O\x00N\x00S\x00H\x00a\x00l\x00f\x00l\x00i\x00n\x00g\x00s\x00-\x00R\x00e\x00g\x00u\x00l\x00a\x00r\x00J\x00a\x00n\x00 \x00K\x00o\x00v\x00a\x00r\x00i\x00k\x00J\x00a\x00n\x00 \x00K\x00o\x00v\x00a\x00r\x00i\x00k\x00w\x00w\x00w\x00.\x00g\x00l\x00y\x00p\x00h\x00i\x00c\x00o\x00n\x00s\x00.\x00c\x00o\x00m\x00w\x00w\x00w\x00.\x00g\x00l\x00y\x00p\x00h\x00i\x00c\x00o\x00n\x00s\x00.\x00c\x00o\x00m\x00w\x00w\x00w\x00.\x00g\x00l\x00y\x00p\x00h\x00i\x00c\x00o\x00n\x00s\x00.\x00c\x00o\x00m\x00W\x00e\x00b\x00f\x00o\x00n\x00t\x00 \x001\x00.\x000\x00W\x00e\x00d\x00 \x00O\x00c\x00t\x00 \x002\x009\x00 \x000\x006\x00:\x003\x006\x00:\x000\x007\x00 \x002\x000\x001\x004\x00F\x00o\x00n\x00t\x00 \x00S\x00q\x00u\x00i\x00r\x00r\x00e\x00l\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\xff\xb5\x002\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x17\x00\x00\x01\x02\x01\x03\x00\x03\x00\r\x00\x0e\x01\x04\x00\x96\x01\x05\x01\x06\x01\a\x01\b\x01\t\x01\n\x01\v\x01\f\x01\r\x01\x0e\x01\x0f\x01\x10\x01\x11\x01\x12\x01\x13\x00\xef\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01!\x01\"\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01+\x01,\x01-\x01.\x01/\x010\x011\x012\x013\x014\x015\x016\x017\x018\x019\x01:\x01;\x01<\x01=\x01>\x01?\x01@\x01A\x01B\x01C\x01D\x01E\x01F\x01G\x01H\x01I\x01J\x01K\x01L\x01M\x01N\x01O\x01P\x01Q\x01R\x01S\x01T\x01U\x01V\x01W\x01X\x01Y\x01Z\x01[\x01\\\x01]\x01^\x01_\x01`\x01a\x01b\x01c\x01d\x01e\x01f\x01g\x01h\x01i\x01j\x01k\x01l\x01m\x01n\x01o\x01p\x01q\x01r\x01s\x01t\x01u\x01v\x01w\x01x\x01y\x01z\x01{\x01|\x01}\x01~\x01\u007f\x01\x80\x01\x81\x01\x82\x01\x83\x01\x84\x01\x85\x01\x86\x01\x87\x01\x88\x01\x89\x01\x8a\x01\x8b\x01\x8c\x01\x8d\x01\x8e\x01\x8f\x01\x90\x01\x91\x01\x92\x01\x93\x01\x94\x01\x95\x01\x96\x01\x97\x01\x98\x01\x99\x01\x9a\x01\x9b\x01\x9c\x01\x9d\x01\x9e\x01\x9f\x01\xa0\x01\xa1\x01\xa2\x01\xa3\x01\xa4\x01\xa5\x01\xa6\x01\xa7\x01\xa8\x01\xa9\x01\xaa\x01\xab\x01\xac\x01\xad\x01\xae\x01\xaf\x01\xb0\x01\xb1\x01\xb2\x01\xb3\x01\xb4\x01\xb5\x01\xb6\x01\xb7\x01\xb8\x01\xb9\x01\xba\x01\xbb\x01\xbc\x01\xbd\x01\xbe\x01\xbf\x01\xc0\x01\xc1\x01\xc2\x01\xc3\x01\xc4\x01\xc5\x01\xc6\x01\xc7\x01\xc8\x01\xc9\x01\xca\x01\xcb\x01\xcc\x01\xcd\x01\xce\x01\xcf\x01\xd0\x01\xd1\x01\xd2\x01\xd3\x01\xd4\x01\xd5\x01\xd6\x01\xd7\x01\xd8\x01\xd9\x01\xda\x01\xdb\x01\xdc\x01\xdd\x01\xde\x01\xdf\x01\xe0\x01\xe1\x01\xe2\x01\xe3\x01\xe4\x01\xe5\x01\xe6\x01\xe7\x01\xe8\x01\xe9\x01\xea\x01\xeb\x01\xec\x01\xed\x01\xee\x01\xef\x01\xf0\x01\xf1\x01\xf2\x01\xf3\x01\xf4\x01\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\xfa\x01\xfb\x01\xfc\x01\xfd\x01\xfe\x01\xff\x02\x00\x02\x01\x02\x02\x02\x03\x02\x04\x02\x05\x02\x06\x02\a\x02\b\x02\t\x02\n\x02\v\x02\f\x02\r\x02\x0e\x02\x0f\x02\x10\x02\x11\x02\x12\x06glyph1\x06glyph2\auni00A0\auni2000\auni2001\auni2002\auni2003\auni2004\auni2005\auni2006\auni2007\auni2008\auni2009\auni200A\auni202F\auni205F\x04Euro\auni20BD\auni231B\auni25FC\auni2601\auni26FA\auni2709\auni270F\auniE001\auniE002\auniE003\auniE005\auniE006\auniE007\auniE008\auniE009\auniE010\auniE011\auniE012\auniE013\auniE014\auniE015\auniE016\auniE017\auniE018\auniE019\auniE020\auniE021\auniE022\auniE023\auniE024\auniE025\auniE026\auniE027\auniE028\auniE029\auniE030\auniE031\auniE032\auniE033\auniE034\auniE035\auniE036\auniE037\auniE038\auniE039\auniE040\auniE041\auniE042\auniE043\auniE044\auniE045\auniE046\auniE047\auniE048\auniE049\auniE050\auniE051\auniE052\auniE053\auniE054\auniE055\auniE056\auniE057\auniE058\auniE059\auniE060\auniE062\auniE063\auniE064\auniE065\auniE066\auniE067\auniE068\auniE069\auniE070\auniE071\auniE072\auniE073\auniE074\auniE075\auniE076\auniE077\auniE078\auniE079\auniE080\auniE081\auniE082\auniE083\auniE084\auniE085\auniE086\auniE087\auniE088\auniE089\auniE090\auniE091\auniE092\auniE093\auniE094\auniE095\auniE096\auniE097\auniE101\auniE102\auniE103\auniE104\auniE105\auniE106\auniE107\auniE108\auniE109\auniE110\auniE111\auniE112\auniE113\auniE114\auniE115\auniE116\auniE117\auniE118\auniE119\auniE120\auniE121\auniE122\auniE123\auniE124\auniE125\auniE126\auniE127\auniE128\auniE129\auniE130\auniE131\auniE132\auniE133\auniE134\auniE135\auniE136\auniE137\auniE138\auniE139\auniE140\auniE141\auniE142\auniE143\auniE144\auniE145\auniE146\auniE148\auniE149\auniE150\auniE151\auniE152\auniE153\auniE154\auniE155\auniE156\auniE157\auniE158\auniE159\auniE160\auniE161\auniE162\auniE163\auniE164\auniE165\auniE166\auniE167\auniE168\auniE169\auniE170\auniE171\auniE172\auniE173\auniE174\auniE175\auniE176\auniE177\auniE178\auniE179\auniE180\auniE181\auniE182\auniE183\auniE184\auniE185\auniE186\auniE187\auniE188\auniE189\auniE190\auniE191\auniE192\auniE193\auniE194\auniE195\auniE197\auniE198\auniE199\auniE200\auniE201\auniE202\auniE203\auniE204\auniE205\auniE206\auniE209\auniE210\auniE211\auniE212\auniE213\auniE214\auniE215\auniE216\auniE218\auniE219\auniE221\auniE223\auniE224\auniE225\auniE226\auniE227\auniE230\auniE231\auniE232\auniE233\auniE234\auniE235\auniE236\auniE237\auniE238\auniE239\auniE240\auniE241\auniE242\auniE243\auniE244\auniE245\auniE246\auniE247\auniE248\auniE249\auniE250\auniE251\auniE252\auniE253\auniE254\auniE255\auniE256\auniE257\auniE258\auniE259\auniE260\auniF8FF\x06u1F511\x06u1F6AA\x00\x00\x00\x00\x01TP\xc3\x17\x00\x00",
 "e85a11a9110b2b89aa8406d888e5e252.ttf": "\x00\x01\x00\x00\x00\x10\x01\x00\x00\x04\x00\x00DSIG\x00\x00\x00\x01\x00\x00)T\x00\x00\x00\bGSUB\x00\x01\x00\x00\x00\x00\x01\f\x00\x00\x00\nOS/2hQ\xabD\x00\x00\x01\x18\x00\x00\x00`cmap\xb1b)\xf1\x00\x00\x01x\x00\x00\x03vcvt \x11\xee/V\x00\x00\x1b8\x00\x00\x00jfpgmvd~x\x00\x00\x1b\xa4\x00\x00\r\x16gasp\x00\x00\x00\x10\x00\x00\x1b0\x00\x00\x00\bglyf\xf4\u05c8\xb4\x00\x00\x04\xf0\x00\x00\r\xa8head\f\f\x16\xbb\x00\x00\x12\x98\x00\x00\x006hhea\a\xc4\x04\x13\x00\x00\x12\xd0\x00\x00\x00$hmtxabZ5\x00\x00\x12\xf4\x00\x00\x01\x9clocam\xdbj\xba\x00\x00\x14\x90\x00\x00\x01\x9amaxp\x01\x92\r\x87\x00\x00\x16,\x00\x00\x00 name|\xc4/D\x00\x00\x16L\x00\x00\x02\xf3post\x82ڑ\x1a\x00\x00\x19@\x00\x00\x01\xedprepF=\xbb\"\x00\x00(\xbc\x00\x00\x00\x98\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x04\xac\x01\x90\x00\x05\x00\b\x02\x8a\x02X\x00\x00\x00K\x02\x8a\x02X\x00\x00\x01^\x002\x01,\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00UKWN\x00@\x00 \"\x12\x02\xee\xff\x06\x00\xc8\x03\xb6\x00\xfa \x00\x00\x01\x00\x00\x00\x00\x01\xf4\x02\xee\x00\x00\x00 \x00\x00\x00\x00\x00\x03\x00\x00\x00\x03\x00\x00\x01\"\x00\x01\x00\x00\x00\x00\x00\x1c\x00\x03\x00\x01\x00\x00\x01\"\x00\x00\x01\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x93\x94\x95\xb0\x96\x97\x98\x89\x8c\x99\xa5\x9a\x88\x9b\x9cz{|}~\u007f\x80\x81\x82\x83\x9d\x9e\xa6\xa7\xa8\x9f\xa0\x02\t\n\f\r\x12\x13\x14\x15\x1a\x1b\x1c\x1d\x1e &'()*+01235\x8a\xa1\x8d\xb5\x87\xb6:ABDEJKLMRSTUVX^_`abchijkn\x8b\xa9\x8e\xaa\x00\a\b\v\x0f\x1f%/<;=?>@CGFHIONPQWZY[]\\edfg\x00ű\xb2\xc2\x00\xc6q\xc4\xc3\x00\xb9\xb7\x0068\x00\xac\x00\x00\xb4\x00\x00\x00\x00\x00\x00op\x00rt\xa4\xa2\xab\x00\x00\x00\x00\x8f\x91\x00\xcb\x03\x06$\x00\x00\x00\x00\x00\x00\x90\x92\xae\x00m\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x00\x00\x00\x05\x10\x04\x11\x0e\x17\x18\x19\x16\"#\x00!-.,vx\xbf\xb8\xbb\xbc\xbd\xba\xc0\xbey\x00\x04\x02T\x00\x00\x00@\x00@\x00\x05\x00\x00\x00 \x00/\x00E\x00I\x00O\x00U\x00e\x00i\x00o\x00u\x00~\x00\xa1\x00\xac\x00\xb4\x00\xbf\x00\xc7\x00\xcb\x00\xd1\x00\xd8\x00\xdf\x00\xe7\x00\xeb\x00\xf1\x00\xf8\x00\xff\x011\x02\xc7\x02\xdd\x03\xbc \x19\"\x12\xff\xff\x00\x00\x00 \x00!\x000\x00F\x00J\x00P\x00V\x00f\x00j\x00p\x00v\x00\xa0\x00\xa2\x00\xae\x00\xb6\x00\xc0\x00\xc8\x00\xcc\x00\xd2\x00\xd9\x00\xe0\x00\xe8\x00\xec\x00\xf2\x00\xf9\x011\x02\xc6\x02\xd8\x03\xbc \x18\"\x12\xff\xff\xff\xe1\x00\x00\x00\x00\xff\xcc\x00\x00\xff\xd6\x00\x00\xff\xe4\x00\x00\xff\xee\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xffF\x00\x00\x00\x00\x00\x00\x00\x00\xff^\x00\x00\x00\x00\x00\x00\xffE\xfd\xb2\xfd\xe3\xfc\xbb\x00\x00ޝ\x00\x01\x00\x00\x00>\x00Z\x00\x00\x00\x82\x00\x00\x00\x8a\x00\x00\x00\xa6\x00\x00\x00\xae\x00\xbe\x00\xc0\x00\xd4\x00\xe0\x00\xf2\x00\x00\x00\xfe\x01\b\x01\x14\x01 \x00\x00\x01,\x016\x01B\x00\x00\x00\x00\x00\x00\x00\x00\x01F\x00\x00\x00\x00\x00\x93\x00\x94\x00\x95\x00\xb0\x00\x96\x00\x97\x00\x98\x00\x89\x00\x8c\x00\x99\x00\xa5\x00\x9a\x00\x88\x00\x9b\x00\x9c\x00z\x00{\x00|\x00}\x00~\x00\u007f\x00\x80\x00\x81\x00\x82\x00\x83\x00\x9d\x00\x9e\x00\xa6\x00\xa7\x00\xa8\x00\x9f\x00\xa0\x00\x02\x00\t\x00\n\x00\f\x00\r\x00\x1a\x00\x1b\x00\x1c\x00\x1d\x00\x1e\x00 \x000\x001\x002\x003\x005\x00\x8a\x00\xa1\x00\x8d\x00\xb5\x00\x87\x00\xb6\x00:\x00A\x00B\x00D\x00E\x00R\x00S\x00T\x00U\x00V\x00X\x00h\x00i\x00j\x00k\x00n\x00\x8b\x00\xa9\x00\x8e\x00\xaa\x00\xcb\x00\xa2\x00\xb1\x00\xb2\x00\xb3\x00\xb4\x00\xc1\x00\xc2\x00\xb7\x00\xc3\x00o\x00\x8f\x00\xab\x00\xc4\x00\xb8\x00\xc5\x00\xac\x00\xc9\x00\xc8\x00\xb9\x00\xc6\x00\xa3\x00\xba\x00\xc7\x00p\x00\x91\x00\x84\x00\x85\x00\x86\x00\xa4\x00\x03\x00\x04\x00\x05\x00\x06\x00\a\x00\b\x006\x00\v\x00\x16\x00\x17\x00\x18\x00\x19\x007\x00\x1f\x00!\x00\"\x00#\x00$\x00%\x00\xad\x008\x00,\x00-\x00.\x00/\x004\x009\x00q\x00;\x00<\x00=\x00>\x00?\x00@\x00r\x00C\x00N\x00O\x00P\x00Q\x00s\x00W\x00Y\x00Z\x00[\x00\\\x00]\x00\xae\x00t\x00d\x00e\x00f\x00g\x00l\x00u\x00m\x00\x90\x00\x92\x00\x00\x00\n\x00]\xff\x06\x01\x9a\x02\xee\x00\x03\x00\x0f\x00\x15\x00\x19\x00#\x00)\x005\x009\x00=\x00H\x00\x19@\x16C>;:864*($ \x1a\x17\x16\x12\x10\n\x04\x01\x00\n0+\x01\x11!\x11\x17#\x153\x15#\x1535#53\a#\x1535#'\x15#5\x17#\x153\x15#\x15353\x15#\x15#\x153\x15#\x15353\x15#5#\x153\x15#\x153'\x15#5\x17#\x153\a\x1535#73\x01\x9a\xfe\xc3\xf0\xa5AB\xa6BBBd\xa6B\"!\x85\xa6BBdB!\x85\xa6d\"!d!\xa6\xa6\xa6!d\x85\xa6FF\xa6fF \x02\xee\xfc\x18\x03\xe8C!%!!%`h\"$$$a!%!F\x1bB\"\x168\x17/Pq<qP//g!/!!/\x00\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\xff\xff\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x02\x00\xca\x00\x00\x00\x01\x00\xe6\x00\x06\x03\xaf\x02\xb0\x00\x0f\x00\x13@\x10\x00\x00\x00\x11K\x00\x01\x01\x12\x01L&\"\x02\a\x16+\x00&&#\"\x06\x06\x15\x14\x16\x1632665\x03\xaf[\xa2de\xa5^[\xa2ee\xa4^\x01\xbd\x9aY[\x9e`_\x9aXZ\x9e`\x00\x01\x00\x00\x00\x01\x00\x00\xf5x\t1_\x0f<\xf5\x00\x03\x03\xe8\x00\x00\x00\x00\xd4td\xba\x00\x00\x00\x00\xd4to)\x00]\xff\x06\x03\xaf\x02\xee\x00\x00\x00\a\x00\x02\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x03\xb6\xff\x06\x00\x00\x04\xb0\x00]\x00Z\x03\xaf\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x01\xf4\x00]\x04\xb0\x00\x00\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\xe6\x00\x00\x00\x00\x00n\x00n\x00v\x00~\x00\x86\x00\x8e\x00\x96\x00\x9e\x00\xa6\x00\xae\x00\xb6\x00\xbe\x00\xc6\x00\xce\x00\xd6\x00\xde\x00\xe6\x00\xee\x00\xf6\x00\xfe\x01\x06\x01\x0e\x01\x16\x01\x1e\x01&\x01.\x016\x01>\x01F\x01N\x01V\x01^\x01f\x01n\x01v\x01~\x01\x86\x01\x8e\x01\x96\x01\x9e\x01\xa6\x01\xae\x01\xb6\x01\xbe\x01\xc6\x01\xce\x01\xd6\x01\xde\x01\xe6\x01\xee\x01\xf6\x01\xfe\x02\x06\x02\x0e\x02\x16\x02\x1e\x02&\x02.\x026\x02>\x02F\x02N\x02V\x02^\x02f\x02n\x02v\x02~\x02\x86\x02\x8e\x02\x96\x02\x9e\x02\xa6\x02\xae\x02\xb6\x02\xbe\x02\xc6\x02\xce\x02\xd6\x02\xde\x02\xe6\x02\xee\x02\xf6\x02\xfe\x03\x06\x03\x0e\x03\x16\x03\x1e\x03&\x03.\x036\x03>\x03F\x03N\x03V\x03^\x03f\x03n\x03v\x03~\x03\x86\x03\x8e\x03\x96\x03\x9e\x03\xa6\x03\xae\x03\xb6\x03\xbe\x03\xc6\x03\xce\x03\xd6\x03\xde\x03\xe6\x03\xee\x03\xf6\x03\xfe\x04\x06\x04\x0e\x04\x16\x04\x1e\x04&\x04.\x046\x04>\x04F\x04N\x04V\x04^\x04f\x04n\x04v\x04~\x04\x86\x04\x8e\x04\x96\x04\x9e\x04\xa6\x04\xae\x04\xb6\x04\xbe\x04\xc6\x04\xce\x04\xd6\x04\xde\x04\xe6\x04\xee\x04\xf6\x04\xfe\x05\x06\x05\x0e\x05\x16\x05\x1e\x05&\x05.\x056\x05>\x05F\x05N\x05V\x05^\x05f\x05n\x05v\x05~\x05\x86\x05\x8e\x05\x96\x05\x9e\x05\xa6\x05\xae\x05\xb6\x05\xbe\x05\xc6\x05\xce\x05\xd6\x05\xde\x05\xe6\x05\xee\x05\xf6\x05\xfe\x06\x06\x06\x0e\x06\x16\x06\x1e\x06&\x06.\x066\x06>\x06F\x06N\x06V\x06^\x06f\x06n\x06v\x06~\x06\x86\x06\x8e\x06\x96\x06\x9e\x06\xa6\x06\xae\x06\xd4\x06\xd4\x00\x00\x00\x01\x00\x00\x00\xcc\x00I\x00\n\x00\x10\x00\x01\x00\x02\x00\x04\x00\x15\x00\x8b\x00\x00\x00*\r\x16\x00\x01\x00\x01\x00\x00\x00\x13\x00\xea\x00\x01\x00\x00\x00\x00\x00\x00\x005\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x00\b\x005\x00\x01\x00\x00\x00\x00\x00\x02\x00\a\x00=\x00\x01\x00\x00\x00\x00\x00\x03\x00\x1b\x00D\x00\x01\x00\x00\x00\x00\x00\x04\x00\x10\x00_\x00\x01\x00\x00\x00\x00\x00\x05\x00\r\x00o\x00\x01\x00\x00\x00\x00\x00\x06\x00\x10\x00|\x00\x01\x00\x00\x00\x00\x00\t\x00\v\x00\x8c\x00\x01\x00\x00\x00\x00\x00\f\x00\x12\x00\x97\x00\x03\x00\x01\x04\t\x00\x00\x00j\x00\xa9\x00\x03\x00\x01\x04\t\x00\x01\x00\x10\x01\x13\x00\x03\x00\x01\x04\t\x00\x02\x00\x0e\x01#\x00\x03\x00\x01\x04\t\x00\x03\x006\x011\x00\x03\x00\x01\x04\t\x00\x04\x00 \x01g\x00\x03\x00\x01\x04\t\x00\x05\x00\x1a\x01\x87\x00\x03\x00\x01\x04\t\x00\x06\x00 \x01\xa1\x00\x03\x00\x01\x04\t\x00\t\x00\x16\x01\xc1\x00\x03\x00\x01\x04\t\x00\f\x00$\x01\xd7\x00\x03\x00\x01\x04\t\x00\x11\x00\x0e\x01\xfbCopyright \xa9 2016 by Kyle Welsby. All rights reserved.dotsfontregular1.000;UKWN;dotsfont-regulardotsfont regularVersion 1.000dotsfont-regularKyle Welsbyhttps://mekyle.com\x00C\x00o\x00p\x00y\x00r\x00i\x00g\x00h\x00t\x00 \x00\xa9\x00 \x002\x000\x001\x006\x00 \x00b\x00y\x00 \x00K\x00y\x00l\x00e\x00 \x00W\x00e\x00l\x00s\x00b\x00y\x00.\x00 \x00A\x00l\x00l\x00 \x00r\x00i\x00g\x00h\x00t\x00s\x00 \x00r\x00e\x00s\x00e\x00r\x00v\x00e\x00d\x00.\x00d\x00o\x00t\x00s\x00f\x00o\x00n\x00t\x00R\x00e\x00g\x00u\x00l\x00a\x00r\x001\x00.\x000\x000\x000\x00;\x00U\x00K\x00W\x00N\x00;\x00d\x00o\x00t\x00s\x00f\x00o\x00n\x00t\x00-\x00r\x00e\x00g\x00u\x00l\x00a\x00r\x00d\x00o\x00t\x00s\x00f\x00o\x00n\x00t\x00 \x00r\x00e\x00g\x00u\x00l\x00a\x00r\x00V\x00e\x00r\x00s\x00i\x00o\x00n\x00 \x001\x00.\x000\x000\x000\x00d\x00o\x00t\x00s\x00f\x00o\x00n\x00t\x00-\x00r\x00e\x00g\x00u\x00l\x00a\x00r\x00K\x00y\x00l\x00e\x00 \x00W\x00e\x00l\x00s\x00b\x00y\x00h\x00t\x00t\x00p\x00s\x00:\x00/\x00/\x00m\x00e\x00k\x00y\x00l\x00e\x00.\x00c\x00o\x00m\x00r\x00e\x00g\x00u\x00l\x00a\x00r\x00\x00\x02\x00\x00\x00\x00\x00\x00\xff\xb5\x002\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc\x00\x00\x00\x03\x00$\x00\xad\x00\xc9\x00\xc7\x00\xae\x00b\x00c\x00%\x00&\x00d\x00'\x00(\x00\xcb\x00e\x00\xc8\x00\xca\x00)\x00*\x00+\x00,\x00\xcf\x00\xcc\x00\xcd\x00\xce\x00-\x00.\x00/\x000\x001\x00f\x002\x00\xd3\x00\xd0\x00\xd1\x00\xaf\x00g\x003\x004\x005\x006\x007\x008\x00\xd6\x00\xd4\x00\xd5\x00h\x009\x00:\x00;\x00<\x00\xeb\x00=\x00\x90\x00\xe9\x00\x91\x00\xed\x00D\x00j\x00i\x00k\x00m\x00l\x00n\x00E\x00F\x00o\x00G\x00H\x00q\x00p\x00r\x00s\x00I\x00J\x00K\x00L\x00u\x00t\x00v\x00w\x00M\x00N\x00O\x00P\x00Q\x00x\x00R\x00z\x00y\x00{\x00}\x00|\x00S\x00T\x00U\x00V\x00W\x00X\x00\u007f\x00~\x00\x80\x00\x81\x00Y\x00Z\x00[\x00\\\x00\xec\x00\xba\x00]\x00\x9d\x00\x9e\x00\x89\x00\xa0\x00\xea\x00\xa1\x00\xee\x00\xd7\x01\x02\x00\xd8\x00\xe1\x00\x13\x00\x14\x00\x15\x00\x16\x00\x17\x00\x18\x00\x19\x00\x1a\x00\x1b\x00\x1c\x00\xf5\x00\xf4\x00\xf6\x00B\x00\x10\x00\v\x00>\x00^\x00\f\x00@\x00`\x00\xa9\x00\xb6\x00\xaa\x00\xb7\x00\x04\x00\x05\x00\x06\x00\b\x00\t\x00\n\x00\r\x00\x0f\x00\x11\x00\x12\x00\x1d\x00\x1e\x00\"\x00#\x00?\x00\xa3\x00\xc3\x00\xa2\x00\x0e\x00\x1f\x00 \x00!\x00_\x00a\x00\xa4\x00\x93\x00\xf0\x00\xb8\x00\xef\x00\a\x00\x84\x00\x85\x00\xbd\x00\x96\x00A\x00C\x00\x8e\x00\xda\x00\x8d\x00\xde\x00\xdb\x00\xdc\x00\xdd\x00\xe0\x00\xd9\x00\xdf\x00\xe8\x00\x86\x00\x8b\x00\x8a\x00\x83\x00\x88\x01\x03\x01\x04\x01\x05\x01\x06\x01\a\auni03BC\auni00B9\auni00B3\auni00B2\ntemplate.1\auni00A0\x00\x00\x00\x00\x01\x00\x01\xff\xff\x00\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\xc9\x02\xc9\x02\xaa\x02\xaa\x02\xb0\x00\x06\x02\xb0\x02\xb0\x00\x06\x00\x06\x03\xb6\xff\x06\x02\xb0\x00\x06\x02\xb0\x02\xb0\x00\x06\x00\x06\x03\xb6\xff\x06\x02\xc9\x02\xc9\x02\xaa\x02\xaa\x02\xb0\x00\x06\x02\xb0\x02\xb0\x00\x06\x00\x06\x03\xb6\xff\x06\x02\xb0\x00\x06\x02\xb0\x02\xb0\x00\x06\x00\x06\x03\xb6\xff\x06\x00\x00\xb0\x00, \xb0\x00UXEY  K\xb8\x00\x0eQK\xb0\x06SZX\xb04\x1b\xb0(Y`f \x8aUX\xb0\x02%a\xb9\b\x00\b\x00cc#b\x1b!!\xb0\x00Y\xb0\x00C#D\xb2\x00\x01\x00C`B-\xb0\x01,\xb0 `f-\xb0\x02, d \xb0\xc0P\xb0\x04&Z\xb2(\x01\nCEcE\xb0\x06EX!\xb0\x03%YR[X!#!\x1b\x8aX \xb0PPX!\xb0@Y\x1b \xb08PX!\xb08YY \xb1\x01\nCEcEad\xb0(PX!\xb1\x01\nCEcE \xb00PX!\xb00Y\x1b \xb0\xc0PX f \x8a\x8aa \xb0\nPX`\x1b \xb0 PX!\xb0\n`\x1b \xb06PX!\xb06`\x1b`YYY\x1b\xb0\x01+YY#\xb0\x00PXeYY-\xb0\x03, E \xb0\x04%ad \xb0\x05CPX\xb0\x05#B\xb0\x06#B\x1b!!Y\xb0\x01`-\xb0\x04,#!#! d\xb1\x05bB \xb0\x06#B\xb0\x06EX\x1b\xb1\x01\nCEc\xb1\x01\nC\xb0\x02`Ec\xb0\x03*! \xb0\x06C \x8a \x8a\xb0\x01+\xb10\x05%\xb0\x04&QX`P\x1baRYX#Y!Y \xb0@SX\xb0\x01+\x1b!\xb0@Y#\xb0\x00PXeY-\xb0\x05,\xb0\aC+\xb2\x00\x02\x00C`B-\xb0\x06,\xb0\a#B# \xb0\x00#Ba\xb0\x02bf\xb0\x01c\xb0\x01`\xb0\x05*-\xb0\a,  E \xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`D\xb0\x01`-\xb0\b,\xb2\a\v\x00CEB*!\xb2\x00\x01\x00C`B-\xb0\t,\xb0\x00C#D\xb2\x00\x01\x00C`B-\xb0\n,  E \xb0\x01+#\xb0\x00C\xb0\x04%` E\x8a#a d \xb0 PX!\xb0\x00\x1b\xb00PX\xb0 \x1b\xb0@YY#\xb0\x00PXeY\xb0\x03%#aDD\xb0\x01`-\xb0\v,  E \xb0\x01+#\xb0\x00C\xb0\x04%` E\x8a#a d\xb0$PX\xb0\x00\x1b\xb0@Y#\xb0\x00PXeY\xb0\x03%#aDD\xb0\x01`-\xb0\f, \xb0\x00#B\xb2\v\n\x03EX!\x1b#!Y*!-\xb0\r,\xb1\x02\x02E\xb0daD-\xb0\x0e,\xb0\x01`  \xb0\fCJ\xb0\x00PX \xb0\f#BY\xb0\rCJ\xb0\x00RX \xb0\r#BY-\xb0\x0f, \xb0\x10bf\xb0\x01c \xb8\x04\x00c\x8a#a\xb0\x0eC` \x8a` \xb0\x0e#B#-\xb0\x10,KTX\xb1\x04dDY$\xb0\re#x-\xb0\x11,KQXKSX\xb1\x04dDY\x1b!Y$\xb0\x13e#x-\xb0\x12,\xb1\x00\x0fCUX\xb1\x0f\x0fC\xb0\x01aB\xb0\x0f+Y\xb0\x00C\xb0\x02%B\xb1\f\x02%B\xb1\r\x02%B\xb0\x01\x16# \xb0\x03%PX\xb1\x01\x00C`\xb0\x04%B\x8a\x8a \x8a#a\xb0\x0e*!#\xb0\x01a \x8a#a\xb0\x0e*!\x1b\xb1\x01\x00C`\xb0\x02%B\xb0\x02%a\xb0\x0e*!Y\xb0\fCG\xb0\rCG`\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01c \xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`\xb1\x00\x00\x13#D\xb0\x01C\xb0\x00>\xb2\x01\x01\x01C`B-\xb0\x13,\x00\xb1\x00\x02ETX\xb0\x0f#B E\xb0\v#B\xb0\n#\xb0\x02`B `\xb0\x01a\xb5\x11\x11\x01\x00\x0e\x00BB\x8a`\xb1\x12\x06+\xb0\x89+\x1b\"Y-\xb0\x14,\xb1\x00\x13+-\xb0\x15,\xb1\x01\x13+-\xb0\x16,\xb1\x02\x13+-\xb0\x17,\xb1\x03\x13+-\xb0\x18,\xb1\x04\x13+-\xb0\x19,\xb1\x05\x13+-\xb0\x1a,\xb1\x06\x13+-\xb0\x1b,\xb1\a\x13+-\xb0\x1c,\xb1\b\x13+-\xb0\x1d,\xb1\t\x13+-\xb0),# \xb0\x10bf\xb0\x01c\xb0\x06`KTX# .\xb0\x01]\x1b!!Y-\xb0*,# \xb0\x10bf\xb0\x01c\xb0\x16`KTX# .\xb0\x01q\x1b!!Y-\xb0+,# \xb0\x10bf\xb0\x01c\xb0&`KTX# .\xb0\x01r\x1b!!Y-\xb0\x1e,\x00\xb0\r+\xb1\x00\x02ETX\xb0\x0f#B E\xb0\v#B\xb0\n#\xb0\x02`B `\xb0\x01a\xb5\x11\x11\x01\x00\x0e\x00BB\x8a`\xb1\x12\x06+\xb0\x89+\x1b\"Y-\xb0\x1f,\xb1\x00\x1e+-\xb0 ,\xb1\x01\x1e+-\xb0!,\xb1\x02\x1e+-\xb0\",\xb1\x03\x1e+-\xb0#,\xb1\x04\x1e+-\xb0$,\xb1\x05\x1e+-\xb0%,\xb1\x06\x1e+-\xb0&,\xb1\a\x1e+-\xb0',\xb1\b\x1e+-\xb0(,\xb1\t\x1e+-\xb0,, <\xb0\x01`-\xb0-, `\xb0\x11` C#\xb0\x01`C\xb0\x02%a\xb0\x01`\xb0,*!-\xb0.,\xb0-+\xb0-*-\xb0/,  G  \xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`#a8# \x8aUX G  \xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`#a8\x1b!Y-\xb00,\x00\xb1\x00\x02ETX\xb0\x01\x16\xb0/*\xb1\x05\x01\x15EX0Y\x1b\"Y-\xb01,\x00\xb0\r+\xb1\x00\x02ETX\xb0\x01\x16\xb0/*\xb1\x05\x01\x15EX0Y\x1b\"Y-\xb02, 5\xb0\x01`-\xb03,\x00\xb0\x01Ec\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c\xb0\x01+\xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c\xb0\x01+\xb0\x00\x16\xb4\x00\x00\x00\x00\x00D>#8\xb12\x01\x15*!-\xb04, < G \xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`\xb0\x00Ca8-\xb05,.\x17<-\xb06, < G \xb0\vCc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`\xb0\x00Ca\xb0\x01Cc8-\xb07,\xb1\x02\x00\x16% . G\xb0\x00#B\xb0\x02%I\x8a\x8aG#G#a Xb\x1b!Y\xb0\x01#B\xb26\x01\x01\x15\x14*-\xb08,\xb0\x00\x16\xb0\x10#B\xb0\x04%\xb0\x04%G#G#a\xb0\tC+e\x8a.#  <\x8a8-\xb09,\xb0\x00\x16\xb0\x10#B\xb0\x04%\xb0\x04% .G#G#a \xb0\x04#B\xb0\tC+ \xb0`PX \xb0@QX\xb3\x02 \x03 \x1b\xb3\x02&\x03\x1aYBB# \xb0\bC \x8a#G#G#a#F`\xb0\x04C\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01c` \xb0\x01+ \x8a\x8aa \xb0\x02C`d#\xb0\x03CadPX\xb0\x02Ca\x1b\xb0\x03C`Y\xb0\x03%\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01ca#  \xb0\x04&#Fa8\x1b#\xb0\bCF\xb0\x02%\xb0\bCG#G#a` \xb0\x04C\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01c`# \xb0\x01+#\xb0\x04C`\xb0\x01+\xb0\x05%a\xb0\x05%\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01c\xb0\x04&a \xb0\x04%`d#\xb0\x03%`dPX!\x1b#!Y#  \xb0\x04&#Fa8Y-\xb0:,\xb0\x00\x16\xb0\x10#B   \xb0\x05& .G#G#a#<8-\xb0;,\xb0\x00\x16\xb0\x10#B \xb0\b#B   F#G\xb0\x01+#a8-\xb0<,\xb0\x00\x16\xb0\x10#B\xb0\x03%\xb0\x02%G#G#a\xb0\x00TX. <#!\x1b\xb0\x02%\xb0\x02%G#G#a \xb0\x05%\xb0\x04%G#G#a\xb0\x06%\xb0\x05%I\xb0\x02%a\xb9\b\x00\b\x00cc# Xb\x1b!Yc\xb8\x04\x00b \xb0\x00PX\xb0@`Yf\xb0\x01c`#.#  <\x8a8#!Y-\xb0=,\xb0\x00\x16\xb0\x10#B \xb0\bC .G#G#a `\xb0 `f\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01c#  <\x8a8-\xb0>,# .F\xb0\x02%F\xb0\x10CXP\x1bRYX <Y.\xb1.\x01\x14+-\xb0?,# .F\xb0\x02%F\xb0\x10CXR\x1bPYX <Y.\xb1.\x01\x14+-\xb0@,# .F\xb0\x02%F\xb0\x10CXP\x1bRYX <Y# .F\xb0\x02%F\xb0\x10CXR\x1bPYX <Y.\xb1.\x01\x14+-\xb0A,\xb08+# .F\xb0\x02%F\xb0\x10CXP\x1bRYX <Y.\xb1.\x01\x14+-\xb0B,\xb09+\x8a  <\xb0\x04#B\x8a8# .F\xb0\x02%F\xb0\x10CXP\x1bRYX <Y.\xb1.\x01\x14+\xb0\x04C.\xb0.+-\xb0C,\xb0\x00\x16\xb0\x04%\xb0\x04& .G#G#a\xb0\tC+# < .#8\xb1.\x01\x14+-\xb0D,\xb1\b\x04%B\xb0\x00\x16\xb0\x04%\xb0\x04% .G#G#a \xb0\x04#B\xb0\tC+ \xb0`PX \xb0@QX\xb3\x02 \x03 \x1b\xb3\x02&\x03\x1aYBB# G\xb0\x04C\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01c` \xb0\x01+ \x8a\x8aa \xb0\x02C`d#\xb0\x03CadPX\xb0\x02Ca\x1b\xb0\x03C`Y\xb0\x03%\xb0\x02b \xb0\x00PX\xb0@`Yf\xb0\x01ca\xb0\x02%Fa8# <#8\x1b!  F#G\xb0\x01+#a8!Y\xb1.\x01\x14+-\xb0E,\xb1\x008+.\xb1.\x01\x14+-\xb0F,\xb1\x009+!#  <\xb0\x04#B#8\xb1.\x01\x14+\xb0\x04C.\xb0.+-\xb0G,\xb0\x00\x15 G\xb0\x00#B\xb2\x00\x01\x01\x15\x14\x13.\xb04*-\xb0H,\xb0\x00\x15 G\xb0\x00#B\xb2\x00\x01\x01\x15\x14\x13.\xb04*-\xb0I,\xb1\x00\x01\x14\x13\xb05*-\xb0J,\xb07*-\xb0K,\xb0\x00\x16E# . F\x8a#a8\xb1.\x01\x14+-\xb0L,\xb0\b#B\xb0K+-\xb0M,\xb2\x00\x00D+-\xb0N,\xb2\x00\x01D+-\xb0O,\xb2\x01\x00D+-\xb0P,\xb2\x01\x01D+-\xb0Q,\xb2\x00\x00E+-\xb0R,\xb2\x00\x01E+-\xb0S,\xb2\x01\x00E+-\xb0T,\xb2\x01\x01E+-\xb0U,\xb3\x00\x00\x00A+-\xb0V,\xb3\x00\x01\x00A+-\xb0W,\xb3\x01\x00\x00A+-\xb0X,\xb3\x01\x01\x00A+-\xb0Y,\xb3\x00\x00\x01A+-\xb0Z,\xb3\x00\x01\x01A+-\xb0[,\xb3\x01\x00\x01A+-\xb0\\,\xb3\x01\x01\x01A+-\xb0],\xb2\x00\x00C+-\xb0^,\xb2\x00\x01C+-\xb0_,\xb2\x01\x00C+-\xb0`,\xb2\x01\x01C+-\xb0a,\xb2\x00\x00F+-\xb0b,\xb2\x00\x01F+-\xb0c,\xb2\x01\x00F+-\xb0d,\xb2\x01\x01F+-\xb0e,\xb3\x00\x00\x00B+-\xb0f,\xb3\x00\x01\x00B+-\xb0g,\xb3\x01\x00\x00B+-\xb0h,\xb3\x01\x01\x00B+-\xb0i,\xb3\x00\x00\x01B+-\xb0j,\xb3\x00\x01\x01B+-\xb0k,\xb3\x01\x00\x01B+-\xb0l,\xb3\x01\x01\x01B+-\xb0m,\xb1\x00:+.\xb1.\x01\x14+-\xb0n,\xb1\x00:+\xb0>+-\xb0o,\xb1\x00:+\xb0?+-\xb0p,\xb0\x00\x16\xb1\x00:+\xb0@+-\xb0q,\xb1\x01:+\xb0>+-\xb0r,\xb1\x01:+\xb0?+-\xb0s,\xb0\x00\x16\xb1\x01:+\xb0@+-\xb0t,\xb1\x00;+.\xb1.\x01\x14+-\xb0u,\xb1\x00;+\xb0>+-\xb0v,\xb1\x00;+\xb0?+-\xb0w,\xb1\x00;+\xb0@+-\xb0x,\xb1\x01;+\xb0>+-\xb0y,\xb1\x01;+\xb0?+-\xb0z,\xb1\x01;+\xb0@+-\xb0{,\xb1\x00<+.\xb1.\x01\x14+-\xb0|,\xb1\x00<+\xb0>+-\xb0},\xb1\x00<+\xb0?+-\xb0~,\xb1\x00<+\xb0@+-\xb0\u007f,\xb1\x01<+\xb0>+-\xb0\x80,\xb1\x01<+\xb0?+-\xb0\x81,\xb1\x01<+\xb0@+-\xb0\x82,\xb1\x00=+.\xb1.\x01\x14+-\xb0\x83,\xb1\x00=+\xb0>+-\xb0\x84,\xb1\x00=+\xb0?+-\xb0\x85,\xb1\x00=+\xb0@+-\xb0\x86,\xb1\x01=+\xb0>+-\xb0\x87,\xb1\x01=+\xb0?+-\xb0\x88,\xb1\x01=+\xb0@+-\xb0\x89,\xb3\t\x04\x02\x03EX!\x1b#!YB+\xb0\be\xb0\x03$Px\xb1\x05\x01\x15EX0Y-\x00\x00\x00K\xb8\x00\xc8RX\xb1\x01\x01\x8eY\xb0\x01\xb9\b\x00\b\x00cp\xb1\x00\aB\xb30\x1c\x02\x00*\xb1\x00\aB\xb5#\b\x0f\b\x02\b*\xb1\x00\aB\xb5-\x06\x19\x06\x02\b*\xb1\x00\tB\xbb\t\x00\x04\x00\x00\x02\x00\t*\xb1\x00\vB\xbb\x00@\x00@\x00\x02\x00\t*\xb1\x03\x00D\xb1$\x01\x88QX\xb0@\x88X\xb1\x03dD\xb1&\x01\x88QX\xba\b\x80\x00\x01\x04@\x88cTX\xb1\x03\x00DYYYY\xb5%\b\x11\b\x02\f*\xb8\x01\xff\x85\xb0\x04\x8d\xb1\x02\x00D\xb3\x05d\x06\x00DD\x00\x00\x00\x01\x00\x00\x00\x00",
 "f4769f9bdb7466be65088239c12046d1.eot": "\x9fN\x00\x00AM\x00\x00\x02\x00\x02\x00\x04\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x01\x00\x90\x01\x00\x00\x04\x00LP\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00'\x12\u007f,\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00(\x00G\x00L\x00Y\x00P\x00H\x00I\x00C\x00O\x00N\x00S\x00 \x00H\x00a\x00l\x00f\x00l\x00i\x00n\x00g\x00s\x00\x00\x00\x0e\x00R\x00e\x00g\x00u\x00l\x00a\x00r\x00\x00\x00x\x00V\x00e\x00r\x00s\x00i\x00o\x00n\x00 \x001\x00.\x000\x000\x009\x00;\x00P\x00S\x00 \x000\x000\x001\x00.\x000\x000\x009\x00;\x00h\x00o\x00t\x00c\x00o\x00n\x00v\x00 \x001\x00.\x000\x00.\x007\x000\x00;\x00m\x00a\x00k\x00e\x00o\x00t\x00f\x00.\x00l\x00i\x00b\x002\x00.\x005\x00.\x005\x008\x003\x002\x009\x00\x00\x008\x00G\x00L\x00Y\x00P\x00H\x00I\x00C\x00O\x00N\x00S\x00 \x00H\x00a\x00l\x00f\x00l\x00i\x00n\x00g\x00s\x00 \x00R\x00e\x00g\x00u\x00l\x00a\x00r\x00\x00\x00\x00\x00BSGP\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xa9\xdc\x00M\x13\x00M\x19\x00F\xee\x14\xcd\xe9\x8c\xcf\xd2\x11٣(u\x1bʌ<\x010D\xe3B/X\r\xefN\xef\v\x88\x00CC\xea^\xc7\x05\frmR2sk\xc9\xcbPJ\"5+\x96gl\xe9W*i\xd5W\x96/E\ue45c\xd3\x054#\xacԣU\xa6~\xb2f\x10\x89\x91\x1bUD\xdcĹ\xf7\x88\xab\xb1\xe0J\xb71\xe1/!\xfe\xfe/\x9e\xba\xcas\xaa\x027\x19\x92\x93k\x8a\x95\x94\a\x06(\xba\x88\xa1h\x1fN\xf8\xe98o\x90\xedd$yq\x8e\xb91\xb3\xe2\xd69\x16\x83@\x11-\x89\x82HG\x92\x01\xf4\x18\xb5S\"\xf8Fj\xf4\x04ؠ6C3\x94\xa4&\x9e\x87\xc1\x1e\xf8\xaaW51\xc1\xd3\x1b\xdc\xd7B\x9f\xafa\xcb\xeaQaR\x86U/\xf5\xb6{*\xbf\x82\xcb\xef\x00\x82=\x96@d\xf4\xf8h$\xa1\x1e1\xc9Tۗnc+c\x92\xdeA\xa1\xa7\xbc\t\x17\x95Zɀ\xa4@Q\xd1c\xada\x1a\x87\xd5\xdel\xf7\x902>\xcaK\xb0\xc8\x04\x01m\xf3' \v\x93\xcb\x19C\x87HMĬfB\x89X\x8d,\xbeY\x01\x17\xf2\xc2p\xa8e\xa2\x90\n\ue378U\xf8\xd8\x01\x1e*Ҕ\x1az\xff\nm\x82\xcb\xcbi\x16\x10O1nE\xc6.\x10\x9b\x84\xe4\rhx!aC\nXT\xda\x14V\xa2\xc5\x16\xa9\u008b\x96\f\x97\a\xe9R\x1d\xa5\x9a\x1e%\xa5\x04\x04|I\xe4\xa0H\xf0\x90\xc5\xd5P\x835\"\xc5b\x92N\xb2\x10\x11\xb5=\xe2\xf8\x83r\xd9/_\xe5R\x8c\x9b\x94\x99_\v\xe0%҄\x8duz\xc9\xe9Ҙ\xd65\x922ġ\xd2\xe3\x05P\xda)\x9e\xd4\xfe\x11\x9e\x1b\xc6\xc3F\x837S\x8b\x01q\x84F\xc0{n\xe1i\x14a\x81\x02\xb7\xb8@D\x11\xd0s\x88;\x9a\x18\x1f}9\x1b⬥?ź\x91\x06\x19\xa7\xc2\v\fR{\xa6Tk\xed;\u07b5ǜ\xd7U\\N\x9eZ\xf8\x9bQ-\xbb^\xd4s\x90\u007f7\xf2f\v0\x19\x98\xca\xc6S3A\f\xdc\r_n\x90\x81`W\x1c7P\u007f\x12p\x98\xbb\xf4\xe0\bi\xab\xed\xb3!\xf0g\xd8/\xe0_p\xbb\xc1\xd2\x04Z\x80-=\xc3ץ~WZ#/\xe14 KF\x00`\xb4 \xbb\x8c\x01z\xdf\x02\xd20\a\xdb|\tD\x82\x06\x14ѵ\x00\xec\x00\x82&däI\x89\xb4\x8e\xfcÏ\xc1;\xb7M\xec\x94{'\xb6om\x86\x94m\xa2\vI\v\x11\x06!w\x1ci9|H:\xa7ۧ\xc0\xbb\xe7\xf7\xca\xfe\xbe{\x15\xfb~\xf6\xb9\xfdq\x04\xba\xb8\xa9O\xf8\xe5\xf4\uea60\x0f\xfa\x9b,\x98 \x82L]&\x84J0\xf1\x95\xd99/\x03\xed\x0f9&\xccY\xf8\f蓰{;\xf7\xfa'\xc03`\x1c\x92e\x00\u007f@v\x14H\x0f\x84y\bDZ$\xba\x00\x843\x81\xcb\x03\x88Dx28\f\x04\x05\x83W\x80 Cx5x\x18\bw\a\x82B`\xa3$C$'\xe3\xcaEl\x85\x1cy\xa0\xd5h\xbf\xeb\x1cԀ\r\vDJ\n$(p\x9d\x06\xbd\a\xeeQA\x94A܉A\x96@'\xc7$\rh\x03p\x1c\xca0\xceV\x120 `\x9d\xbas\xbe\xaae\xd2$\xc94$\"t2=f\xb4\x984\x84A\x84{Tk\x96\a0|r\x18H\xa4\xf6\x10\xc4\xd0\x02\xa3\xef`\x1bL&\xb1\xb4s\xd4h\xa6]\x01\x94\xa7A<\xa3\x1a\xa1\x8b\xb2`R\xb4'\xa3\x02\x95!\x83\x8b\x811N\xa6\x01;\xa3\x12_\x8at3\xdb#\xa0 \xe2\xf2\xeb\xfa\x18\xd8\xeaV\xe3\x05\xea\v*ve\xd1F`E\u007f O$\x8e{)\xd9W=p:\xae\xde\xd6\x11F`\x8a\xbe2\x1a\xc6\xc42ړC\xeb\xc1\x8c\xd2^\xd7.\xca\x15ć\x03\x98\xa1\xf8\x96\xf8G\b\xfe<<?\xa2\x18\xe9\xe7~z\xd0\x1b\xba\xa2\xa9\xe5\x02\x1a\xa5>\xfb.p\x1e\xe7Ne2\xea\x8b\xefִ\xba\xde+Y\xecs\x16\xdbl:\xc2\xc3˼\xef\xb5\fܫu5\xa9\xa6\xde\xee\xd0t\xc0u\x95^8\xbe\xcc6\xe8\xf3\x1f\aȄTmy\xf0Q\xc9%\x16\xfeu~\xf4\xf2\x9a%~1rҘa\xfdwߚ^\x90\xf9_\xa9Z\xa3\x8dZ\x9da\xa2\x83\xb20!\xd9\xe8\x05\x8d\xa1\xb7\xfaN\xf6`\xa5.\x8e\ruq\xc0\xb1\xe7\xeaYB\xa5\\\x99\x1b\xa8\xf3\x85\x84\xca\x11ᨀ\xd4\x15\xea\x85\x13[\ae\xf0\x8b\xee\xee\xfe:@\xa0\xeaJ'E\x17ہ,\xaf3\x1f\x1dubj@\x8dp\xa8\xc1\xc6\xe4\x17\xf0\x13\xb4f\xa8\xc9\xdf\x15\xf3\u007f\ued77eW9(\t\xf3\x1b\xba\xe5\x02\xa0\xb4ޅ\x89\xb3\xe6=\x8b\x17l\x94G\x1e\xa6\xe0\x017\x12g\x10j\x1a \xe2S\x83M6\xc6\x01\xb0\xa0\xf40\x83\xff9\xf2\xa7\x96Oˑ\xa8\x9d\xfc\xed\x8dl\xa7\xaeB\xbc\x0e\aa\xaa݁\xf2\xaf\xa0\v\x83<\xa6\xe7\x02\x01\x9e\xc7Bՙ(\x04VRAp\xa1f\xf9^\xb0\xfa\xaf+g9\xa0q\xd3\xdd\x0e\xb9\x8d\x8aM\xc6t\x1c\x18]\x04\x1d\xbbت\x81p\xebE\x8d\x95r\a@]\x87@\x1e\xf3\x0f\xa9V\x8d\x9fkV\xa5\n\x05u\x13\xea\x1a\xe4d\xe9^\xd1\x11X \x8d\x15\xe5\x96\x06\x97R@?E\x1d\xd5\xf6Y2\xf4\xa8\x98\x1c\xc9\xef]#\xe0Ǽ\x9a4\x03\xc0J\xde\xe5K\xf6\xc1\a\xe4\xd6'\xc3\xc1\xbed\xb2\xe2PC|m\xe3m\xe5n\xe4#\xbe\x82\x10\a$+48u'\x11\x85\x90\xe7e&\xfb\xbf\x80[n[L\x11\xe1\xc8\x1d\xf9\x92\x9e\xb1%{BCD\xdaL:\x01^!\xa0\x8b\x82\xd3bƙ:&\xc9\xff\x0f\x88\xee\x82g3\x93-3\xd0\xf8u\xb4\xe8\u007f\xad\xc7\xe6\xd0\xf0\xb9\x83b\riLZ\xe9ڂW\x82FS\xc9\xe4Id\xcd\x02\xf1\xa16.\x91k5P\xee\x84\x04l7\x9e7\xfcUz\x92T:N\xfdN\xa1\x91\x97.\xfd\"\x80\xaa\xe5\xfc)\x89\xc5\x19\x97\xec\x92['\xdf|U\"\x0fA\x1c\x83\x04\x80\xb3\x97\x82I\x95\x81\xdbv\xa9w\xd0\xdb\xd8p\xeb\x99\xed\xadt\xb9dk\x82\x88\x9e9\xd8\b\x9b\x8a嫫\xcd9\x00n\xa8D\x8bmq\xb9\x977I\x18|6\x9bK\x03bc\x83]\xb6\x06M\xf4\x93\x19\x12\xa9\xb2\xc4\xce\xf7\x97\xe8\xb6\x12B\x8dA\x90\x80B\xf8Ȫ\x06\x00_\xf4J\xbaT\f\xd9\xfc\b\x18\x01q \xd0\a \x1e6@\x97\xa7\x84\xb8F\x8d\x97\x87\x83\x9ehd`G\xae\x8fT\xeb\x14\xf1\xb7:M\x1e\u007f\xc57'\xe0\x85L,\xe9\x17Ih\x97\xc6FP\t\xbb\xca~j\x00\xbd\x06\x8a\x8c\xed\xc4\f\xac$¡\u0084 \xc43\x99hA\x13\xdd\xe4\x00\x81\x92-S\x8c^\xfbچ\x90\x85\x06\xd0\xe4-%qe\xcf\x14\xec\xeb~\xc0\xc6Qq\xab\xa7\x16\xacln\"i\xbe\x9e\a&\x90\x91\a\xe6\xd1Qe?Fl\x0eK\xef\xa8\"\xfaAs\x14\xc0(\xdd3\x1dY;\"\xa1L\x9e\xda\xd4e\x80t\xe5\x1c'\xc4Rz<MW!\xac\xdfS\x8a3$r\x05Z\x19\x16:\x88\x92b\xa5-\x0e^\x1cDŽ/\x83$Q\xfd\xb7q\x0f\xf5J\x04B'Wd\xe1GAO\xb3\xa8\xca\xe3`.\xcd(\t\xdf\x11\x9e\xb1\bo\xa4\x1d3\x14\xf6B0\xf8\xcc\xcaɑ\xf81\xe5\xa0\xccp\x0e(\xae\xc4\xed(*\x96o\xf5^\xc9Ǫk\x93\x86J`v\xf1\x8c\a\xe2\xb1[\x91\x06\x8b\xa1C|9\x04\x18\x9c=\xf0\xd9\xe5\xe9#\x84\x9cA\xf6\xc2Q\x98\x89\xe3#\x0e \xa2\xf2\xc97;\x05\x0e.]L:\x11\xee\xbf\xc4ϸc\xae\xe7\x80\xd0d\x9f\x12\x0f\xc2\xeai\x80\x88Es\x02r\xaf\xa1\b\x8f\xe2\xf36?\xe6}\x1d\xaf\x86\x14e\xc7@H-\x9a\x00b\xbb\x85\xd1ƖC\xb61;\xae\x94\x99\xe8.\r\x11\x00\x14v.\v\xb1ɾ$`T\ueaf8\x91\xf9\xf6\x1f\xc2\xfc\xf9 JW\xbc\xc4\xdc\xd9%B\xcbZ\xafI04\xc4\xd9\xf8\xc6\x13^:kU,\xe8\xf6C\x19\x89^\xeaWVF\xa9\xff\xa5\xda`\x1c\xa3F\xacb\x1d\x91\x12\xbe(\xf1\x13O\xd9\xcaO\xa9\v\xc82<\xc5\xdf@\xd4X\x16\x99u\x91\x00\x81\xf0g~\xd6ɑ\xceW \x9at\x91&1\\\xf41\xa7L\x8c:φ\x8f\x84\"\x87!\x91P\xb6\xc6\x01\xa2\xc3\v\x10\xe83/\xd8\xfe\xd4^\xa4\xf8ǰ\x9dq\x81\x88w`IA\x06\xbc\xe4D\n\x98)\xb0q\x17\xa3C\xd0f\xe2\x80\x13\x10\xd1O\x93\x13\xd7 \xb1\xe90\xf52Y29\xae3N\xb0\x89f\x11\xe3\x1bp\xe0\x84\xa8\x89\xe9\\\x00\x98C\xd0\xc3\xc6ah\xf6\xf7&\xb06\xe5p\xcb`\xe2ځz\xb3g\x82B\nhRf\xad\x00\x0f\x9e\xad]\x13;\f]\xcc#pw_t(\x9bp\fq\x03꿏ٷ,\xcf\xce\xedbdk\x8bR\x89\xd5B\x8e\xcb\xe8\xdaT?\xd9\xec2\xa1\x8c\x97\xc0\x062\xafc\xe5F\x84y2\x98\x15\x99%\b\xac\xcd\xcfC\x15\xcfn\b\xc19\xa0\xd0\x14\x8c\x850\x9b\xf1\xdc\xf79E&#\xd7l\x92T__\xc0Sлg\xb6)eh/ڷ\x03+\xf7#:F\x1dGot\xf7k5Gbr;\x13Cb\x12˴\x14\xdc:\xc4\xca\xd2#\xbd\xbcɜ\t&\x00\xd5\xe3\x00Q\x11\x03C\x14\xa0\xf1w\xff\x92\x85\x99mxl\x13N\x87\b\xabq\x88\f\xaa\x80\xe9P\xc7\x03\xb4)\x81\x13͐3f-v5K\a\x89\x01\xb8\xa8h\xfd\xb70Aכ\xa2\xa7\xd0j\xbbnSp\xac\t\xff\x9c^H\x18\x02\xaa\u007f\xd0G\xb7F\x8a\xc0f\xdd\x00\xbe\xf3\x82H\x8e\t \"%\x1a[\x15ѻ\x12\x89\xdf\xcd @\v\x00\f\xdb\xe8p \xc9a\xc1\xa6α\x00\xec$$\x81\x9c\a͂\xc5\x14*\xe2\xc2_\xdc\\\xc0\xef@>M\x1a\x9c\xaa1\f\x110\xa8{=\xe6\x90\xf7)\x9e\x80\v\xb3K\xa0%\x8f$C\n\xc2\xf8\x919\x8aM\xf0\xf6\xbc\xeb\xbc4c\x01\t\xea\x80Eotj\xcd\xc2V\xa7GD\x8e)l\xf18\x93\xaf,\x98\\w\xc0\xa5\xe0\v!\x00%$\xbf\xd73t\xc9\t\tT\x12B\x1az\x92\x9eҴ\tiU\x1aJ\xd2\xdd\x12[\xa2\xc7x\x12g\x13d\x1c\x84\x1eBr\xef$\xc5\x18!eq\x88\x81\x92\"J>\xe0\x10\xa3\t\f)\\\x9d~\xa1\x82\x8a\x893\b\x90\x0e(\b^\r\xe2\xa0R\u00808#>\xd6\ab\x9b\x05\xe4H\x80\xe2G'7_\ffӫcκtD\x00oAA߃\x86(q\x99B<\x16\xfd`\xc7\x03\xad\x1c`V\x88\xfc\xf8\xe9Ϋ\x94\xa9֘\x19\xc2*\xfab\xde\xcfu\x8b\x14P\xad4\x13v@\x97+\x95\xca\x04.\b\x8f\x92\xeeQ\xe5ԥ$V\x82\x12\xa1\x19\x95\xed@C0\n\v\xedR\xa2\xd3\x1c\x04ܐP[\x91\x1d\x11z:X\xa6H\x18#e\xe4\xc1\v\x02\xf2s\xa0>?\xfa\x05E\xc8WO>@\x0eI\xd8$|s\xac\x9ei\x1a\xe2\nE\x02\x12S\xa5\xb2)0A\x8c?\x16\xa39\x95ab,\xb6\x8d@K\x9a\xf1̩o&\xee\x04\xfe\xfc\x0e\x88\xacQ\xb4%\xac\fϞLu+\x9b\n\xc2+\x90H|\xccƐ?\xb4\x16NK\xcc\x1b4\x8c\xc6\x17\x92\xd3CnPt\xe8\xb3\r'OT\xf2\x9c\xd2.j5\xe0Ĵ8\xc8\xdcv\xb6w֜\x90\xab\x12I\xa5\x12&\x95+\xdf`\x02\xbc\x8ay\x18S\x9d\x90caO\x11[#\xa1g\xb0\xa7\bQ\xa7\x9c\x80\xb8\xdad\xaa\x17[\xeeK\xbdI矗`\xf4\aČLP\xfd\xd3\x18\xb8\t#\xb0\xc1\x9c\xbd \xa9)2\xd27\x16aT\x83\u007f\xe4\x16\xebi@c\\ސ\x91\xee\v\xc2\xe2\xc80n\xeaC\xbbp\xf2\x10ߖ運4͵\x8e\x90x\xf6*\xf1\xcb\xd0R\x94z\xd5\x0eY\xe2\x84b\x87\xc0\xfa\xdbT[\\\xfa\x1dkU\x02\x99v\xecHʈ\xdcq\x92\bp\u0984I\xc2\xedI\x18\xebŗ)\b\v\x8bbB\r\t\x10X\x94P\xbaN\xb4\x85\x9at\x0fz\xed\t2\rI\xe6=\x12=\xa4 \xa6\x1f\x1b\x1c\x0e\xb3\x88\xfd\xa8\xc3;}\x86b\x8a\x9c\xe0q\xfe\xd3jiކ\xa7a\xb2#\"\t\xac\x17\x9f>1\x01\xbc\x82\x90\xb01\xe4A\x9b\xa3p1\xd6\xed\xddP\x82\xa7O\x12\x1a\xc7\x04\x13\x1d\xe8O\x97ux\xf7Q\xf4\xf9\xb0\xb9\xce\nFϲ(\xfah݄\xa9O'MDx\xcaL\xedK\x11$ȵ\x9ch\xe6&\r\xf9\x8b\xa6\xd0\x04\x001\x8c\xef\xc44\x9b\x9bSi\xa0\xdc\xe3rHJ\x16\x92P\xb0t\x00DM\xcb;rM\xe3\x82+\x94\xf6\x97\n*\x96\xe0\x9f\xedؗ5u\x172$\a\xaaf\x103\x92K \xdf<\xf9P\xb2L\xe7r\xd1c\x8bI)\x81\x98\xd6\xe5\x16^\xeb\x1fda>\n%\xc5\xe0ѳb\v(\x9f\xfa\x96@\b,\x912f,~\"\xa67\xdbR;\xaeE\xd1\x1d\x8e;\xac\xad\x94HX\xe5(\xfa\xb9\x12\x9f\x17\x1c4\x8a2Z\x03\x1f\xe4\xdd\b'\x00T\xaaۿ\xf6\x8b\x81\x84\x04\x0f\x94\xbd2J+\xff^!#o\x1b\x8e\x84\x9b\x94Y~4\xd8-׃\xf2GW\x1f*\xf0!\xdf\xc3A\x95\x1a0&8\x80f\xe4{`\xbc\xbd\xf8\xe0W\xf6=\x92DP8\x92'\xff\x13= \xd6R\xa6 g\xa9}\x10\xf4iP>\x93\xca\x03#\xb9\xcb\xe5\xb94\xc3\xd2E\xd0BRY\xae\xc6^4e\xf3\x02\x9d\xfd\x82\xa7N8\xb8\x8fV,[B\x8b\x86\x15Ĩ\xeeD#\x81X\x86\xf8]\xb2,\x19\xd6\xe8\xe2\xabLBsNC>\x17\r+\xa2\xedo\xcd\xea^x\xa8\xec\xa7\n\xa0\xf7\x0e\x95\x90\xfajC\xec.4\x0f\xc0Y\x11a\x89_{e\x01\xa6A2=r\x8e\xf0\xd8+\x00\x89\x05\xad\xb4\xd6\xee\xa7\x04\xa19PO\xbbA!!\v\n\xd7}\xb4Y\xcaP\x1a\x02Je\x84\x15\x97\xe7Gn\x9a\xb1%x\xfc\x8d1\x16\x14\xac/}Rg\x12H\xd8\b\x9a\x11a\f\x8e\x01^3-\x8a\xa9 \x8b5\x06\n\xb6|\x8b\x01qS\xa7\xd0\xf0a\a\bWK{\f1al`I\xc0\x181\xd3\v\x99\xc6Q\xe9\xbe\xebf_yy\x05C\x19Z\x14)\xc4L3X\xb1]\vW6@DM\x99\x15T\xf8<.\x84\xabu\xebG\xceK\x8c\xec8\xd9Ds\xf4\xdaб\x03W\xe6\x91r\x85\xdd\\\xdf7Z\\\xd5\xcb\xff\xf2V\xd3\"I\x18\xa6\xa2\x8c\xf5S\xa1\xa7\xaed\xb5\x89>C\x8e\xa6\xc8U\x81j\x90\xdf\xc9e\x02\x9e\xc9\xc8\xd3D\x13\x05\t\xae\x163\x19M\xc7tWcP\xef\xaf\x05\x86\x96\xf2Ӊ6#3Q\xd7\x02\x9anቩ\x85\xb0J\\\xba\xa1\xc3\x05\x197\x9e#磱`\u0600K\xeb\xeb\xa4 \xa9\xd7\blV\x036\v&\xd3\x1fT\x1d\x8e\x92\t\xde~\xee\xdal.\x92\x9d\xbe\x16\xa1 <\x98\x98BP\n\xa3*\xb4!zRZ\xc4\xe4eљ\xbb\xbe\xbeٷ\x04T\xb1#\xa3C\xe9LH\x13\xb1\xac\x18\xc8\x16\xaa\bW\xc5)\xdaD\x9b\x86\x16\xf7\x93p\xaeYU#\xc9\xca51{WJ\x80\x8e\xa44^\xc4f\x12\x19\xb3̼\x15Z\xb0\x11\xf6\xcc\xd1y6\x96ӑT2\x99d\xce4H=\xeaB\x84\x1eҊ\xc9\x10\xac\x0f}\x9c&݃\xea\xc2,aPçv+:2\x16\xe6~\xf2\xc1*0\xbc\xb0\xa2\x88d\xa6ɓ\xc2\xf5փd\t\f\u0082\xf8\xe1\xcb!\"A+\x89r\x00\x90Hn\f\xa1\xc7\xe0sA\xe4\xc1\xc8ڗU\r\x80\xfd\x02\x04\xf8\xa4b\xa0H\x93\xdbN6\xfe$.\xd0l\xc0};\xbd@\xa3\x11\xa1\xe2\x14iK\u007f\xc3 \\\xac҂:v\x1e\x89QE\xc7\x00:\x1d\b,|\xfd\xaaQ\xa0 Y0\x02|\xc7%\x18\xd6\x16\x19@\xed\x13\xb0 ܁\xe4qc\xe7\xd3\xd1dqh\xaf\xab諹v\xdcC\xcdG\aV\x86\x06\xb0\xa9\xb8\xaf-(\xd1\x03\x88m\x11\x85\x05\x921\x12\xbb\xae\xe2q89KF\x96\xd6ä\n\"2\xb1\xf2}Rr\x16z\xf3\x8e,j^\xa5\xc0q\xcb\\\x04\x85ݖ#p\x19\x83\xbb+\xf5`f\x1dl\x9a\xb3\x13\x1c\xbd\x8f\xe2:k\v\xb4t\x965E\x84\x1aOaI\xc3\x0fJ\x16\xacP\r@ps\xadE\x99j1\xe44;6\x12\xf6\xf4/aH\xce.\xbc\xcfӰT\x00X\xa4p\x93L\x8b\xb8\b\xc4L8\xa4\xbdF\xe7\x84ܚi\xa8\x01\x0el\xed1\x96\x12\xb2Y؊8\xc9\r%\x8d\x16!/\xc1\xf9{\xad\xa8\x0e\xd2\xc5\xf1\xa0霋\xd9\xe5\x1d\xc6X\x9c\x80\xba\ab\x88\x95\xbd\x85\x00\x15N\xc9\xc2\x04xp\xbb\xba\xe4\x06PW\xea\xbd\xdb\xed\xe8\xc4cI9\x18g\xb2*\xfe\xba\xbf\ue743\xb9\x9c%:\xd6\x1d\xbbL\xcb\x06\xdeu\x8a\x82CAO\u008c\xad\x99%\xac/œ\xb4(Y\b\xa2\xb3\x10^\xef?\xa0\xde\xe3\x1d\x81&I'\x88\xc8\x12uh[x\x14\x8b\xb4\x96Q\xf4$\xc7zҵŽ\xf8\x01\x82\t߳\x9e\x81\x82(=V׀\x9f\xea\r\x02\xbem\xf0\xad\xc5\x04U)\v\xbb\xedlΠΒ\x18\xbe\xcci\x9c\x02\x18\x95d㦈\x99\xa8\xbd~f\xa6\xf9jG\x1b\xed\x01\xb5\x03\xd6R\x06{D\x80%>\xae\xa5\x90@\x94\x85\x946\x82\xa5\xa41\x82\x9c`\xc6\x1a!\xce ` \xc5\x1d\x86\xb6wY\xf3\xa7\u007f\x89\xd5\xe0\x81k/\ba\x9d0A\x12\x86\x02\xab¹\x9fԁ\xb4\x0f\xcaYh\xb2\xaf\x97\xb5\xf2\x88d\xec\xe6x\x9a\x91k:f\x9a\x83\xff\xef\xa6\x1f\x92<\xd5\xd8\xd9WL4\x81`\x1d8IYMB\xc1Slc\xe4\xd6\xdf\xc8\xe0\x99-\xbbE҂'\xceڌ\xc5:,\x1d\xffD\xac\xb0\x90\xe7\xd1\xd9\xf8Ʃ8\x184\xd3)~\xf7\xff\x042\x04\xb7j\x80\x9f\x96Ǡ\x10i\xb6\xb7\x04\x0fB(L\xe3\xb5\x06\b|\v\"a\xa9\x9a\xa6\xaf4,\x06\xa6b8\xa7\x94\xa5ԓ\x17i 94\xa6\xe5\xd4\x11\x8c\xd2jWщ\xb0\x1e\f\x02\xa96*\x90\xd0T\xf0\xa3\x1b\x86c4g\x8a̓\xa2\xd7UM\xc9b\xb3R\xc7E\x00\xb2\xfe\xaa\x8b\xf2\x85\x1aC5\x91\xc6)j\xe4ȴ \x91\xad1\x8d6pb\xc3\xeb\xdbƎH\xf7\xa7\xaaFx\xf2\x88\xf1\xb9\x01\xbf\x97\xaf\xabģ\x8f%4\xe2\xf2Q\xd9\xc4\x17C\x04\x89ʈ\xa7\x0e\xc5\t\x1c$9\xd2:\xc5M>\xf2E\xd6\xdda\x03\x01\xdc\xc6\x02o\xab\x81̟^\xc2\x15\xd8<\x02\x19Iw\xde\x11\x00Ygq\x8f7s[\x86\x1f\xf0\x92\xf0\t-y\xd01ع5\x86\x19\xe4a\xc4\xe3M\x06K\x9aא\xe6RB\xc7Y\x80\x86\xf3Fq}\xb9\xe2\xe7\xb1\xf48\xef\x01\xc0\xb2*\xc8Nt\xe5\x90'.Yb\x14\x84\x94\x9b\xa4\xcd\xf0Z\x15\xcd\x1e\xfbv\xc5K\n(\xca]\x05&ɜ\x13\x1c\x8a\x19(\x0e\xa0\x1dՙ\xa5\xfd\x1e2\xaf:0\xd5\r\x80\xe4o\xa4Ώх\x1cPKiBH4U\xf0\xb9X,\x13\x8e\xa2\x8d[\x17\x88\xf0$\f\n0\xadmX\xb1\xe5\xbbش\x8f\x82 \xf2\xa5f\xeb\x015\x0f\x15\xf0\x03\x040\xb1\xa0VR\r\xa98\xea%\xd9\xd1\xf1\xcaާ\xa7\x02Dt\xb0\xc3U\x8c\x91s`\xf4\x1d\xb7\x1b-BP\x8f\xc8\x0fz\xf4\x01P\x13\x94\x1ds\xeb\xb0\x03\xc1\x11\x12\x02\xa6v\x04I\xeb\xb68z-\xa5t1DiB\n\xd2\xdd\"˶\xdc\xc8YTJ\t\x83\xc4.\x9a?\xd40\xc77\xe0\x80jL\xa2\xc3N\x9e\xfa[2\xfft\xc8\xc2Į̎\x18\x86\x8d\xe6\x00\v\xf9#\xfe6?E\u05fb\x86\x94\x8c\xd7\x10\xa1\xae\x88:ɞ\xceY;\x83\xe7\xacA&q\x85\x13\xeaS\xd8IR\xc8)\xc9s\x05s\n9*x\xd2\xdf0Bj)m\x06\xec\xe1H\xa7A\xbe\xf6hyЏh\xf2Mm\xa4&4Ŋ\x854\x80\v\x80\x87\xdc\xdag\xb8\x9fV\xe6&tY\xf3\xda\x1e\xa6\x02\xcfOCS0\xb3Y\xb2\xf4\x82d\a7Mv\x8d\aN\xefj)w\xeb\xf7A\xc9(\xac\xe2o\u007f\r\x1f\"͢\xc9[\xa6\xd6\nE`\x9b\x94\xfe\x8a\xeb7ez\xb8ď\x86\x9d\xbb\xde-\xb7Q\xc0]\xa66\xdb+\x13Bca\xcd@^I\xc2:\xb2һ\xb4\xde\xfe\xbe\x1d=\x83\x02\x97\x9a\xad\x88sS\x9f\xe4\xcfn\x1dc\b\x11\xc7\xf9\xd3\t6\x1c\r\x82\xcd\xe7O\xe3\xa1B\x844\xbd\x88\x9f\xe7\xa0L\x1b\xa5\xa8\xc0\a\aGp\xe3B\x89q/<\x95zA\xe3\xd3C\xc1\x01\xa5\xbb \x80\x05\xd4A~\xb9\x12\x16\xc9x\xd00\v6r\x17ih\xa3\xcdh\x1f\xa4I\xecطO\x82\x03N,:\x0eo\xc7\xc1k\xec\xe7\xda\xf6\xc5/\xf3\xb8{H\xb0\x14\x15,\xdbzЂg\xdafȻz\x97\xaf\xd3\u03805\xfd\x90F\xf5\xb2\x14Tr\xc0n/\xe4t\x11``l\x86\xc1\x14\x06\x06\x99*\bH6j\x1fT\x0f\xa1\x1etG\x04/x\xf8\xcb@P@(\x84\xc4I\xe8p\r\xd2e\xba!\xf9\xea`wv,:A쑜\x0f\xb9\x0eN\xa3 4}09\x01z\xc7qC\x90\x17\xec\xe4$r\x00\xec\xfc\x02\x0eM`\x19Y\x86Q\x94\x92\xa0\xf8M\u007f\xe4䕫\xb3\xf7\xc4(|\xe9B!\x0f\xed\b>\x1d\xa2\xc1\xd8>\xabO\tpwj\b A\x02*@\x9b\x12\x90\x1f\xaa\x9fJ\xe4C[h&3\x8d\xfc\xebB \x1fQb\xfdϩ\x108\v\x85:\xf1\x93%f~\x81v\x01/\x8bl\xe2S\xe4\xd0\xe8\xd20\xdd\xe8\xfe\x02\xd0\xf00a\x19\x93\xb7\xb6\"<TX\xa7@\xc7&\xb0\xf4\xe0\xb0Jg\x80\r3ϕ\xec\xa4\xe9HF\f\xd5\xd0o\xef\x96\xe9I8\xab\xa1{\xfe\xb8:YT\xe8\xf3b(\v\x14\x88\xb0P\xebj\xfe\x04<za\x0f{\xb8\x85\x1ewX\xa5oa\x9504 \x9e3\x83\xcc\x05l\xca\xf8Gȶ\x16N\x92\xe00>\x8eB\xe68(f\t\xfauGoǚ\xc8\x0egy\xf1\xc5\xd7t\xa3_\xc3y~\xc0͔\x8e\n\xc3%\xe4\a\x85\xb0\xfb\x1dm\x90\x0e\x86L\n\xe8\xe0!I$\xe4X<T+\x1d\xca3\xad\x9cdq\xf3\b\nD\xf6M\xe5\xd4t\xcc\xf52|fEV([\x15\x19\xe2]\x91Ndb\x8f\x9cD3Sp'\x0fR\x9fG\xac\x1e\x1dm\x97K\xa2\x9b<\x9cT\x90\xe4ٰ\x00}\xbd5iܷ\xb5\x17ʹ\x97\xe0\xccp\xb8\x88\xab\xbf#\xc4\x02&\x0fjF\x17\r\x15\x1d\xf4Z\xb5'\x06\x94\xae\x922\xef%y9\xa1Q#2\xf1H]w\xacA\x88}\xc6vf\xa7\xe2\xd8\xd0\x18\xb6\xe8%\xfa\xb3\xe9\xf2\xf6X\xa1Ӛ\xb7\xec)\x94X_\xa0S\x0e0\xe5t\xa3(\xb1\xa4\x93-\xd4\x12\xee\x80Ⱃj\x01Hp\xd4\xf7Ӗv\x9c\b\xef/\x97\xce\xf4詵\x15\x13\xa0,9\xaew<`\xf8E\x93\x88\n\xed\x1e\x02\xecF\xb0\x17agA\xd0ٓ\xa0Љt\xa9\xb4)l\x9ce\n\x9b\xf8\xcc;\xe9\f\xb6\xf6$9\xba\x9f\xd7\ue330\xf1\x06{\xe6C\xf9\x17\xa8\x89\x00\x9c\xfa()\xaa\xc7?\x1f\x11\xaf\xf1\x9e\xc3\x18p\x83\xbf\xbcI\x06F\xe3\x1c\x92\x1a\xf8\xac\x87\x8b\xac\xa6\x97\x9eb3\x94\xd2\xf1l[):\x98drr]\x9f?\u0086\x9fՖ\x98\xf6?\xb8\xc9Bd\x11\xc0i\xe5\xb6D\xd5\xe5\xd6\xc5\xf5\xf17\xfd\xfchJ\xa4\xd1:\n\xbd\xc0U%n\xe63aƬ\x13J.\xcc\x1a>t0\x83\xcf\x12\x80~\x16\xc0e\x8cP\x88z\xcb\xcd]\xa2U\xecg\r\u007fН=_\xb1?\xf1\xba\x1b\xb5\xba.j#+`li\x91\xa1\t\x1eB\x8a\x0e\xf1\xe2M5\x9b\x1f\xd2 \v\xba\xbf\x10őG\xd2p\x8c\x9e7\xaba\n\x86֒\x1f\x8f%Y[\x18UG9\xe6\x99\xf2\xc6\xd3@\\\x05bD\xea\x1c\xd0Y\x1c\x85\x92{\x89\x9d{\xa4\xf0\x0eED0\xae\x97\n\xd6\x01$\x8d\xa0\x1bQ\xf8+FvC\xf0`ݨ\xec3\xb0\xfdQ\xa5\t\x93\xee\xb1\x10E\\\xe0\xd0uC9\xcd\xe1\xc3![\x80$\x12\xeal\xef\xdf\xf5\v\x9a\xfa\x90\xea\x10\xf96\xdfD\xa8o\xd9Dg\xc0G\x88*+\x8dX!\xb8\x8d%#\x82C\x80q\x91\f?\xe9\xad\x0f8\aZU\x1aB)U@\a\bo\xa2\xcfpgީ\xb6\x01Z\xd8q\x85\xa1\xa1\xc98\x8e\xca9\xf8\x9e\xc7|uc\xe1c\bAќ\xb6\xad\xe9\xb0\x10\x95W;\xa9@\xe1\"\xa0\x11\x80\xd8\x19>P\x82\xd3\xef\xe5h_\x99\x9d\xc7\x109}.6\x80\x84\x90V/\xc7O:\xe03\x1b\xb4}\x8e\xa1\x13Z\x1cS\f\x1b\xb1\xb5\x9c{:\xd8\xda~\x92\xf3\xfe\x9c\xc5y\x0e\x1f\x8ak\xa6c\xee\x16\x88\xa4O6;O\xceB\xe1=\x97bV\xf1.\tR\xbfk\x8b\n\x01o\xf1\v\xa4\xff\a^\xb1GV=\xe1\xd8 }\x11\xefoI\"+\r\xf4\n]w\x87\x81\xd7F\xaa\xc1zϷ\xe4\xae\xf6`<\x93\xc9\xf5\xb230\x9d\xfb\x1f\x17h\xf7\x8c\xc53]\xeaR\x1ef\u007f\x05\xfa\x97\xbf8\x145\x04\x169s\xbc`K\x85\x06\x1e\x10M\x80\xa48\x03\xf1\xcb\nX\xbbUq\x88<\x89\x98\xa5\\\x98\x93\xc6ZO\xe0ss\xe8\xbfM\x92\xb7&\x03j\x1c&\xcf\r\xc4\xd6\x06\x02\xf7\t.\xa7%\x9f\x0e\xa0\xd2P\xcaBL~^\xe4\xdf\x01\xff\xf9G\x88ˈ\x913p\xe1D\x87\xac\x95:\xed\xb8\xd7\x1a\xa3Z\xbf\xa3\xc1\xb9\x04\xa8\xa9<\\\xf1\xabǠi\xaf\xa8\xdbW̆\xa8\xc8\xc2\x10\"(\x94\x1c\x83:\xe1\xc5\xe2z\x8b\xa9\x96\x13X\x96~\xea\x81\xce0\x05P\x18G]8\x90\uf0bc\xaa\xac\x83\x8c\x88RQMN\x15T\x00\xa6qf\xddW\x03~!\xdd0\x94R%Ց\x9d0\xf0xvGFy/F\xf8-\x9b\xcfw\xfau\x82/\xf4\xee\x1f*\u007f\x01\xeb\a+\x92\xc6\t\\\xf5\xc28@\x886\xa2\xab\xc2\xfe\xa9\xb4\x8b\xbbc<\xb4\xe0\x0e\x1a\x16L\x02\x83;c\x8d[\x9a\x1e\xfb\xf7\x8a\a\xdb\xd9\aº\vnr\t\x9fQ\x15S'o\xa3Qu\x18\xf2T\xae{\bqҐ\x90_\x9cͿ\x8f\x83\x83S\x04d\xaa\xbbA\x04*ð:m\xf28Yuz2\xffPB\xab\r\xecHh`\x18l\xb4k\x92p\xe8\x13\xffLLh\ncEb6eۏ\x00ҋ ?!\x84\x99\x10>|\v*=V\x8d\x01\xfc\xad\xbbK\xee@\x9e\xeb\x93rx\x910\xd3G`%\bryr[6\xea\x8aY3\x8c7\x8c\xc5\v\x87f\x17*\x97*\x18\x1bn\x95\xe0%9\x99\xdadf\xc3\xe81\xf31ޢځ^'\xcc\xfd]\x89\x9a\x96\rR\xcd\xdf\xe8q\x90\xdc\xd4.\xd8\xea\xf7\x00,\x9c\xf6\x95\x89\xd3^%\x84\xafl\x1a\xc2\xda\x11\xe2\r\xe3\xbde\x14\xd8\xd8#wW\x1e\xc2\xd1s\x12\xf356!\xd9=\xe2\xe5!q[\x04\xf6\xb0\xc4\xd8\f\xc3\x00%\xc8Ԯ\x18]\xf3\x8b5^:\x80\xbdm\xa85\xa9\x10\x10)\x01?\x11\x90V\vb|\x9au\xc07f\x93\x05\xba\x19\xecw\xb0\x9c\xe6\xc4\xf0,\x11:\xe7Y\x1ee\f\xe6\x86\u007fR\a\u007f%\x94\n\xf2[\xc0\x9b\x8d\xee\r\x10\x1b\xc9o g\xe6F\xabA\x15z\xb5FP\xa5\x12\x9b\xf2\x1d\x9f\xc0\x10\x1d\xd4x\x9b\xb6\xee{\xcf\x16\a\a\xed\xf6d\x82xí\xd6w\x01\xc38\x8e\x98\x96\bٔ{{\x03L> \xae\x82d\xac\x13\x812C\xe4\x00L\x91\xba\xa8\xe4L\x19\xde,\x9cL\xdc\xe8\x1e,\x84\xf2(\xe0mS\xec\xf8\x12\x9b\xc3\xd8\xe5\xe5$=\xd1|%\x9d\x15\x06֝lu\xe8&\tą\x94\x1a83\xe3\xda\nN\f\xa2X\xe5\x8ax\f\xeb\v\x04\\Vn\xf5\xcd\xef\x9eJ[)I\x9b\xea\x0ew\x8c\xc4/\xd1鹻\xb2\xda\f\xb2\u007f\x18|\xa0Gź\xd9\xd8Y\xd7\xc1\xf0\xf7DH\xb5\x98\xbd*\x9b\x12S\xfd\xaa\x8d\xee\xe8\xa4\xe6\x92\x1a\x1ap6\xae0\xd3c\x8fJ2\xe3@\xc5W\xb4%Ѧc\xef\xbc_\x1a^\xd3$\xd1\xe7#\b*:G\xa7\xae\xe6\x186\x8e\xa1\xefn>\xcdD;\xfa\xf9\x02\xa5\x90~\xa4`9\xebhXB \xf1\x1dU\x8e\xabJ\x03B_в\x88\x98\xf9ˈ\xee%\xaa\xfd\x92\x01\xb4w\x17'\xb9$\xb3\xe8v|#T<\x0f6\a8\xe7\xaaKM\xb6ϑ-\xd95U+\xbe\xb6\xa1'\xed\x06B\n\xcbĪN\x85\x91\xf8\x8ebJ\xec\xc3Ov'\xc8\xec|\x8b\x84+*M\x8c\xbck(\x0fd\x88\r}\x9b\x10C\xda˱@\xa0\xb3\xc1q\xb0\xb3\xb9\x04&\xf9aR%}\xb4\n\xcb!\xd6VЃ\x91s\x113w2\xa6\x8e\xd1a\xb22\xb2\xff\x8e\x17awH\xe6z\x10\xa1\x17/\x8d\x9dQ0\xf0\x02F\xa6 \xd9]~;\x03\x9e\xa5ä\x9d\x12\xcb\x15\xd6 ND\xf9P\nm\xfc\x98K3x\xde\x15\x8ake_\x99\xa3\r\xa0\xf1\xf3\xfeS\xaf!\x90\xa1V&=\xb2\x05\xb2\xaa\xb2\xbav\xe7\x19\x19_P\xc0\x8dL9\u0603\x18Y\xa3\xa1i\xbf\n\xa7NU\xad\xd3_\xb6\xac\x11\xaf)\x96\x17\x83\x90J6\xdd\u007f9\x91f*\xca\xf0S\t\x10\xb1 \x11\x1d\x8f\x1e1\x007\xdaF|\xb8BR$\xc9\x15\xb7y,\x19\x0e\x04Ʊ.\xbf\xc0\xd5&=uqs\xe1\x18\xf3\xa1OD\xc5\xf2B\x9b\x1f\xc8\xf4R\x84\x19=\xe7\xd9ɳ\x97e\xf8ؽɇ\xe0\x1bB\xae\xac\x03\xe4\xac\xd6H\xad\xa1\xae\x13\x01\x88\n\x1d\xaa2lu\x03'\x9dh\x117^#\xffS\x85)\xa3Xi2..P\x00e\xa1/@F\xd5K\x13\xc9\x11\x91$\xe9](\x1a\xd8%\xe0|\x962\xc9\x1d\xf0\x13Y1\x10\x05pC\x9d\a\xb18t\xc1\xf9I\xf8\xe311\x14N//+\\\xbb\x93p\xa5j\xd4\xc4\xef\xf4d\x80\x94\x18\xce\xe1\x18\x00W\xcam\x15\xe9\x9b\xc3I=\x04\u07fd\x12\xb7\xd3\bY\x03\x93Zx\x1e\xa1\x01\xd4MЉP\xfd8\xb2\x93\x011/\vJG\xab\xf5\xc4^U\t\x14,P\xc8d1O\xae\x14\xf3\x06^\xacy\xdfpq\x94\x13l\xbf\x81\x0e\xa32h\xdd\xd1$\xf8\u007fjv\xf1\xf8\x8b\xfe\xaa\x04\x1d\x01\xad\xcc\xf5\x9eI\x9a\xf6%\x87\x8a\xa8\xa7\xe1\xe8\xd4]V\xe6\x06\xce\x13\xd6\n.\x00'[+W\x12U8\x1b\xc1\xad[\x8e\xe5\x86\x01D\xea\x06\x92\xb3\xe8,\u07fb\x05\xbe-\x0f=[\xc0\xe5\xd9\xc2\x06\x02\vO\n\nw\xff\x83\xa0\xbfE\xea)\xe53\xb1\xf8\xac\xe4\xf3\x0f\xbfJ&\x02\xa5d\xefقݶR¡\xac\x06\x97S\x96\\.\xb0 \x955J$I\x8d&\xf3\x91\x18\xddo\xaa\xb7\x1fHȳ~\x9b l\x87\xbd\xcez>\x80\x1a\nUx\b/\xf5H\xf1\xd0u;\x9a?Gt\xae{?\xe0\x0f\xb3;\xf3T\xa1\x8c\xaaH \xe4L\xfe|F\xfa8\xe1\x86\x03\xf0\xb2}\x88\xa1{\x0f\x18\xfa\x98\x1dp:\xdf2t\xec͆<L\xa4C\x02A`\xb2\xbc\xd3ʘ\xc6\xe2\x1eÇ득\xa7\x84+'\t\x89\x97\x89\x1e\x82\xb9\xaao\x13R0D\x1e?A\xfbClI\xfe\x02\xe7\b\xafZ1\xac\xb6\x9bF?j᧴\xf9\xf5\xe4\x1e{^\x00\x9c\x17E\xb5dGI\x9c\xb5T\xb0\x11\xba\xa1&#\x12eJ}\f\xd6\xc4\fɣ_m\xa6\xdc\x00i\x92\xb3\xd0A3\xf7K[\"o\x9aC\xd9TJEߞ4\b\xcbc$\xf4\x84jݍbY\xcbn\x0eathY\x00\b\x84`YG\x1b\x81\x14\xc8\xe3e\bi\x82\xb5\xa8\xf1(\x85a\xba#ps\xbcW\x90\xf2\xb1\xc2i-1\xf2\xc7\xd1b\x99\xab,ʎT\xe9cm\xaa\xe5\fb\a\x1chv9jh\x11\xdc\xf43\xabt\xe84\xce@\x06z\x01\xf6K\xb1\xb1\xe6Ꙇf\xd1\x1fjĖ\xc5\\$5P\xfc\x85!\xbchR\xb6\x93$P\xe9\nM\x16\x93њ`\x92\xb3\xff\xaa\a\xc0C\xf4C^%2\xd9]u\v\x0e\x01Os\x95\x87LTx\x93\xed\x14\x0f\xddp\xa6Y\x80\xdc\x1c!\x9bU\x11Ɯ{\xb0\xcd'\x00\xd0\x16\x92\x04\xe1\xa4\xcfyL\xf0 +\x8e\xb0l\xc8J\x15\xe9\x8b8\xaa\x00\xca\xdf)\x10@\xf6w\x84$F5t\x134\xd5\xdb\x11\xbe\xad\x0e$\xc3,\xa3\xb234a\bT\xfe\x98\x05&\x89\x86\xd5݄\x15\xa8Ui\xf5\xda+\xbf\xe4\xec-\u0c91-\x9b\xe7,\xae\xf0\x05{!/\\\xc5\xc2\xfcς\x9f\u009f\xb1'&\v\xbfS\xac\xc5\x00\x99\xc10xk\xc0Y\xff\x91\x1d\xc50I\xb6\x10)\xab'\xdd\xf6\xed\xe2~\xbf\xd6 \xb4\uaad5j\x83\x03\x13\xf5#\xb1m!\x96-\x02TQ`\x95\x8b\x89=\xb6\x1a=\x9cK\x1bR\x1e\xd4\xe8\xd5,.i\x18\x15s\xa1gI&jf\x89-\x13I\xcd(\xff\xaa~\f\xb2\x8e\xb3o\xa8\x8b,\x15\xe8i\x9e\x80\xa9傌t&\xda\\\xed\x9d\xe8\xd8`͞\xb9\xb9\xe9\x05ҕ,\xe4Y\x86\xe7Gܑu\xc1\xa0I(\x0f~[\xc1!2=\xca\xcd\xfd\v\xe2\xf8\xb8\x93\xa4h\x1e\x1d\xd9\xe5\x88&I\x99\xa4\xea{8~4\x9c\x8c\n\v\xf0j\x0e\x10(*\x81\x81\x01aA\x85T\xee\x05R\xfe?b\xda0\x84I\x93\xb3K\xeb\xbeP\xff\n\xb8\xac\x9e\x80M\f\a\x14\x8b\xfb^c\xb3\x9c\xb4Yf\x01\x143\x8c\xe2-\xae\xb9J\xb8\xf3\xba\x13c\xb1\xf7r\xf8;\xfe\x03r\x05\u007fu\x9e\xeaGuA\xc1T1?Q\x82\x89\xe08D\x8apy\x82y\x16\x86+\x1f\x1a\x91\x05\xd2c\x9e\xa6\xec\x8a@6!\xcb[o\xcb\xc4\xd4f\b\xa3\xd7Zp\xad\x11\x12\x00\xd7\xe2ɲ\xe8`$\xc6Q\xf5\xc8!\x86\xb2O\xad\x82 \xe14\xab\x8a\xbb|\x8d\xac\xc7qi\xf9\x8aL^\xb7\xd8_\x15ǀM+\x9eƾQb\xb2\xb9#7Ճ\x02\xd8\xecX\r\x045=\x9e\xdaq\x13Q\xbf\xe7\xee\xac!\xbci\xeb\x1e\xe7\xf9m~\x95\x87\xf9\xf7\xc5\xf7\xd4\xdc\xf7\x87u\x1f\x85\x03ݢ\xea\xe7\xd3\xdc\tr\x01\x11(48zr\x18\x8cY;\xe3*1\xc3y\x18Nk\xd6$9\x04j\xd6\xf4\x17\x10\xcai\x01\x05p\x1c+\x88q]\xa0\xe6\xb0g\xe8i\x99f\x94\xd1\xee\xf9\xd2\x0f\xa6f\x85ԥ\u05fe\xa0\xa8\xa4\u05fb\x91>a\xb7\xcbѧp6\xd1\xcf\xed\xd4\xfb\xb7\xb6\xf8\xe85Y\"L\xdaD\x93\x8c\xf9.\x8ar\xbc\xd8V\x0f\x93\xdf\x04\x91\x15\x14\x1a\xb2\x18\xdfS_\r\xba\xda\xcak\xfe\xcf]\xbbn&\xfaH\x8d\xb8\x0fz\xa7~\xa69\x91æ\n\xa6p\r\x15$\x1c\xa74ق\x94\x8d'\xa2{\xba&\xa0\x01\xb8\xab\xff\xcbM\\\x9fΰ\xe9ч\xa8\xae!\xecq\xaei\b\x9d\xe0 \xcf\xc4(.h\x9a'\xcb\vB\xb1\vT\xad\xb2\x9f|\x0e\x1e\x9e{\x04\x06I\x846cL\x1c\xf2\xa1\x10.\xb9\x9e\x1e\xa3\x11빍iI\xbe\uaaff\\!\xe0\x1d;\b\xa7\xe0g`1\xe2\f\x1d\xe1\xbe\x15\x95\x98j%\x10C \xb9o\x9d3*60\xf7\xb7E\x8c\a\x98؎\x01\x9e]t\xe4\x89.\xd7-%0\rY\x1e\x89K\xc7_nft] \xb7\x17*VFC\x1f\xc6tJ\x92\xb0\xc4T\xd4\x12+\x16\xa4\\WZ\x908\xe1\xf2\xc4\xe2\xd7\x10g\x1bF\xd0\x04\xb2\xe0\x02\xd9^\nޞf\x14\x9d\xb6 5\x9a\x12I=\xb6\xd7\xf9#6\xf6.@\xf52z\xd2\xc3;W\x9a`\xffB/ęQ\x05\x05\xf8\x8a\x1ag\xed\xb0\xfc\x15h\x8a\x19jyJ\x9d\xd3\x19\xb0\x80N\xb2AX\xa43\xaa\xdd\x05,\xf5\xa4\x9b\x00\vK\xe46\xe8\x92\xeb6\x1b\x8fڲ\xd8M0\xaeT@\xa0\x8e\x85O{\xa1\xa3\x984k\x13j\x1f\xa3|\"\xacftџ\x94ۄU\xfc\x82\x18<\b\x16-\xfc\x18\xdea\x86\x14\xae\xd5\x19\xe65b\x8f\xfa)\xed^R\xb1\xb08\x99\x84\xce\xc1\x9e:\x86\xa7il\x1e\x90\xbe\xad\xc0Ka\xc76@\xb5\xe6\x94\xc3!\xc0\xcd\x1a\xc3\x0f]\xa0buv\x0f\x1dΏ$\t\x11\x87oU\xc7\u009c\x81~:.\x85\x10\x06\x14L\xfbt\x96\xe8\xeae\x97\xfc \xc7\x1b\x0f\x80\xa2JξP\nl$S\x13[z\x0e\x96\x8f~\x12Rq39钺\xf4\xb69\xebQ\b\xef\x13\xcb/\x90m\"\x95%ʤ\x89\xaf\x86\xbc7\x9f\x17\x03\x0e\x9a\t\xc3\xee\x1f5MKL\x9f鑧\"IߏG\x84\t\xe8XTގ\x1aXL\xbfF\xf0ݧV\rj\x91p^\xa1/M\xc3g\xc1ۻ{\xb6\xb9\xbbw\xf4\n\xec*\xf8\xba\x80\x9e9\x0e\xff\xf0\x97\xcaO\xbeʈ<\xcb\"a\x12\x1f\x0f\xf4\xc1\xfe\xf7A\xe1\xee\xef\x88q\xbf\xbb\xa2\x86.\x1fM\u007f\x97\x13\x002@m\xf6\xeb\x87p\xbf^\xda'\x93wߕm\xf6\xc7k\x01xO8\v\xfc$[\xf3\xab&\x17\xc1\xfc|Y\x82Zy\xfd`2_|%\x11r\x97\x93/\xe5J?\xa1Q\xf9\xc3\x0eṈl\x893Þ\xce\xdfK\xa1\x14E$\x96w\xffv\a\x13\x18C\xcb\x01h\u007f\xa3\xfb\va@\xf7U\x801\xa9M\xf8\xbe%\x02\x160?1*\xa5\v\x96$G\xd3Z\xd3{!|\xc7ʿ\x18\x11\x04\x10\x1a\xc0$\xc3\xdfە\x10\xc2-\x1b\xf2٪Ev;\x90\x8b͓:\xe4\xbd\x15\x8b\x9f\x1a\x06`Bl\xcf˸\xa0쌧\xc7\aɬ\x9boQ\xdd0&\x8b\x02\x95\x04\xfb\xfe\xf1,\x86F?\xa1\xfd\xc6\xe4\x84^\x9ds,\x87c\x93\x99\xc1h˕\xff$\xc3E\x13\xfccl0\xe5\x13\xbaw`\xfd⏺\xb9ň\xa9@/\x80r\a^\x16l\x988cT\xb73\x99\x9d\xdck@\x9b\xdc\xfaJ\xc2ݔ\xb4uP\xd0\x18\x05&ʪN\xc9\xf3d\xf9Jj\x14T\x90K\xb8\xaai\t\xb7\xe9*u\xa7\xbb\xe9X\x96{t\x93j~\xbdɡ}\xf9\xf1\x12\x0fi\\B\xc8K\x1den\xe2\x8bȵ|N\xeb\xd6\xea\v\x9au\x9d\x92\xef#\xc3]@\x1fl\xf5CZ$iP\xe6a\xbd㸩t04y20\xfc\rs\x11\xd8֪\xe2,Au\xc6!Q\a\xd2\xd8B\xe4ϖ\xf6\x96^\xec\x88@Vsɑ\x80\x82\\\xdeZ\xdfa\xe37\xa9쾉\x04\xa9\x14\xb8\xe2ш\xb3\xbb6-T\xefr\xb1\xc0\x17\xe4U\x98\x8f\v\xe0u\x18\x93\x8c~\xeb\xb01H\xc2J\xa8(<α\x8e\x82\xf2\xbd\x90\xd3\x1d\x0e\xb3bRԖ\xb8qi\v\xcf\xe9\xe6\xa2\x10\xacJ?\x1f\xede\xffG\x00\xc1\r\xa7*jVħ\f\"\xe1\xd8\xe3\x86:\x0eY);\x8f-F\xe5\x06\x05d\xf4\x17!\xf0H\xa3\xbb\xd9G~\xb4\x95\x1fu\xa6x\tcb\x8f6m\x95\x16\xbc\xf8)&;\xf10\x1d\x87\xcfdU?\x878\xc5X~\xef\x9f1\xd12\x8f\x9a\x17ۼ\xa8t\x80\x88I\x00\xd8x\xe85\x03\xc4\xc0{\x03(\xebz\x84\xea\n\xdc'\xbf\xfb\xff[\xa0Ńk\x8e\b\xe8ZЅ\xd8\x12\xec\xe9\xcdi,\xf0\xc5b\x991̇\x8b\xa2\xcd\xe1`\xba\xb1(\xf4\xaam\x8fH\xe1\x81N\xf0\xec\xfce\x89K\xa4\xb0\x10\xdf\xd4/\n[\xe0\xb4(\xf5\xf6#Q\xf4\x97G\x06d\xcau\x1a\xceT\xa9\xbd\u007f^\xf8m\xb3\xa2\xbf%\xf9\x86\x8c\xc5!(\x987K\x1cg\x03\xe9\x85P=\xe8\x13h\x0e\xf8\x1fϕ\xe1kɐU+\x8c\xc2\xc6.[\xd2e\x05\xaf\x8b\xcf\xd0\x03\xbc\xb3C\xc1\x8f\x9e\x8f\xff\xe5\"GD\xffΨ\xa3\x9b<*<\xd6\xcf\xfe\xe9h\v\xab)\x18\xa4` A\x98U\f@O]h\x14\xfdl\xc5f2\x94\x85!H\x9e\xe7\xcfF#\x00QB\xc2\xe9=uȾ9f\xb4h\a\x80\xf3;\"R\x84\xa5\xda\x00\x92\x01K\xdc3-\x82(\bG\t)\x05\xbc\x19P\xb1\xe1\xf8\xa1\xa8\x9e\xa6\xb2\x10T],7\xc1ec\xde\n\xeb\x1d\tF4hH\f\xd3s\xb3\x1473ᖟ\xa0\x12\xa1\xb2\x16\v\xe2\xdb`\xe0\xbaR\x96\xa1T\xedwfͳ;6B\xf3>Ř\r9&\x15\x06\xc8\x1b\x05\xe2\xdb\x06\xd1\xda܂\x02\x05\xce\b?\x92\x97\xf7\xf8)\xc0\\\xa8\x8c\x80\x81<&Ŏ\x99\x1c\xf05\t\x11L\xc3Ju\xa5@Y\x9e\xdd\xdd,\x1d\x90냲ھ\xdb\x04_w\a\xc20\x98\x03^\xe917\xf1\xf0\b\xf0\xf6\x11\xecp\u07bb\x87*>D\x948\xe3\x9f\x11\x98\xfc\xb0_)$Uź\xf3\xca\x15R\xb4!j\x1aOF\xf4\xd6>{\x88\xd0\x1f\x92\x91\v\xbbt,\xaf-\x1c\x85bP\xb5,m`D\"/\x9fz\xf0A\xe2\r͔\x02إ\xea\xdfQZG\xd5&U]\x90xej\x04x\xe6\x13\xe5Lwv\xf5~\x10\xb2\x9c=)@\xd8B\x1b\xaf\xd6\b6\xca?!;5\x143/ps@\x02t\x83OZS7\x10\x03\xa9\x94\xa7ؙ\x14\xae\x92n\x9f\xd8lx\xe8\xfb\xee\xffZ?\x12\xe1\x83Z\xf9\x97j\x03\ra\x0e\xb2\x96\x15{\xfd\xfb6\x97\xa5\xff\x19L4\x9b\x8a\xab1\x9f\x03\u007f\v2\xb9\xb4\xf9\x0e\xaf\x8bQ\x87i\x18\xdc\x19\xfd&֥l\x83\x88\xe1\xbd\xc5\xec]o=\x03\x1f\xa07\x1d\xc4ļ\tof\xfcЖ\xfcr\vMEV@\x83\xe2\x0fH\xf5\x03\xa6\xe8\xf2\xfb/\xe8\xfda\bD\xa5٦\xebH\x95\x83\xae\xaelK5)\u008cZ\tOE\xb4\x9c\x98\x1f\x84\x053\x10\xc1\xa6I\x01G\xa9'г\x0f;\xeeD'\xb6zl(\x91\xa0\xf7\x9dE\x9f\xcf\xd1$\x9d\x8a.ٜ\xf0-W\f\aR'\\w+)\xc2w3\xe6꺾\xf9\xb8 @\xdb%R\xd4\x14)\xff.\xf2\a~\x8a\x14\x059\x05;]\xf4\x14.\u009ag+)\xd8\x03%ȝ\xf6k\xd5\xce\xc0҉\xb3\xa8^\xd2\x1f\xf6N\x80\x06W\xb7>b1z:\x1ds\x86\xa8oD\nK\x8d\xf6\xb2\xba\xc22w[|>9\xe2\xaevWMF\xe2\xafu\xde`\xb9\x1c\xeb\x13\xcdax\x87chի\xf5U\xb7\x14\x81`*ʆe\xfb]O\xa0V'6\xfd\x87\xc0\x03\x83x\xd4d\x1e?\xbcH]_r\xf5A\xbb\xa3+z\x11\xc0d\xadF\x9b\xafH\t\xc4ʋ<\xa4\x1e\x01\x85Ǵ\x1d\xa3\x04\xd5\x02\xc6\x04\x17kUsFz\xc0\xba\xf2\xcfaH\xd6\xc79\a-\xb3\x9c\x90\x00\x98\x83gv\x82b\a\x8b\x1f=\xd3\xebL/\x11\x9eE\xbb)\x10\xb0\xc4.\x98\xbdx9j\x13%B\xe3)\xa0$\x97\x8c\xe9A\xcbB\xa2\x8f\xe6\xec\t\x83\xdb\x1a\x9f\x01t b.b\xd2\x02A\x10E\xa8\x9eZ\x8dRb\xf6H(\x91\xa3\xf5J\xffya\xe3\x88\x1e\xd29Wj0\x05f\xa4\x1b\xdfF'\x9b\xb0X\xe0z\xbe\xc3\v\xef$DQ\xad6\xb4\xeb\x9eq\x83\xd8`\to\xca\xd0\ti\x14=\x81\xe1\xc1{#4\x14\xa4\x13\xa9FYH\xf9@\xd8J\xd03\r3i~\x91tYТ\xd9hk\x05H\x87P\xcf\xf1\xd7\x0f\x17\xf7\xfd17\xd3\xe0\xe0\x04\xa5\x86Y\xdcD\x97\"\xdcp\x97Ħ;'\xb31\x026\x80\xc6f\x97pu\x18\x02\x8b\x17\xa0\xf4\xbe\x04>\x11\xfeF\x9boD\xc5Qi\xa8n\xe1̒\x8d-\xcf\xe7\f@P#\xe4\x9a\u007f\xab\x87 \x12\xa6h\x93j ނ\x06\x88ŀf\xb4\xb6C\x0e\x18\x96 \x96\x81\x837°\x01\x94\x17T5HVX\xc9p\xed\xf6\xc9\x02k\x12lĭ\x8c\xb3\xae]\x99\xdayX\x06r\xc6)?ͺ\xd3BNJ\x9a\fB\x83\xf7\xf8\xe4\xbd#\xcb\a\x9b9e\x18\x14\x94\x00&&\xbb_0\x95\xd3\x1f=\xae\x9a\u007f\u007fp\x15Z\x14\x8f\xc96\xa7\xaah\xa4\xd9)\x03\xf0\r̗\x83a b\xc0\x8c\x15\xed=(p)\x87\xe2\xd9\xe5\xed\xac;\x8a.N\x10\x95,\x93\xc3W\xed^\f*\x03hԺ\x8aC\x97\xeem}E\x997\x00i\x10\xf5\xe0\x876\xc1\x82\x06\x02\xc3\xf7a\xcbI\xedvͲxp\x83*A\u007fc\x14#4\x82\xff\x17\xfd\xfb\x8c\xb3\xc7\b\xa0N\xf6&\xf0`)\xaeĉ\x88\xa3H\xa3We\x9b\x83y\x127jl\xa1\xef\b\xb0\x00o\xdd\x13Eh_n3 \xad\t\x8bjp?\xaa4\xe8p2W\xc0E\x05\x1d'kT_\xe3\r&\xa3\xb0!ȖjVl\x98H\xedӻ_kɚ\xe1\xc8\xe2\xf6ʳ\xf9\x0faY\xf9\x8c\xa0\xa1\x1b s\xce@\xe4[\x85\x04G\"\xca\xd3bY\xd5L\xdbܫX\xa6\xaai\x8f\r\xd5C\x90\x98\x11q8\x01\xf1&\xfaz\x90\x90VaY{\xe8\xc6\x0e#I@\xb5\xa7\u007f\x1f\x9d\xad2\x98\x8em\x06\xf3!\xf4d\x01\x8c[1\t\x85A\x10\xe0Ƣ\x9a\a\xffnK\xe8\xf0\xf2\xd5\x06\xc6eם\xb2\xe5/>\x1d\x10\xdfd\x83\x02m\x86uX:xʷ\\\x84\xe2p\xf2N\x91\xfb\xfd\xa9\x1el\x9d+\x83H+c\xc7tSǶ\x82\xe6\x1f\x14C\xc0\xb1[\xed\xe0~3\x8c\xcde\xc0}6\xb0 \x8d\\\xb3,\xce\xf1Ʉ\x98\xd7|\xa4Y\xf2\x04\x11ݧ\xe7\xf8\x98\xa7v]\xac'\xfb|\xbf\x9e\x9f\xeb\b&\xed\x96\xecM\xf42\xb0 d\x10\xf5\xac\x00\x1bds\xe0x\x03-((76\x94\xa9a\x05\x03X\x9b\xbdm=\xd5\xeeӊ\xbf\xe3Q\x88\x97<$\x02\xaa\xaa\x00\x80\xfc\xf3Q\x05\x1e\u0086\x98\x84\xba\\\x90\x02\x93\n\xd4\f\xaaqi\xe9H阇\xac\x8b\x89i\x06'i\xa4\x94$\x8f\"\xa3{S*V\x8fwF\x8b\x93/\xb0t<\xec\xca\xc1\xe1Q`ʒZ\x16\xb8\x9a\x1e+\xf0pr)\x9b(\xb9.\x13j\xb5鸫I\xfck\x035\xf5\t<\x04\xe4\xb4\x12ʆ\xb1ˮ\xc9\xd6, k\x1bO\x91\x87\x9cDT\x88\xcaJ&^\x0e7\xba\xa3\a\x87ĪQ\x8d\xfe\x10\xa4\xcb\xcfv\xdfe\x10\n&\x9eZ\x90\xd8\b\x92\r^4\xfa\xc6^\x06s\xb0\xf1D+`WH\xb5\x99\xae\x11\x81b\xec6\xd9\xc4\x05\x14\x05\xa9\x98 \b\xb8\xae\xc8L\x9d\x98W{ZZ \xa6@\xb0\xe4mq\xe1\xfbv\xa6ɷ(\x04D\xc1\\+\xd4l\xe5\xe9\x14\xfb\x140*\xa5V\xa5߇\xb0Vm\xd5\x1f\x8a\xa7\xe6hƏ\xe6\xd8/S`|\xb3^\\<-\x99\x84\xa9\xc36\xeb\xb82\xa9N3\x9d\x82\"\a\rT\x12o\x9f\xf3\x06\x04\x8clr\xe4\xc5e\xa0\x82\x12!\xf5\x04\xc5H2\v\x8b\x15p\x83A ֛\xa8\xa0\x18\x87\x02\xde\xc3\xcf\x02{\x9bȼ\xfe/\xa3\x1e\xf2\x9f\xd1\x00\xe7\x9cudU2*2\xf2\x10\"c\xab\xcc\"p\x85${\xa9\x80y\x81,\v饋\xf6\x11\x11\x1c&\\\xe0m\xbe&\xba`\x1c\xd0|x \xa6p\x85\x88C\xaa\xd2w#\xc2\xc9\xfbW\x909D\xadI\ai\xf1іC\x88\x8f\x11\x9b\x02Ks\xef\x96燝\x1dS\xb6\a\x93\xe33\xef\f,\xb6\x0e\x91\x15\x96\xfeM\x9b\x92;\x1dj\xa8\xfeB\xeb\xa74\x9a\x9bP\x9b2\x02\xd9\xd9i\xb5\xee\xeff\xb6\xae\x00ɿ\xed\x17\xc1bA\xad]a\xa2id\xed\xc2\xf0\x10\x8a\xad\xa8\x0f\x86\"\xc4\xf2\xd7\x13i!\aaQh\xd4CNO\xbd\xb1\x9e\x8a\xef\x82\x1a\xf5Y\xed\n\x93x\x06\x12F$\xc4\xf8g\x979\x16\x14\x9e\xa5\x10\x91Z`W\xab\x1f\xb0\x85VB\xe2g\xb8\xb1\xa0\xec\xda#j\\˂\x97\xa8\x80e\xf9G\xf1\xfb\x1c\v[\x13\xb3.\x0f\x1d\xe0\xbe]\x8b\xaa0\x13\x14\xba~X{2\x9bD\xa9\x84?\v\x8a\xf8\"\xf3\x8a3\xc4B\a\xe1j\x14,\xc0\x10K~\x0f\xc6\x06\x00b#\x840\x02\xacɒL\x98\x01kc\xcd(6 \xb8\f\x02\n\xb1a\xfc\x04E\x1a7λ\x81/Վ\xaf%\x00\xad \xfc\xb1\x03\x9c\x0f\xb7\xef \xe0\xc9ġR\xeb^J\x14\xfb\x1b\xeb\xc5\x12\x04CϏZ+71X\xdb\x1a\x13\xb4\xd0UO,\xc1\x84\xf6\xe1\x14}\x0f#\x90-\x94\x90e٤\xa04\xf63ł\xf0\xedt\xc3\x048\xa7\x99Z\x047\b\x86\xcei\xe0\xac\xca<:i\xd1?Ft\x8bFk\x96\u007fC\fW'\x98\xea\x01f0\x01i\x02\x1b<\xe2Xdj\x97\xf9\x10\x8c\x940\xdb\x12W#i\x13\x8b\x0e\x8b\x9a\x96e\bC\xcf\nzI7\x88\xce\x0eB\xb0\x03s\x18\xb7\xac\x98.K\x83\x0e \x12 *\x05\xeb\x8d\xddV\x91\xb0\x9d\xab\x12d\xff\x87\x9fD\x81lj\xf6@\xec\xab\xef%\n\xa9܈\x9d\xe5\x9d\r\x15\xceZ\x88\xc4s\x18\xddﮐsh̸%\x87^\xdf\n\xfd\xe8\xf8\xcd\xf7@\x188\x86\xf2\xa7\xa4\xf8\xce?\v\xa0N\xba8g\x17\xd4G\xf8gr\xa8X\xb0\x14\x17\x80S\x83\xbb\xa0\xfc\x06\xe4\x1b\x95\rAp\f\x91\a\xb3\xba4\x87z*\xf6\xb94\xe1\x81\xdd\xe0\xa7,í\xb9\xc4t4G\xd9n\xd4\xe8\xf7\x91\xbc\x15\xf5dS\x0f\xe5\x13>f\xee\x94Q\x96C\xf2\x10\xcf\x1eWUZ{S\b\xd9;N\x8f\bx\xe5\xbd\xca}\xb0\xc7H&\xba\xbc*\v\xad\x009\u05f8\xafq\x13\x8b\x9aU1 \xca\xf3\fa\xa0`(\x11\u007fM-a\xc8G}\xd5n\xb6̽\xe8\xa2\xda0\t\x96\xbcp\xca\xd4\xc7mcn\xf1\x8e\r\xf2\xf0\x82ɘ\xc0_\xfa\\\xb1\xfc\x17l\xbc\xde\xdb\xe0\xfe\xbb}\xce\x18\x1a\t\xc8\x00\v\xde9\xf7F\xe1\x1cv\x9eH\u007fþk\x83JZ\xfcNO \xe5\xb4m\bZ\x81\xe1\xc1Q\x9e\xedҤ\taS\xfb\xebf\xfa\x16\x81\n)\x11QC+2\x16\nd\x92\x98\xa1[\xaf\xfd\xbb\t\xcc\xef\x03\xc1\xf5H\"t*\xde\r\xc1c*b\xcf\xc6ڢ\x01\xf7\xafq\xb0\xa8,\x05\xb5\x99\xf3\xe3\x13#\x01S\x98\x9f#\xa2\xe4u\x9b\x14\x0f'Ҭ\xf5:4\xa9\x1das\xa5\x03\xa9\xbeCDM\x90F\xa7\x13|ɸm\xa9_\xc31L]\xf6\xe1Y\x98\x17\xca\\\xc0\xa7\xfd*\xa4X\x9c\x8a>t\xfa\x96\xaf\xb8\xcc\x16g\x8b\xa7\xd8D\x1c\x89\x9f\xa3\x8a\xf8\xe8\x0f\x04d@&[\xb0\x19)8\xc3\x18\xce;<\x9c{\xf3\xca8<\x11\x96\xc8+VG\\\xb0H\x98\xae\xa6\x1d^\x8d\x04\xafa\x97\x8ba\x90e\xdd-4\x94\xfas\xdaJ\xd4A\t\x1b\\\xe0\f\x90hM[\x82\\`\x14\xf0\x12\x93\xbc#\xbfpD5Z97g;\xb2\xf7BW\xe2m\xce\xe4\x89qTXX\x91%0\xb9\x00v\xba\x9e\xe3\x86\xf9&\xf9\xb7]E\v\xb9\x17\xdb4]\xfbF\x10\x9fIJ\xe4\xa4\xf9\x96\x9c\x84&\xddS\x8e_\x12\xa6\xee\x834\xc8R\x890\xa0\x02\xaf\xa5D\x05\xfc+\xcbme\xb9\x04\xd4\x05\xa8Y\t\x83g\xf7\xd0O\xf8\xf1+M{\x940\x06\x0f3\xcfv\x00'ͅf\x85\xc1\xc5t\xaf\xe1\x00\xe8\xa0:;\xf4ر\xca\tN\xf4\a\xa6n\xe0\\ǔ^\xdc,\x0e)1\xdel\xe3\xe1\x92aB\xef\x03ZZ\xda\x01\x84[\x95\xe0\t\x04\xb8\x9d\t\xfbZS\xd2\xd2\xe4\xbcUYh\xdc߆\xcf\xcaw\u007f\x80\xf5\x8b\b\x9aS\xb8\\\xae/\xa4*?zQЋ\xff`\x90X4\xef\x1cg\xb9r\xed\xdb[\xa7\b\x8aCW\xe6\xdbG\x16\xfb\x14.\xa7Y\x84\xec0Q|\xfbRԃ\x82E\x8d[w\xbe\xa6\xee\x84y\x83)\xb8\x10\xe1\xef\x91\x1a,ш\xef$\xcbNK@c\x1d/b\n-#Z\xafI\r\x1b\xb9G$Ɨ\xaf\x99\x8btm\xe7\xcaH#\xea\xf0\u007f)X\xa3wP\x11ZAD\u007f|\xa2S\ro\xfdf\x90\x8a\xf5T\xa4\x80\xddH\xda\xeb)\xb8\xce\xe4\xd3\xe7\xc7>\xaaM1\xa0b\r7\x1e\x03\xe1\x0e\xb0\x85ɆS\x8bu\xd0\xc3q\xd7\n\xf6\xb7\xf6jK4[s\xf0\b\x84\x87\x10\t\x1e\x95\x97\xd7x\x02L\f \x9b\xd6\x13\xbcǢ\xa9\xeb]5\v\xfa!M!\x1fA\xbedƧN\xa0\xcb><\xab:ǻZ(\xb08\x90\x86\xf8\x9d)e\x85\v\x84\xdf\r \xbb\xa5\x99\x86/\x99W\x15\xd8\xc8\xc0|\r\xfd\xb0b\xaa\x19\xd8\xe9\x88\xfa<\xe9\xf7\x9c\x83\xaeT?%\xc3 \x03\xb2:@\xb1\xe4\xd4,-\xe0\xf8\x80ecMP\xf08u\xa4m\xb0V\xd0g\x8d\x8c9\x1cH\xe9\xf66\xae\x1c\x12\xcb\x0f\xe7\x8b}\x0f\xbe=\x03\xb35\x00\x83\x81\x97Ab\xd2Ď\xe6\xfd\xcf찁\xacΙ\xc0V:\x92\x9d\x85_\xa0\x1cle\x1dɹ\xdf\n\x11\xcf\xca\ue595\x16v\x17\v\xfd`\xcd\x110\x8e\xe4!$`G\xc1\xe9A\"I;$\xdf^?\xfa\x81\x02\xae\x8a\x13\xed\x89Ke\t\x05O\xa2\x15 \xcd\xf7\xb3N\x0f(ս\xe7\xf6\x93Yy\xca5B\xe7\x1a\xa1w\xb8\xd0V\xb9%\x88ju;)\x16lF\xb5oa\xe5\xec\xcb\x15\x9b7\x8f\xf3x\xe9\xff\x92ڸ\xd84-\x89\xc9%\xeb\x9d \x05\x86\xf0$\xcfֹ/zskǘ(sh>\xbb\xc1DD\xa9Ń\xc9t\xa5T\xc4\x117\xf6rur\x1a\xc0\x16\x9c\xb80\xc9\x1fҢ\xa0`\x02ܴh5\r\x025\x90\x8c\xa6\xc9\xe4\xb6\x00\x93S\xe1}\xb8\xd1\xdd\xc8\x15\x06\xff\xd24\x1bhrva\x12\xbc\x03\xe9l\xe9c!ZjB]\x81\xb9\x8e\xa6\xa9\x1a\xce\u007fx\xe2D\xaf\x18\xb6\xffb\x96Tx\x8fzYS\x82\x1f\xdf6_\xf6)\x83\xcao\xb0\xd4p\b>\x98#\x8f@P\xa2S\xd3*\xfdb\xdcS\\q\vƋx\xf1YfQ><\"\xf3\u007f\xb7\xb2\xe3\xa2\rY\x1c6\x91\xc5\xf2I\x1fE\x0e\x00r_7\xf1\x88Ұ\fV\xd4H\xc3!\x00\xb3\xc5I\xe7r\x8cEL\xe7\x8e6\x19\x9e!N\xbb\x00\x12\xf6q\"'\x92\x1cd\xa0\x93\x01a\xfeqMv\xba\xc5\x0f\x8bA\x1f\x82%\xed\xf5\xba\xba\xbe\t\xf1v\xb3\xed\x15\xbd\x8e\vn<Eб\x89;\x81\xc3,\xdaw\xae\xdf2pO%\x1e\xacr\x92\x87X\x93\x06H\xf6`\x98uI#\x99/\x9aK\xb9\x06\xc5\x14\v\xf2;\x895\x1f\x186\x87\xdfLL.\x9cMI\x1b8\xd4\b\x02q\x1f\x1a\xc1\xa44U\x91n\xe4rɡ\x19\"s9\xa6(\xfb\xdc@=\xac\xf2\x14}N\x17\xa2\xa4)\x1d?S\x1d\x99\x16\xfa\x82\x85.\xfar\xbd0L3\xafm7V\x1d\xc2\xfdK HG\xb0/\xaeyQ\xbe\xc3\xe92\b\xfb/Ww\xabF)\x1c\xb1\xc1\xe3d)\x1cs\x1e\x95\xac\x19\x01F\xeb\x13\f7|\xf3\x8e\xc6\x03\xbavQ̴\xcbA\xddI\x13z`\x80\\\x89\x86\xb8\xbe\xe5\xdc\x01\x96\xd0\x02䄛<>\x1f\xf0.;\x1f\x9a\x1f\xebA/\xcf\a\xe7\xb0\xf42ʲ\x89\x9ca8D$\x17\xff\x03GWv\x85#̏\xfb\r9\xaek\xc5\xc5'\x06\x01\xfc\x89\xcbo؟\x9co\x80@\xe2\xfd\xcc\t(]gk\xed+}/\x03\t(nq\x16\x87\xba\xecK(f\xa2\xcd\xd6\v\xddƟи\x9ep\x1d\xfc\xf8\xcc2\xd4\x1f\xc83Y\xb0\xe3\xdd\xe9w\x00\xb2pD\xfedG\xb4q2$\xcc\xc9}\x91K\x13ӯA\xad\"\xf6E&N\x82tg\x19'N\ae\xfds\xd5\xf3\x1a!Ю\xf04q\xec\x9c\x17o\x14}쿝\xa5S\xb5\x05\xb5\xeb\x1e,o\xd5jr/s\f\x9cT\x0e\xfe\x04MT\x97&\xf6\xd0\x1b\xf0Qf\\12\xa1h'&ctN\xa6\xfa'T\xc5x7\xbc\x81]2\xfb ;G\xcd\x0e\x02\tʅ\xeb\xa2\xe3\x17|T\xaa\x01++:%/ \x86\xe8\xa6\xfb\x8a\xb3\xff1T\xc2\v\x01\x91\xc5\xfa\xcf\x1a\x93\f\x1a\xf3ˀ\x9f<\xd4\xf1\xcc4\xc2\x0e\xd3\xd4\xf9\x8a\x0e\xc0͔\xd7\xff\x93˗\t\xc9,0\x0f~\xe1\xf2\x9d!\xa1W\x8bO\xa9\x1d\xe0'\x89 \xe1\xcd:s\xf1u\x01\xc8\xc6\xcaҦن\xf9\x8f\x03(\xb4^ﮎ\x18\f\xb5\xa5\x9c\xc2)\x98\xf87\xe8\xd8\x00f\xc1\x80\xd1ml\xa5\xf2ҹ\xee1ūt\x19\xdc\x1d\xd2Z\x83\x04\xe8\bh\xc0\r\xcaL0\f\xa7\xa3\xb7\x96\x1a6\xd2X\"J҂\xed\n\x8c\x884\xa79\xd8\xd1 \x9d֩B\xe9\x1d}\x83\xdeԭ`\xe8`\x91\xa5\xae\xf0\x84Ӓ\u007f\xe7\t#\xa6J\xde\xefn\xe9\xe4\xf4\xd1_\x91F\xad H|\x9a\xa1$O\xc8K\xce\xfa=\xa1œ\x1fi\x191\xf7\xa1\xa67\x8c\x94o-\u007fH\xcbq\x1d\xa1\xaa\xfbp[ɫ%%:\x10\x04\x88\xe4\x80Ɉ\x15\x10i3\x1d۠\xfa\x84G C\x97\x00LL\x894\x8aS\xd0:\x9edB\xf2j|\x89\x88pY\xd3\xf6S\xfeD\x90P\x1d>\xb6p\xd3v\x00\xde\x04\xb25KLe\xe8{t0\xae\xf2\x91y\xc7END$\xe0*\x9d;z\x1c\xbb5\x9a\x8aN\x92\x02\xe1BI\xf3\xd9gn\x8c\x80\u007f.N\xc9|\u05f6\xe0\xd1n\xd0\x05\x8d\x94R\xc8aS\xa4Z\xd7\xc2JcH\xb2\x10 m\xcd\xd1X\xf8\x06\xdc\xca\xdf\ae\x90\x12k;_\f6\xc8,y\x1e\x01\xca\xc2b\x94\x8d0#\xa6Z\x84\xb8A\x14\r\x17\x06e|w\x82\xd4\xccG\rU\xbd1l\xb8\xcbLD\xd87ÄV\xa3q\x92\xddt[\xadxu\xddE\x94QUL\x88\x01\xef\xf0PB\x9dlZSh\x96\x92.\xe1\xe91Q0U\xecٱ8R\x84\x06i\x8d\xfap;\xa6\xf1{\xf3\xf4H#\x96G\x03ON\x02!?\xeb\xa3\x05\xe8t>\xa9Q\t\b|p\xcak\xa4\x90\xdb\xf3\xa8q!\xe7gT,\xf6\xd5j\xc7\xd02\x04\xc3\xc8\x16sǍ4툊t\x1b\x94j\xe4\x0e\xb7nƛ/\bI\xc9O\x98E\x02!ˋnF\xf5\x9b4\x12\xa8\x86\xb7\x88M\x0f&\x1e\xd41\x84\x1b\x92\x97\xbe\x85x\xd3$\xa7ew+v\x99S\xf0\xcb\n\x0e\fbm\x05]e%8\f\xb2\xe4\x90\x06P\xcc\xc2\x11\n!\xfa\xef\xb3\x11\x90\x8cs\xc2\x11\xf3_0\x066\xa3\x1b\xf2)\u008fQ\xb42JB\x86\xea\xd8\xfd\x01\f\x84[t9\xae\x96\x83'\x94\xa7\xb3Ԝ,\xa7\xa2\xcc\xf4[\xbdf\x00Æג\xb6]\x98\x1e\xc2B\x8aB\x1f\xc3@\x9a\xa6\xeer&B\x84s|\x95Q\x9a\r\xb0\xa7\x99\xd7g\xa8\xedOC\x88\x9e1\x87\xdcJ D\xe7<\xcc\xcf\xe2U\xff\x87\xb2μ\xd3\x11(o\xa9!\xb3\x81h\xa6\x90\xdcK\xbdH\xfc\xea 0q\x9b\x88\x92\xa7A\xd1V\x88\a\xbc'p\xb4f\xccy\"Q\nO\x04\x85\xdb\f2\xc7\x06Z\xbb\xbe\x9fq\xc2\xe0\xbd\x02#d\"\x9b@bQ\xbb\x06,\xae\x93\xc2\vw)\xeeP\xcd\\\x1db`x\x1f\x8a\xdf\x00O\xfe)ޢ\fd\xbc\x13MC\x80$[Ho\xa4\x13\x90\x18Wަ\xd1va4{\xe4DZ`52\xed\x0f\xfd\xba\x87\x06\xb3\x1e5;\x82\x19\x85X\xb0\xffao\x00K\x86;\x986\x93%\xc1R(\xc0\x82\x05\x8c\xd3\xc6хx9\x8a8\f\xc02r\xe3D\x1ec\xf7\x10\xa5@و\x8c\xe6\xbe\xc9\x10\xa4\xeeF\xd7<\x86d\x0f\x16\a(\xc8AN#F\x81I\xb7\x9e\x9bz\x1cm\x1dE\x04\xfe\x89\xbbF=\xa9\xb1\x85ƚ\xad\xe5\x95S\x82\x80f\n4\xca8\xa7<'\xb4\x84\xedj\x90\xea\x8e\xf4-\xaa\x98\xda'\bǘ<\xd2Tb\xf12\xddv\x80E\xc0t\xb8\xbfq\xa1\xd23qODd_\xed\xd0{`/\x9c\x0fhh\xea\x82\xf6\xcc`\u00929_\xfc1hAY|\x19/\xf9\xeb\v\xab\u07b7U\xea\b-͕\xba\xd0\xc4A\xde\x0f\x94\xd5o(\xf1\xcb\xea\"\x93$r؆T\xcc\xd7PR;\x15\xa7\x05.\xb8-w>&LJ\xf8i\x10\x1aC`\x05A\xa3^\x1b\xb1\x97\xd3#\x89\x80\xc4X\x178\x97t\x97\xf6\xe2H?\x80\x14\bd\xc1\xbfa\xc3ĖTST\xda\x03a\x1e\xa8H\x9f0@\xd2\xee\x8a\x17\xf0\xf3U)\x88\xa3\xe6\xef^\x1be}Jb7\x17%\xd7ܔ%\x0e:\x9b\xd3ƿ@\x00\x97\xafM\x8e\a+\xf1\xbb\x17y\x94sq\x8e\x00\xaa\xa1\xebL\xcc\xd2\xfd\xf8\xbf\xe1\v\xca\x12Y\xaa\x19\x1a0\x0f\x140Ô\xf7G\xfcD\xa1\t\x16>ĩ\xeaAW\v\x11\x88\xb6\xf02\x8dI\xdb:\xc4\xd9F\t\x9e\xc8\b\x02\xc7\x03\x9a3\xe3\x9f2<k\xbd}[\x1a{\xe7\xbc*\x99\"A\x8dz0\x85\xce:@\xde\x11\xc0\xa21\xa8A:\x13\x9d\xb5\xf0\xe7\x8a\xed\x17ܤh\xd6\x1bX\xc3\xee\xa3C\xfb\U000534e39\xe8\x888\xc8\xcb\x14\xe8\xb5\x16\xd4E\x84\xf9\xf2\x18\xc9\xc5U\xd6\xd8eu)[?\xa9mt-5\xcbr\x94~J\x1b\x92ݪ\xd3V\x182li)\x1b\xe1՞<\xb8ҳ?\xf2(D\x86\u007f\x17\xa6\xee;)\x92\x9do  (\xad\xa4\x98\xcaX\x1b\x1cI\xbfI$\xa6\x96\x92\xf1$\xaa)\xc0'i(\xc0\xaa*\x92\xa6_\xb5\x1a\x9fE\tK\xb4\xaa*\xbd4C\x8bk\xe0\xfd\x1a\xcf\x0f\xf7wkOI\xf0\x98FfQ$8γ\x9d;(0+.\xbd9\xb2\xc3\x14\xc2\x0e\x1c9u\xdd\x06$\xe1\xc20\xf6\xec\x8ft\v\x91170\x89\xecfȦ\r\rǒ\xfbaO\xb5=T\x0e,\xe8m;\xb0\x80\xf4\x15n\x12\x1c\x99\x91\x1b\x00\xa5\xf8˸\xc5\xfd\x1eΧ\x97\x0fc\xed<9\xf00\xfa<\xea\xc6\xf0\r_\xbd=g \x15\xc0\x11QV&\xde\x1a\xc5B\xb1܀\xc1%\x14f\xd23`5\xcdF\x00ݶ\x96~\x17\x89\xa7`\b6d\xc9.\xea2`?\xce\xc0\x0e\x1a\xe9]\x02\x84\x13}\xecO\x18\xb40^\xadA\x02\xbfK\xb4N\\Q\xe7(I\t{\xc9\xc6\f\x8c\xefp[Ꜫ\xd24\xc5$6x\xa7P&\xd5 :\xb2\x1f'\x007u\x84\a\x06\x04\xc7\xea\xe1\xdf\xd4\u007f\t\xe6\x06\xa7\xb4&\xe9\xf5\x9fR\xf3\xae\x02\xaed\xc0'\xc4\rʹ#{*W\xf8\x04\u007f\xb5\xe0\x1e\xe2l\x19\xa0\xb7D\xc6Q\xa7\xd5̎.*ZE\xee\xff\r\x9a\x03c\x83\xdd\x03\xe9\x017\xb5\xbc|\x024\x80\v\xe3\x80Ղor\\\x8f*\x04\xf6\xed\nH\x12\x05X\xa5\xb3\xd8\x18\x1b'\xc8#k\x1b?WR\xc0\x87\x91mP\x00x\v\xd9$ٓ]\x90\x1a\xa9\xaf\x00\x1d\r\x16ׄFK\xc1 ~\xc84;\r[Ҋh\x062\f\xc7A\x10\xccɉf\x89\x1d\x90\v\xa8<P\rdg\xb6\xe9\x92\f\xf7)\x97!b#Z\x03\xa5?0o\a\xb4\xd4\x01\xe1[\xaf\xaf\x01E\x01\xa0hX\xdc$\xf6\xb6\f\x1e\x85\xd3\xeaS\xfe\x10\xed\x92ؾ\x14e\xfe\x88\x0e\xbd\x1fN\xdb\xec$\x90\xf2\x96\xe6\xf0\x93\x8c=\x9f\x1d\x16\x178Ш\"^\t\x87V\xd9cFD\xd4\xefx\x98\xc1\xa7\xfd\xd1RX\x15\xb3C\xf5X\x93\xe1\x9e\xce.:F\b\x83\xbfq,\x86\x84\xe61)b\xa1B\xba1\x01\r\xf2\xa7\xb2+\xa1Q\x9e)\xf2_\xc6OyE\xa3\x8d\xb3\t\n\x19\xf4\x9f\xfc\x89\xbe\xba\xb9n\x1eTp \x1c\x05\x84\x9a}1`\xee\x9d#\x0e\nףd\x16-\xbd֥#\x84O\xf1\xe1ℚt\x14\xef\xc8:5Ћ\x9f/<b0\xb0'm\x9doqI\xa3\xdf\x0e\xc1B\xe2\x17\x8cFW\x89\xfc.\x91\\k\x19\xafc\xf85ߦ-v\x9bT[͂\xe0\xf4\x9d\xb0\x15\xea\xe0\x13\x03\xb1\x17 \xf4\xfc\x9b-4\xad:dݗu\x94\x86[\x17\t8:P\x1c금\xaa\xa3\xaaBT\x98\xfb\xb5U\xcc\xcb\xe7\x14\xc6Q\xf0\xa0,F24\x10\x82l\xc0EO\xf7\x14?\xaaD\xfek\xa3\x9c{\x12\r\xe5\xb11\xb8k6)R\xe4̘GI\xc9\xcb6\xa7Yp^U\xc1\x10\xad\x12!A\xe2@\xe9{x\u007fg\x90\x11#^/\t\x82\xd7E\x89Tz\xb0\xc7Ēʻ@\x02:F\x8e'\\\x8fQ6\x15\x83t,\xe6\xd4pT!i\xf5\nN!\xa6\x1ddG\x1a\xc1B\a\xe1\xc4^\n\xf3$@yn\x9d\x10\x88_\x19\x1e\x1du\x9cU\xfc\x01\xba\x13\x0fC\xd2\xe0\xedK\xa8_\x17\x06K62\x98\xecB|\n\x1c^\x87\x81\xa2\x82T\xb2mr\xbd\x17\x8e\xa1LDgʿ\xcbf\x9b)!-\x1c\xee\xfa\xfa\x90\xd3o\x8a\xa4\x90ch\xbb}\xc9\xed@o\xe0[\x10\x18r\xe0E] \x90\xeb/i\xdaWJ8\xc1O\x18gb\xeaӁF\xd6e\x82(/\x94\xc2EΠ\b\xe7yO\xf1\x1e\x99LB\x8d\x9c]IkTډa\xcc\xe0bV\x8e\x11\xcc\xd5\n\xcf\xce\n\t2\xbc\xb9\x93\x99ց%\xcdb\x04\xbb\x8a\xc2j\xfa\xaa\xd4g\x86\x8c'\x82\xc0\xf1\x872\x85\x02-6\xb5\xff\x1b\x98D\xfc\x04\xed\xbb\xa2\xf2J\x17Ze'\t\xb7oBi2\x1d\xfc\xfb\x1b+]x;S\xbe\x10P\xcf\x19\b\x83\x0e\xa5{\xa3\x1e{Ju\xa4m\xb2\f\x84f^L\nS\x150\xc3\x19\x91\x92\xcd\xc4\u007f~o\xc7\xc7\xeb\xe6\xfc-\xeb\xf7\xd0\x0fS\xb8Ec\xf4*\x80vl\x00\x00pOm\xf3\x81\x14@\x13\x00\xf6v\t-\x0e\x1fS\xe3\xffD;<U\x1c\v\xc8C\xaf\x11\x12Y\xd7\xe0\x15\x19\xbe\xee\xfb\xd6nA)\xa4pxO\xfd@\xa5i\xe5L\x8a\x90\xc27\x0f\x97E`K\\\x87J`\xf49\xdb\x02U$\xfc\t\x05p\xba'\xb0Տ\xa0\xdd\x01\x85\x8c\xd33\xc1\x10v\r+\x00\x93n\x9c\x98\x0f%\xa7l\bS\x8a}\xdc\x05\x01\x89A\xc5\x18\xecNj0*\x0f\xb1\xa6\xe8׳48\xd8\xcf\x02\xcei%\xd1\x05\x87\x16\x8a\x94\xd28\xd1\xe3P5\xc2c\x89\x8c#\xc5\xe8T$\u007fF\xbb?$\xb2\x97\x80L~\xaaI\x9e\x0eQN\x0f_\xf2M\x03C\nTn\x89L\x8a`)e|Ȑ\x8b!d\x9a\xe4\xf3\xda\xf2\xec\x04ܑ[\xecs\xfb\x91D\x94\\V\ao\x15\x8d\x82\x06gF\x1d\xfb\x9c\b\x8eG(1\xa8 \xc6\xcc\x1bOJB\x99\xc9\x11\x00J\xdbFR%p\xe1\x9d\x06\x8e\x1d\x8d3N\xf0P C\xe9S\xea\xf3\xd2\xeb@pM\x14\x94\x00\xcd\xddvA\x00f,-\x13 +\xaeH\x83Ft\xbb,\x9f\xb6\x87\x06\xf3wf\x03A\xa8\x12\x80\x00\xa9\xb2\x8b\xe6\x8e)y\xc1\xf3\xee^\xadƸ}\x02\xc8N\xc5+s8\x16\x04Z\x16\x82$j\x87NF\xb3\xf1\xd7\xe2i#\xdal\xc8\xd6\b\x16\xe2h\x81\x96\xb4\xffP!9ge\x1d\f]\x02\x06\xf0i\xcb\a\xa8\xf6h\xf2\xef\xe7\x80\x01\xf6\x1af\x93v\x16'\x05\xf4\x83l\x17\xe1\xf0!\xea\xe8\x1cyn\xdbO\xdb\xe4]3\xe3\x00i\x86\x99я\xc0\x0eF\xcd\t\x9b\x80\xc8\x05Pkc\x9c\\\xe7\x88\n`\xe7\xf5\x0f\xde\x16@\xde\x15\b92\x01\xc4\rz\xbf\xb5X\xe3\xfa;]۩\xe1i\xaa%[\x1b5\x8b\x14\x94\x80\xe0p\xac8Q c\x8b\xc8\xe5d\xdb\xf0\\\xd1Lo\xb1\xe4\x02;jP\xda/\x8a\xad\xf8n\xfdg\x81\xa2\xf3[\xe5\xd2qB\xd2QP;\xf6\x98,\x18V\x93e\xd9\xe7\xd03\xdcP\x1er\xb4'\x02ط\xf54Y\xff\xa9\x86 8\xbb\x0f\x06\xf7[%\v\xcd\xf6\xa6c\x93\b\n\x19^\x88`\xd5\xf7\xb0\t\x9a\x8b\x06\x19\x0eP\x1a\x1f\x05jL>ʠ\xedq\x17\x80\xf7\xc0\x94:6S\x95\x97\x8e\xd1]K\xce\xcf\"\xa0\xa5\b\xaeg[\xa6\x9d\t\xe5ϑH\x93\x1b\x1d\x1e\x98\xe2\x03B\xac5\xc8V\x06\x1cEq\xdbLJ\x8c\x95X{C\xbc\x88\xb9\xa7B\xbd\xc5\x03\xd9\xd2!\b\xa5P\xabI\xe1\x90\x1dq9\xbb\xf8Llx\x96\xaeʪ7\xd2\x1b>֤\x96\xdb]@\xd5!@9H\x03\x94!\xaa\xed\xe4\xc8p\xc0\x1eə\x15\xd5$\t\xe2?\xde\xd5)\x9b\xab\x81\u070e\xa8\x05l\xb0\x06/\"\xb1\x94\xc0́\x96\xaf+\x93@`}}:\\\xf7\x95\xaf\xd0\t8\x95zQgS\xa3\xbf\x18+\U0009293f\xc1\x92C\x84\xa3}\x80\x1bR:\x9f\xf5H\xfeUF\x02\\\xa1X\xfe\x92g\xf6\xc0\x18/\xe2\b\xeb\x80\x04AZ%\x11c\x1f1\x10\xd5wlET\x00\x05\x96\x0fwX\f\xa0\bZNh\xa5\xa0\x85\b\xc4yf2D\xc6 \x80ø\x18\x89&v\xaeL\x93q\xee\x1e4\xc67\x95\xf1\xa7\xfb\xcaz\xfa\xf0\\\x90iJ\x11y\xc0\xe8J-k\xafN\xc43\xbd\xa0\xeb\t\xa3-\xbc\x05s\x91\xd1J\x175\x16\x89\x0f\x97\x1e)\xd9V0\x99N\x170\xddd\xda\\ӛd0d-\xa9\xe3E\xda[mf\xa3\\\xa3Um\xc1x\x11\xb2\xd2\xd2C\xabR<(`\xaaѕ\xe6\x1d\x83p4^!\x06\x9dh\xd4Q\xe8\v\x00`\xa2\xf9\x81!l\b\x93 ~ƙ\xec:J\x87ɠ\xf1l\xfcW\xb1\xfe\x809˸\xccZXB\x14=\xeb\xc8l)`j\x9e\x1d\xaaeVJ\xb3\xe0U\x80\xb3\x02\x86G!\xaes\xd8\xe71\xd4?Ƽ3\x84\xa8Ê.\xb3\x1e}b\x1bIa\xd9\xea6\xe0\x03ʕ\x06\x16\r\x1e\x9ct?\xe8\xc0\x80\xdeS\axZJ'\xc3p\ni\xeb,\xa6\x12.\x88\x8f\xf1\xac\x12\x90\xd8R\a\a\x012T`5\x00\x98-R\nBxr\xe6WH\x03\xf6\fJP\xb0e#Bb\x89|\x93\xaf\x94-\xb1\xfe\x90\xa1\x90\xec\x8b[\xb2\x84\xa0\xc6\x1c\xe4P\xc2\xe2\xfd\x85\x1a\xa4\xa8Eh\x8b\xb1\xb3\u008b(5S\x9c\xa2\x1d\x95f\xd5r\xe4\x1c\xc3\x19/]\u007f\xcb\x1c\xb0\xd1IƊ\r\xcc\x15\xd6d\x94\xdeE#\xfa\xa2O\xaeS\xfa3\x979ӻ]\xb8\x16\xba\xb3\x80e\x1e\x82\xbfۮ\xd5ɹ.9\x17_\x8cb\xeae\xa7\xe6\xbeM\x8c\x14\xb4\x819b\x1e\x13\x19#e\x8d\xa9(\x92\xa6\x11-\x88 0\x9d\xa7\xd2\xd7Ra\xb1\xe0\xc6\x1d\x849\xf9\xba\x96\x88\x06\"\x02\xfe\x89\xb1\xfe\xfd\xfdU,\xe1\xc2%\xfa~\xbeX\xe8܀\x1f\xf6\x97\x94\xebz\x80\x15۽{'6[@\x84t[W%\xfd\xd1*\v.d'vR {\x94\xd2\xf0h\x1e\x8a\x04\xa6!\xdeAed\x92C\xaaE}\xbbx=E[\x0e\x01|\xefB$7J\xa1* B-\xe1\x00\f,=\x11k7\x94[_\xb6\xea-\xd0I\xf4\x96\f\xa2\x15\xab\x80\x92\x87J5e\xd6̶\xc4\x01\xb4\x13{\r\xc8\xed(\t\xb4\x86;\x10\x8d\x05\x14WMw\xa7`\xab\xb0\x02\x80\xcb~p\xdcA\xa0\xb0z\x15\x0e 8\x87\x02\xeef\xe6\x13))\xe2\x8c\xe2\xc2(\xde\xfc@\t\xa9\bĪ\aم\x85\xd9\x03<\xe1\xee\x85\xe4.a%N \xf2\xecn\x14\xe9@bz\xad\xc3\x19\x87\xc8\xd1\x1a\xc0\xb5\xbf>\x1a\x1a\xc0\x90\xeb\x18\x03\xf4%\x85\x87\x80\x05T\a*?lgb\xbfd\xf6\x10\xc8<\x82ĵ\xe3\xfa\xc0w9Na\xac\xc5\x13\xbc8;<^*%\x9d\x9by\xd2:t\x11D\xa5ҕZ<\x1c@\x1b\x05\xfc\x890\xaa\xa8\xab\xe4\x82q4\xb1\xe4\xd0\xedl\\\r\x96\x1f\x15\x861\x86\x0e\xee\xc9\x1b\x9f\xd3\x00`/\x9e$\x12IJ ғsN)\xbc;\a:A;\x92)$ו\n\xb0Ww\xa2\x12y%Kr\xdeIv\x0f\\b\xb6V\a\x99\x06\xa3\\\x1cn\xadd{\xc0\xde\xf4\xc86\x15t\x10\xbb\x90v\x9d\xed\xd7/~\xa2\x00\xfc*O\xd6\xed\n\x117U\x16>\xa38\xfb\x17r\x82AC<\xba\x13j\xe9\x8aE\xe2\xa2-j\x0f\x1c\xe7\xd8牷\xa8\xfcxs\xee)\x81\x8d\xccD\xa2\x9b\x961\xbcÌ/\xcf\xcaq\x93p**̸\x18\xc0$\x02ّ\x8d\x13,\v\x16\xdb\xe1\r\x83\xb3B\x1a\xf5ȼp\xc4\xfa\x0ek\t\x1bM\x17hp\x88K\xea7\x17\xc6\x15U\xe8\xa4\xc3]\xf0\xf8\xe1\x03h&\x18\x84-\x19\x13\x9e$\x03\x88鎻\x81\xaf\x94\x93Y\xea\x90\x1b\xa3;\xe0q\xcb\xe96w\x95z\xdd\xf7\xd6W\xfb\xee˄֭A\xa6h\xb2\xecD\u007f\x9c\x91\x03^R\xf6\x03\xde\x1e\xc9\x01\"\xad\xc6s\x0f5\x00f\xfd\xfc\xeew\r\x88\xbf\xe4+\x10\xe7Q&\x12\x1f\x11\x92\x0e/9Ȃ\x96\x9c\xb8wN\x1eb\xc7\xeb\xe9\xfc\x90\x90\x19\xad\x0f\xe3\xfc\xb0\xd8z{\xe5\xd8\x1c\x95\xd3\xfeY\x17\xc5>\n]NE\xda\xc1\xb1c,ߞ#\fBF\xfd:0\xcd\xd8/-E\x18\x13Ⱦ\xc6\u008c\xc7׃\xeb\x11F\\\xea\x8c\xf4\xe4I\xa7{t\xec\xe4A\xbbZ\x89C\x99O\x0e\aR\xc3\x1buk\xa5\fi\xfa\x94\xf4)\x85ytkd\x9dN\xb8&\x16\x9bv\xa7\x15A\xb1\x99\x88\fP\x02{\xcd\xd6\xee\xf4\xcbP'\x9a\xf3\x92>\x02\xc8\xea\xe0x\x02\xe0Ɔ`.\xdc\x04\xe4%,;:Կ\xd9:\x0f\x8e\xa9\x1a\xab\xad\xbf\xedaF\xf1\xa7o\x1aTQ\xab\x10}v#\xf4\xec\x9aף\x02\x91\xf6\xdaQk\xe8\xc6'\xdds\xc4\xd4\xd3\xd6\x1f\b\xd8\xf7\x12~\x85\x0f\xb5\xde\xcdz5h\x1fM\xc4Qʒ\x06\xe1Y>C\x19\x85\xe8\aʍ\x99\x00\x84\xe8\xbei\xb7\xcc\x02\x1d\x18U\xb1\xa0\xd3NF#\x11J\x180u\x8c\x05\xceC\xf0\xe4\xf08k\x93\b!\nf\xab\xe9\xec\xa7v\f\xb9{\u007f\x1aE\xf1/\x1f\xcf\xeb\xe6IKIE\xcb>\f\xbap\xb7yd\x86\x13\xcce\t\nʾ\x12\x94=z\xf4\x86:@7\xd6J\xe0\xf7\xc4\x0e\xb3\xcc|\xc6\xc65g\a\x0f8\xc0\xeex\f\xc53\xe7O\xb1\x8c\x1d\xaa\xfe\x80\xc4\x10\xdc\xdc\a\n\xfe3\x1f\x80H1\x8b\xf3\xb1\u0604F.\xa0y\xb4fz\xb4\xecW\x06IM\x1b\v\xf1\xd9\x19\x83\x18\x11\xc6j[\x81\x17.w\xe6%\b\x84i?\x01҆U\x12\xc2\xe8\xa9f|}@+\x04[8\x95k7Cx\xa4\x98S\x90\x85\xedEO\x02\x12ޯp\xa0$\xe4\x17\x97\xfc\xe1\xe7\xbeQ\xe6\xbb+\x99\x19\xca\x03:\xb8<\xe1]\x81\xb6\x01\xb8K\xe23\x8f\x8bT-y\xb2\xc2\xcd\x16\b[N\xd1\xd6z\xb4\xb5\x84;y\xb3\x8a\xa4-HZ\xfe\xaaY^\x15\xa1\xd4.\xa5M\x00*\b\xd4'h8\xd2\xedA\x85\x04.\xb0N\xef2\x16r\x89\x9cLB\x9c\v7:Or\x8f\x92\xa9}\x91\x12C\x89S˚S\x199\xe4\x01Jq#\xec\xa3\x12WI}*8\xcbD!\x1b\x88\xb8#\t\x11\x14g#Y\x8f>\x138\x18`\x95\n\xec\x15В\xc2\xf1\x03\f?a\x85\x812\x12H,\x1f^\xf1\xe3\xc4'\x83\x8f\xef?\xb8\xff\x03\x90\x0e^\xb8\x88\xe6\x03\xa7n\x83h\xe3Oƒ\xad\a\x1a\xbfi<\xd1\x19\xaa\xe6\xddY\x0fa2\xc9+\x1e\x99\xfc\xcc6a\xb0F\xb1\xe2a<\xcc!\x84\xdb0\xac\x892\xbd]\x81c:\xefe\xbcK\xa4\xac\x1cX\x98X\x98[Ug\xe9O\x12\xafu\x175i\xd4yPcV\xd9T\xba\x9e5\x1fR\x01I\xfa\x9fA6\xf2OԸi\r\xa4\xfdC\x04\x8e\\\x87\xf1\x1e\x85\x97\xe3Q\x0fZ\x13\x8dM\x84D\xc4ƃ\xd3\xda\x01\x90\xcfB!X\x96\xc4:\xf4\xd0\xe3\b\x1c\\!\xc7\x14\x18^\xc1\x85\"\x14{\xa1E \x14Va\ax$P\x1d\t\x17\x18\\$\x02\f\xb3DBBT\xde\xd3Ft\xe8\x9f~\x99\xc3{O\x87\x1e\x04\x00\xbc\rw\x00\xef\xf8\x9e5a#\xf8\a`\x90\xab=\x04\x16\x00\x11g\x81\x12\x80\x11Ё\x13\xb0\x01Y\xfd\x192>\x1d\x87\xb1MG\xaf-G\xadk\x8fè\xaa\xdb1T\xbeb\xa6\xfc\x85L\x18\n\xb9`*ـ\xabV\x02\xacX\n\xad\xde*\xa5x\xaae§֊\x9dZ*c`\xaaV\xc1S\xd5b\xa5\xba\xc5JU\x8a\x92\xaa\x15\x1d\xd0*6\xa0TK@\xa8zqP\xc4\xe2\xb6\xc9\xc5h\x93\x8a\xc7g\x15\x86\xcc*ߔU\xa7(\xaa\xf6QU4\x82\xa79\x05L\x92\n\xadc\x15M\xc6*\x90\x8cT\xbb\x18\xa9R!R,B\xa3ȅE\xb0\x8a\x88\xa0\x15\x0f\xbe*C|Tz\xf8\xf4p\xf0\xf4F\xe8\xf4@\xe8\xf44\xe8\xf4*\xe0\xf4\x10\xe0\xf7\xf5\xb1\xee\x05\xb1텰\x96\x86ج\xe1\xb1X\xf3b\xb0\x06\x80\x1cL\x80.\x99\x00T2\x00y`\x00\xae\xc0\x01Up\x02b\xe0\x03\xe5\xc0\x05\xeb\x00\n\x15\x00\x10\xaa\x00\x1bT\x00,\xa0\x00%@\x05\x1a`\a\xe4\xc0\v\xe8\x80\x15\x90\x00#\xa0\x00?@\x00t\x80\x00\xa4\xf8\x19GL\x88\xebŞ\x00S\xc0)\xf6\x01\x9eÿ\xa0z\x93\xfft\aϲFy\x15\u05ce\x00 \x1a\x0014\x00Lh\x00\x8c\xd0\x00\xe1\x80\x01\x83\x00\x01f\x00\u007f\x99\x00\xb0\xc8\x05e\xc0(.\x01)p\bK\x80@\\\x01\xe2\xe0\f\x97\x00X\xb8\x02e@\x05\x15\x00\bT\x0fb\xa0v\x95\x03h\x98\x1aD\xc0\xc5&\x05\xf90-I\x81bD\x02\x89\x10\td@\x1f\x11\x00ZD\x011\x10\x03\xa4@\f\x91\x00\x18D\xe0\x04y\xc0\xb8\xf3\x80ѧ\x00CN|\r9\xdc4\xe6\xd8Ӛ#Nc\vl\xc2\x16\x05\xc0\xb0;\x05\x81\xb8,\r\x81`c\x8b\x03\x04X\x16\xe2\xc0\xb3\x16\x05@\x90(\x84\x812$\x030\x90\f\"@-\t\x00\x98$\x01\xe8\x90\x06B@\x16\x89\x00<$\x00А\x01\xc1\xc0\xf8\x0e\a8p7C\x81\xa6\x1c\f\x80\xe0b\x05\x02\xe8(\x16\x81@\xa5\n\x05\x18P\x05A@\x13\x85\x00F\f\x00\xb80\x02\x00\xc0\xf5\x06\x00t\x89\xfc\x01\x9c\xde\x04\x1d\x8b\xe4G\x16\xad\xe9\xd4OR\x97\x89\xe9IJ\xe2I\xef\x1eT\xf1yS\x8d\xcdMW52\\T\xc6oR\xe5\xa5KV\x950Ȏ\xac\x04\xe0\xbb\x1a\x82\x8c(\n-\xa0$\xb2\x80\x92\x9a\x01\x80\x94\r\xa4\x02!6\xa6\x84\xa2w\x88\xeaH\xa2\xa9\x0e\x86\xa3\xf9\xfa\x8fG\x12\xf9\xad\xa0\x11O  r~\a\a\xe0e~\x06/\xe0]\xfe\x05\xb7\xe0V~\x05/\xe0P~\x057\xa0Sz\x04\xef\xa0K\xfa\x04\x97\xa0Fv\x04\x17`;\xf6\x03\xaf`9v\x05\xd1#\nJ\xa4\x1a\xdc\x17\xa7B\xcdN\x82,\x90\xe4\xd7\xce\x1f\xc5ӭ\xb2'\xb0\x00\x00\x01\x03\x01`\x00\x00\x15\xa1'\xe2\x8f\x10\x82`\x04\\LT\xfe\xf0\xd9\x02A\x18p\x12Bs\x81)r\x85!\xd5\n\xe2(\n\x03\xd2\x04i\x82`",
 "fa2772327f55d8198301fdb8bcfc8158.woff": "wOFF\x00\x01\x00\x00\x00\x00[\x80\x00\x0f\x00\x00\x00\x00\xb1\\\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00FFTM\x00\x00\x01X\x00\x00\x00\x1c\x00\x00\x00\x1cm*\x97\xdcGDEF\x00\x00\x01t\x00\x00\x00\x1f\x00\x00\x00 \x01D\x00\x04OS/2\x00\x00\x01\x94\x00\x00\x00E\x00\x00\x00`g\xb9k\x89cmap\x00\x00\x01\xdc\x00\x00\x02\xc0\x00\x00\x06rڭ\xe3\x81cvt \x00\x00\x04\x9c\x00\x00\x00\x04\x00\x00\x00\x04\x00(\x02\xf8gasp\x00\x00\x04\xa0\x00\x00\x00\b\x00\x00\x00\b\xff\xff\x00\x03glyf\x00\x00\x04\xa8\x00\x00M\x17\x00\x00\x94\xa4}]\xc2ohead\x00\x00Q\xc0\x00\x00\x004\x00\x00\x006\x05M/\xd8hhea\x00\x00Q\xf4\x00\x00\x00\x1c\x00\x00\x00$\nD\x04\x11hmtx\x00\x00R\x10\x00\x00\x01O\x00\x00\x03t\xd2\xc7 `loca\x00\x00S`\x00\x00\x02'\x00\x00\x020o\xfb\x95\xcemaxp\x00\x00U\x88\x00\x00\x00 \x00\x00\x00 \x01j\x00\xd8name\x00\x00U\xa8\x00\x00\x01\x9e\x00\x00\x03\xa2\xb3,\xa0\x9bpost\x00\x00WH\x00\x00\x04-\x00\x00\nѺ\xa3\xe55webf\x00\x00[x\x00\x00\x00\x06\x00\x00\x00\x06\xc3\x18TP\x00\x00\x00\x01\x00\x00\x00\x00\xcc=\xa2\xcf\x00\x00\x00\x00\xd0v\x81u\x00\x00\x00\x00\xd0vs\x97x\xdac`d``\xe0\x03b\t\x06\x10`b`d`d\x14\x03\x92,`\x1e\x03\x00\x05H\x00J\x00x\xdac`f\xe9f\x9c\xc0\xc0\xca\xc0\xc2\xcc\xc3t\x81\x81\x81!\nB3.a0b\xda\x01\xe4\x03\xa5\x10\x80\t\x89\x1d\xea\x1d\xee\xc7\xe0\xc0\xa0\xf0\xff?\xf3\x81\xff\x02@u\"\f\xd5@aF$%\n\f\x8c\x001\x96\v\f\x00\x00\x00x\xda\xed\x94?hSA\x1c\xc7\u007f\x97\xa4iS\xc4\xc6\xfe\x89\x8dm\u07fd44\xb1\xad\xd0,\x0eq\xcaPK\x83 q\xd2\f\xd2XE\x1a]\xb2(\x04\x142\t\x01\x87.\xa5ԩ\x83]\xb4\x82 \"\x0eE\x1c\x9cD\xb7\n\xad\xa5\xb9\xdfi]DԡZJ\xf5\xf9\xbd\\\x06\x11\xb5\xba8\xf9\xe0\x93\xcf\xef\xbdw\xef\xee\x9bw\xbf\x84\x88\x9a\x88\xc8\x0f\x0e\x81V\"\xb1F\x02\x15\x05\xa6pUԯ\xfb\x1b\xd7\x03\xe2.Χ(\x83g\x0e\x92K\xc34O\vn\xab;\xe2N\xb8\x8b\xeeR\u007f{\xbcg`'!\x12\xdb\xc9P\xb2M\xf9UHE\u0560J\xab\xacʫ\x82*\xaa\xb2\xaa\xaaY\x0eq\x94\a9\xcdc\x9c\xe5<\x17\xb9\xccU\x9e\xe19\x1d\xd4!\x1d\xd1Q\x1d\xd3I\x9d\xd6Y\x9dׅ-\xcf\xf3\xb0\xa2KC\xf5\x95\xe8\x17+\tդ\xc2\xcaU)\x95Q9\xac4\xa9J\xaa\xa2\xa6Yp\x98]Nq\x86\xc79\xc7\x05.q\x85\xa7yV\x13V\n\xebn\xac\x14\xd7)\x9d\xd19\xbb\x92\xf7\xca[\xf5\xce{\x93\xaa\xa5\xf6\xbav\xbfV\xac\xe5כ־\xac\xf6\xadFWb+\x1d+{\xdd>\xb7\u05cd\xb8a|\xe3\x80\xfc*\xb7\xe4g\xf9Q\xbe\x95\x1b\xf2\x8a\xbc,K\xf2\x82<'\xcf\xca\xd3\xf2\xa4<!\x8fɣr\xd4Yw֜\x17β\xf3\xdcy\xe6<q\x1e9\x0f\x9d{-]\xf6\xed\xfe\x93c\x8f\xf9\xf0]o\x9c\x1d\xae\xbfI\x8b\xd9\xef!0l6\x1a\xcc7\b\x82\x85\x06͍\xe1\xd8{j\x81G,\xd4\x01OX\xa8\x13^\xb4P\x17\xbcd\xa1\bQ\u007f\xbb\x85\xf6\x13\xc5{,\xd4M4\xb0c\xa1(QBX\xe8\x00\xbcm!\x8cK\x86,\xd4\v\xb7Y\xa8\x8fHa\xac2\xd9\x1d\x18}\xab̘\x18\x1c\x06\x98\x8f\x120B\xabA\xd4)ؐF}\x04\u0380,\xeaQ8\a\xf2\xa8\x8f\xc3\x05\v\x9d\x82'A\x115\xee\xa9\x12(\xa3>\x03W@\x15\xf5Ex\x1a̢\xbeD\xc4\xc8\xc3&\xc3U\x18\x19\xd8d\xb8\x06#\x03\x9b\f\x18\xcb\xc8\xc0&\xc3\r\x18\x19x\f\xf5Mx\x1c\x98<\xb7a\xe4a\x93\xe7\x0e\x8c,l2<\x80\x91\x81M\x86\xc702\xb0\xc9\xf0\x146\xf3Π^\x86\x91\x85\xe7P\xbf$Ґ6{\xb8\x0e\x87,\xb4\x01#\x9bƞ\xd0\x1b\x18{\xa0M\xcewp\xccB\xef\xe18H\xa2\xfe\x00#\xb36\x997ad\xd6&'~\x89\x1a95r\n3w\xc1\"\xd0\x0f[\x9eEt\x92\xd8\xdcW\x87\x04:\xfdӭ:$\"\x14\xf4\x99>2\xcd\xffc\xff\v\xf25*\xdf.\xfdl\x9f\xf4\xff\xe4N\xa0\xfe/\xf6\xff\xf8\xfeh\xfe\x8b\xb1\xc1]Gt\xfd\xe9T\xe8\x81\xdf\x1e\xdf\x00\x8f\xd1\x0f\x18\x00(\x02\xf8\x00\x00\x00\x01\xff\xff\x00\x02x\xdaŽ\t|\x1bյ0>w\x16\x8d\xd6\x19m#Y\xb6e[\x92%Y\xde-YR\x1c'r\xf6\x84\xc4Y\xc8j\xb6\xb0D%\x10 \t\x81,@\xd8B\xd8K\x1bZjH\xd9ڤ@\x1a\x12b\x02\xa5\xa5\xa4-\x85R\xf4\xca\xeb+\xa5n\xfbhK\x9b~\xaf\xe5\xcb룼\x96\xa6\xa5$\xd6\xe4;\xe7\xceh\xb5\x13\xe8\xeb\xff\xfd\xfe^f\xeeܹs\xef\xb9\xe7n\xe7\x9c{ι\f˴0\f\xb9\x8ckb8Fd:\x9f%Lה\xc3\"\xcf\xfc1\xfe\xacA\xf8Ք\xc3\x1c\vA\xe6Y\x0e\xa3\x05\x8c>,\x1a\xc8ؔ\xc3\x04\xe3\x13\x8e\x80#\x9cp\x84Z\xc84\xf5؟\xfe\xc45\x8d\x1dma\xdfd\b\x93e\xb2\xfc ?Ȝ\ay\xc7=\x8d\xa4\x81\xf8I:C\x1a\x89\xc7 \x93D\xdc\xe3\xf5(n\bI\xa4\x8dx\x1b\x88L\f\x91.\x021\xa2!\x14\x84P'\x99JD\x89t\x91Hj\x80@L4\x92\xec\x85P\x86\xf4\x93h'\x19 )\xc8\x11b\xd2)vH\x8eX,f\xf91\xd1c\\'\xb2\xe2cG\xcd\x0e\xd6\xc0\xb1\x84u\x98\x8f>\x06\x11\xeb\x8c\x1e\xf11\xd9\x1c\v~\xc2t\xfc\xe0?\xf1\xf1\x84\xe9\x18\xf8!x\xa1\xf8\b\xc1\x03T_q\x04\xe2\x1e?q\x1bB\x01\x87\xdb\xd0F\x82\x91\xa4#\x10\x8cL%\xbd\xa9D\xc0ћ\"\xaf\xe4\x14?Y\xad\xf8\xfd\x8a\xbaǯ\xc0\x83\xba\a\x1f\xc8j??8>N\xd1Skem\x84\xb2\xa6AY\xb3\xb5\xb2Db\x10\xa14\r\xd9J)\xa4\x95;\x95@\xb9\x1aj\x93\xc5P$\n\x98\xef'qh\xae8`\x9b\xeb;a\x16\x8c\xea\x03\x06\x81X\xcd\x06\xc36C\x8d\xf9F\xe2*\x84d\xcb\x03\x16Y\xfdc\xe1\xb1\x18\xda\"\x18\xd4\a\x8c\x82\xf9\x84\xcf\xf9\x15\xa3\xdb\xf8\x15'?h\xc6L\xacV㗌\xd6,\xbd>c\x91e\xcb3e\x11V\x03\xb9\xd2h\x86\x0f =C\xfb\x91\xc0\u007f\x9a\u007f\x86\xe9\xc7~\xe4\xf5xC\xbd\x9d\\((qb@\f\x18\x14\xb84\xf0\x89x\x86K&hׁ\xce\x11\r\xa5\x13\xa94\\2\x04\xbaDZ\x0f6N1|-\xd4;\xad\xcf\xebj\x9b\x14\xef\x96\xc9\rYu\xd4@\x86\xe1j\xea\xee\x9bѫx\xfa\xa6\xf5\x86\x9ei\xb8䊧\xfemK\xf3\f\xeb\xdbٍD\xf8E\xf6\x0ew\xa6q3\xff̷.\xbb\xbccAw@\xb64t.\x8eg\xe3\xf1\xec\xfckg\xb4\xc9r\xb0{~\xdb\xd3Wl~\xac{\xff\xd6lW2\xbb\xea\xf6\xf0}\f\xc327\xd06\x1ea2\xcc\\\x806\x10o\x10\x94z@\xb3$\xb4\x11\xf1\x13\xa1\x1d\x1a\xde\xebH\xc4S\xc9\xdeH\x88\x1c \xabg\xae\x9b\xd1\xed\xb1\x12b\xf5t\xcfX7\xf30K\x9at\xd4\xdec1\u007f\xc1,\xab\u007f\xd5\x1f7\x97B\xf2\voL\xeb\xe8\x98Ə\xd46\x0f\xc4\x17\xb76[,\x96\xe6\xd6%\xf1i\xe1Z\r\xbf\x87,\x92l>T\x86p\xf2K\xb3\x9cSGg\xac\\>\r\xf1\x9d#\xbb\xf8A\xf6\b#3\x8c\xab\xd8E\xb5\x8ey\x82k\xc2\xee6v\x14\xae\xec\x11\xda\xe7\xe8\x85\xc1\xba\xe7\x18\x86;\x06u\x0f3\xd3!\x1bZI\x1c\xce8\xec\x13\x98M\x00\x86k?\x1d\xb38\xb6C\x98\xa3Wq{`\xecC*\x89\xd0\x04\x11h>H\x90\x81\x04\xdc1\xbf\x12_s\xf6\xd9k\xe2\x8a\u007f\xech)\x9c\x9b\x9e\xaeoj\xaaOO'\xbb\n!~dX\xf1g\xcf\xfbB(\xf4\x85\xf3\x86\xfd\xca0<\rkOYx\xcae\xa7\xac\xa9\xb1Ƨĭ5k\xa6\f\x0f\x97=d\v\xe3\xb2\xf0\xd3\x03ϧ> \xed\xfc+\xfct\xc6C\xe7-o\nǪ\x86\x02\x84\x1d/\xe4\xc3\xf5_ko\xefܶ\u007f\xff\xb6\xbcs\xf1\xd5+f\xb0\xff\xceO\xdfz\xb1tp\xdbu\a7-\x99}\x85d\xf5\xed\xfe9\xc5\t\x03s\xe0\b\u007f\x88\xa9e\x1a \x8c\xb3\\9.H4\x92!0\x8f\xa5S\\ ʱ\u007fk2\x99\xef\"?ip7\x9c\\\x02\x172z\xa7\xd9\xd4\xd4lް\xd1t=\xb9\xee\x85W\xf9\xe7\\!\xfbKyOXimU\xc2\xec\x1f\xbenov\x9b\xec\x0f\f\xdb\xc7\x1a6\xb2\x1e:\xbd\xe8\xe5\r2\x16\xc6\v\xf3LZkA\x18\xfdA\x1c\xcd^\xe2qC\x18\xe6\x99ޔ\t&P\x05\xe6\x1d\x88\xef\x15aF\xc6\xea\xa5I\xaa0\xdc\xe3>\xfe&\x18\xef\xf9\u007f\x85Q\v\x17\x81#F\xa3Q\xfd\xbb\xd1l\xe6>\rA\xb3\x19\x1f·q*\x98O\ue004\x10\x82\xe1\xad\xfd\xe3\x18\xcf\xff\x8b\xd1Ȧ\x8d\xe6_@27\xa6\x15\xccl\xc4,\xa8\u007f\x82\x8f\x05s\xfe\x17\xf8\x89\xd1\xe8\xbe\x05f\a\xc8\v\xbe6\xe2p7\x02\xfcܩ?\x9d\xfa\x13\xffM\xfe\x9b\x8c\x89\xb11v\x88A\x98\xdc2\x89\xa6]$j\"\x82\x8b;\x1a\x91v\xdblk~va0\xbf\xfbg\xec\xa5j\xa3\xfa\xdcz\xfe\x9b\xb6\xddRD:\xffg\x17\xa9\xd7\xe6\xbf\b\xb1c\xeb6\x92\xc5\xc5yw\x04\xfa%\xf4g\xe2(þ\x83\x04\xd8#'\xb4\xceuB\xb5\xf2#\xec=\xf9_@?\x83>\xc6F\xd8\b\xfdVb\x8c0\x9e\x1fa\x1a\xe1!\xacaL4t\x12Xv\xbc\x0e\xa1\xfc\x01:\xc5F\xf6\xf6h\xf7\xb29\x8b\xefj^\xb5xތ\xfc\xbe\xa1\xe9z\xd0\xcf}\xb4Wn\b\x8e}7}\xb6\xd7\x17\xbbj\x93\xaf\xc6Κ\x1e\xce\xefi\xbdH\xa9\x8d\xad\xbf\xba\xb6\xc6\xc1\xde\x1ci\xa5\xfd\xc5t\xea\xef\xfcK\xfcS\x8c\x9f\x89a\xcd\x1bXE\xf4\xbaE\xbabb\x1b\x1aBQ1\xd8\xc9\xf6f\b\x1f\x94\bt\x91x\x86\xf4FȮ\xdc\v\xb7-\"d\x11qA\x13\xf7\xd7\xc6\\\xea\x1f\xb7~F`\xb3\x10\xbb\xe86\xb2i䁕+\x1f\xc0\v\xffԢ\xdb^Ȳ\xc2}ש\xef׆k&\xbb\xddĹ\x10\xbe\xbb\xed\x05\xc8\xe0<-\r\\\xe8\x9c;\xc4\x1f\xe2g1>\xa8w\x86\x050\xdc0\xdfv\xf2\xc9^x \xec\xdd\xdd7l\xdb<\x94\x9ay\xdd\xce}\x99\xccS\xb7o\x9b9\xe9\xdc-ۮ\xe3\xbe6k\x9eбl˴\xbe\xebn\xb9\xf9\xf0\x8a\x15\x87o\xbe庾i[\x96u\b\xf3\x10\x97\xa7~¬\xe6o\xe0\x1f`j\xe0\xc1\x95\x8a{i\xd7\x14\\\x1eC4,\x18\"iW8\x92J\x90\ao\x13\x15\xf1V\xf2\x84bp\xa8\xfbw\x88\xb2C\xfd\xaa\xba\xdf!\x8b;\xd4'\x1c\x067\xd7D.v\xb9\xd4\xc7\x1d֏\xd4\rn\x8b\xf5o\x1fZ-n\xb2\xeb\xa4\xd5\xc1\xb0e\xf9\a\xcfP\x82\x10\xf2\x8aio4\x1d\x8a~LY\xe4/\u007fzm\xfew_\x9d\xff\xf2\x1f\x16\x9d\xbe\xd8\xecg\xfeϽ\x9f\xfe\xfd\xa7\u007fR\xde\xcf\"tޠ\xd3&No\x02N\x80\xa5)4\x1d\xc6\xc9M\v\xb3C\xdbG2\x11\xab\x89\\j\xb2\xca8\x90d-\x1c\xc9@>#\xdbOt^\xb6\xc0\xec5\xbc+x\xcd\x17\x98e\x19.^\xe1]\x83\u05fc\xe0\xb2\xce\x13\xdbG\xa08\x9b^\xe6 \xf4m\x17\x8c\xf7(\xd3\xc6t1\t\x18\xf7s\x99\x05\xccbf\x19\xb3J\x9b\x01\xb0\xdf\xd2\t\f\x97\x17%\x91\x8c\x91\xa0\x01\xe2<\x89\x00\xac4\x8e\xdeH\x02\xe2\x04\xf8\x0f\x94\xdd\xc5@e\x9a\xea\xf78C\xc8\x1a\xd4\xf2\x8a,\xbb\x17\x065<\xc2(\x97\xe5k\xb2c5Y\xaeI\xbf\xfe\xb6\xec\xcd\xd8\u007f\x97\xe2\xf9A\xf8\xfa]|\xc5ך\xe5l6+\x9b\xd5=\xf8HV\xe3c\x0eb\xb4KՋB\xb46\xdfi4\x95\f#\xb4\x8b\x19\x18_\xdb\x18\xa9|&\x1f\xf3>NvQ\x8ak#\xaepW\x95=\xe4\xbfu\xba7\x94\x1a\xdbHɰR$\r\xe7\xf7\x9d\xee\r\x03\xb3[5싙\v\x99\r\xcc\xcd\xccg\xa1\x16\t\xad\x03\xb5\xe9\x1d%\xf01\xcf\xe4\u007f9}\xbc\xb0\xd0\xfb\xc9\x13\x13\x05\xc7\xfe\xfa\xcf&@$\x16\x1f&\xb8\xa8\x1b\xff\xb9\xf7\x8c\xa1l\xac\x94\xf0=\x0e\xd31RI\xf1\x90\u007f\xf2}9\xe6\xd8#\x18\xceς\xabz\xfb?\x16?1z&\xae\xf4ı\x1a_\x10a\xda\xf9c|\x13P\a\x8cI[\xed\xdd:u\xd0;\xa0\xaf\xfe\xe4\xc7l\xbf\xd1->k4\x8e\xfd\x19\xe6G\xf5\x16\xa3\xf1Y\xd1m|Z\xf4\x90w\xe0\r}\x18\xfb\x93\xd1Hn\xd1R=-B\xbe\xeb\x99\xf5\xfc\f~\x06\xe5m\xbc\x90\xa7\x89.ِ\xb1\t.\xc0\xc3\xf5\xa6Mz\x11^,\x97\xbb\xeb0\x90\x13\u007f%\x16\xa3\xf1\xb0\x11\xca8\xae\x1e\x17\x15\b\x1a\x89E\xfd\xab\x16G\xac\xc4**|\xffsg|o\xd4\xf2\xb1\x8a\xc0\xb9zO\xfd\x17\xff\x1a\xbf\x1b֬0s\x96\xbez\xe2\xda\xe9.\xac\x9d\xe3WN\x81\xb6^\xb1\t\x8b\x84yHk<J\xad\x92\xdd\xdf{n\xc7\xc2E\xa4\xddh\xbc\n\nTG\xb7~\xe6\x92\xe7o]\xb8\xf0V\xb2ṇ\x86\x86\x1ezn\xf7Аzd\xd8,/\xc0)j\x81l.\x05\xf9\xdd\vw<w\t\xac\xb6?5*F\xa0qH\x1b|\xf6<f7\xb4[\xff6T\xf5\x89\x1ed\xaa\xea\x93\xfc\x84\xf5\xa9\xa2\xd7?\x11\xecC8\xad\xeaS\xec'\x80\xf8N\n#\xbd0\x94f\xf12^~7\xa5\xaf:\n\x9cm\x81\x9f\xedM\tI\x8f\x13\x88\a\x16`M\xf6:ӊ\x04H\xa6\xc0\x02\xad\xcfF\xb2\xd89\xf1B\xe4\xa7\xde:\xef\xe1\x9f\xfd\xe1g\x0f\x9f\xf7\xd6Sk\xb7oz\xed\xd8k\x9b\xb6\xf3#\xe5S\xe6o\x9f̨o\u007fc3\xa4\x80\x84\x9b\xbfA\xa2\x99'ӹm\u05fe\xb6i\xd3k\xd7n\xcb\xc1Z\x90-\xd2y\xfaZP\r\xcb\xc7=\vUc\x99'\x85\x8a\xca\xea\xaf?&ȏ\xe8K\xa1\x19\x97Eu\xa3l\xce;\xe9\xaa\xf7><\x8d\x02v3t\x01{\x058-\xd9|\x02\xc3'\n\xf8\xabe\xea\xf8a~\x18\xd6\xec\xc5H94\xb2\xc8\x11x\xbc\xa2\xd7\x03A\xc5-\xb3@\xfcy\rbT4@0\x14\xecb#]D\x8cD\xd3\xd1\b\x04\x93\xbd\x03lj\x80DSio:\x05Ag\xd0\xe0\xf6\xc4S\xbd\xecP \x16\x11z:\x84;\xa6\xb6-\xe1|\x12yH\x10\x1e\"r\r\xb7\xa4{\xd2\x1dB{\\\x88\xb45\x16RLi\x87\x146\xf6A\x83\xe1A\xd6\xe6\xe3\x96tM\xbe]\xe8\xe8\x81\x14\xdb\x0e\xdft\xd3\xe1\x9b\xf8a\xf8R\xf2\xb1K\xba\xfb\xe0\xcb\x1eC\xa4\xad!\xd8\x121\xf4\xb4C\xde\xedgC\xde샂\xf0 +\xf9\xb8\xb31EG\xb7!\xd2\xda\x14\x80\x14\xddXz\xfb\x12\x96\x96\xae\xee\xbe\xe9ٛnz\x96\x11\xb5v\x12\xdc@\xb1x\x99\x00\xf4\xed\x18\xf4\x9b\x1e\xca-#i^\xa0\xcf\x13x\xf1*\x81$)\xae\xce\xc0\x18W\xfc\x92\xe3\xa4=\xd6O\\f\xf9\xe4\xf3\x80[W\u007f\x8c\xb4\x93\xf6\xfeX~V\xac?\xab\xff\b\xee\xfe\x18\xd0\x0f\v`Lei\xac::v4\xd6\xdf\x1f\x03\x02$?\x8b=R\xfe\x0f\xf3\x98\x95a\x04#\xffc\xa4\xf7]8Y\x01\xe5\xddFJ\xe2\x99b\b&\b'{%LC\xecE\xc0\xcf\x1c\xa2\xad\x89\xcd\f\xb7Cf\x81]\xc7^$\x8a\xf9/\x19\xcd\xf9\xef\xd2fߪ\xdeM;À\x19\xda;\xab\xf3\xc9\x0e\x9c\x85\t\xa5\xb0\xca\b\x90\x846\xf9\xb0CX\x1b\x9d\xd5V\xb8\xa5\xc0\xa7\xf0#\xea\xc6X\u007f~\vF\xf0\x83\xda<\u007f\x02\xe7\t:\xfevC\xbf\xafc\xba\xb5yB\x1bp\x13Lv\x8a\xa3\xac\x8f\xd31\xf0\x1f\u007f\xd0F\x94v#\xdf9\x86\x03\n/\xea\xf68VF\xeb\xa901\x14\xd3\xe0\xad_K\x03\x17\x1b\xf4\xed?\xca\xe6x\x81>\xa3}\xfa\xd4#\x80G7\xd4т\\W\x8cp!.@\x12\x1c\xfc\x12\xb8\b\xee\xfc\xbb\xb1\x0fb\xf9wɡ\x1f+{\xdco\xaa\x8f\xd5\x1d\xad#\xbbԍP\xc3QҮnī66\ncZ\x81\x11\xad\x8f\xe7D\x89\xa1\xa5\xe2\x92\xc2(. \xb0\x9f\x14\xba\x10\x1b\x81u\xef;n\x8bM}\xd1\x16\xc1\x8b\xc5\xfd\x1d?\xbb\x9c\x82\xaa\x11\x9e\x10\xe4v\xcat\x9e\xc9x\xed\xeaF\xbb\x9d\xec\xb2{\xc9+\xc8\x14\x96\x13\x9d\xb2\xf9\x10`\xa2\n\xd7=\x9f\x04\xd7\"\a\xa0r\x05Pπl\x98D\xeeV̶\xdf\x00\xa4\xbf\xb1\x99\x95\xbb?\x06\xe3\x00\xed\x1f\x01Z\x17@\xeb\xa2H\xff䰅]\x15\x9d\x1a\xba[\x1a\x98\xa53\xc0\xf6\u007f5\x80\xcc%\x10O\v\x1b\x01\xa8\xbc\xea\x1f)\xde\\^\x84\x8f\xd1\xe5 Z;\xfa\x98>\x8dF\xf7\xbatf\x1a\x9b-\x1aI\xbazӮ\f\x11\x80\xe7\x00\x8cy\xfau\x811\xdcu\x99o<\x15\xe5:\xc9oa:uq\xdf\x14\x8d\x82\xd5w\xf2yk\x03k ⋜\x8b}0?jv\xb2\xabX+\xc0\xe8\x02\xe6\xdd\x05}V\xbb\x0f\x9b\xad\x10\xef\xe4G$s\xfe\xda\x1a\x9f\xba\n?2\xf26\x1f\xf9\xaa\xaf\x86\xfd\xb4Y\xcaI\x165c\x91$\xf3Cf\xfdb!\xafX\xa4*|F\xcf\xd4\xd6^\xba$\u007f\xdcp\xba7\xefp\xe4\xed55\xa7\xc5\xdd\x05߶6[\xbfm\xb5\xe0jg\x81\xb9\xa8\xb0\xae\xa2l>\x9d*\xf6\xf1\x01\x12\t\x15KO&\n \xb1\x898\xf7ܝ\xa2\x05:ǰ\x85\x17o\xbf\xea\xd6k\xf5\xa2\x87K\xe5m~\x99o\xbeS\xe4-*4\xa5E\xbc}P/\xfb\xda\xcd%\xa0\vk:\xa1e\xd7\"\xe51A\xe9J\x88\x96\xe8\xc2\xe2CAX\x9a\xb4\xb9\x8b\x8a8=\t\x00L\x83Ţ>\b\xb0ܱ\x1ea\x19\xa6\xe5\xff\x97v{\xe4\x0e|K.3\v\xc6\xdb\xd7\uf037:\\\x0fB\xacx\xc7\x02\x1d\xa4\xfcw\xf0\xba\xe5\x0e\x98b\xc9e\x16\x1db\x80\xcf<n\xad/\xf1N\x8f\x8f\xe7\x01\x85jN\xb6j\x9dOTQM\xe2\xff\xf2\xfb\x1b\x91\xdfէ \xee\xe5\xb1g\xf0\x81[\n\u05fc1\xae\xcfJ\xf2[H*\xe8d÷\xff\xe9\xd8J\xea\x04(\x90R\xa1Y}\uebb8\xe4\xfe\xb9\xc8Ҙ\x1f\xa4c\x1e\xb9\x02\x14hC;\xf8ay\xabh\x8c\x90&\x8cC\fq;7/SG\x97n\xc9\xd2\xf5y'^\xf3\xfb\x1a\xdc9w\x03ה[\xb6y\xcb\xd2\x1cF`4;\x14\xeb\x1f\xc6upX_#\x90\x8f6Qy'\x9dxC\xd8\xeaq/\xf6\x02Q\xe2\x80P&\xd1N\xe8\xa7t\u007f\x00\xba\x04\xee\v4p\xde\x06\xe8\xc1\xe9ԍqD\x02\xf72/ع\xc0\xcci=\xf5\xb5\x03\xad\xd1X\xfb܆\x15\vD\xa3A\x90<\xdb\xfa\xbd-\x9d\xae>>\xd61ۿv\x89H\xc5\x16?\xe4\x13f\xb9\x9b58\xd4\xf3\f\x86\xfe%\xcd6\x9b$ɲ\xdc'p\xa2L^H\xaf\xe2X\xcebp\x13I\x92V\x19qn\xd6\xe6\xbf\a\x81\xde\xe9A\xe98\xa5\xe5K\x94g'i\x82!Uz\x86\xe1SE\x9a\x06\xaaI\xd7\xdf\x1d\xfb\xf5\xde5\x14\xd9\xf7\xfdN=\xf1\xbb\xfbhp\xcd\xdeV\xdc?\xa1\x9b(\xecE\xc5 \xff\xe0\x9a\xbd\xbf\xbeV\x1d\xa5\xb3r\xfb\xcd?\u07b4\xe9\xc77\x17\x9e\xae\xfd\xf5\xde\xfc\xcbV\xa3ڋ\x89ɿ\xe2\xb5\x14.\xb4\xe3O\xf8\xb9\xdc;\xb0\x06\xf7\x95\xa4\xa0\xd1p\xa4\x00\v4\x9e\x90N\xe9RZm.\x04\x96O\xd4\xf8> Mu\xbe\x8fL'\xac\xc9j5\xa9\xaa\xe2\xd3\b`\x1f;\xb4Mt\x8bAQܶM\x84\x9b\x1b\xef\xf4y\xebV\xed\x99\xeb<`\x10\x91\x92\x16\r\a$m)\xdey\x9a\xa4ڳ\xd1X\x84\x99\xdbDa\xee:\x1d\xcc\xe1\x04݁\x04\xaa\x9a\x04q\xbb1\x9dJ\xf6Fq\xb315\x01\xa4\xe4-\xdel\xb8\xe8\\\x83\x853\x89~X\xa1\xe6-2pF\xffD\xf0e\x89\xe9\xd6/\u007f\xf1f\x13!\x06\xaf\xe82\xae\xbdi\xe7:\xe0\x93=\x02\xc3h\xfd\xe0{\xfc%\xdc{t\x85^\x80\x14\x8d\xb6\v*\x1a\xc4P\x11\x88\x88\x06\x85\xf0\x0fBͽ\x0e]\xee\xceY\xd3D3\xc0\xd8jd\r\x1b\xfa\xd3\x06\xd6\xd4*\xe6w|\xe2\xea\xbcGLϽ}\xf9\x1bˑk7\xb8\x8dÇ\xcf=0\xd7\xe46\x04\x84o\u007f\xa2z*\x06\xad\x9e\xb6\xe2zo\x82\x16\xf01~J\xe7w0\xfd0S\xcf\xd4e\x93Pw%\xa4\x04\x94\x90#@BJB\t\xc0\xa0\r%\x03\x02\x10\xd9\xf8+\x84\x92\t\xfc'\xb8\xbd\x9c\xc0;\xa4\x0e%!&\xa9\xa7\x12\v)\xf0\x1eH\x06\xc8q \xee7f\xc9q\xf6H.\xa7\x8e\xe6\xb2\xec\xd0\xc9\xe7\x81!\xd8E\xdaǎf\xb3\xec\x91,\x10\xfc9՚\x83$9\x94 \xe6H{~\x16i\a\x9e\x80\xdb\t\x9fZ\xb3\xf0\x02)O|\x82\x8f!\"\x87\xfcD.K\x89\xd2Q\fa2\xd5\n%\xa9\xa3\x9a\x182W\x8c\x1f\xa5\x12ɂ\\\x0f\xeb\x8e{\xe9\x16*\x99\xf5B{7\xe2,\x98\x0e9\x12.\xf8'ew U\x03^\xa8\x83W\xaf\x8f&\xde$\xbbr9\xbc\xb5\xe7rcG\xf5B\xf4\xe7\x1cwl\xac\xa6\xf2\xff\xe4\x92l\xf6<\xfc\xd1\xfa\xbe\x99\u007f\x12ʷ\x01\xee\x19SQ\xc2ゅ\x88\x8fh\xec! i\xbfѨv\xe3\xee\xceJ\x02\r:\xb3\u007fY?\xfc\xf1#\xf9\x95\xb8_\xd3m4\xb2\xfbq[\xf0\x87\xfd\xfd\xcb\xfb\xfb\v}\xd7,\xbcE\xf3\xf5A{V\xe5\x1cП\xba\x88\x89\x9c\xae\x14\xceP|\x9eD\xf6\xe5g\xa9?9M\xa9\xc5\xc7Id?{\xa4\x04\x03)\xae\xfb\x11\xca/\xc2\xf0\xd0\t/\\[ \x88\xabJ\xf9ҏ\x83\xb9\x9d\xeb[\xe0\x9cf4\x03G>\xcb\a\x01\xc1\xcc\x1e\xc1Q\x80K\xa0\xf3^\xa0\f\x17\x8cm\xd7\xe2\xb9\x17 \x86\xa6\x1c\x9bO\x97\xc7\x1f\xf9 \x01-7w\xea\x14]\xcb\xcc\x05\xea\u0084\xf4<\xdd\x0eU3jƏ,\xc4\xc9\x1d\xe4\x88:\x93\xbfY\x93\xb5q\xc5~\xa00\xb3\x99\x15\b/\xa5m\x91\xacŵ\x0f@C\x8a\x16\x97C\xdc\x15F\x80q<\xb7\xe9\x92y\xa4x\xcbh\a\xfa\x8c\xf5\xc4\\\xf4\x8a\xa60=\x97RgY\xecd\x91(\xf5\x19\xbc(_\xf0\x1a2\x92\xb8\x8c\xd8\xc9\xcaa\xb3\x87_\xc4{p\xb7M\v\x14\x85\x15T*\xa1\x8b0\x9eU\xad\x94T\xb6\x98\xd9!\xb3\x05if$\x16ԟ\xd4(W\xe2\xa4q\xa5RC:P\xa0a3=b\xb2\xd1\v rK1'-\xbb{\xa0\xcd\xf6\x95H\xe8ʽH\x1c\xfd1\xca\xe1'`\xd9k\x1cϯex\xa2$\x92\xbc.\xb9h\x8e{܆`\xa4\x17F\xe9\xa4\vz\x9bE\xc30\xae\xf8c5x\x1dfM\xd1\xc4\x05\x04\x86䏾}\xe7\x9d\u07feS\xfd\xef\x95S\xa6\xac\x9c\xc2\x0f\xc2K\xc5]N\x1d\x18\xebf'\xdbpPι\x13S\x1a\xa7`BmmH\xd2v9\xc44ሄ^\xecm \x8dD\t$\x11\xa1\x01\x98\x8a\x81,\x80'܄\x1e \x84\vp\xecWɭ\xee\x16g\xd8dV/L\xb6;\x96\xaa\xd7M\x0eZL\xad\xf1\x06\xf5\xf3\x93ꭵ\xa2H>{\x80,\xdf\xc3\x1f\x1a\xab\x8d\xb7\xba\x14\xc2Θ\xb1\xaa\xe3\xd7\xf7\x9f\x13쬷ΘQSo\r\xdbl\xdc\xfb\xf9sɿh\xfd\x02\xf9\xff?A\xbf\x882q\xaa\xd3\xd0`\xc0\xdd5\xa0\x83\x80\x9c\aZ\x80\x8f&\x05*\xea\x93X1L5\x01:\xd96\xa2\xeb\x04\xb4\x11\xf6ς+\xd9\xdd\xdf\xeaO\x0f]ue\xb7j\x8d\xf5\x13\x83\xc5\x1b\xa8%?\xefۼ&\xd3\xd8\xd1aW?{\xef\xa2\xcb\x1d\xad\xcb2[\xfe}\xc9\xd2\x1bW?\xce\xdeJ\xc4\x1a\u007fb\xf2\xd2Ι\x9b\x17\xa5k\xcf\x11\x13-\\\u007f\x8d\xbb\xdeb7\x89sI\xec\xackf&Λ\xdcf\xea\xb9x~\xac\xbf\xb7n\xec\x99O-9\xf7V\xda\xe7\x01\xce\r\x94~c\x88W\"ȗy)b\\)\x842\x12MrW\xb1\xcbf\x88;M\xed\xf3U\xeb7\xa5\x83\x1c'[\x1b\x15\xaf\xcd\xc0\x8f\xf4\xb9\x92-c/\xf6\xb4\x18.\xbeؾ\x94\x9b\xe6\xa8u\xd9M\x16\xe8\xfel\x9f&\x1f\xf8\x9a.\x1f\b\xd3\xf59\xd4\xdb) G\xea\xd1\xda!\xc3!W*\t\xb86\b0C\x8aф#\x94\x16\xdcq\xa3\xc5\xe7\x8a\xd4\xf8rq\x9fO\xdd\xc8K\xc1ZO\xceW\x13q\xf9,\xc68́\x0f/Xp\xe3\x8d\xf0\xcf\xedT\x9a\x14\xc9ȑ\xb1g<>\xc2¤)\x98\x14\x89[J8\xa3\x04o`\n\x1d;\xfa\xd4S\\\xd3S\xd0\x17\x02\xa7\xbe\xc6\u007f\xf6\x93\xc0\xe1\x12\x93\x01%\x9a\x86h~\xf0\xccp\xcc|J˾\bF~K\x19\x18\xec=E0N\xee\xb8Q\x83X\xdf\xc7\x1a\xa9\xde\xc7*\xe7\x19\xfe\xd1\xe78;D7\x0f\xf6Q\xf1\xd11\xaa\xb5QC\xc3%\r\x0e*E\x82y\xeby}\x83\xa1 \x8dUG?>\xfcI`\xe6>\x06\xc6\xea\xf7'\xca6<\x9e+\x83\xed\x9d\xd3\xc4\xff\u007f\x013IV\xf2g\xd5Ϯ\x8fyO\x8e\xfb\x95\x12\xaaQ$WBv\xae\x1c\xdb\bH\tv\ue162\xe8[\xfdϏ\t2\xff+\xfd\xa3\f\x8f\xca'\b\xffø6N\xb8߆<\xfa\xff\xfa\x9e\xdb\xc7\xeeɕ\xb6\x1d\xa6\x97\r\x872\x94\xffS\xf1娚\x189\xff\xb3X\x861\xa0\\\x95┣\xfb\xfd\xad\xccdf>\xc3\x04B\x8e~\xb6\xb2\xca\xd5\xcd-\x88\x94t\x16>\xa6W\x90]\xd9\xecp\xa9Pr\x9c\xeeZ[\xb1\xb2'\x9e\xca\xe5\xc8+\xa4\x9dƌ\xe2\xb5l\x869]\xef8q\xe3\x82\xec\x82C\xa7\xe9!\x8c\xb6'\v\xeb@A\u007fA\xafOu\xffШ\xe4\xaa\n!?\x10M\u007f\\\x85JMͭ\xcdfǞ)\xab\x11ߕ\xcb=\xf5\xd4\xc9w?A\x95N>\xcf\x0f\x96\x83\x9e\xcb¼}\xfajQ\x1a<ǏpǠ^\xce\xf1\xf2(\x13\xbb\x80}\xbf\xb1\xbd\xbd1\xef\x84+\xbf\x932\x1d\xc7\xe0q\vF\xb2\xf74R\xbe\x84\xb4\x17iHď\x97\xeeIT\xebr8\xd2\x02\xd0\xdf\x0e^\xa7\x99\xda\xf9!gm\xad\xf3\xe4>\xb8\xce\xff\x90\xb4\xce'\xe1\xf7\xc6\xdeڸh\xd1\xc6E\xfc`\xads̊o\xb9\xe3\xce\xdal\xbe\xf1\x85\xdb\x1e!\x19\xf5(9~\xed\xa2\r\x8b\x17o\xd0\xe0\xfe%#\xf0)\xfe~ƃ\xfaj$\xde@\x80Ք\x88Lp\xbdG\xe5\x1fOa{\xe9\xae\xcd\u07fff\xce\xecé\x94)\xb0z\xe8\xaaؔY\xd7<\xfe\xf5\xaf\xef\xd8\xf1\xf5\x1d\xfc\xfd\xdb~\xb0\xf9\x9a\xcf^\xf5\x9f\x03\x19c\xe0\xd2\xcb\x1e\x9a\xb7s\xf3\xd0\xde\xeb潺\xe3\x1b\xb7\xde\xfa\x8d\xb2\xfd\xc2ݴN\x95RU\xe2\xd0\x04\x9b\xd5R\xd4\x05T\x94Y%8\x1d\xdb\xc0\xad\xa4\xf2K\xccs3\xc3q\xbf\x11d]^\xa9QTb'\a \v\x9c\xc4z\x1bx\xaf\a)\xeeH\xb4\x93\x8dFҩP\x84mU\xceZ\xbcjQ&\x9cX\xb9\xf1Ɓ\xe5\x0fo\x9f\xdf<0\xb8j\xc9YG\xbc\xb1\x16\x8e\xd4\x05z\xea]\x8a\x87\x05\xfe\xd9$8c\xd6\xda&\xd6h\x14\xe4y\x9fݼ\xf5\x9a\xcdwΞ{\xcb\xea9\x11^\x98\xbc\xe6\xc1sf߹\xe5\x9am[v\xe5\xd5\xc0\x82\x1d\x93\xc3ӣ!\xc9(Z\xedAs\x8d\xc8ۧ\xc7\xcey\xc1B\x8a\xbc\xc0\x1b\xfc\x95\x8c\x15\xfa8R\x1aiԣB\xadg6\x1c\x88{\xcbUm\xa6\x92tyW!b\x9apǮd\rn\xc5/ŷ\xe1ʼ@v\xc5\xd3/\xa9\xbb\x90\xd4%\xc7c\xfd\xb9\x97\xf6\xaa\x1b\x9fx\xf1En\x92:\xfc\xe54Y\xc3\xfd\xf5\x1a²\xbc,yZ-\xe6kr\xb6\x97\xfacH&\xf6\xc7^ȩ\xcfC\xba'Ȯ'^T\u007f\xae\x0e\xc7\xf7\x935\xba\x9c\xee\xf3\xd0\xc7\xea\x98\x14r)(\x8a(I\xe8\xd2J\x99\x1cU\xd7\x1f\x8c&#\x80\u074c!\r\x14+YM.\xffJ\xef\xabEX^|\x82\xc2\xc2\xdeL\x96\x01\xabw@\xb4\x90ھ\xec\xf2\xa1Zsg\xdfY\xd3洺\x88\x85\x1f\xfc\\\xaa\x00\xd1\xee\xb5\x05x\xeaԟ\xa0\xb2\xc1\xbf\x19x\xd3\x1b\x84\xb5y\xba\x03\xfd\x97L\xef\xf5Cyo\x99\x85\x92<\xf1Q\xcaO$)\xf7W\x8d6\xa5\x1cm%݆\xaer݆\xd5d\xf5\x94\x99\x87ս\xd5\xf0\x92\x1f\x90{\xa1\xfcO\x89b\xfe\x8fp\xff\xbb\bAE܀ʌ\xdeg\v\xd0\xce\xce\xfd\xb2\x88\xbe\x04\xa4\xa7i\xf2\uf250\x9c~\xbaA\xa4\xbc\xa2\x99\xf2\xdfO\"mo*\xee!\x02\x83\xd3[T\xc0\x9c\x8a\x12\x8f\xf2m\xacdH\xd1T1\xd3$\x85\n\t\xc9\x10P\x16\x19Ԑ4\x12^\x14\xcc\xfbsfcA\x033\xb7\xdf,\x88\xeaXA\xad\xf2P\x8e\xeab\xe2ks\xee\x90Y\xe0\x86\x8b\t\x0f\x9ayH\x88h\xfdP\xe4\xcd\a\xcb\x13\xe2+b\x82W\x90=}\xa5\xd3\xfb;\x01\xbf\xbe\x82\x14\xb5\xa8\"Z&x<\x01S\x1cySV\x14Y\xed\xd6&=\xaa\xfe4\x9f\xbc&\x19\x91\xe81J\xe45u~\x81\xe8,ӿ\xa4z\xefe\xf9\x96g^QB\\/\xa1Pʄ%\x8d+p\x82r\x1fe|Pn\x02\xa5 \xa4T\x92\x86cZ>?\xa2\xe7\xef\x96e\xf2\x9eV\"_[\x91\xe7Q\xa9\x15/\x85\x025Y\x00\xe3\xe1\x13|\x8a\xb1\xe0\x1eqI\xa3\xf6/\\\xa7\xd39\xf6\x96\xd3\xe7\xe3\xe3\xaadi\xb0\xc0EBh$\xaa\x1b\x9d\xe5v\xd2\xf5\xa0\xb1\x80\x85\xd3\vwOL\xa4 \x85\xea\xd0\xfafp\x19\x05\x8fa\r\xa6,?H\xf3gH\xf9f2\xac\x17\x88\xb5Rb\ue172L\nv\t>\xdeU\xc0So\x99\x96\xb0^1/,\x9a\x88\x1fē\xa2vc\xab\xb0Y\xf2\x02\xa0Gm\x02\xf4\xc0Ũ\x90\x17\xd4~\xb8Am\x8d\x12\xeaz\xaa\f\xcb?\xc7/\xa6\x92\xff4\xd4\xce\x050\x89\x00\x13\x87yj\x17̸p\xe1k\xb2\xee\x06\x81\xb62\xab\xf6H\n\xab\xc6eE\x80R\xdfb\xe9\xc5\xcf/\"\x1aM\r7\xf25u\xb2l\xc2[\x9fdrC\x91&Y͐\x17\xdc&I\x9d\n`!>p\xfb\x98;\xa6\xf5\xe5J-\x8fb\x9d\xe0\xc2--.\xe0\xb4V\xe4M\xda\xc54>\xa9\xbcFj\xbf\x96/\xee5\xc0\xba\xceσ\xb6\xaf\xa3\xb2\x83\xa2\xdet5}\xc2>C\xfe*\x9b<'\xdf\xf7\x98d\b\xb5\xe6?,c\xc2\xf8\xbe\xfc\xefd\x8fGf\xeb\xe5\xfc\xbc2ҁ0w\x9d\x1a\xe36\xf3\xf3\x19\x98\xf2L\xach\"\xdcf\xf5K\xe4\xa2\xd7\xf2\xffζp;\xd5\xc7\xd5ǿ϶P\xd5d\xa8c\xff\xa91\xbeEO\x8b\x9a\xd1i\xbe%\xff\xf6\xf7\xc9Ř(DC\xe4\xe2\xefW\xac\xb7\x89\xaa\xf5V\b\xe9\x1b2\x9a\x84I)\x88\x9d\x12T\xf6\x14i\xc3M\x9b\xea\xb5\xf8F\x00T\xdbz\xa10\xeb\xc1\xaa\xb5\xf9\x9bU\xaf\xf5 S\xb5\xfe7V\xaf\xff\x01\r\x14mB\x1fW6;\x9b\x12n\x1aYZU\xa2zS\x19\x1e\xcfTg>(\x93h\x04\x85\x85\xeeF\"\xe2\x05\x15\u07bdT뽷\x8b\xa4\xf1R]\xe7\xdf\xfbL۶\x99|\xa6\xfbLx\x87[\xd5s\x15,\a'NU|\xae\x80\xaf\xb9\x1a\aE\xe0<\xf14\x05)\x12\x14\xab\x01R\x96\x8b\x8a\x11\x16\xa0\x0fp\x06\xdf*\x8a\xb8vU#\xa4g\x05\xc4\xc3*\xf1g\x98\xf2\xb7jə*=\x81~܃\xa8\xec\x11A\x89S\xdc\xfdē\xce\x10\xcd\xeeA\fJ\x82Hw\xe43@Nur\xaebw\x99\xb0\x8dȀ\u007fʌx\xc0}[\x83`\xf07\xba\xbd\x92\x8b\xf8\xa4Z\xa7\xcb\xca\x12\x9btPlh\t\xd5\x04\x13\xb3\xa6L.)NU\x82}\xbf\xa5\xa1kq\xdc'\xd8\xddv\xc5\xe9\xf5\x88FQr\u05f7\xfa\x8c\x0e{ˤ\xf3S]\xf3Z\xebL\xf9\xff(\xd7@\xe3*\xfaSf\xc2\x1e^\x82\x96+u\xf6Pe_k#\x8e\xf1\x95\x19.\xc98\xe9\xceɂ\x05%\x8d\x90\x05\u0560\xaf,\x81\x85\xaa@\x95\x9b\xa3TK\xa3\xa4\aх\xba\xa7\x1a\x9f\nt`\x91ߑ\x88X\xd4AD;\xa6\x82\x1ab\x86\xa4\x81|p\x15\xdfA\xba\xe27\xf0}q\a\x15\xd2\x15\xbf\xe9\x042\n@Y\xfb`\x1d\xdd\a~\xa5\xee\xc1\xb5\x14\xb6\x8a\x88\x17iԬK\xbd\xfb0j\x9f\xf7\xd2Y\xd5\x11(\r\x9e\xf8\xdbR\x84\xfa\xc3\xd3~^\x88\xa8ҧ\x188\x83>\x85\xe8=\xe3F\"\x9a˜A[\xe5\x8b\xd3Dq\xfbvQ\x9c\x06C\x02\xee\x8aX\xf5|Z\xf5\x8bsO\xf7\x85\xfe<NǦ\xfbc\xeaPI|\x9e\x11\xe8\xdb։\xa2\xfa2\f\xd6\x1f\x18\x8d\xeb\xa0\xc4ů\x9d\x01\xd0\x1b1\x85\xfa\x1dQ|\x03\xee\xeb\x8cFH\\\x05[\r\xee\xcfT\x8fk\x98\u07bd$\xe2\xd5\xd43\x92\xbd\x13\xf1X\xd3\xd9\x05\x97\xff5\xff\x8dˮA\x85\x8cq\xc5_\xbb\xedrv\xc1\xf47\xf3\xdf\xc8@\xf8\x1a\x8dv\xf02ˀ\xcf\xfd\bi\a\x17%\xab\xcam\x1a\x91؊\xb2f\xbb\x97\x8dP\xb6\xfa\x17^{\xfeovv\x0ey\xdafV\xd4w4e\xe5w\x14\xb3\r\"\"\x05Zd\x19\xbf[\xcb\xcfT\xa4Cʭ\"ٛ!C\xccƛ\xff\x05\xe5\xd8#^\xee\xcf\xea\n\xd4\xefZ\x01\xb9\x92\x90f\b\x19R\xcc4\xbf\xaf\xc3x\xbb\x00p\xa2\x14V\xebrSK\\\xb7\xd9\xfd\x13B\xc3\xdf]Q\x84\x1d\n\xd5\xf3\xf3B~#\x94V*\xd8p\x16\xc8x\r\xbe\x88^\xbc\xad\x02(\xdc\x1f\xd2\xebo/`D\xab\xefס\xcd.\xd0\xf4\xb1\v\xf5E\xe6\x8aOWTv\xf5\xc8\x13\xb76\v\xed\xe7\xdd\xf9\xfaM^~Ey\xd6l\xf3\xac\xcd\v/\u007f\xf6ѫ\xe7\xc0NJ\xb9l\x8eQ\x986M\xab\x12\xa9\x9f\x8aq\x94\":}H\xbbea\xe3\xde\xc0-EY\x88\"\xad\xfe\bz\"\xf4ȏVKF5\x80\x92\x91\xca8\xaa/7\nt\xd1\xea\x8fD\xe8\x80n#D*'\x97\xc0\xc2\xdc^\x15I\xd7\xfb\xb3\x98\xb3\xf8\xb5\xfcZ\x1d\x1e}p\x17ITmdL\b%\xf77\xbd@\xa5\x04C\xde:\x1eF\xfe\xa2By%\x10\xf2\u007f\x9e\x00\xc6\xea\xf5\x0f\xe5\x92\xe3\xd7\v\xafKS<K\xbbRe\xeb\xc5ī\xddso\xbak\xf8\xc9|ȝr\x87\xe0^\xd3s\xbau\xed\x9b~\xb7\xfa\x96\xdb\xefw\x93N\xb7_\xb5V\xeaP\v\xc56;\x8bY\xc1\\\xcc\\\xc6l\xd0m\xa6\xf1\xcf\xebI\xa3\xec\"\x8d\x86\x88\x18\xc3R\xf0\n\x122\x00\x0f\xb7\xce\x03ts\xa80\xf7\xe3^\x11~\x92\xe1\xf5\xb5\x9b\xee\x15\n\xd1\b\xdd;\xc4g\x17E\u007fLc\x16\x1c\x847\xb9\x05\xc1\xe3\xf9\x9e\"\xfb\x8d\x96\xc8\xf7<^\x87\xe2\xed\xb6\xd9$\xdeg$\xb2y\xaa\xbe\x88\xa9\x1bs\xa8\xd9L״\xa9\x16\xc9\xe4\x13$֠\x00D\x8f>\t\\\xe4/\xcdf.\xc1\xd9\xd5\xe4\xb3F;\x04\xcc\xe6\xffk\xe1\x1aP\xf1\x95\xecb\x87d\xb3z7ԐeͶ-6\x8bb\xb2y\xb6\xd8\xccb\xc0aWjnh7Y\xf4L\x0f\xe1F\xfb!\xbd4\x83\xc0w\xdf\xe2ssF\x8fC\xban\x8fh\x96\xcc_0\xf3\xfb\x1f\x85\x92>\v\xe1\xb1M\x05\xbdZ\xb2\xab \x1f\xb0\xf2\x87\x80\xefnC\xed\u007f\x9c\x8c\f\xac\xc4\xc3*\x1a\x11#\x125/O\xf6\x02U\x03\u007f\xd1N\\(3\x06o\xc4@\x85[\x12\x0f7\x0f`\x8bMg8x\xcf\xdfg\xace;f\\y\xf1\xbd\x97|f֤\xa9\x0eޑ\xa8\xdb]\xebi5\xae\xa8q5q&\xd6>\xb9'\xba\xf4\xe2\xf3\xef\xbc\xe1\xe5\xb0\xd1\xdf\x18\xd9353\xe9\xfck\xcfYꭑ\x9c\x1d\x01\xdf=W\x9f7\xe7\xe2+\u038byx\xfeI\xcee<\xac\xbe\x93\xfb\xc2P\x8f\xc3h\xb1X\ta\xeb\xeav\u05f8\x82\xd3\"\xc6\xf9\x8acJc\xfa\u009bo\x1fH\xccO\x86Cu]\xb3L5\x91\xae\xab\x03\x81\x86\xd4\xd2\xc5k\x93\x93\xa6\xf0і\x86\xf3\xa6\xf5\x84\xa7]x\xf3\x8a\xb8\x1b\xe6\x8a\v\x98\x06~\x13\xff#\xaa;!\x91\x06\xde\xdb)B5\x1a8\xa8\x04/\x1aP\xac\x05\xed\r\xf5\xf5H\x1c\x9a\xd1F#0\x89\x18\x1a\xb0B(\xf4\xcap\xec}\xd1Fst\xd2\xdc\x19M|\x9d\xb9\xc6l\xe7\x88\xc9)]tϼ&\x83ݖ\x99\xbf,㙗nt\x1a,\xb6h[\xd0\xe4Y4ݬ$\x17\x9ewQג\xb5,\xcb\v\x9e@\u007f\x8b\xd1\xe0\x8f\xc6k\x1a\xe5\x9a`D\x94\x83g]r\x0e\xff\xa3\x99\xb7|\xea\xfcY}\xcdVq\x92wRC*\xd4\x13\x8e9[o\xbb\xff\xa9\a\xe7\xa7\xd7Ν\xdcd\xf0X\f6\x8e\x17\x9a&\xcd=\xff\xe2\xcd}\x97\xed߰\xc0/*͏\\\x00\x04˔)\xb3\x83\xc95gO\xf2\x98l\x9dӦ\xaf\b\xac\xd8}\xd9\xd91:>O\xfd\x8aYǏ\xf2s(\x95p6\x1d\x9f\x82[\x12\x82\x9dB/t爁*̠-n:\x15\x11\xb1\x01\xbd\r<Ц\xf0\x14\x8d\b\xf8\xe8)\xc8\xfa\x10\v\xac\xe1+\x8fް~q_}\xfd\xe4\xc5\xeboxt\x0f>L\xae\xaf\xef\x83\aV\x96\rF\xdf\xc8\xdfG\xbc@d\xce9\xd7\xc6[<\xf1s/\xbc\xed\xae\xdb.<7\xee\xb1\xf0\xd6s\xf3\xa7B\xb2\xc9\x14\x9ed\xef\x90B\x12'\xb7wX\x82\xfc\x9c\x8e\xb3ο\xe4\xfc\xb3Z鵣\xfc\xe1W\xb2\xc1\u0557\xd9>2\xb2\xbd?\xed2ȳ\xaf\xb1\xf78\x9b笞\xd5\xd3={\xf5\xecfg\x8fcsC\xb3\xdc\xe5\x9c\xd5m\xe3\xe5\xa0\x1c\x96\xdb\xcfr\xe2\xbe\x0e\x0f\xf5e\xa0\xbe#\x8c\x9b\x89\x02E>\x88\xf2\xfc45\xb5\x14\x12qo:\xe1J\xa3\x14\x16\xd6\x04\xec\xbcX\xab\xb0^io\xba\x93P,x\x8b\xb5f\xb5:/y\xa0\xf1\xbc\xafn9\xa7\x9dV\xf3ѥS\xa77=\x10\xe9\xba\xf2\xee\xe8\x92u\x0f-\xed\\\xb8%\x02\x95K\xe5ϦUv\xb6\xce\x1b\xbc,\x19\xbbⳀ\x84\xed\xc5\xeaZ=\x1c\xd6v\x9b\xfb\xe2k\xaf\xbf\xa4N\xd1*+_\xa7.\xfdڊ\x9f\xf5֞\xbbi\xfd\x9aڃ=w\r@\xa5\xe6l\xa2\x15m\x98r\xf6\xf4>\xdb\x17\x9dO\xad\xc7\xcao,VԲ\x92\xd7\xebɝz\f&:'\xff4\xf0\xce5\xa8\xd3\x1a\x85!\xea\xd59\xe8pI\t0@I[\xcdP\x1eU\"\"\xa9s\xd9\x1d\xeeInv\x87R\x17>\xf1A\xb8\x8e\x98\xc99t\xe6$\xe7\xa83/\xab\x9a\u007f\xb3|k\xa3\x108y\xb4i\ueb1d\x9aE\r\xfb\x93\xdf\xf8\xddc8\xf3\xc2E\xd7!Q\xe8\\ۂ}\v%A\x9a\x81f4\xec\xa0s*\xaeA8\x8d\xa6\x1d\x82A\xb3\xd8\x04\u0380\x1d\xdc>D\xae\x90=5\x0euw\xb6\xd6\xf5\xc3\x1f\xbaj\xb3\xeanG\r\x00z\x05?2\x94Q\x0f\xaa/I=\xee\x98\xdbf\xfdH\xfd\xe8\x02\xf74\xc5n\xba\xe5\x16\x93]\x99澀\x88\x1fYm\xf0\xaaG\"\xb3\xc92\xe4P\x1cE\xddH\u007f\x99\xcdf\xb9v\x14Zn\x9e\a<\u009a\x02\x97PiA_\xd2q/\xb3\x8eP\x12\xc9Dտ\xf0\t\xe3\xa8$$\x8e\x1b\x1d~%Nyhr\xdcOdM\\\x91-\xfe\x8cm\x9f(\x88\xe4@\\\xb3\xba\x8f#\xbd\x84\x06\xd4\xeaƼ\x93\xd2N\xef\xe7J\x9fO\x1c\xd4\xe5\xe3>a+\xff \xb5uJ\x17\xa8\x04*(%\x81¢FP\x84J\xc4\x02W\x94\b\x94\xa5\x8a\xa6\xbd\xf8\x96\xdf\xf0\x91,\u007f$)\x8f\xe7\xf7\x01)\a\xe5\xff\x98\x1d\xfa\xb3\x92\xff\xea}\xd7\xff\x98\n\x0eB\\\xad\x96\xe0\xcf_\xbb\xef\xfa\xc7\x15\xfe\xbew\xa5V\xe9] 0\x86\xd1T\x13\xa5OCÊQ}\xe8\xbe\xeb5\xb1\xd0\xc2\xe2{H\x0fo*\xe4\x99\x15;;\x04\xf5葞\xc9rǨ\xe2\xea\x01\xf5M\xd4c\xe5\a5\xad\x14\xdc\xe3\xd14S\n: \xb4\xfdM\x8c\x8b\xee\xe6\x16\x9b7\x90(kY:\xeb\x01\xa9\xaa\xb8\x95z\xd2`\x88gp\r\x9bJ\x86stˉ\xfd\xb1v'\xb2\xa1\xa6e\xf0\xd2G^~\xe4\xd2\xc1\x96\x1a\x03i\xe7D\x9b\xbb1\x9a\x9a\x91\x8a6\xbadA \xd8@'N \x02\xf0\x8a\xe6\x15\xb1\xb3֭<?\xd3Ғ9\u007f庳b\xa4\xfd\x84ɩ\xb4EÁ:\x8f\xddh\xb2{\xeb\x03\xe1h\xab\xe20\x9e\xa0vۧ\x98Q~\x90{\x05\xa9\x14\"\x9aH\x94\xf0\x83\xdfGQ\xd4kl\x94<\xfc:ʛ^g\xa3\x14/\xef\xf3\v\xb9_i\xb2\xab\xb4\x89\xf0\v\xf3\xbf\xd0\xc5P\x9c\x92\u007f\x9b\x8d\xbe\xae>N.\xd6\xf4?\xcef\xb2\u0085\xdc1\x98\xf3b\x05\x1a\x95\x8ezJ\xfd\xa1\xb1D \xec\xa5V\n\x01o@7R@6\x8a<\xc0\xfe\x01%IF\xa9\xd80\xeamj=\r\x90[\u007f\x8e}N\u007f\x89\xe2\xd2\xfcۊ\xa457\xb9\xff\x1bp\x05\xf2\x05\xa9y\x8c\xc4v4@\x1b<\x06mЭ\xe1\xbf\x11\xc1\x109T\xc5\xf2\x06p?\x8d\xda\x03R7\x1d\xfa\x9d\xfa\xa5\x01\x8a0қ\x9a\xb4\xdaQ\xcfG\xb8[j\x1a\x84\xac\xd0\x1e\xc8\xdf\xd9\xcdzi\xdf\xf7\xb7b\x93\xb4\xfa\x1b\x9d~\x83\xf0/)wC\x03?\xe2\xb1\xef\tרa\xa5-\a/\x8aC\x04\xaen\x93\x99\xfb.ĕ\xdbH\fj63\xa8\x80\x92\xd0\x04\xb8\x8a\x10p\x04\xf8\x91\x93Krh\x12\x14\xeb\xcf\xcf\xc2\a\xeeX\x96\xeaI\xe7Ǝj\xdf\n\xbf\x82o\xad\xe81\xc1\xc59\n\x9f\x06\x14\x01f\xd4\\\x8e~\xda:\x19-\xa6\xd4ѓK\xa0\x8f4\xa9\x1b\xb17B\x06Y\xcd\xf6\x89̆\x8ey\x05\u007f\b%\x9bDC~e\x93\xe8m\xc0\xde@\xd1]\xd1\b\xfa\x03\xff%\xc0r\xfe\xa9\x02\xd6\xd9s4T\x03\xae\t\x99\xc5\x1f\xe2\xae\xd0\xf3\xd6G-\xe2Ug\x90\xf5>\xcf\xed\xfbH\x82Op\aV\xd6B\xec\x90\xc2]\xf4{9&\xff^6\xb9\x1f|\xd0m\x92\xf5\a\xe5\v_PLLI7\x02ǒ\xa6i\xca\x10\xae\x13\xf5\xe9\f\"'T\t\x14\x05}\xc6\xe3\xef? 4\xbb\xf3\x17\xb9\x9b\x85\x03|\x87\xa6[Fǭ\xfat\x16u/\xd9_y;Z\x94\xbc?\xdb\x1f\xa3H\x86K\xae0W\x9dz\xa4\xe8c#\xa4\xd9\xd9\xd0)\x80\x8e~.\x1cr\xc1\x8a\x16ĥ+\xcaB\x89\xb0\x8a\x03\xb1\x1e&J\xb0\x93\x83G\xa00\xf9\xcb[\xfd\xd0\xe4\xd9\xfc\x05\x91.Ρ\b\xecr\xb7\x9fO\xb3\x16k\x8e\xdd;VC\x95\x89\xa0oX\xa8 \xfa\x19\xcd\xf6K\x19\u06ddS߳\x1b\xeb\x15r\xb6t\x82\xe5\xed\xb2\xed\x84:z\x82X\\\xb1\xfaxm\x8b\xdbJh\xff\x99\x0fx\xb8\x14\xf0\xd0N\xf7\xc7h\xdb5\x10\xaf\v\xa5K\xe8`\x85\x0f\x05;yd\x03p.Ec\x9b4\xb2X\x9eD<-\x01\xb4ll\xb5\xdbip.\xbb^\x1e\xd8\xe2p\xd5\xd7:\x8d\r\xd9u\x8f/\xee\xbb\xf6\xfc\x15\x99.\xab\xc5Y[\xefrl\x19\x90\xaf_\xe64\xb8\x9a\xe3\xbd\xc9\x1ekz\xce$~Dq\x85]7/T_<菵\x88\xbc\xa5\xde\xe34K\x0e\xa7$\xf0Ɩ\x98\xff \x99\xbb\xf0&w\x93\xab\xf6\xe4\xb7\r\x86\x9e\xa9S\xa1\x1f\xb8\x197\xff\b\xff\b\xb5|K\x8b^\xfc\x8d\x8a\xf8\x9b\x8e\xe2\xaf7\xedMsMG\x17\xfd\xe1\xf9\xe7\xff\xb0\xe8h\xc7\xc3\x0fw\x94\x85\xb9\xc3㢴0]?\xb2\xb4\x0f\x04\x98\x0efja\xcd\x145a\x04\x8ei\x8d\x96Ц\xe8\x016C\xbc2\xf4no\u0095\f\xa4\x93\xd5f\xa0\xec=\xf1\x96)\xf5d^\xcb\x14\xff\xfb\xf6v\xef\tqNc\xe3Ԏ\xb4\xfb\xfe\x8bl=u\xd9\xe1\xec]?;\xa1f\xe2\xf9-E\xd5\x02~\xe4\xec\xf6\xe1\x1b\xcfn\xcfv\xf8\xd5}5\x81\xb8\xcf\xd7\x1c%\xbb\x9a\xeb\xbe\xf7\xfd\xfa\x96\xec\xe8Oջ\xb3d덿=\x84Z\x02%\x01v\xb9\x8e\xe8 \xd3\x04\xb3\xd0\x14\rn\xafK\x97\xa0\x14u \xd0̓*J\xa6\x84\xea\x9d#1\xe4h\x84u1\x1aHr\xec\xd0\to\xbb\xfd}\xff\x94\x16\xf5\x1b\xf5SZ\xe2u=\xb6\x8b\xeew\xa7;\xa6nϗ\x14U\xd8\v\xef\x82\x1a\xc4\xe3\xe4\x95\x13\xfc`\xa0F\xdd\xe7\xefȶ\x9f\xbdE\x1cn?\xbb\xa5\xfe\xfb߫k&\xbb\xa2\xcd\xd9l9\xa0Y\xf5\ue7ce\x1e\xfa\xed\x8dd\xab\x86gA\xe2\x17\xc38NS\x0fG\xe1\x14\xea\xb3\xcaD\x9f09M\x91\x15AK{\x1dހK3݊\x84\x02\xad\x1c\xaa\x10\x00[_]\x05\x92%W4z\xd6ۈu9\xe9\\~\xe5\xfa\xe5\xebn3\xd4\xc9\xea~\xf1\xc9zir\x96\x84\xf1\xe9\r\xc5\xe5\xf4\xa8\x93X3k\xe2`Ps\xc4\xea\xf8\xdc\xca\xfc\xe2\x92n\xc7\xe5\xef\xda=\x1bm\x11\xf9\xba\xc1]\x8bԃJ\xcb\x1e\x1bks\x84\xcd\xf3T\xd39d\x99\xd2\x02\xf5eYN`}\x9e\xaf/\xfb]U#\x14\xc6\xf3b\x98;R\xcc\x1c\xa8\x93\xd0\xc0\x17t,\xa2\xdal\x9f\bh*\xf6\xa2\xd7#JB+\x1b\n(\xb4\xa1\x02iGx\\}~IֳF\xb7\xddv@T\xf7\xcbu\x86\xdb֭\xb8\xeaJ\xa8\xda\n\v\xb1\xad\xf7\xcc\xff\x9c\xc3\n\x90@-L\x9c\x99\xa8\xe1w\xe4z\xc3\x0e\x12Y\xa7\xeeg\x97\x94\xfa\xd3\xe2w\x89`wx-\xf9\xbf\xd8\xf6\xb4(d٢]\x83\xd7\xc9\x11\xdbF\xcf3_\xf7\xf8X\x81cY\x92mQԃ\xe7\x90\x0f\xdf\x1bW\x1f\xe6b\xa4-\x04\xa9\xd0F\f\x0e\x02\xa1\x81\x14\xea\x04K\x18\xf55\xd5\bd-0b\x11\x83\xe2\xa8球\x04\u0097֨\x93T+\xe6\x91_\xefZ\x84x\xdcc\xcb\xff\x05\xd0j*`\xfb\xfb\xe5\x88}\x8f|x\x0e\xe2~\xb8L\xc7F\x90*\xdaS*o\xea\x9fMت\xeaA\xad\xcd\xf3\x96\xb2\xfd\x1c\xeeT\x9e1p\xc7\x047\xb51?\x8bR\ft>\x0f\xe9\xf3\xbb\xb6R'\x1d\"\xfa\x90\x8b\xc0\xe4\xc6\x17\x14\xc1E\xc2y\xd3)o\x83P\x8f\x067\x9e\x94\xe6\x82\xc5\x11%\xab\xcb\xc0$r\x11\xc3v\x1d\xf5\xac\rQ\x9f\xbf\xfb\xbdeE\x94\xc7\xe3\xd8\x16\xe7\x94+\x06\x8d\xbd\xbbn\xf9zl\xdd\xe5Vl\xddFr\x05kt\xc9\xd6'\xb5\xa6'?R\x0f\xae\x84\x06'Z\x83CE\xd5I\x1e\xa7Ky\x03\xbb\x05\tga\xce\xf60\x1e\xfe\x8b\xfc\x17\xa1^\xe1\xea}\xa0p\x04E;\x85\xf5Kq{\xd2\xe1T/\xf9?\xefi\"%\xed\xc6\xde1\xceޒ\xffb\xf1-\xdeԾqƛ\xcc\x19˵\x11\x83\xdb+ \xa2\x8a8\xc6]\xc0\xcarI\xb8\xdc\xfa\x94ڣV\x95{\xacdȪ\x17͜\xb9\\\xe8\x95A\xcd\xf4\xd3Q\xd0vO\xc4S\xd5\xf5]0.\xdb\xea\xfaN\x03\xa8\xec\x15X9s\xb9\x02\xd5v\xa1b?O\x1cE~\xdaFPU}\x1f\x1co\x9e[Y\xeeK\x13\x19\xe5r\xc0\xe9\xd6\xf0\x0f\xf1\x0fA\xb9\xc3̓U%\x87\x81\xa77D\x80w\x17\r\x1e\xfd\xea\xf6\x88q\xd4\vb\xe1/\xed\x91h\xc8\r\xed\xe1A\xd9\x14\x1a\xb1\x91hPbQؓJB8\xd5I\f\xba\xe4\a?\xe1\x1aI\x06%=\x04\xc5X\x91t\xdc\x13O\xa5;\xb9(P\x1d\x91h\x03\xbaL\xecd\xa3\x06\xd1\rS\x01\x04 \x95'\x0eh\xffݱ\x9f>|\xfe\xf9\x0f\xffT\xbb\x91\xac\xdcV?\xd9,O\x95\xdd\x03\x1c\xe7\"\\\x8f`\xaa7\x04\x89\xd5\xe3\x13\xed\xc1.\x8b2\xd0\xe7\x17\xdd>\xce\xe6\x0e\xb9D\xe1\xb2\xcd\r\x81f\xce\xd6m\x95g;\x9c\x9d-\xed\xf6\x84\xcc\x13C\x8c'\x9c\xa5\xd6\xe9u\xb9,\x06\xbb\xa1\xa5\xce z\x14\x97A`-\x02\xc7ټ\xbc\xc1$\xd6x\fvc\x93\xc3k2\xb7\x06\xa6[x\x96p\\c\xdab\x15\xfc\xed\x93l\u0380\xddi\x1ch\xb5s\xb5\x9c\xd9iv\xf0\x0f\x15aÛ\xc3\xea\x10M,g\x10Ĩl\xf1\x8a\xc1M\x9e\xe0\x96z\xd3\xdc\x1a\xb3\x9b7Jv\xde\xd4\xd9\xc0ˑV\x87RWϋN\xb3\x95\xdd\xe4o\xce4\x19\x89(\xda-\x84\xb5XB^\xd2Cl&Vn\xf4\xb1n\x9f\xbf\xbe\xc1n D4[k\x1c6\x9e\xb3\x86\x9b\xecN\x8f\xd7&\xb5\xba}f\xa7\x933Y\xbcQw\xd0@$\x93U$(Ǫo\xb6:-\xfcZG\xbc\x85#&\x8b\xc5\x12\x86/\x1d\x85}\v\x96?\xc4\xdfN}ƥ\xbc\x827\xedA!M\xb4\xe0\xfc\x04\bh\xf6\xf8W>\xa3\xe6\xef?iX\xb2p\xca\x1d\xfd\xf9\x03r\x9b\xbcA\x96١\xe0b\xfe\xf6\xf3?uϱ\x9bι\xb3-h\xf1\xe4\x0f\xd8\xed\xeb\xe56;\xbb\xeaS\xffB\xf5#/\x82\xb5\xe9@ѿ\x13J\t\xc6\xe9\xfe\n!%Q\xad\b)\x04\x94\xc0Dq:{JI^ޑˡ\xf5PY\x04\x1a7UG\x01\xe7\xca\x1f(\x11\xc2\xc0\xbc\x9f\xf6\xa1h\xb3?Hm\xff\x1d\x1a\xac\x1a\x04\xc8ъ\x0e\x12\x18\xe6vRE\x88\xedH\x8e\xf4\xe7\xd4=\xdcN`P)Q\x9c\x9f\xa5\x8e\xe6\x80G9\xae\xd3F\x1aM\x87\xd6S\xe1\x02MG\xa7\xf5@2\xa4\x04\x1cE\x1f\x11\x89$Q\n\xb5$\xc7s\xb1~\xe4\x92TkN\xb5\"\xd7\x03\x1c\x0e9\xaeՆ\x1f\x018\xfbc\xeaF\xa4\xf1\x01^\xea\x10\"?+G٠\n^\x02\xf7*\xa6\x17\xbcgUlFVx\x8d\xaa\xdaU\x99poC\xa8\xb0\x9e.XCƵ\x8d\x8a\u05f5͉\xd7q\xef\x82K\xea[\x1b\xafk[\x1b\xaf\xe3\xf6K\x97\x1e(l\x81\xc0;\xf6\r\xbaӡ\xedn\xe8\x19\x00%^\xf1\x9dR\xd4j\xad,$\x1f)\x16\xa7\x14 \xf8\xb7\xca\xec1\x8b\x82n.\xbf\x8f\xdfG\xf7:C\xd0\xeff\x8e\xd3\x16(\xdf\xf1,\x98\xed\xd0;\x9a\x84\x17Ĵ\xa9\x01\xf4R\u0097\xbfF\xeb\x9e_~\xf0\xce\xe3\x17^\xf8\xf8;\x1f\xbc\xf3\xa5ի\xbfD\xbe\u007f\xf4;\x1b6|\a/jGGSSG\x13\x19\x84\x9bG\x92ӎļD\xac\xf1zbR\xef\xa4/X?\xbd\xf1\xfb\x8a\x1f\xc3\xed\xf1U\xda\xc7p14u\x04\x02\x98$`\xbe\xdf[ߜH47\xf5\b7\x11I\xf2~\xa5\x89~I\xff\x18r\xeaߙs\xf9\x17\xf9#\xe8\x9f6\x8c\xdb+\x91h\x84\xba\x15e\x80W\xf26@wK\x93\x14̸h6,\x12\t\x871C\xb5\"\xe0\x9d\x17\x87\xb7\xe6\xa9\x16\xda=\xadm\xce\xe8\xf1\x90\x14e\xb0A\xf2\xd3\xf3\x8c\xe2\x96\v=\xbe\xe0\xf4\xee\x81@\x93z\x97\xdc\xd0\xd0\xe1\xb2\t\xa6s\xd2\xf3\x13ls\xb3]\xf4;kkl\xb5\xea\xd3r\xac^\"s\x83\xa1青\xdc>\xd5&Մ\xac-[\xd7\xdf{\xc5JiҴ9[\x82ݵ\xb3ȩ\xb9-\xe7]\xb1dޢ\xb5\xb2c\xd2\f\xb5An\xb5۹\x83\xe4g\xe7}ꒇ\x1d\xbc\xbb6\x1ehT\xef\x96\xeb\xfcɖ\xb4?3\x03s\x8f\xda\xdd^k\xad\xfa\x8cL\xeac\x12Y\x18\f\x05\x881\x1d\xebZ\x13\xb2\xb4n[\u007f\xf7\xa5\x83bݴ\xbeE߆\x8c\xe7դ\x03\xcdw\xac\xba\xe0k3\xd4f\x99\x95\xe5\x88>\x86\v\xfe\xfffM\xe4\x01\x10\xd5D\x82\xe8\x85\u0560\xb8a\xe5\xf1\x14D\xf0\xe9\f\x8f~}&\xf6\x0f\b\xac\xc1@\xbc\xa35\x10\x8du\f\x04gn\xa8\x9b\x1eOȢ<\xb9\xad'`\v&bӬ\xbc\xb1-6\xe0\xf7\xae;\x83\x1f\xc1\x0eX\xf7\"\x91d*\xb2a\xa1w\xd2\xfc\xde\x1eY\x94\xa6\xb4v\xd6\xd4t\xb7L\xb3\xf0\xa6X\xeb\xacָk\xf1U\x00\u007fߩ\x0f\xf8\xad\xfc\xb7a\xee\xe8\xd4=HR_\xc3@\x1d\xa6\xa3\xc4+j\x932\x97\xf6T*\x89£\xe8%\xec\xd3/\u0378oƤ\xa0\xbf\xb1\xd3y\xe1\x87\xea\r\xa3\x97\xbb\xee\x9b1\x83\xd49/7\x9b \xa0\xfe~\xc67\xe1\xfd\x8c\xb4\x1f_\x93\xdb\xf9o\xc3\xd3\xea\xd6+\x82\xfe$D\xfc\x1dүs\xde\aIH\x9d:\xe7r\xa3\t\x83\xf0\t\xa4yiF:\xdd\xe5\xb8\xf0\xef\xe4v\x8d\xf7\xcb\x15\xfd\xc0(\x8c\xbfd\x13\xaeO\x1e\x19\":\x02\x0e\xa6\xa0om\xd8\xff\xc5\xecdM\x948\xe5\xd2\f;\xa4\x9eZ9u\xeaʩ\xfcHCg\\\x19\x9bK\x05\x18/*\x89\x8e\xfdԙ\x8dg*\xbe-\xf3I\xe8\xd1\xf6\x97\xb1\xa2\x04\x88_\xc1E\xa2\x01\x9c\x8bRq\xee\x0eR'\xfb[\xa5f\xf5?G\xd5\u007fU\x8f\xbdA\x12o\x91vb\tA$\xffe\xf5]\xb9\xd5/\x87Կ\xaa\xa3o\xa9?|\x83Ԑ\xdeQ\xe2m\x964\x99\x15G\xa2\x8c\x837\xf1G\x9983\x8d\xda3+\r\xbc7\x044\x87\x03z\x04*\x0f)\xa1$\u074bJ\xc0\xd8pD\xb5\xee\x93N\xfa\bj\x195p\xd0q\x1c\x19\xbe\xb7\x93e\x8fDf/\x9d\xd2\xce>\xce\xdb\xfc\x89\xe8\xb4\xe0\x94%\xe9\x96\xc3\x0fg\x87W\xb5\xf8\xb8{\x85U\xf3\xeb:g,\xean\x8a\xaf\xb8l\xb2\xbf\xb5U\x91\\\x11\x9f\xcft\x99'\xd6\x13\xac\xf1%\xd2\xfc\xd1E\x82\xab}\xe0\xf2\x19͝\xedu\xa2\xfaC\x9b\xe8ꘒ\xcdܻߺp\xb1}U\xcb\x15+\x17^b'\x8b\x8d\x92\xaf\xabo(5g\xe3\xbcV\xc3B\xd5I\x9c\xbc\xe4OE\xfcm>\xb7\xd1\xc0\xbd\xa9\xfe\x805y\x9azg\xf6\x86}\xfa\x1e\xc1\xa5\xdc\x03\xfcA\x94\xa9P-\xf8P/\xfa\x0f\x80\x11\x8fޫ\x00\xec\x84\x12\xf2\xa0\xd56\xcc\a)\x14\xa1x5/\x03t;1\x9a\x11p\x931\x94L\xa0\xba9\xf5Aܳ|\xf7\xea\xdd\xd1)\xfd\xb5\xe1\xe5\xeeX]m\x8d\x81\xfb\xf3kFE\xe9H\x05/\xf14}:\xb8,\x19oLM\xaao\xf2\xae\xbb6\x12]Y\xe3M\xf35\xa2\xcb\xea0u[\x9b\xdfyҫ\x88fV\xeah\xbe\x98?\xb8\xe4\xdeE-\x03A\xa7_i\ufadd\xdf\xddj\x12\xb2\xf1\x1d\r\x19\xd4.\n6|\xde\xe55\x92`#\xcf\xd5Z-\xf7sv\xc1fq\x98ӟ\x9d\x9b\xed\xeas\xb7͚>\x18\x18\xa2\xe3\xdaw\xea\x14\xff\xa0\xee7C\x97\x11\x15\xe5{\tA\x93\xfa\x85\x8a\xd2\xd6]\x15B\xbe\x1c\xeb\xd5\xeez,i\xf7H'd\xf9\x84\xe4\xe1v\xda?\x92`E\x87\x95\x9d\n\xfcx,\x87\xf6m\xb1\xb8z\x87`\xcdF[\xef\xea2a\xf5v\x89hp\x99\x0e%\x03(\xd4̒\xf6\xfc\xbeʂ\xc9\xfd\xd95Ԧ;G\xdaю\x1bh\x94\xed\xa5\xb2\xb3\xb9\\\xdey\";|\"\xabٝ\x16ʖ\xa9\x9drx\x82z\x16\xcbs\xe8P\x89HCT\xd7v\xa8P$\x85\xe9\xf5ly}\x87iyhvM\x8eC\xf9\x85r)\xdd#\xc3x\xae\x9b\b\xbf\x04-\xdc\x13.(\xf3t%fu\xbb\xf4\xca\u0080(ۅe\xc1\x95\x16UU\x96o\xe2\xb2\n\xa5p\xb4\xd4qe\x1d\xd1ˡ啗\xa5\x15s\xf2y\xb8i\xba\tX\x96\xe6k\xa5`\xc9>\x1e\xa3X\xaf@2P\xf8\xaf.\r\xa82͌>\xabn\x84|\x91\xca,/4\x97\xa3\xd4\x1a\xfe}\xc2\xf2\xa0\f\xae\xf0?A\xed\xb8&\xcdJ\x9f\x16\x86\xc5\xe6r\xa7+\x8f\xad\xf0\xc3ɐ\x8f\xf1\x1dCV\x93]{\x8e\xe8\x16\x17\xecZ\xcd0\x00-\t\xfa\xf9A=\x96\x1a\b\xe4\nF\x03\xf8\xae$\xeb+\x94\xd3\xf6\xf1%U\xb8\x15Z\x8dy\xa2\xad\xc2ޗ\x8e\xb0ٲR\xd5\r\x05\xb7B\x83\xba)\x03\x14\xbf\xf7\xa5\x8a\xe2wT8\x16\xfa\x1f\xc1\x12(\xe1\x1fa\xd9\xfbR\xc1Σ\x1c\x03*-\xc0\xaa\x97\xc6\x0f\x1e\xd9s\x1a\x80r5v\r\xea\xff!^tZ:\x15/\xc7K\x15,'\xb1\xc2\xeaF\r\x1e\r9\x80\xbb=\xe3\xda\xe6G\x88<\x00\xa7\xb8\aC\xed\xd1\x1au\x1b\x93\"$\xba-\xbe\xee\xb2F\xf7\xf3S2\xe7(\xf3\x17\xc9F\n0Q\xa9\xdc+X\x90\x9a\x81\xf0w\xc8,\xbb]=b\xf7h[q\x9eB\x8bQI\x92\x06\f\r\xfe\xa7\xfa;)\"\xc1Ō\x9a\xd39\xdc\xd22\xe3\x9a\xf46\xc3r?\xe7\x1f\xd3}l\x8a\x06V\f\xc7=b\x10\xb8[\x98\xb5\xa3\x11j\xaf\x1e\b\xa24\x80Az\x94\xf3\x99\x8c\x1c\xf7\x10K\xdak\x1c\x12Q?T\xff\xc2[%\x93\xc9$\xb0K\xa2Q\xf5-\xaf\xd1l_@l/\t&;\xff\x98\xc9차\xcbD\x12r\xaa?P_\x13d\xa3E1\xfd~\xfdz\x97\xe2^I\xba~b\xb0\x17\xf7\xa7\xd4r\xdc\xe8\xbce\xa1u\x8a\xbcf\xb9\xadP\x95/\xcdպ#\xdc\fE\xff+\x9aS\\\xecG\u007f\x1e\x87\x1c\x1d-\xd8R4\xa8\x8d\xab\t\x91S\xae\xf3\xd6S\xae\xf3V俑;\v\x9d\xce\xc8*\x11`\xdfG\xb8\x14\xe9*5'\xc7\xe4\xfbd\x99L\xba\n\x98\xaf\xff~\xa4\xda\xc6\xea\t\xe0\x855\xaf\x94F\x9a\x18\xd2\xc6hb`\xa0\n\xbdꁜ\xfa\xb3\xc24\x80\xfd[b$~\x0f\xbfG\xe7\xa3N\xcfA\x15X$\xf2\xdb\xf7\xdf~\xf4\x82\v\x1e}[\xbb\x91W\xdf}\xe5\xea\xab_\xc1\x8bz×6m\xfa\xd2&~O\xf1%\xde\xe6j/\xe1r\xcd&|_\x1aS\x88\x8f\xc6\xd2y\x13\xe3<\xe7\x15\x9d-\xe2*Lϛ\xf8\xab\xdb,\xa9\xb7JQ\x9bz\xbbͤ\x9c𫷣\xd9\xc2\xc9\xe7\xd1|\x92V|\x8fGVW\x02~\xf6\xcb\x1e<mbl\xbb\xb6\xa9\x9c\x8d\xc7\xcb\xc6\xf2\x81B\xb9&\xcd\xf6\xa9̭j\x9a\xa0\x9a\u007fy\xb9\xec\\r=\xb4\xe6\xf1\xa0'\xe7\xae9\xe1\xb6H\xe4f)\x9a\xff\xa8\xac\xdc\xc7ԅr\xd3\tw\x03\x14\x15\x90\xc9!;;vs\xa9\xd4B\x99\v\x187Ӏ\x9e\xbf'\xf2k\xeb\xe5*\xab\xfair\xb5\xa8\x88\xf7\x8ab\xfe/\xa8K\xfb+ԔW\xc4\xd1R\x99\xecO \x05\x8d\xcc\xff\xc5h$!`\x8b1\xf5[\xa5r\v\xbe\xa7\x1f\xa6\xfb\x8e(\x9ba\\T\x99R\x04\xb2\x9a\xf2\xfc\xb8\x19\"P\x9e?]Y\xe3;?\x03\v\xd5\xc2х\x12\xebyKRX\xe2W\xf2OC\u007fz\xf3\x8b\xa3\xea\xd4\x12\bܩ\xcfH\x90jPn\xfd\xe2[\xb0\xa8忊\x82;\xe9͇G\xf3\x93\xcbq\xce\x17\xdbZ.\xc0A\xa5\xfd.*\x9d@/\xa1)WQHQ\xd5\xe2\xab\xd9U\x85L\x1f\x862^\x85\xb2$,T=Q\xde\xea\xe5\x00\x02(J~\xc9BI\xa2UP\x87J\x90\xb0\f\u007f\xea=\xeaWC@\xdbﰉ8\x02&\xa2\x10~D\xf5\xab\xdfW\xaf\xe6\x0f\xe4\x13\xec\xd3k\x89[\xbd\x9a<\xc5Տ}\xf4.\xf7\"S<#A\xeb\xab>\xcdz\t\xb7\xfd\v\xea\x14\xa8\n\xe0H\xa0\xaf\x1f\x9c\x11\x86\xf3\xb3\xa8E\xc9\t\xa4\xba\xb2Y\xee\x18n\x91\xa2\xe7H4\xfbr7P?99\xad\x1f\xce\xe6ߡ|O-\xb5\xb7\x145\xb3\x8a\t\xb2%\xe34\xb5\t\x1adz\xeaO/4\xf9L_Ps\xe5\x05\x92\x11T\xd4>\xbfLQ\x9b\xc4D(\xfa\v\x98\xda\xf4\xf9J8\xf2\xffF\x15\xb5\xcf+)jCb\n\x9bM\x10u\xd82Xc\x118$\xf1t\xb0}\x9c&<?\xb8\xf6\x0e9lW\xff\xa6~\xbd\x02ҿ͑\xe5\xdbn\x93\xe590A\xc1=&W=s\xc7Կ\xc0\x97\x9c\x04_V\x82\xfd\xe9\xd3}\xa2?k\xf8U(\x1f\x81m\x86\xf8u\x04tE\xd4\xea*\xb8\n\xdaK%\xf2\r\xf5t\x06\xf1\xdc\x1a\xd5Z\x0e\xf1p\xb6J\xb3\xc3\x0f \x8eB\x9bW\x81\xb7\x0f\xbeP \x05\xfcA\xa0l\x1f\xb5\x02\x9e(Z\xcdL\x04\x8f\xb7zF\x1a\xa0\xed\xfd\x04Z\xb2}\xa4\xae/\x87\xe8\xbf40\x94l\x99V\t\xac\x02\xb2\f\x8bi%L\xb7\xff^V`\x82jp\x9fP\xe4\xdf\xcb\x14\x9e\x1c\xdd\xd75Q\x1aV\x97\xd8V\xeak\xb9\xd0\xc5\bzX8\xb9\xc4\xcf\u007f^s\xb3\x90ţW4U*u\xb4\xa0}\x8eL\b\xca\xe38\xe6F\xfe \xff \x1d\xe7~\xea3\xb7\xbfB\x9b\"I\xf3/.\xb7\xe8O\n=7B\xb9JA\xd3\x02\xe8\xf4\x92\xa7\x00\uea7fK\xd2\xdfQ-\x06\x16\xbf|\x97\xa6\x92\x02\xd5Vw|()8\xa8\x14\xe9C\x99\xbb\x15\xb8\x9f\x04\xaa\xcf%ʴ\xa5\x90\x05To\xd7l\xe1s\xf97*\xd8\xc2\xebrev\xf0٢\xfc\xe1\xec\x92\x1f6m\xab\xb4\x93ǖ\t\xa3\xe2\x8d\x03\xd6C\x99T\xbe\xc9pT'ǑpL!\xe8jR\vC4\xb7\x9a\xb8}a\xba\xf6Sm\x89\xb0\xfa[\x8f\x8f%\xa84a.\xc5\x12\xd1첹},\x97\x15L\x8a\xec\xf5\x11B\xfd\xaf\xf0=\xd7:ݍ'\xa9b\x05\xb9\x8f\x18\xeb\x1a\x93\rdm\xe3\xac\xfb}V\x9b\x9a\xa9\x1f\xe8\x89Y,\xeat\xfa\xf6;\xbc\xdc\xd99\xad\x9e\xbc\u008a\x0e\x9b\x05\xdf\xef\x81\t\xb3:\\\xf4I5\x88\x96fDA\xfb\xa9\xa2\x03\x99\x14u\x19\xecI\x14\x9c\xc9\xf4F\xbaH2\xa0 \x1d\x12@:2\t\xdf!\xb0ԏ\xcc\x02\x9fj\xf5-\xd0\xfd\xc9@\fٵ\xc0G\x8e\xfb\x16\xf0\x83\x93\x88`vKcw\xa1\x1b\x99I\x93lar\x8f\xba%l\x9b\xa4Es\xdb\n\xd1\xea\x16r\x0fD\x17e\xb7\x83T\x1f\xa8\x9eib\x9a\x99\x16\xa6\xb7@\xb3\x85\x84d4\x90\xa6\x9b\x03\x95\xc7B\x04\x92DH\x86\x05\xb8\vT\x9c.\x06 ]\x82\xddK\xb6*\xfe\xcbշs\xe8\\m\xab\x1aF\xe1:\x90:\xa3\x944\x02v\x1c\xbb\xcfX\r\x86\x80<\xb8;\x8b\xda\x0e\xbbr\x97\xa3\xfe\xd5\xf0%\x97\xe4\xb2\x15\xc46\xf0aꇷ\xef\xbd\xfd\xfb\xb9ܥ\u007fG\xcd\xc2\x1c\xe0\xcf\xce\xd8\xf9\xc7\xf9\xc7ѧ\x17\xac\xa0\x1e\xed|\xb0\x06\xe2\xa5g\x85у\xc1\x82\x9d\x86h\xa7\x90v\xecqtJ\xf7J\x06\xc7\xd6K\xc7\xee\xdb\xeaH\xb8^v\x89\x8e\xbd\x9c\xad\xb3gp\xf1\xa7.\xdd\xd6?\u007f뜸\xcbB\xb8\xff\xde\xe30\xb8^q\xf78\xb6|f\xecS[\x1c\xbct\x97\xd4\xe5\xd8Cx\xa3Ҕ\x9c\xb9\xa6\u007f\xfe\xee\xed\u05ec\x98f\xafй\n\xe9^\x19\xf9FB\x87\n\x9eP\x14i\x12\xa9\xd0\x10\aWFpR\xdfU\n\xa9:̓\xa0D\x8b\x8c}\xe3\xc9\xcdفv\x93\xc9\xef\xfe\x81\xdb\u007f\x9f\xfa\xca}4\xc0\xd9z\xfa/\xbd\xf6\a\x1b\x97F<\x84\x90\xabP莣\\\x91\xc8U\xac'\x02c?\xd0\xd2\x124\x9bsJ\r\x17\xe4\x82\xca\xe7jj>\xa7@\x80\xabQr\xbc-\xda\xdc֤\xfe\xceU_o6\xc7\xd5\x1f\xcbq7\xf5P1\xea\x8eˤ+\xce\xdb\x02\xber\x1fc6\xaaI\n\xeb\\ \xea(*v\x16\xb42\xbc\x814Uc(\x11A\xfc ̣9\xfa3\xf6\x8c\xe6]\xc7z\xf7\xd8\xfc\xbb\xad\x05\x0f;0'\xa1\x1b=\xe4\xdb\xd1\x01\x1d*,e5\xd56\xaa\xbbV\xd4a,\xccqh\xcc\x12*\xf4\xeb\xb2P@wȬ\xb0G\xb2\xb8/\xd3O\xd6j\xf7|\x1d\x12\xcc\x10F\x05Im\xc7\t#Pz\x19\xeb\x1f;J\xa8w\x03ʎ\x15}\x9e\xa0<\xa0\x91\xfa\v\x9f\xc0\x0f\x06z\fT\x12\x8e\x00\xfa\at\x04\x04\x87\x88~\xa3`\xc2ȱGP%;?\v\xae5(\xde(\bu\xa8\x94#\v\x94\xc7\xc8vՊI\xc8\xf1\xed#9,?G\x9d\xf9\xa1\xacb4K]\xfdQgԟ\x18\x0e]\xd2E[\xe0\fphʯ\xa7\x87\x02\xdbG\x17\x9b\x14\xa1\xe0+`\xa0\xdc\xc4Ęp\xa0?\xc5@\xe1>!\x0e\x10\x03\xda}\"\x14\x14\n\xcdҽ\xb8\xcar=\xd4C\xc0D5\xef 62\xbe\xa6ZY\xea\xe8\x04\xe5\x00\x05\x00?\x13\xe0\xd7\v\xb3\xd6i\xf0\xcbA\x8d\xa8\x8b\nT\x13(\xf8E\vU\x95Ju\x1a\xb3;\"}\xa9\xd8\x0eպ#\x96\xea\x8bL\x88c\xa8\xe4\xca\xe9ӗ\xa3V\xe4\xf2\xe9\xd3W\xfeO\xfb\x9b&\xd9CIԙ\xfa\xdb\xc7u8*烞Q\xe6\xe7\aa\xf0Q^*z\x1a(\xa8\u007fL\xad|Jӏ\x87\x01\xbd^\x8ef\xa9p1\xbf\x0f\xfb\xf5\x840\xc04~\x9c\x02\x90C\x88\xb3Ux\xa8\a\xce*r\x9aV\a\xb2*\x8dN9π\x84׳\xaf\x17P\xf0\xfa\x84ū\x1bs\xf1\xdcp\xb6\x88\x01\x9c_L\x8c\x89\u007f\x8a\u007f\x8a\xf2\xcd\xe13\xd9Z\"}\x13\x88&\xd3\x01r\xf4O\xbf|l\xf5\xea\xc7~\xa9\xdd\xc8k\xbfC\xbe\x18/Wj><\x11\xcb\xfcS\xc5\x04x\x1b\xd4\x12\xc0\xe5M\xeabS\x93\xaf\x96\x97\x8d\x1a\xfag(]\x11\xbdJ(Z\x12#\x9f\x1e\x86x\x16\xa9\\$\x18O\x0fC6\x0e\xbf8-\xe0f:{\xea\x83S\x8fҳ蚨o\x16\xfd4:\x9c\xd3\xcb\xdc)\x17\x8e\xa5\xcb\x10Wb\xbc\"u\xc5iu\xb7h\x8e\x8e~\xbdd\xe3\xca\xe9\xec%\xfb\xaf\x1f\xaf\xd5B\x8f\xb1\xfb\xf3AM\ns\xcd\xe2\xd9WH.gv\xff%\xf9\xe74\xfd\x96\xe3v\xf8+\xb8\x9c\xa7\xf0=¿\n\xf0\xd5S\xeaG\x87ϋjWH\u007fW\xc0\xe6\x1d\xe7u>\x85\x96\u007f\u007f[\xffB{[\xe7u\xfbɶs\xd5;la\x9bz\x9bi\xf1\xd5\b\xddW߭\xd4\\z\xbd\xc6\xe5C\xf0\xe4\x83\xdb\xd6|\xa5\x9e\\f\xb7\xab\x9f\xd7\x00te\xbf\xba&\xff\xb9ߕ+B\xfdk\x8d\xab\xe8/t\x90\xbf\n\xcf\x1c\vC\x0fM\x90\x84\t/@\x12S\xc3>Tm\n\xb1G`v\xfa`?\xfe\x8d\xaa\xa3\xf4\xfe\x01\xd9\x15G\xc6\x12(\xd9,zb\"\v\xd5\xe7\xf0e\xb6\xb8\xfcA\xde\xd7A\xdei\xe0\xff\xbb\xb4\x9a7\xd0\xd3\x0e\xe9Q\x81\xc1\xa8R<\xc6\"i\xa0X\xa0\xb6:\xb8I܋(a\x87V\u007f\xbe\xf6\x9c\x1b\xfa\xe3\xa6\xcb\xe7\xa7;4\aR\x1d\xe9\xf9\x97\xf3]}\x97\xcf\x17\x9c\xec^\xfe\xe1\xab\xcf1\xdcv\xeeԵ\x8d\xfe\xda\xf9\x977\x9c\xd4\xca=\xd9p\xf9|\xa7[\x19Jο\x9ce\xedµ{)\xad\x17e\xdc\xfc\xdd\xfc#\x8c\x83ief0\xf3\x99K\xf0\x14J\xe2q\xb2\"*\xf6F#\xac\x13(\xa9\xb8G\bjJF\x8dh\x01\x8c\xb8\x87X\xe8#ш\xb7\xe2\x05\xb5\x90\xa3\xf1\x1eݍk\x9a\xbe\x97\b5E\xd4R\xa4P\xcd\u038b\x1b\xe3\x86\t^p\x1f\xa0C\xa9eo\xff\xea\xede\x85\x80:\x95\xe7\xaf{6\xc8۬\xcd\x1c\xef5\xd4͝s\x91\xc5ƙ8\x8bX\xcf\vK6\xd7\xf0V[\x90\xe7=\x06\xe7\xd9}V+\x8d\xffhͧ\xd7\xc0\xdfJ\x8c\x9bl\xd1\xe2\x8cZZ\x9b5\xc8\xdfW\x91\x89\xb1\x94;\x14\xae\xfeT\xfd\xe9\x86e\xabV-\xdb@\xdaH\x1b\x86\xeaI\xf0\xd9\xeb\xac\x1e\xceD<\x17͙[\xc7)\u0590\xcd\xc0\xdf\xcf\xd6l^b\xc3Xe\xf2\xd9NN\xb1\x84\xac\"\u007f\x02K]\xa3@\x8c\x83\xd7b\x8a\xa9\x9a\xcb?.\xe6H\xf7H\ngzXa\xc6\xf0\xd0ْA\xee\x13\x88}MO\x05\xa6e\x0e\xfdX\xc2\xfcH\xa7N\x81r\xa0\xd0\xf3ڟW\x0f\xa8;\xf1h\x10t\xf1\xbbgttO\xf6yu3=\x96\xc2\xfc*פ\xee\xcc\xe5ؿ\xa0C\x01\xa0\xc2FGsh9J\xeeͽZ\xb0\x1b-\x94k\x82\x92]L-\xd5~\x0fh\xceii\xa1.\xea49\xcdQr5\xa6\xf1\xbdI,Vݓ\xff\x85^jf\x0f\x94\xbb_}\xd4,\x93\xed\xacQ6?\xcc5\xe5\xffNV\xe7\u007f\xc1\xcf\xd5\nޞˍ\xaaYٜN\x9b\xe5%ez\xcb\xdcqƨ\xef>\xc1Z\xe8\r\xa0\x93Nt\xf1\x8a\xd31\x9a \x00a\f\xd5%\x01\xfe\x9e=\xe8 y\xcfhޙ\xab\xab\rH\xb8\xc1\x97\xcbJ\x81Z\xf6\x9a?\xfd\th\xbdvr\x9ck\xca\xc1@\x1b\x1d\xe5\x1dm\xcdY`\xae^ins\xf0\xeaF\\\x94*\xf6\b|L\x9cz!/?\xb7)\x14(\x930\v\xc9\xe2\n\x15MS4(\x9aȗh\x1e\xf0\xd8{\xb2\xba\x99\x92\xe6\xf1-\xee'\xd7h\x8e\xe6\x89\xebo\xea7\xfbcC\x19Ҟ\x19\xca?\x0f\x8b6\xb2\xe2\xf1\x92\xb2'|ub\x18\x88գ@\xb4\xfe\x8d\xcc!\xb3b\xfdÙ\xa1\xa1\xfc\xbb\xd0f{tz\xf8\b\x851U\xd2A?=\x8c@\x9c\xe1\xe1\t\x05\x19t%\x98䕉\xc0\xcc\xe5\x00iu\x9a\x93[\rN\xf2\xc8i\xe1D\xc2\v\xb1\x88G\xddT@\x8a:\xcfp\x15<\xfc(\xf5c\xd3X\xe9\xc9\xc6Um\x02\x8d2\xdaϱ7z\x9b\xdaO\xf2\xedM^\xf6FϴYUfwGs\xfc\xc1\x93#\x91t:\xc2/\x89\xaa\x83\x95\xb6\xce\xe5~\xb1Os\xde]\xb5\xc7F\xd7\xff\xcf\xe7ݑ\xaf\x9e(\xfa\xfc(^\xc8\x17\x8b\xc1\xb1?L\x14\xfb\x8f$\xc0S\x04ʽ\x85\fWzT>m\xec'\u007f_\x1a\xa7\x82\x1b\xfad\x8c\xae\xd0\xd4\xe7:\xa5\x0f\xc4\x005\xaeL\x04h\u007f;\x03\xafH7\xdcWgz\xeag\xc4Z\xc6\xc6Zb3\xea{2d5\x90Jj\xa6\xc49\xdec+\xe3\x1c\xf9\x91\\vqz\xe7\xb2Db\xd9\xce\xf4b\xa0\xa9ƶ\x8fg \xf9\"l\x02@צ\x9dp\xe6QB\xbdb\x00\xfd\xdbS Q\xed>\x11\x80\x05\x93+\x18d\t\x81p\xb2\x1a\xbe\xee%}\xafL!\x93\x9d\x1c\x99\x17\x13\x83\x87\xf2\xe7\x1e\x0e\x9acd\x1ewH\x03o\x98\xb8\xc6\xe6\x13\xd7p\x19\x80x(T\xec\xbep\xc4\xe8\bx\xee\xbf\xdf\x13p\x18#\xea\x17\x00:dvQ\rq\x9f\x0edA\x1f\xf0QFd\xdcL\xb3\xa6K\xa4m\xd2PR\xcb\xed\r\xa4pU?\x03\xf2l\xc3\xeb\xd6\r\xaf\xfbzg\xb0-\xaa\x1e\x89\xb6\x85\xd4\x1fjP\xd9\xee\xa9b\xb7\xf9G\xd7aR\xf5\xbf\xfa&\x0f^q\xc5\xe0\xe4>u\xd38\xa4\x95p&\xc3\x1aӮф\r\xa4`\x0f\xedMGS\x9f\x14\xae\xa1\xae\xf3\x12\x1b\x1e\xd9\x10ܵao\xb0\xf1\xe3\xa1\x13\xdcWܛZ\xb4aâ\xccٟݰ\xb7V5\x9f\x01\xcaR\xbfs2NX\t\xdbqGB\t\xa0\xbeO\xa0\x93\xcaK\xd2g\x02\f\xe9\xf4\xf0\xc0\xc0BW\xfe\xfd)Sg\\\xf5\xd9\xf9\xea\x9eӡl\xe4\xcb\xf7\xf6]z\xf6\xc0<߲o-_\xfe\xe5-\v\xf8\xb1\x9b\xc6A\xa3\x9fKMq\x16ӭ!\x1a\xb4æSi\xadgy\xf1\xfc\x01\xfd\xbf\xc4۰]K\xfb;S\xea\xc6T'\x90\xe3\xa9\xf3k\x0fPq\xc9\xe6e\xea\xc6e\x9b7c\x0fZT{~*\x1e\x877\x8bb\xea\\H\x85?\xf0j\x19ٵl3\x95\x8fP\x1d\r\x9c\xefоw\x1c\xefT2\xb2\xf0j\x8aY\x01\x11;\xd6\x00)\xbal\rD\xcbueytO\x0fT\xf8\xef\x8f\xdajö\xa1\xfc\xf1U\xb6H\xad\xed\xa8\xfa\x1b\x9cX\xf6gɬ,\xf5\x8fW\xb4\x05\xc9Ϣ^\x14\x8e\xda\xc2u\xb6\xa1![]\xd8v\x94F\xe8\xe7\x14\x94|\n\xe3\xaeQG\xe1\xach`(\xa8#\t\x83R\xbc'5X\xa9D\xa7\xcc\aQ\xa0\x18\xcaqM\xcb6g\xfbc'b\xfd\xfau\xb3\x03\x05:'\x97\xf4\xff\x99\xaeH(\f\x84\x1b?\xb8y\x19յ\xa5\xfa\xb6\xcb6\xa3~.\xf2e\xa8\xac[n\x16\t\xb8\x03\xaa\x8a\xff*\u007f\x80\xb1\x01U\xabyZs\xc3t\xa09\uf2db\xb8R\u007f!G\xd9\xfd\x8d\x8d\xb7\xa9\x8d\xf9\x93MM$\xdax\x8ez\x80\xac$]\xea\xd3{\xd0\xc3\x1dL<\xfc}\xf9\x15\x8d\xe74\xde\xc6\x1a\xe0JZ\x1a\xd5\xf5\xea~\xd2MV\x8cՕhy\x16\xd7 >@u\x8d\xbb\xca\xed\a\r\x9a\xe5\x85\xee\x13\x8d+\xb3\xbf\xc6\x03\xe8\xf4\xf5]\xe1\x03\xdf2FqO8j\xfc\x96ѥ\xb0WC\xff\xbbQq\xed\xcb\x1f\xa4\xebrw\xae\x8b.\xca\xec\x9d䄫\xbeޥ\x1a\\\xf5\x9a_\xb4\xfa\xfc\xa7\xe3\xf4\x15\xf6y\x9a\xb6\\\a\x19O\xbfn\xd4)I\xcdKGR\xa7\xeaHŁq\x94\xb8\xdcI\xda\xd1\xc5\x06.\nd+\x10u@ϴ\x17\x1c\xf5\xd3\b \xea\xbek\x96\xd9Ť}9\xa5\xeaT\xabv6\x1d\xf6*x\xa4g\xb6e\x057?\x97\x99ì\xd4}\xf5S\xa7\x02\xe9\x14\xd5-\xf0\xa0\xed\x13A\x17U\x05\xdb\xfc\x01\x82\xed\x1f\x15\vO\x11MlJ\r\xd5p\xdb\x11\xedժݧ\xfc\xee\xd5\x05\x9fYw\x96\xd5\xe9h\x9ci6\xfb\\fA\xf6Zc,\xb7rjF\x9cT\x1f\xe5\x82\xd0Mj8kO\xeb\xab51\x8b\xfeT\xbb\xbc\xfdqW\xbd_\xd9n\xe9\xd8`\x17\x957\xae%\xb3K\xab\xe8\xdc\xe9W\xdcs\x96d0\a\x9a\x82\xe1:\xbb\xd1`\xb4\xb6O\x1dX\x95\xde\x1e\xf9\x03\xd2\x1fs$\xe34\xbc?:\xffSI1\xa2\x00\xa2W-\xbePr}\xea²\xa3\x8a\f\xa7\x1e9\xf5.\xd4\xfb&\xa0P\x9a\x99^f\n\xb3\x148(\xbaW\xa1I\xa2\xc3\x05\xdb`\x1c\xac\xa2`@5a}\x88z\xb5\xeai\xfeV \xbep\x84\x01\xb2PԽ+:\x96\xa3\x12d\\j\xc3\"=\xfca\x80j\x15\xa3\x8a\xf0\xad\xe4)W\xa7\xd4$q\xf6{\xc7\xda\xd6͜\xd7p)\x97V\xfc\xf5\xae|\xa37hj\x9d\xac\x8e\x02\xcd\xf6\xe2\x12\x97\xb3\xf5\x0e\xbb\xa5\xc9\xe2$\xb7L\xeb\xe8\x98֡\xca\x0f9\x9b\x1a\\\xf6\xfa\x8eځn[ \xb1\xa4k{lG\x8b\x89\xc4.m\f\x84m~\xc7T\x97\xc0\xbaE\x8b\x9d\xdb\xf9\xa1\xd1b\x8fȭ\xb6m\xb9`\n\xbb\x97\x12\x11w\xf2ny\xe6P&\x97\x19:P\xafLJ\xd8\xed\x96Y\x8e\xfa\u007f\xe9\xc0\x8c\xd5_\xeep\x99\x1dNW\xa8\x89\x13\x9e\x9bzV\xdb\xec\x16S׃]7\xd6\x0f\xd5E\xdad\x93%i\x0f\xb8癬|\xf1\f\x03\xbe\x0f\xfa\xe8\xd9\xccE\xd4WM\xc1\x93\x99\a7r\xe2\r\xc0\xdeHB\xa8\xb4\xcb6\xfe`UG\xb9Z\x88\xe6\xce\x00\r\xf89\xa0N2l2\xdd\xdbɅHY\x98\xbd\x1a(\x9aŗ\x11\xd2\xd4\xd9iw\x18\x9c\xbdݓ[\xfd\xde`\xaacZ\xa8\x96R;Yz=Tr\xd2vH\x8f\xfe9\x11\xebc.\v\xa1ֲ\xeaG\xe4\x8a\xd2\x13\xba6\xbb*p\xd5\xfc΅\x1d\x8d\x06\x03'\xbb[\xe2\x8b:\xfa/\x98ҪX\xd8\x05\xa5\x9c\xb4CYхM\xf1\x98\xd6\x05t\xcc\xd0-'\xba]\xa3n,{@\xfc\xf0\f\vc\xf8\x19\x98Ob\xb8\xfe\x15\xe6\xfe\xc2I\x1f\xd1N\x16\x87.\x1f\x94x\x19\x17\xc1N\x81\v\xb9F9\xeb\xca뛝N\xff\xadK\xf3\xdf[\xba\xa3\xdeX\xd3r=\xdb\xf4\xe9\x1bW\xcem\xf3\x1b\f\x8f\xb0ݏ\xb0Ʀ\xd8Y+\x02\x8f\xbe\xca?s\xfdJ\xf5\xa2\xc4\xd7g\xccX\xb5u\xcbP\xfd\xb9\xaf%ȗV^\xbf\xdb\x1b\xe9\xe8\b[\xad\u007f\xf9\x8b \xb7\xb7\xf4\x84\xd4W\x88\xa0\xaf\u007f;\xe9\xfaW\xe6\r\xb3x\x1ev\xb1i\xc8/\x87\xd7\x1eX\x1eS3\xb1\xe5\aȼ\x942\xac\xa4\x04\xf7\x01ԩZ\xbe<F\x8e\xaf=0V\xf3[%\x95R~ˌ\xcf\x13x\x97\xd3\xe4y\xd1s\xc3\xd5y\x0e?\xa7Θ(O\x86q\v\x12_\v\x94V-\xce\xf8aQ\xf1*Q1\t\x8bt$\x03\x8cj\xd4D\x84pR\b\vR~\x87zǢ\xec\xf0p\x96\x10\"\xf0]\x9fgw\x90\xf3\xd5=\xb8%GV\xb3\xa7\xd4\xdf\xef\x9frt\xf8\xf5\a\xbe\x90\x1b>\xc1\xdb\ff\x03\xd72\x9d\xd4\xe5/y\xf2\xc9\xcf?\xf1\x04\xed\xbb\xe48\xf0\xaeM@\xd3Q\x0f\xd4\xce*˄\xc2\xfd\xc8\xf6\xa1\xa1\xedC\xe4X\xf9\x8dk\x1a\xa2\xf7\xb2?M\x0fz\x17T\x00y?\xb1\xe0\xd5Z\xcb\xc3Yu׳)\xff\xe3\a\xe9]͕\xdf\xf41\x96-\xe3\x97\xfea\x8f\xff7j\xf4\x82~\x94\xcd\xc4\xe1\n.d\xe3\xc4\xe1\n\xbb\x18\r\x96\xc4'\xd3\x18\x1c\xb7\xbd\xb8\x9a\x1c\xa7\xba\x93V\xd4\xf8z\xa3tXK\u007f\xfe\xd92k̹d\x17?\xa2\xa7z\x82\x1c\xa7\xfaz\xa5\xb4\xd9\x02K\x8c\x16.\xba>,\xa1\xb8BZ\xa6\xbf`q\x84\x1e\x97'\xbak\x96H\xe8qy\xa2\xfb\xb0\xe6\xa45\x1e\xaf\xbej>a\xc7\xc5\x03\xc5\x05\\C\xd9\u007f\xd5#\xca\xe7H;#p\xc7\xf8\xbd\xd07l\xba4\xbf\x15}\x94\x03\v\xd6IR\xb87\x16\x8c\x84\x01\xb0ފ0\xa7\xfb\x9c\xf0$\xe2\xec=\xab\x06\x06V\xc1\xbf\xfa\xd1\xf6\x91\xed#\xec\x11\xb8\xe4_.\x06\xd1v\xaa\x85s\xf0{g\x1e><c\xc6\xe1\xc3\xea\xcb\x10\xb9\x1d_\xab\xa3\xc5\xd0O\xa8\xda\xddgx\xf4\xe7\xf15&\xc7?\xc0\xdd\xca̠';z\x01\x12\xba\x84\xc7a\xce\xe6a\xd8:zӑ\xa0\xe8Q\xec\x10F\x0fꉢ\x91\v\xae^\x12\xe9\xc2MF\xd1\x00\xb0\xb3\xff9\xdb\xe7&\xad\x16\xa3A\xa8\x95\x8d\x84\xb7\xd5E\ab\x9f\xfb\x86ٽ\\\xb1|\xe33\xddgE}\"+\xca>\x83\xc1h!\xad\xee\xdaA\xb7b\x0e\xb9\x13/p7\xbc\xd0\xee\x0e\x99=\xdcz\x97\xc1\xa9\xbemi\x94%\x97͟\x9a3)^O\x9aj\xbc<_\xe3U\x8f\xb6NY63dsIr\xa3\x99\xb48E\x97\x10j\xf1\x18\xac\xdf\xfd\xaeU\xf0\xb4\x84*\xcf\x14\r33\xcf|v\v\xbe\xe3\xe8;\xd4\xdbO\xc6\xe9\x1b\x0eB@\xf1\x9d\xf9,\x97\xfc,\x9f\xd1\\cwd}6k.\x9eu\xd8k\xccF\x1f9\xfe\xb1'\xcc\xe4\x9d2\xd06D]e\xb1\x91x\xdcG\xbeJ\x04\xb3K\x1e.\u05fd}\x86\xf1S\xab\u007f\x86$\x83@\ft\x11\x12\"\x9a;2\x00\x1fɩ\x00\xea\xb9*\xa4\x8e\x94\x8c\xdb4\xa7\x1e\xdc1_\x83\xe4\x11x\xf57\xb3\xd5Q\xa7bj\xb4X\x88\xa3\xa7\xdf9\x9b\x84\xa7\xda\x02Q\xf5\xbd;\xae#\xcf\x16\x8f{9\x86\xd4e\xbcI\n\x9a-\xec\u007f奐br\tB<\xde\xd69\xf2dpz\x9c\xdcIV\xaa\xfb\xf3\xffQ:l\x84+\x1b\xebs\xe9i\f\xd5#=\x14\x14\xd1\xecT\xac\xf0\xac\x81\a+R\x98\xd1(\xaa\xe2M\x14\xdeDC$\xe2\n\xb9\xca\x0f\x1da\xe7̱\t\xeaO\x1dNg\xc4j1\x11\a\x9e9\x98\xb6\x9b\xcd\x03\xc4\xdcgqXk\xe8\x19\x84}F\xab\xc5\xe8\xf0\xf9d\xa2\x1e\x15\xa4\xd7\xd6\xd2c\xb6\x8aG\x93,\xb5\xe6\xe5&\x97\xd3.\xd8\xe2\x98\x1a.^ɷwwc\x8d\x83>\xc0E\xb4\x12_]3\xfb\x9eU\x15\x88\xb1|\x1e\xe3t{J\x06\xd5f\xaa窂u_\xf9.\x17\xba\\\x81\xff\x1d\xba\xfe*\xea\xf6\xb2W\x95=\xcc\xc5}\xd4lN\xe7\xd5\x14\x8do+\x1d^\xae\xef\xdfṾ\x13\xee\xe9\x91\tv\xd8P\xa3>~\x86\x82s\b\x1a\xa2\xa6T\xb6j\x1dWz~_\xb6\xa4o\x87gS\xd0}-\xad\xfcD\xf1T\x1bd\x82\v\xdd-T\x0e\x17\xc0Aa\xc8\xeaYf\xb5\x02\xb2\x05\x98\x1e\xc73,PATcm\xb2\xda\rռ4g\xe3\xb8}\x82\x1b\xbd\x95m\xe0E\x1c$B\x8e\x84w\xa2\x9dŪ8\xdc>\xab\xac9\x1a\x8f\x96\x18\xe4\x91\xec\xb8JW\u2069\xb0O\xa5\xf5/9\xffP\xaaJC\xc9XA{,\x99@c,t\x0eE\x05J\xaf\x14\xcbT\xc8j\xbd\xbe9\xec\x00\x958Q\xca\xf1\x95\xd3\xf5\b&\xa8\u007f \xe4H\b\x9f\xa0\xfeP\xc1l~K%\x06ƞ\xf9\a1\x80\xbeѻ\xb9\r\xfc-\xe8e\xc8D\fz\x1d\x13xN\x81\x9b\xbbXuz\x9d\x92\xdd.9\xbd\xe4}\x89M\xc2c\x9d\x0f&\x9c:\xaf\xea\x94Z5\xbf\xe3ә8\xb7\x13\xf8%\vյս\xf8\x03m\xb3\x98\xbc\xefom\xf5CB\xf6\x06\b:\xd0\xe4\xd6\xe1\x87l\xb4\xef\x988\x99\xce\xdf\xc4\xed\xa4~\xf3\xcbܦ\xa2E\xb2\x03\xbfj\x95T\xa7\xdf\xc1\xed\xa4YH\x98Y\xe1\xbbv\xf8n\x83V^IN]]\b\u008e\xe5CXkg#\xc5s\vc\xc0S\xfb\x88B\x92\x1d$\x89Ý=\x92\x1f$\x8f\xaak\xf8}cG\xb9&\xf6\xf7/\xa8\xdfz\xe7\xbb\xdf}\xe7\xe4\xbf\xe7\xca\xc6\a\xb5_\xee\xd1v6\x14<\x81\x127\xb8\x13\xbd\x19\x01\xfd\x13\x18\xb4I\x1aVGG\x02\x99\x9d\x04\xfag*l\xf4\x9f\\RXS\xb2T\x8b\x8b\xae)\xd9\u009a\x02E\xee\xa4\xca%Y\xa0u\xf4\xf3\xc1~Q~>X\xa4\xb8\x88\x14\xcfЅ\xb1\x1a\xd6`9\xd3\x1aW\x82\x93k*\x87@_Պ\x10pM\xb8\x03]0\xa6*\x83\x81%\xe3a\xc0\x933\x11X팁K\xb9M\xfc|\xf4{\x86\xa3FԔ\xbb\x83\xfa\x91\n췾d7[\xd5n\xf2\xa6\xd5l\xff\x92ͬ\xc6D\x91\xfc\xdc\xcc\xcf\xf7@\xa4\xdam\xf5\x98\xc8\xcf\xf18\x8b\x9f\x9b\xb0\x0fe \xafcż\xf4#\a\x90gH\x9b\xd0\xc4d\x19d@~.\x8aj\xccl\xc3lɛ\x90\x03\xe4eRcx\xeeE\xcc\xe4\x81((\t\xcd\xed\x99K\x81\x9e\x99\xcfm¼\x18\xea\xefG\xebX\x94A7\x11\xbe\xd7S\xf5\x15\xb7\xb5\x1c@[\x01l\xda\xd7.%\x19\xc8\xeb\x18\xe6\x05գn\x01MDs\a\x88]n\x1d\x80_Q\x1f\uedd5 \xda5\xc0i?z\xfb\xd4G\xfcT\xe8G\x023\x19\xb2\xa6T\x9d@e\t\xe8i\xb4\x81\xd7,\x88\x83\xb0r\x02\xb8\x9d\x1c\nO2<\xb0\xd0\xe8\x95\xe9\x18\xd2l+\xb3\xc0\xb0/\x16,\xc1\x96%\x89\xb9\xadm\xb2\xe0 \xbc\xd3ۚX\xd8n\x9b|\x96E\x9a\x9b\xb6\xf7]\x98\x8e\x88\xa2l\x90í\x99\xf4\x9c\x9e\xc6\xcf[m<\x92|#\xb9z\xd7+\x845\x88\xa2 7&\x17\\5S\xf4-\x98{\xfe\xfc\x19\x0eA\x10E\xdf\x15\xd7^\xd9\x1c\x1a\xb8\xec\xact\x93K\xe4\f\xc2\xcb\xce\x1a\xad\xdf\xe7\x18\x05M\xf1\xa9^rq]\x82\xeeFm\xdeC%2\xfe\x84vJ\xd2\xf0)W-\xce}O\x17M\"`\xd59l\xb2+\xec=\x85%\"\xab\xe7\xeb\xa3\xf3\xadT\xf2\x98'8\xc2\x01zH3QҐ\xdf\xfbѩ\xf9Y\xecP~V\xb6\x91ز\xe8Ni\xec\xbc\xcd\xdc\v7\x8e\xd5\xf0\xc4ۛ\xbf \xeb\xce\xfe?w1\xea\xd7\x00x\xdac`d```d\xf2\xcd?\xcc\x12\x1f\xcfo\xf3\x95A\x9ee\x03P\x84\xe1BY\xf1t\x18\xfd?\xf0\xff\x1c\xd6;\xac\"@.\a\x03\x13H\x14\x00c\x04\f\xe8x\xdac`d``\x15\xf9\xdf\n&\x03\xff]a\xbd\xc3\x00\x14A\x01\x8b\x01\x8a\x8f\x06_x\xda}S\xbdJ\x03A\x10\x9e\xd5S<\x91`\x11\x8c\xda\xd9\x18\x8b\xab\x04\v\x11\x04\x8b\x80\xda\xf9\x00\x16\xc2b)6\x16\xe2\v\x88\x8d>@D\xc8\x13\xc4\"\xe8\x03X\\o\x93\xa0\x0f!\x87\xad\x8e\xdf\xecι{\xc7\xe9,_\xbe\xd9o\xe7gg\x93\x98g\xda \x98\xb9#J\x86\x0eVYp>uC4\xd3&*\xd9<\x02=$\x8c\x15\x03\xec\x13\xf0\xbeg9\xd3\x1aW@.0\x9f\xa2q\x11\xea\xf2\x87\xfa- \xf5\xf1\xfc\xea\xf1\xdb;\xc6:p\x06t\"H\x8fU\xe5\x05e\xe8\xdc\x0f\xbe\x035\xe4\xd5\xe7\xfc\vVg(\xf7[A\xe3\x11x\xad9\xcf\xdd!\xd6\u07b4\xf7EM\x9f\x8f\xeaߗ\xef\x154\xfeN\x86&Ӟ\xd7\xf0wj\xb3t\xfe\x99\xb3Ԟ\x14eσ\xe8Lp\x8c>\uf287\x86w\x91\xef\x86\xf5>G\xe0\xd9pfz`\x13\xcd|\b\xb4\x1b\xde\xe2\x04\xfc\x05^\xaaa\xd9ż\xf8>\xe4\x8c\xc7\xf0\xb6)\xc7o\xa9\vo\xa5\xb2\x82M\xdcg+R\x12\x8am\x1a\xb9Rq\xd1\xed,\xf7\xab\x8bRJ\xb9\xe0\x021\x97\xd4\xd5X\x89\x1bT\xaa\xe4N7t\x8b{I\x96E\x97\\\xeeF\x16\xff\x18\xeb8\xe3\x11U\r\xba\xc9\xcc\x1emb\xcd\xf9:f\x97N\xb1&\x92\xfd\x03j9\xccY\x00x\xdac``Ђ\xc2M\f/\x18^0\xfa\xe1\x81K\x98ؘ\x94\x98\xea\x98ژ\xd60=avc\xcec\xeea>\xc2\xc2\xc1bĒIJ\x88\xe5\x0ek\f\xeb.\xb6\"\xb6/\xec\n\xecI\xec\xa78\xe48\x928\xf6q\x9aq\xb6pn\xe3\xbcǥ\xc1\xe5\xc35\x85\xeb\x11\xb7\x01w\x17\xf7)\x1e\x0e\x9e\b^-\xde8\xde\r|||\x19|[\xf85\xf8\x97\xf1?\x13\x10\x12\b\x11\x98 \xb0JPK\xb0Lp\x9b\x10\x97\x90\x85P\x8d\xd0\x01a)\xe1\x12\xe1\v\"Z\"WDmDW\x88\x9e\x11c\x113\x13K\x10\xdb \xf6O<H|\x99\x04\x93\x84\x9eD\x96\xc44\x89\r\x12\x0f$\xfeIjHfHN\x91<\"yK\U0009d519T\x86\xd4\x0e\xa9o\xd2q\xd2[d\x8cd\xa6\xc8<\x92\x95\x91u\x91͑\x9d\"\xbbG\xf6\x99\x9c\x9e\\\x99\xdc\x01\xf9$\xf9K\nn\n\xfb\x14\x8d\x14\xcb\x14w(9(MSڡ̧\xac\xa4l\xa1\\\xa5|H\xf9\x81\n\x93\x8a\x81J\x9c\xca4\x95G\xaa&\xaa\t\xaa{\xd4D\xd4\xeaԞ\xa9\a\xa8\xefQ\xff\xa1a\xa2Q\xa0\xb1Fs\x81\xe6\x19-5-/\xad\x16m.\xed*\x1d\x0e\x9d\f\x9d]:otet;t\xbf\xe8i\xe8\xa5\xe9-һ\xa1ϧ\xef\xa6_\xa7\xbfI\xff\x87\x81\x9dA\x8b\xc1%C!\xc3\x04\xc3u\x86/\x8cT\x8c\xe2\x8cf\x19\xdd3V2\xb63\xce0\xdef\"a\x92`\xb2\xc2䒩\x8e\xe9<\xd3\x17fvf5fw̥\xcc\xfd\xcc'\x99_\xb1\x10\xb0p\xb2h\xb38a\xc9e\xe9e\xd9ay\xc6J\xc6*\xc7j\x96\xd5=\xeb\x05\xd6wl$l\x02l\x16\xd9\xfc\xb05\xb2}cge\xd7cw\xc5^\xc3>\xcf~\x95\xfd/\a\x0f\x87\x06\x87c\x8eL\x8euN\x12N+\x9c\xde9K8;9\x979/p>\xe5\"\xe0\x92\xe0\xb2\xce\xe5\x9bk\x94\xeb676\xb7\x12\xb7-n\xdf\xdc\xcd\xdc\xcbܷ\xb9\u007f\xf3\x10\xf30\xf2\xf0\xf3\xc8\xf2h\xf38\xe3)\xe4i\xe1\x19\xe7\xd9\xe2\xb9ʋ\xc9K\xcf+\b\x00\x9fs\xaa9\x00\x00\x01\x00\x00\x01\x17\x00\xa7\x00\x11\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x01\x00\x00\x00@\x00.\x00\x00\x00\x00xڭ\x92\xbdN\x02A\x10\xc7\xffw\xa0\x91h\f\x91\x84\xc2\xea\n\v\x1b/\x87\"\x82T\xc6D\xf1#J$\x8a\x96r\xf2qr|\xe8!'\x89O\xe13\xd8\xd8X\xf8\b\x16F\x1f\xc1ާ\xb00\xfewY\x81 \x851\xdefg\u007f;73;3\xbb\x00\xc2x\x86\x06\xf1E0C\x19\x80\x16\fq=\xe7\xae\xcb\x1a\xe6q\xa3X\xc74\xee\x14\a\xb0\x8bG\xc5A$\xf1\xa9x\f\xd7ZB\xf18\x12ڃ\xe2\tD\xb5w\xc5!\xf2\x87\xe2I\xcc\xe9a\xc5S\xe4\xb8\xe2\b\xf9X\xf1\v\xa2\xfaw\x0e\xaf\xb0\xf4\xdb.\xbf\x050\xab?\xf9\xbeo\x96\xddN\xb3\xe2؍\xbagڍ\x1a\xd6\xd1@\x13\x1d\\\xc2A\x19\x15\xb4`\xe0\x9es\x11\x16b\x88\x93\n\xfck`\x1b\xa7\xa8sݡ}\x9b,\xec\xab0\xa9Y\x83\xcba\fD\xf0\xe4\xaeȵȵMyF\xcbMv\xe1\x04Yd\xb0\xc5S\xf7\xb1\x87\x1c\xed2\x8c\xe5\xa2\xc4\xe90~\x99>\a\xb4/\xe3\x8a\x1aqJ\x8c\x9e\x16G\ni\x1c\xf2\xf4<\xfd\xd2#c\xfd\x8c\xb40\x14\xeb\xb7\x19\x18C~G\xb2\x0e\x8f\xff\x1b\xb2\a\x839ee\fKv\xab\xaf\xadв\x05[ڷ{\x1e&V(Ө1j\x951\x85M\x89Zqr\x81\x1d7\xb1,g\x12Kܥ\xfeX\xe5\xe8\x9b\x1a\xad\xf5\xe50\xe9\xed\xf2\x96\x9b\xcc\xdbQY{\xd4\n\xaa\xfd\x9bM\x9eY\x16\x98\xb9жz=\xc9\xcb\xd7a\xb0:[jEݢ\x9f\t\xac\xb2\vBZ\xecZ\xff=n\xf4\xfcs\xb8`\xcd\x0e+\x11o\xcd\xfd\x02\xd4̏\x8f\x00\x00x\xdam\xd5U\x94Sg\x18F\xe1\xec\x83\x17\xa7B\xdd]\xf3\xfd\xc99I\xea\x03$uw\xf7\x02-\x05J;m\xa9\xbb\xbbPwwwwwwww\x17\x98l\ue6b5\xb2ޕ\x8b\xb3\xf3]<3)e\xa5\xae\u05ff7\x97R\xe9\u007f^\f\x9d\xfc\xce\xe8V\xeaV\xea_\x1a@\xf7\xd2$zГ^\xf4\xa6\x0f\xd3З~\xf4g\x00\x03\x19\xc4`\x860m\xe9[\xa6czf`(32\x1333\v\xb32\x1b\xb33\as2\x17s3\x0f\xf32\x1f\xf3\xb3\x00\v\xb2\x10\v\xb3\b\x8b\xb2\x18\x8b\xb3\x04e\x82D\x85*9\x055\xea4X\x92\xa5X\x9aeX\x96\xe5X\x9e\x0e\x861\x9c\x114i\xb1\x02+\xb2\x12+\xb3\n\xab\xb2\x1a\xab\xb3\x06k\xb2\x16k\xb3\x0e\xeb\xb2\x1e\xeb\xb3\x01\x1b\xb2\x11\x1b\xb3\t\x9b\xb2\x19\x9b\xb3\x05[\xb2\x15[\xb3\r۲\x1d\xdb3\x92Q\x8cf\avd\f;1\x96q\x8cgg&\xb0\v\xbb\xd2\xc9n\xec\xce\x1eLdO\xf6bo\xf6a_\xf6c\u007f\x0e\xe0@\x0e\xe2`\x0e\xe1P\x0e\xe3p\x8e\xe0H\x8e\xe2h\x8e\xe1X\x8e\xe3xN\xe0DN\xe2dNa\x12\xa7r\x1a\xa7s\x06gr\x16gs\x0e\xe7r\x1e\xe7s\x01\x17r\x11\x17s\t\x97r\x19\x97s\x05Wr\x15Ws\r\xd7r\x1d\xd7s\x037r\x137s\v\xb7r\x1b\xb7s\awr\x17ws\x0f\xf7r\x1f\xf7\xf3\x00\x0f\xf2\x10\x0f\xf3\b\x8f\xf2\x18\x8f\xf3\x04O\xf2\x14O\xf3\f\xcf\xf2\x1c\xcf\xf3\x02/\xf2\x12/\xf3\n\xaf\xf2\x1a\xaf\xf3\x06o\xf2\x16o\xf3\x0e\xef\xf2\x1e\xef\xf3\x01\x1f\xf2\x11\x1f\xf3\t\x9f\xf2\x19\x9f\xf3\x05_\xf2\x15_\xf3\r\xdf\xf2\x1d\xdf\xf3\x03?\xf2\x13?\xf3\v\xbf\xf2\x1b\xbf\xf3\a\u007f\xf2\x17\u007f\xf3\x0f\xfff\xa5\x8c,˺eݳ\x1eYϬW\xd6;\xeb\x93M\x93\xf5\xcd\xfae\xfd\xb3\x01\xd9\xc0lP68\x1b\xd2s䘉\xe3GE{R\xafα\xa3\xcb\xe5\x8e\xf2\x94M\xe5\xf2\xd4\r7\xb9\x15\xb7\xea\xe6n\xe1\xd6ܺ\xdbp;ڛZ\xed\xcd[ݛ\x9d\x13Ƶ?\f\x1bѵ\x95\x18ֵykx\xd7\x16~y\xd1j?\\3V+wE\x9a\x1e\xd7\xf4\xb8\xa6\xc75=\xaa\xe9QM\x8fjzTӣ\x9a\xe5(\xbbv\xc2N؉\xaak/셽\xb0\x17\xf6\x92\xbdd/\xd9K\xf6\x92\xbdd/\xd9K\xf6\x92\xbdd\xafb\xafb\xafb\xafb\xafb\xafb\xafb\xafb\xafb\xafb\xafj\xafj\xafj\xafj\xafj\xafj\xafj\xafj\xafj\xafj/\xb7\x97\xdb\xcb\xed\xe5\xf6r{\xb9\xbd\xdc^n/\xb7\x97\xdb+\xec\x15v\n;\x85\x9d\xc2Na\xa7\xb0S\xd8)\xec\xd4\xecԼ\xabf\xaff\xaff\xaff\xaff\xaff\xaff\xaff\xafn\xafn\xafn\xafn\xafn\xafn\xafn\xafn\xafn\xafn\xafa\xafa\xafa\xafa\xafa\xafa\xafa\xaf\xd1\xee\x85\xeeC\xf7\xa1\xfbh\xffQN\xde\xdc-ܩ\xcf\xd5\xdd\xf6\x1d\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f݇\xeeC\xf7\xa1\xfb\xd0}\xe8>t\x1f\xba\x0f݇\xeeC\xf7\xa1\xfb\xd0}\x14\xf6\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x0f\xfd\x87\xfeC\xff\xa1\xff\xd0\u007f\xe8?\xf4\x1f\xfa\x8f\xa9\xee\x1bv\x1a\xedNj\xffHM\xdep\x93[q\xabn\xee\x16\xae\xcf\xeb?\xe9?\xe9?\xe9?\xe9?\xe9?\xe9?\xe9>\xe9>\xe9=\xe9<\xe9<\xe9<\xe9<\xe9<\xe9:\xe9:\xe9:\xe9:\xe9:\xe9:\xe9:U\xa6>\xef\xf7\xeb:\xe9:\xe9:\xe9:\xe9:\xe9:\xe9:\xe9:\xf9\u007f=\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xe9;\xb5}\xb7\xea\xadV\xcf\xceh\xe5\x11S\xa6\xe8\xe8\xf8\x0f\xb7\xaa\xd9o\x00\x00\x00\x00\x01TP\xc3\x17\x00\x00",
 "favicon.ico": "\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00 \x00\x00\x00 \b\x06\x00\x00\x00szz\xf4\x00\x00\x00\x01sRGB\x00\xae\xce\x1c\xe9\x00\x00\x04@IDATX\t\xedU[h\\E\x18\x9e9\xd7d\x93\xb8\xbbI\x8dI\xa3ݶ1ԇ*\x8a\xf6AXj}Q\x11+\xc5R\xb6\x8aX\x04\x85\x12\x85\xaei4\xb5\x12\xa2XA\xa8\r\xb1\xd6BU0}\xa9\xd8\x12\x14|̃\xa9\x14\xda\a{\x01\x11{\xd9H\"]\xa3\x8di\xb6i\xb2{.sqf\xcfβ\xd93gOR\x05\x11z\xd89\xff\xce?\xff\xff}\xdf\xfcs9\x00\xdc~\xfe\x8f\x15\xe8\x19A\xa9\u007fK7\f\x03\xdau\xdcM6\xd6\xc1\x1dM\x06|8\x16\x01k:\xe2J\x8c\xe7\\\x9c\"\x997\x9fP\xbb\xc2\xf2\xc3ƥ\x02\xf8\f[\x1b`\xdf\xdd\xcd\xf0\xfeX\x04j\xb4\x84B\xcb\u007f\x98\x83e\x8eO\x93\xa9̬\xf2\xe8\xa7[\xe1d\x18Qи\"\x1b\xb0\x81z&b\x82\xf6\"9'e\x8d\x12/\x92\x8b\xe0.\xc2\xfakV(\xed\x0f\xb4\x92_\xba\x8f\xb9I\x19\xceR|\xd2\n\x88\xc4\xfd\xa3(\xb3\xaeM\xed,ΜGrfn\xb8e}Q\x91\x82C\xe9\x8f\x13\xa8gp\x9b1T\fXƫ\xa6\x00\x8e\xd3\xff\x1d\xfa摄\xba\xa5\x9aT\x90\x974\x15\xc5\xfct\x15\x8f\xbd\xb7Y{|\x19\xfc|\x1e\xe1O\uf213ްZ\x1f44/^F\xceQ\xb8\x98\xec,\xc9]\xfe\x83l>\xfc\x82~*\x1c\xb9Xȥ\x84\x01\xf0\xda\bM\xdc\xd7B/\xac\x8c\xc1\xe2)\b\x14\xc1TX\x88\xd2+\u007f\x92\x93\xfb\x9e\r\xaf\x86t\x13\xca$\xcd͡\x9d?g\xe9_\xa7\u007f%`\xc1\xf6\n_Y~\x9e#\x96\xc9\xd4 \\ߡn:\xf8=ΧO8i\x19\x9e\xf0\xd5\\\x82m\x9f\xa3T<\x02\xf7\xb54\xc1NM\x81\x90\x13\x10\xd6ئ\x03+\x1a\x00\xe8\xba\v\x96I\xcb\x15\xe1\xaa8jI\x1d\xf7g\xa6I\xe6j\x8e\xbc\xfc\x99dY\xa4\x02^\xfc\x12}\x11o\x80[c\x11%&H9\x1e?zE\xcb^ܟ\xb7\tذ\x1a\x82\x88\xe1\xc1\x94E\x94\xa6'\xfa\xa5.83\xee\xbe\xf1\xc9\xf6\xc5'\xc5'ॣ\xee\xd8=\xcd\xdac\x95d\x9c\x95Ϝ\xfd|\"\x1cD\x01\xab\r\xd8إx\x13\xe7A왞\xa7\x85\x99yziަg-\x17\x8c\x1e~^\xfb\xda\x1bY\xfc\xf6\t\xe0\xc3\xcf\x1dq\xd2\x1dqm\xbf\xa1y\xb7\xa0\x10\xc3gěL\x8c\xedRP\xa7\x91|\xa3\t\xbe\x9aw谬܋\xa9\xbd\x9eT\x00\x1fz\xfa\x10M4Ցo[\xefP\x1e\x94\xcd\\&\x82\x8b\xb3\x1c\x8ary2<\xbaK{UFX\xed\v\x14 \x02\x9f\xfa\xd8MF\x1b\x95\x13\xd1z\xa5-\x88\xd4\xe7g{\x05\x13Jo\xe4\xc9Iۢ\xfd\xa7\xf6\x04\xdf\t\xa1\x02\x84\x90'\x0f:iCW?d\x1bӬ\xacH\xade\x11˵`\x93)\xcbFç\xfb̽\x02O\xd8%\xdd\x03\xeb\u07b5\xd2\x13\xd7\xc1\xc0\x95k\xc4<;\xe9\x82l\x0e\x03\xc4f\xe9b\xaf9\xcc\x16\xfb\xa8dy\xbf4\xc6\xfd\x18\x03\xb6M\xd5և>\xa2\tA,l\xcd\n\xdc۟\xe7\x97\xc8\x00;\xd8\xc5\xdbO$q\xab2\xe9\xd1z\x15\xb4\xc5t\xe9\xe9\xb0\x11-X69f\xab\xea\xfb\xe7{\x83?\xd7R\x01k\xfb\xe6\x92D\x85\xc7ٖo\xaf$\r\xfa_\xcf>\x12\xcdM:\x88\x98\x1a\xc8[x\xbc\x80\xc0;\xe7ޖ\x1f\xbbj\f\xadڑx+7\xe6`\xb4\x11\xb0\xb2U\x8f\x05\xf5o\xba\b\xdc\\\xb0\xd8}\x00\v\xac\xcdQE\r\n\xf5\xf9}$\xabzgӘ\x90\x01L\xb0\xaf\xec\xbe\xec\x1a\x0e\b\x15\xa4(\xca\x04T\xe0\x98B\xe8\xd1\xdf\x0e4K\xbf\x8e>\x01\x02se\xcfL\x8a`\xf4\x01¨S\xf8\xfe\x89UU\xb5\xa0\xa9\xfa\xde\xec`\xcbP%N\xa0\x00\x11Ծ{6\x81\x91=\xe4\xba\xe8\x19B\xb0o\xc9D\\\x90eKBu]\xffA\xd3\xebvL\x1d\x88OVDž\n\xa8L\xb8\xf3\xf5k)L\x9c=.B\xeb\t\x0e\x17c\x9a\xe6\x05\xb3\xbea\x8b\x8cX\xe0.K\x80H\xe26\xde\xfd{\x92R\xb4\x1b#\xb4\t\xb9(J()c\x19\x86\x91\xd3\xcd\xc8\xce\xeb\x87ڤ\x1f\xa0J\x9crR\xa5\xf3V\xfeG\xbb\xb3)\x80\xdc\xed\x00*37\x8e\xacz\xe5V0n\xe7\xfc'\x15\xf8\x1b>\x87\x1a\xa8P\x89\xb9f\x00\x00\x00\x00IEND\xaeB`\x82",
 "fb427eb9bb680754875eeef4610df402.woff": "wOFF\x00\x01\x00\x00\x00\x01\x17\xfc\x00\x12\x00\x00\x00\x02W\x90\x00\x01\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00GDEF\x00\x00\x01\x94\x00\x00\x011\x00\x00\x01ƒ\xa0\x92\xffGPOS\x00\x00\x02\xc8\x00\x00\x05\xad\x00\x00\v\xe0V\xc5\xe1\x9eGSUB\x00\x00\bx\x00\x00\x06)\x00\x00\rX\xe4\xffr\xeeOS/2\x00\x00\x0e\xa4\x00\x00\x00[\x00\x00\x00`yì\x01VDMX\x00\x00\x0f\x00\x00\x00\x03\xc4\x00\x00\v\xba\xe0p\xca\xfdcmap\x00\x00\x12\xc4\x00\x00\tu\x00\x00\r\x1aL\x80\xcc\fcvt \x00\x00\x1c<\x00\x00\x000\x00\x00\x000\x17\xda\x02\xf1fpgm\x00\x00\x1cl\x00\x00\x01\x02\x00\x00\x01s\x06Y\x9c7gasp\x00\x00\x1dp\x00\x00\x00\x10\x00\x00\x00\x10\x00\x18\x00!glyf\x00\x00\x1d\x80\x00\x00\xd6\n\x00\x01\xd5(\x8a\x99ԇhead\x00\x00\xf3\x8c\x00\x00\x005\x00\x00\x006\t\xcar\x03hhea\x00\x00\xf3\xc4\x00\x00\x00!\x00\x00\x00$\n\xd4\x04\x1bhmtx\x00\x00\xf3\xe8\x00\x00\x04\xb0\x00\x00\x13H\xbc\xbc\xf5\xaaloca\x00\x00\xf8\x98\x00\x00\t\x9a\x00\x00\t\xa6<m\xc5\xfamaxp\x00\x01\x024\x00\x00\x00 \x00\x00\x00 \a^\x06\x1aname\x00\x01\x02T\x00\x00\x01\x9b\x00\x00\x039\xb2\xfa\xf2\x88post\x00\x01\x03\xf0\x00\x00\x13\x9b\x00\x00)\xfe\x14\x1f\x94\\prep\x00\x01\x17\x8c\x00\x00\x00o\x00\x00\x00\xa8\x9c\x8a].x\x9c%\xcd?K\xc2Q\x14\xc6\xf1\xe79\xe7\x06\x05\xfdY\xcc\x06Lj\xb6\bC\nJ\x92\x9a\x9a#s\x10\xa9]Di(\x9b\xedEHK$?\x8d\x90 \x1a\xc4Ť\x10\x87 ~cH\xf9\x1az\t=\xd0\xfd\u0087ýp.\b`\x1e\xff\xc7p\x84\x80\x05\x10\x8b*`\t\t\xcdI\xac\xca5l\xc8M\xec\xc8]d\xf5\xba\x8fCy\xa9\x02\xae\x94\xe1Z\x05\xbcb\xa8\xf9C\x11_\x8a\x98*\xe2W\x91\xb3\x9c\x95s\x9cC`\x82\xcb0&\x99\xd4\xcd\nWt\x93bJ\xf3\x1e\xb32ǜ\xcc3/+\xac\xc8\x1ak\xb2ɦl\xb3-\xbb\xec\xca\x01\a2f\xac\r\x13N4\u007f\xf3G\x9b\xa7\x9c\"\x18\xcd@\x9b\xb1\x19\x992\xed\xb7\xb4\xa5e\xc62\xb2`\x05Y\xb4\xa2,YI\x9eٹ,[YV\xad*\xebV\x97\rk\xc8;\xbb\x93\xf7֒\x91E\xb2c\x1d9\xb4\xa1|\xb3w9\xb2\x91\x1c\xdbX\xc6\x16\x83\xbe\xee[2\xe3\xfaѷ}Wf\xfd@\x1e\xfb\x89<\xf5\vy\xef-\x98G\x1eɎ?\xc8G\xef\xca'\u007f\x96/\xfe\"{ޓ}\xef\xc3\xc2Mh\xc2\xc3m\xf8\x84\xff\x01\xc1JD\x82\x00\x00\x00x\x9c͖ilUE\x14\xc7\xcf\xcc\xdc\xfb^[\n\x14h\x1e\x85\xb2)\xab\x95\xd2Z(\x8b\x15\xd34\xc6\x10CH\xa3\x88\x8d!\xa4\x14)PjiߓG\x91E\xa0\x10\x81\x1a(\x88\x95\xa5b\xa9\x8a|h\xf8@\x881\x8d6(e\xb1l\x8d\t\xb8\x15\x8d\xa0\x01\x89!|h\xf8@\b\xf5?\xff\xb7\xf4Ҩ\t\x1fL\xcc\xe4\xfeΙs\xef93\xe7\xcc\xdc{G\x94\x88$ɛj\x83\xb8\xcf=?{\xae\x8cZ\xb4:X.\xd9K\x82\x8b\x97K\xfe\xd2\xc5%A),_\xf8F\x85\x14\x8b\x83'\xa5\xbb[\f\x84\v\x9f\x9e\xbe\x12\x9f\xf4\xf1\xf4\xb5\xf8%\xd9\xd37\x92 }=}G\x12\xa5\x9f\xf4\u007f}ap\xb9\xcc'\x83\xe4V\xf2 y<\xb4\xac\xa2T\xda\xc9\x0e\xf2\n\xd9I^\v\xad\xac\f\xc9M\xf26\xd9E\u07b3\xb4)a\x04͑\\\xcc͏\xf1\x131\xe3\xffΪD\xfd+\xe5\x1f\xd9G\xd2d\x94L\x90l\x99.\xf92K\n\xa5\b\xb5^\x1a\xf5+\x8aK'.\x11S=\x1d\x91\xfaŨ\xac\x8bHS\x1f\x91nGD\xfa\x02\x11\xe9\x1f\x1a\x95\xb3qU\"\x83]\x90\x1bDw\xaf\x80\xac\xf3\xefǽd\x19\x87\x8cD\xd6\xff\xed\xf5\x94\x94I\xa5\x84e\xadl\x92\xad\xe0Z\xd9Aڶ\a\xb6\xfd\x90a\xf6\x1a\xc90lk\xe5\xb04\xb3wL>\x8f>\xdb\x1a\xf7\xf2\xb6M$2\xed\xceD.o\x91\x1b\xc92\xb2\x94|\x8d\xcc#בo\x93\xf7-\xcd\xe4\aW\xa1\x87h) \xf7\x92\xdb\xc8ZK\xdf}\u007f\x1a3}\x16\x97H\xd3#]\xd3\xe2ه\x91\xfb\x1e0\x8c\xac\x1b\x99\xa3\xcd/\x8c\xdcڤ]:\xe4\n\xf4N\xde\x0fGk\x12\xf3\x8a\xf8E\xbcz\xfc\xda<~\xb1\xd6\x19\xdb!\xba\x94<H.\xb54\x93\xa9\x9f\xa3\xce]\xa1\xab,\xd5Iu\x03\xfa\\Z\x8a\xc85\xe4<2\xe2\x95GN#\xff`\x84\xfd\xd4ߵ\xf4M\xf4\xe5\xb0>\x039z\x00\xfb; \xc3\xe4q\xec\xceI\x90\x93b+d\x8e\xb3\xa6\x8d\xe4mZ\xb6P\xbfa\xe9>\xf09\x9e(\xd5\xd8\xd7\xd5\xd8A\x9be\xbb\xd4I\xbd4\x80MrD\x8e\xcaqi\x91\x13rZ\xce˷\xf2\xbd\xfc,\xbf\xc9-\xb9#wѯf[\xef\xf1\xf2\xfa\xf5xZ\xbf\x1e\xcfX\xbbk\xc7թ\x98\x8fO.\xa3.W\xa9\x8fԗ\xa07S/\xb5TG\xc8T\xb2E\xb7\x80\xd7yw\xbc\xba\x0f&P\xaf!\x9d\x88\x17\xed\xb5\xd4O\xaa\xef\xc0\x1f蛧\xea\xa1\x17R\xff\x89w\xef\xa9ٶ\xa6\xf6yw\x8c;\x85\xd5h\x97,\x94\xb8\xf2\u007fp\x85\x1f\xf1\x8a\xf8\x15q\u007f\xb7Fwj\xa7\\\x8b\xb6\x9b\xb0݆l\x8b[\xba\xe4\x1e\x16\xa0K\xf9T2\xf4.5\x10Z\x9a\x1aA}\x8cʰ\xb2\xa7\xa9lx\xd8\xc8\xd7\xd4T\xf5\x8c*\x88Ga$5\xcb\xc6\xe9\xe51G͕V\xf5j\xf4Yk)F\x04\xe8\xaaT\x95G\x9eƈA\xbb\v\x9cBK\x97_\x0f\xab\xeb2\xb2\x80,\xb1T/\xb8\xab\xac\xdd=cW\x98\xf6\x1aR\xbbw\xad\x85\xbeen\x96\x8d@}\x15Ybi\xea\xa9\x0f\xe7\xddR\xb2\x84\\@\xfb\n\xb2\x8aѮ\x93k\xc8Z\xdag8\xb3\xc0\x95\xe4|r5\xef. \xd7\xf1\x99-\x1c\xe5\xb09\xca\x1d\x14\xc0w[$\x83W\u007f|\xad'\xa2\xe5@F\xb4H/\u0590\xb5Y\x87\b\x99\xe4\x1cKi\xb54\x9b\xccvO\xb40\xaf\\\t\xf6zG{\xbf\xa1\xd5\x0f\xbd\xa3A\xb6j\x8f\x8f\xf5\xea\xfdvV{\xbcb\xedVlf\xf2\x19y\xd5Rm\xa4^C\x9e\xa2\xe5+\xea\x97\xc9\x16r\x1b\xedc\xa9\xffN\x0e$\x8f\xd1^K}'y\x81l \u007f!\x9b-\xbb\xff\xa4\x1e\"\u007fe]Zu\x9b\xe7K\x95\x82\u007fdJ\xf4\x8bgwM\xba(g\xac\xa5\xb9d\xa9?\xa6\x9e\xe5\xd4@\xaf\xd7\r\x1e\xcfT\xfc9S=-\x9a\xa3ӏc%\x99\xadf\xbb\xa95\xef\x98\x1df\xa7\xa93\xbb\xccn\xb3\x87\xf6\xf7\xcc\xfbf\xaf\xd9g\x0e\x98\x06\xf3\x819h>4\x87\xb0*\xca9\xe04\"\xaa\xe6\x19*\x11Z2NO>\xac\xf9 \x9c7\x022\x1a\xbd\xb12^\xd2\xe5\tɔ\x11<9\x8cV\t*A&\xaa|\x95/\x99\xaaJU\xc9$\xedjW\xb2t\xae\xce\xc5\x13Z\x1c\xe7K\xe7\x14ވ\xb3\xceYItڝvIr.:\x17q\xfeВ`\xc6ۿ\x8a\xc95\xb9\xd2\xd7L33\xa4\x9f\xc93y2\xc0\xcc4\x05\xa8\xf3K\xe6eI3\xaf\x98%\x92n\x96\x99\x10v\x1a\xce\x12\xce!Џ\x19\xf6ż\x86`\xd4\x04\x8cm\xed\xdf\xd8\xf3\x1f\"f\"b\x16\xe2\xfa\x197\x19q\xf3\x10\xfd\xe1\x88!d\xa1E;[\x9c\xbd\x98[\x93\xf3\x05\xabgO9>䚄\xd9%cM\x06\xa0\u0383p' \x83qZ\x1a\"C\xe15L\x86#\xf7\x918;=\x86\xf5\x1a\x8d\x8a\x8cCM&\xa0&\x19\xf2$f\x98\x89\xffU6\xce-92Y\xa6`\x87O\xc5\x1f|\xba\x9c\xe3~\xbc\x83\xb9\x06T:\xbe73Q\xb1y\xaa\x02\x15ۧ\x0e\xabfժ~\xd4x\xf7Q\xbbt\x9d\x83\xda\x15\xe9\xf9z\x81.\xd6\vu\xb9\xaeԫ\xf5fݨ\x9b\xf4G\xfa\x13\xfd\xa9>\xa1\xbf\xd6'\xf5)}Fw`\xce\xda9\xe7\\\x80\xeco&\x98\x1cT/\x1f\xd9\x15\x99\x12\xb3\b\x15+3\x15f\x85\xa94U&\xc8'O;g\x90u\x12j\x94\x8d\x1a\xe5\xa0FI\xf1\x1a\xcd@\x8dl\xedSX\xa9\x01\xac\xd4`\xc4*\x96\xa1\x88\xb6D\xc6p\x052X\xe9}\xa0\x835HAU\"\x96\xf3\xb6\x9a\x18;\x1fq+\xech\u007f\x01\xfa\xf7\t\xcb\x00\x00\x00x\x9c\x95\x96[l\x95E\x10\xc7\xff\xdfζ\x94ҖC)\x05K)\x15+`\x05,\x97r\xa9-\xd7R\v\"\x14DDD\x04Z\xae\x96\x16O\xb9yB\f!r\a\x05\x04,<\x00\x01Z\n\x14(-\x94b\x88\x1aC\f\xf1\x81\xf0`\x8c!`\b\x0f\xc6\x18\xe3\x03\xe1\x01Q\xc0\xff7g)\x87D\x8e\x92\x93\xf3\x9bo\xf7\x9b\xd9\xd9ogvv\xe1\x01\x88\xf7\xd2c\x1a\x11SX4a*2K?\n\x96\xa3dAp\xde\aX\xb3p\xde\xdc \x1a\xca\xe7,\xab\xc0-Xj\xe2\xe1Ct\xa4\x88A<\xda#\x05i\xe8\x8e,\xbc\x84~\x18\x88\xa1(\xc0h\xbc\x86\t\x98\x8cix7B\xdfC,\xda!\x80N\xe8\x8aL\xbc\x88l\xbc\x82A\x18\x86\xe1\x18\x83b\xbc\x81)x\x1b3#\xf4\r\xda \x01\x1d\x90\x8at<\x8f\x9ex\x199\xc8E\x1eF\xa0\x10\xe30\x11ob:\xdek\xd5O\x81 \x0e\x89HFg<\x87n\xe8\x81^\xe8\x83\xfe\x18\x8cW1\x12c1\x1e\x930\x15\xef`V\x84\a\x8b\xb6H\xa2\xec\x82\f\xbc\x80\xde\xe8\x8b\x01\x18\x82|\x8cB\x11^G\t\xde\xc2\f\xbc\x8f\xd9s\xe6\x94/3\xa3\x95\xe3\x95S\x943\x94sKK\x97,5\x8b\x95AeH\xb9V\xb9\xb9\xac|\xd1\x02\xb3SY\xadܯ<\xa2<^VQ\xb9\xc44(\x9b\x95\x17\x95\xdf*/\xcf\x0f\xce)5W\x94?(\xaf)o*\u007f)\xaf,-7\xbfW,_\x124\xb7\x95w\x95\x0f|\x8aU\xc6W\x06\xcb*$\xa0LU\xa6+{({Wq\xfe\xd2O9H\x99\xa7\x1c\xa9,\xaaZT1_&(\xa7(\xa7+g)˪\xaar\xfa\xcbb\xe5R\xe5\n\xe5j\xe5Zr\x80lT~\xaaܥܧ<H\x0e\x94Ze\xbd\xb2Q٢\xfc\x8a\x1c$\x97\x94\xdf+\xaf*\u007fT^'s\xe5\x96\xf2W\xe5\x1f\xca;\xca{\xe4`\ve\xac2A\x99\xac\xecB\x0e\xb1\x19\xca,e\xb62G9\x98\x1cj\U000d58d5\xc5ʉʩU˗V\xd9\x19\xca\xd9\xca\xf9\xcare04/XiW)?V~\xa2ܬ\xdc\xcet3\xfc{\xffK\xa6p\u007f\xfc\xb7\xf4\xb8\xf3\xa216*mT\x86\xe7\x12\x13\x95\x12\x95\xed\xa22.*\x13\xa221*\x93\xa2\xb2}T\x06\xa2\xb2CT&GeǨl\x13\x95m\x9f\xcaά\x86CYيY\xa7\xa6c6\x16b)Va\r6b;\xaaq\x10uh@\v\xbe\xc1e\\\xc5O\xf8M\xb3˳\xf5\xe1\b\xc5\xd8p\x1b\x8dN^r\xb1\xff.\xdc6qN\xc6:\xe9\xf4\x8dq\x12a}\xef\x81k_\v\xb7%%ܖ\f'ӝLs\xb2\x8b\x93\xa9Nf9\x99\xe3\xec\xfbi\x86\xc6J\xb5\x1c\x97\x8brEn\xcam7\xf3\x10\x8c\xdd\xc7\xec.\xe2\xd9R\xcc\xfa?\x9e\x15z\x02O\x8d\x89\xac\xeb\xc6V3k\xd7a=\xf5\xf6p\x84dlE3\xeex\xf1\xde \xe6M\x1aςlV\xf6<\x9eK\xe3y\xca\xcc\xc0\\,FP\x0eq-V\"_\x0e\xab,\x90\xa3*G\xc8q\x95#\xe5\xb4\xcaQrF\xe5\x18\xd5\x0f9\xfd\x90\xd3\x0f9\xfd\x90\xd3\x0f9\xfd\x10\xcf4\xcb\xd9&\xfbޥ\xc6y8\xe1F\xaeq#\x9c\b[r\xc6I<\xe52x\xc6\xf5\xc3`\xa9s\xf3\xa8w\xdaM\xce\u007f\x9d\xf3W\xef\xfc59?Ʒ\x97SN\xfb\x94\x1b\xf3\xb1\xf7\x06\xf7\x1d\xe7\xdd8\rn\x9e矰\xbf\xe0\xde^p\xbd\x9e\xf4\x91IdO\x99If\xeas\x9a>\x172\"\x9e\x14\xeb:g1\x1e\xab\xb1\agu\x94\x04|M\x99Ȭ3\xdc7\xfey\x9c\x8ct\xaf\x13\xac݂$\xbb%\xfc\xe4\xa5\xf2\x9fB\x8d$֒\x04~w&\xa3\x93\xe3\xddh\xd5\n?\xf5~\xf4\xa4\xfa\xd7}}eo\xf5\x14\xf8\xb7Q\xd5c\x00]\xd8#\ue368u'\x18\xaf\xb3zK\xe1]\"\v\xd9\x1cY\x9c/q\x9e\u009a7|M\xe5\xcf0f\x19cҎy3\x9c7\x8eɼ\x9dLG\x15\x96q\x97=\xc0C.\x81\xe7\x19Od\x93l\x93\xcfe\x8f쓃rDj嘜\x94F9+-\xf2%\xf7EP\xeb\x9a_YWq\xde+\xd93\x9f\xd23\v\xd9\xe3\x99\xc5\xfeJ\x9aU~\xcd%\xe3Pȑ\x0e\xd2\xfa\x9c4\xab\xbd1+X\a\xdaE\xfa\xa3\xb8\xa4V\xe5\x9cy\x02\xf3\xa5D#\x1d\xf0oI\xf6$w\xc2\x06[Kn\xb1u\xe46{\x94\xdc\x11\xa1q\x8a\xedu\xf6\x98j\x9cP\x8dzrW\x84F\x8dj\x1cR\x8dêqD5$\\\x05L\xc0\x9dT\xa9\xad=\xf1\x11=\xae&\xb8z\xe1zL&{oGX\xb1J\x98\xfc'\xc6\xc9㿨\xb5ǰݗ\xdf\xed\xef\xf4G\xfb|\xd23F\x80\xebgO\xdb\x06{\xc66\xda&{֞\xb3\xcd\xf6\xbcm\xb1\x17\xac\x1f\x97\xa1\xfc\xe2$\xbd\xb9f2\x1ey\xccb\xc3(\x8f#\vYQ\x84\xf1c\f8\x8ftt\xf0\xe2\x98\x19\xeb\xed^\xfb\xc5\xd3\xc7\xe3\xea\r\xe3=3\x9fw\xdf\x11\xdc{\xa3Xi\xc6\xf0\xce韥\xd6\xdd|\x1f\xbf\x1d\xad\xe7\xe40\xd9(\xbb\xf5M[\xee\x98^\xf4\xd2ֻ\xcav\x86\x8eU@{\xff\xfe9\r\x95\xac\xeb+q\x17\u007f\xe2\x1e\xfe\xc2߸O\xbb\xad\xb2Sv\xcb^9 \x87\xa5F\xea\xa4^\xceH\x93\x9c\xe7\xde\xe5\xa2\xf8YF\xbf\xbe\xad/}{?\a\vh\xb5\xb7U\xbfI5K\xf4\xcd\x18\x8ev@G8\xabc\x18\xfe\xe2\xf5\x1eq\x17\xf7UO\xec&\xbb\xdd\xee\xd4<n\xe3\xef0\xeeX\xf63\xb3<\xfdv\xffy\xbf>'\xfa\xb7v\xe6\xcf:\x1e\x10\x1b\xb8#=\xe6\xcf6\xc4\xdaϘAm\xb8\x82\xd5H\xb4\xfbX\xc7\xdb\xdbC\xccŀ\xda$\xe9\x8e\xee\xce\xd3\f^\xadW\x8b4ð\xa2\xab\x8911H7\x01f\\7\x93kr\xb92\x9c\x19\xed\x8eq\xec\x13\xb4\xd6}\xe5\x8d\xf4>\xa4f\xae\xcea\x1dٗ\xf3\xf1\xd7\xfaQ\x1c\xc6>\xe3:r\x05\xe8\xe3\xb0=bkl\xad=j\xeb\xec1z\xab\xb7'\xe9\xd1\xff~\x8d\x8d\xae_\a~m\x12\xbfu\x87\xdd\xff4\x8b\u007f\x00\xe5\x13\x14|\x00\x00\x00x\x9cc`a9\xcb8\x81\x81\x95\x81\x81\u0558\xe5,\x03\x03\xc3L\b\xcdt\x96!\x8bI\x1cHs\xb3r\xb200\xb01\xb0,`\xe0z\x1f\xc0\xf0\xa7\x9a\x01\n\x9c\xfc}\\\x18\x0e00\xfc\xf6g\x9d\xf5w\x16\x03\x03\xfbu\xe6\x98\x04\x06\xc6\xfd 9\xe6Z\x96f \xa5\xc0\xc0\x02\x00;\xd0\x11\xdb\x00x\x9c\xed\xd4C\x93\x18\b\x00D\xe1\x97TmUvc۶m۶m۶m\xdb\xe6Ķ\xedLlM\xb4\xbd\xbd\xf9\x19\xa9\xe9\xc3w\xe9\xfb#\x04!\t\x19\xe2\xff\xe1E\xfa+\x90\xa0P\"\x14\xa1\xf4\x8b\xbf\t\xad\x9f\xfcC\x18\x1b\xda\xfe \fam\xd8߆#\x9c\xbe\x13\x9e\xf06\x02\x11\xf4\x8d\x88D\xb4\x91\x88\xa4 \"\x13\xd9F!\x8a\x8dJT}%\x1a\xd1lt\xa2\xeb\v1\x88ac\x12S\x9f\x89\xf5\xdb\xd8IJq\x88\xadO\xc4%\x8e\x8dG\\}$>\xf1l\x02\xe2ۄ$\xd0\a\x12\x91\xd0&&\x91ޓ\x84\xc46)I\xf4\x8ed$\xb5\xc9IfS\x90\\oII\n\x9b\x8a\x94zCjR\xd94\xa4\xb6iI\xa3פ#\xadMO:\xbd\"\x03\xe9mF2\xe8%\x99\xc8h3\x93\xc9f!\xb3^\x90\x95,6\x1bY\xf5\x9c\xecd\xb39Ȯg\xe4$\x87\xcdEN\x9b\x9b\\zJ\x1erۼ\xe4Q \xf9\xc8k\xf3\x93\xcf\x16 \xbf\x9eP\x90\x02\xb6\x10\x05\xf5\x98\xc2\x14\xb2E(\xacG\x14\xa5\x88-FQ[\x9cbzH\t\x8aے\x94\xd0\x03JQҖ\xa6\x94\xeeS\xe6\xb7e)m\xcbQF\xf7(OY[\x81r\xbaKE\xca\xdbJT\xb0\x95\xa9\xa8;T\xa1\x92\xadJeݦ\x1aUlu\xaa\xea\x165\xa8fkR\xdd֢\x86nR\x9b\x9a\xb6\x0e\xb5t\x83\xbaԶ\xf5\xa8c\xebSW\xd7i@=ې\xfa\xbaF#\x1a\xd8\xc64\xd4U\x9a\xd0\xc86\xa5\xb1mF\x13]\xa19Mm\v\x9a\xe92-in[\xd1B\x97hMKۆV\xb6-\xadu\x91v\xb4\xb1\xedi\xab\vt\xa0\x9d\xedH{ۉ\x0e:Og:\xda.t\xd29\xba\xd2\xd9v\xa3\x8b\xceҝ\xae\xb6\a\xddlO\xba\xeb\f\xbd\xe8a{\xd3S\xa7\xe9C/ۗ\u07b6\x9f=E\u007f\xfa\xd8\x01\xf4\xd5I\x06\xd2\xcf\x0e\xa2\xbfN0\x98\x01v\b\x03\xedP\x06\xe98\xc3\x18l\x873D\xc7\x18\xc1P;\x92a:\xca(\x86\xdbь\xb0c\x18\xa9#\x8ce\x94\x1d\xc7h\x1df<c\xec\x04\xc6ډ\x8c\xd3!&1\xdeNf\x82\x0e2\x85\x89v*\x93t\x80iL\xb6әbg0U\xfb\x99\xc94;\x8b\xe9\n`63\xec\x1cfj\x1fs\x99e\xe71\xdb\xceg\x8e\xf6\xb2\x80\xb9v!\xf3\xb4\x87E̷\x8bY`\x97\xb0P\xbbY\xca\"\xbb\x8c\xc5\xda\xc5r\x96\xd8\x15,\xd5NV\xb2̮b\xb9]\xcd\n\xed`\r+\xedZVi;\xebXm׳\xc6n\xb0\xdb\xd8\xc8Z\xbb\x89u\xda\xcaf\xd6\xdb-l\xd0\x16\xb6\xb2\xd1\xfa\xb1\xdb٬\xcd\xec`\x8b\xdd\xc9Vmb\x17\xdb\xecn\xb6k#{\xd8a\xf7\xb2\xd3\xeec\x976\x10\xc0n\xbb\x9f=Z\xcf\x01\xf6ڃ쳇\b\xd0:\x0e\xb3\xdf\x1e\xe1\x80\xd6r\x94\x83\xf6\x18\x87\xb4\x86\xe3\x1c\xb6'8bOrT\xab9\xc51{\x9a\xe3Z\xc5\x19Nس\x9c\xd4J\xceqʞ紽\xc0\x19\xad\xe0\"g\xed%\xcei9\x979o\xafp\xc1^墖q\x8dK\xf6:\x97\xb5\x94\x1b\\\xb17\xb9\xaa%\xdc⚽\xcdu{\x87\x1bZ\xcc]n\xda{\xdc\xd2\"\xees\xdb>\xe0\x8e}h\x17\xf2\x88\xbb\xf61\xf7\xb4\x80'ܷ\x81<\xd0|\x9e\xf2\xd0>\xe3\x91}\xcec\xcd\xe3\x05O\xecK\x025\x97W<\xb5\xafy\xa69\xbc\xe1\xb9}\xcb\v\xfb\x8e\x97\x9a\xcd{^\xd9\x0f\xbc\xd6,>\xf2\xc6~\xe2\xad\xfd\xcc;\xcd\xe4\v\xef\xedW>h\x06A|\xb4\xdf\xf8\xa4\xe9|\xe7\xb3\xfd\xc1\x17\xfb\x93\xaf\x9a\xc6/\x82\xec\xbf|\xd3T\xc4w\x1b\xdc\xf4\xe0\xa6\a7=\xb8\xe9\xc1M\xffc\x9a\xfe\x1f\t\xc6p\xe9x\x9c͖g\x98\x14\xc5\x1a\x85\xcf\xf9\xbe\x9a!\xb3d\x96\xd4\xf4\f\xbb\v\x02.9\xe7( \x92s\\r\xceA@%\xe7̂\x88\xc4%# \x19\x91`@\x10\x10\x11\x10\x03\xa8\xb0;\x04\x11P\x82\b\b\f\xb0\xb7vX\xbd\xfe\xd0\xfb\xdc\xfb\xefv?]\xd5\xd5]]O\xf5\xe9\xea\xf3\x1e\x00\x8a\xd0!Y@$m\xb9m\x8b\xa1\xb6\x97\x0fm;\x15~\x0f\xf5\xc1\xf3~\xffŦ\xe8\x8b\x18\xcc\xc0F\xbc\x86F\xe8\x88\x01\x18\x88\xa9\x98\x8d\xf6h\x8a6x\x15\xe5P\x01\x15Q\tUP\x15\xd5P\x1d5P\v\xed\xd0\x01\v1\x1fo\xa1?\x9a /\\\xf8\xe0G>D \x12Qȏ\x02x\x01\x05Q\b\x85\xf1\"\xa2Q\x04EQ\f\xc5Q\x02%Q\n\xa5Q\x06e1\b#1\x183\xd1ڌ\x82\x81\a^\xa4@J;\xfb\xd4H\x8btH\x8f0d@FdBfdAVdCv\x84#\ar\"\x97}\xe3<p0\fo`8f\x01\x9c\xcf\xc5\xdc\xcc]\xbc\xc7\xc7R\x18\aq\f\x87\xf1)\xbe\xc0\t\xc4\xe3*n\xe2:n0\x15Ø\x96\xe9\x18\xcdb,˒,\xc5*\xec\xca\xde\xec\xc1\x9e\x98\x86)X\x87w0\x06K0\x96m1\x01\xe30ь4\xaf\xe2M\xae\x13A\x1c\xe6b\x11\xde\xc6&i\x8a5\xd2B\x9aK\x0f\xac\xc0$L\x96\xa98\xc7J\xe8\x87>X\x86\xe5\u0600\x05\xd2\f\xbd\xd0\x1bm\xcd).\xe4\x121\x92\x81/\xa39Z\xa0\v\xba\xa2\x13:#\x16K9I\xeaa\x14֣\az\xe2#|\x8c\xe9X\x8cn\xe8\x8e\xd7\x19\xcb=\x9c\xc3\xf7\xb9\x9f\xa7\xf9\x15\xbf\xe6Y>\xe0#\xfb\x86O\xa5\x80\x14\x92h\xa64\xaf\x99\xa1f\x98y\xc3\f7\xa3\xcd83\u008c7\xafä\xf1\xda>\x8e]\x04)\xac.\xb0ꕰ_*Ǝ?\x9a\xa39֎\x18˕\xdc\xc6\xf3\xfc\x89?\xf3\x11\x13%\x97\xe4\x97\"RFjHk9 G\xe5\x82\x1a\r\xd3̚Usi\x84\x16\xd0h-\xa65t\xb2Nי:WW\xea&ݦ'M\x98)b:\x9a!f\xbeYfV\x9bMf\xa7\xd9o>1ߙ\xcb溹\xed9\xe49\xea\xb9ṗ\xbe\x8a\xe3q\xc2\x1c\x9f\x13\xe9\x14rJ8\x15\x9c\xbaN\x17g\x803Ù\xe3\xccw\xder\x96;\x8f\xdc,nN\xd7q\xfdn\x94[\xd4-\xef\xd6t\a\xba#ݱ\xee\x04w\x9a\xbb\xd2]\xe3\xaes\xb7\xb8;\xdc\xdd\xee>\xf7\x03_f_v\x9f\xdf\x17\xe5\x8b\xf6\xb5\xf4u\xf0\xcd\xf7\xbd\xed\x17\xbf\xd7\x1f\xe6\xcf\xe4\xcf\xe9w\xfc\x85\xfcu\xfc1\xfen\x11\xbd\"WD\x1e\x8f<\x15\xd5#\xbf\xe4\x1fӸF\xe3ɁU\x81\x9d\x0f\xce\x05%X X,X:X1X9X-X3\xd8011\xb4\xde\xd3\xd9\xd5ZҮ\xe4NV\xff\xb8d}⸕_\xf0*o\xf0!\x9fH\xb8DIt\xb2>\xfb刜S\xa8W3\x85\xf4ɧQ!}\xaa\xeaD\x9dj\xf5\x99\xad\xf3t\xb5n\xd6\xed\x06&\x83)j\x06\x9b\xb9f\xa1\x893\x1b\xcd\x16\xf3\x9e9hΙK暹\xe5\xd9f\xf59\xed\xb9c\xf51NZ\xc7u\"\x9c\x82Nq\xa7\xb4S\xd9i\xe1\xf4uF;\xb3\x9dؐ>qnf7\xdc\xcd\xed\xba!}ʅ\xf4\x19j\xf5\x19\xe7NL\xd6g\x83\xbb\xdd\xdd\xe5\xee\r\xe9\x93-Y\x9f\xa6\xbeV\xbe\xb9\xbe\x85\xc9\xfad\xfc\x8b>]#b\"\x11\xd2'\xc6\xea3<\xa4O\\`ۃ\xb3A\x06\xdd`\xc1`\xf1`Y\xabO\xd5`\x8d`m\xab\x0f\x13\xef?7\x85\xc4ա\xb2\rJ'f\xfb;\xd3x\x96\x90\xd8\xed\xd9r\xbb\xeev?os\x12'r\fGڳA\x1c\x10z6]b:\xdb/\xf0\xe7\x13\xef\xfe'\x13JL\xf1\xb4%p\xb7\xdf?\xf7\xb8t\xfc\xf2x P\xfdy+P*P?\x10\x1d(}9\x1c\xb8\x9c\xf5\xb2\x9dc m u \x95\xad=\x01\x13`Bb\xc2\x1c \xa1\xf3\xc5b\tC\xfe\x18!~U\xa0A\xa0\xb6\xad'Ə\x8f\x1f\x1a_?\xbeT|Ʉ,\xf1\xfb\xbf?\x13\xbf\x00\xb8\xd0\xfb|ʭ\xa3\xb6\x96\xfd\xc7\t\x84\xfc\x969Y\x95\xadl\xbd\x80\x1f?\xbf\xac\xc3u\x84\x8e\xd2E\xbaX\x97\xear]\xa3\x1bus\xf2\x9d\rI\x87\xee\xd0}\u007f\f\xa1\x87\x9f\x97z<T\xdbRO\xe8y\xbdb\xec\u007fkʛEf\xb1]9[\xcc.\xbbr>6\xc7\xcd\tsҜ6g\xcc\xd7I\xbd\xcd\x03{<1\xcf<\xc6\xe3\xf5\xa4\xf4\xa4\xf6\xa4\xf5d\xf3\x14\xf6\xd4\xf6\xd4\xf7t\xf7\xf4L\xea\xe1\xe9\x0ex\xb3ysz\x9d\u007fO\xda\x1b\x1e*\x93\xafx\xfd\u007f\xb9\x13\x91\\\xbb\xde\x02ޒ\xde\xf2ɭ\xf2\u007f\xf7\xea\xde\x02\u007f\x9eE{\x8b{\xcbz\xcb{+z\xeb{\xdbx;{{۽\xaf\xb7?\xfe\x1f8\xf2?\x91Ü\xb2\xbe\x9d\xe4\xfbk\xb1\t\xa31\xc6\xfa\xfd8\xeb꽬\x977\xc3\x043\xccRa\xae\xceЙf\xa4\xf5\xfd\xb1Xl\xc6\xe9tLFo]\xaf\xab\xec\x97\xedg\x1d>\xc99\x96\x84\xf8\xb3\xce\x12h\xbfe\xd0\x1e\xeb\xdeg\x93\xdd{\xa7%\xd2\xd3$\a\x17\xc3ǘ'b=%\xc9\xc7\v\xcbK\x92\xdfr\xe6\x98e\xd5a˩O-\xa9\xceYVݴ\xb4JbU\x98\xa5\x95e\x15~\xb4\xb4*kyUҲ\xaa\x14bY\xc9\xf2\xaak\x12\xb18\x81]\xec\xff\xb6\b\xc79\x17\x9f\xf0m|\u038d8\xcfw\x91\xc0-\bp\x13.p+.r\x1b.\xf1\x03ܶ\u007f\xe8O܋\x9f\xf9!\xee\xf0=\\\xe31<\xe6\x11<\xe4q<\xe1g\b\xf2\x14\xbd<A\xc3\x1f\x98\x99\xdf1#\xbfdj~\xcfL\xfc\x86)-3\xb20\x81\xe1\f0\as\xf1\x12s\xf3\x8a%\xcde\xe6\xe1\x8f\xcc\xcb\xeb\xccǛ\xcc\xcf\xdb|\x81\xb7X\x80Ex\x9fE\x05\xac\xc0\xdfY\x9c\x89,\x9f\xc4?\xc9\xc4W$\v\x1bJf6\x90\x1cl&\xb9\xd9Rr\xb1\x85\xe4ds\xc9ǎ\xe2g\a\U00071754\xe4@)\xc6~\xf2\x02\xbbI\t\x0e\x90\xa2\xec+\xc5\xd9_\xaa\xf1\r\xa9ÉRO\x1ar\x864\xe6,ię\xe2aU)e\xbdf\x1e\x0e\xf1\f\xd3X\xdf.!\x05\xd9]*s\x94T\xe0\xabR\x91#\xa4\x12G\xf2(\x1e\tY\x91wY\x98\xeb\xf1\x9d(+K\x1e\xb6\x92\b\xc6p\x01\x8e0\xc8\xd2f\xac\x19\x93\xcc\xd4\xf1\x96\xaf#\xcc,3ú\xf8$3\xc5Ě\xa9f\x9aY`\x997\xdd\xcc3oZg\x9fc\x96\x9b%f\xa5\x99mfZ\xfe\x1d0\x13\xccDY \x8be\xa9̖\xf12A&\xca$\x99,Sd\xaa,\x92%2M\xa6\xcb\f\x99)\xb1\xd2ʲ\xa4\x8d\xb4\x95v\xd2^:HG\x89\x91N\xd2Y\xbaHW\xe9&ݥ\x87\xf4\x94^\xd2[\xfaH_\xe9'\xfde\x80\f\x94Y2O\xe6\xc8\\\x99\xaf\x1eK\x9f|*\x9aB\x1duէ~\xcdhi\x1d\xa1\xe94\x8df\u05fc\xb2L\x96\xcb\n\x89\x93\x95\xb2JV\xcb\x1aY+\xebd\xbdl\x90wd\xa3l\x92\xcd\xf2\xael\x91\xad\xb2M\xb6\xcb\x0e\xd9)\xbbd\xb7\xbc'{\xe4}\xd9+\xfb,\xdf\x0eH@.\xca3\xb9 \x97\xe4\x91\x04\xe5\x89<\x95_\xe4\x96$\xca5\xb9*w\xe5\xb1f\x91۪\x12\xafF\x124\x95\\\xd1\xd4\U000a3997\xeb\x1a&74\x83\xfc\xac\x99\xe4\xa6f\x93_5\x87\xdcӜr_s\xc9\x03\xcd-\xbfk\x1ey\xa8\x91\x96\x9d)岥&5\xad\xfc\xa4Y历\xcbo\xe6\x03\xf3\xa1\xf9Ⱥ\xdcA\x9b!\x0e\x99\xc3\xe6Ss\xc4\x1c5\xc7\xccg\xe6\xb860\x9fkC\xeb~_h#}Y\xeb\xeb+\xdaX\x9b\xf0\x1d\xfc\xc0\xed\xb8\xcc\x1d\xb8\xc2\xcf\xf1\x94'\x99\xc22\xdbË֓\xaf\xd2\xe55\xfam\xc2\xf1Y\x86G\u061c\x13\xc9_\x18\xc5;,\xc8_Y\x88\xbf\xf1E\xc9\xc8\xfa\x92\x95\x8d$\x1b\x1bK8\x9bJv6\x11\x87\xad%/\xdbH$\xdbK\x14;K\x15\xbe&\xb58N\xaa\xf2u\xa9\xce\xd1R\x83c\xa4&\xc7Jm\x8e\x97\x979Y\x9ap6\xdf\xc4Q\xbe\x85ϸ\x12_q5\xbe\xe1\x1a|˵8\xcbU\xf8\x9aKq\x92\xcbq\x9a+\xf0%\xe3p\x86\xcbp\x8a\xfb\xf0\v\x0f\xe0\x16?¯\x96\x19w\xf9\t\xee\xf1\x10\xee\xf30\x1e\xf0 ~\xe39f\xe0\xb7L\xcf',\xc3g,'iX[ұ\x8e\xa4g]\tc=I˗\xc4\xcbj\x92\x925$\x15kJj֒\x14\xac./\xb2\x97\x14a\x1f)\xcd\xc1R\x96C\xa5\x1c\x87Iy\x0e\x972\x1c\"\xf59U\xear\x8a\xbc\xc2iҀ\xd3Cٳ[(\x85v\xb7yw:\x96\xd8\xdc2\xc7f\xbby\x1a\xab\vt\x89%\xd72ˮ\x15\xba\x12۰\x1d;\xb0\xd3\xe6\xd3]؍\xd5\x18o\xd3\xcdZ˴M6\xe3lѭ6\tnם\xbaG\xf7\x9a\xb6\xa6\x9d\xe9`\xda\xdbL\x18c:\x9bN\xd2\x02sLW\xd3\xcb\xf46\xddLO\xd3\xdd\xf40}L?\xd3\xdf\f0\x03\xcd \x9b\x8b\x86\x98ufCR\xe2\xd5\xea6]\xd6\xd4ZZ[_\xd2:ZW\xeb\xe9\x00\x1d\xa8\x83t\xb06\xd5f\xda\\[jkm\xa3m\xb5\x9dvЎ\x1a\xa3\x9d\xb4\xb3v\xd5n\xda]{hO\xed\xa5}\xb4\xaf\xf6\xd3\xfe:D\xdbk+\xed\xa2\xbd\xb5ſ\x00\xab\xc9\xfa\xf8\x00\x00\x00\x00*\x00\x91\x00\x89\x00\x8f\x00\x87\x00\x87\x00\xa2\x00\xb0\x00\x00\x00\x14\xfe\x8f\x00\x14\x02'\x00\n\x03}\x00\x14\x04\x83\x00\x17\x05\x1b\x00\x14\x03\xf8\x00\x14\x045\x00\x15x\x9c]\x90=N\xc40\x10\x85\xc78,\xe4\x06H\x16\x92-+\x14+\xaf\xe8\xa9R8\x91P\x9a@(<\r?ҮD\xf6\x0eHih\\p\x96\xa13].\x86`\x92\x8d\xb6\xd8\xc63\xef\xcd\xe8\xf3\xb3\x13\x80k\x12\xe4m\xf8\x16\xe2\v\x93\xf8\xfbL\xe0\xaf\u007f \a\xf9\xf2\xbcI \x9c\xd6U\xefI\xbc\xb28sl\xac\rw\xd2\xe9\x9adQ?\x06\x8b:\xeax\xbf\x8d\xba\xd6\xefo[ʊ\xb9\xf2`\x17\xf1V\x13t\xa1\xe7\xf3)\x18*Q\x1d\xdb\x1d\xe2\x1ds\xb2\x89\x93͜\x88L\xd8/\x84\xfdL`\xc0//\x9d\xbbF\x93\xbci\xc3C\xa0\xc1+*=*ctEc\x1bh\xf4\xca \xf2\xd6ꘔ\xebG\u007f\xb5d\xbe\xe0̫57\x97\aJ\x17\xa8T\x04\x18\xe3AYCC\x8c*\xf2;\x16\x9d`<1\x04\x9c\x1a\xe5b\xf0OLDYTI\f\xed<\x1a\xacQ\x93a\x8d5\x9c\x13=ߝ\xbb\xa6\v\x15'5\xb8\xf9\a$\xeak\xe4\x00\x00\x00\x01\x00\x03\x00\b\x00\n\x00\x10\x00\x05\xff\xff\x00\x0fx\x9c\xb4\xbd\rXSW\xba0\xba\xd7\xde!\xfcC\x02\t\x01\xf9\r1D\x8c1@\b\x01A\xfe\xff\x8c\x88H\x99\x14)\"\"\"\xe2\x0fZD\xaa1\xc3p(\xa5\x94RJ\xfd\xa9\xb5\x8e\xb5\x8c\xe3x\xf9\xfc\x1c\xc7:\x8e\xc5N;\x9dN\xbf>\xed\x9c\x1e\xf1\xeb\xf5\xf1\xf6\xd6>\x9d\x9eNg\xc69=\x9d\x99\x1eO\xbf\x1e\x87\xec\xde\xf5\xae\xb5\xb2\x13\b8\xbd\xf7{\xaem\xd8;+\xc9\xdek\xbd\xef\xbb\xde\xff\xf7ݜ\x8c\xe3\xc4q\xd9\xfb\x01\xf1\\<\x97\xcc\xe98\x03\xd73\xcd)\xb9e\\\xba2*\xef\x1a\xa7T\\\xe3\x92f\xe8QǎKg\xb8k\x1cW\xd1x\x8dӚ\xe3_\xe5\xb4\\T\xe1F6\x90\n\x03\xa9\\\b\fh\x15\xafri\x1c\u007f\x0f\xff\xe8Ϋ\\\x10\x87\xf0Y*\x1eӓ\xb1\xa4;\xd3\xf8\x8eJ.\t\xdf&#\x13\x15\n\xd6\xec4]\xaa\\\xad\xcb.\xe4-YI\xbcZ\x15\xc1G\"\x8bZ\x87\xb4J\xad\r\xbfx\xc5\x16gU|_\xff\xbe\xa1\x97K\xba\x9fwl\u007fa\xbbź\xf3TG\xef\x9f\xff,&\xcb\xde\xff\xbb\xa5S\x98\x9d\x95\xa1N\xfbn\xc7\x1a\xbdc\x9bc{c\u007f\xad>\xb3\xa1\xa7\xa4\xbcwOOɩ?\x05<\xf9_\xfb7\x05\xfcO\x8e\xe7\xae|\xfb\x85\xacV\x98\xe02\xb9\xd5\xdci\x98D!WD\xd6\x1a\x8fז'\xad-\x1e\x96\x12\xcfEHk\xe3`\x80イ\x81t\x18H\x87\x81i.\x0f\u007f\x95#W\xc93\xbfʅ\xe0%Ns\xe1\xf8\x98Ǯ\xfc*\x17M\xc6\xd4\xf8\x18\x82\xc7\x0e_\xe3\xd4\xe6X|\r\x05\xc0\v\x00\xc2\xe1\xb3,\xf2\x1d\x13>r\x04,\x01\xa9+y+\x01H\x8cƚ\xbd\x92ץ2\xf8Ĩ\x95\xaa\x18KV\x8eM\x1d\x81t\xa9i\xabQ\x84`\xc0\xef\xac+\x11\xc0P\x85\xfeX\xd2\xdd`.\xecp\x95\x96\x8cg\x84\x1b\x1b\xaa~\xf7bվ\xd1\xf2\xcbW\xd5\t\x1ak\\\\\x83\xb9\xce\x1a\x95[י\xde4\x92\xa5?X\xde٧J(l-\xa9ݖ\x17\x13\xa5X\x97\xddTb\x98nuU'\\\xb8$\xee\x8cW\x05\xc9{Bb֚\x94\x9a\xcc\xf4ؑL\xddhH\x98uM\x1f\x06\x03\xcf\xdd\xc7p\x8c\xc3t\x13\x8b1:0\xcd\xc5ad\x1b\xc8j\xe30\x1c9\t\x8e\x91\x00\xa5H\x1f8\x06\xc1@\x90\x0f\xd1\xf8\x016\x10\x06\x02\xd9\x00\x06K\x1c\x01K\x00>R\x10G\xe2\xb1d2\x16\x82\xaf\x9c,\x81ʠ\xd6)-\xcaB\xc1C?\x18$\x94\xaa\x02\x95I\x88?k\xdbT\x95\x135<\x19a.o\xb0T\x0fu\x16\x17v\f\xf7\x0e\xf5\xf5\r\xd9\xf7\xe8\xf5{T\xb1\x86LMO@\xbc\x18\xa40hc,{^\xe9?\xf4\xb3\xbd\xb6\xe1kG\x8e^\xb3\xea\xc5D\xbd\x15\xcf\x10\x11\xda\xe11\xedh\xb9\xb5\xd3x \x95\xd3\xe1\x9b{V\x1a\x02\xd3\x0eY\x90b\xa6\xf1<\x139\xc1\x88\xbf\xc4H\xc1\xbb2_4'\xf1\x1a\x1d\xc3!A\xaf%B\xe0{\xeaN\x0f\xd45\f\x9c\xae)\x1a驕O\x86\xf5\xb7\x8c\x1c=:\xd2\xd2\x1f6)\xaf\xeb\x19Q\x19\xbb\xae\x8c<}\xa5+=\xa9f\xa0}o\xfd\xa9\xa9\v/\xd4\xefm\x1b\xacI\"8\xc2\xf3\x15>\xf8\xc78\xf2\x9b\xb9\x12\x06\x94\x0f\xc2Q4\fD\xd3\x01XS\n\xc1G$\xbeJ\n\xb9\x81\x17o*\x86\xb7y\xebĘ\xd2Y)\xd9*=K\xe6\xd3\x19^얆rs\xc4\xe4p\xb4\xb5\xba9\x8c\xe0ǎ1\xa5\xb2\xec\xb9\xdcT\xcf\x16\xa35(\xd07\xf7?\xef\xd1d\x1ab\x87\xadz\xf4\x99\xdez\xed\xe8\x91k\x9e5\xcb\xe21\x8e\x1207\xeb\x9e\xc6\x13[\xca\xe9ɔR\xf0\x9aC\x16_\xb3/\xb6t\xf8\x13Jk:3\x00\u0083/\x15Y\x91\x06\x8f\xa8\xf0\xa7\xaek\x9c\x066\xb1g\xfdsW\x98\x88\xb4I\x88!1\x9a\xac0\x90\xdf\xd7t\xc6Y]\xeb<\xb5\xae\xe6d\u007f\x9d;_>\xfaLא\xf2ldc\xdf\xe8\xdb\xca\xf1\xee=\xcf*\xf0\x12/\xf5?qe\x97ٴ\xeb\xf2\x93)G_ht4\xf5V'\xf0\xa6CN\xe7!L\u007f\x9fq\x9c\xf0E\x80\x1eC\xd49\xcd\xc5pK\xb8x\x1f\xfa\v\x85\x05\x84\xfa M\x06\x032\x9f%2\xa4y\a\xe2` \x0e\xd6\xfc*\xbe:\xacR\x86\xd7\u0093\xb3P|\x16F\xcex\f85f\xfe\b\x1fcf22m\x80:\vY\xa7:5\x02\x16\xaa\xc6\fZ\xad\xfdL\x14E\xfbț}\xe5\x83\xed\x85h\x87\xf8<\xda1\xfb\xbfF\xf8\x9d#\xb2\xce\xd3;\xac#qE\xdd\r\xb2\x11\xf7\xb1\x11\xc0\x91\xe8\x14>\xc08J\xe3l܉i,tr\x19\xa74\xe0[\x04K8J\x80\xe9%\xf8\xccW\a\x03:\u007f\xa4\x85\x00Ң\xf0W)Ң\xcc\x14]\xc1\x04]r\xfcI0\xe5\xb9r@W\x14\xfe\xc4\xc0\xc8\xd5\xc0E\x91_$ౕdL\x8b\xaf\xb2\x92\n%@\xa6\x05pX\xc8c\x0e\x8b1\xe8C\xbeV\x8bR%\x17<\xc4\x1b\x81\xf9M\x12ϗ\xd7>\xd3Y\xf4C~\x87s\xfd\xe6̈\xc4\xc1\x8e\x9a\xe1\x8e\xc2\xc2\xcea\xbb\xad\xc9nU\x0e_}\xa7|Oz\xfa\x9e\xf2\xd2\xd6\xd5\xc9ɫ[Egb\x95\xb3\xb5\xb5\xc5P\xe4\xc8\xecK\xb2[\xbb/\x1e<\xf4ӽ\xd6\xd8t\xb3\xa6g\xb6u\xea\x1a/\xcbLG\xb7\xd33͎\x83U\xd5\a\x1df\x8cz\xee\x92蔝\xc7p+\xe1\xea\xb9\x16n\x10h`3\xd7JV\x10\x83!W3C\x8f\x1b%\bf\x00|2|\x00\x96\x03\x0390p\x9d얍\x9c\xcc\b\xc0\xbaƅa)]O\xf0]\x83\xcfb\b0R\xb8R.\x94n\x1e\f\xd2\x1c\f$\x1b\xf9F\x06>{\x88P<JM3D\b\xc0\xae\xb4\x8c\xebz\xc0d[\x89ez\x8em%\xf2H\xb0B,\xce\xf1&HB\xf0-\x04?J\xc2\xe3\x84E\v\x1e\x8e\x87\xdf\xf0m+\x1b\x97\x85-Q\x85W\xafE\\\xc5cM\x96b畞\xbd\xe7v[\xe3\x96ےb\f\x89\xca5\xb9\x05\x15\x85;\xc7\xd6\xef\xbcbI\xe8\xdbRՙ\x12$\xc7o\xc5o\xa3\xf4\x89QIe{6\x9c9պ\xdd\xd5\xe5ru\xedt\xb9\x90.,L\x1e\x15\x93\xa0H[\xbe$wcqe\xf7\xba\xf4\xb4ҍ\x16\xfdj\xf3\xd2\xf0\xe0\x84\xa5\xa6\x04[}l\xda\xc1\x877\xf4\xd6\xe8˫\n\u05fd\x90\x90\xaa\xce\\\x02\xef\xc4\xcf\x035)\xc6%\xc99\xe9\x9aMk\xf2\xf2\x84\xc8\xd6M\x9b6o\u07b4\xa9\x95ȁ\xfb\x18\x19\x1f\x10\x9di\x1b0\xb8\x04.\xd1g\x1f2\x9a\x8c\x9a/ϼH`\xba\x85\x97\x9bF\xc0@\x04\x1d\b\x94\xf8\f\x8f\u007f\xa4\"\xa4\x18-\x895\xa5NI\x14\x81\b>P\xa9\xbb?\x19f,r\xac\xca\xdb\xed\xb0NF\xa4\xdb\xf3L\xd5V}\xd8$\x16b\xbc\"]\x17\x9bT\xf7\xec\x1e\xf7G<_\xdcV\xa6\x8bJ\xd4F\xb8\x1b\b\xc6?\xc5s\xff\x12\xcf=\x18+(\x8fL\xe3\xc5Dp\x91\x04Ű\xbdÁr\xc2\xcclZ\x010\xad\x00\x9f\x89\a\xc3@\xb0/\xbf\b\x90\xf8\x05\xfc\\\x8e\t0\f\x1fC\xef`.\x81y\x82\x95\xf0\x05P\xe3>E\xe5\xe2k\xe8\x0f\xc80\xfb\x1f\xc8t\xe3\x06\xb0\x05w\xd8H@\xfc\r\x98\x13҉CB\r\x9eS8\xe6\xac\x0f\x81\xfe\x19\xc5EK\xfag\x00\xccIa\x9e;\x05\xef\x9c\xc2a \x1cX\x00@\x1df\x12\x8c\xe7$'g\n\xfc\xf3H<\x97\x00\xbc\x85\xadd:*\x99\x8eh\x95\xba\xda\xe1\xb6<\xf1\x1c\x9a\x15\xfft\x1f5ݸq/\xb1\xf2@\x13\xff\xf3\x91\xd9\xcb\x1fݐ\x1f\xbfAq,\x839\x85\x02\x8e\x830+\f\u007f\x10\x8e\x05\x18\x10|\xa6Ÿ\xf1BZ\r`V\xe0\x02\xf1\xe5\xa6\xf1J\xe8\x19\xc11\xb2\x04#\x1d\"\x88E\xbf\xb9-\xf6\xa23\xef\x88W~\x88\x11:\xfb\t\x1a\x14\xaf\xb8o\xa0[\x03\xe2\x05<7/\x0e\xab\x00\x83!d\x93rs\xd9~\xd4\x03\xb0&\x9b\x875_l}\x8ar\xc4\xf7\xd0m\x943\xfb\x1f#\xb2\x90'\xff\xbeg\x84#4?\x8a\xe1QNx\xf6\x8b\xa0x\x19\xb8e\xfe\xf0\x88X\x9c\xe6\xfd\xf4\xc04\x18H\xf3\x01P\"\f$\xfa\f\xa8`@\xe5\xdd\x15ZiWh%=0V\xd2\x03c\x19\x14հS0\xb7\x11\x88\x9a\x8c\xb7\v\xd5\x00\xbd'\xa3\xfdA\xfa\xdc5\xe6z\x872Do\xab4\xb5\xed8i\xb0Z\xab\x13_0\xe4X\xab\x12O\n\xae\xfe\xa8,s\x8aê6\x1b\x13&\xc6\xdcc\xbc\xbd\xb51\xcf\xe0n\xf1\x1c\xa5\xfd\x8fa\xf1\xa0\xfd\xff\x00X\xfc\u007f\xd8\xff\xea\x05\xf7\xff\xb0\"\xbb\xaa\xa5\xc0\xb6\xdba\xf1\xd9\xff\x82\xab/.Ӱd\xc1\xed\xcf\xf4\xa38<\xf7h\xacCW\xc1\xecS\x188U\x0f\xd6\t\xbd\xfa\x11\x9d\x1f\xd5{\x96\xf8\xe9=s4oP\xea\xdaj_p\xd6Թ@\xe9q\xd6\xd6\xf5\x9f\xaa~bt\xf4\x89\xa1\xd1Q\x95\xa9\xeb\xca\xd0SW\xbaLƮ\xcb\xc3O]\xed2\r\x9f\xfd\xc9\xd4\xe4\xe4\xd4O\xceR\xfb\x02ۥ0\xcf\x05uW\xe5\xccw\x87v,\f\xc4R\xa3\xd4W\xbb\x95\xa0\x9d,A;\x991\x1d\x8f\xee\x1a\x83\x8f\xcay\x18`\"Π\xd4!_\xfb\xe2\xfepTN\xd5&\xdb\\\x05\x16\xf5K\x06\x86\xe0\"ڪDz\x00\x15V\xb4\xa2\xdf\xfb\x1a\x18\xa0\x17\x8d\x13\xbaZp\xcd\x01\x8b\xdbT10\x10\xe33\xc08wЂ@\b\x90\xd6\xc7\xe1c\x80\xb4\x97R\x98\xbe\x1eIt\xf8\x8cL}\x840_\xe7\xd1\t\xbe\xfa\xba\x90\xe9kL\xd9m\xcd\xd5\xd6\xe8\xe1ɏ%\x85\xbd\x89\xdaRTi'\x06\xd6ߣ\xd0\xef\xe7\xe8넗\xc9td/\xed\x9a\xc63\x9c\xbb\x97\xfcTX\xc6V\x17\xdaK\xf3\x99\x1bh~2\xa2!Se6Jbx\xb1\x1e%V˘\x85\x9a*q\x81\x84\xff\xfd\xe9O\xa8;\xc2lזּ:\x94\xea\xfa\xcc\xfc\xa6\xea\xcch\xf48\xe6\x86Xf\xfdV[WbR\x05\x9d\vQ,1Z\xe3D\v\xe3\x8d\xef\xe2=%\xc3k\xb0q\xdb\xc1\xa3@\xb5\xd9\xef\xe0I\xa0**u\x10\xa4\x91)+\xf1\x91#\x92A\x8e?S\x92\xb3\x95\xf8\xd7\xc1\xe4L\x8b?]\xe9\xb5w\x89r\x9a\x03\x9e\x01\x03([\x92\x05)\x10\xf4\xe0\xd3$\x01\xc8\x15\x9b\x1d'\xf7\x95\xf0\xcf˞\x19k\x19\x02u\xb2\xb0\xb7\xd1Z\xd09ZW3\xba\xa3L\xfe|PVY}zg\xb7\xad\xa9\xaf\xb8\xa4בY\xb4\xfb\x88*\xc5\xdeS_\x8f\x11\x9bn\xd1\xc6*\xc3\xf4y\x8eⲖ\u0084\x84\xd2]u\xe6\xbc\xe4\x10\x8b5ݬՄE\xe8\xf37\x16\xd9;K\x93(\fF0\f\xe4D'\xda1\xcd)\xe6\xe1\x91q\x13\xafLb^\x00?1\xbe\xb0\xbf%H\x92\xe8\x913T\xb5W{\xf9\x0e\x11\\\x16@\x9d\x92j\x94\xe0\x15\xe1g\xeb\\\x0e\xa3\xf8\x11\xd2O\xa2\xab\xa2]a\xb2\xe7\x97\xefN\xd78U\xa9\x8e\xa3\x8f\xa2\xa7F\xd0i\xb1mDt\x95\xb7\x16,\x89Q>\x15\xc2\xd6p\x1f\xece\xc1\x85w\xc56\xf0\xdf̵\xaf\xe40!\xb9\xbf\x95\xfc\x00\x17\x91\xaf\x04\x83Y\x873'P\xb8\xafE\x8c\xe7\xce\xe6\xcdlb\xde\xc08zu~\xd3Θ\xc9a\xa5\xa5j\xb3*\xa9n\xbc\x9b\u05fbE`\xe7%\x89\xfc\x85\xd9A\xc2\xe5\x19\xec\x89lva\x80ڧ\xb1B\x11L|L\x8brH?\xb5\x8e!\x83\xa8&\x02\xb0\r\xc6\xf2\xe2\x05\vҍ\\zsO\xf7\xdb\xe7\xc5\xfeW\x05\x97\xa8\x13?Cq\xe8\xd3\xd9Az\xdfN|\xdfv|\xdf0\x80W\b\xa0\xefA\xf7\xf5\x03`\x18\f\x84\xf9\xc0˫\xa9\x00?\xe6\xb80B\xf5\x01\xb0\x17<SB\xf0\xbf\xa0\vE\xba\xceS\xdd?\xbcx\xa6\xfb\xf9\x17\xdf9\xf5\xe2;\x82\xcb\x1dƯr\xff\x0f\xfe\xde\xec \xafs\u007fL\xe7\u05cb\xe7\u05c8\xe7\x17\xca\x1d\x04Uk\xae\x0e\x87\xe0f\xc8g:\x8b1\x9b\xa0E\x00\x85\x88\xda\x05\x17\x96\x11\x90\x01?\x15\xd8N\x95\xb3\xb3\x8c\xcc`\xd0\xea@\xb1\xc3\xff\xf3!b\xff\xdb(\x01Ž)\x0e\xa2\x89\xb7ś\xe2\xcd_\xa1w\xd1\x15\xf1*\xb2\x8b5\xa2\r\xb5\x88\x93\x04\x9f\xe2\x10\xc1\xa7\x02\xe0\x1a\b\xfa\xf0\x83x\xa2\x9fJ\xac\x80\x01\x85\x8f\xc4c\xda)Y\x88BA\xf5d\xb80\xd6>\xc9\x1c5\x98\xf8\x10A7f\xf9Scg\xad\xe2A\x86\xf5!\xf3\xb6\xfeɮ\xafv:\x85\x11\x8c\xfcOQ<F\xfeĮ\xe3-\xe9\x04\xbe\x1f\xe1\x05\u007f\x85\xe7\x19\fZ\xfb|=\xd4O%\xf6\xd5C\xe5L\xfeP\xcc\xe2/+(\xfb\x06lcȒY\xd9\x10\xde\xd9j\xf0.|\xc4[ݷ\x04\xde\xfd._:{\xb7\x97\xef\x1f\xe9u\x0f\x80\x1f\xa1\a\xe3\xb7I6\x88W\x12\xc6ux)\x10T\x13_]\x86Q\xa2ba\x0f\xe3\\\x00M\xe3KqD%\a\xfa\x84}\x82\x88\x82I\x89\x11\x1b\xbcxK\bZA\x87\f\xa1(\x90\x0fy\x15=\u007f\xadY\\\xdd|\x85?W\xe0t\xe6\xcb\x06\xff\xeeBQ\xe2\x97\xe8\xf4E4,\x1e\xbc\x88\xaf\tv\x84\t\xcfQ\x85u\xdb4n\x1f\xc0\x89\xea\xceT\x16%0NJ~\xf1\xd9\xce\xe7\"iė\xae\"\\\x10&\a\xd7U\x93\v&\xe2\t'\x91\xb1`|L\xa4{\x86\x1a\xe6\xd8\xf0&\xc2@\xa7\xb5Q;ۈ\xac\x9e\x93\xfb\xa8\xa3\xf9\xe4\xeeՎZ}M\xbe\xbehߩf\xb1w\xea\xa3\xd1\x1e\xd7\xf0\xad\xf3\x83\xfdݣ\x97d\x83Ɔ\xde5M\xfbta\xc6Ҧ\xbc\x1a\xa7\xc3<\xb1\xaf\xd6\xd1\xf2\xdc\xfa\xc6\xda\xed\x84\x0e\xce`\xdeo\x92\x9d\xc4\xf2\xa9\xcc\xdf/ʶ\xbdbA6)W\x80&\x83$\u007f(\"\\\x9dW*\xa2\xbc\xdeP\xea]\xf1\xf8C\x9d_\xdd\xfd\xfa\xdf\xecǜ\xb5\xb2\xb3a\xa3\xbdm\xbd\xa5*Uio۠+䜬\xe6\xe0\v*dCK\x90\x01\xe5\xe8\x9bO\xf4\x0e\x1c\xac\x1b8۰\xfeL\u007f]\xdf@\xf7\xf3\x9b\x96Q\xbd\x92\xe1#\f\xdf\r뿡\x8c˃\x8e\x80\x15\xf1ű\xe0eV\xc0\xc7\xe7\xce8Zr~\x00t\xb1\xad\x89E2\x80\xb5~l\xba\xdbh\xea\x9e\x1e\x15/N\x9d\xef:X\xa8P\x14\x1e\xec:/\x1bt<\u007f\xd3\xd9\u007f\xfbT\xe3DC\xff\x89ʊ\x93\xfd\xf5̦\xb8\x8b\xe7\x15\xca=\xbc\xa8\xbd\xa9X\x985)\x80v\x11\xf3\xd9\x05\x11\xfcˀ\x9aɲdf u:K꧃\xd7}\xfe/\xee\xeb\xe8\xbe(\xe7+\xdcJ\xd9\xe0\x84x\xf69ql\xc2c\xdb\xdc\xc3\xf3\b\xe6\xd6\xc1<\xe6\xeei\xbfyx\xf7\xb4w\x1e\xc0Y\x04\xb6\xaf\x03\xcd\xc0\xab\xe6\xdc]w\x9f\xbf\xef\xbe\xc4\xcb\xdd\xf7\xa7\xe0\xc6\xfdωZ\x0f\rq\x98\x86ҹàC-\xe7\x8c>\xf7e\x8cwa\x1a\"\x03Ka`\xa9W]PJ(\x8a'S\xd2\xe2\x11\x8ag\xady\x1a\xdbZJb\xf5\x80\xd2\v\x9f\xeaY\xfc\x86\x89䅩\x8f(\x1aD@\x97\xf7N\xb6\x19\xef\xfe\xa1~\xbc\xab\x14S\xe1ν[\x1f-\x8cR\x15\xeei\xaa\xdbg\x16\xbfB\x97\x87\"-\xb5\x1d\xaa\xf6\xf3\xb7{P\f*5m}a\xe7@\xbfcp\xb2\xa6\xf1e\x97\xddfD\xdc3\xee\x89~\x8dŘ\xe4\xf5%\x11\xbc\x13\x19\xfa\x0f\xf0Θ\xff\"\x84\xe0\xefg\xe0\x98\xff\x8e7\x03\x9a\b\x1e\xb0\xaa\x04\x8a\x86\x1201\x85\x86\xa6\xa6D'F\x84\x18\x8d\xfe\xfd\xef.\xc0\n\x9e\xd37xN\xb7Ȝ\xd6\x02\xbf\x9a;\xa7\aL\x01x8\x92Tp8\vd\xec-H\xf21P*\xf8\x06-\x11\xff\xc0\u007f,\xfe\x11Źu\x13\u0096\x89\x89ٗ&\b<\xde\xc2:\x18\xec\x83\x18\xce\n\xbcDC\f{Ͻ\xa3\xe0VQ\v\xd2\x01\x18\xd0H\xb2E1\xab@̥\b\xfa\x95\x9c\xafo=\xdea\x91\x9f\x15\xf8}}\x03{\xa6\xdeS\xe5w\x1eu\x18\x93Cӣz\x87Ͼ\xc0\xbf\xed\xb6|z\x97\xf3\xe0CvЃ\x8f\x80\u007f\x84\x0f&8\xbe3>\x04Ig\xa0g\xf3\xfc>S\xe8\x93\xf7E;\xfa\xe4\x968<\x8c\x91\xe2\xfe\x94O\x16\x13ݭ|\xfaqq\xb7\xcf\xde\f\x00\xd8\xf0\x98\xa9\x06>hn^#\x90b\x83\xe2\x1e\xef\xfd)\xbe\xce-\x97\r\xceFL\xe0k\xe2/\xcbT\xf8\x9a\n\x88\x96\b\xf3t\x8dŮ\xa9\x98\xafk,\xa6#\x050\xcd(D:\v\x87뱕Gkl\xd1@\x8aтN\x88V\xea\xae\xfd\xebບ\xc1\x8f^\x88\xf8t\xf0ӈ\x93\x98&\xfbE\x11\r`\xaa<\x8bJܛ\xf9\x97\xc57\xdc\xcd\x04G\xb3\x18\x0e7=8\x9aO\x9f\xff\xdb{F\xc6|sAl\xf7\xc0L\x91\x00{\x06\xe1I\xce~\x86vF\x9f\xfcL<\x16\x8dg8\xabC5\xfc\xc4\xdf]\xc2\xc7\xe2\x15w7\x91/\x1eY\xa8\xc4L\xa5\n\xa2\x12\x1e\x1b>j!\xff\xca\u0094\x1cE\xf6\x0e\xf8W\x12|h\x1a\xec\xbb(%q\xafP\x11#\x05\x1e\xda\xf6Ou[m=\x17\xf6\xff\xe9#\xfcw\xdf潹\nE\xee\xdeͭ{\xe0\xb8G\xb5\xe1\xe4G#\xcf|r\xbaA\xfc\xb5\xf8\xc53\x9f\x9cz\xe8\x88c\xe8L\xf5\x9a3C\x0e|\\S\x8d\x8f\x1e\xb9h\xc40\x8d\xc0[\xee{`\xc1\xc5rqd\xde\xe0D\r]\\.\xfa\xfa\xae\x80\xddj\bC\r\xc3\xc7\bI\x89\x8a\x9c+%\x8dH\xa9\x8b\xf6*\x1f\xf5]\x97]\x95\xe5\xfd\x97v\x9d\x9f\x9a\x9a:;2:\x89)\xdf\xd44Ҽi\xa4\xc9$:\xf8\xfc\x83[[\x9d\x1c\x83\xede\xd9%\f\xdb\x18\xce\xc8\xed\x04\uec023Q\xff\x884?\x16\"\xf2\xce\xcf7\xc6\xc5\x11\xb8\xea\x14T\x82\x03\xaeÙ\xb5\x1d \x9di\xf0\xaf\xe3\xc8Y:;\xcb\xc8\xd4g\xd9\xf4\x16M!\xf2\x05z\x80\\\xe7\x8b\x15y\xa0F\xc7wԯ\x12\xef\xff\xe6dJ\xb4\x0f\xf4QK\xc7)/z\xac\xd6\u007f\xffu\xbf\xee\xfe\xd1\xf2\xf3\xb5\xbe\b\xb0\xaf\xf1\xc5\xd1S\x1f\xad\xfb\xbd\xa4\xab4`\x9c\x84\xe3\x15\xef\x85MD\xb9!\xd5o#\x17\xc7\t3\xa6\x172\xac(\x92b\xc8\xf2C\xf11\x9c\xea>f\xca>AtGx\x88^\x9b%\x03\xbd\x11\xb3&\xdd\x1c|\x19?A\xdc\xe9\xc7P\xc7-\xf1\xf5\x17\xa6\xa6\x06\x01c\x83\xb2\xc1\xcb\x17\xc7~\x9a Z\xd1E\xb1\x9e\xa1\f\xf3\x16\xbc\x174\x18_\x99\xe0\x17\xe1\xb8,\xce\xe2\xb3O\x99Kj\xe1\x1d\x10ȴ\x98p\xa6\x8a\xc7*\x00\xab0\x16\x81\x8f\x1c\xc3O,۩Ix,\x9d\x89\xef4\xab\xc7-\x92fF^\xb7\x88\xda\xe3\x16\x89IF4\x04\xc5w\xfe\xe6\x8bs\xf2\xc1\x81\xde1Ǻo\xac\x9b*ҋv\x1fq4>\xd7YpV\x96^^o\xdc\xdb[S\xf5\xcd\xd8\xe3\xe5\xbd/\xaa._\xdc\xd6\xd5\xd4X^\x95\xd8\x18m\xb5\xb7\x16\xd5\xf4զ\x1b\x1dO4\x16֚\x15M\xd5\xf95\xb1\x8dY\xc3}\x8d\xfd\ri^?9\xb1IV\x83\x19\x18D\x14!ϚyX\"\xbf\x88%\xc2+<\x14\x1a\x80\xa5%\xa2\xb2R\xc7+D\xa7\xf0\xaax`J\xf8\n\v\xc9\bjwa\x19\xf9\x15\xbe\x87\x92\xab\x04\xb8\xd2hɢ\xf2\x99Q\xc3\u0080\x0ef\f&\x8d\xc8I\x1f\x81\xd9\xf1ޛS\xdb\x0f9\xb7O\xbd\xa9z\xef_\xf9\u007fs\xabO\xba\\'\xe1\xf8\xaf\xef\x919xl\xaf\a\xf9\x1c\x1e 7\xe6\x8a\tn\xaeϡ\xe7\xea\x8dG\xbbo\\\x16w\xfe\x12\xcb\xc0q\xf1i\xb4\x97\xef\xfd\xbb\x8b\xcag,\x01d\xfb\b\x9f\xda\x06l&\x92\b\x93E\xef\xeb\xa78\xceaWs\x85\x01\x9dH\x04\xb3߃$\xde\x1f\xcf\xc3\xff\xc4\xe7\xd0|\xae2\xf5\xa7/]З\x9f}\xf6\xc3ɗ?ij\x1b\x11\x9f\xe1\xdbݧУ|\x1f\x16T\x16\xf7\xfb0\xc7}x\x8e\xcdx\x8e\x91\xe0w\büT\xe9\xefw\xf0N\xc9\xcf@b\xfe]\xef\x1c\x99\xb0 s\xc4\xda4\t\xd8\xc1\x85\xe5\x04\xe8@\x022\xe6+\tbg\xc4\xef@\xc4+V-\x04C\xa0\xa0\xe3\xe5\xe2\xc0\xdb\xe7\xf7\xf7\x9d\u007fS\x1c@G~\xf3f\xcf\u07b7_\xe7\xebx\x8b(^\xbb\x86x\xf7M\xf7\x05d\xb8|Y\xfc\x10\xe6_\x87/\xe8\xc2\xf3\x0f\xe1\x8aᆡ\xe4\x92\xdf}\xfe\xde\xe9\x92i\x00J1\x1dG\x89\x85\xbf\x99\x9a\xba0\xf5\x86X4\x85\xde篊_\x89\x1fc\xde\x12ᶋ\x16\xd0\xfb\xf0=\x83\x88ݱ\xb8/a!\xbb\x03n\x8d\xfc|\t<\x19\x03_\x02?ϗ\xf0\x16\xdf\xe5>#d\xba\x8f\xf1\xbd\xb3\xd7\xfb\x85\x9e\x89\xfeYl\xf8\b\x92\u070e\xc6\xe6\xb9\x05\"\xa3*.\x9b\xb3J\x91\x91\x90\x19z\\\xf6]$8\xf8l\x97\x91|\x1f\x9a5\xe2\x91\xe6I\xf3\xa4\xb9'Z2W\x9cG\xe3͘\x9d\x03\xe1+\xbc\r\x99h\x9f\xda\xdf;\xb5\x0fd\xc8>\xc7\xee\"\x8d\xa6h\xb7ñ\xab8&\xa6x\x97\xc3`6\x1b\xf0K\xe5x\xf1\xe3\xa1'?9\xedp\x9c\xfahh\xf8w?l<R\xe3:ۈ-\x8e\x9a\x1a\xd7ˍ\x8dg]5\xa8\xdblX\x9a\x91\xb1\xd4`&~*\xefzS8\x13\u061cZ<i3\xb5\x90\xd8z\xb5\xc4?\xf1\x9d4\x16-Yc\xdc\x1d\xaf\xd6r\x8d3\xde\xf1_+\x02\xb74J\x83\xa5\"\xb6l\x03\x8a\xf1[\xa5xP\x1e\xa5KF\xc9\xe9\xab@\x8a\xa2\x18\xd0h\xe4ѩ\xc9\xe2\xa7\xe9~\v\xe5\x1b3:ۚ\xb4Bz\x04\x96\xa6\xee{\xa0ۘ;\xdb\x1au\xb3\xb71\xb3D(\x04/\xf6\x8fD\xbf}\x04$\xde\\\xfd\x96m\xfe\x85\xd4Yj\xcb\x00'\b%,\x06\xe8\xdc#\x97 V$\xf7\t\x9ac\rA\xab\x8c@ԥb#J6\nA&\xa3\xb3\xd9X\xdfد\x1bF!`\xe4\x18L\xa6\x13\x15\u0560u\xc3\x1e{\r\xd3{\x1c\x86\xff2n\vl\xe5tn\xb9ϼ40\r\x8dϼ\x96\xc1\xc02\xca\x124$3\a \xbc\x8c\xe4S\xd2Y\x86\x914'\x88 \x84\x91\xb9Ms\xa9l\fS?\xc6@\x11\x02\xfd\x85@>P\xe7\x8deE\xa2\b\x14\x88\xe7{7\xbd\xb2%祺\xde\xfe\x1d\x96\xa6\x8a\x95\xb2\xf3\x81U\xbd'\x1d\x8d\x13;\xf3\r\xe5Ͷ\x8b5\xedr\xde5;S\xba\xbe\u007f[m\xca\xd6LgCkGlnsY\xfb\xc4&c\x86\xe3pmig\xa3]\xb7'\xa3\xb3|\x82\xf2\xe8)L[Qxmf\xae\x176f\x06\x97\xe9\xb36\x96$\xba\xb0-\x9f\xca4H\xbas\xa8/#\x12\x8fP_F\xa4\x19V\x1aI\xde\x01\x9a\xe0\xd3\x04\x80\x13Y\xefr<\x12\xe9\x13\x1d\x89\x99\xe7蚻t\x9a\x89\x82\xe5\\\xf3\x99\xfdղsQb\xdf؋}z]\xefP\xffnsc\xb5Iv^n\xef}\xbea\xf3\x91\x1d6Gs\xeb\xae\xcfU\xa6\xe6\xb1ֻ\xedm;\xba\x9elhin\x8f\xc9m*k\x1f\u007fĘ\xe5x\xac\xbaѥ\xd7\x1d\xdbq\xec*]\xfby\xbcv\x05\xa6\xb7D\xc0+\x87\xb7|\xb2\xcfڙ+o\xa1\xb5_\x87\x9c\x1b\xbc6\x99\xd1w\xed\x9e\xd5\xd2\b\x9d\x82\xc4@T̽!\xadS\xcb\xd6i\xa0LΣ\u07b4\x9e\xd9_)?\x17\x85d\xdd\xe3\xe3G+,\xa8\xc1=%\xa4\x8b\xbf\xbe|1\xbf\xfbE\xcfr\xb6<ڈ\x9e\x1a\xef\x17\x9fS^{f\x9d\xab\xc9L\xf5l\x90\xed\xe9\x84\xff\x87s\x1b@\xef\xf4䈄̱\x05\xfc4\r/W\xbe\x0e\x8eS\x90FFpǀ\xe1\x03qG\xf81\xd1l\x90EiQc\xad2\x0e!\xfe\xb7\xee\xf3|\xc7\xd1\xd7^\x9b\x14\xf7#C\x17\xff\x95;sL\xfc\x10]A\xbf\x17\x13\x00\x9e\x1fcxj\xf1\\\x96\x82,\x8d\xc4\xe4\x9e\xf6\xdd\xe0I\xe1䥥`\x02\xcf(<B\xa5D\x94ٛ\x1aFi,\x8aј\xc7e\x14\x8b\x8f\xbe\xf4\xe4Q+!\xe2k\x00w\x96P\x88<ۈ\x1ft\x1c\xe9)\x97\x9f\x0f\x1a\xde\xd13\xf8\\ߚ\x13\xe6\xf6\"\xfe\xbc\xfb\xf7\xba\xcc\xc1\xea\x86\xf1\u0382\xc2='T\xa6\xa6\xd1\xe6\xde]\xfd\xbd\x8f\xb9\x8a\n\x92y\u05f8xU\xa7\xcbi\x1fkl|\xb6\xc3F\xe1\xfe&Y\xebI.\x19s\xe4\x9ei\b\xf61\x8e\x9c\xf6]mG\xca\u007f\xbd\xce/\xea\xdeJ\xc3#4/3\xcd\xecQ\xfe#\xf0\x91\xc6\x17\xa3\xf1Y\x9arn\x86f\fq~\xa5\xf8\xacЛM\x9b$\xf0#\xad\xe7\x9d\x15\xab\xfb.\xf6\\\xba%?/\xef\xee\x11\xbfPX\x8e\xb5l>Ҟ\xbd\xaa\xebh\xeb\u0381\x81\xee\x86a\x9b\xdcloU\x95\x8c\xff\xee%\xb0kޞj\x1b\x10\x9b\xb2l\xb6\xad\xc3u\xf5#m\xb61gg\xb73\xcb\xd41\xe6\xd0\xd3}\x03~\b\v\xc6s\x14\xe8\xcdJ<)\x95\x0f\x9e\x19ayW\xcc\x1cAd\xc54߇x\x9b\xb0\xc4\xd1gG\x15\"\x9b\x16S\x97V\x8d\xf1\x92\x88U\x8c\xcf2\xb7N\xb4\xb8\xff|Bp>:\xb9\xcd4\xd5\xf58\xe2\xff\xed\xb7\xb5g\x90\xb9\xbf\xf5\xf6_\xc5ّ:\x90\x87\xe70\xec\r\x04\xf6\x16\xae\nh\x8d㪹5\x04h)$\xe8x\x8d˖0\xc0\xc4\xc4\xc2\x18\x80\bK\xe1<\fd\xe3\x11\xc0\xc0a|\x15s쫘W\xc1h\x10\x1e_Np\x10\xcb\xce<8\xf0&\xceyy\xd5\x02\x9a\xc2|G@\x87\x03\v\xfc\xde\xe6\xdaΪ\xbe\x13\xeb\xebN\xf4Uu\xd66\xf7ָ&\x1d\xb9\xed5&SM{\xae\x8d\x1em\x19M\x15FcES\x86\x99\x1eU\xcb\xea\x9d\r=\x83Zݡ\xad\x8d\xfd\xf5z}}\u007f\xe3\xd6C:\xedо\x06g\xfd\xb2ј\xcc\x1akn\xad9&\xc6\\\x9bk\xadɌ\xe1cԦj\x8b\xb5ƬR\x99k\xac\x96j\x93\x1ar\x131\xfc\x121\xfct\xd8\xcc+\xe1\xb6\xc2V+\xe5\xca$\xcf\xc7\xd2\x19z\xf4f\xd8?З\xb7\x94\xc0\x0fR5\xf3\b\xa4L\xf8H\xad>\v\xfe\xcd\xd29\xd4:\x1fT\x82D\xae+y3\"~\xc0h&\xfbhX\x9coo\xfaa_\xa5>\xbf6\xbdnWQ\xf7\xf3\x0e\xc7\xf1\xee\x92\xeeFS}\xa1\xbe\xf2\xe0\x99\x86\xfe'\nZ]E\xd1%\xdbOܴ5\xb9\xfa\xf68-\r\xfbV\xab\x96\xd5\x1d\xac\xb36\xd7\xe4*\xd2\a:kzk\r\x86\x9a\u07ba\xe6Q\xb3\xc6Z\xd9h\xab=X\xb7l\xac\xbd&\xb3ږ\xae\x91'\xf7\xd4v\xb6\xf02\xed\xaeʦ\xb6\xe6Js\x99%]C\xf66\xc0'\x02\xc3g)\xb6\x86{\xc0\xe3L\xad\xe1k\x9c~N\xce+\xcb\x16X\x98\xb2 O`\xc5<\x8e\xa6\xc7#\x94\xa3\xe9\xcdt\xe7\x03_S2\xbe\x16\x81?W\xce\xe3a\x18bs\xb3Y\x01^B\x96\xcdc \xf3\xd5\xcd\xc7;\v\xf8s\xf2\x1e\xe7\xea\xedU\xe92\xf3\xf8\xf6։\xed\x96U]G65\x9fs\xad\xa9r\x9dsL\xee\xc1\x9b\xbbŶcp@em\x19nh\x1dHo=\xeb4\x17\xacj\x1b\xae\xab\x1bn\xcb-\x1c\xfb\xc3O\xce\xfd~\xac\x88ol\xee\x1cm\xd0;;w?Ft\xce\xd3\x18\x06f\x99\x9d\xe4\x1e\x11\x1d;EұS\x98\x90\x80\xa3J\x82\xc6rX\xfcr.F\x82F\n\f\xa4P\x1d{\t\xe6\xfc\xa0c\xa7\x10\xbbY\xc0PY\xae\x00\xbe(\xdc\x03\x8f\xcd\xe2:\xb50o\xe9|\xc7\xc6}\xc5\x1aM\xf1\xbe\x8d\x1b\xf7\xc2q\xefF\xbdɤO[\xb1\"\xad\xf7¾\x1c۾\xff\xd6{\xe0\xc2^\x9bm\xdf\x05WEϱ\r\x1b\x8e=ZQ\xf1(\x1c{*P͊4݊\x15\xfa\xa5+D\xdd\xfa\x89\u007f\xe9\xff\xfe\x8d#\x1b\xd6?\xf7~\u007f\xff\x8d#u\xa0{F@\xbe\xb6\xcc\xfa@\xdd3f\x11\xddSX@\xf7\x14\xbe\xa3\xee\x19\x81L&g\x8b\xa1\xb6\xe9\x9fR\x87Q\xa8;u\x9c\xff\xdd\xf2\xe5G\xca\xcag\x9bƩ\x8f\x1d\xf3\xdad\x8c\x87\x15\xdc&\xf0\xf4\x99HR\xc9<\n\xf4\xcek\x05\f\xac\xa0\xf3Jg\xf3\x8ag\x05B\xf1D+\x11HV\x83\x82\xe9\x9di\xf8l\x85\xaf\xde)x0\xb1\xa0\xe2i\xa8l]\xf5\xd2\xf25\xb9)\xba\xe2\x8d9\x19\x0fW\x98\x02~\"\xab\xea9\xe1h<\xba\xb3`YŦ\xecK\xf5-r~`\xf6\xbd\xa25\xbd\x9bץ4i\xb2\xf2J\r\xe9Ŧؘ\xac\x86\xd5\xcd\xc3\x1b\x8d\xc6\r\xbdk\n\xda\x1e\xaaHj_\xb9-\x87\xae\xef2\xa63X_\x01\xe8\x9fK\xb8\xd5\\\xa1\xcf\xfa\xf4\xb0\x1c\xbd\xcf\xfal0`\xa3;LOrڀ\x96l$\x9a%\x10I\xb9\x84\xc4\xc9\xc1y\x00b!\x82\xbc\x03\v\x1d>MƟR{\xdc\x049Y4HL\xb7\x19\r\x03Z->\xb48G\xff\x14\xa4d2\xd4\x14\xfc\xd4?\xad\xdaRi0\xd6l_\xad\u05efj)\xd3/-\xdeh\xcd\xdaX\xb9\x02C\xa3\xba\xf7\xe4Û\x8ev\xe6nؒ\xb1.;au\xf7K[6\xbf\xdcW)C5\xdb\xf7hLe&s\xc5ʘaղ\xc2\xe5\xcbKL\xb1\x1aK}\xfe#O4.7\xd5?ZQ\xfb\x98>\xd2R\xfe\x90\xb9\xf2\xd1\r+V<\xfc\xf8F\u0087 '\u008ci2\x84\xe6\xff\x06I\xba]\xd0\x1cݎY\xf9^(y\x1d6\xd7i\xf4\x02\xebv\x00\x8dP\xc6} |*̀4\xa6\x19\xa5\xd1\x1e\x1dO\xa9\xd5+Q/\xdfy\xfc\xb5\xd7κ\xcf\xf1Mb\x0fr\xf2\xd3\xee\xadO\x89_\xa1\x88\xa7Я\xc5B\x82\xb3O0\xce\xf4x^\xcb F\x1e>\xcf\x1eb\xb2\xc2;\x1b\xe6\xe6%4\x19@\xf0\x10\x87?\xa7\xb9lqfpw\t\xc4'\x10Nƀ\xc8\xc3=\xc5\x01$n.\x90\xec\xbep\xe6\xdfEI\x02K\xa4ZH\xb7\xa3\x18\x1a\x96\x19J\x1b\xad}C\x98\\\xf3\xbew<\xa3\xa3\x84\xbf\xe0\xfe\x9d>s\xb8\xf2{\xcf\xee\xc8/\xec>\xf9\x88\xe3\xf8\xder\x19*\xb7\xd4X\xe2\xf6o\xb75\xe4%\x16\xe6iyǸxK\xa7\xcb\xda4\xf4\xd0\xf7\x9el\xb1\x98\x1e\x1exȣ\xe7\x190}.\xc5\xec\x0f˂,\xce\xca\xe5\x90\xc9e\x91R\vϪ\x93a\x91\xc9>\xabVÀ\x9aRj\xb2\x82\xae\x1c\x8f*\x80G\nġ\x9bL\xc0\x06\xcc\x05V\x1f@\x9c(PX&\x10m#\x94ˢ\xeb%\xac>p\xee\x12\xa5\x042\x02\r Y\x10\x98B\xbf\x90\xbcʱ\xea\xe9炲Ol\xd9t\xa4ݚ\xbf\xeb\xf9\xe6-眕\x85}\x97\x1em\x9aؾJpW\af\xaeݒc\xddX\xa4{\xfc\xd0\xfaa\xfe^\xfa\x9a\x9c\x94_\xff2Ö\xd5\xe4Z\xbb~\xb0%\xbbp\xe8ƳC\xff\xe7\xd1\xf5\x99M\xdf_'\xbe\xbf\xa9\xbf65\xc9V\x9b\xd1ڽ\x92\xe0\x1d\xcfS\x96\x87\xf1\x1e\x05ђE\xf4\xbe\x98\a\xe8}\x02\xd1\xfb`\xed\xc1\x84\xff\x80\x06\x88%\x1cS\x00\x05\xd0\xff>\xb7l=\xb2\xd9\xfd\xe9Q\xa1\u007f\xffd\xc7ʩv\xe7\x97\x1f\xbeV}\x02\xe9\xfa\x1f~\xe7\xe3\xbf\xfd\xc0\xceq^\xfd\xcfN\xfc?U\\\xdf4W,\xe9\u007f\xc5$\xfb\x92\x1e\xe3\xe6\xd7Vx\xe7V\f\x03\xc5si2Ç&#\xc9\\3\x88'\x1b>]\x86?\xa7\x9c#\x97\x9da̐X\xb3\x97_D\xcf\u007f\xbf\x90ZH\xb1\x97\x83jW\xaeۖ\x9b۱n\xe5\xcau\x1d\xb9\xb9\xdb֭\\b\xacj\xce\xc8h\xae2z\x8e\x91\xf5\xedk\xfa\x9e\xaf\xad=ѷ\xa6\xbd\xbeu\xdf\xdaÓ\x8d\x0fO\xba\xec\xfb\x90)\xa3\xc2\x14\x13c\xaa\xc8`G\xf4JFizttziFF\xf9\xf2\xe8\xe8\xe5\xe5\xe2\xe7\xc9\a6o\xe8\xb1\xebt\xf6\x9e\r\x9b\x0f$\xa7\xba\xb6\xac?P\x9b\x96V{`\xfd\x16\x17\xd0\xf4E\f?\x15\xa1\xe9\x1c\x88$fc\x8e\x9aK\x96\x9e=\x87\xa6\x19\t{\xa1ƈ\xdc\aj\xd9\xf8s\n\xb5l3HH\xba\x93C\xd9N\x06\x9d\x99ƴ=t\xefٿ\vh5t\xeb\x02\xb5Ka|\xe4\x90%\xe7?\x9c\xff\xcc3\xf2\x8c#[7\x1f\xeb\xc8!\x04\xfd\x130g\xfe{7沫\x04\xfe\x1a&\xe8\xcd9\xd6\xc6b]jIK~\xfd\x13\xa8t9&\xe9\xb7~\xb3r\x95u\xd3\xe1\xea\x9a\x1fl\xb2\x14>\xf1\xc1ѡ\x9b\x135YM߯Ay\x8f\x1c\xaeII\xb4\xd6d\xac\\kM\\\t\xb0pb\x9a\x1e\xc0\xba^\b\x16\x9b}\x80h*a\xc1as\x8d\xe3%X\xb0\xd0\xd4\u0081\xc98R\x1a\xea\xc9\xea\b!z\xdd2(\xae\xa5\x172{|\x9cP\xac\xcb\x13\xc8$\xc3\xe7\xe4S#h\x05J\xa6\xeeZ\x02\x89\xee\xe3\xa3%\xfb\x14\x19\xc26\x11\x8c\x1f\x0f\x9e3\xd6v\x14F~\xf0yǖڭ\x85\xbbN4\xdb\xc7{j\xe5\xe7B\x86vv=ut\x887]\x1aE\x03-]9\x15\xc6\xe8\xd13/\xee\x18I\xd6\r\xb4\xd7\x1d\xac7&\xd7\f\xb6\xefq8:v4\f\xbb\xef\xe1\xf9\xdc\xc440\xc9b\x88\x1b\x01i\x9e\x18b\xe4\xe2>\x03_\x0fH\x10\xe6\a*\xe23\x80\f\x82@\x96\xe7\x04b\x89j\xbc\x91\xde`\x05\xcd#\xd0\xe1M\x805\xfd\xd5H\vzk\xeb{o\xf3gEN0]z\xf7\xdd\xfe}\xa2~\x97\xea/\x1f\xf0\xb7\xc6\xc5\xc9g\x9a>\xf8\xcb\xf8\xf9Ѧ\xa6\xd1\xf3\x92.\x9e\x18\x90\x89I\xb4\x9a\xbb\x04*\xf4\x1a\xce.\xe9\xe2\xf9\x8b\xe7\xc0\xb3\xe0\x81w\x80\xe9\x12\x0f(\x94d\\B2͋\xa4\xda`Zu\x9c!\x15\x84\xea\x89\xe3\x94'*E\x02C3,:\x97\x8cY\xf1q\x81\xaa`)fCe\x97\xb7~Z\xe9\xa1\xfe\bd\x98[\xa6\x86\x86L\xb5yZl\xfd\x18\v\xd6'\x8f\xe4\x9a͖\x98\xe2\x9e\xe6Ѿ\xe7S7\xbf<0y\xa9>2{m\xa3\xdejό\x97\xebZ\xe3\xf4\xf9Je\xbe>\xc1\x10\x17\x12\x12gP-\xdd~u\xe2\xf8\xd5m\xa9\x96\xbcFwGѪUE|]\xe3\xd3m\x96\xae\x8dY\x8fn-\xe9<y\xd9\xee\xbe^\xbfͦZb\xc8ԔV}_\x9f\xcck\x93\x97.\xb1c\"\x1a\xb2ǃ>lC\xf7\x85\xe3\xfc\b\xe6\xb6\x1a\b\xb6\xc8Ȗ\xe6\xaeC\xe6\x1f\xc4ݍ\xe0\x1b\xc2\uaacd\xdf\xec~\x99\x1f!\xbaܢ\xbf\xe1H6ł\xbf\xe1>C\a\x85\xbb|\xd0\x03\xee\x03\"\xfe3A>{\x9f\x0f\x1a\xa7\xfe\a\x0e\x1d\x94\xbdO~\x13>\xe7\x9b@iP`N\xbf\xc8s\x9fq\u007f\xc5\xd7\x1e\x87\xba\x1d\xce\x04W\x0f\x92\xc2\x0e\x90\xee\xe2\xf3[V]s\a\xf8\x1a\xef\x93\x01E\xee\v/\xd4?\x8e^\x1a'Y:\u007f\xc5\xf7\xa6\u05cc\u007f\xc0\x15<\xd9[0\x1fx\xb1\v\x90\xf9\x9b\xbe햝!\x92l)\r\b\x05\xf8\xc7lX*\b\\\n\xef|\xadI\xd6\xf3\xf7\xb1\t\f\xe3\xbbxa\x9fq\xb3\xf8\xb7I>\xf0\x9a\x1b\xb3$\xd1\x1c=\xd4Nݽ\u007f\u007fv\x96\xdci\x18ߧ\x92{\x9d\xcc;\x94\xab\x9b&\x89\x984\xa2\x1cH8\x1d=z\xb5J\xef\xb5\xe6Ǝ\x16\nuA\x8e\xbeZ\xa7g\xaf\xe17\xdfD\x03o\xbc\x81\xfa\xdfx\xe3u\xf2\x0f\xea\xc6ȼ\x05\x17\xb9\xbfm\x01\\\xcc\r>z\xb7\xed\xfc%)ٲ`a\x82K$twZ|\x8b\xff+\x86I\x10\xa7\xa6\xa9\xb2\x9e\xf8\xa6\x19f\r\x95\x8f\xd6l[\xb4V\x90\xa3OJdU(\xf0\xa6R|+?J\x8dn\xbb\xbf2\xc2\xdc\xc8\xefINv\x18\x97\x06W\xf0\xe4\xa6\x02D\xc2\x16\xe01>\x97\x14`>\x9e\xcb\xea\xef\xdf\xf7^Y6=\x8b\xe7v\x8fo\xe4o\x93\x1c\x93T\x10\x88\xde\xf8\xaf\xa7J\xce\x1b\xf6$ʞ\xc7\xf4\x05\xfb\x837\xaa4!|\xbe5g5\x1f\xa2Q\xf5\xf2\x8dg\xaf5\xc7\xc93W\xadʔ\xc75_#\xb57x35\n\xc7\xf1\xf5\x15\x9c\x96+\x02ՊftR%?\xc6S\x8f\xa7\xf4\xbf\x9b\x9f`\x9b\u007f{\xed\x9cw\xa8[\x1d\x13\xca\x17X\xad\x85|h\x8c\x1a\xc9af\xf0N\b\x89Qϟ\x98\xdf41\x1cN\xf1\xd7\x04\x8b\xecK\x8c\x1c\xf5\x9c\\\xc5 3\x84\f\xa1\xaf\x04\xd6pժ@A˿\x19\x91\xb8\xc4$\x1f\x12\xefɮi\x92M\xca(q\t\xfe\xfdI\xfe\x8c\x90)\xbbEq\x1c\xe0\xc5q\x00\xac̋c$G\xef\xe0ߢ0\xf1\xa3\x04\xfe\x8c1B\x83>\x171C\xc6:\x0f\xbe\xff\xd7\xe4\xfeќ\x1e\x1c\xa9*\x96\x88\x1b\xed\xa9\xd7\x11\xcc\x10\u007f\xa73\x8a\x9a3#\x9f\xb3[a\x89\xf1f\xf9\x93\xe2=\x1e\x9f%\x9a\xe0L\x9a%\xcfy\xa6\x8b\xefw\x9b?\x83\xed\xda[\x9e\xfbɥ\xfb\xc9=4\x053\x8f4SJ\b\xf1YA\x04\xd2JgHn\x96\x0f\xa3p\xf1Ce\x02z^:\x95\x16\x96\x18+\x9d\x00\x8c\x9d\xe2[B\x14w\x9f\xc28\xc0\v\xe3\xf90\xc2\xd7=g$@\xfa\xbf\x95\x89\xe2[FE\f\xfa\x83[\x8c_\xc2}\xfb-\xf7#|\x8d?r\xf7y\x03\xb7\xed[\xc8\xc2\r\xe4\xb6q\xb78\x8aC\x17\xd7-\xd4\t\xd5\xf8\xd2j\xd8\xc1RN\x1b2\xc3=X\xfe\xbc\x0e\xb9\x90\xe5\x8c\xf8\tҞA\x1f\xa1\xdd\xe2\x11\xf1\xa8\xdfo9\xefoy3(\x1a\x9e\xdf\xf2\xa7\xc5O\xce \x8b\xf8\xbe\xcfoy\xee\x02\xd7-Ӓ߆RXz8\x17\xc0R\xe6\x81%\xcc\"\xd0\f\x9a\x19\xb1h\xf1\xd5\xe8\xdf\v\x9e\xe9tϟ\x17ڵ\xe8=\x02\xa4{\x04x|~!\x8c6\xe6\xceX\xa0\u007f\xbb=\xf3\x1e\x98\xbf\x00\xe9&<\xfaJ\xbc\xcf\u007f\x84\xf9\f\x90o\xb67rNE\a\xb9\x87̳O\xbd\xa5q\xde47\xcc\x00\xa3-\xd1J\x1d\xb0\x1c>\xc2\\o\xbe\x94p\xf7n+\x1a\x12\x9d\xe2I\xd9\xe0\x1fI\\\x02}\x85\xff|D\xf2\x0e\x83\xb9\x12/\x15\xf8\xacc\xe1\xcc\x00\xdfz\x0e\x88\aъ\b\xa4\xb4(\x05] \xb9\xe1%s\xfdڻw\xb1\x95\xd6!\x9e\x14\x9d?\xa3\xf7\xe3n\x89\x9f\xc9\xc2\xf0\x9a\xa0'M\x0e`\xd6S\xa3\x98,\u074bU\x8b\x92B\xf6h\x10\xdf\xc4\x1d\x01y\xfa4\xed\x1dy\x9c\xc3\x1aZ\x9e\x8eu$\v\xb89\xe1\xae\xdd\xd0=Ʋ\xe3ŝ\x15\xad\xae\x8a\xf8}Ï\x0eL\x96t?\xff֟\xff,~fn\xe8)/\xeb\xe9\xde_^o\xdf\xe5\xb0\x1b\x1a:\x1a;\x9a\\uz\xd9\xc9?\x12\xbb\x1d\v\xbdo0_\x84y\xad\x05\xd5\xdb3/\xda'\xc737V\x18\xa4X\xc0ơՅ4\xb6\a\xfdoh\xf7\x92\a\xf4\xbf\xa1}o\xf6\r\xf7\fH}o`\xe6\xbd\u007f\xfe3\xba%M\xb1\xb1\xbfN\x9f\xf1\x10\x9b\xf9\xa9?\x92}\xb5O\x1c\x17>\x0e\x88\xc7\u0081\xe4;ϵ\xab\xfd걼\x8d\x14\x18\xc7Ɛ\xb3\xc8\xf14\xa24:!\xff\xd0O\xf7X,{~zh\xf2\xeb۷\xbf\x9e\x14Ƿ\u07feu\xb3\xad\xed\xe6\xad\xdbۿ\x10w\xbe\xfd\x96\xb8\xe3\v\xaa\x83\xfc\x15߳\xd9sOa\xde=\x19\xf5y\xef\xc9\xc0D\xee\x19\x9d\x13e\xcd\x06\xff\xb4@\xa5\xd4_\xff\xf3\xf6\xed\xff|\xd9y\xb1\xdbb\xe9\xbe\xe8|Y\x1c\xff\x02=\xff\xd6\xdb\xe8\xd8\x17\xdbo\xddƷ\xbeq\xfb\xd6\x0e\xbc\xc6\xe3\xf8~\x9f\xe0\xfb\x05B݁l^\xae\xd5bu\xf8!\xde\\uP\xbb\xa1\x02TF{\x190\xed\n\x1d\xe7\u05c85\xe8\x8a\xfb\x17\x01\xf1\x83\xf7\x0f\x0fѵ}\x89\xefe#\xf7*\x9a&\xa1M\xdf{1\r#j\xbe^\x13\xe2_)\x9f\x91\xa9a\xb5\xd6_Be\x1a\xbf\xc6\xfd\x8b/\x02\x1e\x1f\xfc\xaf\xfdx=]\xf8\x1eo\xe3{\xa8\x01~\x10\x96\xd3<\b~̔&\xf0Ӄu\aE<\xac\xb1\x82\x06\xc2^f\xbb\u074c\xec'\xc4\x1fE\xe8\x92\xd4\xea$]\x04\xdat\xe2L\xcdDc\xd3\xd1*^\xe9\xbe\x1a\x97_\\\xa1\xd3U\x94\xe6Źi\xec\x1a\x05\xe1\xfb\xb7y\xee\xcfͻ?+\x80\xf0ޟ\x05_\xe9\xfd\xa9\x93׀'@\xc2ꁘ\xed\xb6G\xd2\xdbF\x8agO\xa05\x19k\xd6d\x88\xbf8\xf1a\\^)\xbb+ow\xff\x85\xce\xc6\xfd\x17\n\xe3O\x18>\xcb \x1f%\x9b+\xe7*|\xee\xcf\\\xff\xde\xfb\x97\xc2@)\xdc\xff:\xb6\fy\xac\xad\xc8X4\x80V\x8ag\xb2|\x00\xfcM<V\xc2\xfaU\x10WI\x11\xcaɆ\x1dg\xc5l\xa1\x00\x99\x11\xb5\x8d\xf3\x91\x9a\x18I\t(\x19Ũ\x98\u007f%\x01Eb\xc5\x04`\n\x1f\v\xe5\x9b&:rx>\x94\xdf18\xb8\x03\x1f\xf8\x9c\x8e\x89M/\x1e+h*\xd2\xf2a|cmm#>h\x8b\x9a\n\x8e\xbd(\x8e\xc7\x17\xed\xae\x8f\xaa\xd4\xfc(:!\xa0\xb5\xfa\xfbխ\x01\t\xd1?\xd2TF\xd5w\x95\xc6\x0f\x85\xeaו\xcb4\xb17\x15\xc92{OXX\x8f]\x96\xac\xb8\x19\xab\x91\x95\xafӇ\x0e1z\x83\x1a\xffR\x80E8\x06I\xb9\u007f\x0e\x85\x17\x16%0PBa\x91\x89a\x91E`Q\"UU)\xf0h\x16\x81E*\xabx\xc6tH\x1cK\xb0\xfc\xb4l\xe6 (@\x142\xccoM\x9cLt\xf91м\x83@\x86\xfa\x9c\x8c\xe8\xcbcy\x9b\xf0\xa2\xc3\xf9\x8d\xeb\xd6m\xc4\amѦ\xbcc/6?\xd7a\xe5\xf9\x10\xbe\xf3\xf1\xc7;\xf1\x81\xb7v<\xd7\xfc\xe2\x17\x0f\\l|iׂP\xda]\x14ϡo/\x88\xe3\xb23\x18\x0e\x02\xa5ɹ\xb6\x89\xdf\x1eg\x9a=\xe5c\x16\xa4\x93qg\xfe~q2 \x1eo/<\x9c\x89\xaf5I\xae\x15\b\xfe\t\xb9d/\xc8\x17\xaa\x17\xf3\xeb\xa4\xe3\xd7\xee!d\x01\xdeB\xef\v/\xde5\xea\xbe:&\xfca\xd4}e\x14f \u007f\x1afAl5q<@\xebY\x13Z\xd8V[\xe8f$\x13]g:#k`K\xc2k\u0086\x90,\x02\xcbf\x19\x16\xb45 \xd7=\xb2\x99\xa7\xb2\xd9\x05\xeb\x89=\fjF\xec\\\xe6\xe4Wŀ\xe5S\x89\xc0}\v\xe2i\x13,C-\xe8\x10\xdc\x10}Q%\xf6\xa1;\xe2\x01\xf1\x83*\xf4Q\xb5\xb8\x9b\xff\nM\x88$n/\xe7\xcc\xdf~!;M\xf2\xc8\x121\x8d\xe5q\x85\x98T߇\x16Jt\xf7B\xba5-\xdb\xd5\x11ہ\x1esٱ\x80\x1d\xcb\x16\xcfm`^U\xef@\x12\f$\xf9\x98\x8c\x850PH\xb5\f,\xc2H\xb0\a\x16\xedۧ\x80ֻ/\xc3\x17Jb\xfe3|!\xd6r\x8d\xe6Q\xe5\x90o\xac\xc2W($\u07b4R\xfc\xddesT\to&\x84'\x96\xbc\xd0'\xbaT<nQC\xbd'\x80\xae\xc1\xb6\xa3\xdebiؙg\xdb\t\xc7\xdd\xd6\xe3\xf6\x9a\x9a\xb5\xfc\xe5\xdc.x\xbbk\x95mdž\xec\xec\x87vڞ\u007f\xfe\xb8\xf8\x8bN\xf1\xcb_\xf0'Q\xd4/ė:y\x95\xb6\xc6\xd9\xd8\xe8\xaa\xd5y\x8eO\xbc\xd6\xd6\xdc\xdc\xf6\x9a\xbb>\xb5\xe6`c\xa3\x13>8\b\x1f\xa4\x0e\xbd\x86\xff\xa1\xd6\x1d\xe2\t!\x0e\xcb\x10H\xe2\t\x92\xf0\x12J2\xda\xcd\\>W\xc5\xd5p\x1b\xb8\x19\xe8\xb7T\xcf=\xa4\xf4\xf6[\xa2\xc7HvLbG\v;V\xb0\xa3\x9d\x1dk\x01Wk1\xfcj͋\xd1\x13K\xed^\xc8\vv\x1d\x03\x96\xc7\xc0\x96\x19\xafs\xcb\xf1Y\x129\v#N\x10`Yr\xa9R\x1fR\xbe\x97J\xed\x86\n\bz\xaa\xb9\xb5,\r`\x03W˚\a\xfa\x86v}\x1bO\xa0E\xc6\x03\x16\xfb\xbeE\x1d\xa8C6K\xa0\ue4eeʚΝ\x15k\xb7\xa7k4\xe9\xe911\xa8\x87\x0e\xd4tx\x06>\xc7\x03;\xf0\xabc\x99F\xb3\f\x0f\xbaӫ\x06\x06х\xfe\xa1\xd7+\xf9\xa8\x13g/\x9d\x82\u05ce\xf6\xbe\xbevx\xb9\xf7=\u007f\xf6\xd2I<\xf4BG\a\x1d\xea\xe8\xf0\x1bA\xae\x86)\xdevA\xc4\xfc\x81O\x14\xc7\xf9K\x1e\xfe0\xdf\x1f\xe3\xc7\x1f\xe6\xf2<\xa5\x8eO<r\x84\xb1\a\x8e\xf7\xb9V \x97?MH\x83\x95\xe6\xcd\xf7\x8f,tE`\x92\x88\x13\x8c\xf4\xcaJv\xf5#G\x90\xc9\xdd&\u007f\xda\xddN\xf5\xf5\xf3\xdfr2\xac#\xe3ݿ\x16|\xff\x1c&\xb4u4r2__\xf7\xf3\xfb\x12\x89\xb5\x02_\xa3\x98\x10\u009a99p\x9e\x06^\x91lʉR\x9f\x04\x1d>\xae\x90v\xa7\xc17\xe5\x9f(Bi\xfe\xbe\xeed\xa6\x99\x10\xd7C\xb4\xe7\xcb\x06\xcfG|\xfb\xba\x81\xady\xfc\xf3\xb2\x1d=M\xed펯\xdbzj\xcb\xf2,\xcd\x035\xf6\xfe\x16\x9b옼m\x87\xa3\x8d\x0eW\x16X\xb7\f=[Q\xe4\xf8Z\x9b\x17W\x06\a۷\x9c\xaef\u007f}c[Iy\xf9zݎ\xf4\xfd\x9b\xaa\xba\r\x15\x9b\x8aڊ\xb5\xda\xea>G\xe3\xd6\xf2\x92\xf2:]gzo\xb3}\x8f\xbe\xba\xa9dKI2\xba\x9b[\x95\x85\xbf\x1b\x91\xa8\xb0Ug\xe2\x0f#\x12i\x1c\xaa\x0f\xcb\xfd{\xa4\xe6\x03\x9aa\xf4\x82M\x93ȘV\b\xe9]A\x8f\x0f\xc8\xcb\xf5\v+0\xcd\xcd+\xadXc5\x02\xfbXf<Q>Ik\xe8<|-\x1fa\x9c{B'\x84\xb4\xb4\xf6\x13\x87jk]\xcf\xdb'\x8e\xe4\xb6U\x1b\x8d\xd5m\xb9\xa8\xe8\xe8Qt\xc1\xe0\x18\xd9\xd6>\xea0\xdc\x0f\vء\xb6:JJ\x1b\xacj\xbe\xe6~\x18Y\xd3 W.\xb3\xcb,DBTpk\xa0`\xa3\x92\xab\"kJby\x1fp̚\xe1 \x18\x9aD\xb2: \x14\xcaݹ\xc6i\xf0k\t\xe4\x15\xe3W\xf8\x1d\xf0\x86b\xb1\x81_\xcb\xee\x90\xeect+\xfb\x17\n\xa3\xc0\u007f\x90e\xcdw\x1e\x1a\x18<\xb4\xd5)\xeb孹fk|PP\xbc͜k\xe1{e\x03[\xfa\xaf\xf5\xdal\xbd\xd7\xfa\xfb_ݟ\x9b\xbb\xff\xd5\xfe\x1d\xe3M\xe9\xe9M\xe3;:\xc7\x1fY\xb6\xec\x91qğy\xe1\xe4\x99ݽ\xb9e\xc6\"{r\x92\xbd\xd8Xnۿ\xfb\xf5\xfaѫ\xed[\xaf\x8e6\xe0\xe3\xb66|l*\xeb9V_\u007f\xbc\xa7\xac\xac\xe7x}\xfd\xb1\x9e2\xa2\xbex`\x11\x86\xb5\xectn5\xd4Z\xc5H=HcH\xa9$=F\xb0\xe3r\x80\nt\xeb\x02\xa8\x84C0\xed\x0e\x85\fD\xda\x01*\xcb\xf1+\xe6\x0eKQ\xc3\xc7\x14\x80\f\xd5\u074cXeUJ\xa5;\xd1\xff\b$=9\x8dE\xa9\a\x0e\xd6\xf6\xf44\x14\xe5\xe4\x145\x94\xfc\xe0\xea\x01\x9b\xed\xc0\xd5\x1f`\x80\xe4\xe6b\x80t>\v\x80x\xb6\x13\x1f\x97-kzV芳\xac\xb5\xb4\xec{\x87o\x15\xdf͵d\xe7\xb8\vꟺ\xbam\xeb/F\x1f\xaa\u007f\xea\x17\xdb00\x1ej*{\x14/\xfe\xf8\xa3\xe5\xe5\xf4XF`\x80\x8ad\xf6\x003\xd6J\x97r\xb9\\\x11\xd7\x02\xb6t1W\"\xd9\xd2\xe1\xac\u05ec\x9e\x1dW\xcdϏ\"\xbcʌ\x17\x8b\xf0\xab\x10\xbfV1\xf2\x88\xbcC\xc3E\x91\xf0\xeb;\xd0|\x16X\x17a\xf6\xa0\xcd\xeb\xb2\r:\xb5N\xf3\x8f2\xf0-X\x90\x1b\x11:\u007f\xa9\xc7iO\xb7Z\x1f{dþ\xd7\xff\x01Q\xc4\xe7C\xfd\u007fW[c\xcd\xda\xe8\xf4\x91\xd2\xc7\x1b\xef|P\xff\xb4/A<\xdd\xf0\b%\b\x06\vL\x10\xe8rs\v\xf0\xcfn\xde(\x8b#5\xe9*\xaeu\x9a\x90F\f\x81E\x98\xa7\xd7Q\xb4\x99\xf6e\x93{d\xae_\x06\xa2\x9f\xf3ŷf\x02j\xf8\xa2\xee\xd0t!\xd2A\x03\xef\xeb@\x1d\xf40\x82&8:\xbc\xb1\xeb\x8e\xd5\xd6\x1d\xdf]\xd9^\xb9K\xbcr\f\xbdt\xa4O6H\x8asϣ#\x9f|\"\xeeF\u007f\xed\xec\x14\x15x/#\x13\xf7WᏘ\xd7gc\x84\x95s߇\x04\xec\n\xaeRI\xbb(R\x8d\x0e\x8e\xe5\xf3\xbb8*<-\a\xad\x84\xd9$H=q\v\xf0\x91\xa6f\x14(<\xbdsc\xf0\x91v\x80\xb3*h\xe7a\x8e\xec\x04z,\xb9\xf3*\xbe5\u007f\xcfW5\xf3tȕ/\xd8\"w%?\xbfG.\xa4\x1e\U0005ab06\"\xbd\xb9\xa6-3\xa7=18\xa1 sMݐ\xa5\xa1\xd3\xf6\xf8\x91\xa8\xb80]\x84\xaa4A\x9b\x1e\x17\x12\x91\x9e_\xab.nMNt\x18\xec\xf5\x87\xf8]\xee\xa3\xe8C\x8d\xb9*;\xafƤP\x84\xe4\xebV\x9b⋋*[\xf24Χ\xc5ߩ\x15rYGhDt\x92^\x11\x10\xadOR\xef6\xc4n\x97\a\x19\xac\x8dw\x0ea\xd8\xc5c\xd8]&\xba2x\x90j|=[*\xb6\xb6\xe4\x05\xf8:\x85\x9bJbұ\xac!)\x86\xe2\x1d\x8f1\xb7\x98*J\xd6ٱ\xba\xaf%/\xbf\xb57\xbf\x90\x1c\xfbV]\xbf>\xdd\xcd\u05fb/\xa2\x0fuu\xc3\x1dۇ뵺\xba\x91m\x1d\xf8\xe8\xfc\xfc\x0f\u007f\xf8\xfcχ\xa8\xdf\x0f\x9b\xb4\xc2\x052\xdfd.k\xeel\xfdg\t\x153\x1ckr\v,{\xa19\xf9\xb4\x05\xeb(\xebm\xb2X\x9az\xcb\xca\xfb\x1a-\x96ƾr\xc7Ν\x0eGW\x17\x1ffv\x1c\xb4\xdb\x0f822\x1c\a\xec\xf6\x83\x0es_ossOOss/\xb1\x9d\xae\xa0OI\xdf\xe1\b\x88U\x85ϫ\xffb\x9ah\x14Q\x85\xa2\xf5\xb6\x80hK\xb4^\x13\x10\x1d\x18\x8a\x90\xf5\r\xf1WzT\x1d\xe4\fB\xd5z\xf1Wol{\xff\x9f\xf9t\x14ӻ\xaf\x055\x88\x17Z\xf6\xf5\x8a\u007f\xaeF\xa1\xe2\u007fr\biP\x9fp\x95\xf4\xfe+\x80\xe8\x87T_\x1cb\xf6Ә \x19\n*\xb1\x017\xc1L\x96\xc9I*\x14-\xe1\xb3ZԴ\x8cO+~\x8dBFQ\x88\xf8\xf5\xa80\xe9\x14E\xa7\xfb\x16\xf1\xb9h\xb8\x93\xe4^ќ\xc3\x1bA\xe0X\x13S\x1f'*\xb9W8\xb1\xef@QR\xe2\xb3\brW%\xbbk\x04K\xc0\n'\xfek\x8a\x85@\xcf,\xa4\x99\xf8\xceF\x9a\x11\x99\x15ov~㚝u}\xe3\x14w\xe2\x8b{\xea\xec\x80R\u007f\t\x02ȃ\xfb\xe09Tꗙ͔\r\xef\xc0\x12\x18X\xe2c\f\xb0\xe2\x16b\f$\xe2;Œ\x05\x852c\x00\x14\u007fH\xb3\xa1\x8bJT\xd0\x16)\x02S\x11\x92g\xe8\xe2BY\x89R\xe0\x8c\xa7q\a\xfd\\\xc9~\x135C\xaf\xa3\x06\x00\xe8l\x96hxY\x04\xf2\nԑ\x97.\x1a^\xf8\x13\x94\xfe~\xfco\xad\xefǿW8\xb6\xfa\xfe\xea\xb1\xd5\xf4\xddoW\x93w\x9fݷ\xdeGy\xfdHӏ\xac\xe2o\xe1\xd5/\xde\xed\x17\xdfAy\xf8u\ri\bM~\x8a\xae\n_`X\xc9\xc1[-\x83zN\xc0\xe1a\xa0\x93ع\xea.\x01K\x00\xc3\x14\xe7u=bS1\x14\xe9x\xdd0*=\xf3\xa7\xcfO\xcb\x06\xdd\x16\xd2\xc6\bq\x93\xc8\"3\xf2u\x18\x0fV\xa0\x0f\xd6W\xeb:0J\xfcVƶ[\xc0\x1d*4\x03$\xf6\x00!\xa8x\xc8ã\t\x87\xc0\n5\xb4\xa1\x1b\xa4~M\x06\xa5\xe7\xd7YL\a\x0fv\xeb-U\xf1\xf5!\x86\x82\xf5\xd9\xe6\x03\xf0\xaez\trh\x1d\xb5\xd6tKz\x9dU'\x9d\x91u\x9e\x81\xde)\xa4\x9f\xd2\xfa9\xfbb\xe1(\xaboբ\x1c\x82\x06R&+\xedz6\u007f\xab\xb0&^:>N\x1cF\a\u007f\x88\xfađ\x1f\xa2\x83\xe3\xa8W\x1c\x1d\x17\x87I\xdd?ޗ7\xffa\\\u007f\x96\xbf\xe56\xf2A\x13\xd469\xc3\xfa\xbd\x84bVA\xb2pi5&%\x9b\a\xe4\xa5x\x8b0\x17\xdf\xe2\xb4*'\x8cy\x8f\xbd+\b\x00\xa6\xeb\xb3\nqX\x18\x9b\xed\xe1]\xe3\xf0n\\\x1c\xe9c1\xfb#\xd8F\xcf\x13&\xf0\xa46\xf8\xf7\xfe\xf0\xeb\x9f\xf4\x80v\xac~\xf9C\x19\x99\xb6`\x84\xff\xd7\x04\xa3\xc0`t\x04\xed\x14\x8f\xed@]hg\x87x\x1c\xed\xea\x14\x8f\x89G\xeb!\x86\x04o\xbb\xc8\xdb\x0e\xd4%\x1e\a]\xfdK\xfc\xe7\x13a\x92\xc5\xf4\xcb\x01Ξ\xa8\x15\x8d\xaa\xd3\xe3\xc21}tǓ\xae@J\x1eAI\xbdò\x06X#X\xf4\xcd\xc7\x1f\x8b_\xf3\u007fsG\xa2\x90\x8f?\xfe\xe0\x03>\xec\x00\x1f\xf6\x01\xfe\xfd7\xdc\xeb\xc2-\xfe\xf5\xff\x8d\xbc\x8ao\xf8\x8f\xdd:x\xa1\xdagy\x0e\xf2*&\xb9a\xbcw\xee\xe1\xbdc\x83j\xe1h\xa9\xcf4l\x0e\xf3\xccw\xdeEt˚\xefx\x9eh\xa0\xc5\xdfK\x9f\xa1\xcf8\xc8&#f\xfc\xb9\rz\x9c,\xb8ۄ\xff\xd7{\xb0\xfe\x01\x9fM-\xb0=Q\x8fֱ.\a\x9f\xaeϙ\xb7g\xdf\xc5\xf4/\xc3{6\x1aj2d^\xf9\xe2\x1b\xb9\xf7\x92\x947\xbf\xf2:\xc4G\xb0\x98\xf1\x151\x80\n\xd9\x1dpt\x12\xbf\x1a\xf0b\xa6\xac\v\x84\acT\xeb\xac\x16\x1b\xde\t6\v\xc4\xf7@\xf9\bԡ\xa6\xb6\x9b\x17\xc5\x01\xf4\xefGG\x8f\xb4\u007fp\x11\r\x88\x8a\x89\xd1ן\xfdt\xfc\x8d7\xc6?}\xf6u\x9f} \a\u007f\x87\xc4?\xe7җ_\x1f9B\xe5\xd1V\xa4\x0eF\xea#\xc29\xb7\x99\xbf\x89\xfa\xfbё\x97\xc4\x1b\xe2̏\xe7\xec/9\xf5\xb3ν\xae\xdf\xfe\xf2\xbd.\xde:\xf8\xca\xe8\b\u007fÝ)\x9c\x9bm\x1aEf\x94\xf5cqw\xbf\xb8\x1b\xcf\xe5\b\xc9Y=\t\x01\x1e\xe8v詐\xa6\xe0\b\x99\xbf3\x16\xae\x8f\x03ބ\bty\x16\x8b\xa2\xb5\xdd\x1c\x13\xb2\x80\x17\x80\xb2\x0f\x9dӵ\x02s\x81\xf5\x9a\xf8\x0ff\x9b`n\xfcP?:~\x06\xaf\xfa\xe6\xb9m4Gi\xde\xfc\x904?4g~~U\xd5^\x8e\r\xf5{\x10\"\xf6\xa8\x9c\x81\xd2\\h\xef8\x8f\xd3\xdaSmM\xe6Ga\x06\x1a\x86\x047x\xa1\t\x94\x85\xcc\xe7\xc5]\x18x0A\x84\xee\xa2\xf7\xf9\xcf\xf8w\xf1\xbd\xd5s\xfc[\x10\x05G\xc4`\xa3\xf98\xfc\xbb\xb3DGjE\xf9\xc2n\x01rsI\x9c\x9f\xd10\xf5\xf6\x12ߔ_E\x87\xb9\xc5n6\xdb[\xcc\x19-k22ִ\xa0\xfc\xb8\xd5\xdbj\xd6n_\x1d\x17\xb7z\xfbښm\xab\xe3\b\x9c\xa2\xbe\xfdRvMvē?47\x1e ,\x1e\xd7\xf6\xfa\xcbaռ5\x98\x8f\xe2\xeb\xf9\x06\xf7\x05\xf4\x94\xf8\x98x\x90/\x82s\xf7O\xff\x19=\x89\x86\xc5\x034\xb6\x96ǵ\nG\xb0\xec\n\xe0\x92iK\xc3\xc0\xb9ylT\xa1\x0f\xb8\xc3$\x89\x8e\xffJ\xac\xe2\x9b^F}\x13b\xa3\xa7\xc7\xe3=\xac'\x06AM\xfe\xfc~\v~\x1e<\xbf\xe6\x86\xde\xf4}\xda\xd2\x004\x8e\x91+o\xec\xeaF=S\xee\x1b\xd0\xdb1]\xfc+\n\x11\x9c\xf7?\xa7\xb2\xe9\x828$\xd3\xcaư\xa2V\x04\U000e565c\x8b\xd6M3\x9dΧ\vw\xa8$\x195\xa4\xfb\xb6\xe7q\x0143\xf1B\xf9@\xfbꚑ\xb7\xfa\xf0\xb1`\xedӿ\xee\xfb*\xaedw\x03\xff\xdbΓ햑\xd8\xd2\xdd\r\xee\x9c\x1d/l\xb3\xe0\x85\xf6c\x1e^\xc7\u007f\xce\x190\x0f\xaf\x82\xda@\x9d\x94\x97\r\x91\x03\x937\x82\x00\xbe#\xa0\a\xf0\xf3s\xe4\x98K|I\xd3\\!\xa9\x14\xc2\xdc\xc97\xcd}^?_0\x0fI\xd7zj\x9fh\xbd%\xc3I\x02j\xcbw\xd8\xe2\xe3m\x8d\xf9\xb9\r\xab\x8da\xe1\xc6\"\x87\xadБ\a#\x056G\x911<\xc2T\u0530R_j\xd1Ƀt\x99\xa5\x06kQ\x11o^\xb5\xba(\xc7P\x92\xa9\v\n\xd2Y\x8a\x863\x1b\xba\xf3\v\xf64d\xa6\xe7\x95\xc4ŕ\xe4\xa5g6\xec)\xc8\xef\xc6\xef\v\x8a\xe2\xe2K\xf3\f\xdd\xe6\xd5Ŋ\xe8\xb2b\xf3֖\xe6\xf6\xf6断\xa6¢hEiI&\xd0G-\xe6c\x90O\f\x9d\xfe\xbe\aV\x8f\xa7\x83`\xb8\xc27\xef\xc0\xafj\xdc\xdb\a\x86\xd2Y*\xa1\xb3p\xa6v\xd2J\xf2$\xaa\xbd(\xe9\xc3*4s{\xfe&\"\x04퍵ʕ\b\xd93\xc7Z\x9e\xf8ufCʦާ\xd7?\xfd\xdb\xc1\xc2\xc2\xc1\xdf>=\xf6Ϗ\x17\xba?o\x19\xcb\xe4\xf3-\xcf\xf0!\xe2\xf9\x8c\xecm\x0f\xad\xceڰ*eˏ?\xec\xeb\xfd\xf0'[\xdb~\xfc\xe1c\xb9\xbc9'C<\x8d\xda2rh\xcc\xea\xdb/\x84\x8b\x01f<\x9f\fn3\xe4\xbbz\x82\x93\xc9\nH^\x9e\x97G\x115_\x03\"\xeb\te\xf5\xc5סZ\x17\x13\x05\xac,\x80\xc46A\xf5\x80,\v#\xf5e\u008a\xd2\f\x81\x06\x9b҇C\x04\xb2\x9c\x10\x03˼\xc0t)L\t\xa9e\x1d\x95O\x8c\a\xf5T_\xd7\xdb\xf7T\x97uT\xa4\xe6w\x1dm\xca)-+\x13s6\x16\xe9V\xadJY\x99\x12\x89\xaa\xeb\a\x9a\xccg_\xa8\xdb9\xc0\xf3\x0f\r\xb5d\x19\xebz\xaa6\x9f;\xf6d\xf1*瞎\xdd\u007f[Ѳ\xcbeoi\x8c/\xd8\\\x0e\xbe\xae6\xfc\xe7ufC\x1b937>M\x96\x9dɂ\xb1\xb4\xb2\x00\x8e\x89\xech\x9e\xf1\xb54\xd93\x96\xbc8e\x8d\xee\xbc\x03\xacFΫ\x05\x1a`\xc0\xe0ź\xd7q\xb0Dr\x1c\xac\xc0\x9cܼ\x88\xe3\xc07$\xe2\xed{\x05\n\x9c\xf0\xb1\xb9~\xb5N\xbf\xba\xded\xae/L]ZXo*\xb5XJK\xb2\xb3g\xff\xc7u\x94\x1010-~\x161\xc0O\xa1\xf3b#ߐX\xd6\xddа\xa7<1\xb1|o}CwYb+\xf4\xac\xd8\xe5p\xecF7f\xd3Q%i\x9bu[\x9cvw\xa3/7{\xfa\x92c\xfe\xa6\xc1PZ\v\x05\xb1\x9e\xdeN\xb1\x8ak\xfe\xcf\x13Z(\xe3\xfa:<J\x89\x98\xc7Դ\x8a\x9dכ<F#X\xd0\u0085\xb4|[\xdd\vN{u\xcf\x11{I\xb3\xe6\xfe\x14\nӭ\xaaq\x9e\xae\xad\xec,\xd7j\xcb;+\xab\xb6\x97i\xb5e\xdbU\x99\x1d\x93\xfb\xf6\x9c\xdbmM\x8e@\xb3\xee[\xf6k[\xbbNwd\x8e\x98\xeav\x15\xae\u07b9>#c\xfd\xceՅ\xbb\xeaL\xd4\xee\xb8\u008d\xc8ℯ\b\xd6WA\xb2\x8fg=\U0001ca54\x99y\x9c\x94\xe41\xa5\xe0\x9fœ釲@GFf\x11J\xb3f\xdb\f6x|\x06^\x81M\x03\xf1\x8b@M\xa0\x81<\xf9\xc9\x10\xa8\xf7Aו3f\xf3\x99\xad/\x1a\x1c\xb6\\\x87\xe1ŭ\x9ew\xb96\xfc\x0e\xad\xafkn\xae[\xbfi\xd3\xdd35\x9d;j^\xdarZ\x15\x1f\xaf:\xbd奚\x1d\x9d5gZO\xabccէ\xefu6>\xd2\xd1\xf1Hc'\xc1G\x87\x8c\x0fH\xc40M\xa7\xb9\xfc\xb4##(\xbe`\xd9jIL9\xcc\x1cK\xfb\x16\x84\x93\x9d\xa8\xc1g)$\x11+\x1aj\xe6\x8c\u07b2\xcepf\xaf\xc70w\x9eF\x01\x17\x82\xbc\x15\x9ak\x84\xa9,I\x00/\xbeAY\x88\xa0\xcf't\xec'\xa5\xbb\x1a^W9\xd4QX\xdc9X>\x9c\xdf\xd7Z,\x9f\fi\xb3\xdb\xdbB&\xe5\xc5m}y\xc3m۷\xb7\xf5\x06\xe5\xed>\u007f\xf0\xb1\xf3;m!(\\\xfc_r\xc3:gckC\x88\xdb\x19Ұu\xe3\xa1Z\x83\\\xfc\x0fY\xbc慱g_PS\xd9\x06\xbdO2\xf1\x9e4qǠ\xf4\x9fV\xd9\u007f\x87~\xa5\xd4_\x91\"\x05*i\xe7R\xf07h\xee\xd0hsI\x00\xb6/\xa1\xa7>~\xb3\x89\xf6'\x82\x1c(\n*\xfca2\xfe\xc8\f\x88\xdeDiT\xcf\xea:\xf4\xa4:\xdc\x05\x81\xe9\u0605:\xa0\x82&-W\xa9\x13\x90\x06\x9f\xd0j\x17h\x86:,\xde\xfd\xdb\xfd\x86\xa3{J\xe5\xe7\xc2Fv\x94m\xaf6\x86\xa1\xabb\x01ϣ߈\xd5a\xc6\xea\x8ej\xa7+윬\xf2\xd1\x13*\x94\x87b\x91\x1e\xe5\x1a\xea\x9c\r\xcdM\xfa\x92&\xcb@\\r\x8cF\x1b;\x98\xd3\\\xa6on\xacw֥\xf9\xca\xfdd\xa8\r\r`^\x9fy\xbb\xcf/\xb3-\xc4ӿ\"\x8e\xc0&Y\xe1\xd1\x02\xa0q\xbd\x9c\xe1=x\xc6\xdb\xc5£\x15\x80_j\ue0c4$\xed@\xbc\x89\xcc\x1e\r\x01e\x89\xff\"i\t\xe8\xf6\xc8\xceΓ\x1d\x99\xc3K\x8a\xbb\x1bZG\xc4d\xa2)xz\xc9\xeb\xf1ܗ\xc1\xdcS\x17\xae!T,\xc8'A\x86P\xefS\x12\v\xc1\xc4+h !\x8a8\xaa\x01\xcf\x06\x86/b\xe5Y\xb3\xcd\b\xdb:$\xcehS\x93\x1cC@\x8d\x86\xc6\x18\xa1\x8f\xbc\xb6\xa6(]\x1e\xf5\xcb\v\xf2\xddW\xee\xba\x1c\x17\x86\x1b0V*\xc5\xdfF\xf1\xb2:+_3\xfbژ<.\xbd<36\xfdĨ\xd10|\xaa.\x96\x1f\x93\x85d\xeen\x8b\xd6*F\x8f\x87\xe9T\xb5M\x9aQ\xb0ǯ\xe1}\xa8\t\x80ڞ\f\xac\x01\xbd\b\xe5\xb5\x1e+6\x8d\xf9\xc4\xe1\x98Mv\xa5\x81\xecJ\x95\xe4ub)b\xde5\xcfy\xea\x06\xf9)\xedE@\xb1\xa4\x96z\xf7Xg e\xddʬ\x115\xf1\xa8A\xa7a5\xebW\x90\x8e\xbf\x97Fβ1Li\xdd]\xc0Jd\xb5\xc4h\x94\xac\x19\xbd\xcdjQ'!\xba\xa75\x94\xed\x06\xaau\xd1JR\x8ao@\x18^x\x83\xf3\x89\xe7\xde8\x17\xf2\xf3Z迖\xd9\xe4\xac\x1e>\xf6\v\xfe\xacl[I\xdb\xd8\xe3PL><\xdc\xdc\xe5X'^\xa9\xab\xaf\xabW(.\x9e\xbe\x18\x8f\xc6\x13I\x13\xb6\xf2]\xb5\xe6\xe0\x91\x91ȩɭ\x8d!\xe2xj\xd6p߆\x83\xf5&\xf9\x93\xbcK<\x15\xd2X[^\x95\x88\xc6\xf2k\x13QiX\x03\xe7\xdb\xd3J\xc5\x1d\x00o&\x8d\xb0\xcc˭\xf3\xab\xc4Z\xa8\t3mmB\x1d\x11*\x85\xa7MP0\x98HRN,\x98Đ\u007f\xa3\x98\xa16\x97\xd2\xd3\xfe\xd4B\xdbaY\xa8\xc7\xe2\x03T$\xbeyW<\xca\xfab\x1d\xfb\xb3\xf8+T<{{\x1ce\x8f\xf3\x99R\u007f\xac\x1b\xe3\xe2?\x8f\x93j\xce\xfb߶\xcbL\x01Pq\fOj4b\xb5\xe9e0\xc5<\x9d\x04\x10s\x90\"\x169C\nꦀc\x06\xa1\x0f9\xa1\x0fN\xa2\x0f?\v\xd0\xeb̹\x8e)\x0eZU\xc32=\x8e\x1f\x9eyf=i\"\xbc\xc2ө!y\x86Z\x82F\xf2\xce<CK\xdd2\xf0\xb2\x03\xacd\xddj\xc8\xec\xf4\xd4<\a\xaa\xa31\t(\v\x85\x00\xf2(1\xa5.\x00\xde\xe6\xf0z\xf1\x162\x0e\u05f8\x9a2\x1d\xb5ik\xf3\xf5y\x1d\xcf4\xdc\xdcޕW\x97\xa9\x11\r\x03\xf8\x1f\x9a\xb27N\x9e:%\x1b<u&8\xabnWiӣ\xa9a+J7\xe6U\xf7:\xb2\x03N\xa1/ֵ\x04\x8bc\x01\xa9\xd9%\xa7P\xcfs\xa8\xf9\xe7%-\n\xf1b<G\xfb]Q\xd8-\xe7,\xd8\x1ex\x05\x1aI\x14q\xc5\x04n\x16\x05d\xcf\xd3#\xddG\n\x02\xa7%\x12\x9c\xbc1\xac\xb9^nRPc\xa2\x1d\x19fh\xb8\x0e\xb8\x1cm\x99\t-0\u0098ЇpW\x06\xeb*\x93\xc1%\x90\xb1%D\x11\x00F\x95\xc0eH\xb9yt7\xc6\x12ϒ\xa7\aF!\xe1\x98z*\x19#\x91Ά\xf7T\xa0Ζ\x86u\x98\xa8\"d\t$\x9a\x81%\x10$(\xdeY1\x96\xe84\xddr\x14\xe9I\x05\xe5gKK\x82\xce\t9\x8d=\xc5QN\xa5\xa1*%\xca\x19ߵ\xf5\xd2\xf9(gTDJ\t~\x17\xab/\xc9H\xe2\xcf\x06\xa7\x8a\xc7s\x1f\xea\xce*\n\n\x0f\xea_\x99\x97\x1c\x1a\x10\xa6V\x1e\x89\xdb\xfbH\xf3\x93\x9brB\x9e{\x92\x0f\x0e>u\xb3\x02\x05O\u007f\x83ҍLJ\x02\x83\x8e\xbe\xa9.xhg\xd9\xf7lnY\xa2\xd0\x1b\xc5\xeb\x137v\xbb\x8a\xd3\xeb\xd7ۓY>'\xe3\xc7+\xb9\x9f@\x1d\xbe\x99,sў\xce,\xa91\x88f\x84 \xccc\x80\xf6V\x80\x91w\xa7$\x10_\xd0Dz\x15@\xbb2a\x93\xa7\xd5p\x10k\x84A\xa9\x1c\xf6\x9b\t\x1f\xa3g\xe8\x0fcf\xf0\x0f#\xf1\x95\x92\xf1\xcb\f\xdd\v6\xc1C7)\x15{2!陎u\xc8-\f\xc0\xec<\x008x\x12\x11\xb6\xb4lE\xad\xb5\x16\n\xab\x81\xe3\x1bt\x9f\x9c\xe7\xb37\x1e\x1c?]_\xb8\u007f\xbb\xa3dY\x00\xaa\x13\xaf\x04DȑE\xfcX\xbd4#\x01x\xbb\xa9vU\xea\x87\xef\xc6_\x14\"\x1c\xce\x06K|\b?\xc6\xcb\x15\x89\xd6\xf5y\xcee\x0f-w\xc6g\x94\x9aS\xc2F\xc7B\xe2L\x95\xb68\xe7\x8f\xc9\xde\xf6\xf4\f\xa4\xcfaM\xc3s\xfd\x10|\xc2\x1e\xad+\x84Y\b!L\x81\x82c\x1a;z{\xd2\xf9\x05_\xfc\xc23~\xcf\x1ebώ!P\x8f\xc2@U\x13\xa8\x03\xc77\xcc\xd0t\x13n\x86\xb6n\xd1\xce\xd0)\b\xec\xbd\xf2\x0e\x86\xdc\f\xe5\x04\x10\x93Q\xb2\xfc\x11*7ar\xc03\x82\xa54\xae\x18\x05\xf4\x8f 6\a<?\x106\xbe%\x1a\xbf\xa0\xfaJMZ\x05\b\xa4ѨA\x17\x80?E\x1a\v\xd2i\x107\x8e\xff}:x\xe3$9\xfe\xd3\xccɓ?.\xea@\xb6\xb6I\xf1\x9b\x90RԾ\xba\x1au:_9\x84z\xc41x\x1dz\xc5)\x9e@\x9d\xf8\xf5\xd9+\xaf\xbc\x82\xd6\xdf\x12\x1b\xdf\xc3\xecl\x1f\xd6\xf70\xd3\xe0*\xb0\x14x\t\xa2\xcb\x1b\xb8z)\xdf\xc2>_\x17\xf7\x02\xcb\x04\x03\xa6\x05\xbd(\v膕\xc4\xc5\bگ\x1a\x9f\aJ\x05\x9c\xf1\x04&&\xb6\xa3\xc1\x81\x91͒\xd8\n\xf0Ž\x0f\xa8Y/\xf5\xf42C\xc7U\xa5d\xabj\xa4\xf6\x04\xd2s^b\xd4:o?\x1b\xcaT=ς1\"\xa1g\x9d\xab\xf3{\xfa\x9d\xcd\xe3Wk\a\x1e\xc9Z\xb2\"/yG|ᚆ\xcc\xd2\r\xd1\xfaU\x86\xf8\xf2\xd5\xe9ڢ\xa6U{]C\xab22lKL\x85zCyv\x92\xaez\xaf\xbb\xc8Ծ9z\xe5Z\x9bI\xb5̾\xa3\xe4\x97b\xbelpY\xc3\xe0#\xa5\xdbjrT\xaf\xac\xac\xb1%\xe5\x17$\x18\xf5zu\xa4\xb1\xb4\xb9Ⱥ\xb1d\xe9Ё\x82\x8a\xb2\x9c\xa5\xb9&\x83Zm\xb4U[\xb2\x9b\xcb\r\xfc\x86\x03\a,\xf5\xb9I4?4\x13\xd3\xf5\xa99t\xbd\x82\xbb;\x8dI\xc2S\x13\xbd\x94qߥL\xa8,e\x14\xbe\x94P6=\xaeX\xbcf\xfa\xc1\r\x89\xe7FEh\xa9\b\xcd\x13\aϾꎧCؒ\x19Z\xae\xa8b\"\x14\xda\x15\xc1$\xc08\x87oB\f\x12D*\xb4\x82\x923\x0e\x0f\xa2\x15\x04\xfd\x8a\x19\xca\xf5#\x14\xa0Nz*\xb6\x97S\xef\x83\x05*N\xc0\x17.\xb0\xff\x80\x83X!\x12\xa9E\x16\x1b\xa6t\x9b\x11\x05Z\x10>\xb3鄷_6o\xeb\xd1<u\xc2x\xcb1\xd1p\xcbxbX\xd5\xd3f:k䷹_oO\u007f\x19\xfd\xcb\xf6\xa8\xc9Ac\x83\xf8\xaf\xe6b\x9e\x8b,\x96\r\x8a#\xaeK.\xf0\xab\xc0\v\x9fBxI\xfc\xe0\x12\xfe'^\xfa\xe0\xe6Mb\x87\x9e\x85^n\xc27\xd0\xf0\x1e\x9e\x91\xa1\x92j\xf9TD\xd1\xe5\xe6\xe8\x03\x8c;\xa8\xe6\xd7hx\x81\xc9\xfc\x11\xec1`2\xe0\xc0w\xae\xb1\xe2lx\x17u\xc7\xd3\xe8\x99>\xaa\fz=C'\x10\xa2\xedCcY\x9d\xf6,*z\xd8Y\xbbt0|\xf9\xfa\x92\xcbÈ\x1f\xbcT\xba\xde\x18>|\xe2\xa2\xf8\x96\xf0\xcd\xf2\xfa\xc3\xf5b+z\xca\xd2P\x90:;\xc8\xdfu?\xa7]\xfd\xbdl\xfe\xb8\xbb\xfe\xec9\"\xc7\xdfd\xfd\xca\x05|{+\xe8r2.\x87\xb3I\xdew@\xa2\x8c0+\xff\xf8\x14\r2/\x91\x9c\xee\xb40#\xf3\x8e\xc7\x1dF\x04\xf2\x1d\x10\x05\xf0n\xe9\x1d\xeaY\x04F\x96\xc2Н\xa9\xa0\xc5\xf56\x88fy\xb2I\xa8\vA/=&\x8b\xc6\xda\tC\xb3Rwڇ\xfc\x9fܱ\xa8\xb5\xfc\xc0ҥ\aʭ5Y\x1aMV\x8d\xf8˜G\x1e+ͨ/ˎ\xfa\x16Z&>\xf4\xd0s\x91ֵ\x9bl\xa5\x8f=\x92\xd3ߏZ2R\xff\x90jNʮ^\xbe|Mv\xd2\xdb\x0f\x1fސ\x16\x9dlP]\xecki\xe9s\x17\xef\x891\xa7Ŧչ\xf0\x0fw\xb3~\xf5j\xe8$\x129\xaff\xc3O\xbf\xf33n}\x1bj\xcc\xdb>סs)\x8bQ\x80p\x951:W1A\x1b6C:\xca\xe3\xff\x90\x05D\xa5\x0e:E\x83ݮ\xdb=6\xa5E\xaf\xbf/\xda\x15\xa8\xf6+\xd4sK<\x9d\xd395Ə\xc0\x03'\xf0+Q3\xe0\xfe\x86\x0f\xea\x15w\xf3A\x9co\xcfd\r\xb7\x1b2\xc1\xe6\xfa\x9a\xfd\"\xb3^\x9a\xbc\x0eO@\xc1\xb3\xa7)Ĉe\x8e\x82승\xb3\xf0\xb3\b\xe8\xd3)i\x05\x16ޝ6\xfaD\x02\xb5M\x1d\b/\x8c\xb0@\xab\xcd\x1a\x88V\xdf\x12\x0f\n\xaf\x8a\x8f\xdd\xc4\xff\xa6nݺŷ4\xa0≉ن\xc1\x86\x9f\xe3\x97\xf8\xf67\xf8\xef\x95\x06\xf0\xef\r\xe0?\xddx\xeeI\x90\x91\xcae\xa1hh\x04d\xe1\xb2\tE\x82.\x12\xcft\x12\x1d;z\xfd\x9b~\x1a\x90\xef#\x10\x83\xa4^_\x86;%\xa1\xdc\x19\xccZ.\xe1\u05ef\xf0k\x06\xbf~\x87_\x01\x9b<-\"t\xf0\x95HL\xb8\xc9$\xd7[\x87U[\x1d\x96':\xf2\x95L\xfc\x15\xf2q&\xf1\xb4\x9a\xf1\xab\b\xbf\xd6\xe3W\xc0&*ށ΅\x19\xea\u007f\x941\x05?\x90\x1d\xc3ظ'\x87_\xcd\xf6A,;f\xd1\xe9e\xe1\xe9e\xe1\xe9e\xe1\xe9e\xe1\xe9e\x91{\xd3\xfe\xf5\x1eyo\xd5bE\x15o\fj$\xe3\x13\xe8[\x85\xf9C\xb6\x01#\xa1\x10\xe9\xb5+\xf1\xfbh\xbc\xaf\xb4j\xc4\xf5\xe3\u007f(\xee\xe5?YN\x1e\xe4\xf1\xbf\x83'\xad\x9fOvO\xf1v\xb9\u0601N\xf1<f\x12\xddK\x0f\xb7\xec\xdb\xd7rx\xa98\xc1\xdb\\\xfb\x9c\x9f=\xba\xcf\x19\x91\x18\xa1\x88\x0fw\xed\xdd'N\xf1_$\xa6\x1c\x8cH\xfa\x85)\xdb\xfd\xb7\f\xf3ff\x03p\xd8\x06H%(:\x05\x9a\x80\xa7\xff\x18h\x02\x10K\x80\xa3\x99p\xc5\xd4y\xb64\xab?R,\xa09-\xe0n_I*1eF\xdf\xcefTɄM4MBs\xc1ҝ\xa3g\xa8zdb\xe6\x13iiBMg\xfa\xc8\x11l9[%\xb3Z`\x8a=\xd8\xd26%\u007f\xb1\xf2\xb1&k\xc0\xd9\xd0\r\xf5\xa8n(t\xa9\xa5d\xd9\xf0\x9e\xe3\x8f,\xcbj{n\xcb\xf0p\xf5\xf7Lን\xdf+\x1f\xb66\xe8dǃr\xdaƷ\xecuF\x8a\xdd\xee\x89~\xa5A\x9f\x12r\xf4)y\xe7\x8f\xffgw\xff\xcd\x13\x9b\u009e\x16?V6\xbb\xc6\xcb\xd7\x1fy\xac>\x025\x8bg\x833S\xa11\x02׆\xf5\xa7.\xd9I\xae\x8c{~\x1a\x9bxs\xeb\xb2\xfczp\xb2g\f\ay\\\x9a:\t\f\xc9wh\x8b\v\xccOf\xa8\xf1\x1c\xcczQ\"\xcf#\x9a#\x00\xde9̒\x9cƶ\x92\x8e(\xc0.\xa8!\x88\xa5\x04X\xc8\x18r\xc9\f\r\x18\x94\x02\x1f\xd2z\xbb\xf3\xfb\xf6\xd8\u00866(\xef\xe0I\xa4\x8dt\xc0\x82b\xfdrl:\xab֦m\xe3ߌR'\xe55\xd8\fu\xa5+\xf8\xf3\xa8p\xd7ч\xeb\xc7w\xacV\x86M\x88\u007f\xfe\x9a\x0fs\x17*U\xf8\xe3\x1cÆ9\x1fGF<\x87\xd4_\xbb\xff\x93\x9f\x8d\xb1&/-0\xc6)\x8c\xf6\xbc\x87\\\r\xcb\xd3\xd6v\xafI\xcb\xd5\xf4\r\xf5i\xb2\x93u\x05+\xd8\a\x0f\xe1\x0f\xf6\xd0\x0fX^\n\xb3GS\xf0J{\xc0S\xe8\xf1\x0f\x87\x11\x99\x03\x14\x18B(0F\xa2@\xbf\xf8\x8eo\x17l\xda9>\x98mX\xf0\xaf\xaafh\x84'\x85u\f\xf4\x8a2ÌdM2\xc2RD\x11w\r\xa59ҤY\x19!\xf0\x17wl\x0f>'+\xdd1\xbcfx\xeb\x91-\x19\xef\xfcj\xb8≝\x15\xb2\xb3\xa1\x8f\xb6\x88\x93\x91憊\x8a\x06s\xe4@h\xdf\xfe\xed\xcfn2˟z&\xfc\x91\xe3\xef\xff\x00\x05\xa3\x8cħ\x87\xe5+\x9a\x9f۵\xef`\x98\x98_\xf5\xf4c\x0fG\t=Q\x8d\x87\xe0y#\x1fc~i\xc3\xfc2\x19\x9e\t\xa0\x9e\xe7_\xf4\xe3\x88\xde\\1\xcfS\x00\xc9ZX\x9e\x06'\xc5{\x14\x8c\x16\x96ܡ\xcfd\x82K\xc7qKh\x81\x88v\xa5`D\xc0\xe7\t\xf3\xc1k\x06AE\xda\xe5i?F_\a\xaf\\\xbb\xa3\xf2m\xa1I|\xbbK\xfd\xdak!Y\xf6M\xd9h\xf7\a\xe2\xf4Go?y4Z\f\x13jӊL\xb1\xa3\xfd\x85\a\x9c9\x0f\x97\x9b#\xc4<ta\xb8\xc9\xceyz\xfd\x1a\x89nK08\xf7\x99\x87~\xb2\xd7۽\xeb:VB\xa8d\xbd\x0e]nX\x9c\x1d\x1aC\x04\xdd\x01U\x15\xb1\xae^a\xac\xffq\x10+\xe9\x02\x05%\xee\x0e\xed\xe0\x8a\xd7eÖ\x93^\x1d\x00/\xf0\xaaA}\xb3NI\x04\xd8\xf9w\xa7P\xa6x\x03^\xafO\x9f\xd8\xf3\xcbo\x9f}\xf7\xddw\x05s=\xe2_?4x\xe8\xb8s\xd0)\xb6$\xfe~\xfa\xe5Ϟ-E\xff\xab\xee\xf1\xf5'\xea\tM\x9eĸ\x81^\xbbK\xb0p\xe9\x87\xcc\xdee\xac\xcd\x1fd\xf4\x86/\x9e\xd7\xe0u\x8e\x01\xdcU\xcc\x11\xa66{\xb2h\xe2\xeex\x94-\xf0\aC\xae^,\x13(ԳH\xf5\v\x10\x94<ӡ\xe9\xb3j\xa4煐\xbcE\x1d\x11!:\xbd\xb7\xb5\xde\xc9~\x94\xbe\xf3g߯\xa8p\xfdlW?\x1a\x15{\xa7@f\xa4\x0fl\xe8\xa9\xd6j\xab{6\f\xf0\xe5|\x91q\xe3\x13M\x1b\xff\xe9\xe1\xe5O\f\xbc\xf6\xda\xc0\x13\x03)y\x1b2͵\xb6dX\xaf\xedۻ\xb2a\xbc^\xf0\xa6\x1d\x80\xa9{֫\xa6{\x10l\x87\xc5\xc2n~\x8a\x13\xf3\x11\xb1\xb0\x1bb\xc1V\x90\x9c\x1a\xc9h\xf645Z\xea]&\xf1yC,r5\xb2\xd0`t\x9aU\xa9\x03\xb3\x0fb\x93:\xf8\xbcY\xf8F\xfcde\x9e\xcd8\xbadUs\xc9\x13\x8f\xbd\xb2\xb2i\xf0{\xb5\xf6Β\xa4/,\xc2s\xb3{\xf8/\x9e\x14_Y\xff\xf0\x9a\x82\xf4\xccU\x9b\xcb\xf5/\x8e\xa1\xba\xc7~\xf5\xc2\xc1\xcc\x1e˖\x03\xc7;\xf9\xe4\x11Л'HN\b<3\x02v\xc6\xf7A\xf6y\x9e|\xe6[u\x10\xbd\xf8SE\xfc\x1e\xf5\xe3}x\x05u\x1dD22\xa6\xed\xaa\xae\xb1\auR'\x16\xad\xfd\x03\xb8\xc6\x11v\xad$x\xb5\x92uk\xc1\xea'f\x82nB8\x9f\\\xbe\xbb\xb6\xb6\xaa\xa6\xd8=z\xf2Ľ{h\xe8\xde=\xd9\xe0l_qKa\xd2pA\xc9i\xb1\x85ף\x0fE\x03\xfa\x10\xaf\xa9\x12/l\x96\xe4\xcej\xf0\x1e\xfc\x91\xf7\xb9\xa3\xd4@\xd30C-~f\x9e\x9f\xd7\x1b=d\x95jQ\xf3ex\xc4|\xda^(Ej\x01\x1e\x15N\xba/{\xb2\x1bÙZ\x15Ȳy\x98&\x94\x9d\xc3\xe2\x1d\xc4F\x80e\x93\x86/\x8a\xf7\xfe\xf9Ɨ\x95]\xd5\xfa\xaf\xbe\x9a\xe4\xb3_~Ys\xe3\x06\u007foD\xfe\xe6\xed\xa7b\v;\xeb\xe4#\xee0\xc15;Ȟ\x99N\xd6\xfe9[\xfbS\xf3\x9fףY|\xc5l=\x0fX\xf1\xff\x1f\v\xf4[ܼ\x95\x05ē\xbc\x93o\xbf%q\xe0ڀ\x01>\rsE\x8e\x93\xcb\x0e\x16\xf9\x8e7I\xe3\xaeo\x17\xfe\xfe\xe1EƝs\xc6\xe3\xa5\xf1\xbe9\xe3\x1ai\xfc\x80g\\<'\xab\x15&\xd8x\xa0\xec\x14\u07ff\xe0\xf5\x0f\xfd\xd2\xf7:G\xa4\xef\x1f\xe5۽㲯\xa4\xef\xf7~\xcb\xe2ĢSV'L`\xa5\xaa\x8e\xfb\x19\xd8\x0e\x1e\xdf\x14\xd8\n5\x12\x1e\xfd\\Q~X\xf2\x16\xd4\xf9mO\xcaz*X\xeb\xb1\n҆v\x9a\xab\xc1ף=\xcfk̾\xad\xc7j\xd8\xed!\xda\x05c\x06<\xa6\xa7%\x83R\xbe#h\x13\x85R\x05\x96\xcdSa\xa1\xf3\xab\xc7X\xa0\x1c\x83\xa6^\xd84\x11\b\xf9\x14d\bg\x1a\xb7w\xb7\xf2\x06KbHTn]gyIw\x83\xb9\xb0\xc3UZ2\x9e\x11nl\xa8\xfa\u074bU\xfbF\xcb/_U'h\xacq\xddm\xe6\xe4\x84b\x95Z\xd3\"\x1a\x9aF\xb2\xf4\a\xcb;\xfbDg\xf5\xea\xd2=\x051:\xa3J\xa9\xc9L\x8fM(l-\xa9ݖ\x17\x13\xa5X\x97\xddTb\x98nuU'\\\xb8$\xee\x8cW\x05\xc9{\x1c{\x8d:Mx\x88#,\x1e\xdd\xcfԍ\x86\x84Y\xd7\xf4I\xb8\xfbD\xc2\xd1\xf7\xe7\xd0F\xb94\xbe\xdfw\\\xfeG\tד\x1e\\\x03\xcdH\xb4\x9aFh\x95Q\u0382\xbf\xfb\x91/\x8d\xc8\xff*\x8d\x9f\x9d3\xfe\x914\xfec\x9f\xf11\x9f\xeb\xfc\x1fs\xee? \xdd\xdf9\xef\xfe\xf9\xf3\xee\xff\xdf\x16\xb9\xff\x85E\xee\u007f\x11\xc61\xff\x85\xebL`ڵb\xcb\xc0ν\r1\x95\xb5\x8c| \x96\x927C\x8f^\x0f\xab߃ʙQ\xe5\x1d\xf0\xed\x97\xe7\xe7a\xc5,\x86+$\x1e\xd6P|^Ȅ\x17\xb8\x9ex\xd2\xdb?\x88\xf5Ӵ\xe3K҈\x8a\x9dQ1-\"6\x90\xef-\xc7#\x06\xc9;\x9bC>\x05㬊勤y)\x98\xf5dɑ\x12\xc6b\x12\x916\x8aE\xdf!\xff\x82v\xd7K3x\x8aL\x119\tD\r\xaeS9\xf5\x9d\x96U\x1d\xdazGm\xe5\xd8\xc9\xd1\xca&[l@\x90.\xaf!\xffٗ\xc4D\xf9\xe5Z;?.K_\xb3\xb3rC\xbf\xd1\xf0\xe4\xfa\x8an]bHbCzS\xa3\x83\xbf\x1dR[[[\x1f\xa2\x1avUm\xb6\xc5D\x85t\xb6:;jF.\x19\xadfYDfV\xea_\xfe\x10!\xbe\xb6\xbb\xbato\xbd\xb9\xac8\xe3\xa1\xc3\xd9\t\x95\xed\xb2Ђ\xb2\xeaR\xf4\xf3\xfd\x03\x03\xfb\x19~'\b\xfe\xff//\x0f%u\xba4\xc7&\x05\x9b\xfe\x87\xe1\x89/\x9eȡ\x96\xb8t\xe6\xe5\x91=\xe0\xc1־m\xdb\xc0ԀP\x00h\x10\x90(\x1c\xc1*\xf0\xa0\x1e%\x9c\xf9\x06\xb5R\xba\x99QJ\xca1\x10\a\x99\x85\x95\xa5x\xb3\xf1\xbc\xb99\xf2@e\x12\xe2\xcf\xe66W[\xa3\x86\xeb\xeb'\x11/\x8a\x11\x19e\r\x96\xaa\xe1\u03a2՝\xc3\xfbK7\x17&&\x16n.%O\x9cW\xc5\x1924=2n\xe8\xf8\xf1\xa1\x8fɓ\xe7\xf7\xfe\xac\xffХGs\x863\x1a\x0f\xda\xed\x87\x1a3\xacz1Qo\xc5\xf0\xb9\x8f\xf7G\x1c\x91\x01\x01\x8c\xa7\x0fHt\xce\x13\xb8\xc9)\xdc*\xb9\x05\xc7\x0f\xcb<\xb2\xc1)\xe3\x89l\xa0\xe3\x03\xa6\x85\xbf\xef\x94\xf9\x8ek\xa4\xf1\x032Z\xf3\x8b\xc7\x03t\x18/\xb1\x9823\xb8\u007f\x82Ʊ\x9e\x8c\xb88\xe6=\x88#\x1e\xc8E;S\xfa\xa5\xca1y\xe1\x1d`\x91\xff\x85\x1fC\x1f'5JH\x99\x974\x05\x96 },\xb9\xd4F\xd2[\\o\x8b\xb6\br^[9\xd8QX\xd0>T\x9dY_b\x0e\x9f|Ra\xa9n\f\xa9\xee\xd4\xe9:\xab\xfb{{\xf9\xf1\x98D\x19o~\xebD\x88ʲ\xe7r\xbf\xf3\xd2>[\x8c֠@\xdf\xdc\xff\xbcG\x93i\x88\x1d\xb6\xea\xd1gz뵣G\xae\tQ\xea\x84Ф\x10\x94%\x8e$S\xd9\b=\xa1\t\xbd\x9a\xb8\x17\xe6?\xa1H\xb984\x98\xa5\xf5\x80\xb6\x9c\xbea0X\xf62\xc2\x19\"\xf1U\x96I\x06\x00\xd4\xd4\xc2\x13\x8d\x143^'\x8d\x87\x98\xc18\xe2\x88\xe9:\x0fX\xf3\xbc\xbfs\x80ƧW\x0fu\x16\x17v\f\xdb-\r`I\x8a\x88\x9f\xac\xaf\x1f\x8e\xb6V7\x87\x11\x12\xb6\x0f\xf5\xf5́\xd2\xc7@̳\xdc|@1\x1e/|@h8\x90\xd1p\a\xa3ɛs\xc6\xcf\xc0\xb8O~\x1dt\xde\xdf\xe9\xdfy\xdf\x03\xcbh\x00L\xf4\"\xa0\x8bf[=\x82\xd5c\xc3vWݡ[]öz\x8aDJ\xcb\xfd\xf2\xef\f\xd885X46u`\xf4w\xc8\xc3\xeb\xfc\xddd\xc3T\xe9Gg\xc6\x1f\x9c\x8c\x97\xa8\xb8\x99\xf3\xb4\xe1\xe2S\xb9\xcf\x18\xc4;\x0f\xc8\xc9c\xfb/\x9e\xec\xcb ?\xdd2\x9e\xc8\xeb ?\xdd\xd2\xf7\xfb\x87\x17\x19w\xce\x19\x8f\x97\xc6\xfb\xe6\x8ck\xa4q_\xdd2\x9e\xf0\x8f \x86\xc3\xf6\x05\xaf\xef\xab[\xc6\x13\xdd2\xc8O\xb7\x8c'\xbae\x90\x9fn\x89\xaf\x8f\xd9|\x1ep\x95\x1cn\x15\x97Op\x9e3\xc7\xd2c8\u007f@a\x91\xafn\t\x01\xddD\xb2\x05\xf2\xa0\xe9\v\xb9^\x1eK.\x05\xbaZ\xc2\xc6h\x9a)\x10\r\x15\xb2\x92\xb28\xb7M3\x16\xa84\xf5\x18j\xf6=\xbd\xda@9\x8c\xa6\xa2\x94?ոchg\xb4E\xd5t\xc6Y]\xeb<\xb5\xae\xe6d\u007f\x9d;_>\xfaLא\xf2lx\x89\xb9~_Y\xa2)9\xa1<*Z\xd3rF9\u07bd\xe7Y\x05肕{Jer˞K\xfdO\\\xd9e6\xed\xba\xfcd\xca\xd1\x17\x1a\x1d5;S\x8b[\xaa-*\xad&2\xa8!,Q8}\xc8\xe9<\xe4\x03\xdbr\t\x86\xbe:\x1eձ\x82\xfct,/\x8e\xbc:V\xbb\x8f\x8e\x15\xef\xf3;_\x1d+\x95\xe8XA~:V<ѱ\x82|t,\x9e<\xcb \x0e\xe30\x81\xd3A\xfd\x1a\xc7-e\xcax\xe2\xe2\xf8\xf3ՙ\x02\xa5\x8c\xc5h\xa9\xbc:\x1cZ\x15I\x1aP\xa2\xb4O\xb1)N\x81\xae\xf3\x15\xc796\x8c!\xbec\xed)W\x1d\xff\xb6\xfc鱮'\x14g#\x1d\x8f=U\xd28I0R\xdb=\xaet\u007f\xa6xV\x85\xa1<\xac\x05(7\xf6U'X\xf6\xbcr\x18@?\xf4\x98\xd3\xf9\x18\x95\x95\x98/\xc1\x1e\v\xa1{\xec\x8e$C\xf1\xf8\x804~x\x91q\xe7\x9c\xf11i\xfc\a\xff\xe5;\xae\x91\xc6\x0f\xf8~\x9f\xec\r:\xde\xcb\xc6/\xe1\xbdq\x9e\xcc'\x94\xce\xc7\xed;> \x8d\x1f^d\xdc9g|L\x1a\xffA\x9c\xef\xb8F\x1a?\xe0\xfb}2\x1f:\xde\v\xe3\x1c\xe2\xa0\xf8\x0e\xf3m\x8ce\x17\b\x17\x8a\xe5yy\x97~\xb5\x80^6\xedM\x9eY :\x01)irR\x8cwͯz\x91\xda}!\xf8\xea\t\xd4[Ju2\xc8\xc9`D@\x03\xb9ij\xae\xd4\xddoo\x9f\xfc\xcb_\u008cE\x8eUy\xbb\x1d\xd6Ɉt{\x9e\xa9ڪ\x0f\x9b\x94\xf1\x03'N\f|\xaeH\xd7\xc5&\xd5=\xbb\xc7\xfd\x11\xcf\x17\xb7\x95\xe9\xa2\x12\xb5\x11\xee\x06\xba\xf6\xfbb\x1f\x93Ma\x84\xc6_b2K\vk\x97\x9f\x97Ɲ\xe2\x1f\x90\x81\xeais\xbeOd\x1c\xcd\xf3\x14\xbe\x14\\\x98EU\xf9?+\xf2\x01e\x92\xf3{\xf1\xb1JB\xe9\xd9䐓\xf7)*\x17_C\xf8\xfe\xb3\xff1\xc2\xef\x1cq\x87\x8dй\x93{\x06\x9c\xe5\xd3\x10\x93\x1d5:\x9fq\x974\xee\n\xd1-\xf8\xfdË\x8c;\xe7\x8c\x17J\xe3}\x9eq\f\x83/\t\f\xc2\xe7\xc8\xf9\xf9\xd79\xf4\x9e\xefu\xae\xb2q\x90\x11\xfb8\x9d4\xae\x96\xbe\xdf\v\xd7\xc7P\xf8\x14\xef\x0f\xe83\x97\x88\xb1p\x18\x1e\u007f\xec\xc9\x0f\xd0̉\xa2\xfby\x89\xfc:7{e\xc44Is\x16X\x924-\xf6\rġ\x86(\"\x18\x11*g\xa8\x9c\xd0x]\t\x04\r\x14\x15\xbe\xae\x02Ҹ\xd3\xec\xe8\x1c\xef\x11\xf7x0$\xfem\xef\x16SrbYtT\xcc\xe6\xe6\x1b7\x80\xeb\xdb\xf7V2\xac5mOK\x8e#L^~憴\xfe\xed\xd2\xfa\xf7\x93\xf5˸\xcf\xc4!\xe1.\xa9\xf5\x8f$\xbe\xb4\x1f\xfa\xf6\xad\x8f`\xf3\x8b\xf2\xccs\xf1ڔ\u007f\xecWc\x10\xf3k'\uf5e9\xe2SE\x05\x1a\x164\xeeP1 \x05x\xf2(d:\x81\xf9\rIu\xed\x9b\xeb\x9el˛\x14\xff\xf8_\xefLN\x82\xdf0\xf7_\xfe\xe5^b\xe5\x81&\xa1p\xf6\xf2G7d\xdf\x10\xbf\xe1\x8d\x1bx\xbd\x1f\x89C\xb2ހ\x01<3\xea\t\xfe\xef4Y?^\xaa\x8b\x05\x06\x11\xcdB\xfc\xd1\n\xf6ċ(\xf3aP\xabc\xff\xc1R\xbc\x03~\xceb\x06\x0eim%\x02\xa6\x92(\x0em\xc2'E\xde\x135=I&'\xfe\x8eci\xfd\x11<\x01@4뵇\x010\xbc5or͓o\x1f\xc6\x10\xe8\xff\x8d(\xb6\xf2\xb7\xde\x16\xc5-\x12\x14v\xbf\xbc\xc3B\xe00 \xf6\xa01\xb1\aj\xf2t\x18\xf7V\xccG\xc2i\x8d\x1b}\x12μ\xce\x06\x11\x8b\xae\xc0\xf3\x04\x12\"==\xd9\xec\x80\x19\xa4\xab\x1dn\xcb\x13ϡY\xf1O\xf7\xef%V\xefo\xe2\u007f>\x02x\xc0\xfb\x93\xdc\xf3C\x90#(\x86\xecσ\xd0\xc1\x8f\x8e\xcb\"\xa4q\xcc\x17\\\x1e\x9e\x19/\xab!\xfb?\x92|\xff4\xefb\xe3\xe7挟\x82q\xcc\xdf\xe0\x99\xe15\xa4F\u007f\xdb4i>\xee[S\xeeW\x16\xe8W\x04\xeb-\x01\xf5\xf3\"\xd2gO\t\xc4\xc3\x12\xcc\xceH\x9c\x86vh\x06\xe10\x89~s[\xecEg\xde\x11\xaf\xfcpRp\x89.4(^q\xdf@\xb7\x06\xc4\v\x9e=\x18(\xe3\xe1\tQt\xed\x95h\x90\x8e\xcbJ\xc8Z\xe8x?\xead\xbc/\x9e\xf1>\x05[;\xb5e\xe0\xfb\x97\U0005e16eH\xebA\x02x\x9ea\x84\xe6ĩ\xfc\xda6\xfaK\x02\xd9\x03$\x01x\xaf?E9\xe2{\xe86ʙ\xfd\x0f\xfe\xe3{\xf7Fd!O\xfe}\xcf\b\xff\xce\xd7\xf3x\xb3b.o\xc66\x98\xef\xf8\x19i\x1c\u007f_\xde\xcb\xc6\r\xb2^N\x86\x06\xe7˵\x00\xe8\v\xdc=M\x12[\xa2\xfd\xe9ѯ\u007f.\xd1\xf2B\xa4\x1a\x9c\x00\xa9J^)\xa58A\u07b6p\xc7K\xaf\xff\x0fq\xef\x02\x16Օ%\n\x9f}\xaa@DD\x1e\x05\x05B\x01E\t\x88X\x16P\x16Żx\x8b\x88\x88\x84 \x12D\x82\b\x8a\x0f$\x884A\x9aKӄ !JL\xd4\x18\x83\x86\x18\xc7fh'm\xd2icޯ\xceM\xa73I\xfe\xfc~=~\xeaM\xa7әN&Iwߌ\u007f\xda6\xd4\xf1\xdfk\xef}^U\x05:}\xef\u007f\xff\xe9\x89uj\xd5\u173d\xd7^{\xed\xf5^\xac\x91\xe7U:k\u007f:k\xac\x9b\x91\x99C\x1c\f9\a\xd3^|\x11\xe6\xfe\xd2K0\xfb\x11t\xdc<fF\x9f?\xe8|\x19\u007f\n\x8e\x11\x98\x0f\x89\xdb!2Q =\x13\v(\xcdR\xb8^\x82\xefc2\xf1(\xa6\xd9\"\xa2\xef\x04\xaa\xf0u\x93\xc8>\xf0\x9c \xd5s\\\xe1\xfb9iOh>!\xcf\t\x92\xe9B\xba_/ݿO\xba\xff\x8c\xea\xfe\xd9\xde{\xffk\xe2\xfd\x1f\xab\xee?\xa5\xba\xbfH\xba\x9f\x94\xd8\xc3\xd8\xeef\xb2\xdb\x02.\x81\xfb)\xe8@\xa2\x1f1&\xc0=Ǝ\xc5\xe8\xfa\xbb\xee0ya\xdd\xe4y9S\x85\x01\x945U\x82\x99\xd2M\xab<\xc7\x04\xca5\x11\xc1<\xe3\x8f\xf4V\x8f\x82\xdc\x141˼\xfa\x98wh\xfep\x80\xb5\xb4!;}\xe7\xdd+'\x17-]\x9di.M\x8b[0\xa9\x19\r\x8d\xf05,@f\xe1`\xa0\xbf\u007fwXJbx\xd4\xfa\x87\xdbA\xacs4\x15\x99\x82#\x89X\x87\xf9\r\xe6g\x18WXn\xdd\x01fY\xb5\xdc\xea\xe6<c\x03w3\\\xc9Sc\x9d\xbd\x14\\vq\x00\x1c\x8a<\xf1\xe9/`>}\xcao\xe5\xd9\x04ʓ\x04\x06L\x8eCY4\x1d\x0eX\xb9\xaa!۾\xabƊOH\u0090\xd1[\xb2l\xaa\xe9\xeb\x0eOIX\fB\xab\xe0{\xe5C\xa6\x8b\x85\x13\xba\bV\xd1#\x85\xd7I\xf0>N\t\x97\xef\xdf?\v\xbcW\x05\x8f\x90\xe0\xdd*\xb8^\x82\x8b\xf4\v\xbaf8\xa1\xc7`\x15\xfd\xba>_\xa4_\n?,\xdd\xff\xa8\xe2\xfeJ\xc5\xfd?\xeaT\xdcOt\x12\n\xef\xe2d\xfb\x01\xe8\x9e)\\\x0eteO\x95\xeaԥR\xba\x9em\x95\xe50iHW\xb2\x10Q\xd0G\xaa\xb6\xaacMm\xb0ȷRًR+\x05<33\x00\xa9\xde\x0ei\x8e\xc1ʜ\xd4WM\x8e\r\xb6\xe0%\xc1\x15\x8f\xf7\x96\xc79\xee\xbew\xbbu\xed\xf1\u07b5:\xf3*k~c~\x8c9zQLt\xe4\xfc \xfd\xa6\xec\r\xdb\xce>0\xfa\xd0\xd0O\x1f\x1a\xbdřr\xb32\xa2\xbd4\xe6\x1d\xe7\x1f\xb8gl۪\xa4\xe0\xe5m\xe7\x1f(\xdeۼa\xe9\xcaJ\x875,:\\;\xcfG[\xbd0r\x15\xfa\xc5\xd3g\u007f\xf6\xf4\xd3?;\xfb4>\x16m\x18/\xc7\xf0\xfc#0Y/\a\xc90R\x8aZ\x8ed\x92R$\t\xa7\xe1f\x13\x83\x98\x97n\x0eS:;\xa4\b\x177a\x9c/'\\\x1c2Y㈧\x03Z\"h\x03ig\xef \x92LH\xb5v\x1aG\xe5ϼ\x1a\xc4o\x019!b\x97'\x9a\x10\x82\xe4\x8c\xde\x04\x14\x8a(\n\xf5|S\xd5ɼ\x86\x89\x97\fѕ}'\xd6VN\xe2\xebW\f\xc6\xca\xfe\x13\xa5\x83\x0f-\xf4\x15\x8a\x8aQAQ\xff\xe0h\x88.%\xab\xf6\x9cu\xa8\xe6\xc0\xf3mfr9Xs\xe0\x856\xf3\xc8\xe9g\x92ט\x84\xad\xe5\xfc\xaa\xf2ɳ\r̆FpE\xe4\x97\x1c\x0f{\xa6H\xa2-\x91g\xbe\x80\xe1g\xb5\x01\\\"g\x83|\xdfeR\x14\xef2\xd1\x1e\x19bQ\xcb$\x9eM\xd7\xcb${c\xb2\xbb\xe9\x9a暉U\xe5\t:\xb4\xaa*dMk\x8f\xf5\x96W`,\x987V\x97\xc7d\xad\xf0\xf6z\x84\xd7\xf0(<\xb9\xc4\x1c\x12\xba\xc4Q}\xef\xf6\xe4\xc1\a\x1f\x1c\x1c\x1c\x1e\xd6-\xdf\xf1\xdc\x03#\xbfܱ\xdc\xdfhKXP\xe6\bˎ\xf5\x8f\x89\x89\xf4M\xbf+\xc34\u007fEW)%\xab\x83\x13Ϝ\x99\x988\xf3\xcc\x04\x99;\x99#\xc1I\x9e\n'/\xe0\xfd\x8c\xe7\xce\xe0\xf2~v\xbd_\xdc\xcf\x14~X\xba\xffQ\xd5\xfdE\x12\xfc\x01\xc5>?HlOt\xff\xffL\xb2\r\x9fQ\xf0\x8bx\u008fD\xe9\x03~ρ\xb5R\xfc\xdd?+\x9e\xb7\x84ج(|Z\xc9\u007f\x88͊\xc2ϑ'i\xb8D\f?\x8d\xf7M\x1c\xe6\x1c\xe9\x10\x97a\xe22\xb8L\xa9fC\xe2Gb\x15\xe8Y-\xf8L}\x98c\xdf(\x03\xd1\xc3\xc8\xe9\x90\x0eA\x10\xe4%\xe9$\xf0\x84'=\x16B\x18\x8c\v\x10\xab\xf7\xf8\x92\xc8Z\xb8\x82N\xcd67+5ɴ\x16͒6\xe2\xe8\xa3~>\x99\a1/_KqW\xb5%\xa5\xa6\xab\xb0z01\xe9\xc1\xea\xf1ӂ\xbfvK]źG\xb4I\xe5텿\xaaM\x1c\\S\v\xff\xb7q#\xff\x83ou\xc5\xda\xda\x05:\xfb\x9e_\xfc\xa8\xf7|\x87}]\xf5\xfa\xaao\xff=\xe0\xd4i\xea\xc9{\xbaf\xed\x8f\u007fy\xf2\xd4\xf3ϟ:\xf9K\xf4\x1c\xb8\xf1\xa8\x1cr\x90\x9d\a:\xd5y\x00\U000af26c#\xd5\x15z\x1a<\xc3\xf7\x1b8Q\x8e\xc6\xfa\xe28\x83\x83\xbc\x14\xa1\xb8_/ݿO\xba\xff\x8c\xea\xfe\x13\xe2\xfd\xc2\xc7*\xb8B\xae՚\xc8\xf9\x11J\xe8\xaa\xcb \xfd\x15\xf9\xfd=L\x0fZ2.=\xa7\xb4\xbb\xbb\xc2E\xfb\xfa{\xf8\xdcђ\xf7P\xf8@\x82\xe7\xfb{\xa5\xfb#\x14\xf7\xc3\xfc\x9a\x15\xf7\xeb\xa5\xfb\xf7I\xf7\x9fQ\xddO\xad\xb6\x88\xfb\x86\xf4\x85\xb3\xe0sj'\xc4G\xd1(n\x97n\x9cs8\x95d\xa9Lِ\x80\x93\xca\xe7h\xaf\xd2\xd4\xe8PB\x9a\x89\xac=\x01eݶ(1\u007f'\xc1&5\xab\x06\x81-M:\x15)\x17\xe3\xbf*ܵ8rKNuYfc_\xe1c\xc7\xdbww\xefz\xea7o4\x8c6$g\xd74%ڻ\x1a\xf3R\xaa\xdbu\x91\x81\xa3\x81\xb1\xabҭu\xe5\x0eC\x8be\xaa\xb3\xb1\xfdౙ\x01M\xf7\x95kֺޒ\xea\x81FG\xb0\xa1\xb8\xae\xb34\xa7>/\x8a\xcc}\x04\xcfݛ\xd8\x1f\u007f\fI\x8a\x1e\xed\x8fs\x187\x94\xc8P\xd8z\xae\x8a\n\xc7BfQ\xf0e\x8e\xb4\xf9,@՛\xc5i\xb9\x1a\xa2I\xb4\xb8XQ\x8dX#Yi\xdf\x10\u007f\xc4\xcfT\xf6\xd5$\x9d=+\\Aq\x93\xd0DC\x10\x02\xcceYE\xbb\x12\xf5\xbd\xbaؚG\xef\xab:pn\x04M\bM#\xe7\x0e\xac)j\xcc^\x1c\x1ax\xc07\n\xaf\xfb\b^wo\"w\x85\xb1u\x9f!g\x918\xf7\b\xcc!\xf6B,\x95X_\x05b\xa9\xa2]\xf3Â\\eU\xcf\xc5(\x80\x02\xfc\b\x05,\n\xa0ICbz(\xc7\xd8\x13\x85D^\x95\x8c\xef\xd2|\xe5\xb9j\x14\x8eV2mi\xd2Ҕ\xf3\xf5\x06\xad\xc6\xf2\xe6\xd1\x05d\xee\xc2\x01>\xd1\xf9\xbb\x03\u007f\x93\xe6\xady\\\xf6\xaa\x12\x1cD\xa8p0\x018\x98\v\x0e\xb8\xf1\x9e\x90\xe0ݷ\x9e$:\xfb\b\xe6\x05F\xc5\xfd\xa7\x18.)Ϣ\xbe\xec\x01\xf0ddz`\x8bp\x95\xcfV\xeeE\xa46Mȸ\x94K\nyP\x15\xe6\xb1\xdcMj\x93\x88\x0e\xa4\x85\x83\xc5:\xff\xa1\xf83P\xb4N\xb8\xd4\xf9\t4!\x91\x93Cx\xc1\xcdI\u007fKQ\xb5U嘝D\xfdC\xdd\xddC\xc4%\xeb\x15!\xf8\x90`\x82\xdd\xcf\xf5\xdf\xff\x8b=\xc4++\xd8\xd0\x1f/\x1c~\xf4\x82\x1cOp\xeb\x1b\xa6G\x86\xab\xf5W\x02\xaf\x93\u08be\xe0z\xff\xfeY\xe0\xbd*x\x84\x04\x17\xf5\x05\xaa\xd7\xf61\xb8B\xafuy\x8e\xa4\xd7\x12\xf8a\xe9\xfeG\xe5\xfb\x99^\x10\xae\xd2\v\xc8\xfd\x84\xaf\x87+\xf4\x02\xd0\xf9z\xe1\xbd\\\x12\xe4\xeb\x98X\xe4\xfa\xac+\xcb\xd6m\x8e\xb3\x9cE\x01I\x9dy\x16\xb2\x98\x1c\xf0\xbfC\xfc\xd9Be\xebK\xb0\xfe\xd1큯\x94&b\x13\xdd*\t\xfe\x1a>\x01t\xbdI\xff\xc4Ҭ\xba\x1d\xa1\x93\x1d\x8d\xe0\x1f\f\x0e\xd27d\xd5l?t\xdf\xe2@\xeb\xaaͺ\xa8ʃ\xed|\x9cS\x00=0\xdf\xc0O\xcf\f\xca\x16cbG&J\xa1\x12o\x9fJx\xf8\xb1j]\x8a$\xf8^\x11?\x18\x9f\x17\xb5\a1bv\x82\xb3M\xdd_\xdd\r?n\xea\xbe[\xb6\xb9\x1b\xc2T\x06\x01\x860\x17\xf4\x90\xa2*\xb4\x8d3\x94\xc7''\b\tI\xe0\x13\x88\xa6\x0f\xc81\xafJ\x8b\xf3\xab\xb18\xe2\x03\xbc\xbcƽ4QY5\xe9\xc4\x16\xa0\x03M\x1f\x90#j\xfa\xfctp|\xd6Ұ\x82\xc8\xc8\"\x9d\xa3.;\xc6k\xe6Sb\x11`\xb4s\x91Ȭ\x1dj\xdaǼ\x16\xe3\x80\xc1e߶\xeb\xfd\n\xda\xc4\xf0\xc3\xd2\xfdJڼHd\xdc\x0e\x95\x8cKpOdUJ\xcbgf\x81\xff\xd3,\xf0\xb3*x\x96\x04\xff9\x83\x8f\x10[\x15\xec\xad\xc5l\xfcm\x04\xbe\r\xcbL\xcdd\xafD\xa8\xe6\xeb\n\x17\xf7.\x85GH\xf0n\x15\\/\xc1E\xd9n\x1b~o3yo\x84jO\xbb>_\xc4\x1b\xf4s\xaf%ωT=gD\x18b\xb69\x83j\x9c\xae\xf0^\xd5\xfd\x11\x12\xbc[\x05\xd7Kp\xf9\xf9\x1b\x18~\ft\x9c\x1a\xeb\xad_xx\xbe8N\n?,\xdd\xff\xa8\x84g\x80\x17I\xf7\xefeϿ\x82\x15\x89\xef\xc8s\xa2T\xe3w\x85\xefWݯ\x97\xe0\xe28\xaf`\x1e\xf9\x1d\x19g\x94\n\x9f\x98\xc5i\xeb\xbc\x1b0<\x9a\xa3\xb6\xe8\x02\xee\x9a\x04\xb7Kp\xe0\xd9\xd7<ܿ\u007f\x16x\xaf\x12\xeeuC\x82w\xab\xe0\xd7%\xf8>\x11\x8e\u05fdN;(\xc1g\x1b\xe7\xfd\xb7^S\xbcw\x8f\x04\a|\xca\xcf\xffP\x82\x03Ͼ\x86O\xc9N,Sב\u070eh\xb0\xd4\x19\xa4zΆ\x00e?R\xb7\n\x02\xca(b\xcf\x1e\x02e'\x0f|&s\xf3\xa5j\x86:E\x84\xb0ƨ\x01O\x8dʧ\x97\xb0\x00\xcd\xd3L\u05f6\x8cuU\xd4\v9\xf5ϣ\xa3/\xa2\xa3\xbb\xb7Z\xa2\r\xf9!A\xa1\x9b\xfe5\xbb\xb77\x8bx\xf5\xee+BA\u009f\xb5\x83?\xf4\xd54\x8b\x91\xbb\x1a\xd394,\xf4\x9c\x93p\xf1\xb24\xe7\x1f\xab\xd6\xc6(\xc1\xf7\xaa\xe0\xdfH\xf0\u007f\x11q\rk \xad}\x02]{\xb7\xb5\x90\xff\xeeY\x15|F\x82\xffB\x05\xbf)\xc1\xcf+\u08ca缠z\u007f\x83\xf4\xfe^\x97\xf7综\xffW\xca\xf7\x10\xbf\n\x85_\x98\xe5\xfd\x17\x99\xff$\x83\xd5\xc2\x01\x8f\xe7\u007f\x03\xab\xad\xd8Gt\x81JFs\xcb\x00Q\xf6'w\xf7`\x92\xce=\x90\xed\x01\xa1\x05\v\x02\xc46\x87Z\xa8\x94\xc9\xf2\xb3\xc5\xfc\x17HQ\xd3\x06к8b\xf9^\xfa\x9f\x86\xa4\v\b\x9a~\xa1\v\x8a\xe3\xa0Q\xe7\xfb\xc2\u007fV\x9fC\x11\xd7_\xd3\x0e\x8e\v\xa7\x1f\x11\xc6\xc6y\xads\x86?\x82\xea\xc9\x1c\xc9\\\x00g\xe8\f\xdb\xc7x\x1f\xe0W\x1eau\x9fð\x80\x92\nу^RV.\x84C@\xe1\n\xf8\\\xe1\xda\x05\xc7S\xee\x19X\x0eH\xda\xce\xd5|\r\a\x118\xa8\x83Z\xff\x960\xb3\x13\xcc\x19d]/R\x14)ߋs\xe0/\xeb@\x1a\xddD;\xb9[\b*\x16\xe2\xcfp6\x04\x9a\xbaK\xe3-X\xa6\x93X\x1e\xc7d\f\x96j9\x04\x86\xb0C<\ta-\xe8fs3j\xa9\u007f|w\x0e\xad\x8f\xe3\xe88Q/tM\x9d\x1d\xec_\x9c\xbd\xb9\xf8\xd9+%\xf7fG\xfc\xf8\x81K_ \xbf\x03\xfc\xb7˫\xf6\xad\x16\xeb\xe3\xac\xe9\xdd`Ꮼ\xabM(L\x8ep.\xee\x8d^Y\x9c\xb0a\xd3\xee\x03\xe29m&|'Fu\xceA\x8d43\xa1E#ë\x83\xec\x1dW\xf8~\f#p\xcc_\xcc\xda\xe3\f.\xeb\xec\xae\xf7\xf7\x8a\xf7\x03\x9c\xf0A\n\xdf\xc7\xe0\u0fe4\xf7Ǫ\xf8,[O\xde\x1b=ǩ\xc7\x1d\xab\x96}\xb1^\xa2\x84\x8b\xf1\x8f\"=@O\xe3\xad\x10\xea)\xc69,\"\xfe\xfdY\xb3\xcdeG\xf6K\xf8\x04A\xf8\xaf\x81\xbb\x19\x99\xf97\x8aE\xd2\x04\x90\xb4\x181\xdf\xdcາ\xb0\xa6v9o\r*\x9e\xc0RV\x8d]lO2\xb7_\x1c\x15\xceM\x9dm\xeb\xc9\r\b\xc8\xedi;\xfb\xc5\x17\xbc\xf7#\xe8뚣\x1f\xf7\xf6\xff\xeeD\xedxu\xff\xb1\x92\xe2\xe3\xfdU\u0099G\x98\x0f\xea+\x82\x1f\x13[\x97*\x11o\x18n\x97\xe0}x\xd0\xd7<ܿ\u007f\x16x\xaf\x12N\xce-\x13;\xb7\x94\xf0\xeb\x12|\x9f\b\xc7\xe7\xebW\x04\xdf&\xb6\x0e\x9d\x92\xafL\xf9\xfc\xfbo}\xa4x\xef\x1e\t\xfe(߭x\xfe\x87\x12\xbc\v\x9e\xcft\x8d\xafH~\xfd\x1e0\x86G\x13\x0f\u05ec\xf9\xa2n\xa7\x952r\xd1'@L\xae\x9cG\xca\xd0\xc1\x96\xf4\x83\x82/,\xefV,\xe8\aGW\x98\"\"E\xe6N\xaa\xec\x15M\x06\x84\xa38\xfb\xf8\xbf8_\x82\xca\x06|\xf1\x9eFs\x94\xa1(((\xb4\x81ŢH,K\xd6-d\xdc\x18\xa5\xb9\xee\x95q\xac=A\xf8\xbb\x89\x9d\vݒ\x9e'\xe32\x81\xae\x95\x02\xd7U\xe4y\xf2\xdf\xfdJ\xfc;\xfc\xbcVr.\x98عЭX\x9b\x9b\x12\xfc\"\x83\x9f\x80=\x89\xf7\xb0\xb7&^ڻ\x1c\xa1\xa98JS\xb7\x9c\xd2\xde\xe5\xc8x\xe2\x18\x0f\xf0\f\xef\x15\xe1B\x84\x96#\xbc\x81\xc2'\xf8\x02\xf9\xf9\x84\xa6\xe2\x18\x0fP<\x87\xd0\x02\x85w\x01\x9c\xeda\xc8\x1d\x868\x9d1H\xf8\x10\xe3t\x82\x02\x94=I\xdc8\xb9\x1b\x99\xc8\xc5\xfd\xd5~\x1a)b2\x94xa\x02\xa4zH\xa1l\xbfϓ\x12\xde\xe4z\x96\xd0T\x87E\xcdI\xa1ߐ\xb6\x1fl\xb4\x19\xf1.\x9fBCS\xf8_\xa1wj\n\xda*k\x8a\x06\xa0}\xfd\xc0\xcc˼\xb7\xf3&\u007f\xe4\xdc-\x16\x17G\xf6P<\xa7\x8c\x8b#\xfa\xbd\x02\xae\xf2[\x13<ǫd\xce\x1b\x18~\x89\xc0\x13T2-\x85\xdb%x\xdf,\xf7\xef\x9f\x05\xaez>\xe1\r\t*\x99\x96¯KpQ\xa6\xbd\x81\xc7\u007f\x89\x8c?A5~\xd7\xe7\x8b2-\x85\xef\x91\xe0\xa2LK\x9f\xff\xa1\x04\xa72-\xc2\xcf\xef\x85\xe7c\xa6\xd0\x05\xa7\xaf:\x97\xdcM\x92ez\xf6\x1c\x19sʘ\xb6`\xc6\"\xa8\xc9\xceOJj]\xc4B\xc1\xc2\xddB\xd6\b\x830)9\x04_\x02\xf6\x06\xa1\x1d-\x16\xfe\x9d\xbf\x06\xfd\x94>\xa5\xb6\b\x88Uf,b\\s\xef\xf8\xf8\xccI%\x87P\xe0\xc8(\xcdy/\x93\xe3\xaf`}\xf5;\x96\xc7[#w\xe9U\xd2?\x9b\xa8[\x1dhO\x06\x05\xa8\b\xe4E\x1c\xb4\x1c+\xc7@\xec\xd1$\x19\x99TH&E{H\ufdd6\u07fc1\xd5z\u007fo\xeb\xd4\x1bΩ\xa9)\xddo\xfe\x10\x15u\xbc\xaf\xef8\xff\xb53\xe4\x0f\xbf\xd1\x1euҘ\x98\xb7\xf0\xde}\x84\xc8cW\t\xaf깵\x80\xf0\xaa\x1eD\xf9<\xfc~\x80\xac\xfdRJ\xa3\xa8]\x82\xbf\xaa\x80\xf7\"3;_\"\xa0\xbe\r\x0f\x95\xa3(\xef8&\x9d\xffJ\xf8\t\x06\xffw\x8c\xb7\xebލ\x18\xbe\x8c>\xff\xd6\n\xeeS\xb6g\xaek\u007f*\xc1\xfb\xb9\xf7nm\xa7χ~{\x12|\x82\x1f!\xf2\xc2M\xd6W\x15z\x9e\xe7@\xc0\x93\xd8W\x15,\xd7\xfc\xec2\xb2\\\xa3\x9a֝\xa1\x99\xec4\x9a\xe8\xe6\x14_\xe9\xf4\xe6\x17\u07fc\xa9\x1d\x9c\xf1\x1f\xe7?\x98\xe1\xa4}\xae\x1c\xc3\t\x18\x03\x95eT\xf0S\fn\x81\xfb\xbd>f\xf0\x04m\x97\xf0-\xf7\xa9\xf8wx_\xb4\x91\xb9B\x0f\xc1M\x10\x03\xa6\x8eks\xe3\x8eʲ%\xd0\xedq>\xe1}\x1a\xa9/ P;i\xec\x81?\xe7]\x15\xcd\xfbdf\x103d\x15#\x86n\x1e:4u\xe5\n\x99a\xb8ī\xae\t\xe5\xb61\x9b\xb0n\x9c\x8c\xf9\x02\xd4m\"\xeb\x92$\xf1\xa6OE\xb8\xd7\xf7\x12\x1cx\a\x81\xe3\xf5Ց\xb9'\xa9x\aF\x99\xe6cB'\xcbU<\xce\x15.\xf2\xb2\x19\xbc\xbe\x1f\x93\xe7,由B\xe4~³\x96\xabx\xd6\fƭ\xf2\xfe\xd9\xde+\xf2\xac\x19\xbcF\xca\xfbO\xa9\xee7J\xf0\xbd\x8cg\xcd\bCp?\xdev\xfb\xe5No\xb3V\xa0s+\xb8떚!ӛ:\x1a\xc3W,\nr\x914r\x99OB\b\x16\xe2;\x17I\x014vR\xd8;\x90\x16\xf9\xd6i\x8d\xe8ղ\xfe\xc6\\\x1f\x87\xf0X\xf0\xf1\xcfю\xe0\xe3·\xb7\xb8\xbf\xea\xed\xf5%\x9ak\xc2\xf3\xcevL\xb4&TΏ\xff\xf0ڿ\xff\xceE\xb67\xabւ\xc2\xed\x12\\<o\\\xef\xdf?\v\xbcW\t'\xe7\x8dYu\xdeȺ\x83Y\xb5v\xa7\x88Np\\\x82\x8bk\xe7\xfa|q\xed(|\x8f\x04\x17\xcf\x1b\x80W*\xee\xff\x11֤\xe5\xf7~(\xc1E\xdb\n\xd3}\xb8\bn\r\xc4#\xca\xfdO\xe5Ȑ\x14X\x95\x14\x8fՇ/r\x85\\$a\xc1\t\x01b\x1d\x97\x94\x00\xb1\x17g\\j\xae\x16k\rZS\xac\xbf6D\x17\xa5\r\xa6\xf9\xa9.Y4\xeea3|\x8b\xe3\x9e\xdc8\x9d\xb7\xb7..\xf7\x1e\a\\\a{{\a\xc7\xe5\xd6m\xda\xd0\x1a\x97\xbf!5hI\xe4ޟ\xb5\xa7\xa5wLw\xed\x9djO\vI\xbf\xb7<}\x9dU/\xc7\xcf\xf4/-\xaakޞ\x9c\xbc}k]\xd1R|\xbd\x15\xae\x9b\xf1\xb5sfUn\x9c#3#\xda˫\xea\xf1+#c\xbf\x9f\xa8\xbe\xeb\xf8\xb5\x035\x13\xe3?\xcd1\x17\xa7%\xe9\xa4h\x1a\x88\x05\xd0c\x9c\xbd\x80qC\xbb\x10\x8f\xd0\x02\xa8)\x8a\xca\xee\xf43av\v\x94\xdb\x1ep3\x87\xcb\xfd8hš%\x84\x83\x19\xf1\x95EQ\r\x9e\x18\x1e\xa4\xc2\x1b^\xb1\xa4\x84*E \x04˄\xca\ti\xf1\t(\n!\xb1\xb6[\xa8\x9eo\xbat\xdf\xf6'~\x9dc\xef\x9c\xde{\xa9c\a\xbd\xeaؼ'=\xc0\xdbW\x88\x89nA\xe6\xa8\xd6\xea\xc6\xdd\xf0U7\xda\xfd\xe9\xc8'\x0f\u007f:Q\xfdp\xf7\xa7\xa3\x1f?\xfc鉻\x0e\xd7\f\x9d*Mi\xb3:\xff\xddV\xa0\xf1O+\xc4_W\xa7\xb6Y1=\x11\xdc\x00\x9d\xf1\xbc\x87\xfdc\x94\xe8L<\xfb\x01>\xede\xc2Rq>W\v\xa1U\x05\\\xa1T\t\x9as\x8d\xa6p\x93|<\xf9)Eӆ/+O\xe9\x1a\n\xe1\x16?\x03(R\x11$\xdf$\xd2ю\x93\xe9\x8eT\x16A\xb38uM\xb2).\xbd\xe3\xe7\x1d\xb3\x90\xa1N\xa4\x9d\x92\x82\x05k\x8a\xc2\v\"\xfdcb\f\xbeYwg\x9a旾\xd8>\xf6{\x8c\xb7\xd9\bP\xda\xd3\xd3\x04w^j\xdca\x1e\x80q$\xc1\x95<@y\xbf\x92\aL\x03\x0f`p%\x0f\x98\x865`\xf0\a\x14pj\xbb3sJ\xdb\x1d\xe1=\x12\xcf\xf0`\xbb#k*\xffݯ\x14\xe3\xaa!:\x9a\x99S\xda\xee(\rܔ\xe0\xa2\xed\x0e\xfaz\x9f\xd2\x1e\xc3\xe2\xee2\xa8^o\xc0\xc7\xe3rɎ\xab\x9f\x9d\x06ܶ\x95\xdb.R\x96\xf9\x90\x95aH\xda֑c$\x80\x15\xb3\xa7֎`\xa9\xc4\xcbb\x89\x80\x8c.\x04\xa4W\x98\xf6h\xa6|\xa0\\0\x11]\xeb~\xba\xd5li}\xaa\xab1\x9bO\x14\xf6\xa2\\\xe1M\xf4\x90\xf3\x92\xa1<&\xb6$4\xb4$\xb6f{VHH\xd6v\xdd]\x13\xd7\x1e\x1c\xb9v\xa2:\x84\xe9Ҿ\xbec\xbe\xbe\x9a\xed\xbe\xbeŽg\x1b\xef=\xdb[,\xe9\xbaID\x8eX!\xe9\x92L\xee\xd3V\x93uIft\x92!\xe9\xdaJ\xf8\xfe[\u007f\x97\xe4\xcdjr\x9e'3yaTz~59s\x92\xd9\xf3\xc5\xfbϨ\xee?!\xde/|\xac\x82\x9f\x92\xe0\xf8~r\x86$S\xd9\r\x9e\xa3\xf8\xbb\vx}\xf5d\\)*\xbav\x85\x8bg\xe7\x05|\xf6\xe8ə\apo\xed@\"\xe7\xf19\xbd\xd2\xfd\x11\x8a\xfbey\x88\xdcO既:SA\x0eS\xde/ƪ\x83_.\x83\xd4Nj\x00\x87\xbb:^d\x8e\x9a\x8d\f\xa0\xac\xca9O\xaa\x96\xa4\r\x10\xcb6\x062\u0082vH\xa0N\x87 f\x1b\x05\x1f\xbe2XFS 4M\xf1\x82pm\xcdO\x1a\xed\xa9\x1b\xef/էZ-AK\xeb\x96U7d6\xf6\x17k\xae\xcf\xf8i\aG\x84\xbe\x80\xcc\r]e\xa5\xed\xe5K\xb5\xf3\xfd\x17\x1c҅T\x95goȎ\x9bߩ\xac?\xb9\x88\xdb\x00QԴCଵ\xe1\x95\x152\x17Je\xfe\x16\xb2\xc3\xccWQ\x12\x87\x16\xa6\xd6~D\xcb\xe20\x1d\x91\xd8\a\xf8\x80\xbf\xfd\r+\xaf/\n\xfbnb\xa5@ۇ:\xc6Dž\x83}N\x1asA\xc6C\xd6.U\xb5֣x\xed\x8a\bM\xa5\xaa\xd6nv\xf8\x19\x15\xfc\x84\x04\xffX\x05\x17m\xa4d\x0f\x11\x1bi8\xc4d.\x94\xf2\x82\x16\xaal\xa4n\xfd\xb0\x94\xbd\x12\xc3Yq|hQ\x8aH\x8bRЀB\xacr-/\x93Ԑ\xfa\xe6\xd4ٶ\xf3}%E\xfd\xcf\xee<;5u\xf6\xf4\xe8\xe8\xe9\xb3\xda\xc1\xdf%Սl\xae\x1f\xa9K\xba\x84Z\xba\x9b\xb6\xf4Pz&z/\xc1\x89U\xb5/(\xdc.\xc1EY\xd3\xf5\xfe\xfd\xb3\xc0{\x95p\"kZU\xb2&\xf1\x1f\x12\\YU8t}\x8ex\x9eP\xf8\x1e\t.\x9e'W$\x99Ҫ\x92)\xe9{?\x94\xe0\xa2m\xe3\n&\x0f\xd0\xf3\x13\xa1o_\x10\xab\x03\xee\x12g\xecV\x8br\x0e=\xc15\x85;H2u\x9a\xae\xaaR\xb3\xe3\x89\xca/\xeb\xfe\xaa\xa4l~\xb0f[߶\x00\xa3\xfe\xd7\xcc\x16\x90\x97S\xb9#'B\xcc\xc2#\x89\xd7my<\xff\xdb߃Y@4\x0f\xf4O\xa7\x15\xd6\xe7\x81`\xc8\f\x1c\x12\x9e^\x96\xe6\xfdc\xd5\xfa\x18%\xb8\xa87\x01\xfe>\xf0:\xc2-\xe5\xca@\u0096z{,v\xe9\xc9\xeb\xc6s<\x9dx\xd4\x0eL\x8b\xbd\xc8\x01\x136\xf7\x80\t\xd2L\xee\xbd7\xa7\xc2\xd3j\xb2sj\xd2«,\x8e\xb8\x00/\xafG\xbc4\x06{\x95-\xb9\xe91\x1d\x9d\xe9ڶ\x82\xa8\xa8\x82\xb6\xb5\xfc\xd7$P\xa202\xb2X\x97\xbb!\xcb8\xcfپgr[*[\xff\x0f\x88\xfcaS\xd3/ޣx^\x12\\A_\xaa\xfb\x15\xf4\x85\xe1{$\xb8\x92\xbe> \xf2\x8aM%\xafP|~#\xe1\xf39\x15\xfd\xca\xf0\xe7g\x81\xffR\x05?,\xc1_T\xfa,\xc9\xfeX\xa9\x1a?\xe9\x1fL\xe8]=_W\xb8\xb8\xff\b\x9c\xec?\x9bj\xffQ\xf8u\t.\x9eK\xf5\xf8\xbd\x1d佶9\xdf+\xe2\x8d\xd4\xd7'\xf2A\x9a\xca\xceP)\xfa\x0f9\xbbj\x9c\xaepq\x9c\x95\xf8\xbd}\xe4\xbdv\xd5{\xc9\xfdd\xfcv\xd5\xf8)\xfc\xba\x04ߧ\x84+\x9e/\x8e\x93\xc2\xf7Hpq})\xdc(\xc1E_\xf6[\x18\xeeC\x9e\x93\xce\xc6_\xe6\x11\xbe\x9f\xf3\x91\xe1d<\xe9l<\f\x8e\xe7\xe5C敮>煃\xda\nM\x1f\x17\x05\x15\x12]\xfd/n\xf9\x84n\xc1M\xac\xa4\xb1lcuk@\xa0,d\x16\x11@[a҂e\xb4} \x94\x98\xa6\xc1^\xc0\x85h?\xf7x(6\x06\xa5\x83oN\x8e\xd7wF<\xa57$\xd9ë-\x95V\x9fĒ\xa6\xa2}\x93\x9a>\xa7_n\x14\u007f\xcci\x8a\b\xf2\xeb\xf4\r]c6\xf9[\x92\xa2\x05\xd2wW\xec\x8f\t\xb6=_\xc8 \x9f/\xf5\xc7\x04\xdb\x1e\x9a\xfd\x9cS\xda\xf6\xbcY\xd3\t\x9a\xe0\x9c\x9cbGV\x14b\xb4\x1b\x17\xf0\x87Q\xc7;h\xcfL\xdds|ֱ\xe1\xc1~\xad\xf6\x87\x99\xfe1\xf4\x0e\x1a\x13\xbah~&\xd8\xf41\x92\xca䎓\xb3Z\x13ݲ\xaceU\x97\n\xdf^\xac\x8a$u9\xdc\xe4/\x83\xa3\x01\x02%4\xdf\xcd\xf8\xc3\xfa]f\xb6@?\xae\x10r\n\x17r\xfes\xc9iJ\x0f\xbf6@l\xe4\xbb@\xb2\xf8A_T0f\x86@\xaf\xa6\xcb\xe8\x13\xc1\xac\x89p\xbe\x8d\x8e\bm|\xf6\xcc\x17\x03\xe8\r\xf4\xfa\xc0\xb80\xd8*\fB\xadW\xa8'jź\u007f\x02W\a\x9a\n͊\x9b\xb5s\xb8\\E\x94\x01\xe4fE\xa2T\xa8\x93ܬ\xf3%7\xab\xdd\n\x85\x91\x83\xac\xa9A\x84e\x83\x13F\xae\x05\f\xda{\x88\xf1\xf8W\xa6\xd5\x05\x89\x9f]\xfe\xc3\xe5ļ5\xa6\xaf\x84\xa1\xea\xd6\bGk\xf9\x9aVGD\xeb]\xc2\x03#\x11\xf5\xfdgZ\x04\x14(\xfcO\xa1\xe5\xcc@}\xc4\xc8\xc0\xb6\x99SUc۳\xb2\xb6\x8fU\x9d\x9a\xd96\xc0\xeap\xec\"yn\xe9\xdc(\xf4/\x103\x1a\x96\x04({\xaa\xfe\x03\x99\f\xae\xb5\x88,\xac\x16\x91\x85\xd5舐\u00859\xd6K\x03\x12\xec\x97(c\"\xa5\xeaCn\x9b\x844\xb5\f\x84\xae\x96\xac\u008e\xa1l\xa8)3\xbbe\xb8<gs\xa1eѸ>*!;\xa2\xcaR\xe1XhY\xb554qu\xae\xc5\xdfߒ\xbb:\xb1\xa8ή\xd7\xdb\xebt\xf6=\xd3\xdd=\xcfweĮ\xcc\b\u007fT\xdcN\xab\xf3\"C3VƎ,NLѣ\xbe\xd0\xd4\xc4\xc5Y\rݙY]\rYt\u007f\xfd\x19\xf3\x8c8/\v\x16\x1fWP\xaf\xad\x85\x95c\x83FBr\xfdsF˲YB\xae\x90\xcb\x00\xac\xdb\x03\t-\x8ac\x86\x1d\x88W\x89㖰2M\xb4\x81\xa5\xd8|\x88\xf0\v\b\x99\x0fUD\xccC\x9d\xb6@S0\xd3\x19\xe2\x15\xf1\xf5\u007f\xfeח\x9e\u007f?\xbd\xba9\xc9\xd6\u0558gk=X[7\x9c\xfa\xd4SI\x83U\xed\x83\x17&'\xc7v\xed\xee\xed\xd0\xf4~zi\xeaԺ\xaeʔ\xc0\x00[Uwe龚\x94\xa4(\xa1\x8eO\fM\xa8k\xec\x18\xb4\xb4\xa4\x0emk\xd8q\xf0\b\x8de;Hb\xe2\xbc\xf9뜲\xe6R$\xc6\xc3V\x90ZD<ȵ[\x18\xf7\xf3\x1cB\x9e \xf53\xa4]\xc8\xc4$ONU\xbb\x05\xf2\"\x83H\xd1\x1d\xb5\xf1ƞ@\xf7\xaak\xa9%\xd24\x84o\xa9z\xa2\xb7\xac`\xe7piA]\xa4\xa6R\xd8˿!\xe8P\xde`GY\uf26a\xd2\xed\xf9\xd1\xd1\xf9\xdb\xcb\x0e\xf6\xe3\u007fu\x96m\x93]\xbbOmK5\xea\xb5٨\xa1sH\xf8\xaa\xf3\xd3\xe1\xee\xb3mPe\xa9\r\xaa,\x99\x9f\xea\xcfc}\x0f\x11>S\xbf\xd1\xcc\xe0}\xb2\x82\xbb\x17\xaaI\xa8{\xfe\xb8\xe5\xc7)g\v\xb1c\xb4\a\x1bd\xb5\xe9\xc9\xcct\x18\xa2W\xe5\xef\\$\xdd|\xe2\xc5\xc4\t\x90ZŜ7\xb1]\x1e\xa4\xe8da=\x83\\\x88\xad\xf2v\xbd\xf4ICM\xf5\xea\x8c懪V?\xb8\xad@{»\u007fk\xfd\xde\xfb\xb6\x16\x16\xee\xe8\x1fhm\x19\xf2>\xa1\xcdk;\xa4\x1b\x1e\xa8\xbc_oh)ʩύ\x8a,\xdaSU[l/\xcaϻ\xbf\xac\xa2\xacpU\xed\xba\xf6\x92\x18\xa8\x1b\x10 \x1cі\xe2u]\nY\x91\x01\xa2,\xaa\xaa\x90\xe0V\x0eb)\x00\x96҃PNJ\xa8\xc2\x01\x10HR\r.\x92\x96\x81tG#ju\xa3\xe5\xde\x1d\x90\x15\x10\"\xb6r\xa2M\xb44~ִ\x1d}\x85#\xbb\x8a,\x9b\xc7\xea\xff\xdd\xf9\x1bM\xa00]\xdeU\x99\x94Xژ\x99\xdfۘ\xbd\xb5R\xf8\xc2Rj\xc9s\x98B,\x95\xf7\u07fb\xa6\u007f\xe0@\xf5\xc7C\x9d«\xab\xba\xb6\xb5fd\xaeY\xb9$P\x17g\xaf)\xaa\x1b\xb5\x88g<\xc9\xe1\x8d\x00*\xf5r\xa9c\xed\xb6fn\xe9\x9enaa\x8c\xa3Is\xf5b\x1c͋؏ \xef\xd3S\xe2\xaeI\x93\xe2)ewRYGF\x91\xab;\xd3Ɓ}\xf9c\xa07\xcckB0\xa5$\xd0N\x95b\xf6u(s\xd5\xc6Ξ\xc1\xa1\xa4\xbfŘ\xfe\x12${q\xa8\xd4\xc58V\x11\\-\x9a\xdb\x03i^e\x0e>\x06u\xa1\x88p\x13\x032\xf2-k\x1f\xed(,\xb9\xef\x915\x15\x8f\xee)\u009f\xe5\x0f\xee\x16Bv\xa3\xbe\xdd\x0f\x0e\xefF_\xeb\x92\xee{\xf7\x04r\x9c\xf8\xef]II\x9d\xbf>!\xbc5\xf1\xde}摷?(*\xfa\xe0m~\xf2\xb7o\xbd\xf5\xdb\"\xba\x87 o)\x01\xcb\\!pf\xfb\xba\xf4\xf4p\xabK\xa1<P\xe4\f\u007f\x8eY\xf0đ\x93\xda\x14rZICe\u007f\x8dYx\x05}\x11l^\x93\x99\xd4\x1c\x17ע[R\xfbh\a\x1a\x1e\x11\xf8Ҧ\x1c\x83\xff\xa2\x87\xfd\x03D\xbbW9\xf04\x14\xc11ߢ\xb6\xca+\x0e\xd3m\x19\x8cM]\xa3\xc0\xad,\x91[\x19\x10\xb9q\x1a\r\x82\xd3\xd2D`(\xa0i\x83\r\x8cL\v4&>.7g\xfa\xd1͏\xf5oOAW\x9e?\xdf\xde\xf3\xc2yM\xc4\xc8P\xd7p\xc4\xea\x9f4\xcfġA\xc4\t3\xc2\x00\xb3\xa7\x11\xf9\x14\xf3ܻh<1\xd8N\xe0;\x89\xdbFܟ\xf0^\r\xc7\xf4\x91\xcdU\xc3v\xcb!eC\xf1x\xb3E\xbd\x91\xa9\xceA@\x02\xf8\x04\xc1\x9a6\x18/V\xe2+or\xda\xf8C\xcb\"\xa9ԨX\xfco\x19+\xfe\xa7ج.\x8cH\xc38\xadȉ\xa4\xed\xcb\u007f\xbe\xd2F\xb7\xef\x03;\xeb\xfb-MG\x9a\xabFw\xe4ϛ\xf0\xb1\x14T&\xf4\xeev\xb4\xf6\xe6t\xf5L\xbfa\xa9hHƛ9S\xde\xccA\xa9\x95{\xeb\xfa&\x13\rC݅]5)\xa6՝\x95ּ8\xff\xc6\xdaҊD\x9f\xe1C\xf7e\xafY\x19\xb3((\x81m\xec[,?S3\x8eq\x11̱\x1aSZ;\xa9\rR\x03k\xa7\xae\r\xc2,rwT\n\x84\x16j\x9f/Ձ\x06\xb9ً\x9a\xb9\x8cb\xf8\v\n\x1f\xd4<58)\x9c\x85Z\xcf#N?\xfe\xba\xd3O\x94\r0\xaf\t\xc2\xfb\xb5\xe5\"i\x8b\x1c#՞Ѹ\xca\x06n\xd5W\xe4\xd10\xf5\xdeW\xcc8\xa3\xc7c\x00\xfe\\\x18(6\xa6\x0f\x93%\x021\x05\bd\x01\x14\x13ȶl\x14\xfa\xf3\xa7oV?\xba;\xafd\xcfC\xc5[FLO\xa1a\xe4\xd7\xd3\xdf\xdf\x1b\xb7\vM\xdd\xfcֲ\xf3\\\xff\xf0\xaf\xf6XV\x99\x05\v\xfa#\xaaxb\xfaܙ\xcf\xe32\x00\x97\xef\nG47\xf0<\x96qi\xd0ێZ\xe19hǬ>\xd9\xfd\xc5µ\xb1\xd2A\xbe\x98\xd2<\x95R\xa5\x96^@4\xf1.\x94\xf2\x96\xd5\x1an\xaf+X=\xbc=\xa7\xb8k\xa26\u007f\xb8\xbdD{\\w\xe9\xa1\xfd\xf1%M\xb9\xf9\xbd\r\x99[\xd7\x11\xe2\x88N2\x99tzGӡm\xbbN\xef\xb4\xc5V\x1dj\xfb\xe2\xf4\xe0\x9a-\xf9I\xc1\xba\xc4\xcc\x1aG͘\x85\xc8#\xa71=T\xe1\xf5\xd7a2^\x03\x9cR\x8c\x81\f\x99]~Ur\x17\x90N#h:\x9f\"\x8dM!u\x18io\x17)\xe7\x9ceY\xd7T<\xd1[Q3r\xb6\n]\xfa]Ne\xf9\xfd'*\x87F\v\xad\x9bON\x8f\xea\xcc۞\x1dz\xe8ٖ\xb8!˩\x81ީm\x96\xe1\xd3'\xbb\x8e[\x0f\x9d;yV\xccI\xc4\xe3Ճ\x96\xe6\xe7\xd2\x17\x88\x05uy\x1e\xa9\x8f\xc4\a\x17\xb0\x91\x06*\xb885ĺ&\x14\nW4}\x8a\xb4:\x92M\x87\x0e\x8c\x8c\b}R.\x1d\xb5{\x93ܧ\x10\xaeD\x8e\xbe\x995\xb7ǭp\x9b\xda\x06\xa5\xcaڑLn`sZ\xf7@\xa3}\xb2\xf2\xfe\xde\xcaI\xfb\xbdC\xba\xd8\xdaGw\xf3!N\xa1\u007fd\xa4\x9f\xe7\x9d\xdf\xee|\xb4n\t\xf4\xb5\xc3{\xa9\x9e\xe8$\x16\x88\x802J\x9eU\bO]\xe2\xa1Ǵ\xda\xd3#\x03X\xf58YK\x97\xb3\xab\xe9\x067\x06\x88]\xfc\xa0d\x97\x9eePC\xcfWڔ\xc6J{5\xabZ\xacc\x99[TļCxݪ#=ku&sĹ\x82\x8a\x03\xfb\x93״\xdam\xbbj\xec\xe5?:^y\xfc\xf8x\xaf\x9fіP\x9a\xa5\xe3\x97l\x99\x1e-\x19\xeem1\xd5\xff\xc7г\ay\xb4\xe6\xd1\v[\x97\xc4lzz\xe0ػ{-\xbc\xf04\xfa\x83\xf6\xe2kY\xdb\xca\xcdON\xe3\xb5\xe8\xc4\xf3\xaf#\xfcl=h\x19\xb7\xe1gL\xd9ucp\xf2\xac\x19Ia@r\xca|\xa8j\x04\x85\x8d\xf0\xff\xf3~B\xf7\x05\x94\x84\x12\u007f)\u070fN\\\x10\xde\x14\xdez\x1e\xe9\xf9\x16,1\u007f\xe3<\xea\xec\xe5\xe79\xff\x0e<\xe1 \x1eO\x0e\x1eO\x04d\x91r.r\x94\x1bm\xb8\x15\x82q+\x16\xc1\x12\x8a\xe5\x012}HZ\x96p\x12&@\xc9\\EI\xf8_\x89\x98\xc0\xdd\x10^\xfe\xf0\ue089]\xfdO\xf4\xefz\xb2\xb0}\xac\xec\t\xdd\xd2M\x87w\xe1y\xf9\r\x1c\xd6\xf8\xcc\xdc8<\x80\xae;o\xb4\x1f\xdd\x14/<Me\x90\x16\xbc\xf7Z\xf0\\\x96A\xb6\xc8R\x99\xbfy\x96AXʚ\f\x88\x03@\x9c\xc7:\xdet\xc8\xc0\xfa#\x891\x02\xdf\xcc\xe4}\x91\x93`\x89\xdd[\xd1\x14\x83l\x8c\x00\xd1(K\xcbn\xa3\xa1\xca\xddE\x862۹\x83\xa5e\xabr\x8f\xe6\xae*+=t.muT\xd1\xceʚvCd\xbbnU\xf7\xa9\x9a\xa33e\xef\n\u007f<\xf4\xf8\xe1\xb1o\xbe\x19;\xfc\xf8!\x14\xf9n\xd9\xccњSݫ\xd6\x15\x14\xac\xe3\xe4\x1c\t\x88+\x87\x1c\t&\xef\x908s\x88\x87\x97\xe2\xc6\xf0w\xfeu\xf2\x9dَ\xf0\xf7j9\x96\x96\xdcO\xeb\xef\x11\xfb\x1a\xf9\x9e.\xc7j\x92\xef\xf1\x1c\xedCKbl1?\x8aÂ\xc5&ٶO\xa3X\xc5f\x9bn\xb5\x9e=\xf7#\x97{\xf4\xca\xe9\x17\xbe\x01b\xdf-Y\x1b\f\n\xf4PmW\x83\xb9 ߴw\xaa\xdd\x06\x81\r_^\x11\x83\x1a\x02\xd2\xf7l\x86h\x86\x80\xf4\xdd\xf5\xa8G\x18֭?~e\x04B\x1a0\xe1\u007f#E4\xac>5T\x03\xa1\f\xa5\xf8\x93\xf7\x1e\x94b\x16\xc9\\\x13$\\\xf6\x90\uf244\xa6\x18\xae\xf1\x16+\xbdH\x02\xeb|\xe7\xb2}\xb9\xc5r\xabm_X\xe2\x00Dž\x95J\x8c>\xaf\xa0\xc7^\xf8\xb0s\xf7\x87\xe7\xc1\xf8\xc5w\xa06\xe1\xb8sT\x8c/#cH\x92\xe3\xb2\xc8\xf7\xe5d=>\xa7뇯 Lj\x13DK\xf91\tB\x19\xec\xbb\xe0\xa3Y\xedVJW&\xb4\x86\xf6V4\x18\x14MU\xccz\x86\x11\x0e\xe9.\x80\xf8\xcf5\xde37k\xf8:\xe7\x99\x1a\xb8\x1a\x1f\xe7\x8f<\xc2\xf7\x8f˾\u007f\x88\xc3\x06\u07ff\x92\x86\xf8\xbbe_7\x99\xc3\n\xf2\xfd\xb2D\xa35\xb2\xff\x90\xfc\x9e*ۦ\xc9w;\x99s\x01\xe4\x1f\xe19\x87c\x9en\x81\xdeE\xe1\xd2\xc9\x11\x1e@\x9b_\xc2g\xdc\xec19\xaco\n\xd9\xcdzI\f\xf4\x93rw!6z!\xcb{\xa1\xdd5\xf5\x01\xb4{:<>9%N\xd1#\x9c\xb5\x846\x052%\xd7\n\xddձ`\xc4\xebwL\xf7\x16\x16\xf6\x9e\xdb~R\xba\xa8\xe8(\x8b\x8d-\xeb\xa8\xc0\x17\xabM\xa6\xd5\x1d\x15M\xda\U00081a6dMS\x03\xe5\xda\xe6fmy\xffT\U000d6a41\nm\x13\x96z\xb3\xea\xbb\x1dy\xdd\xf5Y<\\\xe59\xe0J\xf4\x03\x10\\\xa4Q>\x87\xbf\xb7\x90\x1eN;\xa0\\\x88\x9ag\xbb\xf9\x94\xdc\x10\xe1\xd6\xfdLY\x04\x02\xfa\x9a\x85\x13j\x10˸\xfb\aPV\x8dd\xc7\x13\xb0j\xa99&fպ\u007f\xfd\xfddDN\xeb\xda\xd3\x15\xad9\x11O}\xfe\xfei\xd4q\xf9m\xd4%\x9c\xc8\xdeVa\xe6\a\x9d}\xe6\x8am٨Y\x18}\xfb2\xb1g\xe391;+^\xff\r\xe4;\xb1Uz\r\xf2\xf1\xda\xc1\u007f\xe38o\xbe\x96\xa3\xf7\x11\xdb\f\x85\xfb\x03\xbc\x9e\xc1\x89\xfeO\xe1\x10C\xc0708\xd1C)\xfc\xef\x00oT\xc1#0\xbc\xfbo\xeep\xb8\xff\xa7\xaa\xfb\xa9\x1d\f|\v\xb4\x06Р\xf8^\x92?-\xbfw\xa7\nN\x9e\xaf\x82\u007f\x87\xe1W\xe8\xf3UprV\xd1\xe7\x90\xf1\xeca\xf0\x9f`\xbct\x93\x98\xdfhR\x91dP\xf8\xf1-\xf0N\x97c\xb8\x01\xbf\x13j~\xee\x83\bY\xea\xf1\a\xb1\x91\xd4\x0f\xecc}\xe8\xe6\f\x9e\x9e%-\x8ex0D\xa3\xb9\x98\x01ǹd\xc0AT\x83\x1c\x1a\x83\xac\x1a\x13:Ƿ\vY\xc0m\xd1;\xceqa\xe2\xed\xfc\x02)y\x04\x8f\xbb\x83\xc8\xef0n\x13\x1b\xf7OA\x83\x13\xc7\xed{'\xe3vsg\xb8Y\xff\xe7,\xfe\xa8\xc1\xb7Γ4+\xd6@\xd3\x1a\b%+\xa8\xbe\a\xb3\x98:\x8dRN\x9f\x16><-L\x92\x19\b\xc1\xe8[̎\xbd\x9d7\xe9$\xe8\x1c86\x87\xb6\x8b\xa4\x1do\xa0\xb2v\xe3\xdcs\x98\xc3a\xe1\xb9\xe1'\"\x95\xca0Á&\x06\xa0\x9bZ\x19\xbe\xbb\xff\xf2\x17~\xe4\xaf\u007fuv\v\x97\xf0H\xc5(|\x86\xea[\xb3\xe4:`$\x94cZ+\xc0\xe7w0\x86'qM 牝\xfbt\xccޔHf\xb1L\x9aE\"\x8c1\xd1\x1dϞ=\xd3:\xe9\x10\x8fr9\xc4]\xfbc\xb08*<\x1b\xfe\xfdփ\xb5\x89I\xf5c[Z\x0e\xe1\xcfMcM9\x95\x96\xc0@KeNn\xa5% \xc0R\xe9|\xed\xf5\xfc\\]͓\xd7\x1e\x18\xbe6QS3qm\xe8\xc1kO\u058c\x97\xf7=}O\xed\xd3}\xe5\xe5}\xcf\xd4nğZo<}\x9e\xcba\xe7\x03\xd6\x03\xb9Ͱ\xf2\x8bX\x8e\x94\x86\xe6\n\xf7\xc1ʄ\xcd\xc6\x12\xdd\xdaù5\x9d\x95\x83\x13\x88\x9c\x1d\xa1\xb1\"J?\xfc\xb8p\xe6\xd9\x03{;\x87\xa7\x853\xa7\x9c\xd3\xef\xe4\x17\xa0O\xf8g\x85o\x84\xbf\xa1\xf9H\xe7,\x17R\xe8\x02\xcd\xe6oe\xf4UN|NIPI;^Z\x9d\xf8;Y\x19\xb7\xc3]\xf6A\xa9\x19>\x01\xc4\a\xcc嘊\xbb\xbdcJ\x03\x94X\xf4zt\x8e\xcd\xf8\xea\x8b/_\x88Iˉ~Cx\xb9`\xb5.\xa5\u009e\xb96UW\x96/\xbcr\x03\xafܐ\xb1\xb1\xfft\xf3M\x14,|}\xa3\xf9t\u007f\xa3q\xa8\xa7\xeb\x87SU\xa3\xe0\xa1\x1a\xad:\xf5CW\x8f\x84\x17ҫ\x87\xd8|\xb4\n\x1fD\x1c&\xa6e\xe0\x8b\x89\x96\xe2\x05\xa3U1\xa3\xcc\xf5⦝x.w$\x1f\xf4!\x01b\x9b\xa8`\xfc\x19\"\x99꣥\xa2t\xd4(f\x8f\v\xf1\xf2\xd7\xccKS\x94\x95\x97\xab\xb05\xee9e\xcd6\xa7l\x1aX\x8f\xde\x10\xfa\x8b곌>M\xef\x97\x1d\xee*\xab\xec\x9f(\x11믭\xce]\xf5\xc1Ĺ\xaf\x1e\xad\xd4u\x1co\fX\xb9\xeaޜѤ\xb6g\x87\x1e~a\xc7ұ\x89gΜ8\x01U\xd74DV\xba\x89\xf5\x16\u007f\"ݴ\x02\x87\x89#\xee\x02\xca\v\xc2\x18O0\xb9zy=Y\x9a^\x02k\a\x16s\xc0\f8\x0f_\x87\xb1`(0i\xf2\xcc\xfbk\xa2&&#\xb8\x9c\xbcI\x88\xac\xb7\x94\xeb\x19O;\xdcѤϛ\xa8\xedٗr3\x8a\x1a^\xba tN~\x91w\u05ca\xa0\x86\xdeO_\xe8\xad\vH^\x9fwQ\xd37ؑ_\x17\x11\xbe\xb3\xaa}l(dI\xf2\xe2\xdc\xfc\xfe\xec\xac\bsL0\x87P4ȬxN^\\\x06\x9c&ބ\x0f\xbb\xc8\xcdnz\xae\xe28\xe2\xc5\x03DŽ\xa2\xf9\xf3οNj\xfaF\x9c~\xd4WWq\xcb_[\xaf\x81l\xd1P\xd8\xeb\x90Z\x17&\xd9\xe3\xe6\x91ڥ\x8bH\x1fR?i\u05f8i\xb2rD\x9ch7\xe7Xn\xdc|\x16\t\x17L}\xe4$8=\x98\x1c\x19\xc0\x8cQ\xa0Q\xe3=\xafB\x97\xb6:\xc5\xe0[ŗ\x0f=\xe6\x8c|\x8c\xffZ\xf8\x1fy\xa1\x05ÁI\xeb\xf2\xf8$\xa7\xaf0\xfc\xddw\xa8\a\x9f\x8e\x95\x8f\x98\x19}G\x10\xfa&\xbd\xa3oay^\xfb1\xb1\xc7<\x01%\x12\xd5\xf6\x187\x1b\xc0l\xc5\xe1ݼ\x1bnvF\xb7J\xd6\xe4P\xd4\xe2\x87\x05\x12\xff\xcd<\xe0p\xe4\xca\x1f\x18\b\xb9³fu\x880\x97\v\x86F:\xf6`\xb1Vr`\x02\xfe\xac\x12^=\xf7Ǿ\x83\xfd\x9f\x9d\x13^A\xb5S\xc2\xd7\xcd\a\xb7\n\xdfL\xf1<\xea\x15\xbe;\x85\xce\tU\xa7\x90\xbf0\xe4\x14\xd0\xd9nh\xe7\xd9-Ԃ\xcc\xfa;\x88\xc5\x11}l\x9c\x8b\x8f\x8d\x99n<\xfb\xd8\x02Ue\xc9\xe63\x1f\xd4|\xc6ލ\x01b-=\xa8A\x1c&y\x14A\xf5\x16c\xf6(Aǫ\xbaD0\xba盫\xc7\xdar\xb5'\xbc\aڶ\f\r\xec\xc8\xcfߺw\xef\x96m]>'\xb4E\xdb\x1e\\]5\xdaj/\xaf\xae\xd9|Y\x17SҾ\xaev\x95\xa3\xac\xac\xb8\xb7\xa8\xb0(\xa7\xb8\xb6jOQdLACn\xe1\xae\xc5\xfa\xce\xf5\xfd\x83\xac\x8e\xb5\xe6wb\x1dkW[\xb5۞u\xb3\xed\xccQ\xb6\xe2\"\xc9m\xf2eu\xac\xa9PC\xc2L4\x90\xe6\x16\x18\x8cL7O\x04\xa2\xe1\xf7O\x04\n=\xefk\xfa\x84$\xe1&\u007fef\x10]B\xde\xce8I\x1f\xfb\x1d\xd4u\xe2\x9f\xe1Tu\x9d\\|%\xf5\xb7\xbe'\xb6\xc2@\xae\x12\xbc\xd6j_\x89[\ru\xb7\x90=\x99\xf2\xc4R\xb8\xde\x01\xa2\xd5\xd0\xcev\x12\x16\xbd4\xfe\x1aS}\xe6\xfa\xb4\x98\x05\xab\xf8\xa2I\xe1\x9bt?K\xed莁\xa0\xb4\xc6\n\xde{f\x90\xbf.\xec\x84hJ<\x9ew\xc06A\xf6z; !\x90\xb4\xff\x9b\x95\x8f\xb8\r\xd0-kV\xae\xf3\n\xf9b<\x1e\x9a\x96\x15\xfd\xf7\x95|P\vY\x10O\xb0\xde\x0eM>\x03\xed\x1a\x93F\x1fhz\xe7\xd2Hq\xd1\xc8'\xe3A_\xf4~\x114\x8e\xb1\xfc\xc2믣2\x8c\xe5\x1b\x82\xf32\x9f \b>b\xac\f\xa1\x81{\xfe\x11\x1a\x98C\x9c}\th\x9fĩ\xd2\xfc<Q\x88\xbd9\x89\x1e\x9b\x9c\x14v@\xf1\xf21ԉ\xc73 \xc8\xfd\x1e\x95\xbe\x14qls\xc5\xf1\xcc\xd1-\xc1=\x8e\x87W\xc7\xf1\xd0A\xc0\xf2aN\xcd\xfc\\\xf4\xfd:i<<\xf9\xeeM\xc6\x03:`\n\x19O\x8e\xfbx\xdc\xf8\xa0r<|\x80H^ąC\x8d\xe3X\x0f\x15\x1e\xd0\x1c\x15\x86&\xa9\xf7F\xae\xd5C|k\x06bG0\xe31MzE\xe0\x036\x95s@\x9dO\x8e\xcb\xe3\xf2\t+Id\xb2p\xce\xec\x91\x0en\xcd\x00݊\n\xb2\xa6\xbb\xb2\xfd\x93\x15\n\xf3\x84F\xb1\xba'\x9c\xcef\xa9\xa7\x9f\x95\\\x81\xe3.\x83 8N\x996\x15\n\x1c\x19\xaa}*}C\x1ae\xc7.\xa3\xb2T\x1co\xd07\x97;vU\x9a-\x95\xbbrʛ\xf5\x8f\xb9|=\x91U\xb3`AMVSm-o\xc1\xff4e\xd7\xf8\xfa֔E;\xac{\x9e\xdb\xdf\xfb\xdc\x1e\x9b#\x1a})\x84\x91\xef}\xf7\x93\xefB1\xfa2E\xc7{\xe9R\xa6O<1=\xfdĉ\xe9\x14\x9d\xf3\a]\x8aT\u05c9\xe0:\x92\xd2\x1b>\xa7-d/T±\xc3\xf6\xc2~Ѐ\xc2\xd4Șc\a+\xf5\f/\x82\x1aЍ\x12Q \xdd\x02\xd0Q⸳\x11\xf6@\xfdc\x10C\a\xc4'\f\x91\xf7\u007f\xc3\xe8=\x84\xab\x82#N}κ\xf9b\xdcL\xd9\xca\xe6\xd7\xfe\x98\x145\x84U\x80>\xc1\x81\x15\x8f\xc5+YC\xe4\xd2n&MJҀc\xeaٓz[]QJs\xc2\xe4$\xeaZ\x100\xf5\xda\xc5\xf3y\xb5\xf6\xf0\x05>hxf\x10\x8f\v\xf0T'\xf2\bW\x1f\xc0\xedy\x84\xdbȕ\n%\rE\x84\xae\x00\x8cG\x90\xff\xba\x9e@\v\x1eG\xbe'f\"0\x8a\xfc\xf9\xef\xe0\xbf\x19rfu\xe15:\x87Dz\x88\xdb\x0e\xf6M\x96G@%\xa8;^\xa39\xab\x1d\xcfg\xfbT\xec\xf4\xaeX<\xb6\x80ڈ\x99:6\xc0\xea\xc3\xf2\x00\x9d\xfe\xc2 \x91\xf7\xf0j\x92\xd8\x02H=\xbd\x1bb\xfc\xc5\xfcq\x88\xf1\xd7\xce\xee\u007f\x95\x1d\xf7/\x81Ӟ\xd5E\xd0H\xbc\xc3O\xe2\xf5\xb4\x8e%\x91\x87\x89$L\xe5\x064%\\A\xef\x0e\x1d}\xed\xb5\xa3\xc2\xe5ɞ\xe6\xda\xda\xe6\x1e\xccZ\x84Ѿ\xa1\xe1\xfe\xa1<G\x01\x94\x8d\xc6o<\x86\xc7\a=9|\x89(\xda\x05a#b\x95\a\xb1\x8e\xe6\"U\xa6\x93\xdb\x1a\xbbŧ\xb8\x9d\x03r\xa6\xd3KDF\xa3\xfd\x12|\xa5Õ\x84\x9c\xba\x8e\x1f\xe3\xf6\xd8S\xfd\xc7^}\xf5\x98\xf0\xfb\xa7:a\xfc\x9d|\xdd$\x1c\x14\xf2\x14\xd0ML\b4\x8f\u0097\xcda\rx.\xc5\xfaJ\xb4\x02\xe8\xac#\x97\a\xfa\x12\x19U\xb0\xfb\xb8\x8c\xe2\xb8\x18k2\xe2\x13+\x8c\f\xaad\x12\xf9\xc1\xa8\x84\xeb\xaa!\x89\xf1$P\xc7=\x1e\xe4E\x03\xabn*\x8e\x82E\xe8z\x96\x17\xb1\x9e\xc3\xdazsR\x15~o\fY\xc0R\xce\x00\xd1\x00\xd3\xe3;uJyQ\x03\xbb\x18\x13\x82[?1\xbe.\xff\xc0}\x15ޏ{'\x16T[\xfa\x0e/\x14v\xa3C\x8b\x0e\xf66\x0f/xܻr\xefC\x8e\x8a\x89\xfeʪ\x81\t]T\xf9`\x93\xbd¬\x1b\x1a\xeb\x1e\x1e\xacok\x1a\xa8\x88J\xday~\xf8\xc0\xf3;\x93\b\x1d\xf7\xe09u\xb38\x82n\x88\xc8\x10\xe3\b\"Uz\xad\xdb\xfev;d\xdc\x12\xa8\x95\xf3\a)A+\xcd?X:a\xc2%\xf5\x16\xa2\x1d0\xb9\x90\xa2\xd1xe\x94z\xad&\xe8\xd9ӾONL\x9c\\\xf4̿\\<}\xfa\xb5\xed\xb5\xb5\xdbw\xd6\xd6\xea\xfe\xafw\x85^X\xa3\x97\xfe\xf5?\xaf\\\xfdax\xfa\xe4\xa9\xe9\xe9S'\xa7\xa9>6\xc1\xf8,\x90}3\xec\xcfp\xd2\xf2\x80\xee\xcf0W/\xc4\x1cAX\xca4%?I\xec\xf7c\x86\xe8\xf9\x92K\x1c\xb1\xa8\x15\x10=LX'\tdqs\xe8r\xcbPN\xe7\x13\xf7\xa2\x8c\xc9s\u009f~\xcb\x1f>\xfaЏ\xf6=\x8c\x1a\f\x03m%\xdbJLX4*\x15.\xa0wQJuI~\x8d\a_\x1a\xdb\af\x96Ot7d\xfe\x8a\xf9D\x90\xf1\xbbh\xf6\x1a\n\xae\xf9D\xf2\nP\xd3\xea\"\xe6\xebb\xc5ì\xca\x1aK,\xb3\x88\xbf\xe9|\xf6\x8b\x86\xe3\xed9\xacF֕\xd1ξ\xe1K`R=\x93T\xdd[Y\xd9[c\x1e﨨ip\xf7\xf91\xd9\xee:\x89\x0f\x9f]\xdfv\xb3I\xaa̿ld&\x18\xc7\xf9i\xfc\xda\x198\xf4R\x84\xaf\xb4C\x04\x1fz\xee>P\x0fE\xce6\xbb\xae\xedV\xba\xc6-\x0eF\xa9|\xd3\xe4\xf1\x85R\xea\x198\xeb}$d)\xd5ob\xb1\x05\xdd\x01\xcdK\xd1\x16\xd5g\x99|[y\xc7\xe4\xc4̗\x13\x1a_A\xa8\xf6KJ:\x18\x92\xb1u=\xff\xd7\x19?\xa1\x0e酯\xd0\x19\xcdV\xe7c\xf5}FW\x9f\xa7\xa8\x83\xe3yͥ\x83\xbbE\xd1\xcfat\xfb?\xaa\x83\x17\b\x97\x9f\xff\xbe\xe6h\xcd\xf7\xcf\v\x97Q\xc9Ya\xa6\xf3h\xa70s\x96\xbf\x80\xde\x17:O\xf1f\xe7'\xa7И`s\x96\xf29'\x85&4q\xd2\xf9\x16\xd0\xcc\x14\xe6?A\xc4G\x97Ch\x86\xf9\x15\xe7\xd4W\xe7\xc0\xc1mLﲾ\xea\xe5A_\x9d9\x1e\x8cv|~<Xx\xecs\xed\xa0\xb3]x^s\xed\x87>~\x1c\x95Ϙ\x14\xb5(\xb2\xb0\xbe\xfa\x0e'\xe6\xc8}\xe6\xc1?k\xc0\xfa\xea%R[fv}u\x8e\x143\xb5\xbe\x8a$}\x15\xb9\xeb\xab\x06GMf\xec\xc2\x16\xbezJ\xf8\xa6f\x91\xb5\xe1\xc8\xee!}ֶj\xfe\xaf\x90\xb8\xe0\x1c\xdd~\xb81Ƀ\xefV\xe5K\xff\a\xfc\xa4\xf2\xfdFw?)\x91\u07fe\xd7\xee\"\xfb\xb3\xc4]?\xbe=\xd9\xca\xc1\x8et\xfe0\xeb4;\xb5o\xe39\u007f\xf3\xe3ә\x82\xf9\xc3\xdf\r\xb7\x9dyI\xf8'˶\xc1\xd3mC\xf5\xed\x1a\xab\xb0\x83\x98\xb7\x1f\x9b\xf9\xeb\xf6\xf1\xbaDw\xffl\xfb\xff\x92\u007f\x96u\xe6e\xe5ǡ!\xf7m}\xb3\xa2\x82d\xb3\x86\x88\x9c5\xc4\x14\xc8\xdc\rYH\xf4?\xf0\xfa]\xe7z\xf2\xf3{\xce\xed:)]Tu\x96\x1a\x8d\xa5\x9dUp\x11\x13\x83/\xced\xec:Z\xbf\xe9\xf1]Yg\xe4+MUbYsFfsY\"\xfe\xcc\xcc\xc0\x9f\x1e\xfc\xb271\xaf\xb4\x93\xfd\xe4\xa2\xef\xf8\xba\xca\xd2s8\x1a\xd4\xfa\x0e\x9aEߙF\x03\xd3\xcdOBI\x1eH\x9a\x01\x13\x1bč\xb2<\x9d\xb9\xf4\x1d\xf9ELߑ\x01J}G\xc3\x12a]\xf5\x1du)k\x93&!\xb17\xe7\xdc/\xa6\x83Sj\x8al\xf5q\xd3\xd3\xe8\xa6o\xe0\xf9\xf7Q\x82\xf0\xa7\u0086\xecž\xbeh\xe6\a\xda\xe3\xad\x1b㪆\xe0fv\x9dg\x0e\x9f\x99\xdb\xe8\xd5:\x0f\x92u\x1e\xf1\u007f\xc6\xeeI\xe1\xa409c\xc4H\xf2\x83\x94j\xcdu2\x14\x18\v^\xa7gI\xee\xf4\xedt\x9e9\xd6iN\x87\x18=\xca\xdct\x1e\xf9\u007f&m\xd0\xccV2\xc0\xba\ty\x80ppa\xde\xdfO|\xe3\x92\f\x12(\xc9 \x81\x9e\xf4\x1d\xcfu\x1fe\x19D#Uh\x11+>J\xfa\x8e\x98\xdf,k\f\xa7\xb1\xc6\xf3\xb1c\xf3\xe3T\b\xf9\xd3t\xcaP_\xdfP\x8a\xe6\xbbq!D\x94A\x0e\xb6\xd6\xd4О)bm;\u007f,\x1bD\x80\xde\x13\xccb\x11\xa8t\xe0\xf3\x11\xfd\x8c\x98=;\x8d\xedyO\x89\xea\f g\x1a\xbd\x84߂\x98\xde\xe3/E\x8a\x13\xbd\xc7}\x1e\x18\xc3G\xa6\xed\r\xc7w\xe7\xe6\xed9Q\xff\xe9\xf4\xd2\a\xfa\xfa\x1eXʯ\x9eƂ\x8d\xcbT\xf8^J\x17\xb2\xec\a\xf3Y\x03q\xb9\xa2\xac\x13\x10\xa0\xec\xd1\xe76\v\xa5\xd8\xca\xe3_\xf4\xb3\x8fQ)\xefM\u007f.\v{ӗ\x00ї\xdc\x06G\xe8U\x8c\xbfZ\x02\xba\xd0|\xe6\x1br\xe9\xf1\xe19\xd6\n\xaa\x01.R\xd8\xce\x11Ӆ\xe63w\x1a\x18\xb3\x00\x16\x0e\xbe\x14\x17\xdb9>\xfc@\x19\xd2H\xcaPP`\x00ϗ\x97\x1f\xf9Q\x85v\xcao\xa8\xab\xb6\xb30\x82\x17\x82П\xb5\x86\u008e\x9a\xae!\xbf)mŏ\x8eU\\\xff\xea{ݒMG;\xfb{\x8av\x8f\x95\x0f\x96\x8elw\xf4\ft\x1c\xafO\x10~-|)\\\x16\xde\xe7$]\xa8\v\xcf\t\U000adea1\x97\x92\x98g\xb4\x8c\xc4e\xcf\x1aI\xe6\x96!=[\xf9L2\xff\x05Rl\x13G\xe2\x80\xc52\rq\x92\x9bZR\x864\xb39\xab5\xbaƁ\x8a%\x9a\xa7''\x9f\xf6J\\7\xb0\xb9e\xa82\xdaX5ܔQ\x12\xbfhQ|IF\xe6\xaa\xc4E\x8b\x12W\xe9\xd6\x1dz\xbb\xcb9\x83Wп\xf3\x8d\x91\xf2{N^\xee\x1f\xfa\x1f'\xeb\x0e\x17\xec;\xb3\xb5\xf9l7>k\xce4\xb7\x9e\xd9[\x00sg|\xfa\xce\xf4\xa596\x87\xcc\x04A_B\x1e\xf5%4\x97\xbe\xf4yߓ\x85\xfd\xe7w\xa1\xc4\xe9#\xc2K\x9f\xf0\xe7\xfa\xa1\x9e\x01\xfa\xc0\xf4\xf4õCuI?\xf4\xa1\xf3B\x05\x9f\x83~\xd9\xddto/ї\xa8_\x0fj\x99k{* n\xe5\x14Gx*\x85k\xdb\xf1J8\x14\xb6\xdc\xfd K\x87\xa9\x17f\x16\v\xb3dPƼ\xc9\x1aH\xfd~Q\x8f\x12\xc7\xdfw\u0090\x13\xa6w\x9a\xf5P^\b9L~.5\xe2\xdc\xccdJ\x9f\xe8\x02\bv#\xc8Y\xc0\x90\xe3\xc3\x02\xe5hx\vy/\xa9w\x11B\xfe\x87ߞu\xf4(\xff\x9c\xf3/\xa8S\x18\x9bD\xbdèw\xe4\xbba\xb0+\x8a\xfe\xbcY{\xddGH\xf0\xee[\xf4\xbc\x01\xb8V\xb4ep.\xb6\x8c9lg\xc0\xc5y\xbcCD\x8bJ\bK\x17\bW8\xad\xa3\b̈\xef\x8arϭ\xa4\x19\x1d\xf3\xf0\x84\xc4~\xf5\x1a~W\xc5D\x1fX+*\xf2G:+\xbc\x8f{'\xe6W[\xfa\x1e\xf1G\x8f\b\xbb\xfd\x1e\xedm\x1e\xf6=\xee]\xd95\xaa\x13\r\x17\xa2Mcp\xb8{l\x88\xda4`\xaeT\u007f\"\xfe\xa4\xa7e\u007f\x12\xe8U\xb7\xfc\x89o3\x9c\xfb'8[\xe9\xc9\x05t\x10>{7I\xb7\x88s\xb7\xf6\x12\xb2\xd7\xe6\xf6\x16\x90\x8b\xd4\nŴ+/\x92&\r\xe2\xd0\"\xce+\x90\xf6\xa4\v \xbfR\xbfor\x8aQҫ\x14\xda\x16\x02Ǐ6K'\xba7Q\x8d\xc2\xed9S\u007fDvn\xba:>\x05\xa0\x12\xf0w\xfa\x13\u007f'\x91\x85\xe71Y\x18\xf0\xb0B\xc2\x03\xe3ܞW\x1eZ\xf1\xf8\xab\x9a1\x81H\xe9\xcf\u0099\xe4\x96L\xe1\xf8\xcePF\r\x1783\x84T\xaf@w\xe8\xfc\x9c\x17b\xe2\xc3\x1fz\xd6\xfb6\xde\xcfg\x1f},\xc0odt\x0e\xf7gǀ\xdf\x1f$\x1f\xe3\x80\xe4c\xbc\xffEN\xf6=BO\x16\x06\xefR\xfa\x1e)/)\xc5p\xe2\x81\x14\xfd\x06\x15Ğ\xd4q\x91X\x81\xdc\xe537\u007f\xbe\x9bqIe\xe2p\xa5\x10\rxQ\t5\xf8\xb0+1u\x9fQ\x03\xed\x10\f\x12\xee\xc5|\xe1\xe5\xc7''\xd1ۗ\x84.\x94\xb1\xe3Q\xf4A\xbfp^\xd3'\xf4\xa3\x01\xe1\xbcPG\\\rx\xcc\u007f\xc6s)#y*\xbd\xb0\xde\xea\x1a\x89nVS7\x13\x9f[\xa1W\xa5\xedڟ%v\xd1z\x96\xc0\xb5\xbcI(1\x8d\xcd\\\xc4>\x03\x99\xfc\v\xf5|\xa9\xb9\x00\xab@6\xcc\xf0\xff\xfcDE\x87\xe5\xc6\vX\xb2+{E\xf8\xce\xdeQ\xf1\x04x\nO\x9fƬ\xadR\xb0\xa2\xa1ӧ\x85^2\a\xacaj\xc7\b\u007fm\xbfH\x02\xa9\x94\xfc\xd5ͺ\xee\x16\x97\xa0̓sӶE\xab;\xb5}\xd0=\xb9\x80]1yT\xeaɌr\x84?\xa2W\xd1;\x80\xf1\x93\x1f\v\xaf\x1c\a\x87\x1eE\xb8\xf3c\x82\u007f*CDc\xdd\xf7-<\xdeŜ\tℂXE'\x1a\x8d.K\x9dn\xee\ne+Z\xa5*\xe4#\xe6=\x99\b\xb2\x17\a(}\xd8:\xa9\xc6C\x84ʛ\xcd\x12\xb7\xa1\xb2\x03X\t\xe2\xc4}\x17m+\xb3,^P\x88~\xb7\xe5\xe8+\xa9u}k\x84\xe7l~I\x95\x03M\xfc\xb7\xb5[\xea\xea\xb6\xd4\xf6\x05\xad\xac[\xcd\xeb\x85Ѿ\xe1\xc2{\xf3\xa3\xf9\x9bB]\xdd`M\xd2h^a\x91C\xe1;[\x041\xbe\xda;\xdb\x03nG\xc9\x1c{\x80Z\xeb\xe7K\x1cF\xa4~8y\x95\xaa\xe6va\xc7$u\xae\x81[\x99\xba\x98\xa9\x83\x8d\xe7j\xa1\xa75\x1ec\x10FI\x1f\xb0XQ\xfa\ar\f\x9e\xddg\xe0vT\xbb\xd9ʔ\x12\xb57~S\x84\x8a\xfa#\x02hMc\u007f)J\x87\xf9\xbaD\x0f\bLBZ\x88\xda\td\x9ex\xf2\xd8˯\x1e\x11\xde\x11>\x99\xe0\xb7\x1f\x06\x97\xc3a\xb0f\xa3.@\xffP?4\xe5\x18(\xc8/rP\u007f\x0e\xf3\x9bc\xdc\xc7p+!\x1e\x8b\xe3l\\\x9a*?\xd7(\xcd.\t\x86\x9a\xa4\x98\x8c\x9c\x87D}\x11ެ\xfa\xbeHL\xa0LD^\xa5\x9e\t\xfc\xe7\x01\xe29\x14\x97\x9a\xc6*d\x02\xaf\x0eB\xa9\x90\x9c\t\x97\xd4ݫq\x89\xa9\xe4[\xfa\x1e\xf6\t.N0UWUD\x19\xed\xfaht\x18\xff\xbbh\xb4{`\xd4'\xa84\xd1TU\xbdf\x18\xfa\xcdB\xbf\xd4\xf2\xe3\xbd\x15\x95\xfd'\xdaǏ\x18\xcc\xc6%Ƹ\xc5\xc2\f\xaa\x89\x8d\x18\x1ez\xecD\xb4\xc5\x18\x17#$\x98۞\x1f\x82\x9e\xa9Im\xf8\xd8\u007f\xa1ͬ\xc2C0>e\xa2!\xcf@'u`\xd111\n>#\xef$\x13\x8f\xe6*\xeb%z\xd3I}-#\xddz\xa0\xb2`;\xbb1\b\x11\\\xf0M.\x13)\xed}\xc8\xd7y-\x9c\xf7\r\xbfq\xffC~:\xd7\xc1\x0f\x8e\x8c\t\xff\x81F\x91nx\x8c\xc9_\xfeL\xfe\xda\b|\x8d\xc9_\xfb!R2\xec\xf6#\xbf\x88e\xac\x00R\xebT\x94\xc1Dm\x82gը\x96|$e\x95\xa9\x12i\xc5D~8g\x13\xa1]\x9b\x8b\xd85r\xe4\xc80\x11\xb8\xb26\xed\xc9<\x1c\xe0c\xdfu\xf6GJ\x99\xeb\xd4?MMַU\xef\xabH\xf2\xfe\xa3\x14\xcb@z\xb3\x19T1<\x04Nz\x9e\x19\xe4\xf3\x15r\x11im\a<\xaf<\xe0!\xb4b\xcc\xed\xe2+\u070eT\x92Z\xe6%\x86\xbcb\x8eu߳o\xecn\u007f\xe7\xacp\xdfI\x83\xe6\xb8`\x12>G\xe1賙\x16aZ\xf9\xce\x00\xa8\x016ϳ=r\x8eS\x9b\x89\x82\xbe\x1e8\xc1\x05\x96\x8d \xee\x1c\r\xb1\xaaجtdV\x12\x00\xa2\x17\xde\xfc^\xb8\xc8\xc6w\xf1{\xe1͓#\xfcu<\xc4k(\x1a}\xe6\xf4\x1b\x81\xec\x03\xea\xf3\xae#\xbcu\xd3?._\xa8\xa2a\\\xed?\"7%\xb9x4)\x0f\xb8\xe9;\xa9\xc2\xc7\xc2ǯ\xa3DŽ\xfewP$\n\u007fC\x18Da\xbd\x8f\xa1\x06a\x12\xbd\x87\x9e\x17^@eB\xb9\xf0\xba(S|\xc3\u0380p\x88\xd9\x0e\xf0(K\xbbѭ\x9b'\xd9\xd55\xeaE\xb6 \xf4\x91\xe1\xaf^\x90\xca\x06\x10\xd6\xef!\xa2\x81\x9e\x01\xea\xa0\x06|\x14\xb8D5\x90\x03\x01q_\xb1\xf8\xb7p\xf0\x14i\xc5\xf1\xaauUy`n\xb14r\xa6\xe0K\xf8HQ\xc7[\xd0O-\xfb\xf4f\x19g\x8b\xd8g \xb5O\xe2}f[\x81h\xfe\x9d\x1e\x8bA\xb9\x88\x1a)m\x91\x95I\x1d\x13g&\x8b\x1a:\x12+\xa3\xf0q\xd6\xed\xb3P;}\xd6{\xeaŋ\xe7۷-<;\xcd/\xf0&\xa1\x19,\x1fDKb\x94\xf4\xa2,\xca\u2e6a\xe1\x1c\x98æ{\xfb\x9d$\x11\xf1|IٕC!0\x8f0\b\xd7\xe0\xa8\x15\xae\x1d\xa6\x81,3\x83ߑ\xfd\xfd\x19\xe8\xbdX\xaf\U00106b82\xd2\xf7\\>\x1e1=ӗ\xf8L\x90I\x18Ҕ\x93\xfb\xfc\xc9؏@\x9f{\xaf\b|:\r\x81\xb0\xa5\xeey\xc8Lorl\x13K\xa8\x9d\xe3TfG\x9d\xa2\xcf}\xac\xb4\x1b\xc1=\x1a~U\xec\xf1\x1d\xcc\xcc\xfd\xa1\x1f\x81\xf3>\x96\xf8\xdei\x01o[\xa0\xa2\x90\x06\xed@\x01\x9dRł\x1a:\xad\t\xbd\xb1\xf6\xc1\xa6\f\xb9\xacFs\xf3\xe4_\xfe\xe2\x97\xe4\xa8\xc9\xcc\xd8Uc\x13\xfe\xf4\xf7\xeb\x86ҽu\xe8-\xb9\u0086\x96\x1b:rd\xe8\xf3\x80DS\x18T\xd9\x10|\xaf|H\xf0t\x04\xec,\x80\x0f\xa4\x95}-\x04?~R\xce\x11\x8dO\xfb\x9b\x9c7\xe9\xdd\xc4'h{\xb8J\x8ce\x92?)\xfaV\xbd\x8e߁mc\x96*XʢWV\x1a,\xd7p\x828Y\x91^\xa8\x9d\xf1g9]\xbe\xa4\xfe\xfd\xec\xb6\r\xcf\xf5\xef\xc1\xc65\x97m\x03)l\x1b\x81Զ\x1105\x05N^4%\xd4L\xf3\xdc8\xfan\\89.ܾ\a\x8ek\x8f\x1d\x85m\xd2Dm\x1bꚪs87^\x82\xa4\x11&\x0fx3K)\r;Y$\xd96\"\t,\n\xdf\x15\xc9l\x1b|`@\x90\\4\a\x13\x11\x9864\xfa\xd0`\xb0l\xf4~\xf7\xd5\xf7_\x97=\xd6[\xa1=\xed7\xdaU\xd3^\x18\xadE\xdf\n\x81\xbc!\xbf\xb3\xeeF\xd0\x19my\xcf\xe3:dG\x8bQ\x02J\x8b\xab?\xd65Г\xb3}\xa8l\xacldg\x11\uf0f8\xf6\xa3\x9b\x96r\xb2m\x83\xf8\x1eߒ}\x8f`\xdb\x10\xbe\xd2~F|\\\xb7\xb3m\xccQ\tܭ\xd3\xc5\u007fն\xa1\x93l\x1b~̢\xe1ٶ\x81f\xb3m\x90\xb3H[\x14!\xba\x8dQ\x89ҝ\xccW?){\x8d\xdd<ʗ\x84zz6Ma\\\x04\xe1uO\x06]1\x86K\xe1R\x19.,\x12.X\xe4\xa3\xe7\xd5\xf7'\x85\xddDiЛ%\x9d-\xe4\xbc\xc9\xea\xc7\x10I\v`\x8b\U0005d8b5\vZ\x9f1\xfbF\xa8\x9by\x03\x13\x83\x9b}\x03\xb2\xc8'\xde\xf39\x13$t\x8f=\xd1\x1dg\xea\x1a\xea\xdfe\xa9-5k\xcfz\x97u\x1d\xad\xde|x\xbb\xbd\xa6\xbeq\xe7\x85\xd3O\x06\x04\xbc0\xfdUs\xd3\xf6\xb6\a\xab\x1b\xea\x9bC\xd3\xeb\n\x9b\x0fޓ\x94Z\xf3\xa3\xd2ھ8\xd3cۇ\xcf\x05\t\u007fW\xf5T`~\xe9\xfb9N\xee\xe5\xe0\xf5\x01\xe6\x1d }]\xc1\xbc\xe3\x1d9\x9f\x98\xec'\xda\xf3\xa3\x87\x1b`=\xa2\xbeb\xfd\xec:\x807\xcf!\x83\xcc\xe1\xbd\xfd\al\x1cȓ\x8d\xe3Z\x860<<5\x85>\xfd@(C\xf7o?\xc5'\x1e\x11vi\a\x9d\x9f\xf1т\xc1\xf9\xad\xb8\xe6_\xe0\xb9\f\x92>\x10\xbd\x10\xe3\xe6\xd1\xc61\x87\xcbnN\x1b\x87\xb7\xe4p\xbcS\x1b\aR\xda8\xbe8S\xd9eA\x11\xafc\x11\xaa\xf3\x1d\xe1\xfd\x8c\xae\xca3\x90\xc9\xf7\xea\xab\xe8[\xe7'\xce)^\xfb\xfa\xebP\xa8\x18a\xc1\x82\xd3N\x12>;\xbb\x8dc\x8e\x98\x87;\xb0q\xa0;\xb3q\x98\x84\xbf\xa0\x97(\xc6?\xbd\x04\xe8\xd7|7\xce\x10\xdeH\xf0Om\x1c\x11\xb7\xbe\u05fe\x83\xc7\x1b\xc9Ł\x8dC'\xf5\xa6\x06\xcdK\xae\xc9\xe6F+\xac\xba\x81\x8f\a\xecC]:\xf1Ȉ\x94\x9c\x83\xf3ؖ\xa3m\x84\xa2T\x11\x10\xb2\x87\xcd\xc5\xc8\x11\x91Um3h\x13\xd0\xd7\xe1\xb5\xc7v\xe6\xe6\xee>R\xfb\xfcK1މ\x1b\x0f\xb6\xf1\u007f\v\x19\xec\xed\x1d\f\xe9\x89.\xee\xa8\xe2?\xa7n\xad\x8a\xbe\x1a\xb3\xe6\xbas\xbc\xf1H\xb3\xedp{u\xcdNN\xe57\xbf\xbd\xadc\x0e\xf7뜶\x0e\x88\xcc\xd7(l\x1dȣ\xad\xa3\x836\xbc\x9aj~\x12\xda5\xd2L\xd0\x19_\xa0~\x9e\xc3ˡ\xc5$\x85\xf9j4\xd8:\x82$M8\xc8Sd\xe7\x1c\x9el\xb7\x82\x81\xb2\x98\x05\xf5䐋\xa5/:\x80JS\x81\x01\xb4\x1f\x84\xc2\xd6!\xad\x89\xd2ڱ\xeb\td<\xb1\xaa\xf6\xc8n\xb2\x1a\x9f\v\x9f>\xc1\xd7\x16\xc2J\x14\x82o\x11}\x8d\x17\xa2\x06/Do\x8d\x99\xf7w~7\xc2\x16A\xae\xf1\xa0\xc3|*\x8b\xda<\xb2\xb9\x1c\x1a2\xc9l\x1eˤY\xae\x84!\xafTLj\x19\x00\x96\xd19\x84HĵL\"\xae\x10\b\xfd\xb8\n\"\v|[)\xe7\x1b\xa6JmA@я\xd2\x04\x83ՃV~t5{\x04\xd1*3\xf7\xec\xcc\b\xe1#V'/)--\x8eN\xc8\v\xd3F\xe4l\xff<\xc1\x11\x8e?[+\xebvf\xeb\xc2\xca,qe%\xc5=\xaa\"\x11\xfd\x15\xbd\x87K\xe32b\x13M)\xc6\xfc\xbe\xd6\x1c\xf4q\x8a)\xbf\u007fkNE\xcfc\xa5q\x99\xa6$\x93\xf3\x84k\xc5\bN\x85\x97@\xbc\x99\x12h\xed\v\xb1V\x9b\xb2\xf6E\xec\x9dվ0H2\x8f\xba\xf6E\xecl\xb5/\xecX\xbcA\x14!\xf3\\\xeb^\xd4l\xcf\xd1\xf3\xceK|X\xee6\xb4\x83\x0f\xcf\xdaQ]ݖ\x1bƻ\x97\xbe(\xd9=ZT4\xba\xbb\x84\xf7.\x1ai/.n\x1fa5\xdbN\xe1}G\xfdʫ\xc1\x91\xc0\xfc\xca\xfb!\x89A\xdcwsHp\xb2\xdcFg\x13N\xe7\x10\xef*\xa3\x89\xda$\x18B\xf0\x81ly\xffm\x85\x94\xd6\xd4U\xa0\xd3\x15t5\r\xf6\xf9\x9e\xd1f\xdd\xdbW8\xe1\x1f\x8a\xac\x88\x97e\xb4ʁ\xd3\xd5\xebN\xf5Wv\x0fl\x19\xad\xb7\xfa\b\u007f\xa36\x0f\x12\xf7Dd\xb4\x8f\x98\x8c\x96D\xe2\xc3\b\xdc\xeb\x13\t\xde\xc5\xe0\xeaz\x12H\xfc\x8eנ\x0e\x0e\xc8`\x12\n<\xab\xdc궨J\x8b\xb1\xdcvJ\x13 \x96\x99\xba\xc0\x05\xb0\xc4\x14\x1b\xb5OP\xaf\"\x1f$|\x80\xacB\xee\xdbSS\xd3S\xaf\t\x0e\xb4R\xf8\xed\x14\xe2F\x8a\xf8\x17\x84\xef\x84k\xf8h\xf0w\x96\x15\x8d0\xbfa\a^\x9f]\xa4w\xe0&8\xceiD6\xacO\xb0\xb4>n\"\x81[\xfa\xf9\x1c\xd2$\xed\x16\a\x9cP\x930OCEDQ>\xd4|h\u007f\xa3s\xcf;\xaf\xa2DŽ\x81w\xce\xee\xed>\xfb\x860\x80\xac\x1d\x13(\xe1\xfcy\xe12_\xc9[\x05\xe1\xc2\x05\xc4;?\x162D\xf9\xe0O\x8c\x8f\xdf\xde^1G1\n\xd7\xf0\x05O\xf6\n\xa4\xb0W\xa8#\x92\b\x1f\xefT\a%5?\xe9\x1e\x95D\xd9:\x8b\x99\xbaD\xc6<\xbb\xcdb\x8e\x9a\xf5j\x9b\x05\xfaGm\x16\xb4\x04\x92\xd2f\x91\x18Q\x9c\xd8s\xea\xd4Tv]OB\xb1\x01\x02\xab\xbc\x17j_\xbe\xe0\xf3ܛ0\x8d\xfb:\xfd_\xb8\xa8\xf5\xf5f\xe1U\xb7X/\f\x12'\x98\"\x9e\xa9$ƀ\xd8-\xe6ϕ{sGI\xefJ\xbb\x05R\xd9-\x88\xd5\xeds\x88G\x13>c\x01i?\xf4\t_y\xaa\xadsc\x96^\x8co\xdd\xfa\x86\xc5\xe6.%cϹu]\xeb\xc0c\x8f\x01:\xd2pF.V\xb1&n\xfa\x93[T\x84\x92\x82\xa0\xd9E\xa8J͠\xf2\r\x95t\x02>\xa2\x01\xf16I\x9d\x80`O\x9b2@\x9b\u007fU\x97\x12\x18\x1d\u05fb\xadox\f\xeb<\xfc%\xe1\x9b\xe3\rOt\xe4d\xb4<\xec\xc7k\x0fzwT\xd4\xedt\xde\xc0\xb2۸p\xd6\\ӏE\x9c:\v\x99\x03\xeb\xcf\x11\xce5\xcaQ\xe4\xb3\xc6\x17+c\x1f\xdd\x1c \xa0(ϗ\n\xf4p\xaa\xd02\xef\xabR\xfa\x1b\r\xe7\xc7\x13\xa0\xe5\xcb@\xc6l\xc6;\xf5\xa6\xf0\xbb\x84\xee\x82sg\xa7\x02-5\x85iu\xa6)2\xd6\xc7|\x83\x9f}W\xf8\x04\x19\xf2\xeb3\x17\xfb\xf9\bޢ\x9d\xe3\v1~0\xc0%~\xd0M\xb2q\x8bxV\xa6\x82\xb8\xee\\\"\xb6\xb8\x8f\xf0\xe6tbO\xfe\xb9s\xd3A\xb0U\x1bL\x10\x9c\xa5\xf5\r>\xff\x81p\x05\x85\x17\xd6g\xb3\x91\x81\xfc\xc5\xfa\xbc\x92Sx\xb3\\\x99\x9b\xf6\x10\x92s'ܨCI\f\U000e4486\xc1L\n\x045f\x1e+\xa4\xceIR\t\x9c\xc39H\n}B\xca\xc8 8\x90\xf9F8\x88\xf9ϵх\xbb\xaa\xfa\x86tS\xb1_^\xec:בa\xef<\xd7Y\xbe\xdda\xf4v~\xe0m\xcco\xd5\xdd5qe8\xa1\xfaXg\xe1\xe1\xf67>\xa9\xc1_\x1e\xb8\xf6d\xedX֖\xc1Uk~\xdad\xa7<\xf3\f\xc9m\xba\x81\x91\xbd\x1elK4\x93\xddE\x96йJ\x93:W\x86$/\x82\x1c\x03H\x8aH\xda\xf1ѓK\xd9˼`\x13\xb4\xb2\x0f4\xbd\xd0p\xcf{/\xa3c\x19\x05\x93\xef]~Eؘ\x9a1\x89F\xf7\x9eNE&\xe7\v\xb1{\xabP\x93p\xf0\xebV\xe1}\xbe!\xe6\xbe\xf5`\x89FX_\xe5\xb4\xf5x\x8c\xc1P\xd3\xd0W<\x87\xd4<B\x1e\x92\xach\x00\xbdhY}\t\x1fr\x85\xd8\xc1h7\x12\x1a\xc0\x84K\xac~\xd6\x10\xe35\xde\x1e\x9a~o\xb9\xf06j,\x19ޑ\u007fff`\x04}\x93\xbf9\xc70\xb2x\xddx\xb7\xc0\x8f\xe0g\xe1\x17h\xfe\xaa\xf5\xc3|a\x1f\x98:\xd4|\x81\x89\xd1\xf28\xdc\x12/\xe5M\x06֛@\x96{\xe3e\xa1\xc2\xf5\x02NCJU\a\xb2D!\u007f\x92\x1c\x06\x83\xf6\"\u008d\x16\xc4\xd5\\\x8d5\x01\xc8b\x9e\x8dR\x85>ؤ\xc1\"\xce\"|p\x9bW\xec\xe8\xfeI\xb1\xcf|\xc3\xcau\x995\x0515\xb9\x15=\xb5\xe9\xfe5\xa72\x8a[+\x1dQ\xf5S7\xee\xed/3\xe4\x156\xe6\x1a\f\x0f\xf9\a\xc5o<\xd4\xe6܅^\x8ev48\xde\x00\x1c\x0fb\x1c\xc7a\x1c\x93\\\xd8y\x9esa幹\x965\xa5x\x96ra\xa1&\xd3g\xceI\xcd\xe4䤦}ddf\x9c\xee!ȥ\xf6\xc6\xef\x80>\xacM\x80\x031\x8f\x0e\xf6\xa8\xceU\x97\x94\xdf6\x87\xcaB\xf5Fo\xe2\xd8\x0f\x82\xb8\a\xfc\xbc\xfd \x1e\x85\xb1\x92\xc9d\x89\xb5!P+\x05\x9fj\xcd!\xe9Mk\x85M\xe8\xbf[6U\xafZ\x195\xe9\xbc\xf7\xa9\xa7\xf8.\xb2̾Q֪\xaeu\xce\x1e\xbe\xc0\xf9*\x87\x90\t\xaf\xb5\x01\x8f\x95\xe4\xb3x\xb9䳸\xe1C)\xe4\x88\xf8`\x1a\xb7\x89\xef\x15\u03a2\x9b\x80\x88\x19\x1f\xba\xe7.\xe1g\u007fO\xe8\x99\xe4\x1d\xab陙-<\xd13ML\x99GpM*bAX\x1dI\x19\x83^a\xe0t\bƇad\xd0\xca\x04a\\c\x14\xfe3Ŭ\x0f:s\x16\x1d/m\x8a\xbf\xbb\xd762\xe2\xf8q~\xea=\xc9B9\x8c\x01+X\xda \xb2\x16e@u\xea\xbc\x05ƴt\x1e\x11\xeen4$b\xb8\x96\x96\xf4 U\xa9\xe9\xe6\n4]D\xbf/\x19n\xcb\u007f*4\x03\xef\xac?Mjn\xc0^\xc2(&\x18\a\xaa\xa0\xf5J\x8b\xf0\x9eJ\x82H\xc4%.>\x02&\xdd\xe8\\\xb9\xa9\f`\xe9\xced\xb3SĄ\x13\xc5F{\x1d:l\x85\x13\xef\x1fMf\x0e\xa1#\x94:\xd7\xe4 v\n\xb0\xadd@\xb4U\x96\xd662\xb9\xac\xb2\xab\xbc|_\xe5\xb2 \xf3\x9a\fsS\\\xdc\xd6\xfc\xca\xfd5˫\x1e\x98\xae\xcb\xeej\xab+\xc4\xfb\xc49\xb3\xf5\xd0=II\xf7\x1c\xdaڻz[~T`\xc0H\xa0.\xee\x9ec\x9dǏ\xbd}\x9f9ؼ\xa6\xe3\xf8V\x1a\x97\x18\x87:5g0\x9e\x17q\xa9\xc0\xec\xd5}\xb2䵆\x80+-\x93\xe2\xc5E\x86z\xb7\x9a\x1c\xb2\xa1\xa0\x18\x0e\xba\x9c\xb7\xbb\xd2,\x18\xf9\x81\xec\xae\xe9=\xe8\xa66\xae\xb8\xb5\xb4v\xe4\xaf\x1b\x0fm˙G\xe8\xea\xacpP\xf39yW\x86\\\xa1k\xd6]\xa5tu\xd2MD^\x89\xb12O\xe4\x8b&M\xc1bG\xebZ\xa1\x13MW\x1cj/x\x8a\xaf_\xbd\xbd0\x1a\x8dD\xdf\xfd\xf8\xfd3Q\x92MΆ\xdf\x19\x0e\xbe\tW9Í7\xcb\xe2*,\xa3\x927\x03Of\xe9\x99t\xc7\xea\xfc\xb5&\xe3\x17\xa8\xe6g?\xff\xf9τ)T\x9b\xb7\u007f\xcf撄\xa5\xab\x1a\xf7\xf4\xe6\ngG~\xf9\uaaff\x1c\t\xb1\xac\xdds\xb4i˱\x8e\nK\b\xf1\x05|\xaf\xe5\xbc\"h.N\xa0\vM3\\\a\xb9\x8a\v\x9e\x88\\\x1c\x9c\xaf\xb4\x12q\xc4uD\x05N\xa0\x13\xf4͆\x03\x9bS\x9d\x05G\xf9\xf7\xaa\x0e\xbd\xb9\xa7?a\xc3X\v\xeaG\xd3\xc25\xe7\x9f\x0e\xbcԙB\xf8\x9d\xb8\xc7|\xf0S\xd7\xc0\xea\xd3\x11\xd1l\\\xe4\x9a˧\x9bus\x05\x90\xc1\xf8\x90pZ\xc563Ʊ}ƶ\xd9\xccY\xfeWt\xa7\x89\x1b\x8d\x1da\xceŔ\xef@\xbd\x03\v9\xbf\xba\xdc\xcf/&_\xb9\x8db\x8e\x03M\xc9\x15|\xd8!\x05\x02s89\xda\xfa@\xc2\x0f\xa3\x87[\x10\x1d\xb7ƪ'&ȑ\x815\x8a\x9e8\x8d\xe9F\xc9#\x89!\xf9\xb5\x1d\xab\x96UW\x14\xa4F\n%(,\xd4z\xb7ceM\xb1M\xb7\xf9$\xff1Jx6n\x95ݸ(\xce\xd1\xf8\xc0F\xe7\x99\x11\xf4\xda\xea\xfb*\x97E\xae\xc81:\x93\xe8>3\t\ay\xe1\xbfʯ}=\xf2\xebz\xe1]t\x05\xf8\xf5ͣ\xf4\xd9xcj\xceh!\xfb\xfb.\xf7\xbc\x16&){:\xadD2\xf2gd\x04\xd6X1\x82\x92\xf6\x87!\xa4e\fTs\"\x8c\x1c\xa4\xe5\xb9`sY\xbaeK\\\\K\xc1\xba\xfd5fg\xc3\b\xfa\xae\xb8)\xd7\x10\x180\x1a\x10\xb2d\xe3\xa3{\x9c]$7\x1d\xf3\xcfR<6h\xf0Q\bV3\xd1>\xeb'\xd1\x17\v7\x93G(\x1b\x91\xc5\x11.\x96\xf6\u007f\x9c\"\x19W\x0f\xdcpe\xae\x96ɟZ\xbe剧\x9f~\xe2\x89\xc9\xc9\xc73\xbb\xda\xea\v\x13\x96\x96l\xdaٙQ;\xfd`5\\\xed\xed}\xf9\x9d\xb7_y\xe5\xedw^>\x18\x92R\xb9\xef\xc9\xd6։}\xebRBR{\xde?N\xaf\b\r6\x92Z\xf370M\x97\x81\xbe\xab\x8e\xcfp['7\x1aT\xe7\x8biY\xab@\xbbQc\rƚk\xb0\x15\xac\xc3\xc6F\x14xz\xf2d\xcf\xe3\xfa\xed\xa7ۃ7\rOm\x16FG4\xed3\xe3\xde\x03\x0f\xf2\x8d\u0381\x9d\x87j\xe3\x98\xfd\t\xea\x83\xdc\xe0\xa2\x00sz\x97>ML\xb2\x95_\x1d\x05\x80(\xdaXş\xf8\x8a\x80Y\xc3Ѣe\x9c3~\x9ei\x1e\x9c\xc3X.\v!\xa64\xbbx j\xba''?\xd3\xf3\xbc1\xfb\xaeԚ\x87\x9alމhw\xe3\xcf\u007f\xb2v\x12ͼ\xf1\x02\u007fn\xa1)\xc0\x9a\x1f\xbf\b\r\xc5\x14\xefX\x13mC6\xcb}\xaf\x8fό\x90\xd8!\xa8\x9d\x8bǸ\x94[{\x11\xab\x1eR\x0f7\xcf+\xcb:f0s\x00\xa0\x17Ƹ4@\xb9\xce*n\x9b\x84<\x8e\x980\xdfK\xa8\xedg\xe7\xce\xfd\xec\xd3\x00<\xee,<\xee\xd1-6o\x13ں\xf9\x97c5\xc0\x86\xef\xcf\x15\x0e\x136\xdc\xef:|\x9f\xe4\xae7\x0f3\xae\fs\xf8\x04\xe3ٟ\xc8;\xd5\n;\xd2l\xdco6\x81ޗ\xba\x1f9\xc6Cy\x8b\xc4\x0e\xad\xc1\xf6\\\r\xabܼ\b\x05\x9b>9\xdd4\\\xbc\xb5\xc0\xf8\x94\xad\xf5ؖ\xe1\xfa\xd3\xf8\xb8\xee\x89\t\\\xe6ؘ\x87\xaa\x85'Z\x876\xa4\x85\x19\x9d\xe7(O\x1c'u\a@\x0ej\x86\xa7\xab\xcf\ff\xa1\x98cl\xaeg\x06\xad\xd1\xcbI\t\xb54\xc9v\x11\xfe\x8d&\xd4ڍ\tH҈\xbc\xe7\x05\x87\x18\xc7\xf9\xc1\x1f;\x9d\xaf\xa1\x9eһ'\xbb\xf6\xbd:\xf3\xfc\xc8\x19\xfe=\xe7\xf7\xa6\xff\xb6\x15\xf1·\x0f<g\x15nv\xe2\x81}\x8aq\u0605ǩ\xc1\\\xa3\r\xb4 \xb1\xff\x16Ա\xe4]cM\xe5\x01\xb2)\xf8\xba\x1e{\x92\x01Ջ\x8c\x9a\x03nH\xd5P\v\xc8\x0e\xdeġK\xe4%\x13m\xa7b\xfatr\x92\xff\xd2\x19\xa69\"<\xf9\f_0\xb3V\xfb\xfb\x91\xae\x99>\xc0\xe14\xe6\x8f\xdf\xfcW\xe5\x0e\x1fw\xb9\xc3$\xcb\x1de\xcb\xee\xda\u007f\x97p\x0e\xed\xbaw\xaa\u007f\xf5$o\xda\xd4_\x11;\x92\xb4\xed\xdcO\x9c\xef\xd3u\xeb\xc4|\xaf\x8e\xec\x8b\x1d\x179\x93˾p\xa3)\xc6\xf1d\x00sO\xc9\x00\x13\x00Lt!C\xd9Br,\xb2\xdd\xcb\x02\xf4\xc7\xc4\xc7H\xa4\x97\xa9m\x1eMT\x12\xab\x86\xc3\x16\xea<\xca\xeb\xb369\x8cGӶ\x1eܸ\xec\x9fZV\xf5oN?Z\xfd\xd0\xf3\x8d\x8dϏVcJ|~~\xc8|\xef\x80\xf8\xcc\r\xf9h\xab0\xbei\u007f\xb5]\xbf\xbe4v;j\xbe\xdc9\xb1w\xb2eŊ\x96ɽl\x8ePs\x15\xcf\xd1\x00\x9d\xab\xf5\x98\xf7DυWV\x94\xc2\xf3\xf1l\x90X\x80\x88r\xc8\xf4\x81\xfc\xf6@\xacA\x98D%)\x90\x94\xdd\x03-\xdd\xd8y4\"\xec7|ʊMw\x95ڢ&Ao:\xad\x0f\x13\xde\x1dA\xe7\xd7?\x93+kKD\x94w\x9c\xd9\xe4\xfc\x84\xed\xa7[\xe7\x88<\x18\f\xfc\xca\xcbe\xaf\xbb\xf1wf\xe0\xd4Ѫ\"T\x00\xbeHj\xa5\xd0~MZIvp \r\xd9\xe6\x94\xc7\xcf\xf3\x1a\xff\xf2ة\xb1\xe8\xbcM\x05K\x17T\x9d\xae\x0etl\u007fb\xa7\xb0Ǒ\xa7\xe9\x999\xe7\x13h]\xbb\xbd\x84\xf7u~\xb5\xe3pK\xb1a\x17\xb5e3\x1b\x82\x9e\xda9\xd4}\x11no\xe7P6zvA.\xb5s$(w53t\f\xd4վ\xf9&\xfacѺ\xc9ݻ\xbe~\xd3\xf9\xffX3&ѫ\x9d\x93)ם\x93\xf1\xbd\xf7\x80\xa1\xa3\xef\xe7i\xc2e~<\xa6\xa3J\xa8\xa2\xf8+#\xb5y\xfe\xf7\xe9\xe1\x1a\x9d3M\x1bpZ\xa5\x87\x1f\xc4\xefp\xfc\xff\xaa\x87O\x00=9\xbf\xe5\xd3-\xf5\xa0\x87?5\xf3?1s\xf1\xa4\x87Cm\x0f\xb2n\xff\xdf\xe8\x17\x13\xe8\xed\u007f\xfe\xf9\xcf\xffY\xc8F\xbfv\xf4)\xf4\x8bL\x8f\xfaE;\xd6/r\xfe\xcf\xe8\x17|\xe2\x86\x03\x8d\xa93\x9f\x1c\xd5\xd8g\xd7/\x06I\xce\xc7\r\xb1fN\xa0T3'pn\xfdBU8\x81\xed0:\x98`I\xbf\xd0*\xf4\x8bA\xbe\xc2R\x0fl`&C\x13\x17\x9a\xdeT.\xf4hn\x88\xeb\xe4\xa2c@m)\xd3\xff\u07b3`\x80\x9c\x05y\xe8\xcalg\x01ԯm\xc6\xef\x8c\x00>\x19\u2e47\x84\xfcN\xb7n\x9a\xcaADx\xe0\x93\xa1j>)\x1b8\b\x9f,?\x1a\x11\xfe>\u007f\x8a\xd89B20n\xbeU\xb0I\xa5\xbdCd\x92<7\x80\xcf\xcb\xcbDWY\x00\x9d\xc0\xd5\xd5\xf3\xe5\xfc\xea9\xadLJ\xf6\xe9\xb2\xfd\xa1\x863\x1f@\xf3\xf6\xa1\xbb\x10\x04{\x90\u007f+?D\x1d\x93\xe8O\xf0/\xb1FQ\x93\x14Or\xe3#\xc8x\x82\xa1\x8aC\x80DG\x01*:\x925\x1dʬ\xbd\xa54cj\xa7D\x1f\xd1 \x19^~\xafd\xbf\xf0\x9e\xa7\xe9\x81\xf7:\xa3\xadu\x85\t\u0097\xe8\xe2G\xef\x91\xd7\xf3\xde\xdeK\xf2\x1a\x8b\xee\x19\xf9\xf2_>\x84J\x9b]h@[\x8bDz\x10/Q\x1d\xc89bN\a\xc89!\xae5\x8at\xd4\xc7\xe2j9\xb9@<\xa0\xfe\x1fQ\x8c\x86\xb0\x90\xc4Џh\x86k\x04\x04\xf1(F\x16\xa7\xb8>\"\x0f\x8f_\xbaR\xbc\xfe\x8dj\x94C\xca\x11\x83~جi\xd1l#\xb2\xd9\x12Z\xf3\xdbˣ,\x02r\x98\x86\x95\x95E\xcd\x10⡹\xf1\b\xfe{ހu\xd7g1_р\xec5\xcb\xdf\xcb|E\x96\xe8H1q\x13o8|\xd8+\xe2\xefDf\xe0\xd1W\xf8\x9f\xcf\xc9X恵\\<A\xc4\xce\f\xb3\xf2\x04U\x1a3\xdcz\x95\x91#i\x18A\x8a\x80\x9b\xd0W7\xf1\xffin\xcc\b\x10n\x86\xd0\v\xbcCS\xa0m\xc4\x1c8\x1c$H_b\xb9\x86j\xd1\x1c\xa9\xc8\xe3E\x98\xbf\x91\x14n\xc0\x9a\x05\x9f\x83\xbc\x84?\x05D\xeb\xcd\xde\xdaFA\x1f\x19\xb9bQ\b\xf5\x1d\xfe\x9dwh\x93\xb5\x8d|\x82f\xfd\xadB\xf0\xcci\xd6C>\x1b\xf9\xed\xcc-\x1e\xfc\x13|\xbc\x86\xfa\xec\xdef\xbd\x83\xcf\b9*\xf8;\"\x9c\xfa3$\xf8{\xbc\xb7\xf0&\xc4\v\x82\xed\x19\xe3\xd8\x1f\xfaxiYun\x17ۇ\x8cc7\xbdS\xf6\x87\xc1_\xfb\x90&,\xfbAN\b\x03\xb9\x920M\x88g\x93]\x1dS\xc7\xd0Q\xe2\xe1xY\xf3\x16\xaa\xc5l[\xe9\xdb\xc0\xe3d>\r<Υt\x9c\xe8\x1a\x19?\x81k?\x93\xe0\xef\xf3\xb4N\v\xf3=`x\"\x9bW4w\x11Ù\xdd\x1e×\xb1\xe7L\x93\xfb\x99\xad\x1dÓ\xd8\xfd-4F\x9bڵ1|9\xbb\xff\xac\f\xd7\n\x12\xfc\xd7\xe8\r\xf2\x9c\xdfR[5\x86\x9b\xd9\xfd\xb4\x96&\xb3\xdbb\xb8E\xf5|f\xef\xc4\xf0dv\xffE\xbc\x86\xb7D\xdb$\x86\xa70\xf8\xe7\xe49\xcc~\x88\xe1\xa9\xec9\t\xb7\xbe\x14\xe1\x04\x0f\xa9\f\x0f\x15\xac\x1e\r\xb1\xf1a\xb8\x95\xdd\xef#\xf5s\xb0\x90\xf1\xd8\x18|\x90\x8c\x87\xd9n0\xdc\xce\xe04\x16\x9b\xd9M0<]\x1c?y/\xb3\t`x&\x83\xbfu\xebmȭ\xa6z8\x86g1\xf8e\x9asMz\xdb|&\xc1\xc5q2\xbd\x12\xc3s\xd8|\xb3n\xfd\x04\xfaIP=\x0e\xc3s\xd9s*\xc9\xfdL\x87\xc2p\a\xbb\xff\n\xad\x0fF\xf5\x1c\f\xcfc\xf7\u07fc\x95.\xc2\xc9zQ\xf8o\xb5\xfe\xf2\xfd\n\xf8\aܫ\x1e\xe0\t\xf4\xfeY\x9f\x97@\xffN\xf9;\xd5E\xf0\xef\xf9\f~\xf8֗\x98\xcb\xe8\xf1\u07fd\xa0=Fj\xfb\xa7\x834\x19.u\xf9\rg\xd1\x06\xf0i\x958\x8f\xb2\x1f\x13\x84U\xa6_\x85r\xf2\x10\xb4\xbf\f\u007f\xb3^\xa5A\x97&\xb8\xc6\u007fg\xc1\xbf\xae \xbf&\xe2o\xb6\x8f\xe4F\x98!̎o\x17\x15/\x96\xfd\x84Y\xa2?\xa2q\xb9\xf8ж\x86\x18\xb5u\xb6\xeeW\x0f\x8c\xbc\xb6\xcff\xdb\xf7\xdaȁW\xbbm\xf5E\x87~\u007f\xe2ħ\x87\x8a\x8a\x0e}z\xe2\xc4\xef\x0f\x15\xcd||!\xac<#\u0096^\xa5k\x9c\x10,|A\xebˇ\xee\xbe\xfb\xd0˭\xad\xaf\xc0\xe7+\xadݗ\x9f\xb9\xf7\xdeg.ww\xff\xdb3MM\xcf\xfc\x9b\xf08\xba\xb8\xd8бl\xb9\xf3\x85\x1d.8\xa8\xe4v\x02\x0e\xd6sUn8(\x9b\x15\a\x95x\x96k\xc9,W\xe2+\a-XI\xb0p\x11\xcf\xde\xc1\xad%V\x84\f|\xcfJr\xb5\x9a[\xc9U\x06*ۂΊ\r\xd2\x0f\x95u\xefU\x86(\x83\xa5\xc4\x1fA\xfc\xfa\x9d\xe0\xe7\xadХ\xe9\xa6\xda\xe4₌\x88\x94\xb80\xbeO\x93\xb4\xaa1\xc3VW\x10\x17\xb24=vKR\xaa\x17\xda%\xf8\xdc\x1em\x1b\x92\xcb\x1d\xd6\xd0tC\xb1%\xd9\xeeo\\\x99\x90S\x97m\x88\\\xb9&9>{\xe5\n\xbd#\xd2\x16\x03\xba\x9a\x1a\x9f\x1b)M\xd5q\xf7\xb8\xe1s\xe9\xac\xf8\\\x8a\xb1\x98L\xb0h\xc7W\xe9\xe4ʁ\xaf\xcaT\x98\xad¿\xd8\xef\f\x8b\xa4(ɝ\xc4|\xfb\xf3w\x80N\xe7\xb9\xec\xa6\xd2e|\xdf\xfc\x03\xf9k\xd6;\x8c\x11\xf9%\x05Y\x11\x96\xf80M\xaffy\xe9\xe6\xb4\xccz\x8719-ݱ\xa4h\xcb\xedQ\x1ak\xc8ܐ9`\xb7\xd9Қ-)\x18\xab1)\xb1\x99\x1b2\fQ\xb6\xd5I+\xcb\xf5\xa1\xb5\xd9\xcbW\xdb\f\xf8\xc8R\xe24\x95\xb3\x81\xb5+\x9cK#\xf3Wc5\xf5\xb6;6\x95a\x98\x16\nNrٱ\xe6\x8f\xc0\xe0x\x81K\xbe\x93\xbd\n\xd1i Y\x84\x98\u0091\xe6N0wI8\x8e:\xda:;\xbb.\xdd\x1e5\xffw%zM\xa8m=\x83\x16\"^\x10\\誜\xdb\x06\x18X\xcbU\xb8a eN\xbaJ\x91\xe8\xaaP\xa2\xabl\x97\x1dk'\xd5\x16\xfaH\xb1\x85;\xa5.\xb1b\x028\x02\x12\xa0\x12\xe2<9\xf0\xe3N0\xf3+\xfb\xa6\x92e\x9a\xbey\xa5i\x8e\xd5\xeb\x1cIw\x1b*\x13\xd09\xe1b\x90\xa1|\x99\xb5Ʊd\xe9\xaa\xcdwBL\xf6*[vz\x91\xc3Q\x14\x1f\x1b\x8e\x06wL\x05\aEgV\xa7el̎q\xa1\xa1\xd5\xdc\x06\x88\a\x0f\xe7j\xb9\x8d\x1ev&\xfd\xac\x9c\x13\x93t7\x02\xef\xcb#WY\xf8*U\x85\xc9t\xfcK\x16\x95\xb4\xd2\xef\x14\x93\xea\xbe\xd6\xf3\x94\xd13\"z\xa3\xee\x88\xd4^\xccڶ\xd6\x1c_\xb6\xab$mc^\xbc\xa6\xcf+'\xeb\xf1\xf9\xb1\x1b\xacY\xb5Y\x86%\xf9\xf5\x99\x19\x85\xc5\xd9\xe6\xd2\x18m\xc4ҕw\x80\u0604\xbb\x877\xdf\xfd`CjT\xc6z\xab\xb5\xe0\x8f\x91Q\xb1\xd9\xeb-\xa9we\x19[\xf3\xed\x19ya\xfa\xb45f\x9d\x1b\xef\xcb\x04;C8\x97\xc5e\xbba8cV\xccf\xe2\xff\xcc.\x98\xc4\x10r\x96\xde\xd9ya7\x86@\xab\t\u007f\x8d\x01\x99\xee\x04Q\x95@5\xc2\x1fv\xf1\xa6\xc2M\x99\x8b\xfbo\x8f\x8d\xdd\xeb\x8f>p\xdf\xf2\x86w\xeb\xec}c\xc7\xef2\x13\xe3\xb3rޫ\xb8{\xb8vn?\xcc}\x0f\xd71+u\x95\xb2\xcf\xfa9\xa9\xac\x94\xe0\xa1\n_Փ\xab\x16\xe9D\x10\xa9,\x19\xffRE\xce\xd5<|&\xd4\xdf\xf1\x89\xa0n_,\x9f\x00\xae\x05\x9c\x82]\xbe\xdf\tNϧ5\xaf\xb5\x14\xa6Y\xb2W\x94mNI\xde\\\xb6\"ےV\xb8bms\x9a!mYx\xf8\xb24C\x14\xfd\x8c\nO\x89\xd3\xeb\xe3R\xc2\x17\xd3\xcf; \xc5\xf0\x945\xa9\x05\xeb\x82C\xca\xd2\xedkS\xf5\xfaԵ\xf6\xf4\xb2\x90\xe0\xca\xfc\xd45)\xe1\xad~\x11K\r\x86\xc4p?\xbf\xf0D\x83ai\x84\x1fJY\x10\x96\x10)B\"\x13\xc2\x16\xb8\xf0\x81r|4\x13>p\x0f\xc1\x9c+'\xa5\x9fk\uf023fH2\xd0\xdd\x12o\x959j\xc6?\xc8Q\xa5\xf0~en\xbf\x86\x05\xf9\x83\x8f\xf3N\x16\xe3l\xc6=\xf9\xc0\x01\x1c\x8e\xd8\xf4\xa5\xa1|\xf4\xddiY\x1b\xb3\xa3\xe2\n6\xa5g\xb6V\xacX^\xbe\xcdn.\x8d\xf6Z\xbct\xa5!\xabh\xd5\x1d\xac@t\xc6\xfaTk\xbe>mc~d4\xe6\x03+R\xaa\xb2\x8cq\xd5#͍#\x1b\x12QOXx\xdajsp~Z\x06\x16ĽU\xb8\xce\";c3\xf7\xe0E\xce\xcc5r\xf7\x12|\xc3Ά\xf2\x94\xf0ib\x9f\xd9\xecs-\xfbl\x90\xf0o\x06\xfc\x9b)\xfe\x81/\xac\xbd\n\xa6/\x8a\xeb\x171K\x87\xab\xf0\xabp\xbe]\xe4\x8aYZ\xdf\x05\xae8\x00ι\v\xdc\x06\xfc\xb9\t?s-y\xa6\x87u\xb8ͺxAWiR\"#6>\xce\xe57\xe86\xa6i\xf3\x8b\xb6'-K\x8b\xf6\xf3\x8bN[\x96d\x8f\xf6\xfb\xeb\xedW\xe7z\xa4><22\\\x1f\x892\xa2\xf3\xb7\x14\x166\xe5EG\xe75\x15\x16nɏv&uu\xf1\x05\xe6\xca,\x93)\xabҼ\xa22;66\xbbr\xc5m֧[\x1f\x19\xa9\xd7GG\xebK\xf7U\xafXQ\xbd\xaf\xb4t\xdf]+Vܵ\xef+\xe7\x93PABZ\x8f%\x10\xa5\xea%uJ\x02\xdby\xb8\x84g\xa5\xa9Nw\x95\xb6<\xba\xc0\xc5^\xa5\xd8\x05\xca7\x91\xbc\x1d\xba?\fWi!-\x8cQw\t\xc9\x14h\x02\x85&\x84D\x98\x9b\xb4/\xb8+/\xe8\xe3\x89F]U\xba-\"\xa3<\xec\x02_\xe0Jo+v\xf0e˗u\x18\x16\v%\xd4\xfe/\xcf!\x9b\xab\x879\xd0\x0e\xeft\x0e\x8bg\x9d\x03mZ\x99|\x95v\xaf\x82Y@ӛd\x92\xb9p\x91K¿'\x93\xab4\xfc\xbb\x9erQ\xf7\xd9\x18s\x11\xd6G4\"?\x9cG\n\xdf\x01I`uD\x13\xe2avo\xa1\x1b\xc2a\xafԤ-x\xef\x85\xc4\x15\xd4\xd92\x1aW%i\xfa\xf8\xb0\xb8\x94\x88\x8c\x82\xe2\xe4Z\x13\xecI\xf7I\uf2b1E:\xf4+Vf\xc7'\xafY\x19iȮ\xcbIXi\xf4\xb7'[\x8a\r\xe9\xa1VGy\xb2+.\x8a\xa1\xb7\xba\x17W\u00ad\xf2\xe0\vq\xc5E\xae$\x05\xa6\x91+\xd0S\x97HX\x89d\x925\xd4\x15L\xe3,\xecl\xc9\x15\xb5\rW\xac\xd0\xc6W\tr\xa73\x19+d\xdd\xe9\x8eI0a\xb9\xc5\r?\xcesy[\x8a\x968\xd2Ӓ\x8d\x8e\xfa̴ͥ˱\x16\x11\x16o\x89\xc8*(ɏ0:֯\xc9?0\xbf\x8f_V\xda䎣X\x83m\xf5\xf2\xec\xdaP}\xf9ʤն(CƆ\xccؔ\x18\x8c\xa3\x14Ks\x9a\xcdf\x1f\xc0\xaa\x85A%\x93DqF\xb0\xcazI]\xd0)\x96\xe8\xa7q\x16l]ࢮBE\x1a\xd2`\xe4\xaaX\xb8\x04\xf6@\x14\xb3\xca\x1a\xc9\xde\xf1\x80\x19\xab\xcd\n\xf4\x8fB\x8c\t\xc1\x81\x1e&\u007f\xa9\xab\xb3\xb3M8\x88Z.]\xf2@\x02gZ\xd1Y!\xbf\xb2\x95\x88\xff\xaa\xb5N\aO\x81\x97d\xa9\xf0\"\xfa\xcalk\x9d̬\x13t\x8f\xc2.V\xee\x00+\xfe}\x19=\x9b\xac\xe4l\xf2\xb8\xba4\xc0\aB55z\xb1\xee=4O\U0007c9bfJۼj\xe9\x12G\x8duY\xb9!\b\x95\bU\t\x95\x86\xbb\x93\x1c\xebV;\xd2J\xe7\xf5i\x96\x95l\xf2\xb0\x981\xd9\x1b3Ҫ3\xa3\x83\x82\xa7v\b}\xe1\xb1\xf1 Ƨg۪\xec\xea5\xb4\xe1õ\x11f_\xc4\x15\xbb\xada\xee\xacX\xa0t\x9e+a\xc1t\x9564\xa7X\x88\xc7P\x13\x95\xd4\xe3o\x87\x058\x03\xf4V\x96e\x87O\n;\x9c\xd6\"R<`\xe3\xc5\xf4\xfa\xfc%\x06,w[7\xc4\xce\u007f<+ǫO\x13\x9f\xb71\xaddWY\xbcy\xed\xb6\x8c\xe8\x95K#\xb41\xa5\xe6\xec\xe2B\x0fX\x81\xc8\x15\xcb\xfa\xecب\xc8?\x16X\xad\xeb3\xa2R\x1b\x1e\xbc{\xf3\xf0\xdd\t\xad:\xf3\x9a4}X^\x86=_M\x1b\xf1P\xadƋU\xe9\xa1X\t\x99\x95\xb2\x8dR\xc9\t\xa0g\xa0\xe3\xe8\xab\x1e\xe9\x98t\xee5\x86XmF\x8fl\xceYٿ8sS\xa1\xf3\xda.\x14\x05+恚\xcdw\x1d\x1f\xeb\xb3\u05fd۰\xfc\xbe\a\x8e\xae\xe7Tr\x98\x95H\x06;a\xdc\xf5\xdc&\xb7U]\xc9>Kg]ݕ\xd2\xea\xca\U000b249f\xe5r\xa5\x84\x8b-ǿ\xe7\xde!\x17\x83\b2\x1a\\dw\x15\xc0\\\xbe{\xc0\a\b\xc0+\x98\x00\x9c\x9c\xc2\x04`\v\x16\x80E\xc1W\x14\x84\x99\xe0\xbb8\\\x14\x80=\n\xbc\xf9\x95\xae\x02ﺂ;\x15x]\xf4\xb2t|D\x90\xfd\xb3\x8a\xe0D\xe4\x1e\xf43\xe36\\\x04\xe4\xdd\f\xc9n\x10\xa5\xe2\"K\uf20b\xc8\t\x8d\xfe\x1a\xc6A\x82c\xe3m+I\x9bH\x8co\x0f\xb8<\x9b\xb3\xad|\xf9\x8a\x8a\xd6\xcc\xf4M\x05qQ\xd9\x1b\xb3\xd2\xee\x8e\xe6C\x97\xa6\xc7:\x1c\xb0\x97\xf2\xefqd\xaf*\xca2\xac\\\xba\xd8+\xba\xd4\x03\x02\x137\x8c46\x8fT\xc7\x19\xb3\xaaRV\xe0\xbd\x14\x1d\x99\xbf1M\x9foM]\x9f\x11\x8dz\xf22\xd2\xf2\x83ͫ\xd3\xc2\xc3\\\xf58\xa0\xca5\u070f@;('6L*\xed\xf8\xba\xe8q\x85\xecs\xb5G-\xa1\xf0\xaa\xd8wi\x91\x84;\xd0\t\x920\x94\x96\xeaH\x02M\x03\xef\xbeB\xf2\f\xbc\x06\xc4\xd6\xea\x8eC/\xb7\uf852\xc9\xc5\xcbEr\xf5\xf2(\x8d\xa2\xf2\xff\xba\xf4)J\x9d\xa2\x14\xea&mbI\x13$N&e\x962\xa9\xf3?\xf8-@w\xa8\x9d7h\x1a\xb4c\xdc\x02҆t\x03\x94(\x11\xbb\xb3\x8auv\xe13\xc65\x02\xcc-\x03\xc9\x0f\\W1\x98\xbbi\x92\xa8\x87\xcf\xef*\xcd\xf2\x0e\xbdJ{k\x8b\xb2\xb9\xab\xfajW\xfc\xc67\xf7\xef\xfb\xd1\xc0@WO\u007fRZԂ\x05QiII\xb6h_\xdfh[\x92.\"B\x17\x12\x11\xc1\x1bΎ\x1d\x9c>;6v\xae>.\xa72)\xa92\xc7d\xa2\x9fqφ\xebt\xe1\xf0\x9f˼B\xb1h\xb0\x0e\xe2\x9bD\x99B\xcf\xe6\xa5'>\xdc;\x98\x17\x9d\x87\xffU:/\xbd\xcb|4\xf1\x8c\x19E\x8b,J\x13*\xcdc]\xb0\x01\x166xqcRz\xd4\xc2\xe0Ň\x82\xe5\x19\xf0A>q9Uf\xfb\x96\x98D\xf6)\xec\xf2\x01\xbf\xe7\t>Ac&\xf5\x02\n\xe5\x8eҳ\xe6_\xb3\xf0\x022Nt\x95\x05\xec]\xa5\xb9HP\x99]vXP\u007f\x05\x9ax2\xb4 %\xd4\xdc\x1cW=,t\xf0\x83h84\xa2\xb1L\xe0H\xbe(\xea\xc5\xef\xae\xc0x\x8b\xa2\xf10\xea\x98U\xb7\xe2\xd4,f\x95\xbc\x1b\x82B|\x99\xd0\x15ALAi\x92g\x80\xa5\x9919\x9c\xb8\x05Б\xe2\xdc\xeaĜ\x9cTk\xa9\xb6M;ܴ\xb9\xb74\xbb.!I\x8b\xf2\x84R\xbe\xa2r\x9b)%<'\xd1bN\xc9\xdf\xd6T_\x9d_\x93\x90\x19f6\xd0<\\ԃ\u05f6\x1a\x8f1\x81z\xa0i\xa6\x9cK\xef$\xcf\xf4\xb9\x88\xf3\x97\xe8s\xdeU\x9a\\\xc7\xe8s֚\xb2tܬ\x9d\xe6\xae\xf6\x01\xed6mA~z\xf1\xea\xec\xc5a酎T\xeb*\xafmڡ--\x9d\x9b\xd2l\x83\xbc\xa1\xb9ٖe\xb1\xa4Xj\x12\x92\x12S\xacY\xcdM\x8d\x15u\tA\xe5\xb6\xca\x06:\xf6N<\xf6*\xbc\xb6\x8b\xe9\xd8#H\xe9\x1f\x97~|\x9e\xc7\x1e\xc2-T\x8d]J\xb2U\x8f=\x81\xe4\xeb\xb0\xe1n\xdb=\xe0\xdd\xe6\x9dW\x98^X\\j2\x9e\x16.\xa1\xe7\x1f\xaf\xab\x86a6\xd92,\x16\xb3\xd5\xfaV]\xc5yߦ\xa2\x9aF\x8eG\x95x\xed\xabH\x8f酰c\xc4\xea!\x94\xa4\x16H;e\xb6\x1e\xe5~4\xf1̇\x8c҇m2\xaf\x00\x96K$\x9b\xe2s\xd0<~Tx\a\xe5ojn\xde\xf2k\xfeB)\x1a\x14Fk\xc6\xff\xf4\xe7?c\xfc\xe0\xb1i*\xf1\x18\"`\x04\xde.\xb16,:\xdb3~B1\xeb\xd2$]$\xb1\xd3\"\x9e\xbc\xaf\xd2 \x93`\x11O\x12Gf6p\x91ﴷ\xf6{\xef\xf0ݓ\x9e_\x9c]\x95UdB\xdd\xc2g\xfe\xb6\x8a\xfa.<\x9cƆ\x96,{fF\x8e\x0eU՝\x88\xdbְe'\xc4At\xe1q\xc2>\x81\xb2\x02\x1b(\xe3\xa3q\xf11d\xe2\xb3v\xa5P\x8eXGFLq\xb5\x88q\x97\xc5Wi\xe9\x93\x182bb\x04\x04q\xd6DKe\xa6\xb9t\xb4\xc2\xcb̷\xa7\xd5\x15&\f\xf56tkwh\xed\xb6\x92\x12mf\xe3\xb6\xed}Ͷ\x9c\x9c\xf4\xa5y\x86\xf9\xabyClYw\xf5\xc1\xa9\x96\xdaĜ\x96F[GU][m\x96Ś\xad\xd75\x95\x8b4\x99@p\xee\xcf١Z\xbb:v\xc1\xad2\t\vU\xf0\xa31U,\x82\x03\xd2ĨU\x17\x19\x90\x89\xf7\xdf\xd2p\x8b\xabG\u05fa\x9av\xf0\r\x0f\xff\xa5\xa2\xfa\\y\xd3\xf5\x83I\x98/\x03\xfd\xd7b\xbc\xc1ic\x87|\a\x0e\v<\x19\x14s\x1fQ\x14,\xff\xe8\x8e\xd6{\xb9⬉a\xeb\x9c*cm\x16ө\x9c}\x10\xaclw\xddb\xa9-L̲$Z\x13\x1c\xd5IIUy\t\xd6DKVbaMr\xdaڵi\xb6\x8a\n\x9b\xb9\xac\xcclY\x8d\x91\x19\x9aT\x90\x94Q\x12\x10\xecH\xb1\x14%\x05\x05%\x15YR\x1c\xc1\x01%\x19\x18\x1cZkN\xb1%&\xdaR\xcc\xc8\xf7\xffm\xef[࣪\xae\xbd\xf7>\xe7L&\x0f\x1e\x13B2y\x0fa\f\xc3d\b\x930\x99LB\x98\x84@\b\x03\x84\x100\x86\x18\xc2CЄ\x87\x82\x11-\xe2@\x91\x8f/\xa5\x884X\xeb\x83\xe0w\xeb\xd5\\ʵ~j\xadW\x11\xf1U>\xcamm4^\xf5r\xbd\xc4r\xd1Z\xad\xb5\xd6W\x95B\xe6\xe4\xdbk\xefuΜ\xc9L\"i\xef\xefw\xfb\xfb\xee\x17~\xc3\u007f\xe6\xec\xbd\xd6^{\xed\xb5\xd7~\x9cs\xd6v\xb9=N\xa7\xc7킱\bl\xa5\x89\xd59\x938YeW@\x9d\xb5\x95a\x16ֹh\xe8SP\xb1ǡ,\x8c\x13T\xd4\x0f/\xb3\x15\xe1\x83\xe0\x05,\u007f\x96\x984\x1b\xea\x8e\xe7z\vO\xe0\x10G^\xbb)\u007f\x8f/Es\xcb\xfc\xc9|\xa9\xad\xb8i\xae\xa3\xda\xe5\xf0\xeei-\\V\x99\xbf\xbapξ\rs\xe6f\xbbgf\xdbr\\\xf5[\xd2\x1cUeފLWY&Ծ\xd2魟h\xad\xf666LtTN]\xe1M\xab\xf1-km.\xb6\xa7\xd92&$&Z|\xf9\xc5.\x1agq\u06ddnW\xae5/=%^<7\xb4\x1b\xdb=S\xf4\x97,\xbd\xbf@\xb0[\xf37\xbe\xdf\xcc[|\xac\xa1g\x83\a\xe4\x0f[\xf5\x8bC8&ExB\x9f\b\x9d\xa0\xe9 N\x9e\xe1\xd3\xce\x0f\x95V\xadݦ\xac7\xf9*\xe6\xcc3e\xd5{6\xb4\x05\xd7\x16\xaf\x9c\xeb\xecjo\xf0%.(\xf5TUI9뛜\xfe\x96\xcdi9\x1d\rM\xd7OZ\xb8\xbd\xe9\xa1{\xe8\\\u05fa\xf9\xe5\xc5\xeeY\xfc\x99\x8f-\x83_˫\xa4v\xc9,\u007f\x97\x90п\x0f\xb9\xb6O\xbf\xf6\x00\xa1r\xa1\xb4\x92]\xbbC\xbf\x16d\xd7\xeay\xbe\xfd\xfa\xb5팶\x91_\xbbS\xbf\xb6\x95][\xc6i\x0f\xe8\xd7\x1a\x18\xad\xb8\xf6=\xfd\xda\x1e\x96\xaf\x81_\xebү\xdd®\x892\x0e\x86\xf91Z\x91ﮈ2\x9ay\xbe\xefG\xd06\xf1kw\xeb\xd7v\xeb\xf9~\xa0]#\x1b\xd9\x02q\xb7\xb2\x87y\x8e\xfd\xd4î9\xe4;\xd4W\t\xec(\xdf&\xd2\a\xbfV\xf6\xf2\xf4;\x87M\xef\xe4\xe9\ab\xa6/\xe0\xf4\a\x80?\xbf\xae\xf11\xa6wF\xa4\x1f\x88H\a\xf9\x04\xff\xef\xc5\xe4?\x9f\xa7\x1f0\xa4\xdf\x19\x91^\x1dE\u007f J\xfe=<\xbdkX\xf9\xf7p\xfeZ\xfa\xfe\xc8\xf2\xa3҇\x94\x1f\xc5?\xb2\xfc\\=\xfd{X\xff\xae\xc8\xfa\xb3t\xd1>\acʷ4*\xbd+\xaa~\xfby\xba\xa0\x9b\x02\xd7\t\xb3\x14ȍ\xe9\xfbb\xa4ߍ\xe9\xf39=\xd4\xefΘ\xf4\xd5:\xff\x031\xd3\xe7s\xfe\xd1\xf4w\x1b\xe8\xf7Š\xd7җ\xea\xfc\xbbb\xf2_\xaa\xd3w\r\xcb_\xd0\xdf5\xac\xfc\xfbb\xa4szB\a\xcfK6\xe5c\xa9\x95\xad\xec\x89\xcc&\x1a6S\xd2\xc5?I\xad\xfc\\:\x96FXZ02-\xc8c\xd4K\x81\x81\x1e\xa9\xd3|\x06\x8e\x90\n?\xab\x89\x0fb\x06\xfc~\xf3\x99/{y>'\xcb\xd73L>g0\x88\xf9dR\xc3\xe4\xd8\xc7\xe50\xb3\xb5P\xf6Ч\x81\xa5>\x810E\x83\tQ>~j\xe8\x04\xf5\x13z\x88\xa6\xa8\u007f\xa0\xdd\xf0\x9d\xc9\x0e\u007fȓ0\x9e\xc1\xbf\x9eg\x90\xff\x01O)\xa0>&u\x9a~\x81<\xd3ñh\xc5\xf3\xc6\x04\xf9\xc1]\x9cd\xfc\x80>\xe0\xef\x16\xb5\\\xe9\x10\x1f\xbe\x97\"9\x19\xaf\x9eQ\xf2r\nY\x86\xf0RH>\xd3\xdf\x11]\u007f\xe3\xe1\t\\-\x9a\xa1\bH\n\xb5\x05\x8cC\x1c\xcfC\xf8\xa5\xda\xf3\x8d\x9f\x0f>\xa0\x1e\xf8|\xf8!|P\x97L\x9b\xc0\x9f0\xfe\xc1\xff\\\xfeA\xfc#\n\xd3\xebN\xa6WU\xe7?\t\xb4\xa1\xf1\x0fkC \xf06\x19\xb4bԲ\xdf/\xa9\xbb\xe4\xdd\xe1\x0f\xd7\x0f\xd3\xf5N\xa6뿆\xbfS\x936\x06\u007f\xde\x1fx?2\x81\x9d\x13|\xefV<\xe3\f\xb2I=\xa1C~\xa6ϋ\x9dz\xde\xe0\xc8y\x83\xc1\x8b=\xa2\xff\x8c\xc0\xd7)\x9d\f\x1d\vj|\x9d#\xf2ż\x82\xef\xe0y迱\xf8\xf2W\u007f\x03\xa1CR\x8f_\xb2\xf9/\x06\xf4\xbc1\xf8\x1a\xf3\x92\xe0E'\xe6\xed\x19\x96\xaf3tL:\x194\xf2\xed\x19\x96/\xe6\x15|\x99V\x98\x9fb~\x84\xe75\x85\xf3\xf2p\xba\xac\xed\xa5\xf6P\xab\xf9\xcc\xc5N?\xcfK.'oO\x10t6\"_g\x90Uϯ\xf1u\x8e\xc8W\xcf\v|\xc1\xafr\xff\xc8\xf3R=\xaf\xcc_m\xb1I\xed\xfeP\xab\xd4j\n\n=H\xe4\x1b\xf3\x06M\xadB\xbf\x8co\xcf\xf0y\x03\xc1\x90?\x82\xef7\xe5E\xbe\xc2&Y^3\xe4՞\x96\xd7\xea\xc6{\x17\xd3\xda!\xa1\x8a\x8b\x9d\x06\x9b\xbf,\x9a\x1e0:m<\xe04\t\xa2\xcd\x131$5\xe5\x01 \x05\x95\r\x14\xc9z\x80\xcdtL+l\b\x1d\r\xd3yt:\xa7\r\x8a\x83\xde\xc0\xaa\x1fE7\x9c\x8c\xbcՎ\x05#\xea5\n\x19\x89I\xafܨd\x04\xb5G\xd1}\xb3\x8c\xba\x1eE\x9f\xd4hH\x98\x86\x1f(\x88\xbd\xb2\xdd\x0f]\xd8\x14\xe4C\xec(h\b\x93\xceH\xd3\x13C\x17H\x83T\x81\xa0M\x14u1 \xf4\x1eI'\x0f\xa5\xf3`\xffn\xf7ۂ\x82\xae\x93Y\xac\x91n8\x19\x81*\x10\fF\xd5\xeb2e$\xdcޅ\xdeG##\xa7\xeb\xb9\xe8\x1c\x95\x8cC\xf4\xc8\xfdx\f\x9aT\xf4\xa2\xa6$n\xf5~\xcd\x0e\x91&\x18\xab^\xa9:\x15\xf3\xa0\xed\xdc\x12Y\xf5º\x1f\x8e.\\\x1a['\xf5\x88\xf2l\xc1\xb0>8\xdd7\xcaH\x82F;\x1c\xb1^L\x17\x8c\xe6Xpt\xf5⾟\x1b\xfd\xe8\xea\xc55/ƹQ\xd4K\x97\xd1X/\x1c\x17̢/k4\xc2w\xa6r\xaf,\xb5\xc3T\x99;\x1b\x8d\x86\xc4\xea\xff\x1a\x8dF\x15:\x84\xfe\xbc\xd3o\x8b\xa63G\xd1y5\xbaV\xd6jP^O0\x92\xee\x9bd\x14\xce\xe62\xeb\x15`\xcef\xf4\xf5\np\x17\x85\xe3\xc9(\xea\xc5\xe9\xfc\xac\xd5FU/\x941\xa2^\xe8C\x93D\x1b\x8by\xb4\xde'\rV/\xc6$t:|\xde4jZ\"*\xf9\x17\xd1\xf2r{\xf49\xd8\xe8\xcb\x1d%m@\x1bL\x87\xab\xaf\x1c\x9bVx>1X\x8dVW\xc2\xff\x89\xee\x1b\x8bv\xac\xa0\x15\xbb\xf6F\xdaT\xbbQ\xeac6]ն\x88:\x0f\xa5\xb7{#jmӊ\a\x95\xc5\xd2\xf7XQ\xef!\xe5{R\x8d5\xb7i\xde\aTn\x8b!\xbf)\x82\xde뉬\xbdMW\x9d\xed/o\xb3a\xdb\xfb2\xdal\xb4\xb6bl\xb3\xd1\xdawT{\xff5\xe5rZ\x89t3?\xe5\xc1\xf5\xec\xc4\xe3\xfc\xd8P\xf1\xfe\xa6\xc4\xf7a\xc3+\xf6n\xeaQ{\xa56\xfe?\xacW9-a\xb4\xc1\xd1\xd1\xf2u\xa8$\x05\x06\xfdl\x1d\xea\xd7he\x9dVFZ\x1a\xb1ޤ~\x95ͫU\xf0A\x92\xe4d\xb4=\x97E\xcbגF\xda\xc1\xf3\xf4<\x1b\xa3\xba9-\xdfmI\xd5v\\\xf8\xaeKw\xa5\xbf\x92\x97\x91\xc8\xe6\x1e'\xf9~\xca0u\x832 Z\x89\x94XY\x19\xac\xac\x84\r\x96$\x0f\xccB\xb4ugw\xf4\xf8\xa9\x1d\xb6*֞\xc2\xd9@\x89\x17O\xf2\xf9i\"\x8e\xf1C\xfc\xb8XW\xf2\xf9U\xa2\xf4n\xe8\f#\xe0+Q\xe8\U0001ab3c<x\xbf{b\xd8j\xb58\xbc\x1a\x87\x14Q6\xf0h\xad\f\xb2\xd2\xcfT\xb2\xd2/\x06LA.\x80\xb6\xfe\x8c!\xb7\x97\xffӼ$_\x87\xd2\xf3 w\xa2>O;\x19Kn\xaf.w\xe8\x8c\xf4.\xc8\r+RMn\xa4\xd3\xe5N\xd0\xe5N\xe0\xf7\xcc4\x0e\xb2(\xbb\x93\x8d\xe6\xefV\x06\x19\xa7vV\u007fV\xb6\x89\t\xd0\xc9\xf5\rm\xaa\x8d\u007f\t\xc6\xf5\x00j\x1cWH\xb8\x1e=)ژ\xe9\x1b\xc7hN'E\xae#\xc4Z3\x11dv\x86ra٢\r\xd4L\xdfX\x1e\xca-\xe9rK\xda\xcdMN\x9d\xa2\xf1`\x8d\x9d\x1b\x04>\x87\x18\x9f@\xa5\xe9+&\x02\xd7\x1b=\xcf\xd7\tQ\xe3\xbd\xe6gmBjX\x97\xda\xfc\x95&\xbf\xa6o\xb66=\xa9\xd1)\x91\xe3\xbdG\xd09\x99\xe0\xa1\\1\xbb\xe0\xabT\xb4}N\x87r'\xear\xc3\xfd\\ڧ\x8d\xfcZ\xd9=\xc0\xc1Y\xc9$\x80\x15b\xe2\xb3&m\xad\x170\xfa\x9b\xa4\xb0\xbf1\x1c'\x1c\xd68_\x97\x9eD#G[\xe5s\x8e\x182\x98uݱV\x87\xbe\xd5\tZ;#\xfa\x17\xf7\x94\xa2\x8b\x11Y\xe7\x03\xa7~\x8c\x87=GI\xdfe\x82VH\xe8\x13\x98\x18\xee\xa9a\xd9x\x8f\x85\xe6\xe0}@\xf4\\]D\xc3\xfa-\x86?\xf5F\xac\xe1\xc4:\x8ew\x05\x93\x1f\x04C\x9b\x0e\xd7/N\xaf_\\\xf8\xc67\xe7 |\a\xb3f'\xf7\x1f\xb8\xd0\xd2\xea\xa7\xf3\xd1\xebg\x0e\xef\xa2Y\xc4Q\tf\xfe\xbc\x8a\xa8\x9f\xe8#\x94\xb7\x1c\xd3\x1av\x13\xce\x1d\xac\xee\xcb^\xdeYL_a\x1bJ8W\xef\xe6rZ\x8c;\xa2\x9a\x8c\xfc\xe0$\xdewp5\x02p\xf1O\xac\xb2LM\xa6\xaf*\rk\x92$\xd1\xef\x8czJ5\xf4|F}F\xf4}\xddi\xc9z\xf9&\xbeK\x98\r^K\xab\x9f\x16=\\\xc6\x1dB\xe1\x05R\xc2\x12%\xf2\xca\t\x0f\x16jE\xa9\x805J\xa6\xfb\xf9p;P\xbd~\x14\xdb!<\xab\x0e\xcf\xe0\xc5\x10\xc0t\x84.\xc20\x8fO\x12}M\xabc\xb8\xaf\xa5bo\x93\x9c\xdal\x1e\x1d\x85\xacˠ\xd7Q\xd1\xeb\xa8\xe0.\xa8\x82u\x14\xd2\b\xdb7!O\xf0\xb3\xdcLE\x1d\xb9`\xc0\\\xf3_\xfa\xb8\x9f\"\xecTDш\xb0SC\u007f\xd4\xedU\xef\x97h\xb7\x9a\xe5\x0f\xe1\x97\x1c\xc1/\\[\x83G\x17\xd5\xd6\x1aW\xaf:6\xb2\xa2\xf3\x83\xfa'\x13+\xece'`$$\xe1\xe3\x95>\x81Ɉ\x13tM\x98D\x9b\x1bj\x80\x1aq\x8a\xb6\x0fw_\xa1\x16\xd6\xf4\x9d\x86N\x1c\xde'N\x16\xba\x11\xb1s\x8a\x8aM%\xa5\xbeJZAS\xe1a\t\x1e4I\n\xd4]\xb9\xe4\xa3\xfbKJ\xf6\xbd\xb9`~\xad\u007f\xe2\xfe\x0f\xafZ\xbaܿhA\xe0\xf5\xef\f\x1c3\xec\xe7\xc4\xe25\xc51]<I\x95f\xcd\x15\xbcj\x03\x817\xef\xf0x\x0e}T\xdfX\xe7\x9f\xf8\x9d\xd7\x03\v\x16\xf9\x97/\xbd\xea\xc3\xfd:/ܯL\x16c\xa5\xc6K\x86\x9b\xd4z@'x>\xcb\xe6\xb9\xe3\xcd@\xa0\xd6_\xd7X\xff\xd1!6C\xe3\x12Ɂ\x81c\\@\xe1\x87\xd16\x93E{i\xbc(\x8f\xad\x9f+j\t\"z\x997\xae\x9d\xbf\xe0\xcd}%%\xf7\u007f\xb4\xe4\xca:\xf3\x99\x81c\x06ф\\*\xe3\x15\x87\xfb\xc9Jx\x0f\x93zR\xa9ݦ\xf4V^\xf2T\xaa\xad\xf1\xc4\u007f\x81D\xe7\x97\xc2\xf9\xbd\x1eV\xaa\xad\x92\x11\xc4\xd9X^\xbf1\xefx\xc8;\x16\xfb\x00˛\xc0T\x97\xc0\nH`$\t\xac\x14\xa91\xf4h\xa54_\nT\x86\x1e\x95\x1a+\xd9:\xf7YV\xa6|^~\xd7?\xe0\x91{\xfd\x03\xb9\x036\xbf\xdc;\xe0\xd1\xf4\xc8筼|\xed~\x17\xbf\u007f\xc6\xc6\xdbV\xbc\xb7\x06:\x1a\xf9\xfe\x99\xd8\x0f\x13\xba\xd4\xf8\x19\xf2q\x0f\xa83\xc4\xfbqZ>\x12\xc5Oj\xd5\xf6\xd7`\xaf\x99ύ\x87\x91\x0f\xef\xef9q\x9fy\xd8\xfbv\xba|\xda=\xc2\xe1\xe4\x03\x86x\x1fp\x18\xf9\x18?\xa3|\xe1\xbd\x1a\x93a\xed\xef\xd5vB\x80)l\x84\u06026\xc3\xfd\xc5!{\x058W\xe2;\xae6\xdc\x12\xd6\xf6\xc4\xc3\xfc\xe3\f\xfc5\x8fۣm\xd00¡\xfc\r{Gvmg\xd1Ʒ>\xd9D\x04v>)s\xf1~\xa57\x0e\xd6\x00$9/9O\xe9\xbd\xe4\x89\xf3\x0fp\xdb$Dei\x83<-\x15\xd3N\xf2#F\xb44\xc2Ӽ\x98\xe6W\x8di4\x82'\xf5\x87\fiRD\x9a\x14Q\x9e\x1c\x91&\xfb/\x19Ҕ\x884\xc5\u007fѐf\x8aH3\xf9\xfflH\x1bZ\xbf\v\xe14\x0fO\x8b\xb0-\x9e\xcfs\xa9טO\ue39dO\xee\x1eh\x8b\xc8G\x86\xc9GBĘOj\x8b\x9dOj\vu\x1b\xf3\xd1\xde\xd8\xf9h\xaf\x1aQ\x0f:L=`\xa9h\xccGbՃYF\xb7(\x95Jm\xba\xbe\x86\xf4\x0f\x90\rL\x8d\xe7\x9b\xc5x\xf5(\xa2\x0e\xe2\xfed\n\x1b\x97\xb2\x88\x8d؉\x83\xb8\x88\x9bx\x88\x8fT\x90*2\x97?K\xbe\x84\\I\x96\xf3w בv\xb2\x89l![\xc96\x12$\xbb\xc8\x1e\xb2\x97\xec']\xe4nr\x1f9L~H\x1e&?\"?&\x8f\x93\x9f\x92g\xc8s\xe4Er\x92\x9c&\xaf\x90\xd7\xc8\x1b\xe4\f9KΑ\xf7\xc8\a\xe4\xf7\xe4\x8f\xf47\xc7\xc9\xed\xe4S\xf2\x19\x1f\x03o\xc7\xfb\xb9\x80&\xc4\x04\xc4q\x88\x13\x10\xd3\x103\x11s\x11'#NA,@,D,F,E\x9c\x89X\x898\a\xb1\x16q!b=\xe22ī\x10\xafF\\\x85\xb8\x16\xb1\rq#\xe2fě\x10\xbf\x85\x18D܁\xb8\x17q?b\x17\xe2݈\xf7!\x1eF\xfc!\xe2È=\x88G\x11\x1fG\xfc)\xe23\x88\xcf!\xbe\x88x\x12\xf14\xe2+\x88\xbfB\xecC<\x83x\x16\xf1\x1c\xe2{\x88\x1f \xfe\x1e\xf1\x8fl\x0e\xe3\xc5\x00V\xdf\xf4I\xf9\u007f$_[\x8c\xbf\xde˾\xf8\xab\xf6\x18\u007f\xbd1/\xc6\"\xefiW{ۨ\xa7M\"\xed\xf0\u007fo\xc4ϋ\xbd\u007f\x8b\xa9\xe4V\x83\u007f\xff/\xf1C\xe4\v\xf25\xb9D\x06\xa9L\xcd4\x89\x8e\xa7)\xd4J\xb3\xa8\x8dک\x83M>\xdd\xd4C}l\x02YE\xe7\xd2\xf9t\x11]B\xaf\xa4\xcb\xe9\n\xba\x9a\xae\xa3\xedt\x13\xddB\xb7\xd2m4Hw\xd1=t/\xddO\xbb\xe8\xdd\xf4>z\x98\xfe\x90>L\u007fD\u007fL\x1f\xa7?\xa5\xcf\xd0\xe7\xe8\x8b\xf4$=M_\xa1\xaf\xd17\xe8\x19z\x96\x9e\x93_:N.\xd0\xff\xa0\xe7\xb9\xff\xbb\xc0\xfa˅>\xf1f\x0e|w!z\x10K\x10\xcb\x10g!\xceF\xacA\f \xd6!6 .GlF\\\x81؊\xb8\x06\xf1Z\xc4\xf5\x88\xd7#ވx+b\x10q\x0f\xe2\xffD\xfc.❈\a\x11\u007f\x80x?\xe2\x03\x88\x0f\"\xfe\b\xf1(\xe2\x8f\x11\x1fE|\x02\xf1)\xc4c\x88'\x10_B\xfcg\xc4W\x10\xdf@|\x13\xf1\xdf\x10\xfb\x11\xff\x03\xf17\x88\x1f\"~\x8c\xf8)\xe2\x17\x88_\"~\x8dx\tq\x00qP %\x882\xa2\x82hF\x8cGLB\x1c\x838\x1eт\x98\x82hE\xccB\xccF\x9c\x84\xe8@D\xbb\xa1nD\xb4\x1f\xeaC\xac@\xacB\x9c\x8b\x88\xf6C\xd1~\xe8\x12\xc4+\x11\xd1~(\xda\r]\x8d\xb8\x0e\xb1\x1dq\x13\"\xda\rE\xbb\xa1\xdb\x10\xd1n\xe8.D\xb4\x1f\xba\x17q?b\x17\xe2݈h?\x14\xed\x87\xfe\x10\xf1aD\xb4\x1f\x8avC\x1fG\xfc)\xe23\x88\xcf!\xa2\xddP\xb4\x1bz\x1a\x11톾\x86\x88\xf6C\xcf \x9eE<\xf7\xdfpl\xfb\xef\x96/\xd6\x10\xdb\x16k0n\xff+s\xfe\xed\x154\xf2L\xa2\xadM\xedm\xa7%\xed\x12\xe1\x17\u007f\x15\xf1\xf3\x92\xe7\xff\xd3^.-[\xd3M\xd7\xe7?~RM\xe6\x91\x05d1YJ\xae\"W\x93\x95\xe4\x1ar\x1d\xd9@n \x1d\xe4\x16\xb2\x9d\xec$\xbbI'\xd9G\x0e\x90\xbb\xc8=\xe4\x10\xf9_\xe4\xef\xc9?\x90\u007f$\xff\x9b\xfc\x84\xfc\x13y\x96<O^&\xa7\xc8/H/y\x9d\xbcE\xde&\xef\x90\xf3\xe4}\xf2;\xf2\a\xf2\x19\xbd\xf989B>'_\xf0\xb9\xc6\x11\x8b\x885\aX\x8d8\x0fq\x01\xe2bĥ\x88W!^\x8d؊x\r\xe2u\x88\x1b\x10o@\xec@\xbc\x05q;\xe2N\xc4\xdb\x11;\x11\xbf\x83x\a\xe2\xf7\x10\xbf\x8fx/b7\xe2\xdf!>\x8c\xf8\b\xe2c\x88O\">\x8dx\x1c\xf1\x05ğ!\x9eF\xfc%⫈\xff\x82\xf8\xaf\x88\xff\x8e\xf8k\xc4w\x11\u007f\x8b\xf8{\xc4O\xfa`\xf5\x9ejO\xf5\\\xc6\xc7\xee\x8d\xf1\xa1\xec?+\xfb\xa4\x18\xd0\xf8\xdd\xc7>\xf2\xdfX\x1e%\xd6Z\x85y\x986\xfcO!\xd1\xde\xe72\xaeD\xbb\xa8\xe8+q~C9\xfa\u007f\xe1?s\t_s\xa9m|AE\xbb\xdb\xdaB\xdd\xe1+mm\xa6\xee\xff\xdat\xdc\xdf1\xc5\xd8\xeb\x12g\x02+\x9ea\xf6u<\xc9v\xc5\xd3\xdd\x1d\xb97%\r\xbb7\xa5\xedՉ}\"i\x84}\"\x9e\x93\xef/\x8e\xbc\xd75\x10\xb9O7d\x1f\x1c\xf2\t\x8eb_r\xc0\x98w\xe8\xf3\xa7yZn&'ʠ\x90!4C\xf6\xe5\x05\x85\xd2\x1b:$d\x89\xcekxnZ\xe7\x0e\xf9\x81\xf7\x05ԅ\xf4\x8d{f\x03\x10\xabĸV\x8d\xf9,\x04߱\x1bR\x83\x01\x96+\x96\x8ehL\x1d\xa1Tp^\xd3\x03\xca\r\xf2'\x8c\xd8\n:J\xe0\xa7\xc4\x10q\xe84\x04\x80/*\x86\x95*\xbc/n^C\x8f\xae\x1d$\xb2<\x10\xa2d\xadTC\x1fY7H\x0e\f\x92\xb5\xbc\xcc\x17H\x952NY\xc8\xf8\xa4\x1e\xe77Q9\x1fx}\x15\"\x9a\x17\x15'PG\x02[\xfa&\xdb%\xdb \xb9\x86\x1e\xe5\xbc\x0e\xc8U\x83\xe4:zDm\xb9\x8e\x92P4\x9f\xf80\x9fx7\xbc\xf8̤\xf1\xc1\xc9\xc0L\xa4\x17\xae\xa1\xe4\x00\x13Dm\xa6\xef3Adi@\xa5d\x9d\xda2\xb4N$\\'\x85\xa5Q^\xa7|\xb8\xc7F}\tTZKɀ*K\x83d\x1d=\xaa6\xab\x9c\xe7:\xb5Imf9ϑ\x87\xe4\x8f\xe5'\x18\x9f\x1c\xd8SG>;!\x9ex\xfasp\x18\x06?\x8e\x995 \x9c\xea\v\x1a\xa2\xeb\xf7I\xcd꽒m\x9d\xf4\xb2z\x9fԼ?t\xfeZ\xe4\xf3\x89Ƈ\x1a\xf8\xc4\x01\x1f\xca\xcd]hZ<\xc1A\xcfIy\x8cK\xf3\x9d\xa1wi\x9cd\xdb\x1f:J7\x84\u038b\xb6\x8d\x90ɤ\xf1ځ2\x99\xb8\xb1p^\\IL\xaas\xfb\xa4\xbcu\xa1\xf3tc\xe8(S\xd1=\x92\xed\xda\xd0\xf9\xfda^\xd1r\x89\xc8\xeeB.\xb3\xa8\x1fS\x15?\x8f\x99\xde\xcb\u061c\xbbNʽ\x93\x89T\xc8Y\xd1M\xa1#\xc0+\x1c\x17dr\xf4\xb90\xc6X)\xe3c\xc4ω\x8ei\x12\x15\xa5\x04\xcaX\x0f\xe7@(\x9f\x93)p\x8a\xc1\x04\x8c\xe0C\xe0\xb5},g\n\x943\x05\x83\xdc\xf73\xa3\xc1ص\xf0\x827\xace\xe1ex[\x9fx\x17\xe6\x8a>q*\x87!~\xa0/WN\xe5\x92Mq\xe4\xca\x10\xa9\xa1\xb9\xbc\xb1,W\xb9b\xdblwk\xadk\xf6\xee\x17v\xedzqw\x95k~KQն|\xc5\xe6k\x9c\x19zo\x99e\xe6\xe6U\xe5\x15\x93j\xdaj\xaf}\xf4\xf1\x13[\xb7\x9ex\xfc\xd1kk\xdbj&U\x94\xaf\xda<Ӳ\f\xe4\x9e\xc3\xe4ޯ\xbcEfBT\xdel\x8c\xf7I\xe0\x90\"\x94{&\xc8=3Z\xeel\vĖ\x81\xbaf\xf3(l \xb5\b<\x00\xbb\xcfP+-.\x8d\akU\x16]+\xcf\fk\xe4\xabإZX\x1ecE\x9b\xcarM\xce\xefT{\xafY\\\xe8\x9a\xd7\xe4t\xbb\xf3\xb3\xf3\xe6nZ\xb0p\xd3ܼ\x9c\xfc\"\xb7\xb3i\x9e\xab\xb0~\xadgN\xa7\x13*>\v*>k\xf3\xaa*o\xde\xdc\x1b\x16ױL\x13\xdd\xcdžU\xb5\x0eG\xed*_q\xb3{\"#\xae[|\xc3\xdc<oժͳ@\r\xbc\xfd&\xb0\xf6{\x87\xe4\x90b\xe8\x97x\xde\xd1N\b`\x90.N\x15\x80\b\x11\x89\xfc\xad\xea\x9d\x10X#]<\xa62\x11*5]\xd6#\xbf\x86c\\Km\xbb^\xd8=\xdbU\xdb\xe2v-\xab\xf5\x8e\x19\xeb\xad]\xea*j\x99\xe7\xaa\xda\xfdℎ\v_\xbe\xdf\xdaб\xc0\x9eY\xb2hƌE%\x99\xf6\x05\x1d\r\xad\xef\u007fy\x81˲\x85\xd9\xeb*S\x1c\xeb\xc1%\x11g2P\xadM\xf0\x18\x06~\"\x00\x10\xc8\xc9\xe2\xf4,q\xfeEJ\x82\xb4\x85~M/\xa8\xf1\xd2v\xe9@hkh+˫\xd9g&\xc9#\x01\xf2\xed㬆\v\xc8BN\aA9\xc6\xf6\t,\x81\xb7\xadK\xdc; |G:\x96\x16\x80\xd2\x02\xc2\x02 \x8a \xc4J\xb7\xf6\x8b\xe7NJ\x80\x16\xae1t\xf4C\x88\x82\xe3p\xb6#F'\x82\xabpo\xc1\x81\xf3\xec\xc9\x16\xb8\xb7\xc0\xfa\x18\x1e]U2]r\x8c\x93\xb5\x98B)өc\x1c5;F6|i\xbf\xbb\xa5\xce\x11\xf0\xe5\x95w\x1cݲ\xf9hGy\x9e/\xe0X\xd4R\xd4\xe5\xf6$\xc4{\xdc=\xdf\xdc-\xe8\x1bM\r\x19ަ\xaa\x86{\x0f?\xda\xde\xfe\xe8\xe1{\x1b\xaa\x9a\xbc\x19\rM\xea\x1akKss\x8b\xd5\xf6\x8d݆y\x1f\xcd^\xd2I)\xb9\n\xa2\f\xf9HY\xb2\x16e(\xa9\x0f,\xc7\xce-'\x03\xf4\b\x01\x17\xe1T\v\x9e\xd8/\x1egI\xe9;N\xa6\x12;\u007f`k'\x1c\x9f\xc7\xf2\xa5cp\xc6Bq®\xf6\x16>\xc4,\x84W\xf2\xc7S{Jl[\xf3\xa6w\x04\x16me*ټ\x85\xa9dk\xdd\xfc\x8ets\x93kX\x03\x94?X\xb9\xe6\x96ݍ\xbdWa\xc3{\xef\xf46\xee\xbee\xcdʴ\x81\xea\x91̒\xd5Y\xb3\xcb\xf1\xe24\xbd\x14\xfd\xac\x16xɞǵH\xd6,\xd4xp0\xe9\x87s]\x92\xf1\xec<\x8b[\xc4h\x85{\\ZX\x18\xf0\x12\xf0\xbcG~\xa5\xec\x9b.3\x930\xdb\x13X\xff\x99\xd5v\xdd\xfa\x8a\xf2\xb6\xf6\xf5\xb3*طY\x8b\x85Q7\xd4u\xee\xd9[\xbfp\xef\x9e}u\xfc\x1b\x9a8\xb3q͗\x15\x91M\xe4&\xf2\xe8q\xbe5~3/u\x8b\x05\xce\x1c\x13\xc8#\xc2.\x06\x1bߢ\xdb\xf8&\x90w\x93\x90\x17\xe29\x95\xf3H\xc6\xc2\xc6!\xe2\xe8<V\x87\xb9la*\xa2\xd6A\xb4'\x88`:\x16S\xa1\xd9 \xf2Si?\x84_\x101Ka\xbd\b\xf9`߰\x1c\u05c9\xa5\x16\xb1\xbf\\\xcc\u05c9Ǚ\x90\xc5d\x93\x98g\x85{\x04\xc4\x1f\x89\fdf\x9eb\f\xbd%\x8fڅ拎%\xed/\xdc\x1ep\xd5U\xd8\xf3<5v\u007f\x83s\x963\xc3\xdb8\xb3\xbcћ\xc1\xbe6TN\xae\xf1\xe4\xd9+\xea\\\x81[\xa7\u007f4z\x97K\xb7\x8b\xfeG\xdfhY\x98\xe1k\xf6\xcfj\xf2e\x14\xfa\xe6\xacu;\x17\xfal6\xdfB\xa7{\xed\x1c_a\x86\xafi\x96\xbfٗ\xb1\xb0E\xdd5*\x1f\xed\x11]\x93\xf0\xc7\x18\nI\xbc\xf2\xa0\x12$e\xa4\x864\x90V\xb2\xfd8YJV\x92U\xbcm\x96Z\xc4}N\xc0Y\x88\x81>\x9898x\u007f,\x04O\xbe\x9c\x11@\xb4\bHL\xecӎ=\x800\xc0\x84\u007f\x83`\xb3\xc9\xec\xfa<\xfek\x91\x1e8r96</\x84M\x16\xf2Í\xe0s\f\r\xf6k\xb6\xfa @\x905\x81B\xb8E75\xa7\x8d\x14f\x84\x1a\xbf;<\xad5\x0eGM\xab\xc7\xe7^\xbd:\xcdc\U000f421fp9c\xe6\xcf+o,kjUw\xd2=\xad\xcde\x9b+\u007f>3\x83\xa7\x05\x02\xc6\x0f\xbd+\xc7\xe5\xcaa\x9fx\x9dpuk\xd2\x18\xed\a`Ō\xf2\xd3\xfe9-jP\xdd\xd1ZSq\xaa|F9\xa4\xec\xd2XH웷\xb6\xd6\xeb\t\xa8_\xbar\xb2\v\v\xb3s\\\xdc\x0flds\xf8\xb5l\x0e\x9fK\xf2a\r0N\x8f\xd7\x01\xe1G\xf2a\x04J\x16G?\xc8~\n\x0f\xf3\x88\xb31\x99\xa3O\x96\x99\x19\xb2\x89\xfe\xc6)\xb5m\xd5O\x95ֹӎ\xd0x\x1a\u007f$\xb3bMmm\xf1ҊIO:\xe6O\xa4%\xaa\x9f\xae^\xb1\xb7}\xc9\x15\xd7\xe6\xcem\xeaX\xf4>}P]\xa3\xbe\xd2rǖ\xab\x1d\x8e\xacY\xcbw\\\xad\x9e\x95\xff)͗\xad<5\x90\x01\xf2\xf4\xaaAX\rAP68a'\xf2\xe9\xc8\xf0\x99V\xc6C\xa7\xe3p\x16C\xd0\xfb@P,8\x19\x19\xeeB\xc0\x9d\txB3\x01q,\u007f\xab\x1af\xd1V\x0fL5\xedlN\xdd{\x98\xee\x0e\xfd\xe6\xfdn\x9a{o\xb7\xfa\xee\xbdq$\x14\xb7wO\xe8ii\xe1\xc0.ia\xe8i\xb0S\x99t\x0eڕ\x80\xa9\x99\xcda'\xb1\xe1\xe1*x\xe2M\x8bgc|\xe2\x8dǴ\x99\xc6\xdcb\x1e\xfbL\x83\x04\f\xe7\x98\x00Q\xa8\xd8'\x95}\xa6\xf4\v\xc1rp\xb0\x86\t\xd6\f\x18%\x92\x85\xd1$3[\xf2\xd3H\xbf\xc1>\xa6\xc9\xde\xe4\x12O\xb2f\x93\xc93R\x93'\xdae[\xeb\xca\xd6\xd6c\x93&O.Hs\x94\xe4\xe4x\x1ci\x05\x93\xf3\xd4W\xbb\xba\xbc+\x82\xf3\xe7\a[K\x0e\x1e\x94>\xa1\xb9+6o^\xa1\xbe\x1b\x92\nl\xbfN\xae.\xc8)q\xa4A\xf6\x82\xea\xe4_\xdb\nz\xef\x93\x1e\xb8\x9f\xe6.\xbamyQ\xd1\xf2\xdb\x16\xa9\xef\xde\x1f\xba\xf6>\xc3\xfa\x0eNQL\xa0ڣ8\x03\xd1k\xbf\xf0\xbb\xc7\t\xb0\xd8qȟ\x0f\x8c[\xabl\xbat\xcfZ\xc9/\u007f\u007f3\xd0l\x89\xe4\x97 \xf1'fz\xd9\x158uk\xf85\xae9\x81-/\x94\xdeu\x97\xeeU6\xae\x1b\x18\xa7>\xba\x05\b6\x0fl&\x94\xc6+\x0e\xf9\x94\xa9\x86\xf5\xe7Y@\x831\xa4v\xc0\x88\x95\x0e\x81\xaa(\x0fG]-\x93\xd5,\x95\xae\x14\xca6Y\x9ee\x03=$\xc1H\agxQ1\xf6\x82?\xb6B,D\x11]\x94Əq\xcd\\X\xe8\x9a[\xe6͝>?\xa3~\xac\xab\\\xfc\xb2\x15\xce\xcfP\xea\x9c\xcd\xf3\x8b\\3\\M3\xf2\x9d\xcd\x01\xb7\xab\xd8\xd5\x04\xe7\x11Q:GY/\xefgs3\x19β\xd2\xe7{;\xe0\x14\xb6t8\x1bJ\xd2\x0e\xee\x9a#-\b=\xa3|~\a\xa3Q\x95Z\xe95\x93\x15\xa2CF\xd1@\xac\xb7\"~r\x16U_\u007f\xddd}\x9dHԥ\xd4\xc9G\xf89_f\xe2\x8a^\xb7\x1b(\x85a\x86_m\x10a\x04\xa8\xeb\xb5\xd7\xe8#\x8c[\xd6k\xaf\xbd\xc6\xc8\u007f'\u007f)\xbfc\xda\xcd\xf9\x15\x0e=\xeb\x8b\xf6\xe1\xaaO\x1cS%x\xef\x80\x057\x84\x97\xf4P;\xff\xec\u007fY\xbd\xb8R*yI\xbd\xd8jڭn\xa5\aԭ|\xedG\x8f1\xdeY\x9cwE\xf8\xb95\xe8\xc5n\xc1\x89\xb5\x0e\u007fim%\xfbR\xa5}\xb11\xa1\xf0\n|\x11\xe5HM\xa7T\xf5\x1a\xe0\x0e|\x9fb|\xad\x9co5\xac)\xc3:\x13\x92\xcaș\n>K\xb4/6\xd8pXYmb\x9c\xe1\xaaL$\xce=\xc5N\x9f:\xf5w\x829\xa5\x15\x8c\xf7]\x8cw\x1c\xc4\xc9R@\x1f\xe1\xf5*\x17ʤ1\x13f\xa5\xf0\xb1\x86[\x1b\xcc\r\xfb\x04G\x87\xd9.e\x1c~g\xe3\xcb/m\x02\xbe\x9f}\xc6\xf5\x11\xe6\xed9\xce\x17\xbe#\xf2\x86s\xfb`\xac\xa2\xfd\x1a_\xab\xcf#\xdbiŦ\x97^\xde\xf8\xcea\xd3\xee\xcf?犦4C)\x96\x9f2\xb5\x90TR\x00zƳ\xc5w\xf0\xd5\x0e\x9c\xed\a\xd2ʼn\xbe\x10Dž\xb6\xf4\x890R\x0e6)\xe71֙\xedKm\x8bnYV\x9c8/\xd9]\xd5\xe8-m\xacr'\xcfK,^v\x8bR\xeckh\xb4\xb9\xd3K\xdd\xd9\xd9\xee\xd2t\xb7\xad\xb1\xc1\a\xb1\x9eV\xc9g\xe5-\xa6slnh#^(u\x12\xc9\xe3v3\xb1\x0fK\x8en]\x11\xee\x16\xa2\x9f%\xea1\xbc\xc2\x01\\\x1d\x11\xb1\xba|kk\x9d\xceڵ\xbe2\x81e5--5s[Z\xe4\xb30\xb1\xf0\xad\x9e\xe7p\xcc[탉Ƶ+\xe6\xf2\xb4\x15\xc2\xe6\xce˝\xd2۬\u007f$A\x1fԞ_G\x89t\xcb\xe5a\xa3\xf8)\xb0T\x9a\x98\x9a\xabHE?\xbbϜ&w\xa6f'\xe5$\xd1\x19\xea\xbe\xe4q\xc0\xebw\xf2\x05\xe9\xbc\xe9\x80\xe0E\f\xbcd\xce+\x89\xf3\xd2b\x1e\x9ae\xbb\xb4;.-9-G\x91\xdc'M[\x92\xc7rn\xeakB\xae\xc7Ԡ\f\xa7sX\xc9tx\xae7\xf2\xecX\xe3\x19\xa8\x130\xb6\xbb\x99\x8fj\"\xe0\x95\x0fC\xffA\x8by0\xec_S\xc5J\x8b5\xad<\xc7\xe1t\xf9<Iy\xad\x13\x9aolU\x83Y\x89\x8dIc\xb2&\xa6楍\x91\xba\x9b2\x96\xcc\xf1Ջ\xf2\x9f`\xe5Cs\xa4\x90)\xe1\xe7ʇ\xc4\u007f\xe3\xe5\x8f\r\x97\vJ\xf2\xf0`b\xc2?RiKӆ\xae\xad7t\xac)\xb4e\xd7LH\xb1\xaeR\x83\x01\xff\xc2\x1bk[ڧ\xd82\xc6\xc77\x8e\xc9\xe1{\x90\x8a\xfc\xa5\xf4\vӞh?H5\x1f\x02\xd6\xcc\xf4\xa5\x9c\x9aSmڣv\xb0L\x9f\xb3\xbeq\x96\xd3\xc0\xb33ˇ\x8f7\x83\xfde\a\xdf\xd9:\x16q\x86k\xf8\xec=\xe3a|0%H\xb0\b\x9b\x83\x1b\xa6P2\xe0\xe7'N\xd0\xf4g+\xfdgN\x9c0ٞ\xa7yj\au=\x0fq\x91ԇ\x15\a]\xc3\xc6\x16\xb3rs\xe8\xb0x\x8eT}\x88][Ů\xd9\xd9\\\x89\x95\x9d\x0ee\x8f\xc5\xc9\xc7\x04\xdc \xc9e\xdf\xd3af\x19\x1eX\xacx\x80\x84U\x04څ\xa5\xe08ɬ>4\xb6`\xe6\x82B\xab\xf3\n\xdb\xf8\xcc\xe2\x9c4\xe7\x15\xb9c\xea\xf9\xa5i\xb3\xb3r|6~A\xa9\x9bڼ\xc0=65k\xacՑ\xee(\xca\xe0\x83\x8d3=sZ\xfa\x94\xe2t.\xe7;\xcaz:\x85\x8d7f\xe5\x16!\xe7\xe0\xe0\xe0!\xa5\x96ld\xe3\x89Y\xf9\x96vM\xfd\xb9RG\xabY\x9f0+\xdb\xf4kL\xdf\xf4\xb7\xcc\x17\x99\x95[\xd5\x04\xa4\xbdW\xfe\x92\xfc\x99_\xdb\x1e\xfa\xf5\bגص\xcd\xfc\xdam\xa1\xe5\xc3]#\x92jceL\xc0\xb1\xc5F\xf41\xc4\f\xbaS,\xe2\xb0OѸ\xf0\xb0<\xf3\xc3\xec\xd3\xf0\xf2߷\x866\xbc\xf4\x90>\x940Y\xff\x95\xf1\x99\xc6y\au\xf9\xc3\xd7v\xe8מR\x8a\xe9\x12\xe6\a\xcd\xcaN\xfdڟ\xe5\xb34\x91\xf9)\xb3\xf2m\xad-\a\xed\xf2\xa7\xe4\xb4\xe9n\x92\xc9Z\x93ɓ\x89\xde7S\xf3\xbe\x99\xdcW\xc1\x06\x99\x85ٌ\x8c\xab\xf6T\xbb\xc1Y\x99\xfdNon\x92ӳ\xe2\xc6\xc93\x17\x17\x94\xd4{3\xb3\xbcKJ\x94\xc2I\x1e\xe7dˤ\xe9˼\x81i)\xe9\xd3*&_1\xbb\xb2r2\x94y\x92\xe9\xc7\xcfu1>\xec\x8dd\xe8\t\xf0R\x94\xff\xb6۠\xbeL\x8f\x93Y\xbes\xa6ݒC\xb9gp5\x81S\xf2\xee!\x0f\xa1\x8e\x1f\x94/\x90\xfb\x99?2+\xb7\x87\x9e\xc1\xba\x9cd\u05ces\x1f5~\x88gJ\xd1\xe2\xe31Gg\xd7\x1c\xd3\xcf\x14k\xf28\xe1\xe6\x8a9\xcf\x1dr'\xb9\x99\xdb\xc6.]?m\xccSt+]\xfcu\x91\xa8\x18\x97L`\f\x81\xeb\x11\xf1\x16\xed\xdd\xee\xaa)\x16\x93\xe9.\x93\xe2\xacߺPޙ2\xa5bj\xfa\x9c\xec욉\v\xae\x99\x99\xceʸI\r\x92\u007f\xe3u\xd9\x1d\xfa?X\xc6\xfd\xea\x11\xb2~p\x1b\xd3G\x12\x81\xc1\x90\xb2u\\Q\xb1\x99\xf5\xcb\xf5}}\xfb^\xe7\xf6sJ=J\xabx\x1e\b\xa2*\xf6ʹ\xa8\xb7ƹ\x8d\t\xe76\xea\xa9W_\xa5\x8f0r\x98ڰ2:\xd5,\xb2s\xf0\tM7\xf1\\7\x84\xeb\xdc0\x02\x04`\x00p\x9f\xbc?.M\xcdBͰ\x01`,\xeb\xf3O\xaa\xdbh\xfd\xe0\x83l\\\xcd \x9a\xbfI\xc2\xc5\x06,(`\x18M\x1e2\x8c\xd6ݼlFb\xad\xc5=\xbb\xd1뽲\xdam\xa9M\x9c\xb1\xecfu[Y}S\xae;\xa3\xb407\xb7\xb04Ý\xdbT_\xc6\xf8\x9fU_\xa7\xf9\x83-\xac~c\xd1&`w\x89Շ\xcd\x11ճ\xb0\xfe8\xb2\x0fl\xf8_\x98\xfeĉ\x89\xff#4\x19\xfb֓\xcc\xd6\xeb\xe3>\xe0\xb2\xd9\xc2\x16\x95\xc6}\"\xeeN\xc1\xe2(#\x86\x8c)lF\x15S\xce\xdcӃd\xadR̅M\x17¦sa\xa5\xa7Ŝn\xd8r\xad\x97S.\xf4\xef\xd8\xfa\xd9s\xfa\xf0e\x95\xfb)+\xb7\x88\xe4\xe8\xda\xd2J+\xea\x17\xdewJ\u007ft\xa9\xb1\xfboL9v\x89N\xdd\xd2\x11ѩc\xc8E\x9b\xf5\x8e\xbe`ZJ\x86k\x16\xeb\xe8\xfe\xaa\xc9L\xceG\x98\x9cMqg\x99\x9c\xe5\xa4<JN\v.E\xa7\xf1\xb0\xff\"\xb2%l\xb3C\x80̒~\xb1j,\x8f\xa59~\x96\xc7\xd0\xc1\x84\x9f~\x10\xbb&\xea\xaa1\x05\xe5\xf3]\xd3\xe7\xe5\xa4\x17e\xa7M\xb5玩\xe3\x17\x9c33\xc7\xe7\xe4\xe6&\xa7:إ\x985{\x12\x86\x99\xa2l딌\xa9E\xe9y\xce\xe5\x01\xf7\x15\xd6q\xd9i\xe3\xe0'\x91Փl,\xf1\xb3\xf6\x17㴋\xe8k\x82x\xa8'\xf4\xc8ȕ\a\xbe\x9c\xd7\x1f^\x81\xc8\xcc\xfaԓ\xac\xa7>\xfa\xea\xab&08\xbe\x14\x91\x0eCKG\xf2\x1fG\n\x87Y\xcf\b\xae\xe3\xfaŶ#\xac\xaf\x93\x8ck\x1c1S\xd6\nQ\xdb6\xbe\xccf\xcc\x0f`9\x9f}&l\xea/\xad\x8b6\x8f\xc8\xe7\x0f`\xa5ط\xb0\x12\x1a_}u\f3aCM\xc0f\xdfb\xf3 '\xe3\x1f\xc7֣6\x9c\xb7\xc0dE\x1b\x03M\xb8G\x00\xd3-Y\xac\x1a`\xb1S\xff\xc0; \xb0t\x80+\x87/\x1f\xa4/\xf4~\xc0ƽzf_\x1069O穠W\xe21\xa3\xfb\xc5\xcc\xc4\xda\x17\xe6:Ĝ\xb0\x04\xea\xe2\xb6Sc)\xaaf\xb6\xd3X]d\xa9\x01\xdb1mW\x83\u007f\xf8\x03\xfdy\xe9\xe2Ɯ\xc2\xf4\x92i99\xd3J\xd2\vs\x1a\x17\x97\x12)t\x86\x95\xef\x8a]\xa7\xf8a\xea\x04\x80%\xaa\xa0$C\x8d\xb8\x8e\xe8\v\xac_DZ\xda\x14\xeb\xfc`\a%\xccI[[\t\x0f\x93\x8c\x13d\xabAk1\xbb\xb8V\xcb\xf7\vX\xaf.\xf0\xb4\xe0P]\x92\x99U\xb2\xa4DHA\xef\x89ݏ5ۨ@\xdb\xc8\xd7\xfd?\xcc\xf7d\x83T\xda&S\x12\xbe\x92o\xd6\xc6\"\xee\xbfӅ\x05\xc6U컏\x8fI\x92\xfa\x10\xab\xef*\xde~\x05\x86\xfaj\xf5\xb4\xf5\x8b5\xd2\x18\xeeAEX\xfe|\xb8n\x81\x97@\xc2\x1a\x1dir\x89\xd5\xf6\xf0\xf9d\xba3?o<\xb8\x80\xc8)f\xe9$~\xc1\x14T\xb7\xb3\x96\xfe#t\xf9qi\xd9㬓an\x99\xef\\\xbe\xc0\xed\xcc`\x13M6\xeb\x14\xbe\xf7\x1c\xb3\xb9\x8fa>/lN\x01\x99\xa1\r$\x94{<\xde\x00\x98ȷ\xd8d\xbbu\x88\xc1\xf9\x9e\xefm,\x8c\xe9\xa8\xe2>V\xdf\xfem\xb4\x1b\"#\x97K\xfb\xc3[}z\xb9`hC\xca-l\xec}\xde\x17\xb3\\\xd3)\xea\b}\x11\xab`\xad\xdc\x016\xe7(\x16-\x9f\r\xe5:\xd0_ü\x10l\x10n\x9c\xc2m\xb4i}\xe19b\\\xa4\x05F\xa9azYn´\xe9\xee\xc2\x1b\xf2\xca\xea\n<u%\x996\xffJ\xbf#\xb6\x80\x1f$efe\x8f\x9d4\xb5`\x8ag^\xc1\x04\xeb\xd4R\x9b\xbdʓ\x1f\u007fz$\x99/\xb2q\xc73¸S`\x18w\xae\xc0q\a\xc6N\xb8\xc1\xe7\x19y\xdc)5\x9aY\x9cy\xd1MK\x8a\x93f[\xa6\xcfn,-m\x9c=\xdd2;\xa9x\xc9Mj\xfb\xd8\x02_\xad\xb3pNN\xba\xc76u~\xe6l\xfe\xd39+3\xa7l2\xfb\xa9\x9c+YԐ\xe3\xb2\x16M\xcd̜Zdu\xe54,*\xa1\xebls\xbc\x93\xf3&&g\x96\x16\xd8'U{'g'O\xc8+-@\xff\xfc\x16\xeb\x83\x1f\x8f\xaa\x0f\x82\xf5i\xf3\xc1\xa6S\x9f\xb6\xa8\x9fc\x17\xfcX\xfd\xe5\x04\xde\a\xc3|\xe3x\xf8{>\xc6$\x00\xdfxԖԯ\xed\xba\x88\xfd\xd9$\xdc\xe0\x1d\x17ޅѻ\xf9\xb9\rǎmx\xfb\xe0\x9f\xb4R~\xf2\x93\xe8r\f\xf2\x0f;\x96\xf11\xcc0J:\x985k\x03\xd8\xec\x96OO\x99z\x18\xd3\xf3\xb4\x14\xda\xfam\xe5-)\x1f\xe5\xd7\xc6\x001\xa6h5\x899\xb2\xc8\xcc\v\xbf\xbd\xe9ĉM\xd2^\xa6\x988\x97\xfaHo\xafdU\u007f\t}-t\x96\xc9\xea0\xf2\x94\r<\x13\xf9\xcc\x14\xb7\xd7M %pL\xf1\x98`0w\x00˷\x1fP\xcf0)\x95\xb7z{i\xd3- &\x93\x13x~jV\xb8o\xcfG\x9e·k\xbc\xe2\xfa#\xfd9\xf2\xb5\xc6\xf4\xe74\u007fÉ\x13\x1b\xce\u007f\xf7h̥\xd7[O<A\xbd\xd7\x1b\xd7_aw\xae\xb7\xc5ݗ\xd5\x16I\xbc\x97\x1b\xe6\x130\x1f\xd7&\x13׃_\xe7\xadA_ا\xcdM\xdf\xe2}/\x87\\!|\xfad\xe0\f\xf1\xea\xed\xe8ϓ\xfa\x85ՎÝ\x02\xed\x04\x80\x1cm\xa7 f\x1fCm\xa8O\xf2nT4\xd7f-\xca\xd1{U\xc1\xec\xacl\xef$\xf6S\xf2\x80Z\xce\xdd\x197\azR\xfeD\x8b\x15{Rnʄ\x9c\xd2\x02\xf5\xe9\x87\x1e\xa2\xf6\xd8\xfb\x1alm\x86\xebG)N\xb9\x1f\xea2xL\xcd \x81\xc1}\\O\x19\xfa\x1e\xa2LL_\x8a\xbdN3\xfb&\xd6i\xf0\xc0g\xe0 \xfb\xdbֵ\xac\x8bњ\xd4\xc7\xd4\f\xba\fi\xc5\xfbO\x8b\x87p \xb8r\x93Q\xdb\n\xf6^3\xf62\xb8>\x86\x1f'\t\xb9\xc7X\x84\xe7\x02/\x9fbX\xe7\xc1G_\xf3=\xd6\xd5E\x13\x0f\x1e\xa4I]]\xea\x8d\f\x0fvum낿e\xec#\xe6y\xbf`r\xf9t\xb9\xe6\x86w\"`\x97\xd2Dng\x99\x0eB\xe5;\xd8\xea\xffv\xbeS\xa9\xd7\xd8\"j,$\x8b\xef\x87\xddT\xa8\xbf\x15J\x87\xb0\x0e\f\x8f\xb2\x82\xf3\xe8z\xf5~z\x0e\x8a\u07bb\xab\xa5+\xa2L\xd0\xc4\x12\xf4]\x97Sf\x9c\x05\x9ec\x82o\th-ړ\x06\x9af\xb0|8\x8a\xc1n\xe5Z\x00\x19\x8et\xd2\xf5\x9d\xd6;i\aH\x11\xbfkשM]l\r|L\xbd\x88\xed9>\xa2-D\x1b\x06\xa0\xf5x\xbb{Y\xbeWPG\xb6\x11[MPB\xa9\xaf0u\xc7\x01\a\xaeh\x99\xf1\xc8\xd0y$\t\xbf:B\xdbGjT\xe3i\x0e\xf3\xdd#X\x83q\xd1\xc1\xbaA\x89<5\xb8;V=X;<\x05\xfaߵ\v\xf2\xa9~\x9e\x0fv\fv\xe8w^\xa0|\x13\xf6n3\xeb\xd9fԝ[\xe8Le\xda\x02])[H@Qc\x94!\v])*\x97\xe5\xf2\xf2\xc9\xeaW\xcc\x06\x12u}\xec\b\xaf\x96\x95\xf0*\x83X\x04m\xb5\x99\xb8\x89B\xaa\xd8g\t\x1c\x81\xd0\x116>f!\x8f\x93xB\xc1T\x06\xe1\xcb\xcaj\xb0\xa9x\xd6N\xf1\x8c(\x9e\x11\xc53\xa2xb\xea`\x96e\xe1\xb7)\xe3\x89\x04[X\x16M\xbd`\xa8>\xfc\xa8_uu\xfd\xec\xe0\xc1\x93`'\xb6\x83\xb6.\xbe\x1fs\x8c\xf6\x92\x00\x8f10\x96?\x99i\x82\x1b6.\xbdFRk\x97طyY]C\xaa\x06\xef\x8aڳ0{\x92\xedU\xdf\xfe\xf6\x16\xdc\xef\x1e\\\xa8l$O+\xe7c鈵\xd7\xd3\xf4z\xf5\a\xca\xf9m\"\xef\u007f\xae\xde\xe9\xe0vu/\xd9{\xd96P\xd8BǵL\xf86\xb3\x81 \x0fdJ\x94\x93\xca1R\xcd\xdf\\\xd8\f燷\x90\x15|\x1f\xba\xcc\"\xdeF\x04\xbcZ\xbf\x1b\xdd\f;c\xcd\xe2\x19\xae:\xb2\x9c?\x8e\xd0\xccr\xcc\xc1\tJ\x9dEL\xb9\xe2q\xf9b\xe9\x17O]\xc1wg\x9f\xb8A\fO\xaa\x94\xe9\x8f!\xc0\xc9\x16\xdaC\"Q\x0f#ę\xb5{\xc3qfk\xf8`r\xf3\x90\x03\xb7\xf8\x93\xbb.\xff\r\r\x85۷-\xab\xb1\xf9\xea\xdd\ue6524>\xdfb\xf79\xad\xa9\x9e\xe69\xfeM\r\xee\xe0\xb6e\xf3r\xcb\x16\xbb\x8b\xca%i\\~\xf2\xa4\x99δ\x89\x9e\xe6ʎ\xe3{\x02\xb37~\u007f\xc9\xd6c{\x02U\x9b\xeeR]ʳ\x97\xe6\u007f\\\xbc\xb6k\xf5\x9e\u007f\xce\xf7>\xb9\xabv{s\xb13CRL\xd3\x16\xb4\xfbkv\xad-/^{p՞W\xae\xf0>\xb9\xbb\xf6֫y\x92\xe2¤\x85U\xdb\x1e\xb9a\xf3\xd1->\r\x95\xb4K\x01\xb8G\xb0|\xa0G\xfa\x96\x16#cHL\x8b\xe56\xdb@O\x92\x87\x90\xff\vj\xac\xf4\x80\x00\x00x\x9cc`d```e`H]\xfe\xf3B<\xbf\xcdW\x06I\x0e\x06\x10\xb8|~\x8e\x19\x84\xee\t\xf9{\xfd\xcf\x12Ve\xf6\xeb@.'\x03\x13H\x14\x00\x84\xa5\x0e\x17\x00\x00\x00x\x9cc`d``\xbf\xfeg\t\x03\x03\xcbٿ\xd7\xff^gUf\x00\x8a \x03\x96K\x00\xb6\v\a\xf8\x00\x00\x00x\x9c͘]h\\E\x14\xc7\xef\x84y\x90\b\"\xbe\x04)5\xd4҇ \xa5\x14)RB\x1eRď\x12\xa4\xf5E\x1fDB\x91E\ne\x89a\tA\xa5\xc4RD\xf2 %\x10j\beI\x8aH(\xa1,\x8b\x84 \x85\xb2T\t\x98\a\x95\x1a\xc2\x12B(\xb5\x14\x8aH\x10I\x97\x9a\xf5\u007f\xe6\xfc'w\xeeݏ\xec\xc6\b\x06~\x9c3_wΜ9sf6v9r\u007fvy\x87\"\xa8Pz\xeeQ\xdedۆ]6\x87c=\x1a\x0f\xc6x)\xf5K\xe0\v։\xfc\x10䨗\xc10\xdb\xf2\x94\x95Ty\v\x94\x82\xfa\x05\xf0$h\xcf\a\xf5\xe3\xc17\xdf\x03C\xe0\f\xc7\xe7\x15\xd3\t\xf9\x1d\x98\x03߰\xef\x1a\xb8\xcdo|\xcd5\n\xd7\xd0\xff\x19\x8e/\xd0\xeeu\xf6]d\xdfy\xf01\xf8IǘW\x14\xe7\xaf(\x90GQ\xff\x10\xf2s\x95\xe6\x1a\xf9\x93c\xa6\xc1\x14\xbf\xb7\x02]\xbe9\v\xf9\xa9\x12\xddP̦\x12\xddU;\x8c\xac\xf1\x0f\xc8I\xc8\xdf!σ\xa7h'\xcaU\x19w\\\xe7\x8fn\x81cJ\xc7A\xc5\xf9`\x04\\\n\xc8\xe2\x1bb\xef\x01pH\xf7\xd2t)ί\xb2\xaf3\xf4\xa9ߋ\t\x9d\xcf\xed\xd7\f\xf7}\"\x89[\xf7 \xf4\xe7 O2\x06ľ\x8b\xe0-\xdaw.\x15wy\xf6\xd9\xe0\xfe\x9c\t\xf6}\x9d{<\xc45^\xe7\xde\\`,\x8c\xb1\xdf9\xca5\xaeW\xfc,{t\x05\xbcF\x8a\xfbLoJ\xef\xe5\xdc\xe9s\xf5_\x10\xce]h\xd2\xeff\x03&i\xe7!\x1b\x9f\xefv\x90\x98/k~\xf0$\xce\xf6n\xe3\xc7\x03*\xbb0\xb2G\x9f\x9e \xa2\u007f\xdb\x00߷/\xd0{ZX\xc3R\x13\x1eY\x8d\xfbF\xec\xb6\xde\u007f\x8b\xcf\xc1\xf5\xf0y\xb9\x19\xe5\x14\xc3\xfbL\u007f\xa0\x9f$>\x1e\xf3u\xa8\x04\xedi\xbd]\xde\x0e\xf4\xe9\x06\xf3\xe5\xeḇ\xd5&\xe2\xb7R\x80\xff\xceo\r쒜\x8d\xbc\xee\xf2\x9f\xe7I\v4\xb2\xbf\x11]\xa4\x95\xbe\xfd\x81~\xac\x05\xdf.4A\xda\xc7\x1bP\xb1\xb51\xb7\x9f\xf8\xb7B=\xfc\xfb\xa1\x19%[\xbb\x97\x13\x94\xabV\xef\x1a\xc9\xc1r7\xca\xf9\x91\x1c\x82{\xcb<\xcb>\xf2nX\xa2~\xde\xc6g\xf4\x01\xfb\xf2^\x8f~\xb0z\xbf\xf9\x1c1Dۿ\x04\x19\x1b\xbf\xa3\xc2\xf9\xbd=\xb2G[ԇm\x1c?\xf7l\xf2ݵJ\x9f˺Nq\x8eL\xb0\x86u\xf6\v\xf3Y1\x18\xbf\xc9\xfe\x9f\x81\x81\x80-\xca>~{\xc0\xc6\xf9\x14\xe3L\xb7\xd5\xfb\x1f\xe5\xaaصb\x93\xb1#{q\xc7&ߗ^\x9f\xa2O\xe4}\x93c\xfd#\xea\xc2ep5\xb0{Ժw]\xc2_\xc2q\x95n\xfe9\x1b\x9f!i;h\xe38\r\xfd\x95\xa7\xbfr\x81\xbf*ܻ\x11r\xd1&\xf3ר\"kv\xeb\xben\x13\xf7\x92\xcc_\xd7\a\x15Ɓ\xdc\xc9\xdd,\xbf\x9b\x1c[\x93\xabs\xf4\xc5C\x1b\xc7\x18\xef(w'O\x06\xb6\x15\x82y2\xc95\xeeؔ\xf6\x8bpߺ\xf7\\t\x80\xe5\v6\x99'\xfc>\xf8\xf32D\xff<\b|\xea\xf3b\x891\xd2g\xe3\x1c,o\xec5\xf6\xbd\xa4q\xe0l\x97\xf7\uf8ae\xd3\x1c\xb1\xfa\xb6\xba\xcf9\x175.\xdc\xdb\xc32\x06\x06\xd9&~\xfa\xc5\xea\xdbO\xe2\xf9\x86\x8d\xef\x9b+\xb4\xef\xb4\xd5s%q\x92弲\x06\x89\xdb1\xee+\xca\xe6\x03}C\xbbw\xad\xbc\x17\x1e\xd3^\xcf\x1cm\xafc\xbf[Ïu\xec\xf7k\x98\nl\xf7v\x17\x1b\u061d\xa6k\u007f1Y2\xad\xbfK\x8c\xc4/\xe61\xd8O\x835\x99\x1c\xcb\xc3\xd4\xc7\xf66\xc6\xe5?ϛD\xf4\u05ed\xde7\xbeޗ_`\xdd\xd9`\x9co\xf3\xf2,\xe9W\xaa\x1bJ\xc7\x1b@\xder\xaf*;\xe5#\x8a/;\xe9\xf5\x9ex|\xe2;m\xb4\xa7I\xf7\xff\xbf\xe1\xf2\xebT\xbc\x06\xb7\xa6N\x96;\x95\x9a\xf5\xb6Q\xdf\n2\xb6\x9e^\xe3c\xb6\xed\xec[O\\\xf62\xf1\u007f\x8e=Б\xa9\xad\xb3/7n\xab\xa9\x97<t\x8b\f\xf2,\x87ș\x93\xb7\xf8)ʬ\x8d\xdf\xe7Y\xd6\x1fe\xac/3?\xa4\xe6\x93\xdf\xff\x06\xfd\xcc6xɺ\xfco\x90\u007f\x8c\xfc\x8e\xef%σ\xf7\xc1\x06\xf3\xd7<\xc0o\xbf\x0e\xc99\x9bQ\xb4=\vf\xc0Z\x14U\xbf\x82\xfc\x1e\xa0\xbe:I\x9eV\xb6\xbb\xc1\xaf\xa4\b\x1e\xa3\xfe0(\x81\x17A\x9e\xfa' \x03>\x02W\xd1\xef\x0e\xe4e\xc8\x02(\x83\x9f\xa9{\xe6@)\xe0\xae\xd6\xff\xbdB\xbdD\xfb\n)\xc21\xab\xe8_\xe6\xf7Kl\x9f\xa5=\v\xd0\xe7\xc1\x92\"\xe5\xea\t2@\x16\xd8\xef/\xea\xb7\xc1鸾:J\x9fK\\\xbf\xf3\x0f\xf0\xf0OCx\x9c%\xc2\u007f0ۇ\x02\x00p333SS33#M\xcd\xcc4U\xb3,\xcf3\xcf\xec\xebW\xa4\x11\x04\xc9W~\t\"\xbe5\xcb,\"U\xd5,M-\xcd\xccHM\xb3L\xcdԒ\xcc\xcb3\xf3Ԓ/\"\"\xd2$\x97s\x1ei楩\xa4\xa9j\xe4\x9cs\xce9\xe7\\\xef\xfd\xf1\xee\xf3\t\b\b\xe0\xff\xdf\vq/\f\xbc\xb0\x1b\xc8\x0et\xbc\x98\xf9\xa2#H\x1et\xf4R\xeeK\xdd/9\x83\xa3\x82\xe5\xc1G/\xe3^6\x85䄌\xbc\x92\xf8J\xd7+\xde\xd0\xf8\xd0\xe6P\xeb\xab\xf1\xaf\xd2^\x9d\bC\x86\xf1Ì\xaf\x85\xbc\x06\xbc\xa6\x0f\x0f\r/\f\x17\x87;N\x05\x9c\x02O\xa9\"\x82\"*#\x96_G\xbd\xaez\xdd\x19\x19\x17I\x8a\x1c;\x1dz\x1a8-:}\x12ʼn\x9a}#\xe5\rUth4!\xda\xf4&\xf0\xa6(&1f\xea-\xf4[\xe3o\x1d\xc7B\xb1Go\x03o\xc3q9q\xa2w\x12\xdf\x19\x8bO\x8aoO@'\x10\x12\xa0\x04Q\x82,\xc1\x90\xb0\x89\bD\xc4#h\x88n\x84\x1a\xe1<\x13z\x86v\xa6\xf3\xcc\xd0\x19\a2\x02\x99\x8e\xccAҐ\x1d\xc8q\xa4\xe7l\xe4Y\xecف\xb3;\x89I\x89\xb4\xc4\xfeDӻ\xc1\xef\xe6\xbfkK\"$\xf1\x92\xe0$\xcf{\x88\xf7v\x92\xad\xc9{\xef#\xdf7\xa7\xa4\xa7h>\xc8\xfc\xc0\x90\x1a\x93:}.\xfc\x1c\xe9\x9c\xe4\x9c\x1e\x15\x86\x1aA\xad\x9c\x8f>_y\x9es^\x97\x16\x92\x06\xa45\xa7\xed]Ƚ\xd0|A~\xc1\x9f\x9e\x99^\x96ޙ>\x95n\xff0\xecC\u0087\xab\x19\x99\x19\x13\x1f\x01\x1f\xa9\xd1a\xe8\xf6\x8fC>f}\xbc\x82\xe1b\x1c\u007f\xe3f\xa22\x8d\u007fo\xc9J\xcb\xda\xfb\x84\xf4\x89';7{\xf8\x1f\xbc\x9cȜ\xd9O1\x9f\x0e\xe5\x06\xe7v\xe6\x1e|F\xfb\xcc\x05\x14\x02D\x80\x014\x01|@\x04\xf4\x02\x83\x80\n\x98\x02\xf4y]yҼ\xa1\xbc\xb1<8ϔ\xb7\x9a\xb7\x91\xe7\xcf;\xce\x0fΏ̏\xcf\xf7\xe7\x1f\x16\xb4\x17t\x15H\v\x86\n\xc6\n\xa6\v\f\x85\xf8BW\xa1\xaf\xf0\xa0\x88W$,\xea)\x92\x17)\x8a&\x8btE\xd6\"G\x91\xb7h\x17+\xc2\xf6b\a\xb1j\xac\x06kĮ\x14g\x14\xe7\x14\xe3\x8aI\xc5uŜ\xe2\x8ebqq\u007f\xf1p\xb1\xbaXSlġq\xb98<\x0e\xc4\xf5\xe3\x86qj\x9c\x06gĭ\xe0\\8\x1f\xee\xe0b\xc0E\xeeE\xc1\xc5#|'^\x837\xe2W\xf0.\xbc\xaf\x04]\x92[\x82/\x01K\x86J\xc6J\xa6KL\x84xB\n\x01M\xc8%\xe0\t \x81Eh!t\x12$\x84\x01\xc2H)\xa2TR:P:R:^\n\x97\x9aJWK7J\xfd\xa5\x87e\x81e\xe1e=\xe5\x89\xe5i\xe5Y\xe5\xe3\xe5p\xb9\xa9|\xb5|\xa3\xdc_~H\f&F\x12\xe3\x89)\xc4e\xa2\x93\xb8E\xdc'>\xaf\b\xad\x88\xae@V\xa4WdW`+*+\x98\x15\xcd\x15\xed\x15]\x95A\x95\xbcJa\xe5QUPUDU\\Ur\xd5H\xd5x\x15\\e\xaaZ\xadڨ\xf2W\x1d\x92\x02I\xe1\xa4X\x92\x944D\x1a##ȩd\f\x19 \x13\xc8\x142\x9b\xcc%\v\xc8\xddd\x19y\x94<A\x9e%\x9b\xc9v\xb2\x87\xbcC>\x02\x83\xc0\b0\x0eL\x063\xc0\x1c\x10\a\x92\xc0:\x90\x03v\x80b\xb0\x1f\x1c\x06\u0560\x064\x82+\xa0\v\xf4\x81\a\xd5\xcc\xea\xe6\xea\xf6\xea\xae\xea\x81\xea\x91\xea\xf1j\xb8\xdaT\xed\xa8\xf6V\xefV\x1fS\x18\x94&j\x005\x8c\x1aCM\xa4\xa6Q\xb3\xa8\x85T\"\x95BeS\xb9\xd4u\xea&u\x8fzB\v\xa1E\xd1\x10\xb4T\x1a\x86\x06\xd0\b4\x98f\xa2\xadҼ\xb4]\xda1=\x98\x1eN\x8f\xa5'\xd1\xd3\xe9\xd9t,\xbd\x92n\xa0/ӝ\xf4-\xfa>\xfd9#\x94\x11\xcd@2P\x8cLF>\xa3\x8cAc\xd8\x18\xeb5\xc95\x98\x1a\xa0\x86PC\xa9a\xd7pk\x045\xdd5\x86\x9a\xe5\x1ag\x8d\x9f\x99\xc1\xcca\xe2\x98$f\x1d\x93\xc3\xec`\x8a\x99\xfd\xcca\xa6\x9a\xa9\xa9\x8d\xafM\xa9E\xd7\xe6\xd6\xe2k\xc1ZVmKmg\xad\xa4v\xa0v\xa4.\xadNWg\xads\xd4S\xea\xd9\xf5\xdczA}w\xbd\xac~\xb4~\xaa^_o\xab_gձ8\xac\x0e\x96\x98\xd5\xcf\x1af\xa9Y\x1a\x96\x99egyX;\xac\xa3\x86\xa0\x86\x88\x86\xb8\x06a\x83\xb5\xc1\xd1\xe0m\xd8m8f\a\xb3\x89l\x06\xbb\x89\xcdg\x8bؽ\xecA\xb6\x8a=\xc5ֳm\x8dY\x8d\x85\x8d\xc4ƩF}\xa3\xadq\xbdq\xb3q\xaf\xf1\x04\n\x81\xa2 \x04\x94\na \x00\"@\x14\x88\rq!\x01\xd4\rɠQh\x02\x9a\x85̐\x1d\xf2@;\xd0ѥ\xa0K\x11\x97\xda/i.\xed5\xa1\x9a\xfa?O\xf9\\\xf1\xf9xsr\xb3\xfc\x8b\xc0/\x18_X9\x11\x9c\x18\x0e\x83\xc3\xe6p8\xbb\x9c\xc3/1_\x0e~y\u0602o\x91\xb5l|E\xfbJ\xc1\r\xe3\n\xb8bn/W\xc6\x1d檸\x13\\MkR+\xaa\x15\xdd\xcai\xe5\xb7\nZ\xad\xad\xab\xad\xceVo\xab\xbfu\xbf\xf5\x98\xc7\xe7\tx^\x9e\x9fw\xd8\x16\xd8\x16\xde\x16ۖԖޖ݆m\xablc\xb65\xb7\xb5\xb79\xf8\x18~7_v9\xf42\xe52\xfb\xb2\xef\xf2^;\xbb}\xf5J\xc0\x15\xd2\x15\xc6\x15g\a\xaeCޡ\xe8\x18\xef8\xbc\x8a\xbf\xda\u007fu\xf0\xaa\xfd\xaa\xeb\xeafgtg|\xa7\xad\xd3~-\xea\x1a\xe3\x9a\xe2ڑ\xa0P0&\xd8\xff\x9a\xf2\xb5Y\x98$D\t\x85B\x89p\xfaz\xecu\xe4\xf5\xc1\xeb\xa3\xd7\xf7\xaf?\x17\x05\x8b\xf0\xa2J\x11M\xc4\x125\x8bx\xa2NQ\x97\xc8z\x03\xb8\x81\xbb\xd1}\xc3م\xe8\xe2t\x19\xbfI\xfd\x86\xff\x8dW\xcc\x10\xeb\xc4V\xf1\xc9͜\x9b\xb8\x9b\xa4\x9b\x86\x9b˒2\x89M\xb2.ٔ\xec}\x8b\xfdV\xdd\x1d\xd4\xdd\xd2m\xfc.\xed\xbb\xa9\x9e\x98\x9e\x8e\x1eqO\u007f\xcf\xf2\xf7\x88\xef\xb9\xdf\xdbzQ\xbd\xe8^~\xaf\xa0\xb7\xbb\xb7\xbf/\xaa/\xae/\xb1/\xb5\x0f\xd3\a\xf5\x8d\xf7\xc1}&i\x9a4Kj\xb8\x95}\v{\xab\xf2\x16\xf3\xd6l\u007f|?\xaf\xdf\xf7C\xe6\x0fc\x03\xe8\x81\xd1ہ\xb7\xc3o\xc7\xdeF\xde\xe6\u07b6ɒd\x12\x99Tf\x97\xb9d>\xd9ޏe?\xaa\u007f<\x96\xb3\xe4\x1a\xf9\xc9O\xd0O\x83?\xed\x0f\"\x06\x99\x83\x8a;\xd1wpw\xba\xee؆\xa2\x86(C֡\xa3\x9f\xf3\u007f\x1e\xfays\x18=,\x1b\xde\xfa%\xf3\x17\xf1/\x86\x91\x8c\x91\x9e\x11\xe7]\xd4]\xc6\xdd\xe9\xbb'\xa3\xc0hϨ\xf9Wį\xec_\xc7\x15!\x8ad\x05^!R\xa8\x14\xd3\n\x83bY\xe1T\"\x95(e\xa62_Y\xa6\xa4)!%O)T\xf6(\xe5J\x85rR\xa9SZ\x95\x0e\xa5W\xb9\xab<V\x05\xab\"U\xf1\xaa\x14\x15Z\x95\xab«@\x15\xa4jWu\xfd\x16\xf2\xdb\xc4\x188\xe6\xfag\x87\x1a\xa5\x1e\xfb\x97`\x1c=\xfe\xfcw\xc6\xef[\x13\xfc\t\xd7\x1f\xe0\x1f\xfeI`\xf2\xf8\xdf=S詑{\x01\xf7\xb2\xef\xf5\xde\u06ddΚ\xee\x9c^\xfd\x13\xf3g\xf3\x9f>\r\xa4Y\xd185\x9b\x9a]͑6P\x1b\xa6\x8d\xd6\"\xb4)\xda\fm\xb6\xb6P[\xa6ej[\xb4B\xadT;\xa2\x9d\xd4\x1a\xb4\xabZ\xafv\x1f\x0e\x84#a$\x9c\x0e\xe7\xc2e0\x13n\x81\x85\xb0\x14\x1e\x81'a\x03\xbc\n{\xe1=\xf8\xf9L\xe4L\xd2\fa\xa6}fx\xc64s8\x9b4[9\xdb5;8;9k\x9eݘ=\x98\v\x9dC̡\xe7ps\xcc9\xfe\\\xcf\xdc\xe8\x1c<\xb72\xb7\xa5\v\xd0\xc5\xeaк2]\x93N\xac\x1b\xd5\xe9t\xeb\xba\xfd\xf9\xf0\xf9\x94y`\x9e1\xdf1?0?1o\x9b\xf7\xe9\x03\xf5qz\x8c\x9e\xa8o\u058b\xf5\xa3z\xbdީ?X\x88XH]\xc8_\xa8[\x10.\f/\xe8\x16\\\vdž\x18\x03\xc6@2\xf0\r2ô\xc1n\xd8_\x8cXD-\xe2\x16\xa1E\xf1\xa2b\x11^\\_<0F\x183\x8c\x04c\x93\xb1ר6\x9a\x8d;K!K\x89K\x85K\xac%ɒfɱtlJ1\xe1L\x90Inҙ\\\xf7\xc3\xeegܧܗ\xdf\xd7\xdf\xdf2\x87\x99\xd3\xcdX3\xc3,1\x0f\x99'\xcd&\xb3Ӽk\t\xb4D[R,\xb9\x16\xd0\xd2b\x91Xd\x16\x85e\xcab\xb0\xacX6,;\x96ck\x885Κf\x05\xac$k\x93U`\x95Z\x156\xff\u007f\xa05\xceZ\xe7\x9atM\xb1\x06\xaf-\xafm\xae=\xb7G\xd9S\xed9v\x86\x9dg\x97\xdbuvσ\xa0\a\xc9\x0f\xf0\x0f\xb8\x0f\xe4\x0fl\x8ed\x87ڱ\xffW\xdc_\xc6\xf5\xec\xf5\x9e\xff\n\x9d\xb9N\x89\xd3\xf1\x90\xf0\x90\xf6\x90\xff\xb0\xeb\xe1\xf0C\xbf+\xc8\x15\xe7\x02\\-\xae!\x97\xcdu\xfc(\xe9\x11\xe3\x91\xfa\xd1꣣\r\xccF\xf3\x86xcycݍt\xa7\xba\xd1\xee\x1c7\xd6Mt\xd3\xdclw\x8b{\xc0=\xec\x1esO\xb9u\xee#O\x98'֓\xe8\x01<x\x0f\xcf#\xf0H=\x93\x9e\xd5ǁ\x8f\xa3\x1f#\x1eS\x1e\xcb\x1e\xefx)\xden\xaf\xc1\xbb\xff$\xee\t\xe5\x89\xe8\xc9ʓ\x93\xcd\xcaM\xe9\xe6\xf2\xd3\xe4\xa7ҧ\xba\xa7\xfb[\xf1[\x85[-[\x9a\xad\xadg\x99πg\xb8gг\xe9g{\xbe\f_\xa1\x0f\xf2\xc9|j\x9fշ\xe1\xdb\xdf.ܦls\xb6\xbb\xb6\xe5\xdb\xe3۶m\x9b_\xe0\xef\xff\x1f\xf6y\xc9\a\x00\x00\x00\x01\x00\x00\x04\xd2\x01\xe0\x00x\x00x\x00\x06\x00\x01\x00\x00\x00\x00\x00\n\x00\x00\x02\x00\x03\xc0\x00\x03\x00\x01x\x9c\x8d\x92\xc1j\x1b1\x14E\xafb;\x8em\xecM\xa1\x90҅V]\x8eM \x9b\xec\x92@v\x06DŽlJ\x17\x1a[\xb6Uf\xa40#{H\xbe\xa0\x90\xafh\xff\xa0\u007f\x98;\xb2R\x04\xed\xa2\xa3\x91\xe6\xbc;\xef\xdd\xf7\x16\x02\xf0Y<B\xe0\xf8\xdcs\x1fY\xa0\xc7\xe8\xc8'\xe8\xe3=\xa7\x93\xe8݄{\x18\xe3[\xe4\xd3D\xef'\x9eg\x18\xe1{\xe4\x01>`\x1fy\x98\xe4\x8cp\x8e\x1f\x91lj>\tz\a\xa2;`\xf4\v?#\v\f\xc5m\xe4\x13L\xc4<r'ѻ\t\xf7\xf0I|\x8d|\x9a\xe8\xfd\xc4\xf3\f\x1f\xc5>\xf2\x00_\xc4k\xe4a\x923\u0085\xf8\x1dy\x9c\xe8\x93V\u007fؙZ\xf2U\xf2\xc6\x15k9wv\xad\x9ee\xa3\xf3\x8d\xb3>\x93w\xae\x92\x85Yi[\x1b\xbb\x95\xc6n\\U*o\x9c\x95\aS\x1b/\x9b\xa6\xc9r\x16\x96\xa1.[\xb9R\xe5\xf6\xe5z\xa9\xb7\xfbBU\x8f\xba\xaa\xdb\xdc\xcbl6\x9b%\xfe\v\xa3\xbd\xae\xe4AY\xb9tu\xa9\nmw\xde?]M\xa7\u007f\xfb\xe1\x01;\x18Ԑ\xf1T\xdc7p(\xb0&\xcdI\x96\xa4\xf0̨\x81F\x8eM\xd0<2*w\xe4\x8a߂\xd5+\xfe\xb5\xf40<\xb7\xc1φ\xdc\n%\xeb=\xe3\xb6N\xe2\x10:\x19*\xadc\xbb2\xba\x1e;\x96I\xbf\x8c\x8e.\xd4\xe6\xd4^p\x8d%;lyY\nj\x15/\xa2\xe6Y\xff\xf1\xbdd\xc5,\xac\u007fϿ`\xa6fW\x1d&>Pk\xab\x96̨C\x97\"̿c\x86\xc7\x13\xae0\xe5\xfa\x8f\xf9\xde\x00\x88ڈ\xcc\x00x\x9ce\x99\x05|\x14\xc7\x17ǟL.\x90 \xa5\xee\xeeBo\xed\xa4~\xb2A\v\x14H)T\x8fp$\aI.\xbd$@\xa9\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xbb\xfc\xeb\xfd_v\u007fK.\xc0\xe7\x03\xbf\x9d\xd9\xd9\xf7}\xef\xcd컝\x81\x84\x82?\xff\xfeAs\xaa´\xd8\x1f\xf3R_/\v)\xe5ɧ&\x1aE\xa3i\f\x8de\xa5q4\x9e\xb6\xa7\t4\x91&\xd1\x0e4\x99\xa6\xd0Tj\xa6\x1di\x1a\xedD\xd3i\x06\xedL\xbbЮ\xb4.\xadG\xeb\xd3\x06\xb4!mD\x1b\xd3&\xb4)mF#is\x8a\x93E69\xe4\x92G\tJR\x8aҴ\x05mI[\xd1ִ\f\x1bZ\x96\x96\xa3幎V\xa0\x15i%Z\x99V\xe1\x18\xad\xca\xf5<\x88\as\x037\xf2\x10\x1e\xca\xc3x8/E\x83y\x04\xadCK\xf1\xd2t\x13\xdd\xcc\xcb\U00032525\x11t5\xadF\xc3iuj\xa0:\xba\x8dn\xa7[\xe8Vz\x84\x1e\xa5\xfb\xe8~\xba\x92\xae\xa2\x8b\xc9\xd0E\xb465\xd2\x10چ\xb6\xe3\xe5xyڍ\xf6\xa0\xa5y\x05ږ\xee\xa1A\xf4\x18\xedN_\xd0at\x04\x1d\xcd+\xd2Qt\f\x9dK\xe7\xd1\xc14\x94\x0e\xa2\x87(F\x19*\xd00\xfa\x9eN\xa6\x1f\xe8\x0eZ\x93.\xa7\xe3i\rZ\x8bN\xa1S\xe9a:\x9c\xee\xa4K\xe8R:\x87N\xe2\x95xe^\x85Π{\xe9\x10^\x95.\xa3C\xa9\x9eN\xe3\xd5xu^\x83\xd7\xe4\xb5xm^\x87\xd7\xe5\xf5x}ހ7\xe4\x8dxcބ7\xe5\xcdx$oN\x0fЃT\xe28[4\x97\xda\xd9f\x87\xe6\xb0\xcb\x1e'\xa8\x93:8\xc9)N\xf3\x16\xbc%o\xc5[\xf36\xbc-oG\x17p\x86\xb3\x9c\xa3\u007f\xab\x93Y\xe6<\xfb\xdc\xc4̣x4}E]<\x86\xc7R\x85\xbay\x1c\x8f\xa7=y{\x9e\xc0\x13y\x12\xef\xc0\x93y\nO\xe5fޑ\xfe\xe0i\xbc\x13O\xe7\x19\xbc3\xef»\xf2n\xbc;\xef\xc1\x05\x9e\xc9-<\x8b\x8b\xf4:\xf5\xf0ln\xa5y4\x9fۨ\x97K<\x87\xe7r;wp'\x97\xb9\x8b\xf7\xe4\nws\x0f\xf7\xf2<\x9e\xcf\vx/^\xc8{\xd3Ǽ\x0f\xef\xcb\xfb\xf1\xfe|\x00\x1f\xc8\a\xf1\xc1|\b\x1fJ\v\xf80>\x9c\xf6\xe2#\xf8Hڛ\xf6\xe1\xa3\xf8hZ\xc8\xc7\xf0\xb1|\x1c\x1fO\x17\xf2\t\xb4/\x9f\xc8'\xf1\xc9|\n\x9fʧ\xf1\xe9|\x06\x9f\xc9g\xf1\xd9t#\x9f\xc3\xe7\xf2y|>_\xc0\x17\xf2E|1_B\x9f\xd2\xdf|)_Ɨ\xf3\x15t$_\xc9W\xf1\xd5|\r_\xcb\xd7\xf1\xf5\xf4\x1d\xed\xc77\xf0\x8dt\x00\x1d\xc87\xd1\xfe|3\xdf·\xf2m|;\xdf\xc1w\xf2]|7\xdf\xc3\xf7\xf2}|??\xc0\x0f\xf2C\xfc0?\u008f\xf2c\xfc8?\xc1O\xf2S\xf4\r?Mw\xf13\xfc,?\xc7\xcf\xf3\v\xfc\"}\xce/\xf1\xcb\xf4$\xbf¯\xd2\xe34\x93_\xe3\xd7\xe9Z~\x83\xdf䷨\x85\xae\xe3\xb7\xf9\x1d~\x97\xdf\xe3\xf7\xf9\x03\xfe\x90?\xe2\x8f\xf9\x13:\x81?\xe5\xcf\xf8s\xfa\x87\xfe\xa3Y\xfc\x05\u007f\xc9_\xf1\xd7\xfc\r\u007fK_R\x91\xbf\xe3\xef\xe9\tz\x8a\u007f\xe0\x1f\xe9i\xfe\x89\u007f\xe6_\xf8W\xfe\x8d\xffǿ\xf3\x1f\xfc'\xffE\xbf\xf3\xdf\xfc\x0f\xff\xcb\xff\t\t\x8b\x88\x8a\xa1g\xa4Nb\xf4,=G\u007fJ==/\x83d\xb04H\xa3\f\x91\xa12L\x86\xcbR2B\x96\x96edYYN\x96\x97\x15dE\xfaHV\x92\x95e\x15YUV\x93\xd5e\rYS֒\xb5i\xb6\xacC/Ⱥ\xb2\x1e\xbdH\xad\xb2\xbel@/ˆ\xb2\x91l,\x9bЉ\xb2)]/\x9b\xc9H\xd9\\\xe2b\x89-\x8e\xb8\xe2IB\x92t\x83\xa4$-[Ȗ\xb2\x95l-\xdbȶ\xb2\x1d}B\u007fIF\xb2\x92\x93\xbc\xf8\xd2$\xa3d\xb4\x8c\x91\xb12\x8e\xbe\xa5Wd\xbclO\xafR\x9bL\xa0\xd7d\xa2L\x92\x1dd\xb2L\x91\xa9\xd2,;\xca4\xd9I\xa6\xcb\f\xd9Yv\x91]e7\xd9]\xf6\x90\x82̔\x16\x99%E\x99M_K\xab\xb4\xd1\xddR\x9292Wڥ\x83>\x93N)\xd3\xe9t\x05\x9dEg\xd2\xf9\xd2%{JE\xba\xa5Gze\x9e̗\x05\xb2\x97,\x94\xbde\x1f\xd9W\xf6\xa3\xb3e\u007f9@\x0e\x94\x83\xe4`9D\x0e\x95\xc3\xe4p9B\x8e\x94\xa3\xe4h9F\x8e\x95\xe3\xe4x9AN\x94\x93\xe4d9EN\x95\xd3\xe4t9CΔ\xb3\xe4l9GΕ\xf3\xe4|\xb9@.\x94\x8b\xe4b\xb9D.\x95\xcb\xe4r\xb9B\xae\x94\xab\xe4j\xb9F\xae\x95\xeb\xe4z\xb9An\x94\x9b\xe4f\xb9En\x95\xdb\xe4v\xb9C\ue53b\xe4n\xb9G\xee\x95\xfb\xe4~y@\x1e\x94\x87\xe4ayD\x1e\x95\xc7\xe4qyB\x9e\x94\xa7\xe4iyF\x9e\x95\xe7\xe4yyA^\x94\x97\xe4eyE^\x95\xd7\xe4uyCޔ\xb7\xe4myGޕ\xf7\xe4}\xf9@>\x94\x8f\xe4c\xf9D>\x95\xcf\xe4s\xf9B\xbe\x94\xaf\xe4k\xf9F\xbe\x95\xef\xe4{\xf9A~\x94\x9f\xe4g\xf9E~\x95\xdf\xe4\u007f\xf2\xbb\xfc!\u007f\xca_\xf2\xb7\xfc#\xff\xca\u007fJ\xca*\xaaj\xb4NcZ\xaf\x83t\xb06h\xa3\x0eѡ:L\x87\xebR:B\x97\xd6etY]N\x97\xd7\x15tE]IW\xd6UtU]MW\xd75tM]K\xd7\xd6ut]]O\xd7\xd7\rtC\xddH7\xd6MtS\xddLG\xea\xe6\x1aWKmu\xd4UO\x13\x9aԔ\xa6u\v\xddR\xb7ҭu\x1b\xddV\xb7ӌf5\xa7y\xf5\xb5IG\xe9h\x1d\xa3cu\x9c\x8e\xd7\xedu\x82N\xd4I\xba\x83N\xd6):U\x9buG\x9d\xa6;\xe9t\x9d\xa1;\xeb.\xba\xab\ue9bb\xeb\x1eZЙڢ\xb3\xb4\xa8\xb3\xb5U۴\xa4st\xae\xb6k\x87vjY\xbbtO\xadh\xb7\xf6h\xaf\xce\xd3\xf9\xba@\xf7҅\xba\xb7\xee\xa3\xfb\xea~\xba\xbf\x1e\xa0\a\xeaAz\xb0\x1e\xa2\x87\xeaaz\xb8\x1e\xa1G\xeaQz\xb4\x1e\xa3\xc7\xeaqz\xbc\x9e\xa0'\xeaIz\xb2\x9e\xa2\xa7\xeaiz\xba\x9e\xa1g\xeaYz\xb6\x9e\xa3\xe7\xeayz\xbe^@?\xd2O\xf4\xb3^\xa8\x17\xe9\xc5z\x89^\xaa\x97\xe9\xe5z\x85^\xa9W\xe9\xd5z\x8d^\xab\xd7\xe9\xf5z\x83ި7\xe9\xcdz\x8b\xdeJ\xbf\xe8mz\xbbޡwү\xf4\x9bޥw\xeb=z\xafާ\xf7\xeb\x03\xfa\xa0>\xa4\x0f\xeb#\xfa\xa8>\xa6\x8f\xeb\x13\xfa\xa4>\xa5O\xeb3\xfa\xac>\xa7\xcf\xeb\v\xfa\xa2\xbe\xa4/\xeb+\xfa\xaa\xbe\xa6\xaf\xeb\x1b\xfa\xa6\xbe\xa5o\xeb;\xfa\xae\xbe\xa7\xef\xeb\a\xfa\xa1~\xa4\x1f\xeb'\xfa\xa9~\xa6\x9f\xeb\x17\xfa\xa5~\xa5_\xeb7\xfa\xad~\xa7\xdf\xeb\x0f\xfa\xa3\xfe\xa4?\xeb/\xfa\xab\xfe\xa6\xff\xd3\xdf\xf5\x0f\xfdS\xffҿ\xf5\x1f\xfdW\xff3d؈QcL\x9d\x89\x99z3\xc8\f6\r\xa6\xd1\f1C\xcd03\xdc,eF\x98\xa5\xcd2fY\xb3\x9cYެ`V4+\x99\x95\xcd*fU\xb3\x9aYݬa\xd64k\x99\xb5\xcd:f]\xb3\x9eY\xdfl`64\x1b\x99\x8d\xcd&fS\xb3\x99\x19i67qc\x19\xdb8\xc65\x9eI\x98\xa4I\x99\xb4\xd9\xc2li\xb62[\x9bm̶f;\x931Y\x933y\xe3\x9b&3ʌ6c\xccX3Ό7ۛ\tf\xa2\x99dv0\x93\xcd\x143\xd54\x9b\x1d\xcd4\xb3\x93\x99nf\x98\x9d\xcd.fW\xb3\x9b\xd9\xdd\xeca\nf\xa6i1\xb3L\xd1\xcc6\xad\xa6͔\xcc\x1c3״\x9b\x0e\xd3iʦ\xcb\xeci*\xa6\xdb\xf4\x98^3\xcf\xcc7\v\xcc^f\xa1\xd9\xdb\xecc\xf65\xfb\x99\xfd\xcd\x01\xe6@s\x909\xd8\x1cBo\xd2[\xf4\x0e\x1dG\xefӱ\x94\xa37\xe8Cz\x9b\xde5\x87\x9a\xc3\xe8=\xfa\xc0\x1cn\x8e0G\x9a\xa3\xcc\xd1\xe6\x18s\xac9\xce\x1coN0'\x9a\x93\xcc\xc9\xe6\x14s\xaa9͜n\xce0g\x9a\xb3\xcc\xd9\xe6\x1cs\xae9Ϝo.0\x17\x9a\x8b\xcc\xc5\xe6\x12s\xa9\xb9\xcc\\n\xae0W\x9a\xab\xcc\xd5\xe6\x1as\xad\xb9\xce\\on07\x9a\x9b\xcc\xcd\xe6\x16s\xab\xb9\xcd\xdcn\xee0w\x9a\xbb\xcc\xdd\xe6\x1es\xaf\xb9\xcf\xdco\x1e0\x0f\x9a\x87\xcc\xc3\xe6\x11\xf3\xa8y\xcc<n\x9e0O\x9a\xa7\xcc\xd3\xe6\x19\xf3\xacy\xce<o^0/\x9a\x97\xcc\xcb\xf4\x92y\xa5\xbe\xb7\xb3\x14\x8f\xc7\xf3u\xad#\v\xed=\x83\x16\x16+律\xc1=m\x95b1\xb8*\x96Z\xdbz\xfa\xaeꃛm3c\xe5\xceb\x9f\xf4\xcc\xefk\r\nG\xb6ͬ\x9f]\xee\xad\x04Z\x9a\x17\xdc\xef.-\xe8\xbb\xdf]\x9cW\xec\xec\xbb\b\rU\at\x96\x02\x03C\v\x1d]\xc5Jw\xa1sV`=p$\x93o(v\xce*t\xb7\xf5u5\x14;\xa2ˡ]\x85J\xb1\xb3\xbd8;\xf0dXЪD\x8e\r\xeenǰ>#\xb6e%C\xb5}\xb4\x1dh\xc2\xf8\xbd\x95r@\U0009d9a03\x9e\xb1\xa0.4\x01MA\xd3\xd0\f4\v\xcdCCH<\v;Y\x1b\n{Y\x0f\n;Y\xd8\xc9\x06\xcf{\x96넚J\xc4\n3+\xd5\\\x05\xeeY\xb9\xc0lܶ\x83X,?t\xb3\xaaN}\xa1\xa3\xd0R)w\xd6\x17ʭՙ\x98\x8b\xfe\xa6P\xb3\x18\x9f\xc5\xf8\xac\x03\xf50.\xd2<4\xb2\x9f\x86f\xeb\v\xc5BKo\x0f\xfcH\xc5\xc3\xfe\xb8\xd7\xd8\xd2R\xaa\xb4\xf4v\xccn/.hh\x99U\xee)\xb4\xb4\x14;{b\xb3Z\n}ބ\xa3`5\xde\x14+\x06\xc1Ċ\xc1݆\xe2\xa2\xf1p\a\xb8l\xb6\xbe\x88p\x8a\xb5\xe1da(\x8b\xb0rp3\x87\xb0r\b+\xe7\x85i\xf2ҡ\xbb~\xb2\xb1\xb5\xdf\xcd!\xad-厎B\bnh]\xcc\a\xdbjh\r\x9c\xec[9\x8dx\xbc\xefzx\x8d\x89\xbe\xf6R\xb5f\x82\xf5\xd7o*z\xb6\xcf\\ߵi\x9bY\xa8\xc0~\xb6\xb1\xad\xdf\x10\xfa\xbcX\xa9f\x96\xf3\xc8n.\vMח\x90\x8eR\x98\x8eX\xa9\xa7\xd4>\xab(\xa59\xf5\xa59\xfd\xf3b;\xc9X\xd8l\x9cS\x13\xef\xdc\x1aGC\x8b\x8e3dnk\xf5\x05\xedl\xaf\xbeg\xa5\x96X{\xf0P\xac=\x98\x96!\xed5\xe3M{5(<\x84l;p\xcb\xc1l9\x98\r\x17\xb3\xe0:\xb1\xce\xd0^gh\xafs\t\xbe\x8b\xf5\xe6&È\x9b`\xcaM7v\x16\xba\xca\xdd=\x95rW[Q\x8b\x9d\xad\xb1rmbl,\xffh\xfe\xb1\x1erMC\xcbm\xbd\x9d\xad\x85JoG{\xa1\xb7\xa7\xbe\x8ct\x85ӗm,\a\xb5 p\xaa\xae\xdcV\xae`a\xe6\x11\x89\x8fu\x93\x87\xbd<\xec\xfb\x88(\x1f)\xdc\xccG\xe3\x11F\x1e\x99\xf1\x92\xb1J\x18y%\x8c\xbc\xb2D\xe4\x1eLx@{@y\xf9Xw8s\xdd53\u05fd\xc4\xf3\t\xb8\x92pLϢ5\x95\xc8\xc7zB`\xcfb\x0f\xc4m\v\xa04|L4\xc5zkS\xea\"T\x84\xe2'\x87\xf6\x0eHeo\x94\xcap\xe5\xd5\xf5VJ\xd5Y\xe9\r\xd6_]o\u007f.}\x04\xd6\x04\a\xfd(\xb7ȩ\xdf\x04`\n\x9a\x81栉p\\\xb2)6?L\xc4\xfc\xfeD\f\x9e?\xabT\xac\x14\xbbK\xdd\xe1\xa0\x14\x82I\xa5c\xf3[+\x850\x98j3۸\xd7\xe2\xefV\n\tn\xf2b{\xd5\fm\x82\x85\xa6tla\x80kX\xb8X!H;\xb1Lm\xe9\xcdc\xed\xc1\xcf\f^Ҍ]\x9fA\x8a2\x03J\xaf\x8fZ\x85\xf1Y\x8c\x0f\u007f\t\xaa\x8a\xc4g\"\xcdA#\xfb)h\xa6>\xe3\u05fc\xe2.\xd6^\xdcm\xccՔ\xde\\\u007f\xe9\xcd\aK\xa1*\x95r\x01\xb1\xc4a<\xee\xc7\xfc\xb0\x02\xfba\x05\xf6\x17\xaf\xc0\xa0V\u007f\x8f|D\xe5\x0f\xa8\xc00\x94Et9x\x9b\x8bJ\x16\xa2˹\xf8\xa1\xc0\xac\xfb\x89\xc6Q5\xebzTm\x05\x1e\xb5x\x05\x8e\x9b\xd1\xfd\xe52\x03u\x1bG\xf7\x1b\x88\x8d\xa9\x9d\x99\xa8\x1a`h.U?\x06\xbe\x8fA\xb9\x1c\x13\x96\xcb1c\xebnj\r_\xd0P\x1a\xc7\xd685n\xc92i\xc7Ƈ\xc3LJ\xaf\xd7\xf8\xda\xca8\xbe\xbf2\"\v\x0e<p\x90E\aYr\x91\x1d\u05ceM\b\xedM\b\xedMX\xb22b9\xb8\tTF\x98rS\xeaW\u07fb\x89\xb5\xaf\xae\x85\x15\x19\xcd\x05\xe6&\xe7\x0f\x9d8\xe0\x15\x9e8\xa0\x1af\x1a'\xd6TÉ5\xd5\x10\xde\xfb\x98\xc3<\xec\xe5a\xdfG\x14\xd1\xcfS\x1e\xae\xe5\xa3\xf1p=z\x93\xbdDlr\x18\xed\xe40\xda\xc9KVC\x98\xf0\x80\xf6\x80\xf2r\xb1)\xe1\x04M\xa9\x99\xa0)KVC\xb8\x92\x80\vi\xdfL\xad.\x9d\xd8\xd4\x108u\xc9j\bP\x02\xb1%\xfcXsmJ\xf1r\xf9QUL\fm\x1e\x90\xcaf\xa4\xb2\x19հ9\xa8\x86\xcda5l\xae\xa9\x86\b\xac\t\x0e\xfaQn\xc1\xf5}\x00\xf1\x03\x98ǗJ\xf8\x8bTU\x94\xe3\xa4\x1f\x9b\x16&bZM5\x9c\xb6X5D\xc2S\xa9ش\xdaj\x98i\x9c\xbex5lB`)?6\xbd\xb6\x1a\xc2BS*6#\xac\x863\x16\xaf\x86v]\xa1\xbd\xab\xad\xba7*\xf6\x14\xeaZ\vռ\xd6\xcd*\xb6\xf7\x14\xea\x8b]ݥ\xf6r\xa7YX\xbd\xa1}7{ڪ\xff\x9aR\xf5\xf9\xba\xb9\x85\xae\xaeB\xf5\xeb\xa2c\xe6\xacB\x10\x98\x93\xcdIg\xaf,(U\u007f\xa2K}\x99\xd4J[\xb9\xba'h\xed(Xu\x81hO\xa1\xb7\xbe7\xb4\xa9]m%m\xa9\xfe\xad6\xeb\xca\x1d\xc5\xd6B]&p\"\xdb\xc7\x19\xd5\xe7Dh5\xed\xd6\xfbpcF\x9f\x1b~\xf5\xf6\xd4\xc0\x8d1}n\x8c\v\xdc\x18\x1f\xb8!\xdb\xf7ʄ^٩T}-\x02\x0fdRI'\xb7\x95\xeb\xa6\x04\xf4\xa9Uz3蓪\xe4\\\xf5\xef\xa4\xeeR\x88ɤ\x1b\x82$\xf4\x94;\xcb\xddC\x10x\xd0\x18Te\x05\x17\x83\xfb\xe2\x0e\xef\xf7]E\x135\xa2\xb6\x11\xdeF\x02\xc2Fo\x8d\xad\xe1hD×]\xac\x1d\fj\b\xd2\x11^f\xfa}\xf2k}\xf2#\x9f\xc6,\xf2iL\x8d\x1bC&\xd6z\xd0\\\xebA\xf3@b\xc3\xc4E\xb0 \x11\xae\x13\x87ZP\x1b\xea@]\xa8\aM@\x93\xd0\x144\r\xcd@\xb3\xd0\x1c4\x0f\xf5\xa1\xe1ω\xeb\x82\xef\x82\xef\x82\xef\x82\xef\x82\uf08fj\xea\xe2{\xd3u\xc1w\xc1w\xc1w\xc1w\xc1w\xc1w\xc1w\xc1\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xf7\xc0I\x83\x9fFۃ_\x1e\xfa=\xf8\x91\x83\u007fi\xf0\xd3\xe0z\xb0\xefGσ\x9b\x86\x1fi\xdc\xcfD\xf6\xf0\\&\x1a\x0f\xbf\x93h\xfb\xd1}<\xef\xc1o||\xba\x19h\x16\xf6\xb2x.\v\xbf\xb2\x91_ț\x17ŋ\xfcy\x18\xe7!\u007f\x1e\xe2\xf2\xc0\xcbBQ\xce\xddx\x94'\xe4%\x8d\xf1q\xb4\xe3\xf0#\x1e\xe5)\xca'xip\xe2Q\x9e\xa2\xe7\xa3<!\xfe4ڙ\xc8n\x94\x87h|\x94'\xb4}\xd8͠?\x1e\xe5\t\x9a\x81fa/\x8b\xe7\xb2\xf0+\x1b\xf9\x85<ő\xa78\xeeǑ\xa7x4.\xf2#\xca\x13\xb8\xd8\fx\xe1'EU-\xa8\ru\xa0.ԃ&\xa0Ihd'\r\xcd@\xb3\xd0\x1c4\x0f\xf5\xa1\xa1ߞ\x0f\xbe\x0f>\xf2\xeca]z>\xf8>\xf8>\xf8>\xf8ȧ\x87\xf5\xe7\x85?\xf7M\xd9\xf0=\xad\xaa\x05\xb5\xa1\x0eԅz\xd0\x044\t\x85\xdd&\xf8\xd7\x04\xff\x9a\xe0_\x16q\xe4p?\a\u007f\x9b\"\x8d\xec\xfbЦP\x1d\xf8\xe5Fm\xf8\x17ֽj\x1b~:\xf0Ӂ\x1d\a~\x86u\xb2چ\xbfa=\xafj\x1a\x8a\xf8\x1d\x8c\v\xebh\xb5\x1dه?n\xe4G\xc4\a\xcf\x05ύƁ\xe3\"/.x.xv\x94o\xf0lplp\xc3\xfan\xbb\xe1\xf7bU-\xa8\ru\xa0.ԃ&\xa0Ih\n\x1a\x1e\xdb%\x93\th\x12\x9a\x82F\xf73\xd0,4\a\xcdC}(\x8e\x1d\x93\xf1Fhߩш\xe0\x10\xb5\xbb\xb7\xabX)\x95+\x8bN2\xe3I\x1c\"&q\x88\b/\xe2\xf0\"\x9eL\xc1J\xaa\xe6\x19\x1c4\xa6@H\xc5\xfb\xef\xa5pH\x99\xc2!e\xca\xc1\x18\xa7f\f\x98)0S`\xa6\xc0L\x81\x99\xaaa\xa6B\xa6\xe5\x85\xf6\xaa\xda\u007f\x1a\xeb\xb9\xe8s\xfb#ݳ\xb7P\xe9)V\xbakFy\xd0\x044\x89\xa7\x925cRЈ\x96\x81f16[36\x87\xbe\\p|\\s\x1d\xb7\x06\xb4l\x8c\xcfc|\xbeƆ\x8f>\u007fQ\x9f\x17\xd6\xf3\xaaZP\x1b\xea@]\xa8\aM@\x93\xd0\x144\r\xcd@\xb3\xd0\x1c4\x0f\xf5\xa1\xe1\xba\xf1,\xf0-\xf0-\xf0q\xc6\xedY\xe0[\xe0[\xe0\xe3Lܳ\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc0\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xb7\xc1\xc7\x19\xbeg\x83\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\xef\x80\uf00f\xff.\xf0\\\xf0]\xf0]\xf0]\xf0]\xf0]\xf0]\xf0]\xf0]\xf0]\xf0Q\xaf<\x17|\x17|\x17|\x17|\x17|\x0f|\x0f|\x0f|\x0f|\x0f|\xbcO\x1e\xde'\xcf\x03\x1f\uf407w\xc8\xc3;\xe4y\xe0{\xe0{\xe0{\xe0{࣮z\xa8\xab\x1eꪇ\xbaꡮz\xa8\xab\x1eꪇ\xbaꡮz\xa8\xab^\x02\xfc\x04\xf8\t\xf0\x13\xe0'\xc0O\x80\x9f\x04?\t~\x12\xfc$\xf8\xa8\x98\x1e*\xa6\x87\x8a\xe9\xa1bz\xa8\xdb\x1e\xaa\xa4\x87\xba\xed\xa1n{\xa8\xdb\x1e궇\xba\xed\xa1n{)\xf0QI=TR/\x05>\xaa\xa7\x87\xea\xe9\xa1zz\xa8\x9e^\n|TL/\x05~\n\xfc\x14\xf8)\xf0S\xe0\xa7\xc0O\x83\x9f\x06?\r~\x1a\xfc4\xf8i\xf0\xd3\xe0\xa7\xc1O\x83\x9f\x06?\r~\x1a\xfc4\xf8i\xf0\xd3\xe0\xa7C\xbe\x05\xbe\x05\xbe\x05\xae\x05?,\xf0,\xf0,p\xac\x88\x1b\x1e\xe1\xd9\t\xac\xa3\x04\xd6M\x02\xeb%\x81\xf5\x92\xc0:J`\x9d%\xb0\xce\x12XGɰ\xee\xfa\xf1\xf0;\xd8\xc7\u007f\xe3U\x15\xfdY\xf4gџ\x8d\xfa\xc3\xef%;<ެj\xb6.\xd8\xed\x0e\x1d\xb0\xe7\x0e\xee9qg\x18tdg\xa1R)\xcfG\xb7\vMBS\xd0,4\xfcts\xb0eu\xb0\x05p\xb0\x95u\xf0\t\xed\xe0S\xd9\xc1'\xbe\x83Oj\a\x9f\xf0\x0e>\xed\x1dl\t\x1c|\xba;\u0602:\u0602:\xd8z:\xd8R:\xd8\xfa9\xd8\":\xd8\":\xd8\x1a:\xd8\xe29\xd8\xd2;v\xaa!8\x18\v\x8f\x83\x82\xcb\xe0\xc0hpp\xd9V.\xcf\r;\x83\xa3\xafEy\nF/j\x05\xa7p\x8bZ\xc1\xe3\xc3\xfbO\xa4\x82\xb15\xed\xc0\\M;\x18?\xac\xbf\xdd\xc7\x1c\x16\x19\v\xcf\xe1jF\a~\f\xebwydK\xa1kX\xbf\xdb}͡\x8b\\\xef\xbf\x19<\xd6\xd7\x1c1 \x84\x01=A\x18\x03z\x16\x99\\f\xb1p\x16\xeb[4n\xe9\x81a\x04]\x03CY\xec\xc9E~a\x95`vq\xc0\xe1ac\xe6a#\xebe\xa3\rAt\x1f\x1b\x96,6,ظy\xd8\xe8z\xd8\xc0y\xd8\xf0zؐy\xd8\xc0zx\x11\xbc,6LYl\x94\xb0A\xf5\xb0\xa1\xf7\xc2\xff\x81\x8dW_83sfy\xc1\xff\x01\x88\xac\x12\xb4\x00x\x9ce\xcc=\n\xc2@\x00D\xe1/ј\xd4Z\x98J\xd2(\xc8b\xa7\x82\x9d\xa0\xb1W\xbc\x84\x87\xf0^a\x9b\xbd\x9a\xf1\xa72L\xf3\x18\xdeLG\x10e\nyȢ\x89\xfc\r\xa9\x87\x8b\x83\x8d\xc6\fUHJG;k\v\xd3O#\xf5\xb3\xab\x93\xad\xa5\xfa'\xe5n\u007f\xcdh\xe0\x8c\aN᮵\xb72\xff^GU\x9f2t4\xed\xf3Q\x9f_Dy\x13\xa6\x00",
-"index.html": "<!doctype html><head><meta charset=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><link rel=\"stylesheet\" href=\"/dashboard/dashboard.12bb98eb934e70336f3fa195db23b6ec.css\"/></head><body><div id=\"root\"></div><script src=\"/dashboard/dashboard.2a16d3bc3514ac4fdfa3.js\"></script></body>",
+"index.html": "<!doctype html><head><meta charset=\"utf-8\"/><meta name=\"viewport\" content=\"width=device-width, initial-scale=1, user-scalable=no\"/><link rel=\"stylesheet\" href=\"/dashboard/dashboard.1326e7c324c102ee825f6e9e64f9d560.css\"/></head><body><div id=\"root\"></div><script src=\"/dashboard/dashboard.82b7fde7aecf508dc6cb.js\"></script></body>",
 }
index d050f49..f392f1d 100644 (file)
@@ -5,14 +5,14 @@ import (
        "sort"
        "strings"
 
-       acc "github.com/vapor/account"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/common"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/sha3pool"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 const (
@@ -45,7 +45,7 @@ func accountIndexKey(xpubs []chainkd.XPub) []byte {
        return append(AccountIndexPrefix, hash[:]...)
 }
 
-func Bip44ContractIndexKey(accountID string, change bool) []byte {
+func bip44ContractIndexKey(accountID string, change bool) []byte {
        key := append(ContractIndexPrefix, []byte(accountID)...)
        if change {
                return append(key, 0x01)
@@ -96,7 +96,7 @@ func (store *AccountStore) InitBatch() acc.AccountStore {
 // CommitBatch commit batch
 func (store *AccountStore) CommitBatch() error {
        if store.batch == nil {
-               return errors.New("AccountStore commit fail, store batch is nil.")
+               return errors.New("accountStore commit fail, store batch is nil")
        }
        store.batch.Write()
        store.batch = nil
@@ -119,8 +119,8 @@ func (store *AccountStore) DeleteAccount(account *acc.Account) error {
        }
 
        // delete bip44 contract index
-       batch.Delete(Bip44ContractIndexKey(account.ID, false))
-       batch.Delete(Bip44ContractIndexKey(account.ID, true))
+       batch.Delete(bip44ContractIndexKey(account.ID, false))
+       batch.Delete(bip44ContractIndexKey(account.ID, true))
 
        // delete contract index
        batch.Delete(contractIndexKey(account.ID))
@@ -216,7 +216,7 @@ func (store *AccountStore) GetAccountIndex(xpubs []chainkd.XPub) uint64 {
 // GetBip44ContractIndex get bip44 contract index
 func (store *AccountStore) GetBip44ContractIndex(accountID string, change bool) uint64 {
        index := uint64(0)
-       if rawIndexBytes := store.db.Get(Bip44ContractIndexKey(accountID, change)); rawIndexBytes != nil {
+       if rawIndexBytes := store.db.Get(bip44ContractIndexKey(accountID, change)); rawIndexBytes != nil {
                index = common.BytesToUnit64(rawIndexBytes)
        }
        return index
@@ -367,9 +367,9 @@ func (store *AccountStore) SetAccountIndex(account *acc.Account) {
 // SetBip44ContractIndex set contract index
 func (store *AccountStore) SetBip44ContractIndex(accountID string, change bool, index uint64) {
        if store.batch == nil {
-               store.db.Set(Bip44ContractIndexKey(accountID, change), common.Unit64ToBytes(index))
+               store.db.Set(bip44ContractIndexKey(accountID, change), common.Unit64ToBytes(index))
        } else {
-               store.batch.Set(Bip44ContractIndexKey(accountID, change), common.Unit64ToBytes(index))
+               store.batch.Set(bip44ContractIndexKey(accountID, change), common.Unit64ToBytes(index))
        }
 }
 
index 680554c..3a43e92 100644 (file)
@@ -6,15 +6,15 @@ import (
        "sort"
        "testing"
 
-       "github.com/vapor/common"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/testutil"
 
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 
-       acc "github.com/vapor/account"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc"
+       acc "github.com/bytom/vapor/account"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 func TestDeleteAccount(t *testing.T) {
index a24ac8a..10bb628 100644 (file)
@@ -5,10 +5,10 @@ import (
 
        "github.com/golang/groupcache/singleflight"
 
-       "github.com/vapor/common"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 const (
@@ -25,8 +25,8 @@ type fillBlockHashesFn func(height uint64) ([]*bc.Hash, error)
 type fillMainChainHashFn func(height uint64) (*bc.Hash, error)
 type fillConsensusResultFn func(seq uint64) (*state.ConsensusResult, error)
 
-func newCache(fillBlockHeader fillBlockHeaderFn, fillBlockTxs fillBlockTransactionsFn, fillBlockHashes fillBlockHashesFn, fillMainChainHash fillMainChainHashFn, fillConsensusResult fillConsensusResultFn) cache {
-       return cache{
+func newCache(fillBlockHeader fillBlockHeaderFn, fillBlockTxs fillBlockTransactionsFn, fillBlockHashes fillBlockHashesFn, fillMainChainHash fillMainChainHashFn, fillConsensusResult fillConsensusResultFn) *cache {
+       return &cache{
                lruBlockHeaders:     common.NewCache(maxCachedBlockHeaders),
                lruBlockTxs:         common.NewCache(maxCachedBlockTransactions),
                lruBlockHashes:      common.NewCache(maxCachedBlockHashes),
index b88ad3a..8dea9ad 100644 (file)
@@ -3,9 +3,9 @@ package database
 import (
        "testing"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 func TestBlockCache(t *testing.T) {
index 0be3df0..4ffc65d 100644 (file)
@@ -9,13 +9,13 @@ import (
        "github.com/golang/protobuf/proto"
        log "github.com/sirupsen/logrus"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 const (
@@ -53,7 +53,7 @@ func loadBlockStoreStateJSON(db dbm.DB) *protocol.BlockStoreState {
 // methods for querying current data.
 type Store struct {
        db    dbm.DB
-       cache cache
+       cache *cache
 }
 
 func calcMainChainIndexPrefix(height uint64) []byte {
@@ -156,6 +156,56 @@ func GetConsensusResult(db dbm.DB, seq uint64) (*state.ConsensusResult, error) {
        return consensusResult, nil
 }
 
+// DeleteConsensusResult delete a consensusResult from cache and database
+func (s *Store) DeleteConsensusResult(seq uint64) error {
+       consensusResult, err := GetConsensusResult(s.db, seq)
+       if err != nil {
+               return err
+       }
+
+       s.db.Delete(calcConsensusResultKey(seq))
+       s.cache.removeConsensusResult(consensusResult)
+       return nil
+}
+
+// DeleteBlock delete a new block in the protocol.
+func (s *Store) DeleteBlock(block *types.Block) error {
+       blockHash := block.Hash()
+       blockHashes, err := s.GetBlockHashesByHeight(block.Height)
+       if err != nil {
+               return err
+       }
+
+       for i := 0; i < len(blockHashes); i++ {
+               if blockHashes[i].String() == blockHash.String() {
+                       blockHashes = append(blockHashes[0:i], blockHashes[i+1:len(blockHashes)]...)
+                       break
+               }
+       }
+
+       batch := s.db.NewBatch()
+       if len(blockHashes) == 0 {
+               batch.Delete(calcBlockHashesPrefix(block.Height))
+       } else {
+               binaryBlockHashes, err := json.Marshal(blockHashes)
+               if err != nil {
+                       return errors.Wrap(err, "Marshal block hashes")
+               }
+
+               batch.Set(calcBlockHashesPrefix(block.Height), binaryBlockHashes)
+       }
+
+       batch.Delete(calcBlockHeaderKey(&blockHash))
+       batch.Delete(calcBlockTransactionsKey(&blockHash))
+       batch.Delete(calcTxStatusKey(&blockHash))
+       batch.Write()
+
+       s.cache.removeBlockHashes(block.Height)
+       s.cache.removeBlockHeader(&block.BlockHeader)
+
+       return nil
+}
+
 // NewStore creates and returns a new Store object.
 func NewStore(db dbm.DB) *Store {
        fillBlockHeaderFn := func(hash *bc.Hash) (*types.BlockHeader, error) {
@@ -331,14 +381,18 @@ func (s *Store) SaveChainStatus(blockHeader, irrBlockHeader *types.BlockHeader,
                return err
        }
 
-       for _, result := range consensusResults {
+       var clearCacheFuncs []func()
+       for _, consensusResult := range consensusResults {
+               result := consensusResult
                bytes, err := json.Marshal(result)
                if err != nil {
                        return err
                }
 
                batch.Set(calcConsensusResultKey(result.Seq), bytes)
-               s.cache.removeConsensusResult(result)
+               clearCacheFuncs = append(clearCacheFuncs, func() {
+                       s.cache.removeConsensusResult(result)
+               })
        }
 
        blockHash := blockHeader.Hash()
@@ -355,7 +409,8 @@ func (s *Store) SaveChainStatus(blockHeader, irrBlockHeader *types.BlockHeader,
        batch.Set([]byte{blockStore}, bytes)
 
        // save main chain blockHeaders
-       for _, bh := range mainBlockHeaders {
+       for _, blockHeader := range mainBlockHeaders {
+               bh := blockHeader
                blockHash := bh.Hash()
                binaryBlockHash, err := blockHash.MarshalText()
                if err != nil {
@@ -363,15 +418,24 @@ func (s *Store) SaveChainStatus(blockHeader, irrBlockHeader *types.BlockHeader,
                }
 
                batch.Set(calcMainChainIndexPrefix(bh.Height), binaryBlockHash)
-               s.cache.removeMainChainHash(bh.Height)
+               clearCacheFuncs = append(clearCacheFuncs, func() {
+                       s.cache.removeMainChainHash(bh.Height)
+               })
        }
 
        if currentStatus != nil {
                for i := blockHeader.Height + 1; i <= currentStatus.Height; i++ {
-                       batch.Delete(calcMainChainIndexPrefix(i))
-                       s.cache.removeMainChainHash(i)
+                       index := i
+                       batch.Delete(calcMainChainIndexPrefix(index))
+                       clearCacheFuncs = append(clearCacheFuncs, func() {
+                               s.cache.removeMainChainHash(index)
+                       })
                }
        }
        batch.Write()
+
+       for _, clearCacheFunc := range clearCacheFuncs {
+               clearCacheFunc()
+       }
        return nil
 }
index 3686838..cf8e86a 100644 (file)
@@ -4,14 +4,16 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/testutil"
+       "github.com/stretchr/testify/require"
+
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestSaveChainStatus(t *testing.T) {
@@ -290,3 +292,227 @@ func TestSaveBlockHeader(t *testing.T) {
                }
        }
 }
+
+func TestDeleteBlock(t *testing.T) {
+       cases := []struct {
+               initBlocks  []*types.BlockHeader
+               deleteBlock *types.BlockHeader
+               wantBlocks  []*types.BlockHeader
+       }{
+               {
+                       initBlocks: []*types.BlockHeader{},
+                       deleteBlock: &types.BlockHeader{
+                               Version:   uint64(1),
+                               Height:    uint64(1),
+                               Timestamp: uint64(1528945000),
+                       },
+                       wantBlocks: []*types.BlockHeader{},
+               },
+               {
+                       initBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945005),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945010),
+                               },
+                       },
+                       deleteBlock: &types.BlockHeader{
+                               Version:   uint64(1),
+                               Height:    uint64(1),
+                               Timestamp: uint64(1528945000),
+                       },
+                       wantBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945005),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945010),
+                               },
+                       },
+               },
+               {
+                       initBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945005),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945010),
+                               },
+                       },
+                       deleteBlock: &types.BlockHeader{
+                               Version:   uint64(1),
+                               Height:    uint64(1),
+                               Timestamp: uint64(1528945005),
+                       },
+                       wantBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945010),
+                               },
+                       },
+               },
+               {
+                       initBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945005),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945010),
+                               },
+                       },
+                       deleteBlock: &types.BlockHeader{
+                               Version:   uint64(1),
+                               Height:    uint64(1),
+                               Timestamp: uint64(1528945010),
+                       },
+                       wantBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945005),
+                               },
+                       },
+               },
+               {
+                       initBlocks: []*types.BlockHeader{},
+                       deleteBlock: &types.BlockHeader{
+                               Version:   uint64(1),
+                               Height:    uint64(1),
+                               Timestamp: uint64(1528945030),
+                       },
+                       wantBlocks: []*types.BlockHeader{},
+               },
+               {
+                       initBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                       },
+                       deleteBlock: &types.BlockHeader{
+                               Version:   uint64(1),
+                               Height:    uint64(1),
+                               Timestamp: uint64(1528945030),
+                       },
+                       wantBlocks: []*types.BlockHeader{
+                               {
+                                       Version:   uint64(1),
+                                       Height:    uint64(1),
+                                       Timestamp: uint64(1528945000),
+                               },
+                       },
+               },
+       }
+
+       for _, c := range cases {
+               verifyStatus := &bc.TransactionStatus{
+                       VerifyStatus: []*bc.TxVerifyResult{
+                               {StatusFail: false},
+                       },
+               }
+               deleteBlock := &types.Block{
+                       BlockHeader: types.BlockHeader{
+                               Version:   c.deleteBlock.Version,
+                               Height:    c.deleteBlock.Height,
+                               Timestamp: c.deleteBlock.Timestamp,
+                       },
+               }
+
+               dbA := dbm.NewDB("dbu", "leveldb", "tempA")
+               dbB := dbm.NewDB("dbc", "leveldb", "tempB")
+
+               storeA := NewStore(dbA)
+               storeB := NewStore(dbB)
+
+               for i := 0; i < len(c.initBlocks); i++ {
+                       block := &types.Block{
+                               BlockHeader: types.BlockHeader{
+                                       Version:   c.initBlocks[i].Version,
+                                       Height:    c.initBlocks[i].Height,
+                                       Timestamp: c.initBlocks[i].Timestamp,
+                               },
+                       }
+                       if err := storeA.SaveBlock(block, verifyStatus); err != nil {
+                               t.Fatal(err)
+                       }
+               }
+
+               if err := storeA.DeleteBlock(deleteBlock); err != nil {
+                       t.Fatal(err)
+               }
+
+               for i := 0; i < len(c.wantBlocks); i++ {
+                       block := &types.Block{
+                               BlockHeader: types.BlockHeader{
+                                       Version:   c.wantBlocks[i].Version,
+                                       Height:    c.wantBlocks[i].Height,
+                                       Timestamp: c.wantBlocks[i].Timestamp,
+                               },
+                       }
+                       if err := storeB.SaveBlock(block, verifyStatus); err != nil {
+                               t.Fatal(err)
+                       }
+               }
+
+               iterA := dbA.Iterator()
+               iterB := dbB.Iterator()
+
+               for iterA.Next() && iterB.Next() {
+                       require.Equal(t, iterA.Key(), iterB.Key())
+                       require.Equal(t, iterA.Value(), iterB.Value())
+               }
+
+               if iterA.Next() || iterB.Next() {
+                       t.Fatalf("why iterator is not finished")
+               }
+
+               dbA.Close()
+               os.RemoveAll("tempA")
+               dbB.Close()
+               os.RemoveAll("tempB")
+       }
+}
index 987a23d..5f4de1f 100644 (file)
@@ -1,12 +1,12 @@
 package database
 
 import (
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/state"
        "github.com/golang/protobuf/proto"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/state"
 )
 
 const utxoPreFix = "UT:"
@@ -91,6 +91,7 @@ func saveUtxoView(batch dbm.Batch, view *state.UtxoViewpoint) error {
        return nil
 }
 
+// SaveUtxoView is export for intergation test
 func SaveUtxoView(batch dbm.Batch, view *state.UtxoViewpoint) error {
        return saveUtxoView(batch, view)
 }
index b776b54..9f39d2b 100644 (file)
@@ -4,11 +4,11 @@ import (
        "os"
        "testing"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/testutil"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestSaveUtxoView(t *testing.T) {
index c0bf9f9..d50464b 100644 (file)
@@ -5,16 +5,17 @@ import (
        "encoding/hex"
        "encoding/json"
        "fmt"
+       "strings"
 
        log "github.com/sirupsen/logrus"
 
-       acc "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/query"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/wallet"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/query"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/wallet"
 )
 
 const (
@@ -30,6 +31,7 @@ const (
        recoveryKey //recoveryKey key for db store recovery info.
 )
 
+// pre-define variables
 var (
        walletStore         = []byte("WS:")
        SUTXOPrefix         = append(walletStore, sutxoPrefix, colon)
@@ -65,10 +67,12 @@ func calcUnconfirmedTxKey(formatKey string) []byte {
        return append(UnconfirmedTxPrefix, []byte(formatKey)...)
 }
 
+// CalcGlobalTxIndexKey calculate tx hash index key
 func CalcGlobalTxIndexKey(txID string) []byte {
        return append(GlobalTxIndexPrefix, []byte(txID)...)
 }
 
+// CalcGlobalTxIndex calcuate the block index + position index key
 func CalcGlobalTxIndex(blockHash *bc.Hash, position uint64) []byte {
        txIdx := make([]byte, 40)
        copy(txIdx[:32], blockHash.Bytes())
@@ -108,7 +112,7 @@ func (store *WalletStore) InitBatch() wallet.WalletStore {
 // CommitBatch commit batch
 func (store *WalletStore) CommitBatch() error {
        if store.batch == nil {
-               return errors.New("WalletStore commit fail, store batch is nil.")
+               return errors.New("walletStore commit fail, store batch is nil")
        }
 
        store.batch.Write()
@@ -227,7 +231,7 @@ func (store *WalletStore) GetAsset(assetID *bc.AssetID) (*asset.Asset, error) {
                return nil, err
        }
 
-       alias := assetID.String()
+       alias := strings.ToUpper(assetID.String())
        externalAsset := &asset.Asset{
                AssetID:           *assetID,
                Alias:             &alias,
@@ -346,6 +350,7 @@ func (store *WalletStore) ListAccountUTXOs(id string, isSmartContract bool) ([]*
        return confirmedUTXOs, nil
 }
 
+// ListTransactions list tx by filter args
 func (store *WalletStore) ListTransactions(accountID string, StartTxID string, count uint, unconfirmed bool) ([]*query.AnnotatedTx, error) {
        annotatedTxs := []*query.AnnotatedTx{}
        var startKey []byte
index 96cd9b1..e23052c 100644 (file)
@@ -10,15 +10,15 @@ import (
        "sort"
        "testing"
 
-       acc "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
-       "github.com/vapor/wallet"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
+       "github.com/bytom/vapor/wallet"
 )
 
 func TestAccountIndexKey(t *testing.T) {
index 9003ec2..ad7a4e0 100644 (file)
@@ -3,8 +3,8 @@ FROM golang:1.12-alpine as builder
 
 RUN apk add --no-cache make git
 
-ADD . /go/src/github.com/vapor
-WORKDIR /go/src/github.com/vapor/cmd/fedd
+ADD . /go/src/github.com/bytom/vapor
+WORKDIR /go/src/github.com/bytom/vapor/cmd/fedd
 
 RUN GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -w" -installsuffix cgo -o fed main.go
 
@@ -12,6 +12,6 @@ RUN GOOS=linux CGO_ENABLED=0 go build -ldflags="-s -w" -installsuffix cgo -o fed
 FROM alpine:latest
 
 RUN apk add --no-cache ca-certificates
-COPY --from=builder /go/src/github.com/vapor/cmd/fedd/fed /usr/local/bin/
+COPY --from=builder /go/src/github.com/bytom/vapor/cmd/fedd/fed /usr/local/bin/
 
 EXPOSE 9886
index 3cb63a2..d1d7e29 100644 (file)
@@ -3,14 +3,14 @@ FROM golang:1.12-alpine as builder
 
 RUN apk add --no-cache make git
 
-ADD . /go/src/github.com/vapor
-RUN cd /go/src/github.com/vapor && make vapord && make vaporcli
+ADD . /go/src/github.com/bytom/vapor
+RUN cd /go/src/github.com/bytom/vapor && make vapord && make vaporcli
 
 # Pull Vapor into a second stage deploy alpine container
 FROM alpine:latest
 
 RUN apk add --no-cache ca-certificates
-COPY --from=builder /go/src/github.com/vapor/cmd/vapord/vapord /usr/local/bin/
-COPY --from=builder /go/src/github.com/vapor/cmd/vaporcli/vaporcli /usr/local/bin/
+COPY --from=builder /go/src/github.com/bytom/vapor/cmd/vapord/vapord /usr/local/bin/
+COPY --from=builder /go/src/github.com/bytom/vapor/cmd/vaporcli/vaporcli /usr/local/bin/
 
 EXPOSE 9889 56656 56657 56658
index 92a8b1d..61e3344 100644 (file)
@@ -1,6 +1,6 @@
 FROM bytom/golang-gcc-gpp:1.11.2 as builder
 LABEL stage=vapord_builder
-WORKDIR /go/src/github.com/vapor
+WORKDIR /go/src/github.com/bytom/vapor
 COPY . .
 RUN go build -o /usr/local/vapord/vapord ./cmd/vapord/main.go
 # save node public key in /usr/local/vapord/node_pubkey.txt
index 946f10c..97b48c0 100644 (file)
@@ -93,9 +93,10 @@ UNLOCK TABLES;
 CREATE TABLE `assets` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `asset_id` varchar(64) NOT NULL,
-  `issuance_program` varchar(128) NOT NULL,
+  `issuance_program` mediumtext NOT NULL,
   `vm_version` int(11) NOT NULL DEFAULT '1',
   `definition` text,
+  `is_open_federation_issue` tinyint(1) DEFAULT '0',
   `created_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
   `updated_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
   PRIMARY KEY (`id`),
diff --git a/docs/release-notes/release-notes-1.0.4.md b/docs/release-notes/release-notes-1.0.4.md
new file mode 100644 (file)
index 0000000..a9bcbb0
--- /dev/null
@@ -0,0 +1,51 @@
+Vapor version 1.0.4 is now available from:
+
+  https://github.com/Bytom/vapor/releases/tag/v1.0.4
+
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/Bytom/vapor/issues
+
+
+
+
+1.0.4 changelog
+================
+__Vapor Node__
+
++ `PR #401`
+    - Define the levelDB database structure of MOV.
+      - Including utxo, order, transaction pair and database status of MOV
++ `PR #404`
+    - Database leveldb realizes the function of MOV data paging query and storage.
+      - Including order storage and sorting of MOV, paging query function of order and transaction pairs
++ `PR #407`
+    - Solve the problem of node discovery service name consistency.
++ `PR #409`
+    - Update the gas cost by the chain transactions.
++ `PR #423`
+    - Solve the problem cross chain asset name alias can't be found  that cost by the format of upper case and lower case.
+
+
+__Vapor Dashboard__
+
+- Update the dashboard with a switcher for either the chain transactions or the normal transactions. The transaction contains common voting cross-chain. This feature supports the official BTM asset only.
+
+Credits
+--------
+
+Thanks to everyone who directly contributed to this release:
+
+- Agouri
+- Colt-Z
+- HAOYUatHZ
+- langyu
+- Paladz
+- shenao78
+- shengling2008
+- yahtoo
+- zcc0721
+- ZhitingLin
+
+And everyone who helped test.
diff --git a/docs/release-notes/release-notes-1.1.0.md b/docs/release-notes/release-notes-1.1.0.md
new file mode 100644 (file)
index 0000000..8479f56
--- /dev/null
@@ -0,0 +1,41 @@
+Vapor version 1.1.0 is now available from:
+
+  https://github.com/Bytom/vapor/releases/tag/v1.1.0
+
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/Bytom/vapor/issues
+
+
+
+1.1.0 changelog
+================
+__Vapor Node__
+
++ `PR #518`
+    - Support Mov on-chain asset exchange protocol.
+    - Support cross chain for the open federation asset.
++ `PR #517`
+    - Prevent network timeout issues for fast network sync in the latency environment.
++ `PR #496`
+    - Add rollback function to handle the edge fork case.
+
+
+Credits
+--------
+
+Thanks to everyone who directly contributed to this release:
+
+- Colt-Z
+- HAOYUatHZ
+- ipqhjjybj
+- langyu
+- Paladz
+- shenao78
+- shengling2008
+- oysheng
+- zcc0721
+- ZhitingLin
+
+And everyone who helped test.
\ No newline at end of file
diff --git a/docs/release-notes/release-notes-1.1.2.md b/docs/release-notes/release-notes-1.1.2.md
new file mode 100644 (file)
index 0000000..dde5d11
--- /dev/null
@@ -0,0 +1,40 @@
+Vapor version 1.1.2 is now available from:
+
+  https://github.com/Bytom/vapor/releases/tag/v1.1.2
+
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/Bytom/vapor/issues
+
+
+
+1.1.2 changelog
+================
+__Vapor Node__
+
++ `PR #533`
+    - Support BTC asset cross-chain.
++ `PR #527`
+    - Support update to mov node for the nodes not updated at specified time and add some related test case.
++ `PR #523`
+    - Fix the refund from matching transaction may result in asset unbalance problem.
+
+
+Credits
+--------
+
+Thanks to everyone who directly contributed to this release:
+
+- Colt-Z
+- HAOYUatHZ
+- ipqhjjybj
+- langyu
+- Paladz
+- shenao78
+- shengling2008
+- oysheng
+- zcc0721
+- ZhitingLin
+
+And everyone who helped test.
\ No newline at end of file
diff --git a/docs/release-notes/release-notes-1.1.4.md b/docs/release-notes/release-notes-1.1.4.md
new file mode 100644 (file)
index 0000000..94f8811
--- /dev/null
@@ -0,0 +1,39 @@
+Vapor version 1.1.4 is now available from:
+
+  https://github.com/Bytom/vapor/releases/tag/v1.1.4
+
+
+Please report bugs using the issue tracker at github:
+
+  https://github.com/Bytom/vapor/issues
+
+
+
+1.1.4 changelog
+================
+__Vapor Node__
+
++ `PR #538`
+    - Add the height interval of the next round of block rewards.
++ `PR #536`
+    - Support cross-chain of USDC and DAI.
++ `PR #535`
+    - Fix the bug when the trader only received 1 unit of assets during the match transaction and the magnet contract report error.
+
+
+Credits
+--------
+
+Thanks to everyone who directly contributed to this release:
+
+- Colt-Z
+- HAOYUatHZ
+- ipqhjjybj
+- langyu
+- Paladz
+- shenao78
+- oysheng
+- zcc0721
+- ZhitingLin
+
+And everyone who helped test.
\ No newline at end of file
index 9b1f5df..bf6d758 100644 (file)
@@ -9,7 +9,7 @@ import (
        "math"
        "sync"
 
-       "github.com/vapor/encoding/bufpool"
+       "github.com/bytom/vapor/encoding/bufpool"
 )
 
 var bufPool = sync.Pool{New: func() interface{} { return new([9]byte) }}
index 85db64e..cb642c7 100644 (file)
@@ -6,7 +6,7 @@ import (
        "strconv"
        "strings"
 
-       chainjson "github.com/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
 )
 
 // Contract is a compiled Equity contract.
index 2a2a470..38d2f3a 100644 (file)
@@ -8,12 +8,12 @@ import (
        "os"
        "strings"
 
-       "github.com/vapor/equity/compiler"
+       "github.com/bytom/vapor/equity/compiler"
 )
 
 var (
        // generateInstPath is the directory (need to combine with GOPATH) for store generated contract instance
-       generateInstPath = "/src/github.com/vapor/equity/instance/"
+       generateInstPath = "/src/github.com/bytom/vapor/equity/instance/"
 )
 
 func main() {
@@ -66,8 +66,8 @@ func main() {
                "bytes":                            true,
                "encoding/hex":                     true,
                "fmt":                              true,
-               "github.com/vapor/equity/compiler": true,
-               "github.com/vapor/protocol/vm":     true,
+               "github.com/bytom/vapor/equity/compiler": true,
+               "github.com/bytom/vapor/protocol/vm":     true,
        }
 
        buf := new(bytes.Buffer)
@@ -254,7 +254,7 @@ func asGoParams(params []*compiler.Param) (goParams string, imports []string) {
                        typ = "uint64"
                case "Asset":
                        typ = "bc.AssetID"
-                       imports = append(imports, "github.com/vapor/protocol/bc")
+                       imports = append(imports, "github.com/bytom/vapor/protocol/bc")
                        strFlag = true
                case "Boolean":
                        typ = "bool"
@@ -268,7 +268,7 @@ func asGoParams(params []*compiler.Param) (goParams string, imports []string) {
                        strFlag = true
                case "PublicKey":
                        typ = "ed25519.PublicKey"
-                       imports = append(imports, "github.com/vapor/crypto/ed25519")
+                       imports = append(imports, "github.com/bytom/vapor/crypto/ed25519")
                        strFlag = true
                case "Signature":
                        typ = "[]byte"
@@ -281,7 +281,7 @@ func asGoParams(params []*compiler.Param) (goParams string, imports []string) {
        }
 
        if strFlag {
-               imports = append(imports, "github.com/vapor/encoding/json")
+               imports = append(imports, "github.com/bytom/vapor/encoding/json")
        }
        return strings.Join(strs, ", "), imports
 }
index 0e623e3..28be7b5 100644 (file)
@@ -6,10 +6,10 @@ import (
        "io"
        "io/ioutil"
 
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // ValueInfo describes how a blockchain value is used in a contract
index 733ede2..395917f 100644 (file)
@@ -5,9 +5,9 @@ import (
        "strings"
        "testing"
 
-       chainjson "github.com/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
 
-       "github.com/vapor/equity/compiler/equitytest"
+       "github.com/bytom/vapor/equity/compiler/equitytest"
 )
 
 func TestCompile(t *testing.T) {
index a4733cc..20e7413 100644 (file)
@@ -9,8 +9,8 @@ import (
 
        "github.com/spf13/cobra"
 
-       "github.com/vapor/equity/compiler"
-       equityutil "github.com/vapor/equity/equity/util"
+       "github.com/bytom/vapor/equity/compiler"
+       equityutil "github.com/bytom/vapor/equity/equity/util"
 )
 
 const (
index ee4ef02..12241e4 100644 (file)
@@ -5,9 +5,9 @@ import (
        "errors"
        "strconv"
 
-       chainjson "github.com/vapor/encoding/json"
+       chainjson "github.com/bytom/vapor/encoding/json"
 
-       "github.com/vapor/equity/compiler"
+       "github.com/bytom/vapor/equity/compiler"
 )
 
 // InstantiateContract instantiate contract parameters
index c9cc003..de86f20 100644 (file)
@@ -6,9 +6,9 @@ import (
        "encoding/hex"
        "errors"
 
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm"
 
-       "github.com/vapor/equity/compiler"
+       "github.com/bytom/vapor/equity/compiler"
 )
 
 const (
index e13c92e..4fab1d0 100644 (file)
@@ -9,8 +9,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
index 818e5ef..5563cd0 100644 (file)
@@ -12,7 +12,7 @@ import (
        rotatelogs "github.com/lestrrat-go/file-rotatelogs"
        "github.com/sirupsen/logrus"
 
-       "github.com/vapor/config"
+       "github.com/bytom/vapor/config"
 )
 
 const (
@@ -20,7 +20,10 @@ const (
        maxAge       int64 = 604800
 )
 
-var defaultFormatter = &logrus.TextFormatter{DisableColors: true}
+var defaultFormatter = &logrus.TextFormatter{
+       DisableColors:   true,
+       TimestampFormat: time.StampMicro,
+}
 
 func InitLogFile(config *config.Config) error {
        logPath := config.LogDir()
diff --git a/math/algorithm.go b/math/algorithm.go
new file mode 100644 (file)
index 0000000..791a70c
--- /dev/null
@@ -0,0 +1,9 @@
+package math
+
+// MinUint64 return the min of x and y
+func MinUint64(x, y uint64) uint64 {
+       if x < y {
+               return x
+       }
+       return y
+}
index f3f8897..8b61929 100644 (file)
@@ -8,8 +8,8 @@ import (
        "sync"
        "time"
 
-       "github.com/vapor/accesstoken"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/accesstoken"
+       "github.com/bytom/vapor/errors"
 )
 
 const tokenExpiry = time.Minute * 5
index c1d151f..0daa453 100644 (file)
@@ -6,9 +6,9 @@ import (
        "strings"
        "testing"
 
-       "github.com/vapor/accesstoken"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/accesstoken"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
 )
 
 func TestAuthenticate(t *testing.T) {
index b902c9f..5edc84b 100644 (file)
@@ -6,8 +6,8 @@ import (
        "context"
        "net/http"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/net/http/httpjson"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/net/http/httpjson"
 )
 
 // Info contains a set of error codes to send to the user.
index 852fccf..c80d128 100644 (file)
@@ -5,7 +5,7 @@ import (
        "fmt"
        "testing"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 var (
index e2b8559..dd0f3e7 100644 (file)
@@ -9,7 +9,7 @@ import (
        "testing"
        "testing/iotest"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 func TestHandler(t *testing.T) {
index 0d57d19..94c3f14 100644 (file)
@@ -8,7 +8,7 @@ import (
        "reflect"
 
        log "github.com/sirupsen/logrus"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 const logModule = "httpjson"
index ea8261b..8a2e3c4 100644 (file)
@@ -12,7 +12,7 @@ import (
        "github.com/gorilla/websocket"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 // websocketSendBufferSize is the number of elements the send channel
index b1d692a..3e7957d 100644 (file)
@@ -7,10 +7,10 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // Notification types
index c670d23..0d5a40e 100644 (file)
@@ -5,12 +5,14 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
@@ -22,16 +24,12 @@ const (
 )
 
 var (
-       maxNumOfBlocksPerMsg      = uint64(1000)
+       maxNumOfBlocksPerMsg      = uint64(64)
        maxNumOfHeadersPerMsg     = uint64(1000)
        maxNumOfBlocksRegularSync = uint64(128)
 )
 
-type FastSync interface {
-       process() error
-       setSyncPeer(peer *peers.Peer)
-}
-
+// Fetcher is the interface for fetch struct
 type Fetcher interface {
        processBlock(peerID string, block *types.Block)
        processBlocks(peerID string, blocks []*types.Block)
@@ -56,7 +54,7 @@ type headersMsg struct {
 
 type blockKeeper struct {
        chain      Chain
-       fastSync   FastSync
+       fastSync   *fastSync
        msgFetcher Fetcher
        peers      *peers.PeerSet
        syncPeer   *peers.Peer
@@ -76,7 +74,7 @@ func newBlockKeeper(chain Chain, peers *peers.PeerSet, fastSyncDB dbm.DB) *block
        }
 }
 
-func (bk *blockKeeper) locateBlocks(locator []*bc.Hash, stopHash *bc.Hash) ([]*types.Block, error) {
+func (bk *blockKeeper) locateBlocks(locator []*bc.Hash, stopHash *bc.Hash, isTimeout func() bool) ([]*types.Block, error) {
        headers, err := bk.locateHeaders(locator, stopHash, 0, maxNumOfBlocksPerMsg)
        if err != nil {
                return nil, err
@@ -91,6 +89,9 @@ func (bk *blockKeeper) locateBlocks(locator []*bc.Hash, stopHash *bc.Hash) ([]*t
                }
 
                blocks = append(blocks, block)
+               if isTimeout() {
+                       break
+               }
        }
        return blocks, nil
 }
@@ -171,7 +172,9 @@ func (bk *blockKeeper) regularBlockSync() error {
 
                isOrphan, err := bk.chain.ProcessBlock(block)
                if err != nil {
-                       bk.peers.ProcessIllegal(bk.syncPeer.ID(), security.LevelMsgIllegal, err.Error())
+                       if errors.Root(err) != protocol.ErrDoubleSignBlock {
+                               bk.peers.ProcessIllegal(bk.syncPeer.ID(), security.LevelMsgIllegal, err.Error())
+                       }
                        return err
                }
 
@@ -200,7 +203,7 @@ func (bk *blockKeeper) checkSyncType() int {
        bestHeight := bk.chain.BestBlockHeight()
        peer := bk.peers.BestIrreversiblePeer(consensus.SFFullNode | consensus.SFFastSync)
        if peer != nil {
-               if peerIrreversibleHeight := peer.IrreversibleHeight(); peerIrreversibleHeight >= bestHeight+minGapStartFastSync {
+               if peerIrreversibleHeight := peer.Height(); peerIrreversibleHeight >= bestHeight+minGapStartFastSync {
                        bk.fastSync.setSyncPeer(peer)
                        return fastSyncType
                }
index 9472f21..52b206c 100644 (file)
@@ -7,16 +7,16 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       msgs "github.com/vapor/netsync/messages"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/test/mock"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       msgs "github.com/bytom/vapor/netsync/messages"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/test/mock"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestCheckSyncType(t *testing.T) {
@@ -448,7 +448,8 @@ func TestLocateBlocks(t *testing.T) {
                        want = append(want, blocks[i])
                }
 
-               got, err := bk.locateBlocks(locator, &c.stopHash)
+               mockTimeout := func() bool { return false }
+               got, err := bk.locateBlocks(locator, &c.stopHash, mockTimeout)
                if err != c.wantErr {
                        t.Errorf("case %d: got %v want err = %v", i, err, c.wantErr)
                }
index fac5cb5..f7f4619 100644 (file)
@@ -5,24 +5,21 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p/security"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol"
 )
 
 var errOrphanBlock = errors.New("fast sync inserting orphan block")
 
-type BlockProcessor interface {
-       process(chan struct{}, chan struct{}, uint64, *sync.WaitGroup)
-}
-
 type blockProcessor struct {
        chain   Chain
-       storage Storage
+       storage *storage
        peers   *peers.PeerSet
 }
 
-func newBlockProcessor(chain Chain, storage Storage, peers *peers.PeerSet) *blockProcessor {
+func newBlockProcessor(chain Chain, storage *storage, peers *peers.PeerSet) *blockProcessor {
        return &blockProcessor{
                chain:   chain,
                peers:   peers,
@@ -37,7 +34,7 @@ func (bp *blockProcessor) insert(blockStorage *blockStorage) error {
                return errOrphanBlock
        }
 
-       if err != nil {
+       if err != nil && errors.Root(err) != protocol.ErrDoubleSignBlock {
                bp.peers.ProcessIllegal(blockStorage.peerID, security.LevelMsgIllegal, err.Error())
        }
        return err
index 7663dc8..70503fb 100644 (file)
@@ -7,10 +7,10 @@ import (
        "testing"
        "time"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/test/mock"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/test/mock"
 )
 
 func TestBlockProcess(t *testing.T) {
index 5565987..a802227 100644 (file)
@@ -5,11 +5,11 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var (
@@ -29,12 +29,12 @@ var (
 type fastSync struct {
        chain          Chain
        msgFetcher     MsgFetcher
-       blockProcessor BlockProcessor
+       blockProcessor *blockProcessor
        peers          *peers.PeerSet
        mainSyncPeer   *peers.Peer
 }
 
-func newFastSync(chain Chain, msgFetcher MsgFetcher, storage Storage, peers *peers.PeerSet) *fastSync {
+func newFastSync(chain Chain, msgFetcher MsgFetcher, storage *storage, peers *peers.PeerSet) *fastSync {
        return &fastSync{
                chain:          chain,
                msgFetcher:     msgFetcher,
@@ -152,7 +152,7 @@ func (fs *fastSync) process() error {
 // sync length cannot be greater than maxFastSyncBlocksNum.
 func (fs *fastSync) findSyncRange() (*types.Block, error) {
        bestHeight := fs.chain.BestBlockHeight()
-       length := fs.mainSyncPeer.IrreversibleHeight() - fastSyncPivotGap - bestHeight
+       length := fs.mainSyncPeer.Height() - fastSyncPivotGap - bestHeight
        if length > maxNumOfBlocksPerSync {
                length = maxNumOfBlocksPerSync
        }
index 07e2fca..7501949 100644 (file)
@@ -8,14 +8,14 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/test/mock"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/test/mock"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestBlockLocator(t *testing.T) {
index 656a950..152367d 100644 (file)
@@ -3,20 +3,21 @@ package chainmgr
 import (
        "errors"
        "reflect"
+       "time"
 
        log "github.com/sirupsen/logrus"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       msgs "github.com/vapor/netsync/messages"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/p2p/security"
-       core "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       msgs "github.com/bytom/vapor/netsync/messages"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/p2p/security"
+       core "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
@@ -38,6 +39,7 @@ type Chain interface {
        ValidateTx(*types.Tx) (bool, error)
 }
 
+// Switch is the interface for network layer
 type Switch interface {
        AddReactor(name string, reactor p2p.Reactor) p2p.Reactor
        Start() (bool, error)
@@ -50,6 +52,7 @@ type Switch interface {
 // Mempool is the interface for Bytom mempool
 type Mempool interface {
        GetTransactions() []*core.TxDesc
+       IsDust(tx *types.Tx) bool
 }
 
 //Manager is responsible for the business layer information synchronization
@@ -89,6 +92,7 @@ func NewManager(config *cfg.Config, sw Switch, chain Chain, mempool Mempool, dis
        return manager, nil
 }
 
+// AddPeer add the network layer peer to logic layer
 func (m *Manager) AddPeer(peer peers.BasePeer) {
        m.peers.AddPeer(peer)
 }
@@ -153,8 +157,18 @@ func (m *Manager) handleGetBlockMsg(peer *peers.Peer, msg *msgs.GetBlockMessage)
 }
 
 func (m *Manager) handleGetBlocksMsg(peer *peers.Peer, msg *msgs.GetBlocksMessage) {
-       blocks, err := m.blockKeeper.locateBlocks(msg.GetBlockLocator(), msg.GetStopHash())
+       endTime := time.Now().Add(requireBlocksTimeout / 10)
+       isTimeout := func() bool {
+               return time.Now().After(endTime)
+       }
+
+       blocks, err := m.blockKeeper.locateBlocks(msg.GetBlockLocator(), msg.GetStopHash(), isTimeout)
        if err != nil || len(blocks) == 0 {
+               log.WithFields(log.Fields{
+                       "module": logModule,
+                       "err":    err,
+                       "size":   len(blocks),
+               }).Error("fail on handleGetBlocksMsg locateBlocks")
                return
        }
 
@@ -254,6 +268,11 @@ func (m *Manager) handleTransactionMsg(peer *peers.Peer, msg *msgs.TransactionMe
                return
        }
 
+       if m.mempool.IsDust(tx) {
+               log.WithFields(log.Fields{"tx_hash": tx.ID.String(), "peer": peer.Addr()}).Warn("receive dust tx msg")
+               return
+       }
+
        m.peers.MarkTx(peer.ID(), tx.ID)
        if isOrphan, err := m.chain.ValidateTx(tx); err != nil && err != core.ErrDustTx && !isOrphan {
                m.peers.ProcessIllegal(peer.ID(), security.LevelMsgIllegal, "fail on validate tx transaction")
@@ -273,6 +292,11 @@ func (m *Manager) handleTransactionsMsg(peer *peers.Peer, msg *msgs.Transactions
        }
 
        for _, tx := range txs {
+               if m.mempool.IsDust(tx) {
+                       m.peers.ProcessIllegal(peer.ID(), security.LevelMsgIllegal, "receive dust txs msg")
+                       continue
+               }
+
                m.peers.MarkTx(peer.ID(), tx.ID)
                if isOrphan, err := m.chain.ValidateTx(tx); err != nil && !isOrphan {
                        m.peers.ProcessIllegal(peer.ID(), security.LevelMsgIllegal, "fail on validate tx transaction")
@@ -343,10 +367,12 @@ func (m *Manager) processMsg(basePeer peers.BasePeer, msgType byte, msg msgs.Blo
        }
 }
 
+// RemovePeer delete peer for peer set
 func (m *Manager) RemovePeer(peerID string) {
        m.peers.RemovePeer(peerID)
 }
 
+// SendStatus sent the current self status to remote peer
 func (m *Manager) SendStatus(peer peers.BasePeer) error {
        p := m.peers.GetPeer(peer.ID())
        if p == nil {
@@ -360,6 +386,7 @@ func (m *Manager) SendStatus(peer peers.BasePeer) error {
        return nil
 }
 
+// Start the network logic layer
 func (m *Manager) Start() error {
        var err error
        m.txMsgSub, err = m.eventDispatcher.Subscribe(core.TxMsgEvent{})
index 1435602..aa8d657 100644 (file)
@@ -6,11 +6,11 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
@@ -24,7 +24,7 @@ const (
 var (
        requireBlockTimeout      = 20 * time.Second
        requireHeadersTimeout    = 30 * time.Second
-       requireBlocksTimeout     = 50 * time.Second
+       requireBlocksTimeout     = 90 * time.Second
        checkSyncPeerNumInterval = 5 * time.Second
 
        errRequestBlocksTimeout = errors.New("request blocks timeout")
@@ -33,6 +33,7 @@ var (
        errSendMsg              = errors.New("send message error")
 )
 
+// MsgFetcher is the interface for msg fetch struct
 type MsgFetcher interface {
        resetParameter()
        addSyncPeer(peerID string)
@@ -51,7 +52,7 @@ type fetchBlocksResult struct {
 }
 
 type msgFetcher struct {
-       storage          Storage
+       storage          *storage
        syncPeers        *fastSyncPeers
        peers            *peers.PeerSet
        blockProcessCh   chan *blockMsg
@@ -61,7 +62,7 @@ type msgFetcher struct {
        mux              sync.RWMutex
 }
 
-func newMsgFetcher(storage Storage, peers *peers.PeerSet) *msgFetcher {
+func newMsgFetcher(storage *storage, peers *peers.PeerSet) *msgFetcher {
        return &msgFetcher{
                storage:          storage,
                syncPeers:        newFastSyncPeers(),
index 0b3c5a7..e07d9d0 100644 (file)
@@ -6,10 +6,10 @@ import (
        log "github.com/sirupsen/logrus"
        "github.com/tendermint/go-wire"
 
-       "github.com/vapor/errors"
-       msgs "github.com/vapor/netsync/messages"
-       "github.com/vapor/p2p"
-       "github.com/vapor/p2p/connection"
+       "github.com/bytom/vapor/errors"
+       msgs "github.com/bytom/vapor/netsync/messages"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/p2p/connection"
 )
 
 //ProtocolReactor handles new coming protocol message.
index 2bab996..8cc8b12 100644 (file)
@@ -4,9 +4,9 @@ import (
        "encoding/binary"
        "sync"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc/types"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var (
@@ -15,13 +15,7 @@ var (
        errDBFindBlock      = errors.New("can't find block from DB")
 )
 
-type Storage interface {
-       resetParameter()
-       writeBlocks(peerID string, blocks []*types.Block) error
-       readBlock(height uint64) (*blockStorage, error)
-       deleteBlock(height uint64)
-}
-
+// LocalStore is the interface for persistent storage
 type LocalStore interface {
        writeBlock(block *types.Block) error
        readBlock(height uint64) (*types.Block, error)
index c15d14b..19b9cc4 100644 (file)
@@ -7,8 +7,8 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc/types"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 func TestReadWriteBlocks(t *testing.T) {
index 9e4bf63..b0ac3e7 100644 (file)
@@ -8,14 +8,14 @@ import (
 
        "github.com/tendermint/go-wire"
        "github.com/tendermint/tmlibs/flowrate"
-       dbm "github.com/vapor/database/leveldb"
-
-       "github.com/vapor/consensus"
-       "github.com/vapor/event"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/test/mock"
+       dbm "github.com/bytom/vapor/database/leveldb"
+
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/test/mock"
 )
 
 type P2PPeer struct {
index 6c6f5f9..8dd6e7e 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       core "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
+       core "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
index b5ac991..00e59e1 100644 (file)
@@ -9,13 +9,13 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol"
-       core "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/test/mock"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol"
+       core "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/test/mock"
 )
 
 const txsNumber = 2000
@@ -51,6 +51,10 @@ func (m *mempool) GetTransactions() []*core.TxDesc {
        return txs
 }
 
+func (m *mempool) IsDust(tx *types.Tx) bool {
+       return false
+}
+
 func TestSyncMempool(t *testing.T) {
        tmpDir, err := ioutil.TempDir(".", "")
        if err != nil {
index 96f7fed..6e28330 100644 (file)
@@ -4,8 +4,8 @@ import (
        log "github.com/sirupsen/logrus"
        "gopkg.in/karalabe/cookiejar.v2/collections/prque"
 
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 const (
index 9670351..0ecf305 100644 (file)
@@ -4,9 +4,9 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 type peerMgr struct {
index b11695a..c3bd741 100644 (file)
@@ -1,7 +1,7 @@
 package consensusmgr
 
 import (
-       "github.com/vapor/netsync/peers"
+       "github.com/bytom/vapor/netsync/peers"
 )
 
 // BroadcastMsg the message that can be broadcast
index f47cf81..7178d6b 100644 (file)
@@ -8,9 +8,9 @@ import (
 
        "github.com/tendermint/go-wire"
 
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
index d00c93b..5ff5fa3 100644 (file)
@@ -7,8 +7,8 @@ import (
        "github.com/davecgh/go-spew/spew"
        "github.com/tendermint/go-wire"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var _ = wire.RegisterInterface(
index a9e3a63..5865098 100644 (file)
@@ -5,12 +5,14 @@ import (
 
        "github.com/sirupsen/logrus"
 
-       "github.com/vapor/event"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // Switch is the interface for p2p switch.
@@ -109,8 +111,9 @@ func (m *Manager) handleBlockSignatureMsg(peerID string, msg *BlockSignatureMsg)
        m.peers.MarkBlockSignature(peerID, msg.Signature)
        blockHash := bc.NewHash(msg.BlockHash)
        if err := m.chain.ProcessBlockSignature(msg.Signature, msg.PubKey, &blockHash); err != nil {
-               m.peers.ProcessIllegal(peerID, security.LevelMsgIllegal, err.Error())
-               return
+               if errors.Root(err) != protocol.ErrDoubleSignBlock {
+                       m.peers.ProcessIllegal(peerID, security.LevelMsgIllegal, err.Error())
+               }
        }
 }
 
index 832b677..8f1736f 100644 (file)
@@ -9,12 +9,12 @@ import (
 
        "github.com/tendermint/tmlibs/flowrate"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/event"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 type p2peer struct {
index 10405fb..c46fe28 100644 (file)
@@ -3,8 +3,8 @@ package consensusmgr
 import (
        "github.com/sirupsen/logrus"
 
-       "github.com/vapor/p2p"
-       "github.com/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/p2p/connection"
 )
 
 const (
index 3ef82dc..c5e268e 100644 (file)
@@ -7,8 +7,8 @@ import (
 
        "github.com/tendermint/go-wire"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 //protocol msg byte
index 19900b7..53a2f1b 100644 (file)
@@ -6,9 +6,9 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var txs = []*types.Tx{
index dea5a24..4e39c05 100644 (file)
@@ -10,11 +10,11 @@ import (
        "github.com/tendermint/tmlibs/flowrate"
        "gopkg.in/fatih/set.v0"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       msgs "github.com/vapor/netsync/messages"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       msgs "github.com/bytom/vapor/netsync/messages"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
index 514d269..3fa000a 100644 (file)
@@ -7,10 +7,10 @@ import (
 
        "github.com/davecgh/go-spew/spew"
        "github.com/tendermint/tmlibs/flowrate"
-       "github.com/vapor/consensus"
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var (
index 307d6c3..839d1db 100644 (file)
@@ -5,15 +5,15 @@ import (
 
        "github.com/sirupsen/logrus"
 
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       "github.com/vapor/netsync/chainmgr"
-       "github.com/vapor/netsync/consensusmgr"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/protocol"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/netsync/chainmgr"
+       "github.com/bytom/vapor/netsync/consensusmgr"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/protocol"
 )
 
 const (
index c160f17..87d7456 100644 (file)
@@ -5,6 +5,7 @@ import (
        "errors"
        "net"
        "net/http"
+       // debug tool
        _ "net/http/pprof"
        "path/filepath"
        "reflect"
@@ -14,24 +15,25 @@ import (
        cmn "github.com/tendermint/tmlibs/common"
        browser "github.com/toqueteos/webbrowser"
 
-       "github.com/vapor/accesstoken"
-       "github.com/vapor/account"
-       "github.com/vapor/api"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/env"
-       "github.com/vapor/event"
-       vaporLog "github.com/vapor/log"
-       "github.com/vapor/net/websocket"
-       "github.com/vapor/netsync"
-       "github.com/vapor/proposal/blockproposer"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
-       w "github.com/vapor/wallet"
+       "github.com/bytom/vapor/accesstoken"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/application/mov"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/env"
+       "github.com/bytom/vapor/event"
+       vaporLog "github.com/bytom/vapor/log"
+       "github.com/bytom/vapor/net/websocket"
+       "github.com/bytom/vapor/netsync"
+       "github.com/bytom/vapor/proposal/blockproposer"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
+       w "github.com/bytom/vapor/wallet"
 )
 
 const (
@@ -58,16 +60,10 @@ type Node struct {
 
 // NewNode create bytom node
 func NewNode(config *cfg.Config) *Node {
-       if err := lockDataDirectory(config); err != nil {
-               cmn.Exit("Error: " + err.Error())
-       }
-
-       if err := cfg.LoadFederationFile(config.FederationFile(), config); err != nil {
-               cmn.Exit(cmn.Fmt("Failed to load federated information:[%s]", err.Error()))
-       }
+       initNodeConfig(config)
 
-       if err:=vaporLog.InitLogFile(config);err!=nil{
-               log.WithField("err",err).Fatalln("InitLogFile failed")
+       if err := vaporLog.InitLogFile(config); err != nil {
+               log.WithField("err", err).Fatalln("InitLogFile failed")
        }
 
        log.WithFields(log.Fields{
@@ -75,15 +71,9 @@ func NewNode(config *cfg.Config) *Node {
                "pubkey":             config.PrivateKey().XPub(),
                "fed_xpubs":          config.Federation.Xpubs,
                "fed_quorum":         config.Federation.Quorum,
-               "fed_controlprogram": hex.EncodeToString(cfg.FederationWScript(config)),
+               "fed_controlprogram": hex.EncodeToString(cfg.FederationWScript(config, 0)),
        }).Info()
 
-       if err := consensus.InitActiveNetParams(config.ChainID); err != nil {
-               log.Fatalf("Failed to init ActiveNetParams:[%s]", err.Error())
-       }
-
-       initCommonConfig(config)
-
        // Get store
        if config.DBBackend != "memdb" && config.DBBackend != "leveldb" {
                cmn.Exit(cmn.Fmt("Param db_backend [%v] is invalid, use leveldb or memdb", config.DBBackend))
@@ -95,8 +85,10 @@ func NewNode(config *cfg.Config) *Node {
        accessTokens := accesstoken.NewStore(tokenDB)
 
        dispatcher := event.NewDispatcher()
-       txPool := protocol.NewTxPool(store, dispatcher)
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       movCore := mov.NewCore(config.DBBackend, config.DBDir(), consensus.ActiveNetParams.MovStartHeight)
+       assetFilter := protocol.NewAssetFilter(config.CrossChain.AssetWhitelist)
+       txPool := protocol.NewTxPool(store, []protocol.DustFilterer{movCore, assetFilter}, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, []protocol.SubProtocol{movCore}, dispatcher)
        if err != nil {
                cmn.Exit(cmn.Fmt("Failed to create chain structure: %v", err))
        }
@@ -125,6 +117,10 @@ func NewNode(config *cfg.Config) *Node {
                        log.WithFields(log.Fields{"module": logModule, "error": err}).Error("init NewWallet")
                }
 
+               if err = wallet.Run(); err != nil {
+                       log.WithFields(log.Fields{"module": logModule, "error": err}).Error("init NewWallet work running thread")
+               }
+
                // trigger rescan wallet
                if config.Wallet.Rescan {
                        wallet.RescanBlocks()
@@ -167,9 +163,72 @@ func NewNode(config *cfg.Config) *Node {
        return node
 }
 
+// Rollback rollback chain from one height to targetHeight
+func Rollback(config *cfg.Config, targetHeight uint64) error {
+       if err := initNodeConfig(config); err != nil {
+               return err
+       }
+
+       // Get store
+       if config.DBBackend != "leveldb" {
+               return errors.New("Param db_backend is invalid, use leveldb")
+       }
+
+       coreDB := dbm.NewDB("core", config.DBBackend, config.DBDir())
+       store := database.NewStore(coreDB)
+
+       dispatcher := event.NewDispatcher()
+       movCore := mov.NewCore(config.DBBackend, config.DBDir(), consensus.ActiveNetParams.MovStartHeight)
+       txPool := protocol.NewTxPool(store, []protocol.DustFilterer{movCore}, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, []protocol.SubProtocol{movCore}, dispatcher)
+       if err != nil {
+               return err
+       }
+
+       hsm, err := pseudohsm.New(config.KeysDir())
+       if err != nil {
+               return err
+       }
+
+       walletDB := dbm.NewDB("wallet", config.DBBackend, config.DBDir())
+       walletStore := database.NewWalletStore(walletDB)
+       accountStore := database.NewAccountStore(walletDB)
+       accounts := account.NewManager(accountStore, chain)
+       assets := asset.NewRegistry(walletDB, chain)
+       wallet, err := w.NewWallet(walletStore, accounts, assets, hsm, chain, dispatcher, config.Wallet.TxIndex)
+       if err != nil {
+               return err
+       }
+
+       if err := wallet.Rollback(targetHeight); err != nil {
+               return err
+       }
+
+       return chain.Rollback(targetHeight)
+}
+
+func initNodeConfig(config *cfg.Config) error {
+       if err := lockDataDirectory(config); err != nil {
+               log.WithField("err", err).Info("Error: " + err.Error())
+               return err
+       }
+
+       if err := cfg.LoadFederationFile(config.FederationFile(), config); err != nil {
+               log.WithField("err", err).Info("Failed to load federated information")
+               return err
+       }
+
+       if err := consensus.InitActiveNetParams(config.ChainID); err != nil {
+               log.Fatalf("Failed to init ActiveNetParams:[%s]", err.Error())
+       }
+
+       cfg.CommonConfig = config
+       return nil
+}
+
 // find whether config xpubs equal genesis block xpubs
 func checkConfig(chain *protocol.Chain, config *cfg.Config) error {
-       fedpegScript := cfg.FederationWScript(config)
+       fedpegScript := cfg.FederationWScript(config, 0)
        genesisBlock, err := chain.GetBlockByHeight(0)
        if err != nil {
                return err
@@ -177,7 +236,7 @@ func checkConfig(chain *protocol.Chain, config *cfg.Config) error {
        typedInput := genesisBlock.Transactions[0].Inputs[0].TypedInput
        if v, ok := typedInput.(*types.CoinbaseInput); ok {
                if !reflect.DeepEqual(fedpegScript, v.Arbitrary) {
-                       return errors.New("config xpubs don't equal genesis block xpubs.")
+                       return errors.New("config xpubs don't equal genesis block xpubs")
                }
        }
        return nil
@@ -214,6 +273,7 @@ func (n *Node) initAndstartAPIServer() {
        n.api.StartServer(*listenAddr)
 }
 
+// OnStart implements BaseService
 func (n *Node) OnStart() error {
        if n.miningEnable {
                if _, err := n.wallet.AccountMgr.GetMiningAddress(); err != nil {
@@ -245,6 +305,7 @@ func (n *Node) OnStart() error {
        return nil
 }
 
+// OnStop implements BaseService
 func (n *Node) OnStop() {
        n.notificationMgr.Shutdown()
        n.notificationMgr.WaitForShutdown()
@@ -258,9 +319,15 @@ func (n *Node) OnStop() {
        n.eventDispatcher.Stop()
 }
 
+// RunForever listen to the stop signal
 func (n *Node) RunForever() {
        // Sleep forever and then...
        cmn.TrapSignal(func() {
                n.Stop()
        })
 }
+
+// GetChain return the chain
+func (n *Node) GetChain() *protocol.Chain {
+       return n.chain
+}
index 66011f7..de73324 100644 (file)
@@ -5,7 +5,7 @@ import (
        "os"
        "testing"
 
-       cfg "github.com/vapor/config"
+       cfg "github.com/bytom/vapor/config"
 )
 
 func TestNodeUsedDataDir(t *testing.T) {
index bd9b095..7a6045d 100644 (file)
@@ -3,7 +3,7 @@ package p2p
 import (
        cmn "github.com/tendermint/tmlibs/common"
 
-       "github.com/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p/connection"
 )
 
 //Reactor is responsible for handling incoming messages of one or more `Channels`
index af5f645..ea74e2d 100644 (file)
@@ -14,7 +14,7 @@ import (
        cmn "github.com/tendermint/tmlibs/common"
        "github.com/tendermint/tmlibs/flowrate"
 
-       "github.com/vapor/common/compression"
+       "github.com/bytom/vapor/common/compression"
 )
 
 const (
@@ -247,7 +247,7 @@ func (c *MConnection) String() string {
 
 func (c *MConnection) flush() {
        if err := c.bufWriter.Flush(); err != nil {
-               log.WithFields(log.Fields{"module": logModule, "error": err}).Error("MConnection flush failed")
+               log.WithFields(log.Fields{"module": logModule, "error": err}).Warn("MConnection flush failed")
        }
 }
 
@@ -278,7 +278,7 @@ func (c *MConnection) recvRoutine() {
                c.recvMonitor.Update(int(n))
                if err != nil {
                        if c.IsRunning() {
-                               log.WithFields(log.Fields{"module": logModule, "conn": c, "error": err}).Error("Connection failed @ recvRoutine (reading byte)")
+                               log.WithFields(log.Fields{"module": logModule, "conn": c, "error": err}).Warn("Connection failed @ recvRoutine (reading byte)")
                                c.conn.Close()
                                c.stopForError(err)
                        }
@@ -405,7 +405,7 @@ func (c *MConnection) sendRoutine() {
                        return
                }
                if err != nil {
-                       log.WithFields(log.Fields{"module": logModule, "conn": c, "error": err}).Error("Connection failed @ sendRoutine")
+                       log.WithFields(log.Fields{"module": logModule, "conn": c, "error": err}).Warn("Connection failed @ sendRoutine")
                        c.stopForError(err)
                        return
                }
index 28cce51..36eb2d7 100644 (file)
@@ -17,7 +17,7 @@ import (
        "golang.org/x/crypto/nacl/secretbox"
        "golang.org/x/crypto/ripemd160"
 
-       "github.com/vapor/p2p/signlib"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 const (
index b4542cf..9c102ec 100644 (file)
@@ -7,7 +7,7 @@ import (
 
        cmn "github.com/tendermint/tmlibs/common"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 type dummyConn struct {
index 13dc923..ce285a6 100644 (file)
@@ -15,9 +15,9 @@ import (
        log "github.com/sirupsen/logrus"
        wire "github.com/tendermint/go-wire"
 
-       "github.com/vapor/crypto"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
 )
 
 var (
index d50584f..2048311 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
 )
 
 var (
index 03e322e..256d787 100644 (file)
@@ -5,7 +5,7 @@ import (
        "testing"
 
        "github.com/davecgh/go-spew/spew"
-       "github.com/vapor/consensus"
+       "github.com/bytom/vapor/consensus"
 )
 
 var testnetAddr = []string{"1.2.3.4", "5.6.7.8"}
index c3f6a0e..5cd8667 100644 (file)
@@ -12,10 +12,10 @@ import (
        "github.com/tendermint/go-wire"
        "golang.org/x/crypto/sha3"
 
-       "github.com/vapor/common"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/p2p/netutil"
-       "github.com/vapor/p2p/signlib"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/p2p/netutil"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 var (
index f83896d..9b063de 100644 (file)
@@ -8,8 +8,8 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/common"
-       "github.com/vapor/p2p/signlib"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 func TestNetwork_Lookup(t *testing.T) {
index 91c6da9..99fa958 100644 (file)
@@ -14,8 +14,8 @@ import (
        "strings"
        "time"
 
-       "github.com/vapor/common"
-       "github.com/vapor/crypto"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/crypto"
 )
 
 // Node represents a host on the network.
index eb7c855..e67be9b 100644 (file)
@@ -14,8 +14,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/common"
-       "github.com/vapor/crypto"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/crypto"
 )
 
 const (
index a3046cc..f28d7df 100644 (file)
@@ -11,8 +11,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/common"
-       "github.com/vapor/crypto"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/crypto"
 )
 
 const (
index c8d73b7..5244d8c 100644 (file)
@@ -14,12 +14,12 @@ import (
        log "github.com/sirupsen/logrus"
        "github.com/tendermint/go-wire"
 
-       "github.com/vapor/common"
-       cfg "github.com/vapor/config"
-       "github.com/vapor/crypto"
-       "github.com/vapor/p2p/netutil"
-       "github.com/vapor/p2p/signlib"
-       "github.com/vapor/version"
+       "github.com/bytom/vapor/common"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/p2p/netutil"
+       "github.com/bytom/vapor/p2p/signlib"
+       "github.com/bytom/vapor/version"
 )
 
 const (
index d6f442f..01dfa2e 100644 (file)
@@ -8,9 +8,9 @@ import (
        "time"
 
        "github.com/davecgh/go-spew/spew"
-       "github.com/vapor/common"
-       "github.com/vapor/errors"
-       "github.com/vapor/p2p/signlib"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 func TestPacketCodec(t *testing.T) {
index 302e8e7..2fdf275 100644 (file)
@@ -7,7 +7,7 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/event"
+       "github.com/bytom/vapor/event"
 )
 
 const (
index 2c3e92e..fb430e9 100644 (file)
@@ -10,9 +10,9 @@ import (
        log "github.com/sirupsen/logrus"
        cmn "github.com/tendermint/tmlibs/common"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/errors"
-       "github.com/vapor/p2p/upnp"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/p2p/upnp"
 )
 
 const (
index d0c52a9..be26e6d 100644 (file)
@@ -4,11 +4,11 @@ import (
        "fmt"
        "net"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/p2p/signlib"
-       "github.com/vapor/version"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/p2p/signlib"
+       "github.com/bytom/vapor/version"
 )
 
 const maxNodeInfoSize = 10240 // 10Kb
index 0f3e5be..8bf75c5 100644 (file)
@@ -8,8 +8,8 @@ import (
        "github.com/davecgh/go-spew/spew"
        "github.com/tendermint/go-wire"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/p2p/signlib"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 func mockCompatibleWithFalse(remoteVerStr string) (bool, error) {
index fbb663b..768ea0f 100644 (file)
@@ -13,10 +13,10 @@ import (
        cmn "github.com/tendermint/tmlibs/common"
        "github.com/tendermint/tmlibs/flowrate"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/p2p/connection"
-       "github.com/vapor/p2p/signlib"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 // peerConn contains the raw connection and its config.
index bcaed18..32ac6aa 100644 (file)
@@ -6,11 +6,11 @@ import (
        "testing"
        "time"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       conn "github.com/vapor/p2p/connection"
-       "github.com/vapor/p2p/signlib"
-       "github.com/vapor/version"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       conn "github.com/bytom/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p/signlib"
+       "github.com/bytom/vapor/version"
 )
 
 const testCh = 0x01
index f8ca05e..be5cace 100644 (file)
@@ -6,8 +6,8 @@ import (
        "sync"
        "time"
 
-       cfg "github.com/vapor/config"
-       dbm "github.com/vapor/database/leveldb"
+       cfg "github.com/bytom/vapor/config"
+       dbm "github.com/bytom/vapor/database/leveldb"
 )
 
 const (
index 47d5128..eb52cf4 100644 (file)
@@ -3,7 +3,7 @@ package security
 import (
        log "github.com/sirupsen/logrus"
 
-       cfg "github.com/vapor/config"
+       cfg "github.com/bytom/vapor/config"
 )
 
 const logModule = "p2pSecurity"
index b15db25..0154bd4 100644 (file)
@@ -3,7 +3,7 @@ package signlib
 import (
        "errors"
 
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 const (
index 72a995d..e39964d 100644 (file)
@@ -10,18 +10,18 @@ import (
        log "github.com/sirupsen/logrus"
        cmn "github.com/tendermint/tmlibs/common"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/p2p/connection"
-       "github.com/vapor/p2p/discover/dht"
-       "github.com/vapor/p2p/discover/mdns"
-       "github.com/vapor/p2p/netutil"
-       security "github.com/vapor/p2p/security"
-       "github.com/vapor/p2p/signlib"
-       "github.com/vapor/version"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p/discover/dht"
+       "github.com/bytom/vapor/p2p/discover/mdns"
+       "github.com/bytom/vapor/p2p/netutil"
+       security "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/p2p/signlib"
+       "github.com/bytom/vapor/version"
 )
 
 const (
@@ -272,7 +272,7 @@ func (sw *Switch) DialPeerWithAddress(addr *NetAddress) error {
 
        pc, err := newOutboundPeerConn(addr, sw.nodePrivKey, sw.peerConfig)
        if err != nil {
-               log.WithFields(log.Fields{"module": logModule, "address": addr, " err": err}).Error("DialPeer fail on newOutboundPeerConn")
+               log.WithFields(log.Fields{"module": logModule, "address": addr, " err": err}).Warn("DialPeer fail on newOutboundPeerConn")
                return err
        }
 
@@ -431,7 +431,7 @@ func (sw *Switch) listenerRoutine(l Listener) {
 
 func (sw *Switch) dialPeerWorker(a *NetAddress, wg *sync.WaitGroup) {
        if err := sw.DialPeerWithAddress(a); err != nil {
-               log.WithFields(log.Fields{"module": logModule, "addr": a, "err": err}).Error("dialPeerWorker fail on dial peer")
+               log.WithFields(log.Fields{"module": logModule, "addr": a, "err": err}).Warn("dialPeerWorker fail on dial peer")
        }
        wg.Done()
 }
index 7b162c2..6d32ed7 100644 (file)
@@ -8,12 +8,12 @@ import (
        "time"
 
        "github.com/davecgh/go-spew/spew"
-       cfg "github.com/vapor/config"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       conn "github.com/vapor/p2p/connection"
-       "github.com/vapor/p2p/security"
-       "github.com/vapor/p2p/signlib"
+       cfg "github.com/bytom/vapor/config"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       conn "github.com/bytom/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p/security"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 var (
index fc27e4e..53d3ed6 100644 (file)
@@ -6,11 +6,11 @@ import (
        log "github.com/sirupsen/logrus"
        cmn "github.com/tendermint/tmlibs/common"
 
-       cfg "github.com/vapor/config"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/p2p/connection"
-       "github.com/vapor/p2p/discover/dht"
-       "github.com/vapor/p2p/signlib"
+       cfg "github.com/bytom/vapor/config"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/p2p/connection"
+       "github.com/bytom/vapor/p2p/discover/dht"
+       "github.com/bytom/vapor/p2p/signlib"
 )
 
 //PanicOnAddPeerErr add peer error
index 7f8c1da..864c382 100644 (file)
@@ -7,16 +7,20 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/event"
-       "github.com/vapor/proposal"
-       "github.com/vapor/protocol"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/proposal"
+       "github.com/bytom/vapor/protocol"
 )
 
 const (
-       logModule = "blockproposer"
+       logModule         = "blockproposer"
+       warnTimeNum       = 1
+       warnTimeDenom     = 5
+       criticalTimeNum   = 2
+       criticalTimeDenom = 5
 )
 
 // BlockProposer propose several block in specified time range
@@ -74,7 +78,9 @@ func (b *BlockProposer) generateBlocks() {
                        continue
                }
 
-               block, err := proposal.NewBlockTemplate(b.chain, b.txPool, b.accountManager, nextBlockTime)
+               warnDuration := time.Duration(consensus.ActiveNetParams.BlockTimeInterval*warnTimeNum/warnTimeDenom) * time.Millisecond
+               criticalDuration := time.Duration(consensus.ActiveNetParams.BlockTimeInterval*criticalTimeNum/criticalTimeDenom) * time.Millisecond
+               block, err := proposal.NewBlockTemplate(b.chain, b.accountManager, nextBlockTime, warnDuration, criticalDuration)
                if err != nil {
                        log.WithFields(log.Fields{"module": logModule, "error": err}).Error("failed on create NewBlockTemplate")
                        continue
index 50d85d1..ea0cc62 100644 (file)
@@ -7,24 +7,234 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/protocol/validation"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/protocol/validation"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
-const logModule = "mining"
+const (
+       logModule     = "mining"
+       batchApplyNum = 16
+       softMaxTxNum  = 128
+
+       timeoutOk = iota + 1
+       timeoutWarn
+       timeoutCritical
+)
+
+// NewBlockTemplate returns a new block template that is ready to be solved
+func NewBlockTemplate(chain *protocol.Chain, accountManager *account.Manager, timestamp uint64, warnDuration, criticalDuration time.Duration) (*types.Block, error) {
+       builder := newBlockBuilder(chain, accountManager, timestamp, warnDuration, criticalDuration)
+       return builder.build()
+}
+
+type blockBuilder struct {
+       chain          *protocol.Chain
+       accountManager *account.Manager
+
+       block    *types.Block
+       txStatus *bc.TransactionStatus
+       utxoView *state.UtxoViewpoint
+
+       warnTimeoutCh     <-chan time.Time
+       criticalTimeoutCh <-chan time.Time
+       timeoutStatus     uint8
+       gasLeft           int64
+}
+
+func newBlockBuilder(chain *protocol.Chain, accountManager *account.Manager, timestamp uint64, warnDuration, criticalDuration time.Duration) *blockBuilder {
+       preBlockHeader := chain.BestBlockHeader()
+       block := &types.Block{
+               BlockHeader: types.BlockHeader{
+                       Version:           1,
+                       Height:            preBlockHeader.Height + 1,
+                       PreviousBlockHash: preBlockHeader.Hash(),
+                       Timestamp:         timestamp,
+                       BlockCommitment:   types.BlockCommitment{},
+                       BlockWitness:      types.BlockWitness{Witness: make([][]byte, consensus.ActiveNetParams.NumOfConsensusNode)},
+               },
+       }
+
+       builder := &blockBuilder{
+               chain:             chain,
+               accountManager:    accountManager,
+               block:             block,
+               txStatus:          bc.NewTransactionStatus(),
+               utxoView:          state.NewUtxoViewpoint(),
+               warnTimeoutCh:     time.After(warnDuration),
+               criticalTimeoutCh: time.After(criticalDuration),
+               gasLeft:           int64(consensus.ActiveNetParams.MaxBlockGas),
+               timeoutStatus:     timeoutOk,
+       }
+       return builder
+}
+
+func (b *blockBuilder) applyCoinbaseTransaction() error {
+       coinbaseTx, err := b.createCoinbaseTx()
+       if err != nil {
+               return errors.Wrap(err, "fail on create coinbase tx")
+       }
+
+       gasState, err := validation.ValidateTx(coinbaseTx.Tx, &bc.Block{BlockHeader: &bc.BlockHeader{Height: b.block.Height}, Transactions: []*bc.Tx{coinbaseTx.Tx}})
+       if err != nil {
+               return err
+       }
+
+       b.block.Transactions = append(b.block.Transactions, coinbaseTx)
+       if err := b.txStatus.SetStatus(0, false); err != nil {
+               return err
+       }
+
+       b.gasLeft -= gasState.GasUsed
+       return nil
+}
+
+func (b *blockBuilder) applyTransactions(txs []*types.Tx, timeoutStatus uint8) error {
+       tempTxs := []*types.Tx{}
+       for i := 0; i < len(txs); i++ {
+               if tempTxs = append(tempTxs, txs[i]); len(tempTxs) < batchApplyNum && i != len(txs)-1 {
+                       continue
+               }
+
+               results, gasLeft := b.preValidateTxs(tempTxs, b.chain, b.utxoView, b.gasLeft)
+               for _, result := range results {
+                       if result.err != nil && !result.gasOnly {
+                               log.WithFields(log.Fields{"module": logModule, "error": result.err}).Error("mining block generation: skip tx due to")
+                               b.chain.GetTxPool().RemoveTransaction(&result.tx.ID)
+                               continue
+                       }
+
+                       if err := b.txStatus.SetStatus(len(b.block.Transactions), result.gasOnly); err != nil {
+                               return err
+                       }
+
+                       b.block.Transactions = append(b.block.Transactions, result.tx)
+               }
+
+               b.gasLeft = gasLeft
+               tempTxs = []*types.Tx{}
+               if b.getTimeoutStatus() >= timeoutStatus || len(b.block.Transactions) > softMaxTxNum {
+                       break
+               }
+       }
+       return nil
+}
+
+func (b *blockBuilder) applyTransactionFromPool() error {
+       txDescList := b.chain.GetTxPool().GetTransactions()
+       sort.Sort(byTime(txDescList))
+
+       poolTxs := make([]*types.Tx, len(txDescList))
+       for i, txDesc := range txDescList {
+               poolTxs[i] = txDesc.Tx
+       }
+
+       return b.applyTransactions(poolTxs, timeoutWarn)
+}
+
+func (b *blockBuilder) applyTransactionFromSubProtocol() error {
+       isTimeout := func() bool {
+               return b.getTimeoutStatus() > timeoutOk
+       }
+
+       for i, p := range b.chain.SubProtocols() {
+               if b.gasLeft <= 0 || isTimeout() {
+                       break
+               }
+
+               subTxs, err := p.BeforeProposalBlock(b.block, b.gasLeft, isTimeout)
+               if err != nil {
+                       log.WithFields(log.Fields{"module": logModule, "index": i, "error": err}).Error("failed on sub protocol txs package")
+                       continue
+               }
+
+               if err := b.applyTransactions(subTxs, timeoutCritical); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+func (b *blockBuilder) build() (*types.Block, error) {
+       if err := b.applyCoinbaseTransaction(); err != nil {
+               return nil, err
+       }
+
+       if err := b.applyTransactionFromPool(); err != nil {
+               return nil, err
+       }
+
+       if err := b.applyTransactionFromSubProtocol(); err != nil {
+               return nil, err
+       }
+
+       if err := b.calcBlockCommitment(); err != nil {
+               return nil, err
+       }
+
+       if err := b.chain.SignBlockHeader(&b.block.BlockHeader); err != nil {
+               return nil, err
+       }
+
+       return b.block, nil
+}
+
+func (b *blockBuilder) calcBlockCommitment() (err error) {
+       var txEntries []*bc.Tx
+       for _, tx := range b.block.Transactions {
+               txEntries = append(txEntries, tx.Tx)
+       }
+
+       b.block.BlockHeader.BlockCommitment.TransactionsMerkleRoot, err = types.TxMerkleRoot(txEntries)
+       if err != nil {
+               return err
+       }
+
+       b.block.BlockHeader.BlockCommitment.TransactionStatusHash, err = types.TxStatusMerkleRoot(b.txStatus.VerifyStatus)
+       return err
+}
 
 // createCoinbaseTx returns a coinbase transaction paying an appropriate subsidy
 // based on the passed block height to the provided address.  When the address
 // is nil, the coinbase transaction will instead be redeemable by anyone.
-func createCoinbaseTx(accountManager *account.Manager, blockHeight uint64, rewards []state.CoinbaseReward) (tx *types.Tx, err error) {
+func (b *blockBuilder) createCoinbaseTx() (*types.Tx, error) {
+       consensusResult, err := b.chain.GetConsensusResultByHash(&b.block.PreviousBlockHash)
+       if err != nil {
+               return nil, err
+       }
+
+       rewards, err := consensusResult.GetCoinbaseRewards(b.block.Height - 1)
+       if err != nil {
+               return nil, err
+       }
+
+       return createCoinbaseTxByReward(b.accountManager, b.block.Height, rewards)
+}
+
+func (b *blockBuilder) getTimeoutStatus() uint8 {
+       if b.timeoutStatus == timeoutCritical {
+               return b.timeoutStatus
+       }
+
+       select {
+       case <-b.criticalTimeoutCh:
+               b.timeoutStatus = timeoutCritical
+       case <-b.warnTimeoutCh:
+               b.timeoutStatus = timeoutWarn
+       default:
+       }
+
+       return b.timeoutStatus
+}
+
+func createCoinbaseTxByReward(accountManager *account.Manager, blockHeight uint64, rewards []state.CoinbaseReward) (tx *types.Tx, err error) {
        arbitrary := append([]byte{0x00}, []byte(strconv.FormatUint(blockHeight, 10))...)
        var script []byte
        if accountManager == nil {
@@ -45,6 +255,7 @@ func createCoinbaseTx(accountManager *account.Manager, blockHeight uint64, rewar
        if err = builder.AddInput(types.NewCoinbaseInput(arbitrary), &txbuilder.SigningInstruction{}); err != nil {
                return nil, err
        }
+
        if err = builder.AddOutput(types.NewIntraChainOutput(*consensus.BTMAssetID, 0, script)); err != nil {
                return nil, err
        }
@@ -73,113 +284,63 @@ func createCoinbaseTx(accountManager *account.Manager, blockHeight uint64, rewar
        return tx, nil
 }
 
-// NewBlockTemplate returns a new block template that is ready to be solved
-func NewBlockTemplate(c *protocol.Chain, txPool *protocol.TxPool, accountManager *account.Manager, timestamp uint64) (b *types.Block, err error) {
-       view := state.NewUtxoViewpoint()
-       txStatus := bc.NewTransactionStatus()
-       if err := txStatus.SetStatus(0, false); err != nil {
-               return nil, err
-       }
-       txEntries := []*bc.Tx{nil}
-       gasUsed := uint64(0)
-
-       // get preblock info for generate next block
-       preBlockHeader := c.BestBlockHeader()
-       preBlockHash := preBlockHeader.Hash()
-       nextBlockHeight := preBlockHeader.Height + 1
-
-       b = &types.Block{
-               BlockHeader: types.BlockHeader{
-                       Version:           1,
-                       Height:            nextBlockHeight,
-                       PreviousBlockHash: preBlockHash,
-                       Timestamp:         timestamp,
-                       BlockCommitment:   types.BlockCommitment{},
-                       BlockWitness:      types.BlockWitness{Witness: make([][]byte, consensus.ActiveNetParams.NumOfConsensusNode)},
-               },
-       }
-       bcBlock := &bc.Block{BlockHeader: &bc.BlockHeader{Height: nextBlockHeight}}
-       b.Transactions = []*types.Tx{nil}
-
-       txs := txPool.GetTransactions()
-       sort.Sort(byTime(txs))
+type validateTxResult struct {
+       tx      *types.Tx
+       gasOnly bool
+       err     error
+}
 
-       entriesTxs := []*bc.Tx{}
-       for _, txDesc := range txs {
-               entriesTxs = append(entriesTxs, txDesc.Tx.Tx)
+func (b *blockBuilder) preValidateTxs(txs []*types.Tx, chain *protocol.Chain, view *state.UtxoViewpoint, gasLeft int64) ([]*validateTxResult, int64) {
+       var results []*validateTxResult
+       bcBlock := &bc.Block{BlockHeader: &bc.BlockHeader{Height: chain.BestBlockHeight() + 1}}
+       bcTxs := make([]*bc.Tx, len(txs))
+       for i, tx := range txs {
+               bcTxs[i] = tx.Tx
        }
 
-       validateResults := validation.ValidateTxs(entriesTxs, bcBlock)
-       for i, validateResult := range validateResults {
-               txDesc := txs[i]
-               tx := txDesc.Tx.Tx
+       validateResults := validation.ValidateTxs(bcTxs, bcBlock)
+       for i := 0; i < len(validateResults) && gasLeft > 0; i++ {
                gasOnlyTx := false
-
-               gasStatus := validateResult.GetGasState()
-               if validateResult.GetError() != nil {
+               gasStatus := validateResults[i].GetGasState()
+               if err := validateResults[i].GetError(); err != nil {
                        if !gasStatus.GasValid {
-                               blkGenSkipTxForErr(txPool, &tx.ID, err)
+                               results = append(results, &validateTxResult{tx: txs[i], err: err})
                                continue
                        }
                        gasOnlyTx = true
                }
 
-               if err := c.GetTransactionsUtxo(view, []*bc.Tx{tx}); err != nil {
-                       blkGenSkipTxForErr(txPool, &tx.ID, err)
+               if err := chain.GetTransactionsUtxo(view, []*bc.Tx{bcTxs[i]}); err != nil {
+                       results = append(results, &validateTxResult{tx: txs[i], err: err})
                        continue
                }
 
-               if gasUsed+uint64(gasStatus.GasUsed) > consensus.ActiveNetParams.MaxBlockGas {
+               if gasLeft-gasStatus.GasUsed < 0 {
                        break
                }
 
-               if err := view.ApplyTransaction(bcBlock, tx, gasOnlyTx); err != nil {
-                       blkGenSkipTxForErr(txPool, &tx.ID, err)
+               if err := view.ApplyTransaction(bcBlock, bcTxs[i], gasOnlyTx); err != nil {
+                       results = append(results, &validateTxResult{tx: txs[i], err: err})
                        continue
                }
 
-               if err := txStatus.SetStatus(len(b.Transactions), gasOnlyTx); err != nil {
-                       return nil, err
-               }
-
-               b.Transactions = append(b.Transactions, txDesc.Tx)
-               txEntries = append(txEntries, tx)
-               gasUsed += uint64(gasStatus.GasUsed)
-               if gasUsed == consensus.ActiveNetParams.MaxBlockGas {
-                       break
+               if err := b.validateBySubProtocols(txs[i], validateResults[i].GetError() != nil, chain.SubProtocols()); err != nil {
+                       results = append(results, &validateTxResult{tx: txs[i], err: err})
+                       continue
                }
 
+               results = append(results, &validateTxResult{tx: txs[i], gasOnly: gasOnlyTx, err: validateResults[i].GetError()})
+               gasLeft -= gasStatus.GasUsed
        }
-
-       consensusResult, err := c.GetConsensusResultByHash(&preBlockHash)
-       if err != nil {
-               return nil, err
-       }
-
-       rewards, err := consensusResult.GetCoinbaseRewards(preBlockHeader.Height)
-       if err != nil {
-               return nil, err
-       }
-
-       // create coinbase transaction
-       b.Transactions[0], err = createCoinbaseTx(accountManager, nextBlockHeight, rewards)
-       if err != nil {
-               return nil, errors.Wrap(err, "fail on createCoinbaseTx")
-       }
-
-       txEntries[0] = b.Transactions[0].Tx
-       b.BlockHeader.BlockCommitment.TransactionsMerkleRoot, err = types.TxMerkleRoot(txEntries)
-       if err != nil {
-               return nil, err
-       }
-
-       b.BlockHeader.BlockCommitment.TransactionStatusHash, err = types.TxStatusMerkleRoot(txStatus.VerifyStatus)
-
-       _, err = c.SignBlock(b)
-       return b, err
+       return results, gasLeft
 }
 
-func blkGenSkipTxForErr(txPool *protocol.TxPool, txHash *bc.Hash, err error) {
-       log.WithFields(log.Fields{"module": logModule, "error": err}).Error("mining block generation: skip tx due to")
-       txPool.RemoveTransaction(txHash)
+func (b *blockBuilder) validateBySubProtocols(tx *types.Tx, statusFail bool, subProtocols []protocol.SubProtocol) error {
+       for _, subProtocol := range subProtocols {
+               verifyResult := &bc.TxVerifyResult{StatusFail: statusFail}
+               if err := subProtocol.ValidateTx(tx, verifyResult, b.block.Height); err != nil {
+                       return err
+               }
+       }
+       return nil
 }
index e211b14..026c627 100644 (file)
@@ -3,11 +3,11 @@ package proposal
 import (
        "testing"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestCalCoinbaseTxReward(t *testing.T) {
@@ -283,7 +283,7 @@ func TestCountCoinbaseTxRewards(t *testing.T) {
                }
 
                // create coinbase transaction
-               c.block.Transactions[0], err = createCoinbaseTx(nil, c.block.Height, rewards)
+               c.block.Transactions[0], err = createCoinbaseTxByReward(nil, c.block.Height, rewards)
                if err != nil {
                        t.Fatal(err)
                }
index 45e80e2..a6a4edb 100644 (file)
@@ -1,6 +1,6 @@
 package proposal
 
-import "github.com/vapor/protocol"
+import "github.com/bytom/vapor/protocol"
 
 type byTime []*protocol.TxDesc
 
diff --git a/protocol/asset_filter.go b/protocol/asset_filter.go
new file mode 100644 (file)
index 0000000..fe7ec25
--- /dev/null
@@ -0,0 +1,41 @@
+package protocol
+
+import (
+       "strings"
+
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/protocol/bc/types"
+)
+
+// AssetFilter is struct for allow open federation asset cross chain
+type AssetFilter struct {
+       whitelist map[string]struct{}
+}
+
+// NewAssetFilter returns a assetFilter according a whitelist,
+// which is a strings list cancated via comma
+func NewAssetFilter(whitelist string) *AssetFilter {
+       af := &AssetFilter{whitelist: make(map[string]struct{})}
+       for _, assetID := range strings.Split(whitelist, ",") {
+               af.whitelist[strings.ToLower(assetID)] = struct{}{}
+       }
+       return af
+}
+
+// IsDust implements the DustFilterer interface.
+// It filters a transaction as long as there is one asset neither BTM or in the whitelist
+// No need to check the output assets types becauese they must have been cover in input assets types
+func (af *AssetFilter) IsDust(tx *types.Tx) bool {
+       for _, input := range tx.Inputs {
+               if crossChainInput, ok := input.TypedInput.(*types.CrossChainInput); !ok || !common.IsOpenFederationIssueAsset(crossChainInput.AssetDefinition) {
+                       continue
+               }
+
+               assetID := input.AssetID()
+               if _, ok := af.whitelist[assetID.String()]; !ok {
+                       return true
+               }
+       }
+
+       return false
+}
diff --git a/protocol/asset_filter_test.go b/protocol/asset_filter_test.go
new file mode 100644 (file)
index 0000000..7897942
--- /dev/null
@@ -0,0 +1,64 @@
+package protocol
+
+import (
+       "testing"
+
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
+)
+
+func TestIsDust(t *testing.T) {
+       assetFilter := NewAssetFilter("184e1cc4ee4845023888810a79eed7a42c02c544cf2c61ceac05e176d575bd46")
+       cases := []struct {
+               tx         *types.Tx
+               wantIsDust bool
+       }{
+               {
+                       tx: types.NewTx(types.TxData{
+                               Inputs: []*types.TxInput{
+                                       types.NewCrossChainInput(nil, bc.Hash{}, testutil.MustDecodeAsset("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), 1e8, 1, 1, []byte("{\n  \"decimals\": 8,\n  \"description\": \"Bytom Official Issue\",\n  \"name\": \"BTM\",\n  \"symbol\": \"BTM\"\n}"), []byte("assetbtm"))},
+                               Outputs: []*types.TxOutput{
+                                       types.NewIntraChainOutput(testutil.MustDecodeAsset("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), 1e8, []byte{0x51}),
+                               },
+                       }),
+                       wantIsDust: false,
+               },
+               {
+                       tx: types.NewTx(types.TxData{
+                               Inputs: []*types.TxInput{
+                                       types.NewCrossChainInput(nil, bc.Hash{}, testutil.MustDecodeAsset("184e1cc4ee4845023888810a79eed7a42c02c544cf2c61ceac05e176d575bd46"), 1e8, 1, 1, []byte("{\n  \"decimals\": 6,\n  \"description\": {\n    \"issue_asset_action\": \"open_federation_cross_chain\"\n  },\n  \"name\": \"USDT\",\n  \"quorum\": \"3\",\n  \"reissue\": \"true\",\n  \"symbol\": \"USDT\"\n}"), []byte("assetusdt"))},
+                               Outputs: []*types.TxOutput{
+                                       types.NewIntraChainOutput(testutil.MustDecodeAsset("184e1cc4ee4845023888810a79eed7a42c02c544cf2c61ceac05e176d575bd46"), 1e8, []byte{0x51}),
+                               },
+                       }),
+                       wantIsDust: false,
+               },
+               {
+                       tx: types.NewTx(types.TxData{
+                               Inputs: []*types.TxInput{
+                                       types.NewCrossChainInput(nil, bc.Hash{}, testutil.MustDecodeAsset("47fcd4d7c22d1d38931a6cd7767156babbd5f05bbbb3f7d3900635b56eb1b67e"), 1e8, 1, 1, []byte("{\n  \"decimals\": 8,\n  \"description\": {},\n  \"name\": \"SUP\",\n  \"quorum\": 1,\n  \"reissue\": \"false\",\n  \"symbol\": \"SUP\"\n}"), []byte("assetsup"))},
+                               Outputs: []*types.TxOutput{
+                                       types.NewIntraChainOutput(testutil.MustDecodeAsset("47fcd4d7c22d1d38931a6cd7767156babbd5f05bbbb3f7d3900635b56eb1b67e"), 1e8, []byte{0x51}),
+                               },
+                       }),
+                       wantIsDust: false,
+               },
+               {
+                       tx: types.NewTx(types.TxData{
+                               Inputs: []*types.TxInput{
+                                       types.NewCrossChainInput(nil, bc.Hash{}, testutil.MustDecodeAsset("c4644dd6643475d57ed624f63129ab815f282b61f4bb07646d73423a6e1a1563"), 1e8, 1, 1, []byte("{\n\"decimals\":6,\n\"description\":{\n\"issue_asset_action\":\"open_federation_cross_chain\"\n},\n\"name\":\"USDC\",\n\"quorum\":\"3\",\n\"reissue\":\"true\",\n\"symbol\":\"USDC\"\n}"), []byte("assetusdc"))},
+                               Outputs: []*types.TxOutput{
+                                       types.NewIntraChainOutput(testutil.MustDecodeAsset("c4644dd6643475d57ed624f63129ab815f282b61f4bb07646d73423a6e1a1563"), 1e8, []byte{0x51}),
+                               },
+                       }),
+                       wantIsDust: true,
+               },
+       }
+
+       for i, c := range cases {
+               if gotIsDust := assetFilter.IsDust(c.tx); gotIsDust != c.wantIsDust {
+                       t.Errorf("case %d: fail on AssetFilter TestIsDust", i)
+               }
+       }
+}
index a6a6deb..e1fa489 100644 (file)
@@ -6,13 +6,13 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/config"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 const (
@@ -20,9 +20,9 @@ const (
 )
 
 var (
-       errDoubleSignBlock  = errors.New("the consensus is double sign in same height of different block")
+       // ErrDoubleSignBlock represent the consensus is double sign in same height of different block
+       ErrDoubleSignBlock  = errors.New("the consensus is double sign in same height of different block")
        errInvalidSignature = errors.New("the signature of block is invalid")
-       errSignForkChain    = errors.New("can not sign fork before the irreversible block")
 )
 
 func signCacheKey(blockHash, pubkey string) string {
@@ -53,7 +53,7 @@ func (c *Chain) checkDoubleSign(bh *types.BlockHeader, xPub string) error {
                }
 
                if blockHeader.BlockWitness.Get(consensusNode.Order) != nil {
-                       return errDoubleSignBlock
+                       return ErrDoubleSignBlock
                }
        }
        return nil
@@ -140,10 +140,17 @@ func (c *Chain) validateSign(block *types.Block) error {
                        }
                }
 
-               if err := c.checkNodeSign(&block.BlockHeader, node, block.Get(node.Order)); err == errDoubleSignBlock {
+               if err := c.checkNodeSign(&block.BlockHeader, node, block.Get(node.Order)); err == ErrDoubleSignBlock {
                        log.WithFields(log.Fields{"module": logModule, "blockHash": blockHash.String(), "pubKey": pubKey}).Warn("the consensus node double sign the same height of different block")
-                       block.BlockWitness.Delete(node.Order)
-                       continue
+                       // if the blocker double sign & become the mainchain, that means
+                       // all the side chain will reject the main chain make the chain
+                       // fork. All the node will ban each other & can't roll back
+                       if blocker != pubKey {
+                               block.BlockWitness.Delete(node.Order)
+                               continue
+                       }
+
+                       return err
                } else if err != nil {
                        return err
                }
@@ -199,27 +206,56 @@ func (c *Chain) ProcessBlockSignature(signature, xPub []byte, blockHash *bc.Hash
        return c.eventDispatcher.Post(event.BlockSignatureEvent{BlockHash: *blockHash, Signature: signature, XPub: xPub})
 }
 
-// SignBlock signing the block if current node is consensus node
-func (c *Chain) SignBlock(block *types.Block) ([]byte, error) {
+// SignBlockHeader signing the block if current node is consensus node
+func (c *Chain) SignBlockHeader(blockHeader *types.BlockHeader) error {
+       c.cond.L.Lock()
+       _, err := c.signBlockHeader(blockHeader)
+       c.cond.L.Unlock()
+       return err
+}
+
+func (c *Chain) applyBlockSign(blockHeader *types.BlockHeader) error {
+       signature, err := c.signBlockHeader(blockHeader)
+       if err != nil {
+               return err
+       }
+
+       if len(signature) == 0 {
+               return nil
+       }
+
+       if err := c.store.SaveBlockHeader(blockHeader); err != nil {
+               return err
+       }
+
+       xpub := config.CommonConfig.PrivateKey().XPub()
+       return c.eventDispatcher.Post(event.BlockSignatureEvent{BlockHash: blockHeader.Hash(), Signature: signature, XPub: xpub[:]})
+}
+
+func (c *Chain) signBlockHeader(blockHeader *types.BlockHeader) ([]byte, error) {
        xprv := config.CommonConfig.PrivateKey()
-       xpubStr := xprv.XPub().String()
-       node, err := c.getConsensusNode(&block.PreviousBlockHash, xpubStr)
+       xpub := xprv.XPub()
+       node, err := c.getConsensusNode(&blockHeader.PreviousBlockHash, xpub.String())
+       blockHash := blockHeader.Hash()
        if err == errNotFoundConsensusNode {
+               log.WithFields(log.Fields{"module": logModule, "blockHash": blockHash.String()}).Debug("can't find consensus node of current node")
                return nil, nil
        } else if err != nil {
                return nil, err
        }
 
-       if err := c.checkDoubleSign(&block.BlockHeader, node.XPub.String()); err == errDoubleSignBlock {
+       if len(blockHeader.Get(node.Order)) != 0 {
+               return nil, nil
+       }
+
+       if err := c.checkDoubleSign(blockHeader, node.XPub.String()); err == ErrDoubleSignBlock {
+               log.WithFields(log.Fields{"module": logModule, "blockHash": blockHash.String()}).Warn("current node has double sign the block")
                return nil, nil
        } else if err != nil {
                return nil, err
        }
 
-       signature := block.Get(node.Order)
-       if len(signature) == 0 {
-               signature = xprv.Sign(block.Hash().Bytes())
-               block.Set(node.Order, signature)
-       }
+       signature := xprv.Sign(blockHeader.Hash().Bytes())
+       blockHeader.Set(node.Order, signature)
        return signature, nil
 }
index 553cd71..5060047 100644 (file)
@@ -5,8 +5,8 @@ import (
        "errors"
        "io"
 
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/encoding/blockchain"
 )
 
 // NewAssetID convert byte array to aseet id
index b65b3b7..d302d9b 100644 (file)
@@ -698,6 +698,7 @@ type CrossChainInput struct {
        AssetDefinition    *AssetDefinition  `protobuf:"bytes,4,opt,name=asset_definition,json=assetDefinition" json:"asset_definition,omitempty"`
        WitnessArguments   [][]byte          `protobuf:"bytes,5,rep,name=witness_arguments,json=witnessArguments,proto3" json:"witness_arguments,omitempty"`
        Ordinal            uint64            `protobuf:"varint,6,opt,name=ordinal" json:"ordinal,omitempty"`
+       RawDefinitionByte  []byte            `protobuf:"bytes,7,opt,name=rawDefinitionByte,proto3" json:"rawDefinitionByte,omitempty"`
 }
 
 func (m *CrossChainInput) Reset()                    { *m = CrossChainInput{} }
@@ -747,6 +748,13 @@ func (m *CrossChainInput) GetOrdinal() uint64 {
        return 0
 }
 
+func (m *CrossChainInput) GetRawDefinitionByte() []byte {
+       if m != nil {
+               return m.RawDefinitionByte
+       }
+       return nil
+}
+
 func init() {
        proto.RegisterType((*Hash)(nil), "bc.Hash")
        proto.RegisterType((*Program)(nil), "bc.Program")
@@ -773,65 +781,66 @@ func init() {
 func init() { proto.RegisterFile("bc.proto", fileDescriptor0) }
 
 var fileDescriptor0 = []byte{
-       // 951 bytes of a gzipped FileDescriptorProto
-       0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x56, 0x5f, 0x6f, 0x23, 0x35,
-       0x10, 0x57, 0x36, 0xdb, 0x24, 0x9d, 0xf4, 0x9a, 0xc4, 0xbd, 0x83, 0xd5, 0xe9, 0x10, 0xd5, 0x4a,
-       0x47, 0x0f, 0x21, 0x55, 0xfd, 0x73, 0xfc, 0x79, 0x40, 0x88, 0xd2, 0x72, 0x5c, 0x1e, 0x4e, 0x87,
-       0xdc, 0x2a, 0xaf, 0x2b, 0x67, 0xd7, 0x49, 0x2c, 0x92, 0x75, 0xb0, 0xbd, 0xa1, 0xd7, 0xaf, 0xc0,
-       0x33, 0x0f, 0x7c, 0x22, 0x1e, 0x10, 0xe2, 0x23, 0x81, 0x3c, 0xeb, 0x4d, 0x36, 0x7f, 0xda, 0x82,
-       0x00, 0x01, 0x6f, 0x3b, 0xe3, 0xf1, 0x6f, 0x7e, 0xf3, 0xf3, 0x8c, 0xd7, 0xd0, 0xe8, 0xc7, 0x87,
-       0x53, 0x25, 0x8d, 0x24, 0x5e, 0x3f, 0x0e, 0x5f, 0x80, 0xff, 0x92, 0xe9, 0x11, 0xd9, 0x05, 0x6f,
-       0x76, 0x14, 0x54, 0xf6, 0x2b, 0xcf, 0x6a, 0xd4, 0x9b, 0x1d, 0xa1, 0x7d, 0x1c, 0x78, 0xce, 0x3e,
-       0x46, 0xfb, 0x24, 0xa8, 0x3a, 0xfb, 0x04, 0xed, 0xd3, 0xc0, 0x77, 0xf6, 0x69, 0xf8, 0x29, 0xd4,
-       0xbf, 0x56, 0x72, 0xa8, 0xd8, 0x84, 0xbc, 0x03, 0x30, 0x9b, 0x44, 0x33, 0xae, 0xb4, 0x90, 0x29,
-       0x42, 0xfa, 0x74, 0x7b, 0x36, 0xe9, 0xe5, 0x0e, 0x42, 0xc0, 0x8f, 0x65, 0xc2, 0x11, 0x7b, 0x87,
-       0xe2, 0x77, 0xd8, 0x85, 0xfa, 0x99, 0xd6, 0xdc, 0x74, 0x2f, 0xfe, 0x32, 0x91, 0x57, 0xd0, 0x44,
-       0xa8, 0xb3, 0x89, 0xcc, 0x52, 0x43, 0xde, 0x83, 0x06, 0xb3, 0x66, 0x24, 0x12, 0x04, 0x6d, 0x9e,
-       0x34, 0x0f, 0xfb, 0xf1, 0xa1, 0xcb, 0x46, 0xeb, 0xb8, 0xd8, 0x4d, 0xc8, 0x5b, 0x50, 0x63, 0xb8,
-       0x03, 0x53, 0xf9, 0xd4, 0x59, 0xe1, 0x10, 0x5a, 0x18, 0x7b, 0xc1, 0x07, 0x22, 0x15, 0xc6, 0x16,
-       0xf0, 0x11, 0xb4, 0x85, 0xd6, 0x19, 0x4b, 0x63, 0x1e, 0x4d, 0xf3, 0x9a, 0xcb, 0xd0, 0x4e, 0x06,
-       0xda, 0x2a, 0x82, 0x0a, 0x5d, 0x9e, 0x80, 0x9f, 0x30, 0xc3, 0x30, 0x41, 0xf3, 0xa4, 0x61, 0x63,
-       0xad, 0xf4, 0x14, 0xbd, 0xe1, 0x18, 0x9a, 0x3d, 0x36, 0xce, 0xf8, 0xa5, 0xcc, 0x54, 0xcc, 0xc9,
-       0x63, 0xa8, 0x2a, 0x3e, 0x70, 0xb8, 0x8b, 0x58, 0xeb, 0x24, 0x4f, 0x61, 0x6b, 0x66, 0x43, 0x1d,
-       0x52, 0x6b, 0x5e, 0x50, 0x5e, 0x33, 0xcd, 0x57, 0xc9, 0x63, 0x68, 0x4c, 0xa5, 0x46, 0xce, 0xa8,
-       0x97, 0x4f, 0xe7, 0x76, 0xf8, 0x2d, 0xb4, 0x31, 0xdb, 0x05, 0xd7, 0x46, 0xa4, 0x0c, 0xeb, 0xfa,
-       0x87, 0x53, 0xfe, 0xe6, 0x41, 0xf3, 0x8b, 0xb1, 0x8c, 0xbf, 0x79, 0xc9, 0x59, 0xc2, 0x15, 0x09,
-       0xa0, 0xbe, 0xdc, 0x23, 0x85, 0x69, 0xcf, 0x62, 0xc4, 0xc5, 0x70, 0x34, 0x3f, 0x8b, 0xdc, 0x22,
-       0xcf, 0xa1, 0x33, 0x55, 0x7c, 0x26, 0x64, 0xa6, 0xa3, 0xbe, 0x45, 0xb2, 0x87, 0x5a, 0x5d, 0xa1,
-       0xdb, 0x2a, 0x42, 0x30, 0x57, 0x37, 0x21, 0x4f, 0x60, 0xdb, 0x88, 0x09, 0xd7, 0x86, 0x4d, 0xa6,
-       0xd8, 0x27, 0x3e, 0x5d, 0x38, 0xc8, 0x87, 0xd0, 0x31, 0x8a, 0xa5, 0x9a, 0xc5, 0x96, 0xa4, 0x8e,
-       0x94, 0x94, 0x26, 0xd8, 0x5a, 0xc1, 0x6c, 0x97, 0x43, 0xa8, 0x94, 0x86, 0x7c, 0x0e, 0x6f, 0x97,
-       0x7c, 0x91, 0x36, 0xcc, 0x64, 0x3a, 0x1a, 0x31, 0x3d, 0x0a, 0x6a, 0x2b, 0x9b, 0x1f, 0x95, 0x02,
-       0x2f, 0x31, 0x0e, 0x07, 0xee, 0x02, 0xc8, 0x3a, 0x42, 0x50, 0xc7, 0xcd, 0x8f, 0xec, 0xe6, 0xab,
-       0xd5, 0x6d, 0xb4, 0xb3, 0x86, 0x44, 0x3e, 0x80, 0xce, 0x77, 0xc2, 0xa4, 0x5c, 0xeb, 0x88, 0xa9,
-       0x61, 0x36, 0xe1, 0xa9, 0xd1, 0x41, 0x63, 0xbf, 0xfa, 0x6c, 0x87, 0xb6, 0xdd, 0xc2, 0x59, 0xe1,
-       0x0f, 0x7f, 0xa8, 0x40, 0xe3, 0xea, 0xfa, 0x5e, 0xf9, 0x0f, 0xa0, 0xa5, 0xb9, 0x12, 0x6c, 0x2c,
-       0x6e, 0x78, 0x12, 0x69, 0x71, 0xc3, 0xdd, 0x39, 0xec, 0x2e, 0xdc, 0x97, 0xe2, 0x86, 0xdb, 0x41,
-       0xb7, 0x42, 0x46, 0x8a, 0xa5, 0x43, 0xee, 0xce, 0x1b, 0xa5, 0xa5, 0xd6, 0x41, 0x0e, 0x00, 0x14,
-       0xd7, 0xd9, 0xd8, 0xce, 0x9e, 0x0e, 0xfc, 0xfd, 0xea, 0x92, 0x2c, 0xdb, 0xf9, 0x5a, 0x37, 0xd1,
-       0xe1, 0x31, 0xec, 0x5e, 0x5d, 0xf7, 0xb8, 0x12, 0x83, 0x37, 0x14, 0x9d, 0xe4, 0x5d, 0x68, 0x3a,
-       0x49, 0x07, 0x4c, 0x8c, 0x91, 0x60, 0x83, 0x42, 0xee, 0x7a, 0xc1, 0xc4, 0x38, 0x1c, 0x40, 0x67,
-       0x4d, 0x9f, 0x3b, 0x4a, 0xfa, 0x18, 0x1e, 0xcc, 0x10, 0xbf, 0xd0, 0xd9, 0x43, 0x36, 0x04, 0x75,
-       0x5e, 0x4a, 0x4d, 0x77, 0xf2, 0xc0, 0x1c, 0x32, 0xfc, 0xa5, 0x02, 0xd5, 0x57, 0xd9, 0x35, 0x79,
-       0x1f, 0xea, 0x1a, 0x07, 0x53, 0x07, 0x15, 0xdc, 0x8a, 0x13, 0x50, 0x1a, 0x58, 0x5a, 0xac, 0x93,
-       0xa7, 0x50, 0x2f, 0x6e, 0x05, 0x6f, 0xfd, 0x56, 0x28, 0xd6, 0xc8, 0x57, 0xf0, 0xb0, 0x38, 0xb9,
-       0x64, 0x31, 0x84, 0x3a, 0xa8, 0x22, 0xfc, 0xc3, 0x39, 0x7c, 0x69, 0x42, 0xe9, 0x9e, 0xdb, 0x51,
-       0xf2, 0xdd, 0xd2, 0x02, 0xfe, 0x2d, 0x2d, 0x20, 0xa1, 0x71, 0x2e, 0x45, 0xda, 0x67, 0x9a, 0x93,
-       0x2f, 0x61, 0x6f, 0x03, 0x03, 0x37, 0xff, 0x9b, 0x09, 0x90, 0x75, 0x02, 0x76, 0xbe, 0x98, 0xea,
-       0x0b, 0xa3, 0x98, 0x7a, 0xe3, 0x2e, 0xf5, 0x85, 0x23, 0xfc, 0xbe, 0x02, 0xed, 0x6e, 0x6a, 0x14,
-       0x3b, 0x1f, 0x31, 0x91, 0xbe, 0xce, 0xcc, 0x34, 0x33, 0xe4, 0x00, 0x6a, 0xb9, 0x5a, 0x2e, 0xd9,
-       0x9a, 0x98, 0x6e, 0x99, 0x3c, 0x87, 0x56, 0x2c, 0x53, 0xa3, 0xe4, 0x38, 0xba, 0x43, 0xd3, 0x5d,
-       0x17, 0x53, 0x5c, 0xb4, 0x01, 0xd4, 0xa5, 0x4a, 0x44, 0xca, 0xc6, 0xae, 0x29, 0x0b, 0x13, 0xd9,
-       0x9c, 0x2b, 0xa9, 0xf5, 0x7f, 0x82, 0xcd, 0x8f, 0x15, 0x80, 0x9e, 0x34, 0xfc, 0x5f, 0xe6, 0x61,
-       0xff, 0xc8, 0x33, 0x69, 0x38, 0x5e, 0x8e, 0x3b, 0x14, 0xbf, 0xc3, 0x9f, 0x2b, 0xb0, 0xdd, 0xe3,
-       0x46, 0x76, 0x53, 0x4b, 0xed, 0x08, 0x5a, 0x7a, 0xca, 0x53, 0x13, 0x49, 0xa4, 0xba, 0xf8, 0x99,
-       0x2e, 0xe6, 0xf9, 0x01, 0x06, 0xe4, 0xa5, 0x74, 0x93, 0xdb, 0x9a, 0xcb, 0xfb, 0x93, 0xcd, 0xb5,
-       0xb1, 0xb9, 0xab, 0x9b, 0x9b, 0xbb, 0x5c, 0xa1, 0xbf, 0xac, 0xf4, 0x6b, 0x00, 0xca, 0x8d, 0x50,
-       0xdc, 0x06, 0xfe, 0x71, 0xa1, 0x4b, 0x80, 0xde, 0x32, 0xe0, 0x4f, 0x15, 0xd8, 0xba, 0x9c, 0xf2,
-       0x34, 0xf9, 0xdf, 0x4b, 0xf3, 0xab, 0x07, 0xad, 0xc5, 0x48, 0xe4, 0xc7, 0xfd, 0x09, 0xec, 0x4d,
-       0x98, 0x48, 0x63, 0xeb, 0xb9, 0xa3, 0xae, 0xce, 0x3c, 0xe8, 0xef, 0xae, 0x6d, 0x43, 0x87, 0x57,
-       0xef, 0xef, 0xf0, 0xcf, 0xa0, 0x9d, 0xbf, 0xf5, 0x92, 0xf9, 0x63, 0x0d, 0xab, 0x6d, 0x9e, 0xec,
-       0xcd, 0xdf, 0x2b, 0x8b, 0x77, 0x1c, 0x6d, 0xb1, 0x95, 0x87, 0xdd, 0x46, 0x45, 0xb7, 0xee, 0x57,
-       0xb4, 0xb6, 0xa4, 0x68, 0xbf, 0x86, 0xaf, 0xeb, 0xd3, 0xdf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x20,
-       0xd9, 0x30, 0x59, 0x69, 0x0b, 0x00, 0x00,
+       // 967 bytes of a gzipped FileDescriptorProto
+       0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x56, 0x4b, 0x6f, 0x23, 0x45,
+       0x10, 0x96, 0xc7, 0x13, 0xdb, 0x29, 0x7b, 0x63, 0xbb, 0xb3, 0x0b, 0xa3, 0xd5, 0x22, 0xa2, 0x91,
+       0x96, 0x2c, 0x02, 0x45, 0x89, 0xb3, 0x3c, 0x0e, 0x08, 0x91, 0x4d, 0x58, 0xd6, 0x87, 0xd5, 0xa2,
+       0x4e, 0xe4, 0xeb, 0xa8, 0x3d, 0xd3, 0xb6, 0x5b, 0xd8, 0xd3, 0xa6, 0xbb, 0xc7, 0x79, 0xfc, 0x05,
+       0xce, 0x1c, 0xf8, 0x45, 0x1c, 0x10, 0x3f, 0x09, 0x81, 0xba, 0x66, 0xc6, 0xe3, 0x57, 0x12, 0x10,
+       0x20, 0xd8, 0xdb, 0xd4, 0xa3, 0xbf, 0xaa, 0xfa, 0xaa, 0xaa, 0xa7, 0xa1, 0xd6, 0x0f, 0x0f, 0xa6,
+       0x4a, 0x1a, 0x49, 0x9c, 0x7e, 0xe8, 0xbf, 0x04, 0xf7, 0x15, 0xd3, 0x23, 0xb2, 0x03, 0xce, 0xec,
+       0xd0, 0x2b, 0xed, 0x95, 0x9e, 0x55, 0xa8, 0x33, 0x3b, 0x44, 0xf9, 0xc8, 0x73, 0x32, 0xf9, 0x08,
+       0xe5, 0x8e, 0x57, 0xce, 0xe4, 0x0e, 0xca, 0xc7, 0x9e, 0x9b, 0xc9, 0xc7, 0xfe, 0x17, 0x50, 0xfd,
+       0x56, 0xc9, 0xa1, 0x62, 0x13, 0xf2, 0x1e, 0xc0, 0x6c, 0x12, 0xcc, 0xb8, 0xd2, 0x42, 0xc6, 0x08,
+       0xe9, 0xd2, 0xed, 0xd9, 0xa4, 0x97, 0x2a, 0x08, 0x01, 0x37, 0x94, 0x11, 0x47, 0xec, 0x06, 0xc5,
+       0x6f, 0xbf, 0x0b, 0xd5, 0x13, 0xad, 0xb9, 0xe9, 0x9e, 0xfd, 0xed, 0x44, 0x5e, 0x43, 0x1d, 0xa1,
+       0x4e, 0x26, 0x32, 0x89, 0x0d, 0xf9, 0x00, 0x6a, 0xcc, 0x8a, 0x81, 0x88, 0x10, 0xb4, 0xde, 0xa9,
+       0x1f, 0xf4, 0xc3, 0x83, 0x2c, 0x1a, 0xad, 0xa2, 0xb1, 0x1b, 0x91, 0x77, 0xa0, 0xc2, 0xf0, 0x04,
+       0x86, 0x72, 0x69, 0x26, 0xf9, 0x43, 0x68, 0xa2, 0xef, 0x19, 0x1f, 0x88, 0x58, 0x18, 0x5b, 0xc0,
+       0xa7, 0xd0, 0x12, 0x5a, 0x27, 0x2c, 0x0e, 0x79, 0x30, 0x4d, 0x6b, 0x5e, 0x84, 0xce, 0x68, 0xa0,
+       0xcd, 0xdc, 0x29, 0xe7, 0xe5, 0x09, 0xb8, 0x11, 0x33, 0x0c, 0x03, 0xd4, 0x3b, 0x35, 0xeb, 0x6b,
+       0xa9, 0xa7, 0xa8, 0xf5, 0xc7, 0x50, 0xef, 0xb1, 0x71, 0xc2, 0xcf, 0x65, 0xa2, 0x42, 0x4e, 0x1e,
+       0x43, 0x59, 0xf1, 0x41, 0x86, 0x5b, 0xf8, 0x5a, 0x25, 0x79, 0x0a, 0x5b, 0x33, 0xeb, 0x9a, 0x21,
+       0x35, 0xe7, 0x05, 0xa5, 0x35, 0xd3, 0xd4, 0x4a, 0x1e, 0x43, 0x6d, 0x2a, 0x35, 0xe6, 0x8c, 0x7c,
+       0xb9, 0x74, 0x2e, 0xfb, 0xdf, 0x43, 0x0b, 0xa3, 0x9d, 0x71, 0x6d, 0x44, 0xcc, 0xb0, 0xae, 0x7f,
+       0x39, 0xe4, 0xef, 0x0e, 0xd4, 0x5f, 0x8c, 0x65, 0xf8, 0xdd, 0x2b, 0xce, 0x22, 0xae, 0x88, 0x07,
+       0xd5, 0xe5, 0x19, 0xc9, 0x45, 0xdb, 0x8b, 0x11, 0x17, 0xc3, 0xd1, 0xbc, 0x17, 0xa9, 0x44, 0x9e,
+       0x43, 0x7b, 0xaa, 0xf8, 0x4c, 0xc8, 0x44, 0x07, 0x7d, 0x8b, 0x64, 0x9b, 0x5a, 0x5e, 0x49, 0xb7,
+       0x99, 0xbb, 0x60, 0xac, 0x6e, 0x44, 0x9e, 0xc0, 0xb6, 0x11, 0x13, 0xae, 0x0d, 0x9b, 0x4c, 0x71,
+       0x4e, 0x5c, 0x5a, 0x28, 0xc8, 0x27, 0xd0, 0x36, 0x8a, 0xc5, 0x9a, 0x85, 0x36, 0x49, 0x1d, 0x28,
+       0x29, 0x8d, 0xb7, 0xb5, 0x82, 0xd9, 0x5a, 0x74, 0xa1, 0x52, 0x1a, 0xf2, 0x15, 0xbc, 0xbb, 0xa0,
+       0x0b, 0xb4, 0x61, 0x26, 0xd1, 0xc1, 0x88, 0xe9, 0x91, 0x57, 0x59, 0x39, 0xfc, 0x68, 0xc1, 0xf1,
+       0x1c, 0xfd, 0x70, 0xe1, 0xce, 0x80, 0xac, 0x23, 0x78, 0x55, 0x3c, 0xfc, 0xc8, 0x1e, 0xbe, 0x58,
+       0x3d, 0x46, 0xdb, 0x6b, 0x48, 0xe4, 0x23, 0x68, 0x5f, 0x0a, 0x13, 0x73, 0xad, 0x03, 0xa6, 0x86,
+       0xc9, 0x84, 0xc7, 0x46, 0x7b, 0xb5, 0xbd, 0xf2, 0xb3, 0x06, 0x6d, 0x65, 0x86, 0x93, 0x5c, 0xef,
+       0xff, 0x58, 0x82, 0xda, 0xc5, 0xd5, 0xbd, 0xf4, 0xef, 0x43, 0x53, 0x73, 0x25, 0xd8, 0x58, 0xdc,
+       0xf0, 0x28, 0xd0, 0xe2, 0x86, 0x67, 0x7d, 0xd8, 0x29, 0xd4, 0xe7, 0xe2, 0x86, 0xdb, 0x45, 0xb7,
+       0x44, 0x06, 0x8a, 0xc5, 0x43, 0x9e, 0xf5, 0x1b, 0xa9, 0xa5, 0x56, 0x41, 0xf6, 0x01, 0x14, 0xd7,
+       0xc9, 0xd8, 0xee, 0x9e, 0xf6, 0xdc, 0xbd, 0xf2, 0x12, 0x2d, 0xdb, 0xa9, 0xad, 0x1b, 0x69, 0xff,
+       0x08, 0x76, 0x2e, 0xae, 0x7a, 0x5c, 0x89, 0xc1, 0x35, 0x45, 0x25, 0x79, 0x1f, 0xea, 0x19, 0xa5,
+       0x03, 0x26, 0xc6, 0x98, 0x60, 0x8d, 0x42, 0xaa, 0x7a, 0xc9, 0xc4, 0xd8, 0x1f, 0x40, 0x7b, 0x8d,
+       0x9f, 0x3b, 0x4a, 0xfa, 0x0c, 0x1e, 0xcc, 0x10, 0x3f, 0xe7, 0xd9, 0xc1, 0x6c, 0x08, 0xf2, 0xbc,
+       0x14, 0x9a, 0x36, 0x52, 0xc7, 0x14, 0xd2, 0xff, 0xb5, 0x04, 0xe5, 0xd7, 0xc9, 0x15, 0xf9, 0x10,
+       0xaa, 0x1a, 0x17, 0x53, 0x7b, 0x25, 0x3c, 0x8a, 0x1b, 0xb0, 0xb0, 0xb0, 0x34, 0xb7, 0x93, 0xa7,
+       0x50, 0xcd, 0x6f, 0x05, 0x67, 0xfd, 0x56, 0xc8, 0x6d, 0xe4, 0x1b, 0x78, 0x98, 0x77, 0x2e, 0x2a,
+       0x96, 0x50, 0x7b, 0x65, 0x84, 0x7f, 0x38, 0x87, 0x5f, 0xd8, 0x50, 0xba, 0x9b, 0x9d, 0x58, 0xd0,
+       0xdd, 0x32, 0x02, 0xee, 0x2d, 0x23, 0x20, 0xa1, 0x76, 0x2a, 0x45, 0xdc, 0x67, 0x9a, 0x93, 0xaf,
+       0x61, 0x77, 0x43, 0x06, 0xd9, 0xfe, 0x6f, 0x4e, 0x80, 0xac, 0x27, 0x60, 0xf7, 0x8b, 0xa9, 0xbe,
+       0x30, 0x8a, 0xa9, 0xeb, 0xec, 0x52, 0x2f, 0x14, 0xfe, 0x0f, 0x25, 0x68, 0x75, 0x63, 0xa3, 0xd8,
+       0xe9, 0x88, 0x89, 0xf8, 0x4d, 0x62, 0xa6, 0x89, 0x21, 0xfb, 0x50, 0x49, 0xd9, 0xca, 0x82, 0xad,
+       0x91, 0x99, 0x99, 0xc9, 0x73, 0x68, 0x86, 0x32, 0x36, 0x4a, 0x8e, 0x83, 0x3b, 0x38, 0xdd, 0xc9,
+       0x7c, 0xf2, 0x8b, 0xd6, 0x83, 0xaa, 0x54, 0x91, 0x88, 0xd9, 0x38, 0x1b, 0xca, 0x5c, 0xc4, 0x6c,
+       0x4e, 0x95, 0xd4, 0xfa, 0x7f, 0x91, 0xcd, 0x4f, 0x25, 0x80, 0x9e, 0x34, 0xfc, 0x3f, 0xce, 0xc3,
+       0xfe, 0x91, 0x67, 0xd2, 0x70, 0xbc, 0x1c, 0x1b, 0x14, 0xbf, 0xfd, 0x5f, 0x4a, 0xb0, 0xdd, 0xe3,
+       0x46, 0x76, 0x63, 0x9b, 0xda, 0x21, 0x34, 0xf5, 0x94, 0xc7, 0x26, 0x90, 0x98, 0x6a, 0xf1, 0x33,
+       0x2d, 0xf6, 0xf9, 0x01, 0x3a, 0xa4, 0xa5, 0x74, 0xa3, 0xdb, 0x86, 0xcb, 0xf9, 0x8b, 0xc3, 0xb5,
+       0x71, 0xb8, 0xcb, 0x9b, 0x87, 0x7b, 0xb1, 0x42, 0x77, 0x99, 0xe9, 0x37, 0x00, 0x94, 0x1b, 0xa1,
+       0xb8, 0x75, 0xfc, 0xf3, 0x44, 0x2f, 0x00, 0x3a, 0xcb, 0x80, 0x3f, 0x97, 0x60, 0xeb, 0x7c, 0xca,
+       0xe3, 0xe8, 0xad, 0xa7, 0xe6, 0x37, 0x07, 0x9a, 0xc5, 0x4a, 0xa4, 0xed, 0xfe, 0x1c, 0x76, 0x27,
+       0x4c, 0xc4, 0xa1, 0xd5, 0xdc, 0x51, 0x57, 0x7b, 0xee, 0xf4, 0x4f, 0xd7, 0xb6, 0x61, 0xc2, 0xcb,
+       0xf7, 0x4f, 0xf8, 0x97, 0xd0, 0x4a, 0xdf, 0x7a, 0xd1, 0xfc, 0xb1, 0x86, 0xd5, 0xd6, 0x3b, 0xbb,
+       0xf3, 0xf7, 0x4a, 0xf1, 0x8e, 0xa3, 0x4d, 0xb6, 0xf2, 0xb0, 0xdb, 0xc8, 0xe8, 0xd6, 0xfd, 0x8c,
+       0x56, 0x96, 0xd7, 0xe9, 0x63, 0x68, 0x2b, 0x76, 0x59, 0xe0, 0xbe, 0xb8, 0x36, 0x1c, 0x7f, 0xec,
+       0x0d, 0xba, 0x6e, 0xe8, 0x57, 0xf0, 0x2d, 0x7e, 0xfc, 0x47, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2a,
+       0xe9, 0x2b, 0xb1, 0x97, 0x0b, 0x00, 0x00,
 }
index 59190d4..ddc90bd 100644 (file)
@@ -132,4 +132,5 @@ message CrossChainInput {
   AssetDefinition  asset_definition          = 4;
   repeated bytes   witness_arguments         = 5;
   uint64           ordinal                   = 6;
+  bytes            rawDefinitionByte         = 7;
 }
index e9014c2..08a7cc7 100644 (file)
@@ -22,11 +22,12 @@ func (cci *CrossChainInput) SetDestination(id *Hash, val *AssetAmount, pos uint6
 }
 
 // NewCrossChainInput creates a new CrossChainInput.
-func NewCrossChainInput(mainchainOutputID *Hash, prog *Program, ordinal uint64, assetDef *AssetDefinition) *CrossChainInput {
+func NewCrossChainInput(mainchainOutputID *Hash, prog *Program, ordinal uint64, assetDef *AssetDefinition, rawDefinitionByte []byte) *CrossChainInput {
        return &CrossChainInput{
                MainchainOutputId: mainchainOutputID,
                Ordinal:           ordinal,
                ControlProgram:    prog,
                AssetDefinition:   assetDef,
+               RawDefinitionByte: rawDefinitionByte,
        }
 }
index 71f5c8b..c433569 100644 (file)
@@ -8,9 +8,9 @@ import (
 
        "github.com/golang/protobuf/proto"
 
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
 )
 
 // Entry is the interface implemented by each addressable unit in a
index 34520be..8ce9fbc 100644 (file)
@@ -76,6 +76,7 @@ func TestEntryID(t *testing.T) {
                                        IssuanceProgram: &Program{VmVersion: 1, Code: []byte{1, 2, 3, 4}},
                                        Data:            &Hash{V0: 0, V1: 1, V2: 2, V3: 3},
                                },
+                               []byte{},
                        ),
                        expectEntryID: "14bb3f6e68f37d037b1f1539a21ab41e182b8d59d703a1af6c426d52cfc775d9",
                },
index 0702e4c..5858042 100644 (file)
@@ -1,8 +1,8 @@
 package bc
 
 import (
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/errors"
 )
 
 // Tx is a wrapper for the entries-based representation of a transaction.
index 67198c4..621935a 100644 (file)
@@ -5,9 +5,9 @@ import (
        "fmt"
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/encoding/bufpool"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/encoding/bufpool"
+       "github.com/bytom/vapor/errors"
 )
 
 // serflag variables, start with 1
@@ -102,6 +102,7 @@ func (b *Block) readFrom(r *blockchain.Reader) error {
        return nil
 }
 
+// WriteTo write block to io.Writer
 func (b *Block) WriteTo(w io.Writer) (int64, error) {
        ew := errors.NewWriter(w)
        if err := b.writeTo(ew, SerBlockFull); err != nil {
index cd9cdd0..fad8975 100644 (file)
@@ -3,8 +3,8 @@ package types
 import (
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // BlockCommitment store the TransactionsMerkleRoot && TransactionStatusHash
index 937d06e..c632db6 100644 (file)
@@ -5,8 +5,8 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestReadWriteBlockCommitment(t *testing.T) {
index 848f3f7..51803b9 100644 (file)
@@ -6,10 +6,10 @@ import (
        "io"
        "time"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/encoding/bufpool"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/encoding/bufpool"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // BlockHeader defines information about a block and is used in the Bytom
index 2ea6e01..c75bbf4 100644 (file)
@@ -9,9 +9,9 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestBlockHeader(t *testing.T) {
index cf270d9..f05ddc3 100644 (file)
@@ -3,9 +3,10 @@ package types
 import (
        "io"
 
-       "github.com/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/encoding/blockchain"
 )
 
+// BlockWitness save the consensus node sign
 type BlockWitness struct {
        // Witness is a vector of arguments  for validating this block.
        Witness [][]byte
@@ -21,6 +22,7 @@ func (bw *BlockWitness) writeTo(w io.Writer) error {
        return err
 }
 
+// Set save data to index position
 func (bw *BlockWitness) Set(index uint64, data []byte) {
        if uint64(len(bw.Witness)) <= index {
                newWitness := make([][]byte, index+1, index+1)
@@ -30,12 +32,14 @@ func (bw *BlockWitness) Set(index uint64, data []byte) {
        bw.Witness[index] = data
 }
 
+// Delete remove data from index position
 func (bw *BlockWitness) Delete(index uint64) {
        if uint64(len(bw.Witness)) > index {
                bw.Witness[index] = nil
        }
 }
 
+// Get return data from index position
 func (bw *BlockWitness) Get(index uint64) []byte {
        if uint64(len(bw.Witness)) > index {
                return bw.Witness[index]
index 11f74c3..bcaefec 100644 (file)
@@ -5,8 +5,8 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestReadWriteBlockWitness(t *testing.T) {
index ee8fb9b..2e4417e 100644 (file)
@@ -1,7 +1,7 @@
 package types
 
 import (
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // CrossChainInput satisfies the TypedInput interface and represents a cross-chain transaction.
index afc9201..017cbcb 100644 (file)
@@ -1,7 +1,7 @@
 package types
 
 import (
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // CrossChainOutput satisfies the TypedOutput interface and represents a cross-chain transaction.
@@ -28,4 +28,5 @@ func NewCrossChainOutput(assetID bc.AssetID, amount uint64, controlProgram []byt
        }
 }
 
+// OutputType implement the txout interface
 func (it *CrossChainOutput) OutputType() uint8 { return CrossChainOutputType }
index a4d1b1d..efc74b3 100644 (file)
@@ -1,7 +1,7 @@
 package types
 
 import (
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // IntraChainOutput satisfies the TypedOutput interface and represents a intra-chain transaction.
@@ -28,4 +28,5 @@ func NewIntraChainOutput(assetID bc.AssetID, amount uint64, controlProgram []byt
        }
 }
 
+// OutputType implement the txout interface
 func (it *IntraChainOutput) OutputType() uint8 { return IntraChainOutputType }
index b75c9c6..65533e2 100644 (file)
@@ -4,10 +4,10 @@ import (
        log "github.com/sirupsen/logrus"
        "golang.org/x/crypto/sha3"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // MapTx converts a types TxData object into its entries-based
@@ -163,7 +163,7 @@ func mapTx(tx *TxData) (headerID bc.Hash, hdr *bc.TxHeader, entryMap map[bc.Hash
                                },
                        }
 
-                       crossIn := bc.NewCrossChainInput(&mainchainOutputID, prog, uint64(i), assetDef)
+                       crossIn := bc.NewCrossChainInput(&mainchainOutputID, prog, uint64(i), assetDef, inp.AssetDefinition)
                        crossIn.WitnessArguments = inp.Arguments
                        crossInID := addEntry(crossIn)
                        muxSources[i] = &bc.ValueSource{
index e0dfe07..1925060 100644 (file)
@@ -6,9 +6,9 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestMapSpendTx(t *testing.T) {
index ce9d6b6..40ef392 100644 (file)
@@ -7,8 +7,8 @@ import (
 
        "gopkg.in/fatih/set.v0"
 
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // merkleFlag represent the type of merkle tree node, it's used to generate the structure of merkle tree
index 2cc7bbe..e7fbf72 100644 (file)
@@ -5,9 +5,9 @@ import (
        "math/rand"
        "testing"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestMerkleRoot(t *testing.T) {
index aede38f..7d473f9 100644 (file)
@@ -4,9 +4,9 @@ import (
        "fmt"
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // OutputCommitment contains the commitment data for a transaction output.
index 52aabda..a9e5eeb 100644 (file)
@@ -5,9 +5,9 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestReadWriteOutputCommitment(t *testing.T) {
index 15b2b69..b994013 100644 (file)
@@ -1,7 +1,7 @@
 package types
 
 import (
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // SpendInput satisfies the TypedInput interface and represents a spend transaction.
index 1102d58..d4670f1 100644 (file)
@@ -4,9 +4,9 @@ import (
        "fmt"
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // SpendCommitment contains the commitment data for a transaction output.
index 154abf4..e55a182 100644 (file)
@@ -5,9 +5,9 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestReadWriteSpendCommitment(t *testing.T) {
index 6b5d373..ef73d8a 100644 (file)
@@ -8,9 +8,9 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestSerializationSpendCommitment(t *testing.T) {
index 52f50a9..00bc8d3 100644 (file)
@@ -6,9 +6,9 @@ import (
        "fmt"
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 const serRequired = 0x7 // Bit mask accepted serialization flag.
index 680cf17..b0c381d 100644 (file)
@@ -10,10 +10,10 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestTransaction(t *testing.T) {
index 0d8402c..a155f56 100644 (file)
@@ -4,9 +4,9 @@ import (
        "fmt"
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // serflag variables for input types.
index 4b45ab4..6a90ab1 100644 (file)
@@ -8,8 +8,8 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestSerializationSpend(t *testing.T) {
index 7380bf1..555023c 100644 (file)
@@ -4,9 +4,9 @@ import (
        "fmt"
        "io"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // serflag variables for output types.
index 58eaa85..fa215c9 100644 (file)
@@ -8,9 +8,9 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/encoding/blockchain"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/encoding/blockchain"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestSerializationIntraChainTxOutput(t *testing.T) {
index 548310f..1dcd7a6 100644 (file)
@@ -1,7 +1,7 @@
 package types
 
 import (
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // VetoInput satisfies the TypedInput interface and represents a veto transaction.
index aeeac98..673b2b5 100644 (file)
@@ -1,7 +1,7 @@
 package types
 
 import (
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // VoteOutput satisfies the TypedOutput interface and represents a vote transaction.
@@ -30,4 +30,5 @@ func NewVoteOutput(assetID bc.AssetID, amount uint64, controlProgram []byte, vot
        }
 }
 
+// OutputType implement the txout interface
 func (it *VoteOutput) OutputType() uint8 { return VoteOutputType }
index 86c9650..ab690ba 100644 (file)
@@ -3,13 +3,11 @@ package protocol
 import (
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/config"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/protocol/validation"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/protocol/validation"
 )
 
 var (
@@ -106,10 +104,25 @@ func (c *Chain) connectBlock(block *types.Block) (err error) {
        if err != nil {
                return err
        }
+
        if err := consensusResult.ApplyBlock(block); err != nil {
                return err
        }
 
+       for _, p := range c.subProtocols {
+               if err := c.syncProtocolStatus(p); err != nil {
+                       return errors.Wrap(err, p.Name(), "sync sub protocol status")
+               }
+
+               if err := p.ApplyBlock(block); err != nil {
+                       return errors.Wrap(err, p.Name(), "sub protocol connect block")
+               }
+       }
+
+       if err := c.applyBlockSign(&block.BlockHeader); err != nil {
+               return err
+       }
+
        irrBlockHeader := c.lastIrrBlockHeader
        if c.isIrreversible(&block.BlockHeader) && block.Height > irrBlockHeader.Height {
                irrBlockHeader = &block.BlockHeader
@@ -125,51 +138,151 @@ func (c *Chain) connectBlock(block *types.Block) (err error) {
        return nil
 }
 
-func (c *Chain) reorganizeChain(blockHeader *types.BlockHeader) error {
-       attachBlockHeaders, detachBlockHeaders, err := c.calcReorganizeChain(blockHeader, c.bestBlockHeader)
+func (c *Chain) detachBlock(detachBlockHeader *types.BlockHeader, consensusResult *state.ConsensusResult, utxoView *state.UtxoViewpoint) (*types.Block, error) {
+       detachHash := detachBlockHeader.Hash()
+       block, err := c.store.GetBlock(&detachHash)
        if err != nil {
-               return err
+               return block, err
+       }
+
+       detachBlock := types.MapBlock(block)
+       if err := consensusResult.DetachBlock(block); err != nil {
+               return block, err
+       }
+
+       if err := c.store.GetTransactionsUtxo(utxoView, detachBlock.Transactions); err != nil {
+               return block, err
+       }
+
+       txStatus, err := c.GetTransactionStatus(&detachBlock.ID)
+       if err != nil {
+               return block, err
+       }
+
+       if err := utxoView.DetachBlock(detachBlock, txStatus); err != nil {
+               return block, err
+       }
+
+       for _, p := range c.subProtocols {
+               if err := p.DetachBlock(block); err != nil {
+                       return block, errors.Wrap(err, p.Name(), "sub protocol detach block")
+               }
+       }
+
+       log.WithFields(log.Fields{"module": logModule, "height": detachBlockHeader.Height, "hash": detachHash.String()}).Debug("detach from mainchain")
+       return block, nil
+}
+
+func (c *Chain) syncSubProtocols() error {
+       for _, p := range c.subProtocols {
+               if err := c.syncProtocolStatus(p); err != nil {
+                       return errors.Wrap(err, p.Name(), "sync sub protocol status")
+               }
        }
+       return nil
+}
+
+// Rollback rollback the chain from one blockHeight to targetBlockHeight
+// WARNING: we recommend to use this only in commond line
+func (c *Chain) Rollback(targetHeight uint64) error {
+       c.cond.L.Lock()
+       defer c.cond.L.Unlock()
 
        utxoView := state.NewUtxoViewpoint()
-       consensusResults := []*state.ConsensusResult{}
        consensusResult, err := c.getBestConsensusResult()
        if err != nil {
                return err
        }
 
-       txsToRestore := map[bc.Hash]*types.Tx{}
-       for _, detachBlockHeader := range detachBlockHeaders {
-               detachHash := detachBlockHeader.Hash()
-               b, err := c.store.GetBlock(&detachHash)
+       if err = c.syncSubProtocols(); err != nil {
+               return err
+       }
+
+       targetBlockHeader, err := c.GetHeaderByHeight(targetHeight)
+       if err != nil {
+               return err
+       }
+
+       _, deletedBlockHeaders, err := c.calcReorganizeChain(targetBlockHeader, c.bestBlockHeader)
+       if err != nil {
+               return err
+       }
+
+       deletedBlocks := []*types.Block{}
+       for _, deletedBlockHeader := range deletedBlockHeaders {
+               block, err := c.detachBlock(deletedBlockHeader, consensusResult, utxoView)
                if err != nil {
                        return err
                }
 
-               detachBlock := types.MapBlock(b)
-               if err := c.store.GetTransactionsUtxo(utxoView, detachBlock.Transactions); err != nil {
+               deletedBlocks = append(deletedBlocks, block)
+       }
+
+       setIrrBlockHeader := c.lastIrrBlockHeader
+       if c.lastIrrBlockHeader.Height > targetBlockHeader.Height {
+               setIrrBlockHeader = targetBlockHeader
+       }
+
+       startSeq := state.CalcVoteSeq(c.bestBlockHeader.Height)
+       if err = c.setState(targetBlockHeader, setIrrBlockHeader, nil, utxoView, []*state.ConsensusResult{consensusResult.Fork()}); err != nil {
+               return err
+       }
+
+       for _, block := range deletedBlocks {
+               hashes, err := c.store.GetBlockHashesByHeight(block.Height)
+               if err != nil{
                        return err
                }
 
-               txStatus, err := c.GetTransactionStatus(&detachBlock.ID)
-               if err != nil {
-                       return err
+               for _, hash := range hashes{
+                       block, err := c.store.GetBlock(hash)
+                       if err != nil{
+                               return err
+                       }
+
+                       if err := c.store.DeleteBlock(block); err != nil{
+                               return err
+                       }
                }
+       }
 
-               if err := utxoView.DetachBlock(detachBlock, txStatus); err != nil {
+       endSeq := state.CalcVoteSeq(targetHeight)
+       for nowSeq := startSeq; nowSeq > endSeq; nowSeq-- {
+               if err := c.store.DeleteConsensusResult(nowSeq); err != nil {
                        return err
                }
+       }
+
+       return nil
+}
+
+func (c *Chain) reorganizeChain(blockHeader *types.BlockHeader) error {
+       attachBlockHeaders, detachBlockHeaders, err := c.calcReorganizeChain(blockHeader, c.bestBlockHeader)
+       if err != nil {
+               return err
+       }
+
+       utxoView := state.NewUtxoViewpoint()
+       consensusResults := []*state.ConsensusResult{}
+       consensusResult, err := c.getBestConsensusResult()
+       if err != nil {
+               return err
+       }
 
-               if err := consensusResult.DetachBlock(b); err != nil {
+       if err = c.syncSubProtocols(); err != nil {
+               return err
+       }
+
+       txsToRestore := map[bc.Hash]*types.Tx{}
+       for _, detachBlockHeader := range detachBlockHeaders {
+               b, err := c.detachBlock(detachBlockHeader, consensusResult, utxoView)
+               if err != nil {
                        return err
                }
 
                for _, tx := range b.Transactions {
                        txsToRestore[tx.ID] = tx
                }
-
-               blockHash := blockHeader.Hash()
-               log.WithFields(log.Fields{"module": logModule, "height": blockHeader.Height, "hash": blockHash.String()}).Debug("detach from mainchain")
        }
 
        txsToRemove := map[bc.Hash]*types.Tx{}
@@ -199,10 +312,20 @@ func (c *Chain) reorganizeChain(blockHeader *types.BlockHeader) error {
                        return err
                }
 
+               for _, p := range c.subProtocols {
+                       if err := p.ApplyBlock(b); err != nil {
+                               return errors.Wrap(err, p.Name(), "sub protocol attach block")
+                       }
+               }
+
                if consensusResult.IsFinalize() {
                        consensusResults = append(consensusResults, consensusResult.Fork())
                }
 
+               if err := c.applyBlockSign(attachBlockHeader); err != nil {
+                       return err
+               }
+
                if c.isIrreversible(attachBlockHeader) && attachBlockHeader.Height > irrBlockHeader.Height {
                        irrBlockHeader = attachBlockHeader
                }
@@ -219,10 +342,9 @@ func (c *Chain) reorganizeChain(blockHeader *types.BlockHeader) error {
                log.WithFields(log.Fields{"module": logModule, "height": blockHeader.Height, "hash": blockHash.String()}).Debug("attach from mainchain")
        }
 
-       if len(detachBlockHeaders) > 0 &&
-               detachBlockHeaders[len(detachBlockHeaders)-1].Height <= c.lastIrrBlockHeader.Height &&
-               irrBlockHeader.Height <= c.lastIrrBlockHeader.Height {
-               return errors.New("rollback block below the height of irreversible block")
+       if len(detachBlockHeaders) > 0 && detachBlockHeaders[len(detachBlockHeaders)-1].Height <= c.lastIrrBlockHeader.Height && irrBlockHeader.Height <= c.lastIrrBlockHeader.Height {
+               log.WithField("module", logModule).Warn("rollback block below the height of irreversible block")
+               return nil
        }
 
        consensusResults = append(consensusResults, consensusResult.Fork())
@@ -275,22 +397,17 @@ func (c *Chain) saveBlock(block *types.Block) error {
                return errors.Sub(ErrBadBlock, err)
        }
 
-       signature, err := c.SignBlock(block)
-       if err != nil {
-               return errors.Sub(ErrBadBlock, err)
+       for _, p := range c.subProtocols {
+               if err := p.ValidateBlock(block, bcBlock.TransactionStatus.GetVerifyStatus()); err != nil {
+                       return errors.Wrap(err, "sub protocol save block")
+               }
        }
 
        if err := c.store.SaveBlock(block, bcBlock.TransactionStatus); err != nil {
                return err
        }
-       c.orphanManage.Delete(&bcBlock.ID)
 
-       if len(signature) != 0 {
-               xPub := config.CommonConfig.PrivateKey().XPub()
-               if err := c.eventDispatcher.Post(event.BlockSignatureEvent{BlockHash: block.Hash(), Signature: signature, XPub: xPub[:]}); err != nil {
-                       return err
-               }
-       }
+       c.orphanManage.Delete(&bcBlock.ID)
        return nil
 }
 
index 4ee6479..ba13dbe 100644 (file)
@@ -3,11 +3,11 @@ package protocol
 import (
        "testing"
 
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
 )
 
 type mStore struct {
@@ -23,9 +23,11 @@ func (s *mStore) GetStoreStatus() *BlockStoreState                             {
 func (s *mStore) GetTransactionStatus(*bc.Hash) (*bc.TransactionStatus, error) { return nil, nil }
 func (s *mStore) GetTransactionsUtxo(*state.UtxoViewpoint, []*bc.Tx) error     { return nil }
 func (s *mStore) GetUtxo(*bc.Hash) (*storage.UtxoEntry, error)                 { return nil, nil }
-func (s *mStore) GetConsensusResult(uint64) (*state.ConsensusResult, error)              { return nil, nil }
+func (s *mStore) GetConsensusResult(uint64) (*state.ConsensusResult, error)    { return nil, nil }
 func (s *mStore) GetMainChainHash(uint64) (*bc.Hash, error)                    { return nil, nil }
 func (s *mStore) GetBlockHashesByHeight(uint64) ([]*bc.Hash, error)            { return nil, nil }
+func (s *mStore) DeleteConsensusResult(seq uint64) error                       { return nil }
+func (s *mStore) DeleteBlock(*types.Block) error                               { return nil }
 func (s *mStore) SaveBlock(*types.Block, *bc.TransactionStatus) error          { return nil }
 func (s *mStore) SaveBlockHeader(blockHeader *types.BlockHeader) error {
        s.blockHeaders[blockHeader.Hash()] = blockHeader
index d55e7cc..0f9429d 100644 (file)
@@ -1,11 +1,11 @@
 package protocol
 
 import (
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 var (
@@ -84,18 +84,12 @@ func (c *Chain) getConsensusResult(seq uint64, blockHeader *types.BlockHeader) (
 }
 
 func (c *Chain) getPrevRoundLastBlock(prevBlockHash *bc.Hash) (*types.BlockHeader, error) {
-       blockHeader, err := c.store.GetBlockHeader(prevBlockHash)
+       preRoundBlockHash, err := c.getPrevRoundVoteBlockHash(prevBlockHash)
        if err != nil {
-               return nil, errNotFoundBlockNode
+               return nil, err
        }
 
-       for blockHeader.Height%consensus.ActiveNetParams.RoundVoteBlockNums != 0 {
-               blockHeader, err = c.store.GetBlockHeader(&blockHeader.PreviousBlockHash)
-               if err != nil {
-                       return nil, err
-               }
-       }
-       return blockHeader, nil
+       return c.store.GetBlockHeader(preRoundBlockHash)
 }
 
 func (c *Chain) reorganizeConsensusResult(consensusResult *state.ConsensusResult, blockHeader *types.BlockHeader) error {
index 94e8ee4..5647126 100644 (file)
@@ -3,13 +3,13 @@ package protocol
 import (
        "testing"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestGetConsensusNodes(t *testing.T) {
@@ -299,7 +299,7 @@ func TestGetConsensusNodes(t *testing.T) {
                                        Height:            1202,
                                        PreviousBlockHash: testutil.MustDecodeHash("a5be1d1177eb027327baedb869f902f74850476d0b9432a30391a3165d3af7cc"),
                                },
-                               // fork chain, fork height in 1198, rollback 1200, 1199, append 1199, 1200 
+                               // fork chain, fork height in 1198, rollback 1200, 1199, append 1199, 1200
                                {
                                        Height:            1199,
                                        PreviousBlockHash: testutil.MustDecodeHash("ef24de31371b4d34363011b6c8b065b1acaad9264d9abae2253d584e0d3a8739"),
@@ -735,12 +735,20 @@ func (s *dummyStore) GetBlockHashesByHeight(uint64) ([]*bc.Hash, error) {
        return nil, nil
 }
 
+func (s *dummyStore) DeleteConsensusResult(seq uint64) error {
+       return nil
+}
+
 func (s *dummyStore) SaveBlock(block *types.Block, _ *bc.TransactionStatus) error {
        hash := block.Hash()
        s.blocks[hash.String()] = block
        return nil
 }
 
+func (s *dummyStore) DeleteBlock(block *types.Block) error {
+       return nil
+}
+
 func (s *dummyStore) SaveBlockHeader(header *types.BlockHeader) error {
        hash := header.Hash()
        s.blockHeaders[hash.String()] = header
index dc72718..bcb8925 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var (
@@ -80,6 +80,9 @@ func (o *OrphanManage) Get(hash *bc.Hash) (*types.Block, bool) {
        o.mtx.RLock()
        block, ok := o.orphan[*hash]
        o.mtx.RUnlock()
+       if !ok {
+               return nil, ok
+       }
        return block.Block, ok
 }
 
index 0434745..bd5aed0 100644 (file)
@@ -4,9 +4,9 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
 )
 
 var testBlocks = []*types.Block{
index d7ea944..90c531f 100644 (file)
@@ -5,28 +5,52 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/common"
-       "github.com/vapor/config"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 const (
-       maxProcessBlockChSize = 1024
-       maxKnownTxs           = 32768 // Maximum transactions hashes to keep in the known list (prevent DOS)
+       maxProcessBlockChSize              = 1024
+       maxKnownTxs                        = 32768 // Maximum transactions hashes to keep in the known list (prevent DOS)
+       maxPrevRoundVoteBlockHashCacheSize = 32768
 )
 
+// ErrNotInitSubProtocolChainStatus represent the node state of sub protocol has not been initialized
+var ErrNotInitSubProtocolChainStatus = errors.New("node state of sub protocol has not been initialized")
+
+// SubProtocol is interface for layer 2 consensus protocol
+type SubProtocol interface {
+       Name() string
+       StartHeight() uint64
+       BeforeProposalBlock(block *types.Block, gasLeft int64, isTimeout func() bool) ([]*types.Tx, error)
+
+       // ChainStatus return the the current block height and block hash of sub protocol.
+       // it will return ErrNotInitSubProtocolChainStatus if not initialized.
+       ChainStatus() (uint64, *bc.Hash, error)
+       InitChainStatus(*bc.Hash) error
+       ValidateBlock(block *types.Block, verifyResults []*bc.TxVerifyResult) error
+       ValidateTx(tx *types.Tx, verifyResult *bc.TxVerifyResult, blockHeight uint64) error
+       ApplyBlock(block *types.Block) error
+       DetachBlock(block *types.Block) error
+}
+
 // Chain provides functions for working with the Bytom block chain.
 type Chain struct {
        orphanManage   *OrphanManage
        txPool         *TxPool
        store          Store
        processBlockCh chan *processBlockMsg
+       subProtocols   []SubProtocol
 
-       signatureCache  *common.Cache
-       eventDispatcher *event.Dispatcher
+       signatureCache              *common.Cache
+       prevRoundVoteBlockHashCache *common.Cache
+       eventDispatcher             *event.Dispatcher
 
        cond               sync.Cond
        bestBlockHeader    *types.BlockHeader // the last block on current main chain
@@ -36,16 +60,18 @@ type Chain struct {
 }
 
 // NewChain returns a new Chain using store as the underlying storage.
-func NewChain(store Store, txPool *TxPool, eventDispatcher *event.Dispatcher) (*Chain, error) {
+func NewChain(store Store, txPool *TxPool, subProtocols []SubProtocol, eventDispatcher *event.Dispatcher) (*Chain, error) {
        knownTxs, _ := common.NewOrderedSet(maxKnownTxs)
        c := &Chain{
-               orphanManage:    NewOrphanManage(),
-               txPool:          txPool,
-               store:           store,
-               signatureCache:  common.NewCache(maxSignatureCacheSize),
-               eventDispatcher: eventDispatcher,
-               processBlockCh:  make(chan *processBlockMsg, maxProcessBlockChSize),
-               knownTxs:        knownTxs,
+               orphanManage:                NewOrphanManage(),
+               txPool:                      txPool,
+               store:                       store,
+               subProtocols:                subProtocols,
+               signatureCache:              common.NewCache(maxSignatureCacheSize),
+               prevRoundVoteBlockHashCache: common.NewCache(maxPrevRoundVoteBlockHashCacheSize),
+               eventDispatcher:             eventDispatcher,
+               processBlockCh:              make(chan *processBlockMsg, maxProcessBlockChSize),
+               knownTxs:                    knownTxs,
        }
        c.cond.L = new(sync.Mutex)
 
@@ -67,6 +93,13 @@ func NewChain(store Store, txPool *TxPool, eventDispatcher *event.Dispatcher) (*
        if err != nil {
                return nil, err
        }
+
+       for _, p := range c.subProtocols {
+               if err := c.syncProtocolStatus(p); err != nil {
+                       return nil, errors.Wrap(err, p.Name(), "sync sub protocol status")
+               }
+       }
+
        go c.blockProcesser()
        return c, nil
 }
@@ -90,7 +123,13 @@ func (c *Chain) initChainStatus() error {
                return err
        }
 
-       consensusResults := []*state.ConsensusResult{&state.ConsensusResult{
+       for _, subProtocol := range c.subProtocols {
+               if err := subProtocol.ApplyBlock(genesisBlock); err != nil {
+                       return err
+               }
+       }
+
+       consensusResults := []*state.ConsensusResult{{
                Seq:            0,
                NumOfVote:      make(map[string]uint64),
                CoinbaseReward: make(map[string]uint64),
@@ -102,6 +141,39 @@ func (c *Chain) initChainStatus() error {
        return c.store.SaveChainStatus(genesisBlockHeader, genesisBlockHeader, []*types.BlockHeader{genesisBlockHeader}, utxoView, consensusResults)
 }
 
+// getPrevRoundVoteBlockHash return the previous round block hash by the given block header
+func (c *Chain) getPrevRoundVoteBlockHash(hash *bc.Hash) (*bc.Hash, error) {
+       if data, ok := c.prevRoundVoteBlockHashCache.Get(*hash); ok {
+               return data.(*bc.Hash), nil
+       }
+
+       header, err := c.store.GetBlockHeader(hash)
+       if err != nil {
+               return nil, errNotFoundBlockNode
+       }
+
+       if header.Height%consensus.ActiveNetParams.RoundVoteBlockNums == 0 {
+               c.prevRoundVoteBlockHashCache.Add(*hash, hash)
+               return hash, nil
+       }
+
+       if data, ok := c.prevRoundVoteBlockHashCache.Get(header.PreviousBlockHash); ok {
+               c.prevRoundVoteBlockHashCache.Add(*hash, data.(*bc.Hash))
+               return data.(*bc.Hash), nil
+       }
+
+       // loop find the prev round vote block hash
+       for header.Height%consensus.ActiveNetParams.RoundVoteBlockNums != 0 {
+               header, err = c.store.GetBlockHeader(&header.PreviousBlockHash)
+               if err != nil {
+                       return nil, err
+               }
+       }
+       preRoundVoteBlockHash := header.Hash()
+       c.prevRoundVoteBlockHashCache.Add(*hash, &preRoundVoteBlockHash)
+       return &preRoundVoteBlockHash, nil
+}
+
 // BestBlockHeight returns the current height of the blockchain.
 func (c *Chain) BestBlockHeight() uint64 {
        c.cond.L.Lock()
@@ -146,6 +218,11 @@ func (c *Chain) InMainChain(hash bc.Hash) bool {
        return *blockHash == hash
 }
 
+// SubProtocols return list of layer 2 consensus protocol
+func (c *Chain) SubProtocols() []SubProtocol {
+       return c.subProtocols
+}
+
 // trace back to the tail of the chain from the given block header
 func (c *Chain) traceLongestChainTail(blockHeader *types.BlockHeader) (*types.BlockHeader, error) {
        longestTail, workQueue := blockHeader, []*types.BlockHeader{blockHeader}
@@ -182,6 +259,61 @@ func (c *Chain) markTransactions(txs ...*types.Tx) {
        }
 }
 
+func (c *Chain) syncProtocolStatus(subProtocol SubProtocol) error {
+       if c.bestBlockHeader.Height < subProtocol.StartHeight() {
+               return nil
+       }
+
+       protocolHeight, protocolHash, err := subProtocol.ChainStatus()
+       if err == ErrNotInitSubProtocolChainStatus {
+               startHash, err := c.store.GetMainChainHash(subProtocol.StartHeight())
+               if err != nil {
+                       return errors.Wrap(err, subProtocol.Name(), "can't get block hash by height")
+               }
+
+               if err := subProtocol.InitChainStatus(startHash); err != nil {
+                       return errors.Wrap(err, subProtocol.Name(), "fail init chain status")
+               }
+
+               protocolHeight, protocolHash = subProtocol.StartHeight(), startHash
+       } else if err != nil {
+               return errors.Wrap(err, subProtocol.Name(), "can't get chain status")
+       }
+
+       if *protocolHash == c.bestBlockHeader.Hash() {
+               return nil
+       }
+
+       for !c.InMainChain(*protocolHash) {
+               block, err := c.GetBlockByHash(protocolHash)
+               if err != nil {
+                       return errors.Wrap(err, subProtocol.Name(), "can't get block by hash in chain")
+               }
+
+               if err := subProtocol.DetachBlock(block); err != nil {
+                       return errors.Wrap(err, subProtocol.Name(), "sub protocol detach block err")
+               }
+
+               protocolHeight, protocolHash = block.Height-1, &block.PreviousBlockHash
+       }
+
+       for height := protocolHeight + 1; height <= c.bestBlockHeader.Height; height++ {
+               block, err := c.GetBlockByHeight(height)
+               if err != nil {
+                       return errors.Wrap(err, subProtocol.Name(), "can't get block by height in chain")
+               }
+
+               if err := subProtocol.ApplyBlock(block); err != nil {
+                       return errors.Wrap(err, subProtocol.Name(), "sub protocol apply block err")
+               }
+
+               blockHash := block.Hash()
+               protocolHeight, protocolHash = block.Height, &blockHash
+       }
+
+       return nil
+}
+
 // This function must be called with mu lock in above level
 func (c *Chain) setState(blockHeader, irrBlockHeader *types.BlockHeader, mainBlockHeaders []*types.BlockHeader, view *state.UtxoViewpoint, consensusResults []*state.ConsensusResult) error {
        if err := c.store.SaveChainStatus(blockHeader, irrBlockHeader, mainBlockHeaders, view, consensusResults); err != nil {
index 9fd571b..85b812a 100644 (file)
@@ -4,14 +4,14 @@ import (
        "encoding/hex"
        "sort"
 
-       "github.com/vapor/common/arithmetic"
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/common/arithmetic"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // fedConsensusPath is used to derive federation root xpubs for signing blocks
index 807b13d..5783a31 100644 (file)
@@ -8,13 +8,13 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestApplyTransaction(t *testing.T) {
index 0fd6839..98556f0 100644 (file)
@@ -1,10 +1,10 @@
 package state
 
 import (
-       "github.com/vapor/consensus"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // UtxoViewpoint represents a view into the set of unspent transaction outputs
index 0d3ddaf..befbde6 100644 (file)
@@ -5,11 +5,11 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/testutil"
 )
 
 var defaultEntry = map[bc.Hash]bc.Entry{
index f93b1ba..b108ab8 100644 (file)
@@ -3,12 +3,13 @@ package protocol
 import (
        "errors"
 
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
+// predefine errors
 var (
        ErrNotFoundConsensusResult = errors.New("can't find the vote result by given sequence")
 )
@@ -27,6 +28,8 @@ type Store interface {
        GetMainChainHash(uint64) (*bc.Hash, error)
        GetBlockHashesByHeight(uint64) ([]*bc.Hash, error)
 
+       DeleteConsensusResult(uint64) error
+       DeleteBlock(*types.Block) error
        SaveBlock(*types.Block, *bc.TransactionStatus) error
        SaveBlockHeader(*types.BlockHeader) error
        SaveChainStatus(*types.BlockHeader, *types.BlockHeader, []*types.BlockHeader, *state.UtxoViewpoint, []*state.ConsensusResult) error
index bdd3516..55800fe 100644 (file)
@@ -3,10 +3,10 @@ package protocol
 import (
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/protocol/validation"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/protocol/validation"
 )
 
 // GetTransactionStatus return the transaction status of give block
@@ -27,9 +27,12 @@ func (c *Chain) ValidateTx(tx *types.Tx) (bool, error) {
                return false, nil
        }
 
-       c.markTransactions(tx)
        bh := c.BestBlockHeader()
-       return c.validateTx(tx, bh)
+       isOrphan, err := c.validateTx(tx, bh)
+       if err == nil && !isOrphan {
+               c.markTransactions(tx)
+       }
+       return isOrphan, err
 }
 
 // validateTx validates the given transaction without checking duplication.
@@ -49,6 +52,14 @@ func (c *Chain) validateTx(tx *types.Tx, bh *types.BlockHeader) (bool, error) {
                return false, err
        }
 
+       txVerifyResult := &bc.TxVerifyResult{StatusFail: err != nil}
+       for _, p := range c.subProtocols {
+               if err := p.ValidateTx(tx, txVerifyResult, bh.Height); err != nil {
+                       c.txPool.AddErrCache(&tx.ID, err)
+                       return false, err
+               }
+       }
+
        if err != nil {
                log.WithFields(log.Fields{"module": logModule, "tx_id": tx.Tx.ID.String(), "error": err}).Info("transaction status fail")
        }
index 09e32b1..9413fe4 100644 (file)
@@ -9,11 +9,11 @@ import (
        "github.com/golang/groupcache/lru"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 // msg type
@@ -43,6 +43,12 @@ var (
        ErrDustTx = errors.New("transaction is dust tx")
 )
 
+// DustFilterer is inerface for dust transaction filter rule
+type DustFilterer interface {
+       IsDust(tx *types.Tx) bool
+}
+
+// TxMsgEvent is message wrap for subscribe event
 type TxMsgEvent struct{ TxMsg *TxPoolMsg }
 
 // TxDesc store tx and related info for mining strategy
@@ -76,11 +82,12 @@ type TxPool struct {
        orphans         map[bc.Hash]*orphanTx
        orphansByPrev   map[bc.Hash]map[bc.Hash]*orphanTx
        errCache        *lru.Cache
+       filters         []DustFilterer
        eventDispatcher *event.Dispatcher
 }
 
 // NewTxPool init a new TxPool
-func NewTxPool(store Store, dispatcher *event.Dispatcher) *TxPool {
+func NewTxPool(store Store, filters []DustFilterer, dispatcher *event.Dispatcher) *TxPool {
        tp := &TxPool{
                lastUpdated:     time.Now().Unix(),
                store:           store,
@@ -89,6 +96,7 @@ func NewTxPool(store Store, dispatcher *event.Dispatcher) *TxPool {
                orphans:         make(map[bc.Hash]*orphanTx),
                orphansByPrev:   make(map[bc.Hash]map[bc.Hash]*orphanTx),
                errCache:        lru.New(maxCachedErrTxs),
+               filters:         filters,
                eventDispatcher: dispatcher,
        }
        go tp.orphanExpireWorker()
@@ -210,9 +218,31 @@ func isTransactionZeroOutput(tx *types.Tx) bool {
        return false
 }
 
+func isNoGasStatusFail(tx *types.Tx, statusFail bool) bool {
+       if !statusFail {
+               return false
+       }
+
+       for _, input := range tx.TxData.Inputs {
+               if *consensus.BTMAssetID == input.AssetID() {
+                       return false
+               }
+       }
+       return true
+}
+
 //IsDust checks if a tx has zero output
 func (tp *TxPool) IsDust(tx *types.Tx) bool {
-       return isTransactionZeroOutput(tx)
+       if ok := isTransactionZeroOutput(tx); ok {
+               return ok
+       }
+
+       for _, filter := range tp.filters {
+               if ok := filter.IsDust(tx); ok {
+                       return ok
+               }
+       }
+       return false
 }
 
 func (tp *TxPool) processTransaction(tx *types.Tx, statusFail bool, height, fee uint64) (bool, error) {
@@ -249,6 +279,11 @@ func (tp *TxPool) ProcessTransaction(tx *types.Tx, statusFail bool, height, fee
                log.WithFields(log.Fields{"module": logModule, "tx_id": tx.ID.String()}).Warn("dust tx")
                return false, nil
        }
+
+       if isNoGasStatusFail(tx, statusFail) {
+               log.WithFields(log.Fields{"module": logModule, "tx_id": tx.ID.String()}).Warn("drop no gas status fail tx")
+               return false, nil
+       }
        return tp.processTransaction(tx, statusFail, height, fee)
 }
 
index a2e63a2..68e2a80 100644 (file)
@@ -5,14 +5,15 @@ import (
        "time"
 
        "github.com/davecgh/go-spew/spew"
+       log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
 )
 
 var testTxs = []*types.Tx{
@@ -122,6 +123,8 @@ func (s *mockStore) GetConsensusResult(uint64) (*state.ConsensusResult, error)
 func (s *mockStore) GetMainChainHash(uint64) (*bc.Hash, error)                    { return nil, nil }
 func (s *mockStore) GetBlockHashesByHeight(uint64) ([]*bc.Hash, error)            { return nil, nil }
 func (s *mockStore) SaveBlock(*types.Block, *bc.TransactionStatus) error          { return nil }
+func (s *mockStore) DeleteConsensusResult(seq uint64) error                       { return nil }
+func (s *mockStore) DeleteBlock(*types.Block) error                               { return nil }
 func (s *mockStore) SaveBlockHeader(*types.BlockHeader) error                     { return nil }
 func (s *mockStore) SaveChainStatus(*types.BlockHeader, *types.BlockHeader, []*types.BlockHeader, *state.UtxoViewpoint, []*state.ConsensusResult) error {
        return nil
@@ -672,7 +675,9 @@ func (s *mockStore1) GetUtxo(*bc.Hash) (*storage.UtxoEntry, error)
 func (s *mockStore1) GetConsensusResult(uint64) (*state.ConsensusResult, error) { return nil, nil }
 func (s *mockStore1) GetMainChainHash(uint64) (*bc.Hash, error)                 { return nil, nil }
 func (s *mockStore1) GetBlockHashesByHeight(uint64) ([]*bc.Hash, error)         { return nil, nil }
+func (s *mockStore1) DeleteBlock(*types.Block) error                            { return nil }
 func (s *mockStore1) SaveBlock(*types.Block, *bc.TransactionStatus) error       { return nil }
+func (s *mockStore1) DeleteConsensusResult(seq uint64) error                    { return nil }
 func (s *mockStore1) SaveBlockHeader(*types.BlockHeader) error                  { return nil }
 func (s *mockStore1) SaveChainStatus(*types.BlockHeader, *types.BlockHeader, []*types.BlockHeader, *state.UtxoViewpoint, []*state.ConsensusResult) error {
        return nil
@@ -753,3 +758,7 @@ func TestProcessTransaction(t *testing.T) {
                }
        }
 }
+
+func init() {
+       log.SetLevel(log.ErrorLevel)
+}
index 9ed82be..e9938c6 100644 (file)
@@ -1,17 +1,15 @@
 package validation
 
 import (
-       "bytes"
-       "encoding/hex"
        "time"
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 const logModule = "leveldb"
@@ -45,28 +43,22 @@ func checkCoinbaseTx(b *bc.Block, rewards []state.CoinbaseReward) error {
        }
 
        tx := b.Transactions[0]
-       if len(tx.TxHeader.ResultIds) != len(rewards)+1 {
-               return errors.Wrapf(ErrWrongCoinbaseTransaction, "dismatch number of outputs, got:%d, want:%d", len(tx.TxHeader.ResultIds), len(rewards))
-       }
-
-       rewards = append([]state.CoinbaseReward{state.CoinbaseReward{Amount: uint64(0)}}, rewards...)
-       for i, output := range tx.TxHeader.ResultIds {
+       var rewardAmount, coinbaseAmount uint64
+       for _, output := range tx.TxHeader.ResultIds {
                out, err := tx.IntraChainOutput(*output)
                if err != nil {
                        return err
                }
 
-               if rewards[i].Amount != out.Source.Value.Amount {
-                       return errors.Wrapf(ErrWrongCoinbaseTransaction, "dismatch output amount, got:%d, want:%d", out.Source.Value.Amount, rewards[i].Amount)
-               }
+               coinbaseAmount += out.Source.Value.Amount
+       }
 
-               if i == 0 {
-                       continue
-               }
+       for _, reward := range rewards {
+               rewardAmount += reward.Amount
+       }
 
-               if res := bytes.Compare(rewards[i].ControlProgram, out.ControlProgram.Code); res != 0 {
-                       return errors.Wrapf(ErrWrongCoinbaseTransaction, "dismatch output control_program, got:%s, want:%s", hex.EncodeToString(out.ControlProgram.Code), hex.EncodeToString(rewards[i].ControlProgram))
-               }
+       if rewardAmount != coinbaseAmount {
+               return errors.Wrapf(ErrWrongCoinbaseTransaction, "dismatch output amount, got:%d, want:%d", coinbaseAmount, rewardAmount)
        }
        return nil
 }
index 63de516..686c154 100644 (file)
@@ -5,13 +5,13 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestCheckBlockTime(t *testing.T) {
@@ -159,30 +159,6 @@ func TestCheckCoinbaseTx(t *testing.T) {
                        },
                        err: ErrWrongCoinbaseTransaction,
                },
-               {
-                       desc: "wrong coinbase transaction with dismatch output control_program",
-                       txs: []*types.Tx{
-                               types.NewTx(types.TxData{
-                                       Inputs: []*types.TxInput{types.NewCoinbaseInput(nil)},
-                                       Outputs: []*types.TxOutput{
-                                               types.NewIntraChainOutput(*consensus.BTMAssetID, 0, []byte{0x51}),
-                                               types.NewIntraChainOutput(*consensus.BTMAssetID, 20000, []byte{0x51}),
-                                               types.NewIntraChainOutput(*consensus.BTMAssetID, 10000, []byte{0x52}),
-                                       },
-                               }),
-                       },
-                       rewards: []state.CoinbaseReward{
-                               state.CoinbaseReward{
-                                       Amount:         20000,
-                                       ControlProgram: []byte{0x51},
-                               },
-                               state.CoinbaseReward{
-                                       Amount:         10000,
-                                       ControlProgram: []byte{0x53},
-                               },
-                       },
-                       err: ErrWrongCoinbaseTransaction,
-               },
        }
 
        block := new(types.Block)
@@ -481,44 +457,6 @@ func TestValidateBlock(t *testing.T) {
                        err: ErrWrongCoinbaseTransaction,
                },
                {
-                       desc: "the coinbase program is not equal to the real coinbase outputs",
-                       block: &bc.Block{
-                               ID: bc.Hash{V0: 1},
-                               BlockHeader: &bc.BlockHeader{
-                                       Version:               1,
-                                       Height:                1,
-                                       Timestamp:             1523352601000,
-                                       PreviousBlockId:       &parentHash,
-                                       TransactionsRoot:      &txsRoot,
-                                       TransactionStatusHash: &txStatusHash,
-                               },
-                               Transactions: []*bc.Tx{
-                                       types.MapTx(&types.TxData{
-                                               Version:        1,
-                                               SerializedSize: 1,
-                                               Inputs:         []*types.TxInput{types.NewCoinbaseInput(nil)},
-                                               Outputs: []*types.TxOutput{
-                                                       types.NewIntraChainOutput(*consensus.BTMAssetID, 0, cp),
-                                                       types.NewIntraChainOutput(*consensus.BTMAssetID, 20000, []byte{0x51}),
-                                                       types.NewIntraChainOutput(*consensus.BTMAssetID, 10000, []byte{0x61}),
-                                               },
-                                       }),
-                               },
-                       },
-                       parent: parent,
-                       rewards: []state.CoinbaseReward{
-                               state.CoinbaseReward{
-                                       Amount:         20000,
-                                       ControlProgram: []byte{0x51},
-                               },
-                               state.CoinbaseReward{
-                                       Amount:         10000,
-                                       ControlProgram: []byte{0x52},
-                               },
-                       },
-                       err: ErrWrongCoinbaseTransaction,
-               },
-               {
                        desc: "the coinbase amount is equal to the real coinbase amount",
                        block: &bc.Block{
                                ID: bc.Hash{V0: 1},
index a189797..699b3de 100644 (file)
@@ -5,15 +5,15 @@ import (
        "math"
        "testing"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/validation"
-       "github.com/vapor/protocol/vm/vmutil"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/validation"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestValidateUglyTx(t *testing.T) {
index 6053270..a9613b5 100644 (file)
@@ -3,18 +3,16 @@ package validation
 import (
        "fmt"
        "math"
+       "runtime"
        "sync"
 
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/vm"
-)
-
-const (
-       validateWorkerNum = 32
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // validate transaction error
@@ -278,8 +276,12 @@ func checkValid(vs *validationState, e bc.Entry) (err error) {
                }
 
                prog := &bc.Program{
-                       VmVersion: e.ControlProgram.VmVersion,
-                       Code:      config.FederationWScript(config.CommonConfig),
+                       VmVersion: e.AssetDefinition.IssuanceProgram.VmVersion,
+                       Code:      e.AssetDefinition.IssuanceProgram.Code,
+               }
+
+               if !common.IsOpenFederationIssueAsset(e.RawDefinitionByte) {
+                       prog.Code = config.FederationWScript(config.CommonConfig, vs.block.Height)
                }
 
                if _, err := vm.Verify(NewTxVMContext(vs, e, prog, e.WitnessArguments), consensus.ActiveNetParams.DefaultGasCredit); err != nil {
@@ -663,6 +665,7 @@ func validateTxWorker(workCh chan *validateTxWork, resultCh chan *ValidateTxResu
 // ValidateTxs validates txs in async mode
 func ValidateTxs(txs []*bc.Tx, block *bc.Block) []*ValidateTxResult {
        txSize := len(txs)
+       validateWorkerNum := runtime.NumCPU()
        //init the goroutine validate worker
        var wg sync.WaitGroup
        workCh := make(chan *validateTxWork, txSize)
index 4706866..d528bb8 100644 (file)
@@ -4,10 +4,10 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 func TestValidateTx(t *testing.T) {
index 484cfa2..6f5c925 100644 (file)
@@ -6,14 +6,15 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func init() {
@@ -877,6 +878,341 @@ func TestValidateTxVersion(t *testing.T) {
        }
 }
 
+func TestMagneticContractTx(t *testing.T) {
+       buyerArgs := vmutil.MagneticContractArgs{
+               RequestedAsset:   bc.AssetID{V0: 1},
+               RatioNumerator:   1,
+               RatioDenominator: 2,
+               SellerProgram:    testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19204"),
+               SellerKey:        testutil.MustDecodeHexString("af1927316233365dd525d3b48f2869f125a656958ee3946286f42904c35b9c91"),
+       }
+
+       sellerArgs := vmutil.MagneticContractArgs{
+               RequestedAsset:   bc.AssetID{V0: 2},
+               RatioNumerator:   2,
+               RatioDenominator: 1,
+               SellerProgram:    testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19204"),
+               SellerKey:        testutil.MustDecodeHexString("af1927316233365dd525d3b48f2869f125a656958ee3946286f42904c35b9c91"),
+       }
+
+       programBuyer, err := vmutil.P2WMCProgram(buyerArgs)
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       programSeller, err := vmutil.P2WMCProgram(sellerArgs)
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       cases := []struct {
+               desc  string
+               block *bc.Block
+               err   error
+       }{
+               {
+                       desc: "contracts all full trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 100000000, 1, programSeller),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, bc.Hash{V0: 20}, sellerArgs.RequestedAsset, 200000000, 0, programBuyer),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 199800000, sellerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 99900000, buyerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 200000, []byte{0x51}),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 100000, []byte{0x51}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: nil,
+               },
+               {
+                       desc: "first contract partial trade, second contract full trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(100000000), vm.Int64Bytes(0), vm.Int64Bytes(0)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 200000000, 1, programSeller),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, bc.Hash{V0: 20}, sellerArgs.RequestedAsset, 100000000, 0, programBuyer),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 99900000, sellerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 150000000, programSeller),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 49950000, buyerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 100000, []byte{0x51}),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 50000, []byte{0x51}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: nil,
+               },
+               {
+                       desc: "first contract full trade, second contract partial trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 100000000, 1, programSeller),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(100000000), vm.Int64Bytes(1), vm.Int64Bytes(0)}, bc.Hash{V0: 20}, sellerArgs.RequestedAsset, 300000000, 0, programBuyer),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 199800000, sellerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 99900000, buyerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 100000000, programBuyer),
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 200000, []byte{0x51}),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 100000, []byte{0x51}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: nil,
+               },
+               {
+                       desc: "cancel magnetic contract",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{testutil.MustDecodeHexString("851a14d69076507e202a94a884cdfb3b9f1ecbc1fb0634d2f0d1f9c1a275fdbdf921af0c5309d2d0a0deb85973cba23a4076d2c169c7f08ade2af4048d91d209"), vm.Int64Bytes(0), vm.Int64Bytes(2)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 100000000, 0, programSeller),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 100000000, sellerArgs.SellerProgram),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: nil,
+               },
+               {
+                       desc: "wrong signature with cancel magnetic contract",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{testutil.MustDecodeHexString("686b983a8de1893ef723144389fd1f07b12b048f52f389faa863243195931d5732dbfd15470b43ed63d5067900718cf94f137073f4a972d277bbd967b022545d"), vm.Int64Bytes(0), vm.Int64Bytes(2)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 100000000, 0, programSeller),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 100000000, sellerArgs.SellerProgram),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: vm.ErrFalseVMResult,
+               },
+               {
+                       desc: "wrong output amount with contracts all full trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 100000000, 1, programSeller),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, bc.Hash{V0: 20}, sellerArgs.RequestedAsset, 200000000, 0, programBuyer),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 200000000, sellerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 50000000, buyerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 50000000, []byte{0x55}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: vm.ErrFalseVMResult,
+               },
+               {
+                       desc: "wrong output assetID with contracts all full trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 100000000, 1, programSeller),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, bc.Hash{V0: 20}, sellerArgs.RequestedAsset, 200000000, 0, programBuyer),
+                                                       types.NewSpendInput(nil, bc.Hash{V0: 30}, bc.AssetID{V0: 1}, 200000000, 0, []byte{0x51}),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(bc.AssetID{V0: 1}, 200000000, sellerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 100000000, buyerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 200000000, []byte{0x55}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: vm.ErrFalseVMResult,
+               },
+               {
+                       desc: "wrong output change program with first contract partial trade and second contract full trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(100000000), vm.Int64Bytes(0), vm.Int64Bytes(0)}, bc.Hash{V0: 10}, buyerArgs.RequestedAsset, 200000000, 1, programSeller),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, bc.Hash{V0: 20}, sellerArgs.RequestedAsset, 100000000, 0, programBuyer),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 99900000, sellerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 150000000, []byte{0x55}),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 49950000, buyerArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(sellerArgs.RequestedAsset, 100000, []byte{0x51}),
+                                                       types.NewIntraChainOutput(buyerArgs.RequestedAsset, 50000, []byte{0x51}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: vm.ErrFalseVMResult,
+               },
+       }
+
+       for i, c := range cases {
+               if _, err := ValidateTx(c.block.Transactions[0], c.block); rootErr(err) != c.err {
+                       t.Errorf("case #%d (%s) got error %t, want %t", i, c.desc, rootErr(err), c.err)
+               }
+       }
+}
+
+func TestRingMagneticContractTx(t *testing.T) {
+       aliceArgs := vmutil.MagneticContractArgs{
+               RequestedAsset:   bc.AssetID{V0: 1},
+               RatioNumerator:   2,
+               RatioDenominator: 1,
+               SellerProgram:    testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19204"),
+               SellerKey:        testutil.MustDecodeHexString("960ecabafb88ba460a40912841afecebf0e84884178611ac97210e327c0d1173"),
+       }
+
+       bobArgs := vmutil.MagneticContractArgs{
+               RequestedAsset:   bc.AssetID{V0: 2},
+               RatioNumerator:   2,
+               RatioDenominator: 1,
+               SellerProgram:    testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19204"),
+               SellerKey:        testutil.MustDecodeHexString("ad79ec6bd3a6d6dbe4d0ee902afc99a12b9702fb63edce5f651db3081d868b75"),
+       }
+
+       jackArgs := vmutil.MagneticContractArgs{
+               RequestedAsset:   bc.AssetID{V0: 3},
+               RatioNumerator:   1,
+               RatioDenominator: 4,
+               SellerProgram:    testutil.MustDecodeHexString("0014f928b723999312df4ed51cb275a2644336c19204"),
+               SellerKey:        testutil.MustDecodeHexString("9c19a91988c62046c2767bd7e9999b0c142891b9ebf467bfa59210b435cb0de7"),
+       }
+
+       aliceProgram, err := vmutil.P2WMCProgram(aliceArgs)
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       bobProgram, err := vmutil.P2WMCProgram(bobArgs)
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       jackProgram, err := vmutil.P2WMCProgram(jackArgs)
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       cases := []struct {
+               desc  string
+               block *bc.Block
+               err   error
+       }{
+               {
+                       desc: "contracts all full trade",
+                       block: &bc.Block{
+                               BlockHeader: &bc.BlockHeader{Version: 0},
+                               Transactions: []*bc.Tx{
+                                       types.MapTx(&types.TxData{
+                                               SerializedSize: 1,
+                                               Inputs: []*types.TxInput{
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(0), vm.Int64Bytes(1)}, bc.Hash{V0: 10}, jackArgs.RequestedAsset, 100000000, 0, aliceProgram),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(1), vm.Int64Bytes(1)}, bc.Hash{V0: 20}, aliceArgs.RequestedAsset, 200000000, 0, bobProgram),
+                                                       types.NewSpendInput([][]byte{vm.Int64Bytes(2), vm.Int64Bytes(1)}, bc.Hash{V0: 30}, bobArgs.RequestedAsset, 400000000, 0, jackProgram),
+                                               },
+                                               Outputs: []*types.TxOutput{
+                                                       types.NewIntraChainOutput(aliceArgs.RequestedAsset, 199800000, aliceArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(bobArgs.RequestedAsset, 399600000, bobArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(jackArgs.RequestedAsset, 99900000, jackArgs.SellerProgram),
+                                                       types.NewIntraChainOutput(aliceArgs.RequestedAsset, 200000, []byte{0x51}),
+                                                       types.NewIntraChainOutput(bobArgs.RequestedAsset, 400000, []byte{0x51}),
+                                                       types.NewIntraChainOutput(jackArgs.RequestedAsset, 100000, []byte{0x51}),
+                                               },
+                                       }),
+                               },
+                       },
+                       err: nil,
+               },
+       }
+
+       for i, c := range cases {
+               if _, err := ValidateTx(c.block.Transactions[0], c.block); rootErr(err) != c.err {
+                       t.Errorf("case #%d (%s) got error %t, want %t", i, c.desc, rootErr(err), c.err)
+               }
+       }
+}
+
+func TestValidateOpenFederationIssueAsset(t *testing.T) {
+       tx := &types.Tx{TxData: types.TxData{Version: 1}}
+       tx.Inputs = append(tx.Inputs, types.NewCrossChainInput(nil,
+               testutil.MustDecodeHash("449143cb95389d19a1939879681168f78cc62614f4e0fb41f17b3232528a709d"),
+               testutil.MustDecodeAsset("60b550a772ddde42717ef3ab1178cf4f712a02fc9faf3678aa5468facff128f5"),
+               100000000,
+               0,
+               1,
+               testutil.MustDecodeHexString("7b0a202022646563696d616c73223a20382c0a2020226465736372697074696f6e223a207b0a202020202269737375655f61737365745f616374696f6e223a20226f70656e5f66656465726174696f6e5f63726f73735f636861696e220a20207d2c0a2020226e616d65223a2022454f53222c0a20202271756f72756d223a20312c0a20202272656973737565223a202274727565222c0a20202273796d626f6c223a2022454f53220a7d"),
+               testutil.MustDecodeHexString("ae20d827c281d47f5de93f98544b20468feaac046bf8b89bd51102f6e971f09d215920be43bb856fe337b37f5f09040c2b6cdbe23eaf5aa4770b16ea51fdfc45514c295152ad"),
+       ))
+
+       tx.Outputs = append(tx.Outputs, types.NewIntraChainOutput(
+               testutil.MustDecodeAsset("60b550a772ddde42717ef3ab1178cf4f712a02fc9faf3678aa5468facff128f5"),
+               100000000,
+               testutil.MustDecodeHexString("0014d8dd58f374f58cffb1b1a7cc1e18a712b4fe67b5"),
+       ))
+
+       byteData, err := tx.MarshalText()
+       if err != nil {
+               t.Fatal(err)
+       }
+
+       tx.SerializedSize = uint64(len(byteData))
+       tx = types.NewTx(tx.TxData)
+
+       xPrv := chainkd.XPrv(toByte64("f0293101b509a0e919b4775d849372f97c688af8bd85a9d369fc1a4528baa94c0d74dd09aa6eaeed582df47d391c816b916a0537302291b09743903b730333f9"))
+       signature := xPrv.Sign(tx.SigHash(0).Bytes())
+       tx.Inputs[0].SetArguments([][]byte{signature})
+       tx = types.NewTx(tx.TxData)
+
+       if _, err := ValidateTx(tx.Tx, &bc.Block{BlockHeader: &bc.BlockHeader{Version: 1}}); err != nil {
+               t.Fatal(err)
+       }
+}
+
+func toByte64(str string) [64]byte {
+       var result [64]byte
+       bytes := testutil.MustDecodeHexString(str)
+       for i := range bytes {
+               result[i] = bytes[i]
+       }
+       return result
+}
+
 // A txFixture is returned by sample (below) to produce a sample
 // transaction, which takes a separate, optional _input_ txFixture to
 // affect the transaction that's built. The components of the
index 7ac617c..16dd185 100644 (file)
@@ -3,11 +3,11 @@ package validation
 import (
        "bytes"
 
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // NewTxVMContext generates the vm.Context for BVM
@@ -98,12 +98,17 @@ func NewTxVMContext(vs *validationState, entry bc.Entry, prog *bc.Program, args
 }
 
 func witnessProgram(prog []byte) []byte {
-       if segwit.IsP2WPKHScript(prog) {
-               if witnessProg, err := segwit.ConvertP2PKHSigProgram([]byte(prog)); err == nil {
+       switch {
+       case segwit.IsP2WPKHScript(prog):
+               if witnessProg, err := segwit.ConvertP2PKHSigProgram(prog); err == nil {
                        return witnessProg
                }
-       } else if segwit.IsP2WSHScript(prog) {
-               if witnessProg, err := segwit.ConvertP2SHProgram([]byte(prog)); err == nil {
+       case segwit.IsP2WSHScript(prog):
+               if witnessProg, err := segwit.ConvertP2SHProgram(prog); err == nil {
+                       return witnessProg
+               }
+       case segwit.IsP2WMCScript(prog):
+               if witnessProg, err := segwit.ConvertP2MCProgram(prog); err == nil {
                        return witnessProg
                }
        }
index 9f6e730..943aa4a 100644 (file)
@@ -4,10 +4,10 @@ import (
        "fmt"
        "testing"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 func TestCheckOutput(t *testing.T) {
index 833c50b..a14e03e 100644 (file)
@@ -10,7 +10,7 @@ import (
        "strings"
        "unicode"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 // Assemble converts a string like "2 3 ADD 5 NUMEQUAL" into 0x525393559c.
index 47d2a3d..ddf55a9 100644 (file)
@@ -5,7 +5,7 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 func TestAssemble(t *testing.T) {
index 3f04273..04de106 100644 (file)
@@ -3,7 +3,7 @@ package vm
 import (
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestBitwiseOps(t *testing.T) {
index 6b36264..504f655 100644 (file)
@@ -3,7 +3,7 @@ package vm
 import (
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestControlOps(t *testing.T) {
index 7b91581..4dd21ac 100644 (file)
@@ -6,9 +6,9 @@ import (
 
        "golang.org/x/crypto/sha3"
 
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/math/checked"
+       "github.com/bytom/vapor/crypto"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/math/checked"
 )
 
 func opSha256(vm *virtualMachine) error {
index 6c14329..91cbadb 100644 (file)
@@ -3,7 +3,7 @@ package vm
 import (
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestCheckSig(t *testing.T) {
index 29e6e02..983ec55 100644 (file)
@@ -5,8 +5,8 @@ import (
 
        "github.com/davecgh/go-spew/spew"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestOutputIDAndNonceOp(t *testing.T) {
index 9a65af6..5a388ec 100644 (file)
@@ -2,8 +2,9 @@ package vm
 
 import (
        "math"
+       "math/big"
 
-       "github.com/vapor/math/checked"
+       "github.com/bytom/vapor/math/checked"
 )
 
 func op1Add(vm *virtualMachine) error {
@@ -457,3 +458,36 @@ func opWithin(vm *virtualMachine) error {
        }
        return vm.pushBool(x >= min && x < max, true)
 }
+
+func opMulFraction(vm *virtualMachine) error {
+       if err := vm.applyCost(8); err != nil {
+               return err
+       }
+
+       z, err := vm.popInt64(true)
+       if err != nil {
+               return err
+       }
+
+       if z == 0 {
+               return ErrDivZero
+       }
+
+       y, err := vm.popInt64(true)
+       if err != nil {
+               return err
+       }
+
+       x, err := vm.popInt64(true)
+       if err != nil {
+               return err
+       }
+
+       res := big.NewInt(x)
+       res.Mul(res, big.NewInt(y)).Quo(res, big.NewInt(z))
+       if !res.IsInt64() {
+               return ErrRange
+       }
+
+       return vm.pushInt64(res.Int64(), true)
+}
index ed5bf03..d15d119 100644 (file)
@@ -5,7 +5,7 @@ import (
        "math"
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestNumericOps(t *testing.T) {
@@ -446,6 +446,40 @@ func TestNumericOps(t *testing.T) {
                        deferredCost: -18,
                        dataStack:    [][]byte{{1}},
                },
+       }, {
+               op: OP_MULFRACTION,
+               startVM: &virtualMachine{
+                       runLimit:  50000,
+                       dataStack: [][]byte{{15}, {2}, {3}},
+               },
+               wantVM: &virtualMachine{
+                       runLimit:     49992,
+                       deferredCost: -18,
+                       dataStack:    [][]byte{{10}},
+               },
+       }, {
+               op: OP_MULFRACTION,
+               startVM: &virtualMachine{
+                       runLimit:  50000,
+                       dataStack: [][]byte{Int64Bytes(-654), {3}, {2}},
+               },
+               wantVM: &virtualMachine{
+                       runLimit:     49992,
+                       deferredCost: -18,
+                       dataStack:    [][]byte{Int64Bytes(-981)},
+               },
+       }, {
+               op: OP_MULFRACTION,
+               startVM: &virtualMachine{
+                       runLimit:  50000,
+                       dataStack: [][]byte{Int64Bytes(-654), {3}, {}},
+               },
+               wantVM: &virtualMachine{
+                       runLimit:     49992,
+                       deferredCost: -18,
+                       dataStack:    [][]byte{},
+               },
+               wantErr: ErrDivZero,
        }}
 
        numops := []Op{
@@ -453,6 +487,7 @@ func TestNumericOps(t *testing.T) {
                OP_ADD, OP_SUB, OP_MUL, OP_DIV, OP_MOD, OP_LSHIFT, OP_RSHIFT, OP_BOOLAND,
                OP_BOOLOR, OP_NUMEQUAL, OP_NUMEQUALVERIFY, OP_NUMNOTEQUAL, OP_LESSTHAN,
                OP_LESSTHANOREQUAL, OP_GREATERTHAN, OP_GREATERTHANOREQUAL, OP_MIN, OP_MAX, OP_WITHIN,
+               OP_MULFRACTION,
        }
 
        for _, op := range numops {
@@ -536,6 +571,14 @@ func TestRangeErrs(t *testing.T) {
                {fmt.Sprintf("%d 1 LSHIFT", int64(math.MinInt64)), true},
                {fmt.Sprintf("%d 1 LSHIFT", int64(math.MinInt64)/2), false},
                {fmt.Sprintf("%d 2 LSHIFT", int64(math.MinInt64)/2), true},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MaxInt64)/2-1, 2, 1), false},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MaxInt64)/2+1, 2, 1), true},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MinInt64)/2+1, 2, 1), false},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MinInt64)/2-1, 2, 1), true},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MaxInt64), 3, 2), true},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MaxInt64), 2, 3), false},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MinInt64), 3, 2), true},
+               {fmt.Sprintf("%d %d %d MULFRACTION", int64(math.MinInt64), 2, 3), false},
        }
 
        for i, c := range cases {
index 5052c62..88dfe1e 100644 (file)
@@ -6,8 +6,8 @@ import (
        "math"
        "reflect"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
 )
 
 type Op uint8
@@ -194,6 +194,7 @@ const (
        OP_MIN                Op = 0xa3
        OP_MAX                Op = 0xa4
        OP_WITHIN             Op = 0xa5
+       OP_MULFRACTION        Op = 0xa6
 
        OP_SHA256        Op = 0xa8
        OP_SHA3          Op = 0xaa
@@ -300,6 +301,7 @@ var (
                OP_MIN:                {OP_MIN, "MIN", opMin},
                OP_MAX:                {OP_MAX, "MAX", opMax},
                OP_WITHIN:             {OP_WITHIN, "WITHIN", opWithin},
+               OP_MULFRACTION:        {OP_MULFRACTION, "MULFRACTION", opMulFraction},
 
                OP_SHA256:        {OP_SHA256, "SHA256", opSha256},
                OP_SHA3:          {OP_SHA3, "SHA3", opSha3},
index 4e8c2b6..3244ff9 100644 (file)
@@ -5,9 +5,9 @@ import (
        "reflect"
        "testing"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/math/checked"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/math/checked"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestParseOp(t *testing.T) {
index 21724fd..87217c8 100644 (file)
@@ -4,7 +4,7 @@ import (
        "bytes"
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestPushdataOps(t *testing.T) {
index cf08bcc..8c0e012 100644 (file)
@@ -1,6 +1,6 @@
 package vm
 
-import "github.com/vapor/math/checked"
+import "github.com/bytom/vapor/math/checked"
 
 func opCat(vm *virtualMachine) error {
        err := vm.applyCost(4)
index ebee7cd..f6b5a05 100644 (file)
@@ -3,7 +3,7 @@ package vm
 import (
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestSpliceOps(t *testing.T) {
index c92239f..72d2e1e 100644 (file)
@@ -1,6 +1,6 @@
 package vm
 
-import "github.com/vapor/math/checked"
+import "github.com/bytom/vapor/math/checked"
 
 func opToAltStack(vm *virtualMachine) error {
        err := vm.applyCost(2)
index 50869e0..c8ec8d9 100644 (file)
@@ -7,7 +7,7 @@ import (
        "strings"
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestStackOps(t *testing.T) {
index f7b5a53..f23ce7d 100644 (file)
@@ -6,7 +6,7 @@ import (
        "io"
        "strings"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 type virtualMachine struct {
index 7e82f31..d53c546 100644 (file)
@@ -8,8 +8,8 @@ import (
        "testing"
        "testing/quick"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/testutil"
 )
 
 type tracebuf struct {
index 3d1da25..ed79c84 100644 (file)
@@ -3,8 +3,8 @@ package vmutil
 import (
        "encoding/binary"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 type Builder struct {
index 62d8417..a82b2ce 100644 (file)
@@ -5,7 +5,7 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 func TestAddJump(t *testing.T) {
index adc0d77..8446142 100644 (file)
@@ -1,9 +1,10 @@
 package vmutil
 
 import (
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // pre-define errors
@@ -12,6 +13,15 @@ var (
        ErrMultisigFormat = errors.New("bad multisig program format")
 )
 
+// MagneticContractArgs is a struct for magnetic contract arguments
+type MagneticContractArgs struct {
+       RequestedAsset   bc.AssetID
+       RatioNumerator   int64
+       RatioDenominator int64
+       SellerProgram    []byte
+       SellerKey        []byte
+}
+
 // IsUnspendable checks if a contorl program is absolute failed
 func IsUnspendable(prog []byte) bool {
        return len(prog) > 0 && prog[0] == byte(vm.OP_FAIL)
@@ -133,3 +143,239 @@ func checkMultiSigParams(nrequired, npubkeys int64) error {
        }
        return nil
 }
+
+// P2WMCProgram return the segwit pay to magnetic contract
+func P2WMCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
+       builder := NewBuilder()
+       builder.AddInt64(0)
+       builder.AddData(magneticContractArgs.RequestedAsset.Bytes())
+       builder.AddInt64(magneticContractArgs.RatioNumerator)
+       builder.AddInt64(magneticContractArgs.RatioDenominator)
+       builder.AddData(magneticContractArgs.SellerProgram)
+       builder.AddData(magneticContractArgs.SellerKey)
+       return builder.Build()
+}
+
+// P2MCProgram generates the script for control with magnetic contract
+//
+// MagneticContract source code:
+// contract MagneticContract(requestedAsset: Asset,
+//                           ratioNumerator: Integer,
+//                           ratioDenominator: Integer,
+//                           sellerProgram: Program,
+//                           standardProgram: Program,
+//                           sellerKey: PublicKey) locks valueAmount of valueAsset {
+//  clause partialTrade(exchangeAmount: Amount) {
+//   define actualAmount: Integer = exchangeAmount * ratioDenominator / ratioNumerator
+//   verify actualAmount >= 0 && actualAmount < valueAmount
+//   define receiveAmount: Integer = exchangeAmount * 999 / 1000
+//   lock receiveAmount of requestedAsset with sellerProgram
+//   lock valueAmount-actualAmount of valueAsset with standardProgram
+//   unlock actualAmount of valueAsset
+//  }
+//  clause fullTrade() {
+//   define requestedAmount: Integer = valueAmount * ratioNumerator / ratioDenominator
+//   define requestedAmount: Integer = requestedAmount * 999 / 1000
+//   verify requestedAmount >= 0
+//   lock requestedAmount of requestedAsset with sellerProgram
+//   unlock valueAmount of valueAsset
+//  }
+//  clause cancel(sellerSig: Signature) {
+//   verify checkTxSig(sellerKey, sellerSig)
+//   unlock valueAmount of valueAsset
+//  }
+// }
+//
+// contract stack flow:
+// 7                        [... <position> <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 7]
+// ROLL                     [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <position>]
+// TOALTSTACK               [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// 6                        [... <clause selector> sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 6]
+// ROLL                     [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector>]
+// DUP                      [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector> <clause selector>]
+// 2                        [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector> <clause selector> 2]
+// NUMEQUAL                 [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector> (<clause selector> == 2)]
+// JUMPIF:$cancel           [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector>]
+// JUMPIF:$fullTrade        [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// $partialTrade            [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// 6                        [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 6]
+// PICK                     [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset exchangeAmount]
+// 3                        [... exchangeAmount sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset exchangeAmount 3]
+// ROLL                     [... exchangeAmount sellerKey standardProgram sellerProgram ratioNumerator requestedAsset exchangeAmount ratioDenominator]
+// 3                        [... exchangeAmount sellerKey standardProgram sellerProgram ratioNumerator requestedAsset exchangeAmount ratioDenominator 3]
+// ROLL                     [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset exchangeAmount ratioDenominator ratioNumerator]
+// MULFRACTION              [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount]
+// AMOUNT                   [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount]
+// OVER                     [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount actualAmount]
+// 0                        [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount actualAmount 0]
+// GREATERTHANOREQUAL       [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount (actualAmount > 0)]
+// 2                        [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount (actualAmount > 0) 2]
+// PICK                     [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount (actualAmount > 0) actualAmount]
+// 2                        [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount valueAmount (actualAmount > 0) actualAmount 2]
+// ROLL                     [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount (actualAmount > 0) actualAmount valueAmount]
+// LESSTHAN                 [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount (actualAmount > 0) (actualAmount < valueAmount)]
+// BOOLAND                  [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount ((actualAmount > 0) && (actualAmount < valueAmount))]
+// VERIFY                   [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount]
+// FROMALTSTACK             [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount <position>]
+// DUP                      [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> <position>]
+// TOALTSTACK               [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount <position>]
+// 6                        [... exchangeAmount sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> 6]
+// ROLL                     [... sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> exchangeAmount]
+// 999                      [... sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> exchangeAmount 999]
+// 1000                     [... sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> exchangeAmount 1000]
+// MULFRACTION              [... sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> receiveAmount]
+// 3                        [... sellerKey standardProgram sellerProgram requestedAsset actualAmount <position> receiveAmount 3]
+// ROLL                     [... sellerKey standardProgram sellerProgram actualAmount <position> receiveAmount requestedAsset]
+// 1                        [... sellerKey standardProgram sellerProgram actualAmount <position> receiveAmount requestedAsset 1]
+// 5                        [... sellerKey standardProgram sellerProgram actualAmount <position> receiveAmount requestedAsset 1 5]
+// ROLL                     [... sellerKey standardProgram actualAmount <position> receiveAmount requestedAsset 1 sellerProgram]
+// CHECKOUTPUT              [... sellerKey standardProgram actualAmount checkOutput(receiveAmount, requestedAsset, sellerProgram)]
+// VERIFY                   [... sellerKey standardProgram actualAmount]
+// FROMALTSTACK             [... sellerKey standardProgram actualAmount <position>]
+// 1                        [... sellerKey standardProgram actualAmount <position> 1]
+// ADD                      [... sellerKey standardProgram actualAmount (<position> + 1)]
+// AMOUNT                   [... sellerKey standardProgram actualAmount (<position> + 1) valueAmount]
+// 2                        [... sellerKey standardProgram actualAmount (<position> + 1) valueAmount 2]
+// ROLL                     [... sellerKey standardProgram (<position> + 1) valueAmount actualAmount]
+// SUB                      [... sellerKey standardProgram (<position> + 1) (valueAmount - actualAmount)]
+// ASSET                    [... sellerKey standardProgram (<position> + 1) (valueAmount - actualAmount) valueAsset]
+// 1                        [... sellerKey standardProgram (<position> + 1) (valueAmount - actualAmount) valueAsset 1]
+// 4                        [... sellerKey standardProgram (<position> + 1) (valueAmount - actualAmount) valueAsset 1 4]
+// ROLL                     [... sellerKey (<position> + 1) (valueAmount - actualAmount) valueAsset 1 standardProgram]
+// CHECKOUTPUT              [... sellerKey checkOutput((valueAmount - actualAmount), valueAsset, standardProgram)]
+// JUMP:$_end               [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// $fullTrade               [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// AMOUNT                   [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset valueAmount]
+// 2                        [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset valueAmount 2]
+// ROLL                     [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset valueAmount ratioNumerator]
+// 3                        [... sellerKey standardProgram sellerProgram ratioDenominator requestedAsset valueAmount ratioNumerator 3]
+// ROLL                     [... sellerKey standardProgram sellerProgram requestedAsset valueAmount ratioNumerator ratioDenominator]
+// MULFRACTION              [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount]
+// 999                      [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount 999]
+// 1000                     [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount 999 1000]
+// MULFRACTION              [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount]
+// DUP                      [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount requestedAmount]
+// 0                        [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount requestedAmount 0]
+// GREATERTHANOREQUAL       [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount (requestedAmount > 0)]
+// VERIFY                   [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount]
+// FROMALTSTACK             [... sellerKey standardProgram sellerProgram requestedAsset requestedAmount <position>]
+// SWAP                     [... sellerKey standardProgram sellerProgram requestedAsset <position> requestedAmount]
+// 2                        [... sellerKey standardProgram sellerProgram requestedAsset <position> requestedAmount 2]
+// ROLL                     [... sellerKey standardProgram sellerProgram <position> requestedAmount requestedAsset]
+// 1                        [... sellerKey standardProgram sellerProgram <position> requestedAmount requestedAsset 1]
+// 4                        [... sellerKey standardProgram sellerProgram <position> requestedAmount requestedAsset 1 4]
+// ROLL                     [... sellerKey standardProgram <position> requestedAmount requestedAsset 1 sellerProgram]
+// CHECKOUTPUT              [... sellerKey standardProgram checkOutput(requestedAmount, requestedAsset, sellerProgram)]
+// JUMP:$_end               [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// $cancel                  [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset <clause selector>]
+// DROP                     [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+// 6                        [... sellerSig sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset 6]
+// ROLL                     [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset sellerSig]
+// 6                        [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset sellerSig 6]
+// ROLL                     [... standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset sellerSig sellerKey]
+// TXSIGHASH SWAP CHECKSIG  [... standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset checkTxSig(sellerKey, sellerSig)]
+// $_end                    [... sellerKey standardProgram sellerProgram ratioDenominator ratioNumerator requestedAsset]
+func P2MCProgram(magneticContractArgs MagneticContractArgs) ([]byte, error) {
+       standardProgram, err := P2WMCProgram(magneticContractArgs)
+       if err != nil {
+               return nil, err
+       }
+
+       builder := NewBuilder()
+       // contract arguments
+       builder.AddData(magneticContractArgs.SellerKey)
+       builder.AddData(standardProgram)
+       builder.AddData(magneticContractArgs.SellerProgram)
+       builder.AddInt64(magneticContractArgs.RatioDenominator)
+       builder.AddInt64(magneticContractArgs.RatioNumerator)
+       builder.AddData(magneticContractArgs.RequestedAsset.Bytes())
+
+       // contract instructions
+       builder.AddOp(vm.OP_7)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_TOALTSTACK)
+       builder.AddOp(vm.OP_6)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_DUP)
+       builder.AddOp(vm.OP_2)
+       builder.AddOp(vm.OP_NUMEQUAL)
+       builder.AddJumpIf(0)
+       builder.AddJumpIf(1)
+       builder.AddOp(vm.OP_6)
+       builder.AddOp(vm.OP_PICK)
+       builder.AddOp(vm.OP_3)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_3)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_MULFRACTION)
+       builder.AddOp(vm.OP_AMOUNT)
+       builder.AddOp(vm.OP_OVER)
+       builder.AddOp(vm.OP_0)
+       builder.AddOp(vm.OP_GREATERTHANOREQUAL)
+       builder.AddOp(vm.OP_2)
+       builder.AddOp(vm.OP_PICK)
+       builder.AddOp(vm.OP_ROT)
+       builder.AddOp(vm.OP_LESSTHAN)
+       builder.AddOp(vm.OP_BOOLAND)
+       builder.AddOp(vm.OP_VERIFY)
+       builder.AddOp(vm.OP_FROMALTSTACK)
+       builder.AddOp(vm.OP_DUP)
+       builder.AddOp(vm.OP_TOALTSTACK)
+       builder.AddOp(vm.OP_6)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddInt64(999)
+       builder.AddInt64(1000)
+       builder.AddOp(vm.OP_MULFRACTION)
+       builder.AddOp(vm.OP_3)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_1)
+       builder.AddOp(vm.OP_5)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_CHECKOUTPUT)
+       builder.AddOp(vm.OP_VERIFY)
+       builder.AddOp(vm.OP_FROMALTSTACK)
+       builder.AddOp(vm.OP_1)
+       builder.AddOp(vm.OP_ADD)
+       builder.AddOp(vm.OP_AMOUNT)
+       builder.AddOp(vm.OP_ROT)
+       builder.AddOp(vm.OP_SUB)
+       builder.AddOp(vm.OP_ASSET)
+       builder.AddOp(vm.OP_1)
+       builder.AddOp(vm.OP_4)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_CHECKOUTPUT)
+       builder.AddJump(2)
+       builder.SetJumpTarget(1)
+       builder.AddOp(vm.OP_AMOUNT)
+       builder.AddOp(vm.OP_ROT)
+       builder.AddOp(vm.OP_3)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_MULFRACTION)
+       builder.AddInt64(999)
+       builder.AddInt64(1000)
+       builder.AddOp(vm.OP_MULFRACTION)
+       builder.AddOp(vm.OP_DUP)
+       builder.AddOp(vm.OP_0)
+       builder.AddOp(vm.OP_GREATERTHANOREQUAL)
+       builder.AddOp(vm.OP_VERIFY)
+       builder.AddOp(vm.OP_FROMALTSTACK)
+       builder.AddOp(vm.OP_SWAP)
+       builder.AddOp(vm.OP_ROT)
+       builder.AddOp(vm.OP_1)
+       builder.AddOp(vm.OP_4)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_CHECKOUTPUT)
+       builder.AddJump(3)
+       builder.SetJumpTarget(0)
+       builder.AddOp(vm.OP_DROP)
+       builder.AddOp(vm.OP_6)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_6)
+       builder.AddOp(vm.OP_ROLL)
+       builder.AddOp(vm.OP_TXSIGHASH)
+       builder.AddOp(vm.OP_SWAP)
+       builder.AddOp(vm.OP_CHECKSIG)
+       builder.SetJumpTarget(2)
+       builder.SetJumpTarget(3)
+       return builder.Build()
+}
index 623bccf..eeb11e9 100644 (file)
@@ -4,8 +4,8 @@ import (
        "encoding/hex"
        "testing"
 
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/errors"
 )
 
 // TestIsUnspendable ensures the IsUnspendable function returns the expected
index ba95631..d312889 100644 (file)
@@ -6,16 +6,16 @@ import (
        "strings"
        "testing"
 
-       acc "github.com/vapor/account"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/config"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/testutil"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestCreateAccountWithUppercase(t *testing.T) {
@@ -189,9 +189,9 @@ func mockAccountManager(t *testing.T) *mockAccManager {
        dispatcher := event.NewDispatcher()
        store := database.NewStore(testDB)
        accountStore := database.NewAccountStore(testDB)
-       txPool := protocol.NewTxPool(store, dispatcher)
+       txPool := protocol.NewTxPool(store, nil, dispatcher)
        config.CommonConfig = config.DefaultConfig()
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, nil, dispatcher)
        if err != nil {
                t.Fatal(err)
        }
index 092811d..9da5e3d 100644 (file)
@@ -7,22 +7,22 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/event"
-       "github.com/vapor/proposal"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/proposal"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 func BenchmarkChain_CoinBaseTx_NoAsset(b *testing.B) {
@@ -141,8 +141,8 @@ func GenerateChainData(dirPath string, testDB dbm.DB, txNumber, otherAssetNum in
        config.CommonConfig = config.DefaultConfig()
        store := database.NewStore(testDB)
        dispatcher := event.NewDispatcher()
-       txPool := protocol.NewTxPool(store, dispatcher)
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       txPool := protocol.NewTxPool(store, nil, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, nil, dispatcher)
        if err != nil {
                return nil, nil, nil, err
        }
@@ -159,7 +159,7 @@ func InsertChain(chain *protocol.Chain, txPool *protocol.TxPool, txs []*types.Tx
                }
        }
 
-       block, err := proposal.NewBlockTemplate(chain, txPool, nil, uint64(time.Now().UnixNano()/1e6))
+       block, err := proposal.NewBlockTemplate(chain, nil, uint64(time.Now().UnixNano()/1e6), time.Minute, time.Minute)
        if err != nil {
                return err
        }
index eeb6c95..db5cccc 100644 (file)
@@ -7,11 +7,11 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 func TestBlockHeader(t *testing.T) {
index 890d680..2d7e0ff 100644 (file)
@@ -1,11 +1,11 @@
 package test
 
 import (
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/validation"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/validation"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // NewBlock create block according to the current status of chain
index 839a4a9..db44b53 100644 (file)
@@ -3,18 +3,16 @@ package test
 import (
        "testing"
 
-       acc "github.com/vapor/account"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/testutil"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/testutil"
 )
 
 var (
        //chainTxUtxoNum maximum utxo quantity in a tx
        chainTxUtxoNum = 5
-       //chainTxMergeGas chain tx gas
-       chainTxMergeGas = uint64(10000000)
 )
 
 func TestBuildBtmTxChain(t *testing.T) {
@@ -30,7 +28,7 @@ func TestBuildBtmTxChain(t *testing.T) {
                        inputUtxo:  []uint64{5},
                        wantInput:  [][]uint64{},
                        wantOutput: [][]uint64{},
-                       wantUtxo:   5 * chainTxMergeGas,
+                       wantUtxo:   5,
                },
                {
                        inputUtxo: []uint64{5, 4},
@@ -38,9 +36,9 @@ func TestBuildBtmTxChain(t *testing.T) {
                                []uint64{5, 4},
                        },
                        wantOutput: [][]uint64{
-                               []uint64{8},
+                               []uint64{9},
                        },
-                       wantUtxo: 8 * chainTxMergeGas,
+                       wantUtxo: 9,
                },
                {
                        inputUtxo: []uint64{5, 4, 1, 1},
@@ -49,22 +47,22 @@ func TestBuildBtmTxChain(t *testing.T) {
                                []uint64{1, 9},
                        },
                        wantOutput: [][]uint64{
+                               []uint64{11},
                                []uint64{10},
-                               []uint64{9},
                        },
-                       wantUtxo: 10 * chainTxMergeGas,
+                       wantUtxo: 11,
                },
                {
                        inputUtxo: []uint64{22, 123, 53, 234, 23, 4, 2423, 24, 23, 43, 34, 234, 234, 24, 11, 16, 33, 59, 73, 89, 66},
                        wantInput: [][]uint64{
                                []uint64{22, 123, 53, 234, 23, 4, 2423, 24, 23, 43, 34, 234, 234, 24, 11, 16, 33, 59, 73, 89},
-                               []uint64{66, 3778},
+                               []uint64{66, 3779},
                        },
                        wantOutput: [][]uint64{
-                               []uint64{3778},
-                               []uint64{3843},
+                               []uint64{3779},
+                               []uint64{3845},
                        },
-                       wantUtxo: 3843 * chainTxMergeGas,
+                       wantUtxo: 3845,
                },
        }
 
@@ -82,7 +80,7 @@ func TestBuildBtmTxChain(t *testing.T) {
                utxos := []*acc.UTXO{}
                for _, amount := range c.inputUtxo {
                        utxos = append(utxos, &acc.UTXO{
-                               Amount:         amount * chainTxMergeGas,
+                               Amount:         amount,
                                AssetID:        *consensus.BTMAssetID,
                                Address:        acp.Address,
                                ControlProgram: acp.ControlProgram,
@@ -97,12 +95,12 @@ func TestBuildBtmTxChain(t *testing.T) {
                for i, tpl := range tpls {
                        gotInput := []uint64{}
                        for _, input := range tpl.Transaction.Inputs {
-                               gotInput = append(gotInput, input.Amount()/chainTxMergeGas)
+                               gotInput = append(gotInput, input.Amount())
                        }
 
                        gotOutput := []uint64{}
                        for _, output := range tpl.Transaction.Outputs {
-                               gotOutput = append(gotOutput, output.AssetAmount().Amount/chainTxMergeGas)
+                               gotOutput = append(gotOutput, output.AssetAmount().Amount)
                        }
 
                        if !testutil.DeepEqual(c.wantInput[i], gotInput) {
index 2f5fdb0..36a92f8 100644 (file)
@@ -6,15 +6,15 @@ import (
        "time"
 
        "github.com/golang/protobuf/proto"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/consensus"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 const utxoPrefix = "UT:"
index f186ca2..c6685f3 100644 (file)
@@ -3,9 +3,9 @@ package integration
 import (
        "fmt"
 
-       cfg "github.com/vapor/config"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/util"
+       cfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/util"
 )
 
 // Mock config.
index a82961d..7d0f000 100644 (file)
@@ -6,15 +6,15 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/validation"
-       "github.com/vapor/test"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/validation"
+       "github.com/bytom/vapor/test"
 )
 
 func TestP2PKH(t *testing.T) {
index 82fc7dc..f4adecf 100644 (file)
@@ -4,9 +4,9 @@ import (
        "errors"
        "math/rand"
 
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 var (
index 2543e64..a6f5500 100644 (file)
@@ -6,11 +6,11 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 func NewCrosschainTx(privateKey string) *types.Tx {
index 767fb7b..18be6f9 100644 (file)
@@ -1,8 +1,8 @@
 package mock
 
 import (
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 type Mempool struct {
@@ -22,3 +22,7 @@ func (m *Mempool) AddTx(tx *types.Tx) {
 func (m *Mempool) GetTransactions() []*protocol.TxDesc {
        return m.txs
 }
+
+func (m *Mempool) IsDust(tx *types.Tx) bool {
+       return false
+}
index 0f3f0d6..4fc72b6 100644 (file)
@@ -5,11 +5,11 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/account"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/proposal"
-       "github.com/vapor/test"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/proposal"
+       "github.com/bytom/vapor/test"
 )
 
 // Function NewBlockTemplate's benchmark - 0.05s
@@ -17,7 +17,7 @@ func BenchmarkNewBlockTpl(b *testing.B) {
        testDB := dbm.NewDB("testdb", "leveldb", "temp")
        defer os.RemoveAll("temp")
 
-       chain, _, txPool, err := test.MockChain(testDB)
+       chain, _, _, err := test.MockChain(testDB)
        if err != nil {
                b.Fatal(err)
        }
@@ -26,6 +26,6 @@ func BenchmarkNewBlockTpl(b *testing.B) {
 
        b.ResetTimer()
        for i := 0; i < b.N; i++ {
-               proposal.NewBlockTemplate(chain, txPool, accountManager, uint64(time.Now().UnixNano()/1e6))
+               proposal.NewBlockTemplate(chain, accountManager, uint64(time.Now().UnixNano()/1e6), time.Minute, time.Minute)
        }
 }
index 22f5c6c..ad05885 100644 (file)
@@ -3,7 +3,7 @@ package performance
 import (
        "testing"
 
-       "github.com/vapor/util"
+       "github.com/bytom/vapor/util"
 )
 
 // Test rpc call benchmark - 0.1 s/op
index 7be6689..e4d87a9 100644 (file)
@@ -6,10 +6,10 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 // case1:           |------c1(height=7)
index 7d89565..106d60a 100644 (file)
@@ -3,9 +3,9 @@ package test
 import (
        "fmt"
 
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 func declChain(name string, baseChain *protocol.Chain, baseHeight uint64, height uint64) (*protocol.Chain, error) {
diff --git a/test/rollback_test.go b/test/rollback_test.go
new file mode 100644 (file)
index 0000000..00bc599
--- /dev/null
@@ -0,0 +1,1571 @@
+package test
+
+import (
+       "os"
+       "testing"
+
+       "github.com/bytom/vapor/application/mov"
+       movDatabase "github.com/bytom/vapor/application/mov/database"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
+)
+
+type chainData struct {
+       bestBlockHeader    *types.BlockHeader
+       lastIrrBlockHeader *types.BlockHeader
+       utxoViewPoint      *state.UtxoViewpoint
+       storedBlocks       []*types.Block
+       consensusResults   []*state.ConsensusResult
+}
+
+func TestRollback(t *testing.T) {
+       cases := []struct {
+               desc                   string
+               movStartHeight         uint64
+               RoundVoteBlockNums     uint64
+               beforeChainData        *chainData
+               wantChainData          *chainData
+               rollbackToTargetHeight uint64
+       }{
+               {
+                       desc:                   "rollback from height 1 to 0",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     1200,
+                       rollbackToTargetHeight: 0,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("51f538be366172bed5359a016dce26b952024c9607caf6af609ad723982c2e06"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 2000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100002000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               BlockHeight:    1,
+                                               CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1) + 10000000000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height: 0,
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height: 0,
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+               },
+               {
+                       desc:                   "rollback from height 2 to 0",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     1200,
+                       rollbackToTargetHeight: 0,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("afee09925bea1695424450a91ad082a378f20534627fa5cb63f036846347ee08"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                               testutil.MustDecodeHash("51f538be366172bed5359a016dce26b952024c9607caf6af609ad723982c2e06"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 2000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 3000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2500, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100004500,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(2) + 10000000000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height: 0,
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height: 0,
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+               },
+               {
+                       desc:                   "rollback from height 2 to 1",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     1200,
+                       rollbackToTargetHeight: 1,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("afee09925bea1695424450a91ad082a378f20534627fa5cb63f036846347ee08"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                               testutil.MustDecodeHash("51f538be366172bed5359a016dce26b952024c9607caf6af609ad723982c2e06"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 2000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 3000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2500, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100004500,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 500},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 2000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("51f538be366172bed5359a016dce26b952024c9607caf6af609ad723982c2e06"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100002000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               BlockHeight:    1,
+                                               CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1)},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+               },
+               {
+                       desc:                   "rollback from height 2 to 1, RoundVoteBlockNums is 2",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     2,
+                       rollbackToTargetHeight: 1,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("afee09925bea1695424450a91ad082a378f20534627fa5cb63f036846347ee08"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                               testutil.MustDecodeHash("51f538be366172bed5359a016dce26b952024c9607caf6af609ad723982c2e06"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 2000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 3000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2500, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100004500,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 500},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 1000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 1000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 2000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("51f538be366172bed5359a016dce26b952024c9607caf6af609ad723982c2e06"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("e2370262a129b90174195a76c298d872a56af042eae17657e154bcc46d41b3ba"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100002000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               BlockHeight:    1,
+                                               CoinbaseReward: map[string]uint64{"0001": consensus.BlockSubsidy(1)},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 100002000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+               },
+               {
+                       desc:                   "rollback from height 3 to 1, RoundVoteBlockNums is 2",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     2,
+                       rollbackToTargetHeight: 1,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            3,
+                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            3,
+                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("5b4d53fbc2a489847f34dd0e0c085797fe7cf0a3a9a2f3231d11bdad16dea2be"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 3, Spent: true},
+                                               testutil.MustDecodeHash("4c2b719d10fc6b9c2a7c343491ddd8c0d6bd57f9c6680bfda557689c182cf685"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                               testutil.MustDecodeHash("9fb6f213e3130810e755675707d0e9870c79a91c575638a580fae65568ca9e99"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("3d1617908e624a2042c23be4f671b261d5b8a2a61b8421ee6a702c6e071428a8"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 100000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 100000000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 200000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000-2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 300000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 250000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            3,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, consensus.BlockSubsidy(1)+consensus.BlockSubsidy(2)+50002000, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 400000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 160000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 2,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 609998000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("0c1cd1c0a6e6161f437c382cca21ce28921234ed7c4f252f7e4bbc9a523b74ac"),
+                                               BlockHeight:    3,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(3) + 240000000},
+                                       },
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 449998000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 50002000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            1,
+                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 100000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 100000000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 200000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000-2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("9fb6f213e3130810e755675707d0e9870c79a91c575638a580fae65568ca9e99"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("3d1617908e624a2042c23be4f671b261d5b8a2a61b8421ee6a702c6e071428a8"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000 + 100000000 - 2000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               BlockHeight:    1,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(1) + 2000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+               },
+               {
+                       desc:                   "rollback from height 3 to 2, RoundVoteBlockNums is 2",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     2,
+                       rollbackToTargetHeight: 2,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            3,
+                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            3,
+                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("5b4d53fbc2a489847f34dd0e0c085797fe7cf0a3a9a2f3231d11bdad16dea2be"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 3, Spent: true},
+                                               testutil.MustDecodeHash("4c2b719d10fc6b9c2a7c343491ddd8c0d6bd57f9c6680bfda557689c182cf685"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                               testutil.MustDecodeHash("9fb6f213e3130810e755675707d0e9870c79a91c575638a580fae65568ca9e99"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("3d1617908e624a2042c23be4f671b261d5b8a2a61b8421ee6a702c6e071428a8"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 100000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 100000000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 200000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000-2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 300000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 250000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            3,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, consensus.BlockSubsidy(1)+consensus.BlockSubsidy(2)+50002000, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 400000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 160000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 2,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 609998000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("0c1cd1c0a6e6161f437c382cca21ce28921234ed7c4f252f7e4bbc9a523b74ac"),
+                                               BlockHeight:    3,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(3) + 240000000},
+                                       },
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 449998000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 50002000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 100000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 100000000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 200000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000-2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 300000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 250000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("9fb6f213e3130810e755675707d0e9870c79a91c575638a580fae65568ca9e99"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("3d1617908e624a2042c23be4f671b261d5b8a2a61b8421ee6a702c6e071428a8"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                               testutil.MustDecodeHash("4c2b719d10fc6b9c2a7c343491ddd8c0d6bd57f9c6680bfda557689c182cf685"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000 + 100000000 - 2000 + 250000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 50002000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+               },
+               {
+                       desc:                   "rollback from height 4 to 2, there is two chain , and round vote block nums is 2",
+                       movStartHeight:         10,
+                       RoundVoteBlockNums:     2,
+                       rollbackToTargetHeight: 2,
+                       beforeChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            5,
+                                       Timestamp:         uint64(1528945008),
+                                       PreviousBlockHash: testutil.MustDecodeHash("64a41230412f26a5c0a1734515d9e177bd3573be2ae1d55c4533509a7c9cce8e"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            5,
+                                       Timestamp:         uint64(1528945008),
+                                       PreviousBlockHash: testutil.MustDecodeHash("64a41230412f26a5c0a1734515d9e177bd3573be2ae1d55c4533509a7c9cce8e"),
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("3c07f3159d4e2a0527129d644a8fcd09ce26555e94c9c7f348464120ef463275"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 5, Spent: true},
+                                               testutil.MustDecodeHash("927144d2a391e17dc12184f5ae163b994984132ad72c34d854bb9009b68cd4cc"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 4, Spent: true},
+                                               testutil.MustDecodeHash("fa43f4ca43bcb0e94d43b52c56d1740dea1329b59a44f6ee045d70446881c514"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 3, Spent: true},
+                                               testutil.MustDecodeHash("f081ccd0c97ae34bc5580a0405d9b1ed0b0ed9e1410f1786b7112b348a412e3d"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 4, Spent: true},
+                                               testutil.MustDecodeHash("2704fa67c76e020b08ffa3f93a500acebcaf68b45ba43d8b3b08b68c5bb1eff1"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 3, Spent: true},
+                                               testutil.MustDecodeHash("4c2b719d10fc6b9c2a7c343491ddd8c0d6bd57f9c6680bfda557689c182cf685"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                               testutil.MustDecodeHash("9fb6f213e3130810e755675707d0e9870c79a91c575638a580fae65568ca9e99"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("3d1617908e624a2042c23be4f671b261d5b8a2a61b8421ee6a702c6e071428a8"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                       },
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 100000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 100000000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 200000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000-2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 300000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 250000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            3,
+                                                       Timestamp:         uint64(1528945000),
+                                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, consensus.BlockSubsidy(1)+consensus.BlockSubsidy(2)+50002000, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 440000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 160000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            4,
+                                                       Timestamp:         uint64(1528945005),
+                                                       PreviousBlockHash: testutil.MustDecodeHash("bec3dd0d6fecb80a6f3a0373ec2ae676cc1ce72af83546f3d4672231c9b080e6"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 500000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 160000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            3,
+                                                       Timestamp:         uint64(1528945001),
+                                                       PreviousBlockHash: testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, consensus.BlockSubsidy(1)+consensus.BlockSubsidy(2)+50002000, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 402000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            4,
+                                                       Timestamp:         uint64(1528945006),
+                                                       PreviousBlockHash: testutil.MustDecodeHash("1d2d01a97d1239de51b4e7d0fb522f71771d2d4f9a0a559154519859cc44a230"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 410000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 170000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            5,
+                                                       Timestamp:         uint64(1528945008),
+                                                       PreviousBlockHash: testutil.MustDecodeHash("64a41230412f26a5c0a1734515d9e177bd3573be2ae1d55c4533509a7c9cce8e"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, consensus.BlockSubsidy(3)+consensus.BlockSubsidy(4)+520000000, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 400004000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 160004000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 3,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 980002000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("075ce54f7d4c1b524474265219be52238beec98138f0c0a4d21f1a6b0047914a"),
+                                               BlockHeight:    5,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(5) + 240000000},
+                                       },
+                                       {
+                                               Seq: 2,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 819998000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("64a41230412f26a5c0a1734515d9e177bd3573be2ae1d55c4533509a7c9cce8e"),
+                                               BlockHeight:    4,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(3) + consensus.BlockSubsidy(4) + 442000000},
+                                       },
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 449998000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 50002000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                       },
+                       wantChainData: &chainData{
+                               bestBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               lastIrrBlockHeader: &types.BlockHeader{
+                                       Height:            2,
+                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                               },
+                               storedBlocks: []*types.Block{
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height: 0,
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 100000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 100000000, []byte{0, 1}, testutil.MustDecodeHexString("36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            1,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs:  []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51})},
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 200000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 200000000-2000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                                       {
+                                               BlockHeader: types.BlockHeader{
+                                                       Height:            2,
+                                                       PreviousBlockHash: testutil.MustDecodeHash("52463075c66259098f2a1fa711288cf3b866d7c57b4a7a78cd22a1dcd69a0514"),
+                                               },
+                                               Transactions: []*types.Tx{
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{types.NewCoinbaseInput([]byte{0x01})},
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewIntraChainOutput(bc.AssetID{}, 0, []byte{0x51}),
+                                                               },
+                                                       }),
+                                                       types.NewTx(types.TxData{
+                                                               Inputs: []*types.TxInput{
+                                                                       types.NewSpendInput(nil, bc.NewHash([32]byte{8}), *consensus.BTMAssetID, 300000000, 0, []byte{0, 1}),
+                                                               },
+                                                               Outputs: []*types.TxOutput{
+                                                                       types.NewVoteOutput(*consensus.BTMAssetID, 250000000, []byte{0, 1}, testutil.MustDecodeHexString("b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9")),
+                                                               },
+                                                       }),
+                                               },
+                                       },
+                               },
+                               consensusResults: []*state.ConsensusResult{
+                                       {
+                                               Seq: 1,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000 + 100000000 - 2000 + 250000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("699d3f59d4afe7eea85df31814628d7d34ace7f5e76d6c9ebf4c54482d2cd333"),
+                                               BlockHeight:    2,
+                                               CoinbaseReward: map[string]uint64{"51": consensus.BlockSubsidy(1) + consensus.BlockSubsidy(2) + 50002000},
+                                       },
+                                       {
+                                               Seq: 0,
+                                               NumOfVote: map[string]uint64{
+                                                       "b7f463446a31b3792cd168d52b7a89b3657bca3e25d6854db1488c389ab6fc8d538155c25c1ee6975cc7def19710908c7d9b7463ca34a22058b456b45e498db9": 100000000,
+                                                       "36695997983028c279c3360ca345a90e3af1f9e3df2506119fca31cdc844be31630f9a421f4d1658e15d67a15ce29c36332dd45020d2a0147fcce4949ccd9a67": 200000000,
+                                               },
+                                               BlockHash:      testutil.MustDecodeHash("39dee75363127a2857f554d2ad2706eb876407a2e09fbe0338683ca4ad4c2f90"),
+                                               BlockHeight:    0,
+                                               CoinbaseReward: map[string]uint64{},
+                                       },
+                               },
+                               utxoViewPoint: &state.UtxoViewpoint{
+                                       Entries: map[bc.Hash]*storage.UtxoEntry{
+                                               testutil.MustDecodeHash("9fb6f213e3130810e755675707d0e9870c79a91c575638a580fae65568ca9e99"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 1, Spent: true},
+                                               testutil.MustDecodeHash("3d1617908e624a2042c23be4f671b261d5b8a2a61b8421ee6a702c6e071428a8"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 0, Spent: true},
+                                               testutil.MustDecodeHash("4c2b719d10fc6b9c2a7c343491ddd8c0d6bd57f9c6680bfda557689c182cf685"): &storage.UtxoEntry{Type: storage.VoteUTXOType, BlockHeight: 2, Spent: true},
+                                       },
+                               },
+                       },
+               },
+       }
+
+       for i, c := range cases {
+               consensus.ActiveNetParams.RoundVoteBlockNums = c.RoundVoteBlockNums
+
+               movDB := dbm.NewDB("mov_db", "leveldb", "mov_db")
+               movCore := mov.NewCoreWithDB(movDatabase.NewLevelDBMovStore(movDB), c.movStartHeight)
+
+               blockDB := dbm.NewDB("block_db", "leveldb", "block_db")
+               store := database.NewStore(blockDB)
+
+               mustSaveBlocks(c.beforeChainData.storedBlocks, store)
+
+               var mainChainBlockHeaders []*types.BlockHeader
+               for _, block := range c.beforeChainData.storedBlocks {
+                       mainChainBlockHeaders = append(mainChainBlockHeaders, &block.BlockHeader)
+               }
+               if err := store.SaveChainStatus(c.beforeChainData.bestBlockHeader, c.beforeChainData.lastIrrBlockHeader, mainChainBlockHeaders, c.beforeChainData.utxoViewPoint, c.beforeChainData.consensusResults); err != nil {
+                       t.Fatal(err)
+               }
+
+               chain, err := protocol.NewChain(store, nil, []protocol.SubProtocol{movCore}, nil)
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               if err := chain.Rollback(c.rollbackToTargetHeight); err != nil {
+                       t.Fatal(err)
+               }
+
+               if !testutil.DeepEqual(chain.LastIrreversibleHeader(), c.wantChainData.lastIrrBlockHeader) {
+                       t.Errorf("lastIrrBlockHeader is not right!")
+               }
+
+               if !testutil.DeepEqual(chain.BestBlockHeader(), c.wantChainData.bestBlockHeader) {
+                       t.Errorf("wantBestBlockHeader is not right!")
+               }
+
+               gotConsensusResults := mustGetConsensusResultFromStore(store, chain)
+               if !testutil.DeepEqual(gotConsensusResults, c.wantChainData.consensusResults) {
+                       t.Errorf("cases#%d(%s) wantBestConsensusResult is not right!", i, c.desc)
+               }
+
+               gotBlocks := mustGetBlocksFromStore(chain)
+               if !blocksEquals(gotBlocks, c.wantChainData.storedBlocks) {
+                       t.Errorf("cases#%d(%s) the blocks is not same!", i, c.desc)
+               }
+
+               gotTransactions := getBcTransactions(gotBlocks)
+               gotUtxoViewPoint := state.NewUtxoViewpoint()
+               if err = store.GetTransactionsUtxo(gotUtxoViewPoint, gotTransactions); err != nil {
+                       t.Fatal(err)
+               }
+
+               if !testutil.DeepEqual(gotUtxoViewPoint, c.wantChainData.utxoViewPoint) {
+                       t.Fatal(err)
+               }
+
+               blockDB.Close()
+               os.RemoveAll("block_db")
+               movDB.Close()
+               os.RemoveAll("mov_db")
+
+       }
+}
+
+func blocksEquals(blocks1 []*types.Block, blocks2 []*types.Block) bool {
+       blockHashMap1 := make(map[string]interface{})
+       for _, block := range blocks1 {
+               hash := block.Hash()
+               blockHashMap1[hash.String()] = nil
+       }
+
+       blockHashMap2 := make(map[string]interface{})
+       for _, block := range blocks2 {
+               hash := block.Hash()
+               blockHashMap2[hash.String()] = nil
+       }
+       return testutil.DeepEqual(blockHashMap1, blockHashMap2)
+}
+
+func getBcTransactions(blocks []*types.Block) []*bc.Tx {
+       var txs []*bc.Tx
+       for _, block := range blocks {
+               for _, tx := range block.Transactions {
+                       txs = append(txs, tx.Tx)
+               }
+       }
+       return txs
+}
+
+func mustSaveBlocks(blocks []*types.Block, store *database.Store) {
+       for _, block := range blocks {
+               status := bc.NewTransactionStatus()
+               for index := range block.Transactions {
+                       if err := status.SetStatus(index, false); err != nil {
+                               panic(err)
+                       }
+               }
+               if err := store.SaveBlock(block, status); err != nil {
+                       panic(err)
+               }
+       }
+}
+
+func mustGetBlocksFromStore(chain *protocol.Chain) []*types.Block {
+       var blocks []*types.Block
+       for height := int64(chain.BestBlockHeight()); height >= 0; height-- {
+               block, err := chain.GetBlockByHeight(uint64(height))
+               if err != nil {
+                       panic(err)
+               }
+
+               blocks = append(blocks, block)
+       }
+       return blocks
+}
+
+func mustGetConsensusResultFromStore(store *database.Store, chain *protocol.Chain) []*state.ConsensusResult {
+       var consensusResults []*state.ConsensusResult
+       for seq := int64(state.CalcVoteSeq(chain.BestBlockHeight())); seq >= 0; seq-- {
+               consensusResult, err := store.GetConsensusResult(uint64(seq))
+               if err != nil {
+                       panic(err)
+               }
+
+               consensusResults = append(consensusResults, consensusResult)
+       }
+       return consensusResults
+}
diff --git a/test/subprotocol_test.go b/test/subprotocol_test.go
new file mode 100644 (file)
index 0000000..36ca3a5
--- /dev/null
@@ -0,0 +1,235 @@
+package test
+
+import (
+       "os"
+       "testing"
+
+       "github.com/bytom/vapor/application/mov"
+       movDatabase "github.com/bytom/vapor/application/mov/database"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
+       "github.com/bytom/vapor/testutil"
+)
+
+type chainStatus struct {
+       blockHeight uint64
+       blockHash   bc.Hash
+}
+
+type chainBlock struct {
+       block       *types.Block
+       inMainChain bool
+}
+
+var blocks = map[uint64][]*types.Block{
+       0: {
+               {
+                       BlockHeader: types.BlockHeader{
+                               Height:            0,
+                               Timestamp:         1585814309,
+                               PreviousBlockHash: bc.Hash{},
+                       },
+               },
+       },
+       1: {
+               // prev block is [0][0]
+               {
+                       BlockHeader: types.BlockHeader{
+                               Height:            1,
+                               Timestamp:         1585814310,
+                               PreviousBlockHash: testutil.MustDecodeHash("2e5406c82fe34f6ee44fe694b05ffc8fb5918a026415b086df03fb03760b42a9"),
+                       },
+               },
+               // prev block is [0][0]
+               {
+                       BlockHeader: types.BlockHeader{
+                               Height:            1,
+                               Timestamp:         1585814311,
+                               PreviousBlockHash: testutil.MustDecodeHash("2e5406c82fe34f6ee44fe694b05ffc8fb5918a026415b086df03fb03760b42a9"),
+                       },
+               },
+       },
+       2: {
+               // prev block is [1][0]
+               {
+                       BlockHeader: types.BlockHeader{
+                               Height:            2,
+                               Timestamp:         1585814320,
+                               PreviousBlockHash: testutil.MustDecodeHash("5bc198f4c0198e7e8b52173a82836cfd3f124d88bf052f53390948d845bf6fe0"),
+                       },
+               },
+       },
+}
+
+func TestSyncProtocolStatus(t *testing.T) {
+       cases := []struct {
+               desc            string
+               savedBlocks     []*chainBlock
+               startHeight     uint64
+               startHash       *bc.Hash
+               wantChainStatus *chainStatus
+       }{
+               {
+                       desc: "start height from 0, mov is not init",
+                       savedBlocks: []*chainBlock{
+                               {
+                                       block:       blocks[0][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[1][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[2][0],
+                                       inMainChain: true,
+                               },
+                       },
+                       startHeight: 0,
+                       wantChainStatus: &chainStatus{
+                               blockHeight: 2,
+                               blockHash:   blocks[2][0].Hash(),
+                       },
+               },
+               {
+                       desc: "start height from 1, mov is not init",
+                       savedBlocks: []*chainBlock{
+                               {
+                                       block:       blocks[0][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[1][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[2][0],
+                                       inMainChain: true,
+                               },
+                       },
+                       startHeight: 1,
+                       wantChainStatus: &chainStatus{
+                               blockHeight: 2,
+                               blockHash:   blocks[2][0].Hash(),
+                       },
+               },
+               {
+                       desc: "start height from 1, state of mov is not sync completed",
+                       savedBlocks: []*chainBlock{
+                               {
+                                       block:       blocks[0][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[1][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[2][0],
+                                       inMainChain: true,
+                               },
+                       },
+                       startHeight: 1,
+                       startHash:   hashPtr(blocks[1][0].Hash()),
+                       wantChainStatus: &chainStatus{
+                               blockHeight: 2,
+                               blockHash:   blocks[2][0].Hash(),
+                       },
+               },
+               {
+                       desc: "chain status of mov is forked",
+                       savedBlocks: []*chainBlock{
+                               {
+                                       block:       blocks[0][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[1][0],
+                                       inMainChain: true,
+                               },
+                               {
+                                       block:       blocks[1][1],
+                                       inMainChain: false,
+                               },
+                               {
+                                       block:       blocks[2][0],
+                                       inMainChain: true,
+                               },
+                       },
+                       startHeight: 1,
+                       startHash:   hashPtr(blocks[1][1].Hash()),
+                       wantChainStatus: &chainStatus{
+                               blockHeight: 2,
+                               blockHash:   blocks[2][0].Hash(),
+                       },
+               },
+       }
+
+       defer os.RemoveAll("temp")
+
+       for i, c := range cases {
+               chainDB := dbm.NewDB("core", "leveldb", "temp")
+               store := database.NewStore(chainDB)
+               if err := initStore(store, c.savedBlocks); err != nil {
+                       t.Fatal(err)
+               }
+
+               movDB := dbm.NewDB("mov", "leveldb", "temp")
+               movCore := mov.NewCoreWithDB(movDatabase.NewLevelDBMovStore(movDB), c.startHeight)
+               if c.startHash != nil {
+                       if err := movCore.InitChainStatus(c.startHash); err != nil {
+                               t.Fatal(err)
+                       }
+               }
+
+               _, err := protocol.NewChain(store, nil, []protocol.SubProtocol{movCore}, nil)
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               gotHeight, gotHash, err := movCore.ChainStatus()
+               if err != nil {
+                       t.Fatal(err)
+               }
+
+               if gotHeight != c.wantChainStatus.blockHeight || *gotHash != c.wantChainStatus.blockHash {
+                       t.Logf("#%d(%s): got chain status of sub protocol is not equals want chain status", i, c.desc)
+               }
+
+               movDB.Close()
+               chainDB.Close()
+               os.RemoveAll("temp")
+       }
+}
+
+func initStore(store *database.Store, savedBlocks []*chainBlock) error {
+       var mainBlockHeaders []*types.BlockHeader
+       for _, block := range savedBlocks {
+               if err := store.SaveBlock(block.block, bc.NewTransactionStatus()); err != nil {
+                       return err
+               }
+
+               if block.inMainChain {
+                       mainBlockHeaders = append(mainBlockHeaders, &block.block.BlockHeader)
+               }
+
+               last := len(mainBlockHeaders) - 1
+               if err := store.SaveChainStatus(mainBlockHeaders[last], mainBlockHeaders[last], mainBlockHeaders, state.NewUtxoViewpoint(), nil); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+func hashPtr(hash bc.Hash) *bc.Hash {
+       return &hash
+}
+
+func TestBlockHash(t *testing.T) {
+       blockHash := blocks[1][0].Hash()
+       t.Log(blockHash.String())
+}
index f8ce45d..c0eaa54 100644 (file)
@@ -5,22 +5,22 @@ import (
        "fmt"
        "time"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 // TxGenerator used to generate new tx
index 54b9b05..bcce45f 100644 (file)
@@ -4,19 +4,19 @@ import (
        "context"
        "time"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/vm"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/vm"
 )
 
 const (
@@ -29,8 +29,8 @@ func MockChain(testDB dbm.DB) (*protocol.Chain, *database.Store, *protocol.TxPoo
        config.CommonConfig = config.DefaultConfig()
        store := database.NewStore(testDB)
        dispatcher := event.NewDispatcher()
-       txPool := protocol.NewTxPool(store, dispatcher)
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       txPool := protocol.NewTxPool(store, nil, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, nil, dispatcher)
        return chain, store, txPool, err
 }
 
index 317f8ba..c3119e3 100644 (file)
@@ -4,16 +4,16 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/testutil"
 
        "github.com/golang/protobuf/proto"
 
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/database/storage"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/protocol/state"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/database/storage"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/protocol/state"
 )
 
 func TestAttachOrDetachBlocks(t *testing.T) {
index 1e021bc..fdcf790 100644 (file)
@@ -3,10 +3,10 @@ package utxo_view
 import (
        "encoding/hex"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
 )
 
 const utxoPreFix = "UT:"
index fe4509c..4a656d7 100644 (file)
@@ -7,21 +7,21 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       wt "github.com/vapor/wallet"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       wt "github.com/bytom/vapor/wallet"
 )
 
 func TestWalletUpdate(t *testing.T) {
@@ -41,9 +41,9 @@ func TestWalletUpdate(t *testing.T) {
        store := database.NewStore(testDB)
        walletStore := database.NewWalletStore(testDB)
        dispatcher := event.NewDispatcher()
-       txPool := protocol.NewTxPool(store, dispatcher)
+       txPool := protocol.NewTxPool(store, nil, dispatcher)
 
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, nil, dispatcher)
        if err != nil {
                t.Fatal(err)
        }
@@ -140,8 +140,8 @@ func TestRescanWallet(t *testing.T) {
 
        store := database.NewStore(testDB)
        dispatcher := event.NewDispatcher()
-       txPool := protocol.NewTxPool(store, dispatcher)
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       txPool := protocol.NewTxPool(store, nil, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, nil, dispatcher)
        if err != nil {
                t.Fatal(err)
        }
@@ -191,9 +191,9 @@ func TestMemPoolTxQueryLoop(t *testing.T) {
 
        store := database.NewStore(testDB)
        dispatcher := event.NewDispatcher()
-       txPool := protocol.NewTxPool(store, dispatcher)
+       txPool := protocol.NewTxPool(store, nil, dispatcher)
 
-       chain, err := protocol.NewChain(store, txPool, dispatcher)
+       chain, err := protocol.NewChain(store, txPool, nil, dispatcher)
        if err != nil {
                t.Fatal(err)
        }
index 570aecc..a3c1e19 100644 (file)
@@ -7,17 +7,17 @@ import (
        "path"
        "reflect"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/database"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
-       w "github.com/vapor/wallet"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/database"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
+       w "github.com/bytom/vapor/wallet"
 )
 
 type walletTestConfig struct {
@@ -251,6 +251,11 @@ func (cfg *walletTestConfig) Run() error {
        if err != nil {
                return err
        }
+
+       if err = wallet.Run(); err != nil {
+               return err
+       }
+
        ctx := &walletTestContext{
                Wallet: wallet,
                Chain:  chain,
index 84fbdc9..c399452 100644 (file)
@@ -6,7 +6,7 @@ import (
        "io"
        "testing"
 
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 func MustDecodeHash(s string) (h bc.Hash) {
index 4fdbed7..070f8b1 100644 (file)
@@ -1,8 +1,8 @@
 package testutil
 
 import (
-       "github.com/vapor/crypto/ed25519"
-       "github.com/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
 )
 
 var (
index 818f7ee..f1a24d8 100644 (file)
@@ -3,12 +3,12 @@ package apinode
 import (
        "encoding/json"
 
-       "github.com/vapor/api"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/errors"
 )
 
 func (n *Node) CreateKey(alias, password string) (*api.CreateKeyResp, error) {
index 50ac53f..8a7cf5a 100644 (file)
@@ -3,9 +3,9 @@ package apinode
 import (
        "encoding/json"
 
-       "github.com/vapor/api"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 func (n *Node) GetBlockByHash(hash string) (*types.Block, error) {
@@ -16,6 +16,16 @@ func (n *Node) GetBlockByHeight(height uint64) (*types.Block, error) {
        return n.getRawBlock(&getRawBlockReq{BlockHeight: height})
 }
 
+type getBlockCountResp struct {
+       BlockCount uint64 `json:"block_count"`
+}
+
+func (n *Node) GetBlockCount() (uint64, error) {
+       url := "/get-block-count"
+       res := &getBlockCountResp{}
+       return res.BlockCount, n.request(url, nil, res)
+}
+
 type getRawBlockReq struct {
        BlockHeight uint64 `json:"block_height"`
        BlockHash   string `json:"block_hash"`
index d15c068..f093236 100644 (file)
@@ -3,9 +3,9 @@ package apinode
 import (
        "encoding/json"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 // Node can invoke the api which provide by the full node server
index 4bbae41..902aba3 100644 (file)
@@ -4,9 +4,9 @@ import (
        "encoding/json"
        "testing"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 func buildTxRequest(accountID string, outputs map[string]uint64) ([]byte, error) {
index 9486a09..c04f172 100644 (file)
@@ -3,11 +3,11 @@ package apinode
 import (
        "encoding/json"
 
-       "github.com/vapor/api"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/errors"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/wallet"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/wallet"
 )
 
 func (n *Node) ListAddresses(accountAlias string, from, count uint) (*[]api.AddressResp, error) {
index 4e9c242..3112595 100644 (file)
@@ -4,11 +4,11 @@ import (
        "encoding/hex"
        "encoding/json"
 
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 type SpendAccountAction struct {
index d6f7193..aa352ce 100644 (file)
@@ -3,10 +3,10 @@ package common
 import (
        "errors"
 
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/protocol/vm/vmutil"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/protocol/vm/vmutil"
 )
 
 func GetAddressFromControlProgram(prog []byte) string {
index 50983b1..36dffd8 100644 (file)
@@ -3,8 +3,8 @@ package common
 import (
        "sort"
 
-       "github.com/vapor/api"
-       "github.com/vapor/consensus"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/consensus"
 )
 
 const NumOfBPNode = 42
index 6519445..bcfee19 100644 (file)
@@ -6,7 +6,7 @@ import (
        _ "github.com/go-sql-driver/mysql"
        "github.com/jinzhu/gorm"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 func NewMySQLDB(cfg MySQLConfig) (*gorm.DB, error) {
index 63b675e..699b496 100644 (file)
@@ -1,18 +1,19 @@
 package consensusreward
 
 import (
-       "math/big"
-
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/toolbar/apinode"
-       "github.com/vapor/toolbar/common"
-       "github.com/vapor/toolbar/consensusreward/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/toolbar/apinode"
+       "github.com/bytom/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/consensusreward/config"
 )
 
-const standbyNodesRewardForConsensusCycle = 7610350076 // 400000000000000 / (365 * 24 * 60 / (500 * 1200 / 1000 / 60))
+const (
+       standbyNodesRewardForConsensusCycle = 7610350076 // 400000000000000 / (365 * 24 * 60 / (500 * 1200 / 1000 / 60))
+       StandbyNodeNum                      = 32
+)
 
 type StandbyNodeReward struct {
        cfg         *config.Config
@@ -39,16 +40,8 @@ func (s *StandbyNodeReward) getStandbyNodeReward(height uint64) error {
        }
 
        voteInfos = common.CalcStandByNodes(voteInfos)
-       totalVoteNum := uint64(0)
-       for _, voteInfo := range voteInfos {
-               totalVoteNum += voteInfo.VoteNum
-       }
-
-       total := big.NewInt(0).SetUint64(totalVoteNum)
        for _, voteInfo := range voteInfos {
-               amount := big.NewInt(0).SetUint64(standbyNodesRewardForConsensusCycle)
-               voteNum := big.NewInt(0).SetUint64(voteInfo.VoteNum)
-               s.xpubRewards[voteInfo.Vote] += amount.Mul(amount, voteNum).Div(amount, total).Uint64()
+               s.xpubRewards[voteInfo.Vote] += standbyNodesRewardForConsensusCycle / StandbyNodeNum
        }
        return nil
 }
index 8a23b9f..9702648 100644 (file)
@@ -7,10 +7,10 @@ import (
 
        "github.com/gin-gonic/gin"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/toolbar/federation/common"
-       "github.com/vapor/toolbar/federation/database/orm"
-       serverCommon "github.com/vapor/toolbar/server"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/toolbar/federation/common"
+       "github.com/bytom/vapor/toolbar/federation/database/orm"
+       serverCommon "github.com/bytom/vapor/toolbar/server"
 )
 
 type listCrosschainTxsReq struct{ serverCommon.Display }
@@ -34,7 +34,7 @@ func (s *Server) ListCrosschainTxs(c *gin.Context, listTxsReq *listCrosschainTxs
                txFilter.SourceTxHash = txHash
        }
        if txHash, err := listTxsReq.GetFilterString("dest_tx_hash"); err == nil && txHash != "" {
-               txFilter.DestTxHash = sql.NullString{txHash, true}
+               txFilter.DestTxHash = sql.NullString{String: txHash, Valid: true}
        }
 
        txQuery := s.db.Preload("Chain").Preload("Reqs").Preload("Reqs.Asset").Where(txFilter)
index 3df3925..a74319f 100644 (file)
@@ -4,8 +4,8 @@ import (
        "github.com/gin-gonic/gin"
        "github.com/jinzhu/gorm"
 
-       "github.com/vapor/toolbar/federation/config"
-       serverCommon "github.com/vapor/toolbar/server"
+       "github.com/bytom/vapor/toolbar/federation/config"
+       serverCommon "github.com/bytom/vapor/toolbar/server"
 )
 
 type Server struct {
index c02ed3d..4ac837d 100644 (file)
@@ -5,9 +5,9 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/wallet"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/wallet"
 )
 
 func ProgToAddress(prog []byte, netParams *consensus.Params) string {
index 45db1ba..b596a00 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       vaporJson "github.com/vapor/encoding/json"
-       "github.com/vapor/toolbar/common"
+       vaporJson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 func NewConfig() *Config {
index 54b09c5..64129d5 100644 (file)
@@ -6,8 +6,8 @@ import (
        "github.com/golang/groupcache/lru"
        "github.com/jinzhu/gorm"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/toolbar/federation/database/orm"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/toolbar/federation/database/orm"
 )
 
 const (
index 1d39d49..34917c6 100644 (file)
@@ -1,15 +1,16 @@
 package orm
 
 import (
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 type Asset struct {
-       ID              uint64           `gorm:"primary_key;foreignkey:ID" json:"-"`
-       AssetID         string           `json:"asset_id"`
-       IssuanceProgram string           `json:"-"`
-       VMVersion       uint64           `json:"-"`
-       Definition      string           `json:"-"`
-       CreatedAt       common.Timestamp `json:"-"`
-       UpdatedAt       common.Timestamp `json:"-"`
+       ID                    uint64           `gorm:"primary_key;foreignkey:ID" json:"-"`
+       AssetID               string           `json:"asset_id"`
+       IssuanceProgram       string           `json:"-"`
+       VMVersion             uint64           `json:"-"`
+       Definition            string           `json:"-"`
+       IsOpenFederationIssue bool             `json:"_"`
+       CreatedAt             common.Timestamp `json:"-"`
+       UpdatedAt             common.Timestamp `json:"-"`
 }
index 92656eb..b727f85 100644 (file)
@@ -1,7 +1,7 @@
 package orm
 
 import (
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 type Chain struct {
index 6c424db..af57b89 100644 (file)
@@ -4,9 +4,9 @@ import (
        "database/sql"
        "encoding/json"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/toolbar/common"
-       fedCommon "github.com/vapor/toolbar/federation/common"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/toolbar/common"
+       fedCommon "github.com/bytom/vapor/toolbar/federation/common"
 )
 
 type CrossTransaction struct {
index 2719561..261cc27 100644 (file)
@@ -1,7 +1,7 @@
 package orm
 
 import (
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 type CrossTransactionReq struct {
index 9b5a856..48aac54 100644 (file)
@@ -3,9 +3,10 @@ package service
 import (
        "encoding/json"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 // Node can invoke the api which provide by the full node server
@@ -36,6 +37,12 @@ func (n *Node) GetBlockCount() (uint64, error) {
        return res.BlockCount, n.request(url, nil, res)
 }
 
+func (n *Node) GetNetInfo() (*api.NetInfo, error) {
+       url := "/net-info"
+       res := &api.NetInfo{}
+       return res, n.request(url, nil, res)
+}
+
 type getRawBlockReq struct {
        BlockHeight uint64 `json:"block_height"`
        BlockHash   string `json:"block_hash"`
index 5e58fde..95a422e 100644 (file)
@@ -1,7 +1,7 @@
 package synchron
 
 import (
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 var (
index 8bb13d0..3606339 100644 (file)
@@ -14,14 +14,15 @@ import (
        "github.com/jinzhu/gorm"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/toolbar/federation/common"
-       "github.com/vapor/toolbar/federation/config"
-       "github.com/vapor/toolbar/federation/database"
-       "github.com/vapor/toolbar/federation/database/orm"
-       "github.com/vapor/toolbar/federation/service"
+       vpCommon "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/toolbar/federation/common"
+       "github.com/bytom/vapor/toolbar/federation/config"
+       "github.com/bytom/vapor/toolbar/federation/database"
+       "github.com/bytom/vapor/toolbar/federation/database/orm"
+       "github.com/bytom/vapor/toolbar/federation/service"
 )
 
 type mainchainKeeper struct {
@@ -53,6 +54,8 @@ func NewMainchainKeeper(db *gorm.DB, assetStore *database.AssetStore, cfg *confi
 
 func (m *mainchainKeeper) Run() {
        ticker := time.NewTicker(time.Duration(m.cfg.SyncSeconds) * time.Second)
+       defer ticker.Stop()
+
        for ; true; <-ticker.C {
                for {
                        isUpdate, err := m.syncBlock()
@@ -86,6 +89,10 @@ func (m *mainchainKeeper) createCrossChainReqs(db *gorm.DB, crossTransactionID u
                        return err
                }
 
+               if asset.IsOpenFederationIssue {
+                       continue
+               }
+
                req := &orm.CrossTransactionReq{
                        CrossTransactionID: crossTransactionID,
                        SourcePos:          uint64(i),
@@ -103,30 +110,42 @@ func (m *mainchainKeeper) createCrossChainReqs(db *gorm.DB, crossTransactionID u
        return nil
 }
 
-func (m *mainchainKeeper) isDepositTx(tx *types.Tx) bool {
+func (m *mainchainKeeper) isDepositTx(tx *types.Tx) (bool, error) {
        for _, input := range tx.Inputs {
                if bytes.Equal(input.ControlProgram(), m.federationProg) {
-                       return false
+                       return false, nil
                }
        }
 
        for _, output := range tx.Outputs {
-               if bytes.Equal(output.OutputCommitment.ControlProgram, m.federationProg) {
-                       return true
+               if !bytes.Equal(output.OutputCommitment.ControlProgram, m.federationProg) {
+                       continue
+               }
+
+               if isOFAsset, err := m.isOpenFederationAsset(output.AssetId); err != nil {
+                       return false, err
+               } else if !isOFAsset {
+                       return true, nil
                }
        }
-       return false
+       return false, nil
 }
 
-func (m *mainchainKeeper) isWithdrawalTx(tx *types.Tx) bool {
+func (m *mainchainKeeper) isWithdrawalTx(tx *types.Tx) (bool, error) {
        for _, input := range tx.Inputs {
                if !bytes.Equal(input.ControlProgram(), m.federationProg) {
-                       return false
+                       return false, nil
+               }
+
+               if isOFAsset, err := m.isOpenFederationAsset(input.AssetAmount().AssetId); err != nil {
+                       return false, err
+               } else if isOFAsset {
+                       return false, nil
                }
        }
 
        sourceTxHash := locateSideChainTx(tx.Outputs[len(tx.Outputs)-1])
-       return sourceTxHash != ""
+       return sourceTxHash != "", nil
 }
 
 func locateSideChainTx(output *types.TxOutput) string {
@@ -156,13 +175,17 @@ func (m *mainchainKeeper) processBlock(db *gorm.DB, block *types.Block, txStatus
                        return err
                }
 
-               if m.isDepositTx(tx) {
+               if isDeposit, err := m.isDepositTx(tx); err != nil {
+                       return err
+               } else if isDeposit {
                        if err := m.processDepositTx(db, block, txStatus, i); err != nil {
                                return err
                        }
                }
 
-               if m.isWithdrawalTx(tx) {
+               if isWithdrawal, err := m.isWithdrawalTx(tx); err != nil {
+                       return err
+               } else if isWithdrawal {
                        if err := m.processWithdrawalTx(db, block, i); err != nil {
                                return err
                        }
@@ -188,6 +211,15 @@ func (m *mainchainKeeper) processChainInfo(db *gorm.DB, block *types.Block) erro
        return nil
 }
 
+func (m *mainchainKeeper) isOpenFederationAsset(assetID *btmBc.AssetID) (bool, error) {
+       asset, err := m.assetStore.GetByAssetID(assetID.String())
+       if err != nil {
+               return false, err
+       }
+
+       return asset.IsOpenFederationIssue, nil
+}
+
 func (m *mainchainKeeper) processDepositTx(db *gorm.DB, block *types.Block, txStatus *bc.TransactionStatus, txIndex int) error {
        tx := block.Transactions[txIndex]
        var muxID btmBc.Hash
@@ -242,10 +274,11 @@ func (m *mainchainKeeper) processIssuance(tx *types.Tx) error {
                }
 
                asset := &orm.Asset{
-                       AssetID:         assetID.String(),
-                       IssuanceProgram: hex.EncodeToString(issuance.IssuanceProgram),
-                       VMVersion:       issuance.VMVersion,
-                       Definition:      string(issuance.AssetDefinition),
+                       AssetID:               assetID.String(),
+                       IssuanceProgram:       hex.EncodeToString(issuance.IssuanceProgram),
+                       VMVersion:             issuance.VMVersion,
+                       Definition:            string(issuance.AssetDefinition),
+                       IsOpenFederationIssue: vpCommon.IsOpenFederationIssueAsset(issuance.AssetDefinition),
                }
 
                if err := m.db.Create(asset).Error; err != nil {
index 80061f1..707fdfc 100644 (file)
@@ -9,15 +9,15 @@ import (
        "github.com/jinzhu/gorm"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/toolbar/federation/common"
-       "github.com/vapor/toolbar/federation/config"
-       "github.com/vapor/toolbar/federation/database"
-       "github.com/vapor/toolbar/federation/database/orm"
-       "github.com/vapor/toolbar/federation/service"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/toolbar/federation/common"
+       "github.com/bytom/vapor/toolbar/federation/config"
+       "github.com/bytom/vapor/toolbar/federation/database"
+       "github.com/bytom/vapor/toolbar/federation/database/orm"
+       "github.com/bytom/vapor/toolbar/federation/service"
 )
 
 type sidechainKeeper struct {
@@ -78,6 +78,10 @@ func (s *sidechainKeeper) createCrossChainReqs(db *gorm.DB, crossTransactionID u
                        return err
                }
 
+               if asset.IsOpenFederationIssue {
+                       continue
+               }
+
                prog := rawOutput.ControlProgram()
                req := &orm.CrossTransactionReq{
                        CrossTransactionID: crossTransactionID,
@@ -96,33 +100,49 @@ func (s *sidechainKeeper) createCrossChainReqs(db *gorm.DB, crossTransactionID u
        return nil
 }
 
-func (s *sidechainKeeper) isDepositTx(tx *types.Tx) bool {
+func (s *sidechainKeeper) isDepositTx(tx *types.Tx) (bool, error) {
        for _, input := range tx.Inputs {
-               if input.InputType() == types.CrossChainInputType {
-                       return true
+               if input.InputType() != types.CrossChainInputType {
+                       continue
+               }
+
+               if isOFAsset, err := s.isOpenFederationAsset(input.AssetAmount().AssetId); err != nil {
+                       return false, err
+               } else if !isOFAsset {
+                       return true, nil
                }
        }
-       return false
+       return false, nil
 }
 
-func (s *sidechainKeeper) isWithdrawalTx(tx *types.Tx) bool {
+func (s *sidechainKeeper) isWithdrawalTx(tx *types.Tx) (bool, error) {
        for _, output := range tx.Outputs {
-               if output.OutputType() == types.CrossChainOutputType {
-                       return true
+               if output.OutputType() != types.CrossChainOutputType {
+                       continue
+               }
+
+               if isOFAsset, err := s.isOpenFederationAsset(output.AssetAmount().AssetId); err != nil {
+                       return false, err
+               } else if !isOFAsset {
+                       return true, nil
                }
        }
-       return false
+       return false, nil
 }
 
 func (s *sidechainKeeper) processBlock(db *gorm.DB, block *types.Block, txStatus *bc.TransactionStatus) error {
        for i, tx := range block.Transactions {
-               if s.isDepositTx(tx) {
+               if isDeposit, err := s.isDepositTx(tx); err != nil {
+                       return err
+               } else if isDeposit {
                        if err := s.processDepositTx(db, block, i); err != nil {
                                return err
                        }
                }
 
-               if s.isWithdrawalTx(tx) {
+               if isWithdrawal, err := s.isWithdrawalTx(tx); err != nil {
+                       return err
+               } else if isWithdrawal {
                        if err := s.processWithdrawalTx(db, block, txStatus, i); err != nil {
                                return err
                        }
@@ -177,6 +197,15 @@ func (s *sidechainKeeper) processDepositTx(db *gorm.DB, block *types.Block, txIn
        return nil
 }
 
+func (s *sidechainKeeper) isOpenFederationAsset(assetID *bc.AssetID) (bool, error) {
+       asset, err := s.assetStore.GetByAssetID(assetID.String())
+       if err != nil {
+               return false, err
+       }
+
+       return asset.IsOpenFederationIssue, nil
+}
+
 func (s *sidechainKeeper) processWithdrawalTx(db *gorm.DB, block *types.Block, txStatus *bc.TransactionStatus, txIndex int) error {
        tx := block.Transactions[txIndex]
        var muxID bc.Hash
@@ -241,12 +270,12 @@ func (s *sidechainKeeper) syncBlock() (bool, error) {
                return false, errors.Wrap(err, "query chain")
        }
 
-       height, err := s.node.GetBlockCount()
+       netInfo, err := s.node.GetNetInfo()
        if err != nil {
                return false, err
        }
 
-       if height <= chain.BlockHeight+s.cfg.Confirmations {
+       if netInfo.IrreversibleBlock <= chain.BlockHeight+s.cfg.Confirmations {
                return false, nil
        }
 
diff --git a/toolbar/measure/README.md b/toolbar/measure/README.md
new file mode 100644 (file)
index 0000000..8661be1
--- /dev/null
@@ -0,0 +1,21 @@
+Measure is a tool for help precise analysis of the performance of the goroutine, and it's designed for thread-safe. 
+Just simply call Start() and defer End() on top of the function it will handle all the stack issue and print the tree
+struct result when the root function is ended.
+
+#sample usage
+func processBlock() {
+       measure.Start()
+       defer measure.End()
+
+       ......
+}
+
+
+#sample result
+|--github.com/bytom/vapor/protocol.(*Chain).processBlock: 9.009746ms (100.00)
+  |--github.com/bytom/vapor/protocol.(*Chain).saveBlock: 8.086023ms (89.75)
+    |--github.com/bytom/vapor/protocol.(*Chain).validateSign: 1.443966ms (17.86)
+    |--github.com/bytom/vapor/protocol/validation.ValidateBlock: 195.333µs (2.42)
+      |--github.com/bytom/vapor/protocol/validation.ValidateBlockHeader: 26.48µs (13.56)
+      |--github.com/bytom/vapor/protocol/validation.ValidateTxs: 88.312µs (45.21)
+  |--github.com/bytom/vapor/protocol.(*Chain).connectBlock: 767.073µs (8.51)
\ No newline at end of file
diff --git a/toolbar/measure/method.go b/toolbar/measure/method.go
new file mode 100644 (file)
index 0000000..dbb3b63
--- /dev/null
@@ -0,0 +1,83 @@
+package measure
+
+import (
+       "fmt"
+       "runtime/debug"
+       "strings"
+       "sync"
+
+       log "github.com/sirupsen/logrus"
+)
+
+const (
+       logModule = "measure"
+)
+
+var store sync.Map
+
+// Start trigger record of stack trace run time record as a graph view
+func Start() {
+       routineID, stacks, err := traceStacks()
+       if err != nil {
+               log.WithFields(log.Fields{"module": logModule, "err": err}).Error("fail on measure get stacks")
+               return
+       }
+
+       data, ok := store.Load(routineID)
+       if !ok {
+               store.Store(routineID, NewTimer(stacks[0]))
+               return
+       }
+
+       if err := data.(*Timer).StartTimer(stacks); err != nil {
+               log.WithFields(log.Fields{"module": logModule, "err": err, "routine": routineID, "stack": stacks}).Error("fail on start timer")
+       }
+}
+
+// End end the stack trace run time
+func End() {
+       routineID, stacks, err := traceStacks()
+       if err != nil {
+               log.WithFields(log.Fields{"module": logModule, "err": err}).Error("fail on measure get stacks")
+               return
+       }
+
+       data, ok := store.Load(routineID)
+       if !ok {
+               log.WithFields(log.Fields{"module": logModule, "err": err}).Error("fail on measure timer by routine ID")
+               return
+       }
+
+       rootTimer := data.(*Timer)
+       if err := rootTimer.EndTimer(stacks); err != nil {
+               log.WithFields(log.Fields{"module": logModule, "err": err, "routine": routineID, "stack": stacks}).Error("fail on end timer")
+       }
+
+       if rootTimer.IsEnd() {
+               log.WithField("module", logModule).Info(rootTimer.String())
+               store.Delete(routineID)
+       }
+}
+
+func traceStacks() (string, []string, error) {
+       stacks := []string{}
+       for _, stack := range strings.Split(string(debug.Stack()), "\n") {
+               // skip the file path stack
+               if strings.HasPrefix(stack, "   ") {
+                       continue
+               }
+
+               // delete the func memory address stuff
+               if subPos := strings.LastIndexAny(stack, "("); subPos > 0 {
+                       stacks = append(stacks, stack[:subPos])
+               } else {
+                       stacks = append(stacks, stack)
+               }
+       }
+
+       if len(stacks) < 4 {
+               return "", nil, fmt.Errorf("fail to decode stack")
+       }
+
+       return stacks[0], stacks[4:], nil
+}
diff --git a/toolbar/measure/timer.go b/toolbar/measure/timer.go
new file mode 100644 (file)
index 0000000..801a4a2
--- /dev/null
@@ -0,0 +1,129 @@
+package measure
+
+import (
+       "fmt"
+       "strings"
+       "time"
+)
+
+const (
+       summaryPrefix = "|--"
+)
+
+// Timer is created for analysis of the function performance
+type Timer struct {
+       name  string
+       start *time.Time
+       total time.Duration
+
+       subtimerMap map[string]*Timer
+}
+
+// NewTimer create a new timer, only use for root timer only
+func NewTimer(name string) *Timer {
+       now := time.Now()
+       return &Timer{name: name, start: &now, subtimerMap: map[string]*Timer{}}
+}
+
+// StartTimer start track time for sub func
+func (t *Timer) StartTimer(stacks []string) error {
+       stacks, err := t.locateStack(stacks)
+       if err != nil {
+               return nil
+       }
+
+       return t.startSubtimer(stacks)
+}
+
+// String implement the print interface
+func (t *Timer) String() string {
+       return t.summary(0, t.total)
+}
+
+// EndTimer always run on end of the func
+func (t *Timer) EndTimer(stacks []string) error {
+       stacks, err := t.locateStack(stacks)
+       if err != nil {
+               return err
+       }
+
+       return t.endSubtimer(stacks)
+}
+
+// IsEnd check wheather the ticker is close
+func (t *Timer) IsEnd() bool {
+       return t.start == nil
+}
+
+func (t *Timer) startSubtimer(stacks []string) error {
+       if len(stacks) == 0 {
+               if !t.IsEnd() {
+                       return fmt.Errorf("try to start an unclose timer")
+               }
+
+               now := time.Now()
+               t.start = &now
+               return nil
+       }
+
+       nextStack := stacks[len(stacks)-1]
+       if _, ok := t.subtimerMap[nextStack]; !ok {
+               t.subtimerMap[nextStack] = &Timer{name: nextStack, subtimerMap: map[string]*Timer{}}
+       }
+
+       return t.subtimerMap[nextStack].startSubtimer(stacks[:len(stacks)-1])
+}
+
+func (t *Timer) endSubtimer(stacks []string) error {
+       if len(stacks) == 0 {
+               if t.IsEnd() {
+                       return fmt.Errorf("timer didn't start")
+               }
+
+               t.total += time.Now().Sub(*t.start)
+               t.start = nil
+               return nil
+       }
+
+       subtimer, ok := t.subtimerMap[stacks[len(stacks)-1]]
+       if !ok {
+               return fmt.Errorf("endSubtimer didn't find sub timer")
+       }
+
+       return subtimer.endSubtimer(stacks[:len(stacks)-1])
+}
+
+// locateStack is using to exclude dust stacks
+func (t *Timer) locateStack(stacks []string) ([]string, error) {
+       for i := len(stacks) - 1; i >= 0; i-- {
+               if stacks[i] == t.name {
+                       return stacks[:i], nil
+               }
+       }
+
+       return nil, fmt.Errorf("locateStack didn't match the expect stack")
+}
+
+// summary will convert the time spend graph to tree string
+func (t *Timer) summary(depth int, parentDuration time.Duration) string {
+       result := strings.Repeat("  ", depth) + summaryPrefix
+       result += t.name + ": "
+       if !t.IsEnd() {
+               return result + "<timer didn't ends>\n"
+       }
+
+       result += fmt.Sprintf("%s (%.2f)\n", t.total.String(), float64(t.total.Nanoseconds())/float64(parentDuration.Nanoseconds())*100)
+
+       // handle the case that skip middle level time measure case
+       nextDepth, total := depth+1, t.total
+       if t.total == 0 {
+               result = ""
+               nextDepth, total = depth, parentDuration
+       }
+
+       for _, sub := range t.subtimerMap {
+               result += sub.summary(nextDepth, total)
+       }
+
+       return result
+}
index d8ca307..f30e9b1 100755 (executable)
@@ -1,10 +1,10 @@
 package mergeutxo
 
 import (
-       "github.com/vapor/consensus"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/toolbar/apinode"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/toolbar/apinode"
 )
 
 func MergeUTXO(hostPort, accountID, password, address string, amount uint64) ([]string, error) {
diff --git a/toolbar/osssync/Dockerfile b/toolbar/osssync/Dockerfile
new file mode 100644 (file)
index 0000000..05efd28
--- /dev/null
@@ -0,0 +1,13 @@
+# Build Vapor in a stock Go builder container
+FROM golang:1.12-alpine as builder
+
+RUN apk add --no-cache make git
+
+ADD . /go/src/github.com/bytom/vapor
+RUN cd /go/src/github.com/bytom/vapor/toolbar/osssync && go build -o cmd/osssync cmd/main.go
+
+# Pull Vapor into a second stage deploy alpine container
+FROM alpine:latest
+
+RUN apk add --no-cache ca-certificates
+COPY --from=builder /go/src/github.com/bytom/vapor/toolbar/osssync/cmd/osssync /usr/local/bin/
\ No newline at end of file
diff --git a/toolbar/osssync/README.md b/toolbar/osssync/README.md
new file mode 100644 (file)
index 0000000..2770e6d
--- /dev/null
@@ -0,0 +1,43 @@
+Osssync is a tool for synchronizing blocks data to OSS, and get blocks data from OSS before start the Vapor node. 
+
+# Sample usage
+## Upload
+Upload blocks to OSS. 
+
+### Build the image
+
+```bash
+$ docker build -t osssync -f toolbar/osssync/Dockerfile .
+```
+
+### Run in Docker
+```bash
+$ docker run -d --name osssync -v <config.json-path-on-host>:/config.json osssync:latest osssync /config.json
+```
+
+config.json file: 
+```json
+{
+  "oss_config": {
+    "login": {
+      "endpoint": "",
+      "access_key_id": "",
+      "access_key_secret": ""
+    },
+    "bucket": "",
+    "directory": "vapor/"
+  },
+  "vapor_url": "http://localhost:9889"
+}
+```
+
+## Download
+Download blocks from OSS before starting a node:  
+
+[Usage of Vapor](https://github.com/Bytom/vapor/blob/master/README.md)  
+
+### Start node
+Run vapor with flag `oss.url`
+```bash
+$ vapord node --home <vapor-data-path> --oss.url <oss-url>
+```
diff --git a/toolbar/osssync/cmd/main.go b/toolbar/osssync/cmd/main.go
new file mode 100644 (file)
index 0000000..04573d4
--- /dev/null
@@ -0,0 +1,13 @@
+package main
+
+import (
+       "fmt"
+
+       "github.com/bytom/vapor/toolbar/osssync/upload"
+)
+
+func main() {
+       if err := upload.Run(); err != nil {
+               fmt.Println(err)
+       }
+}
diff --git a/toolbar/osssync/download/download.go b/toolbar/osssync/download/download.go
new file mode 100644 (file)
index 0000000..861452f
--- /dev/null
@@ -0,0 +1,165 @@
+package download
+
+import (
+       "io"
+       "strconv"
+
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/node"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/toolbar/osssync/util"
+)
+
+const LOCALDIR = "./blocks/" // Local directory to store temp blocks files
+
+// Run synchronize download from OSS to local node
+func Run(node *node.Node, ossEndpoint string) error {
+       if ossEndpoint == "" {
+               return errors.New("OSS Endpoint is empty")
+       }
+
+       downloadKeeper, err := NewDownloadKeeper(node, ossEndpoint)
+       if err != nil {
+               return err
+       }
+
+       if err = downloadKeeper.Download(); err != nil {
+               return err
+       }
+
+       return nil
+}
+
+// DownloadKeeper the struct for download
+type DownloadKeeper struct {
+       Node     *node.Node
+       OssUrl   string
+       FileUtil *util.FileUtil
+}
+
+// NewDownloadKeeper return one new instance of DownloadKeeper
+func NewDownloadKeeper(node *node.Node, OssUrl string) (*DownloadKeeper, error) {
+       return &DownloadKeeper{
+               Node:     node,
+               OssUrl:   OssUrl,
+               FileUtil: util.NewFileUtil(LOCALDIR),
+       }, nil
+}
+
+// Download get blocks from OSS and update the node
+func (d *DownloadKeeper) Download() error {
+       if err := d.FileUtil.BlockDirInitial(); err != nil {
+               return err
+       }
+
+       syncStart := d.Node.GetChain().BestBlockHeight() + 1 // block height which the synchronization start from
+
+       infoJson, err := d.GetInfoJson()
+       if err != nil {
+               return err
+       }
+
+       latestUp := infoJson.LatestBlockHeight // Latest uploaded block height on OSS
+       intervals := infoJson.Interval         // Interval array
+       if latestUp == 0 || latestUp < syncStart {
+               return errors.New("No new blocks on OSS.")
+       }
+
+       var pos1, pos2 int // syncStart interval, latestUp interval
+       // Find pos2
+       for pos2 = len(intervals) - 1; latestUp < intervals[pos2].StartBlockHeight; pos2-- {
+       }
+       // Find pos1
+       if syncStart == 0 {
+               pos1 = 0
+       } else {
+               for pos1 = pos2; syncStart < intervals[pos1].StartBlockHeight; pos1-- {
+               }
+       }
+
+       // Download Whole Interval
+       for pos1 < pos2 {
+               if err = d.DownloadFiles(syncStart, intervals[pos1].EndBlockHeight, intervals[pos1]); err != nil {
+                       return err
+               }
+               syncStart = intervals[pos1].EndBlockHeight + 1
+               pos1++
+       }
+       // Download the last Interval
+       if pos1 == pos2 {
+               if err = d.DownloadFiles(syncStart, latestUp, intervals[pos2]); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// DownloadFiles get block files from OSS, and update the node
+func (d *DownloadKeeper) DownloadFiles(start, end uint64, interval *util.Interval) error {
+       size := interval.GzSize
+       for {
+               if start > end {
+                       break
+               }
+
+               intervalStart := interval.StartBlockHeight
+               startInFile := start - intervalStart
+               n := startInFile / size
+               filenameNum := n*size + intervalStart
+
+               filename := strconv.FormatUint(filenameNum, 10)
+               filenameJson := filename + ".json"
+               filenameGzip := filenameJson + ".gz"
+
+               for err := io.ErrUnexpectedEOF; err == io.ErrUnexpectedEOF; {
+                       if err = d.GetObjectToFile(filenameGzip); err != nil {
+                               return err
+                       }
+
+                       if err = d.FileUtil.GzipDecode(filename); err != nil && err != io.ErrUnexpectedEOF {
+                               return err
+                       }
+               }
+
+               if err := d.FileUtil.RemoveLocal(filenameGzip); err != nil {
+                       return err
+               }
+
+               blocksJson, err := d.FileUtil.GetJson(filenameJson)
+               if err != nil {
+                       return err
+               }
+
+               blocks := []*types.Block{}
+               if err = util.Json2Struct(blocksJson, &blocks); err != nil {
+                       return err
+               }
+
+               latestDown := d.Node.GetChain().BestBlockHeight()
+               if latestDown+1 > start {
+                       blocks = blocks[startInFile:] // start from latestDown+1
+               } else if latestDown+1 < start {
+                       return errors.New("Wrong interval")
+               }
+               if err = d.SyncToNode(blocks); err != nil {
+                       return err
+               }
+
+               if err = d.FileUtil.RemoveLocal(filenameJson); err != nil {
+                       return err
+               }
+
+               start = filenameNum + size
+       }
+       return nil
+}
+
+// SyncToNode synchronize blocks to local node
+func (d *DownloadKeeper) SyncToNode(blocks []*types.Block) error {
+       for i := 0; i < len(blocks); i++ {
+               if _, err := d.Node.GetChain().ProcessBlock(blocks[i]); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
diff --git a/toolbar/osssync/download/oss.go b/toolbar/osssync/download/oss.go
new file mode 100644 (file)
index 0000000..ec25e62
--- /dev/null
@@ -0,0 +1,48 @@
+package download
+
+import (
+       "io"
+       "net/http"
+       "os"
+
+       "github.com/bytom/vapor/toolbar/osssync/util"
+)
+
+// GetObject download the file object from OSS
+func (d *DownloadKeeper) GetObject(filename string) (*io.ReadCloser, error) {
+       url := d.OssUrl + filename
+       res, err := http.Get(url)
+       if err != nil {
+               return nil, err
+       }
+
+       return &res.Body, nil
+}
+
+// GetObjectToFile download the file object from OSS to local
+func (d *DownloadKeeper) GetObjectToFile(filename string) error {
+       f, err := os.Create(d.FileUtil.LocalDir + filename)
+       if err != nil {
+               return err
+       }
+
+       body, err := d.GetObject(filename)
+       if err != nil {
+               return err
+       }
+
+       defer (*body).Close()
+
+       io.Copy(f, *body)
+       return nil
+}
+
+// GetInfoJson Download info.json
+func (d *DownloadKeeper) GetInfoJson() (*util.Info, error) {
+       body, err := d.GetObject("info.json")
+       if err != nil {
+               return nil, err
+       }
+
+       return util.GetInfoJson(*body)
+}
diff --git a/toolbar/osssync/upload/config.go b/toolbar/osssync/upload/config.go
new file mode 100644 (file)
index 0000000..f36bbea
--- /dev/null
@@ -0,0 +1,47 @@
+package upload
+
+import (
+       "encoding/json"
+       "os"
+
+       "github.com/bytom/vapor/errors"
+)
+
+// Config represent root of config
+type Config struct {
+       OssConfig *OssConfig `json:"oss_config"`
+       VaporURL  string     `json:"vapor_url"`
+}
+
+// Oss logs cfg
+type Login struct {
+       Endpoint        string `json:"endpoint"`
+       AccessKeyID     string `json:"access_key_id"`
+       AccessKeySecret string `json:"access_key_secret"`
+}
+
+// Oss cfg
+type OssConfig struct {
+       Login     *Login `json:"login"`
+       Bucket    string `json:"bucket"`
+       Directory string `json:"directory"`
+}
+
+// LoadConfig read path file to the config object for Upload from Vapor to OSS
+func LoadConfig(config interface{}) error {
+       if len(os.Args) <= 1 {
+               return errors.New("Please setup the config file path as Args[1]")
+       }
+       return LoadConfigByPath(os.Args[1], config)
+}
+
+// LoadConfigByPath read path file to the config object
+func LoadConfigByPath(path string, config interface{}) error {
+       configFile, err := os.Open(path)
+       if err != nil {
+               return errors.Wrap(err, "fail to open config file")
+       }
+
+       defer configFile.Close()
+       return json.NewDecoder(configFile).Decode(config)
+}
diff --git a/toolbar/osssync/upload/oss.go b/toolbar/osssync/upload/oss.go
new file mode 100644 (file)
index 0000000..512ad7b
--- /dev/null
@@ -0,0 +1,81 @@
+package upload
+
+import (
+       "bytes"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/toolbar/osssync/util"
+)
+
+// PutObjByteArr upload Byte Array object
+func (u *UploadKeeper) PutObjByteArr(objectName string, objectValue []byte) error {
+       objectAcl := oss.ObjectACL(oss.ACLPublicRead)
+       return u.OssBucket.PutObject(objectName, bytes.NewReader(objectValue), objectAcl)
+}
+
+// GetInfoJson Download info.json
+func (u *UploadKeeper) GetInfoJson() (*util.Info, error) {
+       body, err := u.OssBucket.GetObject(u.OssDir + "info.json")
+       if err != nil {
+               return nil, err
+       }
+
+       return util.GetInfoJson(body)
+}
+
+// Upload info.json
+func (u *UploadKeeper) PutInfoJson(infoData *util.Info) error {
+       jsonData, err := util.Struct2Json(infoData)
+       if err != nil {
+               return err
+       }
+
+       // Upload
+       return u.PutObjByteArr(u.OssDir+"info.json", jsonData)
+}
+
+// SetLatestBlockHeight set new latest blockHeight on OSS
+func (u *UploadKeeper) SetLatestBlockHeight(newLatestBlockHeight uint64) error {
+       info, err := u.GetInfoJson()
+       if err != nil {
+               return err
+       }
+
+       info.LatestBlockHeight = newLatestBlockHeight
+       return u.PutInfoJson(info)
+}
+
+// AddInterval if "info.json" exists on OSS, add Interval to the end; if not exist, create "info.json" with Interval
+func (u *UploadKeeper) AddInterval(end, gzSize uint64) error {
+       isJsonExist, err := u.OssBucket.IsObjectExist(u.OssDir + "info.json")
+       if err != nil {
+               return err
+       }
+
+       var info *util.Info
+       if isJsonExist {
+               // Download info.json
+               info, err = u.GetInfoJson()
+               if err != nil {
+                       return err
+               }
+
+               // Add Interval
+               prevInvl := info.Interval[len(info.Interval)-1]
+               if prevInvl.EndBlockHeight >= end {
+                       return errors.New("New interval is included in previous intervals.")
+               }
+
+               if (end-prevInvl.EndBlockHeight)%gzSize != 0 {
+                       return errors.New("New interval is invalid.")
+               }
+
+               newInvl := util.NewInterval(prevInvl.EndBlockHeight+1, end, gzSize)
+               info.Interval = append(info.Interval, newInvl)
+       } else {
+               info = util.NewInfo(end, gzSize)
+       }
+       return u.PutInfoJson(info)
+}
diff --git a/toolbar/osssync/upload/upload.go b/toolbar/osssync/upload/upload.go
new file mode 100644 (file)
index 0000000..2d23834
--- /dev/null
@@ -0,0 +1,203 @@
+package upload
+
+import (
+       "strconv"
+       "time"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+       log "github.com/sirupsen/logrus"
+
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/toolbar/apinode"
+       "github.com/bytom/vapor/toolbar/osssync/util"
+)
+
+const LOCALDIR = "./blocks/" // Local directory to store temp blocks files
+
+// Run synchronize upload blocks from vapor to OSS
+func Run() error {
+       uploadKeeper, err := NewUploadKeeper()
+       if err != nil {
+               return err
+       }
+
+       uploadKeeper.Run()
+       return nil
+}
+
+// AddInterval if "info.json" exists on OSS, add Interval to the end; if not exist, create "info.json" with Interval
+func AddInterval(end, gzSize uint64) error {
+       uploadKeeper, err := NewUploadKeeper()
+       if err != nil {
+               return err
+       }
+
+       return uploadKeeper.AddInterval(end, gzSize)
+}
+
+// UploadKeeper the struct for upload
+type UploadKeeper struct {
+       Node      *apinode.Node
+       OssClient *oss.Client
+       OssBucket *oss.Bucket
+       OssDir    string
+       FileUtil  *util.FileUtil
+}
+
+// NewUploadKeeper return one new instance of UploadKeeper
+func NewUploadKeeper() (*UploadKeeper, error) {
+       cfg := &Config{}
+       if err := LoadConfig(&cfg); err != nil {
+               return nil, err
+       }
+
+       ossClient, err := oss.New(cfg.OssConfig.Login.Endpoint, cfg.OssConfig.Login.AccessKeyID, cfg.OssConfig.Login.AccessKeySecret)
+       if err != nil {
+               return nil, err
+       }
+
+       ossBucket, err := ossClient.Bucket(cfg.OssConfig.Bucket)
+       if err != nil {
+               return nil, err
+       }
+
+       return &UploadKeeper{
+               Node:      apinode.NewNode(cfg.VaporURL),
+               OssClient: ossClient,
+               OssBucket: ossBucket,
+               OssDir:    cfg.OssConfig.Directory,
+               FileUtil:  util.NewFileUtil(LOCALDIR),
+       }, nil
+}
+
+// Run synchronize upload blocks from vapor to OSS
+func (u *UploadKeeper) Run() {
+       ticker := time.NewTicker(time.Minute)
+       defer ticker.Stop()
+
+       for ; true; <-ticker.C {
+               if err := u.Upload(); err != nil {
+                       log.WithField("error", err).Errorln("blockKeeper fail")
+               }
+       }
+}
+
+// Upload find and upload blocks
+func (u *UploadKeeper) Upload() error {
+       if err := u.FileUtil.BlockDirInitial(); err != nil {
+               return err
+       }
+
+       currBlockHeight, err := u.Node.GetBlockCount() // Current block height on vapor
+       if err != nil {
+               return err
+       }
+
+       if currBlockHeight == 0 {
+               return errors.New("Current block height is 0.")
+       }
+
+       infoJson, err := u.GetInfoJson()
+       if err != nil {
+               return err
+       }
+
+       latestUp := infoJson.LatestBlockHeight // Latest uploaded block height
+       intervals := infoJson.Interval         // Interval array
+
+       var pos1, pos2 int // currBlockHeight interval, latestUp interval
+       // Find pos1
+       for pos1 = len(intervals) - 1; currBlockHeight < intervals[pos1].StartBlockHeight; pos1-- {
+       }
+       // Current Block Height is out of the range given by info.json
+       if currBlockHeight > intervals[pos1].EndBlockHeight {
+               currBlockHeight = intervals[pos1].EndBlockHeight // Upload the part which contained by info.json
+       }
+       // Find pos2
+       if latestUp == 0 {
+               pos2 = 0
+       } else {
+               for pos2 = pos1; latestUp < intervals[pos2].StartBlockHeight; pos2-- {
+               }
+       }
+
+       // Upload Whole Interval
+       for latestUp+1 < intervals[pos1].StartBlockHeight {
+               if err = u.UploadFiles(latestUp+1, intervals[pos2].EndBlockHeight, intervals[pos2].GzSize); err != nil {
+                       return err
+               }
+
+               latestUp = intervals[pos2].EndBlockHeight
+               pos2++
+       }
+
+       // Upload the last Interval
+       newLatestUp := currBlockHeight - ((currBlockHeight - intervals[pos1].StartBlockHeight + 1) % intervals[pos1].GzSize)
+       if latestUp < newLatestUp {
+               if err = u.UploadFiles(latestUp+1, newLatestUp, intervals[pos1].GzSize); err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// UploadFiles get block from vapor and upload files to OSS
+func (u *UploadKeeper) UploadFiles(start, end, size uint64) error {
+       for {
+               if start > end {
+                       break
+               }
+               blocks, err := u.GetBlockArray(start, size)
+               if err != nil {
+                       return err
+               }
+
+               filename := strconv.FormatUint(start, 10)
+               filenameJson := filename + ".json"
+               filenameGzip := filenameJson + ".gz"
+
+               if _, err = u.FileUtil.SaveBlockFile(filename, blocks); err != nil {
+                       return err
+               }
+
+               if err = u.FileUtil.GzipCompress(filename); err != nil {
+                       return err
+               }
+
+               if err = u.FileUtil.RemoveLocal(filenameJson); err != nil {
+                       return err
+               }
+
+               if err = u.OssBucket.PutObjectFromFile(u.OssDir+filenameGzip, u.FileUtil.LocalDir+filenameGzip); err != nil {
+                       return err
+               }
+
+               if err = u.SetLatestBlockHeight(start + size - 1); err != nil {
+                       return err
+               }
+
+               if err = u.FileUtil.RemoveLocal(filenameGzip); err != nil {
+                       return err
+               }
+
+               start += size
+       }
+       return nil
+}
+
+// GetBlockArray return the RawBlockArray by BlockHeight from start to start+length-1
+func (u *UploadKeeper) GetBlockArray(start, length uint64) ([]*types.Block, error) {
+       blockHeight := start
+       data := []*types.Block{}
+       for i := uint64(0); i < length; i++ {
+               resp, err := u.Node.GetBlockByHeight(blockHeight)
+               if err != nil {
+                       return nil, err
+               }
+
+               data = append(data, resp)
+               blockHeight++
+       }
+       return data, nil
+}
diff --git a/toolbar/osssync/util/file.go b/toolbar/osssync/util/file.go
new file mode 100644 (file)
index 0000000..f5e3fb9
--- /dev/null
@@ -0,0 +1,49 @@
+package util
+
+import (
+       "os"
+)
+
+// FileUtil is a struct of File utility
+type FileUtil struct {
+       LocalDir string
+}
+
+// IsExists if file or directory exist
+func IsExists(path string) bool {
+       if _, err := os.Stat(path); err != nil && !os.IsExist(err) {
+               return false
+       }
+
+       return true
+}
+
+// PathExists return if path exists
+func PathExists(path string) (bool, error) {
+       if _, err := os.Stat(path); os.IsNotExist(err) {
+               return false, nil
+       } else {
+               return err == nil, err
+       }
+}
+
+// RemoveLocal deletes file
+func (f *FileUtil) RemoveLocal(filename string) error {
+       return os.Remove(f.LocalDir + filename)
+}
+
+// BlockDirInitial initializes the blocks directory
+func (f *FileUtil) BlockDirInitial() error {
+       ifPathExist, err := PathExists(f.LocalDir)
+       if err != nil {
+               return err
+       }
+
+       if ifPathExist {
+               if err = os.RemoveAll(f.LocalDir); err != nil {
+                       return err
+               }
+       }
+
+       return os.Mkdir(f.LocalDir, 0755)
+}
diff --git a/toolbar/osssync/util/gzip.go b/toolbar/osssync/util/gzip.go
new file mode 100644 (file)
index 0000000..1fe23c7
--- /dev/null
@@ -0,0 +1,69 @@
+package util
+
+import (
+       "compress/gzip"
+       "io/ioutil"
+       "os"
+)
+
+// GzipCompress Encode file to Gzip and save to the same directory
+func (f *FileUtil) GzipCompress(fileName string) error {
+       fw, err := os.Create(f.LocalDir + fileName + ".json.gz")
+       if err != nil {
+               return err
+       }
+
+       defer fw.Close()
+
+       gw := gzip.NewWriter(fw)
+       defer gw.Close()
+
+       fr, err := os.Open(f.LocalDir + fileName + ".json")
+       if err != nil {
+               return err
+       }
+
+       defer fr.Close()
+
+       fi, err := fr.Stat()
+       if err != nil {
+               return err
+       }
+
+       gw.Header.Name = fi.Name()
+
+       buf := make([]byte, fi.Size())
+       if _, err = fr.Read(buf); err != nil {
+               return err
+       }
+
+       if _, err = gw.Write(buf); err != nil {
+               return err
+       }
+
+       return nil
+}
+
+// GzipDecode Decode Gzip file and save to the same directory
+func (f *FileUtil) GzipDecode(fileName string) error {
+       fr, err := os.Open(f.LocalDir + fileName + ".json.gz")
+       if err != nil {
+               return err
+       }
+
+       defer fr.Close()
+
+       reader, err := gzip.NewReader(fr)
+       if err != nil {
+               return err
+       }
+
+       defer reader.Close()
+
+       json, err := ioutil.ReadAll(reader)
+       if err != nil {
+               return err
+       }
+
+       return ioutil.WriteFile(f.LocalDir+fileName+".json", json, 0644)
+}
diff --git a/toolbar/osssync/util/infofile.go b/toolbar/osssync/util/infofile.go
new file mode 100644 (file)
index 0000000..82f15d2
--- /dev/null
@@ -0,0 +1,52 @@
+package util
+
+import (
+       "io"
+       "io/ioutil"
+)
+
+// Interval determines the number of blocks in a Gzip file in the Interval of blockHeight
+// StartBlockHeight is the start of the Interval
+// EndBlockHeight: the end of the Interval
+// GzSize is the number of blocks store in a Gzip file
+type Interval struct {
+       StartBlockHeight uint64
+       EndBlockHeight   uint64
+       GzSize           uint64
+}
+
+// NewInterval creates a new Interval from info.json
+func NewInterval(start, end, gzSize uint64) *Interval {
+       return &Interval{
+               StartBlockHeight: start,
+               EndBlockHeight:   end,
+               GzSize:           gzSize,
+       }
+}
+
+// Info is a struct for info.json
+type Info struct {
+       LatestBlockHeight uint64
+       Interval          []*Interval
+}
+
+// NewInfo creates a new Info for info.json
+func NewInfo(end, gzSize uint64) *Info {
+       newInvl := NewInterval(1, end, gzSize)
+       var arr []*Interval
+       arr = append(arr, newInvl)
+       return &Info{0, arr}
+}
+
+// GetInfoJson from stream
+func GetInfoJson(body io.ReadCloser) (*Info, error) {
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               return nil, err
+       }
+
+       info := new(Info)
+       return info, Json2Struct(data, &info)
+}
diff --git a/toolbar/osssync/util/json.go b/toolbar/osssync/util/json.go
new file mode 100644 (file)
index 0000000..c3795cc
--- /dev/null
@@ -0,0 +1,42 @@
+package util
+
+import (
+       "encoding/json"
+       "io/ioutil"
+)
+
+// NewFileUtil creates new file util
+func NewFileUtil(localDir string) *FileUtil {
+       return &FileUtil{localDir}
+}
+
+// SaveBlockFile saves block file
+func (f *FileUtil) SaveBlockFile(filename string, data interface{}) (bool, error) {
+       filename = f.LocalDir + filename + ".json"
+       saveData, err := json.Marshal(data)
+       if err != nil {
+               return false, err
+       }
+
+       if err = ioutil.WriteFile(filename, saveData, 0644); err != nil {
+               return false, err
+       }
+
+       return true, nil
+}
+
+// GetJson read json file
+func (f *FileUtil) GetJson(filename string) (json.RawMessage, error) {
+       filename = f.LocalDir + filename
+       return ioutil.ReadFile(filename)
+}
+
+// Json2Struct transform json to struct
+func Json2Struct(data json.RawMessage, resp interface{}) error {
+       return json.Unmarshal(data, &resp)
+}
+
+// Struct2Json transform struct to json
+func Struct2Json(theStruct interface{}) (json.RawMessage, error) {
+       return json.Marshal(theStruct)
+}
index 1a85c37..d3f0158 100644 (file)
@@ -3,8 +3,8 @@ package api
 import (
        "github.com/gin-gonic/gin"
 
-       "github.com/vapor/toolbar/precognitive/database/orm"
-       serverCommon "github.com/vapor/toolbar/server"
+       "github.com/bytom/vapor/toolbar/precognitive/database/orm"
+       serverCommon "github.com/bytom/vapor/toolbar/server"
 )
 
 type listNodesReq struct{ serverCommon.Display }
index b4e617d..02a351d 100644 (file)
@@ -6,8 +6,8 @@ import (
        "github.com/gin-gonic/gin"
        "github.com/jinzhu/gorm"
 
-       "github.com/vapor/toolbar/precognitive/config"
-       serverCommon "github.com/vapor/toolbar/server"
+       "github.com/bytom/vapor/toolbar/precognitive/config"
+       serverCommon "github.com/bytom/vapor/toolbar/server"
 )
 
 type Server struct {
index 3c5ba3f..6bb3396 100644 (file)
@@ -5,9 +5,8 @@ import (
        "os"
 
        log "github.com/sirupsen/logrus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 func NewConfig() *Config {
index addf7b1..944183a 100644 (file)
@@ -7,8 +7,8 @@ import (
        "fmt"
        "time"
 
-       "github.com/vapor/toolbar/common"
-       precogCommon "github.com/vapor/toolbar/precognitive/common"
+       "github.com/bytom/vapor/toolbar/common"
+       precogCommon "github.com/bytom/vapor/toolbar/precognitive/common"
 )
 
 type Node struct {
index 6072377..19aebf1 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/p2p"
-       "github.com/vapor/toolbar/precognitive/database/orm"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/toolbar/precognitive/database/orm"
 )
 
 func (m *monitor) connectionRoutine() {
index 6eb8781..8d92d3a 100644 (file)
@@ -6,8 +6,8 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/p2p/discover/dht"
-       "github.com/vapor/toolbar/precognitive/config"
+       "github.com/bytom/vapor/p2p/discover/dht"
+       "github.com/bytom/vapor/toolbar/precognitive/config"
 )
 
 var (
index 31a8411..6c69e01 100644 (file)
@@ -1,8 +1,8 @@
 package monitor
 
 import (
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/test/mock"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/test/mock"
 )
 
 func mockChainAndPool() (*mock.Chain, *mock.Mempool, error) {
index d32e2a4..59e3b56 100644 (file)
@@ -10,19 +10,19 @@ import (
        "github.com/jinzhu/gorm"
        log "github.com/sirupsen/logrus"
 
-       vaporCfg "github.com/vapor/config"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       "github.com/vapor/netsync/chainmgr"
-       "github.com/vapor/netsync/consensusmgr"
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/p2p/discover/dht"
-       "github.com/vapor/p2p/discover/mdns"
-       "github.com/vapor/p2p/signlib"
-       "github.com/vapor/test/mock"
-       "github.com/vapor/toolbar/precognitive/config"
+       vaporCfg "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/netsync/chainmgr"
+       "github.com/bytom/vapor/netsync/consensusmgr"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/p2p/discover/dht"
+       "github.com/bytom/vapor/p2p/discover/mdns"
+       "github.com/bytom/vapor/p2p/signlib"
+       "github.com/bytom/vapor/test/mock"
+       "github.com/bytom/vapor/toolbar/precognitive/config"
 )
 
 type monitor struct {
index 3538f61..07f46fc 100644 (file)
@@ -10,11 +10,11 @@ import (
        "github.com/jinzhu/gorm"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/netsync/peers"
-       "github.com/vapor/p2p"
-       "github.com/vapor/toolbar/precognitive/common"
-       "github.com/vapor/toolbar/precognitive/config"
-       "github.com/vapor/toolbar/precognitive/database/orm"
+       "github.com/bytom/vapor/netsync/peers"
+       "github.com/bytom/vapor/p2p"
+       "github.com/bytom/vapor/toolbar/precognitive/common"
+       "github.com/bytom/vapor/toolbar/precognitive/config"
+       "github.com/bytom/vapor/toolbar/precognitive/database/orm"
 )
 
 func (m *monitor) upsertNode(node *config.Node) error {
index caa4e56..dd1a74c 100644 (file)
@@ -1,7 +1,7 @@
 package server
 
 import (
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 var (
index 8ecfdfb..e854d06 100644 (file)
@@ -1,7 +1,7 @@
 package server
 
 import (
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 //FormatErrResp format error response
index b891556..fb0bf24 100644 (file)
@@ -8,7 +8,7 @@ import (
 
        "github.com/gin-gonic/gin"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 func Middleware(serverInstance interface{}) gin.HandlerFunc {
index 74bf297..38b83a7 100644 (file)
@@ -7,7 +7,7 @@ import (
 
        "github.com/gin-gonic/gin"
 
-       "github.com/vapor/errors"
+       "github.com/bytom/vapor/errors"
 )
 
 const (
index d15b3c6..0878e44 100644 (file)
@@ -7,7 +7,7 @@ import (
        "os"
        "path"
 
-       "github.com/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/common"
 )
 
 type Config struct {
index a6fdbcc..1c60f8b 100644 (file)
@@ -7,12 +7,12 @@ import (
 
        "github.com/jinzhu/gorm"
 
-       "github.com/vapor/consensus"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/toolbar/apinode"
-       "github.com/vapor/toolbar/common"
-       "github.com/vapor/toolbar/vote_reward/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/toolbar/apinode"
+       "github.com/bytom/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/vote_reward/config"
 )
 
 var (
@@ -21,7 +21,10 @@ var (
        errNotRewardTx    = errors.New("No reward transaction")
 )
 
-const standbyNodesRewardForConsensusCycle = 7610350076 // 400000000000000 / (365 * 24 * 60 / (500 * 1200 / 1000 / 60))
+const (
+       standbyNodesRewardForConsensusCycle = 7610350076 // 400000000000000 / (365 * 24 * 60 / (500 * 1200 / 1000 / 60))
+       standbyNodeNum                      = 32
+)
 
 type voteResult struct {
        VoteAddress string
@@ -115,10 +118,8 @@ func (s *SettlementReward) getStandbyNodeReward(height uint64) (uint64, error) {
        }
 
        voteInfos = common.CalcStandByNodes(voteInfos)
-
-       totalVoteNum, xpubVoteNum := uint64(0), uint64(0)
+       xpubVoteNum := uint64(0)
        for _, voteInfo := range voteInfos {
-               totalVoteNum += voteInfo.VoteNum
                if s.rewardCfg.XPub == voteInfo.Vote {
                        xpubVoteNum = voteInfo.VoteNum
                }
@@ -128,12 +129,10 @@ func (s *SettlementReward) getStandbyNodeReward(height uint64) (uint64, error) {
                return 0, errNotStandbyNode
        }
 
-       amount := big.NewInt(0).SetUint64(standbyNodesRewardForConsensusCycle)
+       amount := big.NewInt(0).SetUint64(standbyNodesRewardForConsensusCycle / standbyNodeNum)
        rewardRatio := big.NewInt(0).SetUint64(s.rewardCfg.RewardRatio)
        amount.Mul(amount, rewardRatio).Div(amount, big.NewInt(100))
-       total := big.NewInt(0).SetUint64(totalVoteNum)
-       voteNum := big.NewInt(0).SetUint64(xpubVoteNum)
-       return amount.Mul(amount, voteNum).Div(amount, total).Uint64(), nil
+       return amount.Uint64(), nil
 }
 
 func (s *SettlementReward) getCoinbaseReward(height uint64) (uint64, error) {
index 368cb44..e067096 100644 (file)
@@ -6,12 +6,12 @@ import (
        "github.com/jinzhu/gorm"
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/toolbar/apinode"
-       "github.com/vapor/toolbar/common"
-       "github.com/vapor/toolbar/vote_reward/config"
-       "github.com/vapor/toolbar/vote_reward/database/orm"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/toolbar/apinode"
+       "github.com/bytom/vapor/toolbar/common"
+       "github.com/bytom/vapor/toolbar/vote_reward/config"
+       "github.com/bytom/vapor/toolbar/vote_reward/database/orm"
 )
 
 var ErrInconsistentDB = errors.New("inconsistent db status")
index e77696b..3bf0f21 100644 (file)
@@ -4,9 +4,9 @@ import (
        "context"
 
        jww "github.com/spf13/jwalterweatherman"
-       "github.com/vapor/api"
-       "github.com/vapor/blockchain/rpc"
-       "github.com/vapor/env"
+       "github.com/bytom/vapor/api"
+       "github.com/bytom/vapor/blockchain/rpc"
+       "github.com/bytom/vapor/env"
 )
 
 const (
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/.travis.yml b/vendor/github.com/aliyun/aliyun-oss-go-sdk/.travis.yml
new file mode 100644 (file)
index 0000000..516f1a2
--- /dev/null
@@ -0,0 +1,45 @@
+language: go
+go:
+- 1.5
+- 1.6
+- 1.7
+- 1.8
+install:
+- go get golang.org/x/tools/cmd/cover
+- go get github.com/mattn/goveralls
+- go get gopkg.in/check.v1
+- go get github.com/satori/go.uuid
+- go get github.com/baiyubin/aliyun-sts-go-sdk/sts
+- if [[ $TRAVIS_GO_VERSION = '1.7' || $TRAVIS_GO_VERSION > '1.7' ]]; then go get golang.org/x/time/rate
+  ; fi
+script:
+- if [[ ! -n "$OSS_TEST_ACCESS_KEY_ID" ]]; then exit 0
+  ; fi
+  
+#- cd oss
+#- travis_wait 50 go test -v -covermode=count -coverprofile=coverage.out -timeout=50m
+#- "$HOME/gopath/bin/goveralls -coverprofile=coverage.out -service=travis-ci"
+
+env:
+  global:
+  - secure: ZCL5egxJmZA+o1ujsaJe//AIh1ag/exSUJ2FzoKPF3O9c84hMc2k5EYO2rGzTNn1ML6M89Mo5hAvHQhyJEHjRuMtjc1QrfxAaA3mqm4scGXIXesPMqYGuvuPSh++6/fkAwaVBAhrk5GaDG1/FuxHE5zusGx3SvGegnCwO7n/2YCfXco6DWgVCdrz4p1EpPkAM3JIdHFUzsDWiimVuiNAvJmAT8+IeOPTT+WgusCJj4ORS3X3LddTjttBP+hRrp/pGSoNqPMzfysWybtaL2SJ8URtvsxW0Mo5BwocHAxAhPP+M2OscQbDzthSAezCLngYvrfBplfIyWlahlgzNz/FjXz5pQwWdYVNoibyxLLMOH685n75LNONN/xVO/GFmVPx7DMGapkN5NzIWS62D4v8QrRkwtms42OUkyEUHjDh8Evui3K2MNJVXA3TI9zOAR+C0krD7OEyS37qrppodhRxJSqFUlgXnk//wLldMC7vleDd7L2UQSWjqyBHqFOgsVaiLU2KRTY3zvv7ke+dqb5VF31mH6qAr8lJTR9un8M1att0VwCEKxoIRT4cKJCpEtZd8ovXOVt1uE695ThVXE9I5e00GXdTzqXOuv6zT4hv/dgmbz9JN9MYeCwmokEoIUmJKNYERa/bNVVefdnJt7h+dm+KpyPAS+XvPLzjbnWdYNA=
+  - secure: GdrPX7nUoZhB1DYTVD6x/vgA7H9dOlQc4n7nCsqEDyif+Y1XdPT83Ic3gSOt+cfy0/Kjh0/TT5xmLqpSh7wr7eyTpBPZGjz4ZbxBOcSLTfrf/spacgzla9I1335CvaTmpvrnvGUlOuVS8rb3J/+19dHlN6dfxX+ucjdfShR504d2JEcCLpTc1CEXAl+HEt3hM9gztOX5ykxyrtibDr0OPkNF7QjZ485V6UJkfyVlBM6JL59ywgh2dhdZn6JwmexHjVPsw6V8Ka07GzbpOs1e5eis42RUJe8eSqRRToCcTUbA9HOgWXswuu5k7nAwErygX2ub3hZ+yIjc+9JLsiy6F69RaUPVFlxfw8s5NLeInTIt28+A6iaf3X2k4lOaVFytgTl7lkYGNWz4eV/vXf2H4wZmaZn5OI0WKd3WuEJ04rsm7xzx9rC8znnsI3R1BHfapU/y6z2QGjgJsHqZmgfvXNKgSOurM6O/nlDnEsYOwYLQLhpeXVFNmbo+M77HAVicKD4yL08+5uBZaeYYipzyC1O4DEHX5BNdl34NpNxUdMqUb4MfNEnYeqvmemvZkOO6BO+xucP1S2LSKNXfFxH5iVfKbz4+VJ/2kt5R77672lkG3bXPUJFk4t1CTHBOLizEJNTTD8uzRIsW7Io+XFk6oyoEqXF0sT6Lbp/4pUHJQQM=
+  - secure: DGIgOKinCvYcLdcaIOKcecidQe5q/K4aGAjTyl8/fCp3mRWwFTrlv5gPMy9sHQEsiRjzQehpubMO1d0XFVO+0LvqdGLnXyM6lSnMhN6voQMnF1GaIXmxxBfvP3BHwyN8kMyY+4oqgMROvpxDKvq0IH/GE8opWRJhQdNkRscbtfHUvnqSk62oNziqIBxXrYBIuezuNcgZkCwEoZQwPu674efIAwVr01BmRfd/8Q5W27dJbCJFF9ceyOQrsjG2QGmW6GWraaOpqYfQ82A5ROB2saVU8mEs/f+mGoJgOP2aH3ErFBkJWBCUNzajluAyGyU9VgHGRQ+GMbSr/HqRILd5aYpDCGA0oFer4/jP32CqeEt1Jdqs2lWar5mFX1sae6PIxFyl5lnENgjTfbOt4oiGGye6t0mgI4+psRdCCQV5FQ7WfobEZ2ryfQxbiVU1X219jMoHhHmFzC83e/T6V/mkHrh8OR67k9pieH+DqNGvWFtv7BBs/ihfoo2ONNgsHcofsPj85I6odWAhsBnsYm6FsR31N19nObnggeDyqiCyh5qUFvSGPkH4fXTKthKETIRdsdOEDOcbCD6kUpZqIWyuk6TKeOD8PxjgKzm3hZjlugU1x3amVv71EKjA5/FOVyIVuekLKoLn7pt+n3PVlT30IZfWorEfqjeVAKp2SglE8nA=
+  - secure: LnL0Hl9yZEie1aYngEO5QK332cn3W2i4f6R5+kxX3tncdqBDFhsp5tQfMvlKHIzFlK94DI/G0diAl8zJmYQfAYARe4uvW5FAINRCkOUz2jwIA/gtQDr+oONqHK0OLPWYuZ6KJM4t7dmuPUR2/frKe0/6r5XeFkeAz9l8r1Gw9o42jFDQPDkhBj7k5EkmB1DpuAY74vXy0tVBCJsd57/kuaRqbX4euhx3zFrDcr+xQEiDWHKzNHlJd6DZnruy0KDuWmIbUWhR2rd8YKAnzP7OHzpbTHsnbXvrVpaN1Mv8lXz2dpPTr7I2LMCrMEtfECu9U+LDIqhbHVMsp9rZ+fNQ048fREoj8HZrorIxmsRJzV0ZQzjdW9Q6EVaiYcLZPFOASsyuTNBbSJ2AIrE/izo4EUKme8BY+0mFzTJwMk7XwAtatItVhEUXb2wXWZm8GR8wIrNmbeSzle5NkwXpdpW3QzZ2EADL63/pP80aV1aMBmoAuLMIHxeHEnXOTAgQj6SOiloY+II/iJE4cE5vo9UNtZsqnJZqdd22s3kLdQV0kbFMWq8S3qmxtDFPeoZAy03xhTVnJUBkdjSL2UER5WAacZIr85M6Z2APc6dzMUlWEE+4QkkM1UAbwDBTXFrrmfDVYc0LrePRuoHQiOmSvTus5+WV9iIQF7rM4BcSLnOEW5U=
+  - secure: SgvbTYTbMEkmqDXP8MW6lbERkHUjBRwg477hUL11Ok1TiRdHCbEDrq3mfUP+Tl2sS1x5qQ2JFg2NyWS2ikCAd0zjO3QEfmhfQFRpmfgb5O67wY2oEAsbRDanjIXTwpDAZn87KFIPB6ohVsX4LEztfR8zqXKIfXrVFs6lyDHS1LIgbgQhJl+XfJRsfPlWRq7QydANTCY34raUXgXgBxtbv43b232LT8UusizUvZS4HJbrbo4oXhVfhkUH46B2o0ct2Xt6EIlxyOtxtZOmnai8O7kIFHoG+GcHxeZ7++X6FaHR3Cdv3rr7EEg3MwsOIZ6SmgeQ0gcs32RZf0giFMwo1LkgiB9KrJTBXkU0CSYysxfeLUCEd11q4h4lZyhxU8CMvgs+1m3s6A2/5uYDYSSqJuAHTHQgntMn7/baXKVXuWXrSSERxkUiqwlKjFFHz0kshj3ZXiTZ3EhjBZgXeeGzGEEbZBQCEJgXKUpl+C0D07PLKt6f2ya4TVTZ3WOjh7dKq14+0nC3w+5z0ZtGtv+IS1LFfajNs/LsT4fDmKsIoEQg2Kf5S//ckeuzaR4bkMGCm3qquJrNE6Uqq0MZzSUdUpnsILjfLiVlrtHk/9So7ulRc8XyhBIWDy9lTS7NxOfpw5cnVJRcjEwrZ4Q6iNwdsh4vPZLVgavwfFRW87DjF6A=
+  - secure: Jef94P0QfHuMT5GQNrzfMdtVUVvV9dEGsvOLFqPvIkPLJZWGqwaIFUG5t0mCPEgn8uct3XPOiIYivgxnOURa1JNegnTbjRLXBOAjhE5hw2x2IRWj2xT+ylYCNqh9jtIEJdAjUzJnXXj1iasZGCKa4DNwNLgsuQ8d5Yl3bY5l5YI4MtTsdzbBUT9WewDWgnO/MhZM52w18XLBx+Fsq80F0VwpzoStKRula8anOhL+Bvj1uAielMOUo3QcpYcV2XfTnM5n0ApwqUhmv/8YoJpHXjGTeKRM1Hem1jFtfWCjSRrlEKEFJALEJImf0iWbZN5Z0TOcfJqzPY09/8h60OOfi0TXcnwVnSX33Zp1oDLDlRnsN7HQg+yIub0N03OwHqmC2AO0ShkO/lBmEMsfqlEoc4o2GJ3YL+JpC5vPsy7fFMad+jNGXlg6jPAshvCJ2DfnmK1jYSSVdVNUUeP1Bk5rhQkFzFH3vgNgX3nFk0gEYrfDn3/Ea6tORybSJzaAkB9bU1n4U2e3OplvWr1Ll8O/t87ws8ctyY/Ah2hRmhSKEG9cdySnm7Uq8H7696MZEEw9aatj+bRJk5CbCVtSX8v49I3C0tERcUBO5M3U+/g0qeBW9hEhxnBeG3y253Bo1FhSxbaZhGwSGJ91htRXLlJlUs2QrOcSYMsCT6p35KdWaqA=
+  - secure: NMVS9EU+ahQXGiyTCHyZ44rf+8b3me3UXD1DozMm04lCvnWoBqJE4aXBGQsDAWuOL4NTTm0SaVu6sBY6ZTXOYYF59mwEbxt4qpmVjZ+vBrtMbMiqoxv145blquR9JKedkdP6IGSd7VSQwSba71f/RVv5VeGvxUSEhCwA04kKxToOPwmnORmT6qwb7PkPCMNHxz4VpsUIsKx8jRrY6Gmp6FvQJBHfKEHnDQohB1ReIYEYi39ijLvpbCZqrB5u1N9oF6WlpBiNIX3kQizn7ftUyewJgoZMnfpW/Lta6e91yzFInWg75bZdW3faa30Qy0yw0zlQIPLs89c8A/XH1fGVECH9At9VNmdYrb0fD9aWnH7zdX6Im+Bw7Ptph4x6tB7zPeFoZR5cVZT7L06/HbnW7NeQk4tg/N4I1tOaO7AQl+ofhCzesZ56bSxETiNFn9QiNwWFTzjlkG7jxN1iAAkdYsZEQHwtEK63R//NJtXpbbtNA831QqgDqBK+IxyKeLhmxmu17dWcUw9tm4jlZ7d6nPB9bzJcVM6K2uRJyW07SlBqd65WJTXPV1PFww8zh+chAC4ZkLDhupn+7ZSG2ylLYGgepmABoC/CXHkXEsNzdQ8wPX/pDIz2WNmwEXyC/Nv+WNpFS/tWIAryIPOLMuETIgbaOLbD5vZDSKxDZVGDvPE=
+  - secure: cNr4PiK6ZZADoRMacL4lvdMYWgM9H4lKN3u+nfMA/MrVrnSjeRonkO7RjMJWs9HicPanEks10R1w/T/6nWyFQV2CPkEBSNSLf3DAD+dlRekKfWogGXzYnvqeiki1HzsIPYTImiD5BtPn6SbJmO/ErJt3zuogspyBws/X7XfZ+u8FIpPsYEmvHslT2jARuput0yNfldUgxxyI0IvgkuCEcCTFwePspjbn6zR6Df67e+r5ibFqkdPYdXkQVpvfA90RPpfBUuuaEO7kkFlKbPK+Nl/jbUnjcfbe8zJRpSb8j/S2USAiBUjFsqsdvFqZ9WumjXJLrrNFt/UgIXaMyG3Y8xJl9kzCcx36wcNoaP2mx2qucYTdC0ey49g0uywvOVDdykmctQRF7uYQS+UkMqs5jRLgAjQ1/wJISrvtcpaK/4DyhLBUFrOf9chep2hzWBFaWPto1IUpWu9Sjtz5rtjsAm5LR7zvIxcorvRall5kRokAspHb9+TaQKSDOpYNF+PB77cb9H0OLZBLVPGo0WJHq5dv0NVZSH9JVq4AiJDmvMWI6weBis+tLbECMwbeTezo6hDOuII7VZt/KcHgzlt3KCDwv8krQq71q7ySDt7SxrvLeDjeiEFkjwA0lN7Cin1yqjON83LsIsWkKxbf+xNJRngSE4bPn95j3pHELdo3uqY=
+  - secure: iDkNjibPknbawHN+jobw1AEqhQDhqFvGPBUX7FkxlrIanNR71Tj8CPAFtDpJbYaBMdPt4IzOmD2JVo9w7E1TfNX4DsOpkb2MbOr55TxfXQ/+y7TBdJ9B/62BvhFWk8Hvq8TWVPTCgNIaVXNfqBAj6WQSX3AbUVHWSOM9Aey5joBZuhdWXSmKo46lLOradacDDPZYjrLEsMTS2CotzduKQ4C8dGCVcMEbBnS3O2WRj3oR0wiiP3X0jbnxJkOV2MCoadZxSu5B+gaaJ+Yv7EKT0vy6ASp6LYrWkjY0eKbTqy8NtCvCFlliND/iaq4LEv838hQfO/o0WeB2b7/2MH2EW1v8XLacV12ak5wJgb7b+L6fG+lMKMta5Re+vjdRYgoU5EVeWQNxrnX1chEdzFXb/q2+5DVp43qH5i1Tu4FR/kSBobQeSAbT7HTkWAVz3kg8HmubYZ3P0eXToZA/DlX0dphWxO9ShR3H+XTJhh3tSqzxMZxxhGqPcN4DPSfOTnJQ0v0NPz016lulCr9SuIOSM3f7HpeGXo5SeQbrY3yCnBG8Qxpx2kYaZZlT4J6fx3iFl77SY/lQu6H/Y8ZtufWEogPSkGEh+NLLWuwwBQFC3vH8l3J26vcqHZR3N9+GyqX13CSqWEUysMF4nBOi52ckhwJRF8hAeX+DIqxoLfjUkDc=
+  - secure: iZmWFdPBt9JCDJqWGeX0gznM22ulUrz15Z7YnDfWNhniMs759YWgIdt3MGr2blMmo5MpDZiticaBcE9aX3p7aniPZkbXcebswz5DwCKVRUf1dhtrzwbnDebSwKrlYG8SuGgMkKH/7F+sEkHtTy+SFDkFwEAwcGjPdPntEX15U6KPrlpD5AOvq/d83xNV6QYleJmkRjsTiUjgGzbYfm6Lu/bzBsckYjwWjcz5rxkeSIQHV8/nnw7xs0figTVcb0K5p7Rpvhg3TCAlSJcljg9IDOEuvILQGNDpdgzXajTTNOHYm9nOBrNQhTn35c8DRDl0uQFe+c6PBvBNhSvSKZ2t9REjok70gR/IKJNTuecS/rppYG8wfjlGg1axoJMZJG1OwOJxWiMHwa9WM/diJ2e5D/WTbQ1T9DLRp8Aco3LnWSfZ+tZH+4tAS9FE4oXEPLlHtRyRIV+MzPK3HinIXYdwGH7pDaAQDnfH562br3tl3CovjAPSrIlDgJh92qatLk+1fBQT/7paMNdelAWLjcujRRI9MWsKzi/aEUVbTfUOSCJH/vWQRJR9or2saOobHE+G4f2+k77r21YRztrZaJF6aiob/qf3altKW5rQRdj/7PgNtG3N/bwFOgRjpOQ8dgNn0J+xK4PQTtSVH7kD4aIcJma23erS+K29dcY/wk6fuBM=
+  - secure: IkTwVHWb8yGufpyBaQDL1WpTywnMb5FhhtXgP8ycxK9MIuKSfgxPlQm6Oel/8Xjy2HhfKTUX0TOwQ4yAuZtRuU/T5NdjGgBYdLjGWwd/Wgkxt7JkpkFd8lvMrh2moAgvf/Qfk0P73OdAyn2y2CZhm7F7GI3lD/K4NmbFnR5AkDGDBB7J81zc1eTGjMfYRELHMFLJTg8hKr64SljXuRBmyxAVImaBROXzml2pP3UywWKNsw0eEOaeJaVJFkStBh89IOYaznckdstdbTuMw9+hZywBTcQHqxaaI5stdtyKgJcyEcjdJOqNGwCf1Hqd18SH7aCfXsUUrwx62ZSheiQRapOz+XNMiKC+1nimNvaYIFEuPZUGjYfi2/c27Z6paBI9ylGpoUXSvCH2rmaCYUIJBRXVmqzvhi0am5FKBh9NovkKUE24B8rMhm1xV82HQLTCho6MnemXFfji2AXaJzYAa6lU31b8BAzQfy+Nn9lh8I/MMjd15Y+8nHFjKqeKZIBi5qO4B8AGNYwCBFhrIOF6uHGubOuvyKv8DSBxcaDhCoyOLa5QLT4vQzQCX17xUAFomXkX9mHbJA8kTxMaFOQPeVCHkfjZxuui57vbPt4CafGzbymi/SE03oNUheQbuHdqy+jkjj7XU6d4FdNYHxp4rvhtvjYrPJQ5gr6A3sdurd4=
+  - secure: WNjlMEt8xGRc6blhZF9HkyWEQukDzEwbk/hIljEz+K00W+ltDxPqFZ4fsgnjCPLS0fTL1zgtg3Rji6Mi8hSQd9Z5Yh98fCHN/gBfGxziKB0BOlVQDAl8yaUchiHZ6biM+HC2AocbZXlaNcSOHJy7vQk981y48PNPFadZgJZWWF4eFMkAn+74sPMW53V9J4J2ot3AZ7+ABg2vHTbqdA1s09/6fjlTcKVSxm7eDkkoOYycxrD5k2lm3N0I3YvkWum3ZMcCi1bWk4WXQSgy8q0dy7QBya7+BnRWh/EO2HNFAO4l/tqdev7GC3/tSgTbepNV5GUHazvsrANzZGnWP5kpjjis+Z4GiB3TMNLN1c+KeH2kbBkxi0vyDP5rzzI/rORRp5a3SBDAPkz0u/CHB9sltriErp86v9w6YxDRx0QcFheEXbcsk+3Vajy3+v1ly2PgMfLXcfojCfc27ymUCCymXMHrTG8DeUMnfIyUoP2xDx59tZH8rRlbUQmtlLhBYxPojsw5I2YhnMv4ThHZ5RhGSbNQuZ2yHsdQeGcTqSZ+bVT6xHbQbP4nk6ZtLHC6eq/pAQjFFUkZhfQLH8fes/2fVbdiRjYeX4P8tGnc2NB/fw3C77klizMYIGNHDAK8pKbfov5Q1zeg5/QB7weOvv9xpizUAjQsW5+jwQ1tkdxC0iU=
+  - secure: kllkCVsDmsu5Z4ZBMFN98VS5LNoyy0z8mpkreV1sAfPH8mmy/q1ZJAGkXLoXL5vFGOTBumMsDs6a7S74d1dXyBkQGYiegs2G5wqIvWb/hsq4dTudEMPqwWnVPCFs/YmtxtzjX788sS7ivkZsHA2pXh1w6glEZykXHJZgWWGSL6XFofR5Gmvpwc8SfQBP/iBi1xb0EA9YWUqjfW43FAuRMp3QDKQU2gcRoAr1EuSIvmMmarnK9CEMJunK/RY94OW1AwtUcJbUVLnK/PvHBIazY18BTez/o45gATH37eMk0G3JKxMP8yfk+wipAAVyZbloWeTdBW8ik1r/B9NWSI4ZXi/PysXMZzSkrede3Y0TE0TqW3mVkdtdcq4yFXD/B21dMmeNoBLxQGi290p/KNfnJLIcYB04CU+Ll9RoXWnVJH6RhxCK6JGEuiYqJKm/UZkCW5dXMhtFmjK3XH3iBRC9kw0jYI7fcTgstLzYzKzgAXBP7LSiiwxDUFsvq480US+lECGdDIJYL646H1kHogi2Cr3BBgXHvMoBbUFyLVXTHidzi4Vk6PFaT8fMXcJIO/j46WUcP5nyEh+7qiJmgqtZx6AbVIuank5vnDSKg9X5fsiww4cT6Xcf+E9rxcpiLhcfBjsbkUvKiVVcCNQHOIZxYLwEwelghz+VlWrJCFVPwT0=
+  - secure: g0Gm0G5oj892VmJeX8s2MMNttIR1GW9DX8+DYR2qXs5C8pjT8A30dYxCFiv4a1QHIrPEAhIGIosgtWpHXt8JwCDNLbPaHs6Jp9EkCB6doqLqQ9eOrvdxM67fyp8fJVcd4IH5JenG6FoaE7ofnu4QKoLo5w96Cd2UthwxrSCSQXWniutX8/N7XUt2cE74ISqQbJyslPWJ2UvKYL16HHtB8EzRmxD+EZgSYU/vtlds39Knrk85ogK5h6PKDmne8qoIH1nTPs8vzAu5uzeG6zai5m1qYETYbkiyJPTDs6sdy+DkYLLDaE5nLkNyfC/sHQvbPQ/H/CAW1OTZvSPsjxDN4hksovLaVuiH1DTHTM2+4fZsEab6fhx1itPOVijskoBqMzmksvah0nogIaw/qKmCtXGNBk7I30xeSju0W6c55miYUEEczF3eUn9oxHUSUDhQNs8UuosW/MJph7WTS2ESvmIjU7R6QuQjKmxTK7kZTaLAPpSwj/f77F7RgLUu3v6tO3Db1+i1OxdHvbaIVDiCNPB2J1LNmN4LFQstzJepYRadEUxYiExQzNulmC/FpkyPGwajec06z1r5NvTcWSOgxcTU/5OY6ggRCAsFoZTH4VzAst5nOBLRRGT+WAXpewGLhRlGLhev45eGgL2ctNVZY/6MA0ZBwnRPreczO7f3Nno=
+  - secure: iJ9fPWg8j+q19cUNqvwAbULZTnmK25wFuF5uBCxaSDuM1qMtbiq3M2l1Gvl0xZWdnq12PLMsUZtfLYNO1r4SRaarMPtnq4pK68DnuH49vkjpwGSy5bLIrcPQBZvzWKqzyG1R8+eOpg43BmXdau8Wo7pOSDw/8Bra7rtvA8Kjua/7MXaiZP08L71DtHaHFOoYlvgGHmuscdvtV3v4rNPntGR54ClzyNgnrRz6DP/NwEUF2a6EF2uhhbbe5XQvCNDTW0sqgxirZ4pDFPgywuWQaPcqqSXcwF78wrA0nLSzmQ1PsW9g/rUkDPbXE3uZuwje8QntNsSa8doTLw6Fizj7ZD8DuyvD8z3ljrLvhym+I00r8k6BpD5vlVhasUEEix/3+7lW4cpbE+ofwVz0Ge96y3Ei/uXkSI4kEhwPVfsU9sCRX/Kupdx9fLCQzm7F/BhkfHUCd403MjpbAtoHN3ACZfzC2QQ5fm14mxtLyMSawsClqwO7vVmc7+5p4f13TTkiUtWllKghMw8zTqxAZLwTiPFRKG6Y7MkX9tQUDBb9auQm/+7+pBFEUHibwoPvsSRwYGqdlZV7OXIFYPgt+WgUt9ZYblzSfZ8YLcGPfVTlGbLHkvW2SgIGL1gvHyXC2xd7kd7yec3M7AutDCiYg2kSzANVuJqGQCZSNr/6/S3QQrY=
+  - secure: IM9VEzf9MrtQnzK3VSD+YxmZWycxTgB5YbINDwE0LsAwWUWucDq95+2ZZRjKLrip5uYvoMohC5X2lxKuLhW8uDN3M6MxondHcCjgBCh8hWP7JociXWMxSIWA5ctU0oCgobm6rKvbarDuO8Bx+NE4QDDAWgjy9oOywE7mVi1G2//LY+2zC+iwXlkLs7VRdo9wtKgIG+FvswiJHhvFbU6GYxOeh1xclLnjwoWf66zzzbIW9Z4bFY0Zun/3u1ySQJWfF03/6ZzlCi3JPvfXDQ35T6PbD/5BvMDPmiXyWGqKUpZfRNus8VkG1G8TWwvHsVct9M47sZqLDuyzWVcwx613i8uxDsEIp9pVy4IxVl2UxvDJH1CPnNdvEhS3NeD9XfkMKMJtShHu1iVzB+j668W5SXsiv/N+psa2SIs+wuDY7FSirRg2Uwk9mlsXS+lSgV9B8BEcEIPEngA40MZCrEzNUdI0iYxaaqB6GNWeHiszOWz94rMkXk+FF3Ic75O4RyCmfXJmR8wYQs+rH4j7JJGzwTHXpYpV7H5V0OtMVIh6EUEvu3Veu/lkT4rsop55OHmcBmpKv8gGllX1P+g7H0+g35wn6Hz+FaSlkPvAuuSudgHFznOtfCowYhDUVp0TxTkcraLhkiROD4Qidw8r/HWh5CzrkfM9LWEBvziWFM77X/M=
+  - secure: SfJARcGrIyoemZ1jUENyX272acqmDTqQjk0LBjuzWxR5gqWp0Bn5TJS6x7niD8qzVC/n2FwR7F9FG3ll0cmToBgb8vh9763aL+ciA8cfk8iIUdjjQHNkywdhiLLw1EiR4TuUGOB3pV03WxMXl5JJTopJHScHgvTHfyhHS4vnQdrU3j6PwFDvVLsECyFiTCflDUgZ6zHocbIT4fqVjoBxy+5R0t9vyb4eE3IE3Lqjnac5oYVXm4KCpGUYDdCL0W2OlwPYgaBtWGetoWj/v6Kg4cjUVbKJHGK1q2nKyrCGPRvoKTqw83Pkfw1zkSdC0kCozMKr/gYsYBpt5IFXHaON/OkjvgdLbVKrpAHoauQ5KkWcTg9ntuUNndtg5pMaitBmd/J2AaMIxEde8ZvgfDR3sZdv0umFzLXJeAu/tbLR6ozP/BwOFpj89Lw0jNyNxJjdkLHP/4M2W5Ka0W1s+F6xNTahTuXdV32laPGN8SSmBrjzXwFOLOQTCgwlbD+YbTqAXUs+DLq/zIT6ZTaEfOdas+HTsu6H+cQfsmv9JlMP7PoT/CbL2tYe8kA2tjmxsQwUlVTcE1nP5ni5kHX+yXuClTzLimY+BOqU9SLJBKv6umygFqt/9nXk0YU6+UqfeDFCVzrMN0vnzWkmB0SQ3ElDC6pbb6NE/2RgmIy1pAUMDzY=
+  - secure: NPgEmEHVxJrLtaQ35IJnmQSbEHMqzSJt1l0OHX+a6VzfBiAP9Z4Qv1Ita/SQZpA4roLK2YkGr6TALndXgiY1EXU3e7ebcPnCgaQ6mCSJpAKtXhSGmArvysEmmxKSJjMxc8aBlJAeeEQlngXb0/pqA//kMw5KC+pPo+8O3UUbBs0qY9Q4FX3/cU+chv04tk5cSVR2P9nhOqY7LYm+FXjwF4vfjGKF7mWEcQUzTS8E2dRsertl/4law5O9/0gEW/9MaqyylPxq+0pS38sXP25zYotgEL3L8t0fupi58loPioDndardxVl35SXaatPuOxEdHr3Q0Q3dKVjbrTEx8bP7NgLY4nh7r5hqcEtvlM0xCAsfiOmGe0Dd0BFqo7kxzK/Fl6oI4MoEfvAYR+1QyBy9zOAJmjoj1hu/NEDAtT9NPxXJKl4A/iJPIYIt3lrMw34ewTSLl16ERojx6CZfSqg58eyUndmmOPBB8b4rIX0fQj5/ShsoLbM/rmOmDpPXN0QGu2EHhtR2eCbpdan84VfPifi5LjPH42PjdUxpJ+rOHZJHLesJ5JwQLFLrnDf7Bg96iucyz1QMpNFoqN+q4YDARot2zdw+1ISjgPx3bhHu8ly8oT1UYNl5mMjv7zfNDvsmBycpQEBQWGvIioRfx6dM/EtZy2E/og5Ci0j9v19YI2E=
+  - secure: f52LTJZfcwkCnlK0ig1/iskZxeTRyU5dGBjuF2f4CKXdV1ajlfjlNj/oX8V7eVYvSVIz1IkE9h2pi2x+P7Jp63ITdzNPAQlbaiqJqEG15g4JicRvTFgKba+dKfZL8lK+mHd/QZE6dd1QsjPuU2BbHuqKccS3NyrqhFkSFGD2eQtft6fXg7O7uFMEdEss8J2H9rYkmV/jH8H3xkaxH/EBeHa03NCMUBWampQ69SKstg+vSMXQCvrQWLbfpq+/K5SWnAW4UoWrvtlFT6lyFeWUTEXmHP8W8/DgubaMZCbMqrautsw4Qjf5VGucgitMVXEkT14MZIJtvhqjF+KPER8D0oPATDp5lb6k7iI100sZkpESGed2rnTwxP4rOrYpT1K3xju1iaTjUpVOZ55yCHCPyB5G1e5BYCEoXlnO2YzLpuGJJs02Mb/cSLL/JgyjPqI5HguN1mz1SsCG9yxknuEdjwwhyHDYudi3FZ8f8RooOE/SQBA7zycvSd5OqvlzgnN3hzG7cA1Bje3E7v1b4rBjF0sfkPpjadvleq2rex8THhFQeVFlrGvRS777/+xg5IA9C5wLaKqAvcbTMV4hzWO89L7W/+13vfH6JecdQGkbxmdr+Y/bDn1SwflfFcUiju9/p64T2rYFGDbwu5jDKV5KGhbMFbUJxds0ETyUKpGOCRs=
+  - secure: BDZ2Skv2cJU3mzK9fYISp3qWjJHXKUtQIUw6dYN0MYN78LTApjF1af3NLtjhPP92zcdAefAYNk0Dic7K+nEMS6fxoenVbeH3USUXWgIiu8iRt8wfMOOJiCzmoU8yoM+8HFA0/CgAfgkeqhW+zKTL3auIxwCGaVSElBmWB6tefyXEGF2fci/bXG3bDprQ4kZUAyvON8qABXQ+dsX225YwCP46CMTjRK+C1wj5zb6DDQC04sHRmFOMm3QATLXRXI7Lt5ju+Wkbg9JZqfL2Zo6GvZo0J2mpUijznGaCSSdy+r5edfnMmilPxeKUXODTyabSb33Lbinbp2ITUU3cIFGY76PVPYU7a3JN+vssPgpZm1M3kCDUUV71tipbl32//PjBfN0gYqCEGO6yvzklJIHjdgrd8zX2dDyY+vk7aZPDFySoVd5Dr2jGvCNOyE7bDD/9Ahis7VvkAMdU1S2NrLAUin9ZQaW4LjiiAWj3aXACI1i9FwA5SuGcQoPBnFsK7K3TkpgeSxG1YnaegOjm40QJJ8VqexMcBHDgMM2RECyJfhJbBM4JJpQngL8as0aO8HIbOlNSgyG3VCra4Lsa2GHWoOq1A7JI+HztdhCFICTEAcA6IqsFYsdQR/PC50FJawfqNuyDcXw2OtomYUe77/KsI5oOOL/cDYtNvasWW/brrCg=
+  - secure: aXiJ7R2Pe086+B5x5cuPmK0kG3f/G0vSryQEgmNvlU+Gpr0KaFsV76xzLyy0b8SOeVxA055O7/X7ZA4Pd/IKc5qz/98RX2gieozPDvwryfZ1weZbEYkjVBnWpzoIadN8jqTzN4LDf5nwTDcdEs45gU4uQgYBMWYvgPUBE20oD9iI7052qo/tknlQusPUisRiISuBpgnB1twnLk81ZZe3lRJdxmAOl6thaQj37UbqfvxCgyZVeVq3Y0tY6xl50/KNMyiecluoZuKu0h4EZGYk1T6UaheQ+MQRWNedJIsXeXhG8WoWrmCy5ZInzXWjsKwU4daLaaSgLzgcoNkYzyjAWwPNsepjiyAdXnVpzyifjdNm+LfB9Al5weAllFfzl580yAWVZlf/g0+X/dDxGxZME1jE53BcvUnvj/9cp0mox8JdjvB+ARHmxbPDUCfC9mcBPg0W24duk3brjT6BuR/xUMKEuydO0WDRAgOKopsAQalf/w+vEXQ+liKFs2CSwuo7CEUbtW+cTKz3XBQq6Ws5PAEeHmE3xy8wE5mafx0n6vv3oPGRQiTiko+CwUPrkqUmHzcHf+0N82RCcnT1CdALO7E+fowab5GVdOffUMKurQs5/pi8ux2YyNbS7qSQopAytV2rjiOei6ZDefExhWOWJWej9mPfDf9MGqlDkzbB8UE=
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/CHANGELOG.md b/vendor/github.com/aliyun/aliyun-oss-go-sdk/CHANGELOG.md
new file mode 100644 (file)
index 0000000..7f14c0e
--- /dev/null
@@ -0,0 +1,247 @@
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.6 日期:2021-01-13
+### 变更内容
+- 增加:增加worm接口
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.5 日期:2020-11-19
+### 变更内容
+- 增加:增加ListObjectsV2接口
+- 增加: 增加RestoreObjectXML接口
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.4 日期:2020-07-24
+### 变更内容
+- 修复:lifecycle配置支持输入LifecycleVersionTransition数组
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.3 日期:2020-07-10
+### 变更内容
+- 修复:lifecycle支持冷归档(ColdArchive)
+
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.2 日期:2020-06-19
+### 变更内容
+- 增加:支持禁止http跳转功能(go1.7.0版本及以上)
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.1 日期:2020-06-04
+### 变更内容
+- 增加:支持国密byok
+- 增加:支持异步任务的设置和读取
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.1.0 日期:2020-04-21
+### 变更内容
+- 增加:支持客户端加密、清单、冷归档功能
+- 增加:tcp连接增加keepalive心跳选项
+- 优化: 分块上传事件通知优化
+
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.8 日期:2020-04-09
+### 变更内容
+- 增加:支持用户传入自定义的header和param参数
+- 增加:增加对X-Oss-Range-Behavior支持
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.7 日期:2020-03-11
+### 变更内容
+- 增加:支持OSS V2 签名
+- 增加:增加SetBucketWebsiteXml接口,支持直接传入xml文件内容
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.6 日期:2020-02-15
+### 变更内容
+- 修复:CopyFile接口需要支持服务端加密功能
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.5 日期:2020-01-03
+### 变更内容
+- 增加:增加禁止同名覆盖选项X-Oss-Forbid-Overwrite
+- 增加:增加分块上传参数sequential, 支持分块上传返回md5校验值
+
+## 版本号:v2.0.4 日期:2019-11-13
+### 变更内容
+- 增加:SSR 对bucket 和 endpoint 做合法性校验,不符合要求要直接提示错误。
+- 增加:select object 功能merge
+- 增加:断点续传文件支持多版本
+- 增加:lifecycle 支持多版本
+- 修复:断点续传文件中的时间比较方式优化
+- 修复:修复断点上传不支持服务端加密的bug
+
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.3 日期:2019-09-17
+### 变更内容
+- 修复:不支持分块上传归档object
+- 增加:增加绑定客户端ip地址
+- 增加: 增加更多的mime type类型
+
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.2 日期:2019-08-06
+### 变更内容
+- 修复:proxy代理不支持https请求
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.1 日期:2019-07-11
+### 变更内容
+- 增加:增加qos相关api
+- 增加:增加payment相关api
+- 增加:增加自定义获取AccessKeyID、AccessKeySecret、SecurityToken
+- 增加: 增加http请求限速option
+
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v2.0.0 日期:2019-06-18
+### 变更内容
+- 增加:增加各个接口对versioning的支持
+- 增加:增加设置、查询、删除bucket policy接口
+- 增加: 增加设置website详细配置接口: SetBucketWebsiteDetail
+- 增加: 增加Bucket OptionsMethod 接口
+
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v1.9.8 日期:2019-05-25
+### 变更内容
+- 增加:增加设置、查询、删除bucket tagging接口
+
+# ChangeLog - Aliyun OSS SDK for Go
+## 版本号:v1.9.7 日期:2019-05-22
+### 变更内容
+- 增加:增加设置、查询、删除object tagging接口
+- 增加:增加设置、查询、删除bucket encryption接口
+- 增加:增加获取bucket统计信息接口
+
+## 版本号:v1.9.6 日期:2019-04-15
+### 变更内容
+- 变更:扩展lifecycle功能,提供设置AbortMutipartUpload和Transitions两种规则的生命周期管理的处理
+- 修复:测试用例BucketName使用固定前缀+随机的字符串
+- 修复:测试用例ObjectName使用固定前缀+随机字符串
+- 修复:测试用例有关bucket相关的异步操作,统一定义sleep时间
+- 修复:测试集结束后,列出bucket内的所有对象并删除所有测试的对象
+- 修复:测试集结束后,列出bucket内的所有未上传完成的分片并删除所有测试过程中产生的为上传完成的分片
+- 修复:支持上传webp类型的对象时从对象的后缀名字自动解析对应的content-type并设置content-type
+- 变更:增加在put/copy/append等接口时时设置对象的存储类型的sample
+- 修复:sample示例中的配置项的值改为直接从环境变量读取
+
+## 版本号:1.9.5 日期:2019-03-08
+### 变更内容
+- 变更:增加了限速上传功能
+
+## 版本号:1.9.4 日期:2019-01-25
+### 变更内容
+- 修复:在开启日志后,如果接口返回错误readResponseBody函数被调用两次
+- 变更:增加livechannel功能各个api接口
+
+## 版本号:1.9.3 日期:2019-01-10
+### 变更内容
+- 修复:分片上传时传入partSize值不对是的提示信息不准确的问题
+- 修复:仅仅在使用userAgent的时候初始化它的值
+- 变更:添加ContentLanguage选项
+- 变更:支持设置最大的空闲连接个数
+- 变更:当配置的endpoint不对时,输出的错误信息将会打印出正确的endpoint
+- 变更:支持ServerSideEncryptionKeyID选项,允许用户传入kms-id
+- 变更:添加日志模块,支持设置日志级别
+
+## 版本号:1.9.2 日期:2018-11-16
+### 变更内容
+- 变更:添加支持设置request Payer的option
+- 变更:添加支持设置checkpoint目录的option
+- 变更:getobjectmeta接口增加options参数,可以支持传入option选项
+- 变更:listobjecs接口增加options参数,可以支持传入option选项
+- 变更:listmultipartuploads接口增加options参数, 可以支持传入option选项
+- 修复:解决调用接口返回出错时,且返回的http body为空时,打印错误消息不包含"request_id"的问题
+- 变更:abortmultipartupload接口增加options参数, 可以支持传入option选项
+- 变更:completemultipartupload接口增加options参数, 可以支持传入option选项
+
+## 版本号:1.9.1 日期:2018-09-17
+### 变更内容
+ - 变更:支持ipv6
+ - 变更:支持修改对象的存储类型
+ - 修复:修改sample中GetBucketReferer方法名拼写错误
+ - 修复:修复NopCloser在close的时候并不释放内存的内存泄漏问题
+ - 变更:增加ProcessObject接口
+ - 修复:修改图片处理接口参数拼写错误导致无法处理的bug
+ - 修复:增加ListUploadedParts接口的options选项
+ - 修复:增加Callback&CallbackVal选项,支持回调使用
+ - 修复:GetObject接口返回Response,支持用户读取crc等返回值
+ - 修复:当以压缩格式返回数据时,GetObject接口不校验crc
+
+## 版本号:1.9.0 日期:2018-06-15
+### 变更内容
+ - 变更:国际化
+
+## 版本号:1.8.0 日期:2017-12-12
+### 变更内容
+ - 变更:空闲链接关闭时间调整为50秒
+ - 修复:修复临时账号使用SignURL的问题
+
+## 版本号:1.7.0 日期:2017-09-25
+### 变更内容
+ - 增加:DownloadFile支持CRC校验
+ - 增加:STS测试用例
+
+## 版本号:1.6.0 日期:2017-09-01
+### 变更内容
+ - 修复:URL中特殊字符的编码问题
+ - 变更:不再支持Golang 1.4
+## 版本号:1.5.1 日期:2017-08-04
+### 变更内容
+ - 修复:SignURL中Key编码的问题
+ - 修复:DownloadFile下载完成后rename失败的问题
+## 版本号:1.5.0 日期:2017-07-25
+### 变更内容
+ - 增加:支持生成URL签名
+ - 增加:GetObject支持ResponseContentType等选项
+ - 修复:DownloadFile去除分片小于5GB的限制
+ - 修复:AppendObject在appendPosition不正确时发生panic
+
+## 版本号:1.4.0 日期:2017-05-23
+### 变更内容
+ - 增加:支持符号链接symlink
+ - 增加:支持RestoreObject
+ - 增加:CreateBucket支持StorageClass
+ - 增加:支持范围读NormalizedRange
+ - 修复:IsObjectExist使用GetObjectMeta实现
+
+## 版本号:1.3.0 日期:2017-01-13
+### 变更内容
+ - 增加:上传下载支持进度条功能
+
+## 版本号:1.2.3 日期:2016-12-28
+### 变更内容
+ - 修复:每次请求使用一个http.Client修改为共用http.Client
+
+## 版本号:1.2.2 日期:2016-12-10
+### 变更内容
+ - 修复:GetObjectToFile/DownloadFile使用临时文件下载,成功后重命名成下载文件
+ - 修复:新建的下载文件权限修改为0664
+
+## 版本号:1.2.1 日期:2016-11-11
+### 变更内容
+ - 修复:只有当OSS返回x-oss-hash-crc64ecma头部时,才对上传的文件进行CRC64完整性校验
+
+## 版本号:1.2.0 日期:2016-10-18
+### 变更内容
+ - 增加:支持CRC64校验
+ - 增加:支持指定Useragent
+ - 修复:计算MD5占用内存大的问题
+ - 修复:CopyObject时Object名称没有URL编码的问题
+
+## 版本号:1.1.0 日期:2016-08-09
+### 变更内容
+ - 增加:支持代理服务器
+
+## 版本号:1.0.0 日期:2016-06-24
+### 变更内容
+ - 增加:断点分片复制接口Bucket.CopyFile
+ - 增加:Bucket间复制接口Bucket.CopyObjectTo、Bucket.CopyObjectFrom
+ - 增加:Client.GetBucketInfo接口
+ - 增加:Bucket.UploadPartCopy支持Bucket间复制
+ - 修复:断点上传、断点下载出错后,协程不退出的Bug
+ - 删除:接口Bucket.CopyObjectToBucket
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/LICENSE b/vendor/github.com/aliyun/aliyun-oss-go-sdk/LICENSE
new file mode 100644 (file)
index 0000000..d46e9d1
--- /dev/null
@@ -0,0 +1,14 @@
+Copyright (c) 2015 aliyun.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
+documentation files (the "Software"), to deal in the Software without restriction, including without limitation the
+rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the
+Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/README-CN.md b/vendor/github.com/aliyun/aliyun-oss-go-sdk/README-CN.md
new file mode 100644 (file)
index 0000000..dd1c63a
--- /dev/null
@@ -0,0 +1,169 @@
+# Aliyun OSS SDK for Go
+
+[![GitHub version](https://badge.fury.io/gh/aliyun%2Faliyun-oss-go-sdk.svg)](https://badge.fury.io/gh/aliyun%2Faliyun-oss-go-sdk)
+[![Build Status](https://travis-ci.org/aliyun/aliyun-oss-go-sdk.svg?branch=master)](https://travis-ci.org/aliyun/aliyun-oss-go-sdk)
+[![Coverage Status](https://coveralls.io/repos/github/aliyun/aliyun-oss-go-sdk/badge.svg?branch=master)](https://coveralls.io/github/aliyun/aliyun-oss-go-sdk?branch=master)
+
+## [README in English](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/README.md)
+
+## 关于
+> - 此Go SDK基于[阿里云对象存储服务](http://www.aliyun.com/product/oss/)官方API构建。
+> - 阿里云对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量,安全,低成本,高可靠的云存储服务。
+> - OSS适合存放任意文件类型,适合各种网站、开发企业及开发者使用。
+> - 使用此SDK,用户可以方便地在任何应用、任何时间、任何地点上传,下载和管理数据。
+
+## 版本
+> - Current version: v2.1.6
+
+## 运行环境
+> - Go 1.5及以上。
+
+## 安装方法
+### GitHub安装
+> - 执行命令`go get github.com/aliyun/aliyun-oss-go-sdk/oss`获取远程代码包。
+> - 在您的代码中使用`import "github.com/aliyun/aliyun-oss-go-sdk/oss"`引入OSS Go SDK的包。
+
+## 快速使用
+#### 获取存储空间列表(List Bucket)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    lsRes, err := client.ListBuckets()
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    for _, bucket := range lsRes.Buckets {
+        fmt.Println("Buckets:", bucket.Name)
+    }
+```
+
+#### 创建存储空间(Create Bucket)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = client.CreateBucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+    
+#### 删除存储空间(Delete Bucket)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = client.DeleteBucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+#### 上传文件(Put Object)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = bucket.PutObjectFromFile("my-object", "LocalFile")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+#### 下载文件 (Get Object)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = bucket.GetObjectToFile("my-object", "LocalFile")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+#### 获取文件列表(List Objects)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    lsRes, err := bucket.ListObjects()
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    for _, object := range lsRes.Objects {
+        fmt.Println("Objects:", object.Key)
+    }
+```
+    
+#### 删除文件(Delete Object)
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = bucket.DeleteObject("my-object")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+#### 其它
+更多的示例程序,请参看OSS Go SDK安装路径(即GOPATH变量中的第一个路径)下的`src\github.com\aliyun\aliyun-oss-go-sdk\sample`,该目录下为示例程序,
+或者参看`https://github.com/aliyun/aliyun-oss-go-sdk`下sample目录中的示例文件。
+
+## 注意事项
+### 运行sample
+> - 拷贝示例文件。到OSS Go SDK的安装路径(即GOPATH变量中的第一个路径),进入OSS Go SDK的代码目录`src\github.com\aliyun\aliyun-oss-go-sdk`,
+把其下的sample目录和sample.go复制到您的测试工程src目录下。
+> - 修改sample/config.go里的endpoint、AccessKeyId、AccessKeySecret、BucketName等配置。
+> - 请在您的工程目录下执行`go run src/sample.go`。
+
+## 联系我们
+> - [阿里云OSS官方网站](http://oss.aliyun.com)
+> - [阿里云OSS官方论坛](http://bbs.aliyun.com)
+> - [阿里云OSS官方文档中心](http://www.aliyun.com/product/oss#Docs)
+> - 阿里云官方技术支持:[提交工单](https://workorder.console.aliyun.com/#/ticket/createIndex)
+
+## 作者
+> - [Yubin Bai](https://github.com/baiyubin)
+> - [Guozhong Han](https://github.com/hangzws)
+
+## License
+> - MIT License, see [license file](LICENSE)
+
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/README.md b/vendor/github.com/aliyun/aliyun-oss-go-sdk/README.md
new file mode 100644 (file)
index 0000000..5f06496
--- /dev/null
@@ -0,0 +1,168 @@
+# Alibaba Cloud OSS SDK for Go
+
+[![GitHub Version](https://badge.fury.io/gh/aliyun%2Faliyun-oss-go-sdk.svg)](https://badge.fury.io/gh/aliyun%2Faliyun-oss-go-sdk)
+[![Build Status](https://travis-ci.org/aliyun/aliyun-oss-go-sdk.svg?branch=master)](https://travis-ci.org/aliyun/aliyun-oss-go-sdk)
+[![Coverage Status](https://coveralls.io/repos/github/aliyun/aliyun-oss-go-sdk/badge.svg?branch=master)](https://coveralls.io/github/aliyun/aliyun-oss-go-sdk?branch=master)
+
+## [README in Chinese](https://github.com/aliyun/aliyun-oss-go-sdk/blob/master/README-CN.md)
+
+## About
+> - This Go SDK is based on the official APIs of [Alibaba Cloud OSS](http://www.aliyun.com/product/oss/).
+> - Alibaba Cloud Object Storage Service (OSS) is a cloud storage service provided by Alibaba Cloud, featuring massive capacity, security, a low cost, and high reliability. 
+> - The OSS can store any type of files and therefore applies to various websites, development enterprises and developers.
+> - With this SDK, you can upload, download and manage data on any app anytime and anywhere conveniently. 
+
+## Version
+> - Current version: v2.1.6
+
+## Running Environment
+> - Go 1.5 or above. 
+
+## Installing
+### Install the SDK through GitHub
+> - Run the 'go get github.com/aliyun/aliyun-oss-go-sdk/oss' command to get the remote code package.
+> - Use 'import "github.com/aliyun/aliyun-oss-go-sdk/oss"' in your code to introduce OSS Go SDK package.
+
+## Getting Started
+### List Bucket
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    lsRes, err := client.ListBuckets()
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    for _, bucket := range lsRes.Buckets {
+        fmt.Println("Buckets:", bucket.Name)
+    }
+```
+
+### Create Bucket
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = client.CreateBucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+    
+### Delete Bucket
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = client.DeleteBucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+### Put Object
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = bucket.PutObjectFromFile("my-object", "LocalFile")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+### Get Object
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = bucket.GetObjectToFile("my-object", "LocalFile")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+### List Objects
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    lsRes, err := bucket.ListObjects()
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    for _, object := range lsRes.Objects {
+        fmt.Println("Objects:", object.Key)
+    }
+```
+    
+### Delete Object
+```go
+    client, err := oss.New("Endpoint", "AccessKeyId", "AccessKeySecret")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    bucket, err := client.Bucket("my-bucket")
+    if err != nil {
+        // HandleError(err)
+    }
+    
+    err = bucket.DeleteObject("my-object")
+    if err != nil {
+        // HandleError(err)
+    }
+```
+
+##  Complete Example
+More example projects can be found at 'src\github.com\aliyun\aliyun-oss-go-sdk\sample' under the installation path of the OSS Go SDK (the first path of the GOPATH variable). The directory contains example projects. 
+Or you can refer to the example objects in the sample directory under 'https://github.com/aliyun/aliyun-oss-go-sdk'.
+
+### Running Example
+> - Copy the example file. Go to the installation path of OSS Go SDK (the first path of the GOPATH variable), enter the code directory of the OSS Go SDK, namely 'src\github.com\aliyun\aliyun-oss-go-sdk',
+and copy the sample directory and sample.go to the src directory of your test project.
+> - Modify the  endpoint, AccessKeyId, AccessKeySecret and BucketName configuration settings in sample/config.go.
+> - Run 'go run src/sample.go' under your project directory.
+
+## Contacting us
+> - [Alibaba Cloud OSS official website](http://oss.aliyun.com).
+> - [Alibaba Cloud OSS official forum](http://bbs.aliyun.com).
+> - [Alibaba Cloud OSS official documentation center](http://www.aliyun.com/product/oss#Docs).
+> - Alibaba Cloud official technical support: [Submit a ticket](https://workorder.console.aliyun.com/#/ticket/createIndex). 
+
+## Author
+> - [Yubin Bai](https://github.com/baiyubin)
+> - [Guozhong Han](https://github.com/hangzws)
+
+## License
+> - MIT License, see [license file](LICENSE)
+
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/auth.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/auth.go
new file mode 100644 (file)
index 0000000..bc1e4fa
--- /dev/null
@@ -0,0 +1,190 @@
+package oss
+
+import (
+       "bytes"
+       "crypto/hmac"
+       "crypto/sha1"
+       "crypto/sha256"
+       "encoding/base64"
+       "fmt"
+       "hash"
+       "io"
+       "net/http"
+       "sort"
+       "strconv"
+       "strings"
+)
+
+// headerSorter defines the key-value structure for storing the sorted data in signHeader.
+type headerSorter struct {
+       Keys []string
+       Vals []string
+}
+
+// getAdditionalHeaderKeys get exist key in http header
+func (conn Conn) getAdditionalHeaderKeys(req *http.Request) ([]string, map[string]string) {
+       var keysList []string
+       keysMap := make(map[string]string)
+       srcKeys := make(map[string]string)
+
+       for k := range req.Header {
+               srcKeys[strings.ToLower(k)] = ""
+       }
+
+       for _, v := range conn.config.AdditionalHeaders {
+               if _, ok := srcKeys[strings.ToLower(v)]; ok {
+                       keysMap[strings.ToLower(v)] = ""
+               }
+       }
+
+       for k := range keysMap {
+               keysList = append(keysList, k)
+       }
+       sort.Strings(keysList)
+       return keysList, keysMap
+}
+
+// signHeader signs the header and sets it as the authorization header.
+func (conn Conn) signHeader(req *http.Request, canonicalizedResource string) {
+       akIf := conn.config.GetCredentials()
+       authorizationStr := ""
+       if conn.config.AuthVersion == AuthV2 {
+               additionalList, _ := conn.getAdditionalHeaderKeys(req)
+               if len(additionalList) > 0 {
+                       authorizationFmt := "OSS2 AccessKeyId:%v,AdditionalHeaders:%v,Signature:%v"
+                       additionnalHeadersStr := strings.Join(additionalList, ";")
+                       authorizationStr = fmt.Sprintf(authorizationFmt, akIf.GetAccessKeyID(), additionnalHeadersStr, conn.getSignedStr(req, canonicalizedResource, akIf.GetAccessKeySecret()))
+               } else {
+                       authorizationFmt := "OSS2 AccessKeyId:%v,Signature:%v"
+                       authorizationStr = fmt.Sprintf(authorizationFmt, akIf.GetAccessKeyID(), conn.getSignedStr(req, canonicalizedResource, akIf.GetAccessKeySecret()))
+               }
+       } else {
+               // Get the final authorization string
+               authorizationStr = "OSS " + akIf.GetAccessKeyID() + ":" + conn.getSignedStr(req, canonicalizedResource, akIf.GetAccessKeySecret())
+       }
+
+       // Give the parameter "Authorization" value
+       req.Header.Set(HTTPHeaderAuthorization, authorizationStr)
+}
+
+func (conn Conn) getSignedStr(req *http.Request, canonicalizedResource string, keySecret string) string {
+       // Find out the "x-oss-"'s address in header of the request
+       ossHeadersMap := make(map[string]string)
+       additionalList, additionalMap := conn.getAdditionalHeaderKeys(req)
+       for k, v := range req.Header {
+               if strings.HasPrefix(strings.ToLower(k), "x-oss-") {
+                       ossHeadersMap[strings.ToLower(k)] = v[0]
+               } else if conn.config.AuthVersion == AuthV2 {
+                       if _, ok := additionalMap[strings.ToLower(k)]; ok {
+                               ossHeadersMap[strings.ToLower(k)] = v[0]
+                       }
+               }
+       }
+       hs := newHeaderSorter(ossHeadersMap)
+
+       // Sort the ossHeadersMap by the ascending order
+       hs.Sort()
+
+       // Get the canonicalizedOSSHeaders
+       canonicalizedOSSHeaders := ""
+       for i := range hs.Keys {
+               canonicalizedOSSHeaders += hs.Keys[i] + ":" + hs.Vals[i] + "\n"
+       }
+
+       // Give other parameters values
+       // when sign URL, date is expires
+       date := req.Header.Get(HTTPHeaderDate)
+       contentType := req.Header.Get(HTTPHeaderContentType)
+       contentMd5 := req.Header.Get(HTTPHeaderContentMD5)
+
+       // default is v1 signature
+       signStr := req.Method + "\n" + contentMd5 + "\n" + contentType + "\n" + date + "\n" + canonicalizedOSSHeaders + canonicalizedResource
+       h := hmac.New(func() hash.Hash { return sha1.New() }, []byte(keySecret))
+
+       // v2 signature
+       if conn.config.AuthVersion == AuthV2 {
+               signStr = req.Method + "\n" + contentMd5 + "\n" + contentType + "\n" + date + "\n" + canonicalizedOSSHeaders + strings.Join(additionalList, ";") + "\n" + canonicalizedResource
+               h = hmac.New(func() hash.Hash { return sha256.New() }, []byte(keySecret))
+       }
+
+       // convert sign to log for easy to view
+       if conn.config.LogLevel >= Debug {
+               var signBuf bytes.Buffer
+               for i := 0; i < len(signStr); i++ {
+                       if signStr[i] != '\n' {
+                               signBuf.WriteByte(signStr[i])
+                       } else {
+                               signBuf.WriteString("\\n")
+                       }
+               }
+               conn.config.WriteLog(Debug, "[Req:%p]signStr:%s\n", req, signBuf.String())
+       }
+
+       io.WriteString(h, signStr)
+       signedStr := base64.StdEncoding.EncodeToString(h.Sum(nil))
+
+       return signedStr
+}
+
+func (conn Conn) getRtmpSignedStr(bucketName, channelName, playlistName string, expiration int64, keySecret string, params map[string]interface{}) string {
+       if params[HTTPParamAccessKeyID] == nil {
+               return ""
+       }
+
+       canonResource := fmt.Sprintf("/%s/%s", bucketName, channelName)
+       canonParamsKeys := []string{}
+       for key := range params {
+               if key != HTTPParamAccessKeyID && key != HTTPParamSignature && key != HTTPParamExpires && key != HTTPParamSecurityToken {
+                       canonParamsKeys = append(canonParamsKeys, key)
+               }
+       }
+
+       sort.Strings(canonParamsKeys)
+       canonParamsStr := ""
+       for _, key := range canonParamsKeys {
+               canonParamsStr = fmt.Sprintf("%s%s:%s\n", canonParamsStr, key, params[key].(string))
+       }
+
+       expireStr := strconv.FormatInt(expiration, 10)
+       signStr := expireStr + "\n" + canonParamsStr + canonResource
+
+       h := hmac.New(func() hash.Hash { return sha1.New() }, []byte(keySecret))
+       io.WriteString(h, signStr)
+       signedStr := base64.StdEncoding.EncodeToString(h.Sum(nil))
+       return signedStr
+}
+
+// newHeaderSorter is an additional function for function SignHeader.
+func newHeaderSorter(m map[string]string) *headerSorter {
+       hs := &headerSorter{
+               Keys: make([]string, 0, len(m)),
+               Vals: make([]string, 0, len(m)),
+       }
+
+       for k, v := range m {
+               hs.Keys = append(hs.Keys, k)
+               hs.Vals = append(hs.Vals, v)
+       }
+       return hs
+}
+
+// Sort is an additional function for function SignHeader.
+func (hs *headerSorter) Sort() {
+       sort.Sort(hs)
+}
+
+// Len is an additional function for function SignHeader.
+func (hs *headerSorter) Len() int {
+       return len(hs.Vals)
+}
+
+// Less is an additional function for function SignHeader.
+func (hs *headerSorter) Less(i, j int) bool {
+       return bytes.Compare([]byte(hs.Keys[i]), []byte(hs.Keys[j])) < 0
+}
+
+// Swap is an additional function for function SignHeader.
+func (hs *headerSorter) Swap(i, j int) {
+       hs.Vals[i], hs.Vals[j] = hs.Vals[j], hs.Vals[i]
+       hs.Keys[i], hs.Keys[j] = hs.Keys[j], hs.Keys[i]
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket.go
new file mode 100644 (file)
index 0000000..430252c
--- /dev/null
@@ -0,0 +1,1289 @@
+package oss
+
+import (
+       "bytes"
+       "crypto/md5"
+       "encoding/base64"
+       "encoding/xml"
+       "fmt"
+       "hash"
+       "hash/crc64"
+       "io"
+       "net/http"
+       "net/url"
+       "os"
+       "strconv"
+       "strings"
+       "time"
+)
+
+// Bucket implements the operations of object.
+type Bucket struct {
+       Client     Client
+       BucketName string
+}
+
+// PutObject creates a new object and it will overwrite the original one if it exists already.
+//
+// objectKey    the object key in UTF-8 encoding. The length must be between 1 and 1023, and cannot start with "/" or "\".
+// reader    io.Reader instance for reading the data for uploading
+// options    the options for uploading the object. The valid options here are CacheControl, ContentDisposition, ContentEncoding
+//            Expires, ServerSideEncryption, ObjectACL and Meta. Refer to the link below for more details.
+//            https://help.aliyun.com/document_detail/oss/api-reference/object/PutObject.html
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) PutObject(objectKey string, reader io.Reader, options ...Option) error {
+       opts := AddContentType(options, objectKey)
+
+       request := &PutObjectRequest{
+               ObjectKey: objectKey,
+               Reader:    reader,
+       }
+       resp, err := bucket.DoPutObject(request, opts)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return err
+}
+
+// PutObjectFromFile creates a new object from the local file.
+//
+// objectKey    object key.
+// filePath    the local file path to upload.
+// options    the options for uploading the object. Refer to the parameter options in PutObject for more details.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) PutObjectFromFile(objectKey, filePath string, options ...Option) error {
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return err
+       }
+       defer fd.Close()
+
+       opts := AddContentType(options, filePath, objectKey)
+
+       request := &PutObjectRequest{
+               ObjectKey: objectKey,
+               Reader:    fd,
+       }
+       resp, err := bucket.DoPutObject(request, opts)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return err
+}
+
+// DoPutObject does the actual upload work.
+//
+// request    the request instance for uploading an object.
+// options    the options for uploading an object.
+//
+// Response    the response from OSS.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DoPutObject(request *PutObjectRequest, options []Option) (*Response, error) {
+       isOptSet, _, _ := IsOptionSet(options, HTTPHeaderContentType)
+       if !isOptSet {
+               options = AddContentType(options, request.ObjectKey)
+       }
+
+       listener := GetProgressListener(options)
+
+       params := map[string]interface{}{}
+       resp, err := bucket.do("PUT", request.ObjectKey, params, options, request.Reader, listener)
+       if err != nil {
+               return nil, err
+       }
+
+       if bucket.GetConfig().IsEnableCRC {
+               err = CheckCRC(resp, "DoPutObject")
+               if err != nil {
+                       return resp, err
+               }
+       }
+
+       err = CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+
+       return resp, err
+}
+
+// GetObject downloads the object.
+//
+// objectKey    the object key.
+// options    the options for downloading the object. The valid values are: Range, IfModifiedSince, IfUnmodifiedSince, IfMatch,
+//            IfNoneMatch, AcceptEncoding. For more details, please check out:
+//            https://help.aliyun.com/document_detail/oss/api-reference/object/GetObject.html
+//
+// io.ReadCloser    reader instance for reading data from response. It must be called close() after the usage and only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObject(objectKey string, options ...Option) (io.ReadCloser, error) {
+       result, err := bucket.DoGetObject(&GetObjectRequest{objectKey}, options)
+       if err != nil {
+               return nil, err
+       }
+
+       return result.Response, nil
+}
+
+// GetObjectToFile downloads the data to a local file.
+//
+// objectKey    the object key to download.
+// filePath    the local file to store the object data.
+// options    the options for downloading the object. Refer to the parameter options in method GetObject for more details.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObjectToFile(objectKey, filePath string, options ...Option) error {
+       tempFilePath := filePath + TempFileSuffix
+
+       // Calls the API to actually download the object. Returns the result instance.
+       result, err := bucket.DoGetObject(&GetObjectRequest{objectKey}, options)
+       if err != nil {
+               return err
+       }
+       defer result.Response.Close()
+
+       // If the local file does not exist, create a new one. If it exists, overwrite it.
+       fd, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, FilePermMode)
+       if err != nil {
+               return err
+       }
+
+       // Copy the data to the local file path.
+       _, err = io.Copy(fd, result.Response.Body)
+       fd.Close()
+       if err != nil {
+               return err
+       }
+
+       // Compares the CRC value
+       hasRange, _, _ := IsOptionSet(options, HTTPHeaderRange)
+       encodeOpt, _ := FindOption(options, HTTPHeaderAcceptEncoding, nil)
+       acceptEncoding := ""
+       if encodeOpt != nil {
+               acceptEncoding = encodeOpt.(string)
+       }
+       if bucket.GetConfig().IsEnableCRC && !hasRange && acceptEncoding != "gzip" {
+               result.Response.ClientCRC = result.ClientCRC.Sum64()
+               err = CheckCRC(result.Response, "GetObjectToFile")
+               if err != nil {
+                       os.Remove(tempFilePath)
+                       return err
+               }
+       }
+
+       return os.Rename(tempFilePath, filePath)
+}
+
+// DoGetObject is the actual API that gets the object. It's the internal function called by other public APIs.
+//
+// request    the request to download the object.
+// options    the options for downloading the file. Checks out the parameter options in method GetObject.
+//
+// GetObjectResult    the result instance of getting the object.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DoGetObject(request *GetObjectRequest, options []Option) (*GetObjectResult, error) {
+       params, _ := GetRawParams(options)
+       resp, err := bucket.do("GET", request.ObjectKey, params, options, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+
+       result := &GetObjectResult{
+               Response: resp,
+       }
+
+       // CRC
+       var crcCalc hash.Hash64
+       hasRange, _, _ := IsOptionSet(options, HTTPHeaderRange)
+       if bucket.GetConfig().IsEnableCRC && !hasRange {
+               crcCalc = crc64.New(CrcTable())
+               result.ServerCRC = resp.ServerCRC
+               result.ClientCRC = crcCalc
+       }
+
+       // Progress
+       listener := GetProgressListener(options)
+
+       contentLen, _ := strconv.ParseInt(resp.Headers.Get(HTTPHeaderContentLength), 10, 64)
+       resp.Body = TeeReader(resp.Body, crcCalc, contentLen, listener, nil)
+
+       return result, nil
+}
+
+// CopyObject copies the object inside the bucket.
+//
+// srcObjectKey    the source object to copy.
+// destObjectKey    the target object to copy.
+// options    options for copying an object. You can specify the conditions of copy. The valid conditions are CopySourceIfMatch,
+//            CopySourceIfNoneMatch, CopySourceIfModifiedSince, CopySourceIfUnmodifiedSince, MetadataDirective.
+//            Also you can specify the target object's attributes, such as CacheControl, ContentDisposition, ContentEncoding, Expires,
+//            ServerSideEncryption, ObjectACL, Meta. Refer to the link below for more details :
+//            https://help.aliyun.com/document_detail/oss/api-reference/object/CopyObject.html
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) CopyObject(srcObjectKey, destObjectKey string, options ...Option) (CopyObjectResult, error) {
+       var out CopyObjectResult
+
+       //first find version id
+       versionIdKey := "versionId"
+       versionId, _ := FindOption(options, versionIdKey, nil)
+       if versionId == nil {
+               options = append(options, CopySource(bucket.BucketName, url.QueryEscape(srcObjectKey)))
+       } else {
+               options = DeleteOption(options, versionIdKey)
+               options = append(options, CopySourceVersion(bucket.BucketName, url.QueryEscape(srcObjectKey), versionId.(string)))
+       }
+
+       params := map[string]interface{}{}
+       resp, err := bucket.do("PUT", destObjectKey, params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// CopyObjectTo copies the object to another bucket.
+//
+// srcObjectKey    source object key. The source bucket is Bucket.BucketName .
+// destBucketName    target bucket name.
+// destObjectKey    target object name.
+// options    copy options, check out parameter options in function CopyObject for more details.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) CopyObjectTo(destBucketName, destObjectKey, srcObjectKey string, options ...Option) (CopyObjectResult, error) {
+       return bucket.copy(srcObjectKey, destBucketName, destObjectKey, options...)
+}
+
+//
+// CopyObjectFrom copies the object to another bucket.
+//
+// srcBucketName    source bucket name.
+// srcObjectKey    source object name.
+// destObjectKey    target object name. The target bucket name is Bucket.BucketName.
+// options    copy options. Check out parameter options in function CopyObject.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) CopyObjectFrom(srcBucketName, srcObjectKey, destObjectKey string, options ...Option) (CopyObjectResult, error) {
+       destBucketName := bucket.BucketName
+       var out CopyObjectResult
+       srcBucket, err := bucket.Client.Bucket(srcBucketName)
+       if err != nil {
+               return out, err
+       }
+
+       return srcBucket.copy(srcObjectKey, destBucketName, destObjectKey, options...)
+}
+
+func (bucket Bucket) copy(srcObjectKey, destBucketName, destObjectKey string, options ...Option) (CopyObjectResult, error) {
+       var out CopyObjectResult
+
+       //first find version id
+       versionIdKey := "versionId"
+       versionId, _ := FindOption(options, versionIdKey, nil)
+       if versionId == nil {
+               options = append(options, CopySource(bucket.BucketName, url.QueryEscape(srcObjectKey)))
+       } else {
+               options = DeleteOption(options, versionIdKey)
+               options = append(options, CopySourceVersion(bucket.BucketName, url.QueryEscape(srcObjectKey), versionId.(string)))
+       }
+
+       headers := make(map[string]string)
+       err := handleOptions(headers, options)
+       if err != nil {
+               return out, err
+       }
+       params := map[string]interface{}{}
+       resp, err := bucket.Client.Conn.Do("PUT", destBucketName, destObjectKey, params, headers, nil, 0, nil)
+
+       // get response header
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               pRespHeader := respHeader.(*http.Header)
+               *pRespHeader = resp.Headers
+       }
+
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// AppendObject uploads the data in the way of appending an existing or new object.
+//
+// AppendObject the parameter appendPosition specifies which postion (in the target object) to append. For the first append (to a non-existing file),
+// the appendPosition should be 0. The appendPosition in the subsequent calls will be the current object length.
+// For example, the first appendObject's appendPosition is 0 and it uploaded 65536 bytes data, then the second call's position is 65536.
+// The response header x-oss-next-append-position after each successful request also specifies the next call's append position (so the caller need not to maintain this information).
+//
+// objectKey    the target object to append to.
+// reader    io.Reader. The read instance for reading the data to append.
+// appendPosition    the start position to append.
+// destObjectProperties    the options for the first appending, such as CacheControl, ContentDisposition, ContentEncoding,
+//                         Expires, ServerSideEncryption, ObjectACL.
+//
+// int64    the next append position, it's valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) AppendObject(objectKey string, reader io.Reader, appendPosition int64, options ...Option) (int64, error) {
+       request := &AppendObjectRequest{
+               ObjectKey: objectKey,
+               Reader:    reader,
+               Position:  appendPosition,
+       }
+
+       result, err := bucket.DoAppendObject(request, options)
+       if err != nil {
+               return appendPosition, err
+       }
+
+       return result.NextPosition, err
+}
+
+// DoAppendObject is the actual API that does the object append.
+//
+// request    the request object for appending object.
+// options    the options for appending object.
+//
+// AppendObjectResult    the result object for appending object.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DoAppendObject(request *AppendObjectRequest, options []Option) (*AppendObjectResult, error) {
+       params := map[string]interface{}{}
+       params["append"] = nil
+       params["position"] = strconv.FormatInt(request.Position, 10)
+       headers := make(map[string]string)
+
+       opts := AddContentType(options, request.ObjectKey)
+       handleOptions(headers, opts)
+
+       var initCRC uint64
+       isCRCSet, initCRCOpt, _ := IsOptionSet(options, initCRC64)
+       if isCRCSet {
+               initCRC = initCRCOpt.(uint64)
+       }
+
+       listener := GetProgressListener(options)
+
+       handleOptions(headers, opts)
+       resp, err := bucket.Client.Conn.Do("POST", bucket.BucketName, request.ObjectKey, params, headers,
+               request.Reader, initCRC, listener)
+
+       // get response header
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               pRespHeader := respHeader.(*http.Header)
+               *pRespHeader = resp.Headers
+       }
+
+       if err != nil {
+               return nil, err
+       }
+       defer resp.Body.Close()
+
+       nextPosition, _ := strconv.ParseInt(resp.Headers.Get(HTTPHeaderOssNextAppendPosition), 10, 64)
+       result := &AppendObjectResult{
+               NextPosition: nextPosition,
+               CRC:          resp.ServerCRC,
+       }
+
+       if bucket.GetConfig().IsEnableCRC && isCRCSet {
+               err = CheckCRC(resp, "AppendObject")
+               if err != nil {
+                       return result, err
+               }
+       }
+
+       return result, nil
+}
+
+// DeleteObject deletes the object.
+//
+// objectKey    the object key to delete.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DeleteObject(objectKey string, options ...Option) error {
+       params, _ := GetRawParams(options)
+       resp, err := bucket.do("DELETE", objectKey, params, options, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// DeleteObjects deletes multiple objects.
+//
+// objectKeys    the object keys to delete.
+// options    the options for deleting objects.
+//            Supported option is DeleteObjectsQuiet which means it will not return error even deletion failed (not recommended). By default it's not used.
+//
+// DeleteObjectsResult    the result object.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DeleteObjects(objectKeys []string, options ...Option) (DeleteObjectsResult, error) {
+       out := DeleteObjectsResult{}
+       dxml := deleteXML{}
+       for _, key := range objectKeys {
+               dxml.Objects = append(dxml.Objects, DeleteObject{Key: key})
+       }
+
+       isQuiet, _ := FindOption(options, deleteObjectsQuiet, false)
+       dxml.Quiet = isQuiet.(bool)
+
+       bs, err := xml.Marshal(dxml)
+       if err != nil {
+               return out, err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       options = append(options, ContentType(contentType))
+       sum := md5.Sum(bs)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+       options = append(options, ContentMD5(b64))
+
+       params := map[string]interface{}{}
+       params["delete"] = nil
+       params["encoding-type"] = "url"
+
+       resp, err := bucket.do("POST", "", params, options, buffer, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       deletedResult := DeleteObjectVersionsResult{}
+       if !dxml.Quiet {
+               if err = xmlUnmarshal(resp.Body, &deletedResult); err == nil {
+                       err = decodeDeleteObjectsResult(&deletedResult)
+               }
+       }
+
+       // Keep compatibility:need convert to struct DeleteObjectsResult
+       out.XMLName = deletedResult.XMLName
+       for _, v := range deletedResult.DeletedObjectsDetail {
+               out.DeletedObjects = append(out.DeletedObjects, v.Key)
+       }
+
+       return out, err
+}
+
+// DeleteObjectVersions deletes multiple object versions.
+//
+// objectVersions    the object keys and versions to delete.
+// options    the options for deleting objects.
+//            Supported option is DeleteObjectsQuiet which means it will not return error even deletion failed (not recommended). By default it's not used.
+//
+// DeleteObjectVersionsResult    the result object.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DeleteObjectVersions(objectVersions []DeleteObject, options ...Option) (DeleteObjectVersionsResult, error) {
+       out := DeleteObjectVersionsResult{}
+       dxml := deleteXML{}
+       dxml.Objects = objectVersions
+
+       isQuiet, _ := FindOption(options, deleteObjectsQuiet, false)
+       dxml.Quiet = isQuiet.(bool)
+
+       bs, err := xml.Marshal(dxml)
+       if err != nil {
+               return out, err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       options = append(options, ContentType(contentType))
+       sum := md5.Sum(bs)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+       options = append(options, ContentMD5(b64))
+
+       params := map[string]interface{}{}
+       params["delete"] = nil
+       params["encoding-type"] = "url"
+
+       resp, err := bucket.do("POST", "", params, options, buffer, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       if !dxml.Quiet {
+               if err = xmlUnmarshal(resp.Body, &out); err == nil {
+                       err = decodeDeleteObjectsResult(&out)
+               }
+       }
+       return out, err
+}
+
+// IsObjectExist checks if the object exists.
+//
+// bool    flag of object's existence (true:exists; false:non-exist) when error is nil.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) IsObjectExist(objectKey string, options ...Option) (bool, error) {
+       _, err := bucket.GetObjectMeta(objectKey, options...)
+       if err == nil {
+               return true, nil
+       }
+
+       switch err.(type) {
+       case ServiceError:
+               if err.(ServiceError).StatusCode == 404 {
+                       return false, nil
+               }
+       }
+
+       return false, err
+}
+
+// ListObjects lists the objects under the current bucket.
+//
+// options    it contains all the filters for listing objects.
+//            It could specify a prefix filter on object keys,  the max keys count to return and the object key marker and the delimiter for grouping object names.
+//            The key marker means the returned objects' key must be greater than it in lexicographic order.
+//
+//            For example, if the bucket has 8 objects, my-object-1, my-object-11, my-object-2, my-object-21,
+//            my-object-22, my-object-3, my-object-31, my-object-32. If the prefix is my-object-2 (no other filters), then it returns
+//            my-object-2, my-object-21, my-object-22 three objects. If the marker is my-object-22 (no other filters), then it returns
+//            my-object-3, my-object-31, my-object-32 three objects. If the max keys is 5, then it returns 5 objects.
+//            The three filters could be used together to achieve filter and paging functionality.
+//            If the prefix is the folder name, then it could list all files under this folder (including the files under its subfolders).
+//            But if the delimiter is specified with '/', then it only returns that folder's files (no subfolder's files). The direct subfolders are in the commonPrefixes properties.
+//            For example, if the bucket has three objects fun/test.jpg, fun/movie/001.avi, fun/movie/007.avi. And if the prefix is "fun/", then it returns all three objects.
+//            But if the delimiter is '/', then only "fun/test.jpg" is returned as files and fun/movie/ is returned as common prefix.
+//
+//            For common usage scenario, check out sample/list_object.go.
+//
+// ListObjectsResult    the return value after operation succeeds (only valid when error is nil).
+//
+func (bucket Bucket) ListObjects(options ...Option) (ListObjectsResult, error) {
+       var out ListObjectsResult
+
+       options = append(options, EncodingType("url"))
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+
+       resp, err := bucket.do("GET", "", params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       if err != nil {
+               return out, err
+       }
+
+       err = decodeListObjectsResult(&out)
+       return out, err
+}
+
+// Recommend to use ListObjectsV2 to replace ListObjects
+// ListOListObjectsV2bjects lists the objects under the current bucket.
+// ListObjectsResultV2    the return value after operation succeeds (only valid when error is nil).
+func (bucket Bucket) ListObjectsV2(options ...Option) (ListObjectsResultV2, error) {
+       var out ListObjectsResultV2
+
+       options = append(options, EncodingType("url"))
+       options = append(options, ListType(2))
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+
+       resp, err := bucket.do("GET", "", params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       if err != nil {
+               return out, err
+       }
+
+       err = decodeListObjectsResultV2(&out)
+       return out, err
+}
+
+// ListObjectVersions lists objects of all versions under the current bucket.
+func (bucket Bucket) ListObjectVersions(options ...Option) (ListObjectVersionsResult, error) {
+       var out ListObjectVersionsResult
+
+       options = append(options, EncodingType("url"))
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+       params["versions"] = nil
+
+       resp, err := bucket.do("GET", "", params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       if err != nil {
+               return out, err
+       }
+
+       err = decodeListObjectVersionsResult(&out)
+       return out, err
+}
+
+// SetObjectMeta sets the metadata of the Object.
+//
+// objectKey    object
+// options    options for setting the metadata. The valid options are CacheControl, ContentDisposition, ContentEncoding, Expires,
+//            ServerSideEncryption, and custom metadata.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) SetObjectMeta(objectKey string, options ...Option) error {
+       options = append(options, MetadataDirective(MetaReplace))
+       _, err := bucket.CopyObject(objectKey, objectKey, options...)
+       return err
+}
+
+// GetObjectDetailedMeta gets the object's detailed metadata
+//
+// objectKey    object key.
+// options    the constraints of the object. Only when the object meets the requirements this method will return the metadata. Otherwise returns error. Valid options are IfModifiedSince, IfUnmodifiedSince,
+//            IfMatch, IfNoneMatch. For more details check out https://help.aliyun.com/document_detail/oss/api-reference/object/HeadObject.html
+//
+// http.Header    object meta when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObjectDetailedMeta(objectKey string, options ...Option) (http.Header, error) {
+       params, _ := GetRawParams(options)
+       resp, err := bucket.do("HEAD", objectKey, params, options, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+       defer resp.Body.Close()
+
+       return resp.Headers, nil
+}
+
+// GetObjectMeta gets object metadata.
+//
+// GetObjectMeta is more lightweight than GetObjectDetailedMeta as it only returns basic metadata including ETag
+// size, LastModified. The size information is in the HTTP header Content-Length.
+//
+// objectKey    object key
+//
+// http.Header    the object's metadata, valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObjectMeta(objectKey string, options ...Option) (http.Header, error) {
+       params, _ := GetRawParams(options)
+       params["objectMeta"] = nil
+       //resp, err := bucket.do("GET", objectKey, "?objectMeta", "", nil, nil, nil)
+       resp, err := bucket.do("HEAD", objectKey, params, options, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+       defer resp.Body.Close()
+
+       return resp.Headers, nil
+}
+
+// SetObjectACL updates the object's ACL.
+//
+// Only the bucket's owner could update object's ACL which priority is higher than bucket's ACL.
+// For example, if the bucket ACL is private and object's ACL is public-read-write.
+// Then object's ACL is used and it means all users could read or write that object.
+// When the object's ACL is not set, then bucket's ACL is used as the object's ACL.
+//
+// Object read operations include GetObject, HeadObject, CopyObject and UploadPartCopy on the source object;
+// Object write operations include PutObject, PostObject, AppendObject, DeleteObject, DeleteMultipleObjects,
+// CompleteMultipartUpload and CopyObject on target object.
+//
+// objectKey    the target object key (to set the ACL on)
+// objectAcl    object ACL. Valid options are PrivateACL, PublicReadACL, PublicReadWriteACL.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) SetObjectACL(objectKey string, objectACL ACLType, options ...Option) error {
+       options = append(options, ObjectACL(objectACL))
+       params, _ := GetRawParams(options)
+       params["acl"] = nil
+       resp, err := bucket.do("PUT", objectKey, params, options, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetObjectACL gets object's ACL
+//
+// objectKey    the object to get ACL from.
+//
+// GetObjectACLResult    the result object when error is nil. GetObjectACLResult.Acl is the object ACL.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObjectACL(objectKey string, options ...Option) (GetObjectACLResult, error) {
+       var out GetObjectACLResult
+       params, _ := GetRawParams(options)
+       params["acl"] = nil
+       resp, err := bucket.do("GET", objectKey, params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// PutSymlink creates a symlink (to point to an existing object)
+//
+// Symlink cannot point to another symlink.
+// When creating a symlink, it does not check the existence of the target file, and does not check if the target file is symlink.
+// Neither it checks the caller's permission on the target file. All these checks are deferred to the actual GetObject call via this symlink.
+// If trying to add an existing file, as long as the caller has the write permission, the existing one will be overwritten.
+// If the x-oss-meta- is specified, it will be added as the metadata of the symlink file.
+//
+// symObjectKey    the symlink object's key.
+// targetObjectKey    the target object key to point to.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) PutSymlink(symObjectKey string, targetObjectKey string, options ...Option) error {
+       options = append(options, symlinkTarget(url.QueryEscape(targetObjectKey)))
+       params, _ := GetRawParams(options)
+       params["symlink"] = nil
+       resp, err := bucket.do("PUT", symObjectKey, params, options, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetSymlink gets the symlink object with the specified key.
+// If the symlink object does not exist, returns 404.
+//
+// objectKey    the symlink object's key.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//          When error is nil, the target file key is in the X-Oss-Symlink-Target header of the returned object.
+//
+func (bucket Bucket) GetSymlink(objectKey string, options ...Option) (http.Header, error) {
+       params, _ := GetRawParams(options)
+       params["symlink"] = nil
+       resp, err := bucket.do("GET", objectKey, params, options, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+       defer resp.Body.Close()
+
+       targetObjectKey := resp.Headers.Get(HTTPHeaderOssSymlinkTarget)
+       targetObjectKey, err = url.QueryUnescape(targetObjectKey)
+       if err != nil {
+               return resp.Headers, err
+       }
+       resp.Headers.Set(HTTPHeaderOssSymlinkTarget, targetObjectKey)
+       return resp.Headers, err
+}
+
+// RestoreObject restores the object from the archive storage.
+//
+// An archive object is in cold status by default and it cannot be accessed.
+// When restore is called on the cold object, it will become available for access after some time.
+// If multiple restores are called on the same file when the object is being restored, server side does nothing for additional calls but returns success.
+// By default, the restored object is available for access for one day. After that it will be unavailable again.
+// But if another RestoreObject are called after the file is restored, then it will extend one day's access time of that object, up to 7 days.
+//
+// objectKey    object key to restore.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) RestoreObject(objectKey string, options ...Option) error {
+       params, _ := GetRawParams(options)
+       params["restore"] = nil
+       resp, err := bucket.do("POST", objectKey, params, options, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK, http.StatusAccepted})
+}
+
+// RestoreObjectDetail support more features than RestoreObject
+func (bucket Bucket) RestoreObjectDetail(objectKey string, restoreConfig RestoreConfiguration, options ...Option) error {
+       if restoreConfig.Tier == "" {
+               // Expedited, Standard, Bulk
+               restoreConfig.Tier = string(RestoreStandard)
+       }
+
+       if restoreConfig.Days == 0 {
+               restoreConfig.Days = 1
+       }
+
+       bs, err := xml.Marshal(restoreConfig)
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       options = append(options, ContentType(contentType))
+
+       params, _ := GetRawParams(options)
+       params["restore"] = nil
+
+       resp, err := bucket.do("POST", objectKey, params, options, buffer, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK, http.StatusAccepted})
+}
+
+// RestoreObjectXML support more features than RestoreObject
+func (bucket Bucket) RestoreObjectXML(objectKey, configXML string, options ...Option) error {
+       buffer := new(bytes.Buffer)
+       buffer.Write([]byte(configXML))
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       options = append(options, ContentType(contentType))
+
+       params, _ := GetRawParams(options)
+       params["restore"] = nil
+
+       resp, err := bucket.do("POST", objectKey, params, options, buffer, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK, http.StatusAccepted})
+}
+
+// SignURL signs the URL. Users could access the object directly with this URL without getting the AK.
+//
+// objectKey    the target object to sign.
+// signURLConfig    the configuration for the signed URL
+//
+// string    returns the signed URL, when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) SignURL(objectKey string, method HTTPMethod, expiredInSec int64, options ...Option) (string, error) {
+       if expiredInSec < 0 {
+               return "", fmt.Errorf("invalid expires: %d, expires must bigger than 0", expiredInSec)
+       }
+       expiration := time.Now().Unix() + expiredInSec
+
+       params, err := GetRawParams(options)
+       if err != nil {
+               return "", err
+       }
+
+       headers := make(map[string]string)
+       err = handleOptions(headers, options)
+       if err != nil {
+               return "", err
+       }
+
+       return bucket.Client.Conn.signURL(method, bucket.BucketName, objectKey, expiration, params, headers), nil
+}
+
+// PutObjectWithURL uploads an object with the URL. If the object exists, it will be overwritten.
+// PutObjectWithURL It will not generate minetype according to the key name.
+//
+// signedURL    signed URL.
+// reader    io.Reader the read instance for reading the data for the upload.
+// options    the options for uploading the data. The valid options are CacheControl, ContentDisposition, ContentEncoding,
+//            Expires, ServerSideEncryption, ObjectACL and custom metadata. Check out the following link for details:
+//            https://help.aliyun.com/document_detail/oss/api-reference/object/PutObject.html
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) PutObjectWithURL(signedURL string, reader io.Reader, options ...Option) error {
+       resp, err := bucket.DoPutObjectWithURL(signedURL, reader, options)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return err
+}
+
+// PutObjectFromFileWithURL uploads an object from a local file with the signed URL.
+// PutObjectFromFileWithURL It does not generate mimetype according to object key's name or the local file name.
+//
+// signedURL    the signed URL.
+// filePath    local file path, such as dirfile.txt, for uploading.
+// options    options for uploading, same as the options in PutObject function.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) PutObjectFromFileWithURL(signedURL, filePath string, options ...Option) error {
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return err
+       }
+       defer fd.Close()
+
+       resp, err := bucket.DoPutObjectWithURL(signedURL, fd, options)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return err
+}
+
+// DoPutObjectWithURL is the actual API that does the upload with URL work(internal for SDK)
+//
+// signedURL    the signed URL.
+// reader    io.Reader the read instance for getting the data to upload.
+// options    options for uploading.
+//
+// Response    the response object which contains the HTTP response.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DoPutObjectWithURL(signedURL string, reader io.Reader, options []Option) (*Response, error) {
+       listener := GetProgressListener(options)
+
+       params := map[string]interface{}{}
+       resp, err := bucket.doURL("PUT", signedURL, params, options, reader, listener)
+       if err != nil {
+               return nil, err
+       }
+
+       if bucket.GetConfig().IsEnableCRC {
+               err = CheckCRC(resp, "DoPutObjectWithURL")
+               if err != nil {
+                       return resp, err
+               }
+       }
+
+       err = CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+
+       return resp, err
+}
+
+// GetObjectWithURL downloads the object and returns the reader instance,  with the signed URL.
+//
+// signedURL    the signed URL.
+// options    options for downloading the object. Valid options are IfModifiedSince, IfUnmodifiedSince, IfMatch,
+//            IfNoneMatch, AcceptEncoding. For more information, check out the following link:
+//            https://help.aliyun.com/document_detail/oss/api-reference/object/GetObject.html
+//
+// io.ReadCloser    the reader object for getting the data from response. It needs be closed after the usage. It's only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObjectWithURL(signedURL string, options ...Option) (io.ReadCloser, error) {
+       result, err := bucket.DoGetObjectWithURL(signedURL, options)
+       if err != nil {
+               return nil, err
+       }
+       return result.Response, nil
+}
+
+// GetObjectToFileWithURL downloads the object into a local file with the signed URL.
+//
+// signedURL    the signed URL
+// filePath    the local file path to download to.
+// options    the options for downloading object. Check out the parameter options in function GetObject for the reference.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) GetObjectToFileWithURL(signedURL, filePath string, options ...Option) error {
+       tempFilePath := filePath + TempFileSuffix
+
+       // Get the object's content
+       result, err := bucket.DoGetObjectWithURL(signedURL, options)
+       if err != nil {
+               return err
+       }
+       defer result.Response.Close()
+
+       // If the file does not exist, create one. If exists, then overwrite it.
+       fd, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, FilePermMode)
+       if err != nil {
+               return err
+       }
+
+       // Save the data to the file.
+       _, err = io.Copy(fd, result.Response.Body)
+       fd.Close()
+       if err != nil {
+               return err
+       }
+
+       // Compare the CRC value. If CRC values do not match, return error.
+       hasRange, _, _ := IsOptionSet(options, HTTPHeaderRange)
+       encodeOpt, _ := FindOption(options, HTTPHeaderAcceptEncoding, nil)
+       acceptEncoding := ""
+       if encodeOpt != nil {
+               acceptEncoding = encodeOpt.(string)
+       }
+
+       if bucket.GetConfig().IsEnableCRC && !hasRange && acceptEncoding != "gzip" {
+               result.Response.ClientCRC = result.ClientCRC.Sum64()
+               err = CheckCRC(result.Response, "GetObjectToFileWithURL")
+               if err != nil {
+                       os.Remove(tempFilePath)
+                       return err
+               }
+       }
+
+       return os.Rename(tempFilePath, filePath)
+}
+
+// DoGetObjectWithURL is the actual API that downloads the file with the signed URL.
+//
+// signedURL    the signed URL.
+// options    the options for getting object. Check out parameter options in GetObject for the reference.
+//
+// GetObjectResult    the result object when the error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DoGetObjectWithURL(signedURL string, options []Option) (*GetObjectResult, error) {
+       params, _ := GetRawParams(options)
+       resp, err := bucket.doURL("GET", signedURL, params, options, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+
+       result := &GetObjectResult{
+               Response: resp,
+       }
+
+       // CRC
+       var crcCalc hash.Hash64
+       hasRange, _, _ := IsOptionSet(options, HTTPHeaderRange)
+       if bucket.GetConfig().IsEnableCRC && !hasRange {
+               crcCalc = crc64.New(CrcTable())
+               result.ServerCRC = resp.ServerCRC
+               result.ClientCRC = crcCalc
+       }
+
+       // Progress
+       listener := GetProgressListener(options)
+
+       contentLen, _ := strconv.ParseInt(resp.Headers.Get(HTTPHeaderContentLength), 10, 64)
+       resp.Body = TeeReader(resp.Body, crcCalc, contentLen, listener, nil)
+
+       return result, nil
+}
+
+//
+// ProcessObject apply process on the specified image file.
+//
+// The supported process includes resize, rotate, crop, watermark, format,
+// udf, customized style, etc.
+//
+//
+// objectKey   object key to process.
+// process     process string, such as "image/resize,w_100|sys/saveas,o_dGVzdC5qcGc,b_dGVzdA"
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) ProcessObject(objectKey string, process string, options ...Option) (ProcessObjectResult, error) {
+       var out ProcessObjectResult
+       params, _ := GetRawParams(options)
+       params["x-oss-process"] = nil
+       processData := fmt.Sprintf("%v=%v", "x-oss-process", process)
+       data := strings.NewReader(processData)
+       resp, err := bucket.do("POST", objectKey, params, nil, data, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = jsonUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// PutObjectTagging add tagging to object
+//
+// objectKey  object key to add tagging
+// tagging    tagging to be added
+//
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) PutObjectTagging(objectKey string, tagging Tagging, options ...Option) error {
+       bs, err := xml.Marshal(tagging)
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       params, _ := GetRawParams(options)
+       params["tagging"] = nil
+       resp, err := bucket.do("PUT", objectKey, params, options, buffer, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return nil
+}
+
+//
+// GetObjectTagging get tagging of the object
+//
+// objectKey  object key to get tagging
+//
+// Tagging
+// error      nil if success, otherwise error
+
+func (bucket Bucket) GetObjectTagging(objectKey string, options ...Option) (GetObjectTaggingResult, error) {
+       var out GetObjectTaggingResult
+       params, _ := GetRawParams(options)
+       params["tagging"] = nil
+
+       resp, err := bucket.do("GET", objectKey, params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// DeleteObjectTagging delete object taggging
+//
+// objectKey  object key to delete tagging
+//
+// error      nil if success, otherwise error
+//
+func (bucket Bucket) DeleteObjectTagging(objectKey string, options ...Option) error {
+       params, _ := GetRawParams(options)
+       params["tagging"] = nil
+
+       if objectKey == "" {
+               return fmt.Errorf("invalid argument: object name is empty")
+       }
+
+       resp, err := bucket.do("DELETE", objectKey, params, options, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+func (bucket Bucket) OptionsMethod(objectKey string, options ...Option) (http.Header, error) {
+       var out http.Header
+       resp, err := bucket.do("OPTIONS", objectKey, nil, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+       out = resp.Headers
+       return out, nil
+}
+
+// public
+func (bucket Bucket) Do(method, objectName string, params map[string]interface{}, options []Option,
+       data io.Reader, listener ProgressListener) (*Response, error) {
+       return bucket.do(method, objectName, params, options, data, listener)
+}
+
+// Private
+func (bucket Bucket) do(method, objectName string, params map[string]interface{}, options []Option,
+       data io.Reader, listener ProgressListener) (*Response, error) {
+       headers := make(map[string]string)
+       err := handleOptions(headers, options)
+       if err != nil {
+               return nil, err
+       }
+
+       err = CheckBucketName(bucket.BucketName)
+       if len(bucket.BucketName) > 0 && err != nil {
+               return nil, err
+       }
+
+       resp, err := bucket.Client.Conn.Do(method, bucket.BucketName, objectName,
+               params, headers, data, 0, listener)
+
+       // get response header
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil && resp != nil {
+               pRespHeader := respHeader.(*http.Header)
+               *pRespHeader = resp.Headers
+       }
+
+       return resp, err
+}
+
+func (bucket Bucket) doURL(method HTTPMethod, signedURL string, params map[string]interface{}, options []Option,
+       data io.Reader, listener ProgressListener) (*Response, error) {
+       headers := make(map[string]string)
+       err := handleOptions(headers, options)
+       if err != nil {
+               return nil, err
+       }
+
+       resp, err := bucket.Client.Conn.DoURL(method, signedURL, headers, data, 0, listener)
+
+       // get response header
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               pRespHeader := respHeader.(*http.Header)
+               *pRespHeader = resp.Headers
+       }
+
+       return resp, err
+}
+
+func (bucket Bucket) GetConfig() *Config {
+       return bucket.Client.Config
+}
+
+func AddContentType(options []Option, keys ...string) []Option {
+       typ := TypeByExtension("")
+       for _, key := range keys {
+               typ = TypeByExtension(key)
+               if typ != "" {
+                       break
+               }
+       }
+
+       if typ == "" {
+               typ = "application/octet-stream"
+       }
+
+       opts := []Option{ContentType(typ)}
+       opts = append(opts, options...)
+
+       return opts
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket_credential_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket_credential_test.go
new file mode 100644 (file)
index 0000000..c4c693c
--- /dev/null
@@ -0,0 +1,616 @@
+// Credentials test
+package oss
+
+import (
+       "bytes"
+       "io/ioutil"
+       "math/rand"
+       "os"
+       "strconv"
+       "strings"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssCredentialBucketSuite struct {
+       client    *Client
+       creClient *Client
+       bucket    *Bucket
+       creBucket *Bucket
+}
+
+var _ = Suite(&OssCredentialBucketSuite{})
+
+func (cs *OssCredentialBucketSuite) credentialSubUser(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(credentialBucketName)
+       c.Assert(err, IsNil)
+       cs.client = client
+       policyInfo := `
+       {
+               "Version":"1",
+               "Statement":[
+                       {
+                               "Action":[
+                                       "oss:*"
+                               ],
+                               "Effect":"Allow",
+                               "Principal":["` + credentialUID + `"],
+                               "Resource":["acs:oss:*:*:` + credentialBucketName + `", "acs:oss:*:*:` + credentialBucketName + `/*"]
+                       }
+               ]
+       }`
+
+       err = client.SetBucketPolicy(credentialBucketName, policyInfo)
+       c.Assert(err, IsNil)
+
+       bucket, err := cs.client.Bucket(credentialBucketName)
+       c.Assert(err, IsNil)
+       cs.bucket = bucket
+}
+
+// SetUpSuite runs once when the suite starts running.
+func (cs *OssCredentialBucketSuite) SetUpSuite(c *C) {
+       if credentialUID == "" {
+               testLogger.Println("the cerdential UID is NULL, skip the credential test")
+               c.Skip("the credential Uid is null")
+       }
+
+       cs.credentialSubUser(c)
+       client, err := New(endpoint, credentialAccessID, credentialAccessKey)
+       c.Assert(err, IsNil)
+       cs.creClient = client
+
+       bucket, err := cs.creClient.Bucket(credentialBucketName)
+       c.Assert(err, IsNil)
+       cs.creBucket = bucket
+
+       testLogger.Println("test credetial bucket started")
+}
+
+func (cs *OssCredentialBucketSuite) TearDownSuite(c *C) {
+       if credentialUID == "" {
+               c.Skip("the credential Uid is null")
+       }
+       for _, bucket := range []*Bucket{cs.bucket} {
+               // Delete multipart
+               keyMarker := KeyMarker("")
+               uploadIDMarker := UploadIDMarker("")
+               for {
+                       lmu, err := bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+                       c.Assert(err, IsNil)
+                       for _, upload := range lmu.Uploads {
+                               imur := InitiateMultipartUploadResult{Bucket: credentialBucketName, Key: upload.Key, UploadID: upload.UploadID}
+                               err = bucket.AbortMultipartUpload(imur)
+                               c.Assert(err, IsNil)
+                       }
+                       keyMarker = KeyMarker(lmu.NextKeyMarker)
+                       uploadIDMarker = UploadIDMarker(lmu.NextUploadIDMarker)
+                       if !lmu.IsTruncated {
+                               break
+                       }
+               }
+               // Delete objects
+               marker := Marker("")
+               for {
+                       lor, err := bucket.ListObjects(marker)
+                       c.Assert(err, IsNil)
+                       for _, object := range lor.Objects {
+                               err = bucket.DeleteObject(object.Key)
+                               c.Assert(err, IsNil)
+                       }
+                       marker = Marker(lor.NextMarker)
+                       if !lor.IsTruncated {
+                               break
+                       }
+               }
+       }
+       err := cs.client.DeleteBucket(credentialBucketName)
+       c.Assert(err, IsNil)
+       testLogger.Println("test credential bucket completed")
+}
+
+// Test put/get/list/delte object
+func (cs *OssCredentialBucketSuite) TestReqerPaymentNoRequester(c *C) {
+       // Set bucket is requester who send the request
+       reqPayConf := RequestPaymentConfiguration{
+               Payer: string(Requester),
+       }
+       err := cs.client.SetBucketRequestPayment(credentialBucketName, reqPayConf)
+       c.Assert(err, IsNil)
+
+       key := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(18)
+
+       // Put object
+       err = cs.creBucket.PutObject(key, strings.NewReader(objectValue))
+       c.Assert(err, NotNil)
+
+       // Get object
+       _, err = cs.creBucket.GetObject(key)
+       c.Assert(err, NotNil)
+
+       // List object
+       _, err = cs.creBucket.ListObjects()
+       c.Assert(err, NotNil)
+
+       err = cs.creBucket.DeleteObject(key)
+       c.Assert(err, NotNil)
+
+       // Set bucket is BucketOwner
+       reqPayConf.Payer = string(BucketOwner)
+       err = cs.client.SetBucketRequestPayment(credentialBucketName, reqPayConf)
+       c.Assert(err, IsNil)
+}
+
+// Test put/get/list/delte object
+func (cs *OssCredentialBucketSuite) TestReqerPaymentWithRequester(c *C) {
+       // Set bucket is requester who send the request
+       reqPayConf := RequestPaymentConfiguration{
+               Payer: string(Requester),
+       }
+       err := cs.client.SetBucketRequestPayment(credentialBucketName, reqPayConf)
+       c.Assert(err, IsNil)
+
+       key := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(18)
+
+       // Put object with a bucketowner
+       err = cs.creBucket.PutObject(key, strings.NewReader(objectValue), RequestPayer(BucketOwner))
+       c.Assert(err, NotNil)
+
+       // Put object
+       err = cs.creBucket.PutObject(key, strings.NewReader(objectValue), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Get object
+       body, err := cs.creBucket.GetObject(key, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       c.Assert(string(data), Equals, objectValue)
+
+       // List object
+       lor, err := cs.creBucket.ListObjects(RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       err = cs.creBucket.DeleteObject(key, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Set bucket is BucketOwner
+       reqPayConf.Payer = string(BucketOwner)
+       err = cs.client.SetBucketRequestPayment(credentialBucketName, reqPayConf)
+       c.Assert(err, IsNil)
+}
+
+// Test put/get/list/delte object
+func (cs *OssCredentialBucketSuite) TestOwnerPaymentNoRequester(c *C) {
+       // Set bucket is requester who send the request
+       reqPayConf := RequestPaymentConfiguration{
+               Payer: string(BucketOwner),
+       }
+       err := cs.client.SetBucketRequestPayment(credentialBucketName, reqPayConf)
+       c.Assert(err, IsNil)
+
+       key := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(18)
+
+       // Put object
+       err = cs.creBucket.PutObject(key, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Get object
+       body, err := cs.creBucket.GetObject(key)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       c.Assert(string(data), Equals, objectValue)
+
+       // List object
+       lor, err := cs.creBucket.ListObjects()
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       err = cs.creBucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+// Test put/get/list/delte object
+func (cs *OssCredentialBucketSuite) TestOwnerPaymentWithRequester(c *C) {
+       // Set bucket is BucketOwner payer
+       reqPayConf := RequestPaymentConfiguration{
+               Payer: string(BucketOwner),
+       }
+
+       err := cs.client.SetBucketRequestPayment(credentialBucketName, reqPayConf)
+       c.Assert(err, IsNil)
+
+       key := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(18)
+
+       // Put object
+       err = cs.creBucket.PutObject(key, strings.NewReader(objectValue), RequestPayer(BucketOwner))
+       c.Assert(err, IsNil)
+
+       // Put object
+       err = cs.creBucket.PutObject(key, strings.NewReader(objectValue), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Get object
+       body, err := cs.creBucket.GetObject(key, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       c.Assert(string(data), Equals, objectValue)
+
+       // List object
+       lor, err := cs.creBucket.ListObjects(RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       err = cs.creBucket.DeleteObject(key, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+}
+
+// TestPutObjectFromFile
+func (cs *OssCredentialBucketSuite) TestPutObjectFromFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Put
+       err := cs.creBucket.PutObjectFromFile(objectName, localFile, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Check
+       err = cs.creBucket.GetObjectToFile(objectName, newFile, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(localFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       meta, err := cs.creBucket.GetObjectDetailedMeta(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Content-Type"), Equals, "image/jpeg")
+
+       acl, err := cs.creBucket.GetObjectACL(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("aclRes:", acl)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Put with properties
+       options := []Option{
+               Expires(futureDate),
+               ObjectACL(ACLPublicRead),
+               Meta("myprop", "mypropval"),
+               RequestPayer(Requester),
+       }
+       err = cs.creBucket.PutObjectFromFile(objectName, localFile, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       err = cs.creBucket.GetObjectToFile(objectName, newFile, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       eq, err = compareFiles(localFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       acl, err = cs.creBucket.GetObjectACL(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectACL:", acl)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       meta, err = cs.creBucket.GetObjectDetailedMeta(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+}
+
+// TestCopyObject
+func (cs *OssCredentialBucketSuite) TestCopyObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(18)
+
+       err := cs.creBucket.PutObject(objectName, strings.NewReader(objectValue),
+               ACL(ACLPublicRead), Meta("my", "myprop"), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Copy
+       var objectNameDest = objectName + "dest"
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Check
+       lor, err := cs.creBucket.ListObjects(Prefix(objectName), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("objects:", lor.Objects)
+       c.Assert(len(lor.Objects), Equals, 2)
+
+       body, err := cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = cs.creBucket.DeleteObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-copy-source-if-modified-since
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, CopySourceIfModifiedSince(futureDate), RequestPayer(Requester))
+       c.Assert(err, NotNil)
+       testLogger.Println("CopyObject:", err)
+
+       // Copy with constraints x-oss-copy-source-if-unmodified-since
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, CopySourceIfUnmodifiedSince(futureDate), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Check
+       lor, err = cs.creBucket.ListObjects(Prefix(objectName), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("objects:", lor.Objects)
+       c.Assert(len(lor.Objects), Equals, 2)
+
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = cs.creBucket.DeleteObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-copy-source-if-match
+       meta, err := cs.creBucket.GetObjectDetailedMeta(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, CopySourceIfMatch(meta.Get("Etag")), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = cs.creBucket.DeleteObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-copy-source-if-none-match
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, CopySourceIfNoneMatch(meta.Get("Etag")), RequestPayer(Requester))
+       c.Assert(err, NotNil)
+
+       // Copy with constraints x-oss-metadata-directive
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, Meta("my", "mydestprop"),
+               MetadataDirective(MetaCopy), RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       destMeta, err := cs.creBucket.GetObjectDetailedMeta(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+
+       acl, err := cs.creBucket.GetObjectACL(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = cs.creBucket.DeleteObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-metadata-directive and self defined dest object meta
+       options := []Option{
+               ObjectACL(ACLPublicReadWrite),
+               Meta("my", "mydestprop"),
+               MetadataDirective(MetaReplace),
+               RequestPayer(Requester),
+       }
+       _, err = cs.creBucket.CopyObject(objectName, objectNameDest, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       destMeta, err = cs.creBucket.GetObjectDetailedMeta(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(destMeta.Get("X-Oss-Meta-My"), Equals, "mydestprop")
+
+       acl, err = cs.creBucket.GetObjectACL(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicReadWrite))
+
+       err = cs.creBucket.DeleteObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+}
+
+// TestCopyObjectToOrFrom
+func (cs *OssCredentialBucketSuite) TestCopyObjectToOrFrom(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(18)
+       sorBucketName := credentialBucketName + "-sor"
+       objectNameDest := objectName + "-Dest"
+
+       err := cs.client.CreateBucket(sorBucketName)
+       c.Assert(err, IsNil)
+       // Set ACL_PUBLIC_R
+       err = cs.client.SetBucketACL(sorBucketName, ACLPublicRead)
+       c.Assert(err, IsNil)
+
+       sorBucket, err := cs.client.Bucket(sorBucketName)
+       c.Assert(err, IsNil)
+
+       err = sorBucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Copy from
+       _, err = cs.creBucket.CopyObjectFrom(sorBucketName, objectName, objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := cs.creBucket.GetObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = cs.creBucket.DeleteObject(objectNameDest, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Copy to
+       _, err = sorBucket.CopyObjectTo(credentialBucketName, objectName, objectName)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Clean
+       err = sorBucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       err = cs.client.DeleteBucket(sorBucketName)
+       c.Assert(err, IsNil)
+}
+
+// TestAppendObject
+func (cs *OssCredentialBucketSuite) TestAppendObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue1 := RandStr(18)
+       objectValue2 := RandStr(18)
+       objectValue := objectValue1 + objectValue2
+       var val = []byte(objectValue)
+       var localFile = RandStr(8) + ".txt"
+       var nextPos int64
+       var midPos = 1 + rand.Intn(len(val)-1)
+
+       var err = CreateFileAndWrite(localFile+"1", val[0:midPos])
+       c.Assert(err, IsNil)
+       err = CreateFileAndWrite(localFile+"2", val[midPos:])
+       c.Assert(err, IsNil)
+
+       // String append
+       nextPos, err = cs.creBucket.AppendObject(objectName, strings.NewReader(objectValue1), nextPos, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       nextPos, err = cs.creBucket.AppendObject(objectName, strings.NewReader(objectValue2), nextPos, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       body, err := cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // Byte append
+       nextPos = 0
+       nextPos, err = cs.creBucket.AppendObject(objectName, bytes.NewReader(val[0:midPos]), nextPos, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       nextPos, err = cs.creBucket.AppendObject(objectName, bytes.NewReader(val[midPos:]), nextPos, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+
+       // File append
+       options := []Option{
+               ObjectACL(ACLPublicReadWrite),
+               Meta("my", "myprop"),
+               RequestPayer(Requester),
+       }
+
+       fd, err := os.Open(localFile + "1")
+       c.Assert(err, IsNil)
+       defer fd.Close()
+       nextPos = 0
+       nextPos, err = cs.creBucket.AppendObject(objectName, fd, nextPos, options...)
+       c.Assert(err, IsNil)
+
+       meta, err := cs.creBucket.GetObjectDetailedMeta(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta, ",", nextPos)
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Appendable")
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("x-oss-Meta-Mine"), Equals, "")
+       c.Assert(meta.Get("X-Oss-Next-Append-Position"), Equals, strconv.FormatInt(nextPos, 10))
+
+       acl, err := cs.creBucket.GetObjectACL(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectACL:", acl)
+       c.Assert(acl.ACL, Equals, string(ACLPublicReadWrite))
+
+       // Second append
+       options = []Option{
+               ObjectACL(ACLPublicRead),
+               Meta("my", "myproptwo"),
+               Meta("mine", "mypropmine"),
+               RequestPayer(Requester),
+       }
+       fd, err = os.Open(localFile + "2")
+       c.Assert(err, IsNil)
+       defer fd.Close()
+       nextPos, err = cs.creBucket.AppendObject(objectName, fd, nextPos, options...)
+       c.Assert(err, IsNil)
+
+       body, err = cs.creBucket.GetObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       meta, err = cs.creBucket.GetObjectDetailedMeta(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta xxx:", meta)
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Appendable")
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("x-Oss-Meta-Mine"), Equals, "")
+       c.Assert(meta.Get("X-Oss-Next-Append-Position"), Equals, strconv.FormatInt(nextPos, 10))
+
+       acl, err = cs.creBucket.GetObjectACL(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       err = cs.creBucket.DeleteObject(objectName, RequestPayer(Requester))
+       c.Assert(err, IsNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/bucket_test.go
new file mode 100644 (file)
index 0000000..d7b2a76
--- /dev/null
@@ -0,0 +1,5313 @@
+package oss
+
+import (
+       "bytes"
+       "encoding/base64"
+       "errors"
+       "fmt"
+       "io"
+       "io/ioutil"
+       "math/rand"
+       "net/http"
+       "net/url"
+       "os"
+       "path/filepath"
+       "strconv"
+       "strings"
+       "time"
+
+       "github.com/baiyubin/aliyun-sts-go-sdk/sts"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssBucketSuite struct {
+       client        *Client
+       bucket        *Bucket
+       archiveBucket *Bucket
+}
+
+var _ = Suite(&OssBucketSuite{})
+
+var (
+       pastDate   = time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
+       futureDate = time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC)
+)
+
+// SetUpSuite runs once when the suite starts running.
+func (s *OssBucketSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       err = s.client.CreateBucket(archiveBucketName, StorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       archiveBucket, err := s.client.Bucket(archiveBucketName)
+       c.Assert(err, IsNil)
+       s.archiveBucket = archiveBucket
+
+       testLogger.Println("test bucket started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running.
+func (s *OssBucketSuite) TearDownSuite(c *C) {
+       for _, bucket := range []*Bucket{s.bucket, s.archiveBucket} {
+               // Delete multipart
+               keyMarker := KeyMarker("")
+               uploadIDMarker := UploadIDMarker("")
+               for {
+                       lmu, err := bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+                       c.Assert(err, IsNil)
+                       for _, upload := range lmu.Uploads {
+                               imur := InitiateMultipartUploadResult{Bucket: bucketName, Key: upload.Key, UploadID: upload.UploadID}
+                               err = bucket.AbortMultipartUpload(imur)
+                               c.Assert(err, IsNil)
+                       }
+                       keyMarker = KeyMarker(lmu.NextKeyMarker)
+                       uploadIDMarker = UploadIDMarker(lmu.NextUploadIDMarker)
+                       if !lmu.IsTruncated {
+                               break
+                       }
+               }
+
+               // Delete objects
+               marker := Marker("")
+               for {
+                       lor, err := bucket.ListObjects(marker)
+                       c.Assert(err, IsNil)
+                       for _, object := range lor.Objects {
+                               err = bucket.DeleteObject(object.Key)
+                               c.Assert(err, IsNil)
+                       }
+                       marker = Marker(lor.NextMarker)
+                       if !lor.IsTruncated {
+                               break
+                       }
+               }
+
+               // Delete bucket
+               err := s.client.DeleteBucket(bucket.BucketName)
+               c.Assert(err, IsNil)
+       }
+
+       testLogger.Println("test bucket completed")
+}
+
+// SetUpTest runs after each test or benchmark runs.
+func (s *OssBucketSuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running.
+func (s *OssBucketSuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".temp")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt1")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt2")
+       c.Assert(err, IsNil)
+}
+
+// TestPutObject
+func (s *OssBucketSuite) TestPutObjectOnly(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "大江东去,浪淘尽,千古风流人物。 故垒西边,人道是、三国周郎赤壁。 乱石穿空,惊涛拍岸,卷起千堆雪。 江山如画,一时多少豪杰。" +
+               "遥想公谨当年,小乔初嫁了,雄姿英发。 羽扇纶巾,谈笑间、樯橹灰飞烟灭。故国神游,多情应笑我,早生华发,人生如梦,一尊还酹江月。"
+
+       // Put string
+       var respHeader http.Header
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("aclRes:", acl)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Put bytes
+       err = s.bucket.PutObject(objectName, bytes.NewReader([]byte(objectValue)))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Put file
+       err = CreateFileAndWrite(objectName+".txt", []byte(objectValue))
+       c.Assert(err, IsNil)
+       fd, err := os.Open(objectName + ".txt")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(objectName, fd)
+       c.Assert(err, IsNil)
+       os.Remove(objectName + ".txt")
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Put with properties
+       objectName = objectNamePrefix + RandStr(8)
+       options := []Option{
+               Expires(futureDate),
+               ObjectACL(ACLPublicRead),
+               Meta("myprop", "mypropval"),
+       }
+       err = s.bucket.PutObject(objectName, strings.NewReader(objectValue), options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectACL:", acl)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketSuite) SignURLTestFunc(c *C, authVersion AuthVersionType, extraHeaders []string) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(20)
+
+       filePath := RandLowStr(10)
+       content := "复写object"
+       CreateFile(filePath, content, c)
+
+       notExistfilePath := RandLowStr(10)
+       os.Remove(notExistfilePath)
+
+       oldType := s.bucket.Client.Config.AuthVersion
+       oldHeaders := s.bucket.Client.Config.AdditionalHeaders
+
+       s.bucket.Client.Config.AuthVersion = authVersion
+       s.bucket.Client.Config.AdditionalHeaders = extraHeaders
+
+       // Sign URL for put
+       str, err := s.bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Error put object with URL
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue), ContentType("image/tiff"))
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+
+       err = s.bucket.PutObjectFromFileWithURL(str, filePath, ContentType("image/tiff"))
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+
+       // Put object with URL
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       // Get object meta
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get(HTTPHeaderContentType), Equals, "application/octet-stream")
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "")
+
+       // Sign URL for function GetObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       body, err := s.bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Sign URL for function PutObjectWithURL
+       options := []Option{
+               ObjectACL(ACLPublicRead),
+               Meta("myprop", "mypropval"),
+               ContentType("image/tiff"),
+               ResponseContentEncoding("deflate"),
+       }
+       str, err = s.bucket.SignURL(objectName, HTTPPut, 60, options...)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL from file
+       // Without option, error
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+
+       err = s.bucket.PutObjectFromFileWithURL(str, filePath)
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+
+       // With option, error file
+       err = s.bucket.PutObjectFromFileWithURL(str, notExistfilePath, options...)
+       c.Assert(err, NotNil)
+
+       // With option
+       err = s.bucket.PutObjectFromFileWithURL(str, filePath, options...)
+       c.Assert(err, IsNil)
+
+       // Get object meta
+       meta, err = s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+       c.Assert(meta.Get(HTTPHeaderContentType), Equals, "image/tiff")
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       // Sign URL for function GetObjectToFileWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+
+       // Get object to file with URL
+       newFile := RandStr(10)
+       err = s.bucket.GetObjectToFileWithURL(str, newFile)
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(filePath, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       // Get object to file error
+       err = s.bucket.GetObjectToFileWithURL(str, newFile, options...)
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+       _, err = os.Stat(newFile)
+       c.Assert(err, NotNil)
+
+       // Get object error
+       body, err = s.bucket.GetObjectWithURL(str, options...)
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+       c.Assert(body, IsNil)
+
+       // Sign URL for function GetObjectToFileWithURL
+       options = []Option{
+               Expires(futureDate),
+               ObjectACL(ACLPublicRead),
+               Meta("myprop", "mypropval"),
+               ContentType("image/tiff"),
+               ResponseContentEncoding("deflate"),
+       }
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60, options...)
+       c.Assert(err, IsNil)
+
+       // Get object to file with URL and options
+       err = s.bucket.GetObjectToFileWithURL(str, newFile, options...)
+       c.Assert(err, IsNil)
+       eq, err = compareFiles(filePath, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       // Get object to file error
+       err = s.bucket.GetObjectToFileWithURL(str, newFile)
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+       _, err = os.Stat(newFile)
+       c.Assert(err, NotNil)
+
+       // Get object error
+       body, err = s.bucket.GetObjectWithURL(str)
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "SignatureDoesNotMatch")
+       c.Assert(body, IsNil)
+
+       err = s.bucket.PutObjectFromFile(objectName, "../sample/The Go Programming Language.html")
+       c.Assert(err, IsNil)
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 3600, AcceptEncoding("gzip"))
+       c.Assert(err, IsNil)
+       s.bucket.GetObjectToFileWithURL(str, newFile)
+       c.Assert(err, IsNil)
+
+       os.Remove(filePath)
+       os.Remove(newFile)
+
+       // Sign URL error
+       str, err = s.bucket.SignURL(objectName, HTTPGet, -1)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Invalid URL parse
+       str = RandStr(20)
+
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.GetObjectToFileWithURL(str, newFile)
+       c.Assert(err, NotNil)
+
+       s.bucket.Client.Config.AuthVersion = oldType
+       s.bucket.Client.Config.AdditionalHeaders = oldHeaders
+}
+
+func (s *OssBucketSuite) TestSignURL(c *C) {
+       s.SignURLTestFunc(c, AuthV1, []string{})
+       s.SignURLTestFunc(c, AuthV2, []string{})
+       s.SignURLTestFunc(c, AuthV2, []string{"host", "range", "user-agent"})
+}
+
+func (s *OssBucketSuite) SignURLWithEscapedKeyTestFunc(c *C, authVersion AuthVersionType, extraHeaders []string) {
+       // Key with '/'
+       objectName := "zyimg/86/e8/653b5dc97bb0022051a84c632bc4"
+       objectValue := "弃我去者,昨日之日不可留;乱我心者,今日之日多烦忧。长风万里送秋雁,对此可以酣高楼。蓬莱文章建安骨,中间小谢又清发。" +
+               "俱怀逸兴壮思飞,欲上青天揽明月。抽刀断水水更流,举杯销愁愁更愁。人生在世不称意,明朝散发弄扁舟。"
+
+       oldType := s.bucket.Client.Config.AuthVersion
+       oldHeaders := s.bucket.Client.Config.AdditionalHeaders
+
+       s.bucket.Client.Config.AuthVersion = authVersion
+       s.bucket.Client.Config.AdditionalHeaders = extraHeaders
+
+       // Sign URL for function PutObjectWithURL
+       str, err := s.bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for function GetObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       body, err := s.bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Key with escaped chars
+       objectName = "<>[]()`?.,!@#$%^&'/*-_=+~:;"
+
+       // Sign URL for funciton PutObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for function GetObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       body, err = s.bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Key with Chinese chars
+       objectName = "风吹柳花满店香,吴姬压酒劝客尝。金陵子弟来相送,欲行不行各尽觞。请君试问东流水,别意与之谁短长。"
+
+       // Sign URL for function PutObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for get function GetObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       body, err = s.bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Key
+       objectName = "test/此情无计可消除/才下眉头/却上 心头/。,;:‘’“”?()『』【】《》!@#¥%……&×/test+ =-_*&^%$#@!`~[]{}()<>|\\/?.,;.txt"
+
+       // Sign URL for function PutObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+
+       // Put object with URL
+       err = s.bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for function GetObjectWithURL
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+
+       // Get object with URL
+       body, err = s.bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Put object
+       err = s.bucket.PutObject(objectName, bytes.NewReader([]byte(objectValue)))
+       c.Assert(err, IsNil)
+
+       // Get object
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Delete object
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       s.bucket.Client.Config.AuthVersion = oldType
+       s.bucket.Client.Config.AdditionalHeaders = oldHeaders
+}
+
+func (s *OssBucketSuite) TestSignURLWithEscapedKey(c *C) {
+       s.SignURLWithEscapedKeyTestFunc(c, AuthV1, []string{})
+       s.SignURLWithEscapedKeyTestFunc(c, AuthV2, []string{})
+       s.SignURLWithEscapedKeyTestFunc(c, AuthV2, []string{"host", "range", "user-agent"})
+}
+
+func (s *OssBucketSuite) SignURLWithEscapedKeyAndPorxyTestFunc(c *C, authVersion AuthVersionType, extraHeaders []string) {
+       // Key with '/'
+       objectName := "zyimg/86/e8/653b5dc97bb0022051a84c632bc4"
+       objectValue := "弃我去者,昨日之日不可留;乱我心者,今日之日多烦忧。长风万里送秋雁,对此可以酣高楼。蓬莱文章建安骨,中间小谢又清发。" +
+               "俱怀逸兴壮思飞,欲上青天揽明月。抽刀断水水更流,举杯销愁愁更愁。人生在世不称意,明朝散发弄扁舟。"
+
+       options := []ClientOption{
+               AuthProxy(proxyHost, proxyUser, proxyPasswd),
+               AuthVersion(authVersion),
+               AdditionalHeaders(extraHeaders),
+       }
+
+       client, err := New(endpoint, accessID, accessKey, options...)
+       bucket, err := client.Bucket(bucketName)
+
+       // Sign URL for put
+       str, err := bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+       if bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL
+       err = bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for function GetObjectWithURL
+       str, err = bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+       if bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       body, err := bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Key with Chinese chars
+       objectName = "test/此情无计可消除/才下眉头/却上 心头/。,;:‘’“”?()『』【】《》!@#¥%……&×/test+ =-_*&^%$#@!`~[]{}()<>|\\/?.,;.txt"
+
+       // Sign URL for function PutObjectWithURL
+       str, err = bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+
+       // Put object with URL
+       err = bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for function GetObjectWithURL
+       str, err = bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+
+       // Get object with URL
+       body, err = bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Put object
+       err = bucket.PutObject(objectName, bytes.NewReader([]byte(objectValue)))
+       c.Assert(err, IsNil)
+
+       // Get object
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Delete object
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketSuite) TestSignURLWithEscapedKeyAndPorxy(c *C) {
+       s.SignURLWithEscapedKeyAndPorxyTestFunc(c, AuthV1, []string{})
+       s.SignURLWithEscapedKeyAndPorxyTestFunc(c, AuthV2, []string{})
+       s.SignURLWithEscapedKeyAndPorxyTestFunc(c, AuthV2, []string{"host", "range", "user-agent"})
+}
+
+func (s *OssBucketSuite) TestQueryStringAuthV2(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // set oss v2 signatrue
+       client.Config.AuthVersion = AuthV2
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // build QueryString
+       QueryKey1 := "abc"
+       QueryKey2 := "|abc"
+       c.Assert(strings.Compare(QueryKey1, QueryKey2) < 0, Equals, true)
+       c.Assert(strings.Compare(url.QueryEscape(QueryKey1), url.QueryEscape(QueryKey2)) > 0, Equals, true)
+
+       options := []Option{}
+       params := map[string]interface{}{}
+       params[QueryKey1] = "queryValue1"
+       params[QueryKey2] = "queryValue2"
+       objectKey := objectNamePrefix + RandStr(8)
+       resp, _ := bucket.do("HEAD", objectKey, params, options, nil, nil)
+
+       // object not exist,no signature error
+       c.Assert(resp.StatusCode, Equals, 404)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestPutObjectType
+func (s *OssBucketSuite) TestPutObjectType(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "乱石穿空,惊涛拍岸,卷起千堆雪。 江山如画,一时多少豪杰。"
+
+       // Put
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Content-Type"), Equals, "application/octet-stream")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Put
+       err = s.bucket.PutObject(objectName+".txt", strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       meta, err = s.bucket.GetObjectDetailedMeta(objectName + ".txt")
+       c.Assert(err, IsNil)
+       c.Assert(strings.Contains(meta.Get("Content-Type"), "text/plain"), Equals, true)
+
+       err = s.bucket.DeleteObject(objectName + ".txt")
+       c.Assert(err, IsNil)
+
+       // Put
+       err = s.bucket.PutObject(objectName+".apk", strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       meta, err = s.bucket.GetObjectDetailedMeta(objectName + ".apk")
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Content-Type"), Equals, "application/vnd.android.package-archive")
+
+       err = s.bucket.DeleteObject(objectName + ".txt")
+       c.Assert(err, IsNil)
+}
+
+// TestPutObject
+func (s *OssBucketSuite) TestPutObjectKeyChars(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "白日依山尽,黄河入海流。欲穷千里目,更上一层楼。"
+
+       // Put
+       objectKey := objectName + "十步杀一人,千里不留行。事了拂衣去,深藏身与名"
+       err := s.bucket.PutObject(objectKey, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := s.bucket.GetObject(objectKey)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectKey)
+       c.Assert(err, IsNil)
+
+       // Put
+       objectKey = objectName + "ごきげん如何ですかおれの顔をよく拝んでおけ"
+       err = s.bucket.PutObject(objectKey, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectKey)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectKey)
+       c.Assert(err, IsNil)
+
+       // Put
+       objectKey = objectName + "~!@#$%^&*()_-+=|\\[]{}<>,./?"
+       err = s.bucket.PutObject(objectKey, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectKey)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectKey)
+       c.Assert(err, IsNil)
+
+       // Put
+       objectKey = "go/中国 日本 +-#&=*"
+       err = s.bucket.PutObject(objectKey, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectKey)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectKey)
+       c.Assert(err, IsNil)
+}
+
+// TestPutObjectNegative
+func (s *OssBucketSuite) TestPutObjectNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "大江东去,浪淘尽,千古风流人物。 "
+
+       // Put
+       objectName = objectNamePrefix + RandStr(8)
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue),
+               Meta("meta-my", "myprop"))
+       c.Assert(err, IsNil)
+
+       // Check meta
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Not(Equals), "myprop")
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Invalid option
+       err = s.bucket.PutObject(objectName, strings.NewReader(objectValue),
+               IfModifiedSince(pastDate))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.PutObjectFromFile(objectName, "bucket.go", IfModifiedSince(pastDate))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.PutObjectFromFile(objectName, "/tmp/xxx")
+       c.Assert(err, NotNil)
+}
+
+// TestPutObjectFromFile
+func (s *OssBucketSuite) TestPutObjectFromFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := "newpic11.jpg"
+
+       // Put
+       err := s.bucket.PutObjectFromFile(objectName, localFile)
+       c.Assert(err, IsNil)
+
+       // Check
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(localFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("aclRes:", acl)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Put with properties
+       options := []Option{
+               Expires(futureDate),
+               ObjectACL(ACLPublicRead),
+               Meta("myprop", "mypropval"),
+       }
+       os.Remove(newFile)
+       err = s.bucket.PutObjectFromFile(objectName, localFile, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+       eq, err = compareFiles(localFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectACL:", acl)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+}
+
+// TestPutObjectFromFile
+func (s *OssBucketSuite) TestPutObjectFromFileType(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Put
+       err := s.bucket.PutObjectFromFile(objectName, localFile)
+       c.Assert(err, IsNil)
+
+       // Check
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(localFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Content-Type"), Equals, "image/jpeg")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+}
+
+// TestGetObject
+func (s *OssBucketSuite) TestGetObjectNormal(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "长忆观潮,满郭人争江上望。来疑沧海尽成空,万面鼓声中。弄潮儿向涛头立,手把红旗旗不湿。别来几向梦中看,梦觉尚心寒。"
+
+       // Put
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       str := string(data)
+       c.Assert(str, Equals, objectValue)
+       testLogger.Println("GetObjec:", str)
+
+       // Range
+       var subObjectValue = string(([]byte(objectValue))[15:36])
+       body, err = s.bucket.GetObject(objectName, Range(15, 35))
+       c.Assert(err, IsNil)
+       data, err = ioutil.ReadAll(body)
+       body.Close()
+       str = string(data)
+       c.Assert(str, Equals, subObjectValue)
+       testLogger.Println("GetObject:", str, ",", subObjectValue)
+
+       // If-Modified-Since
+       _, err = s.bucket.GetObject(objectName, IfModifiedSince(futureDate))
+       c.Assert(err, NotNil)
+
+       // If-Unmodified-Since
+       body, err = s.bucket.GetObject(objectName, IfUnmodifiedSince(futureDate))
+       c.Assert(err, IsNil)
+       data, err = ioutil.ReadAll(body)
+       body.Close()
+       c.Assert(string(data), Equals, objectValue)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       // If-Match
+       body, err = s.bucket.GetObject(objectName, IfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+       data, err = ioutil.ReadAll(body)
+       body.Close()
+       c.Assert(string(data), Equals, objectValue)
+
+       // If-None-Match
+       _, err = s.bucket.GetObject(objectName, IfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+
+       // process
+       err = s.bucket.PutObjectFromFile(objectName, "../sample/BingWallpaper-2015-11-07.jpg")
+       c.Assert(err, IsNil)
+       _, err = s.bucket.GetObject(objectName, Process("image/format,png"))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestGetObjectNegative
+func (s *OssBucketSuite) TestGetObjectToWriterNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "长忆观潮,满郭人争江上望。"
+
+       // Object not exist
+       _, err := s.bucket.GetObject("NotExist")
+       c.Assert(err, NotNil)
+
+       // Constraint invalid
+       err = s.bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Out of range
+       _, err = s.bucket.GetObject(objectName, Range(15, 1000))
+       c.Assert(err, IsNil)
+
+       // Not exist
+       err = s.bucket.GetObjectToFile(objectName, "/root1/123abc9874")
+       c.Assert(err, NotNil)
+
+       // Invalid option
+       _, err = s.bucket.GetObject(objectName, ACL(ACLPublicRead))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(objectName, "newpic15.jpg", ACL(ACLPublicRead))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestGetObjectToFile
+func (s *OssBucketSuite) TestGetObjectToFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "江南好,风景旧曾谙;日出江花红胜火,春来江水绿如蓝。能不忆江南?江南忆,最忆是杭州;山寺月中寻桂子,郡亭枕上看潮头。何日更重游!"
+       newFile := RandStr(8) + ".jpg"
+
+       // Put
+       var val = []byte(objectValue)
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+       eq, err := compareFileData(newFile, val)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       // Range
+       err = s.bucket.GetObjectToFile(objectName, newFile, Range(15, 35))
+       c.Assert(err, IsNil)
+       eq, err = compareFileData(newFile, val[15:36])
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       err = s.bucket.GetObjectToFile(objectName, newFile, NormalizedRange("15-35"))
+       c.Assert(err, IsNil)
+       eq, err = compareFileData(newFile, val[15:36])
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       err = s.bucket.GetObjectToFile(objectName, newFile, NormalizedRange("15-"))
+       c.Assert(err, IsNil)
+       eq, err = compareFileData(newFile, val[15:])
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       err = s.bucket.GetObjectToFile(objectName, newFile, NormalizedRange("-10"))
+       c.Assert(err, IsNil)
+       eq, err = compareFileData(newFile, val[(len(val)-10):len(val)])
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       // If-Modified-Since
+       err = s.bucket.GetObjectToFile(objectName, newFile, IfModifiedSince(futureDate))
+       c.Assert(err, NotNil)
+
+       // If-Unmodified-Since
+       err = s.bucket.GetObjectToFile(objectName, newFile, IfUnmodifiedSince(futureDate))
+       c.Assert(err, IsNil)
+       eq, err = compareFileData(newFile, val)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       os.Remove(newFile)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+
+       // If-Match
+       err = s.bucket.GetObjectToFile(objectName, newFile, IfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+       eq, err = compareFileData(newFile, val)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // If-None-Match
+       err = s.bucket.GetObjectToFile(objectName, newFile, IfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+
+       // Accept-Encoding:gzip
+       err = s.bucket.PutObjectFromFile(objectName, "../sample/The Go Programming Language.html")
+       c.Assert(err, IsNil)
+       err = s.bucket.GetObjectToFile(objectName, newFile, AcceptEncoding("gzip"))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestListObjects
+func (s *OssBucketSuite) TestListObjects(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // List empty bucket
+       lor, err := s.bucket.ListObjects()
+       c.Assert(err, IsNil)
+       left := len(lor.Objects)
+
+       // Put three objects
+       err = s.bucket.PutObject(objectName+"1", strings.NewReader(""))
+       c.Assert(err, IsNil)
+       err = s.bucket.PutObject(objectName+"2", strings.NewReader(""))
+       c.Assert(err, IsNil)
+       err = s.bucket.PutObject(objectName+"3", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // List
+       lor, err = s.bucket.ListObjects()
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, left+3)
+
+       // List with prefix
+       lor, err = s.bucket.ListObjects(Prefix(objectName + "2"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName + "22"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+
+       // List with max keys
+       lor, err = s.bucket.ListObjects(Prefix(objectName), MaxKeys(2))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 2)
+
+       // List with marker
+       lor, err = s.bucket.ListObjects(Marker(objectName+"1"), MaxKeys(1))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       err = s.bucket.DeleteObject(objectName + "1")
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectName + "2")
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectName + "3")
+       c.Assert(err, IsNil)
+}
+
+// TestListObjects
+func (s *OssBucketSuite) TestListObjectsV2NotBatch(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // List empty bucket
+       lor, err := bucket.ListObjectsV2(StartAfter(""))
+       c.Assert(err, IsNil)
+       left := len(lor.Objects)
+
+       // Put three objects
+       err = bucket.PutObject(objectName+"1", strings.NewReader(""))
+       c.Assert(err, IsNil)
+       err = bucket.PutObject(objectName+"2", strings.NewReader(""))
+       c.Assert(err, IsNil)
+       err = bucket.PutObject(objectName+"3", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // List
+       lor, err = bucket.ListObjectsV2(FetchOwner(true))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, left+3)
+       c.Assert(len(lor.Objects[0].Owner.ID) > 0, Equals, true)
+       c.Assert(len(lor.Objects[0].Owner.DisplayName) > 0, Equals, true)
+
+       // List with prefix
+       lor, err = bucket.ListObjectsV2(Prefix(objectName + "2"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+       c.Assert(lor.Objects[0].Key, Equals, objectName+"2")
+
+       lor, err = bucket.ListObjectsV2(Prefix(objectName + "22"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+
+       // List with max keys
+       lor, err = bucket.ListObjectsV2(Prefix(objectName), MaxKeys(2))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 2)
+
+       // List with marker
+       lor, err = bucket.ListObjectsV2(StartAfter(objectName+"1"), MaxKeys(1))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+       c.Assert(lor.IsTruncated, Equals, true)
+       c.Assert(len(lor.NextContinuationToken) > 0, Equals, true)
+       c.Assert(lor.Objects[0].Key, Equals, objectName+"2")
+
+       lor, err = bucket.ListObjectsV2(Prefix(objectName), StartAfter(objectName+"1"), MaxKeys(2))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 2)
+       c.Assert(lor.IsTruncated, Equals, false)
+       c.Assert(lor.NextContinuationToken, Equals, "")
+       ForceDeleteBucket(client, bucketName, c)
+       c.Assert(lor.Objects[0].Key, Equals, objectName+"2")
+       c.Assert(lor.Objects[1].Key, Equals, objectName+"3")
+}
+
+// TestListObjects
+func (s *OssBucketSuite) TestListObjectsV2BatchList(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // Put three objects
+       count := 17
+       objectName := "testobject-" + RandLowStr(6)
+       for i := 0; i < count; i++ {
+               err = bucket.PutObject(objectName+strconv.Itoa(i), strings.NewReader(""))
+               c.Assert(err, IsNil)
+       }
+
+       Objects := []ObjectProperties{}
+
+       // List Object
+       continuationToken := ""
+       prefix := ""
+       for {
+               lor, err := bucket.ListObjectsV2(Prefix(prefix), ContinuationToken(continuationToken), MaxKeys(3))
+               c.Assert(err, IsNil)
+               Objects = append(Objects, lor.Objects...)
+               continuationToken = lor.NextContinuationToken
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+       c.Assert(len(Objects), Equals, count)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestListObjects
+func (s *OssBucketSuite) TestListObjectsEncodingType(c *C) {
+       prefix := objectNamePrefix + "床前明月光,疑是地上霜。举头望明月,低头思故乡。"
+
+       for i := 0; i < 10; i++ {
+               err := s.bucket.PutObject(prefix+strconv.Itoa(i), strings.NewReader(""))
+               c.Assert(err, IsNil)
+       }
+
+       lor, err := s.bucket.ListObjects(Prefix(objectNamePrefix + "床前明月光,"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 10)
+
+       lor, err = s.bucket.ListObjects(Marker(objectNamePrefix + "床前明月光,疑是地上霜。举头望明月,低头思故乡。"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 10)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectNamePrefix + "床前明月光"))
+       c.Assert(err, IsNil)
+       for i, obj := range lor.Objects {
+               c.Assert(obj.Key, Equals, prefix+strconv.Itoa(i))
+       }
+
+       for i := 0; i < 10; i++ {
+               err = s.bucket.DeleteObject(prefix + strconv.Itoa(i))
+               c.Assert(err, IsNil)
+       }
+
+       // Special characters
+       objectName := objectNamePrefix + "` ~ ! @ # $ % ^ & * () - _ + =[] {} \\ | < > , . ? / 0"
+       err = s.bucket.PutObject(objectName, strings.NewReader("明月几时有,把酒问青天"))
+       c.Assert(err, IsNil)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       objectName = objectNamePrefix + "中国  日本  +-#&=*"
+       err = s.bucket.PutObject(objectName, strings.NewReader("明月几时有,把酒问青天"))
+       c.Assert(err, IsNil)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestIsBucketExist
+func (s *OssBucketSuite) TestIsObjectExist(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Put three objects
+       err := s.bucket.PutObject(objectName+"1", strings.NewReader(""))
+       c.Assert(err, IsNil)
+       err = s.bucket.PutObject(objectName+"11", strings.NewReader(""))
+       c.Assert(err, IsNil)
+       err = s.bucket.PutObject(objectName+"111", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // Exist
+       exist, err := s.bucket.IsObjectExist(objectName + "11")
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       exist, err = s.bucket.IsObjectExist(objectName + "1")
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       exist, err = s.bucket.IsObjectExist(objectName + "111")
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       // Not exist
+       exist, err = s.bucket.IsObjectExist(objectName + "1111")
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       exist, err = s.bucket.IsObjectExist(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       err = s.bucket.DeleteObject(objectName + "1")
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectName + "11")
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectName + "111")
+       c.Assert(err, IsNil)
+}
+
+// TestDeleteObject
+func (s *OssBucketSuite) TestDeleteObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       err := s.bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       lor, err := s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 1)
+
+       // Delete
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Duplicate delete
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+}
+
+// TestDeleteObjects
+func (s *OssBucketSuite) TestDeleteObjectsNormal(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Delete objects
+       err := s.bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err := s.bucket.DeleteObjects([]string{objectName})
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 1)
+
+       lor, err := s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+
+       // Delete objects
+       err = s.bucket.PutObject(objectName+"1", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(objectName+"2", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err = s.bucket.DeleteObjects([]string{objectName + "1", objectName + "2"})
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 2)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+
+       // Delete 0
+       _, err = s.bucket.DeleteObjects([]string{})
+       c.Assert(err, NotNil)
+
+       // DeleteObjectsQuiet
+       err = s.bucket.PutObject(objectName+"1", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(objectName+"2", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err = s.bucket.DeleteObjects([]string{objectName + "1", objectName + "2"},
+               DeleteObjectsQuiet(false))
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 2)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+
+       // DeleteObjectsQuiet
+       err = s.bucket.PutObject(objectName+"1", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(objectName+"2", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err = s.bucket.DeleteObjects([]string{objectName + "1", objectName + "2"},
+               DeleteObjectsQuiet(true))
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 0)
+
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, 0)
+
+       // EncodingType
+       err = s.bucket.PutObject("中国人", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err = s.bucket.DeleteObjects([]string{"中国人"})
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 1)
+       c.Assert(res.DeletedObjects[0], Equals, "中国人")
+
+       // EncodingType
+       err = s.bucket.PutObject("中国人", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err = s.bucket.DeleteObjects([]string{"中国人"}, DeleteObjectsQuiet(false))
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 1)
+       c.Assert(res.DeletedObjects[0], Equals, "中国人")
+
+       // EncodingType
+       err = s.bucket.PutObject("中国人", strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       res, err = s.bucket.DeleteObjects([]string{"中国人"}, DeleteObjectsQuiet(true))
+       c.Assert(err, IsNil)
+       c.Assert(len(res.DeletedObjects), Equals, 0)
+
+       // Special characters
+       key := "A ' < > \" & ~ ` ! @ # $ % ^ & * ( ) [] {} - _ + = / | \\ ? . , : ; A"
+       err = s.bucket.PutObject(key, strings.NewReader("value"))
+       c.Assert(err, IsNil)
+
+       _, err = s.bucket.DeleteObjects([]string{key})
+       c.Assert(err, IsNil)
+
+       ress, err := s.bucket.ListObjects(Prefix(key))
+       c.Assert(err, IsNil)
+       c.Assert(len(ress.Objects), Equals, 0)
+
+       // Not exist
+       _, err = s.bucket.DeleteObjects([]string{"NotExistObject"})
+       c.Assert(err, IsNil)
+}
+
+// TestSetObjectMeta
+func (s *OssBucketSuite) TestSetObjectMeta(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       err := s.bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.SetObjectMeta(objectName,
+               Expires(futureDate),
+               Meta("myprop", "mypropval"))
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("Meta:", meta)
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       // Invalid option
+       err = s.bucket.SetObjectMeta(objectName, AcceptEncoding("url"))
+       c.Assert(err, IsNil)
+
+       // Invalid option value
+       err = s.bucket.SetObjectMeta(objectName, ServerSideEncryption("invalid"))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Not exist
+       err = s.bucket.SetObjectMeta(objectName, Expires(futureDate))
+       c.Assert(err, NotNil)
+}
+
+// TestGetObjectMeta
+func (s *OssBucketSuite) TestGetObjectMeta(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Put
+       err := s.bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetObjectMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(len(meta) > 0, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       _, err = s.bucket.GetObjectMeta("NotExistObject")
+       c.Assert(err, NotNil)
+}
+
+// TestGetObjectDetailedMeta
+func (s *OssBucketSuite) TestGetObjectDetailedMeta(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Put
+       err := s.bucket.PutObject(objectName, strings.NewReader(""),
+               Expires(futureDate), Meta("myprop", "mypropval"))
+       c.Assert(err, IsNil)
+
+       // Check
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+       c.Assert(meta.Get("Content-Length"), Equals, "0")
+       c.Assert(len(meta.Get("Date")) > 0, Equals, true)
+       c.Assert(len(meta.Get("X-Oss-Request-Id")) > 0, Equals, true)
+       c.Assert(len(meta.Get("Last-Modified")) > 0, Equals, true)
+
+       // IfModifiedSince/IfModifiedSince
+       _, err = s.bucket.GetObjectDetailedMeta(objectName, IfModifiedSince(futureDate))
+       c.Assert(err, NotNil)
+
+       meta, err = s.bucket.GetObjectDetailedMeta(objectName, IfUnmodifiedSince(futureDate))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       // IfMatch/IfNoneMatch
+       _, err = s.bucket.GetObjectDetailedMeta(objectName, IfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+
+       meta, err = s.bucket.GetObjectDetailedMeta(objectName, IfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       _, err = s.bucket.GetObjectDetailedMeta("NotExistObject")
+       c.Assert(err, NotNil)
+}
+
+// TestSetAndGetObjectAcl
+func (s *OssBucketSuite) TestSetAndGetObjectAcl(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       err := s.bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // Default
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       // Set ACL_PUBLIC_RW
+       err = s.bucket.SetObjectACL(objectName, ACLPublicReadWrite)
+       c.Assert(err, IsNil)
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicReadWrite))
+
+       // Set ACL_PRIVATE
+       err = s.bucket.SetObjectACL(objectName, ACLPrivate)
+       c.Assert(err, IsNil)
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPrivate))
+
+       // Set ACL_PUBLIC_R
+       err = s.bucket.SetObjectACL(objectName, ACLPublicRead)
+       c.Assert(err, IsNil)
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestSetAndGetObjectAclNegative
+func (s *OssBucketSuite) TestSetAndGetObjectAclNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Object not exist
+       err := s.bucket.SetObjectACL(objectName, ACLPublicRead)
+       c.Assert(err, NotNil)
+}
+
+// TestCopyObject
+func (s *OssBucketSuite) TestCopyObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "男儿何不带吴钩,收取关山五十州。请君暂上凌烟阁,若个书生万户侯?"
+
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue),
+               ACL(ACLPublicRead), Meta("my", "myprop"))
+       c.Assert(err, IsNil)
+
+       // Copy
+       var objectNameDest = objectName + "dest"
+       _, err = s.bucket.CopyObject(objectName, objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Check
+       lor, err := s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       testLogger.Println("objects:", lor.Objects)
+       c.Assert(len(lor.Objects), Equals, 2)
+
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-copy-source-if-modified-since
+       _, err = s.bucket.CopyObject(objectName, objectNameDest, CopySourceIfModifiedSince(futureDate))
+       c.Assert(err, NotNil)
+       testLogger.Println("CopyObject:", err)
+
+       // Copy with constraints x-oss-copy-source-if-unmodified-since
+       _, err = s.bucket.CopyObject(objectName, objectNameDest, CopySourceIfUnmodifiedSince(futureDate))
+       c.Assert(err, IsNil)
+
+       // Check
+       lor, err = s.bucket.ListObjects(Prefix(objectName))
+       c.Assert(err, IsNil)
+       testLogger.Println("objects:", lor.Objects)
+       c.Assert(len(lor.Objects), Equals, 2)
+
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-copy-source-if-match
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+
+       _, err = s.bucket.CopyObject(objectName, objectNameDest, CopySourceIfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-copy-source-if-none-match
+       _, err = s.bucket.CopyObject(objectName, objectNameDest, CopySourceIfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+
+       // Copy with constraints x-oss-metadata-directive
+       _, err = s.bucket.CopyObject(objectName, objectNameDest, Meta("my", "mydestprop"),
+               MetadataDirective(MetaCopy))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       destMeta, err := s.bucket.GetObjectDetailedMeta(objectNameDest)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+
+       acl, err := s.bucket.GetObjectACL(objectNameDest)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = s.bucket.DeleteObject(objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Copy with constraints x-oss-metadata-directive and self defined dest object meta
+       options := []Option{
+               ObjectACL(ACLPublicReadWrite),
+               Meta("my", "mydestprop"),
+               MetadataDirective(MetaReplace),
+       }
+       _, err = s.bucket.CopyObject(objectName, objectNameDest, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       destMeta, err = s.bucket.GetObjectDetailedMeta(objectNameDest)
+       c.Assert(err, IsNil)
+       c.Assert(destMeta.Get("X-Oss-Meta-My"), Equals, "mydestprop")
+
+       acl, err = s.bucket.GetObjectACL(objectNameDest)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicReadWrite))
+
+       err = s.bucket.DeleteObject(objectNameDest)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestCopyObjectToOrFrom
+func (s *OssBucketSuite) TestCopyObjectToOrFrom(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "男儿何不带吴钩,收取关山五十州。请君暂上凌烟阁,若个书生万户侯?"
+       destBucketName := bucketName + "-dest"
+       objectNameDest := objectName + "-dest"
+
+       err := s.client.CreateBucket(destBucketName)
+       c.Assert(err, IsNil)
+
+       destBucket, err := s.client.Bucket(destBucketName)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Copy from
+       _, err = destBucket.CopyObjectFrom(bucketName, objectName, objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := destBucket.GetObject(objectNameDest)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Copy to
+       _, err = destBucket.CopyObjectTo(bucketName, objectName, objectNameDest)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Clean
+       err = destBucket.DeleteObject(objectNameDest)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = s.client.DeleteBucket(destBucketName)
+       c.Assert(err, IsNil)
+}
+
+// TestCopyObjectToOrFromNegative
+func (s *OssBucketSuite) TestCopyObjectToOrFromNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       destBucket := bucketName + "-dest"
+       objectNameDest := objectName + "-dest"
+
+       // Object not exist
+       _, err := s.bucket.CopyObjectTo(bucketName, objectName, objectNameDest)
+       c.Assert(err, NotNil)
+
+       // Bucket not exist
+       _, err = s.bucket.CopyObjectFrom(destBucket, objectNameDest, objectName)
+       c.Assert(err, NotNil)
+}
+
+// TestAppendObject
+func (s *OssBucketSuite) TestAppendObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。"
+       var val = []byte(objectValue)
+       var localFile = RandStr(8) + ".txt"
+       var nextPos int64
+       var midPos = 1 + rand.Intn(len(val)-1)
+
+       var err = CreateFileAndWrite(localFile+"1", val[0:midPos])
+       c.Assert(err, IsNil)
+       err = CreateFileAndWrite(localFile+"2", val[midPos:])
+       c.Assert(err, IsNil)
+
+       // String append
+       nextPos, err = s.bucket.AppendObject(objectName, strings.NewReader("昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,"), nextPos)
+       c.Assert(err, IsNil)
+       nextPos, err = s.bucket.AppendObject(objectName, strings.NewReader("却道海棠依旧。知否?知否?应是绿肥红瘦。"), nextPos)
+       c.Assert(err, IsNil)
+
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Byte append
+       nextPos = 0
+       nextPos, err = s.bucket.AppendObject(objectName, bytes.NewReader(val[0:midPos]), nextPos)
+       c.Assert(err, IsNil)
+       nextPos, err = s.bucket.AppendObject(objectName, bytes.NewReader(val[midPos:]), nextPos)
+       c.Assert(err, IsNil)
+
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // File append
+       options := []Option{
+               ObjectACL(ACLPublicReadWrite),
+               Meta("my", "myprop"),
+       }
+
+       fd, err := os.Open(localFile + "1")
+       c.Assert(err, IsNil)
+       defer fd.Close()
+       nextPos = 0
+       nextPos, err = s.bucket.AppendObject(objectName, fd, nextPos, options...)
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta, ",", nextPos)
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Appendable")
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("x-oss-Meta-Mine"), Equals, "")
+       c.Assert(meta.Get("X-Oss-Next-Append-Position"), Equals, strconv.FormatInt(nextPos, 10))
+
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectACL:", acl)
+       c.Assert(acl.ACL, Equals, string(ACLPublicReadWrite))
+
+       // Second append
+       options = []Option{
+               ObjectACL(ACLPublicRead),
+               Meta("my", "myproptwo"),
+               Meta("mine", "mypropmine"),
+       }
+       fd, err = os.Open(localFile + "2")
+       c.Assert(err, IsNil)
+       defer fd.Close()
+       nextPos, err = s.bucket.AppendObject(objectName, fd, nextPos, options...)
+       c.Assert(err, IsNil)
+
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       meta, err = s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta xxx:", meta)
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Appendable")
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("x-Oss-Meta-Mine"), Equals, "")
+       c.Assert(meta.Get("X-Oss-Next-Append-Position"), Equals, strconv.FormatInt(nextPos, 10))
+
+       acl, err = s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(ACLPublicRead))
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestAppendObjectNegative
+func (s *OssBucketSuite) TestAppendObjectNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       nextPos := int64(0)
+
+       nextPos, err := s.bucket.AppendObject(objectName, strings.NewReader("ObjectValue"), nextPos)
+       c.Assert(err, IsNil)
+
+       nextPos, err = s.bucket.AppendObject(objectName, strings.NewReader("ObjectValue"), 0)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestContentType
+func (s *OssBucketSuite) TestAddContentType(c *C) {
+       opts := AddContentType(nil, "abc.txt")
+       typ, err := FindOption(opts, HTTPHeaderContentType, "")
+       c.Assert(err, IsNil)
+       c.Assert(strings.Contains(typ.(string), "text/plain"), Equals, true)
+
+       opts = AddContentType(nil)
+       typ, err = FindOption(opts, HTTPHeaderContentType, "")
+       c.Assert(err, IsNil)
+       c.Assert(len(opts), Equals, 1)
+       c.Assert(strings.Contains(typ.(string), "application/octet-stream"), Equals, true)
+
+       opts = AddContentType(nil, "abc.txt", "abc.pdf")
+       typ, err = FindOption(opts, HTTPHeaderContentType, "")
+       c.Assert(err, IsNil)
+       c.Assert(strings.Contains(typ.(string), "text/plain"), Equals, true)
+
+       opts = AddContentType(nil, "abc", "abc.txt", "abc.pdf")
+       typ, err = FindOption(opts, HTTPHeaderContentType, "")
+       c.Assert(err, IsNil)
+       c.Assert(strings.Contains(typ.(string), "text/plain"), Equals, true)
+
+       opts = AddContentType(nil, "abc", "abc", "edf")
+       typ, err = FindOption(opts, HTTPHeaderContentType, "")
+       c.Assert(err, IsNil)
+       c.Assert(strings.Contains(typ.(string), "application/octet-stream"), Equals, true)
+
+       opts = AddContentType([]Option{Meta("meta", "my")}, "abc", "abc.txt", "abc.pdf")
+       typ, err = FindOption(opts, HTTPHeaderContentType, "")
+       c.Assert(err, IsNil)
+       c.Assert(len(opts), Equals, 2)
+       c.Assert(strings.Contains(typ.(string), "text/plain"), Equals, true)
+}
+
+func (s *OssBucketSuite) TestGetConfig(c *C) {
+       client, err := New(endpoint, accessID, accessKey, UseCname(true),
+               Timeout(11, 12), SecurityToken("token"), EnableMD5(false))
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucket.GetConfig().HTTPTimeout.ConnectTimeout, Equals, time.Second*11)
+       c.Assert(bucket.GetConfig().HTTPTimeout.ReadWriteTimeout, Equals, time.Second*12)
+       c.Assert(bucket.GetConfig().HTTPTimeout.HeaderTimeout, Equals, time.Second*12)
+       c.Assert(bucket.GetConfig().HTTPTimeout.IdleConnTimeout, Equals, time.Second*12)
+       c.Assert(bucket.GetConfig().HTTPTimeout.LongTimeout, Equals, time.Second*12*10)
+
+       c.Assert(bucket.GetConfig().SecurityToken, Equals, "token")
+       c.Assert(bucket.GetConfig().IsCname, Equals, true)
+       c.Assert(bucket.GetConfig().IsEnableMD5, Equals, false)
+}
+
+func (s *OssBucketSuite) TestSTSToken(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "红藕香残玉簟秋。轻解罗裳,独上兰舟。云中谁寄锦书来?雁字回时,月满西楼。"
+
+       stsClient := sts.NewClient(stsaccessID, stsaccessKey, stsARN, "oss_test_sess")
+
+       resp, err := stsClient.AssumeRole(1800)
+       c.Assert(err, IsNil)
+
+       client, err := New(endpoint, resp.Credentials.AccessKeyId, resp.Credentials.AccessKeySecret,
+               SecurityToken(resp.Credentials.SecurityToken))
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // Put
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Get
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // List
+       lor, err := bucket.ListObjects()
+       c.Assert(err, IsNil)
+       testLogger.Println("Objects:", lor.Objects)
+
+       // Put with URL
+       signedURL, err := bucket.SignURL(objectName, HTTPPut, 3600)
+       c.Assert(err, IsNil)
+
+       err = bucket.PutObjectWithURL(signedURL, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Get with URL
+       signedURL, err = bucket.SignURL(objectName, HTTPGet, 3600)
+       c.Assert(err, IsNil)
+
+       body, err = bucket.GetObjectWithURL(signedURL)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Delete
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketSuite) TestSTSTonekNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := objectName + ".jpg"
+
+       client, err := New(endpoint, accessID, accessKey, SecurityToken("Invalid"))
+       c.Assert(err, IsNil)
+
+       _, err = client.ListBuckets()
+       c.Assert(err, NotNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       err = bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, NotNil)
+
+       err = bucket.PutObjectFromFile(objectName, "")
+       c.Assert(err, NotNil)
+
+       _, err = bucket.GetObject(objectName)
+       c.Assert(err, NotNil)
+
+       err = bucket.GetObjectToFile(objectName, "")
+       c.Assert(err, NotNil)
+
+       _, err = bucket.ListObjects()
+       c.Assert(err, NotNil)
+
+       err = bucket.SetObjectACL(objectName, ACLPublicRead)
+       c.Assert(err, NotNil)
+
+       _, err = bucket.GetObjectACL(objectName)
+       c.Assert(err, NotNil)
+
+       err = bucket.UploadFile(objectName, localFile, MinPartSize)
+       c.Assert(err, NotNil)
+
+       err = bucket.DownloadFile(objectName, localFile, MinPartSize)
+       c.Assert(err, NotNil)
+
+       _, err = bucket.IsObjectExist(objectName)
+       c.Assert(err, NotNil)
+
+       _, err = bucket.ListMultipartUploads()
+       c.Assert(err, NotNil)
+
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, NotNil)
+
+       _, err = bucket.DeleteObjects([]string{objectName})
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, NotNil)
+}
+
+func (s *OssBucketSuite) TestUploadBigFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       bigFile := "D:\\tmp\\bigfile.zip"
+       newFile := "D:\\tmp\\newbigfile.zip"
+
+       exist, err := isFileExist(bigFile)
+       c.Assert(err, IsNil)
+       if !exist {
+               return
+       }
+
+       // Put
+       start := GetNowSec()
+       err = s.bucket.PutObjectFromFile(objectName, bigFile)
+       c.Assert(err, IsNil)
+       end := GetNowSec()
+       testLogger.Println("Put big file:", bigFile, "use sec:", end-start)
+
+       // Check
+       start = GetNowSec()
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+       end = GetNowSec()
+       testLogger.Println("Get big file:", bigFile, "use sec:", end-start)
+
+       start = GetNowSec()
+       eq, err := compareFiles(bigFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       end = GetNowSec()
+       testLogger.Println("Compare big file:", bigFile, "use sec:", end-start)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketSuite) TestSymlink(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       targetObjectName := objectName + "target"
+
+       err := s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(targetObjectName)
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetSymlink(objectName)
+       c.Assert(err, NotNil)
+
+       // Put symlink
+       err = s.bucket.PutSymlink(objectName, targetObjectName)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(targetObjectName, strings.NewReader("target"))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutSymlink(objectName, targetObjectName)
+       c.Assert(err, IsNil)
+
+       meta, err = s.bucket.GetSymlink(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get(HTTPHeaderOssSymlinkTarget), Equals, targetObjectName)
+
+       // List object
+       lor, err := s.bucket.ListObjects()
+       c.Assert(err, IsNil)
+       exist, v := s.getObject(lor.Objects, objectName)
+       c.Assert(exist, Equals, true)
+       c.Assert(v.Type, Equals, "Symlink")
+
+       body, err := s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, "target")
+
+       meta, err = s.bucket.GetSymlink(targetObjectName)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.PutObject(objectName, strings.NewReader("src"))
+       c.Assert(err, IsNil)
+
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, "src")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(targetObjectName)
+       c.Assert(err, IsNil)
+
+       // Put symlink again
+       objectName = objectNamePrefix + RandStr(8)
+       targetObjectName = objectName + "-target"
+
+       err = s.bucket.PutSymlink(objectName, targetObjectName)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.PutObject(targetObjectName, strings.NewReader("target1"))
+       c.Assert(err, IsNil)
+
+       meta, err = s.bucket.GetSymlink(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get(HTTPHeaderOssSymlinkTarget), Equals, targetObjectName)
+
+       body, err = s.bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, "target1")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(targetObjectName)
+       c.Assert(err, IsNil)
+}
+
+// TestRestoreObject
+func (s *OssBucketSuite) TestRestoreObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // List objects
+       lor, err := s.archiveBucket.ListObjects()
+       c.Assert(err, IsNil)
+       left := len(lor.Objects)
+
+       // Put object
+       err = s.archiveBucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // List
+       lor, err = s.archiveBucket.ListObjects()
+       c.Assert(err, IsNil)
+       c.Assert(len(lor.Objects), Equals, left+1)
+       for _, object := range lor.Objects {
+               c.Assert(object.StorageClass, Equals, string(StorageArchive))
+               c.Assert(object.Type, Equals, "Normal")
+       }
+
+       // Head object
+       meta, err := s.archiveBucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       _, ok := meta["X-Oss-Restore"]
+       c.Assert(ok, Equals, false)
+       c.Assert(meta.Get("X-Oss-Storage-Class"), Equals, "Archive")
+
+       // Error restore object
+       err = s.archiveBucket.RestoreObject("notexistobject")
+       c.Assert(err, NotNil)
+
+       // Restore object
+       err = s.archiveBucket.RestoreObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Head object
+       meta, err = s.archiveBucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Restore"), Equals, "ongoing-request=\"true\"")
+       c.Assert(meta.Get("X-Oss-Storage-Class"), Equals, "Archive")
+}
+
+// TestRestoreObjectWithXml
+func (s *OssBucketSuite) TestRestoreObjectWithConfig(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName, StorageClass(StorageColdArchive))
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Put object
+       err = bucket.PutObject(objectName, strings.NewReader("123456789"), ObjectStorageClass(StorageColdArchive))
+       c.Assert(err, IsNil)
+
+       var restoreConfig RestoreConfiguration
+       restoreConfig.Days = 2
+
+       err = bucket.RestoreObjectDetail(objectName, restoreConfig)
+       c.Assert(err, IsNil)
+
+       objectName = objectNamePrefix + RandStr(8)
+       err = bucket.PutObject(objectName, strings.NewReader("123456789"), ObjectStorageClass(StorageColdArchive))
+       c.Assert(err, IsNil)
+       restoreConfig.Tier = string(RestoreBulk)
+       err = bucket.RestoreObjectDetail(objectName, restoreConfig)
+       c.Assert(err, IsNil)
+
+       objectName = objectNamePrefix + RandStr(8)
+       err = bucket.PutObject(objectName, strings.NewReader("123456789"), ObjectStorageClass(StorageColdArchive))
+       c.Assert(err, IsNil)
+       restoreConfig.Days = 0
+       err = bucket.RestoreObjectDetail(objectName, restoreConfig)
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestRestoreObjectWithXml
+func (s *OssBucketSuite) TestRestoreObjectWithXml(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName, StorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Put object
+       err = bucket.PutObject(objectName, strings.NewReader("123456789"), ObjectStorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+
+       xmlConfig := `<RestoreRequest><Days>7</Days></RestoreRequest>`
+
+       err = bucket.RestoreObjectXML(objectName, xmlConfig)
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestProcessObject
+func (s *OssBucketSuite) TestProcessObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8) + ".jpg"
+       err := s.bucket.PutObjectFromFile(objectName, "../sample/BingWallpaper-2015-11-07.jpg")
+       c.Assert(err, IsNil)
+
+       // If bucket-name not specified, it is saved to the current bucket by default.
+       destObjName := objectNamePrefix + RandStr(8) + "-dest.jpg"
+       process := fmt.Sprintf("image/resize,w_100|sys/saveas,o_%v", base64.URLEncoding.EncodeToString([]byte(destObjName)))
+       result, err := s.bucket.ProcessObject(objectName, process)
+       c.Assert(err, IsNil)
+       exist, _ := s.bucket.IsObjectExist(destObjName)
+       c.Assert(exist, Equals, true)
+       c.Assert(result.Bucket, Equals, "")
+       c.Assert(result.Object, Equals, destObjName)
+
+       destObjName = objectNamePrefix + RandStr(8) + "-dest.jpg"
+       process = fmt.Sprintf("image/resize,w_100|sys/saveas,o_%v,b_%v", base64.URLEncoding.EncodeToString([]byte(destObjName)), base64.URLEncoding.EncodeToString([]byte(s.bucket.BucketName)))
+       result, err = s.bucket.ProcessObject(objectName, process)
+       c.Assert(err, IsNil)
+       exist, _ = s.bucket.IsObjectExist(destObjName)
+       c.Assert(exist, Equals, true)
+       c.Assert(result.Bucket, Equals, s.bucket.BucketName)
+       c.Assert(result.Object, Equals, destObjName)
+
+       //no support process
+       process = fmt.Sprintf("image/resize,w_100|saveas,o_%v,b_%v", base64.URLEncoding.EncodeToString([]byte(destObjName)), base64.URLEncoding.EncodeToString([]byte(s.bucket.BucketName)))
+       result, err = s.bucket.ProcessObject(objectName, process)
+       c.Assert(err, NotNil)
+}
+
+// Private
+func CreateFileAndWrite(fileName string, data []byte) error {
+       os.Remove(fileName)
+
+       fo, err := os.Create(fileName)
+       if err != nil {
+               return err
+       }
+       defer fo.Close()
+
+       bytes, err := fo.Write(data)
+       if err != nil {
+               return err
+       }
+
+       if bytes != len(data) {
+               return fmt.Errorf(fmt.Sprintf("write %d bytes not equal data length %d", bytes, len(data)))
+       }
+
+       return nil
+}
+
+// Compare the content between fileL and fileR
+func compareFiles(fileL string, fileR string) (bool, error) {
+       finL, err := os.Open(fileL)
+       if err != nil {
+               return false, err
+       }
+       defer finL.Close()
+
+       finR, err := os.Open(fileR)
+       if err != nil {
+               return false, err
+       }
+       defer finR.Close()
+
+       statL, err := finL.Stat()
+       if err != nil {
+               return false, err
+       }
+
+       statR, err := finR.Stat()
+       if err != nil {
+               return false, err
+       }
+
+       if statL.Size() != statR.Size() {
+               return false, nil
+       }
+
+       size := statL.Size()
+       if size > 102400 {
+               size = 102400
+       }
+
+       bufL := make([]byte, size)
+       bufR := make([]byte, size)
+       for {
+               n, _ := finL.Read(bufL)
+               if 0 == n {
+                       break
+               }
+
+               n, _ = finR.Read(bufR)
+               if 0 == n {
+                       break
+               }
+
+               if !bytes.Equal(bufL, bufR) {
+                       return false, nil
+               }
+       }
+
+       return true, nil
+}
+
+// Compare the content of file and data
+func compareFileData(file string, data []byte) (bool, error) {
+       fin, err := os.Open(file)
+       if err != nil {
+               return false, err
+       }
+       defer fin.Close()
+
+       stat, err := fin.Stat()
+       if err != nil {
+               return false, err
+       }
+
+       if stat.Size() != (int64)(len(data)) {
+               return false, nil
+       }
+
+       buf := make([]byte, stat.Size())
+       n, err := fin.Read(buf)
+       if err != nil {
+               return false, err
+       }
+       if stat.Size() != (int64)(n) {
+               return false, errors.New("read error")
+       }
+
+       if !bytes.Equal(buf, data) {
+               return false, nil
+       }
+
+       return true, nil
+}
+
+func walkDir(dirPth, suffix string) ([]string, error) {
+       var files = []string{}
+       suffix = strings.ToUpper(suffix)
+       err := filepath.Walk(dirPth,
+               func(filename string, fi os.FileInfo, err error) error {
+                       if err != nil {
+                               return err
+                       }
+                       if fi.IsDir() {
+                               return nil
+                       }
+                       if strings.HasSuffix(strings.ToUpper(fi.Name()), suffix) {
+                               files = append(files, filename)
+                       }
+                       return nil
+               })
+       return files, err
+}
+
+func removeTempFiles(path string, prefix string) error {
+       files, err := walkDir(path, prefix)
+       if err != nil {
+               return nil
+       }
+
+       for _, file := range files {
+               os.Remove(file)
+       }
+
+       return nil
+}
+
+func isFileExist(filename string) (bool, error) {
+       _, err := os.Stat(filename)
+       if err != nil && os.IsNotExist(err) {
+               return false, nil
+       } else if err != nil {
+               return false, err
+       } else {
+               return true, nil
+       }
+}
+
+func readBody(body io.ReadCloser) (string, error) {
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               return "", err
+       }
+       return string(data), nil
+}
+
+func (s *OssBucketSuite) getObject(objects []ObjectProperties, object string) (bool, ObjectProperties) {
+       for _, v := range objects {
+               if v.Key == object {
+                       return true, v
+               }
+       }
+       return false, ObjectProperties{}
+}
+
+func (s *OssBucketSuite) detectUploadSpeed(bucket *Bucket, c *C) (upSpeed int) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // 1M byte
+       textBuffer := RandStr(1024 * 1024)
+
+       // Put string
+       startT := time.Now()
+       err := bucket.PutObject(objectName, strings.NewReader(textBuffer))
+       endT := time.Now()
+
+       c.Assert(err, IsNil)
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // byte/s
+       upSpeed = len(textBuffer) * 1000 / int(endT.UnixNano()/1000/1000-startT.UnixNano()/1000/1000)
+       return upSpeed
+}
+
+func (s *OssBucketSuite) TestPutSingleObjectLimitSpeed(c *C) {
+
+       // create client and bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.LimitUploadSpeed(1)
+       if err != nil {
+               // go version is less than go1.7,not support limit upload speed
+               // doesn't run this test
+               return
+       }
+       // set unlimited again
+       client.LimitUploadSpeed(0)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       //detect speed:byte/s
+       detectSpeed := s.detectUploadSpeed(bucket, c)
+
+       var limitSpeed = 0
+       if detectSpeed <= perTokenBandwidthSize*2 {
+               limitSpeed = perTokenBandwidthSize
+       } else {
+               //this situation, the test works better
+               limitSpeed = detectSpeed / 2
+       }
+
+       // KB/s
+       err = client.LimitUploadSpeed(limitSpeed / perTokenBandwidthSize)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       // 1M byte
+       textBuffer := RandStr(1024 * 1024)
+
+       // Put body
+       startT := time.Now()
+       err = bucket.PutObject(objectName, strings.NewReader(textBuffer))
+       endT := time.Now()
+
+       realSpeed := int64(len(textBuffer)) * 1000 / (endT.UnixNano()/1000/1000 - startT.UnixNano()/1000/1000)
+
+       fmt.Printf("detect speed:%d,limit speed:%d,real speed:%d.\n", detectSpeed, limitSpeed, realSpeed)
+
+       c.Assert(float64(realSpeed) < float64(limitSpeed)*1.1, Equals, true)
+
+       if detectSpeed > perTokenBandwidthSize {
+               // the minimum uploas limit speed is perTokenBandwidthSize(1024 byte/s)
+               c.Assert(float64(realSpeed) > float64(limitSpeed)*0.9, Equals, true)
+       }
+
+       // Get object and compare content
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, textBuffer)
+
+       bucket.DeleteObject(objectName)
+       client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       return
+}
+
+func putObjectRoutin(bucket *Bucket, object string, textBuffer *string, notifyChan chan int) error {
+       err := bucket.PutObject(object, strings.NewReader(*textBuffer))
+       if err == nil {
+               notifyChan <- 1
+       } else {
+               notifyChan <- 0
+       }
+       return err
+}
+
+func (s *OssBucketSuite) TestPutManyObjectLimitSpeed(c *C) {
+       // create client and bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.LimitUploadSpeed(1)
+       if err != nil {
+               // go version is less than go1.7,not support limit upload speed
+               // doesn't run this test
+               return
+       }
+       // set unlimited
+       client.LimitUploadSpeed(0)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       //detect speed:byte/s
+       detectSpeed := s.detectUploadSpeed(bucket, c)
+       var limitSpeed = 0
+       if detectSpeed <= perTokenBandwidthSize*2 {
+               limitSpeed = perTokenBandwidthSize
+       } else {
+               limitSpeed = detectSpeed / 2
+       }
+
+       // KB/s
+       err = client.LimitUploadSpeed(limitSpeed / perTokenBandwidthSize)
+       c.Assert(err, IsNil)
+
+       // object1
+       objectNameFirst := objectNamePrefix + RandStr(8)
+       objectNameSecond := objectNamePrefix + RandStr(8)
+
+       // 1M byte
+       textBuffer := RandStr(1024 * 1024)
+
+       objectCount := 2
+       notifyChan := make(chan int, objectCount)
+
+       //start routin
+       startT := time.Now()
+       go putObjectRoutin(bucket, objectNameFirst, &textBuffer, notifyChan)
+       go putObjectRoutin(bucket, objectNameSecond, &textBuffer, notifyChan)
+
+       // wait routin end
+       sum := int(0)
+       for j := 0; j < objectCount; j++ {
+               result := <-notifyChan
+               sum += result
+       }
+       endT := time.Now()
+
+       realSpeed := len(textBuffer) * 2 * 1000 / int(endT.UnixNano()/1000/1000-startT.UnixNano()/1000/1000)
+       c.Assert(float64(realSpeed) < float64(limitSpeed)*1.1, Equals, true)
+
+       if detectSpeed > perTokenBandwidthSize {
+               // the minimum uploas limit speed is perTokenBandwidthSize(1024 byte/s)
+               c.Assert(float64(realSpeed) > float64(limitSpeed)*0.9, Equals, true)
+       }
+       c.Assert(sum, Equals, 2)
+
+       // Get object and compare content
+       body, err := bucket.GetObject(objectNameFirst)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, textBuffer)
+
+       body, err = bucket.GetObject(objectNameSecond)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, textBuffer)
+
+       // clear bucket and object
+       bucket.DeleteObject(objectNameFirst)
+       bucket.DeleteObject(objectNameSecond)
+       client.DeleteBucket(bucketName)
+
+       fmt.Printf("detect speed:%d,limit speed:%d,real speed:%d.\n", detectSpeed, limitSpeed, realSpeed)
+
+       return
+}
+
+func (s *OssBucketSuite) TestPutMultipartObjectLimitSpeed(c *C) {
+
+       // create client and bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.LimitUploadSpeed(1)
+       if err != nil {
+               // go version is less than go1.7,not support limit upload speed
+               // doesn't run this test
+               return
+       }
+       // set unlimited
+       client.LimitUploadSpeed(0)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       //detect speed:byte/s
+       detectSpeed := s.detectUploadSpeed(bucket, c)
+
+       var limitSpeed = 0
+       if detectSpeed <= perTokenBandwidthSize*2 {
+               limitSpeed = perTokenBandwidthSize
+       } else {
+               //this situation, the test works better
+               limitSpeed = detectSpeed / 2
+       }
+
+       // KB/s
+       err = client.LimitUploadSpeed(limitSpeed / perTokenBandwidthSize)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "." + string(os.PathSeparator) + objectName
+
+       // 1M byte
+       fileSize := 0
+       textBuffer := RandStr(1024 * 1024)
+       if detectSpeed < perTokenBandwidthSize {
+               ioutil.WriteFile(fileName, []byte(textBuffer), 0644)
+               f, err := os.Stat(fileName)
+               c.Assert(err, IsNil)
+
+               fileSize = int(f.Size())
+               c.Assert(fileSize, Equals, len(textBuffer))
+
+       } else {
+               loopCount := 5
+               f, err := os.OpenFile(fileName, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0660)
+               c.Assert(err, IsNil)
+
+               for i := 0; i < loopCount; i++ {
+                       f.Write([]byte(textBuffer))
+               }
+
+               fileInfo, err := f.Stat()
+               c.Assert(err, IsNil)
+
+               fileSize = int(fileInfo.Size())
+               c.Assert(fileSize, Equals, len(textBuffer)*loopCount)
+
+               f.Close()
+       }
+
+       // Put body
+       startT := time.Now()
+       err = bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), Checkpoint(true, ""))
+       endT := time.Now()
+
+       c.Assert(err, IsNil)
+       realSpeed := fileSize * 1000 / int(endT.UnixNano()/1000/1000-startT.UnixNano()/1000/1000)
+       c.Assert(float64(realSpeed) < float64(limitSpeed)*1.1, Equals, true)
+
+       if detectSpeed > perTokenBandwidthSize {
+               // the minimum uploas limit speed is perTokenBandwidthSize(1024 byte/s)
+               c.Assert(float64(realSpeed) > float64(limitSpeed)*0.9, Equals, true)
+       }
+
+       // Get object and compare content
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+
+       fileBody, err := ioutil.ReadFile(fileName)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, string(fileBody))
+
+       // delete bucket、object、file
+       bucket.DeleteObject(objectName)
+       client.DeleteBucket(bucketName)
+       os.Remove(fileName)
+
+       fmt.Printf("detect speed:%d,limit speed:%d,real speed:%d.\n", detectSpeed, limitSpeed, realSpeed)
+
+       return
+}
+
+func (s *OssBucketSuite) TestPutObjectFromFileLimitSpeed(c *C) {
+       // create client and bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.LimitUploadSpeed(1)
+       if err != nil {
+               // go version is less than go1.7,not support limit upload speed
+               // doesn't run this test
+               return
+       }
+       // set unlimited
+       client.LimitUploadSpeed(0)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       //detect speed:byte/s
+       detectSpeed := s.detectUploadSpeed(bucket, c)
+
+       var limitSpeed = 0
+       if detectSpeed <= perTokenBandwidthSize*2 {
+               limitSpeed = perTokenBandwidthSize
+       } else {
+               //this situation, the test works better
+               limitSpeed = detectSpeed / 2
+       }
+
+       // KB/s
+       err = client.LimitUploadSpeed(limitSpeed / perTokenBandwidthSize)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "." + string(os.PathSeparator) + objectName
+
+       // 1M byte
+       fileSize := 0
+       textBuffer := RandStr(1024 * 1024)
+       if detectSpeed < perTokenBandwidthSize {
+               ioutil.WriteFile(fileName, []byte(textBuffer), 0644)
+               f, err := os.Stat(fileName)
+               c.Assert(err, IsNil)
+
+               fileSize = int(f.Size())
+               c.Assert(fileSize, Equals, len(textBuffer))
+
+       } else {
+               loopCount := 2
+               f, err := os.OpenFile(fileName, os.O_CREATE|os.O_APPEND|os.O_RDWR, 0660)
+               c.Assert(err, IsNil)
+
+               for i := 0; i < loopCount; i++ {
+                       f.Write([]byte(textBuffer))
+               }
+
+               fileInfo, err := f.Stat()
+               c.Assert(err, IsNil)
+
+               fileSize = int(fileInfo.Size())
+               c.Assert(fileSize, Equals, len(textBuffer)*loopCount)
+
+               f.Close()
+       }
+
+       // Put body
+       startT := time.Now()
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       endT := time.Now()
+
+       c.Assert(err, IsNil)
+       realSpeed := fileSize * 1000 / int(endT.UnixNano()/1000/1000-startT.UnixNano()/1000/1000)
+       c.Assert(float64(realSpeed) < float64(limitSpeed)*1.1, Equals, true)
+
+       if detectSpeed > perTokenBandwidthSize {
+               // the minimum uploas limit speed is perTokenBandwidthSize(1024 byte/s)
+               c.Assert(float64(realSpeed) > float64(limitSpeed)*0.9, Equals, true)
+       }
+
+       // Get object and compare content
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+
+       fileBody, err := ioutil.ReadFile(fileName)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, string(fileBody))
+
+       // delete bucket、file、object
+       bucket.DeleteObject(objectName)
+       client.DeleteBucket(bucketName)
+       os.Remove(fileName)
+
+       fmt.Printf("detect speed:%d,limit speed:%d,real speed:%d.\n", detectSpeed, limitSpeed, realSpeed)
+
+       return
+}
+
+// upload speed limit parameters will not affect download speed
+func (s *OssBucketSuite) TestUploadObjectLimitSpeed(c *C) {
+       // create limit client and bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       tokenCount := 1
+       err = client.LimitUploadSpeed(tokenCount)
+       if err != nil {
+               // go version is less than go1.7,not support limit upload speed
+               // doesn't run this test
+               return
+       }
+       // set unlimited
+       client.LimitUploadSpeed(0)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       //first:upload a object
+       textBuffer := RandStr(1024 * 100)
+       objectName := objectNamePrefix + RandStr(8)
+       err = bucket.PutObject(objectName, strings.NewReader(textBuffer))
+       c.Assert(err, IsNil)
+
+       // limit upload speed
+       err = client.LimitUploadSpeed(tokenCount)
+       c.Assert(err, IsNil)
+
+       // then download the object
+       startT := time.Now()
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       endT := time.Now()
+
+       c.Assert(str, Equals, textBuffer)
+
+       // byte/s
+       downloadSpeed := len(textBuffer) * 1000 / int(endT.UnixNano()/1000/1000-startT.UnixNano()/1000/1000)
+
+       // upload speed limit parameters will not affect download speed
+       c.Assert(downloadSpeed > 2*tokenCount*perTokenBandwidthSize, Equals, true)
+
+       bucket.DeleteObject(objectName)
+       client.DeleteBucket(bucketName)
+}
+
+// test LimitUploadSpeed failure
+func (s *OssBucketSuite) TestLimitUploadSpeedFail(c *C) {
+       // create limit client and bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.LimitUploadSpeed(-1)
+       c.Assert(err, NotNil)
+
+       client.Config = nil
+       err = client.LimitUploadSpeed(100)
+       c.Assert(err, NotNil)
+}
+
+// upload webp object
+func (s *OssBucketSuite) TestUploadObjectWithWebpFormat(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // create webp file
+       textBuffer := RandStr(1024)
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "." + string(os.PathSeparator) + objectName + ".webp"
+       ioutil.WriteFile(fileName, []byte(textBuffer), 0644)
+       _, err = os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       c.Assert(err, IsNil)
+
+       // check object content-type
+       props, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(props["Content-Type"][0], Equals, "image/webp")
+
+       os.Remove(fileName)
+       bucket.DeleteObject(objectName)
+       client.DeleteBucket(bucketName)
+}
+
+func (s *OssBucketSuite) TestPutObjectTagging(c *C) {
+       // put object with tagging
+       objectName := objectNamePrefix + RandStr(8)
+       tag1 := Tag{
+               Key:   RandStr(8),
+               Value: RandStr(9),
+       }
+       tag2 := Tag{
+               Key:   RandStr(10),
+               Value: RandStr(11),
+       }
+       tagging := Tagging{
+               Tags: []Tag{tag1, tag2},
+       }
+       err := s.bucket.PutObject(objectName, strings.NewReader(RandStr(1024)), SetTagging(tagging))
+       c.Assert(err, IsNil)
+
+       headers, err := s.bucket.GetObjectDetailedMeta(objectName)
+       taggingCount, err := strconv.Atoi(headers["X-Oss-Tagging-Count"][0])
+       c.Assert(err, IsNil)
+       c.Assert(taggingCount, Equals, 2)
+
+       // copy object with default option
+       destObjectName := objectNamePrefix + RandStr(8)
+       _, err = s.bucket.CopyObject(objectName, destObjectName)
+       c.Assert(err, IsNil)
+       headers, err = s.bucket.GetObjectDetailedMeta(destObjectName)
+       taggingCount, err = strconv.Atoi(headers["X-Oss-Tagging-Count"][0])
+       c.Assert(err, IsNil)
+       c.Assert(taggingCount, Equals, 2)
+
+       // delete object tagging
+       err = s.bucket.DeleteObjectTagging(objectName)
+       c.Assert(err, IsNil)
+
+       // get object tagging again
+       taggingResult, err := s.bucket.GetObjectTagging(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(len(taggingResult.Tags), Equals, 0)
+
+       // put tagging
+       tag := Tag{
+               Key:   RandStr(8),
+               Value: RandStr(16),
+       }
+       tagging.Tags = []Tag{tag}
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, IsNil)
+
+       taggingResult, err = s.bucket.GetObjectTagging(objectName)
+       c.Assert(len(taggingResult.Tags), Equals, 1)
+       c.Assert(taggingResult.Tags[0].Key, Equals, tag.Key)
+       c.Assert(taggingResult.Tags[0].Value, Equals, tag.Value)
+
+       //put tagging, the length of the key exceeds 128
+       tag = Tag{
+               Key:   RandStr(129),
+               Value: RandStr(16),
+       }
+       tagging.Tags = []Tag{tag}
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, NotNil)
+
+       //put tagging, the length of the value exceeds 256
+       tag = Tag{
+               Key:   RandStr(8),
+               Value: RandStr(257),
+       }
+       tagging.Tags = []Tag{tag}
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, NotNil)
+
+       //put tagging, the lens of tags exceed 10
+       tagging.Tags = []Tag{}
+       for i := 0; i < 11; i++ {
+               tag = Tag{
+                       Key:   RandStr(8),
+                       Value: RandStr(16),
+               }
+               tagging.Tags = append(tagging.Tags, tag)
+       }
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, NotNil)
+
+       //put tagging, invalid value of tag key
+       tag = Tag{
+               Key:   RandStr(8) + "&",
+               Value: RandStr(16),
+       }
+       tagging.Tags = []Tag{tag}
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, NotNil)
+
+       //put tagging, invalid value of tag value
+       tag = Tag{
+               Key:   RandStr(8),
+               Value: RandStr(16) + "&",
+       }
+       tagging.Tags = []Tag{tag}
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, NotNil)
+
+       //put tagging, repeated tag keys
+       tag1 = Tag{
+               Key:   RandStr(8),
+               Value: RandStr(16),
+       }
+       tag2 = Tag{
+               Key:   tag1.Key,
+               Value: RandStr(16),
+       }
+       tagging.Tags = []Tag{tag1, tag2}
+       err = s.bucket.PutObjectTagging(objectName, tagging)
+       c.Assert(err, NotNil)
+
+       s.bucket.DeleteObject(destObjectName)
+       s.bucket.DeleteObject(objectName)
+}
+
+func (s *OssBucketSuite) TestGetObjectTagging(c *C) {
+       // get object which has 2 tags
+       objectName := objectNamePrefix + RandStr(8)
+       tag1 := Tag{
+               Key:   RandStr(8),
+               Value: RandStr(9),
+       }
+       tag2 := Tag{
+               Key:   RandStr(10),
+               Value: RandStr(11),
+       }
+
+       taggingInfo := Tagging{
+               Tags: []Tag{tag1, tag2},
+       }
+
+       err := s.bucket.PutObject(objectName, strings.NewReader(RandStr(1024)), SetTagging(taggingInfo))
+       c.Assert(err, IsNil)
+
+       tagging, err := s.bucket.GetObjectTagging(objectName)
+       c.Assert(len(tagging.Tags), Equals, 2)
+       if tagging.Tags[0].Key == tag1.Key {
+               c.Assert(tagging.Tags[0].Value, Equals, tag1.Value)
+               c.Assert(tagging.Tags[1].Key, Equals, tag2.Key)
+               c.Assert(tagging.Tags[1].Value, Equals, tag2.Value)
+       } else {
+               c.Assert(tagging.Tags[0].Key, Equals, tag2.Key)
+               c.Assert(tagging.Tags[0].Value, Equals, tag2.Value)
+               c.Assert(tagging.Tags[1].Key, Equals, tag1.Key)
+               c.Assert(tagging.Tags[1].Value, Equals, tag1.Value)
+       }
+
+       // get tagging of an object that is not exist
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       tagging, err = s.bucket.GetObjectTagging(objectName)
+       c.Assert(err, NotNil)
+       c.Assert(len(tagging.Tags), Equals, 0)
+
+       // get object which has no tag
+       objectName = objectNamePrefix + RandStr(8)
+       err = s.bucket.PutObject(objectName, strings.NewReader(RandStr(1024)))
+       c.Assert(err, IsNil)
+       tagging, err = s.bucket.GetObjectTagging(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(len(tagging.Tags), Equals, 0)
+
+       // copy object, with tagging option
+       destObjectName := objectName + "-dest"
+       tagging.Tags = []Tag{tag1, tag2}
+       _, err = s.bucket.CopyObject(objectName, destObjectName, SetTagging(taggingInfo))
+       c.Assert(err, IsNil)
+       tagging, err = s.bucket.GetObjectTagging(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(len(tagging.Tags), Equals, 0)
+
+       // copy object, with tagging option, the value of tagging directive is "REPLACE"
+       tagging.Tags = []Tag{tag1, tag2}
+       _, err = s.bucket.CopyObject(objectName, destObjectName, SetTagging(taggingInfo), TaggingDirective(TaggingReplace))
+       c.Assert(err, IsNil)
+       tagging, err = s.bucket.GetObjectTagging(destObjectName)
+       c.Assert(err, IsNil)
+       c.Assert(len(tagging.Tags), Equals, 2)
+       if tagging.Tags[0].Key == tag1.Key {
+               c.Assert(tagging.Tags[0].Value, Equals, tag1.Value)
+               c.Assert(tagging.Tags[1].Key, Equals, tag2.Key)
+               c.Assert(tagging.Tags[1].Value, Equals, tag2.Value)
+       } else {
+               c.Assert(tagging.Tags[0].Key, Equals, tag2.Key)
+               c.Assert(tagging.Tags[0].Value, Equals, tag2.Value)
+               c.Assert(tagging.Tags[1].Key, Equals, tag1.Key)
+               c.Assert(tagging.Tags[1].Value, Equals, tag1.Value)
+       }
+
+       s.bucket.DeleteObject(objectName)
+       s.bucket.DeleteObject(destObjectName)
+}
+
+func (s *OssBucketSuite) TestDeleteObjectTagging(c *C) {
+       // delete object tagging, the object is not exist
+       objectName := objectNamePrefix + RandStr(8)
+       err := s.bucket.DeleteObjectTagging(objectName)
+       c.Assert(err, NotNil)
+
+       // delete object tagging
+       tag := Tag{
+               Key:   RandStr(8),
+               Value: RandStr(16),
+       }
+       tagging := Tagging{
+               Tags: []Tag{tag},
+       }
+       err = s.bucket.PutObject(objectName, strings.NewReader(RandStr(1024)), SetTagging(tagging))
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObjectTagging(objectName)
+       c.Assert(err, IsNil)
+       taggingResult, err := s.bucket.GetObjectTagging(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(len(taggingResult.Tags), Equals, 0)
+
+       //delete object tagging again
+       err = s.bucket.DeleteObjectTagging(objectName)
+       c.Assert(err, IsNil)
+
+       s.bucket.DeleteObject(objectName)
+}
+
+func (s *OssBucketSuite) TestUploadFileMimeShtml(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "oss-sdk-test-file-" + RandLowStr(5) + ".shtml"
+       CreateFile(fileName, "123", c)
+
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       c.Assert(err, IsNil)
+
+       headResult, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       strContentType := headResult.Get("Content-Type")
+       c.Assert(strings.Contains(strContentType, "text/html"), Equals, true)
+       os.Remove(fileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningBucketVerison(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, "")
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, "")
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, "")
+
+       // put bucket version:enabled
+       var respHeader http.Header
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       bucketResult, err = client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put bucket version:Suspended
+       versioningConfig.Status = string(VersionSuspended)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err = client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionSuspended))
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningPutAndGetObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // get object v1
+       body, err := bucket.GetObject(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(str, Equals, contextV1)
+
+       // get object v2
+       body, err = bucket.GetObject(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(str, Equals, contextV2)
+
+       // get object without version
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(str, Equals, contextV2)
+
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV1))
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningHeadObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // head object v1
+       headResultV1, err := bucket.GetObjectMeta(objectName, VersionId(versionIdV1))
+       objLen, err := strconv.Atoi(headResultV1.Get("Content-Length"))
+       c.Assert(objLen, Equals, len(contextV1))
+
+       headResultV1, err = bucket.GetObjectDetailedMeta(objectName, VersionId(versionIdV1))
+       objLen, err = strconv.Atoi(headResultV1.Get("Content-Length"))
+       c.Assert(objLen, Equals, len(contextV1))
+
+       // head object v2
+       headResultV2, err := bucket.GetObjectMeta(objectName, VersionId(versionIdV2))
+       objLen, err = strconv.Atoi(headResultV2.Get("Content-Length"))
+       c.Assert(objLen, Equals, len(contextV2))
+
+       headResultV2, err = bucket.GetObjectDetailedMeta(objectName, VersionId(versionIdV2))
+       objLen, err = strconv.Atoi(headResultV2.Get("Content-Length"))
+       c.Assert(objLen, Equals, len(contextV2))
+
+       // head object without version
+       // head object v2
+       headResult, err := bucket.GetObjectMeta(objectName)
+       objLen, err = strconv.Atoi(headResult.Get("Content-Length"))
+       c.Assert(objLen, Equals, len(contextV2))
+
+       headResult, err = bucket.GetObjectDetailedMeta(objectName)
+       objLen, err = strconv.Atoi(headResultV2.Get("Content-Length"))
+       c.Assert(objLen, Equals, len(contextV2))
+
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV1))
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningDeleteLatestVersionObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // delete v2 object:permently delete
+       options := []Option{VersionId(versionIdV2), GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, versionIdV2)
+
+       // get v2 object failure
+       body, err := bucket.GetObject(objectName, VersionId(versionIdV2))
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "NoSuchVersion")
+
+       // get v1 object success
+       body, err = bucket.GetObject(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV1)
+
+       // get default object success:v1
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV1)
+
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV1))
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningDeleteOldVersionObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // delete v1 object:permently delete
+       options := []Option{VersionId(versionIdV1), GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, versionIdV1)
+
+       // get v2 object success
+       body, err := bucket.GetObject(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV2)
+
+       // get v1 object faliure
+       body, err = bucket.GetObject(objectName, VersionId(versionIdV1))
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "NoSuchVersion")
+
+       // get default object success:v2
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV2)
+
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV1))
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningDeleteDefaultVersionObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // delete default object:mark delete v2
+       options := []Option{GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+
+       markVersionId := GetVersionId(respHeader)
+       c.Assert(len(markVersionId) > 0, Equals, true)
+       c.Assert(respHeader.Get("x-oss-delete-marker"), Equals, "true")
+
+       // get v2 object success
+       body, err := bucket.GetObject(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV2)
+
+       // get v1 object success
+       body, err = bucket.GetObject(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV1)
+
+       // get default object failure:marker v2
+       body, err = bucket.GetObject(objectName, GetResponseHeader(&respHeader))
+       c.Assert(err, NotNil)
+       c.Assert(err.(ServiceError).Code, Equals, "NoSuchKey")
+       c.Assert(respHeader.Get("x-oss-delete-marker"), Equals, "true")
+
+       // delete mark v2
+       options = []Option{VersionId(markVersionId), GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, markVersionId)
+
+       // get default object success:v2
+       body, err = bucket.GetObject(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       body.Close()
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV2)
+
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV1))
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningListObjectVersions(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // delete default object:mark delete v2
+       options := []Option{GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+
+       markVersionId := GetVersionId(respHeader)
+       c.Assert(len(markVersionId) > 0, Equals, true)
+       c.Assert(respHeader.Get("x-oss-delete-marker"), Equals, "true")
+
+       // delete default object again:mark delete v2
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+       markVersionIdAgain := GetVersionId(respHeader)
+       c.Assert(len(markVersionIdAgain) > 0, Equals, true)
+       c.Assert(respHeader.Get("x-oss-delete-marker"), Equals, "true")
+       c.Assert(markVersionId != markVersionIdAgain, Equals, true)
+
+       // list bucket versions
+       listResult, err := bucket.ListObjectVersions()
+       c.Assert(err, IsNil)
+       c.Assert(len(listResult.ObjectDeleteMarkers), Equals, 2)
+       c.Assert(len(listResult.ObjectVersions), Equals, 2)
+       mapMarkVersion := map[string]string{}
+       mapMarkVersion[listResult.ObjectDeleteMarkers[0].VersionId] = listResult.ObjectDeleteMarkers[0].VersionId
+       mapMarkVersion[listResult.ObjectDeleteMarkers[1].VersionId] = listResult.ObjectDeleteMarkers[1].VersionId
+
+       // check delete mark
+       _, ok := mapMarkVersion[markVersionId]
+       c.Assert(ok == true, Equals, true)
+       _, ok = mapMarkVersion[markVersionIdAgain]
+       c.Assert(ok == true, Equals, true)
+
+       // check versionId
+       mapVersion := map[string]string{}
+       mapVersion[listResult.ObjectVersions[0].VersionId] = listResult.ObjectVersions[0].VersionId
+       mapVersion[listResult.ObjectVersions[1].VersionId] = listResult.ObjectVersions[1].VersionId
+       _, ok = mapVersion[versionIdV1]
+       c.Assert(ok == true, Equals, true)
+       _, ok = mapVersion[versionIdV2]
+       c.Assert(ok == true, Equals, true)
+
+       // delete deleteMark v2
+       options = []Option{VersionId(markVersionId), GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, markVersionId)
+
+       // delete deleteMark v2 again
+       options = []Option{VersionId(markVersionIdAgain), GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, markVersionIdAgain)
+
+       // delete versionId
+       bucket.DeleteObject(objectName, VersionId(versionIdV1))
+       bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningBatchDeleteVersionObjects(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName1 := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName1, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       objectName2 := objectNamePrefix + RandStr(8)
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName2, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       //batch delete objects
+       versionIds := []DeleteObject{DeleteObject{Key: objectName1, VersionId: versionIdV1},
+               DeleteObject{Key: objectName2, VersionId: versionIdV2}}
+       deleteResult, err := bucket.DeleteObjectVersions(versionIds)
+       c.Assert(err, IsNil)
+       c.Assert(len(deleteResult.DeletedObjectsDetail), Equals, 2)
+
+       // check delete detail info:key
+       deleteMap := map[string]string{}
+       deleteMap[deleteResult.DeletedObjectsDetail[0].Key] = deleteResult.DeletedObjectsDetail[0].VersionId
+       deleteMap[deleteResult.DeletedObjectsDetail[1].Key] = deleteResult.DeletedObjectsDetail[1].VersionId
+       id1, ok := deleteMap[objectName1]
+       c.Assert(ok, Equals, true)
+       c.Assert(id1, Equals, versionIdV1)
+
+       id2, ok := deleteMap[objectName2]
+       c.Assert(ok, Equals, true)
+       c.Assert(id2, Equals, versionIdV2)
+
+       // list bucket versions
+       listResult, err := bucket.ListObjectVersions()
+       c.Assert(err, IsNil)
+       c.Assert(len(listResult.ObjectDeleteMarkers), Equals, 0)
+       c.Assert(len(listResult.ObjectVersions), Equals, 0)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningBatchDeleteDefaultVersionObjects(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName1 := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName1, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       objectName2 := objectNamePrefix + RandStr(8)
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName2, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       //batch delete objects
+       versionIds := []DeleteObject{DeleteObject{Key: objectName1, VersionId: ""},
+               DeleteObject{Key: objectName2, VersionId: ""}}
+       deleteResult, err := bucket.DeleteObjectVersions(versionIds)
+       c.Assert(err, IsNil)
+
+       // check delete detail info:key
+       deleteDetailMap := map[string]DeletedKeyInfo{}
+       deleteDetailMap[deleteResult.DeletedObjectsDetail[0].Key] = deleteResult.DeletedObjectsDetail[0]
+       deleteDetailMap[deleteResult.DeletedObjectsDetail[1].Key] = deleteResult.DeletedObjectsDetail[1]
+       keyInfo1, ok := deleteDetailMap[objectName1]
+       c.Assert(ok, Equals, true)
+       c.Assert(keyInfo1.Key, Equals, objectName1)
+       c.Assert(keyInfo1.VersionId, Equals, "")
+       c.Assert(keyInfo1.DeleteMarker, Equals, true)
+       c.Assert(keyInfo1.DeleteMarkerVersionId != versionIdV1, Equals, true)
+
+       keyInfo2, ok := deleteDetailMap[objectName2]
+       c.Assert(ok, Equals, true)
+       c.Assert(keyInfo2.Key, Equals, objectName2)
+       c.Assert(keyInfo2.VersionId, Equals, "")
+       c.Assert(keyInfo2.DeleteMarker, Equals, true)
+       c.Assert(keyInfo2.DeleteMarkerVersionId != versionIdV2, Equals, true)
+
+       // list bucket versions
+       listResult, err := bucket.ListObjectVersions()
+       c.Assert(err, IsNil)
+       c.Assert(len(listResult.ObjectDeleteMarkers), Equals, 2)
+       c.Assert(len(listResult.ObjectVersions), Equals, 2)
+
+       // delete version object
+       versionIds = []DeleteObject{DeleteObject{Key: objectName1, VersionId: versionIdV1},
+               DeleteObject{Key: objectName2, VersionId: versionIdV2}}
+       deleteResult, err = bucket.DeleteObjectVersions(versionIds)
+       c.Assert(err, IsNil)
+
+       // delete deleteMark object
+       versionIds = []DeleteObject{DeleteObject{Key: objectName1, VersionId: keyInfo1.DeleteMarkerVersionId},
+               DeleteObject{Key: objectName2, VersionId: keyInfo2.DeleteMarkerVersionId}}
+       deleteResult, err = bucket.DeleteObjectVersions(versionIds)
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// bucket has no versioning flag
+func (s *OssBucketSuite) TestVersioningBatchDeleteNormalObjects(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // not put bucket versioning
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put object v1
+       objectName1 := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName1, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1), Equals, 0)
+
+       // put object v2
+       objectName2 := objectNamePrefix + RandStr(8)
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName2, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2), Equals, 0)
+
+       //batch delete objects
+       keys := []string{objectName1, objectName2}
+       deleteResult, err := bucket.DeleteObjects(keys)
+       c.Assert(len(deleteResult.DeletedObjects), Equals, 2)
+
+       // check delete info
+       deleteMap := map[string]string{}
+       deleteMap[deleteResult.DeletedObjects[0]] = deleteResult.DeletedObjects[0]
+       deleteMap[deleteResult.DeletedObjects[1]] = deleteResult.DeletedObjects[1]
+       _, ok := deleteMap[objectName1]
+       c.Assert(ok, Equals, true)
+       _, ok = deleteMap[objectName2]
+       c.Assert(ok, Equals, true)
+
+       ForceDeleteBucket(client, bucketName, c)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketSuite) TestVersioningSymlink(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object 1
+       objectName1 := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName1, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object 2
+       objectName2 := objectNamePrefix + RandStr(8)
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName2, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // put symlink for object 1
+       linkName := objectNamePrefix + RandStr(8)
+       err = bucket.PutSymlink(linkName, objectName1, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       linkVersionIdV1 := GetVersionId(respHeader)
+
+       // PutSymlink for object 2
+       err = bucket.PutSymlink(linkName, objectName2, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       linkVersionIdV2 := GetVersionId(respHeader)
+
+       // check v1 and v2
+       c.Assert(linkVersionIdV1 != linkVersionIdV2, Equals, true)
+
+       // GetSymlink for object1
+       getResult, err := bucket.GetSymlink(linkName, VersionId(linkVersionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.Get("x-oss-symlink-target"), Equals, objectName1)
+
+       // GetSymlink for object2
+       getResult, err = bucket.GetSymlink(linkName, VersionId(linkVersionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.Get("x-oss-symlink-target"), Equals, objectName2)
+
+       bucket.DeleteObject(linkName)
+       bucket.DeleteObject(objectName1)
+       bucket.DeleteObject(objectName2)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningObjectAcl(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // put Acl for v1
+       err = bucket.SetObjectACL(objectName, ACLPublicRead, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+
+       // put Acl for v2
+       err = bucket.SetObjectACL(objectName, ACLPublicReadWrite, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+
+       // GetAcl for v1
+       getResult, err := bucket.GetObjectACL(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.ACL, Equals, string(ACLPublicRead))
+
+       // GetAcl for v2
+       getResult, err = bucket.GetObjectACL(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.ACL, Equals, string(ACLPublicReadWrite))
+
+       // delete default version
+       err = bucket.DeleteObject(objectName, GetResponseHeader(&respHeader))
+       c.Assert(len(GetVersionId(respHeader)) > 0, Equals, true)
+       c.Assert(respHeader.Get("x-oss-delete-marker"), Equals, "true")
+
+       // GetAcl for v1 agagin
+       getResult, err = bucket.GetObjectACL(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.ACL, Equals, string(ACLPublicRead))
+
+       // GetAcl for v2 again
+       getResult, err = bucket.GetObjectACL(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.ACL, Equals, string(ACLPublicReadWrite))
+
+       // GetAcl for default failure
+       getResult, err = bucket.GetObjectACL(objectName)
+       c.Assert(err, NotNil)
+
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningAppendObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // append object
+       var nextPos int64 = 0
+       var respHeader http.Header
+       objectName := objectNamePrefix + RandStr(8)
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader("123"), nextPos, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, NullVersion)
+
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader("456"), nextPos, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, NullVersion)
+
+       // delete object
+       err = bucket.DeleteObject(objectName, GetResponseHeader(&respHeader))
+       markVersionId := GetVersionId(respHeader)
+
+       // get default object failure
+       _, err = bucket.GetObject(objectName)
+       c.Assert(err, NotNil)
+
+       // get null version success
+       body, err := bucket.GetObject(objectName, VersionId(NullVersion))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, "123456")
+
+       // append object again:failure
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader("789"), nextPos, GetResponseHeader(&respHeader))
+       c.Assert(err, NotNil)
+
+       // delete deletemark
+       options := []Option{VersionId(markVersionId), GetResponseHeader(&respHeader)}
+       err = bucket.DeleteObject(objectName, options...)
+       c.Assert(markVersionId, Equals, GetVersionId(respHeader))
+
+       // append object again:success
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader("789"), nextPos, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(int(nextPos), Equals, 9)
+
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningCopyObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       destObjectKey := objectNamePrefix + RandStr(8)
+
+       // copyobject default
+       _, err = bucket.CopyObject(objectName, destObjectKey, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       srcVersionId := GetCopySrcVersionId(respHeader)
+       c.Assert(srcVersionId, Equals, versionIdV2)
+
+       body, err := bucket.GetObject(destObjectKey)
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV2)
+
+       //  copyobject v1
+       options := []Option{VersionId(versionIdV1), GetResponseHeader(&respHeader)}
+       _, err = bucket.CopyObject(objectName, destObjectKey, options...)
+       c.Assert(err, IsNil)
+       srcVersionId = GetCopySrcVersionId(respHeader)
+       c.Assert(srcVersionId, Equals, versionIdV1)
+
+       body, err = bucket.GetObject(destObjectKey)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, contextV1)
+
+       // delete object
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // default copyobject again,failuer
+       _, err = bucket.CopyObject(objectName, destObjectKey, GetResponseHeader(&respHeader))
+       c.Assert(err, NotNil)
+
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningCompleteMultipartUpload(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "test-file-" + RandStr(8)
+       content := RandStr(500 * 1024)
+       CreateFile(fileName, content, c)
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+
+       options := []Option{
+               Expires(futureDate), Meta("my", "myprop"),
+       }
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       imur, err := bucket.InitiateMultipartUpload(objectName, options...)
+       c.Assert(err, IsNil)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               part, err := bucket.UploadPart(imur, fd, chunk.Size, chunk.Number)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       var respHeader http.Header
+       _, err = bucket.CompleteMultipartUpload(imur, parts, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       //get versionId
+       versionIdV1 := GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       // put object agagin
+       err = bucket.PutObject(objectName, strings.NewReader(""), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 := GetVersionId(respHeader)
+       c.Assert(versionIdV1 == versionIdV2, Equals, false)
+
+       // get meta v1
+       meta, err = bucket.GetObjectDetailedMeta(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("content-length"), Equals, strconv.Itoa(len(content)))
+
+       // get meta v2
+       meta, err = bucket.GetObjectDetailedMeta(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("content-length"), Equals, strconv.Itoa(0))
+
+       os.Remove(fileName)
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningUploadPartCopy(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // upload mutlipart object with v1
+       multiName := objectNamePrefix + RandStr(8)
+       var parts []UploadPart
+       imur, err := bucket.InitiateMultipartUpload(multiName)
+       c.Assert(err, IsNil)
+
+       part, err := bucket.UploadPartCopy(imur, bucketName, objectName, 0, int64(len(contextV1)), 1, VersionId(versionIdV1))
+       parts = []UploadPart{part}
+       c.Assert(err, IsNil)
+
+       _, err = bucket.CompleteMultipartUpload(imur, parts, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       //get versionId
+       partVersionIdV1 := GetVersionId(respHeader)
+       c.Assert(len(partVersionIdV1) > 0, Equals, true)
+
+       // get meta v1
+       meta, err := bucket.GetObjectDetailedMeta(multiName, VersionId(partVersionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("content-length"), Equals, strconv.Itoa(len(contextV1)))
+
+       // upload mutlipart object with v2
+       imur, err = bucket.InitiateMultipartUpload(multiName)
+       part, err = bucket.UploadPartCopy(imur, bucketName, objectName, 0, int64(len(contextV2)), 1, VersionId(versionIdV2))
+       parts = []UploadPart{part}
+
+       _, err = bucket.CompleteMultipartUpload(imur, parts, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       //get versionId
+       partVersionIdV2 := GetVersionId(respHeader)
+       c.Assert(len(partVersionIdV2) > 0, Equals, true)
+
+       // get meta v2
+       meta, err = bucket.GetObjectDetailedMeta(multiName, VersionId(partVersionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("content-length"), Equals, strconv.Itoa(len(contextV2)))
+
+       bucket.DeleteObject(objectName)
+       bucket.DeleteObject(multiName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningRestoreObject(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName, StorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // RestoreObject v1
+       options := []Option{GetResponseHeader(&respHeader), VersionId(versionIdV1)}
+       err = bucket.RestoreObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, versionIdV1)
+
+       // RestoreObject v2
+       options = []Option{GetResponseHeader(&respHeader), VersionId(versionIdV2)}
+       err = bucket.RestoreObject(objectName, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, versionIdV2)
+
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningObjectTagging(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName, StorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // ObjectTagging v1
+       var tagging1 Tagging
+       tagging1.Tags = []Tag{Tag{Key: "testkey1", Value: "testvalue1"}}
+       err = bucket.PutObjectTagging(objectName, tagging1, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       getResult, err := bucket.GetObjectTagging(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.Tags[0].Key, Equals, tagging1.Tags[0].Key)
+       c.Assert(getResult.Tags[0].Value, Equals, tagging1.Tags[0].Value)
+
+       // ObjectTagging v2
+       var tagging2 Tagging
+       tagging2.Tags = []Tag{Tag{Key: "testkey2", Value: "testvalue2"}}
+       err = bucket.PutObjectTagging(objectName, tagging2, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       getResult, err = bucket.GetObjectTagging(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(getResult.Tags[0].Key, Equals, tagging2.Tags[0].Key)
+       c.Assert(getResult.Tags[0].Value, Equals, tagging2.Tags[0].Value)
+
+       // delete ObjectTagging v2
+       err = bucket.DeleteObjectTagging(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+
+       getResult, err = bucket.GetObjectTagging(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(len(getResult.Tags), Equals, 0)
+
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestVersioningIsObjectExist(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // check default exist
+       exist, err := bucket.IsObjectExist(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       // check object v1 exist
+       exist, err = bucket.IsObjectExist(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       // check object v2 exist
+       exist, err = bucket.IsObjectExist(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       // rm v2
+       err = bucket.DeleteObject(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+
+       // check object v2 not exist
+       exist, err = bucket.IsObjectExist(objectName, VersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       // rm default
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // check default exist
+       exist, err = bucket.IsObjectExist(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       // check v1 exist
+       exist, err = bucket.IsObjectExist(objectName, VersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestOptionsMethod(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket cors
+       var rule = CORSRule{
+               AllowedOrigin: []string{"www.aliyun.com"},
+               AllowedMethod: []string{"PUT", "GET", "POST"},
+               AllowedHeader: []string{"x-oss-meta-author"},
+               ExposeHeader:  []string{"x-oss-meta-name"},
+               MaxAgeSeconds: 100,
+       }
+
+       // set cors
+       err = client.SetBucketCORS(bucketName, []CORSRule{rule})
+       c.Assert(err, IsNil)
+
+       // bucket options success
+       options := []Option{}
+       originOption := Origin("www.aliyun.com")
+       acMethodOption := ACReqMethod("PUT")
+       acHeadersOption := ACReqHeaders("x-oss-meta-author")
+       options = append(options, originOption)
+       options = append(options, acMethodOption)
+       options = append(options, acHeadersOption)
+       _, err = bucket.OptionsMethod("", options...)
+       c.Assert(err, IsNil)
+
+       // options failure
+       options = []Option{}
+       originOption = Origin("www.aliyun.com")
+       acMethodOption = ACReqMethod("PUT")
+       acHeadersOption = ACReqHeaders("x-oss-meta-author-1")
+       options = append(options, originOption)
+       options = append(options, acMethodOption)
+       options = append(options, acHeadersOption)
+       _, err = bucket.OptionsMethod("", options...)
+       c.Assert(err, NotNil)
+
+       // put object
+       objectName := objectNamePrefix + RandStr(8)
+       context := RandStr(100)
+       err = bucket.PutObject(objectName, strings.NewReader(context))
+       c.Assert(err, IsNil)
+
+       // object options success
+       options = []Option{}
+       originOption = Origin("www.aliyun.com")
+       acMethodOption = ACReqMethod("PUT")
+       acHeadersOption = ACReqHeaders("x-oss-meta-author")
+       options = append(options, originOption)
+       options = append(options, acMethodOption)
+       options = append(options, acHeadersOption)
+       _, err = bucket.OptionsMethod("", options...)
+       c.Assert(err, IsNil)
+
+       // options failure
+       options = []Option{}
+       originOption = Origin("www.aliyun.com")
+       acMethodOption = ACReqMethod("PUT")
+       acHeadersOption = ACReqHeaders("x-oss-meta-author-1")
+       options = append(options, originOption)
+       options = append(options, acMethodOption)
+       options = append(options, acHeadersOption)
+       _, err = bucket.OptionsMethod("", options...)
+       c.Assert(err, NotNil)
+
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestBucketTrafficLimitObject1(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       var respHeader http.Header
+       var qosDelayTime string
+       var traffic int64 = 819220 // 100KB
+       maxTraffic := traffic * 120 / 100
+
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+       fd, err := os.Open(localFile)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       tryGetFileSize := func(f *os.File) int64 {
+               fInfo, _ := f.Stat()
+               return fInfo.Size()
+       }
+       contentLength := tryGetFileSize(fd) * 8
+
+       // put object
+       start := time.Now().UnixNano() / 1000 / 1000
+       err = bucket.PutObject(objectName, fd, TrafficLimitHeader(traffic), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       endingTime := time.Now().UnixNano() / 1000 / 1000
+       costT := endingTime - start
+       costV := contentLength * 1000 / costT // bit * 1000 / Millisecond = bit/s
+       c.Assert((costV < maxTraffic), Equals, true)
+       qosDelayTime = GetQosDelayTime(respHeader)
+       c.Assert(len(qosDelayTime) > 0, Equals, true)
+
+       // putobject without TrafficLimit
+       //
+       // fd, err = os.Open(localFile)
+       // c.Assert(err, IsNil)
+       // defer fd.Close()
+       // start = time.Now().UnixNano() / 1000 / 1000
+       // err = bucket.PutObject(objectName, fd)
+       // c.Assert(err, IsNil)
+       // endingTime = time.Now().UnixNano() / 1000 / 1000
+       // costT = endingTime - start
+       // costV = contentLength * 1000 / costT  // bit * 1000 / Millisecond = bit/s
+       // testLogger.Println(traffic, maxTraffic, contentLength, costT, costV)
+       // c.Assert((costV < maxTraffic), Equals, true)
+
+       // get object to file
+       newFile := "test-file-" + RandStr(10)
+       start = time.Now().UnixNano() / 1000 / 1000
+       err = bucket.GetObjectToFile(objectName, newFile, TrafficLimitHeader(traffic))
+       c.Assert(err, IsNil)
+       endingTime = time.Now().UnixNano() / 1000 / 1000
+       costT = endingTime - start
+       costV = contentLength * 1000 / costT // bit * 1000 / Millisecond = bit/s
+       c.Assert((costV < maxTraffic), Equals, true)
+       os.Remove(newFile)
+
+       // append object
+       newFile = "test-file-" + RandStr(10)
+       objectKey := objectNamePrefix + RandStr(8)
+       var nextPos int64
+       fd, err = os.Open(localFile)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+       start = time.Now().UnixNano() / 1000 / 1000
+       nextPos, err = bucket.AppendObject(objectKey, strings.NewReader(RandStr(18)), nextPos)
+       c.Assert(err, IsNil)
+
+       var respAppendHeader http.Header
+       nextPos, err = bucket.AppendObject(objectKey, fd, nextPos, TrafficLimitHeader(traffic), GetResponseHeader(&respAppendHeader))
+       c.Assert(err, IsNil)
+       endingTime = time.Now().UnixNano() / 1000 / 1000
+       costT = endingTime - start
+       costV = contentLength * 1000 / costT // bit * 1000 / Millisecond = bit/s
+       c.Assert((costV < maxTraffic), Equals, true)
+       qosDelayTime = GetQosDelayTime(respAppendHeader)
+       c.Assert(len(qosDelayTime) > 0, Equals, true)
+
+       err = bucket.GetObjectToFile(objectKey, newFile, TrafficLimitHeader(traffic))
+       c.Assert(err, IsNil)
+       err = bucket.DeleteObject(objectKey)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // put object with url
+       fd, err = os.Open(localFile)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+       strURL, err := bucket.SignURL(objectName, HTTPPut, 60, TrafficLimitParam(traffic))
+       start = time.Now().UnixNano() / 1000 / 1000
+       err = bucket.PutObjectWithURL(strURL, fd)
+       c.Assert(err, IsNil)
+       endingTime = time.Now().UnixNano() / 1000 / 1000
+       costT = endingTime - start
+       costV = contentLength * 1000 / costT // bit * 1000 / Millisecond = bit/s
+       c.Assert((costV < maxTraffic), Equals, true)
+
+       // get object with url
+       newFile = "test-file-" + RandStr(10)
+       strURL, err = bucket.SignURL(objectName, HTTPGet, 60, TrafficLimitParam(traffic))
+       c.Assert(err, IsNil)
+       start = time.Now().UnixNano() / 1000 / 1000
+       err = bucket.GetObjectToFileWithURL(strURL, newFile)
+       c.Assert(err, IsNil)
+       endingTime = time.Now().UnixNano() / 1000 / 1000
+       costT = endingTime - start
+       costV = contentLength * 1000 / costT // bit * 1000 / Millisecond = bit/s
+       c.Assert((costV < maxTraffic), Equals, true)
+       os.Remove(newFile)
+
+       // copy object
+       destObjectName := objectNamePrefix + RandStr(8)
+       _, err = bucket.CopyObject(objectName, destObjectName, TrafficLimitHeader(traffic))
+       c.Assert(err, IsNil)
+       err = bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestBucketTrafficLimitUpload(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       var traffic int64 = 819220 // 100KB
+       maxTraffic := traffic * 120 / 100
+       contentLength := 500 * 1024
+
+       var fileName = "test-file-" + RandStr(8)
+       objectName := objectNamePrefix + RandStr(8)
+       content := RandStr(contentLength)
+       CreateFile(fileName, content, c)
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+
+       options := []Option{
+               Expires(futureDate), Meta("my", "myprop"),
+       }
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       imur, err := bucket.InitiateMultipartUpload(objectName, options...)
+       c.Assert(err, IsNil)
+       var parts []UploadPart
+       start := time.Now().UnixNano() / 1000 / 1000
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               part, err := bucket.UploadPart(imur, fd, chunk.Size, chunk.Number, TrafficLimitHeader(traffic))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+       _, err = bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       endingTime := time.Now().UnixNano() / 1000 / 1000
+       costT := endingTime - start
+       costV := int64(contentLength) * 8 * 1000 / costT // B * 8 * 1000 / Millisecond = bit/s
+       c.Assert((costV < maxTraffic), Equals, true)
+       os.Remove(fileName)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestPutObjectWithForbidOverWrite(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       contentLength := 1024
+       objectName := objectNamePrefix + RandStr(8)
+       content := RandStr(contentLength)
+
+       // first put success
+       err = bucket.PutObject(objectName, strings.NewReader(content), ForbidOverWrite(true))
+       c.Assert(err, IsNil)
+
+       // second put failure with ForbidOverWrite true
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(content), ForbidOverWrite(true), GetResponseHeader(&respHeader))
+       c.Assert(err, NotNil)
+
+       // third  put success with ForbidOverWrite false
+       err = bucket.PutObject(objectName, strings.NewReader(content), ForbidOverWrite(false))
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestCopyObjectWithForbidOverWrite(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       contentLength := 1024
+       objectName := objectNamePrefix + RandStr(8)
+       content := RandStr(contentLength)
+
+       err = bucket.PutObject(objectName, strings.NewReader(content))
+       c.Assert(err, IsNil)
+
+       // first copy success
+       copyObjectName := objectName + "-copy"
+       _, err = bucket.CopyObject(objectName, copyObjectName, ForbidOverWrite(true))
+       c.Assert(err, IsNil)
+
+       // second copy failure with ForbidOverWrite true
+       var respHeader http.Header
+       _, err = bucket.CopyObject(objectName, copyObjectName, ForbidOverWrite(true), GetResponseHeader(&respHeader))
+       c.Assert(err, NotNil)
+
+       // third  copy success with ForbidOverWrite false
+       _, err = bucket.CopyObject(objectName, copyObjectName, ForbidOverWrite(false))
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestDeleteObjectsWithSpecialCharacter(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       contentLength := 100
+       objectName1 := objectNamePrefix + RandStr(8) + "<-->+&*\r%%"
+       objectName2 := objectNamePrefix + RandStr(8) + "\r&*\r%%"
+       //objectName2 := objectNamePrefix + RandStr(8) + "%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2F%C0%AE%C0%AE%2Fetc%2Fprofile"
+       //objectName2, err = url.QueryUnescape(objectName2)
+
+       c.Assert(err, IsNil)
+       content := RandStr(contentLength)
+
+       err = bucket.PutObject(objectName1, strings.NewReader(content))
+       c.Assert(err, IsNil)
+
+       err = bucket.PutObject(objectName2, strings.NewReader(content))
+       c.Assert(err, IsNil)
+
+       // delete objectName1 objectName2
+       objectKeys := []string{objectName1, objectName2}
+       _, err = bucket.DeleteObjects(objectKeys)
+       c.Assert(err, IsNil)
+
+       // objectName1 is not exist
+       exist, err := bucket.IsObjectExist(objectName1)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       // objectName2 is not exist
+       exist, err = bucket.IsObjectExist(objectName2)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestGetObjectRangeBehavior
+func (s *OssBucketSuite) TestGetObjectRangeBehavior(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectLen := 1000
+       objectValue := RandStr(objectLen)
+
+       // Put
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Range 1
+       options := []Option{
+               RangeBehavior("standard"),
+               Range(1000, 2000),
+       }
+       resp, err := bucket.GetObject(objectName, options...)
+       c.Assert(resp, IsNil)
+       c.Assert(err.(ServiceError).StatusCode, Equals, 416)
+
+       // Range 2
+       options = []Option{
+               RangeBehavior("standard"),
+               Range(0, 2000),
+       }
+       resp, err = bucket.GetObject(objectName, options...)
+       c.Assert(err, IsNil)
+       data, err := ioutil.ReadAll(resp)
+       resp.Close()
+       str := string(data)
+       c.Assert(len(str), Equals, 1000)
+       c.Assert(resp.(*Response).StatusCode, Equals, 206)
+
+       // Range 3
+       options = []Option{
+               RangeBehavior("standard"),
+               Range(500, 2000),
+       }
+       resp, err = bucket.GetObject(objectName, options...)
+       c.Assert(err, IsNil)
+       data, err = ioutil.ReadAll(resp)
+       resp.Close()
+       str = string(data)
+       c.Assert(len(str), Equals, 500)
+       c.Assert(resp.(*Response).StatusCode, Equals, 206)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// RangeBehavior  is an option to set Range value, such as "standard"
+func MyRangeBehavior(value string) Option {
+       return SetHeader(HTTPHeaderOssRangeBehavior, value)
+}
+
+// TestUserSetHeader
+func (s *OssBucketSuite) TestSupportUserSetHeader(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectLen := 1000
+       objectValue := RandStr(objectLen)
+
+       // Put
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Range 1
+       options := []Option{
+               MyRangeBehavior("standard"),
+               Range(1000, 2000),
+       }
+       resp, err := bucket.GetObject(objectName, options...)
+       c.Assert(resp, IsNil)
+       c.Assert(err.(ServiceError).StatusCode, Equals, 416)
+
+       // Range 2
+       options = []Option{
+               MyRangeBehavior("standard"),
+               Range(0, 2000),
+       }
+       resp, err = bucket.GetObject(objectName, options...)
+       c.Assert(err, IsNil)
+       data, err := ioutil.ReadAll(resp)
+       resp.Close()
+       str := string(data)
+       c.Assert(len(str), Equals, 1000)
+       c.Assert(resp.(*Response).StatusCode, Equals, 206)
+
+       // Range 3
+       options = []Option{
+               MyRangeBehavior("standard"),
+               Range(500, 2000),
+       }
+       resp, err = bucket.GetObject(objectName, options...)
+       c.Assert(err, IsNil)
+       data, err = ioutil.ReadAll(resp)
+       resp.Close()
+       str = string(data)
+       c.Assert(len(str), Equals, 500)
+       c.Assert(resp.(*Response).StatusCode, Equals, 206)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// user can set param
+func MyVersionId(value string) Option {
+       return AddParam("versionId", value)
+}
+
+func (s *OssBucketSuite) TestSupportUserSetParam(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, string(VersionEnabled))
+
+       // put object v1
+       objectName := objectNamePrefix + RandStr(8)
+       contextV1 := RandStr(100)
+       versionIdV1 := ""
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(contextV1), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV1 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV1) > 0, Equals, true)
+
+       // put object v2
+       contextV2 := RandStr(200)
+       versionIdV2 := ""
+       err = bucket.PutObject(objectName, strings.NewReader(contextV2), GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       versionIdV2 = GetVersionId(respHeader)
+       c.Assert(len(versionIdV2) > 0, Equals, true)
+
+       // check v1 and v2
+       c.Assert(versionIdV1 != versionIdV2, Equals, true)
+
+       // get object v1
+       body, err := bucket.GetObject(objectName, MyVersionId(versionIdV1))
+       c.Assert(err, IsNil)
+       str, err := readBody(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(str, Equals, contextV1)
+
+       // get object v2
+       body, err = bucket.GetObject(objectName, MyVersionId(versionIdV2))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(str, Equals, contextV2)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssBucketSuite) TestPutObjectWithKmsSm4(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1024)
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), ServerSideEncryption("KMS"), ServerSideDataEncryption("SM4"))
+       headers, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(headers.Get(HTTPHeaderOssServerSideEncryption), Equals, "KMS")
+       c.Assert(headers.Get(HTTPHeaderOssServerSideDataEncryption), Equals, "SM4")
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/client.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/client.go
new file mode 100644 (file)
index 0000000..fd13e4f
--- /dev/null
@@ -0,0 +1,1722 @@
+// Package oss implements functions for access oss service.
+// It has two main struct Client and Bucket.
+package oss
+
+import (
+       "bytes"
+       "encoding/xml"
+       "fmt"
+       "io"
+       "io/ioutil"
+       "log"
+       "net"
+       "net/http"
+       "strings"
+       "time"
+)
+
+// Client SDK's entry point. It's for bucket related options such as create/delete/set bucket (such as set/get ACL/lifecycle/referer/logging/website).
+// Object related operations are done by Bucket class.
+// Users use oss.New to create Client instance.
+//
+type (
+       // Client OSS client
+       Client struct {
+               Config     *Config      // OSS client configuration
+               Conn       *Conn        // Send HTTP request
+               HTTPClient *http.Client //http.Client to use - if nil will make its own
+       }
+
+       // ClientOption client option such as UseCname, Timeout, SecurityToken.
+       ClientOption func(*Client)
+)
+
+// New creates a new client.
+//
+// endpoint    the OSS datacenter endpoint such as http://oss-cn-hangzhou.aliyuncs.com .
+// accessKeyId    access key Id.
+// accessKeySecret    access key secret.
+//
+// Client    creates the new client instance, the returned value is valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func New(endpoint, accessKeyID, accessKeySecret string, options ...ClientOption) (*Client, error) {
+       // Configuration
+       config := getDefaultOssConfig()
+       config.Endpoint = endpoint
+       config.AccessKeyID = accessKeyID
+       config.AccessKeySecret = accessKeySecret
+
+       // URL parse
+       url := &urlMaker{}
+       err := url.Init(config.Endpoint, config.IsCname, config.IsUseProxy)
+       if err != nil {
+               return nil, err
+       }
+
+       // HTTP connect
+       conn := &Conn{config: config, url: url}
+
+       // OSS client
+       client := &Client{
+               Config: config,
+               Conn:   conn,
+       }
+
+       // Client options parse
+       for _, option := range options {
+               option(client)
+       }
+
+       if config.AuthVersion != AuthV1 && config.AuthVersion != AuthV2 {
+               return nil, fmt.Errorf("Init client Error, invalid Auth version: %v", config.AuthVersion)
+       }
+
+       // Create HTTP connection
+       err = conn.init(config, url, client.HTTPClient)
+
+       return client, err
+}
+
+// Bucket gets the bucket instance.
+//
+// bucketName    the bucket name.
+// Bucket    the bucket object, when error is nil.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) Bucket(bucketName string) (*Bucket, error) {
+       err := CheckBucketName(bucketName)
+       if err != nil {
+               return nil, err
+       }
+
+       return &Bucket{
+               client,
+               bucketName,
+       }, nil
+}
+
+// CreateBucket creates a bucket.
+//
+// bucketName    the bucket name, it's globably unique and immutable. The bucket name can only consist of lowercase letters, numbers and dash ('-').
+//               It must start with lowercase letter or number and the length can only be between 3 and 255.
+// options    options for creating the bucket, with optional ACL. The ACL could be ACLPrivate, ACLPublicRead, and ACLPublicReadWrite. By default it's ACLPrivate.
+//            It could also be specified with StorageClass option, which supports StorageStandard, StorageIA(infrequent access), StorageArchive.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) CreateBucket(bucketName string, options ...Option) error {
+       headers := make(map[string]string)
+       handleOptions(headers, options)
+
+       buffer := new(bytes.Buffer)
+
+       var cbConfig createBucketConfiguration
+       cbConfig.StorageClass = StorageStandard
+
+       isStorageSet, valStroage, _ := IsOptionSet(options, storageClass)
+       isRedundancySet, valRedundancy, _ := IsOptionSet(options, redundancyType)
+       if isStorageSet {
+               cbConfig.StorageClass = valStroage.(StorageClassType)
+       }
+
+       if isRedundancySet {
+               cbConfig.DataRedundancyType = valRedundancy.(DataRedundancyType)
+       }
+
+       bs, err := xml.Marshal(cbConfig)
+       if err != nil {
+               return err
+       }
+       buffer.Write(bs)
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// ListBuckets lists buckets of the current account under the given endpoint, with optional filters.
+//
+// options    specifies the filters such as Prefix, Marker and MaxKeys. Prefix is the bucket name's prefix filter.
+//            And marker makes sure the returned buckets' name are greater than it in lexicographic order.
+//            Maxkeys limits the max keys to return, and by default it's 100 and up to 1000.
+//            For the common usage scenario, please check out list_bucket.go in the sample.
+// ListBucketsResponse    the response object if error is nil.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) ListBuckets(options ...Option) (ListBucketsResult, error) {
+       var out ListBucketsResult
+
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+
+       resp, err := client.do("GET", "", params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// IsBucketExist checks if the bucket exists
+//
+// bucketName    the bucket name.
+//
+// bool    true if it exists, and it's only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) IsBucketExist(bucketName string) (bool, error) {
+       listRes, err := client.ListBuckets(Prefix(bucketName), MaxKeys(1))
+       if err != nil {
+               return false, err
+       }
+
+       if len(listRes.Buckets) == 1 && listRes.Buckets[0].Name == bucketName {
+               return true, nil
+       }
+       return false, nil
+}
+
+// DeleteBucket deletes the bucket. Only empty bucket can be deleted (no object and parts).
+//
+// bucketName    the bucket name.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucket(bucketName string, options ...Option) error {
+       params := map[string]interface{}{}
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// GetBucketLocation gets the bucket location.
+//
+// Checks out the following link for more information :
+// https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html
+//
+// bucketName    the bucket name
+//
+// string    bucket's datacenter location
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketLocation(bucketName string) (string, error) {
+       params := map[string]interface{}{}
+       params["location"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return "", err
+       }
+       defer resp.Body.Close()
+
+       var LocationConstraint string
+       err = xmlUnmarshal(resp.Body, &LocationConstraint)
+       return LocationConstraint, err
+}
+
+// SetBucketACL sets bucket's ACL.
+//
+// bucketName    the bucket name
+// bucketAcl    the bucket ACL: ACLPrivate, ACLPublicRead and ACLPublicReadWrite.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketACL(bucketName string, bucketACL ACLType) error {
+       headers := map[string]string{HTTPHeaderOssACL: string(bucketACL)}
+       params := map[string]interface{}{}
+       params["acl"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketACL gets the bucket ACL.
+//
+// bucketName    the bucket name.
+//
+// GetBucketAclResponse    the result object, and it's only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketACL(bucketName string) (GetBucketACLResult, error) {
+       var out GetBucketACLResult
+       params := map[string]interface{}{}
+       params["acl"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// SetBucketLifecycle sets the bucket's lifecycle.
+//
+// For more information, checks out following link:
+// https://help.aliyun.com/document_detail/oss/user_guide/manage_object/object_lifecycle.html
+//
+// bucketName    the bucket name.
+// rules    the lifecycle rules. There're two kind of rules: absolute time expiration and relative time expiration in days and day/month/year respectively.
+//          Check out sample/bucket_lifecycle.go for more details.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketLifecycle(bucketName string, rules []LifecycleRule) error {
+       err := verifyLifecycleRules(rules)
+       if err != nil {
+               return err
+       }
+       lifecycleCfg := LifecycleConfiguration{Rules: rules}
+       bs, err := xml.Marshal(lifecycleCfg)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["lifecycle"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// DeleteBucketLifecycle deletes the bucket's lifecycle.
+//
+//
+// bucketName    the bucket name.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucketLifecycle(bucketName string) error {
+       params := map[string]interface{}{}
+       params["lifecycle"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// GetBucketLifecycle gets the bucket's lifecycle settings.
+//
+// bucketName    the bucket name.
+//
+// GetBucketLifecycleResponse    the result object upon successful request. It's only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketLifecycle(bucketName string) (GetBucketLifecycleResult, error) {
+       var out GetBucketLifecycleResult
+       params := map[string]interface{}{}
+       params["lifecycle"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+
+       // NonVersionTransition is not suggested to use
+       // to keep compatible
+       for k, rule := range out.Rules {
+               if len(rule.NonVersionTransitions) > 0 {
+                       out.Rules[k].NonVersionTransition = &(out.Rules[k].NonVersionTransitions[0])
+               }
+       }
+       return out, err
+}
+
+// SetBucketReferer sets the bucket's referer whitelist and the flag if allowing empty referrer.
+//
+// To avoid stealing link on OSS data, OSS supports the HTTP referrer header. A whitelist referrer could be set either by API or web console, as well as
+// the allowing empty referrer flag. Note that this applies to requests from webbrowser only.
+// For example, for a bucket os-example and its referrer http://www.aliyun.com, all requests from this URL could access the bucket.
+// For more information, please check out this link :
+// https://help.aliyun.com/document_detail/oss/user_guide/security_management/referer.html
+//
+// bucketName    the bucket name.
+// referers    the referrer white list. A bucket could have a referrer list and each referrer supports one '*' and multiple '?' as wildcards.
+//             The sample could be found in sample/bucket_referer.go
+// allowEmptyReferer    the flag of allowing empty referrer. By default it's true.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketReferer(bucketName string, referers []string, allowEmptyReferer bool) error {
+       rxml := RefererXML{}
+       rxml.AllowEmptyReferer = allowEmptyReferer
+       if referers == nil {
+               rxml.RefererList = append(rxml.RefererList, "")
+       } else {
+               for _, referer := range referers {
+                       rxml.RefererList = append(rxml.RefererList, referer)
+               }
+       }
+
+       bs, err := xml.Marshal(rxml)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["referer"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketReferer gets the bucket's referrer white list.
+//
+// bucketName    the bucket name.
+//
+// GetBucketRefererResponse    the result object upon successful request. It's only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketReferer(bucketName string) (GetBucketRefererResult, error) {
+       var out GetBucketRefererResult
+       params := map[string]interface{}{}
+       params["referer"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// SetBucketLogging sets the bucket logging settings.
+//
+// OSS could automatically store the access log. Only the bucket owner could enable the logging.
+// Once enabled, OSS would save all the access log into hourly log files in a specified bucket.
+// For more information, please check out https://help.aliyun.com/document_detail/oss/user_guide/security_management/logging.html
+//
+// bucketName    bucket name to enable the log.
+// targetBucket    the target bucket name to store the log files.
+// targetPrefix    the log files' prefix.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketLogging(bucketName, targetBucket, targetPrefix string,
+       isEnable bool) error {
+       var err error
+       var bs []byte
+       if isEnable {
+               lxml := LoggingXML{}
+               lxml.LoggingEnabled.TargetBucket = targetBucket
+               lxml.LoggingEnabled.TargetPrefix = targetPrefix
+               bs, err = xml.Marshal(lxml)
+       } else {
+               lxml := loggingXMLEmpty{}
+               bs, err = xml.Marshal(lxml)
+       }
+
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["logging"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// DeleteBucketLogging deletes the logging configuration to disable the logging on the bucket.
+//
+// bucketName    the bucket name to disable the logging.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucketLogging(bucketName string) error {
+       params := map[string]interface{}{}
+       params["logging"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// GetBucketLogging gets the bucket's logging settings
+//
+// bucketName    the bucket name
+// GetBucketLoggingResponse    the result object upon successful request. It's only valid when error is nil.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketLogging(bucketName string) (GetBucketLoggingResult, error) {
+       var out GetBucketLoggingResult
+       params := map[string]interface{}{}
+       params["logging"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// SetBucketWebsite sets the bucket's static website's index and error page.
+//
+// OSS supports static web site hosting for the bucket data. When the bucket is enabled with that, you can access the file in the bucket like the way to access a static website.
+// For more information, please check out: https://help.aliyun.com/document_detail/oss/user_guide/static_host_website.html
+//
+// bucketName    the bucket name to enable static web site.
+// indexDocument    index page.
+// errorDocument    error page.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketWebsite(bucketName, indexDocument, errorDocument string) error {
+       wxml := WebsiteXML{}
+       wxml.IndexDocument.Suffix = indexDocument
+       wxml.ErrorDocument.Key = errorDocument
+
+       bs, err := xml.Marshal(wxml)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["website"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// SetBucketWebsiteDetail sets the bucket's static website's detail
+//
+// OSS supports static web site hosting for the bucket data. When the bucket is enabled with that, you can access the file in the bucket like the way to access a static website.
+// For more information, please check out: https://help.aliyun.com/document_detail/oss/user_guide/static_host_website.html
+//
+// bucketName the bucket name to enable static web site.
+//
+// wxml the website's detail
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketWebsiteDetail(bucketName string, wxml WebsiteXML, options ...Option) error {
+       bs, err := xml.Marshal(wxml)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["website"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// SetBucketWebsiteXml sets the bucket's static website's rule
+//
+// OSS supports static web site hosting for the bucket data. When the bucket is enabled with that, you can access the file in the bucket like the way to access a static website.
+// For more information, please check out: https://help.aliyun.com/document_detail/oss/user_guide/static_host_website.html
+//
+// bucketName the bucket name to enable static web site.
+//
+// wxml the website's detail
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketWebsiteXml(bucketName string, webXml string, options ...Option) error {
+       buffer := new(bytes.Buffer)
+       buffer.Write([]byte(webXml))
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["website"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// DeleteBucketWebsite deletes the bucket's static web site settings.
+//
+// bucketName    the bucket name.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucketWebsite(bucketName string) error {
+       params := map[string]interface{}{}
+       params["website"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// GetBucketWebsite gets the bucket's default page (index page) and the error page.
+//
+// bucketName    the bucket name
+//
+// GetBucketWebsiteResponse    the result object upon successful request. It's only valid when error is nil.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketWebsite(bucketName string) (GetBucketWebsiteResult, error) {
+       var out GetBucketWebsiteResult
+       params := map[string]interface{}{}
+       params["website"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// SetBucketCORS sets the bucket's CORS rules
+//
+// For more information, please check out https://help.aliyun.com/document_detail/oss/user_guide/security_management/cors.html
+//
+// bucketName    the bucket name
+// corsRules    the CORS rules to set. The related sample code is in sample/bucket_cors.go.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketCORS(bucketName string, corsRules []CORSRule) error {
+       corsxml := CORSXML{}
+       for _, v := range corsRules {
+               cr := CORSRule{}
+               cr.AllowedMethod = v.AllowedMethod
+               cr.AllowedOrigin = v.AllowedOrigin
+               cr.AllowedHeader = v.AllowedHeader
+               cr.ExposeHeader = v.ExposeHeader
+               cr.MaxAgeSeconds = v.MaxAgeSeconds
+               corsxml.CORSRules = append(corsxml.CORSRules, cr)
+       }
+
+       bs, err := xml.Marshal(corsxml)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["cors"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// DeleteBucketCORS deletes the bucket's static website settings.
+//
+// bucketName    the bucket name.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucketCORS(bucketName string) error {
+       params := map[string]interface{}{}
+       params["cors"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// GetBucketCORS gets the bucket's CORS settings.
+//
+// bucketName    the bucket name.
+// GetBucketCORSResult    the result object upon successful request. It's only valid when error is nil.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketCORS(bucketName string) (GetBucketCORSResult, error) {
+       var out GetBucketCORSResult
+       params := map[string]interface{}{}
+       params["cors"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// GetBucketInfo gets the bucket information.
+//
+// bucketName    the bucket name.
+// GetBucketInfoResult    the result object upon successful request. It's only valid when error is nil.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketInfo(bucketName string, options ...Option) (GetBucketInfoResult, error) {
+       var out GetBucketInfoResult
+       params := map[string]interface{}{}
+       params["bucketInfo"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+
+       // convert None to ""
+       if err == nil {
+               if out.BucketInfo.SseRule.KMSMasterKeyID == "None" {
+                       out.BucketInfo.SseRule.KMSMasterKeyID = ""
+               }
+
+               if out.BucketInfo.SseRule.SSEAlgorithm == "None" {
+                       out.BucketInfo.SseRule.SSEAlgorithm = ""
+               }
+
+               if out.BucketInfo.SseRule.KMSDataEncryption == "None" {
+                       out.BucketInfo.SseRule.KMSDataEncryption = ""
+               }
+       }
+       return out, err
+}
+
+// SetBucketVersioning set bucket versioning:Enabled、Suspended
+// bucketName    the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+func (client Client) SetBucketVersioning(bucketName string, versioningConfig VersioningConfig, options ...Option) error {
+       var err error
+       var bs []byte
+       bs, err = xml.Marshal(versioningConfig)
+
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["versioning"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketVersioning get bucket versioning status:Enabled、Suspended
+// bucketName    the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+func (client Client) GetBucketVersioning(bucketName string, options ...Option) (GetBucketVersioningResult, error) {
+       var out GetBucketVersioningResult
+       params := map[string]interface{}{}
+       params["versioning"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// SetBucketEncryption set bucket encryption config
+// bucketName    the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+func (client Client) SetBucketEncryption(bucketName string, encryptionRule ServerEncryptionRule, options ...Option) error {
+       var err error
+       var bs []byte
+       bs, err = xml.Marshal(encryptionRule)
+
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["encryption"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketEncryption get bucket encryption
+// bucketName    the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+func (client Client) GetBucketEncryption(bucketName string, options ...Option) (GetBucketEncryptionResult, error) {
+       var out GetBucketEncryptionResult
+       params := map[string]interface{}{}
+       params["encryption"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// DeleteBucketEncryption delete bucket encryption config
+// bucketName    the bucket name.
+// error    it's nil if no error, otherwise it's an error bucket
+func (client Client) DeleteBucketEncryption(bucketName string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["encryption"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+//
+// SetBucketTagging add tagging to bucket
+// bucketName  name of bucket
+// tagging    tagging to be added
+// error        nil if success, otherwise error
+func (client Client) SetBucketTagging(bucketName string, tagging Tagging, options ...Option) error {
+       var err error
+       var bs []byte
+       bs, err = xml.Marshal(tagging)
+
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["tagging"] = nil
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketTagging get tagging of the bucket
+// bucketName  name of bucket
+// error      nil if success, otherwise error
+func (client Client) GetBucketTagging(bucketName string, options ...Option) (GetBucketTaggingResult, error) {
+       var out GetBucketTaggingResult
+       params := map[string]interface{}{}
+       params["tagging"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// DeleteBucketTagging delete bucket tagging
+// bucketName  name of bucket
+// error      nil if success, otherwise error
+//
+func (client Client) DeleteBucketTagging(bucketName string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["tagging"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// GetBucketStat get bucket stat
+// bucketName    the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+func (client Client) GetBucketStat(bucketName string) (GetBucketStatResult, error) {
+       var out GetBucketStatResult
+       params := map[string]interface{}{}
+       params["stat"] = nil
+       resp, err := client.do("GET", bucketName, params, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// GetBucketPolicy API operation for Object Storage Service.
+//
+// Get the policy from the bucket.
+//
+// bucketName   the bucket name.
+//
+// string               return the bucket's policy, and it's only valid when error is nil.
+//
+// error                it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketPolicy(bucketName string, options ...Option) (string, error) {
+       params := map[string]interface{}{}
+       params["policy"] = nil
+
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return "", err
+       }
+       defer resp.Body.Close()
+
+       body, err := ioutil.ReadAll(resp.Body)
+
+       out := string(body)
+       return out, err
+}
+
+// SetBucketPolicy API operation for Object Storage Service.
+//
+// Set the policy from the bucket.
+//
+// bucketName the bucket name.
+//
+// policy the bucket policy.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketPolicy(bucketName string, policy string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["policy"] = nil
+
+       buffer := strings.NewReader(policy)
+
+       resp, err := client.do("PUT", bucketName, params, nil, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// DeleteBucketPolicy API operation for Object Storage Service.
+//
+// Deletes the policy from the bucket.
+//
+// bucketName the bucket name.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucketPolicy(bucketName string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["policy"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// SetBucketRequestPayment API operation for Object Storage Service.
+//
+// Set the requestPayment of bucket
+//
+// bucketName the bucket name.
+//
+// paymentConfig the payment configuration
+//
+// error it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketRequestPayment(bucketName string, paymentConfig RequestPaymentConfiguration, options ...Option) error {
+       params := map[string]interface{}{}
+       params["requestPayment"] = nil
+
+       var bs []byte
+       bs, err := xml.Marshal(paymentConfig)
+
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentType
+
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketRequestPayment API operation for Object Storage Service.
+//
+// Get bucket requestPayment
+//
+// bucketName the bucket name.
+//
+// RequestPaymentConfiguration the payment configuration
+//
+// error it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketRequestPayment(bucketName string, options ...Option) (RequestPaymentConfiguration, error) {
+       var out RequestPaymentConfiguration
+       params := map[string]interface{}{}
+       params["requestPayment"] = nil
+
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// GetUserQoSInfo API operation for Object Storage Service.
+//
+// Get user qos.
+//
+// UserQoSConfiguration the User Qos and range Information.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetUserQoSInfo(options ...Option) (UserQoSConfiguration, error) {
+       var out UserQoSConfiguration
+       params := map[string]interface{}{}
+       params["qosInfo"] = nil
+
+       resp, err := client.do("GET", "", params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// SetBucketQoSInfo API operation for Object Storage Service.
+//
+// Set Bucket Qos information.
+//
+// bucketName the bucket name.
+//
+// qosConf the qos configuration.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) SetBucketQoSInfo(bucketName string, qosConf BucketQoSConfiguration, options ...Option) error {
+       params := map[string]interface{}{}
+       params["qosInfo"] = nil
+
+       var bs []byte
+       bs, err := xml.Marshal(qosConf)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentTpye := http.DetectContentType(buffer.Bytes())
+       headers := map[string]string{}
+       headers[HTTPHeaderContentType] = contentTpye
+
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketQosInfo API operation for Object Storage Service.
+//
+// Get Bucket Qos information.
+//
+// bucketName the bucket name.
+//
+// BucketQoSConfiguration the  return qos configuration.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketQosInfo(bucketName string, options ...Option) (BucketQoSConfiguration, error) {
+       var out BucketQoSConfiguration
+       params := map[string]interface{}{}
+       params["qosInfo"] = nil
+
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// DeleteBucketQosInfo API operation for Object Storage Service.
+//
+// Delete Bucket QoS information.
+//
+// bucketName the bucket name.
+//
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) DeleteBucketQosInfo(bucketName string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["qosInfo"] = nil
+
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// SetBucketInventory API operation for Object Storage Service
+//
+// Set the Bucket inventory.
+//
+// bucketName tht bucket name.
+//
+// inventoryConfig the inventory configuration.
+//
+// error    it's nil if no error, otherwise it's an error.
+//
+func (client Client) SetBucketInventory(bucketName string, inventoryConfig InventoryConfiguration, options ...Option) error {
+       params := map[string]interface{}{}
+       params["inventoryId"] = inventoryConfig.Id
+       params["inventory"] = nil
+
+       var bs []byte
+       bs, err := xml.Marshal(inventoryConfig)
+
+       if err != nil {
+               return err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       resp, err := client.do("PUT", bucketName, params, headers, buffer, options...)
+
+       if err != nil {
+               return err
+       }
+
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketInventory API operation for Object Storage Service
+//
+// Get the Bucket inventory.
+//
+// bucketName tht bucket name.
+//
+// strInventoryId the inventory id.
+//
+// InventoryConfiguration the inventory configuration.
+//
+// error    it's nil if no error, otherwise it's an error.
+//
+func (client Client) GetBucketInventory(bucketName string, strInventoryId string, options ...Option) (InventoryConfiguration, error) {
+       var out InventoryConfiguration
+       params := map[string]interface{}{}
+       params["inventory"] = nil
+       params["inventoryId"] = strInventoryId
+
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// ListBucketInventory API operation for Object Storage Service
+//
+// List the Bucket inventory.
+//
+// bucketName tht bucket name.
+//
+// continuationToken the users token.
+//
+// ListInventoryConfigurationsResult list all inventory configuration by .
+//
+// error    it's nil if no error, otherwise it's an error.
+//
+func (client Client) ListBucketInventory(bucketName, continuationToken string, options ...Option) (ListInventoryConfigurationsResult, error) {
+       var out ListInventoryConfigurationsResult
+       params := map[string]interface{}{}
+       params["inventory"] = nil
+       if continuationToken == "" {
+               params["continuation-token"] = nil
+       } else {
+               params["continuation-token"] = continuationToken
+       }
+
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// DeleteBucketInventory API operation for Object Storage Service.
+//
+// Delete Bucket inventory information.
+//
+// bucketName tht bucket name.
+//
+// strInventoryId the inventory id.
+//
+// error    it's nil if no error, otherwise it's an error.
+//
+func (client Client) DeleteBucketInventory(bucketName, strInventoryId string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["inventory"] = nil
+       params["inventoryId"] = strInventoryId
+
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// SetBucketAsyncTask API operation for set async fetch task
+//
+// bucketName tht bucket name.
+//
+// asynConf  configruation
+//
+// error  it's nil if success, otherwise it's an error.
+func (client Client) SetBucketAsyncTask(bucketName string, asynConf AsyncFetchTaskConfiguration, options ...Option) (AsyncFetchTaskResult, error) {
+       var out AsyncFetchTaskResult
+       params := map[string]interface{}{}
+       params["asyncFetch"] = nil
+
+       var bs []byte
+       bs, err := xml.Marshal(asynConf)
+
+       if err != nil {
+               return out, err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       resp, err := client.do("POST", bucketName, params, headers, buffer, options...)
+
+       if err != nil {
+               return out, err
+       }
+
+       defer resp.Body.Close()
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// GetBucketAsyncTask API operation for set async fetch task
+//
+// bucketName tht bucket name.
+//
+// taskid  returned by SetBucketAsyncTask
+//
+// error  it's nil if success, otherwise it's an error.
+func (client Client) GetBucketAsyncTask(bucketName string, taskID string, options ...Option) (AsynFetchTaskInfo, error) {
+       var out AsynFetchTaskInfo
+       params := map[string]interface{}{}
+       params["asyncFetch"] = nil
+
+       headers := make(map[string]string)
+       headers[HTTPHeaderOssTaskID] = taskID
+       resp, err := client.do("GET", bucketName, params, headers, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// InitiateBucketWorm creates bucket worm Configuration
+// bucketName the bucket name.
+// retentionDays the retention period in days
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) InitiateBucketWorm(bucketName string, retentionDays int, options ...Option) (string, error) {
+       var initiateWormConf InitiateWormConfiguration
+       initiateWormConf.RetentionPeriodInDays = retentionDays
+
+       var respHeader http.Header
+       isOptSet, _, _ := IsOptionSet(options, responseHeader)
+       if !isOptSet {
+               options = append(options, GetResponseHeader(&respHeader))
+       }
+
+       bs, err := xml.Marshal(initiateWormConf)
+       if err != nil {
+               return "", err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["worm"] = nil
+
+       resp, err := client.do("POST", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return "", err
+       }
+       defer resp.Body.Close()
+
+       respOpt, _ := FindOption(options, responseHeader, nil)
+       wormID := ""
+       err = CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+       if err == nil && respOpt != nil {
+               wormID = (respOpt.(*http.Header)).Get("x-oss-worm-id")
+       }
+       return wormID, err
+}
+
+// AbortBucketWorm delete bucket worm Configuration
+// bucketName the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) AbortBucketWorm(bucketName string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["worm"] = nil
+       resp, err := client.do("DELETE", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// CompleteBucketWorm complete bucket worm Configuration
+// bucketName the bucket name.
+// wormID the worm id
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) CompleteBucketWorm(bucketName string, wormID string, options ...Option) error {
+       params := map[string]interface{}{}
+       params["wormId"] = wormID
+       resp, err := client.do("POST", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// ExtendBucketWorm exetend bucket worm Configuration
+// bucketName the bucket name.
+// retentionDays the retention period in days
+// wormID the worm id
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) ExtendBucketWorm(bucketName string, retentionDays int, wormID string, options ...Option) error {
+       var extendWormConf ExtendWormConfiguration
+       extendWormConf.RetentionPeriodInDays = retentionDays
+
+       bs, err := xml.Marshal(extendWormConf)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       contentType := http.DetectContentType(buffer.Bytes())
+       headers := make(map[string]string)
+       headers[HTTPHeaderContentType] = contentType
+
+       params := map[string]interface{}{}
+       params["wormId"] = wormID
+       params["wormExtend"] = nil
+
+       resp, err := client.do("POST", bucketName, params, headers, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetBucketWorm get bucket worm Configuration
+// bucketName the bucket name.
+// error    it's nil if no error, otherwise it's an error object.
+//
+func (client Client) GetBucketWorm(bucketName string, options ...Option) (WormConfiguration, error) {
+       var out WormConfiguration
+       params := map[string]interface{}{}
+       params["worm"] = nil
+
+       resp, err := client.do("GET", bucketName, params, nil, nil, options...)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// LimitUploadSpeed set upload bandwidth limit speed,default is 0,unlimited
+// upSpeed KB/s, 0 is unlimited,default is 0
+// error it's nil if success, otherwise failure
+func (client Client) LimitUploadSpeed(upSpeed int) error {
+       if client.Config == nil {
+               return fmt.Errorf("client config is nil")
+       }
+       return client.Config.LimitUploadSpeed(upSpeed)
+}
+
+// UseCname sets the flag of using CName. By default it's false.
+//
+// isUseCname    true: the endpoint has the CName, false: the endpoint does not have cname. Default is false.
+//
+func UseCname(isUseCname bool) ClientOption {
+       return func(client *Client) {
+               client.Config.IsCname = isUseCname
+               client.Conn.url.Init(client.Config.Endpoint, client.Config.IsCname, client.Config.IsUseProxy)
+       }
+}
+
+// Timeout sets the HTTP timeout in seconds.
+//
+// connectTimeoutSec    HTTP timeout in seconds. Default is 10 seconds. 0 means infinite (not recommended)
+// readWriteTimeout    HTTP read or write's timeout in seconds. Default is 20 seconds. 0 means infinite.
+//
+func Timeout(connectTimeoutSec, readWriteTimeout int64) ClientOption {
+       return func(client *Client) {
+               client.Config.HTTPTimeout.ConnectTimeout =
+                       time.Second * time.Duration(connectTimeoutSec)
+               client.Config.HTTPTimeout.ReadWriteTimeout =
+                       time.Second * time.Duration(readWriteTimeout)
+               client.Config.HTTPTimeout.HeaderTimeout =
+                       time.Second * time.Duration(readWriteTimeout)
+               client.Config.HTTPTimeout.IdleConnTimeout =
+                       time.Second * time.Duration(readWriteTimeout)
+               client.Config.HTTPTimeout.LongTimeout =
+                       time.Second * time.Duration(readWriteTimeout*10)
+       }
+}
+
+// SecurityToken sets the temporary user's SecurityToken.
+//
+// token    STS token
+//
+func SecurityToken(token string) ClientOption {
+       return func(client *Client) {
+               client.Config.SecurityToken = strings.TrimSpace(token)
+       }
+}
+
+// EnableMD5 enables MD5 validation.
+//
+// isEnableMD5    true: enable MD5 validation; false: disable MD5 validation.
+//
+func EnableMD5(isEnableMD5 bool) ClientOption {
+       return func(client *Client) {
+               client.Config.IsEnableMD5 = isEnableMD5
+       }
+}
+
+// MD5ThresholdCalcInMemory sets the memory usage threshold for computing the MD5, default is 16MB.
+//
+// threshold    the memory threshold in bytes. When the uploaded content is more than 16MB, the temp file is used for computing the MD5.
+//
+func MD5ThresholdCalcInMemory(threshold int64) ClientOption {
+       return func(client *Client) {
+               client.Config.MD5Threshold = threshold
+       }
+}
+
+// EnableCRC enables the CRC checksum. Default is true.
+//
+// isEnableCRC    true: enable CRC checksum; false: disable the CRC checksum.
+//
+func EnableCRC(isEnableCRC bool) ClientOption {
+       return func(client *Client) {
+               client.Config.IsEnableCRC = isEnableCRC
+       }
+}
+
+// UserAgent specifies UserAgent. The default is aliyun-sdk-go/1.2.0 (windows/-/amd64;go1.5.2).
+//
+// userAgent    the user agent string.
+//
+func UserAgent(userAgent string) ClientOption {
+       return func(client *Client) {
+               client.Config.UserAgent = userAgent
+               client.Config.UserSetUa = true
+       }
+}
+
+// Proxy sets the proxy (optional). The default is not using proxy.
+//
+// proxyHost    the proxy host in the format "host:port". For example, proxy.com:80 .
+//
+func Proxy(proxyHost string) ClientOption {
+       return func(client *Client) {
+               client.Config.IsUseProxy = true
+               client.Config.ProxyHost = proxyHost
+               client.Conn.url.Init(client.Config.Endpoint, client.Config.IsCname, client.Config.IsUseProxy)
+       }
+}
+
+// AuthProxy sets the proxy information with user name and password.
+//
+// proxyHost    the proxy host in the format "host:port". For example, proxy.com:80 .
+// proxyUser    the proxy user name.
+// proxyPassword    the proxy password.
+//
+func AuthProxy(proxyHost, proxyUser, proxyPassword string) ClientOption {
+       return func(client *Client) {
+               client.Config.IsUseProxy = true
+               client.Config.ProxyHost = proxyHost
+               client.Config.IsAuthProxy = true
+               client.Config.ProxyUser = proxyUser
+               client.Config.ProxyPassword = proxyPassword
+               client.Conn.url.Init(client.Config.Endpoint, client.Config.IsCname, client.Config.IsUseProxy)
+       }
+}
+
+//
+// HTTPClient sets the http.Client in use to the one passed in
+//
+func HTTPClient(HTTPClient *http.Client) ClientOption {
+       return func(client *Client) {
+               client.HTTPClient = HTTPClient
+       }
+}
+
+//
+// SetLogLevel sets the oss sdk log level
+//
+func SetLogLevel(LogLevel int) ClientOption {
+       return func(client *Client) {
+               client.Config.LogLevel = LogLevel
+       }
+}
+
+//
+// SetLogger sets the oss sdk logger
+//
+func SetLogger(Logger *log.Logger) ClientOption {
+       return func(client *Client) {
+               client.Config.Logger = Logger
+       }
+}
+
+// SetCredentialsProvider sets funciton for get the user's ak
+func SetCredentialsProvider(provider CredentialsProvider) ClientOption {
+       return func(client *Client) {
+               client.Config.CredentialsProvider = provider
+       }
+}
+
+// SetLocalAddr sets funciton for local addr
+func SetLocalAddr(localAddr net.Addr) ClientOption {
+       return func(client *Client) {
+               client.Config.LocalAddr = localAddr
+       }
+}
+
+// AuthVersion  sets auth version: v1 or v2 signature which oss_server needed
+func AuthVersion(authVersion AuthVersionType) ClientOption {
+       return func(client *Client) {
+               client.Config.AuthVersion = authVersion
+       }
+}
+
+// AdditionalHeaders sets special http headers needed to be signed
+func AdditionalHeaders(headers []string) ClientOption {
+       return func(client *Client) {
+               client.Config.AdditionalHeaders = headers
+       }
+}
+
+// only effective from go1.7 onward,RedirectEnabled set http redirect enabled or not
+func RedirectEnabled(enabled bool) ClientOption {
+       return func(client *Client) {
+               client.Config.RedirectEnabled = enabled
+       }
+}
+
+// Private
+func (client Client) do(method, bucketName string, params map[string]interface{},
+       headers map[string]string, data io.Reader, options ...Option) (*Response, error) {
+       err := CheckBucketName(bucketName)
+       if len(bucketName) > 0 && err != nil {
+               return nil, err
+       }
+
+       // option headers
+       addHeaders := make(map[string]string)
+       err = handleOptions(addHeaders, options)
+       if err != nil {
+               return nil, err
+       }
+
+       // merge header
+       if headers == nil {
+               headers = make(map[string]string)
+       }
+
+       for k, v := range addHeaders {
+               if _, ok := headers[k]; !ok {
+                       headers[k] = v
+               }
+       }
+
+       resp, err := client.Conn.Do(method, bucketName, "", params, headers, data, 0, nil)
+
+       // get response header
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               pRespHeader := respHeader.(*http.Header)
+               *pRespHeader = resp.Headers
+       }
+
+       return resp, err
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/client_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/client_test.go
new file mode 100644 (file)
index 0000000..c2f4f7b
--- /dev/null
@@ -0,0 +1,3788 @@
+// client test
+// use gocheck, install gocheck to execute "go get gopkg.in/check.v1",
+// see https://labix.org/gocheck
+
+package oss
+
+import (
+       "encoding/json"
+       "encoding/xml"
+       "fmt"
+       "io/ioutil"
+       "log"
+       "math/rand"
+       "net"
+       "net/http"
+       "os"
+       "reflect"
+       "runtime"
+       "strconv"
+       "strings"
+       "testing"
+       "time"
+
+       . "gopkg.in/check.v1"
+)
+
+// Test hooks up gocheck into the "go test" runner.
+func Test(t *testing.T) {
+       TestingT(t)
+}
+
+type OssClientSuite struct{}
+
+var _ = Suite(&OssClientSuite{})
+
+var (
+       // Endpoint/ID/Key
+       endpoint  = os.Getenv("OSS_TEST_ENDPOINT")
+       accessID  = os.Getenv("OSS_TEST_ACCESS_KEY_ID")
+       accessKey = os.Getenv("OSS_TEST_ACCESS_KEY_SECRET")
+       accountID = os.Getenv("OSS_TEST_ACCOUNT_ID")
+
+       // Proxy
+       proxyHost   = os.Getenv("OSS_TEST_PROXY_HOST")
+       proxyUser   = os.Getenv("OSS_TEST_PROXY_USER")
+       proxyPasswd = os.Getenv("OSS_TEST_PROXY_PASSWORD")
+
+       // STS
+       stsaccessID  = os.Getenv("OSS_TEST_STS_ID")
+       stsaccessKey = os.Getenv("OSS_TEST_STS_KEY")
+       stsARN       = os.Getenv("OSS_TEST_STS_ARN")
+
+       // Credential
+       credentialAccessID  = os.Getenv("OSS_CREDENTIAL_KEY_ID")
+       credentialAccessKey = os.Getenv("OSS_CREDENTIAL_KEY_SECRET")
+       credentialUID       = os.Getenv("OSS_CREDENTIAL_UID")
+)
+
+var (
+       // prefix of bucket name for bucket ops test
+       bucketNamePrefix = "go-sdk-test-bucket-"
+       // bucket name for object ops test
+       bucketName        = bucketNamePrefix + RandLowStr(6)
+       archiveBucketName = bucketNamePrefix + "arch-" + RandLowStr(6)
+       // object name for object ops test
+       objectNamePrefix = "go-sdk-test-object-"
+       // sts region is one and only hangzhou
+       stsRegion = "cn-hangzhou"
+       // Credentials
+       credentialBucketName = bucketNamePrefix + RandLowStr(6)
+)
+
+var (
+       logPath            = "go_sdk_test_" + time.Now().Format("20060102_150405") + ".log"
+       testLogFile, _     = os.OpenFile(logPath, os.O_RDWR|os.O_CREATE, 0664)
+       testLogger         = log.New(testLogFile, "", log.Ldate|log.Ltime|log.Lshortfile)
+       letters            = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
+       timeoutInOperation = 3 * time.Second
+)
+
+func RandStr(n int) string {
+       b := make([]rune, n)
+       randMarker := rand.New(rand.NewSource(time.Now().UnixNano()))
+       for i := range b {
+               b[i] = letters[randMarker.Intn(len(letters))]
+       }
+       return string(b)
+}
+
+func CreateFile(fileName, content string, c *C) {
+       fout, err := os.Create(fileName)
+       defer fout.Close()
+       c.Assert(err, IsNil)
+       _, err = fout.WriteString(content)
+       c.Assert(err, IsNil)
+}
+
+func RandLowStr(n int) string {
+       return strings.ToLower(RandStr(n))
+}
+
+func ForceDeleteBucket(client *Client, bucketName string, c *C) {
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // Delete Object
+       marker := Marker("")
+       for {
+               lor, err := bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete Object Versions and DeleteMarks
+       keyMarker := KeyMarker("")
+       versionIdMarker := VersionIdMarker("")
+       options := []Option{keyMarker, versionIdMarker}
+       for {
+               lor, err := bucket.ListObjectVersions(options...)
+               if err != nil {
+                       break
+               }
+
+               for _, object := range lor.ObjectDeleteMarkers {
+                       err = bucket.DeleteObject(object.Key, VersionId(object.VersionId))
+                       c.Assert(err, IsNil)
+               }
+
+               for _, object := range lor.ObjectVersions {
+                       err = bucket.DeleteObject(object.Key, VersionId(object.VersionId))
+                       c.Assert(err, IsNil)
+               }
+
+               keyMarker = KeyMarker(lor.NextKeyMarker)
+               versionIdMarker := VersionIdMarker(lor.NextVersionIdMarker)
+               options = []Option{keyMarker, versionIdMarker}
+
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete Part
+       keyMarker = KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: bucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // delete live channel
+       strMarker := ""
+       for {
+               result, err := bucket.ListLiveChannel(Marker(strMarker))
+               c.Assert(err, IsNil)
+
+               for _, channel := range result.LiveChannel {
+                       err := bucket.DeleteLiveChannel(channel.Name)
+                       c.Assert(err, IsNil)
+               }
+
+               if result.IsTruncated {
+                       strMarker = result.NextMarker
+               } else {
+                       break
+               }
+       }
+
+       // Delete Bucket
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssClientSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       lbr, err := client.ListBuckets(Prefix(bucketNamePrefix), MaxKeys(1000))
+       c.Assert(err, IsNil)
+
+       for _, bucket := range lbr.Buckets {
+               ForceDeleteBucket(client, bucket.Name, c)
+       }
+
+       testLogger.Println("test client started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssClientSuite) TearDownSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       lbr, err := client.ListBuckets(Prefix(bucketNamePrefix), MaxKeys(1000))
+       c.Assert(err, IsNil)
+
+       for _, bucket := range lbr.Buckets {
+               s.deleteBucket(client, bucket.Name, c)
+       }
+
+       testLogger.Println("test client completed")
+}
+
+func (s *OssClientSuite) deleteBucket(client *Client, bucketName string, c *C) {
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssClientSuite) SetUpTest(c *C) {
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssClientSuite) TearDownTest(c *C) {
+}
+
+// TestCreateBucket
+func (s *OssClientSuite) TestCreateBucket(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Create
+       client.DeleteBucket(bucketNameTest)
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       //sleep 3 seconds after create bucket
+       time.Sleep(timeoutInOperation)
+
+       // verify bucket is exist
+       found, err := client.IsBucketExist(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(found, Equals, true)
+
+       res, err := client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // CreateBucket creates with ACLPublicRead
+       err = client.CreateBucket(bucketNameTest, ACL(ACLPublicRead))
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPublicRead))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // ACLPublicReadWrite
+       err = client.CreateBucket(bucketNameTest, ACL(ACLPublicReadWrite))
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPublicReadWrite))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // ACLPrivate
+       err = client.CreateBucket(bucketNameTest, ACL(ACLPrivate))
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       // Delete
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Create bucket with configuration and test GetBucketInfo
+       for _, storage := range []StorageClassType{StorageStandard, StorageIA, StorageArchive, StorageColdArchive} {
+               bucketNameTest := bucketNamePrefix + RandLowStr(6)
+               err = client.CreateBucket(bucketNameTest, StorageClass(storage), ACL(ACLPublicRead))
+               c.Assert(err, IsNil)
+               time.Sleep(timeoutInOperation)
+
+               res, err := client.GetBucketInfo(bucketNameTest)
+               c.Assert(err, IsNil)
+               c.Assert(res.BucketInfo.Name, Equals, bucketNameTest)
+               c.Assert(res.BucketInfo.StorageClass, Equals, string(storage))
+               c.Assert(res.BucketInfo.ACL, Equals, string(ACLPublicRead))
+
+               // Delete
+               err = client.DeleteBucket(bucketNameTest)
+               c.Assert(err, IsNil)
+       }
+
+       // Error put bucket with configuration
+       err = client.CreateBucket("ERRORBUCKETNAME", StorageClass(StorageArchive))
+       c.Assert(err, NotNil)
+
+       // Create bucket with configuration and test ListBuckets
+       for _, storage := range []StorageClassType{StorageStandard, StorageIA, StorageArchive, StorageColdArchive} {
+               bucketNameTest := bucketNamePrefix + RandLowStr(6)
+               err = client.CreateBucket(bucketNameTest, StorageClass(storage))
+               c.Assert(err, IsNil)
+               time.Sleep(timeoutInOperation)
+
+               res, err := client.GetBucketInfo(bucketNameTest)
+               c.Assert(err, IsNil)
+               c.Assert(res.BucketInfo.Name, Equals, bucketNameTest)
+               c.Assert(res.BucketInfo.StorageClass, Equals, string(storage))
+
+               // Delete
+               err = client.DeleteBucket(bucketNameTest)
+               c.Assert(err, IsNil)
+       }
+}
+
+func (s *OssClientSuite) TestCreateBucketRedundancyType(c *C) {
+       bucketNameTest := bucketNamePrefix + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // CreateBucket creates without property
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       client.DeleteBucket(bucketNameTest)
+       time.Sleep(timeoutInOperation)
+
+       // CreateBucket creates with RedundancyZRS
+       err = client.CreateBucket(bucketNameTest, RedundancyType(RedundancyZRS))
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketInfo(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.BucketInfo.RedundancyType, Equals, string(RedundancyZRS))
+       client.DeleteBucket(bucketNameTest)
+       time.Sleep(timeoutInOperation)
+
+       // CreateBucket creates with RedundancyLRS
+       err = client.CreateBucket(bucketNameTest, RedundancyType(RedundancyLRS))
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketInfo(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.BucketInfo.RedundancyType, Equals, string(RedundancyLRS))
+       c.Assert(res.BucketInfo.StorageClass, Equals, string(StorageStandard))
+       client.DeleteBucket(bucketNameTest)
+       time.Sleep(timeoutInOperation)
+
+       // CreateBucket creates with ACLPublicRead RedundancyZRS
+       err = client.CreateBucket(bucketNameTest, ACL(ACLPublicRead), RedundancyType(RedundancyZRS))
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketInfo(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.BucketInfo.RedundancyType, Equals, string(RedundancyZRS))
+       c.Assert(res.BucketInfo.ACL, Equals, string(ACLPublicRead))
+       client.DeleteBucket(bucketNameTest)
+}
+
+// TestCreateBucketNegative
+func (s *OssClientSuite) TestCreateBucketNegative(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Bucket name invalid
+       err = client.CreateBucket("xx")
+       c.Assert(err, NotNil)
+
+       err = client.CreateBucket("XXXX")
+       c.Assert(err, NotNil)
+       testLogger.Println(err)
+
+       err = client.CreateBucket("_bucket")
+       c.Assert(err, NotNil)
+       testLogger.Println(err)
+
+       // ACL invalid
+       err = client.CreateBucket(bucketNamePrefix+RandLowStr(6), ACL("InvaldAcl"))
+       c.Assert(err, NotNil)
+       testLogger.Println(err)
+}
+
+// TestDeleteBucket
+func (s *OssClientSuite) TestDeleteBucket(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Create
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Check
+       found, err := client.IsBucketExist(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(found, Equals, true)
+
+       // Delete
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Check
+       found, err = client.IsBucketExist(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(found, Equals, false)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+}
+
+// TestDeleteBucketNegative
+func (s *OssClientSuite) TestDeleteBucketNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Bucket name invalid
+       err = client.DeleteBucket("xx")
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket("XXXX")
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket("_bucket")
+       c.Assert(err, NotNil)
+
+       // Delete no exist bucket
+       err = client.DeleteBucket("notexist")
+       c.Assert(err, NotNil)
+
+       // No permission to delete, this ak/sk for js sdk
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       accessID := "<accessKeyId>"
+       accessKey := "<accessKeySecret>"
+       clientOtherUser, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = clientOtherUser.DeleteBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestListBucket
+func (s *OssClientSuite) TestListBucket(c *C) {
+       var prefix = bucketNamePrefix + RandLowStr(6)
+       var bucketNameLbOne = prefix + "tlb1"
+       var bucketNameLbTwo = prefix + "tlb2"
+       var bucketNameLbThree = prefix + "tlb3"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // CreateBucket
+       err = client.CreateBucket(bucketNameLbOne)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameLbTwo)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameLbThree)
+       c.Assert(err, IsNil)
+
+       // ListBuckets, specified prefix
+       var respHeader http.Header
+       lbr, err := client.ListBuckets(Prefix(prefix), MaxKeys(2), GetResponseHeader(&respHeader))
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+       c.Assert(err, IsNil)
+       c.Assert(len(lbr.Buckets), Equals, 2)
+
+       // ListBuckets, specified max keys
+       lbr, err = client.ListBuckets(MaxKeys(2))
+       c.Assert(err, IsNil)
+       c.Assert(len(lbr.Buckets), Equals, 2)
+
+       // ListBuckets, specified max keys
+       lbr, err = client.ListBuckets(Marker(bucketNameLbOne), MaxKeys(1))
+       c.Assert(err, IsNil)
+       c.Assert(len(lbr.Buckets), Equals, 1)
+
+       // ListBuckets, specified max keys
+       lbr, err = client.ListBuckets(Marker(bucketNameLbOne))
+       c.Assert(err, IsNil)
+       c.Assert(len(lbr.Buckets) >= 2, Equals, true)
+
+       // DeleteBucket
+       err = client.DeleteBucket(bucketNameLbOne)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameLbTwo)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameLbThree)
+       c.Assert(err, IsNil)
+}
+
+// TestListBucket
+func (s *OssClientSuite) TestIsBucketExist(c *C) {
+       var prefix = bucketNamePrefix + RandLowStr(6)
+       var bucketNameLbOne = prefix + "tibe1"
+       var bucketNameLbTwo = prefix + "tibe11"
+       var bucketNameLbThree = prefix + "tibe111"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // CreateBucket
+       err = client.CreateBucket(bucketNameLbOne)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameLbTwo)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameLbThree)
+       c.Assert(err, IsNil)
+
+       // Exist
+       exist, err := client.IsBucketExist(bucketNameLbTwo)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       exist, err = client.IsBucketExist(bucketNameLbThree)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       exist, err = client.IsBucketExist(bucketNameLbOne)
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, true)
+
+       // Not exist
+       exist, err = client.IsBucketExist(prefix + "tibe")
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       exist, err = client.IsBucketExist(prefix + "tibe1111")
+       c.Assert(err, IsNil)
+       c.Assert(exist, Equals, false)
+
+       // Negative
+       exist, err = client.IsBucketExist("BucketNameInvalid")
+       c.Assert(err, NotNil)
+
+       // DeleteBucket
+       err = client.DeleteBucket(bucketNameLbOne)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameLbTwo)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameLbThree)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketAcl
+func (s *OssClientSuite) TestSetBucketAcl(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Private
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       // Set ACL_PUBLIC_R
+       err = client.SetBucketACL(bucketNameTest, ACLPublicRead)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPublicRead))
+
+       // Set ACL_PUBLIC_RW
+       err = client.SetBucketACL(bucketNameTest, ACLPublicReadWrite)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPublicReadWrite))
+
+       // Set ACL_PUBLIC_RW
+       err = client.SetBucketACL(bucketNameTest, ACLPrivate)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketAclNegative
+func (s *OssClientSuite) TestBucketAclNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.SetBucketACL(bucketNameTest, "InvalidACL")
+       c.Assert(err, NotNil)
+       testLogger.Println(err)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestGetBucketAcl
+func (s *OssClientSuite) TestGetBucketAcl(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Private
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err := client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // PublicRead
+       err = client.CreateBucket(bucketNameTest, ACL(ACLPublicRead))
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPublicRead))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // PublicReadWrite
+       err = client.CreateBucket(bucketNameTest, ACL(ACLPublicReadWrite))
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPublicReadWrite))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestGetBucketAcl
+func (s *OssClientSuite) TestGetBucketLocation(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Private
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       loc, err := client.GetBucketLocation(bucketNameTest)
+       c.Assert(strings.HasPrefix(loc, "oss-"), Equals, true)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestGetBucketLocationNegative
+func (s *OssClientSuite) TestGetBucketLocationNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Not exist
+       _, err = client.GetBucketLocation(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Not exist
+       _, err = client.GetBucketLocation("InvalidBucketName_")
+       c.Assert(err, NotNil)
+}
+
+// TestSetBucketLifecycle
+func (s *OssClientSuite) TestSetBucketLifecycle(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var rule1 = BuildLifecycleRuleByDate("rule1", "one", true, 2015, 11, 11)
+       var rule2 = BuildLifecycleRuleByDays("rule2", "two", true, 3)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set single rule
+       var rules = []LifecycleRule{rule1}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+       // Double set rule
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 1)
+       c.Assert(res.Rules[0].ID, Equals, "rule1")
+
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set two rules
+       rules = []LifecycleRule{rule1, rule2}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       // Eliminate effect of cache
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 2)
+       c.Assert(res.Rules[0].ID, Equals, "rule1")
+       c.Assert(res.Rules[1].ID, Equals, "rule2")
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketLifecycleNew
+func (s *OssClientSuite) TestSetBucketLifecycleNew(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       //invalid status of lifecyclerule
+       expiration := LifecycleExpiration{
+               Days: 30,
+       }
+       rule := LifecycleRule{
+               ID:         "rule1",
+               Prefix:     "one",
+               Status:     "Invalid",
+               Expiration: &expiration,
+       }
+       rules := []LifecycleRule{rule}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, NotNil)
+
+       //invalid value of CreatedBeforeDate
+       expiration = LifecycleExpiration{
+               CreatedBeforeDate: RandStr(10),
+       }
+       rule = LifecycleRule{
+               ID:         "rule1",
+               Prefix:     "one",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+       rules = []LifecycleRule{rule}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, NotNil)
+
+       //invalid value of Days
+       abortMPU := LifecycleAbortMultipartUpload{
+               Days: -30,
+       }
+       rule = LifecycleRule{
+               ID:                   "rule1",
+               Prefix:               "one",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = []LifecycleRule{rule}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, NotNil)
+
+       expiration = LifecycleExpiration{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule1 := LifecycleRule{
+               ID:         "rule1",
+               Prefix:     "one",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+
+       abortMPU = LifecycleAbortMultipartUpload{
+               Days: 30,
+       }
+       rule2 := LifecycleRule{
+               ID:                   "rule2",
+               Prefix:               "two",
+               Status:               "Enabled",
+               Expiration:           &expiration,
+               AbortMultipartUpload: &abortMPU,
+       }
+
+       transition1 := LifecycleTransition{
+               Days:         3,
+               StorageClass: StorageIA,
+       }
+       transition2 := LifecycleTransition{
+               Days:         30,
+               StorageClass: StorageArchive,
+       }
+       transitions := []LifecycleTransition{transition1, transition2}
+       rule3 := LifecycleRule{
+               ID:                   "rule3",
+               Prefix:               "three",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+               Transitions:          transitions,
+       }
+
+       // Set single rule
+       rules = []LifecycleRule{rule1}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 1)
+       c.Assert(res.Rules[0].ID, Equals, "rule1")
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set two rule: rule1 and rule2
+       rules = []LifecycleRule{rule1, rule2}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 2)
+       c.Assert(res.Rules[0].ID, Equals, "rule1")
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+       c.Assert(res.Rules[1].ID, Equals, "rule2")
+       c.Assert(res.Rules[1].Expiration, NotNil)
+       c.Assert(res.Rules[1].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+       c.Assert(res.Rules[1].AbortMultipartUpload, NotNil)
+       c.Assert(res.Rules[1].AbortMultipartUpload.Days, Equals, 30)
+
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set two rule: rule2 and rule3
+       rules = []LifecycleRule{rule2, rule3}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 2)
+       c.Assert(res.Rules[0].ID, Equals, "rule2")
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+       c.Assert(res.Rules[0].AbortMultipartUpload, NotNil)
+       c.Assert(res.Rules[0].AbortMultipartUpload.Days, Equals, 30)
+       c.Assert(res.Rules[1].ID, Equals, "rule3")
+       c.Assert(res.Rules[1].AbortMultipartUpload, NotNil)
+       c.Assert(res.Rules[1].AbortMultipartUpload.Days, Equals, 30)
+       c.Assert(len(res.Rules[1].Transitions), Equals, 2)
+       c.Assert(res.Rules[1].Transitions[0].StorageClass, Equals, StorageIA)
+       c.Assert(res.Rules[1].Transitions[0].Days, Equals, 3)
+       c.Assert(res.Rules[1].Transitions[1].StorageClass, Equals, StorageArchive)
+       c.Assert(res.Rules[1].Transitions[1].Days, Equals, 30)
+
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set two rule: rule1 and rule3
+       rules = []LifecycleRule{rule1, rule3}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 2)
+       c.Assert(res.Rules[0].ID, Equals, "rule1")
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+       c.Assert(res.Rules[1].ID, Equals, "rule3")
+       c.Assert(res.Rules[1].AbortMultipartUpload, NotNil)
+       c.Assert(res.Rules[1].AbortMultipartUpload.Days, Equals, 30)
+       c.Assert(len(res.Rules[1].Transitions), Equals, 2)
+       c.Assert(res.Rules[1].Transitions[0].StorageClass, Equals, StorageIA)
+       c.Assert(res.Rules[1].Transitions[0].Days, Equals, 3)
+       c.Assert(res.Rules[1].Transitions[1].StorageClass, Equals, StorageArchive)
+       c.Assert(res.Rules[1].Transitions[1].Days, Equals, 30)
+
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set three rules
+       rules = []LifecycleRule{rule1, rule2, rule3}
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 3)
+       c.Assert(res.Rules[0].ID, Equals, "rule1")
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+       c.Assert(res.Rules[1].ID, Equals, "rule2")
+       c.Assert(res.Rules[1].Expiration, NotNil)
+       c.Assert(res.Rules[1].Expiration.CreatedBeforeDate, Equals, "2015-11-11T00:00:00.000Z")
+       c.Assert(res.Rules[1].AbortMultipartUpload, NotNil)
+       c.Assert(res.Rules[1].AbortMultipartUpload.Days, Equals, 30)
+       c.Assert(res.Rules[2].ID, Equals, "rule3")
+       c.Assert(res.Rules[2].AbortMultipartUpload, NotNil)
+       c.Assert(res.Rules[2].AbortMultipartUpload.Days, Equals, 30)
+       c.Assert(len(res.Rules[2].Transitions), Equals, 2)
+       c.Assert(res.Rules[2].Transitions[0].StorageClass, Equals, StorageIA)
+       c.Assert(res.Rules[2].Transitions[0].Days, Equals, 3)
+       c.Assert(res.Rules[2].Transitions[1].StorageClass, Equals, StorageArchive)
+       c.Assert(res.Rules[2].Transitions[1].Days, Equals, 30)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketLifecycleAboutVersionObject
+func (s *OssClientSuite) TestSetBucketLifecycleAboutVersionObject(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       deleteMark := true
+       expiration := LifecycleExpiration{
+               ExpiredObjectDeleteMarker: &deleteMark,
+       }
+
+       versionExpiration := LifecycleVersionExpiration{
+               NoncurrentDays: 20,
+       }
+
+       versionTransition := LifecycleVersionTransition{
+               NoncurrentDays: 10,
+               StorageClass:   "IA",
+       }
+
+       rule := LifecycleRule{
+               Status:               "Enabled",
+               Expiration:           &expiration,
+               NonVersionExpiration: &versionExpiration,
+               NonVersionTransition: &versionTransition,
+       }
+       rules := []LifecycleRule{rule}
+
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.Days, Equals, 0)
+       c.Assert(res.Rules[0].Expiration.Date, Equals, "")
+       c.Assert(*(res.Rules[0].Expiration.ExpiredObjectDeleteMarker), Equals, true)
+
+       c.Assert(res.Rules[0].NonVersionExpiration.NoncurrentDays, Equals, 20)
+       c.Assert(res.Rules[0].NonVersionTransition.NoncurrentDays, Equals, 10)
+       c.Assert(res.Rules[0].NonVersionTransition.StorageClass, Equals, StorageClassType("IA"))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketLifecycleAboutVersionObject
+func (s *OssClientSuite) TestSetBucketLifecycleAboutVersionObjectError(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       deleteMark := true
+       expiration := LifecycleExpiration{
+               ExpiredObjectDeleteMarker: &deleteMark,
+       }
+
+       versionExpiration := LifecycleVersionExpiration{
+               NoncurrentDays: 20,
+       }
+
+       versionTransition := LifecycleVersionTransition{
+               NoncurrentDays: 10,
+               StorageClass:   "IA",
+       }
+
+       // NonVersionTransition and NonVersionTransitions can not both have value
+       rule := LifecycleRule{
+               Status:                "Enabled",
+               Expiration:            &expiration,
+               NonVersionExpiration:  &versionExpiration,
+               NonVersionTransition:  &versionTransition,
+               NonVersionTransitions: []LifecycleVersionTransition{versionTransition},
+       }
+       rules := []LifecycleRule{rule}
+
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketLifecycleAboutVersionObject
+func (s *OssClientSuite) TestSetBucketLifecycleAboutVersionObjectNew(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       deleteMark := true
+       expiration := LifecycleExpiration{
+               ExpiredObjectDeleteMarker: &deleteMark,
+       }
+
+       versionExpiration := LifecycleVersionExpiration{
+               NoncurrentDays: 40,
+       }
+
+       versionTransition1 := LifecycleVersionTransition{
+               NoncurrentDays: 25,
+               StorageClass:   "IA",
+       }
+
+       versionTransition2 := LifecycleVersionTransition{
+               NoncurrentDays: 30,
+               StorageClass:   "ColdArchive",
+       }
+
+       rule := LifecycleRule{
+               Status:                "Enabled",
+               Expiration:            &expiration,
+               NonVersionExpiration:  &versionExpiration,
+               NonVersionTransitions: []LifecycleVersionTransition{versionTransition1, versionTransition2},
+       }
+       rules := []LifecycleRule{rule}
+
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       c.Assert(res.Rules[0].Expiration, NotNil)
+       c.Assert(res.Rules[0].Expiration.Days, Equals, 0)
+       c.Assert(res.Rules[0].Expiration.Date, Equals, "")
+       c.Assert(*(res.Rules[0].Expiration.ExpiredObjectDeleteMarker), Equals, true)
+
+       c.Assert(res.Rules[0].NonVersionExpiration.NoncurrentDays, Equals, 40)
+       c.Assert(res.Rules[0].NonVersionTransition.NoncurrentDays, Equals, 25)
+       c.Assert(res.Rules[0].NonVersionTransition.StorageClass, Equals, StorageClassType("IA"))
+       c.Assert(len(res.Rules[0].NonVersionTransitions), Equals, 2)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestDeleteBucketLifecycle
+func (s *OssClientSuite) TestDeleteBucketLifecycle(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       var rule1 = BuildLifecycleRuleByDate("rule1", "one", true, 2015, 11, 11)
+       var rule2 = BuildLifecycleRuleByDays("rule2", "two", true, 3)
+       var rules = []LifecycleRule{rule1, rule2}
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       //time.Sleep(timeoutInOperation)
+
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, IsNil)
+       //time.Sleep(timeoutInOperation)
+
+       res, err := client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(res.Rules), Equals, 2)
+
+       // Delete
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       //time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Eliminate effect of cache
+       //time.Sleep(timeoutInOperation)
+
+       // Delete when not set
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketLifecycleNegative
+func (s *OssClientSuite) TestBucketLifecycleNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var rules = []LifecycleRule{}
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set with no rule
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Not exist
+       err = client.SetBucketLifecycle(bucketNameTest, rules)
+       c.Assert(err, NotNil)
+
+       // Not exist
+       _, err = client.GetBucketLifecycle(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Not exist
+       err = client.DeleteBucketLifecycle(bucketNameTest)
+       c.Assert(err, NotNil)
+}
+
+// TestSetBucketReferer
+func (s *OssClientSuite) TestSetBucketReferer(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var referers = []string{"http://www.aliyun.com", "https://www.aliyun.com"}
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err := client.GetBucketReferer(bucketNameTest)
+       c.Assert(res.AllowEmptyReferer, Equals, true)
+       c.Assert(len(res.RefererList), Equals, 0)
+
+       // Set referers
+       err = client.SetBucketReferer(bucketNameTest, referers, false)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketReferer(bucketNameTest)
+       c.Assert(res.AllowEmptyReferer, Equals, false)
+       c.Assert(len(res.RefererList), Equals, 2)
+       c.Assert(res.RefererList[0], Equals, "http://www.aliyun.com")
+       c.Assert(res.RefererList[1], Equals, "https://www.aliyun.com")
+
+       // Reset referer, referers empty
+       referers = []string{""}
+       err = client.SetBucketReferer(bucketNameTest, referers, true)
+       c.Assert(err, IsNil)
+
+       referers = []string{}
+       err = client.SetBucketReferer(bucketNameTest, referers, true)
+       c.Assert(err, IsNil)
+
+       res, err = client.GetBucketReferer(bucketNameTest)
+       c.Assert(res.AllowEmptyReferer, Equals, true)
+       c.Assert(len(res.RefererList), Equals, 0)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketRefererNegative
+func (s *OssClientSuite) TestBucketRefererNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var referers = []string{""}
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Not exist
+       _, err = client.GetBucketReferer(bucketNameTest)
+       c.Assert(err, NotNil)
+       testLogger.Println(err)
+
+       // Not exist
+       err = client.SetBucketReferer(bucketNameTest, referers, true)
+       c.Assert(err, NotNil)
+       testLogger.Println(err)
+}
+
+// TestSetBucketLogging
+func (s *OssClientSuite) TestSetBucketLogging(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var bucketNameTarget = bucketNameTest + "-target"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameTarget)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Set logging
+       err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", true)
+       c.Assert(err, IsNil)
+       // Reset
+       err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", false)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       res, err := client.GetBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
+       c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
+
+       err = client.DeleteBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set to self
+       err = client.SetBucketLogging(bucketNameTest, bucketNameTest, "prefix", true)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameTarget)
+       c.Assert(err, IsNil)
+}
+
+// TestDeleteBucketLogging
+func (s *OssClientSuite) TestDeleteBucketLogging(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var bucketNameTarget = bucketNameTest + "-target"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameTarget)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Get when not set
+       res, err := client.GetBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
+       c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
+
+       // Set
+       err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", true)
+       c.Assert(err, IsNil)
+
+       // Get
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.LoggingEnabled.TargetBucket, Equals, bucketNameTarget)
+       c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "prefix")
+
+       // Set
+       err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", false)
+       c.Assert(err, IsNil)
+
+       // Get
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
+       c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
+
+       // Delete
+       err = client.DeleteBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Get after delete
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketLogging(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.LoggingEnabled.TargetBucket, Equals, "")
+       c.Assert(res.LoggingEnabled.TargetPrefix, Equals, "")
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameTarget)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketLoggingNegative
+func (s *OssClientSuite) TestSetBucketLoggingNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var bucketNameTarget = bucketNameTest + "-target"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Not exist
+       _, err = client.GetBucketLogging(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Not exist
+       err = client.SetBucketLogging(bucketNameTest, "targetbucket", "prefix", true)
+       c.Assert(err, NotNil)
+
+       // Not exist
+       err = client.DeleteBucketLogging(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Target bucket not exist
+       err = client.SetBucketLogging(bucketNameTest, bucketNameTarget, "prefix", true)
+       c.Assert(err, NotNil)
+
+       // Parameter invalid
+       err = client.SetBucketLogging(bucketNameTest, "XXXX", "prefix", true)
+       c.Assert(err, NotNil)
+
+       err = client.SetBucketLogging(bucketNameTest, "xx", "prefix", true)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketWebsite
+func (s *OssClientSuite) TestSetBucketWebsite(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var indexWebsite = "myindex.html"
+       var errorWebsite = "myerror.html"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set
+       err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
+       c.Assert(err, IsNil)
+
+       // Double set
+       err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
+       c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
+
+       // Reset
+       err = client.SetBucketWebsite(bucketNameTest, "your"+indexWebsite, "your"+errorWebsite)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, "your"+indexWebsite)
+       c.Assert(res.ErrorDocument.Key, Equals, "your"+errorWebsite)
+
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set after delete
+       err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
+       c.Assert(err, IsNil)
+
+       // Eliminate effect of cache
+       time.Sleep(timeoutInOperation)
+
+       res, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
+       c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestDeleteBucketWebsite
+func (s *OssClientSuite) TestDeleteBucketWebsite(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var indexWebsite = "myindex.html"
+       var errorWebsite = "myerror.html"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Get
+       res, err := client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Detele without set
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set
+       err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
+       c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
+
+       // Detele
+       time.Sleep(timeoutInOperation)
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Detele after delete
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketWebsiteNegative
+func (s *OssClientSuite) TestSetBucketWebsiteNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var indexWebsite = "myindex.html"
+       var errorWebsite = "myerror.html"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+
+       // Not exist
+       _, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.SetBucketWebsite(bucketNameTest, indexWebsite, errorWebsite)
+       c.Assert(err, NotNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set
+       time.Sleep(timeoutInOperation)
+       err = client.SetBucketWebsite(bucketNameTest, "myindex", "myerror")
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, "myindex")
+       c.Assert(res.ErrorDocument.Key, Equals, "myerror")
+
+       // Detele
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       _, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Detele after delete
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketWebsiteDetail
+func (s *OssClientSuite) TestSetBucketWebsiteDetail(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var indexWebsite = "myindex.html"
+       var errorWebsite = "myerror.html"
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       btrue := true
+       bfalse := false
+       // Define one routing rule
+       ruleOk := RoutingRule{
+               RuleNumber: 1,
+               Condition: Condition{
+                       KeyPrefixEquals:             "",
+                       HTTPErrorCodeReturnedEquals: 404,
+               },
+               Redirect: Redirect{
+                       RedirectType: "Mirror",
+                       // PassQueryString: &btrue,             // set default value
+                       MirrorURL: "http://www.test.com/",
+                       // MirrorPassQueryString:&btrue,        // set default value
+                       // MirrorFollowRedirect:&bfalse,        // set default value
+                       // MirrorCheckMd5:&bfalse,                      // set default value
+                       MirrorHeaders: MirrorHeaders{
+                               // PassAll:&bfalse,                     // set default value
+                               Pass:   []string{"myheader-key1", "myheader-key2"},
+                               Remove: []string{"myheader-key3", "myheader-key4"},
+                               Set: []MirrorHeaderSet{
+                                       MirrorHeaderSet{
+                                               Key:   "myheader-key5",
+                                               Value: "myheader-value5",
+                                       },
+                               },
+                       },
+               },
+       }
+
+       // Define array routing rule
+       ruleArrOk := []RoutingRule{
+               RoutingRule{
+                       RuleNumber: 2,
+                       Condition: Condition{
+                               KeyPrefixEquals:             "abc/",
+                               HTTPErrorCodeReturnedEquals: 404,
+                               IncludeHeader: []IncludeHeader{
+                                       IncludeHeader{
+                                               Key:    "host",
+                                               Equals: "test.oss-cn-beijing-internal.aliyuncs.com",
+                                       },
+                               },
+                       },
+                       Redirect: Redirect{
+                               RedirectType:     "AliCDN",
+                               Protocol:         "http",
+                               HostName:         "www.test.com",
+                               PassQueryString:  &bfalse,
+                               ReplaceKeyWith:   "prefix/${key}.suffix",
+                               HttpRedirectCode: 301,
+                       },
+               },
+               RoutingRule{
+                       RuleNumber: 3,
+                       Condition: Condition{
+                               KeyPrefixEquals:             "",
+                               HTTPErrorCodeReturnedEquals: 404,
+                       },
+                       Redirect: Redirect{
+                               RedirectType:          "Mirror",
+                               PassQueryString:       &btrue,
+                               MirrorURL:             "http://www.test.com/",
+                               MirrorPassQueryString: &btrue,
+                               MirrorFollowRedirect:  &bfalse,
+                               MirrorCheckMd5:        &bfalse,
+                               MirrorHeaders: MirrorHeaders{
+                                       PassAll: &btrue,
+                                       Pass:    []string{"myheader-key1", "myheader-key2"},
+                                       Remove:  []string{"myheader-key3", "myheader-key4"},
+                                       Set: []MirrorHeaderSet{
+                                               MirrorHeaderSet{
+                                                       Key:   "myheader-key5",
+                                                       Value: "myheader-value5",
+                                               },
+                                       },
+                               },
+                       },
+               },
+       }
+
+       // Set one routing rule
+       wxmlOne := WebsiteXML{}
+       wxmlOne.RoutingRules = append(wxmlOne.RoutingRules, ruleOk)
+       var responseHeader http.Header
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxmlOne, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       res, err := client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.RoutingRules[0].Redirect.RedirectType, Equals, "Mirror")
+       c.Assert(*res.RoutingRules[0].Redirect.PassQueryString, Equals, false)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorPassQueryString, Equals, false)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorFollowRedirect, Equals, true)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorCheckMd5, Equals, false)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorHeaders.PassAll, Equals, false)
+
+       // Set one routing rule and IndexDocument, IndexDocument
+       wxml := WebsiteXML{
+               IndexDocument: IndexDocument{Suffix: indexWebsite},
+               ErrorDocument: ErrorDocument{Key: errorWebsite},
+       }
+       wxml.RoutingRules = append(wxml.RoutingRules, ruleOk)
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxml, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       res, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
+       c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
+       c.Assert(res.RoutingRules[0].Redirect.RedirectType, Equals, "Mirror")
+
+       // Set array routing rule
+       wxml.RoutingRules = append(wxml.RoutingRules, ruleArrOk...)
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxml, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       res, err = client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.IndexDocument.Suffix, Equals, indexWebsite)
+       c.Assert(res.ErrorDocument.Key, Equals, errorWebsite)
+       c.Assert(len(res.RoutingRules), Equals, 3)
+       c.Assert(res.RoutingRules[1].Redirect.RedirectType, Equals, "AliCDN")
+       c.Assert(*res.RoutingRules[2].Redirect.MirrorPassQueryString, Equals, true)
+       c.Assert(*res.RoutingRules[2].Redirect.MirrorFollowRedirect, Equals, false)
+
+       // Define one error routing rule
+       ruleErr := RoutingRule{
+               RuleNumber: 1,
+               Redirect: Redirect{
+                       RedirectType:    "Mirror",
+                       PassQueryString: &btrue,
+               },
+       }
+       // Define array error routing rule
+       rulesErrArr := []RoutingRule{
+               RoutingRule{
+                       RuleNumber: 1,
+                       Redirect: Redirect{
+                               RedirectType:    "Mirror",
+                               PassQueryString: &btrue,
+                       },
+               },
+               RoutingRule{
+                       RuleNumber: 2,
+                       Redirect: Redirect{
+                               RedirectType:    "Mirror",
+                               PassQueryString: &btrue,
+                       },
+               },
+       }
+
+       ruleIntErr := RoutingRule{
+               // RuleNumber:0,                                                // set NULL value
+               Condition: Condition{
+                       KeyPrefixEquals:             "",
+                       HTTPErrorCodeReturnedEquals: 404,
+               },
+               Redirect: Redirect{
+                       RedirectType: "Mirror",
+                       // PassQueryString: &btrue,             // set default value
+                       MirrorURL: "http://www.test.com/",
+                       // MirrorPassQueryString:&btrue,        // set default value
+                       // MirrorFollowRedirect:&bfalse,        // set default value
+                       // MirrorCheckMd5:&bfalse,                      // set default value
+                       MirrorHeaders: MirrorHeaders{
+                               // PassAll:&bfalse,                     // set default value
+                               Pass:   []string{"myheader-key1", "myheader-key2"},
+                               Remove: []string{"myheader-key3", "myheader-key4"},
+                               Set: []MirrorHeaderSet{
+                                       MirrorHeaderSet{
+                                               Key:   "myheader-key5",
+                                               Value: "myheader-value5",
+                                       },
+                               },
+                       },
+               },
+       }
+
+       // Set one int type error rule
+       wxmlIntErr := WebsiteXML{}
+       wxmlIntErr.RoutingRules = append(wxmlIntErr.RoutingRules, ruleIntErr)
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxmlIntErr)
+       c.Assert(err, NotNil)
+
+       // Set one error rule
+       wxmlErr := WebsiteXML{}
+       wxmlErr.RoutingRules = append(wxmlErr.RoutingRules, ruleErr)
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxmlErr)
+       c.Assert(err, NotNil)
+
+       // Set one error rule and one correct rule
+       wxmlErr.RoutingRules = append(wxmlErr.RoutingRules, ruleOk)
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxmlErr)
+       c.Assert(err, NotNil)
+
+       wxmlErrRuleArr := WebsiteXML{}
+       wxmlErrRuleArr.RoutingRules = append(wxmlErrRuleArr.RoutingRules, rulesErrArr...)
+       // Set array error routing rule
+       err = client.SetBucketWebsiteDetail(bucketNameTest, wxmlErrRuleArr)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketWebsiteXml
+func (s *OssClientSuite) TestSetBucketWebsiteXml(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Define one routing rule
+       ruleOk := RoutingRule{
+               RuleNumber: 1,
+               Condition: Condition{
+                       KeyPrefixEquals:             "",
+                       HTTPErrorCodeReturnedEquals: 404,
+               },
+               Redirect: Redirect{
+                       RedirectType: "Mirror",
+                       // PassQueryString: &btrue,             // set default value
+                       MirrorURL: "http://www.test.com/",
+                       // MirrorPassQueryString:&btrue,        // set default value
+                       // MirrorFollowRedirect:&bfalse,        // set default value
+                       // MirrorCheckMd5:&bfalse,                      // set default value
+                       MirrorHeaders: MirrorHeaders{
+                               // PassAll:&bfalse,                     // set default value
+                               Pass:   []string{"myheader-key1", "myheader-key2"},
+                               Remove: []string{"myheader-key3", "myheader-key4"},
+                               Set: []MirrorHeaderSet{
+                                       MirrorHeaderSet{
+                                               Key:   "myheader-key5",
+                                               Value: "myheader-value5",
+                                       },
+                               },
+                       },
+               },
+       }
+
+       // Set one routing rule
+       wxmlOne := WebsiteXML{}
+       wxmlOne.RoutingRules = append(wxmlOne.RoutingRules, ruleOk)
+       bs, err := xml.Marshal(wxmlOne)
+       c.Assert(err, IsNil)
+
+       var responseHeader http.Header
+       err = client.SetBucketWebsiteXml(bucketNameTest, string(bs), GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       res, err := client.GetBucketWebsite(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.RoutingRules[0].Redirect.RedirectType, Equals, "Mirror")
+       c.Assert(*res.RoutingRules[0].Redirect.PassQueryString, Equals, false)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorPassQueryString, Equals, false)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorFollowRedirect, Equals, true)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorCheckMd5, Equals, false)
+       c.Assert(*res.RoutingRules[0].Redirect.MirrorHeaders.PassAll, Equals, false)
+}
+
+// TestSetBucketCORS
+func (s *OssClientSuite) TestSetBucketCORS(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var rule1 = CORSRule{
+               AllowedOrigin: []string{"*"},
+               AllowedMethod: []string{"PUT", "GET", "POST"},
+               AllowedHeader: []string{},
+               ExposeHeader:  []string{},
+               MaxAgeSeconds: 100,
+       }
+
+       var rule2 = CORSRule{
+               AllowedOrigin: []string{"http://www.a.com", "http://www.b.com"},
+               AllowedMethod: []string{"GET"},
+               AllowedHeader: []string{"Authorization"},
+               ExposeHeader:  []string{"x-oss-test", "x-oss-test1"},
+               MaxAgeSeconds: 200,
+       }
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Set
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1})
+       c.Assert(err, IsNil)
+
+       gbcr, err := client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(gbcr.CORSRules), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].AllowedOrigin), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].AllowedMethod), Equals, 3)
+       c.Assert(len(gbcr.CORSRules[0].AllowedHeader), Equals, 0)
+       c.Assert(len(gbcr.CORSRules[0].ExposeHeader), Equals, 0)
+       c.Assert(gbcr.CORSRules[0].MaxAgeSeconds, Equals, 100)
+
+       // Double set
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1})
+       c.Assert(err, IsNil)
+
+       gbcr, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(gbcr.CORSRules), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].AllowedOrigin), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].AllowedMethod), Equals, 3)
+       c.Assert(len(gbcr.CORSRules[0].AllowedHeader), Equals, 0)
+       c.Assert(len(gbcr.CORSRules[0].ExposeHeader), Equals, 0)
+       c.Assert(gbcr.CORSRules[0].MaxAgeSeconds, Equals, 100)
+
+       // Set rule2
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule2})
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       gbcr, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(gbcr.CORSRules), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].AllowedOrigin), Equals, 2)
+       c.Assert(len(gbcr.CORSRules[0].AllowedMethod), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].AllowedHeader), Equals, 1)
+       c.Assert(len(gbcr.CORSRules[0].ExposeHeader), Equals, 2)
+       c.Assert(gbcr.CORSRules[0].MaxAgeSeconds, Equals, 200)
+
+       // Reset
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1, rule2})
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       gbcr, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(gbcr.CORSRules), Equals, 2)
+
+       // Set after delete
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule1, rule2})
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       gbcr, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(len(gbcr.CORSRules), Equals, 2)
+
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestDeleteBucketCORS
+func (s *OssClientSuite) TestDeleteBucketCORS(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var rule = CORSRule{
+               AllowedOrigin: []string{"*"},
+               AllowedMethod: []string{"PUT", "GET", "POST"},
+               AllowedHeader: []string{},
+               ExposeHeader:  []string{},
+               MaxAgeSeconds: 100,
+       }
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // Delete not set
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Set
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule})
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       _, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Detele
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       _, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Detele after deleting
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestSetBucketCORSNegative
+func (s *OssClientSuite) TestSetBucketCORSNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var rule = CORSRule{
+               AllowedOrigin: []string{"*"},
+               AllowedMethod: []string{"PUT", "GET", "POST"},
+               AllowedHeader: []string{},
+               ExposeHeader:  []string{},
+               MaxAgeSeconds: 100,
+       }
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+
+       // Not exist
+       _, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule})
+       c.Assert(err, NotNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       _, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Set
+       err = client.SetBucketCORS(bucketNameTest, []CORSRule{rule})
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       _, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Delete
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       _, err = client.GetBucketCORS(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Delete after deleting
+       err = client.DeleteBucketCORS(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestGetBucketInfo
+func (s *OssClientSuite) TestGetBucketInfo(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketInfo(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.BucketInfo.Name, Equals, bucketNameTest)
+       c.Assert(strings.HasPrefix(res.BucketInfo.Location, "oss-"), Equals, true)
+       c.Assert(res.BucketInfo.ACL, Equals, "private")
+       c.Assert(strings.HasSuffix(res.BucketInfo.ExtranetEndpoint, ".com"), Equals, true)
+       c.Assert(strings.HasSuffix(res.BucketInfo.IntranetEndpoint, ".com"), Equals, true)
+       c.Assert(res.BucketInfo.CreationDate, NotNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestGetBucketInfoNegative
+func (s *OssClientSuite) TestGetBucketInfoNegative(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Not exist
+       _, err = client.GetBucketInfo(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       // Bucket name invalid
+       _, err = client.GetBucketInfo("InvalidBucketName_")
+       c.Assert(err, NotNil)
+}
+
+// TestEndpointFormat
+func (s *OssClientSuite) TestEndpointFormat(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       // http://host
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       res, err := client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       time.Sleep(timeoutInOperation)
+
+       // http://host:port
+       client, err = New(endpoint+":80", accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       time.Sleep(timeoutInOperation)
+       res, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestCname
+func (s *OssClientSuite) _TestCname(c *C) {
+       var bucketNameTest = "<my-bucket-cname>"
+
+       client, err := New("<endpoint>", "<accessKeyId>", "<accessKeySecret>", UseCname(true))
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       _, err = client.ListBuckets()
+       c.Assert(err, NotNil)
+
+       res, err := client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+}
+
+// TestCnameNegative
+func (s *OssClientSuite) _TestCnameNegative(c *C) {
+       var bucketNameTest = "<my-bucket-cname>"
+
+       client, err := New("<endpoint>", "<accessKeyId>", "<accessKeySecret>", UseCname(true))
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       _, err = client.ListBuckets()
+       c.Assert(err, NotNil)
+
+       _, err = client.GetBucketACL(bucketNameTest)
+       c.Assert(err, NotNil)
+}
+
+// _TestHTTPS
+func (s *OssClientSuite) _TestHTTPS(c *C) {
+       var bucketNameTest = "<my-bucket-https>"
+
+       client, err := New("<endpoint>", "<accessKeyId>", "<accessKeySecret>")
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       res, err := client.GetBucketACL(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(res.ACL, Equals, string(ACLPrivate))
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestClientOption
+func (s *OssClientSuite) TestClientOption(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       client, err := New(endpoint, accessID, accessKey, UseCname(true),
+               Timeout(11, 12), SecurityToken("token"), Proxy(proxyHost))
+       c.Assert(err, IsNil)
+
+       // CreateBucket timeout
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       c.Assert(client.Conn.config.HTTPTimeout.ConnectTimeout, Equals, time.Second*11)
+       c.Assert(client.Conn.config.HTTPTimeout.ReadWriteTimeout, Equals, time.Second*12)
+       c.Assert(client.Conn.config.HTTPTimeout.HeaderTimeout, Equals, time.Second*12)
+       c.Assert(client.Conn.config.HTTPTimeout.IdleConnTimeout, Equals, time.Second*12)
+       c.Assert(client.Conn.config.HTTPTimeout.LongTimeout, Equals, time.Second*12*10)
+
+       c.Assert(client.Conn.config.SecurityToken, Equals, "token")
+       c.Assert(client.Conn.config.IsCname, Equals, true)
+
+       c.Assert(client.Conn.config.IsUseProxy, Equals, true)
+       c.Assert(client.Config.ProxyHost, Equals, proxyHost)
+
+       client, err = New(endpoint, accessID, accessKey, AuthProxy(proxyHost, proxyUser, proxyPasswd))
+
+       c.Assert(client.Conn.config.IsUseProxy, Equals, true)
+       c.Assert(client.Config.ProxyHost, Equals, proxyHost)
+       c.Assert(client.Conn.config.IsAuthProxy, Equals, true)
+       c.Assert(client.Conn.config.ProxyUser, Equals, proxyUser)
+       c.Assert(client.Conn.config.ProxyPassword, Equals, proxyPasswd)
+
+       client, err = New(endpoint, accessID, accessKey, UserAgent("go sdk user agent"))
+       c.Assert(client.Conn.config.UserAgent, Equals, "go sdk user agent")
+
+       // Check we can overide the http.Client
+       httpClient := new(http.Client)
+       client, err = New(endpoint, accessID, accessKey, HTTPClient(httpClient))
+       c.Assert(client.HTTPClient, Equals, httpClient)
+       c.Assert(client.Conn.client, Equals, httpClient)
+       client, err = New(endpoint, accessID, accessKey)
+       c.Assert(client.HTTPClient, IsNil)
+}
+
+// TestProxy
+func (s *OssClientSuite) ProxyTestFunc(c *C, authVersion AuthVersionType, extraHeaders []string) {
+       bucketNameTest := bucketNamePrefix + RandLowStr(6)
+       objectName := "体育/奥运/首金"
+       objectValue := "大江东去,浪淘尽,千古风流人物。 故垒西边,人道是、三国周郎赤壁。"
+
+       client, err := New(endpoint, accessID, accessKey, AuthProxy(proxyHost, proxyUser, proxyPasswd))
+
+       oldType := client.Config.AuthVersion
+       oldHeaders := client.Config.AdditionalHeaders
+       client.Config.AuthVersion = authVersion
+       client.Config.AdditionalHeaders = extraHeaders
+
+       // Create bucket
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // Get bucket info
+       _, err = client.GetBucketInfo(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketNameTest)
+
+       // Sign URL
+       str, err := bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+       if bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL
+       err = bucket.PutObjectWithURL(str, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Sign URL for get object
+       str, err = bucket.SignURL(objectName, HTTPGet, 60)
+       c.Assert(err, IsNil)
+       if bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       body, err := bucket.GetObjectWithURL(str)
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // Put object
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Get object
+       _, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+
+       // List objects
+       _, err = bucket.ListObjects()
+       c.Assert(err, IsNil)
+
+       // Delete object
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       client.Config.AuthVersion = oldType
+       client.Config.AdditionalHeaders = oldHeaders
+}
+
+func (s *OssClientSuite) TestProxy(c *C) {
+       s.ProxyTestFunc(c, AuthV1, []string{})
+       s.ProxyTestFunc(c, AuthV2, []string{})
+       s.ProxyTestFunc(c, AuthV2, []string{"host", "range", "user-agent"})
+}
+
+// TestProxy for https endpoint
+func (s *OssClientSuite) TestHttpsEndpointProxy(c *C) {
+       bucketNameTest := bucketNamePrefix + RandLowStr(6)
+       objectName := objectNamePrefix + RandLowStr(6)
+       objectValue := RandLowStr(100)
+
+       httpsEndPoint := ""
+       if strings.HasPrefix(endpoint, "http://") {
+               httpsEndPoint = strings.Replace(endpoint, "http://", "https://", 1)
+       } else if !strings.HasPrefix(endpoint, "https://") {
+               httpsEndPoint = "https://" + endpoint
+       } else {
+               httpsEndPoint = endpoint
+       }
+
+       client, err := New(httpsEndPoint, accessID, accessKey, AuthProxy(proxyHost, proxyUser, proxyPasswd))
+
+       // Create bucket
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketNameTest)
+
+       // Put object
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Get object
+       _, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+
+       // List objects
+       _, err = bucket.ListObjects()
+       c.Assert(err, IsNil)
+
+       // Delete object
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// Private
+func (s *OssClientSuite) checkBucket(buckets []BucketProperties, bucket string) bool {
+       for _, v := range buckets {
+               if v.Name == bucket {
+                       return true
+               }
+       }
+       return false
+}
+
+func (s *OssClientSuite) getBucket(buckets []BucketProperties, bucket string) (bool, BucketProperties) {
+       for _, v := range buckets {
+               if v.Name == bucket {
+                       return true, v
+               }
+       }
+       return false, BucketProperties{}
+}
+
+func (s *OssClientSuite) TestHttpLogNotSignUrl(c *C) {
+       logName := "." + string(os.PathSeparator) + "test-go-sdk-httpdebug.log" + RandStr(5)
+       f, err := os.OpenFile(logName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
+       c.Assert(err, IsNil)
+
+       client, err := New(endpoint, accessID, accessKey)
+       client.Config.LogLevel = Debug
+
+       client.Config.Logger = log.New(f, "", log.LstdFlags)
+
+       var testBucketName = bucketNamePrefix + RandLowStr(6)
+
+       // CreateBucket
+       err = client.CreateBucket(testBucketName)
+       f.Close()
+
+       // read log file,get http info
+       contents, err := ioutil.ReadFile(logName)
+       c.Assert(err, IsNil)
+
+       httpContent := string(contents)
+       //fmt.Println(httpContent)
+
+       c.Assert(strings.Contains(httpContent, "signStr"), Equals, true)
+       c.Assert(strings.Contains(httpContent, "Method:"), Equals, true)
+
+       // delete test bucket and log
+       os.Remove(logName)
+       client.DeleteBucket(testBucketName)
+}
+
+func (s *OssClientSuite) HttpLogSignUrlTestFunc(c *C, authVersion AuthVersionType, extraHeaders []string) {
+       logName := "." + string(os.PathSeparator) + "test-go-sdk-httpdebug-signurl.log" + RandStr(5)
+       f, err := os.OpenFile(logName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
+       c.Assert(err, IsNil)
+
+       client, err := New(endpoint, accessID, accessKey)
+       client.Config.LogLevel = Debug
+       client.Config.Logger = log.New(f, "", log.LstdFlags)
+
+       oldType := client.Config.AuthVersion
+       oldHeaders := client.Config.AdditionalHeaders
+       client.Config.AuthVersion = authVersion
+       client.Config.AdditionalHeaders = extraHeaders
+
+       var testBucketName = bucketNamePrefix + RandLowStr(6)
+
+       // CreateBucket
+       err = client.CreateBucket(testBucketName)
+       f.Close()
+
+       // clear log
+       f, err = os.OpenFile(logName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
+       client.Config.Logger = log.New(f, "", log.LstdFlags)
+
+       bucket, _ := client.Bucket(testBucketName)
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(20)
+
+       // Sign URL for put
+       str, err := bucket.SignURL(objectName, HTTPPut, 60)
+       c.Assert(err, IsNil)
+       if bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Error put object with URL
+       err = bucket.PutObjectWithURL(str, strings.NewReader(objectValue), ContentType("image/tiff"))
+       f.Close()
+
+       // read log file,get http info
+       contents, err := ioutil.ReadFile(logName)
+       c.Assert(err, IsNil)
+
+       httpContent := string(contents)
+       //fmt.Println(httpContent)
+
+       c.Assert(strings.Contains(httpContent, "signStr"), Equals, true)
+       c.Assert(strings.Contains(httpContent, "Method:"), Equals, true)
+
+       // delete test bucket and log
+       os.Remove(logName)
+       client.DeleteBucket(testBucketName)
+
+       client.Config.AuthVersion = oldType
+       client.Config.AdditionalHeaders = oldHeaders
+}
+
+func (s *OssClientSuite) TestHttpLogSignUrl(c *C) {
+       s.HttpLogSignUrlTestFunc(c, AuthV1, []string{})
+       s.HttpLogSignUrlTestFunc(c, AuthV2, []string{})
+       s.HttpLogSignUrlTestFunc(c, AuthV2, []string{"host", "range", "user-agent"})
+}
+
+func (s *OssClientSuite) TestSetLimitUploadSpeed(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.LimitUploadSpeed(100)
+
+       goVersion := runtime.Version()
+       pSlice := strings.Split(strings.ToLower(goVersion), ".")
+
+       // compare with go1.7
+       if len(pSlice) >= 2 {
+               if pSlice[0] > "go1" {
+                       c.Assert(err, IsNil)
+               } else if pSlice[0] == "go1" {
+                       subVersion, _ := strconv.Atoi(pSlice[1])
+                       if subVersion >= 7 {
+                               c.Assert(err, IsNil)
+                       } else {
+                               c.Assert(err, NotNil)
+                       }
+               } else {
+                       c.Assert(err, NotNil)
+               }
+       }
+}
+
+func (s *OssClientSuite) TestBucketEncyptionError(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // SetBucketEncryption:AES256 ,"123"
+       encryptionRule := ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(AESAlgorithm)
+       encryptionRule.SSEDefault.KMSMasterKeyID = "123"
+
+       var responseHeader http.Header
+       err = client.SetBucketEncryption(bucketName, encryptionRule, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption
+       _, err = client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, "")
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, "")
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, "")
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketEncryptionPutAndGetAndDelete(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // SetBucketEncryption:KMS ,""
+       encryptionRule := ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(KMSAlgorithm)
+
+       var responseHeader http.Header
+       err = client.SetBucketEncryption(bucketName, encryptionRule, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption
+       getResult, err := client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // check encryption value
+       c.Assert(encryptionRule.SSEDefault.SSEAlgorithm, Equals, getResult.SSEDefault.SSEAlgorithm)
+       c.Assert(encryptionRule.SSEDefault.KMSMasterKeyID, Equals, getResult.SSEDefault.KMSMasterKeyID)
+
+       // delete bucket encyption
+       err = client.DeleteBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption failure
+       _, err = client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, "")
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, "")
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, "")
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketEncryptionWithSm4(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // SetBucketEncryption:SM4 ,""
+       encryptionRule := ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(SM4Algorithm)
+
+       var responseHeader http.Header
+       err = client.SetBucketEncryption(bucketName, encryptionRule, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption
+       getResult, err := client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // check encryption value
+       c.Assert(getResult.SSEDefault.SSEAlgorithm, Equals, string(SM4Algorithm))
+       c.Assert(getResult.SSEDefault.KMSMasterKeyID, Equals, "")
+       c.Assert(getResult.SSEDefault.KMSDataEncryption, Equals, "")
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, string(SM4Algorithm))
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, "")
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSDataEncryption, Equals, "")
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketEncryptionWithKmsSm4(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // SetBucketEncryption:SM4 ,""
+       encryptionRule := ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(KMSAlgorithm)
+       encryptionRule.SSEDefault.KMSDataEncryption = string(SM4Algorithm)
+
+       var responseHeader http.Header
+       err = client.SetBucketEncryption(bucketName, encryptionRule, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption
+       getResult, err := client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // check encryption value
+       c.Assert(getResult.SSEDefault.SSEAlgorithm, Equals, string(KMSAlgorithm))
+       c.Assert(getResult.SSEDefault.KMSMasterKeyID, Equals, "")
+       c.Assert(getResult.SSEDefault.KMSDataEncryption, Equals, string(SM4Algorithm))
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, string(KMSAlgorithm))
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, "")
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSDataEncryption, Equals, string(SM4Algorithm))
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketEncyptionPutObjectSuccess(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // SetBucketEncryption:KMS ,""
+       encryptionRule := ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(KMSAlgorithm)
+
+       var responseHeader http.Header
+       err = client.SetBucketEncryption(bucketName, encryptionRule, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption
+       getResult, err := client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // check encryption value
+       c.Assert(encryptionRule.SSEDefault.SSEAlgorithm, Equals, getResult.SSEDefault.SSEAlgorithm)
+       c.Assert(encryptionRule.SSEDefault.KMSMasterKeyID, Equals, getResult.SSEDefault.KMSMasterKeyID)
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, "KMS")
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, "")
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, "")
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketEncyptionPutObjectError(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // SetBucketEncryption:KMS ,""
+       encryptionRule := ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(KMSAlgorithm)
+       kmsId := "123"
+       encryptionRule.SSEDefault.KMSMasterKeyID = kmsId
+
+       var responseHeader http.Header
+       err = client.SetBucketEncryption(bucketName, encryptionRule, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // GetBucketEncryption
+       getResult, err := client.GetBucketEncryption(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // check encryption value
+       c.Assert(encryptionRule.SSEDefault.SSEAlgorithm, Equals, getResult.SSEDefault.SSEAlgorithm)
+       c.Assert(encryptionRule.SSEDefault.KMSMasterKeyID, Equals, getResult.SSEDefault.KMSMasterKeyID)
+
+       // Get default bucket info
+       bucketResult, err := client.GetBucketInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       c.Assert(bucketResult.BucketInfo.SseRule.SSEAlgorithm, Equals, "KMS")
+       c.Assert(bucketResult.BucketInfo.SseRule.KMSMasterKeyID, Equals, kmsId)
+       c.Assert(bucketResult.BucketInfo.Versioning, Equals, "")
+
+       // put and get object failure
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // put object failure
+       objectName := objectNamePrefix + RandStr(8)
+       context := RandStr(100)
+       err = bucket.PutObject(objectName, strings.NewReader(context))
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketTaggingOperation(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       var respHeader http.Header
+
+       // Bucket Tagging
+       var tagging Tagging
+       tagging.Tags = []Tag{Tag{Key: "testkey2", Value: "testvalue2"}}
+       err = client.SetBucketTagging(bucketName, tagging, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       getResult, err := client.GetBucketTagging(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(getResult.Tags[0].Key, Equals, tagging.Tags[0].Key)
+       c.Assert(getResult.Tags[0].Value, Equals, tagging.Tags[0].Value)
+
+       // delete BucketTagging
+       err = client.DeleteBucketTagging(bucketName, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       getResult, err = client.GetBucketTagging(bucketName, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+       c.Assert(len(getResult.Tags), Equals, 0)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestListBucketsTagging(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName1 := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName1)
+       c.Assert(err, IsNil)
+
+       bucketName2 := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName2)
+       c.Assert(err, IsNil)
+
+       // Bucket Tagging
+       var tagging Tagging
+       tagging.Tags = []Tag{Tag{Key: "testkey", Value: "testvalue"}}
+       err = client.SetBucketTagging(bucketName1, tagging)
+       c.Assert(err, IsNil)
+
+       // list bucket
+       listResult, err := client.ListBuckets(TagKey("testkey"))
+       c.Assert(err, IsNil)
+       c.Assert(len(listResult.Buckets), Equals, 1)
+       c.Assert(listResult.Buckets[0].Name, Equals, bucketName1)
+
+       client.DeleteBucket(bucketName1)
+       client.DeleteBucket(bucketName2)
+}
+
+func (s *OssClientSuite) TestGetBucketStat(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // put object
+       objectName := objectNamePrefix + RandLowStr(5)
+       err = bucket.PutObject(objectName, strings.NewReader(RandStr(10)))
+       c.Assert(err, IsNil)
+
+       bucket.DeleteObject(objectName)
+       err = bucket.PutObject(objectName, strings.NewReader(RandStr(10)))
+       c.Assert(err, IsNil)
+       bucket.DeleteObject(objectName)
+
+       _, err = client.GetBucketStat(bucketName)
+       c.Assert(err, IsNil)
+
+       client.DeleteBucket(bucketName)
+}
+
+func (s *OssBucketSuite) TestGetBucketVersioning(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+
+       var respHeader http.Header
+       err = client.CreateBucket(bucketName, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // get bucket version success
+       versioningResult, err := client.GetBucketVersioning(bucketName, GetResponseHeader(&respHeader))
+       c.Assert(versioningResult.Status, Equals, "Enabled")
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssClientSuite) TestBucketPolicy(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       var responseHeader http.Header
+       ret, err := client.GetBucketPolicy(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       policyInfo := `
+       {
+               "Version":"1",
+               "Statement":[
+                       {
+                               "Action":[
+                                       "oss:GetObject",
+                                       "oss:PutObject"
+                               ],
+                               "Effect":"Deny",
+                               "Principal":"[123456790]",
+                               "Resource":["acs:oss:*:1234567890:*/*"]
+                       }
+               ]
+       }`
+
+       err = client.SetBucketPolicy(bucketName, policyInfo, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       ret, err = client.GetBucketPolicy(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       testLogger.Println("policy:", ret)
+       c.Assert(ret, Equals, policyInfo)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       err = client.DeleteBucketPolicy(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+       client.DeleteBucket(bucketName)
+}
+
+func (s *OssClientSuite) TestBucketPolicyNegative(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       var responseHeader http.Header
+       _, err = client.GetBucketPolicy(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // Setting the Version is 2, this is error policy
+       errPolicy := `
+       {
+               "Version":"2",
+               "Statement":[
+                       {
+                               "Action":[
+                                       "oss:GetObject",
+                                       "oss:PutObject"
+                               ],
+                               "Effect":"Deny",
+                               "Principal":"[123456790]",
+                               "Resource":["acs:oss:*:1234567890:*/*"]
+                       }
+               ]
+       }`
+       err = client.SetBucketPolicy(bucketName, errPolicy, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       testLogger.Println("err:", err)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       err = client.DeleteBucketPolicy(bucketName, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+
+       bucketNameEmpty := bucketNamePrefix + RandLowStr(5)
+       client.DeleteBucket(bucketNameEmpty)
+
+       err = client.DeleteBucketPolicy(bucketNameEmpty, GetResponseHeader(&responseHeader))
+       c.Assert(err, NotNil)
+       requestId = GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       client.DeleteBucket(bucketName)
+}
+
+func (s *OssClientSuite) TestSetBucketRequestPayment(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       reqPayConf := RequestPaymentConfiguration{
+               Payer: "Requester",
+       }
+       err = client.SetBucketRequestPayment(bucketName, reqPayConf)
+       c.Assert(err, IsNil)
+
+       ret, err := client.GetBucketRequestPayment(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(ret.Payer, Equals, "Requester")
+
+       client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestSetBucketRequestPaymentNegative(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       reqPayConf := RequestPaymentConfiguration{
+               Payer: "Requesterttttt", // this is a error configuration
+       }
+       err = client.SetBucketRequestPayment(bucketName, reqPayConf)
+       c.Assert(err, NotNil)
+
+       ret, err := client.GetBucketRequestPayment(bucketName)
+       c.Assert(err, IsNil)
+       c.Assert(ret.Payer, Equals, "BucketOwner")
+
+       client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketQos(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       ret, err := client.GetUserQoSInfo()
+       c.Assert(err, IsNil)
+       testLogger.Println("QosInfo:", ret)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       _ = client.DeleteBucket(bucketName)
+
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       _, err = client.GetBucketQosInfo(bucketName)
+       c.Assert(err, NotNil)
+
+       // case 1 set BucketQoSConfiguration every member
+       five := 5
+       four := 4
+       totalQps := 200
+       qosConf := BucketQoSConfiguration{
+               TotalUploadBandwidth:      &five,
+               IntranetUploadBandwidth:   &four,
+               ExtranetUploadBandwidth:   &four,
+               TotalDownloadBandwidth:    &four,
+               IntranetDownloadBandwidth: &four,
+               ExtranetDownloadBandwidth: &four,
+               TotalQPS:                  &totalQps,
+               IntranetQPS:               &totalQps,
+               ExtranetQPS:               &totalQps,
+       }
+       var responseHeader http.Header
+       err = client.SetBucketQoSInfo(bucketName, qosConf, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       // wait a moment for configuration effect
+       time.Sleep(time.Second)
+
+       retQos, err := client.GetBucketQosInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       // set qosConf default value
+       qosConf.XMLName.Local = "QoSConfiguration"
+       c.Assert(struct2string(retQos, c), Equals, struct2string(qosConf, c))
+
+       // case 2 set BucketQoSConfiguration not every member
+       qosConfNo := BucketQoSConfiguration{
+               TotalUploadBandwidth:      &five,
+               IntranetUploadBandwidth:   &four,
+               ExtranetUploadBandwidth:   &four,
+               TotalDownloadBandwidth:    &four,
+               IntranetDownloadBandwidth: &four,
+               ExtranetDownloadBandwidth: &four,
+               TotalQPS:                  &totalQps,
+       }
+       err = client.SetBucketQoSInfo(bucketName, qosConfNo)
+       c.Assert(err, IsNil)
+
+       // wait a moment for configuration effect
+       time.Sleep(time.Second)
+
+       retQos, err = client.GetBucketQosInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       // set qosConfNo default value
+       qosConfNo.XMLName.Local = "QoSConfiguration"
+       defNum := -1
+       qosConfNo.IntranetQPS = &defNum
+       qosConfNo.ExtranetQPS = &defNum
+       c.Assert(struct2string(retQos, c), Equals, struct2string(qosConfNo, c))
+
+       err = client.DeleteBucketQosInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       // wait a moment for configuration effect
+       time.Sleep(time.Second)
+
+       _, err = client.GetBucketQosInfo(bucketName)
+       c.Assert(err, NotNil)
+
+       // this is a error qos configuration
+       to := *ret.TotalUploadBandwidth + 2
+       qosErrConf := BucketQoSConfiguration{
+               TotalUploadBandwidth:      &to, // this exceed user TotalUploadBandwidth
+               IntranetUploadBandwidth:   &four,
+               ExtranetUploadBandwidth:   &four,
+               TotalDownloadBandwidth:    &four,
+               IntranetDownloadBandwidth: &four,
+               ExtranetDownloadBandwidth: &four,
+               TotalQPS:                  &totalQps,
+               IntranetQPS:               &totalQps,
+               ExtranetQPS:               &totalQps,
+       }
+       err = client.SetBucketQoSInfo(bucketName, qosErrConf)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucketQosInfo(bucketName)
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+// struct to string
+func struct2string(obj interface{}, c *C) string {
+       t := reflect.TypeOf(obj)
+       v := reflect.ValueOf(obj)
+
+       var data = make(map[string]interface{})
+       for i := 0; i < t.NumField(); i++ {
+               data[t.Field(i).Name] = v.Field(i).Interface()
+       }
+       str, err := json.Marshal(data)
+       c.Assert(err, IsNil)
+       return string(str)
+}
+
+type TestCredentials struct {
+}
+
+func (testCreInf *TestCredentials) GetAccessKeyID() string {
+       return os.Getenv("OSS_TEST_ACCESS_KEY_ID")
+}
+
+func (testCreInf *TestCredentials) GetAccessKeySecret() string {
+       return os.Getenv("OSS_TEST_ACCESS_KEY_SECRET")
+}
+
+func (testCreInf *TestCredentials) GetSecurityToken() string {
+       return ""
+}
+
+type TestCredentialsProvider struct {
+}
+
+func (testInfBuild *TestCredentialsProvider) GetCredentials() Credentials {
+       return &TestCredentials{}
+}
+
+func (s *OssClientSuite) TestClientCredentialInfBuild(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       var defaultBuild TestCredentialsProvider
+       client, err := New(endpoint, "", "", SetCredentialsProvider(&defaultBuild))
+       c.Assert(err, IsNil)
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestClientSetLocalIpError(c *C) {
+       // create client and bucket
+       ipAddr, err := net.ResolveIPAddr("ip", "127.0.0.1")
+       c.Assert(err, IsNil)
+       localTCPAddr := &(net.TCPAddr{IP: ipAddr.IP})
+       client, err := New(endpoint, accessID, accessKey, SetLocalAddr(localTCPAddr))
+       c.Assert(err, IsNil)
+
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+}
+
+func (s *OssClientSuite) TestClientSetLocalIpSuccess(c *C) {
+       //get local ip
+       conn, err := net.Dial("udp", "8.8.8.8:80")
+       c.Assert(err, IsNil)
+       localAddr := conn.LocalAddr().(*net.UDPAddr)
+       localIp := localAddr.IP.String()
+       conn.Close()
+
+       ipAddr, err := net.ResolveIPAddr("ip", localIp)
+       c.Assert(err, IsNil)
+       localTCPAddr := &(net.TCPAddr{IP: ipAddr.IP})
+       client, err := New(endpoint, accessID, accessKey, SetLocalAddr(localTCPAddr))
+       c.Assert(err, IsNil)
+
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestCreateBucketInvalidName
+func (s *OssClientSuite) TestCreateBucketInvalidName(c *C) {
+       var bucketNameTest = "-" + bucketNamePrefix + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       // Create
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+}
+
+// TestClientProcessEndpointSuccess
+func (s *OssClientSuite) TestClientProcessEndpointSuccess(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       testEndpoint := endpoint + "/" + "sina.com" + "?" + "para=abc"
+
+       client, err := New(testEndpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Create
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // delete
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestClientProcessEndpointSuccess
+func (s *OssClientSuite) TestClientProcessEndpointError(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+
+       testEndpoint := "https://127.0.0.1/" + endpoint
+
+       client, err := New(testEndpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // Create
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, NotNil)
+}
+
+// TestClientBucketError
+func (s *OssClientSuite) TestClientBucketError(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := "-" + RandLowStr(5)
+       _, err = client.Bucket(bucketName)
+       c.Assert(err, NotNil)
+}
+
+func (s *OssClientSuite) TestSetBucketInventory(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // encryption config
+       var invSseOss InvSseOss
+       invSseKms := InvSseKms{
+               KmsId: "keyId",
+       }
+       var invEncryption InvEncryption
+
+       bl := true
+       // not any encryption
+       invConfig := InventoryConfiguration{
+               Id:        "report1",
+               IsEnabled: &bl,
+               Prefix:    "filterPrefix/",
+               OSSBucketDestination: OSSBucketDestination{
+                       Format:    "CSV",
+                       AccountId: accountID,
+                       RoleArn:   stsARN,
+                       Bucket:    "acs:oss:::" + bucketName,
+                       Prefix:    "prefix1",
+               },
+               Frequency:              "Daily",
+               IncludedObjectVersions: "All",
+               OptionalFields: OptionalFields{
+                       Field: []string{
+                               "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                       },
+               },
+       }
+
+       // case 1: not any encryption
+       err = client.SetBucketInventory(bucketName, invConfig)
+       c.Assert(err, IsNil)
+
+       // case 2: use kms encryption
+       invConfig.Id = "report2"
+       invEncryption.SseKms = &invSseKms
+       invEncryption.SseOss = nil
+       invConfig.OSSBucketDestination.Encryption = &invEncryption
+       err = client.SetBucketInventory(bucketName, invConfig)
+       c.Assert(err, IsNil)
+
+       // case 3: use SseOss encryption
+       invConfig.Id = "report3"
+       invEncryption.SseKms = nil
+       invEncryption.SseOss = &invSseOss
+       invConfig.OSSBucketDestination.Encryption = &invEncryption
+       err = client.SetBucketInventory(bucketName, invConfig)
+       c.Assert(err, IsNil)
+
+       //case 4: use two type encryption
+       invConfig.Id = "report4"
+       invEncryption.SseKms = &invSseKms
+       invEncryption.SseOss = &invSseOss
+       invConfig.OSSBucketDestination.Encryption = &invEncryption
+       err = client.SetBucketInventory(bucketName, invConfig)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketInventory(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bl := true
+       invConfig := InventoryConfiguration{
+               Id:        "report1",
+               IsEnabled: &bl,
+               Prefix:    "filterPrefix/",
+               OSSBucketDestination: OSSBucketDestination{
+                       Format:    "CSV",
+                       AccountId: accountID,
+                       RoleArn:   stsARN,
+                       Bucket:    "acs:oss:::" + bucketName,
+                       Prefix:    "prefix1",
+               },
+               Frequency:              "Daily",
+               IncludedObjectVersions: "All",
+               OptionalFields: OptionalFields{
+                       Field: []string{
+                               "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                       },
+               },
+       }
+
+       // case 1: test SetBucketInventory
+       err = client.SetBucketInventory(bucketName, invConfig)
+       c.Assert(err, IsNil)
+
+       // case 2: test GetBucketInventory
+       out, err := client.GetBucketInventory(bucketName, "report1")
+       c.Assert(err, IsNil)
+       invConfig.XMLName.Local = "InventoryConfiguration"
+       invConfig.OSSBucketDestination.XMLName.Local = "OSSBucketDestination"
+       invConfig.OptionalFields.XMLName.Local = "OptionalFields"
+       c.Assert(struct2string(invConfig, c), Equals, struct2string(out, c))
+
+       // case 3: test ListBucketInventory
+       invConfig2 := InventoryConfiguration{
+               Id:        "report2",
+               IsEnabled: &bl,
+               Prefix:    "filterPrefix/",
+               OSSBucketDestination: OSSBucketDestination{
+                       Format:    "CSV",
+                       AccountId: accountID,
+                       RoleArn:   stsARN,
+                       Bucket:    "acs:oss:::" + bucketName,
+                       Prefix:    "prefix1",
+               },
+               Frequency:              "Daily",
+               IncludedObjectVersions: "All",
+               OptionalFields: OptionalFields{
+                       Field: []string{
+                               "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                       },
+               },
+       }
+       invConfig2.XMLName.Local = "InventoryConfiguration"
+       invConfig2.OSSBucketDestination.XMLName.Local = "OSSBucketDestination"
+       invConfig2.OptionalFields.XMLName.Local = "OptionalFields"
+
+       err = client.SetBucketInventory(bucketName, invConfig2)
+       c.Assert(err, IsNil)
+
+       listInvConf, err := client.ListBucketInventory(bucketName, "", Marker("report1"), MaxKeys(2))
+       c.Assert(err, IsNil)
+       var listInvLocal ListInventoryConfigurationsResult
+       listInvLocal.InventoryConfiguration = []InventoryConfiguration{
+               invConfig,
+               invConfig2,
+       }
+       bo := false
+       listInvLocal.IsTruncated = &bo
+       listInvLocal.XMLName.Local = "ListInventoryConfigurationsResult"
+       c.Assert(struct2string(listInvLocal, c), Equals, struct2string(listInvConf, c))
+
+       for i := 3; i < 109; i++ {
+               invConfig2 := InventoryConfiguration{
+                       Id:        "report" + strconv.Itoa(i),
+                       IsEnabled: &bl,
+                       Prefix:    "filterPrefix/",
+                       OSSBucketDestination: OSSBucketDestination{
+                               Format:    "CSV",
+                               AccountId: accountID,
+                               RoleArn:   stsARN,
+                               Bucket:    "acs:oss:::" + bucketName,
+                               Prefix:    "prefix1",
+                       },
+                       Frequency:              "Daily",
+                       IncludedObjectVersions: "All",
+                       OptionalFields: OptionalFields{
+                               Field: []string{
+                                       "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                               },
+                       },
+               }
+               err = client.SetBucketInventory(bucketName, invConfig2)
+               c.Assert(err, IsNil)
+       }
+       token := ""
+       for {
+               listInvConf1, err := client.ListBucketInventory(bucketName, token)
+               c.Assert(err, IsNil)
+               token = listInvConf1.NextContinuationToken
+               testLogger.Println(listInvConf1.NextContinuationToken, *listInvConf1.IsTruncated, token)
+               if *listInvConf1.IsTruncated == false {
+                       break
+               } else {
+                       c.Assert(listInvConf1.NextContinuationToken, Equals, "report91")
+               }
+       }
+
+       // case 4: test DeleteBucketInventory
+       for i := 1; i < 109; i++ {
+               err = client.DeleteBucketInventory(bucketName, "report"+strconv.Itoa(i))
+               c.Assert(err, IsNil)
+       }
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketInventoryNegative(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bl := true
+       invConfigErr := InventoryConfiguration{
+               Id:        "report1",
+               IsEnabled: &bl,
+               Prefix:    "filterPrefix/",
+               OSSBucketDestination: OSSBucketDestination{
+                       Format:    "CSV",
+                       AccountId: accountID,
+                       RoleArn:   stsARN,
+                       Bucket:    "test",
+                       Prefix:    "prefix1",
+               },
+               Frequency:              "Daily",
+               IncludedObjectVersions: "All",
+               OptionalFields: OptionalFields{
+                       Field: []string{
+                               "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                       },
+               },
+       }
+       // case 1: test SetBucketInventory
+       err = client.SetBucketInventory(bucketName, invConfigErr)
+       c.Assert(err, NotNil)
+
+       // case 2: test GetBucketInventory
+       _, err = client.GetBucketInventory(bucketName, "report1")
+       c.Assert(err, NotNil)
+
+       // case 3: test ListBucketInventory
+       _, err = client.ListBucketInventory(bucketName, "", Marker("report1"), MaxKeys(2))
+       c.Assert(err, NotNil)
+
+       // case 4: test DeleteBucketInventory
+       err = client.DeleteBucketInventory(bucketName, "report1")
+       c.Assert(err, IsNil)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestBucketAsyncTask(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(5)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandLowStr(6)
+
+       // set asyn task,IgnoreSameKey is false
+       asynConf := AsyncFetchTaskConfiguration{
+               Url:           "http://www.baidu.com",
+               Object:        objectName,
+               Host:          "",
+               ContentMD5:    "",
+               Callback:      "",
+               StorageClass:  "",
+               IgnoreSameKey: false,
+       }
+
+       asynResult, err := client.SetBucketAsyncTask(bucketName, asynConf)
+       c.Assert(err, IsNil)
+       c.Assert(len(asynResult.TaskId) > 0, Equals, true)
+
+       // get asyn task
+       asynTask, err := client.GetBucketAsyncTask(bucketName, asynResult.TaskId)
+       c.Assert(err, IsNil)
+       c.Assert(asynResult.TaskId, Equals, asynTask.TaskId)
+       c.Assert(len(asynTask.State) > 0, Equals, true)
+       c.Assert(asynConf.Url, Equals, asynTask.TaskInfo.Url)
+       c.Assert(asynConf.Object, Equals, asynTask.TaskInfo.Object)
+       c.Assert(asynConf.Callback, Equals, asynTask.TaskInfo.Callback)
+       c.Assert(asynConf.IgnoreSameKey, Equals, asynTask.TaskInfo.IgnoreSameKey)
+
+       // test again,IgnoreSameKey is true
+       asynConf.IgnoreSameKey = true
+       asynResult, err = client.SetBucketAsyncTask(bucketName, asynConf)
+       c.Assert(err, IsNil)
+       c.Assert(len(asynResult.TaskId) > 0, Equals, true)
+
+       asynTask, err = client.GetBucketAsyncTask(bucketName, asynResult.TaskId)
+       c.Assert(asynConf.IgnoreSameKey, Equals, asynTask.TaskInfo.IgnoreSameKey)
+
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssClientSuite) TestClientOptionHeader(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+
+       var respHeader http.Header
+       err = client.CreateBucket(bucketName, GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // get bucket version success,use payer
+       options := []Option{RequestPayer(BucketOwner), GetResponseHeader(&respHeader)}
+       versioningResult, err := client.GetBucketVersioning(bucketName, options...)
+       c.Assert(versioningResult.Status, Equals, "Enabled")
+       c.Assert(GetRequestId(respHeader) != "", Equals, true)
+
+       //list buckets,use payer
+       _, err = client.ListBuckets(options...)
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// compare with go1.7
+func compareVersion(goVersion string) bool {
+       nowVersion := runtime.Version()
+       nowVersion = strings.Replace(nowVersion, "go", "", -1)
+       pSlice1 := strings.Split(goVersion, ".")
+       pSlice2 := strings.Split(nowVersion, ".")
+       for k, v := range pSlice2 {
+               n2, _ := strconv.Atoi(string(v))
+               n1, _ := strconv.Atoi(string(pSlice1[k]))
+               if n2 > n1 {
+                       return true
+               }
+               if n2 < n1 {
+                       return false
+               }
+       }
+       return true
+}
+
+func homeHandler(w http.ResponseWriter, r *http.Request) {
+       http.Redirect(w, r, "/redirectTo", http.StatusFound)
+}
+func targetHandler(w http.ResponseWriter, r *http.Request) {
+       fmt.Fprintf(w, "You have been redirected here!")
+}
+
+func (s *OssClientSuite) TestClientRedirect(c *C) {
+       // must go1.7.0 onward
+       if !compareVersion("1.7.0") {
+               return
+       }
+
+       // get port
+       rand.Seed(time.Now().Unix())
+       port := 10000 + rand.Intn(10000)
+
+       // start http server
+       httpAddr := fmt.Sprintf("127.0.0.1:%d", port)
+       mux := http.NewServeMux()
+       mux.HandleFunc("/redirectTo", targetHandler)
+       mux.HandleFunc("/", homeHandler)
+       svr := &http.Server{
+               Addr:           httpAddr,
+               ReadTimeout:    10 * time.Second,
+               WriteTimeout:   10 * time.Second,
+               MaxHeaderBytes: 1 << 20,
+               Handler:        mux,
+       }
+
+       go func() {
+               svr.ListenAndServe()
+       }()
+
+       url := "http://" + httpAddr
+
+       // create client 1,redirect disable
+       client1, err := New(endpoint, accessID, accessKey, RedirectEnabled(false))
+       resp, err := client1.Conn.client.Get(url)
+       c.Assert(err, IsNil)
+       c.Assert(resp.StatusCode, Equals, http.StatusFound)
+       resp.Body.Close()
+
+       // create client2, redirect enabled
+       client2, err := New(endpoint, accessID, accessKey, RedirectEnabled(true))
+       resp, err = client2.Conn.client.Get(url)
+       c.Assert(err, IsNil)
+       c.Assert(resp.StatusCode, Equals, 200)
+       data, err := ioutil.ReadAll(resp.Body)
+       c.Assert(string(data), Equals, "You have been redirected here!")
+       resp.Body.Close()
+}
+
+// TestInitiateBucketWormSuccess
+func (s *OssClientSuite) TestInitiateBucketWormSuccess(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // InitiateBucketWorm
+       wormId, err := client.InitiateBucketWorm(bucketNameTest, 10)
+       c.Assert(err, IsNil)
+       c.Assert(len(wormId) > 0, Equals, true)
+
+       // GetBucketWorm
+       wormConfig, err := client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(wormConfig.WormId, Equals, wormId)
+       c.Assert(wormConfig.State, Equals, "InProgress")
+       c.Assert(wormConfig.RetentionPeriodInDays, Equals, 10)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestInitiateBucketWormFailure
+func (s *OssClientSuite) TestInitiateBucketWormFailure(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       // bucket not exist
+       wormId, err := client.InitiateBucketWorm(bucketNameTest, 10)
+       c.Assert(err, NotNil)
+       c.Assert(len(wormId), Equals, 0)
+}
+
+// TestAbortBucketWorm
+func (s *OssClientSuite) TestAbortBucketWorm(c *C) {
+       var bucketNameTest = bucketNamePrefix + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // InitiateBucketWorm
+       wormId, err := client.InitiateBucketWorm(bucketNameTest, 10)
+       c.Assert(err, IsNil)
+       c.Assert(len(wormId) > 0, Equals, true)
+
+       // GetBucketWorm success
+       wormConfig, err := client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(wormConfig.WormId, Equals, wormId)
+       c.Assert(wormConfig.State, Equals, "InProgress")
+       c.Assert(wormConfig.RetentionPeriodInDays, Equals, 10)
+
+       // abort worm
+       err = client.AbortBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // GetBucketWorm failure
+       _, err = client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, NotNil)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestCompleteBucketWorm
+func (s *OssClientSuite) TestCompleteBucketWorm(c *C) {
+       var bucketNameTest = bucketNamePrefix + "-worm-" + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // InitiateBucketWorm
+       wormId, err := client.InitiateBucketWorm(bucketNameTest, 1)
+       c.Assert(err, IsNil)
+       c.Assert(len(wormId) > 0, Equals, true)
+
+       // GetBucketWorm
+       wormConfig, err := client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(wormConfig.WormId, Equals, wormId)
+       c.Assert(wormConfig.State, Equals, "InProgress")
+       c.Assert(wormConfig.RetentionPeriodInDays, Equals, 1)
+
+       // CompleteBucketWorm
+       err = client.CompleteBucketWorm(bucketNameTest, wormId)
+       c.Assert(err, IsNil)
+
+       // GetBucketWorm again
+       wormConfig, err = client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(wormConfig.WormId, Equals, wormId)
+       c.Assert(wormConfig.State, Equals, "Locked")
+       c.Assert(wormConfig.RetentionPeriodInDays, Equals, 1)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
+
+// TestExtendBucketWorm
+func (s *OssClientSuite) TestExtendBucketWorm(c *C) {
+       var bucketNameTest = bucketNamePrefix + "-worm-" + RandLowStr(6)
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       err = client.CreateBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+
+       // InitiateBucketWorm
+       wormId, err := client.InitiateBucketWorm(bucketNameTest, 1)
+       c.Assert(err, IsNil)
+       c.Assert(len(wormId) > 0, Equals, true)
+
+       // CompleteBucketWorm
+       err = client.CompleteBucketWorm(bucketNameTest, wormId)
+       c.Assert(err, IsNil)
+
+       // GetBucketWorm
+       wormConfig, err := client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(wormConfig.WormId, Equals, wormId)
+       c.Assert(wormConfig.State, Equals, "Locked")
+       c.Assert(wormConfig.RetentionPeriodInDays, Equals, 1)
+
+       // CompleteBucketWorm
+       err = client.ExtendBucketWorm(bucketNameTest, 2, wormId)
+       c.Assert(err, IsNil)
+
+       // GetBucketWorm again
+       wormConfig, err = client.GetBucketWorm(bucketNameTest)
+       c.Assert(err, IsNil)
+       c.Assert(wormConfig.WormId, Equals, wormId)
+       c.Assert(wormConfig.State, Equals, "Locked")
+       c.Assert(wormConfig.RetentionPeriodInDays, Equals, 2)
+
+       err = client.DeleteBucket(bucketNameTest)
+       c.Assert(err, IsNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conf.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conf.go
new file mode 100644 (file)
index 0000000..55e5e37
--- /dev/null
@@ -0,0 +1,185 @@
+package oss
+
+import (
+       "bytes"
+       "fmt"
+       "log"
+       "net"
+       "os"
+       "time"
+)
+
+// Define the level of the output log
+const (
+       LogOff = iota
+       Error
+       Warn
+       Info
+       Debug
+)
+
+// LogTag Tag for each level of log
+var LogTag = []string{"[error]", "[warn]", "[info]", "[debug]"}
+
+// HTTPTimeout defines HTTP timeout.
+type HTTPTimeout struct {
+       ConnectTimeout   time.Duration
+       ReadWriteTimeout time.Duration
+       HeaderTimeout    time.Duration
+       LongTimeout      time.Duration
+       IdleConnTimeout  time.Duration
+}
+
+// HTTPMaxConns defines max idle connections and max idle connections per host
+type HTTPMaxConns struct {
+       MaxIdleConns        int
+       MaxIdleConnsPerHost int
+}
+
+// CredentialInf is interface for get AccessKeyID,AccessKeySecret,SecurityToken
+type Credentials interface {
+       GetAccessKeyID() string
+       GetAccessKeySecret() string
+       GetSecurityToken() string
+}
+
+// CredentialInfBuild is interface for get CredentialInf
+type CredentialsProvider interface {
+       GetCredentials() Credentials
+}
+
+type defaultCredentials struct {
+       config *Config
+}
+
+func (defCre *defaultCredentials) GetAccessKeyID() string {
+       return defCre.config.AccessKeyID
+}
+
+func (defCre *defaultCredentials) GetAccessKeySecret() string {
+       return defCre.config.AccessKeySecret
+}
+
+func (defCre *defaultCredentials) GetSecurityToken() string {
+       return defCre.config.SecurityToken
+}
+
+type defaultCredentialsProvider struct {
+       config *Config
+}
+
+func (defBuild *defaultCredentialsProvider) GetCredentials() Credentials {
+       return &defaultCredentials{config: defBuild.config}
+}
+
+// Config defines oss configuration
+type Config struct {
+       Endpoint            string              // OSS endpoint
+       AccessKeyID         string              // AccessId
+       AccessKeySecret     string              // AccessKey
+       RetryTimes          uint                // Retry count by default it's 5.
+       UserAgent           string              // SDK name/version/system information
+       IsDebug             bool                // Enable debug mode. Default is false.
+       Timeout             uint                // Timeout in seconds. By default it's 60.
+       SecurityToken       string              // STS Token
+       IsCname             bool                // If cname is in the endpoint.
+       HTTPTimeout         HTTPTimeout         // HTTP timeout
+       HTTPMaxConns        HTTPMaxConns        // Http max connections
+       IsUseProxy          bool                // Flag of using proxy.
+       ProxyHost           string              // Flag of using proxy host.
+       IsAuthProxy         bool                // Flag of needing authentication.
+       ProxyUser           string              // Proxy user
+       ProxyPassword       string              // Proxy password
+       IsEnableMD5         bool                // Flag of enabling MD5 for upload.
+       MD5Threshold        int64               // Memory footprint threshold for each MD5 computation (16MB is the default), in byte. When the data is more than that, temp file is used.
+       IsEnableCRC         bool                // Flag of enabling CRC for upload.
+       LogLevel            int                 // Log level
+       Logger              *log.Logger         // For write log
+       UploadLimitSpeed    int                 // Upload limit speed:KB/s, 0 is unlimited
+       UploadLimiter       *OssLimiter         // Bandwidth limit reader for upload
+       CredentialsProvider CredentialsProvider // User provides interface to get AccessKeyID, AccessKeySecret, SecurityToken
+       LocalAddr           net.Addr            // local client host info
+       UserSetUa           bool                // UserAgent is set by user or not
+       AuthVersion         AuthVersionType     //  v1 or v2 signature,default is v1
+       AdditionalHeaders   []string            //  special http headers needed to be sign
+       RedirectEnabled     bool                //  only effective from go1.7 onward, enable http redirect or not
+}
+
+// LimitUploadSpeed uploadSpeed:KB/s, 0 is unlimited,default is 0
+func (config *Config) LimitUploadSpeed(uploadSpeed int) error {
+       if uploadSpeed < 0 {
+               return fmt.Errorf("invalid argument, the value of uploadSpeed is less than 0")
+       } else if uploadSpeed == 0 {
+               config.UploadLimitSpeed = 0
+               config.UploadLimiter = nil
+               return nil
+       }
+
+       var err error
+       config.UploadLimiter, err = GetOssLimiter(uploadSpeed)
+       if err == nil {
+               config.UploadLimitSpeed = uploadSpeed
+       }
+       return err
+}
+
+// WriteLog output log function
+func (config *Config) WriteLog(LogLevel int, format string, a ...interface{}) {
+       if config.LogLevel < LogLevel || config.Logger == nil {
+               return
+       }
+
+       var logBuffer bytes.Buffer
+       logBuffer.WriteString(LogTag[LogLevel-1])
+       logBuffer.WriteString(fmt.Sprintf(format, a...))
+       config.Logger.Printf("%s", logBuffer.String())
+}
+
+// for get Credentials
+func (config *Config) GetCredentials() Credentials {
+       return config.CredentialsProvider.GetCredentials()
+}
+
+// getDefaultOssConfig gets the default configuration.
+func getDefaultOssConfig() *Config {
+       config := Config{}
+
+       config.Endpoint = ""
+       config.AccessKeyID = ""
+       config.AccessKeySecret = ""
+       config.RetryTimes = 5
+       config.IsDebug = false
+       config.UserAgent = userAgent()
+       config.Timeout = 60 // Seconds
+       config.SecurityToken = ""
+       config.IsCname = false
+
+       config.HTTPTimeout.ConnectTimeout = time.Second * 30   // 30s
+       config.HTTPTimeout.ReadWriteTimeout = time.Second * 60 // 60s
+       config.HTTPTimeout.HeaderTimeout = time.Second * 60    // 60s
+       config.HTTPTimeout.LongTimeout = time.Second * 300     // 300s
+       config.HTTPTimeout.IdleConnTimeout = time.Second * 50  // 50s
+       config.HTTPMaxConns.MaxIdleConns = 100
+       config.HTTPMaxConns.MaxIdleConnsPerHost = 100
+
+       config.IsUseProxy = false
+       config.ProxyHost = ""
+       config.IsAuthProxy = false
+       config.ProxyUser = ""
+       config.ProxyPassword = ""
+
+       config.MD5Threshold = 16 * 1024 * 1024 // 16MB
+       config.IsEnableMD5 = false
+       config.IsEnableCRC = true
+
+       config.LogLevel = LogOff
+       config.Logger = log.New(os.Stdout, "", log.LstdFlags)
+
+       provider := &defaultCredentialsProvider{config: &config}
+       config.CredentialsProvider = provider
+
+       config.AuthVersion = AuthV1
+       config.RedirectEnabled = true
+
+       return &config
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conn.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conn.go
new file mode 100644 (file)
index 0000000..6e9db0f
--- /dev/null
@@ -0,0 +1,793 @@
+package oss
+
+import (
+       "bytes"
+       "crypto/md5"
+       "encoding/base64"
+       "encoding/json"
+       "encoding/xml"
+       "fmt"
+       "hash"
+       "io"
+       "io/ioutil"
+       "net"
+       "net/http"
+       "net/url"
+       "os"
+       "sort"
+       "strconv"
+       "strings"
+       "time"
+)
+
+// Conn defines OSS Conn
+type Conn struct {
+       config *Config
+       url    *urlMaker
+       client *http.Client
+}
+
+var signKeyList = []string{"acl", "uploads", "location", "cors",
+       "logging", "website", "referer", "lifecycle",
+       "delete", "append", "tagging", "objectMeta",
+       "uploadId", "partNumber", "security-token",
+       "position", "img", "style", "styleName",
+       "replication", "replicationProgress",
+       "replicationLocation", "cname", "bucketInfo",
+       "comp", "qos", "live", "status", "vod",
+       "startTime", "endTime", "symlink",
+       "x-oss-process", "response-content-type", "x-oss-traffic-limit",
+       "response-content-language", "response-expires",
+       "response-cache-control", "response-content-disposition",
+       "response-content-encoding", "udf", "udfName", "udfImage",
+       "udfId", "udfImageDesc", "udfApplication", "comp",
+       "udfApplicationLog", "restore", "callback", "callback-var", "qosInfo",
+       "policy", "stat", "encryption", "versions", "versioning", "versionId", "requestPayment",
+       "x-oss-request-payer", "sequential",
+       "inventory", "inventoryId", "continuation-token", "asyncFetch",
+       "worm", "wormId", "wormExtend"}
+
+// init initializes Conn
+func (conn *Conn) init(config *Config, urlMaker *urlMaker, client *http.Client) error {
+       if client == nil {
+               // New transport
+               transport := newTransport(conn, config)
+
+               // Proxy
+               if conn.config.IsUseProxy {
+                       proxyURL, err := url.Parse(config.ProxyHost)
+                       if err != nil {
+                               return err
+                       }
+                       if config.IsAuthProxy {
+                               if config.ProxyPassword != "" {
+                                       proxyURL.User = url.UserPassword(config.ProxyUser, config.ProxyPassword)
+                               } else {
+                                       proxyURL.User = url.User(config.ProxyUser)
+                               }
+                       }
+                       transport.Proxy = http.ProxyURL(proxyURL)
+               }
+               client = &http.Client{Transport: transport}
+               if !config.RedirectEnabled {
+                       disableHTTPRedirect(client)
+               }
+       }
+
+       conn.config = config
+       conn.url = urlMaker
+       conn.client = client
+
+       return nil
+}
+
+// Do sends request and returns the response
+func (conn Conn) Do(method, bucketName, objectName string, params map[string]interface{}, headers map[string]string,
+       data io.Reader, initCRC uint64, listener ProgressListener) (*Response, error) {
+       urlParams := conn.getURLParams(params)
+       subResource := conn.getSubResource(params)
+       uri := conn.url.getURL(bucketName, objectName, urlParams)
+       resource := conn.getResource(bucketName, objectName, subResource)
+       return conn.doRequest(method, uri, resource, headers, data, initCRC, listener)
+}
+
+// DoURL sends the request with signed URL and returns the response result.
+func (conn Conn) DoURL(method HTTPMethod, signedURL string, headers map[string]string,
+       data io.Reader, initCRC uint64, listener ProgressListener) (*Response, error) {
+       // Get URI from signedURL
+       uri, err := url.ParseRequestURI(signedURL)
+       if err != nil {
+               return nil, err
+       }
+
+       m := strings.ToUpper(string(method))
+       req := &http.Request{
+               Method:     m,
+               URL:        uri,
+               Proto:      "HTTP/1.1",
+               ProtoMajor: 1,
+               ProtoMinor: 1,
+               Header:     make(http.Header),
+               Host:       uri.Host,
+       }
+
+       tracker := &readerTracker{completedBytes: 0}
+       fd, crc := conn.handleBody(req, data, initCRC, listener, tracker)
+       if fd != nil {
+               defer func() {
+                       fd.Close()
+                       os.Remove(fd.Name())
+               }()
+       }
+
+       if conn.config.IsAuthProxy {
+               auth := conn.config.ProxyUser + ":" + conn.config.ProxyPassword
+               basic := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
+               req.Header.Set("Proxy-Authorization", basic)
+       }
+
+       req.Header.Set(HTTPHeaderHost, req.Host)
+       req.Header.Set(HTTPHeaderUserAgent, conn.config.UserAgent)
+
+       if headers != nil {
+               for k, v := range headers {
+                       req.Header.Set(k, v)
+               }
+       }
+
+       // Transfer started
+       event := newProgressEvent(TransferStartedEvent, 0, req.ContentLength, 0)
+       publishProgress(listener, event)
+
+       if conn.config.LogLevel >= Debug {
+               conn.LoggerHTTPReq(req)
+       }
+
+       resp, err := conn.client.Do(req)
+       if err != nil {
+               // Transfer failed
+               event = newProgressEvent(TransferFailedEvent, tracker.completedBytes, req.ContentLength, 0)
+               publishProgress(listener, event)
+               conn.config.WriteLog(Debug, "[Resp:%p]http error:%s\n", req, err.Error())
+               return nil, err
+       }
+
+       if conn.config.LogLevel >= Debug {
+               //print out http resp
+               conn.LoggerHTTPResp(req, resp)
+       }
+
+       // Transfer completed
+       event = newProgressEvent(TransferCompletedEvent, tracker.completedBytes, req.ContentLength, 0)
+       publishProgress(listener, event)
+
+       return conn.handleResponse(resp, crc)
+}
+
+func (conn Conn) getURLParams(params map[string]interface{}) string {
+       // Sort
+       keys := make([]string, 0, len(params))
+       for k := range params {
+               keys = append(keys, k)
+       }
+       sort.Strings(keys)
+
+       // Serialize
+       var buf bytes.Buffer
+       for _, k := range keys {
+               if buf.Len() > 0 {
+                       buf.WriteByte('&')
+               }
+               buf.WriteString(url.QueryEscape(k))
+               if params[k] != nil {
+                       buf.WriteString("=" + strings.Replace(url.QueryEscape(params[k].(string)), "+", "%20", -1))
+               }
+       }
+
+       return buf.String()
+}
+
+func (conn Conn) getSubResource(params map[string]interface{}) string {
+       // Sort
+       keys := make([]string, 0, len(params))
+       signParams := make(map[string]string)
+       for k := range params {
+               if conn.config.AuthVersion == AuthV2 {
+                       encodedKey := url.QueryEscape(k)
+                       keys = append(keys, encodedKey)
+                       if params[k] != nil && params[k] != "" {
+                               signParams[encodedKey] = strings.Replace(url.QueryEscape(params[k].(string)), "+", "%20", -1)
+                       }
+               } else if conn.isParamSign(k) {
+                       keys = append(keys, k)
+                       if params[k] != nil {
+                               signParams[k] = params[k].(string)
+                       }
+               }
+       }
+       sort.Strings(keys)
+
+       // Serialize
+       var buf bytes.Buffer
+       for _, k := range keys {
+               if buf.Len() > 0 {
+                       buf.WriteByte('&')
+               }
+               buf.WriteString(k)
+               if _, ok := signParams[k]; ok {
+                       buf.WriteString("=" + signParams[k])
+               }
+       }
+       return buf.String()
+}
+
+func (conn Conn) isParamSign(paramKey string) bool {
+       for _, k := range signKeyList {
+               if paramKey == k {
+                       return true
+               }
+       }
+       return false
+}
+
+// getResource gets canonicalized resource
+func (conn Conn) getResource(bucketName, objectName, subResource string) string {
+       if subResource != "" {
+               subResource = "?" + subResource
+       }
+       if bucketName == "" {
+               if conn.config.AuthVersion == AuthV2 {
+                       return url.QueryEscape("/") + subResource
+               }
+               return fmt.Sprintf("/%s%s", bucketName, subResource)
+       }
+       if conn.config.AuthVersion == AuthV2 {
+               return url.QueryEscape("/"+bucketName+"/") + strings.Replace(url.QueryEscape(objectName), "+", "%20", -1) + subResource
+       }
+       return fmt.Sprintf("/%s/%s%s", bucketName, objectName, subResource)
+}
+
+func (conn Conn) doRequest(method string, uri *url.URL, canonicalizedResource string, headers map[string]string,
+       data io.Reader, initCRC uint64, listener ProgressListener) (*Response, error) {
+       method = strings.ToUpper(method)
+       req := &http.Request{
+               Method:     method,
+               URL:        uri,
+               Proto:      "HTTP/1.1",
+               ProtoMajor: 1,
+               ProtoMinor: 1,
+               Header:     make(http.Header),
+               Host:       uri.Host,
+       }
+
+       tracker := &readerTracker{completedBytes: 0}
+       fd, crc := conn.handleBody(req, data, initCRC, listener, tracker)
+       if fd != nil {
+               defer func() {
+                       fd.Close()
+                       os.Remove(fd.Name())
+               }()
+       }
+
+       if conn.config.IsAuthProxy {
+               auth := conn.config.ProxyUser + ":" + conn.config.ProxyPassword
+               basic := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
+               req.Header.Set("Proxy-Authorization", basic)
+       }
+
+       date := time.Now().UTC().Format(http.TimeFormat)
+       req.Header.Set(HTTPHeaderDate, date)
+       req.Header.Set(HTTPHeaderHost, req.Host)
+       req.Header.Set(HTTPHeaderUserAgent, conn.config.UserAgent)
+
+       akIf := conn.config.GetCredentials()
+       if akIf.GetSecurityToken() != "" {
+               req.Header.Set(HTTPHeaderOssSecurityToken, akIf.GetSecurityToken())
+       }
+
+       if headers != nil {
+               for k, v := range headers {
+                       req.Header.Set(k, v)
+               }
+       }
+
+       conn.signHeader(req, canonicalizedResource)
+
+       // Transfer started
+       event := newProgressEvent(TransferStartedEvent, 0, req.ContentLength, 0)
+       publishProgress(listener, event)
+
+       if conn.config.LogLevel >= Debug {
+               conn.LoggerHTTPReq(req)
+       }
+
+       resp, err := conn.client.Do(req)
+
+       if err != nil {
+               // Transfer failed
+               event = newProgressEvent(TransferFailedEvent, tracker.completedBytes, req.ContentLength, 0)
+               publishProgress(listener, event)
+               conn.config.WriteLog(Debug, "[Resp:%p]http error:%s\n", req, err.Error())
+               return nil, err
+       }
+
+       if conn.config.LogLevel >= Debug {
+               //print out http resp
+               conn.LoggerHTTPResp(req, resp)
+       }
+
+       // Transfer completed
+       event = newProgressEvent(TransferCompletedEvent, tracker.completedBytes, req.ContentLength, 0)
+       publishProgress(listener, event)
+
+       return conn.handleResponse(resp, crc)
+}
+
+func (conn Conn) signURL(method HTTPMethod, bucketName, objectName string, expiration int64, params map[string]interface{}, headers map[string]string) string {
+       akIf := conn.config.GetCredentials()
+       if akIf.GetSecurityToken() != "" {
+               params[HTTPParamSecurityToken] = akIf.GetSecurityToken()
+       }
+
+       m := strings.ToUpper(string(method))
+       req := &http.Request{
+               Method: m,
+               Header: make(http.Header),
+       }
+
+       if conn.config.IsAuthProxy {
+               auth := conn.config.ProxyUser + ":" + conn.config.ProxyPassword
+               basic := "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
+               req.Header.Set("Proxy-Authorization", basic)
+       }
+
+       req.Header.Set(HTTPHeaderDate, strconv.FormatInt(expiration, 10))
+       req.Header.Set(HTTPHeaderUserAgent, conn.config.UserAgent)
+
+       if headers != nil {
+               for k, v := range headers {
+                       req.Header.Set(k, v)
+               }
+       }
+
+       if conn.config.AuthVersion == AuthV2 {
+               params[HTTPParamSignatureVersion] = "OSS2"
+               params[HTTPParamExpiresV2] = strconv.FormatInt(expiration, 10)
+               params[HTTPParamAccessKeyIDV2] = conn.config.AccessKeyID
+               additionalList, _ := conn.getAdditionalHeaderKeys(req)
+               if len(additionalList) > 0 {
+                       params[HTTPParamAdditionalHeadersV2] = strings.Join(additionalList, ";")
+               }
+       }
+
+       subResource := conn.getSubResource(params)
+       canonicalizedResource := conn.getResource(bucketName, objectName, subResource)
+       signedStr := conn.getSignedStr(req, canonicalizedResource, akIf.GetAccessKeySecret())
+
+       if conn.config.AuthVersion == AuthV1 {
+               params[HTTPParamExpires] = strconv.FormatInt(expiration, 10)
+               params[HTTPParamAccessKeyID] = akIf.GetAccessKeyID()
+               params[HTTPParamSignature] = signedStr
+       } else if conn.config.AuthVersion == AuthV2 {
+               params[HTTPParamSignatureV2] = signedStr
+       }
+       urlParams := conn.getURLParams(params)
+       return conn.url.getSignURL(bucketName, objectName, urlParams)
+}
+
+func (conn Conn) signRtmpURL(bucketName, channelName, playlistName string, expiration int64) string {
+       params := map[string]interface{}{}
+       if playlistName != "" {
+               params[HTTPParamPlaylistName] = playlistName
+       }
+       expireStr := strconv.FormatInt(expiration, 10)
+       params[HTTPParamExpires] = expireStr
+
+       akIf := conn.config.GetCredentials()
+       if akIf.GetAccessKeyID() != "" {
+               params[HTTPParamAccessKeyID] = akIf.GetAccessKeyID()
+               if akIf.GetSecurityToken() != "" {
+                       params[HTTPParamSecurityToken] = akIf.GetSecurityToken()
+               }
+               signedStr := conn.getRtmpSignedStr(bucketName, channelName, playlistName, expiration, akIf.GetAccessKeySecret(), params)
+               params[HTTPParamSignature] = signedStr
+       }
+
+       urlParams := conn.getURLParams(params)
+       return conn.url.getSignRtmpURL(bucketName, channelName, urlParams)
+}
+
+// handleBody handles request body
+func (conn Conn) handleBody(req *http.Request, body io.Reader, initCRC uint64,
+       listener ProgressListener, tracker *readerTracker) (*os.File, hash.Hash64) {
+       var file *os.File
+       var crc hash.Hash64
+       reader := body
+       readerLen, err := GetReaderLen(reader)
+       if err == nil {
+               req.ContentLength = readerLen
+       }
+       req.Header.Set(HTTPHeaderContentLength, strconv.FormatInt(req.ContentLength, 10))
+
+       // MD5
+       if body != nil && conn.config.IsEnableMD5 && req.Header.Get(HTTPHeaderContentMD5) == "" {
+               md5 := ""
+               reader, md5, file, _ = calcMD5(body, req.ContentLength, conn.config.MD5Threshold)
+               req.Header.Set(HTTPHeaderContentMD5, md5)
+       }
+
+       // CRC
+       if reader != nil && conn.config.IsEnableCRC {
+               crc = NewCRC(CrcTable(), initCRC)
+               reader = TeeReader(reader, crc, req.ContentLength, listener, tracker)
+       }
+
+       // HTTP body
+       rc, ok := reader.(io.ReadCloser)
+       if !ok && reader != nil {
+               rc = ioutil.NopCloser(reader)
+       }
+
+       if conn.isUploadLimitReq(req) {
+               limitReader := &LimitSpeedReader{
+                       reader:     rc,
+                       ossLimiter: conn.config.UploadLimiter,
+               }
+               req.Body = limitReader
+       } else {
+               req.Body = rc
+       }
+       return file, crc
+}
+
+// isUploadLimitReq: judge limit upload speed or not
+func (conn Conn) isUploadLimitReq(req *http.Request) bool {
+       if conn.config.UploadLimitSpeed == 0 || conn.config.UploadLimiter == nil {
+               return false
+       }
+
+       if req.Method != "GET" && req.Method != "DELETE" && req.Method != "HEAD" {
+               if req.ContentLength > 0 {
+                       return true
+               }
+       }
+       return false
+}
+
+func tryGetFileSize(f *os.File) int64 {
+       fInfo, _ := f.Stat()
+       return fInfo.Size()
+}
+
+// handleResponse handles response
+func (conn Conn) handleResponse(resp *http.Response, crc hash.Hash64) (*Response, error) {
+       var cliCRC uint64
+       var srvCRC uint64
+
+       statusCode := resp.StatusCode
+       if statusCode >= 400 && statusCode <= 505 {
+               // 4xx and 5xx indicate that the operation has error occurred
+               var respBody []byte
+               respBody, err := readResponseBody(resp)
+               if err != nil {
+                       return nil, err
+               }
+
+               if len(respBody) == 0 {
+                       err = ServiceError{
+                               StatusCode: statusCode,
+                               RequestID:  resp.Header.Get(HTTPHeaderOssRequestID),
+                       }
+               } else {
+                       // Response contains storage service error object, unmarshal
+                       srvErr, errIn := serviceErrFromXML(respBody, resp.StatusCode,
+                               resp.Header.Get(HTTPHeaderOssRequestID))
+                       if errIn != nil { // error unmarshaling the error response
+                               err = fmt.Errorf("oss: service returned invalid response body, status = %s, RequestId = %s", resp.Status, resp.Header.Get(HTTPHeaderOssRequestID))
+                       } else {
+                               err = srvErr
+                       }
+               }
+
+               return &Response{
+                       StatusCode: resp.StatusCode,
+                       Headers:    resp.Header,
+                       Body:       ioutil.NopCloser(bytes.NewReader(respBody)), // restore the body
+               }, err
+       } else if statusCode >= 300 && statusCode <= 307 {
+               // OSS use 3xx, but response has no body
+               err := fmt.Errorf("oss: service returned %d,%s", resp.StatusCode, resp.Status)
+               return &Response{
+                       StatusCode: resp.StatusCode,
+                       Headers:    resp.Header,
+                       Body:       resp.Body,
+               }, err
+       }
+
+       if conn.config.IsEnableCRC && crc != nil {
+               cliCRC = crc.Sum64()
+       }
+       srvCRC, _ = strconv.ParseUint(resp.Header.Get(HTTPHeaderOssCRC64), 10, 64)
+
+       // 2xx, successful
+       return &Response{
+               StatusCode: resp.StatusCode,
+               Headers:    resp.Header,
+               Body:       resp.Body,
+               ClientCRC:  cliCRC,
+               ServerCRC:  srvCRC,
+       }, nil
+}
+
+// LoggerHTTPReq Print the header information of the http request
+func (conn Conn) LoggerHTTPReq(req *http.Request) {
+       var logBuffer bytes.Buffer
+       logBuffer.WriteString(fmt.Sprintf("[Req:%p]Method:%s\t", req, req.Method))
+       logBuffer.WriteString(fmt.Sprintf("Host:%s\t", req.URL.Host))
+       logBuffer.WriteString(fmt.Sprintf("Path:%s\t", req.URL.Path))
+       logBuffer.WriteString(fmt.Sprintf("Query:%s\t", req.URL.RawQuery))
+       logBuffer.WriteString(fmt.Sprintf("Header info:"))
+
+       for k, v := range req.Header {
+               var valueBuffer bytes.Buffer
+               for j := 0; j < len(v); j++ {
+                       if j > 0 {
+                               valueBuffer.WriteString(" ")
+                       }
+                       valueBuffer.WriteString(v[j])
+               }
+               logBuffer.WriteString(fmt.Sprintf("\t%s:%s", k, valueBuffer.String()))
+       }
+       conn.config.WriteLog(Debug, "%s\n", logBuffer.String())
+}
+
+// LoggerHTTPResp Print Response to http request
+func (conn Conn) LoggerHTTPResp(req *http.Request, resp *http.Response) {
+       var logBuffer bytes.Buffer
+       logBuffer.WriteString(fmt.Sprintf("[Resp:%p]StatusCode:%d\t", req, resp.StatusCode))
+       logBuffer.WriteString(fmt.Sprintf("Header info:"))
+       for k, v := range resp.Header {
+               var valueBuffer bytes.Buffer
+               for j := 0; j < len(v); j++ {
+                       if j > 0 {
+                               valueBuffer.WriteString(" ")
+                       }
+                       valueBuffer.WriteString(v[j])
+               }
+               logBuffer.WriteString(fmt.Sprintf("\t%s:%s", k, valueBuffer.String()))
+       }
+       conn.config.WriteLog(Debug, "%s\n", logBuffer.String())
+}
+
+func calcMD5(body io.Reader, contentLen, md5Threshold int64) (reader io.Reader, b64 string, tempFile *os.File, err error) {
+       if contentLen == 0 || contentLen > md5Threshold {
+               // Huge body, use temporary file
+               tempFile, err = ioutil.TempFile(os.TempDir(), TempFilePrefix)
+               if tempFile != nil {
+                       io.Copy(tempFile, body)
+                       tempFile.Seek(0, os.SEEK_SET)
+                       md5 := md5.New()
+                       io.Copy(md5, tempFile)
+                       sum := md5.Sum(nil)
+                       b64 = base64.StdEncoding.EncodeToString(sum[:])
+                       tempFile.Seek(0, os.SEEK_SET)
+                       reader = tempFile
+               }
+       } else {
+               // Small body, use memory
+               buf, _ := ioutil.ReadAll(body)
+               sum := md5.Sum(buf)
+               b64 = base64.StdEncoding.EncodeToString(sum[:])
+               reader = bytes.NewReader(buf)
+       }
+       return
+}
+
+func readResponseBody(resp *http.Response) ([]byte, error) {
+       defer resp.Body.Close()
+       out, err := ioutil.ReadAll(resp.Body)
+       if err == io.EOF {
+               err = nil
+       }
+       return out, err
+}
+
+func serviceErrFromXML(body []byte, statusCode int, requestID string) (ServiceError, error) {
+       var storageErr ServiceError
+
+       if err := xml.Unmarshal(body, &storageErr); err != nil {
+               return storageErr, err
+       }
+
+       storageErr.StatusCode = statusCode
+       storageErr.RequestID = requestID
+       storageErr.RawMessage = string(body)
+       return storageErr, nil
+}
+
+func xmlUnmarshal(body io.Reader, v interface{}) error {
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               return err
+       }
+       return xml.Unmarshal(data, v)
+}
+
+func jsonUnmarshal(body io.Reader, v interface{}) error {
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               return err
+       }
+       return json.Unmarshal(data, v)
+}
+
+// timeoutConn handles HTTP timeout
+type timeoutConn struct {
+       conn        net.Conn
+       timeout     time.Duration
+       longTimeout time.Duration
+}
+
+func newTimeoutConn(conn net.Conn, timeout time.Duration, longTimeout time.Duration) *timeoutConn {
+       conn.SetReadDeadline(time.Now().Add(longTimeout))
+       return &timeoutConn{
+               conn:        conn,
+               timeout:     timeout,
+               longTimeout: longTimeout,
+       }
+}
+
+func (c *timeoutConn) Read(b []byte) (n int, err error) {
+       c.SetReadDeadline(time.Now().Add(c.timeout))
+       n, err = c.conn.Read(b)
+       c.SetReadDeadline(time.Now().Add(c.longTimeout))
+       return n, err
+}
+
+func (c *timeoutConn) Write(b []byte) (n int, err error) {
+       c.SetWriteDeadline(time.Now().Add(c.timeout))
+       n, err = c.conn.Write(b)
+       c.SetReadDeadline(time.Now().Add(c.longTimeout))
+       return n, err
+}
+
+func (c *timeoutConn) Close() error {
+       return c.conn.Close()
+}
+
+func (c *timeoutConn) LocalAddr() net.Addr {
+       return c.conn.LocalAddr()
+}
+
+func (c *timeoutConn) RemoteAddr() net.Addr {
+       return c.conn.RemoteAddr()
+}
+
+func (c *timeoutConn) SetDeadline(t time.Time) error {
+       return c.conn.SetDeadline(t)
+}
+
+func (c *timeoutConn) SetReadDeadline(t time.Time) error {
+       return c.conn.SetReadDeadline(t)
+}
+
+func (c *timeoutConn) SetWriteDeadline(t time.Time) error {
+       return c.conn.SetWriteDeadline(t)
+}
+
+// UrlMaker builds URL and resource
+const (
+       urlTypeCname  = 1
+       urlTypeIP     = 2
+       urlTypeAliyun = 3
+)
+
+type urlMaker struct {
+       Scheme  string // HTTP or HTTPS
+       NetLoc  string // Host or IP
+       Type    int    // 1 CNAME, 2 IP, 3 ALIYUN
+       IsProxy bool   // Proxy
+}
+
+// Init parses endpoint
+func (um *urlMaker) Init(endpoint string, isCname bool, isProxy bool) error {
+       if strings.HasPrefix(endpoint, "http://") {
+               um.Scheme = "http"
+               um.NetLoc = endpoint[len("http://"):]
+       } else if strings.HasPrefix(endpoint, "https://") {
+               um.Scheme = "https"
+               um.NetLoc = endpoint[len("https://"):]
+       } else {
+               um.Scheme = "http"
+               um.NetLoc = endpoint
+       }
+
+       //use url.Parse() to get real host
+       strUrl := um.Scheme + "://" + um.NetLoc
+       url, err := url.Parse(strUrl)
+       if err != nil {
+               return err
+       }
+
+       um.NetLoc = url.Host
+       host, _, err := net.SplitHostPort(um.NetLoc)
+       if err != nil {
+               host = um.NetLoc
+               if host[0] == '[' && host[len(host)-1] == ']' {
+                       host = host[1 : len(host)-1]
+               }
+       }
+
+       ip := net.ParseIP(host)
+       if ip != nil {
+               um.Type = urlTypeIP
+       } else if isCname {
+               um.Type = urlTypeCname
+       } else {
+               um.Type = urlTypeAliyun
+       }
+       um.IsProxy = isProxy
+
+       return nil
+}
+
+// getURL gets URL
+func (um urlMaker) getURL(bucket, object, params string) *url.URL {
+       host, path := um.buildURL(bucket, object)
+       addr := ""
+       if params == "" {
+               addr = fmt.Sprintf("%s://%s%s", um.Scheme, host, path)
+       } else {
+               addr = fmt.Sprintf("%s://%s%s?%s", um.Scheme, host, path, params)
+       }
+       uri, _ := url.ParseRequestURI(addr)
+       return uri
+}
+
+// getSignURL gets sign URL
+func (um urlMaker) getSignURL(bucket, object, params string) string {
+       host, path := um.buildURL(bucket, object)
+       return fmt.Sprintf("%s://%s%s?%s", um.Scheme, host, path, params)
+}
+
+// getSignRtmpURL Build Sign Rtmp URL
+func (um urlMaker) getSignRtmpURL(bucket, channelName, params string) string {
+       host, path := um.buildURL(bucket, "live")
+
+       channelName = url.QueryEscape(channelName)
+       channelName = strings.Replace(channelName, "+", "%20", -1)
+
+       return fmt.Sprintf("rtmp://%s%s/%s?%s", host, path, channelName, params)
+}
+
+// buildURL builds URL
+func (um urlMaker) buildURL(bucket, object string) (string, string) {
+       var host = ""
+       var path = ""
+
+       object = url.QueryEscape(object)
+       object = strings.Replace(object, "+", "%20", -1)
+
+       if um.Type == urlTypeCname {
+               host = um.NetLoc
+               path = "/" + object
+       } else if um.Type == urlTypeIP {
+               if bucket == "" {
+                       host = um.NetLoc
+                       path = "/"
+               } else {
+                       host = um.NetLoc
+                       path = fmt.Sprintf("/%s/%s", bucket, object)
+               }
+       } else {
+               if bucket == "" {
+                       host = um.NetLoc
+                       path = "/"
+               } else {
+                       host = bucket + "." + um.NetLoc
+                       path = "/" + object
+               }
+       }
+
+       return host, path
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conn_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/conn_test.go
new file mode 100644 (file)
index 0000000..be57867
--- /dev/null
@@ -0,0 +1,192 @@
+package oss
+
+import (
+       "net/http"
+       "os"
+       "strings"
+       "time"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssConnSuite struct{}
+
+var _ = Suite(&OssConnSuite{})
+
+func (s *OssConnSuite) TestURLMarker(c *C) {
+       um := urlMaker{}
+       um.Init("docs.github.com", true, false)
+       c.Assert(um.Type, Equals, urlTypeCname)
+       c.Assert(um.Scheme, Equals, "http")
+       c.Assert(um.NetLoc, Equals, "docs.github.com")
+
+       c.Assert(um.getURL("bucket", "object", "params").String(), Equals, "http://docs.github.com/object?params")
+       c.Assert(um.getURL("bucket", "object", "").String(), Equals, "http://docs.github.com/object")
+       c.Assert(um.getURL("", "object", "").String(), Equals, "http://docs.github.com/object")
+
+       var conn Conn
+       conn.config = getDefaultOssConfig()
+       conn.config.AuthVersion = AuthV1
+       c.Assert(conn.getResource("bucket", "object", "subres"), Equals, "/bucket/object?subres")
+       c.Assert(conn.getResource("bucket", "object", ""), Equals, "/bucket/object")
+       c.Assert(conn.getResource("", "object", ""), Equals, "/")
+
+       um.Init("https://docs.github.com", true, false)
+       c.Assert(um.Type, Equals, urlTypeCname)
+       c.Assert(um.Scheme, Equals, "https")
+       c.Assert(um.NetLoc, Equals, "docs.github.com")
+
+       um.Init("http://docs.github.com", true, false)
+       c.Assert(um.Type, Equals, urlTypeCname)
+       c.Assert(um.Scheme, Equals, "http")
+       c.Assert(um.NetLoc, Equals, "docs.github.com")
+
+       um.Init("docs.github.com:8080", false, true)
+       c.Assert(um.Type, Equals, urlTypeAliyun)
+       c.Assert(um.Scheme, Equals, "http")
+       c.Assert(um.NetLoc, Equals, "docs.github.com:8080")
+
+       c.Assert(um.getURL("bucket", "object", "params").String(), Equals, "http://bucket.docs.github.com:8080/object?params")
+       c.Assert(um.getURL("bucket", "object", "").String(), Equals, "http://bucket.docs.github.com:8080/object")
+       c.Assert(um.getURL("", "object", "").String(), Equals, "http://docs.github.com:8080/")
+       c.Assert(conn.getResource("bucket", "object", "subres"), Equals, "/bucket/object?subres")
+       c.Assert(conn.getResource("bucket", "object", ""), Equals, "/bucket/object")
+       c.Assert(conn.getResource("", "object", ""), Equals, "/")
+
+       um.Init("https://docs.github.com:8080", false, true)
+       c.Assert(um.Type, Equals, urlTypeAliyun)
+       c.Assert(um.Scheme, Equals, "https")
+       c.Assert(um.NetLoc, Equals, "docs.github.com:8080")
+
+       um.Init("127.0.0.1", false, true)
+       c.Assert(um.Type, Equals, urlTypeIP)
+       c.Assert(um.Scheme, Equals, "http")
+       c.Assert(um.NetLoc, Equals, "127.0.0.1")
+
+       um.Init("http://127.0.0.1", false, false)
+       c.Assert(um.Type, Equals, urlTypeIP)
+       c.Assert(um.Scheme, Equals, "http")
+       c.Assert(um.NetLoc, Equals, "127.0.0.1")
+       c.Assert(um.getURL("bucket", "object", "params").String(), Equals, "http://127.0.0.1/bucket/object?params")
+       c.Assert(um.getURL("", "object", "params").String(), Equals, "http://127.0.0.1/?params")
+
+       um.Init("https://127.0.0.1:8080", false, false)
+       c.Assert(um.Type, Equals, urlTypeIP)
+       c.Assert(um.Scheme, Equals, "https")
+       c.Assert(um.NetLoc, Equals, "127.0.0.1:8080")
+
+       um.Init("http://[2401:b180::dc]", false, false)
+       c.Assert(um.Type, Equals, urlTypeIP)
+       c.Assert(um.Scheme, Equals, "http")
+       c.Assert(um.NetLoc, Equals, "[2401:b180::dc]")
+
+       um.Init("https://[2401:b180::dc]:8080", false, false)
+       c.Assert(um.Type, Equals, urlTypeIP)
+       c.Assert(um.Scheme, Equals, "https")
+       c.Assert(um.NetLoc, Equals, "[2401:b180::dc]:8080")
+}
+
+func (s *OssConnSuite) TestAuth(c *C) {
+       endpoint := "https://github.com/"
+       cfg := getDefaultOssConfig()
+       cfg.AuthVersion = AuthV1
+       um := urlMaker{}
+       um.Init(endpoint, false, false)
+       conn := Conn{cfg, &um, nil}
+       uri := um.getURL("bucket", "object", "")
+       req := &http.Request{
+               Method:     "PUT",
+               URL:        uri,
+               Proto:      "HTTP/1.1",
+               ProtoMajor: 1,
+               ProtoMinor: 1,
+               Header:     make(http.Header),
+               Host:       uri.Host,
+       }
+
+       req.Header.Set("Content-Type", "text/html")
+       req.Header.Set("Date", "Thu, 17 Nov 2005 18:49:58 GMT")
+       req.Header.Set("Host", endpoint)
+       req.Header.Set("X-OSS-Meta-Your", "your")
+       req.Header.Set("X-OSS-Meta-Author", "foo@bar.com")
+       req.Header.Set("X-OSS-Magic", "abracadabra")
+       req.Header.Set("Content-Md5", "ODBGOERFMDMzQTczRUY3NUE3NzA5QzdFNUYzMDQxNEM=")
+
+       conn.signHeader(req, conn.getResource("bucket", "object", ""))
+       testLogger.Println("AUTHORIZATION:", req.Header.Get(HTTPHeaderAuthorization))
+}
+
+func (s *OssConnSuite) TestConnToolFunc(c *C) {
+       err := CheckRespCode(202, []int{})
+       c.Assert(err, NotNil)
+
+       err = CheckRespCode(202, []int{404})
+       c.Assert(err, NotNil)
+
+       err = CheckRespCode(202, []int{202, 404})
+       c.Assert(err, IsNil)
+
+       srvErr, err := serviceErrFromXML([]byte(""), 312, "")
+       c.Assert(err, NotNil)
+       c.Assert(srvErr.StatusCode, Equals, 0)
+
+       srvErr, err = serviceErrFromXML([]byte("ABC"), 312, "")
+       c.Assert(err, NotNil)
+       c.Assert(srvErr.StatusCode, Equals, 0)
+
+       srvErr, err = serviceErrFromXML([]byte("<Error></Error>"), 312, "")
+       c.Assert(err, IsNil)
+       c.Assert(srvErr.StatusCode, Equals, 312)
+
+       unexpect := UnexpectedStatusCodeError{[]int{200}, 202}
+       c.Assert(len(unexpect.Error()) > 0, Equals, true)
+       c.Assert(unexpect.Got(), Equals, 202)
+
+       fd, err := os.Open("../sample/BingWallpaper-2015-11-07.jpg")
+       c.Assert(err, IsNil)
+       fd.Close()
+       var out ProcessObjectResult
+       err = jsonUnmarshal(fd, &out)
+       c.Assert(err, NotNil)
+}
+
+func (s *OssConnSuite) TestSignRtmpURL(c *C) {
+       cfg := getDefaultOssConfig()
+
+       um := urlMaker{}
+       um.Init(endpoint, false, false)
+       conn := Conn{cfg, &um, nil}
+
+       //Anonymous
+       channelName := "test-sign-rtmp-url"
+       playlistName := "playlist.m3u8"
+       expiration := time.Now().Unix() + 3600
+       signedRtmpURL := conn.signRtmpURL(bucketName, channelName, playlistName, expiration)
+       playURL := getPublishURL(bucketName, channelName)
+       hasPrefix := strings.HasPrefix(signedRtmpURL, playURL)
+       c.Assert(hasPrefix, Equals, true)
+
+       //empty playlist name
+       playlistName = ""
+       signedRtmpURL = conn.signRtmpURL(bucketName, channelName, playlistName, expiration)
+       playURL = getPublishURL(bucketName, channelName)
+       hasPrefix = strings.HasPrefix(signedRtmpURL, playURL)
+       c.Assert(hasPrefix, Equals, true)
+}
+
+func (s *OssConnSuite) TestGetRtmpSignedStr(c *C) {
+       cfg := getDefaultOssConfig()
+       um := urlMaker{}
+       um.Init(endpoint, false, false)
+       conn := Conn{cfg, &um, nil}
+
+       akIf := conn.config.GetCredentials()
+
+       //Anonymous
+       channelName := "test-get-rtmp-signed-str"
+       playlistName := "playlist.m3u8"
+       expiration := time.Now().Unix() + 3600
+       params := map[string]interface{}{}
+       signedStr := conn.getRtmpSignedStr(bucketName, channelName, playlistName, expiration, akIf.GetAccessKeySecret(), params)
+       c.Assert(signedStr, Equals, "")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/const.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/const.go
new file mode 100644 (file)
index 0000000..cf3329f
--- /dev/null
@@ -0,0 +1,247 @@
+package oss
+
+import "os"
+
+// ACLType bucket/object ACL
+type ACLType string
+
+const (
+       // ACLPrivate definition : private read and write
+       ACLPrivate ACLType = "private"
+
+       // ACLPublicRead definition : public read and private write
+       ACLPublicRead ACLType = "public-read"
+
+       // ACLPublicReadWrite definition : public read and public write
+       ACLPublicReadWrite ACLType = "public-read-write"
+
+       // ACLDefault Object. It's only applicable for object.
+       ACLDefault ACLType = "default"
+)
+
+// bucket versioning status
+type VersioningStatus string
+
+const (
+       // Versioning Status definition: Enabled
+       VersionEnabled VersioningStatus = "Enabled"
+
+       // Versioning Status definition: Suspended
+       VersionSuspended VersioningStatus = "Suspended"
+)
+
+// MetadataDirectiveType specifying whether use the metadata of source object when copying object.
+type MetadataDirectiveType string
+
+const (
+       // MetaCopy the target object's metadata is copied from the source one
+       MetaCopy MetadataDirectiveType = "COPY"
+
+       // MetaReplace the target object's metadata is created as part of the copy request (not same as the source one)
+       MetaReplace MetadataDirectiveType = "REPLACE"
+)
+
+// TaggingDirectiveType specifying whether use the tagging of source object when copying object.
+type TaggingDirectiveType string
+
+const (
+       // TaggingCopy the target object's tagging is copied from the source one
+       TaggingCopy TaggingDirectiveType = "COPY"
+
+       // TaggingReplace the target object's tagging is created as part of the copy request (not same as the source one)
+       TaggingReplace TaggingDirectiveType = "REPLACE"
+)
+
+// AlgorithmType specifying the server side encryption algorithm name
+type AlgorithmType string
+
+const (
+       KMSAlgorithm AlgorithmType = "KMS"
+       AESAlgorithm AlgorithmType = "AES256"
+       SM4Algorithm AlgorithmType = "SM4"
+)
+
+// StorageClassType bucket storage type
+type StorageClassType string
+
+const (
+       // StorageStandard standard
+       StorageStandard StorageClassType = "Standard"
+
+       // StorageIA infrequent access
+       StorageIA StorageClassType = "IA"
+
+       // StorageArchive archive
+       StorageArchive StorageClassType = "Archive"
+
+       // StorageColdArchive cold archive
+       StorageColdArchive StorageClassType = "ColdArchive"
+)
+
+//RedundancyType bucket data Redundancy type
+type DataRedundancyType string
+
+const (
+       // RedundancyLRS Local redundancy, default value
+       RedundancyLRS DataRedundancyType = "LRS"
+
+       // RedundancyZRS Same city redundancy
+       RedundancyZRS DataRedundancyType = "ZRS"
+)
+
+// PayerType the type of request payer
+type PayerType string
+
+const (
+       // Requester the requester who send the request
+       Requester PayerType = "Requester"
+
+       // BucketOwner the requester who send the request
+       BucketOwner PayerType = "BucketOwner"
+)
+
+//RestoreMode the restore mode for coldArchive object
+type RestoreMode string
+
+const (
+       //RestoreExpedited object will be restored in 1 hour
+       RestoreExpedited RestoreMode = "Expedited"
+
+       //RestoreStandard object will be restored in 2-5 hours
+       RestoreStandard RestoreMode = "Standard"
+
+       //RestoreBulk object will be restored in 5-10 hours
+       RestoreBulk RestoreMode = "Bulk"
+)
+
+// HTTPMethod HTTP request method
+type HTTPMethod string
+
+const (
+       // HTTPGet HTTP GET
+       HTTPGet HTTPMethod = "GET"
+
+       // HTTPPut HTTP PUT
+       HTTPPut HTTPMethod = "PUT"
+
+       // HTTPHead HTTP HEAD
+       HTTPHead HTTPMethod = "HEAD"
+
+       // HTTPPost HTTP POST
+       HTTPPost HTTPMethod = "POST"
+
+       // HTTPDelete HTTP DELETE
+       HTTPDelete HTTPMethod = "DELETE"
+)
+
+// HTTP headers
+const (
+       HTTPHeaderAcceptEncoding     string = "Accept-Encoding"
+       HTTPHeaderAuthorization             = "Authorization"
+       HTTPHeaderCacheControl              = "Cache-Control"
+       HTTPHeaderContentDisposition        = "Content-Disposition"
+       HTTPHeaderContentEncoding           = "Content-Encoding"
+       HTTPHeaderContentLength             = "Content-Length"
+       HTTPHeaderContentMD5                = "Content-MD5"
+       HTTPHeaderContentType               = "Content-Type"
+       HTTPHeaderContentLanguage           = "Content-Language"
+       HTTPHeaderDate                      = "Date"
+       HTTPHeaderEtag                      = "ETag"
+       HTTPHeaderExpires                   = "Expires"
+       HTTPHeaderHost                      = "Host"
+       HTTPHeaderLastModified              = "Last-Modified"
+       HTTPHeaderRange                     = "Range"
+       HTTPHeaderLocation                  = "Location"
+       HTTPHeaderOrigin                    = "Origin"
+       HTTPHeaderServer                    = "Server"
+       HTTPHeaderUserAgent                 = "User-Agent"
+       HTTPHeaderIfModifiedSince           = "If-Modified-Since"
+       HTTPHeaderIfUnmodifiedSince         = "If-Unmodified-Since"
+       HTTPHeaderIfMatch                   = "If-Match"
+       HTTPHeaderIfNoneMatch               = "If-None-Match"
+       HTTPHeaderACReqMethod               = "Access-Control-Request-Method"
+       HTTPHeaderACReqHeaders              = "Access-Control-Request-Headers"
+
+       HTTPHeaderOssACL                         = "X-Oss-Acl"
+       HTTPHeaderOssMetaPrefix                  = "X-Oss-Meta-"
+       HTTPHeaderOssObjectACL                   = "X-Oss-Object-Acl"
+       HTTPHeaderOssSecurityToken               = "X-Oss-Security-Token"
+       HTTPHeaderOssServerSideEncryption        = "X-Oss-Server-Side-Encryption"
+       HTTPHeaderOssServerSideEncryptionKeyID   = "X-Oss-Server-Side-Encryption-Key-Id"
+       HTTPHeaderOssServerSideDataEncryption    = "X-Oss-Server-Side-Data-Encryption"
+       HTTPHeaderSSECAlgorithm                  = "X-Oss-Server-Side-Encryption-Customer-Algorithm"
+       HTTPHeaderSSECKey                        = "X-Oss-Server-Side-Encryption-Customer-Key"
+       HTTPHeaderSSECKeyMd5                     = "X-Oss-Server-Side-Encryption-Customer-Key-MD5"
+       HTTPHeaderOssCopySource                  = "X-Oss-Copy-Source"
+       HTTPHeaderOssCopySourceRange             = "X-Oss-Copy-Source-Range"
+       HTTPHeaderOssCopySourceIfMatch           = "X-Oss-Copy-Source-If-Match"
+       HTTPHeaderOssCopySourceIfNoneMatch       = "X-Oss-Copy-Source-If-None-Match"
+       HTTPHeaderOssCopySourceIfModifiedSince   = "X-Oss-Copy-Source-If-Modified-Since"
+       HTTPHeaderOssCopySourceIfUnmodifiedSince = "X-Oss-Copy-Source-If-Unmodified-Since"
+       HTTPHeaderOssMetadataDirective           = "X-Oss-Metadata-Directive"
+       HTTPHeaderOssNextAppendPosition          = "X-Oss-Next-Append-Position"
+       HTTPHeaderOssRequestID                   = "X-Oss-Request-Id"
+       HTTPHeaderOssCRC64                       = "X-Oss-Hash-Crc64ecma"
+       HTTPHeaderOssSymlinkTarget               = "X-Oss-Symlink-Target"
+       HTTPHeaderOssStorageClass                = "X-Oss-Storage-Class"
+       HTTPHeaderOssCallback                    = "X-Oss-Callback"
+       HTTPHeaderOssCallbackVar                 = "X-Oss-Callback-Var"
+       HTTPHeaderOssRequester                   = "X-Oss-Request-Payer"
+       HTTPHeaderOssTagging                     = "X-Oss-Tagging"
+       HTTPHeaderOssTaggingDirective            = "X-Oss-Tagging-Directive"
+       HTTPHeaderOssTrafficLimit                = "X-Oss-Traffic-Limit"
+       HTTPHeaderOssForbidOverWrite             = "X-Oss-Forbid-Overwrite"
+       HTTPHeaderOssRangeBehavior               = "X-Oss-Range-Behavior"
+       HTTPHeaderOssTaskID                      = "X-Oss-Task-Id"
+)
+
+// HTTP Param
+const (
+       HTTPParamExpires       = "Expires"
+       HTTPParamAccessKeyID   = "OSSAccessKeyId"
+       HTTPParamSignature     = "Signature"
+       HTTPParamSecurityToken = "security-token"
+       HTTPParamPlaylistName  = "playlistName"
+
+       HTTPParamSignatureVersion    = "x-oss-signature-version"
+       HTTPParamExpiresV2           = "x-oss-expires"
+       HTTPParamAccessKeyIDV2       = "x-oss-access-key-id"
+       HTTPParamSignatureV2         = "x-oss-signature"
+       HTTPParamAdditionalHeadersV2 = "x-oss-additional-headers"
+)
+
+// Other constants
+const (
+       MaxPartSize = 5 * 1024 * 1024 * 1024 // Max part size, 5GB
+       MinPartSize = 100 * 1024             // Min part size, 100KB
+
+       FilePermMode = os.FileMode(0664) // Default file permission
+
+       TempFilePrefix = "oss-go-temp-" // Temp file prefix
+       TempFileSuffix = ".temp"        // Temp file suffix
+
+       CheckpointFileSuffix = ".cp" // Checkpoint file suffix
+
+       NullVersion = "null"
+
+       Version = "v2.1.6" // Go SDK version
+)
+
+// FrameType
+const (
+       DataFrameType        = 8388609
+       ContinuousFrameType  = 8388612
+       EndFrameType         = 8388613
+       MetaEndFrameCSVType  = 8388614
+       MetaEndFrameJSONType = 8388615
+)
+
+// AuthVersion the version of auth
+type AuthVersionType string
+
+const (
+       // AuthV1 v1
+       AuthV1 AuthVersionType = "v1"
+       // AuthV2 v2
+       AuthV2 AuthVersionType = "v2"
+)
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crc.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crc.go
new file mode 100644 (file)
index 0000000..c96694f
--- /dev/null
@@ -0,0 +1,123 @@
+package oss
+
+import (
+       "hash"
+       "hash/crc64"
+)
+
+// digest represents the partial evaluation of a checksum.
+type digest struct {
+       crc uint64
+       tab *crc64.Table
+}
+
+// NewCRC creates a new hash.Hash64 computing the CRC64 checksum
+// using the polynomial represented by the Table.
+func NewCRC(tab *crc64.Table, init uint64) hash.Hash64 { return &digest{init, tab} }
+
+// Size returns the number of bytes sum will return.
+func (d *digest) Size() int { return crc64.Size }
+
+// BlockSize returns the hash's underlying block size.
+// The Write method must be able to accept any amount
+// of data, but it may operate more efficiently if all writes
+// are a multiple of the block size.
+func (d *digest) BlockSize() int { return 1 }
+
+// Reset resets the hash to its initial state.
+func (d *digest) Reset() { d.crc = 0 }
+
+// Write (via the embedded io.Writer interface) adds more data to the running hash.
+// It never returns an error.
+func (d *digest) Write(p []byte) (n int, err error) {
+       d.crc = crc64.Update(d.crc, d.tab, p)
+       return len(p), nil
+}
+
+// Sum64 returns CRC64 value.
+func (d *digest) Sum64() uint64 { return d.crc }
+
+// Sum returns hash value.
+func (d *digest) Sum(in []byte) []byte {
+       s := d.Sum64()
+       return append(in, byte(s>>56), byte(s>>48), byte(s>>40), byte(s>>32), byte(s>>24), byte(s>>16), byte(s>>8), byte(s))
+}
+
+// gf2Dim dimension of GF(2) vectors (length of CRC)
+const gf2Dim int = 64
+
+func gf2MatrixTimes(mat []uint64, vec uint64) uint64 {
+       var sum uint64
+       for i := 0; vec != 0; i++ {
+               if vec&1 != 0 {
+                       sum ^= mat[i]
+               }
+
+               vec >>= 1
+       }
+       return sum
+}
+
+func gf2MatrixSquare(square []uint64, mat []uint64) {
+       for n := 0; n < gf2Dim; n++ {
+               square[n] = gf2MatrixTimes(mat, mat[n])
+       }
+}
+
+// CRC64Combine combines CRC64
+func CRC64Combine(crc1 uint64, crc2 uint64, len2 uint64) uint64 {
+       var even [gf2Dim]uint64 // Even-power-of-two zeros operator
+       var odd [gf2Dim]uint64  // Odd-power-of-two zeros operator
+
+       // Degenerate case
+       if len2 == 0 {
+               return crc1
+       }
+
+       // Put operator for one zero bit in odd
+       odd[0] = crc64.ECMA // CRC64 polynomial
+       var row uint64 = 1
+       for n := 1; n < gf2Dim; n++ {
+               odd[n] = row
+               row <<= 1
+       }
+
+       // Put operator for two zero bits in even
+       gf2MatrixSquare(even[:], odd[:])
+
+       // Put operator for four zero bits in odd
+       gf2MatrixSquare(odd[:], even[:])
+
+       // Apply len2 zeros to crc1, first square will put the operator for one zero byte, eight zero bits, in even
+       for {
+               // Apply zeros operator for this bit of len2
+               gf2MatrixSquare(even[:], odd[:])
+
+               if len2&1 != 0 {
+                       crc1 = gf2MatrixTimes(even[:], crc1)
+               }
+
+               len2 >>= 1
+
+               // If no more bits set, then done
+               if len2 == 0 {
+                       break
+               }
+
+               // Another iteration of the loop with odd and even swapped
+               gf2MatrixSquare(odd[:], even[:])
+               if len2&1 != 0 {
+                       crc1 = gf2MatrixTimes(odd[:], crc1)
+               }
+               len2 >>= 1
+
+               // If no more bits set, then done
+               if len2 == 0 {
+                       break
+               }
+       }
+
+       // Return combined CRC
+       crc1 ^= crc2
+       return crc1
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crc_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crc_test.go
new file mode 100644 (file)
index 0000000..1254891
--- /dev/null
@@ -0,0 +1,492 @@
+package oss
+
+import (
+       "crypto/md5"
+       "encoding/base64"
+       "hash/crc64"
+       "io"
+       "io/ioutil"
+       "math/rand"
+       "os"
+       "strings"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssCrcSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssCrcSuite{})
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssCrcSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test crc started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssCrcSuite) TearDownSuite(c *C) {
+       // Delete part
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: s.bucket.BucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err := s.client.DeleteBucket(s.bucket.BucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test crc completed")
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssCrcSuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssCrcSuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TestCRCGolden tests OSS's CRC64
+func (s *OssCrcSuite) TestCRCGolden(c *C) {
+       type crcTest struct {
+               out uint64
+               in  string
+       }
+
+       var crcGolden = []crcTest{
+               {0x0, ""},
+               {0x3420000000000000, "a"},
+               {0x36c4200000000000, "ab"},
+               {0x3776c42000000000, "abc"},
+               {0x336776c420000000, "abcd"},
+               {0x32d36776c4200000, "abcde"},
+               {0x3002d36776c42000, "abcdef"},
+               {0x31b002d36776c420, "abcdefg"},
+               {0xe21b002d36776c4, "abcdefgh"},
+               {0x8b6e21b002d36776, "abcdefghi"},
+               {0x7f5b6e21b002d367, "abcdefghij"},
+               {0x8ec0e7c835bf9cdf, "Discard medicine more than two years old."},
+               {0xc7db1759e2be5ab4, "He who has a shady past knows that nice guys finish last."},
+               {0xfbf9d9603a6fa020, "I wouldn't marry him with a ten foot pole."},
+               {0xeafc4211a6daa0ef, "Free! Free!/A trip/to Mars/for 900/empty jars/Burma Shave"},
+               {0x3e05b21c7a4dc4da, "The days of the digital watch are numbered.  -Tom Stoppard"},
+               {0x5255866ad6ef28a6, "Nepal premier won't resign."},
+               {0x8a79895be1e9c361, "For every action there is an equal and opposite government program."},
+               {0x8878963a649d4916, "His money is twice tainted: 'taint yours and 'taint mine."},
+               {0xa7b9d53ea87eb82f, "There is no reason for any individual to have a computer in their home. -Ken Olsen, 1977"},
+               {0xdb6805c0966a2f9c, "It's a tiny change to the code and not completely disgusting. - Bob Manchek"},
+               {0xf3553c65dacdadd2, "size:  a.out:  bad magic"},
+               {0x9d5e034087a676b9, "The major problem is with sendmail.  -Mark Horton"},
+               {0xa6db2d7f8da96417, "Give me a rock, paper and scissors and I will move the world.  CCFestoon"},
+               {0x325e00cd2fe819f9, "If the enemy is within range, then so are you."},
+               {0x88c6600ce58ae4c6, "It's well we cannot hear the screams/That we create in others' dreams."},
+               {0x28c4a3f3b769e078, "You remind me of a TV show, but that's all right: I watch it anyway."},
+               {0xa698a34c9d9f1dca, "C is as portable as Stonehedge!!"},
+               {0xf6c1e2a8c26c5cfc, "Even if I could be Shakespeare, I think I should still choose to be Faraday. - A. Huxley"},
+               {0xd402559dfe9b70c, "The fugacity of a constituent in a mixture of gases at a given temperature is proportional to its mole fraction.  Lewis-Randall Rule"},
+               {0xdb6efff26aa94946, "How can you write a big system without C++?  -Paul Glick"},
+       }
+
+       var tab = crc64.MakeTable(crc64.ISO)
+
+       for i := 0; i < len(crcGolden); i++ {
+               golden := crcGolden[i]
+               crc := NewCRC(tab, 0)
+               io.WriteString(crc, golden.in)
+               sum := crc.Sum64()
+
+               c.Assert(sum, Equals, golden.out)
+       }
+}
+
+// testCRC64Combine tests CRC64 on vector[0..pos] which should have CRC64 crc.
+// Also test CRC64Combine on vector[] split in two.
+func testCRC64Combine(c *C, str string, pos int, crc uint64) {
+       tabECMA := crc64.MakeTable(crc64.ECMA)
+
+       // Test CRC64
+       hash := crc64.New(tabECMA)
+       io.WriteString(hash, str)
+       crc1 := hash.Sum64()
+       c.Assert(crc1, Equals, crc)
+
+       // Test CRC64 combine
+       hash = crc64.New(tabECMA)
+       io.WriteString(hash, str[0:pos])
+       crc1 = hash.Sum64()
+
+       hash = crc64.New(tabECMA)
+       io.WriteString(hash, str[pos:len(str)])
+       crc2 := hash.Sum64()
+
+       crc1 = CRC64Combine(crc1, crc2, uint64(len(str)-pos))
+       c.Assert(crc1, Equals, crc)
+}
+
+// TestCRCCombine tests CRC64Combine
+func (s *OssCrcSuite) TestCRCCombine(c *C) {
+       str := "123456789"
+       testCRC64Combine(c, str, (len(str)+1)>>1, 0x995DC9BBDF1939FA)
+
+       str = "This is a test of the emergency broadcast system."
+       testCRC64Combine(c, str, (len(str)+1)>>1, 0x27DB187FC15BBC72)
+}
+
+// TestCRCRepeatedCombine tests CRC64Combine
+func (s *OssCrcSuite) TestCRCRepeatedCombine(c *C) {
+       tab := crc64.MakeTable(crc64.ECMA)
+       str := "Even if I could be Shakespeare, I think I should still choose to be Faraday. - A. Huxley"
+
+       for i := 0; i <= len(str); i++ {
+               hash := crc64.New(tab)
+               io.WriteString(hash, string(str[0:i]))
+               prev := hash.Sum64()
+
+               hash = crc64.New(tab)
+               io.WriteString(hash, string(str[i:len(str)]))
+               post := hash.Sum64()
+
+               crc := CRC64Combine(prev, post, uint64(len(str)-i))
+               testLogger.Println("TestCRCRepeatedCombine:", prev, post, crc, i, len(str))
+               c.Assert(crc == 0x7AD25FAFA1710407, Equals, true)
+       }
+}
+
+// TestCRCRandomCombine tests CRC64Combine
+func (s *OssCrcSuite) TestCRCRandomCombine(c *C) {
+       tab := crc64.MakeTable(crc64.ECMA)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       body, err := ioutil.ReadFile(fileName)
+       c.Assert(err, IsNil)
+
+       for i := 0; i < 10; i++ {
+               fileParts, err := SplitFileByPartNum(fileName, 1+rand.Intn(9999))
+               c.Assert(err, IsNil)
+
+               var crc uint64
+               for _, part := range fileParts {
+                       calc := NewCRC(tab, 0)
+                       calc.Write(body[part.Offset : part.Offset+part.Size])
+                       crc = CRC64Combine(crc, calc.Sum64(), (uint64)(part.Size))
+               }
+
+               testLogger.Println("TestCRCRandomCombine:", crc, i, fileParts)
+               c.Assert(crc == 0x2B612D24FFF64222, Equals, true)
+       }
+}
+
+// TestEnableCRCAndMD5 tests MD5 and CRC check
+func (s *OssCrcSuite) TestEnableCRCAndMD5(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFileName := "BingWallpaper-2015-11-07-2.jpg"
+       objectValue := "空山新雨后,天气晚来秋。明月松间照,清泉石上流。竹喧归浣女,莲动下渔舟。随意春芳歇,王孙自可留。"
+
+       client, err := New(endpoint, accessID, accessKey, EnableCRC(true), EnableMD5(true), MD5ThresholdCalcInMemory(200*1024))
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // PutObject
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // GetObject
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       _, err = ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       body.Close()
+
+       // GetObjectWithCRC
+       getResult, err := bucket.DoGetObject(&GetObjectRequest{objectName}, nil)
+       c.Assert(err, IsNil)
+       str, err := readBody(getResult.Response.Body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+       c.Assert(getResult.ClientCRC.Sum64(), Equals, getResult.ServerCRC)
+
+       // PutObjectFromFile
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       c.Assert(err, IsNil)
+
+       // GetObjectToFile
+       err = bucket.GetObjectToFile(objectName, newFileName)
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(fileName, newFileName)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // DeleteObject
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // AppendObject
+       var nextPos int64
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos)
+       c.Assert(err, IsNil)
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos)
+       c.Assert(err, IsNil)
+
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       request := &AppendObjectRequest{
+               ObjectKey: objectName,
+               Reader:    strings.NewReader(objectValue),
+               Position:  0,
+       }
+       appendResult, err := bucket.DoAppendObject(request, []Option{InitCRC(0)})
+       c.Assert(err, IsNil)
+       request.Position = appendResult.NextPosition
+       appendResult, err = bucket.DoAppendObject(request, []Option{InitCRC(appendResult.CRC)})
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // MultipartUpload
+       chunks, err := SplitFileByPartSize(fileName, 100*1024)
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName)
+       c.Assert(err, IsNil)
+       var partsUpload []UploadPart
+
+       for _, chunk := range chunks {
+               part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       _, err = bucket.CompleteMultipartUpload(imurUpload, partsUpload)
+       c.Assert(err, IsNil)
+
+       // Check MultipartUpload
+       err = bucket.GetObjectToFile(objectName, newFileName)
+       c.Assert(err, IsNil)
+       eq, err = compareFiles(fileName, newFileName)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // DeleteObjects
+       _, err = bucket.DeleteObjects([]string{objectName})
+       c.Assert(err, IsNil)
+}
+
+// TestDisableCRCAndMD5 disables MD5 and CRC
+func (s *OssCrcSuite) TestDisableCRCAndMD5(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFileName := "BingWallpaper-2015-11-07-3.jpg"
+       objectValue := "中岁颇好道,晚家南山陲。兴来每独往,胜事空自知。行到水穷处,坐看云起时。偶然值林叟,谈笑无还期。"
+
+       client, err := New(endpoint, accessID, accessKey, EnableCRC(false), EnableMD5(false))
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // PutObject
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // GetObject
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       _, err = ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       body.Close()
+
+       // GetObjectWithCRC
+       getResult, err := bucket.DoGetObject(&GetObjectRequest{objectName}, nil)
+       c.Assert(err, IsNil)
+       str, err := readBody(getResult.Response.Body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, objectValue)
+
+       // PutObjectFromFile
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       c.Assert(err, IsNil)
+
+       // GetObjectToFile
+       err = bucket.GetObjectToFile(objectName, newFileName)
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(fileName, newFileName)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // DeleteObject
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // AppendObject
+       var nextPos int64
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos)
+       c.Assert(err, IsNil)
+       nextPos, err = bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos)
+       c.Assert(err, IsNil)
+
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       request := &AppendObjectRequest{
+               ObjectKey: objectName,
+               Reader:    strings.NewReader(objectValue),
+               Position:  0,
+       }
+       appendResult, err := bucket.DoAppendObject(request, []Option{InitCRC(0)})
+       c.Assert(err, IsNil)
+       request.Position = appendResult.NextPosition
+       appendResult, err = bucket.DoAppendObject(request, []Option{InitCRC(appendResult.CRC)})
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // MultipartUpload
+       chunks, err := SplitFileByPartSize(fileName, 100*1024)
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName)
+       c.Assert(err, IsNil)
+       var partsUpload []UploadPart
+
+       for _, chunk := range chunks {
+               part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       _, err = bucket.CompleteMultipartUpload(imurUpload, partsUpload)
+       c.Assert(err, IsNil)
+
+       // Check MultipartUpload
+       err = bucket.GetObjectToFile(objectName, newFileName)
+       c.Assert(err, IsNil)
+       eq, err = compareFiles(fileName, newFileName)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // DeleteObjects
+       _, err = bucket.DeleteObjects([]string{objectName})
+       c.Assert(err, IsNil)
+}
+
+// TestSpecifyContentMD5 specifies MD5
+func (s *OssCrcSuite) TestSpecifyContentMD5(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       objectValue := "积雨空林烟火迟,蒸藜炊黍饷东菑。漠漠水田飞白鹭,阴阴夏木啭黄鹂。山中习静观朝槿,松下清斋折露葵。野老与人争席罢,海鸥何事更相疑。"
+
+       mh := md5.Sum([]byte(objectValue))
+       md5B64 := base64.StdEncoding.EncodeToString(mh[:])
+
+       // PutObject
+       err := s.bucket.PutObject(objectName, strings.NewReader(objectValue), ContentMD5(md5B64))
+       c.Assert(err, IsNil)
+
+       // PutObjectFromFile
+       file, err := os.Open(fileName)
+       md5 := md5.New()
+       io.Copy(md5, file)
+       mdHex := base64.StdEncoding.EncodeToString(md5.Sum(nil)[:])
+       err = s.bucket.PutObjectFromFile(objectName, fileName, ContentMD5(mdHex))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // AppendObject
+       var nextPos int64
+       nextPos, err = s.bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos)
+       c.Assert(err, IsNil)
+       nextPos, err = s.bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       request := &AppendObjectRequest{
+               ObjectKey: objectName,
+               Reader:    strings.NewReader(objectValue),
+               Position:  0,
+       }
+       appendResult, err := s.bucket.DoAppendObject(request, []Option{InitCRC(0)})
+       c.Assert(err, IsNil)
+       request.Position = appendResult.NextPosition
+       appendResult, err = s.bucket.DoAppendObject(request, []Option{InitCRC(appendResult.CRC)})
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // MultipartUpload
+       imurUpload, err := s.bucket.InitiateMultipartUpload(objectName)
+       c.Assert(err, IsNil)
+
+       var partsUpload []UploadPart
+       part, err := s.bucket.UploadPart(imurUpload, strings.NewReader(objectValue), (int64)(len([]byte(objectValue))), 1)
+       c.Assert(err, IsNil)
+       partsUpload = append(partsUpload, part)
+
+       _, err = s.bucket.CompleteMultipartUpload(imurUpload, partsUpload)
+       c.Assert(err, IsNil)
+
+       // DeleteObject
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestAppendObjectNegative
+func (s *OssCrcSuite) TestAppendObjectNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "空山不见人,但闻人语响。返影入深林,复照青苔上。"
+
+       nextPos, err := s.bucket.AppendObject(objectName, strings.NewReader(objectValue), 0, InitCRC(0))
+       c.Assert(err, IsNil)
+
+       nextPos, err = s.bucket.AppendObject(objectName, strings.NewReader(objectValue), nextPos, InitCRC(0))
+       c.Assert(err, NotNil)
+       c.Assert(strings.HasPrefix(err.Error(), "oss: the crc"), Equals, true)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr.go
new file mode 100644 (file)
index 0000000..ba7ab3f
--- /dev/null
@@ -0,0 +1,68 @@
+package osscrypto
+
+import (
+       "crypto/aes"
+       "crypto/cipher"
+       "io"
+)
+
+type aesCtr struct {
+       encrypter cipher.Stream
+       decrypter cipher.Stream
+}
+
+func newAesCtr(cd CipherData) (Cipher, error) {
+       block, err := aes.NewCipher(cd.Key)
+       if err != nil {
+               return nil, err
+       }
+
+       encrypter := cipher.NewCTR(block, cd.IV)
+       decrypter := cipher.NewCTR(block, cd.IV)
+       return &aesCtr{encrypter, decrypter}, nil
+}
+
+func (c *aesCtr) Encrypt(src io.Reader) io.Reader {
+       reader := &ctrEncryptReader{
+               encrypter: c.encrypter,
+               src:       src,
+       }
+       return reader
+}
+
+type ctrEncryptReader struct {
+       encrypter cipher.Stream
+       src       io.Reader
+}
+
+func (reader *ctrEncryptReader) Read(data []byte) (int, error) {
+       plainText := make([]byte, len(data), len(data))
+       n, err := reader.src.Read(plainText)
+       if n > 0 {
+               plainText = plainText[0:n]
+               reader.encrypter.XORKeyStream(data, plainText)
+       }
+       return n, err
+}
+
+func (c *aesCtr) Decrypt(src io.Reader) io.Reader {
+       return &ctrDecryptReader{
+               decrypter: c.decrypter,
+               src:       src,
+       }
+}
+
+type ctrDecryptReader struct {
+       decrypter cipher.Stream
+       src       io.Reader
+}
+
+func (reader *ctrDecryptReader) Read(data []byte) (int, error) {
+       cryptoText := make([]byte, len(data), len(data))
+       n, err := reader.src.Read(cryptoText)
+       if n > 0 {
+               cryptoText = cryptoText[0:n]
+               reader.decrypter.XORKeyStream(data, cryptoText)
+       }
+       return n, err
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr_cipher.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr_cipher.go
new file mode 100644 (file)
index 0000000..fa60bd0
--- /dev/null
@@ -0,0 +1,153 @@
+package osscrypto
+
+import (
+       "io"
+)
+
+const (
+       aesKeySize = 32
+       ivSize     = 16
+)
+
+// aesCtrCipherBuilder for building ContentCipher
+type aesCtrCipherBuilder struct {
+       MasterCipher MasterCipher
+}
+
+// aesCtrCipher will use aes ctr algorithm
+type aesCtrCipher struct {
+       CipherData CipherData
+       Cipher     Cipher
+}
+
+// CreateAesCtrCipher creates ContentCipherBuilder
+func CreateAesCtrCipher(cipher MasterCipher) ContentCipherBuilder {
+       return aesCtrCipherBuilder{MasterCipher: cipher}
+}
+
+// createCipherData create CipherData for encrypt object data
+func (builder aesCtrCipherBuilder) createCipherData() (CipherData, error) {
+       var cd CipherData
+       var err error
+       err = cd.RandomKeyIv(aesKeySize, ivSize)
+       if err != nil {
+               return cd, err
+       }
+
+       cd.WrapAlgorithm = builder.MasterCipher.GetWrapAlgorithm()
+       cd.CEKAlgorithm = AesCtrAlgorithm
+       cd.MatDesc = builder.MasterCipher.GetMatDesc()
+
+       // EncryptedKey
+       cd.EncryptedKey, err = builder.MasterCipher.Encrypt(cd.Key)
+       if err != nil {
+               return cd, err
+       }
+
+       // EncryptedIV
+       cd.EncryptedIV, err = builder.MasterCipher.Encrypt(cd.IV)
+       if err != nil {
+               return cd, err
+       }
+
+       return cd, nil
+}
+
+// contentCipherCD is used to create ContentCipher with CipherData
+func (builder aesCtrCipherBuilder) contentCipherCD(cd CipherData) (ContentCipher, error) {
+       cipher, err := newAesCtr(cd)
+       if err != nil {
+               return nil, err
+       }
+
+       return &aesCtrCipher{
+               CipherData: cd,
+               Cipher:     cipher,
+       }, nil
+}
+
+// ContentCipher is used to create ContentCipher interface
+func (builder aesCtrCipherBuilder) ContentCipher() (ContentCipher, error) {
+       cd, err := builder.createCipherData()
+       if err != nil {
+               return nil, err
+       }
+       return builder.contentCipherCD(cd)
+}
+
+// ContentCipherEnv is used to create a decrption ContentCipher from Envelope
+func (builder aesCtrCipherBuilder) ContentCipherEnv(envelope Envelope) (ContentCipher, error) {
+       var cd CipherData
+       cd.EncryptedKey = make([]byte, len(envelope.CipherKey))
+       copy(cd.EncryptedKey, []byte(envelope.CipherKey))
+
+       plainKey, err := builder.MasterCipher.Decrypt([]byte(envelope.CipherKey))
+       if err != nil {
+               return nil, err
+       }
+       cd.Key = make([]byte, len(plainKey))
+       copy(cd.Key, plainKey)
+
+       cd.EncryptedIV = make([]byte, len(envelope.IV))
+       copy(cd.EncryptedIV, []byte(envelope.IV))
+
+       plainIV, err := builder.MasterCipher.Decrypt([]byte(envelope.IV))
+       if err != nil {
+               return nil, err
+       }
+
+       cd.IV = make([]byte, len(plainIV))
+       copy(cd.IV, plainIV)
+
+       cd.MatDesc = envelope.MatDesc
+       cd.WrapAlgorithm = envelope.WrapAlg
+       cd.CEKAlgorithm = envelope.CEKAlg
+
+       return builder.contentCipherCD(cd)
+}
+
+// GetMatDesc is used to get MasterCipher's MatDesc
+func (builder aesCtrCipherBuilder) GetMatDesc() string {
+       return builder.MasterCipher.GetMatDesc()
+}
+
+// EncryptContents will generate a random key and iv and encrypt the data using ctr
+func (cc *aesCtrCipher) EncryptContent(src io.Reader) (io.ReadCloser, error) {
+       reader := cc.Cipher.Encrypt(src)
+       return &CryptoEncrypter{Body: src, Encrypter: reader}, nil
+}
+
+// DecryptContent is used to decrypt object using ctr
+func (cc *aesCtrCipher) DecryptContent(src io.Reader) (io.ReadCloser, error) {
+       reader := cc.Cipher.Decrypt(src)
+       return &CryptoDecrypter{Body: src, Decrypter: reader}, nil
+}
+
+// GetCipherData is used to get cipher data information
+func (cc *aesCtrCipher) GetCipherData() *CipherData {
+       return &(cc.CipherData)
+}
+
+// GetCipherData returns cipher data
+func (cc *aesCtrCipher) GetEncryptedLen(plainTextLen int64) int64 {
+       // AES CTR encryption mode does not change content length
+       return plainTextLen
+}
+
+// GetAlignLen is used to get align length
+func (cc *aesCtrCipher) GetAlignLen() int {
+       return len(cc.CipherData.IV)
+}
+
+// Clone is used to create a new aesCtrCipher from itself
+func (cc *aesCtrCipher) Clone(cd CipherData) (ContentCipher, error) {
+       cipher, err := newAesCtr(cd)
+       if err != nil {
+               return nil, err
+       }
+
+       return &aesCtrCipher{
+               CipherData: cd,
+               Cipher:     cipher,
+       }, nil
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr_cipher_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/aes_ctr_cipher_test.go
new file mode 100644 (file)
index 0000000..05f6a1e
--- /dev/null
@@ -0,0 +1,41 @@
+package osscrypto
+
+import (
+       . "gopkg.in/check.v1"
+)
+
+func (s *OssCryptoBucketSuite) TestContentEncryptCipherError(c *C) {
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       cc, err := contentProvider.ContentCipher()
+       c.Assert(err, IsNil)
+
+       var cipherData CipherData
+       cipherData.RandomKeyIv(31, 15)
+
+       _, err = cc.Clone(cipherData)
+       c.Assert(err, NotNil)
+}
+
+func (s *OssCryptoBucketSuite) TestCreateCipherDataError(c *C) {
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, "", "")
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+
+       v := contentProvider.(aesCtrCipherBuilder)
+       _, err := v.createCipherData()
+       c.Assert(err, NotNil)
+}
+
+func (s *OssCryptoBucketSuite) TestContentCipherCDError(c *C) {
+       var cd CipherData
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, "", "")
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+
+       v := contentProvider.(aesCtrCipherBuilder)
+       _, err := v.contentCipherCD(cd)
+       c.Assert(err, NotNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/cipher.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/cipher.go
new file mode 100644 (file)
index 0000000..7b512ea
--- /dev/null
@@ -0,0 +1,69 @@
+package osscrypto
+
+import (
+       "io"
+)
+
+// Cipher is interface for encryption or decryption of an object
+type Cipher interface {
+       Encrypter
+       Decrypter
+}
+
+// Encrypter is interface with only encrypt method
+type Encrypter interface {
+       Encrypt(io.Reader) io.Reader
+}
+
+// Decrypter is interface with only decrypt method
+type Decrypter interface {
+       Decrypt(io.Reader) io.Reader
+}
+
+// CryptoEncrypter provides close method for Encrypter
+type CryptoEncrypter struct {
+       Body      io.Reader
+       Encrypter io.Reader
+       isClosed  bool
+}
+
+// Close lets the CryptoEncrypter satisfy io.ReadCloser interface
+func (rc *CryptoEncrypter) Close() error {
+       rc.isClosed = true
+       if closer, ok := rc.Body.(io.ReadCloser); ok {
+               return closer.Close()
+       }
+       return nil
+}
+
+// Read lets the CryptoEncrypter satisfy io.ReadCloser interface
+func (rc *CryptoEncrypter) Read(b []byte) (int, error) {
+       if rc.isClosed {
+               return 0, io.EOF
+       }
+       return rc.Encrypter.Read(b)
+}
+
+// CryptoDecrypter provides close method for Decrypter
+type CryptoDecrypter struct {
+       Body      io.Reader
+       Decrypter io.Reader
+       isClosed  bool
+}
+
+// Close lets the CryptoDecrypter satisfy io.ReadCloser interface
+func (rc *CryptoDecrypter) Close() error {
+       rc.isClosed = true
+       if closer, ok := rc.Body.(io.ReadCloser); ok {
+               return closer.Close()
+       }
+       return nil
+}
+
+// Read lets the CryptoDecrypter satisfy io.ReadCloser interface
+func (rc *CryptoDecrypter) Read(b []byte) (int, error) {
+       if rc.isClosed {
+               return 0, io.EOF
+       }
+       return rc.Decrypter.Read(b)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/cipher_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/cipher_test.go
new file mode 100644 (file)
index 0000000..4cb013d
--- /dev/null
@@ -0,0 +1,32 @@
+package osscrypto
+
+import (
+       "io"
+       "strings"
+
+       . "gopkg.in/check.v1"
+)
+
+func (s *OssCryptoBucketSuite) TestAesCtr(c *C) {
+       var cipherData CipherData
+       cipherData.RandomKeyIv(32, 16)
+       cipher, _ := newAesCtr(cipherData)
+
+       byteReader := strings.NewReader(RandLowStr(100))
+       enReader := cipher.Encrypt(byteReader)
+       encrypter := &CryptoEncrypter{Body: byteReader, Encrypter: enReader}
+       encrypter.Close()
+       buff := make([]byte, 10)
+       n, err := encrypter.Read(buff)
+       c.Assert(n, Equals, 0)
+       c.Assert(err, Equals, io.EOF)
+
+       deReader := cipher.Encrypt(byteReader)
+       Decrypter := &CryptoDecrypter{Body: byteReader, Decrypter: deReader}
+       Decrypter.Close()
+       buff = make([]byte, 10)
+       n, err = Decrypter.Read(buff)
+       c.Assert(n, Equals, 0)
+       c.Assert(err, Equals, io.EOF)
+
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_bucket.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_bucket.go
new file mode 100644 (file)
index 0000000..1efeeeb
--- /dev/null
@@ -0,0 +1,539 @@
+package osscrypto
+
+import (
+       "encoding/base64"
+       "encoding/json"
+       "fmt"
+       "hash"
+       "hash/crc64"
+       "io"
+       "net/http"
+       "os"
+       "strconv"
+
+       kms "github.com/aliyun/alibaba-cloud-sdk-go/services/kms"
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// MasterCipherManager is interface for getting master key with MatDesc(material desc)
+// If you may use different master keys for encrypting and decrypting objects,each master
+// key must have a unique, non-emtpy, unalterable MatDesc(json string format) and you must provide this interface
+// If you always use the same master key for encrypting and decrypting objects, MatDesc
+// can be empty and you don't need to provide this interface
+//
+// matDesc map[string]string:is converted by matDesc json string
+// return: []string  the secret key information,such as {"rsa-public-key","rsa-private-key"} or {"non-rsa-key"}
+type MasterCipherManager interface {
+       GetMasterKey(matDesc map[string]string) ([]string, error)
+}
+
+// ExtraCipherBuilder is interface for creating a decrypt ContentCipher with Envelope
+// If the objects you need to decrypt are neither encrypted with ContentCipherBuilder
+// you provided, nor encrypted with rsa and ali kms master keys, you must provide this interface
+//
+// ContentCipher  the interface used to decrypt objects
+type ExtraCipherBuilder interface {
+       GetDecryptCipher(envelope Envelope, cm MasterCipherManager) (ContentCipher, error)
+}
+
+// CryptoBucketOption CryptoBucket option such as SetAliKmsClient, SetMasterCipherManager, SetDecryptCipherManager.
+type CryptoBucketOption func(*CryptoBucket)
+
+// SetAliKmsClient set field AliKmsClient of CryptoBucket
+// If the objects you need to decrypt are encrypted with ali kms master key,but not with ContentCipherBuilder
+// you provided, you must provide this interface
+func SetAliKmsClient(client *kms.Client) CryptoBucketOption {
+       return func(bucket *CryptoBucket) {
+               bucket.AliKmsClient = client
+       }
+}
+
+// SetMasterCipherManager set field MasterCipherManager of CryptoBucket
+func SetMasterCipherManager(manager MasterCipherManager) CryptoBucketOption {
+       return func(bucket *CryptoBucket) {
+               bucket.MasterCipherManager = manager
+       }
+}
+
+// SetExtraCipherBuilder set field ExtraCipherBuilder of CryptoBucket
+func SetExtraCipherBuilder(extraBuilder ExtraCipherBuilder) CryptoBucketOption {
+       return func(bucket *CryptoBucket) {
+               bucket.ExtraCipherBuilder = extraBuilder
+       }
+}
+
+// DefaultExtraCipherBuilder is Default implementation of the ExtraCipherBuilder for rsa and kms master keys
+type DefaultExtraCipherBuilder struct {
+       AliKmsClient *kms.Client
+}
+
+// GetDecryptCipher is used to get ContentCipher for decrypt object
+func (decb *DefaultExtraCipherBuilder) GetDecryptCipher(envelope Envelope, cm MasterCipherManager) (ContentCipher, error) {
+       if cm == nil {
+               return nil, fmt.Errorf("DefaultExtraCipherBuilder GetDecryptCipher error,MasterCipherManager is nil")
+       }
+
+       if envelope.CEKAlg != AesCtrAlgorithm {
+               return nil, fmt.Errorf("DefaultExtraCipherBuilder GetDecryptCipher error,not supported content algorithm %s", envelope.CEKAlg)
+       }
+
+       if envelope.WrapAlg != RsaCryptoWrap && envelope.WrapAlg != KmsAliCryptoWrap {
+               return nil, fmt.Errorf("DefaultExtraCipherBuilder GetDecryptCipher error,not supported envelope wrap algorithm %s", envelope.WrapAlg)
+       }
+
+       matDesc := make(map[string]string)
+       if envelope.MatDesc != "" {
+               err := json.Unmarshal([]byte(envelope.MatDesc), &matDesc)
+               if err != nil {
+                       return nil, err
+               }
+       }
+
+       masterKeys, err := cm.GetMasterKey(matDesc)
+       if err != nil {
+               return nil, err
+       }
+
+       var contentCipher ContentCipher
+       if envelope.WrapAlg == RsaCryptoWrap {
+               // for rsa master key
+               if len(masterKeys) != 2 {
+                       return nil, fmt.Errorf("rsa keys count must be 2,now is %d", len(masterKeys))
+               }
+               rsaCipher, err := CreateMasterRsa(matDesc, masterKeys[0], masterKeys[1])
+               if err != nil {
+                       return nil, err
+               }
+               aesCtrBuilder := CreateAesCtrCipher(rsaCipher)
+               contentCipher, err = aesCtrBuilder.ContentCipherEnv(envelope)
+
+       } else if envelope.WrapAlg == KmsAliCryptoWrap {
+               // for kms master key
+               if len(masterKeys) != 1 {
+                       return nil, fmt.Errorf("non-rsa keys count must be 1,now is %d", len(masterKeys))
+               }
+
+               if decb.AliKmsClient == nil {
+                       return nil, fmt.Errorf("aliyun kms client is nil")
+               }
+
+               kmsCipher, err := CreateMasterAliKms(matDesc, masterKeys[0], decb.AliKmsClient)
+               if err != nil {
+                       return nil, err
+               }
+               aesCtrBuilder := CreateAesCtrCipher(kmsCipher)
+               contentCipher, err = aesCtrBuilder.ContentCipherEnv(envelope)
+       } else {
+               // to do
+               // for master keys which are neither rsa nor kms
+       }
+
+       return contentCipher, err
+}
+
+// CryptoBucket implements the operations for encrypting and decrypting objects
+// ContentCipherBuilder is used to encrypt and decrypt objects by default
+// when the object's MatDesc which you want to decrypt is emtpy or same to the
+// master key's MatDesc you provided in ContentCipherBuilder, sdk try to
+// use ContentCipherBuilder to decrypt
+type CryptoBucket struct {
+       oss.Bucket
+       ContentCipherBuilder ContentCipherBuilder
+       ExtraCipherBuilder   ExtraCipherBuilder
+       MasterCipherManager  MasterCipherManager
+       AliKmsClient         *kms.Client
+}
+
+// GetCryptoBucket create a client encyrption bucket
+func GetCryptoBucket(client *oss.Client, bucketName string, builder ContentCipherBuilder,
+       options ...CryptoBucketOption) (*CryptoBucket, error) {
+       var cryptoBucket CryptoBucket
+       cryptoBucket.Client = *client
+       cryptoBucket.BucketName = bucketName
+       cryptoBucket.ContentCipherBuilder = builder
+
+       for _, option := range options {
+               option(&cryptoBucket)
+       }
+
+       if cryptoBucket.ExtraCipherBuilder == nil {
+               cryptoBucket.ExtraCipherBuilder = &DefaultExtraCipherBuilder{AliKmsClient: cryptoBucket.AliKmsClient}
+       }
+
+       return &cryptoBucket, nil
+}
+
+// PutObject creates a new object and encyrpt it on client side when uploading to oss
+func (bucket CryptoBucket) PutObject(objectKey string, reader io.Reader, options ...oss.Option) error {
+       options = bucket.AddEncryptionUaSuffix(options)
+       cc, err := bucket.ContentCipherBuilder.ContentCipher()
+       if err != nil {
+               return err
+       }
+
+       cryptoReader, err := cc.EncryptContent(reader)
+       if err != nil {
+               return err
+       }
+
+       var request *oss.PutObjectRequest
+       srcLen, err := oss.GetReaderLen(reader)
+       if err != nil {
+               request = &oss.PutObjectRequest{
+                       ObjectKey: objectKey,
+                       Reader:    cryptoReader,
+               }
+       } else {
+               encryptedLen := cc.GetEncryptedLen(srcLen)
+               request = &oss.PutObjectRequest{
+                       ObjectKey: objectKey,
+                       Reader:    oss.LimitReadCloser(cryptoReader, encryptedLen),
+               }
+       }
+
+       opts := addCryptoHeaders(options, cc.GetCipherData())
+       resp, err := bucket.DoPutObject(request, opts)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return err
+}
+
+// GetObject downloads the object from oss
+// If the object is encrypted, sdk decrypt it automaticly
+func (bucket CryptoBucket) GetObject(objectKey string, options ...oss.Option) (io.ReadCloser, error) {
+       options = bucket.AddEncryptionUaSuffix(options)
+       result, err := bucket.DoGetObject(&oss.GetObjectRequest{ObjectKey: objectKey}, options)
+       if err != nil {
+               return nil, err
+       }
+       return result.Response, nil
+}
+
+// GetObjectToFile downloads the object from oss to local file
+// If the object is encrypted, sdk decrypt it automaticly
+func (bucket CryptoBucket) GetObjectToFile(objectKey, filePath string, options ...oss.Option) error {
+       options = bucket.AddEncryptionUaSuffix(options)
+       tempFilePath := filePath + oss.TempFileSuffix
+
+       // Calls the API to actually download the object. Returns the result instance.
+       result, err := bucket.DoGetObject(&oss.GetObjectRequest{ObjectKey: objectKey}, options)
+       if err != nil {
+               return err
+       }
+       defer result.Response.Close()
+
+       // If the local file does not exist, create a new one. If it exists, overwrite it.
+       fd, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, oss.FilePermMode)
+       if err != nil {
+               return err
+       }
+
+       // Copy the data to the local file path.
+       _, err = io.Copy(fd, result.Response.Body)
+       fd.Close()
+       if err != nil {
+               return err
+       }
+
+       // Compares the CRC value
+       hasRange, _, _ := oss.IsOptionSet(options, oss.HTTPHeaderRange)
+       encodeOpt, _ := oss.FindOption(options, oss.HTTPHeaderAcceptEncoding, nil)
+       acceptEncoding := ""
+       if encodeOpt != nil {
+               acceptEncoding = encodeOpt.(string)
+       }
+       if bucket.GetConfig().IsEnableCRC && !hasRange && acceptEncoding != "gzip" {
+               result.Response.ClientCRC = result.ClientCRC.Sum64()
+               err = oss.CheckCRC(result.Response, "GetObjectToFile")
+               if err != nil {
+                       os.Remove(tempFilePath)
+                       return err
+               }
+       }
+
+       return os.Rename(tempFilePath, filePath)
+}
+
+// DoGetObject is the actual API that gets the encrypted or not encrypted object.
+// It's the internal function called by other public APIs.
+func (bucket CryptoBucket) DoGetObject(request *oss.GetObjectRequest, options []oss.Option) (*oss.GetObjectResult, error) {
+       options = bucket.AddEncryptionUaSuffix(options)
+
+       // first,we must head object
+       metaInfo, err := bucket.GetObjectDetailedMeta(request.ObjectKey)
+       if err != nil {
+               return nil, err
+       }
+
+       isEncryptedObj := isEncryptedObject(metaInfo)
+       if !isEncryptedObj {
+               return bucket.Bucket.DoGetObject(request, options)
+       }
+
+       envelope, err := getEnvelopeFromHeader(metaInfo)
+       if err != nil {
+               return nil, err
+       }
+
+       if !isValidContentAlg(envelope.CEKAlg) {
+               return nil, fmt.Errorf("not supported content algorithm %s,object:%s", envelope.CEKAlg, request.ObjectKey)
+       }
+
+       if !envelope.IsValid() {
+               return nil, fmt.Errorf("getEnvelopeFromHeader error,object:%s", request.ObjectKey)
+       }
+
+       // use ContentCipherBuilder to decrpt object by default
+       encryptMatDesc := bucket.ContentCipherBuilder.GetMatDesc()
+       var cc ContentCipher
+       err = nil
+       if envelope.MatDesc == encryptMatDesc {
+               cc, err = bucket.ContentCipherBuilder.ContentCipherEnv(envelope)
+       } else {
+               cc, err = bucket.ExtraCipherBuilder.GetDecryptCipher(envelope, bucket.MasterCipherManager)
+       }
+
+       if err != nil {
+               return nil, fmt.Errorf("%s,object:%s", err.Error(), request.ObjectKey)
+       }
+
+       discardFrontAlignLen := int64(0)
+       uRange, err := oss.GetRangeConfig(options)
+       if err != nil {
+               return nil, err
+       }
+
+       if uRange != nil && uRange.HasStart {
+               // process range to align key size
+               adjustStart := adjustRangeStart(uRange.Start, cc)
+               discardFrontAlignLen = uRange.Start - adjustStart
+               if discardFrontAlignLen > 0 {
+                       uRange.Start = adjustStart
+                       options = oss.DeleteOption(options, oss.HTTPHeaderRange)
+                       options = append(options, oss.NormalizedRange(oss.GetRangeString(*uRange)))
+               }
+
+               // seek iv
+               cipherData := cc.GetCipherData().Clone()
+               cipherData.SeekIV(uint64(adjustStart))
+               cc, _ = cc.Clone(cipherData)
+       }
+
+       params, _ := oss.GetRawParams(options)
+       resp, err := bucket.Do("GET", request.ObjectKey, params, options, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+
+       result := &oss.GetObjectResult{
+               Response: resp,
+       }
+
+       // CRC
+       var crcCalc hash.Hash64
+       hasRange, _, _ := oss.IsOptionSet(options, oss.HTTPHeaderRange)
+       if bucket.GetConfig().IsEnableCRC && !hasRange {
+               crcCalc = crc64.New(oss.CrcTable())
+               result.ServerCRC = resp.ServerCRC
+               result.ClientCRC = crcCalc
+       }
+
+       // Progress
+       listener := oss.GetProgressListener(options)
+       contentLen, _ := strconv.ParseInt(resp.Headers.Get(oss.HTTPHeaderContentLength), 10, 64)
+       resp.Body = oss.TeeReader(resp.Body, crcCalc, contentLen, listener, nil)
+       resp.Body, err = cc.DecryptContent(resp.Body)
+       if err == nil && discardFrontAlignLen > 0 {
+               resp.Body = &oss.DiscardReadCloser{
+                       RC:      resp.Body,
+                       Discard: int(discardFrontAlignLen)}
+       }
+       return result, err
+}
+
+// PutObjectFromFile creates a new object from the local file
+// the object will be encrypted automaticly on client side when uploaded to oss
+func (bucket CryptoBucket) PutObjectFromFile(objectKey, filePath string, options ...oss.Option) error {
+       options = bucket.AddEncryptionUaSuffix(options)
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return err
+       }
+       defer fd.Close()
+
+       opts := oss.AddContentType(options, filePath, objectKey)
+       cc, err := bucket.ContentCipherBuilder.ContentCipher()
+       if err != nil {
+               return err
+       }
+
+       cryptoReader, err := cc.EncryptContent(fd)
+       if err != nil {
+               return err
+       }
+
+       var request *oss.PutObjectRequest
+       srcLen, err := oss.GetReaderLen(fd)
+       if err != nil {
+               request = &oss.PutObjectRequest{
+                       ObjectKey: objectKey,
+                       Reader:    cryptoReader,
+               }
+       } else {
+               encryptedLen := cc.GetEncryptedLen(srcLen)
+               request = &oss.PutObjectRequest{
+                       ObjectKey: objectKey,
+                       Reader:    oss.LimitReadCloser(cryptoReader, encryptedLen),
+               }
+       }
+
+       opts = addCryptoHeaders(opts, cc.GetCipherData())
+       resp, err := bucket.DoPutObject(request, opts)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return nil
+}
+
+// AppendObject please refer to Bucket.AppendObject
+func (bucket CryptoBucket) AppendObject(objectKey string, reader io.Reader, appendPosition int64, options ...oss.Option) (int64, error) {
+       return 0, fmt.Errorf("CryptoBucket doesn't support AppendObject")
+}
+
+// DoAppendObject please refer to Bucket.DoAppendObject
+func (bucket CryptoBucket) DoAppendObject(request *oss.AppendObjectRequest, options []oss.Option) (*oss.AppendObjectResult, error) {
+       return nil, fmt.Errorf("CryptoBucket doesn't support DoAppendObject")
+}
+
+// PutObjectWithURL please refer to Bucket.PutObjectWithURL
+func (bucket CryptoBucket) PutObjectWithURL(signedURL string, reader io.Reader, options ...oss.Option) error {
+       return fmt.Errorf("CryptoBucket doesn't support PutObjectWithURL")
+}
+
+// PutObjectFromFileWithURL please refer to Bucket.PutObjectFromFileWithURL
+func (bucket CryptoBucket) PutObjectFromFileWithURL(signedURL, filePath string, options ...oss.Option) error {
+       return fmt.Errorf("CryptoBucket doesn't support PutObjectFromFileWithURL")
+}
+
+// DoPutObjectWithURL please refer to Bucket.DoPutObjectWithURL
+func (bucket CryptoBucket) DoPutObjectWithURL(signedURL string, reader io.Reader, options []oss.Option) (*oss.Response, error) {
+       return nil, fmt.Errorf("CryptoBucket doesn't support DoPutObjectWithURL")
+}
+
+// GetObjectWithURL please refer to Bucket.GetObjectWithURL
+func (bucket CryptoBucket) GetObjectWithURL(signedURL string, options ...oss.Option) (io.ReadCloser, error) {
+       return nil, fmt.Errorf("CryptoBucket doesn't support GetObjectWithURL")
+}
+
+// GetObjectToFileWithURL please refer to Bucket.GetObjectToFileWithURL
+func (bucket CryptoBucket) GetObjectToFileWithURL(signedURL, filePath string, options ...oss.Option) error {
+       return fmt.Errorf("CryptoBucket doesn't support GetObjectToFileWithURL")
+}
+
+// DoGetObjectWithURL please refer to Bucket.DoGetObjectWithURL
+func (bucket CryptoBucket) DoGetObjectWithURL(signedURL string, options []oss.Option) (*oss.GetObjectResult, error) {
+       return nil, fmt.Errorf("CryptoBucket doesn't support DoGetObjectWithURL")
+}
+
+// ProcessObject please refer to Bucket.ProcessObject
+func (bucket CryptoBucket) ProcessObject(objectKey string, process string, options ...oss.Option) (oss.ProcessObjectResult, error) {
+       var out oss.ProcessObjectResult
+       return out, fmt.Errorf("CryptoBucket doesn't support ProcessObject")
+}
+
+func (bucket CryptoBucket) AddEncryptionUaSuffix(options []oss.Option) []oss.Option {
+       var outOption []oss.Option
+       bSet, _, _ := oss.IsOptionSet(options, oss.HTTPHeaderUserAgent)
+       if bSet || bucket.Client.Config.UserSetUa {
+               outOption = options
+               return outOption
+       }
+       outOption = append(options, oss.UserAgentHeader(bucket.Client.Config.UserAgent+"/"+EncryptionUaSuffix))
+       return outOption
+}
+
+// isEncryptedObject judge the object is encrypted or not
+func isEncryptedObject(headers http.Header) bool {
+       encrptedKey := headers.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionKey)
+       return len(encrptedKey) > 0
+}
+
+// addCryptoHeaders save Envelope information in oss meta
+func addCryptoHeaders(options []oss.Option, cd *CipherData) []oss.Option {
+       opts := []oss.Option{}
+
+       // convert content-md5
+       md5Option, _ := oss.FindOption(options, oss.HTTPHeaderContentMD5, nil)
+       if md5Option != nil {
+               opts = append(opts, oss.Meta(OssClientSideEncryptionUnencryptedContentMD5, md5Option.(string)))
+               options = oss.DeleteOption(options, oss.HTTPHeaderContentMD5)
+       }
+
+       // convert content-length
+       lenOption, _ := oss.FindOption(options, oss.HTTPHeaderContentLength, nil)
+       if lenOption != nil {
+               opts = append(opts, oss.Meta(OssClientSideEncryptionUnencryptedContentLength, lenOption.(string)))
+               options = oss.DeleteOption(options, oss.HTTPHeaderContentLength)
+       }
+
+       opts = append(opts, options...)
+
+       // matDesc
+       if cd.MatDesc != "" {
+               opts = append(opts, oss.Meta(OssClientSideEncryptionMatDesc, cd.MatDesc))
+       }
+
+       // encrypted key
+       strEncryptedKey := base64.StdEncoding.EncodeToString(cd.EncryptedKey)
+       opts = append(opts, oss.Meta(OssClientSideEncryptionKey, strEncryptedKey))
+
+       // encrypted iv
+       strEncryptedIV := base64.StdEncoding.EncodeToString(cd.EncryptedIV)
+       opts = append(opts, oss.Meta(OssClientSideEncryptionStart, strEncryptedIV))
+
+       // wrap alg
+       opts = append(opts, oss.Meta(OssClientSideEncryptionWrapAlg, cd.WrapAlgorithm))
+
+       // cek alg
+       opts = append(opts, oss.Meta(OssClientSideEncryptionCekAlg, cd.CEKAlgorithm))
+
+       return opts
+}
+
+func getEnvelopeFromHeader(header http.Header) (Envelope, error) {
+       var envelope Envelope
+       envelope.IV = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionStart)
+       decodedIV, err := base64.StdEncoding.DecodeString(envelope.IV)
+       if err != nil {
+               return envelope, err
+       }
+       envelope.IV = string(decodedIV)
+
+       envelope.CipherKey = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionKey)
+       decodedKey, err := base64.StdEncoding.DecodeString(envelope.CipherKey)
+       if err != nil {
+               return envelope, err
+       }
+       envelope.CipherKey = string(decodedKey)
+
+       envelope.MatDesc = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionMatDesc)
+       envelope.WrapAlg = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionWrapAlg)
+       envelope.CEKAlg = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionCekAlg)
+       envelope.UnencryptedMD5 = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionUnencryptedContentMD5)
+       envelope.UnencryptedContentLen = header.Get(oss.HTTPHeaderOssMetaPrefix + OssClientSideEncryptionUnencryptedContentLength)
+       return envelope, err
+}
+
+func isValidContentAlg(algName string) bool {
+       // now content encyrption only support aec/ctr algorithm
+       return algName == AesCtrAlgorithm
+}
+
+func adjustRangeStart(start int64, cc ContentCipher) int64 {
+       alignLen := int64(cc.GetAlignLen())
+       return (start / alignLen) * alignLen
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_bucket_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_bucket_test.go
new file mode 100644 (file)
index 0000000..a2c4d11
--- /dev/null
@@ -0,0 +1,1226 @@
+package osscrypto
+
+import (
+       "crypto/md5"
+       "encoding/hex"
+       "fmt"
+       "io"
+       "io/ioutil"
+       "log"
+       "math/rand"
+       math_rand "math/rand"
+       "net/http"
+       "os"
+       "strings"
+       "testing"
+       "time"
+
+       kms "github.com/aliyun/alibaba-cloud-sdk-go/services/kms"
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+       . "gopkg.in/check.v1"
+)
+
+func Test(t *testing.T) {
+       TestingT(t)
+}
+
+type OssCryptoBucketSuite struct {
+}
+
+var _ = Suite(&OssCryptoBucketSuite{})
+
+var (
+       matDesc = make(map[string]string)
+
+       rsaPublicKey string = `-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCokfiAVXXf5ImFzKDw+XO/UByW
+6mse2QsIgz3ZwBtMNu59fR5zttSx+8fB7vR4CN3bTztrP9A6bjoN0FFnhlQ3vNJC
+5MFO1PByrE/MNd5AAfSVba93I6sx8NSk5MzUCA4NJzAUqYOEWGtGBcom6kEF6MmR
+1EKib1Id8hpooY5xaQIDAQAB
+-----END PUBLIC KEY-----`
+
+       rsaPrivateKey string = `-----BEGIN PRIVATE KEY-----
+MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAKiR+IBVdd/kiYXM
+oPD5c79QHJbqax7ZCwiDPdnAG0w27n19HnO21LH7x8Hu9HgI3dtPO2s/0DpuOg3Q
+UWeGVDe80kLkwU7U8HKsT8w13kAB9JVtr3cjqzHw1KTkzNQIDg0nMBSpg4RYa0YF
+yibqQQXoyZHUQqJvUh3yGmihjnFpAgMBAAECgYA49RmCQ14QyKevDfVTdvYlLmx6
+kbqgMbYIqk+7w611kxoCTMR9VMmJWgmk/Zic9mIAOEVbd7RkCdqT0E+xKzJJFpI2
+ZHjrlwb21uqlcUqH1Gn+wI+jgmrafrnKih0kGucavr/GFi81rXixDrGON9KBE0FJ
+cPVdc0XiQAvCBnIIAQJBANXu3htPH0VsSznfqcDE+w8zpoAJdo6S/p30tcjsDQnx
+l/jYV4FXpErSrtAbmI013VYkdJcghNSLNUXppfk2e8UCQQDJt5c07BS9i2SDEXiz
+byzqCfXVzkdnDj9ry9mba1dcr9B9NCslVelXDGZKvQUBqNYCVxg398aRfWlYDTjU
+IoVVAkAbTyjPN6R4SkC4HJMg5oReBmvkwFCAFsemBk0GXwuzD0IlJAjXnAZ+/rIO
+ItewfwXIL1Mqz53lO/gK+q6TR585AkB304KUIoWzjyF3JqLP3IQOxzns92u9EV6l
+V2P+CkbMPXiZV6sls6I4XppJXX2i3bu7iidN3/dqJ9izQK94fMU9AkBZvgsIPCot
+y1/POIbv9LtnviDKrmpkXgVQSU4BmTPvXwTJm8APC7P/horSh3SVf1zgmnsyjm9D
+hO92gGc+4ajL
+-----END PRIVATE KEY-----`
+
+       rsaPublicKeyPks1 string = `-----BEGIN RSA PUBLIC KEY-----
+MIGJAoGBAKiR+IBVdd/kiYXMoPD5c79QHJbqax7ZCwiDPdnAG0w27n19HnO21LH7
+x8Hu9HgI3dtPO2s/0DpuOg3QUWeGVDe80kLkwU7U8HKsT8w13kAB9JVtr3cjqzHw
+1KTkzNQIDg0nMBSpg4RYa0YFyibqQQXoyZHUQqJvUh3yGmihjnFpAgMBAAE=
+-----END RSA PUBLIC KEY-----`
+
+       rsaPrivateKeyPks1 string = `-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQCokfiAVXXf5ImFzKDw+XO/UByW6mse2QsIgz3ZwBtMNu59fR5z
+ttSx+8fB7vR4CN3bTztrP9A6bjoN0FFnhlQ3vNJC5MFO1PByrE/MNd5AAfSVba93
+I6sx8NSk5MzUCA4NJzAUqYOEWGtGBcom6kEF6MmR1EKib1Id8hpooY5xaQIDAQAB
+AoGAOPUZgkNeEMinrw31U3b2JS5sepG6oDG2CKpPu8OtdZMaAkzEfVTJiVoJpP2Y
+nPZiADhFW3e0ZAnak9BPsSsySRaSNmR465cG9tbqpXFKh9Rp/sCPo4Jq2n65yood
+JBrnGr6/xhYvNa14sQ6xjjfSgRNBSXD1XXNF4kALwgZyCAECQQDV7t4bTx9FbEs5
+36nAxPsPM6aACXaOkv6d9LXI7A0J8Zf42FeBV6RK0q7QG5iNNd1WJHSXIITUizVF
+6aX5NnvFAkEAybeXNOwUvYtkgxF4s28s6gn11c5HZw4/a8vZm2tXXK/QfTQrJVXp
+VwxmSr0FAajWAlcYN/fGkX1pWA041CKFVQJAG08ozzekeEpAuByTIOaEXgZr5MBQ
+gBbHpgZNBl8Lsw9CJSQI15wGfv6yDiLXsH8FyC9TKs+d5Tv4Cvquk0efOQJAd9OC
+lCKFs48hdyaiz9yEDsc57PdrvRFepVdj/gpGzD14mVerJbOiOF6aSV19ot27u4on
+Td/3aifYs0CveHzFPQJAWb4LCDwqLctfzziG7/S7Z74gyq5qZF4FUElOAZkz718E
+yZvADwuz/4aK0od0lX9c4Jp7Mo5vQ4TvdoBnPuGoyw==
+-----END RSA PRIVATE KEY-----`
+)
+
+var (
+       // Endpoint/ID/Key
+       endpoint         = os.Getenv("OSS_TEST_ENDPOINT")
+       accessID         = os.Getenv("OSS_TEST_ACCESS_KEY_ID")
+       accessKey        = os.Getenv("OSS_TEST_ACCESS_KEY_SECRET")
+       kmsID            = os.Getenv("OSS_TEST_KMS_ID")
+       kmsRegion        = os.Getenv("OSS_TEST_KMS_REGION")
+       kmsAccessID      = accessID
+       kmsAccessKey     = accessKey
+       bucketNamePrefix = "go-sdk-test-bucket-"
+       objectNamePrefix = "go-sdk-test-object-"
+)
+
+var (
+       logPath            = "go_sdk_test_" + time.Now().Format("20060102_150405") + ".log"
+       testLogFile, _     = os.OpenFile(logPath, os.O_RDWR|os.O_CREATE, 0664)
+       testLogger         = log.New(testLogFile, "", log.Ldate|log.Ltime|log.Lshortfile)
+       letters            = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
+       timeoutInOperation = 3 * time.Second
+)
+
+func RandStr(n int) string {
+       b := make([]rune, n)
+       randMarker := rand.New(rand.NewSource(time.Now().UnixNano()))
+       for i := range b {
+               b[i] = letters[randMarker.Intn(len(letters))]
+       }
+       return string(b)
+}
+
+func RandLowStr(n int) string {
+       return strings.ToLower(RandStr(n))
+}
+
+func GetFileMD5(filePath string) (string, error) {
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return "", err
+       }
+       defer fd.Close()
+
+       md5 := md5.New()
+       _, err = io.Copy(md5, fd)
+       if err != nil {
+               return "", fmt.Errorf("buff copy error")
+       }
+       md5Str := hex.EncodeToString(md5.Sum(nil))
+       return md5Str, nil
+}
+
+func GetStringMd5(s string) string {
+       md5 := md5.New()
+       md5.Write([]byte(s))
+       md5Str := hex.EncodeToString(md5.Sum(nil))
+       return md5Str
+}
+
+func ForceDeleteBucket(client *oss.Client, bucketName string, c *C) {
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // Delete Object
+       marker := oss.Marker("")
+       for {
+               lor, err := bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = oss.Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete Object Versions and DeleteMarks
+       keyMarker := oss.KeyMarker("")
+       versionIdMarker := oss.VersionIdMarker("")
+       options := []oss.Option{keyMarker, versionIdMarker}
+       for {
+               lor, err := bucket.ListObjectVersions(options...)
+               if err != nil {
+                       break
+               }
+
+               for _, object := range lor.ObjectDeleteMarkers {
+                       err = bucket.DeleteObject(object.Key, oss.VersionId(object.VersionId))
+                       c.Assert(err, IsNil)
+               }
+
+               for _, object := range lor.ObjectVersions {
+                       err = bucket.DeleteObject(object.Key, oss.VersionId(object.VersionId))
+                       c.Assert(err, IsNil)
+               }
+
+               keyMarker = oss.KeyMarker(lor.NextKeyMarker)
+               versionIdMarker := oss.VersionIdMarker(lor.NextVersionIdMarker)
+               options = []oss.Option{keyMarker, versionIdMarker}
+
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete Part
+       keyMarker = oss.KeyMarker("")
+       uploadIDMarker := oss.UploadIDMarker("")
+       for {
+               lmur, err := bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = oss.InitiateMultipartUploadResult{Bucket: bucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = oss.KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = oss.UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // delete live channel
+       strMarker := ""
+       for {
+               result, err := bucket.ListLiveChannel(oss.Marker(strMarker))
+               c.Assert(err, IsNil)
+
+               for _, channel := range result.LiveChannel {
+                       err := bucket.DeleteLiveChannel(channel.Name)
+                       c.Assert(err, IsNil)
+               }
+
+               if result.IsTruncated {
+                       strMarker = result.NextMarker
+               } else {
+                       break
+               }
+       }
+
+       // Delete Bucket
+       err = client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+}
+
+func ReadBody(body io.ReadCloser) (string, error) {
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               return "", err
+       }
+       return string(data), nil
+}
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssCryptoBucketSuite) SetUpSuite(c *C) {
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssCryptoBucketSuite) TearDownSuite(c *C) {
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssCryptoBucketSuite) SetUpTest(c *C) {
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssCryptoBucketSuite) TearDownTest(c *C) {
+
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectNormalPks8(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       testMatDesc := make(map[string]string)
+       testMatDesc["desc"] = "test rsa key"
+       masterRsaCipher, _ := CreateMasterRsa(testMatDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // non-crypto bucket download
+       normalBucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       body, err = normalBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       encryptText, err := ReadBody(body)
+       c.Assert(encryptText != objectValue, Equals, true)
+
+       // acl
+       acl, err := bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // put with meta
+       options := []oss.Option{
+               oss.ObjectACL(oss.ACLPublicRead),
+               oss.Meta("myprop", "mypropval"),
+       }
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err = ReadBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(text, Equals, objectValue)
+
+       acl, err = bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(oss.ACLPublicRead))
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectNormalPks1(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKeyPks1, rsaPrivateKeyPks1)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // non-crypto bucket download
+       normalBucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       body, err = normalBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       encryptText, err := ReadBody(body)
+       c.Assert(encryptText != objectValue, Equals, true)
+
+       // acl
+       acl, err := bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // put with meta
+       options := []oss.Option{
+               oss.ObjectACL(oss.ACLPublicRead),
+               oss.Meta("myprop", "mypropval"),
+       }
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err = ReadBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(text, Equals, objectValue)
+
+       acl, err = bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(oss.ACLPublicRead))
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectEmptyPks1(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKeyPks1, rsaPrivateKeyPks1)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := ""
+
+       // Put empty string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // non-crypto bucket download
+       normalBucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       body, err = normalBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       encryptText, err := ReadBody(body)
+       c.Assert(encryptText == objectValue, Equals, true)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectSmallSizePks1(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKeyPks1, rsaPrivateKeyPks1)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := "123"
+
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // non-crypto bucket download
+       normalBucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       body, err = normalBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       encryptText, err := ReadBody(body)
+       c.Assert(encryptText != objectValue, Equals, true)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectEmptyFilePks1(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKeyPks1, rsaPrivateKeyPks1)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       fileName := "oss-go-sdk-test-file-" + RandStr(5)
+       fo, err := os.Create(fileName)
+       c.Assert(err, IsNil)
+       _, err = fo.Write([]byte(""))
+       c.Assert(err, IsNil)
+       fo.Close()
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       // file not exist
+       err = bucket.PutObjectFromFile(objectName, "/root1/abc.txt")
+       c.Assert(err, NotNil)
+
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       c.Assert(err, IsNil)
+
+       downFileName := fileName + "-down"
+
+       // Check
+       err = bucket.GetObjectToFile(objectName, downFileName)
+       c.Assert(err, IsNil)
+
+       b1, err := ioutil.ReadFile(fileName)
+       b2, err := ioutil.ReadFile(downFileName)
+       c.Assert(len(b1), Equals, 0)
+       c.Assert(string(b1), Equals, string(b2))
+
+       os.Remove(downFileName)
+       os.Remove(fileName)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestKmsPutObjectNormal(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       kmsClient, err := kms.NewClientWithAccessKey(kmsRegion, kmsAccessID, kmsAccessKey)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterKmsCipher, _ := CreateMasterAliKms(matDesc, kmsID, kmsClient)
+       contentProvider := CreateAesCtrCipher(masterKmsCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // non-crypto bucket download
+       normalBucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       body, err = normalBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       encryptText, err := ReadBody(body)
+       c.Assert(encryptText != objectValue, Equals, true)
+
+       // acl
+       acl, err := bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, "default")
+
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // put with meta
+       options := []oss.Option{
+               oss.ObjectACL(oss.ACLPublicRead),
+               oss.Meta("myprop", "mypropval"),
+       }
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err = ReadBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(text, Equals, objectValue)
+
+       acl, err = bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(acl.ACL, Equals, string(oss.ACLPublicRead))
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       // put object error,bucket not exist
+       bucket.BucketName = bucket.BucketName + "-not-exist"
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), options...)
+       c.Assert(err, NotNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+type MockKmsManager struct {
+}
+
+func (mg *MockKmsManager) GetMasterKey(matDesc map[string]string) ([]string, error) {
+       if len(matDesc) == 0 {
+               return nil, fmt.Errorf("not found")
+       }
+
+       keyList := []string{kmsID}
+       return keyList, nil
+}
+
+func (s *OssCryptoBucketSuite) TestRsaBucketDecrptObjectWithKmsSuccess(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       kmsClient, err := kms.NewClientWithAccessKey(kmsRegion, kmsAccessID, kmsAccessKey)
+       c.Assert(err, IsNil)
+
+       // crypto bucket with kms
+       testMatDesc := make(map[string]string)
+       testMatDesc["desc"] = "test kms wrap"
+       masterKmsCipher, _ := CreateMasterAliKms(testMatDesc, kmsID, kmsClient)
+       contentProvider := CreateAesCtrCipher(masterKmsCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // crypto bucket with rsa
+       var masterManager MockKmsManager
+       var options []CryptoBucketOption
+       options = append(options, SetAliKmsClient(kmsClient))
+       options = append(options, SetMasterCipherManager(&masterManager))
+
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       rsaProvider := CreateAesCtrCipher(masterRsaCipher)
+       rsaBucket, err := GetCryptoBucket(client, bucketName, rsaProvider, options...)
+
+       // Check
+       body, err := rsaBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // non-crypto bucket download
+       normalBucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       body, err = normalBucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       encryptText, err := ReadBody(body)
+       c.Assert(encryptText != objectValue, Equals, true)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestRsaBucketDecrptObjectWithKmsError(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       kmsClient, err := kms.NewClientWithAccessKey(kmsRegion, kmsAccessID, kmsAccessKey)
+       c.Assert(err, IsNil)
+
+       // crypto bucket with kms
+       testMatDesc := make(map[string]string)
+       testMatDesc["desc"] = "test kms wrap"
+       masterKmsCipher, _ := CreateMasterAliKms(testMatDesc, kmsID, kmsClient)
+       contentProvider := CreateAesCtrCipher(masterKmsCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // crypto bucket with rsa
+       var masterManager MockKmsManager
+       var options []CryptoBucketOption
+
+       // kms client is nil
+       //options = append(options, SetAliKmsClient(kmsClient))
+
+       options = append(options, SetMasterCipherManager(&masterManager))
+
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       rsaProvider := CreateAesCtrCipher(masterRsaCipher)
+       rsaBucket, err := GetCryptoBucket(client, bucketName, rsaProvider, options...)
+
+       // Check
+       _, err = rsaBucket.GetObject(objectName)
+       c.Assert(err, NotNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestRangeGetObject(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       contentLen := 1024 * 1024
+       content := RandStr(contentLen)
+       err = bucket.PutObject(objectName, strings.NewReader(content))
+       c.Assert(err, IsNil)
+
+       // range get
+       for i := 0; i < 20; i++ {
+               math_rand.Seed(time.Now().UnixNano())
+               rangeStart := rand.Intn(contentLen)
+               rangeEnd := rangeStart + rand.Intn(contentLen-rangeStart)
+               if rangeEnd == rangeStart || rangeStart >= contentLen-1 {
+                       continue
+               }
+
+               body, err := bucket.GetObject(objectName, oss.Range(int64(rangeStart), int64(rangeEnd)))
+               c.Assert(err, IsNil)
+               downText, err := ReadBody(body)
+               c.Assert(len(downText) > 0, Equals, true)
+               downMd5 := GetStringMd5(downText)
+
+               srcText := content[rangeStart : rangeEnd+1]
+               srcMd5 := GetStringMd5(srcText)
+
+               c.Assert(len(downText), Equals, len(srcText))
+               c.Assert(downMd5, Equals, srcMd5)
+       }
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestGetNormalObject(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       // normal bucket
+       normalBucket, _ := client.Bucket(bucketName)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       err = normalBucket.PutObject(objectName, strings.NewReader(objectValue))
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       // delete object
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // get object again
+       body, err = bucket.GetObject(objectName)
+       c.Assert(err, NotNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestGetCryptoBucketNotSupport(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // AppendObject
+       _, err = bucket.AppendObject(objectName, strings.NewReader(objectValue), 0)
+       c.Assert(err, NotNil)
+
+       // DoAppendObject
+       var request oss.AppendObjectRequest
+       var options []oss.Option
+       _, err = bucket.DoAppendObject(&request, options)
+       c.Assert(err, NotNil)
+
+       // PutObjectWithURL
+       err = bucket.PutObjectWithURL("oss://bucket/object", strings.NewReader(objectValue))
+       c.Assert(err, NotNil)
+
+       // PutObjectFromFileWithURL
+       err = bucket.PutObjectFromFileWithURL("oss://bucket/object", "file.txt")
+       c.Assert(err, NotNil)
+
+       // DoPutObjectWithURL
+       _, err = bucket.DoPutObjectWithURL("oss://bucket/object", strings.NewReader(objectValue), options)
+       c.Assert(err, NotNil)
+
+       // GetObjectWithURL
+       _, err = bucket.GetObjectWithURL("oss://bucket/object")
+       c.Assert(err, NotNil)
+
+       // GetObjectToFileWithURL
+       err = bucket.GetObjectToFileWithURL("oss://bucket/object", "file.txt")
+       c.Assert(err, NotNil)
+
+       // DoGetObjectWithURL
+       _, err = bucket.DoGetObjectWithURL("oss://bucket/object", options)
+       c.Assert(err, NotNil)
+
+       // ProcessObject
+       _, err = bucket.ProcessObject("oss://bucket/object", "")
+       c.Assert(err, NotNil)
+
+       // DownloadFile
+       err = bucket.DownloadFile(objectName, "file.txt", 1024)
+       c.Assert(err, NotNil)
+
+       // CopyFile
+       err = bucket.CopyFile("src-bucket", "src-object", "dest-object", 1024)
+       c.Assert(err, NotNil)
+
+       // UploadFile
+       err = bucket.UploadFile(objectName, "file.txt", 1024)
+       c.Assert(err, NotNil)
+}
+
+type MockRsaManager struct {
+}
+
+func (mg *MockRsaManager) GetMasterKey(matDesc map[string]string) ([]string, error) {
+       if len(matDesc) == 0 {
+               return nil, fmt.Errorf("not found")
+       }
+
+       keyList := []string{rsaPublicKey, rsaPrivateKey}
+       return keyList, nil
+}
+
+func (s *OssCryptoBucketSuite) TestGetMasterKey(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       testMatDesc := make(map[string]string)
+       testMatDesc["desc"] = "test rsa key"
+       masterRsaCipher, _ := CreateMasterRsa(testMatDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+       srcMD5, err := GetFileMD5(fileName)
+       c.Assert(err, IsNil)
+
+       err = bucket.PutObjectFromFile(objectName, fileName)
+       c.Assert(err, IsNil)
+
+       // other crypto bucket
+       var rsaManager MockRsaManager
+       masterRsaCipherOther, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProviderOther := CreateAesCtrCipher(masterRsaCipherOther)
+       bucketOther, err := GetCryptoBucket(client, bucketName, contentProviderOther, SetMasterCipherManager(&rsaManager))
+
+       //  download
+       downfileName := "test-go-sdk-file-" + RandLowStr(5) + ".jpg"
+       err = bucketOther.GetObjectToFile(objectName, downfileName)
+       c.Assert(err, IsNil)
+       downFileMD5, err := GetFileMD5(downfileName)
+       c.Assert(err, IsNil)
+       c.Assert(downFileMD5, Equals, srcMD5)
+
+       // GetObjectToFile error
+       err = bucketOther.GetObjectToFile(objectName, "/root1/"+downfileName)
+       c.Assert(err, NotNil)
+
+       os.Remove(downfileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+type MockReader struct {
+       Reader io.Reader
+}
+
+func (r *MockReader) Read(b []byte) (int, error) {
+       return r.Reader.Read(b)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectUnkownReaderLen(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       srcMD5 := GetStringMd5(objectValue)
+       options := []oss.Option{oss.ContentMD5(srcMD5), oss.ContentLength(1023)}
+
+       // Put string
+       mockReader := &MockReader{strings.NewReader(objectValue)}
+       err = bucket.PutObject(objectName, mockReader, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       body, err := bucket.GetObject(objectName)
+       c.Assert(err, IsNil)
+       text, err := ReadBody(body)
+       c.Assert(text, Equals, objectValue)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestGetDecryptCipher(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       var rsaManager MockRsaManager
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider, SetMasterCipherManager(&rsaManager))
+
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(1023)
+
+       // Put string
+       var respHeader http.Header
+       err = bucket.PutObject(objectName, strings.NewReader(objectValue), oss.GetResponseHeader(&respHeader))
+       c.Assert(err, IsNil)
+
+       // first,we must head object
+       metaInfo, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       envelope, _ := getEnvelopeFromHeader(metaInfo)
+
+       // test for getEnvelopeFromHeader
+       metaInfo.Set(oss.HTTPHeaderOssMetaPrefix+OssClientSideEncryptionKey, string([]byte{200, 200, 200}))
+       _, err = getEnvelopeFromHeader(metaInfo)
+       c.Assert(err, NotNil)
+       metaInfo.Set(oss.HTTPHeaderOssMetaPrefix+OssClientSideEncryptionKey, envelope.CipherKey)
+
+       metaInfo.Set(oss.HTTPHeaderOssMetaPrefix+OssClientSideEncryptionStart, string([]byte{200, 200, 200}))
+       _, err = getEnvelopeFromHeader(metaInfo)
+       c.Assert(err, NotNil)
+       metaInfo.Set(oss.HTTPHeaderOssMetaPrefix+OssClientSideEncryptionKey, envelope.IV)
+
+       // test for getDecryptCipher
+       CEKAlg := envelope.CEKAlg
+       envelope.CEKAlg = ""
+       _, err = bucket.ExtraCipherBuilder.GetDecryptCipher(envelope, bucket.MasterCipherManager)
+       c.Assert(err, NotNil)
+       envelope.CEKAlg = CEKAlg
+
+       // matDesc is emtpy
+       bucket.MasterCipherManager = &MockRsaManager{}
+       _, err = bucket.ExtraCipherBuilder.GetDecryptCipher(envelope, bucket.MasterCipherManager)
+       c.Assert(err, NotNil)
+
+       // MasterCipherManager is nil
+       bucket.MasterCipherManager = nil
+       _, err = bucket.ExtraCipherBuilder.GetDecryptCipher(envelope, bucket.MasterCipherManager)
+       c.Assert(err, NotNil)
+
+       WrapAlg := envelope.WrapAlg
+       envelope.WrapAlg = "test"
+       _, err = bucket.ExtraCipherBuilder.GetDecryptCipher(envelope, bucket.MasterCipherManager)
+       c.Assert(err, NotNil)
+       envelope.WrapAlg = WrapAlg
+
+       envelope.WrapAlg = KmsAliCryptoWrap
+       _, err = bucket.ExtraCipherBuilder.GetDecryptCipher(envelope, bucket.MasterCipherManager)
+       c.Assert(err, NotNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestGetObjectEncryptedByCppRsa(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // put object encrypted by cpp
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       srcJpgFile := "../../sample/test-client-encryption-src.jpg"
+       fileEncryptedByCpp := "../../sample/test-client-encryption-crypto-cpp-rsa.jpg"
+
+       opts := []oss.Option{}
+       opts = append(opts, oss.Meta(OssClientSideEncryptionKey, "nyXOp7delQ/MQLjKQMhHLaT0w7u2yQoDLkSnK8MFg/MwYdh4na4/LS8LLbLcM18m8I/ObWUHU775I50sJCpdv+f4e0jLeVRRiDFWe+uo7Puc9j4xHj8YB3QlcIOFQiTxHIB6q+C+RA6lGwqqYVa+n3aV5uWhygyv1MWmESurppg="))
+       opts = append(opts, oss.Meta(OssClientSideEncryptionStart, "De/S3T8wFjx7QPxAAFl7h7TeI2EsZlfCwox4WhLGng5DK2vNXxULmulMUUpYkdc9umqmDilgSy5Z3Foafw+v4JJThfw68T/9G2gxZLrQTbAlvFPFfPM9Ehk6cY4+8WpY32uN8w5vrHyoSZGr343NxCUGIp6fQ9sSuOLMoJg7hNw="))
+       opts = append(opts, oss.Meta(OssClientSideEncryptionWrapAlg, "RSA/NONE/PKCS1Padding"))
+       opts = append(opts, oss.Meta(OssClientSideEncryptionCekAlg, "AES/CTR/NoPadding"))
+       err = bucket.PutObjectFromFile(objectName, fileEncryptedByCpp, opts...)
+       c.Assert(err, IsNil)
+
+       // download with crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       cryptoBucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       downFileName := "oss-go-sdk-test-file-" + RandStr(5)
+       err = cryptoBucket.GetObjectToFile(objectName, downFileName)
+       c.Assert(err, IsNil)
+
+       downMd5, _ := GetFileMD5(downFileName)
+       srcJpgMd5, _ := GetFileMD5(srcJpgFile)
+       c.Assert(downMd5, Equals, srcJpgMd5)
+       os.Remove(downFileName)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestGetObjectEncryptedByPythonRsa(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // put object encrypted by python
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       srcJpgFile := "../../sample/test-client-encryption-src.jpg"
+       fileEncryptedByCpp := "../../sample/test-client-encryption-crypto-python-rsa.jpg"
+
+       opts := []oss.Option{}
+       opts = append(opts, oss.Meta(OssClientSideEncryptionKey, "ZNQM4g+JykUfOBMkfL8kbvChD3R23UH53sRyTg42h9H2ph8ZJJlo2tSP5Oi3nR5gJAwA/OTrruNq02M2Zt4N7zVWdbFArKbY/CkHpihVYOqsSU4Z8RmrNBm4QfC5om2WElRHNt8hlqhnvzhdorGDB5OoMQ8KvQqXDC53aM5OY64="))
+       opts = append(opts, oss.Meta(OssClientSideEncryptionStart, "mZ6kts6kaMm++0akhQQZl+tj8gPWznZ+giHciCQTIzriwBzZZO4d85YZeBStuUPshdnO3QHK63/NH9QFL6pwpLiXI9UZxkGygkp82oB4jaF4HKoQ4ujd670pXLxpljBLnp0sCxiCIaf5Fzp4jgNCurXycY10/5DN7yPPtdw7dkk="))
+       opts = append(opts, oss.Meta(OssClientSideEncryptionWrapAlg, "RSA/NONE/PKCS1Padding"))
+       opts = append(opts, oss.Meta(OssClientSideEncryptionCekAlg, "AES/CTR/NoPadding"))
+       err = bucket.PutObjectFromFile(objectName, fileEncryptedByCpp, opts...)
+       c.Assert(err, IsNil)
+
+       // download with crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       cryptoBucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       downFileName := "oss-go-sdk-test-file-" + RandStr(5)
+       err = cryptoBucket.GetObjectToFile(objectName, downFileName)
+       c.Assert(err, IsNil)
+
+       downMd5, _ := GetFileMD5(downFileName)
+       srcJpgMd5, _ := GetFileMD5(srcJpgFile)
+       c.Assert(downMd5, Equals, srcJpgMd5)
+       os.Remove(downFileName)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestRepeatedPutObjectFromFile(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       srcJpgFile := "../../sample/test-client-encryption-src.jpg"
+
+       // put object from file
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       cryptoBucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       err = cryptoBucket.PutObjectFromFile(objectName, srcJpgFile)
+       c.Assert(err, IsNil)
+
+       downFileName := "oss-go-sdk-test-file-" + RandStr(5)
+       err = cryptoBucket.GetObjectToFile(objectName, downFileName)
+       c.Assert(err, IsNil)
+
+       srcJpgMd5, _ := GetFileMD5(srcJpgFile)
+       downMd5, _ := GetFileMD5(downFileName)
+       c.Assert(len(srcJpgMd5) > 0, Equals, true)
+       c.Assert(len(downMd5) > 0, Equals, true)
+       c.Assert(downMd5, Equals, srcJpgMd5)
+       os.Remove(downFileName)
+
+       err = cryptoBucket.PutObjectFromFile(objectName+"-other", srcJpgFile)
+       c.Assert(err, IsNil)
+       err = cryptoBucket.GetObjectToFile(objectName, downFileName)
+       c.Assert(err, IsNil)
+       downMd5, _ = GetFileMD5(downFileName)
+       c.Assert(downMd5, Equals, srcJpgMd5)
+
+       os.Remove(downFileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectEncryptionUserAgent(c *C) {
+       logName := "." + string(os.PathSeparator) + "test-go-sdk.log" + RandStr(5)
+       f, err := os.OpenFile(logName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
+       c.Assert(err, IsNil)
+
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       client.Config.LogLevel = oss.Debug
+       client.Config.Logger = log.New(f, "", log.LstdFlags)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       srcJpgFile := "../../sample/test-client-encryption-src.jpg"
+
+       // put object from file
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       cryptoBucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       err = cryptoBucket.PutObjectFromFile(objectName, srcJpgFile)
+       c.Assert(err, IsNil)
+
+       // read log file,get http info
+       contents, err := ioutil.ReadFile(logName)
+       c.Assert(err, IsNil)
+
+       httpContent := string(contents)
+       c.Assert(strings.Contains(httpContent, EncryptionUaSuffix), Equals, true)
+
+       f.Close()
+       os.Remove(logName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestPutObjectNormalUserAgent(c *C) {
+       logName := "." + string(os.PathSeparator) + "test-go-sdk.log" + RandStr(5)
+       f, err := os.OpenFile(logName, os.O_CREATE|os.O_TRUNC|os.O_RDWR, 0660)
+       c.Assert(err, IsNil)
+
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       client.Config.LogLevel = oss.Debug
+       client.Config.Logger = log.New(f, "", log.LstdFlags)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+       srcJpgFile := "../../sample/test-client-encryption-src.jpg"
+
+       bucket, err := client.Bucket(bucketName)
+
+       err = bucket.PutObjectFromFile(objectName, srcJpgFile)
+       c.Assert(err, IsNil)
+
+       // read log file,get http info
+       contents, err := ioutil.ReadFile(logName)
+       c.Assert(err, IsNil)
+
+       httpContent := string(contents)
+       c.Assert(strings.Contains(httpContent, EncryptionUaSuffix), Equals, false)
+
+       f.Close()
+       os.Remove(logName)
+       ForceDeleteBucket(client, bucketName, c)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_const.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_const.go
new file mode 100644 (file)
index 0000000..73f4622
--- /dev/null
@@ -0,0 +1,26 @@
+package osscrypto
+
+// for client sider encryption oss meta
+const (
+       OssClientSideEncryptionKey                      string = "client-side-encryption-key"
+       OssClientSideEncryptionStart                           = "client-side-encryption-start"
+       OssClientSideEncryptionCekAlg                          = "client-side-encryption-cek-alg"
+       OssClientSideEncryptionWrapAlg                         = "client-side-encryption-wrap-alg"
+       OssClientSideEncryptionMatDesc                         = "client-side-encryption-matdesc"
+       OssClientSideEncryptionUnencryptedContentLength        = "client-side-encryption-unencrypted-content-length"
+       OssClientSideEncryptionUnencryptedContentMD5           = "client-side-encryption-unencrypted-content-md5"
+       OssClientSideEncryptionDataSize                        = "client-side-encryption-data-size"
+       OssClientSideEncryptionPartSize                        = "client-side-encryption-part-size"
+)
+
+// encryption Algorithm
+const (
+       RsaCryptoWrap    string = "RSA/NONE/PKCS1Padding"
+       KmsAliCryptoWrap string = "KMS/ALICLOUD"
+       AesCtrAlgorithm  string = "AES/CTR/NoPadding"
+)
+
+// user agent tag for client encryption
+const (
+       EncryptionUaSuffix string = "OssEncryptionClient"
+)
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_download.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_download.go
new file mode 100644 (file)
index 0000000..2c924e0
--- /dev/null
@@ -0,0 +1,12 @@
+package osscrypto
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// DownloadFile with multi part mode, temporarily not supported
+func (bucket CryptoBucket) DownloadFile(objectKey, filePath string, partSize int64, options ...oss.Option) error {
+       return fmt.Errorf("CryptoBucket doesn't support DownloadFile")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multicopy.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multicopy.go
new file mode 100644 (file)
index 0000000..331466c
--- /dev/null
@@ -0,0 +1,12 @@
+package osscrypto
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// CopyFile with multi part mode, temporarily not supported
+func (bucket CryptoBucket) CopyFile(srcBucketName, srcObjectKey, destObjectKey string, partSize int64, options ...oss.Option) error {
+       return fmt.Errorf("CryptoBucket doesn't support CopyFile")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multipart.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multipart.go
new file mode 100644 (file)
index 0000000..afa0783
--- /dev/null
@@ -0,0 +1,174 @@
+package osscrypto
+
+import (
+       "fmt"
+       "io"
+       "os"
+       "strconv"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// PartCryptoContext save encryption or decryption information
+type PartCryptoContext struct {
+       ContentCipher ContentCipher
+       DataSize      int64
+       PartSize      int64
+}
+
+// Valid judge PartCryptoContext is valid or not
+func (pcc PartCryptoContext) Valid() bool {
+       if pcc.ContentCipher == nil || pcc.DataSize == 0 || pcc.PartSize == 0 {
+               return false
+       }
+       return true
+}
+
+// InitiateMultipartUpload initializes multipart upload for client encryption
+// cryptoContext.PartSize and cryptoContext.DataSize are input parameter
+// cryptoContext.PartSize must aligned to the secret iv length
+// cryptoContext.ContentCipher is output parameter
+// cryptoContext will be used in next API
+func (bucket CryptoBucket) InitiateMultipartUpload(objectKey string, cryptoContext *PartCryptoContext, options ...oss.Option) (oss.InitiateMultipartUploadResult, error) {
+       options = bucket.AddEncryptionUaSuffix(options)
+       var imur oss.InitiateMultipartUploadResult
+       if cryptoContext == nil {
+               return imur, fmt.Errorf("error,cryptoContext is nil")
+       }
+
+       if cryptoContext.PartSize <= 0 {
+               return imur, fmt.Errorf("invalid PartCryptoContext's PartSize %d", cryptoContext.PartSize)
+       }
+
+       cc, err := bucket.ContentCipherBuilder.ContentCipher()
+       if err != nil {
+               return imur, err
+       }
+
+       if cryptoContext.PartSize%int64(cc.GetAlignLen()) != 0 {
+               return imur, fmt.Errorf("PartCryptoContext's PartSize must be aligned to %d", cc.GetAlignLen())
+       }
+
+       opts := addCryptoHeaders(options, cc.GetCipherData())
+       if cryptoContext.DataSize > 0 {
+               opts = append(opts, oss.Meta(OssClientSideEncryptionDataSize, strconv.FormatInt(cryptoContext.DataSize, 10)))
+       }
+       opts = append(opts, oss.Meta(OssClientSideEncryptionPartSize, strconv.FormatInt(cryptoContext.PartSize, 10)))
+
+       imur, err = bucket.Bucket.InitiateMultipartUpload(objectKey, opts...)
+       if err == nil {
+               cryptoContext.ContentCipher = cc
+       }
+       return imur, err
+}
+
+// UploadPart uploads parts to oss, the part data are encrypted automaticly on client side
+// cryptoContext is the input parameter
+func (bucket CryptoBucket) UploadPart(imur oss.InitiateMultipartUploadResult, reader io.Reader,
+       partSize int64, partNumber int, cryptoContext PartCryptoContext, options ...oss.Option) (oss.UploadPart, error) {
+       options = bucket.AddEncryptionUaSuffix(options)
+       var uploadPart oss.UploadPart
+       if cryptoContext.ContentCipher == nil {
+               return uploadPart, fmt.Errorf("error,cryptoContext is nil or cryptoContext.ContentCipher is nil")
+       }
+
+       if partNumber < 1 {
+               return uploadPart, fmt.Errorf("partNumber:%d is smaller than 1", partNumber)
+       }
+
+       if cryptoContext.PartSize%int64(cryptoContext.ContentCipher.GetAlignLen()) != 0 {
+               return uploadPart, fmt.Errorf("PartCryptoContext's PartSize must be aligned to %d", cryptoContext.ContentCipher.GetAlignLen())
+       }
+
+       cipherData := cryptoContext.ContentCipher.GetCipherData().Clone()
+       // caclulate iv based on part number
+       if partNumber > 1 {
+               cipherData.SeekIV(uint64(partNumber-1) * uint64(cryptoContext.PartSize))
+       }
+
+       // for parallel upload part
+       partCC, _ := cryptoContext.ContentCipher.Clone(cipherData)
+
+       cryptoReader, err := partCC.EncryptContent(reader)
+       if err != nil {
+               return uploadPart, err
+       }
+
+       request := &oss.UploadPartRequest{
+               InitResult: &imur,
+               Reader:     cryptoReader,
+               PartSize:   partCC.GetEncryptedLen(partSize),
+               PartNumber: partNumber,
+       }
+
+       opts := addCryptoHeaders(options, partCC.GetCipherData())
+       if cryptoContext.DataSize > 0 {
+               opts = append(opts, oss.Meta(OssClientSideEncryptionDataSize, strconv.FormatInt(cryptoContext.DataSize, 10)))
+       }
+       opts = append(opts, oss.Meta(OssClientSideEncryptionPartSize, strconv.FormatInt(cryptoContext.PartSize, 10)))
+
+       result, err := bucket.Bucket.DoUploadPart(request, opts)
+       return result.Part, err
+}
+
+// UploadPartFromFile uploads part from the file, the part data are encrypted automaticly on client side
+// cryptoContext is the input parameter
+func (bucket CryptoBucket) UploadPartFromFile(imur oss.InitiateMultipartUploadResult, filePath string,
+       startPosition, partSize int64, partNumber int, cryptoContext PartCryptoContext, options ...oss.Option) (oss.UploadPart, error) {
+       options = bucket.AddEncryptionUaSuffix(options)
+       var uploadPart = oss.UploadPart{}
+       if cryptoContext.ContentCipher == nil {
+               return uploadPart, fmt.Errorf("error,cryptoContext is nil or cryptoContext.ContentCipher is nil")
+       }
+
+       if cryptoContext.PartSize%int64(cryptoContext.ContentCipher.GetAlignLen()) != 0 {
+               return uploadPart, fmt.Errorf("PartCryptoContext's PartSize must be aligned to %d", cryptoContext.ContentCipher.GetAlignLen())
+       }
+
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return uploadPart, err
+       }
+       defer fd.Close()
+       fd.Seek(startPosition, os.SEEK_SET)
+
+       if partNumber < 1 {
+               return uploadPart, fmt.Errorf("partNumber:%d is smaller than 1", partNumber)
+       }
+
+       cipherData := cryptoContext.ContentCipher.GetCipherData().Clone()
+       // calculate iv based on part number
+       if partNumber > 1 {
+               cipherData.SeekIV(uint64(partNumber-1) * uint64(cryptoContext.PartSize))
+       }
+
+       // for parallel upload part
+       partCC, _ := cryptoContext.ContentCipher.Clone(cipherData)
+       cryptoReader, err := partCC.EncryptContent(fd)
+       if err != nil {
+               return uploadPart, err
+       }
+
+       encryptedLen := partCC.GetEncryptedLen(partSize)
+       opts := addCryptoHeaders(options, partCC.GetCipherData())
+       if cryptoContext.DataSize > 0 {
+               opts = append(opts, oss.Meta(OssClientSideEncryptionDataSize, strconv.FormatInt(cryptoContext.DataSize, 10)))
+       }
+       opts = append(opts, oss.Meta(OssClientSideEncryptionPartSize, strconv.FormatInt(cryptoContext.PartSize, 10)))
+
+       request := &oss.UploadPartRequest{
+               InitResult: &imur,
+               Reader:     cryptoReader,
+               PartSize:   encryptedLen,
+               PartNumber: partNumber,
+       }
+       result, err := bucket.Bucket.DoUploadPart(request, opts)
+       return result.Part, err
+}
+
+// UploadPartCopy uploads part copy
+func (bucket CryptoBucket) UploadPartCopy(imur oss.InitiateMultipartUploadResult, srcBucketName, srcObjectKey string,
+       startPosition, partSize int64, partNumber int, cryptoContext PartCryptoContext, options ...oss.Option) (oss.UploadPart, error) {
+       var uploadPart = oss.UploadPart{}
+       return uploadPart, fmt.Errorf("CryptoBucket doesn't support UploadPartCopy")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multipart_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_multipart_test.go
new file mode 100644 (file)
index 0000000..1283c79
--- /dev/null
@@ -0,0 +1,758 @@
+// multipart test
+
+package osscrypto
+
+import (
+       "io/ioutil"
+       "os"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+       . "gopkg.in/check.v1"
+)
+
+func (s *OssCryptoBucketSuite) TestMultipartUpload(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       srcMD5, err := GetFileMD5(fileName)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       options := []oss.Option{oss.Meta("my", "myprop")}
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext, options...)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       var parts []oss.UploadPart
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               part, err := bucket.UploadPart(imur, fd, chunk.Size, chunk.Number, cryptoContext)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       _, err = bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       downfileName := "test-go-sdk-file-" + RandLowStr(5)
+       err = bucket.GetObjectToFile(objectName, downfileName)
+       c.Assert(err, IsNil)
+
+       downFileMD5, err := GetFileMD5(downfileName)
+       c.Assert(err, IsNil)
+       c.Assert(downFileMD5, Equals, srcMD5)
+
+       os.Remove(downfileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestMultipartUploadFromFile(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       srcMD5, err := GetFileMD5(fileName)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       options := []oss.Option{oss.Meta("my", "myprop")}
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext, options...)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       var parts []oss.UploadPart
+       for _, chunk := range chunks {
+               part, err := bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, chunk.Number, cryptoContext)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       _, err = bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       downfileName := "test-go-sdk-file-" + RandLowStr(5) + ".jpg"
+       err = bucket.GetObjectToFile(objectName, downfileName)
+       c.Assert(err, IsNil)
+
+       downFileMD5, err := GetFileMD5(downfileName)
+       c.Assert(err, IsNil)
+       c.Assert(downFileMD5, Equals, srcMD5)
+
+       os.Remove(downfileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestMultipartUploadFromSmallSizeFile(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "oss-go-sdk-test-file-" + RandStr(5)
+       fo, err := os.Create(fileName)
+       c.Assert(err, IsNil)
+       _, err = fo.Write([]byte("123"))
+       c.Assert(err, IsNil)
+       fo.Close()
+
+       srcMD5, err := GetFileMD5(fileName)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       options := []oss.Option{oss.Meta("my", "myprop")}
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = 16
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext, options...)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       var parts []oss.UploadPart
+       for _, chunk := range chunks {
+               part, err := bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, chunk.Number, cryptoContext)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       _, err = bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+
+       meta, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       downfileName := "test-go-sdk-file-" + RandLowStr(5) + ".jpg"
+       err = bucket.GetObjectToFile(objectName, downfileName)
+       c.Assert(err, IsNil)
+
+       downFileMD5, err := GetFileMD5(downfileName)
+       c.Assert(err, IsNil)
+       c.Assert(downFileMD5, Equals, srcMD5)
+
+       os.Remove(fileName)
+       os.Remove(downfileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestListUploadedPartsNormal(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       srcMD5, err := GetFileMD5(fileName)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       // Upload
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       var partsUpload []oss.UploadPart
+       for _, chunk := range chunks {
+               part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number), cryptoContext)
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       // List
+       lupr, err := bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, IsNil)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks))
+
+       // Complete
+       _, err = bucket.CompleteMultipartUpload(imurUpload, partsUpload)
+       c.Assert(err, IsNil)
+
+       // Download
+       downfileName := "test-go-sdk-file-" + RandLowStr(5) + ".jpg"
+       err = bucket.GetObjectToFile(objectName, downfileName)
+
+       downFileMD5, err := GetFileMD5(downfileName)
+       c.Assert(err, IsNil)
+       c.Assert(downFileMD5, Equals, srcMD5)
+
+       os.Remove(downfileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestListUploadedPartsComplete(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       srcMD5, err := GetFileMD5(fileName)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       // Upload
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       var partsUpload []oss.UploadPart
+       i := 0
+       // upload excepted the last part
+       for ; i < len(chunks)-1; i++ {
+               part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunks[i].Offset, chunks[i].Size, (int)(chunks[i].Number), cryptoContext)
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       // List
+       lupr, err := bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, IsNil)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks)-1)
+
+       lmur, err := bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       c.Assert(len(lmur.Uploads), Equals, 1)
+
+       // upload the last part with list part result
+       part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunks[i].Offset, chunks[i].Size, (int)(chunks[i].Number), cryptoContext)
+       c.Assert(err, IsNil)
+       partsUpload = append(partsUpload, part)
+
+       // Complete
+       _, err = bucket.CompleteMultipartUpload(imurUpload, partsUpload)
+       c.Assert(err, IsNil)
+
+       // Download
+       downfileName := "test-go-sdk-file-" + RandLowStr(5) + ".jpg"
+       err = bucket.GetObjectToFile(objectName, downfileName)
+
+       downFileMD5, err := GetFileMD5(downfileName)
+       c.Assert(err, IsNil)
+       c.Assert(downFileMD5, Equals, srcMD5)
+
+       os.Remove(downfileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestListUploadedPartsAbortUseInit(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       // Upload
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+       c.Assert(cryptoContext.Valid(), Equals, true)
+
+       var partsUpload []oss.UploadPart
+       i := 0
+       // upload excepted the last part
+       for ; i < len(chunks)-1; i++ {
+               part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunks[i].Offset, chunks[i].Size, (int)(chunks[i].Number), cryptoContext)
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       // List
+       lupr, err := bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, IsNil)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks)-1)
+
+       lmur, err := bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       c.Assert(len(lmur.Uploads), Equals, 1)
+
+       // abort upload
+       err = bucket.AbortMultipartUpload(imurUpload)
+       c.Assert(err, IsNil)
+
+       // list again
+       lupr, err = bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, NotNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestListUploadedPartsAbortUseList(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       // Upload
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       var partsUpload []oss.UploadPart
+       i := 0
+       // upload excepted the last part
+       for ; i < len(chunks)-1; i++ {
+               part, err := bucket.UploadPartFromFile(imurUpload, fileName, chunks[i].Offset, chunks[i].Size, (int)(chunks[i].Number), cryptoContext)
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       // List
+       lupr, err := bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, IsNil)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks)-1)
+
+       // abort upload
+       err = bucket.AbortMultipartUpload(imurUpload)
+       c.Assert(err, IsNil)
+
+       // list again
+       lupr, err = bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, NotNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestInitiateMultipartUpload(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       context := RandStr(ivSize * 1024 * 10)
+       fileName := "test-go-sdk-file-" + RandStr(5)
+
+       err = ioutil.WriteFile(fileName, []byte(context), 0666)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = ivSize * 1024
+       imurUpload, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       c.Assert(err, IsNil)
+
+       err = bucket.AbortMultipartUpload(imurUpload)
+       c.Assert(err, IsNil)
+
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = ivSize / 2
+       imurUpload, err = bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       c.Assert(err, NotNil)
+
+       os.Remove(fileName)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestUploadPartError(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       context := RandStr(ivSize * 1024 * 10)
+       fileName := "test-go-sdk-file-" + RandStr(5)
+
+       err = ioutil.WriteFile(fileName, []byte(context), 0666)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = ivSize * 1024
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               _, err := bucket.UploadPart(imur, fd, chunk.Size+1, chunk.Number, cryptoContext)
+               c.Assert(err, NotNil)
+       }
+
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               _, err := bucket.UploadPart(imur, fd, chunk.Size, 0, cryptoContext)
+               c.Assert(err, NotNil)
+       }
+       fd.Close()
+
+       err = bucket.AbortMultipartUpload(imur)
+       c.Assert(err, IsNil)
+       os.Remove(fileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestUploadPartFromFileError(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       context := RandStr(ivSize * 1024 * 10)
+       fileName := "test-go-sdk-file-" + RandStr(5)
+
+       err = ioutil.WriteFile(fileName, []byte(context), 0666)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = ivSize * 1024
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       for _, chunk := range chunks {
+               _, err := bucket.UploadPartFromFile(imur, fileName+".test", chunk.Offset, chunk.Size, chunk.Number, cryptoContext)
+               c.Assert(err, NotNil)
+       }
+
+       _, err = bucket.UploadPartFromFile(imur, fileName+".test", chunks[0].Offset, chunks[0].Size+1, chunks[0].Number, cryptoContext)
+       c.Assert(err, NotNil)
+
+       _, err = bucket.UploadPartFromFile(imur, fileName+".test", chunks[0].Offset, chunks[0].Size, 0, cryptoContext)
+       c.Assert(err, NotNil)
+
+       err = bucket.AbortMultipartUpload(imur)
+       c.Assert(err, IsNil)
+       os.Remove(fileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestUploadPartCopyError(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       context := RandStr(ivSize * 1024 * 10)
+       fileName := "test-go-sdk-file-" + RandStr(5)
+
+       err = ioutil.WriteFile(fileName, []byte(context), 0666)
+       c.Assert(err, IsNil)
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = ivSize * 1024
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       _, err = bucket.UploadPartCopy(imur, bucketName, objectName, 0, chunks[0].Size, 1, cryptoContext)
+       c.Assert(err, NotNil)
+
+       err = bucket.AbortMultipartUpload(imur)
+       c.Assert(err, IsNil)
+       os.Remove(fileName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestMultipartUploadFromFileError(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       options := []oss.Option{oss.Meta("my", "myprop")}
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = -1
+       _, err = bucket.InitiateMultipartUpload(objectName, nil, options...)
+       c.Assert(err, NotNil)
+
+       _, err = bucket.InitiateMultipartUpload(objectName, &cryptoContext, options...)
+       c.Assert(err, NotNil)
+
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext, options...)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       bakCC := cryptoContext.ContentCipher
+       cryptoContext.ContentCipher = nil
+
+       i := 0
+       // upload excepted the last part
+       for ; i < len(chunks); i++ {
+               _, err = bucket.UploadPartFromFile(imur, fileName, chunks[i].Offset, chunks[i].Size, (int)(chunks[i].Number), cryptoContext)
+               c.Assert(err, NotNil)
+
+       }
+
+       i = 0
+       cryptoContext.ContentCipher = bakCC
+       cryptoContext.PartSize -= 1
+       for ; i < len(chunks); i++ {
+               _, err = bucket.UploadPartFromFile(imur, fileName, chunks[i].Offset, chunks[i].Size, (int)(chunks[i].Number), cryptoContext)
+               c.Assert(err, NotNil)
+       }
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssCryptoBucketSuite) TestMultipartUploadPartError(c *C) {
+       // create a bucket with default proprety
+       client, err := oss.New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       // crypto bucket
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       contentProvider := CreateAesCtrCipher(masterRsaCipher)
+       bucket, err := GetCryptoBucket(client, bucketName, contentProvider)
+
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       dataSize := fileInfo.Size()
+       c.Assert(err, IsNil)
+
+       options := []oss.Option{oss.Meta("my", "myprop")}
+       var cryptoContext PartCryptoContext
+       cryptoContext.DataSize = dataSize
+       cryptoContext.PartSize = (dataSize / 16 / 3) * 16
+       imur, err := bucket.InitiateMultipartUpload(objectName, &cryptoContext, options...)
+       c.Assert(err, IsNil)
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       c.Assert(err, IsNil)
+
+       bakCC := cryptoContext.ContentCipher
+       cryptoContext.ContentCipher = nil
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               _, err = bucket.UploadPart(imur, fd, chunk.Size, chunk.Number, cryptoContext)
+               c.Assert(err, NotNil)
+       }
+
+       cryptoContext.ContentCipher = bakCC
+       cryptoContext.PartSize -= 1
+       for _, chunk := range chunks {
+               _, err = bucket.UploadPart(imur, fd, chunk.Size, chunk.Number, cryptoContext)
+               c.Assert(err, NotNil)
+       }
+
+       ForceDeleteBucket(client, bucketName, c)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_type.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_type.go
new file mode 100644 (file)
index 0000000..c689327
--- /dev/null
@@ -0,0 +1,128 @@
+package osscrypto
+
+import (
+       "crypto/rand"
+       "encoding/binary"
+       "fmt"
+       "io"
+       math_rand "math/rand"
+       "time"
+)
+
+// MasterCipher encrypt or decrpt CipherData
+// support master key: rsa && ali kms
+type MasterCipher interface {
+       Encrypt([]byte) ([]byte, error)
+       Decrypt([]byte) ([]byte, error)
+       GetWrapAlgorithm() string
+       GetMatDesc() string
+}
+
+// ContentCipherBuilder is used to create ContentCipher for encryting object's data
+type ContentCipherBuilder interface {
+       ContentCipher() (ContentCipher, error)
+       ContentCipherEnv(Envelope) (ContentCipher, error)
+       GetMatDesc() string
+}
+
+// ContentCipher is used to encrypt or decrypt object's data
+type ContentCipher interface {
+       EncryptContent(io.Reader) (io.ReadCloser, error)
+       DecryptContent(io.Reader) (io.ReadCloser, error)
+       Clone(cd CipherData) (ContentCipher, error)
+       GetEncryptedLen(int64) int64
+       GetCipherData() *CipherData
+       GetAlignLen() int
+}
+
+// Envelope is stored in oss object's meta
+type Envelope struct {
+       IV                    string
+       CipherKey             string
+       MatDesc               string
+       WrapAlg               string
+       CEKAlg                string
+       UnencryptedMD5        string
+       UnencryptedContentLen string
+}
+
+func (el Envelope) IsValid() bool {
+       return len(el.IV) > 0 &&
+               len(el.CipherKey) > 0 &&
+               len(el.WrapAlg) > 0 &&
+               len(el.CEKAlg) > 0
+}
+
+func (el Envelope) String() string {
+       return fmt.Sprintf("IV=%s&CipherKey=%s&WrapAlg=%s&CEKAlg=%s", el.IV, el.CipherKey, el.WrapAlg, el.CEKAlg)
+}
+
+// CipherData is secret key information
+type CipherData struct {
+       IV            []byte
+       Key           []byte
+       MatDesc       string
+       WrapAlgorithm string
+       CEKAlgorithm  string
+       EncryptedIV   []byte
+       EncryptedKey  []byte
+}
+
+func (cd *CipherData) RandomKeyIv(keyLen int, ivLen int) error {
+       math_rand.Seed(time.Now().UnixNano())
+
+       // Key
+       cd.Key = make([]byte, keyLen)
+       if _, err := io.ReadFull(rand.Reader, cd.Key); err != nil {
+               return err
+       }
+
+       // sizeof uint64
+       if ivLen < 8 {
+               return fmt.Errorf("ivLen:%d less than 8", ivLen)
+       }
+
+       // IV:reserve 8 bytes
+       cd.IV = make([]byte, ivLen)
+       if _, err := io.ReadFull(rand.Reader, cd.IV[0:ivLen-8]); err != nil {
+               return err
+       }
+
+       // only use 4 byte,in order not to overflow when SeekIV()
+       randNumber := math_rand.Uint32()
+       cd.SetIV(uint64(randNumber))
+       return nil
+}
+
+func (cd *CipherData) SetIV(iv uint64) {
+       ivLen := len(cd.IV)
+       binary.BigEndian.PutUint64(cd.IV[ivLen-8:], iv)
+}
+
+func (cd *CipherData) GetIV() uint64 {
+       ivLen := len(cd.IV)
+       return binary.BigEndian.Uint64(cd.IV[ivLen-8:])
+}
+
+func (cd *CipherData) SeekIV(startPos uint64) {
+       cd.SetIV(cd.GetIV() + startPos/uint64(len(cd.IV)))
+}
+
+func (cd *CipherData) Clone() CipherData {
+       var cloneCd CipherData
+       cloneCd = *cd
+
+       cloneCd.Key = make([]byte, len(cd.Key))
+       copy(cloneCd.Key, cd.Key)
+
+       cloneCd.IV = make([]byte, len(cd.IV))
+       copy(cloneCd.IV, cd.IV)
+
+       cloneCd.EncryptedIV = make([]byte, len(cd.EncryptedIV))
+       copy(cloneCd.EncryptedIV, cd.EncryptedIV)
+
+       cloneCd.EncryptedKey = make([]byte, len(cd.EncryptedKey))
+       copy(cloneCd.EncryptedKey, cd.EncryptedKey)
+
+       return cloneCd
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_upload.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/crypto_upload.go
new file mode 100644 (file)
index 0000000..78be17d
--- /dev/null
@@ -0,0 +1,12 @@
+package osscrypto
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// UploadFile with multi part mode
+func (bucket CryptoBucket) UploadFile(objectKey, filePath string, partSize int64, options ...oss.Option) error {
+       return fmt.Errorf("CryptoBucket doesn't support UploadFile")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_alikms_cipher.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_alikms_cipher.go
new file mode 100644 (file)
index 0000000..3c55ff1
--- /dev/null
@@ -0,0 +1,85 @@
+package osscrypto
+
+import (
+       "encoding/base64"
+       "encoding/json"
+       "fmt"
+
+       kms "github.com/aliyun/alibaba-cloud-sdk-go/services/kms"
+)
+
+// CreateMasterAliKms Create master key interface implemented by ali kms
+// matDesc will be converted to json string
+func CreateMasterAliKms(matDesc map[string]string, kmsID string, kmsClient *kms.Client) (MasterCipher, error) {
+       var masterCipher MasterAliKmsCipher
+       if kmsID == "" || kmsClient == nil {
+               return masterCipher, fmt.Errorf("kmsID is empty or kmsClient is nil")
+       }
+
+       var jsonDesc string
+       if len(matDesc) > 0 {
+               b, err := json.Marshal(matDesc)
+               if err != nil {
+                       return masterCipher, err
+               }
+               jsonDesc = string(b)
+       }
+
+       masterCipher.MatDesc = jsonDesc
+       masterCipher.KmsID = kmsID
+       masterCipher.KmsClient = kmsClient
+       return masterCipher, nil
+}
+
+// MasterAliKmsCipher ali kms master key interface
+type MasterAliKmsCipher struct {
+       MatDesc   string
+       KmsID     string
+       KmsClient *kms.Client
+}
+
+// GetWrapAlgorithm get master key wrap algorithm
+func (mrc MasterAliKmsCipher) GetWrapAlgorithm() string {
+       return KmsAliCryptoWrap
+}
+
+// GetMatDesc get master key describe
+func (mkms MasterAliKmsCipher) GetMatDesc() string {
+       return mkms.MatDesc
+}
+
+// Encrypt  encrypt data by ali kms
+// Mainly used to encrypt object's symmetric secret key and iv
+func (mkms MasterAliKmsCipher) Encrypt(plainData []byte) ([]byte, error) {
+       // kms Plaintext must be base64 encoded
+       base64Plain := base64.StdEncoding.EncodeToString(plainData)
+       request := kms.CreateEncryptRequest()
+       request.RpcRequest.Scheme = "https"
+       request.RpcRequest.Method = "POST"
+       request.RpcRequest.AcceptFormat = "json"
+
+       request.KeyId = mkms.KmsID
+       request.Plaintext = base64Plain
+
+       response, err := mkms.KmsClient.Encrypt(request)
+       if err != nil {
+               return nil, err
+       }
+       return base64.StdEncoding.DecodeString(response.CiphertextBlob)
+}
+
+// Decrypt decrypt data by ali kms
+// Mainly used to decrypt object's symmetric secret key and iv
+func (mkms MasterAliKmsCipher) Decrypt(cryptoData []byte) ([]byte, error) {
+       base64Crypto := base64.StdEncoding.EncodeToString(cryptoData)
+       request := kms.CreateDecryptRequest()
+       request.RpcRequest.Scheme = "https"
+       request.RpcRequest.Method = "POST"
+       request.RpcRequest.AcceptFormat = "json"
+       request.CiphertextBlob = string(base64Crypto)
+       response, err := mkms.KmsClient.Decrypt(request)
+       if err != nil {
+               return nil, err
+       }
+       return base64.StdEncoding.DecodeString(response.Plaintext)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_alikms_cipher_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_alikms_cipher_test.go
new file mode 100644 (file)
index 0000000..70cc509
--- /dev/null
@@ -0,0 +1,89 @@
+package osscrypto
+
+import (
+       crypto_rand "crypto/rand"
+       "encoding/base64"
+       "io"
+       "math/rand"
+       "time"
+
+       kms "github.com/aliyun/alibaba-cloud-sdk-go/services/kms"
+       . "gopkg.in/check.v1"
+)
+
+func (s *OssCryptoBucketSuite) TestKmsClient(c *C) {
+       rand.Seed(time.Now().UnixNano())
+       kmsClient, err := kms.NewClientWithAccessKey(kmsRegion, kmsAccessID, kmsAccessKey)
+       c.Assert(err, IsNil)
+
+       // encrypte
+       enReq := kms.CreateEncryptRequest()
+       enReq.RpcRequest.Scheme = "https"
+       enReq.RpcRequest.Method = "POST"
+       enReq.RpcRequest.AcceptFormat = "json"
+
+       enReq.KeyId = kmsID
+
+       buff := make([]byte, 10)
+       _, err = io.ReadFull(crypto_rand.Reader, buff)
+       c.Assert(err, IsNil)
+       enReq.Plaintext = base64.StdEncoding.EncodeToString(buff)
+
+       enResponse, err := kmsClient.Encrypt(enReq)
+       c.Assert(err, IsNil)
+
+       // decrypte
+       deReq := kms.CreateDecryptRequest()
+       deReq.RpcRequest.Scheme = "https"
+       deReq.RpcRequest.Method = "POST"
+       deReq.RpcRequest.AcceptFormat = "json"
+       deReq.CiphertextBlob = enResponse.CiphertextBlob
+       deResponse, err := kmsClient.Decrypt(deReq)
+       c.Assert(err, IsNil)
+       c.Assert(deResponse.Plaintext, Equals, enReq.Plaintext)
+}
+
+func (s *OssCryptoBucketSuite) TestMasterAliKmsCipherSuccess(c *C) {
+
+       kmsClient, err := kms.NewClientWithAccessKey(kmsRegion, kmsAccessID, kmsAccessKey)
+       c.Assert(err, IsNil)
+
+       masterCipher, _ := CreateMasterAliKms(matDesc, kmsID, kmsClient)
+
+       var cd CipherData
+       err = cd.RandomKeyIv(aesKeySize, ivSize)
+       c.Assert(err, IsNil)
+
+       cd.WrapAlgorithm = masterCipher.GetWrapAlgorithm()
+       cd.CEKAlgorithm = KmsAliCryptoWrap
+       cd.MatDesc = masterCipher.GetMatDesc()
+
+       // EncryptedKey
+       cd.EncryptedKey, err = masterCipher.Encrypt(cd.Key)
+
+       // EncryptedIV
+       cd.EncryptedIV, err = masterCipher.Encrypt(cd.IV)
+
+       cloneData := cd.Clone()
+
+       cloneData.Key, _ = masterCipher.Decrypt(cloneData.EncryptedKey)
+       cloneData.IV, _ = masterCipher.Decrypt(cloneData.EncryptedIV)
+
+       c.Assert(string(cd.Key), Equals, string(cloneData.Key))
+       c.Assert(string(cd.IV), Equals, string(cloneData.IV))
+
+}
+
+func (s *OssCryptoBucketSuite) TestMasterAliKmsCipherError(c *C) {
+       kmsClient, err := kms.NewClientWithAccessKey(kmsRegion, kmsAccessID, kmsAccessKey)
+       c.Assert(err, IsNil)
+
+       masterCipher, _ := CreateMasterAliKms(matDesc, kmsID, kmsClient)
+       v := masterCipher.(MasterAliKmsCipher)
+       v.KmsID = ""
+       _, err = v.Encrypt([]byte("hellow"))
+       c.Assert(err, NotNil)
+
+       _, err = v.Decrypt([]byte("hellow"))
+       c.Assert(err, NotNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_rsa_cipher.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_rsa_cipher.go
new file mode 100644 (file)
index 0000000..616f3e1
--- /dev/null
@@ -0,0 +1,102 @@
+package osscrypto
+
+import (
+       "crypto/rand"
+       "crypto/rsa"
+       "crypto/x509"
+       "encoding/asn1"
+       "encoding/json"
+       "encoding/pem"
+       "fmt"
+)
+
+// CreateMasterRsa Create master key interface implemented by rsa
+// matDesc will be converted to json string
+func CreateMasterRsa(matDesc map[string]string, publicKey string, privateKey string) (MasterCipher, error) {
+       var masterCipher MasterRsaCipher
+       var jsonDesc string
+       if len(matDesc) > 0 {
+               b, err := json.Marshal(matDesc)
+               if err != nil {
+                       return masterCipher, err
+               }
+               jsonDesc = string(b)
+       }
+       masterCipher.MatDesc = jsonDesc
+       masterCipher.PublicKey = publicKey
+       masterCipher.PrivateKey = privateKey
+       return masterCipher, nil
+}
+
+// MasterRsaCipher rsa master key interface
+type MasterRsaCipher struct {
+       MatDesc    string
+       PublicKey  string
+       PrivateKey string
+}
+
+// GetWrapAlgorithm get master key wrap algorithm
+func (mrc MasterRsaCipher) GetWrapAlgorithm() string {
+       return RsaCryptoWrap
+}
+
+// GetMatDesc get master key describe
+func (mrc MasterRsaCipher) GetMatDesc() string {
+       return mrc.MatDesc
+}
+
+// Encrypt encrypt data by rsa public key
+// Mainly used to encrypt object's symmetric secret key and iv
+func (mrc MasterRsaCipher) Encrypt(plainData []byte) ([]byte, error) {
+       block, _ := pem.Decode([]byte(mrc.PublicKey))
+       if block == nil {
+               return nil, fmt.Errorf("pem.Decode public key error")
+       }
+
+       var pub *rsa.PublicKey
+       if block.Type == "PUBLIC KEY" {
+               // pks8 format
+               pubInterface, err := x509.ParsePKIXPublicKey(block.Bytes)
+               if err != nil {
+                       return nil, err
+               }
+               pub = pubInterface.(*rsa.PublicKey)
+       } else if block.Type == "RSA PUBLIC KEY" {
+               // pks1 format
+               pub = &rsa.PublicKey{}
+               _, err := asn1.Unmarshal(block.Bytes, pub)
+               if err != nil {
+                       return nil, err
+               }
+       } else {
+               return nil, fmt.Errorf("not supported public key,type:%s", block.Type)
+       }
+       return rsa.EncryptPKCS1v15(rand.Reader, pub, plainData)
+}
+
+// Decrypt Decrypt data by rsa private key
+// Mainly used to decrypt object's symmetric secret key and iv
+func (mrc MasterRsaCipher) Decrypt(cryptoData []byte) ([]byte, error) {
+       block, _ := pem.Decode([]byte(mrc.PrivateKey))
+       if block == nil {
+               return nil, fmt.Errorf("pem.Decode private key error")
+       }
+
+       if block.Type == "PRIVATE KEY" {
+               // pks8 format
+               privInterface, err := x509.ParsePKCS8PrivateKey(block.Bytes)
+               if err != nil {
+                       return nil, err
+               }
+               return rsa.DecryptPKCS1v15(rand.Reader, privInterface.(*rsa.PrivateKey), cryptoData)
+       } else if block.Type == "RSA PRIVATE KEY" {
+               // pks1 format
+               priv, err := x509.ParsePKCS1PrivateKey(block.Bytes)
+               if err != nil {
+                       return nil, err
+               }
+               return rsa.DecryptPKCS1v15(rand.Reader, priv, cryptoData)
+       } else {
+               return nil, fmt.Errorf("not supported private key,type:%s", block.Type)
+       }
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_rsa_cipher_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/crypto/master_rsa_cipher_test.go
new file mode 100644 (file)
index 0000000..dca5adb
--- /dev/null
@@ -0,0 +1,41 @@
+package osscrypto
+
+import (
+       "strings"
+
+       . "gopkg.in/check.v1"
+)
+
+func (s *OssCryptoBucketSuite) TestMasterRsaError(c *C) {
+
+       masterRsaCipher, _ := CreateMasterRsa(matDesc, RandLowStr(100), rsaPrivateKey)
+       _, err := masterRsaCipher.Encrypt([]byte("123"))
+       c.Assert(err, NotNil)
+
+       masterRsaCipher, _ = CreateMasterRsa(matDesc, rsaPublicKey, RandLowStr(100))
+       _, err = masterRsaCipher.Decrypt([]byte("123"))
+       c.Assert(err, NotNil)
+
+       testPrivateKey := rsaPrivateKey
+       []byte(testPrivateKey)[100] = testPrivateKey[90]
+       masterRsaCipher, _ = CreateMasterRsa(matDesc, rsaPublicKey, testPrivateKey)
+       _, err = masterRsaCipher.Decrypt([]byte("123"))
+       c.Assert(err, NotNil)
+
+       masterRsaCipher, _ = CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+
+       var cipherData CipherData
+       err = cipherData.RandomKeyIv(aesKeySize/2, ivSize/4)
+       c.Assert(err, NotNil)
+
+       masterRsaCipher, _ = CreateMasterRsa(matDesc, rsaPublicKey, rsaPrivateKey)
+       v := masterRsaCipher.(MasterRsaCipher)
+
+       v.PublicKey = strings.Replace(rsaPublicKey, "PUBLIC KEY", "CERTIFICATE", -1)
+       _, err = v.Encrypt([]byte("HELLOW"))
+       c.Assert(err, NotNil)
+
+       v.PrivateKey = strings.Replace(rsaPrivateKey, "PRIVATE KEY", "CERTIFICATE", -1)
+       _, err = v.Decrypt([]byte("HELLOW"))
+       c.Assert(err, NotNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/download.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/download.go
new file mode 100644 (file)
index 0000000..90c1b63
--- /dev/null
@@ -0,0 +1,567 @@
+package oss
+
+import (
+       "crypto/md5"
+       "encoding/base64"
+       "encoding/json"
+       "errors"
+       "fmt"
+       "hash"
+       "hash/crc64"
+       "io"
+       "io/ioutil"
+       "net/http"
+       "os"
+       "path/filepath"
+       "strconv"
+       "time"
+)
+
+// DownloadFile downloads files with multipart download.
+//
+// objectKey    the object key.
+// filePath    the local file to download from objectKey in OSS.
+// partSize    the part size in bytes.
+// options    object's constraints, check out GetObject for the reference.
+//
+// error    it's nil when the call succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) DownloadFile(objectKey, filePath string, partSize int64, options ...Option) error {
+       if partSize < 1 {
+               return errors.New("oss: part size smaller than 1")
+       }
+
+       uRange, err := GetRangeConfig(options)
+       if err != nil {
+               return err
+       }
+
+       cpConf := getCpConfig(options)
+       routines := getRoutines(options)
+
+       var strVersionId string
+       versionId, _ := FindOption(options, "versionId", nil)
+       if versionId != nil {
+               strVersionId = versionId.(string)
+       }
+
+       if cpConf != nil && cpConf.IsEnable {
+               cpFilePath := getDownloadCpFilePath(cpConf, bucket.BucketName, objectKey, strVersionId, filePath)
+               if cpFilePath != "" {
+                       return bucket.downloadFileWithCp(objectKey, filePath, partSize, options, cpFilePath, routines, uRange)
+               }
+       }
+
+       return bucket.downloadFile(objectKey, filePath, partSize, options, routines, uRange)
+}
+
+func getDownloadCpFilePath(cpConf *cpConfig, srcBucket, srcObject, versionId, destFile string) string {
+       if cpConf.FilePath == "" && cpConf.DirPath != "" {
+               src := fmt.Sprintf("oss://%v/%v", srcBucket, srcObject)
+               absPath, _ := filepath.Abs(destFile)
+               cpFileName := getCpFileName(src, absPath, versionId)
+               cpConf.FilePath = cpConf.DirPath + string(os.PathSeparator) + cpFileName
+       }
+       return cpConf.FilePath
+}
+
+// downloadWorkerArg is download worker's parameters
+type downloadWorkerArg struct {
+       bucket    *Bucket
+       key       string
+       filePath  string
+       options   []Option
+       hook      downloadPartHook
+       enableCRC bool
+}
+
+// downloadPartHook is hook for test
+type downloadPartHook func(part downloadPart) error
+
+var downloadPartHooker downloadPartHook = defaultDownloadPartHook
+
+func defaultDownloadPartHook(part downloadPart) error {
+       return nil
+}
+
+// defaultDownloadProgressListener defines default ProgressListener, shields the ProgressListener in options of GetObject.
+type defaultDownloadProgressListener struct {
+}
+
+// ProgressChanged no-ops
+func (listener *defaultDownloadProgressListener) ProgressChanged(event *ProgressEvent) {
+}
+
+// downloadWorker
+func downloadWorker(id int, arg downloadWorkerArg, jobs <-chan downloadPart, results chan<- downloadPart, failed chan<- error, die <-chan bool) {
+       for part := range jobs {
+               if err := arg.hook(part); err != nil {
+                       failed <- err
+                       break
+               }
+
+               // Resolve options
+               r := Range(part.Start, part.End)
+               p := Progress(&defaultDownloadProgressListener{})
+
+               var respHeader http.Header
+               opts := make([]Option, len(arg.options)+3)
+               // Append orderly, can not be reversed!
+               opts = append(opts, arg.options...)
+               opts = append(opts, r, p, GetResponseHeader(&respHeader))
+
+               rd, err := arg.bucket.GetObject(arg.key, opts...)
+               if err != nil {
+                       failed <- err
+                       break
+               }
+               defer rd.Close()
+
+               var crcCalc hash.Hash64
+               if arg.enableCRC {
+                       crcCalc = crc64.New(CrcTable())
+                       contentLen := part.End - part.Start + 1
+                       rd = ioutil.NopCloser(TeeReader(rd, crcCalc, contentLen, nil, nil))
+               }
+               defer rd.Close()
+
+               select {
+               case <-die:
+                       return
+               default:
+               }
+
+               fd, err := os.OpenFile(arg.filePath, os.O_WRONLY, FilePermMode)
+               if err != nil {
+                       failed <- err
+                       break
+               }
+
+               _, err = fd.Seek(part.Start-part.Offset, os.SEEK_SET)
+               if err != nil {
+                       fd.Close()
+                       failed <- err
+                       break
+               }
+
+               startT := time.Now().UnixNano() / 1000 / 1000 / 1000
+               _, err = io.Copy(fd, rd)
+               endT := time.Now().UnixNano() / 1000 / 1000 / 1000
+               if err != nil {
+                       arg.bucket.Client.Config.WriteLog(Debug, "download part error,cost:%d second,part number:%d,request id:%s,error:%s.\n", endT-startT, part.Index, GetRequestId(respHeader), err.Error())
+                       fd.Close()
+                       failed <- err
+                       break
+               }
+
+               if arg.enableCRC {
+                       part.CRC64 = crcCalc.Sum64()
+               }
+
+               fd.Close()
+               results <- part
+       }
+}
+
+// downloadScheduler
+func downloadScheduler(jobs chan downloadPart, parts []downloadPart) {
+       for _, part := range parts {
+               jobs <- part
+       }
+       close(jobs)
+}
+
+// downloadPart defines download part
+type downloadPart struct {
+       Index  int    // Part number, starting from 0
+       Start  int64  // Start index
+       End    int64  // End index
+       Offset int64  // Offset
+       CRC64  uint64 // CRC check value of part
+}
+
+// getDownloadParts gets download parts
+func getDownloadParts(objectSize, partSize int64, uRange *UnpackedRange) []downloadPart {
+       parts := []downloadPart{}
+       part := downloadPart{}
+       i := 0
+       start, end := AdjustRange(uRange, objectSize)
+       for offset := start; offset < end; offset += partSize {
+               part.Index = i
+               part.Start = offset
+               part.End = GetPartEnd(offset, end, partSize)
+               part.Offset = start
+               part.CRC64 = 0
+               parts = append(parts, part)
+               i++
+       }
+       return parts
+}
+
+// getObjectBytes gets object bytes length
+func getObjectBytes(parts []downloadPart) int64 {
+       var ob int64
+       for _, part := range parts {
+               ob += (part.End - part.Start + 1)
+       }
+       return ob
+}
+
+// combineCRCInParts caculates the total CRC of continuous parts
+func combineCRCInParts(dps []downloadPart) uint64 {
+       if dps == nil || len(dps) == 0 {
+               return 0
+       }
+
+       crc := dps[0].CRC64
+       for i := 1; i < len(dps); i++ {
+               crc = CRC64Combine(crc, dps[i].CRC64, (uint64)(dps[i].End-dps[i].Start+1))
+       }
+
+       return crc
+}
+
+// downloadFile downloads file concurrently without checkpoint.
+func (bucket Bucket) downloadFile(objectKey, filePath string, partSize int64, options []Option, routines int, uRange *UnpackedRange) error {
+       tempFilePath := filePath + TempFileSuffix
+       listener := GetProgressListener(options)
+
+       // If the file does not exist, create one. If exists, the download will overwrite it.
+       fd, err := os.OpenFile(tempFilePath, os.O_WRONLY|os.O_CREATE, FilePermMode)
+       if err != nil {
+               return err
+       }
+       fd.Close()
+
+       // Get the object detailed meta for object whole size
+       // must delete header:range to get whole object size
+       skipOptions := DeleteOption(options, HTTPHeaderRange)
+       meta, err := bucket.GetObjectDetailedMeta(objectKey, skipOptions...)
+       if err != nil {
+               return err
+       }
+
+       objectSize, err := strconv.ParseInt(meta.Get(HTTPHeaderContentLength), 10, 64)
+       if err != nil {
+               return err
+       }
+
+       enableCRC := false
+       expectedCRC := (uint64)(0)
+       if bucket.GetConfig().IsEnableCRC && meta.Get(HTTPHeaderOssCRC64) != "" {
+               if uRange == nil || (!uRange.HasStart && !uRange.HasEnd) {
+                       enableCRC = true
+                       expectedCRC, _ = strconv.ParseUint(meta.Get(HTTPHeaderOssCRC64), 10, 64)
+               }
+       }
+
+       // Get the parts of the file
+       parts := getDownloadParts(objectSize, partSize, uRange)
+       jobs := make(chan downloadPart, len(parts))
+       results := make(chan downloadPart, len(parts))
+       failed := make(chan error)
+       die := make(chan bool)
+
+       var completedBytes int64
+       totalBytes := getObjectBytes(parts)
+       event := newProgressEvent(TransferStartedEvent, 0, totalBytes, 0)
+       publishProgress(listener, event)
+
+       // Start the download workers
+       arg := downloadWorkerArg{&bucket, objectKey, tempFilePath, options, downloadPartHooker, enableCRC}
+       for w := 1; w <= routines; w++ {
+               go downloadWorker(w, arg, jobs, results, failed, die)
+       }
+
+       // Download parts concurrently
+       go downloadScheduler(jobs, parts)
+
+       // Waiting for parts download finished
+       completed := 0
+       for completed < len(parts) {
+               select {
+               case part := <-results:
+                       completed++
+                       downBytes := (part.End - part.Start + 1)
+                       completedBytes += downBytes
+                       parts[part.Index].CRC64 = part.CRC64
+                       event = newProgressEvent(TransferDataEvent, completedBytes, totalBytes, downBytes)
+                       publishProgress(listener, event)
+               case err := <-failed:
+                       close(die)
+                       event = newProgressEvent(TransferFailedEvent, completedBytes, totalBytes, 0)
+                       publishProgress(listener, event)
+                       return err
+               }
+
+               if completed >= len(parts) {
+                       break
+               }
+       }
+
+       event = newProgressEvent(TransferCompletedEvent, completedBytes, totalBytes, 0)
+       publishProgress(listener, event)
+
+       if enableCRC {
+               actualCRC := combineCRCInParts(parts)
+               err = CheckDownloadCRC(actualCRC, expectedCRC)
+               if err != nil {
+                       return err
+               }
+       }
+
+       return os.Rename(tempFilePath, filePath)
+}
+
+// ----- Concurrent download with chcekpoint  -----
+
+const downloadCpMagic = "92611BED-89E2-46B6-89E5-72F273D4B0A3"
+
+type downloadCheckpoint struct {
+       Magic     string         // Magic
+       MD5       string         // Checkpoint content MD5
+       FilePath  string         // Local file
+       Object    string         // Key
+       ObjStat   objectStat     // Object status
+       Parts     []downloadPart // All download parts
+       PartStat  []bool         // Parts' download status
+       Start     int64          // Start point of the file
+       End       int64          // End point of the file
+       enableCRC bool           // Whether has CRC check
+       CRC       uint64         // CRC check value
+}
+
+type objectStat struct {
+       Size         int64  // Object size
+       LastModified string // Last modified time
+       Etag         string // Etag
+}
+
+// isValid flags of checkpoint data is valid. It returns true when the data is valid and the checkpoint is valid and the object is not updated.
+func (cp downloadCheckpoint) isValid(meta http.Header, uRange *UnpackedRange) (bool, error) {
+       // Compare the CP's Magic and the MD5
+       cpb := cp
+       cpb.MD5 = ""
+       js, _ := json.Marshal(cpb)
+       sum := md5.Sum(js)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+
+       if cp.Magic != downloadCpMagic || b64 != cp.MD5 {
+               return false, nil
+       }
+
+       objectSize, err := strconv.ParseInt(meta.Get(HTTPHeaderContentLength), 10, 64)
+       if err != nil {
+               return false, err
+       }
+
+       // Compare the object size, last modified time and etag
+       if cp.ObjStat.Size != objectSize ||
+               cp.ObjStat.LastModified != meta.Get(HTTPHeaderLastModified) ||
+               cp.ObjStat.Etag != meta.Get(HTTPHeaderEtag) {
+               return false, nil
+       }
+
+       // Check the download range
+       if uRange != nil {
+               start, end := AdjustRange(uRange, objectSize)
+               if start != cp.Start || end != cp.End {
+                       return false, nil
+               }
+       }
+
+       return true, nil
+}
+
+// load checkpoint from local file
+func (cp *downloadCheckpoint) load(filePath string) error {
+       contents, err := ioutil.ReadFile(filePath)
+       if err != nil {
+               return err
+       }
+
+       err = json.Unmarshal(contents, cp)
+       return err
+}
+
+// dump funciton dumps to file
+func (cp *downloadCheckpoint) dump(filePath string) error {
+       bcp := *cp
+
+       // Calculate MD5
+       bcp.MD5 = ""
+       js, err := json.Marshal(bcp)
+       if err != nil {
+               return err
+       }
+       sum := md5.Sum(js)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+       bcp.MD5 = b64
+
+       // Serialize
+       js, err = json.Marshal(bcp)
+       if err != nil {
+               return err
+       }
+
+       // Dump
+       return ioutil.WriteFile(filePath, js, FilePermMode)
+}
+
+// todoParts gets unfinished parts
+func (cp downloadCheckpoint) todoParts() []downloadPart {
+       dps := []downloadPart{}
+       for i, ps := range cp.PartStat {
+               if !ps {
+                       dps = append(dps, cp.Parts[i])
+               }
+       }
+       return dps
+}
+
+// getCompletedBytes gets completed size
+func (cp downloadCheckpoint) getCompletedBytes() int64 {
+       var completedBytes int64
+       for i, part := range cp.Parts {
+               if cp.PartStat[i] {
+                       completedBytes += (part.End - part.Start + 1)
+               }
+       }
+       return completedBytes
+}
+
+// prepare initiates download tasks
+func (cp *downloadCheckpoint) prepare(meta http.Header, bucket *Bucket, objectKey, filePath string, partSize int64, uRange *UnpackedRange) error {
+       // CP
+       cp.Magic = downloadCpMagic
+       cp.FilePath = filePath
+       cp.Object = objectKey
+
+       objectSize, err := strconv.ParseInt(meta.Get(HTTPHeaderContentLength), 10, 64)
+       if err != nil {
+               return err
+       }
+
+       cp.ObjStat.Size = objectSize
+       cp.ObjStat.LastModified = meta.Get(HTTPHeaderLastModified)
+       cp.ObjStat.Etag = meta.Get(HTTPHeaderEtag)
+
+       if bucket.GetConfig().IsEnableCRC && meta.Get(HTTPHeaderOssCRC64) != "" {
+               if uRange == nil || (!uRange.HasStart && !uRange.HasEnd) {
+                       cp.enableCRC = true
+                       cp.CRC, _ = strconv.ParseUint(meta.Get(HTTPHeaderOssCRC64), 10, 64)
+               }
+       }
+
+       // Parts
+       cp.Parts = getDownloadParts(objectSize, partSize, uRange)
+       cp.PartStat = make([]bool, len(cp.Parts))
+       for i := range cp.PartStat {
+               cp.PartStat[i] = false
+       }
+
+       return nil
+}
+
+func (cp *downloadCheckpoint) complete(cpFilePath, downFilepath string) error {
+       err := os.Rename(downFilepath, cp.FilePath)
+       if err != nil {
+               return err
+       }
+       return os.Remove(cpFilePath)
+}
+
+// downloadFileWithCp downloads files with checkpoint.
+func (bucket Bucket) downloadFileWithCp(objectKey, filePath string, partSize int64, options []Option, cpFilePath string, routines int, uRange *UnpackedRange) error {
+       tempFilePath := filePath + TempFileSuffix
+       listener := GetProgressListener(options)
+
+       // Load checkpoint data.
+       dcp := downloadCheckpoint{}
+       err := dcp.load(cpFilePath)
+       if err != nil {
+               os.Remove(cpFilePath)
+       }
+
+       // Get the object detailed meta for object whole size
+       // must delete header:range to get whole object size
+       skipOptions := DeleteOption(options, HTTPHeaderRange)
+       meta, err := bucket.GetObjectDetailedMeta(objectKey, skipOptions...)
+       if err != nil {
+               return err
+       }
+
+       // Load error or data invalid. Re-initialize the download.
+       valid, err := dcp.isValid(meta, uRange)
+       if err != nil || !valid {
+               if err = dcp.prepare(meta, &bucket, objectKey, filePath, partSize, uRange); err != nil {
+                       return err
+               }
+               os.Remove(cpFilePath)
+       }
+
+       // Create the file if not exists. Otherwise the parts download will overwrite it.
+       fd, err := os.OpenFile(tempFilePath, os.O_WRONLY|os.O_CREATE, FilePermMode)
+       if err != nil {
+               return err
+       }
+       fd.Close()
+
+       // Unfinished parts
+       parts := dcp.todoParts()
+       jobs := make(chan downloadPart, len(parts))
+       results := make(chan downloadPart, len(parts))
+       failed := make(chan error)
+       die := make(chan bool)
+
+       completedBytes := dcp.getCompletedBytes()
+       event := newProgressEvent(TransferStartedEvent, completedBytes, dcp.ObjStat.Size, 0)
+       publishProgress(listener, event)
+
+       // Start the download workers routine
+       arg := downloadWorkerArg{&bucket, objectKey, tempFilePath, options, downloadPartHooker, dcp.enableCRC}
+       for w := 1; w <= routines; w++ {
+               go downloadWorker(w, arg, jobs, results, failed, die)
+       }
+
+       // Concurrently downloads parts
+       go downloadScheduler(jobs, parts)
+
+       // Wait for the parts download finished
+       completed := 0
+       for completed < len(parts) {
+               select {
+               case part := <-results:
+                       completed++
+                       dcp.PartStat[part.Index] = true
+                       dcp.Parts[part.Index].CRC64 = part.CRC64
+                       dcp.dump(cpFilePath)
+                       downBytes := (part.End - part.Start + 1)
+                       completedBytes += downBytes
+                       event = newProgressEvent(TransferDataEvent, completedBytes, dcp.ObjStat.Size, downBytes)
+                       publishProgress(listener, event)
+               case err := <-failed:
+                       close(die)
+                       event = newProgressEvent(TransferFailedEvent, completedBytes, dcp.ObjStat.Size, 0)
+                       publishProgress(listener, event)
+                       return err
+               }
+
+               if completed >= len(parts) {
+                       break
+               }
+       }
+
+       event = newProgressEvent(TransferCompletedEvent, completedBytes, dcp.ObjStat.Size, 0)
+       publishProgress(listener, event)
+
+       if dcp.enableCRC {
+               actualCRC := combineCRCInParts(dcp.Parts)
+               err = CheckDownloadCRC(actualCRC, dcp.CRC)
+               if err != nil {
+                       return err
+               }
+       }
+
+       return dcp.complete(cpFilePath, tempFilePath)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/download_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/download_test.go
new file mode 100644 (file)
index 0000000..6c73764
--- /dev/null
@@ -0,0 +1,979 @@
+package oss
+
+import (
+       "bytes"
+       "fmt"
+       "net/http"
+       "os"
+       "strings"
+       "time"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssDownloadSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssDownloadSuite{})
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssDownloadSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test download started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssDownloadSuite) TearDownSuite(c *C) {
+       // Delete part
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: s.bucket.BucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err := s.client.DeleteBucket(s.bucket.BucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test download completed")
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssDownloadSuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssDownloadSuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".temp")
+       c.Assert(err, IsNil)
+}
+
+// TestDownloadRoutineWithoutRecovery multipart downloads without checkpoint
+func (s *OssDownloadSuite) TestDownloadRoutineWithoutRecovery(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       // Download the file by default
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024)
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Use 2 coroutines to download the file and total parts count is 5
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(2))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Use 5 coroutines to download the file and the total parts count is 5.
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(5))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Use 10 coroutines to download the file and the total parts count is 5.
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(10))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// DownErrorHooker requests hook by downloadPart
+func DownErrorHooker(part downloadPart) error {
+       if part.Index == 4 {
+               time.Sleep(time.Second)
+               return fmt.Errorf("ErrorHooker")
+       }
+       return nil
+}
+
+// TestDownloadRoutineWithRecovery multi-routine resumable download
+func (s *OssDownloadSuite) TestDownloadRoutineWithRecovery(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       // Download a file with default checkpoint
+       downloadPartHooker = DownErrorHooker
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Checkpoint(true, newFile+".cp"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       downloadPartHooker = defaultDownloadPartHook
+
+       // Check
+       dcp := downloadCheckpoint{}
+       err = dcp.load(newFile + ".cp")
+       c.Assert(err, IsNil)
+       c.Assert(dcp.Magic, Equals, downloadCpMagic)
+       c.Assert(len(dcp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
+       c.Assert(dcp.FilePath, Equals, newFile)
+       c.Assert(dcp.ObjStat.Size, Equals, int64(482048))
+       c.Assert(len(dcp.ObjStat.LastModified) > 0, Equals, true)
+       c.Assert(dcp.ObjStat.Etag, Equals, "\"2351E662233817A7AE974D8C5B0876DD-5\"")
+       c.Assert(dcp.Object, Equals, objectName)
+       c.Assert(len(dcp.Parts), Equals, 5)
+       c.Assert(len(dcp.todoParts()), Equals, 1)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Checkpoint(true, newFile+".cp"))
+       c.Assert(err, IsNil)
+       //download success, checkpoint file has been deleted
+       err = dcp.load(newFile + ".cp")
+       c.Assert(err, NotNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Resumable download with empty checkpoint file path
+       downloadPartHooker = DownErrorHooker
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Checkpoint(true, ""))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       downloadPartHooker = defaultDownloadPartHook
+
+       dcp = downloadCheckpoint{}
+       err = dcp.load(newFile + ".cp")
+       c.Assert(err, NotNil)
+
+       // Resumable download with checkpoint dir
+       os.Remove(newFile)
+       downloadPartHooker = DownErrorHooker
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, CheckpointDir(true, "./"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       downloadPartHooker = defaultDownloadPartHook
+
+       // Check
+       dcp = downloadCheckpoint{}
+       cpConf := cpConfig{IsEnable: true, DirPath: "./"}
+       cpFilePath := getDownloadCpFilePath(&cpConf, s.bucket.BucketName, objectName, "",newFile)
+       err = dcp.load(cpFilePath)
+       c.Assert(err, IsNil)
+       c.Assert(dcp.Magic, Equals, downloadCpMagic)
+       c.Assert(len(dcp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
+       c.Assert(dcp.FilePath, Equals, newFile)
+       c.Assert(dcp.ObjStat.Size, Equals, int64(482048))
+       c.Assert(len(dcp.ObjStat.LastModified) > 0, Equals, true)
+       c.Assert(dcp.ObjStat.Etag, Equals, "\"2351E662233817A7AE974D8C5B0876DD-5\"")
+       c.Assert(dcp.Object, Equals, objectName)
+       c.Assert(len(dcp.Parts), Equals, 5)
+       c.Assert(len(dcp.todoParts()), Equals, 1)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, CheckpointDir(true, "./"))
+       c.Assert(err, IsNil)
+       //download success, checkpoint file has been deleted
+       err = dcp.load(cpFilePath)
+       c.Assert(err, NotNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Resumable download with checkpoint at a time. No error is expected in the download procedure.
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Checkpoint(true, newFile+".cp"))
+       c.Assert(err, IsNil)
+
+       err = dcp.load(newFile + ".cp")
+       c.Assert(err, NotNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Resumable download with checkpoint at a time. No error is expected in the download procedure.
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(10), Checkpoint(true, newFile+".cp"))
+       c.Assert(err, IsNil)
+
+       err = dcp.load(newFile + ".cp")
+       c.Assert(err, NotNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestDownloadOption options
+func (s *OssDownloadSuite) TestDownloadOption(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload the file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       // IfMatch
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(3), IfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // IfNoneMatch
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(3), IfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+
+       // IfMatch
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(3), IfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // IfNoneMatch
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(3), IfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+}
+
+// TestDownloadObjectChange tests the file is updated during the upload
+func (s *OssDownloadSuite) TestDownloadObjectChange(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       // Download with default checkpoint
+       downloadPartHooker = DownErrorHooker
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Checkpoint(true, newFile+".cp"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       downloadPartHooker = defaultDownloadPartHook
+
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Checkpoint(true, newFile+".cp"))
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+}
+
+// TestDownloadNegative tests downloading negative
+func (s *OssDownloadSuite) TestDownloadNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       // Worker routine error
+       downloadPartHooker = DownErrorHooker
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(2))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       downloadPartHooker = defaultDownloadPartHook
+
+       // Local file does not exist
+       err = s.bucket.DownloadFile(objectName, "/tmp/", 100*1024, Routines(2))
+       c.Assert(err, NotNil)
+
+       // Invalid part size
+       err = s.bucket.DownloadFile(objectName, newFile, 0, Routines(2))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024*1024*100, Routines(2))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Local file does not exist
+       err = s.bucket.DownloadFile(objectName, "/tmp/", 100*1024)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DownloadFile(objectName, "/tmp/", 100*1024, Routines(2))
+       c.Assert(err, NotNil)
+
+       // Invalid part size
+       err = s.bucket.DownloadFile(objectName, newFile, -1)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 0, Routines(2))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024*1024*100)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024*1024*100, Routines(2))
+       c.Assert(err, NotNil)
+}
+
+// TestDownloadWithRange tests concurrent downloading with range specified and checkpoint enabled
+func (s *OssDownloadSuite) TestDownloadWithRange(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+       newFileGet := RandStr(8) + "-.jpg"
+
+       // Upload a file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       fileSize, err := getFileSize(fileName)
+       c.Assert(err, IsNil)
+
+       // Download with range, from 1024 to 4096
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(3), Range(1024, 4095))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err := compareFilesWithRange(fileName, 1024, newFile, 0, 3072)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, Range(1024, 4095))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, from 1024 to 4096
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024, Routines(3), NormalizedRange("1024-4095"))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, 1024, newFile, 0, 3072)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, NormalizedRange("1024-4095"))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, from 2048 to the end
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024, Routines(3), NormalizedRange("2048-"))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, 2048, newFile, 0, fileSize-2048)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, NormalizedRange("2048-"))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, the last 4096
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024, Routines(3), NormalizedRange("-4096"))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, fileSize-4096, newFile, 0, 4096)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, NormalizedRange("-4096"))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestDownloadWithCheckoutAndRange tests concurrent downloading with range specified and checkpoint enabled
+func (s *OssDownloadSuite) TestDownloadWithCheckoutAndRange(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+       newFileGet := RandStr(8) + "-get.jpg"
+
+       // Upload a file
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), Checkpoint(true, fileName+".cp"))
+       c.Assert(err, IsNil)
+
+       fileSize, err := getFileSize(fileName)
+       c.Assert(err, IsNil)
+
+       // Download with range, from 1024 to 4096
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(3), Checkpoint(true, newFile+".cp"), Range(1024, 4095))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err := compareFilesWithRange(fileName, 1024, newFile, 0, 3072)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, Range(1024, 4095))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, from 1024 to 4096
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024, Routines(3), Checkpoint(true, newFile+".cp"), NormalizedRange("1024-4095"))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, 1024, newFile, 0, 3072)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, NormalizedRange("1024-4095"))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, from 2048 to the end
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024, Routines(3), Checkpoint(true, newFile+".cp"), NormalizedRange("2048-"))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, 2048, newFile, 0, fileSize-2048)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, NormalizedRange("2048-"))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, the last 4096 bytes
+       os.Remove(newFile)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024, Routines(3), Checkpoint(true, newFile+".cp"), NormalizedRange("-4096"))
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, fileSize-4096, newFile, 0, 4096)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       err = s.bucket.GetObjectToFile(objectName, newFileGet, NormalizedRange("-4096"))
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestCombineCRCInDownloadParts tests combineCRCInParts
+func (s *OssDownloadSuite) TestCombineCRCInDownloadParts(c *C) {
+       crc := combineCRCInParts(nil)
+       c.Assert(crc == 0, Equals, true)
+
+       crc = combineCRCInParts(make([]downloadPart, 0))
+       c.Assert(crc == 0, Equals, true)
+
+       parts := make([]downloadPart, 1)
+       parts[0].CRC64 = 10278880121275185425
+       crc = combineCRCInParts(parts)
+       c.Assert(crc == 10278880121275185425, Equals, true)
+
+       parts = make([]downloadPart, 2)
+       parts[0].CRC64 = 6748440630437108969
+       parts[0].Start = 0
+       parts[0].End = 4
+       parts[1].CRC64 = 10278880121275185425
+       parts[1].Start = 5
+       parts[1].End = 8
+       crc = combineCRCInParts(parts)
+       c.Assert(crc == 11051210869376104954, Equals, true)
+}
+
+func getFileSize(fileName string) (int64, error) {
+       file, err := os.Open(fileName)
+       if err != nil {
+               return 0, err
+       }
+       defer file.Close()
+
+       stat, err := file.Stat()
+       if err != nil {
+               return 0, err
+       }
+
+       return stat.Size(), nil
+}
+
+// compareFilesWithRange compares the content between fileL and fileR with specified range
+func compareFilesWithRange(fileL string, offsetL int64, fileR string, offsetR int64, size int64) (bool, error) {
+       finL, err := os.Open(fileL)
+       if err != nil {
+               return false, err
+       }
+       defer finL.Close()
+       finL.Seek(offsetL, os.SEEK_SET)
+
+       finR, err := os.Open(fileR)
+       if err != nil {
+               return false, err
+       }
+       defer finR.Close()
+       finR.Seek(offsetR, os.SEEK_SET)
+
+       statL, err := finL.Stat()
+       if err != nil {
+               return false, err
+       }
+
+       statR, err := finR.Stat()
+       if err != nil {
+               return false, err
+       }
+
+       if (offsetL+size > statL.Size()) || (offsetR+size > statR.Size()) {
+               return false, nil
+       }
+
+       part := statL.Size() - offsetL
+       if part > 16*1024 {
+               part = 16 * 1024
+       }
+
+       bufL := make([]byte, part)
+       bufR := make([]byte, part)
+       for readN := int64(0); readN < size; {
+               n, _ := finL.Read(bufL)
+               if 0 == n {
+                       break
+               }
+
+               n, _ = finR.Read(bufR)
+               if 0 == n {
+                       break
+               }
+
+               tailer := part
+               if tailer > size-readN {
+                       tailer = size - readN
+               }
+               readN += tailer
+
+               if !bytes.Equal(bufL[0:tailer], bufR[0:tailer]) {
+                       return false, nil
+               }
+       }
+
+       return true, nil
+}
+
+func (s *OssDownloadSuite) TestVersioningDownloadWithoutCheckPoint(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // begin test
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "test-file-" + RandStr(8)
+       fileData := RandStr(500 * 1024)
+       CreateFile(fileName, fileData, c)
+
+       newFile := RandStr(8) + ".jpg"
+       newFileGet := RandStr(8) + "-.jpg"
+
+       // Upload a file
+       var respHeader http.Header
+       options := []Option{Routines(3), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(objectName, fileName, 100*1024, options...)
+       c.Assert(err, IsNil)
+       versionId := GetVersionId(respHeader)
+       c.Assert(len(versionId) > 0, Equals, true)
+
+       fileSize, err := getFileSize(fileName)
+       c.Assert(err, IsNil)
+
+       // overwrite emtpy object
+       err = bucket.PutObject(objectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // Download with range, from 1024 to 4096
+       os.Remove(newFile)
+       options = []Option{Routines(3), Range(1024, 4095), VersionId(versionId)}
+       err = bucket.DownloadFile(objectName, newFile, 100*1024, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err := compareFilesWithRange(fileName, 1024, newFile, 0, 3072)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       options = []Option{Range(1024, 4095), VersionId(versionId)}
+       err = bucket.GetObjectToFile(objectName, newFileGet, options...)
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, from 1024 to 4096
+       os.Remove(newFile)
+       options = []Option{Routines(3), NormalizedRange("1024-4095"), VersionId(versionId)}
+       err = bucket.DownloadFile(objectName, newFile, 1024, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, 1024, newFile, 0, 3072)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       options = []Option{NormalizedRange("1024-4095"), VersionId(versionId)}
+       err = bucket.GetObjectToFile(objectName, newFileGet, options...)
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, from 2048 to the end
+       os.Remove(newFile)
+       options = []Option{NormalizedRange("2048-"), VersionId(versionId)}
+       err = bucket.DownloadFile(objectName, newFile, 1024*1024, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, 2048, newFile, 0, fileSize-2048)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       options = []Option{NormalizedRange("2048-"), VersionId(versionId)}
+       err = bucket.GetObjectToFile(objectName, newFileGet, options...)
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download with range, the last 4096
+       os.Remove(newFile)
+       options = []Option{Routines(3), NormalizedRange("-4096"), VersionId(versionId)}
+       err = bucket.DownloadFile(objectName, newFile, 1024, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       eq, err = compareFilesWithRange(fileName, fileSize-4096, newFile, 0, 4096)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(newFileGet)
+       options = []Option{NormalizedRange("-4096"), VersionId(versionId)}
+       err = bucket.GetObjectToFile(objectName, newFileGet, options...)
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(newFile, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // download whole file
+       os.Remove(newFileGet)
+       options = []Option{Routines(3), VersionId(versionId)}
+       err = bucket.GetObjectToFile(objectName, newFileGet, options...)
+       c.Assert(err, IsNil)
+
+       // Compare get and download
+       eq, err = compareFiles(fileName, newFileGet)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(fileName)
+       os.Remove(newFileGet)
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssDownloadSuite) TestVersioningDownloadWithCheckPoint(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // begin test
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "test-file-" + RandStr(8)
+       fileData := RandStr(500 * 1024)
+       CreateFile(fileName, fileData, c)
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       var respHeader http.Header
+       options := []Option{Routines(3), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(objectName, fileName, 100*1024, options...)
+       c.Assert(err, IsNil)
+       versionId := GetVersionId(respHeader)
+       c.Assert(len(versionId) > 0, Equals, true)
+
+       // Resumable download with checkpoint dir
+       os.Remove(newFile)
+       downloadPartHooker = DownErrorHooker
+       options = []Option{CheckpointDir(true, "./"), VersionId(versionId)}
+
+       strPayer := getPayer(options)
+       c.Assert(strPayer, Equals, "")
+
+       err = bucket.DownloadFile(objectName, newFile, 100*1024, options...)
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+
+       // download again
+       downloadPartHooker = defaultDownloadPartHook
+       options = []Option{CheckpointDir(true, "./"), VersionId(versionId), GetResponseHeader(&respHeader)}
+       err = bucket.DownloadFile(objectName, newFile, 100*1024, options...)
+       c.Assert(err, IsNil)
+       c.Assert(GetVersionId(respHeader), Equals, versionId)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(fileName)
+       os.Remove(newFile)
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssDownloadSuite) TestdownloadFileChoiceOptions(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // begin test
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "test-file-" + RandStr(8)
+       fileData := RandStr(500 * 1024)
+       CreateFile(fileName, fileData, c)
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       var respHeader http.Header
+       options := []Option{Routines(3), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(objectName, fileName, 100*1024, options...)
+       c.Assert(err, IsNil)
+
+       // Resumable download with checkpoint dir
+       os.Remove(newFile)
+
+       // downloadFile with properties
+       options = []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+       }
+
+       err = bucket.DownloadFile(objectName, newFile, 100*1024, options...)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(fileName)
+       os.Remove(newFile)
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func (s *OssDownloadSuite) TestdownloadFileWithCpChoiceOptions(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // begin test
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "test-file-" + RandStr(8)
+       fileData := RandStr(500 * 1024)
+       CreateFile(fileName, fileData, c)
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload a file
+       var respHeader http.Header
+       options := []Option{Routines(3), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(objectName, fileName, 100*1024, options...)
+       c.Assert(err, IsNil)
+
+       // Resumable download with checkpoint dir
+       os.Remove(newFile)
+
+       // DownloadFile with properties
+       options = []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               CheckpointDir(true, "./"),
+       }
+
+       err = bucket.DownloadFile(objectName, newFile, 100*1024, options...)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(fileName)
+       os.Remove(newFile)
+       err = bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/error.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/error.go
new file mode 100644 (file)
index 0000000..a877211
--- /dev/null
@@ -0,0 +1,94 @@
+package oss
+
+import (
+       "encoding/xml"
+       "fmt"
+       "net/http"
+       "strings"
+)
+
+// ServiceError contains fields of the error response from Oss Service REST API.
+type ServiceError struct {
+       XMLName    xml.Name `xml:"Error"`
+       Code       string   `xml:"Code"`      // The error code returned from OSS to the caller
+       Message    string   `xml:"Message"`   // The detail error message from OSS
+       RequestID  string   `xml:"RequestId"` // The UUID used to uniquely identify the request
+       HostID     string   `xml:"HostId"`    // The OSS server cluster's Id
+       Endpoint   string   `xml:"Endpoint"`
+       RawMessage string   // The raw messages from OSS
+       StatusCode int      // HTTP status code
+}
+
+// Error implements interface error
+func (e ServiceError) Error() string {
+       if e.Endpoint == "" {
+               return fmt.Sprintf("oss: service returned error: StatusCode=%d, ErrorCode=%s, ErrorMessage=\"%s\", RequestId=%s",
+                       e.StatusCode, e.Code, e.Message, e.RequestID)
+       }
+       return fmt.Sprintf("oss: service returned error: StatusCode=%d, ErrorCode=%s, ErrorMessage=\"%s\", RequestId=%s, Endpoint=%s",
+               e.StatusCode, e.Code, e.Message, e.RequestID, e.Endpoint)
+}
+
+// UnexpectedStatusCodeError is returned when a storage service responds with neither an error
+// nor with an HTTP status code indicating success.
+type UnexpectedStatusCodeError struct {
+       allowed []int // The expected HTTP stats code returned from OSS
+       got     int   // The actual HTTP status code from OSS
+}
+
+// Error implements interface error
+func (e UnexpectedStatusCodeError) Error() string {
+       s := func(i int) string { return fmt.Sprintf("%d %s", i, http.StatusText(i)) }
+
+       got := s(e.got)
+       expected := []string{}
+       for _, v := range e.allowed {
+               expected = append(expected, s(v))
+       }
+       return fmt.Sprintf("oss: status code from service response is %s; was expecting %s",
+               got, strings.Join(expected, " or "))
+}
+
+// Got is the actual status code returned by oss.
+func (e UnexpectedStatusCodeError) Got() int {
+       return e.got
+}
+
+// CheckRespCode returns UnexpectedStatusError if the given response code is not
+// one of the allowed status codes; otherwise nil.
+func CheckRespCode(respCode int, allowed []int) error {
+       for _, v := range allowed {
+               if respCode == v {
+                       return nil
+               }
+       }
+       return UnexpectedStatusCodeError{allowed, respCode}
+}
+
+// CRCCheckError is returned when crc check is inconsistent between client and server
+type CRCCheckError struct {
+       clientCRC uint64 // Calculated CRC64 in client
+       serverCRC uint64 // Calculated CRC64 in server
+       operation string // Upload operations such as PutObject/AppendObject/UploadPart, etc
+       requestID string // The request id of this operation
+}
+
+// Error implements interface error
+func (e CRCCheckError) Error() string {
+       return fmt.Sprintf("oss: the crc of %s is inconsistent, client %d but server %d; request id is %s",
+               e.operation, e.clientCRC, e.serverCRC, e.requestID)
+}
+
+func CheckDownloadCRC(clientCRC, serverCRC uint64) error {
+       if clientCRC == serverCRC {
+               return nil
+       }
+       return CRCCheckError{clientCRC, serverCRC, "DownloadFile", ""}
+}
+
+func CheckCRC(resp *Response, operation string) error {
+       if resp.Headers.Get(HTTPHeaderOssCRC64) == "" || resp.ClientCRC == resp.ServerCRC {
+               return nil
+       }
+       return CRCCheckError{resp.ClientCRC, resp.ServerCRC, operation, resp.Headers.Get(HTTPHeaderOssRequestID)}
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/error_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/error_test.go
new file mode 100644 (file)
index 0000000..49280cd
--- /dev/null
@@ -0,0 +1,111 @@
+package oss
+
+import (
+       "math"
+       "net/http"
+       "strings"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssErrorSuite struct{}
+
+var _ = Suite(&OssErrorSuite{})
+
+func (s *OssErrorSuite) TestCheckCRCHasCRCInResp(c *C) {
+       headers := http.Header{
+               "Expires":              {"-1"},
+               "Content-Length":       {"0"},
+               "Content-Encoding":     {"gzip"},
+               "X-Oss-Hash-Crc64ecma": {"0"},
+       }
+
+       resp := &Response{
+               StatusCode: 200,
+               Headers:    headers,
+               Body:       nil,
+               ClientCRC:  math.MaxUint64,
+               ServerCRC:  math.MaxUint64,
+       }
+
+       err := CheckCRC(resp, "test")
+       c.Assert(err, IsNil)
+}
+
+func (s *OssErrorSuite) TestCheckCRCNotHasCRCInResp(c *C) {
+       headers := http.Header{
+               "Expires":          {"-1"},
+               "Content-Length":   {"0"},
+               "Content-Encoding": {"gzip"},
+       }
+
+       resp := &Response{
+               StatusCode: 200,
+               Headers:    headers,
+               Body:       nil,
+               ClientCRC:  math.MaxUint64,
+               ServerCRC:  math.MaxUint32,
+       }
+
+       err := CheckCRC(resp, "test")
+       c.Assert(err, IsNil)
+}
+
+func (s *OssErrorSuite) TestCheckCRCCNegative(c *C) {
+       headers := http.Header{
+               "Expires":              {"-1"},
+               "Content-Length":       {"0"},
+               "Content-Encoding":     {"gzip"},
+               "X-Oss-Hash-Crc64ecma": {"0"},
+       }
+
+       resp := &Response{
+               StatusCode: 200,
+               Headers:    headers,
+               Body:       nil,
+               ClientCRC:  0,
+               ServerCRC:  math.MaxUint64,
+       }
+
+       err := CheckCRC(resp, "test")
+       c.Assert(err, NotNil)
+       testLogger.Println("error:", err)
+}
+
+func (s *OssErrorSuite) TestCheckDownloadCRC(c *C) {
+       err := CheckDownloadCRC(0xFBF9D9603A6FA020, 0xFBF9D9603A6FA020)
+       c.Assert(err, IsNil)
+
+       err = CheckDownloadCRC(0, 0)
+       c.Assert(err, IsNil)
+
+       err = CheckDownloadCRC(0xDB6EFFF26AA94946, 0)
+       c.Assert(err, NotNil)
+       testLogger.Println("error:", err)
+}
+
+func (s *OssErrorSuite) TestServiceErrorEndPoint(c *C) {
+       xmlBody := `<?xml version="1.0" encoding="UTF-8"?>
+       <Error>
+         <Code>AccessDenied</Code>
+         <Message>The bucket you visit is not belong to you.</Message>
+         <RequestId>5C1B5E9BD79A6B9B6466166E</RequestId>
+         <HostId>oss-c-sdk-test-verify-b.oss-cn-shenzhen.aliyuncs.com</HostId>
+       </Error>`
+       serverError, _ := serviceErrFromXML([]byte(xmlBody), 403, "5C1B5E9BD79A6B9B6466166E")
+       errMsg := serverError.Error()
+       c.Assert(strings.Contains(errMsg, "Endpoint="), Equals, false)
+
+       xmlBodyWithEndPoint := `<?xml version="1.0" encoding="UTF-8"?>
+       <Error>
+      <Code>AccessDenied</Code>
+         <Message>The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.</Message>
+         <RequestId>5C1B595ED51820B569C6A12F</RequestId>
+         <HostId>hello-hangzws.oss-cn-qingdao.aliyuncs.com</HostId>
+         <Bucket>hello-hangzws</Bucket>
+         <Endpoint>oss-cn-shenzhen.aliyuncs.com</Endpoint>
+       </Error>`
+       serverError, _ = serviceErrFromXML([]byte(xmlBodyWithEndPoint), 406, "5C1B595ED51820B569C6A12F")
+       errMsg = serverError.Error()
+       c.Assert(strings.Contains(errMsg, "Endpoint=oss-cn-shenzhen.aliyuncs.com"), Equals, true)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/limit_reader_1_6.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/limit_reader_1_6.go
new file mode 100644 (file)
index 0000000..943dc8f
--- /dev/null
@@ -0,0 +1,28 @@
+// +build !go1.7
+
+// "golang.org/x/time/rate" is depended on golang context package  go1.7 onward
+// this file is only for build,not supports limit upload speed
+package oss
+
+import (
+       "fmt"
+       "io"
+)
+
+const (
+       perTokenBandwidthSize int = 1024
+)
+
+type OssLimiter struct {
+}
+
+type LimitSpeedReader struct {
+       io.ReadCloser
+       reader     io.Reader
+       ossLimiter *OssLimiter
+}
+
+func GetOssLimiter(uploadSpeed int) (ossLimiter *OssLimiter, err error) {
+       err = fmt.Errorf("rate.Limiter is not supported below version go1.7")
+       return nil, err
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/limit_reader_1_7.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/limit_reader_1_7.go
new file mode 100644 (file)
index 0000000..f6baf29
--- /dev/null
@@ -0,0 +1,90 @@
+// +build go1.7
+
+package oss
+
+import (
+       "fmt"
+       "io"
+       "math"
+       "time"
+
+       "golang.org/x/time/rate"
+)
+
+const (
+       perTokenBandwidthSize int = 1024
+)
+
+// OssLimiter wrapper rate.Limiter
+type OssLimiter struct {
+       limiter *rate.Limiter
+}
+
+// GetOssLimiter create OssLimiter
+// uploadSpeed KB/s
+func GetOssLimiter(uploadSpeed int) (ossLimiter *OssLimiter, err error) {
+       limiter := rate.NewLimiter(rate.Limit(uploadSpeed), uploadSpeed)
+
+       // first consume the initial full token,the limiter will behave more accurately
+       limiter.AllowN(time.Now(), uploadSpeed)
+
+       return &OssLimiter{
+               limiter: limiter,
+       }, nil
+}
+
+// LimitSpeedReader for limit bandwidth upload
+type LimitSpeedReader struct {
+       io.ReadCloser
+       reader     io.Reader
+       ossLimiter *OssLimiter
+}
+
+// Read
+func (r *LimitSpeedReader) Read(p []byte) (n int, err error) {
+       n = 0
+       err = nil
+       start := 0
+       burst := r.ossLimiter.limiter.Burst()
+       var end int
+       var tmpN int
+       var tc int
+       for start < len(p) {
+               if start+burst*perTokenBandwidthSize < len(p) {
+                       end = start + burst*perTokenBandwidthSize
+               } else {
+                       end = len(p)
+               }
+
+               tmpN, err = r.reader.Read(p[start:end])
+               if tmpN > 0 {
+                       n += tmpN
+                       start = n
+               }
+
+               if err != nil {
+                       return
+               }
+
+               tc = int(math.Ceil(float64(tmpN) / float64(perTokenBandwidthSize)))
+               now := time.Now()
+               re := r.ossLimiter.limiter.ReserveN(now, tc)
+               if !re.OK() {
+                       err = fmt.Errorf("LimitSpeedReader.Read() failure,ReserveN error,start:%d,end:%d,burst:%d,perTokenBandwidthSize:%d",
+                               start, end, burst, perTokenBandwidthSize)
+                       return
+               }
+               timeDelay := re.Delay()
+               time.Sleep(timeDelay)
+       }
+       return
+}
+
+// Close ...
+func (r *LimitSpeedReader) Close() error {
+       rc, ok := r.reader.(io.ReadCloser)
+       if ok {
+               return rc.Close()
+       }
+       return nil
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/livechannel.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/livechannel.go
new file mode 100644 (file)
index 0000000..bf5ba07
--- /dev/null
@@ -0,0 +1,257 @@
+package oss
+
+import (
+       "bytes"
+       "encoding/xml"
+       "fmt"
+       "io"
+       "net/http"
+       "strconv"
+       "time"
+)
+
+//
+// CreateLiveChannel    create a live-channel
+//
+// channelName  the name of the channel
+// config       configuration of the channel
+//
+// CreateLiveChannelResult  the result of create live-channel
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) CreateLiveChannel(channelName string, config LiveChannelConfiguration) (CreateLiveChannelResult, error) {
+       var out CreateLiveChannelResult
+
+       bs, err := xml.Marshal(config)
+       if err != nil {
+               return out, err
+       }
+
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       params := map[string]interface{}{}
+       params["live"] = nil
+       resp, err := bucket.do("PUT", channelName, params, nil, buffer, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// PutLiveChannelStatus Set the status of the live-channel: enabled/disabled
+//
+// channelName  the name of the channel
+// status       enabled/disabled
+//
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) PutLiveChannelStatus(channelName, status string) error {
+       params := map[string]interface{}{}
+       params["live"] = nil
+       params["status"] = status
+
+       resp, err := bucket.do("PUT", channelName, params, nil, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// PostVodPlaylist  create an playlist based on the specified playlist name, startTime and endTime
+//
+// channelName  the name of the channel
+// playlistName the name of the playlist, must end with ".m3u8"
+// startTime    the start time of the playlist
+// endTime      the endtime of the playlist
+//
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) PostVodPlaylist(channelName, playlistName string, startTime, endTime time.Time) error {
+       params := map[string]interface{}{}
+       params["vod"] = nil
+       params["startTime"] = strconv.FormatInt(startTime.Unix(), 10)
+       params["endTime"] = strconv.FormatInt(endTime.Unix(), 10)
+
+       key := fmt.Sprintf("%s/%s", channelName, playlistName)
+       resp, err := bucket.do("POST", key, params, nil, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusOK})
+}
+
+// GetVodPlaylist  get the playlist based on the specified channelName, startTime and endTime
+//
+// channelName  the name of the channel
+// startTime    the start time of the playlist
+// endTime      the endtime of the playlist
+//
+// io.ReadCloser reader instance for reading data from response. It must be called close() after the usage and only valid when error is nil.
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) GetVodPlaylist(channelName string, startTime, endTime time.Time) (io.ReadCloser, error) {
+       params := map[string]interface{}{}
+       params["vod"] = nil
+       params["startTime"] = strconv.FormatInt(startTime.Unix(), 10)
+       params["endTime"] = strconv.FormatInt(endTime.Unix(), 10)
+
+       resp, err := bucket.do("GET", channelName, params, nil, nil, nil)
+       if err != nil {
+               return nil, err
+       }
+
+       return resp.Body, nil
+}
+
+//
+// GetLiveChannelStat   Get the state of the live-channel
+//
+// channelName  the name of the channel
+//
+// LiveChannelStat  the state of the live-channel
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) GetLiveChannelStat(channelName string) (LiveChannelStat, error) {
+       var out LiveChannelStat
+       params := map[string]interface{}{}
+       params["live"] = nil
+       params["comp"] = "stat"
+
+       resp, err := bucket.do("GET", channelName, params, nil, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// GetLiveChannelInfo   Get the configuration info of the live-channel
+//
+// channelName  the name of the channel
+//
+// LiveChannelConfiguration the configuration info of the live-channel
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) GetLiveChannelInfo(channelName string) (LiveChannelConfiguration, error) {
+       var out LiveChannelConfiguration
+       params := map[string]interface{}{}
+       params["live"] = nil
+
+       resp, err := bucket.do("GET", channelName, params, nil, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// GetLiveChannelHistory    Get push records of live-channel
+//
+// channelName  the name of the channel
+//
+// LiveChannelHistory   push records
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) GetLiveChannelHistory(channelName string) (LiveChannelHistory, error) {
+       var out LiveChannelHistory
+       params := map[string]interface{}{}
+       params["live"] = nil
+       params["comp"] = "history"
+
+       resp, err := bucket.do("GET", channelName, params, nil, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// ListLiveChannel  list the live-channels
+//
+// options  Prefix: filter by the name start with the value of "Prefix"
+//          MaxKeys: the maximum count returned
+//          Marker: cursor from which starting list
+//
+// ListLiveChannelResult    live-channel list
+// error    nil if success, otherwise error
+//
+func (bucket Bucket) ListLiveChannel(options ...Option) (ListLiveChannelResult, error) {
+       var out ListLiveChannelResult
+
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+
+       params["live"] = nil
+
+       resp, err := bucket.do("GET", "", params, nil, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+//
+// DeleteLiveChannel    Delete the live-channel. When a client trying to stream the live-channel, the operation will fail. it will only delete the live-channel itself and the object generated by the live-channel will not be deleted.
+//
+// channelName  the name of the channel
+//
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) DeleteLiveChannel(channelName string) error {
+       params := map[string]interface{}{}
+       params["live"] = nil
+
+       if channelName == "" {
+               return fmt.Errorf("invalid argument: channel name is empty")
+       }
+
+       resp, err := bucket.do("DELETE", channelName, params, nil, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+//
+// SignRtmpURL  Generate a RTMP push-stream signature URL for the trusted user to push the RTMP stream to the live-channel.
+//
+// channelName  the name of the channel
+// playlistName the name of the playlist, must end with ".m3u8"
+// expires      expiration (in seconds)
+//
+// string       singed rtmp push stream url
+// error        nil if success, otherwise error
+//
+func (bucket Bucket) SignRtmpURL(channelName, playlistName string, expires int64) (string, error) {
+       if expires <= 0 {
+               return "", fmt.Errorf("invalid argument: %d, expires must greater than 0", expires)
+       }
+       expiration := time.Now().Unix() + expires
+
+       return bucket.Client.Conn.signRtmpURL(bucket.BucketName, channelName, playlistName, expiration), nil
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/livechannel_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/livechannel_test.go
new file mode 100644 (file)
index 0000000..26ed5ec
--- /dev/null
@@ -0,0 +1,428 @@
+package oss
+
+import (
+       "fmt"
+       "strings"
+       "time"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssBucketLiveChannelSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssBucketLiveChannelSuite{})
+
+// SetUpSuite Run once when the suite starts running
+func (s *OssBucketLiveChannelSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       err = s.client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       time.Sleep(5 * time.Second)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test livechannel started...")
+}
+
+// TearDownSuite Run once after all tests or benchmarks
+func (s *OssBucketLiveChannelSuite) TearDownSuite(c *C) {
+       marker := ""
+       for {
+               result, err := s.bucket.ListLiveChannel(Marker(marker))
+               c.Assert(err, IsNil)
+
+               for _, channel := range result.LiveChannel {
+                       err := s.bucket.DeleteLiveChannel(channel.Name)
+                       c.Assert(err, IsNil)
+               }
+
+               if result.IsTruncated {
+                       marker = result.NextMarker
+               } else {
+                       break
+               }
+       }
+
+       testLogger.Println("test livechannel done...")
+}
+
+// SetUpTest Run before each test or benchmark starts
+func (s *OssBucketLiveChannelSuite) SetUpTest(c *C) {
+
+}
+
+// TearDownTest        Run after each test or benchmark runs.
+func (s *OssBucketLiveChannelSuite) TearDownTest(c *C) {
+
+}
+
+// TestCreateLiveChannel
+func (s *OssBucketLiveChannelSuite) TestCreateLiveChannel(c *C) {
+       channelName := "test-create-channel"
+       playlistName := "test-create-channel.m3u8"
+
+       target := LiveChannelTarget{
+               PlaylistName: playlistName,
+               Type:         "HLS",
+       }
+
+       config := LiveChannelConfiguration{
+               Description: "livechannel for test",
+               Status:      "enabled",
+               Target:      target,
+       }
+
+       result, err := s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       playURL := getPlayURL(bucketName, channelName, playlistName)
+       publishURL := getPublishURL(bucketName, channelName)
+       c.Assert(result.PlayUrls[0], Equals, playURL)
+       c.Assert(result.PublishUrls[0], Equals, publishURL)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+
+       invalidType := RandStr(4)
+       invalidTarget := LiveChannelTarget{
+               PlaylistName: playlistName,
+               Type:         invalidType,
+       }
+
+       invalidConfig := LiveChannelConfiguration{
+               Description: "livechannel for test",
+               Status:      "enabled",
+               Target:      invalidTarget,
+       }
+
+       _, err = s.bucket.CreateLiveChannel(channelName, invalidConfig)
+       c.Assert(err, NotNil)
+}
+
+// TestDeleteLiveChannel
+func (s *OssBucketLiveChannelSuite) TestDeleteLiveChannel(c *C) {
+       channelName := "test-delete-channel"
+
+       target := LiveChannelTarget{
+               Type: "HLS",
+       }
+
+       config := LiveChannelConfiguration{
+               Target: target,
+       }
+
+       _, err := s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+
+       emptyChannelName := ""
+       err = s.bucket.DeleteLiveChannel(emptyChannelName)
+       c.Assert(err, NotNil)
+
+       longChannelName := RandStr(65)
+       err = s.bucket.DeleteLiveChannel(longChannelName)
+       c.Assert(err, NotNil)
+
+       config, err = s.bucket.GetLiveChannelInfo(channelName)
+       c.Assert(err, NotNil)
+}
+
+// TestGetLiveChannelInfo
+func (s *OssBucketLiveChannelSuite) TestGetLiveChannelInfo(c *C) {
+       channelName := "test-get-channel-status"
+
+       _, err := s.bucket.GetLiveChannelInfo(channelName)
+       c.Assert(err, NotNil)
+
+       createCfg := LiveChannelConfiguration{
+               Target: LiveChannelTarget{
+                       Type:         "HLS",
+                       FragDuration: 10,
+                       FragCount:    4,
+                       PlaylistName: "test-get-channel-status.m3u8",
+               },
+       }
+
+       _, err = s.bucket.CreateLiveChannel(channelName, createCfg)
+       c.Assert(err, IsNil)
+
+       getCfg, err := s.bucket.GetLiveChannelInfo(channelName)
+       c.Assert(err, IsNil)
+       c.Assert("enabled", Equals, getCfg.Status) //The default value is enabled
+       c.Assert("HLS", Equals, getCfg.Target.Type)
+       c.Assert(10, Equals, getCfg.Target.FragDuration)
+       c.Assert(4, Equals, getCfg.Target.FragCount)
+       c.Assert("test-get-channel-status.m3u8", Equals, getCfg.Target.PlaylistName)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// TestPutLiveChannelStatus
+func (s *OssBucketLiveChannelSuite) TestPutLiveChannelStatus(c *C) {
+       channelName := "test-put-channel-status"
+
+       config := LiveChannelConfiguration{
+               Status: "disabled",
+               Target: LiveChannelTarget{
+                       Type: "HLS",
+               },
+       }
+
+       _, err := s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+       getCfg, err := s.bucket.GetLiveChannelInfo(channelName)
+       c.Assert(err, IsNil)
+       c.Assert("disabled", Equals, getCfg.Status)
+
+       err = s.bucket.PutLiveChannelStatus(channelName, "enabled")
+       c.Assert(err, IsNil)
+       getCfg, err = s.bucket.GetLiveChannelInfo(channelName)
+       c.Assert(err, IsNil)
+       c.Assert("enabled", Equals, getCfg.Status)
+
+       err = s.bucket.PutLiveChannelStatus(channelName, "disabled")
+       c.Assert(err, IsNil)
+       getCfg, err = s.bucket.GetLiveChannelInfo(channelName)
+       c.Assert(err, IsNil)
+       c.Assert("disabled", Equals, getCfg.Status)
+
+       invalidStatus := RandLowStr(9)
+       err = s.bucket.PutLiveChannelStatus(channelName, invalidStatus)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// TestGetLiveChannelHistory
+func (s *OssBucketLiveChannelSuite) TestGetLiveChannelHistory(c *C) {
+       channelName := "test-get-channel-history"
+
+       _, err := s.bucket.GetLiveChannelHistory(channelName)
+       c.Assert(err, NotNil)
+
+       config := LiveChannelConfiguration{
+               Target: LiveChannelTarget{
+                       Type: "HLS",
+               },
+       }
+
+       _, err = s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       history, err := s.bucket.GetLiveChannelHistory(channelName)
+       c.Assert(err, IsNil)
+       c.Assert(len(history.Record), Equals, 0)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// TestGetLiveChannelStat
+func (s *OssBucketLiveChannelSuite) TestGetLiveChannelStat(c *C) {
+       channelName := "test-get-channel-stat"
+
+       _, err := s.bucket.GetLiveChannelStat(channelName)
+       c.Assert(err, NotNil)
+
+       config := LiveChannelConfiguration{
+               Target: LiveChannelTarget{
+                       Type: "HLS",
+               },
+       }
+
+       _, err = s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       stat, err := s.bucket.GetLiveChannelStat(channelName)
+       c.Assert(err, IsNil)
+       c.Assert(stat.Status, Equals, "Idle")
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// TestPostVodPlaylist
+func (s *OssBucketLiveChannelSuite) TestPostVodPlaylist(c *C) {
+       channelName := "test-post-vod-playlist"
+       playlistName := "test-post-vod-playlist.m3u8"
+
+       config := LiveChannelConfiguration{
+               Target: LiveChannelTarget{
+                       Type: "HLS",
+               },
+       }
+
+       _, err := s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       endTime := time.Now().Add(-1 * time.Minute)
+       startTime := endTime.Add(-60 * time.Minute)
+
+       err = s.bucket.PostVodPlaylist(channelName, playlistName, startTime, endTime)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// TestPostVodPlaylist
+func (s *OssBucketLiveChannelSuite) TestGetVodPlaylist(c *C) {
+       channelName := "test-get-vod-playlist"
+
+       config := LiveChannelConfiguration{
+               Target: LiveChannelTarget{
+                       Type: "HLS",
+               },
+       }
+
+       _, err := s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       endTime := time.Now().Add(-1 * time.Minute)
+       startTime := endTime.Add(-60 * time.Minute)
+
+       _, err = s.bucket.GetVodPlaylist(channelName, startTime, endTime)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// TestListLiveChannel
+func (s *OssBucketLiveChannelSuite) TestListLiveChannel(c *C) {
+       result, err := s.bucket.ListLiveChannel()
+       c.Assert(err, IsNil)
+       ok := compareListResult(result, "", "", "", 100, false, 0)
+       c.Assert(ok, Equals, true)
+
+       prefix := "test-list-channel"
+       for i := 0; i < 200; i++ {
+               channelName := fmt.Sprintf("%s-%03d", prefix, i)
+
+               config := LiveChannelConfiguration{
+                       Target: LiveChannelTarget{
+                               Type: "HLS",
+                       },
+               }
+
+               _, err := s.bucket.CreateLiveChannel(channelName, config)
+               c.Assert(err, IsNil)
+       }
+
+       result, err = s.bucket.ListLiveChannel()
+       c.Assert(err, IsNil)
+       nextMarker := fmt.Sprintf("%s-099", prefix)
+       ok = compareListResult(result, "", "", nextMarker, 100, true, 100)
+       c.Assert(ok, Equals, true)
+
+       randPrefix := RandStr(5)
+       result, err = s.bucket.ListLiveChannel(Prefix(randPrefix))
+       c.Assert(err, IsNil)
+       ok = compareListResult(result, randPrefix, "", "", 100, false, 0)
+       c.Assert(ok, Equals, true)
+
+       marker := fmt.Sprintf("%s-100", prefix)
+       result, err = s.bucket.ListLiveChannel(Prefix(prefix), Marker(marker))
+       c.Assert(err, IsNil)
+       ok = compareListResult(result, prefix, marker, "", 100, false, 99)
+       c.Assert(ok, Equals, true)
+
+       maxKeys := 1000
+       result, err = s.bucket.ListLiveChannel(MaxKeys(maxKeys))
+       c.Assert(err, IsNil)
+       ok = compareListResult(result, "", "", "", maxKeys, false, 200)
+
+       invalidMaxKeys := -1
+       result, err = s.bucket.ListLiveChannel(MaxKeys(invalidMaxKeys))
+       c.Assert(err, NotNil)
+
+       for i := 0; i < 200; i++ {
+               channelName := fmt.Sprintf("%s-%03d", prefix, i)
+               err := s.bucket.DeleteLiveChannel(channelName)
+               c.Assert(err, IsNil)
+       }
+}
+
+// TestSignRtmpURL
+func (s *OssBucketLiveChannelSuite) TestSignRtmpURL(c *C) {
+       channelName := "test-sign-rtmp-url"
+       playlistName := "test-sign-rtmp-url.m3u8"
+
+       config := LiveChannelConfiguration{
+               Target: LiveChannelTarget{
+                       Type:         "HLS",
+                       PlaylistName: playlistName,
+               },
+       }
+
+       _, err := s.bucket.CreateLiveChannel(channelName, config)
+       c.Assert(err, IsNil)
+
+       expires := int64(3600)
+       signedRtmpURL, err := s.bucket.SignRtmpURL(channelName, playlistName, expires)
+       c.Assert(err, IsNil)
+       playURL := getPublishURL(s.bucket.BucketName, channelName)
+       hasPrefix := strings.HasPrefix(signedRtmpURL, playURL)
+       c.Assert(hasPrefix, Equals, true)
+
+       invalidExpires := int64(-1)
+       signedRtmpURL, err = s.bucket.SignRtmpURL(channelName, playlistName, invalidExpires)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.DeleteLiveChannel(channelName)
+       c.Assert(err, IsNil)
+}
+
+// private
+// getPlayURL Get the play url of the live channel
+func getPlayURL(bucketName, channelName, playlistName string) string {
+       host := ""
+       useHTTPS := false
+       if strings.Contains(endpoint, "https://") {
+               host = endpoint[8:]
+               useHTTPS = true
+       } else if strings.Contains(endpoint, "http://") {
+               host = endpoint[7:]
+       } else {
+               host = endpoint
+       }
+
+       if useHTTPS {
+               return fmt.Sprintf("https://%s.%s/%s/%s", bucketName, host, channelName, playlistName)
+       }
+       return fmt.Sprintf("http://%s.%s/%s/%s", bucketName, host, channelName, playlistName)
+}
+
+// getPublistURL Get the push url of the live stream channel
+func getPublishURL(bucketName, channelName string) string {
+       host := ""
+       if strings.Contains(endpoint, "https://") {
+               host = endpoint[8:]
+       } else if strings.Contains(endpoint, "http://") {
+               host = endpoint[7:]
+       } else {
+               host = endpoint
+       }
+
+       return fmt.Sprintf("rtmp://%s.%s/live/%s", bucketName, host, channelName)
+}
+
+func compareListResult(result ListLiveChannelResult, prefix, marker, nextMarker string, maxKey int, isTruncated bool, count int) bool {
+       if result.Prefix != prefix || result.Marker != marker || result.NextMarker != nextMarker || result.MaxKeys != maxKey || result.IsTruncated != isTruncated || len(result.LiveChannel) != count {
+               return false
+       }
+
+       return true
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/mime.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/mime.go
new file mode 100644 (file)
index 0000000..64f4dcc
--- /dev/null
@@ -0,0 +1,572 @@
+package oss
+
+import (
+       "mime"
+       "path"
+       "strings"
+)
+
+var extToMimeType = map[string]string{
+       ".xlsx":          "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+       ".xltx":          "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
+       ".potx":          "application/vnd.openxmlformats-officedocument.presentationml.template",
+       ".ppsx":          "application/vnd.openxmlformats-officedocument.presentationml.slideshow",
+       ".pptx":          "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+       ".sldx":          "application/vnd.openxmlformats-officedocument.presentationml.slide",
+       ".docx":          "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+       ".dotx":          "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
+       ".xlam":          "application/vnd.ms-excel.addin.macroEnabled.12",
+       ".xlsb":          "application/vnd.ms-excel.sheet.binary.macroEnabled.12",
+       ".apk":           "application/vnd.android.package-archive",
+       ".hqx":           "application/mac-binhex40",
+       ".cpt":           "application/mac-compactpro",
+       ".doc":           "application/msword",
+       ".ogg":           "application/ogg",
+       ".pdf":           "application/pdf",
+       ".rtf":           "text/rtf",
+       ".mif":           "application/vnd.mif",
+       ".xls":           "application/vnd.ms-excel",
+       ".ppt":           "application/vnd.ms-powerpoint",
+       ".odc":           "application/vnd.oasis.opendocument.chart",
+       ".odb":           "application/vnd.oasis.opendocument.database",
+       ".odf":           "application/vnd.oasis.opendocument.formula",
+       ".odg":           "application/vnd.oasis.opendocument.graphics",
+       ".otg":           "application/vnd.oasis.opendocument.graphics-template",
+       ".odi":           "application/vnd.oasis.opendocument.image",
+       ".odp":           "application/vnd.oasis.opendocument.presentation",
+       ".otp":           "application/vnd.oasis.opendocument.presentation-template",
+       ".ods":           "application/vnd.oasis.opendocument.spreadsheet",
+       ".ots":           "application/vnd.oasis.opendocument.spreadsheet-template",
+       ".odt":           "application/vnd.oasis.opendocument.text",
+       ".odm":           "application/vnd.oasis.opendocument.text-master",
+       ".ott":           "application/vnd.oasis.opendocument.text-template",
+       ".oth":           "application/vnd.oasis.opendocument.text-web",
+       ".sxw":           "application/vnd.sun.xml.writer",
+       ".stw":           "application/vnd.sun.xml.writer.template",
+       ".sxc":           "application/vnd.sun.xml.calc",
+       ".stc":           "application/vnd.sun.xml.calc.template",
+       ".sxd":           "application/vnd.sun.xml.draw",
+       ".std":           "application/vnd.sun.xml.draw.template",
+       ".sxi":           "application/vnd.sun.xml.impress",
+       ".sti":           "application/vnd.sun.xml.impress.template",
+       ".sxg":           "application/vnd.sun.xml.writer.global",
+       ".sxm":           "application/vnd.sun.xml.math",
+       ".sis":           "application/vnd.symbian.install",
+       ".wbxml":         "application/vnd.wap.wbxml",
+       ".wmlc":          "application/vnd.wap.wmlc",
+       ".wmlsc":         "application/vnd.wap.wmlscriptc",
+       ".bcpio":         "application/x-bcpio",
+       ".torrent":       "application/x-bittorrent",
+       ".bz2":           "application/x-bzip2",
+       ".vcd":           "application/x-cdlink",
+       ".pgn":           "application/x-chess-pgn",
+       ".cpio":          "application/x-cpio",
+       ".csh":           "application/x-csh",
+       ".dvi":           "application/x-dvi",
+       ".spl":           "application/x-futuresplash",
+       ".gtar":          "application/x-gtar",
+       ".hdf":           "application/x-hdf",
+       ".jar":           "application/x-java-archive",
+       ".jnlp":          "application/x-java-jnlp-file",
+       ".js":            "application/x-javascript",
+       ".ksp":           "application/x-kspread",
+       ".chrt":          "application/x-kchart",
+       ".kil":           "application/x-killustrator",
+       ".latex":         "application/x-latex",
+       ".rpm":           "application/x-rpm",
+       ".sh":            "application/x-sh",
+       ".shar":          "application/x-shar",
+       ".swf":           "application/x-shockwave-flash",
+       ".sit":           "application/x-stuffit",
+       ".sv4cpio":       "application/x-sv4cpio",
+       ".sv4crc":        "application/x-sv4crc",
+       ".tar":           "application/x-tar",
+       ".tcl":           "application/x-tcl",
+       ".tex":           "application/x-tex",
+       ".man":           "application/x-troff-man",
+       ".me":            "application/x-troff-me",
+       ".ms":            "application/x-troff-ms",
+       ".ustar":         "application/x-ustar",
+       ".src":           "application/x-wais-source",
+       ".zip":           "application/zip",
+       ".m3u":           "audio/x-mpegurl",
+       ".ra":            "audio/x-pn-realaudio",
+       ".wav":           "audio/x-wav",
+       ".wma":           "audio/x-ms-wma",
+       ".wax":           "audio/x-ms-wax",
+       ".pdb":           "chemical/x-pdb",
+       ".xyz":           "chemical/x-xyz",
+       ".bmp":           "image/bmp",
+       ".gif":           "image/gif",
+       ".ief":           "image/ief",
+       ".png":           "image/png",
+       ".wbmp":          "image/vnd.wap.wbmp",
+       ".ras":           "image/x-cmu-raster",
+       ".pnm":           "image/x-portable-anymap",
+       ".pbm":           "image/x-portable-bitmap",
+       ".pgm":           "image/x-portable-graymap",
+       ".ppm":           "image/x-portable-pixmap",
+       ".rgb":           "image/x-rgb",
+       ".xbm":           "image/x-xbitmap",
+       ".xpm":           "image/x-xpixmap",
+       ".xwd":           "image/x-xwindowdump",
+       ".css":           "text/css",
+       ".rtx":           "text/richtext",
+       ".tsv":           "text/tab-separated-values",
+       ".jad":           "text/vnd.sun.j2me.app-descriptor",
+       ".wml":           "text/vnd.wap.wml",
+       ".wmls":          "text/vnd.wap.wmlscript",
+       ".etx":           "text/x-setext",
+       ".mxu":           "video/vnd.mpegurl",
+       ".flv":           "video/x-flv",
+       ".wm":            "video/x-ms-wm",
+       ".wmv":           "video/x-ms-wmv",
+       ".wmx":           "video/x-ms-wmx",
+       ".wvx":           "video/x-ms-wvx",
+       ".avi":           "video/x-msvideo",
+       ".movie":         "video/x-sgi-movie",
+       ".ice":           "x-conference/x-cooltalk",
+       ".3gp":           "video/3gpp",
+       ".ai":            "application/postscript",
+       ".aif":           "audio/x-aiff",
+       ".aifc":          "audio/x-aiff",
+       ".aiff":          "audio/x-aiff",
+       ".asc":           "text/plain",
+       ".atom":          "application/atom+xml",
+       ".au":            "audio/basic",
+       ".bin":           "application/octet-stream",
+       ".cdf":           "application/x-netcdf",
+       ".cgm":           "image/cgm",
+       ".class":         "application/octet-stream",
+       ".dcr":           "application/x-director",
+       ".dif":           "video/x-dv",
+       ".dir":           "application/x-director",
+       ".djv":           "image/vnd.djvu",
+       ".djvu":          "image/vnd.djvu",
+       ".dll":           "application/octet-stream",
+       ".dmg":           "application/octet-stream",
+       ".dms":           "application/octet-stream",
+       ".dtd":           "application/xml-dtd",
+       ".dv":            "video/x-dv",
+       ".dxr":           "application/x-director",
+       ".eps":           "application/postscript",
+       ".exe":           "application/octet-stream",
+       ".ez":            "application/andrew-inset",
+       ".gram":          "application/srgs",
+       ".grxml":         "application/srgs+xml",
+       ".gz":            "application/x-gzip",
+       ".htm":           "text/html",
+       ".html":          "text/html",
+       ".ico":           "image/x-icon",
+       ".ics":           "text/calendar",
+       ".ifb":           "text/calendar",
+       ".iges":          "model/iges",
+       ".igs":           "model/iges",
+       ".jp2":           "image/jp2",
+       ".jpe":           "image/jpeg",
+       ".jpeg":          "image/jpeg",
+       ".jpg":           "image/jpeg",
+       ".kar":           "audio/midi",
+       ".lha":           "application/octet-stream",
+       ".lzh":           "application/octet-stream",
+       ".m4a":           "audio/mp4a-latm",
+       ".m4p":           "audio/mp4a-latm",
+       ".m4u":           "video/vnd.mpegurl",
+       ".m4v":           "video/x-m4v",
+       ".mac":           "image/x-macpaint",
+       ".mathml":        "application/mathml+xml",
+       ".mesh":          "model/mesh",
+       ".mid":           "audio/midi",
+       ".midi":          "audio/midi",
+       ".mov":           "video/quicktime",
+       ".mp2":           "audio/mpeg",
+       ".mp3":           "audio/mpeg",
+       ".mp4":           "video/mp4",
+       ".mpe":           "video/mpeg",
+       ".mpeg":          "video/mpeg",
+       ".mpg":           "video/mpeg",
+       ".mpga":          "audio/mpeg",
+       ".msh":           "model/mesh",
+       ".nc":            "application/x-netcdf",
+       ".oda":           "application/oda",
+       ".ogv":           "video/ogv",
+       ".pct":           "image/pict",
+       ".pic":           "image/pict",
+       ".pict":          "image/pict",
+       ".pnt":           "image/x-macpaint",
+       ".pntg":          "image/x-macpaint",
+       ".ps":            "application/postscript",
+       ".qt":            "video/quicktime",
+       ".qti":           "image/x-quicktime",
+       ".qtif":          "image/x-quicktime",
+       ".ram":           "audio/x-pn-realaudio",
+       ".rdf":           "application/rdf+xml",
+       ".rm":            "application/vnd.rn-realmedia",
+       ".roff":          "application/x-troff",
+       ".sgm":           "text/sgml",
+       ".sgml":          "text/sgml",
+       ".silo":          "model/mesh",
+       ".skd":           "application/x-koan",
+       ".skm":           "application/x-koan",
+       ".skp":           "application/x-koan",
+       ".skt":           "application/x-koan",
+       ".smi":           "application/smil",
+       ".smil":          "application/smil",
+       ".snd":           "audio/basic",
+       ".so":            "application/octet-stream",
+       ".svg":           "image/svg+xml",
+       ".t":             "application/x-troff",
+       ".texi":          "application/x-texinfo",
+       ".texinfo":       "application/x-texinfo",
+       ".tif":           "image/tiff",
+       ".tiff":          "image/tiff",
+       ".tr":            "application/x-troff",
+       ".txt":           "text/plain",
+       ".vrml":          "model/vrml",
+       ".vxml":          "application/voicexml+xml",
+       ".webm":          "video/webm",
+       ".wrl":           "model/vrml",
+       ".xht":           "application/xhtml+xml",
+       ".xhtml":         "application/xhtml+xml",
+       ".xml":           "application/xml",
+       ".xsl":           "application/xml",
+       ".xslt":          "application/xslt+xml",
+       ".xul":           "application/vnd.mozilla.xul+xml",
+       ".webp":          "image/webp",
+       ".323":           "text/h323",
+       ".aab":           "application/x-authoware-bin",
+       ".aam":           "application/x-authoware-map",
+       ".aas":           "application/x-authoware-seg",
+       ".acx":           "application/internet-property-stream",
+       ".als":           "audio/X-Alpha5",
+       ".amc":           "application/x-mpeg",
+       ".ani":           "application/octet-stream",
+       ".asd":           "application/astound",
+       ".asf":           "video/x-ms-asf",
+       ".asn":           "application/astound",
+       ".asp":           "application/x-asap",
+       ".asr":           "video/x-ms-asf",
+       ".asx":           "video/x-ms-asf",
+       ".avb":           "application/octet-stream",
+       ".awb":           "audio/amr-wb",
+       ".axs":           "application/olescript",
+       ".bas":           "text/plain",
+       ".bin ":          "application/octet-stream",
+       ".bld":           "application/bld",
+       ".bld2":          "application/bld2",
+       ".bpk":           "application/octet-stream",
+       ".c":             "text/plain",
+       ".cal":           "image/x-cals",
+       ".cat":           "application/vnd.ms-pkiseccat",
+       ".ccn":           "application/x-cnc",
+       ".cco":           "application/x-cocoa",
+       ".cer":           "application/x-x509-ca-cert",
+       ".cgi":           "magnus-internal/cgi",
+       ".chat":          "application/x-chat",
+       ".clp":           "application/x-msclip",
+       ".cmx":           "image/x-cmx",
+       ".co":            "application/x-cult3d-object",
+       ".cod":           "image/cis-cod",
+       ".conf":          "text/plain",
+       ".cpp":           "text/plain",
+       ".crd":           "application/x-mscardfile",
+       ".crl":           "application/pkix-crl",
+       ".crt":           "application/x-x509-ca-cert",
+       ".csm":           "chemical/x-csml",
+       ".csml":          "chemical/x-csml",
+       ".cur":           "application/octet-stream",
+       ".dcm":           "x-lml/x-evm",
+       ".dcx":           "image/x-dcx",
+       ".der":           "application/x-x509-ca-cert",
+       ".dhtml":         "text/html",
+       ".dot":           "application/msword",
+       ".dwf":           "drawing/x-dwf",
+       ".dwg":           "application/x-autocad",
+       ".dxf":           "application/x-autocad",
+       ".ebk":           "application/x-expandedbook",
+       ".emb":           "chemical/x-embl-dl-nucleotide",
+       ".embl":          "chemical/x-embl-dl-nucleotide",
+       ".epub":          "application/epub+zip",
+       ".eri":           "image/x-eri",
+       ".es":            "audio/echospeech",
+       ".esl":           "audio/echospeech",
+       ".etc":           "application/x-earthtime",
+       ".evm":           "x-lml/x-evm",
+       ".evy":           "application/envoy",
+       ".fh4":           "image/x-freehand",
+       ".fh5":           "image/x-freehand",
+       ".fhc":           "image/x-freehand",
+       ".fif":           "application/fractals",
+       ".flr":           "x-world/x-vrml",
+       ".fm":            "application/x-maker",
+       ".fpx":           "image/x-fpx",
+       ".fvi":           "video/isivideo",
+       ".gau":           "chemical/x-gaussian-input",
+       ".gca":           "application/x-gca-compressed",
+       ".gdb":           "x-lml/x-gdb",
+       ".gps":           "application/x-gps",
+       ".h":             "text/plain",
+       ".hdm":           "text/x-hdml",
+       ".hdml":          "text/x-hdml",
+       ".hlp":           "application/winhlp",
+       ".hta":           "application/hta",
+       ".htc":           "text/x-component",
+       ".hts":           "text/html",
+       ".htt":           "text/webviewhtml",
+       ".ifm":           "image/gif",
+       ".ifs":           "image/ifs",
+       ".iii":           "application/x-iphone",
+       ".imy":           "audio/melody",
+       ".ins":           "application/x-internet-signup",
+       ".ips":           "application/x-ipscript",
+       ".ipx":           "application/x-ipix",
+       ".isp":           "application/x-internet-signup",
+       ".it":            "audio/x-mod",
+       ".itz":           "audio/x-mod",
+       ".ivr":           "i-world/i-vrml",
+       ".j2k":           "image/j2k",
+       ".jam":           "application/x-jam",
+       ".java":          "text/plain",
+       ".jfif":          "image/pipeg",
+       ".jpz":           "image/jpeg",
+       ".jwc":           "application/jwc",
+       ".kjx":           "application/x-kjx",
+       ".lak":           "x-lml/x-lak",
+       ".lcc":           "application/fastman",
+       ".lcl":           "application/x-digitalloca",
+       ".lcr":           "application/x-digitalloca",
+       ".lgh":           "application/lgh",
+       ".lml":           "x-lml/x-lml",
+       ".lmlpack":       "x-lml/x-lmlpack",
+       ".log":           "text/plain",
+       ".lsf":           "video/x-la-asf",
+       ".lsx":           "video/x-la-asf",
+       ".m13":           "application/x-msmediaview",
+       ".m14":           "application/x-msmediaview",
+       ".m15":           "audio/x-mod",
+       ".m3url":         "audio/x-mpegurl",
+       ".m4b":           "audio/mp4a-latm",
+       ".ma1":           "audio/ma1",
+       ".ma2":           "audio/ma2",
+       ".ma3":           "audio/ma3",
+       ".ma5":           "audio/ma5",
+       ".map":           "magnus-internal/imagemap",
+       ".mbd":           "application/mbedlet",
+       ".mct":           "application/x-mascot",
+       ".mdb":           "application/x-msaccess",
+       ".mdz":           "audio/x-mod",
+       ".mel":           "text/x-vmel",
+       ".mht":           "message/rfc822",
+       ".mhtml":         "message/rfc822",
+       ".mi":            "application/x-mif",
+       ".mil":           "image/x-cals",
+       ".mio":           "audio/x-mio",
+       ".mmf":           "application/x-skt-lbs",
+       ".mng":           "video/x-mng",
+       ".mny":           "application/x-msmoney",
+       ".moc":           "application/x-mocha",
+       ".mocha":         "application/x-mocha",
+       ".mod":           "audio/x-mod",
+       ".mof":           "application/x-yumekara",
+       ".mol":           "chemical/x-mdl-molfile",
+       ".mop":           "chemical/x-mopac-input",
+       ".mpa":           "video/mpeg",
+       ".mpc":           "application/vnd.mpohun.certificate",
+       ".mpg4":          "video/mp4",
+       ".mpn":           "application/vnd.mophun.application",
+       ".mpp":           "application/vnd.ms-project",
+       ".mps":           "application/x-mapserver",
+       ".mpv2":          "video/mpeg",
+       ".mrl":           "text/x-mrml",
+       ".mrm":           "application/x-mrm",
+       ".msg":           "application/vnd.ms-outlook",
+       ".mts":           "application/metastream",
+       ".mtx":           "application/metastream",
+       ".mtz":           "application/metastream",
+       ".mvb":           "application/x-msmediaview",
+       ".mzv":           "application/metastream",
+       ".nar":           "application/zip",
+       ".nbmp":          "image/nbmp",
+       ".ndb":           "x-lml/x-ndb",
+       ".ndwn":          "application/ndwn",
+       ".nif":           "application/x-nif",
+       ".nmz":           "application/x-scream",
+       ".nokia-op-logo": "image/vnd.nok-oplogo-color",
+       ".npx":           "application/x-netfpx",
+       ".nsnd":          "audio/nsnd",
+       ".nva":           "application/x-neva1",
+       ".nws":           "message/rfc822",
+       ".oom":           "application/x-AtlasMate-Plugin",
+       ".p10":           "application/pkcs10",
+       ".p12":           "application/x-pkcs12",
+       ".p7b":           "application/x-pkcs7-certificates",
+       ".p7c":           "application/x-pkcs7-mime",
+       ".p7m":           "application/x-pkcs7-mime",
+       ".p7r":           "application/x-pkcs7-certreqresp",
+       ".p7s":           "application/x-pkcs7-signature",
+       ".pac":           "audio/x-pac",
+       ".pae":           "audio/x-epac",
+       ".pan":           "application/x-pan",
+       ".pcx":           "image/x-pcx",
+       ".pda":           "image/x-pda",
+       ".pfr":           "application/font-tdpfr",
+       ".pfx":           "application/x-pkcs12",
+       ".pko":           "application/ynd.ms-pkipko",
+       ".pm":            "application/x-perl",
+       ".pma":           "application/x-perfmon",
+       ".pmc":           "application/x-perfmon",
+       ".pmd":           "application/x-pmd",
+       ".pml":           "application/x-perfmon",
+       ".pmr":           "application/x-perfmon",
+       ".pmw":           "application/x-perfmon",
+       ".pnz":           "image/png",
+       ".pot,":          "application/vnd.ms-powerpoint",
+       ".pps":           "application/vnd.ms-powerpoint",
+       ".pqf":           "application/x-cprplayer",
+       ".pqi":           "application/cprplayer",
+       ".prc":           "application/x-prc",
+       ".prf":           "application/pics-rules",
+       ".prop":          "text/plain",
+       ".proxy":         "application/x-ns-proxy-autoconfig",
+       ".ptlk":          "application/listenup",
+       ".pub":           "application/x-mspublisher",
+       ".pvx":           "video/x-pv-pvx",
+       ".qcp":           "audio/vnd.qcelp",
+       ".r3t":           "text/vnd.rn-realtext3d",
+       ".rar":           "application/octet-stream",
+       ".rc":            "text/plain",
+       ".rf":            "image/vnd.rn-realflash",
+       ".rlf":           "application/x-richlink",
+       ".rmf":           "audio/x-rmf",
+       ".rmi":           "audio/mid",
+       ".rmm":           "audio/x-pn-realaudio",
+       ".rmvb":          "audio/x-pn-realaudio",
+       ".rnx":           "application/vnd.rn-realplayer",
+       ".rp":            "image/vnd.rn-realpix",
+       ".rt":            "text/vnd.rn-realtext",
+       ".rte":           "x-lml/x-gps",
+       ".rtg":           "application/metastream",
+       ".rv":            "video/vnd.rn-realvideo",
+       ".rwc":           "application/x-rogerwilco",
+       ".s3m":           "audio/x-mod",
+       ".s3z":           "audio/x-mod",
+       ".sca":           "application/x-supercard",
+       ".scd":           "application/x-msschedule",
+       ".sct":           "text/scriptlet",
+       ".sdf":           "application/e-score",
+       ".sea":           "application/x-stuffit",
+       ".setpay":        "application/set-payment-initiation",
+       ".setreg":        "application/set-registration-initiation",
+       ".shtml":         "text/html",
+       ".shtm":          "text/html",
+       ".shw":           "application/presentations",
+       ".si6":           "image/si6",
+       ".si7":           "image/vnd.stiwap.sis",
+       ".si9":           "image/vnd.lgtwap.sis",
+       ".slc":           "application/x-salsa",
+       ".smd":           "audio/x-smd",
+       ".smp":           "application/studiom",
+       ".smz":           "audio/x-smd",
+       ".spc":           "application/x-pkcs7-certificates",
+       ".spr":           "application/x-sprite",
+       ".sprite":        "application/x-sprite",
+       ".sdp":           "application/sdp",
+       ".spt":           "application/x-spt",
+       ".sst":           "application/vnd.ms-pkicertstore",
+       ".stk":           "application/hyperstudio",
+       ".stl":           "application/vnd.ms-pkistl",
+       ".stm":           "text/html",
+       ".svf":           "image/vnd",
+       ".svh":           "image/svh",
+       ".svr":           "x-world/x-svr",
+       ".swfl":          "application/x-shockwave-flash",
+       ".tad":           "application/octet-stream",
+       ".talk":          "text/x-speech",
+       ".taz":           "application/x-tar",
+       ".tbp":           "application/x-timbuktu",
+       ".tbt":           "application/x-timbuktu",
+       ".tgz":           "application/x-compressed",
+       ".thm":           "application/vnd.eri.thm",
+       ".tki":           "application/x-tkined",
+       ".tkined":        "application/x-tkined",
+       ".toc":           "application/toc",
+       ".toy":           "image/toy",
+       ".trk":           "x-lml/x-gps",
+       ".trm":           "application/x-msterminal",
+       ".tsi":           "audio/tsplayer",
+       ".tsp":           "application/dsptype",
+       ".ttf":           "application/octet-stream",
+       ".ttz":           "application/t-time",
+       ".uls":           "text/iuls",
+       ".ult":           "audio/x-mod",
+       ".uu":            "application/x-uuencode",
+       ".uue":           "application/x-uuencode",
+       ".vcf":           "text/x-vcard",
+       ".vdo":           "video/vdo",
+       ".vib":           "audio/vib",
+       ".viv":           "video/vivo",
+       ".vivo":          "video/vivo",
+       ".vmd":           "application/vocaltec-media-desc",
+       ".vmf":           "application/vocaltec-media-file",
+       ".vmi":           "application/x-dreamcast-vms-info",
+       ".vms":           "application/x-dreamcast-vms",
+       ".vox":           "audio/voxware",
+       ".vqe":           "audio/x-twinvq-plugin",
+       ".vqf":           "audio/x-twinvq",
+       ".vql":           "audio/x-twinvq",
+       ".vre":           "x-world/x-vream",
+       ".vrt":           "x-world/x-vrt",
+       ".vrw":           "x-world/x-vream",
+       ".vts":           "workbook/formulaone",
+       ".wcm":           "application/vnd.ms-works",
+       ".wdb":           "application/vnd.ms-works",
+       ".web":           "application/vnd.xara",
+       ".wi":            "image/wavelet",
+       ".wis":           "application/x-InstallShield",
+       ".wks":           "application/vnd.ms-works",
+       ".wmd":           "application/x-ms-wmd",
+       ".wmf":           "application/x-msmetafile",
+       ".wmlscript":     "text/vnd.wap.wmlscript",
+       ".wmz":           "application/x-ms-wmz",
+       ".wpng":          "image/x-up-wpng",
+       ".wps":           "application/vnd.ms-works",
+       ".wpt":           "x-lml/x-gps",
+       ".wri":           "application/x-mswrite",
+       ".wrz":           "x-world/x-vrml",
+       ".ws":            "text/vnd.wap.wmlscript",
+       ".wsc":           "application/vnd.wap.wmlscriptc",
+       ".wv":            "video/wavelet",
+       ".wxl":           "application/x-wxl",
+       ".x-gzip":        "application/x-gzip",
+       ".xaf":           "x-world/x-vrml",
+       ".xar":           "application/vnd.xara",
+       ".xdm":           "application/x-xdma",
+       ".xdma":          "application/x-xdma",
+       ".xdw":           "application/vnd.fujixerox.docuworks",
+       ".xhtm":          "application/xhtml+xml",
+       ".xla":           "application/vnd.ms-excel",
+       ".xlc":           "application/vnd.ms-excel",
+       ".xll":           "application/x-excel",
+       ".xlm":           "application/vnd.ms-excel",
+       ".xlt":           "application/vnd.ms-excel",
+       ".xlw":           "application/vnd.ms-excel",
+       ".xm":            "audio/x-mod",
+       ".xmz":           "audio/x-mod",
+       ".xof":           "x-world/x-vrml",
+       ".xpi":           "application/x-xpinstall",
+       ".xsit":          "text/xml",
+       ".yz1":           "application/x-yz1",
+       ".z":             "application/x-compress",
+       ".zac":           "application/x-zaurus-zac",
+       ".json":          "application/json",
+}
+
+// TypeByExtension returns the MIME type associated with the file extension ext.
+// gets the file's MIME type for HTTP header Content-Type
+func TypeByExtension(filePath string) string {
+       typ := mime.TypeByExtension(path.Ext(filePath))
+       if typ == "" {
+               typ = extToMimeType[strings.ToLower(path.Ext(filePath))]
+       }
+       return typ
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/model.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/model.go
new file mode 100644 (file)
index 0000000..b0b4a50
--- /dev/null
@@ -0,0 +1,69 @@
+package oss
+
+import (
+       "hash"
+       "io"
+       "net/http"
+)
+
+// Response defines HTTP response from OSS
+type Response struct {
+       StatusCode int
+       Headers    http.Header
+       Body       io.ReadCloser
+       ClientCRC  uint64
+       ServerCRC  uint64
+}
+
+func (r *Response) Read(p []byte) (n int, err error) {
+       return r.Body.Read(p)
+}
+
+// Close close http reponse body
+func (r *Response) Close() error {
+       return r.Body.Close()
+}
+
+// PutObjectRequest is the request of DoPutObject
+type PutObjectRequest struct {
+       ObjectKey string
+       Reader    io.Reader
+}
+
+// GetObjectRequest is the request of DoGetObject
+type GetObjectRequest struct {
+       ObjectKey string
+}
+
+// GetObjectResult is the result of DoGetObject
+type GetObjectResult struct {
+       Response  *Response
+       ClientCRC hash.Hash64
+       ServerCRC uint64
+}
+
+// AppendObjectRequest is the requtest of DoAppendObject
+type AppendObjectRequest struct {
+       ObjectKey string
+       Reader    io.Reader
+       Position  int64
+}
+
+// AppendObjectResult is the result of DoAppendObject
+type AppendObjectResult struct {
+       NextPosition int64
+       CRC          uint64
+}
+
+// UploadPartRequest is the request of DoUploadPart
+type UploadPartRequest struct {
+       InitResult *InitiateMultipartUploadResult
+       Reader     io.Reader
+       PartSize   int64
+       PartNumber int
+}
+
+// UploadPartResult is the result of DoUploadPart
+type UploadPartResult struct {
+       Part UploadPart
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multicopy.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multicopy.go
new file mode 100644 (file)
index 0000000..56ed8ca
--- /dev/null
@@ -0,0 +1,474 @@
+package oss
+
+import (
+       "crypto/md5"
+       "encoding/base64"
+       "encoding/json"
+       "errors"
+       "fmt"
+       "io/ioutil"
+       "net/http"
+       "os"
+       "strconv"
+)
+
+// CopyFile is multipart copy object
+//
+// srcBucketName    source bucket name
+// srcObjectKey    source object name
+// destObjectKey    target object name in the form of bucketname.objectkey
+// partSize    the part size in byte.
+// options    object's contraints. Check out function InitiateMultipartUpload.
+//
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) CopyFile(srcBucketName, srcObjectKey, destObjectKey string, partSize int64, options ...Option) error {
+       destBucketName := bucket.BucketName
+       if partSize < MinPartSize || partSize > MaxPartSize {
+               return errors.New("oss: part size invalid range (1024KB, 5GB]")
+       }
+
+       cpConf := getCpConfig(options)
+       routines := getRoutines(options)
+
+       var strVersionId string
+       versionId, _ := FindOption(options, "versionId", nil)
+       if versionId != nil {
+               strVersionId = versionId.(string)
+       }
+
+       if cpConf != nil && cpConf.IsEnable {
+               cpFilePath := getCopyCpFilePath(cpConf, srcBucketName, srcObjectKey, destBucketName, destObjectKey, strVersionId)
+               if cpFilePath != "" {
+                       return bucket.copyFileWithCp(srcBucketName, srcObjectKey, destBucketName, destObjectKey, partSize, options, cpFilePath, routines)
+               }
+       }
+
+       return bucket.copyFile(srcBucketName, srcObjectKey, destBucketName, destObjectKey,
+               partSize, options, routines)
+}
+
+func getCopyCpFilePath(cpConf *cpConfig, srcBucket, srcObject, destBucket, destObject, versionId string) string {
+       if cpConf.FilePath == "" && cpConf.DirPath != "" {
+               dest := fmt.Sprintf("oss://%v/%v", destBucket, destObject)
+               src := fmt.Sprintf("oss://%v/%v", srcBucket, srcObject)
+               cpFileName := getCpFileName(src, dest, versionId)
+               cpConf.FilePath = cpConf.DirPath + string(os.PathSeparator) + cpFileName
+       }
+       return cpConf.FilePath
+}
+
+// ----- Concurrently copy without checkpoint ---------
+
+// copyWorkerArg defines the copy worker arguments
+type copyWorkerArg struct {
+       bucket        *Bucket
+       imur          InitiateMultipartUploadResult
+       srcBucketName string
+       srcObjectKey  string
+       options       []Option
+       hook          copyPartHook
+}
+
+// copyPartHook is the hook for testing purpose
+type copyPartHook func(part copyPart) error
+
+var copyPartHooker copyPartHook = defaultCopyPartHook
+
+func defaultCopyPartHook(part copyPart) error {
+       return nil
+}
+
+// copyWorker copies worker
+func copyWorker(id int, arg copyWorkerArg, jobs <-chan copyPart, results chan<- UploadPart, failed chan<- error, die <-chan bool) {
+       for chunk := range jobs {
+               if err := arg.hook(chunk); err != nil {
+                       failed <- err
+                       break
+               }
+               chunkSize := chunk.End - chunk.Start + 1
+               part, err := arg.bucket.UploadPartCopy(arg.imur, arg.srcBucketName, arg.srcObjectKey,
+                       chunk.Start, chunkSize, chunk.Number, arg.options...)
+               if err != nil {
+                       failed <- err
+                       break
+               }
+               select {
+               case <-die:
+                       return
+               default:
+               }
+               results <- part
+       }
+}
+
+// copyScheduler
+func copyScheduler(jobs chan copyPart, parts []copyPart) {
+       for _, part := range parts {
+               jobs <- part
+       }
+       close(jobs)
+}
+
+// copyPart structure
+type copyPart struct {
+       Number int   // Part number (from 1 to 10,000)
+       Start  int64 // The start index in the source file.
+       End    int64 // The end index in the source file
+}
+
+// getCopyParts calculates copy parts
+func getCopyParts(objectSize, partSize int64) []copyPart {
+       parts := []copyPart{}
+       part := copyPart{}
+       i := 0
+       for offset := int64(0); offset < objectSize; offset += partSize {
+               part.Number = i + 1
+               part.Start = offset
+               part.End = GetPartEnd(offset, objectSize, partSize)
+               parts = append(parts, part)
+               i++
+       }
+       return parts
+}
+
+// getSrcObjectBytes gets the source file size
+func getSrcObjectBytes(parts []copyPart) int64 {
+       var ob int64
+       for _, part := range parts {
+               ob += (part.End - part.Start + 1)
+       }
+       return ob
+}
+
+// copyFile is a concurrently copy without checkpoint
+func (bucket Bucket) copyFile(srcBucketName, srcObjectKey, destBucketName, destObjectKey string,
+       partSize int64, options []Option, routines int) error {
+       descBucket, err := bucket.Client.Bucket(destBucketName)
+       srcBucket, err := bucket.Client.Bucket(srcBucketName)
+       listener := GetProgressListener(options)
+
+       // choice valid options
+       headerOptions := ChoiceHeadObjectOption(options)
+       partOptions := ChoiceTransferPartOption(options)
+       completeOptions := ChoiceCompletePartOption(options)
+       abortOptions := ChoiceAbortPartOption(options)
+
+       meta, err := srcBucket.GetObjectDetailedMeta(srcObjectKey, headerOptions...)
+       if err != nil {
+               return err
+       }
+
+       objectSize, err := strconv.ParseInt(meta.Get(HTTPHeaderContentLength), 10, 0)
+       if err != nil {
+               return err
+       }
+
+       // Get copy parts
+       parts := getCopyParts(objectSize, partSize)
+       // Initialize the multipart upload
+       imur, err := descBucket.InitiateMultipartUpload(destObjectKey, options...)
+       if err != nil {
+               return err
+       }
+
+       jobs := make(chan copyPart, len(parts))
+       results := make(chan UploadPart, len(parts))
+       failed := make(chan error)
+       die := make(chan bool)
+
+       var completedBytes int64
+       totalBytes := getSrcObjectBytes(parts)
+       event := newProgressEvent(TransferStartedEvent, 0, totalBytes, 0)
+       publishProgress(listener, event)
+
+       // Start to copy workers
+       arg := copyWorkerArg{descBucket, imur, srcBucketName, srcObjectKey, partOptions, copyPartHooker}
+       for w := 1; w <= routines; w++ {
+               go copyWorker(w, arg, jobs, results, failed, die)
+       }
+
+       // Start the scheduler
+       go copyScheduler(jobs, parts)
+
+       // Wait for the parts finished.
+       completed := 0
+       ups := make([]UploadPart, len(parts))
+       for completed < len(parts) {
+               select {
+               case part := <-results:
+                       completed++
+                       ups[part.PartNumber-1] = part
+                       copyBytes := (parts[part.PartNumber-1].End - parts[part.PartNumber-1].Start + 1)
+                       completedBytes += copyBytes
+                       event = newProgressEvent(TransferDataEvent, completedBytes, totalBytes, copyBytes)
+                       publishProgress(listener, event)
+               case err := <-failed:
+                       close(die)
+                       descBucket.AbortMultipartUpload(imur, abortOptions...)
+                       event = newProgressEvent(TransferFailedEvent, completedBytes, totalBytes, 0)
+                       publishProgress(listener, event)
+                       return err
+               }
+
+               if completed >= len(parts) {
+                       break
+               }
+       }
+
+       event = newProgressEvent(TransferCompletedEvent, completedBytes, totalBytes, 0)
+       publishProgress(listener, event)
+
+       // Complete the multipart upload
+       _, err = descBucket.CompleteMultipartUpload(imur, ups, completeOptions...)
+       if err != nil {
+               bucket.AbortMultipartUpload(imur, abortOptions...)
+               return err
+       }
+       return nil
+}
+
+// ----- Concurrently copy with checkpoint  -----
+
+const copyCpMagic = "84F1F18C-FF1D-403B-A1D8-9DEB5F65910A"
+
+type copyCheckpoint struct {
+       Magic          string       // Magic
+       MD5            string       // CP content MD5
+       SrcBucketName  string       // Source bucket
+       SrcObjectKey   string       // Source object
+       DestBucketName string       // Target bucket
+       DestObjectKey  string       // Target object
+       CopyID         string       // Copy ID
+       ObjStat        objectStat   // Object stat
+       Parts          []copyPart   // Copy parts
+       CopyParts      []UploadPart // The uploaded parts
+       PartStat       []bool       // The part status
+}
+
+// isValid checks if the data is valid which means CP is valid and object is not updated.
+func (cp copyCheckpoint) isValid(meta http.Header) (bool, error) {
+       // Compare CP's magic number and the MD5.
+       cpb := cp
+       cpb.MD5 = ""
+       js, _ := json.Marshal(cpb)
+       sum := md5.Sum(js)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+
+       if cp.Magic != downloadCpMagic || b64 != cp.MD5 {
+               return false, nil
+       }
+
+       objectSize, err := strconv.ParseInt(meta.Get(HTTPHeaderContentLength), 10, 64)
+       if err != nil {
+               return false, err
+       }
+
+       // Compare the object size and last modified time and etag.
+       if cp.ObjStat.Size != objectSize ||
+               cp.ObjStat.LastModified != meta.Get(HTTPHeaderLastModified) ||
+               cp.ObjStat.Etag != meta.Get(HTTPHeaderEtag) {
+               return false, nil
+       }
+
+       return true, nil
+}
+
+// load loads from the checkpoint file
+func (cp *copyCheckpoint) load(filePath string) error {
+       contents, err := ioutil.ReadFile(filePath)
+       if err != nil {
+               return err
+       }
+
+       err = json.Unmarshal(contents, cp)
+       return err
+}
+
+// update updates the parts status
+func (cp *copyCheckpoint) update(part UploadPart) {
+       cp.CopyParts[part.PartNumber-1] = part
+       cp.PartStat[part.PartNumber-1] = true
+}
+
+// dump dumps the CP to the file
+func (cp *copyCheckpoint) dump(filePath string) error {
+       bcp := *cp
+
+       // Calculate MD5
+       bcp.MD5 = ""
+       js, err := json.Marshal(bcp)
+       if err != nil {
+               return err
+       }
+       sum := md5.Sum(js)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+       bcp.MD5 = b64
+
+       // Serialization
+       js, err = json.Marshal(bcp)
+       if err != nil {
+               return err
+       }
+
+       // Dump
+       return ioutil.WriteFile(filePath, js, FilePermMode)
+}
+
+// todoParts returns unfinished parts
+func (cp copyCheckpoint) todoParts() []copyPart {
+       dps := []copyPart{}
+       for i, ps := range cp.PartStat {
+               if !ps {
+                       dps = append(dps, cp.Parts[i])
+               }
+       }
+       return dps
+}
+
+// getCompletedBytes returns finished bytes count
+func (cp copyCheckpoint) getCompletedBytes() int64 {
+       var completedBytes int64
+       for i, part := range cp.Parts {
+               if cp.PartStat[i] {
+                       completedBytes += (part.End - part.Start + 1)
+               }
+       }
+       return completedBytes
+}
+
+// prepare initializes the multipart upload
+func (cp *copyCheckpoint) prepare(meta http.Header, srcBucket *Bucket, srcObjectKey string, destBucket *Bucket, destObjectKey string,
+       partSize int64, options []Option) error {
+       // CP
+       cp.Magic = copyCpMagic
+       cp.SrcBucketName = srcBucket.BucketName
+       cp.SrcObjectKey = srcObjectKey
+       cp.DestBucketName = destBucket.BucketName
+       cp.DestObjectKey = destObjectKey
+
+       objectSize, err := strconv.ParseInt(meta.Get(HTTPHeaderContentLength), 10, 64)
+       if err != nil {
+               return err
+       }
+
+       cp.ObjStat.Size = objectSize
+       cp.ObjStat.LastModified = meta.Get(HTTPHeaderLastModified)
+       cp.ObjStat.Etag = meta.Get(HTTPHeaderEtag)
+
+       // Parts
+       cp.Parts = getCopyParts(objectSize, partSize)
+       cp.PartStat = make([]bool, len(cp.Parts))
+       for i := range cp.PartStat {
+               cp.PartStat[i] = false
+       }
+       cp.CopyParts = make([]UploadPart, len(cp.Parts))
+
+       // Init copy
+       imur, err := destBucket.InitiateMultipartUpload(destObjectKey, options...)
+       if err != nil {
+               return err
+       }
+       cp.CopyID = imur.UploadID
+
+       return nil
+}
+
+func (cp *copyCheckpoint) complete(bucket *Bucket, parts []UploadPart, cpFilePath string, options []Option) error {
+       imur := InitiateMultipartUploadResult{Bucket: cp.DestBucketName,
+               Key: cp.DestObjectKey, UploadID: cp.CopyID}
+       _, err := bucket.CompleteMultipartUpload(imur, parts, options...)
+       if err != nil {
+               return err
+       }
+       os.Remove(cpFilePath)
+       return err
+}
+
+// copyFileWithCp is concurrently copy with checkpoint
+func (bucket Bucket) copyFileWithCp(srcBucketName, srcObjectKey, destBucketName, destObjectKey string,
+       partSize int64, options []Option, cpFilePath string, routines int) error {
+       descBucket, err := bucket.Client.Bucket(destBucketName)
+       srcBucket, err := bucket.Client.Bucket(srcBucketName)
+       listener := GetProgressListener(options)
+
+       // Load CP data
+       ccp := copyCheckpoint{}
+       err = ccp.load(cpFilePath)
+       if err != nil {
+               os.Remove(cpFilePath)
+       }
+
+       // choice valid options
+       headerOptions := ChoiceHeadObjectOption(options)
+       partOptions := ChoiceTransferPartOption(options)
+       completeOptions := ChoiceCompletePartOption(options)
+
+       meta, err := srcBucket.GetObjectDetailedMeta(srcObjectKey, headerOptions...)
+       if err != nil {
+               return err
+       }
+
+       // Load error or the CP data is invalid---reinitialize
+       valid, err := ccp.isValid(meta)
+       if err != nil || !valid {
+               if err = ccp.prepare(meta, srcBucket, srcObjectKey, descBucket, destObjectKey, partSize, options); err != nil {
+                       return err
+               }
+               os.Remove(cpFilePath)
+       }
+
+       // Unfinished parts
+       parts := ccp.todoParts()
+       imur := InitiateMultipartUploadResult{
+               Bucket:   destBucketName,
+               Key:      destObjectKey,
+               UploadID: ccp.CopyID}
+
+       jobs := make(chan copyPart, len(parts))
+       results := make(chan UploadPart, len(parts))
+       failed := make(chan error)
+       die := make(chan bool)
+
+       completedBytes := ccp.getCompletedBytes()
+       event := newProgressEvent(TransferStartedEvent, completedBytes, ccp.ObjStat.Size, 0)
+       publishProgress(listener, event)
+
+       // Start the worker coroutines
+       arg := copyWorkerArg{descBucket, imur, srcBucketName, srcObjectKey, partOptions, copyPartHooker}
+       for w := 1; w <= routines; w++ {
+               go copyWorker(w, arg, jobs, results, failed, die)
+       }
+
+       // Start the scheduler
+       go copyScheduler(jobs, parts)
+
+       // Wait for the parts completed.
+       completed := 0
+       for completed < len(parts) {
+               select {
+               case part := <-results:
+                       completed++
+                       ccp.update(part)
+                       ccp.dump(cpFilePath)
+                       copyBytes := (parts[part.PartNumber-1].End - parts[part.PartNumber-1].Start + 1)
+                       completedBytes += copyBytes
+                       event = newProgressEvent(TransferDataEvent, completedBytes, ccp.ObjStat.Size, copyBytes)
+                       publishProgress(listener, event)
+               case err := <-failed:
+                       close(die)
+                       event = newProgressEvent(TransferFailedEvent, completedBytes, ccp.ObjStat.Size, 0)
+                       publishProgress(listener, event)
+                       return err
+               }
+
+               if completed >= len(parts) {
+                       break
+               }
+       }
+
+       event = newProgressEvent(TransferCompletedEvent, completedBytes, ccp.ObjStat.Size, 0)
+       publishProgress(listener, event)
+
+       return ccp.complete(descBucket, ccp.CopyParts, cpFilePath, completeOptions)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multicopy_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multicopy_test.go
new file mode 100644 (file)
index 0000000..4742a9b
--- /dev/null
@@ -0,0 +1,669 @@
+package oss
+
+import (
+       "fmt"
+       "net/http"
+       "os"
+       "strings"
+       "time"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssCopySuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssCopySuite{})
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssCopySuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test copy started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssCopySuite) TearDownSuite(c *C) {
+       // Delete Part
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: bucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err := s.client.DeleteBucket(s.bucket.BucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test copy completed")
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssCopySuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssCopySuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TestCopyRoutineWithoutRecovery is multi-routine copy without resumable recovery
+func (s *OssCopySuite) TestCopyRoutineWithoutRecovery(c *C) {
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := "copy-new-file.jpg"
+
+       // Upload source file
+       err := s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Does not specify parameter 'routines', by default it's single routine
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Specify one routine.
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(1))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Specify three routines, which is less than parts count 5
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Specify 5 routines which is the same as parts count
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(5))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Specify routine count 10, which is more than parts count
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(10))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Invalid routine count, will use single routine
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(-1))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Option
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(3), Meta("myprop", "mypropval"))
+
+       meta, err := s.bucket.GetObjectDetailedMeta(destObjectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       err = s.bucket.DeleteObject(srcObjectName)
+       c.Assert(err, IsNil)
+}
+
+// CopyErrorHooker is a copypart request hook
+func CopyErrorHooker(part copyPart) error {
+       if part.Number == 5 {
+               time.Sleep(time.Second)
+               return fmt.Errorf("ErrorHooker")
+       }
+       return nil
+}
+
+// TestCopyRoutineWithoutRecoveryNegative is a multiple routines copy without checkpoint
+func (s *OssCopySuite) TestCopyRoutineWithoutRecoveryNegative(c *C) {
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       // Upload source file
+       err := s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       copyPartHooker = CopyErrorHooker
+       // Worker routine errors
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(2))
+
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       copyPartHooker = defaultCopyPartHook
+
+       // Source bucket does not exist
+       err = s.bucket.CopyFile("notexist", srcObjectName, destObjectName, 100*1024, Routines(2))
+       c.Assert(err, NotNil)
+
+       // Target object does not exist
+       err = s.bucket.CopyFile(bucketName, "notexist", destObjectName, 100*1024, Routines(2))
+
+       // The part size is invalid
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024, Routines(2))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*1024*1024*100, Routines(2))
+       c.Assert(err, NotNil)
+
+       // Delete the source file
+       err = s.bucket.DeleteObject(srcObjectName)
+       c.Assert(err, IsNil)
+}
+
+// TestCopyRoutineWithRecovery is a multiple routines copy with resumable recovery
+func (s *OssCopySuite) TestCopyRoutineWithRecovery(c *C) {
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload source file
+       err := s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Routines default value, CP's default path is destObjectName+.cp
+       // Copy object with checkpoint enabled, single runtine.
+       // Copy 4 parts---the CopyErrorHooker makes sure the copy of part 5 will fail.
+       copyPartHooker = CopyErrorHooker
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       copyPartHooker = defaultCopyPartHook
+
+       // Check CP
+       ccp := copyCheckpoint{}
+       err = ccp.load(destObjectName + ".cp")
+       c.Assert(err, IsNil)
+       c.Assert(ccp.Magic, Equals, copyCpMagic)
+       c.Assert(len(ccp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
+       c.Assert(ccp.SrcBucketName, Equals, bucketName)
+       c.Assert(ccp.SrcObjectKey, Equals, srcObjectName)
+       c.Assert(ccp.DestBucketName, Equals, bucketName)
+       c.Assert(ccp.DestObjectKey, Equals, destObjectName)
+       c.Assert(len(ccp.CopyID), Equals, len("3F79722737D1469980DACEDCA325BB52"))
+       c.Assert(ccp.ObjStat.Size, Equals, int64(482048))
+       c.Assert(len(ccp.ObjStat.LastModified), Equals, len("2015-12-17 18:43:03 +0800 CST"))
+       c.Assert(ccp.ObjStat.Etag, Equals, "\"2351E662233817A7AE974D8C5B0876DD-5\"")
+       c.Assert(len(ccp.Parts), Equals, 5)
+       c.Assert(len(ccp.todoParts()), Equals, 1)
+       c.Assert(ccp.PartStat[4], Equals, false)
+
+       // Second copy, finish the last part
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       err = ccp.load(fileName + ".cp")
+       c.Assert(err, NotNil)
+
+       //multicopy with empty checkpoint path
+       copyPartHooker = CopyErrorHooker
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Checkpoint(true, ""))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       copyPartHooker = defaultCopyPartHook
+       ccp = copyCheckpoint{}
+       err = ccp.load(destObjectName + ".cp")
+       c.Assert(err, NotNil)
+
+       //multi copy with checkpoint dir
+       copyPartHooker = CopyErrorHooker
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(2), CheckpointDir(true, "./"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       copyPartHooker = defaultCopyPartHook
+
+       // Check CP
+       ccp = copyCheckpoint{}
+       cpConf := cpConfig{IsEnable: true, DirPath: "./"}
+       cpFilePath := getCopyCpFilePath(&cpConf, bucketName, srcObjectName, s.bucket.BucketName, destObjectName, "")
+       err = ccp.load(cpFilePath)
+       c.Assert(err, IsNil)
+       c.Assert(ccp.Magic, Equals, copyCpMagic)
+       c.Assert(len(ccp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
+       c.Assert(ccp.SrcBucketName, Equals, bucketName)
+       c.Assert(ccp.SrcObjectKey, Equals, srcObjectName)
+       c.Assert(ccp.DestBucketName, Equals, bucketName)
+       c.Assert(ccp.DestObjectKey, Equals, destObjectName)
+       c.Assert(len(ccp.CopyID), Equals, len("3F79722737D1469980DACEDCA325BB52"))
+       c.Assert(ccp.ObjStat.Size, Equals, int64(482048))
+       c.Assert(len(ccp.ObjStat.LastModified), Equals, len("2015-12-17 18:43:03 +0800 CST"))
+       c.Assert(ccp.ObjStat.Etag, Equals, "\"2351E662233817A7AE974D8C5B0876DD-5\"")
+       c.Assert(len(ccp.Parts), Equals, 5)
+       c.Assert(len(ccp.todoParts()), Equals, 1)
+       c.Assert(ccp.PartStat[4], Equals, false)
+
+       // Second copy, finish the last part.
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(2), CheckpointDir(true, "./"))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       err = ccp.load(srcObjectName + ".cp")
+       c.Assert(err, NotNil)
+
+       // First copy without error.
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(3), Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Copy with multiple coroutines, no errors.
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(10), Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, IsNil)
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Option
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(5), Checkpoint(true, destObjectName+".cp"), Meta("myprop", "mypropval"))
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(destObjectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       err = s.bucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Delete the source file
+       err = s.bucket.DeleteObject(srcObjectName)
+       c.Assert(err, IsNil)
+}
+
+// TestCopyRoutineWithRecoveryNegative is a multiple routineed copy without checkpoint
+func (s *OssCopySuite) TestCopyRoutineWithRecoveryNegative(c *C) {
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+
+       // Source bucket does not exist
+       err := s.bucket.CopyFile("notexist", srcObjectName, destObjectName, 100*1024, Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, NotNil)
+       c.Assert(err, NotNil)
+
+       // Source object does not exist
+       err = s.bucket.CopyFile(bucketName, "notexist", destObjectName, 100*1024, Routines(2), Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, NotNil)
+
+       // Specify part size is invalid.
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024, Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*1024*1024*100, Routines(2), Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, NotNil)
+}
+
+// TestCopyFileCrossBucket is a cross bucket's direct copy.
+func (s *OssCopySuite) TestCopyFileCrossBucket(c *C) {
+       destBucketName := bucketName + "-desc"
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       destBucket, err := s.client.Bucket(destBucketName)
+       c.Assert(err, IsNil)
+
+       // Create a target bucket
+       err = s.client.CreateBucket(destBucketName)
+
+       // Upload source file
+       err = s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Copy files
+       err = destBucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(5), Checkpoint(true, destObjectName+".cp"))
+       c.Assert(err, IsNil)
+
+       err = destBucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = destBucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Copy file with options
+       err = destBucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(10), Checkpoint(true, "copy.cp"), Meta("myprop", "mypropval"))
+       c.Assert(err, IsNil)
+
+       err = destBucket.GetObjectToFile(destObjectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = destBucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Delete target bucket
+       ForceDeleteBucket(s.client, destBucketName, c)
+}
+
+func (s *OssCopySuite) TestVersioningCopyFileCrossBucket(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // begin test
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "test-file-" + RandStr(8)
+       fileData := RandStr(500 * 1024)
+       CreateFile(fileName, fileData, c)
+       newFile := "test-file-" + RandStr(8)
+       destBucketName := bucketName + "-desc"
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+
+       // Create dest bucket
+       err = client.CreateBucket(destBucketName)
+       c.Assert(err, IsNil)
+       destBucket, err := client.Bucket(destBucketName)
+       c.Assert(err, IsNil)
+
+       err = client.SetBucketVersioning(destBucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // Upload source file
+       var respHeader http.Header
+       options := []Option{Routines(3), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(srcObjectName, fileName, 100*1024, options...)
+       versionId := GetVersionId(respHeader)
+       c.Assert(len(versionId) > 0, Equals, true)
+
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // overwrite emtpy object
+       err = bucket.PutObject(srcObjectName, strings.NewReader(""))
+       c.Assert(err, IsNil)
+
+       // Copy files
+       var respCopyHeader http.Header
+       options = []Option{Routines(5), Checkpoint(true, destObjectName+".cp"), GetResponseHeader(&respCopyHeader), VersionId(versionId)}
+       err = destBucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, options...)
+       c.Assert(err, IsNil)
+       versionIdCopy := GetVersionId(respCopyHeader)
+       c.Assert(len(versionIdCopy) > 0, Equals, true)
+
+       err = destBucket.GetObjectToFile(destObjectName, newFile, VersionId(versionIdCopy))
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = destBucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Copy file with options meta
+       options = []Option{Routines(10), Checkpoint(true, "copy.cp"), Meta("myprop", "mypropval"), GetResponseHeader(&respCopyHeader), VersionId(versionId)}
+       err = destBucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, options...)
+       c.Assert(err, IsNil)
+       versionIdCopy = GetVersionId(respCopyHeader)
+
+       err = destBucket.GetObjectToFile(destObjectName, newFile, VersionId(versionIdCopy))
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(fileName)
+       os.Remove(newFile)
+       destBucket.DeleteObject(destObjectName)
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+       ForceDeleteBucket(client, destBucketName, c)
+}
+
+// TestCopyFileChoiceOptions
+func (s *OssCopySuite) TestCopyFileChoiceOptions(c *C) {
+       destBucketName := bucketName + "-desc"
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-dest"
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       destBucket, err := s.client.Bucket(destBucketName)
+       c.Assert(err, IsNil)
+
+       // Create a target bucket
+       err = s.client.CreateBucket(destBucketName)
+
+       // Upload source file
+       err = s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // copyfile with properties
+       options := []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               ObjectStorageClass(StorageArchive),
+               ServerSideEncryption("AES256"),
+               Routines(5), // without checkpoint
+       }
+
+       // Copy files
+       err = destBucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, options...)
+       c.Assert(err, IsNil)
+
+       // check object
+       meta, err := destBucket.GetObjectDetailedMeta(destObjectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Storage-Class"), Equals, "Archive")
+       c.Assert(meta.Get("X-Oss-Server-Side-Encryption"), Equals, "AES256")
+
+       aclResult, err := destBucket.GetObjectACL(destObjectName)
+       c.Assert(aclResult.ACL, Equals, "public-read")
+       c.Assert(err, IsNil)
+
+       err = destBucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Copy file with options
+       options = []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               ObjectStorageClass(StorageArchive),
+               ServerSideEncryption("AES256"),
+               Routines(10),
+               Checkpoint(true, "copy.cp"), // with checkpoint
+       }
+
+       err = destBucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, options...)
+       c.Assert(err, IsNil)
+
+       // check object
+       meta, err = destBucket.GetObjectDetailedMeta(destObjectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Storage-Class"), Equals, "Archive")
+       c.Assert(meta.Get("X-Oss-Server-Side-Encryption"), Equals, "AES256")
+
+       aclResult, err = destBucket.GetObjectACL(destObjectName)
+       c.Assert(aclResult.ACL, Equals, "public-read")
+       c.Assert(err, IsNil)
+
+       err = destBucket.DeleteObject(destObjectName)
+       c.Assert(err, IsNil)
+       os.Remove(newFile)
+
+       // Delete target bucket
+       err = s.client.DeleteBucket(destBucketName)
+       c.Assert(err, IsNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multipart.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multipart.go
new file mode 100644 (file)
index 0000000..eed490a
--- /dev/null
@@ -0,0 +1,308 @@
+package oss
+
+import (
+       "bytes"
+       "encoding/xml"
+       "io"
+       "net/http"
+       "net/url"
+       "os"
+       "sort"
+       "strconv"
+)
+
+// InitiateMultipartUpload initializes multipart upload
+//
+// objectKey    object name
+// options    the object constricts for upload. The valid options are CacheControl, ContentDisposition, ContentEncoding, Expires,
+//            ServerSideEncryption, Meta, check out the following link:
+//            https://help.aliyun.com/document_detail/oss/api-reference/multipart-upload/InitiateMultipartUpload.html
+//
+// InitiateMultipartUploadResult    the return value of the InitiateMultipartUpload, which is used for calls later on such as UploadPartFromFile,UploadPartCopy.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) InitiateMultipartUpload(objectKey string, options ...Option) (InitiateMultipartUploadResult, error) {
+       var imur InitiateMultipartUploadResult
+       opts := AddContentType(options, objectKey)
+       params, _ := GetRawParams(options)
+       _, ok := params["sequential"]
+       if ok {
+               // convert "" to nil
+               params["sequential"] = nil
+       }
+       params["uploads"] = nil
+
+       resp, err := bucket.do("POST", objectKey, params, opts, nil, nil)
+       if err != nil {
+               return imur, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &imur)
+       return imur, err
+}
+
+// UploadPart uploads parts
+//
+// After initializing a Multipart Upload, the upload Id and object key could be used for uploading the parts.
+// Each part has its part number (ranges from 1 to 10,000). And for each upload Id, the part number identifies the position of the part in the whole file.
+// And thus with the same part number and upload Id, another part upload will overwrite the data.
+// Except the last one, minimal part size is 100KB. There's no limit on the last part size.
+//
+// imur    the returned value of InitiateMultipartUpload.
+// reader    io.Reader the reader for the part's data.
+// size    the part size.
+// partNumber    the part number (ranges from 1 to 10,000). Invalid part number will lead to InvalidArgument error.
+//
+// UploadPart    the return value of the upload part. It consists of PartNumber and ETag. It's valid when error is nil.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) UploadPart(imur InitiateMultipartUploadResult, reader io.Reader,
+       partSize int64, partNumber int, options ...Option) (UploadPart, error) {
+       request := &UploadPartRequest{
+               InitResult: &imur,
+               Reader:     reader,
+               PartSize:   partSize,
+               PartNumber: partNumber,
+       }
+
+       result, err := bucket.DoUploadPart(request, options)
+
+       return result.Part, err
+}
+
+// UploadPartFromFile uploads part from the file.
+//
+// imur    the return value of a successful InitiateMultipartUpload.
+// filePath    the local file path to upload.
+// startPosition    the start position in the local file.
+// partSize    the part size.
+// partNumber    the part number (from 1 to 10,000)
+//
+// UploadPart    the return value consists of PartNumber and ETag.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) UploadPartFromFile(imur InitiateMultipartUploadResult, filePath string,
+       startPosition, partSize int64, partNumber int, options ...Option) (UploadPart, error) {
+       var part = UploadPart{}
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return part, err
+       }
+       defer fd.Close()
+       fd.Seek(startPosition, os.SEEK_SET)
+
+       request := &UploadPartRequest{
+               InitResult: &imur,
+               Reader:     fd,
+               PartSize:   partSize,
+               PartNumber: partNumber,
+       }
+
+       result, err := bucket.DoUploadPart(request, options)
+
+       return result.Part, err
+}
+
+// DoUploadPart does the actual part upload.
+//
+// request    part upload request
+//
+// UploadPartResult    the result of uploading part.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) DoUploadPart(request *UploadPartRequest, options []Option) (*UploadPartResult, error) {
+       listener := GetProgressListener(options)
+       options = append(options, ContentLength(request.PartSize))
+       params := map[string]interface{}{}
+       params["partNumber"] = strconv.Itoa(request.PartNumber)
+       params["uploadId"] = request.InitResult.UploadID
+       resp, err := bucket.do("PUT", request.InitResult.Key, params, options,
+               &io.LimitedReader{R: request.Reader, N: request.PartSize}, listener)
+       if err != nil {
+               return &UploadPartResult{}, err
+       }
+       defer resp.Body.Close()
+
+       part := UploadPart{
+               ETag:       resp.Headers.Get(HTTPHeaderEtag),
+               PartNumber: request.PartNumber,
+       }
+
+       if bucket.GetConfig().IsEnableCRC {
+               err = CheckCRC(resp, "DoUploadPart")
+               if err != nil {
+                       return &UploadPartResult{part}, err
+               }
+       }
+
+       return &UploadPartResult{part}, nil
+}
+
+// UploadPartCopy uploads part copy
+//
+// imur    the return value of InitiateMultipartUpload
+// copySrc    source Object name
+// startPosition    the part's start index in the source file
+// partSize    the part size
+// partNumber    the part number, ranges from 1 to 10,000. If it exceeds the range OSS returns InvalidArgument error.
+// options    the constraints of source object for the copy. The copy happens only when these contraints are met. Otherwise it returns error.
+//            CopySourceIfNoneMatch, CopySourceIfModifiedSince  CopySourceIfUnmodifiedSince, check out the following link for the detail
+//            https://help.aliyun.com/document_detail/oss/api-reference/multipart-upload/UploadPartCopy.html
+//
+// UploadPart    the return value consists of PartNumber and ETag.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) UploadPartCopy(imur InitiateMultipartUploadResult, srcBucketName, srcObjectKey string,
+       startPosition, partSize int64, partNumber int, options ...Option) (UploadPart, error) {
+       var out UploadPartCopyResult
+       var part UploadPart
+       var opts []Option
+
+       //first find version id
+       versionIdKey := "versionId"
+       versionId, _ := FindOption(options, versionIdKey, nil)
+       if versionId == nil {
+               opts = []Option{CopySource(srcBucketName, url.QueryEscape(srcObjectKey)),
+                       CopySourceRange(startPosition, partSize)}
+       } else {
+               opts = []Option{CopySourceVersion(srcBucketName, url.QueryEscape(srcObjectKey), versionId.(string)),
+                       CopySourceRange(startPosition, partSize)}
+               options = DeleteOption(options, versionIdKey)
+       }
+
+       opts = append(opts, options...)
+
+       params := map[string]interface{}{}
+       params["partNumber"] = strconv.Itoa(partNumber)
+       params["uploadId"] = imur.UploadID
+       resp, err := bucket.do("PUT", imur.Key, params, opts, nil, nil)
+       if err != nil {
+               return part, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       if err != nil {
+               return part, err
+       }
+       part.ETag = out.ETag
+       part.PartNumber = partNumber
+
+       return part, nil
+}
+
+// CompleteMultipartUpload completes the multipart upload.
+//
+// imur    the return value of InitiateMultipartUpload.
+// parts    the array of return value of UploadPart/UploadPartFromFile/UploadPartCopy.
+//
+// CompleteMultipartUploadResponse    the return value when the call succeeds. Only valid when the error is nil.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) CompleteMultipartUpload(imur InitiateMultipartUploadResult,
+       parts []UploadPart, options ...Option) (CompleteMultipartUploadResult, error) {
+       var out CompleteMultipartUploadResult
+
+       sort.Sort(UploadParts(parts))
+       cxml := completeMultipartUploadXML{}
+       cxml.Part = parts
+       bs, err := xml.Marshal(cxml)
+       if err != nil {
+               return out, err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       params := map[string]interface{}{}
+       params["uploadId"] = imur.UploadID
+       resp, err := bucket.do("POST", imur.Key, params, options, buffer, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       return out, err
+}
+
+// AbortMultipartUpload aborts the multipart upload.
+//
+// imur    the return value of InitiateMultipartUpload.
+//
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) AbortMultipartUpload(imur InitiateMultipartUploadResult, options ...Option) error {
+       params := map[string]interface{}{}
+       params["uploadId"] = imur.UploadID
+       resp, err := bucket.do("DELETE", imur.Key, params, options, nil, nil)
+       if err != nil {
+               return err
+       }
+       defer resp.Body.Close()
+       return CheckRespCode(resp.StatusCode, []int{http.StatusNoContent})
+}
+
+// ListUploadedParts lists the uploaded parts.
+//
+// imur    the return value of InitiateMultipartUpload.
+//
+// ListUploadedPartsResponse    the return value if it succeeds, only valid when error is nil.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) ListUploadedParts(imur InitiateMultipartUploadResult, options ...Option) (ListUploadedPartsResult, error) {
+       var out ListUploadedPartsResult
+       options = append(options, EncodingType("url"))
+
+       params := map[string]interface{}{}
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+
+       params["uploadId"] = imur.UploadID
+       resp, err := bucket.do("GET", imur.Key, params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       if err != nil {
+               return out, err
+       }
+       err = decodeListUploadedPartsResult(&out)
+       return out, err
+}
+
+// ListMultipartUploads lists all ongoing multipart upload tasks
+//
+// options    listObject's filter. Prefix specifies the returned object's prefix; KeyMarker specifies the returned object's start point in lexicographic order;
+//            MaxKeys specifies the max entries to return; Delimiter is the character for grouping object keys.
+//
+// ListMultipartUploadResponse    the return value if it succeeds, only valid when error is nil.
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) ListMultipartUploads(options ...Option) (ListMultipartUploadResult, error) {
+       var out ListMultipartUploadResult
+
+       options = append(options, EncodingType("url"))
+       params, err := GetRawParams(options)
+       if err != nil {
+               return out, err
+       }
+       params["uploads"] = nil
+
+       resp, err := bucket.do("GET", "", params, options, nil, nil)
+       if err != nil {
+               return out, err
+       }
+       defer resp.Body.Close()
+
+       err = xmlUnmarshal(resp.Body, &out)
+       if err != nil {
+               return out, err
+       }
+       err = decodeListMultipartUploadResult(&out)
+       return out, err
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multipart_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/multipart_test.go
new file mode 100644 (file)
index 0000000..5727859
--- /dev/null
@@ -0,0 +1,986 @@
+// multipart test
+
+package oss
+
+import (
+       "math/rand"
+       "net/http"
+       "os"
+       "strconv"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssBucketMultipartSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssBucketMultipartSuite{})
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssBucketMultipartSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       // Delete part
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: s.bucket.BucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       testLogger.Println("test multipart started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssBucketMultipartSuite) TearDownSuite(c *C) {
+       // Delete part
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: s.bucket.BucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err := s.client.DeleteBucket(s.bucket.BucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test multipart completed")
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssBucketMultipartSuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssBucketMultipartSuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".temp")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt1")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt2")
+       c.Assert(err, IsNil)
+}
+
+// TestMultipartUpload
+func (s *OssBucketMultipartSuite) TestMultipartUpload(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       options := []Option{
+               Expires(futureDate), Meta("my", "myprop"),
+       }
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       imur, err := s.bucket.InitiateMultipartUpload(objectName, options...)
+       c.Assert(err, IsNil)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               part, err := s.bucket.UploadPart(imur, fd, chunk.Size, chunk.Number)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       err = s.bucket.GetObjectToFile(objectName, "newpic1.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestMultipartUploadFromFile
+func (s *OssBucketMultipartSuite) TestMultipartUploadFromFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       options := []Option{
+               Expires(futureDate), Meta("my", "myprop"),
+       }
+       imur, err := s.bucket.InitiateMultipartUpload(objectName, options...)
+       c.Assert(err, IsNil)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, chunk.Number)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       err = s.bucket.GetObjectToFile(objectName, "newpic1.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestUploadPartCopy
+func (s *OssBucketMultipartSuite) TestUploadPartCopy(c *C) {
+       objectSrc := objectNamePrefix + RandStr(8) + "-src"
+       objectDest := objectNamePrefix + RandStr(8) + "-dest"
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       err = s.bucket.PutObjectFromFile(objectSrc, fileName)
+       c.Assert(err, IsNil)
+
+       options := []Option{
+               Expires(futureDate), Meta("my", "myprop"),
+       }
+       imur, err := s.bucket.InitiateMultipartUpload(objectDest, options...)
+       c.Assert(err, IsNil)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectDest)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-My"), Equals, "myprop")
+       c.Assert(meta.Get("Expires"), Equals, futureDate.Format(http.TimeFormat))
+       c.Assert(meta.Get("X-Oss-Object-Type"), Equals, "Multipart")
+
+       err = s.bucket.GetObjectToFile(objectDest, "newpic2.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectSrc)
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectDest)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketMultipartSuite) TestListUploadedParts(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectSrc := objectName + "-src"
+       objectDest := objectName + "-dest"
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartSize(fileName, 100*1024)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       err = s.bucket.PutObjectFromFile(objectSrc, fileName)
+       c.Assert(err, IsNil)
+
+       // Upload
+       imurUpload, err := s.bucket.InitiateMultipartUpload(objectName)
+       var partsUpload []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imurUpload, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       // Copy
+       imurCopy, err := s.bucket.InitiateMultipartUpload(objectDest)
+       var partsCopy []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartCopy(imurCopy, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               partsCopy = append(partsCopy, part)
+       }
+
+       // List
+       lupr, err := s.bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, IsNil)
+       testLogger.Println("lupr:", lupr)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks))
+
+       lupr, err = s.bucket.ListUploadedParts(imurCopy)
+       c.Assert(err, IsNil)
+       testLogger.Println("lupr:", lupr)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks))
+
+       lmur, err := s.bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       testLogger.Println("lmur:", lmur)
+
+       // Complete
+       _, err = s.bucket.CompleteMultipartUpload(imurUpload, partsUpload)
+       c.Assert(err, IsNil)
+       _, err = s.bucket.CompleteMultipartUpload(imurCopy, partsCopy)
+       c.Assert(err, IsNil)
+
+       // Download
+       err = s.bucket.GetObjectToFile(objectDest, "newpic3.jpg")
+       c.Assert(err, IsNil)
+       err = s.bucket.GetObjectToFile(objectName, "newpic4.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectDest)
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectSrc)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketMultipartSuite) TestAbortMultipartUpload(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectSrc := objectName + "-src"
+       objectDest := objectName + "-dest"
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartSize(fileName, 100*1024)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       err = s.bucket.PutObjectFromFile(objectSrc, fileName)
+       c.Assert(err, IsNil)
+
+       // Upload
+       imurUpload, err := s.bucket.InitiateMultipartUpload(objectName)
+       var partsUpload []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imurUpload, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               partsUpload = append(partsUpload, part)
+       }
+
+       // Copy
+       imurCopy, err := s.bucket.InitiateMultipartUpload(objectDest)
+       var partsCopy []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartCopy(imurCopy, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               partsCopy = append(partsCopy, part)
+       }
+
+       // List
+       lupr, err := s.bucket.ListUploadedParts(imurUpload)
+       c.Assert(err, IsNil)
+       testLogger.Println("lupr:", lupr)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks))
+
+       lupr, err = s.bucket.ListUploadedParts(imurCopy)
+       c.Assert(err, IsNil)
+       testLogger.Println("lupr:", lupr)
+       c.Assert(len(lupr.UploadedParts), Equals, len(chunks))
+
+       lmur, err := s.bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       testLogger.Println("lmur:", lmur)
+       c.Assert(len(lmur.Uploads), Equals, 2)
+
+       // Abort
+       err = s.bucket.AbortMultipartUpload(imurUpload)
+       c.Assert(err, IsNil)
+       err = s.bucket.AbortMultipartUpload(imurCopy)
+       c.Assert(err, IsNil)
+
+       lmur, err = s.bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       testLogger.Println("lmur:", lmur)
+       c.Assert(len(lmur.Uploads), Equals, 0)
+
+       // Download
+       err = s.bucket.GetObjectToFile(objectDest, "newpic3.jpg")
+       c.Assert(err, NotNil)
+       err = s.bucket.GetObjectToFile(objectName, "newpic4.jpg")
+       c.Assert(err, NotNil)
+}
+
+// TestUploadPartCopyWithConstraints
+func (s *OssBucketMultipartSuite) TestUploadPartCopyWithConstraints(c *C) {
+       objectSrc := objectNamePrefix + RandStr(8) + "-src"
+       objectDest := objectNamePrefix + RandStr(8) + "-dest"
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       err = s.bucket.PutObjectFromFile(objectSrc, fileName)
+       c.Assert(err, IsNil)
+
+       imur, err := s.bucket.InitiateMultipartUpload(objectDest)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               _, err = s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number),
+                       CopySourceIfModifiedSince(futureDate))
+               c.Assert(err, NotNil)
+       }
+
+       for _, chunk := range chunks {
+               _, err = s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number),
+                       CopySourceIfUnmodifiedSince(futureDate))
+               c.Assert(err, IsNil)
+       }
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectSrc)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+
+       for _, chunk := range chunks {
+               _, err = s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number),
+                       CopySourceIfNoneMatch(meta.Get("Etag")))
+               c.Assert(err, NotNil)
+       }
+
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number),
+                       CopySourceIfMatch(meta.Get("Etag")))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       err = s.bucket.GetObjectToFile(objectDest, "newpic5.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectSrc)
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectDest)
+       c.Assert(err, IsNil)
+}
+
+// TestMultipartUploadFromFileOutofOrder
+func (s *OssBucketMultipartSuite) TestMultipartUploadFromFileOutofOrder(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartSize(fileName, 1024*100)
+       shuffleArray(chunks)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       imur, err := s.bucket.InitiateMultipartUpload(objectName)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               _, err := s.bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+       }
+       // Double upload
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       err = s.bucket.GetObjectToFile(objectName, "newpic6.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestUploadPartCopyOutofOrder
+func (s *OssBucketMultipartSuite) TestUploadPartCopyOutofOrder(c *C) {
+       objectSrc := objectNamePrefix + RandStr(8) + "-src"
+       objectDest := objectNamePrefix + RandStr(8) + "-dest"
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartSize(fileName, 1024*100)
+       shuffleArray(chunks)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       err = s.bucket.PutObjectFromFile(objectSrc, fileName)
+       c.Assert(err, IsNil)
+
+       imur, err := s.bucket.InitiateMultipartUpload(objectDest)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               _, err := s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+       }
+       // Double copy
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartCopy(imur, bucketName, objectSrc, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       err = s.bucket.GetObjectToFile(objectDest, "newpic7.jpg")
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(objectSrc)
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(objectDest)
+       c.Assert(err, IsNil)
+}
+
+// TestMultipartUploadFromFileType
+func (s *OssBucketMultipartSuite) TestMultipartUploadFromFileType(c *C) {
+       objectName := objectNamePrefix + RandStr(8) + ".jpg"
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       chunks, err := SplitFileByPartNum(fileName, 4)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       imur, err := s.bucket.InitiateMultipartUpload(objectName)
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, chunk.Number)
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       testLogger.Println("parts:", parts)
+       cmur, err := s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       testLogger.Println("cmur:", cmur)
+
+       err = s.bucket.GetObjectToFile(objectName, "newpic8.jpg")
+       c.Assert(err, IsNil)
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("Content-Type"), Equals, "image/jpeg")
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketMultipartSuite) TestListMultipartUploads(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       imurs := []InitiateMultipartUploadResult{}
+       for i := 0; i < 20; i++ {
+               imur, err := s.bucket.InitiateMultipartUpload(objectName + strconv.Itoa(i))
+               c.Assert(err, IsNil)
+               imurs = append(imurs, imur)
+       }
+
+       lmpu, err := s.bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 20)
+
+       lmpu, err = s.bucket.ListMultipartUploads(MaxUploads(3))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 3)
+
+       lmpu, err = s.bucket.ListMultipartUploads(Prefix(objectName))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 20)
+
+       lmpu, err = s.bucket.ListMultipartUploads(Prefix(objectName + "1"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 11)
+
+       lmpu, err = s.bucket.ListMultipartUploads(Prefix(objectName + "22"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 0)
+
+       lmpu, err = s.bucket.ListMultipartUploads(KeyMarker(objectName + "10"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 17)
+
+       lmpu, err = s.bucket.ListMultipartUploads(KeyMarker(objectName+"10"), MaxUploads(3))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 3)
+
+       lmpu, err = s.bucket.ListMultipartUploads(Prefix(objectName), Delimiter("4"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 18)
+       c.Assert(len(lmpu.CommonPrefixes), Equals, 2)
+
+       upLoadIDStr := RandStr(3)
+       lmpu, err = s.bucket.ListMultipartUploads(KeyMarker(objectName+"12"), UploadIDMarker(upLoadIDStr))
+       c.Assert(err, IsNil)
+       checkNum := 15
+       for _, im := range imurs {
+               if im.Key == objectName+"12" && im.UploadID > upLoadIDStr {
+                       checkNum = 16
+                       break
+               }
+       }
+       c.Assert(len(lmpu.Uploads), Equals, checkNum)
+       //testLogger.Println("UploadIDMarker", lmpu.Uploads)
+
+       for _, imur := range imurs {
+               err = s.bucket.AbortMultipartUpload(imur)
+               c.Assert(err, IsNil)
+       }
+}
+
+func (s *OssBucketMultipartSuite) TestListMultipartUploadsEncodingKey(c *C) {
+       prefix := objectNamePrefix + "让你任性让你狂" + RandStr(8)
+
+       imurs := []InitiateMultipartUploadResult{}
+       for i := 0; i < 3; i++ {
+               imur, err := s.bucket.InitiateMultipartUpload(prefix + strconv.Itoa(i))
+               c.Assert(err, IsNil)
+               imurs = append(imurs, imur)
+       }
+
+       lmpu, err := s.bucket.ListMultipartUploads()
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 3)
+
+       lmpu, err = s.bucket.ListMultipartUploads(Prefix(prefix + "1"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 1)
+
+       lmpu, err = s.bucket.ListMultipartUploads(KeyMarker(prefix + "1"))
+       c.Assert(err, IsNil)
+       c.Assert(len(lmpu.Uploads), Equals, 1)
+
+       lmpu, err = s.bucket.ListMultipartUploads(EncodingType("url"))
+       c.Assert(err, IsNil)
+       for i, upload := range lmpu.Uploads {
+               c.Assert(upload.Key, Equals, prefix+strconv.Itoa(i))
+       }
+
+       for _, imur := range imurs {
+               err = s.bucket.AbortMultipartUpload(imur)
+               c.Assert(err, IsNil)
+       }
+}
+
+func (s *OssBucketMultipartSuite) TestMultipartNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+
+       // Key tool long
+       data := make([]byte, 100*1024)
+       imur, err := s.bucket.InitiateMultipartUpload(string(data))
+       c.Assert(err, NotNil)
+
+       // Invalid imur
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       _, err = s.bucket.UploadPart(imur, fd, 1024, 1)
+       c.Assert(err, NotNil)
+
+       _, err = s.bucket.UploadPartFromFile(imur, fileName, 0, 1024, 1)
+       c.Assert(err, NotNil)
+
+       _, err = s.bucket.UploadPartCopy(imur, bucketName, fileName, 0, 1024, 1)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.AbortMultipartUpload(imur)
+       c.Assert(err, NotNil)
+
+       _, err = s.bucket.ListUploadedParts(imur)
+       c.Assert(err, NotNil)
+
+       // Invalid exist
+       imur, err = s.bucket.InitiateMultipartUpload(objectName)
+       c.Assert(err, IsNil)
+
+       _, err = s.bucket.UploadPart(imur, fd, 1024, 1)
+       c.Assert(err, IsNil)
+
+       _, err = s.bucket.UploadPart(imur, fd, 102400, 10001)
+       c.Assert(err, NotNil)
+
+       //    _, err = s.bucket.UploadPartFromFile(imur, fileName, 0, 1024, 1)
+       //    c.Assert(err, IsNil)
+
+       _, err = s.bucket.UploadPartFromFile(imur, fileName, 0, 102400, 10001)
+       c.Assert(err, NotNil)
+
+       _, err = s.bucket.UploadPartCopy(imur, bucketName, fileName, 0, 1024, 1)
+       c.Assert(err, NotNil)
+
+       _, err = s.bucket.UploadPartCopy(imur, bucketName, fileName, 0, 1024, 1000)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.AbortMultipartUpload(imur)
+       c.Assert(err, IsNil)
+
+       // Invalid option
+       _, err = s.bucket.InitiateMultipartUpload(objectName, IfModifiedSince(futureDate))
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketMultipartSuite) TestMultipartUploadFromFileBigFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       bigFile := "D:\\tmp\\bigfile.zip"
+       newFile := "D:\\tmp\\newbigfile.zip"
+
+       exist, err := isFileExist(bigFile)
+       c.Assert(err, IsNil)
+       if !exist {
+               return
+       }
+
+       chunks, err := SplitFileByPartNum(bigFile, 64)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       imur, err := s.bucket.InitiateMultipartUpload(objectName)
+       var parts []UploadPart
+       start := GetNowSec()
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imur, bigFile, chunk.Offset, chunk.Size, (int)(chunk.Number))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+       end := GetNowSec()
+       testLogger.Println("Uplaod big file:", bigFile, "use sec:", end-start)
+
+       testLogger.Println("parts:", parts)
+       _, err = s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+
+       start = GetNowSec()
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+       end = GetNowSec()
+       testLogger.Println("Download big file:", bigFile, "use sec:", end-start)
+
+       start = GetNowSec()
+       eq, err := compareFiles(bigFile, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+       end = GetNowSec()
+       testLogger.Println("Compare big file:", bigFile, "use sec:", end-start)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestUploadFile
+func (s *OssBucketMultipartSuite) TestUploadFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Upload with 100K part size
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Upload with part size equals to 1/4 of the file size
+       err = s.bucket.UploadFile(objectName, fileName, 482048/4)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Upload with part size equals to the file size
+       err = s.bucket.UploadFile(objectName, fileName, 482048)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Upload with part size is bigger than the file size
+       err = s.bucket.UploadFile(objectName, fileName, 482049)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Option
+       options := []Option{
+               Expires(futureDate),
+               ObjectACL(ACLPublicRead),
+               Meta("myprop", "mypropval")}
+       err = s.bucket.UploadFile(objectName, fileName, 482049, options...)
+       c.Assert(err, IsNil)
+
+       // Check
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       acl, err := s.bucket.GetObjectACL(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectAcl:", acl)
+       c.Assert(acl.ACL, Equals, "public-read")
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+}
+
+func (s *OssBucketMultipartSuite) TestUploadFileNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       // Smaller than the required minimal part size (100KB)
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024-1)
+       c.Assert(err, NotNil)
+
+       // Bigger than the max part size (5G)
+       err = s.bucket.UploadFile(objectName, fileName, 1024*1024*1024*5+1)
+       c.Assert(err, NotNil)
+
+       // File does not exist
+       err = s.bucket.UploadFile(objectName, "/root1/123abc9874", 1024*1024*1024)
+       c.Assert(err, NotNil)
+
+       // Invalid key , key is empty.
+       err = s.bucket.UploadFile("", fileName, 100*1024)
+       c.Assert(err, NotNil)
+}
+
+// TestDownloadFile
+func (s *OssBucketMultipartSuite) TestDownloadFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024)
+       c.Assert(err, IsNil)
+
+       // Download file with part size of 100K
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download the file with part size equals to 1/4 of the file size
+       err = s.bucket.DownloadFile(objectName, newFile, 482048/4)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download the file with part size same as the file size
+       err = s.bucket.DownloadFile(objectName, newFile, 482048)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Download the file with part size bigger than the file size
+       err = s.bucket.DownloadFile(objectName, newFile, 482049)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // Option
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       testLogger.Println("GetObjectDetailedMeta:", meta)
+
+       // If-Match
+       err = s.bucket.DownloadFile(objectName, newFile, 482048/4, IfMatch(meta.Get("Etag")))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       // If-None-Match
+       err = s.bucket.DownloadFile(objectName, newFile, 482048, IfNoneMatch(meta.Get("Etag")))
+       c.Assert(err, NotNil)
+
+       os.Remove(newFile)
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssBucketMultipartSuite) TestDownloadFileNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       newFile := RandStr(8) + ".jpg"
+
+       // Smaller than the required minimal part size (100KB)
+       err := s.bucket.DownloadFile(objectName, newFile, 100*1024-1)
+       c.Assert(err, NotNil)
+
+       // Bigger than the required max part size (5G)
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024*1024+1)
+       c.Assert(err, NotNil)
+
+       // File does not exist
+       err = s.bucket.DownloadFile(objectName, "/OSS/TEMP/ZIBI/QUQU/BALA", 1024*1024*1024+1)
+       c.Assert(err, NotNil)
+
+       // Key does not exist
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024)
+       c.Assert(err, NotNil)
+}
+
+// Private
+func shuffleArray(chunks []FileChunk) []FileChunk {
+       for i := range chunks {
+               j := rand.Intn(i + 1)
+               chunks[i], chunks[j] = chunks[j], chunks[i]
+       }
+       return chunks
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/option.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/option.go
new file mode 100644 (file)
index 0000000..779b00e
--- /dev/null
@@ -0,0 +1,638 @@
+package oss
+
+import (
+       "fmt"
+       "net/http"
+       "net/url"
+       "strconv"
+       "strings"
+       "time"
+)
+
+type optionType string
+
+const (
+       optionParam optionType = "HTTPParameter" // URL parameter
+       optionHTTP  optionType = "HTTPHeader"    // HTTP header
+       optionArg   optionType = "FuncArgument"  // Function argument
+)
+
+const (
+       deleteObjectsQuiet = "delete-objects-quiet"
+       routineNum         = "x-routine-num"
+       checkpointConfig   = "x-cp-config"
+       initCRC64          = "init-crc64"
+       progressListener   = "x-progress-listener"
+       storageClass       = "storage-class"
+       responseHeader     = "x-response-header"
+       redundancyType     = "redundancy-type"
+)
+
+type (
+       optionValue struct {
+               Value interface{}
+               Type  optionType
+       }
+
+       // Option HTTP option
+       Option func(map[string]optionValue) error
+)
+
+// ACL is an option to set X-Oss-Acl header
+func ACL(acl ACLType) Option {
+       return setHeader(HTTPHeaderOssACL, string(acl))
+}
+
+// ContentType is an option to set Content-Type header
+func ContentType(value string) Option {
+       return setHeader(HTTPHeaderContentType, value)
+}
+
+// ContentLength is an option to set Content-Length header
+func ContentLength(length int64) Option {
+       return setHeader(HTTPHeaderContentLength, strconv.FormatInt(length, 10))
+}
+
+// CacheControl is an option to set Cache-Control header
+func CacheControl(value string) Option {
+       return setHeader(HTTPHeaderCacheControl, value)
+}
+
+// ContentDisposition is an option to set Content-Disposition header
+func ContentDisposition(value string) Option {
+       return setHeader(HTTPHeaderContentDisposition, value)
+}
+
+// ContentEncoding is an option to set Content-Encoding header
+func ContentEncoding(value string) Option {
+       return setHeader(HTTPHeaderContentEncoding, value)
+}
+
+// ContentLanguage is an option to set Content-Language header
+func ContentLanguage(value string) Option {
+       return setHeader(HTTPHeaderContentLanguage, value)
+}
+
+// ContentMD5 is an option to set Content-MD5 header
+func ContentMD5(value string) Option {
+       return setHeader(HTTPHeaderContentMD5, value)
+}
+
+// Expires is an option to set Expires header
+func Expires(t time.Time) Option {
+       return setHeader(HTTPHeaderExpires, t.Format(http.TimeFormat))
+}
+
+// Meta is an option to set Meta header
+func Meta(key, value string) Option {
+       return setHeader(HTTPHeaderOssMetaPrefix+key, value)
+}
+
+// Range is an option to set Range header, [start, end]
+func Range(start, end int64) Option {
+       return setHeader(HTTPHeaderRange, fmt.Sprintf("bytes=%d-%d", start, end))
+}
+
+// NormalizedRange is an option to set Range header, such as 1024-2048 or 1024- or -2048
+func NormalizedRange(nr string) Option {
+       return setHeader(HTTPHeaderRange, fmt.Sprintf("bytes=%s", strings.TrimSpace(nr)))
+}
+
+// AcceptEncoding is an option to set Accept-Encoding header
+func AcceptEncoding(value string) Option {
+       return setHeader(HTTPHeaderAcceptEncoding, value)
+}
+
+// IfModifiedSince is an option to set If-Modified-Since header
+func IfModifiedSince(t time.Time) Option {
+       return setHeader(HTTPHeaderIfModifiedSince, t.Format(http.TimeFormat))
+}
+
+// IfUnmodifiedSince is an option to set If-Unmodified-Since header
+func IfUnmodifiedSince(t time.Time) Option {
+       return setHeader(HTTPHeaderIfUnmodifiedSince, t.Format(http.TimeFormat))
+}
+
+// IfMatch is an option to set If-Match header
+func IfMatch(value string) Option {
+       return setHeader(HTTPHeaderIfMatch, value)
+}
+
+// IfNoneMatch is an option to set IfNoneMatch header
+func IfNoneMatch(value string) Option {
+       return setHeader(HTTPHeaderIfNoneMatch, value)
+}
+
+// CopySource is an option to set X-Oss-Copy-Source header
+func CopySource(sourceBucket, sourceObject string) Option {
+       return setHeader(HTTPHeaderOssCopySource, "/"+sourceBucket+"/"+sourceObject)
+}
+
+// CopySourceVersion is an option to set X-Oss-Copy-Source header,include versionId
+func CopySourceVersion(sourceBucket, sourceObject string, versionId string) Option {
+       return setHeader(HTTPHeaderOssCopySource, "/"+sourceBucket+"/"+sourceObject+"?"+"versionId="+versionId)
+}
+
+// CopySourceRange is an option to set X-Oss-Copy-Source header
+func CopySourceRange(startPosition, partSize int64) Option {
+       val := "bytes=" + strconv.FormatInt(startPosition, 10) + "-" +
+               strconv.FormatInt((startPosition+partSize-1), 10)
+       return setHeader(HTTPHeaderOssCopySourceRange, val)
+}
+
+// CopySourceIfMatch is an option to set X-Oss-Copy-Source-If-Match header
+func CopySourceIfMatch(value string) Option {
+       return setHeader(HTTPHeaderOssCopySourceIfMatch, value)
+}
+
+// CopySourceIfNoneMatch is an option to set X-Oss-Copy-Source-If-None-Match header
+func CopySourceIfNoneMatch(value string) Option {
+       return setHeader(HTTPHeaderOssCopySourceIfNoneMatch, value)
+}
+
+// CopySourceIfModifiedSince is an option to set X-Oss-CopySource-If-Modified-Since header
+func CopySourceIfModifiedSince(t time.Time) Option {
+       return setHeader(HTTPHeaderOssCopySourceIfModifiedSince, t.Format(http.TimeFormat))
+}
+
+// CopySourceIfUnmodifiedSince is an option to set X-Oss-Copy-Source-If-Unmodified-Since header
+func CopySourceIfUnmodifiedSince(t time.Time) Option {
+       return setHeader(HTTPHeaderOssCopySourceIfUnmodifiedSince, t.Format(http.TimeFormat))
+}
+
+// MetadataDirective is an option to set X-Oss-Metadata-Directive header
+func MetadataDirective(directive MetadataDirectiveType) Option {
+       return setHeader(HTTPHeaderOssMetadataDirective, string(directive))
+}
+
+// ServerSideEncryption is an option to set X-Oss-Server-Side-Encryption header
+func ServerSideEncryption(value string) Option {
+       return setHeader(HTTPHeaderOssServerSideEncryption, value)
+}
+
+// ServerSideEncryptionKeyID is an option to set X-Oss-Server-Side-Encryption-Key-Id header
+func ServerSideEncryptionKeyID(value string) Option {
+       return setHeader(HTTPHeaderOssServerSideEncryptionKeyID, value)
+}
+
+// ServerSideDataEncryption is an option to set X-Oss-Server-Side-Data-Encryption header
+func ServerSideDataEncryption(value string) Option {
+       return setHeader(HTTPHeaderOssServerSideDataEncryption, value)
+}
+
+// SSECAlgorithm is an option to set X-Oss-Server-Side-Encryption-Customer-Algorithm header
+func SSECAlgorithm(value string) Option {
+       return setHeader(HTTPHeaderSSECAlgorithm, value)
+}
+
+// SSECKey is an option to set X-Oss-Server-Side-Encryption-Customer-Key header
+func SSECKey(value string) Option {
+       return setHeader(HTTPHeaderSSECKey, value)
+}
+
+// SSECKeyMd5 is an option to set X-Oss-Server-Side-Encryption-Customer-Key-Md5 header
+func SSECKeyMd5(value string) Option {
+       return setHeader(HTTPHeaderSSECKeyMd5, value)
+}
+
+// ObjectACL is an option to set X-Oss-Object-Acl header
+func ObjectACL(acl ACLType) Option {
+       return setHeader(HTTPHeaderOssObjectACL, string(acl))
+}
+
+// symlinkTarget is an option to set X-Oss-Symlink-Target
+func symlinkTarget(targetObjectKey string) Option {
+       return setHeader(HTTPHeaderOssSymlinkTarget, targetObjectKey)
+}
+
+// Origin is an option to set Origin header
+func Origin(value string) Option {
+       return setHeader(HTTPHeaderOrigin, value)
+}
+
+// ObjectStorageClass is an option to set the storage class of object
+func ObjectStorageClass(storageClass StorageClassType) Option {
+       return setHeader(HTTPHeaderOssStorageClass, string(storageClass))
+}
+
+// Callback is an option to set callback values
+func Callback(callback string) Option {
+       return setHeader(HTTPHeaderOssCallback, callback)
+}
+
+// CallbackVar is an option to set callback user defined values
+func CallbackVar(callbackVar string) Option {
+       return setHeader(HTTPHeaderOssCallbackVar, callbackVar)
+}
+
+// RequestPayer is an option to set payer who pay for the request
+func RequestPayer(payerType PayerType) Option {
+       return setHeader(HTTPHeaderOssRequester, strings.ToLower(string(payerType)))
+}
+
+// RequestPayerParam is an option to set payer who pay for the request
+func RequestPayerParam(payerType PayerType) Option {
+       return addParam(strings.ToLower(HTTPHeaderOssRequester), strings.ToLower(string(payerType)))
+}
+
+// SetTagging is an option to set object tagging
+func SetTagging(tagging Tagging) Option {
+       if len(tagging.Tags) == 0 {
+               return nil
+       }
+
+       taggingValue := ""
+       for index, tag := range tagging.Tags {
+               if index != 0 {
+                       taggingValue += "&"
+               }
+               taggingValue += url.QueryEscape(tag.Key) + "=" + url.QueryEscape(tag.Value)
+       }
+       return setHeader(HTTPHeaderOssTagging, taggingValue)
+}
+
+// TaggingDirective is an option to set X-Oss-Metadata-Directive header
+func TaggingDirective(directive TaggingDirectiveType) Option {
+       return setHeader(HTTPHeaderOssTaggingDirective, string(directive))
+}
+
+// ACReqMethod is an option to set Access-Control-Request-Method header
+func ACReqMethod(value string) Option {
+       return setHeader(HTTPHeaderACReqMethod, value)
+}
+
+// ACReqHeaders is an option to set Access-Control-Request-Headers header
+func ACReqHeaders(value string) Option {
+       return setHeader(HTTPHeaderACReqHeaders, value)
+}
+
+// TrafficLimitHeader is an option to set X-Oss-Traffic-Limit
+func TrafficLimitHeader(value int64) Option {
+       return setHeader(HTTPHeaderOssTrafficLimit, strconv.FormatInt(value, 10))
+}
+
+// UserAgentHeader is an option to set HTTPHeaderUserAgent
+func UserAgentHeader(ua string) Option {
+       return setHeader(HTTPHeaderUserAgent, ua)
+}
+
+// ForbidOverWrite  is an option to set X-Oss-Forbid-Overwrite
+func ForbidOverWrite(forbidWrite bool) Option {
+       if forbidWrite {
+               return setHeader(HTTPHeaderOssForbidOverWrite, "true")
+       } else {
+               return setHeader(HTTPHeaderOssForbidOverWrite, "false")
+       }
+}
+
+// RangeBehavior  is an option to set Range value, such as "standard"
+func RangeBehavior(value string) Option {
+       return setHeader(HTTPHeaderOssRangeBehavior, value)
+}
+
+// Delimiter is an option to set delimiler parameter
+func Delimiter(value string) Option {
+       return addParam("delimiter", value)
+}
+
+// Marker is an option to set marker parameter
+func Marker(value string) Option {
+       return addParam("marker", value)
+}
+
+// MaxKeys is an option to set maxkeys parameter
+func MaxKeys(value int) Option {
+       return addParam("max-keys", strconv.Itoa(value))
+}
+
+// Prefix is an option to set prefix parameter
+func Prefix(value string) Option {
+       return addParam("prefix", value)
+}
+
+// EncodingType is an option to set encoding-type parameter
+func EncodingType(value string) Option {
+       return addParam("encoding-type", value)
+}
+
+// MaxUploads is an option to set max-uploads parameter
+func MaxUploads(value int) Option {
+       return addParam("max-uploads", strconv.Itoa(value))
+}
+
+// KeyMarker is an option to set key-marker parameter
+func KeyMarker(value string) Option {
+       return addParam("key-marker", value)
+}
+
+// VersionIdMarker is an option to set version-id-marker parameter
+func VersionIdMarker(value string) Option {
+       return addParam("version-id-marker", value)
+}
+
+// VersionId is an option to set versionId parameter
+func VersionId(value string) Option {
+       return addParam("versionId", value)
+}
+
+// TagKey is an option to set tag key parameter
+func TagKey(value string) Option {
+       return addParam("tag-key", value)
+}
+
+// TagValue is an option to set tag value parameter
+func TagValue(value string) Option {
+       return addParam("tag-value", value)
+}
+
+// UploadIDMarker is an option to set upload-id-marker parameter
+func UploadIDMarker(value string) Option {
+       return addParam("upload-id-marker", value)
+}
+
+// MaxParts is an option to set max-parts parameter
+func MaxParts(value int) Option {
+       return addParam("max-parts", strconv.Itoa(value))
+}
+
+// PartNumberMarker is an option to set part-number-marker parameter
+func PartNumberMarker(value int) Option {
+       return addParam("part-number-marker", strconv.Itoa(value))
+}
+
+// Sequential is an option to set sequential parameter for InitiateMultipartUpload
+func Sequential() Option {
+       return addParam("sequential", "")
+}
+
+// ListType is an option to set List-type parameter for ListObjectsV2
+func ListType(value int) Option {
+       return addParam("list-type", strconv.Itoa(value))
+}
+
+// StartAfter is an option to set start-after parameter for ListObjectsV2
+func StartAfter(value string) Option {
+       return addParam("start-after", value)
+}
+
+// ContinuationToken is an option to set Continuation-token parameter for ListObjectsV2
+func ContinuationToken(value string) Option {
+       if value == "" {
+               return addParam("continuation-token", nil)
+       }
+       return addParam("continuation-token", value)
+}
+
+// FetchOwner is an option to set Fetch-owner parameter for ListObjectsV2
+func FetchOwner(value bool) Option {
+       if value {
+               return addParam("fetch-owner", "true")
+       }
+       return addParam("fetch-owner", "false")
+}
+
+// DeleteObjectsQuiet false:DeleteObjects in verbose mode; true:DeleteObjects in quite mode. Default is false.
+func DeleteObjectsQuiet(isQuiet bool) Option {
+       return addArg(deleteObjectsQuiet, isQuiet)
+}
+
+// StorageClass bucket storage class
+func StorageClass(value StorageClassType) Option {
+       return addArg(storageClass, value)
+}
+
+// RedundancyType bucket data redundancy type
+func RedundancyType(value DataRedundancyType) Option {
+       return addArg(redundancyType, value)
+}
+
+// Checkpoint configuration
+type cpConfig struct {
+       IsEnable bool
+       FilePath string
+       DirPath  string
+}
+
+// Checkpoint sets the isEnable flag and checkpoint file path for DownloadFile/UploadFile.
+func Checkpoint(isEnable bool, filePath string) Option {
+       return addArg(checkpointConfig, &cpConfig{IsEnable: isEnable, FilePath: filePath})
+}
+
+// CheckpointDir sets the isEnable flag and checkpoint dir path for DownloadFile/UploadFile.
+func CheckpointDir(isEnable bool, dirPath string) Option {
+       return addArg(checkpointConfig, &cpConfig{IsEnable: isEnable, DirPath: dirPath})
+}
+
+// Routines DownloadFile/UploadFile routine count
+func Routines(n int) Option {
+       return addArg(routineNum, n)
+}
+
+// InitCRC Init AppendObject CRC
+func InitCRC(initCRC uint64) Option {
+       return addArg(initCRC64, initCRC)
+}
+
+// Progress set progress listener
+func Progress(listener ProgressListener) Option {
+       return addArg(progressListener, listener)
+}
+
+// GetResponseHeader for get response http header
+func GetResponseHeader(respHeader *http.Header) Option {
+       return addArg(responseHeader, respHeader)
+}
+
+// ResponseContentType is an option to set response-content-type param
+func ResponseContentType(value string) Option {
+       return addParam("response-content-type", value)
+}
+
+// ResponseContentLanguage is an option to set response-content-language param
+func ResponseContentLanguage(value string) Option {
+       return addParam("response-content-language", value)
+}
+
+// ResponseExpires is an option to set response-expires param
+func ResponseExpires(value string) Option {
+       return addParam("response-expires", value)
+}
+
+// ResponseCacheControl is an option to set response-cache-control param
+func ResponseCacheControl(value string) Option {
+       return addParam("response-cache-control", value)
+}
+
+// ResponseContentDisposition is an option to set response-content-disposition param
+func ResponseContentDisposition(value string) Option {
+       return addParam("response-content-disposition", value)
+}
+
+// ResponseContentEncoding is an option to set response-content-encoding param
+func ResponseContentEncoding(value string) Option {
+       return addParam("response-content-encoding", value)
+}
+
+// Process is an option to set x-oss-process param
+func Process(value string) Option {
+       return addParam("x-oss-process", value)
+}
+
+// TrafficLimitParam is a option to set x-oss-traffic-limit
+func TrafficLimitParam(value int64) Option {
+       return addParam("x-oss-traffic-limit", strconv.FormatInt(value, 10))
+}
+
+// SetHeader Allow users to set personalized http headers
+func SetHeader(key string, value interface{}) Option {
+       return setHeader(key, value)
+}
+
+// AddParam Allow users to set personalized http params
+func AddParam(key string, value interface{}) Option {
+       return addParam(key, value)
+}
+
+func setHeader(key string, value interface{}) Option {
+       return func(params map[string]optionValue) error {
+               if value == nil {
+                       return nil
+               }
+               params[key] = optionValue{value, optionHTTP}
+               return nil
+       }
+}
+
+func addParam(key string, value interface{}) Option {
+       return func(params map[string]optionValue) error {
+               if value == nil {
+                       return nil
+               }
+               params[key] = optionValue{value, optionParam}
+               return nil
+       }
+}
+
+func addArg(key string, value interface{}) Option {
+       return func(params map[string]optionValue) error {
+               if value == nil {
+                       return nil
+               }
+               params[key] = optionValue{value, optionArg}
+               return nil
+       }
+}
+
+func handleOptions(headers map[string]string, options []Option) error {
+       params := map[string]optionValue{}
+       for _, option := range options {
+               if option != nil {
+                       if err := option(params); err != nil {
+                               return err
+                       }
+               }
+       }
+
+       for k, v := range params {
+               if v.Type == optionHTTP {
+                       headers[k] = v.Value.(string)
+               }
+       }
+       return nil
+}
+
+func GetRawParams(options []Option) (map[string]interface{}, error) {
+       // Option
+       params := map[string]optionValue{}
+       for _, option := range options {
+               if option != nil {
+                       if err := option(params); err != nil {
+                               return nil, err
+                       }
+               }
+       }
+
+       paramsm := map[string]interface{}{}
+       // Serialize
+       for k, v := range params {
+               if v.Type == optionParam {
+                       vs := params[k]
+                       paramsm[k] = vs.Value.(string)
+               }
+       }
+
+       return paramsm, nil
+}
+
+func FindOption(options []Option, param string, defaultVal interface{}) (interface{}, error) {
+       params := map[string]optionValue{}
+       for _, option := range options {
+               if option != nil {
+                       if err := option(params); err != nil {
+                               return nil, err
+                       }
+               }
+       }
+
+       if val, ok := params[param]; ok {
+               return val.Value, nil
+       }
+       return defaultVal, nil
+}
+
+func IsOptionSet(options []Option, option string) (bool, interface{}, error) {
+       params := map[string]optionValue{}
+       for _, option := range options {
+               if option != nil {
+                       if err := option(params); err != nil {
+                               return false, nil, err
+                       }
+               }
+       }
+
+       if val, ok := params[option]; ok {
+               return true, val.Value, nil
+       }
+       return false, nil, nil
+}
+
+func DeleteOption(options []Option, strKey string) []Option {
+       var outOption []Option
+       params := map[string]optionValue{}
+       for _, option := range options {
+               if option != nil {
+                       option(params)
+                       _, exist := params[strKey]
+                       if !exist {
+                               outOption = append(outOption, option)
+                       } else {
+                               delete(params, strKey)
+                       }
+               }
+       }
+       return outOption
+}
+
+func GetRequestId(header http.Header) string {
+       return header.Get("x-oss-request-id")
+}
+
+func GetVersionId(header http.Header) string {
+       return header.Get("x-oss-version-id")
+}
+
+func GetCopySrcVersionId(header http.Header) string {
+       return header.Get("x-oss-copy-source-version-id")
+}
+
+func GetDeleteMark(header http.Header) bool {
+       value := header.Get("x-oss-delete-marker")
+       if strings.ToUpper(value) == "TRUE" {
+               return true
+       }
+       return false
+}
+
+func GetQosDelayTime(header http.Header) string {
+       return header.Get("x-oss-qos-delay-time")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/option_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/option_test.go
new file mode 100644 (file)
index 0000000..f5c7e7d
--- /dev/null
@@ -0,0 +1,317 @@
+package oss
+
+import (
+       "net/http"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssOptionSuite struct{}
+
+var _ = Suite(&OssOptionSuite{})
+
+type optionTestCase struct {
+       option Option
+       key    string
+       value  string
+}
+
+var headerTestcases = []optionTestCase{
+       {
+               option: Meta("User", "baymax"),
+               key:    "X-Oss-Meta-User",
+               value:  "baymax",
+       },
+       {
+               option: ACL(ACLPrivate),
+               key:    "X-Oss-Acl",
+               value:  "private",
+       },
+       {
+               option: ContentType("plain/text"),
+               key:    "Content-Type",
+               value:  "plain/text",
+       },
+       {
+               option: CacheControl("no-cache"),
+               key:    "Cache-Control",
+               value:  "no-cache",
+       },
+       {
+               option: ContentDisposition("Attachment; filename=example.txt"),
+               key:    "Content-Disposition",
+               value:  "Attachment; filename=example.txt",
+       },
+       {
+               option: ContentEncoding("gzip"),
+               key:    "Content-Encoding",
+               value:  "gzip",
+       },
+       {
+               option: Expires(pastDate),
+               key:    "Expires",
+               value:  pastDate.Format(http.TimeFormat),
+       },
+       {
+               option: Range(0, 9),
+               key:    "Range",
+               value:  "bytes=0-9",
+       },
+       {
+               option: Origin("localhost"),
+               key:    "Origin",
+               value:  "localhost",
+       },
+       {
+               option: CopySourceRange(0, 9),
+               key:    "X-Oss-Copy-Source-Range",
+               value:  "bytes=0-8",
+       },
+       {
+               option: IfModifiedSince(pastDate),
+               key:    "If-Modified-Since",
+               value:  pastDate.Format(http.TimeFormat),
+       },
+       {
+               option: IfUnmodifiedSince(futureDate),
+               key:    "If-Unmodified-Since",
+               value:  futureDate.Format(http.TimeFormat),
+       },
+       {
+               option: IfMatch("xyzzy"),
+               key:    "If-Match",
+               value:  "xyzzy",
+       },
+       {
+               option: IfNoneMatch("xyzzy"),
+               key:    "If-None-Match",
+               value:  "xyzzy",
+       },
+       {
+               option: CopySource("bucket_name", "object_name"),
+               key:    "X-Oss-Copy-Source",
+               value:  "/bucket_name/object_name",
+       },
+       {
+               option: CopySourceIfModifiedSince(pastDate),
+               key:    "X-Oss-Copy-Source-If-Modified-Since",
+               value:  pastDate.Format(http.TimeFormat),
+       },
+       {
+               option: CopySourceIfUnmodifiedSince(futureDate),
+               key:    "X-Oss-Copy-Source-If-Unmodified-Since",
+               value:  futureDate.Format(http.TimeFormat),
+       },
+       {
+               option: CopySourceIfMatch("xyzzy"),
+               key:    "X-Oss-Copy-Source-If-Match",
+               value:  "xyzzy",
+       },
+       {
+               option: CopySourceIfNoneMatch("xyzzy"),
+               key:    "X-Oss-Copy-Source-If-None-Match",
+               value:  "xyzzy",
+       },
+       {
+               option: MetadataDirective(MetaCopy),
+               key:    "X-Oss-Metadata-Directive",
+               value:  "COPY",
+       },
+       {
+               option: ServerSideEncryption("AES256"),
+               key:    "X-Oss-Server-Side-Encryption",
+               value:  "AES256",
+       },
+       {
+               option: ObjectACL(ACLPrivate),
+               key:    "X-Oss-Object-Acl",
+               value:  "private",
+       },
+       {
+               option: ObjectStorageClass(StorageStandard),
+               key:    "X-Oss-Storage-Class",
+               value:  "Standard",
+       },
+       {
+               option: Callback("JTdCJTIyY2FsbGJhY2tVcmwlMjIlM0ElMjJleGFtcGxlLmNvbS9pbmRleC5odG1sJTIyJTdE"),
+               key:    "X-Oss-Callback",
+               value:  "JTdCJTIyY2FsbGJhY2tVcmwlMjIlM0ElMjJleGFtcGxlLmNvbS9pbmRleC5odG1sJTIyJTdE",
+       },
+       {
+               option: CallbackVar("JTdCJTIyeCUzQXZhcjElMjIlM0ElMjJ2YWx1ZTElMjIlMkMlMjJ4JTNBdmFyMiUyMiUzQSUyMnZhbHVlMiUyMiU3RA=="),
+               key:    "X-Oss-Callback-Var",
+               value:  "JTdCJTIyeCUzQXZhcjElMjIlM0ElMjJ2YWx1ZTElMjIlMkMlMjJ4JTNBdmFyMiUyMiUzQSUyMnZhbHVlMiUyMiU3RA==",
+       },
+       {
+               option: ContentLanguage("zh-CN"),
+               key:    "Content-Language",
+               value:  "zh-CN",
+       },
+       {
+               option: ServerSideEncryptionKeyID("xossekid"),
+               key:    "X-Oss-Server-Side-Encryption-Key-Id",
+               value:  "xossekid",
+       },
+}
+
+func (s *OssOptionSuite) TestHeaderOptions(c *C) {
+       for _, testcase := range headerTestcases {
+               headers := make(map[string]optionValue)
+               err := testcase.option(headers)
+               c.Assert(err, IsNil)
+
+               expected, actual := testcase.value, headers[testcase.key].Value
+               c.Assert(expected, Equals, actual)
+       }
+}
+
+var paramTestCases = []optionTestCase{
+       {
+               option: Delimiter("/"),
+               key:    "delimiter",
+               value:  "/",
+       },
+       {
+               option: Marker("abc"),
+               key:    "marker",
+               value:  "abc",
+       },
+       {
+               option: MaxKeys(150),
+               key:    "max-keys",
+               value:  "150",
+       },
+       {
+               option: Prefix("fun"),
+               key:    "prefix",
+               value:  "fun",
+       },
+       {
+               option: EncodingType("ascii"),
+               key:    "encoding-type",
+               value:  "ascii",
+       },
+       {
+               option: MaxUploads(100),
+               key:    "max-uploads",
+               value:  "100",
+       },
+       {
+               option: KeyMarker("abc"),
+               key:    "key-marker",
+               value:  "abc",
+       },
+       {
+               option: UploadIDMarker("xyz"),
+               key:    "upload-id-marker",
+               value:  "xyz",
+       },
+       {
+               option: MaxParts(1000),
+               key:    "max-parts",
+               value:  "1000",
+       },
+       {
+               option: PartNumberMarker(1),
+               key:    "part-number-marker",
+               value:  "1",
+       },
+       {
+               option: Process("image/format,png"),
+               key:    "x-oss-process",
+               value:  "image/format,png",
+       },
+}
+
+func (s *OssOptionSuite) TestParamOptions(c *C) {
+       for _, testcase := range paramTestCases {
+               params := make(map[string]optionValue)
+               err := testcase.option(params)
+               c.Assert(err, IsNil)
+
+               expected, actual := testcase.value, params[testcase.key].Value
+               c.Assert(expected, Equals, actual)
+       }
+}
+
+func (s *OssOptionSuite) TestHandleOptions(c *C) {
+       headers := make(map[string]string)
+       options := []Option{}
+
+       for _, testcase := range headerTestcases {
+               options = append(options, testcase.option)
+       }
+
+       err := handleOptions(headers, options)
+       c.Assert(err, IsNil)
+
+       for _, testcase := range headerTestcases {
+               expected, actual := testcase.value, headers[testcase.key]
+               c.Assert(expected, Equals, actual)
+       }
+
+       options = []Option{IfMatch(""), nil}
+       headers = map[string]string{}
+       err = handleOptions(headers, options)
+       c.Assert(err, IsNil)
+       c.Assert(len(headers), Equals, 1)
+}
+
+func (s *OssOptionSuite) TestHandleParams(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       options := []Option{}
+
+       for _, testcase := range paramTestCases {
+               options = append(options, testcase.option)
+       }
+
+       params, err := GetRawParams(options)
+       c.Assert(err, IsNil)
+
+       out := client.Conn.getURLParams(params)
+       c.Assert(len(out), Equals, 191)
+
+       options = []Option{KeyMarker(""), nil}
+
+       params, err = GetRawParams(options)
+       c.Assert(err, IsNil)
+
+       out = client.Conn.getURLParams(params)
+       c.Assert(out, Equals, "key-marker=")
+}
+
+func (s *OssOptionSuite) TestFindOption(c *C) {
+       options := []Option{}
+
+       for _, testcase := range headerTestcases {
+               options = append(options, testcase.option)
+       }
+
+       str, err := FindOption(options, "X-Oss-Acl", "")
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, "private")
+
+       str, err = FindOption(options, "MyProp", "")
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, "")
+}
+
+func (s *OssOptionSuite) TestDeleteOption(c *C) {
+       options := []Option{VersionId("123"), VersionIdMarker("456"), KeyMarker("789")}
+       str, err := FindOption(options, "versionId", "")
+       c.Assert(str, Equals, "123")
+       c.Assert(err, IsNil)
+
+       skipOption := DeleteOption(options, "versionId")
+       str, err = FindOption(skipOption, "versionId", "")
+       c.Assert(str, Equals, "")
+
+       str, err = FindOption(skipOption, "version-id-marker", "")
+       c.Assert(str, Equals, "456")
+
+       str, err = FindOption(skipOption, "key-marker", "")
+       c.Assert(str, Equals, "789")
+
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/progress.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/progress.go
new file mode 100644 (file)
index 0000000..33cbebd
--- /dev/null
@@ -0,0 +1,114 @@
+package oss
+
+import "io"
+
+// ProgressEventType defines transfer progress event type
+type ProgressEventType int
+
+const (
+       // TransferStartedEvent transfer started, set TotalBytes
+       TransferStartedEvent ProgressEventType = 1 + iota
+       // TransferDataEvent transfer data, set ConsumedBytes anmd TotalBytes
+       TransferDataEvent
+       // TransferCompletedEvent transfer completed
+       TransferCompletedEvent
+       // TransferFailedEvent transfer encounters an error
+       TransferFailedEvent
+)
+
+// ProgressEvent defines progress event
+type ProgressEvent struct {
+       ConsumedBytes int64
+       TotalBytes    int64
+       RwBytes       int64
+       EventType     ProgressEventType
+}
+
+// ProgressListener listens progress change
+type ProgressListener interface {
+       ProgressChanged(event *ProgressEvent)
+}
+
+// -------------------- Private --------------------
+
+func newProgressEvent(eventType ProgressEventType, consumed, total int64, rwBytes int64) *ProgressEvent {
+       return &ProgressEvent{
+               ConsumedBytes: consumed,
+               TotalBytes:    total,
+               RwBytes:       rwBytes,
+               EventType:     eventType}
+}
+
+// publishProgress
+func publishProgress(listener ProgressListener, event *ProgressEvent) {
+       if listener != nil && event != nil {
+               listener.ProgressChanged(event)
+       }
+}
+
+type readerTracker struct {
+       completedBytes int64
+}
+
+type teeReader struct {
+       reader        io.Reader
+       writer        io.Writer
+       listener      ProgressListener
+       consumedBytes int64
+       totalBytes    int64
+       tracker       *readerTracker
+}
+
+// TeeReader returns a Reader that writes to w what it reads from r.
+// All reads from r performed through it are matched with
+// corresponding writes to w.  There is no internal buffering -
+// the write must complete before the read completes.
+// Any error encountered while writing is reported as a read error.
+func TeeReader(reader io.Reader, writer io.Writer, totalBytes int64, listener ProgressListener, tracker *readerTracker) io.ReadCloser {
+       return &teeReader{
+               reader:        reader,
+               writer:        writer,
+               listener:      listener,
+               consumedBytes: 0,
+               totalBytes:    totalBytes,
+               tracker:       tracker,
+       }
+}
+
+func (t *teeReader) Read(p []byte) (n int, err error) {
+       n, err = t.reader.Read(p)
+
+       // Read encountered error
+       if err != nil && err != io.EOF {
+               event := newProgressEvent(TransferFailedEvent, t.consumedBytes, t.totalBytes, 0)
+               publishProgress(t.listener, event)
+       }
+
+       if n > 0 {
+               t.consumedBytes += int64(n)
+               // CRC
+               if t.writer != nil {
+                       if n, err := t.writer.Write(p[:n]); err != nil {
+                               return n, err
+                       }
+               }
+               // Progress
+               if t.listener != nil {
+                       event := newProgressEvent(TransferDataEvent, t.consumedBytes, t.totalBytes, int64(n))
+                       publishProgress(t.listener, event)
+               }
+               // Track
+               if t.tracker != nil {
+                       t.tracker.completedBytes = t.consumedBytes
+               }
+       }
+
+       return
+}
+
+func (t *teeReader) Close() error {
+       if rc, ok := t.reader.(io.ReadCloser); ok {
+               return rc.Close()
+       }
+       return nil
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/progress_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/progress_test.go
new file mode 100644 (file)
index 0000000..f92ebe1
--- /dev/null
@@ -0,0 +1,582 @@
+// bucket test
+
+package oss
+
+import (
+       "bytes"
+       "io/ioutil"
+       "math/rand"
+       "os"
+       "strings"
+       "sync/atomic"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssProgressSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssProgressSuite{})
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssProgressSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test progress started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssProgressSuite) TearDownSuite(c *C) {
+       // Abort multipart uploads
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmu, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmu.Uploads {
+                       imur := InitiateMultipartUploadResult{Bucket: bucketName, Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmu.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmu.NextUploadIDMarker)
+               if !lmu.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err := s.client.DeleteBucket(s.bucket.BucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test progress completed")
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssProgressSuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".html")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssProgressSuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".txt")
+       c.Assert(err, IsNil)
+
+       err = removeTempFiles("../oss", ".html")
+       c.Assert(err, IsNil)
+}
+
+// OssProgressListener is the progress listener
+type OssProgressListener struct {
+       TotalRwBytes int64
+}
+
+// ProgressChanged handles progress event
+func (listener *OssProgressListener) ProgressChanged(event *ProgressEvent) {
+       switch event.EventType {
+       case TransferStartedEvent:
+               testLogger.Printf("Transfer Started, ConsumedBytes: %d, TotalBytes %d.\n",
+                       event.ConsumedBytes, event.TotalBytes)
+       case TransferDataEvent:
+               atomic.AddInt64(&listener.TotalRwBytes, event.RwBytes)
+               testLogger.Printf("Transfer Data, ConsumedBytes: %d, TotalBytes %d, %d%%.\n",
+                       event.ConsumedBytes, event.TotalBytes, event.ConsumedBytes*100/event.TotalBytes)
+       case TransferCompletedEvent:
+               testLogger.Printf("Transfer Completed, ConsumedBytes: %d, TotalBytes %d.\n",
+                       event.ConsumedBytes, event.TotalBytes)
+       case TransferFailedEvent:
+               testLogger.Printf("Transfer Failed, ConsumedBytes: %d, TotalBytes %d.\n",
+                       event.ConsumedBytes, event.TotalBytes)
+       default:
+       }
+}
+
+// TestPutObject
+func (s *OssProgressSuite) TestPutObject(c *C) {
+       objectName := RandStr(8) + ".jpg"
+       localFile := "../sample/The Go Programming Language.html"
+
+       fileInfo, err := os.Stat(localFile)
+       c.Assert(err, IsNil)
+
+       // PutObject
+       fd, err := os.Open(localFile)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       progressListener := OssProgressListener{}
+       err = s.bucket.PutObject(objectName, fd, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // PutObjectFromFile
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.PutObjectFromFile(objectName, localFile, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // DoPutObject
+       fd, err = os.Open(localFile)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       request := &PutObjectRequest{
+               ObjectKey: objectName,
+               Reader:    fd,
+       }
+
+       progressListener.TotalRwBytes = 0
+       options := []Option{Progress(&progressListener)}
+       _, err = s.bucket.DoPutObject(request, options)
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // PutObject size is 0
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.PutObject(objectName, strings.NewReader(""), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(0))
+
+       testLogger.Println("OssProgressSuite.TestPutObject")
+}
+
+// TestSignURL
+func (s *OssProgressSuite) SignURLTestFunc(c *C, authVersion AuthVersionType, extraHeaders []string) {
+       objectName := objectNamePrefix + RandStr(8)
+       filePath := RandLowStr(10)
+       content := RandStr(20)
+       CreateFile(filePath, content, c)
+
+       oldType := s.bucket.Client.Config.AuthVersion
+       oldHeaders := s.bucket.Client.Config.AdditionalHeaders
+       s.bucket.Client.Config.AuthVersion = authVersion
+       s.bucket.Client.Config.AdditionalHeaders = extraHeaders
+
+       // Sign URL for put
+       progressListener := OssProgressListener{}
+       str, err := s.bucket.SignURL(objectName, HTTPPut, 60, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Put object with URL
+       fd, err := os.Open(filePath)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       err = s.bucket.PutObjectWithURL(str, fd, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(len(content)))
+
+       // Put object from file with URL
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.PutObjectFromFileWithURL(str, filePath, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(len(content)))
+
+       // DoPutObject
+       fd, err = os.Open(filePath)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       progressListener.TotalRwBytes = 0
+       options := []Option{Progress(&progressListener)}
+       _, err = s.bucket.DoPutObjectWithURL(str, fd, options)
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(len(content)))
+
+       // Sign URL for get
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 60, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       if s.bucket.Client.Config.AuthVersion == AuthV1 {
+               c.Assert(strings.Contains(str, HTTPParamExpires+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyID+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignature+"="), Equals, true)
+       } else {
+               c.Assert(strings.Contains(str, HTTPParamSignatureVersion+"=OSS2"), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamExpiresV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamAccessKeyIDV2+"="), Equals, true)
+               c.Assert(strings.Contains(str, HTTPParamSignatureV2+"="), Equals, true)
+       }
+
+       // Get object with URL
+       progressListener.TotalRwBytes = 0
+       body, err := s.bucket.GetObjectWithURL(str, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       str, err = readBody(body)
+       c.Assert(err, IsNil)
+       c.Assert(str, Equals, content)
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(len(content)))
+
+       // Get object to file with URL
+       progressListener.TotalRwBytes = 0
+       str, err = s.bucket.SignURL(objectName, HTTPGet, 10, Progress(&progressListener))
+       c.Assert(err, IsNil)
+
+       newFile := RandStr(10)
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.GetObjectToFileWithURL(str, newFile, Progress(&progressListener))
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(len(content)))
+       c.Assert(err, IsNil)
+       eq, err := compareFiles(filePath, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(filePath)
+       os.Remove(newFile)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("OssProgressSuite.TestSignURL")
+
+       s.bucket.Client.Config.AuthVersion = oldType
+       s.bucket.Client.Config.AdditionalHeaders = oldHeaders
+}
+
+func (s *OssProgressSuite) TestSignURL(c *C) {
+       s.SignURLTestFunc(c, AuthV1, []string{})
+       s.SignURLTestFunc(c, AuthV2, []string{})
+       s.SignURLTestFunc(c, AuthV2, []string{"host", "range", "user-agent"})
+}
+
+func (s *OssProgressSuite) TestPutObjectNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/The Go Programming Language.html"
+
+       // Invalid endpoint
+       client, err := New("http://oss-cn-taikang.aliyuncs.com", accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+
+       err = bucket.PutObjectFromFile(objectName, localFile, Progress(&OssProgressListener{}))
+       testLogger.Println(err)
+       c.Assert(err, NotNil)
+
+       testLogger.Println("OssProgressSuite.TestPutObjectNegative")
+}
+
+// TestAppendObject
+func (s *OssProgressSuite) TestAppendObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       objectValue := RandStr(100)
+       var val = []byte(objectValue)
+       var nextPos int64
+       var midPos = 1 + rand.Intn(len(val)-1)
+
+       // AppendObject
+       progressListener := OssProgressListener{}
+       nextPos, err := s.bucket.AppendObject(objectName, bytes.NewReader(val[0:midPos]), nextPos, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, nextPos)
+
+       // DoAppendObject
+       request := &AppendObjectRequest{
+               ObjectKey: objectName,
+               Reader:    bytes.NewReader(val[midPos:]),
+               Position:  nextPos,
+       }
+       options := []Option{Progress(&OssProgressListener{})}
+       _, err = s.bucket.DoAppendObject(request, options)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("OssProgressSuite.TestAppendObject")
+}
+
+// TestMultipartUpload
+func (s *OssProgressSuite) TestMultipartUpload(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+       testLogger.Println("chunks:", chunks)
+
+       fd, err := os.Open(fileName)
+       c.Assert(err, IsNil)
+       defer fd.Close()
+
+       // Initiate
+       progressListener := OssProgressListener{}
+       imur, err := s.bucket.InitiateMultipartUpload(objectName)
+       c.Assert(err, IsNil)
+
+       // UploadPart
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               fd.Seek(chunk.Offset, os.SEEK_SET)
+               part, err := s.bucket.UploadPart(imur, fd, chunk.Size, chunk.Number, Progress(&progressListener))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       // Complete
+       _, err = s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("OssProgressSuite.TestMultipartUpload")
+}
+
+// TestMultipartUploadFromFile
+func (s *OssProgressSuite) TestMultipartUploadFromFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       var fileName = "../sample/BingWallpaper-2015-11-07.jpg"
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       chunks, err := SplitFileByPartNum(fileName, 3)
+       c.Assert(err, IsNil)
+
+       // Initiate
+       imur, err := s.bucket.InitiateMultipartUpload(objectName)
+       c.Assert(err, IsNil)
+
+       // UploadPart
+       progressListener := OssProgressListener{}
+       var parts []UploadPart
+       for _, chunk := range chunks {
+               part, err := s.bucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, chunk.Number, Progress(&progressListener))
+               c.Assert(err, IsNil)
+               parts = append(parts, part)
+       }
+
+       // Complete
+       _, err = s.bucket.CompleteMultipartUpload(imur, parts)
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("OssProgressSuite.TestMultipartUploadFromFile")
+}
+
+// TestGetObject
+func (s *OssProgressSuite) TestGetObject(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := "newpic-progress-1.jpg"
+
+       fileInfo, err := os.Stat(localFile)
+       c.Assert(err, IsNil)
+
+       progressListener := OssProgressListener{}
+       // PutObject
+       err = s.bucket.PutObjectFromFile(objectName, localFile, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // GetObject
+       progressListener.TotalRwBytes = 0
+       body, err := s.bucket.GetObject(objectName, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       _, err = ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // GetObjectToFile
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.GetObjectToFile(objectName, newFile, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // DoGetObject
+       progressListener.TotalRwBytes = 0
+       request := &GetObjectRequest{objectName}
+       options := []Option{Progress(&progressListener)}
+       result, err := s.bucket.DoGetObject(request, options)
+       c.Assert(err, IsNil)
+       _, err = ioutil.ReadAll(result.Response.Body)
+       c.Assert(err, IsNil)
+       result.Response.Body.Close()
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       // GetObject with range
+       progressListener.TotalRwBytes = 0
+       body, err = s.bucket.GetObject(objectName, Range(1024, 4*1024), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       text, err := ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(len(text)))
+
+       // PutObject size is 0
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.PutObject(objectName, strings.NewReader(""), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(0))
+
+       // GetObject size is 0
+       progressListener.TotalRwBytes = 0
+       body, err = s.bucket.GetObject(objectName, Progress(&progressListener))
+       c.Assert(err, IsNil)
+       _, err = ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       body.Close()
+       c.Assert(progressListener.TotalRwBytes, Equals, int64(0))
+
+       testLogger.Println("OssProgressSuite.TestGetObject")
+}
+
+// TestGetObjectNegative
+func (s *OssProgressSuite) TestGetObjectNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       // PutObject
+       err := s.bucket.PutObjectFromFile(objectName, localFile)
+       c.Assert(err, IsNil)
+
+       // GetObject
+       body, err := s.bucket.GetObject(objectName, Progress(&OssProgressListener{}))
+       c.Assert(err, IsNil)
+
+       buf := make([]byte, 4*1024)
+       n, err := body.Read(buf)
+       c.Assert(err, IsNil)
+
+       //time.Sleep(70 * time.Second) TODO
+
+       // Read should fail
+       for err == nil {
+               n, err = body.Read(buf)
+               n += n
+       }
+       c.Assert(err, NotNil)
+       body.Close()
+
+       testLogger.Println("OssProgressSuite.TestGetObjectNegative")
+}
+
+// TestUploadFile
+func (s *OssProgressSuite) TestUploadFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       progressListener := OssProgressListener{}
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(5), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), Checkpoint(true, objectName+".cp"), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       testLogger.Println("OssProgressSuite.TestUploadFile")
+}
+
+// TestDownloadFile
+func (s *OssProgressSuite) TestDownloadFile(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := "down-new-file-progress-2.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       // Upload
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       progressListener := OssProgressListener{}
+       err = s.bucket.DownloadFile(objectName, newFile, 100*1024, Routines(5), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.DownloadFile(objectName, newFile, 1024*1024, Routines(3), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.DownloadFile(objectName, newFile, 50*1024, Routines(3), Checkpoint(true, ""), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       testLogger.Println("OssProgressSuite.TestDownloadFile")
+}
+
+// TestCopyFile
+func (s *OssProgressSuite) TestCopyFile(c *C) {
+       srcObjectName := objectNamePrefix + RandStr(8)
+       destObjectName := srcObjectName + "-copy"
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       // Upload
+       progressListener := OssProgressListener{}
+       err = s.bucket.UploadFile(srcObjectName, fileName, 100*1024, Routines(3), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 100*1024, Routines(5), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       progressListener.TotalRwBytes = 0
+       err = s.bucket.CopyFile(bucketName, srcObjectName, destObjectName, 1024*100, Routines(3), Checkpoint(true, ""), Progress(&progressListener))
+       c.Assert(err, IsNil)
+       c.Assert(progressListener.TotalRwBytes, Equals, fileInfo.Size())
+
+       testLogger.Println("OssProgressSuite.TestCopyFile")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/redirect_1_6.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/redirect_1_6.go
new file mode 100644 (file)
index 0000000..d09bc5e
--- /dev/null
@@ -0,0 +1,11 @@
+// +build !go1.7
+
+package oss
+
+import "net/http"
+
+// http.ErrUseLastResponse only is defined go1.7 onward
+
+func disableHTTPRedirect(client *http.Client) {
+
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/redirect_1_7.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/redirect_1_7.go
new file mode 100644 (file)
index 0000000..5b0bb86
--- /dev/null
@@ -0,0 +1,12 @@
+// +build go1.7
+
+package oss
+
+import "net/http"
+
+// http.ErrUseLastResponse only is defined go1.7 onward
+func disableHTTPRedirect(client *http.Client) {
+       client.CheckRedirect = func(req *http.Request, via []*http.Request) error {
+               return http.ErrUseLastResponse
+       }
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_csv_objcet_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_csv_objcet_test.go
new file mode 100644 (file)
index 0000000..d406856
--- /dev/null
@@ -0,0 +1,627 @@
+package oss
+
+import (
+       "io/ioutil"
+       "os"
+       "strconv"
+       "strings"
+       "io"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssSelectCsvSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssSelectCsvSuite{})
+
+func (s *OssSelectCsvSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+       s.client.Config.LogLevel = Error // Debug
+       // s.client.Config.Timeout = 5
+       err = s.client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test select csv started")
+}
+
+func (s *OssSelectCsvSuite) TearDownSuite(c *C) {
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       err := s.client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test select csv completed")
+}
+
+func (s *OssSelectCsvSuite) SetUpTest(c *C) {
+       testLogger.Println("test func", c.TestName(), "start")
+}
+
+func (s *OssSelectCsvSuite) TearDownTest(c *C) {
+       testLogger.Println("test func", c.TestName(), "succeed")
+}
+
+// TestCreateSelectObjectMeta
+func (s *OssSelectCsvSuite) TestCreateSelectCsvObjectMeta(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       csvMeta := CsvMetaRequest{}
+       var bo bool
+       csvMeta.OverwriteIfExists = &bo
+       res, err := s.bucket.CreateSelectCsvObjectMeta(key, csvMeta)
+       c.Assert(err, IsNil)
+       l, err := readCsvLine(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(l))
+
+       bo = true
+       csvMeta.OverwriteIfExists = &bo
+       csvMeta.InputSerialization.CSV.RecordDelimiter = "\n"
+       csvMeta.InputSerialization.CSV.FieldDelimiter = ","
+       csvMeta.InputSerialization.CSV.QuoteCharacter = "\""
+       res, err = s.bucket.CreateSelectCsvObjectMeta(key, csvMeta)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(l))
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectIsEmpty(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       csvMeta := CsvMetaRequest{}
+       _, err = s.bucket.CreateSelectCsvObjectMeta(key, csvMeta)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression = "select Year, StateAbbr, CityName, PopulationCount from ossobject where CityName != ''"
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       p := make([]byte, 512)
+       n, err := body.Read(p)
+       c.Assert(err, IsNil)
+       c.Assert(n, Equals, 512)
+       p1 := make([]byte, 3)
+       _, err = body.Read(p1)
+       c.Assert(err, IsNil)
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err, IsNil)
+       str, err := readCsvIsEmpty(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(string(p)+string(p1)+string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectObjectIntoFile(c *C) {
+       var bo bool = true
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       csvMeta := CsvMetaRequest{
+               InputSerialization: InputSerialization {
+                       CSV: CSV {
+                               RecordDelimiter: "\n",
+                               FieldDelimiter: ",",
+                               QuoteCharacter: "\"",
+                       },
+               },
+               OverwriteIfExists: &bo,
+       }
+       res, err := s.bucket.CreateSelectCsvObjectMeta(key, csvMeta)
+       c.Assert(err, IsNil)
+       l, err := readCsvLine(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(l))
+
+       selReq := SelectRequest{
+               Expression:"select * from ossobject",
+               InputSerializationSelect: InputSerializationSelect {
+                       CsvBodyInput :CSVSelectInput{
+                               FileHeaderInfo: "None",
+                               CommentCharacter: "#",
+                               RecordDelimiter: "\n",
+                               FieldDelimiter: ",",
+                               QuoteCharacter:"\"",
+                               Range:"",
+                       },
+               },
+       }
+       outfile := "sample_data_out.csv"
+       err = s.bucket.SelectObjectIntoFile(key, outfile, selReq)
+       c.Assert(err, IsNil)
+
+       fd1, err := os.Open(outfile)
+       c.Assert(err,IsNil)
+       defer fd1.Close()
+       fd2, err := os.Open(localCsvFile)
+       c.Assert(err,IsNil)
+       defer fd2.Close()
+       str1, err := ioutil.ReadAll(fd1)
+       c.Assert(err,IsNil)
+       str2 ,err := ioutil.ReadAll(fd2)
+       c.Assert(err,IsNil)
+       c.Assert(string(str1), Equals, string(str2))
+       
+       err = os.Remove(outfile)
+       c.Assert(err, IsNil)
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func(s *OssSelectCsvSuite) TestSelectCsvObjectRange(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       csvMeta := CsvMetaRequest{}
+       _,err = s.bucket.CreateSelectCsvObjectMeta(key, csvMeta)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression = "select Year,StateAbbr, CityName, Short_Question_Text from ossobject"
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       selReq.InputSerializationSelect.CsvBodyInput.Range = "0-2"
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+       rets, err := ioutil.ReadAll(body)
+
+       str,err := readCsvRange(localCsvFile, 0, 2)
+       c.Assert(err, IsNil)
+       c.Assert(string(rets), Equals, str)
+       
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func(s *OssSelectCsvSuite) TestSelectCsvObjectLike(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  "select Year, StateAbbr, CityName, Short_Question_Text from ossobject where Measure like '%blood pressure%Years'"
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       str, err := readCsvLike(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func(s *OssSelectCsvSuite) TestSelectCsvObjectIntAggregation(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select avg(cast(year as int)), max(cast(year as int)), min(cast(year as int)) from ossobject where year = 2015`
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+
+       c.Assert(string(ts), Equals, "2015,2015,2015\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func(s *OssSelectCsvSuite) TestSelectCsvObjectFloatAggregation(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select avg(cast(data_value as double)), max(cast(data_value as double)), sum(cast(data_value as double)) from ossobject`
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       strR := string(ts)
+       c.Assert(err, IsNil)
+
+       avg, max, sum , err := readCsvFloatAgg(localCsvFile)
+       c.Assert(err, IsNil)
+       
+       s1 := strconv.FormatFloat(avg, 'f', 5, 32) + ","
+       s1 += strconv.FormatFloat(max, 'f', 5, 32) + ","
+       s1 += strconv.FormatFloat(sum, 'f', 5, 32) + ","
+       retS := ""
+       for _, v := range strings.Split(strR[:len(strR)-1], ",") {
+               vv, err := strconv.ParseFloat(v, 64)
+               c.Assert(err, IsNil)
+               retS += strconv.FormatFloat(vv, 'f', 5, 32) + ","
+       }
+       c.Assert(s1, Equals, retS)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func(s *OssSelectCsvSuite) TestSelectCsvObjectConcat(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select Year,StateAbbr, CityName, Short_Question_Text from ossobject where (data_value || data_value_unit) = '14.8%'`
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+
+       str, err := readCsvConcat(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectComplicateConcat(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `
+       select 
+               Year,StateAbbr, CityName, Short_Question_Text, data_value, 
+               data_value_unit, category, high_confidence_limit 
+       from 
+               ossobject 
+       where 
+               data_value > 14.8 and 
+               data_value_unit = '%' or 
+               Measure like '%18 Years' and 
+               Category = 'Unhealthy Behaviors' or 
+               high_confidence_limit > 70.0 `
+       
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+
+       str, err := readCsvComplicateCondition(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectInvalidSql(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select * from ossobject where avg(cast(year as int)) > 2016`
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression =  ``
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression =  `select year || CityName from ossobject`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression =  `select * from ossobject group by CityName`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression =  `select * from ossobject order by _1`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression =  `select * from ossobject oss join s3object s3 on oss.CityName = s3.CityName`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression =  `select _1 from ossobject`
+       ret, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       _, err = ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectWithOutputDelimiters(c *C) {
+       key := "sample_data.csv"
+       content := "abc,def\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select _1, _2 from ossobject `
+       selReq.OutputSerializationSelect.CsvBodyOutput.RecordDelimiter = "\r\n"
+       selReq.OutputSerializationSelect.CsvBodyOutput.FieldDelimiter = "|"
+
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "abc|def\r\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectWithCrc(c *C) {
+       key := "sample_data.csv"
+       content := "abc,def\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select * from ossobject`
+       bo := true
+       selReq.OutputSerializationSelect.EnablePayloadCrc = &bo
+
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, content)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectWithSkipPartialData(c *C) {
+       key := "sample_data.csv"
+       content := "abc,def\nefg\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select _1, _2 from ossobject`
+       bo := true
+       selReq.SelectOptions.SkipPartialDataRecord = &bo
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "abc,def\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectWithOutputRaw(c *C) {
+       key := "sample_data.csv"
+       content := "abc,def\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select _1 from ossobject`
+       bo := true
+       selReq.OutputSerializationSelect.OutputRawData = &bo
+
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "abc\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectWithKeepColumns(c *C) {
+       key := "sample_data.csv"
+       content := "abc,def\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select _1 from ossobject`
+       bo := true
+       selReq.OutputSerializationSelect.KeepAllColumns = &bo
+
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "abc,\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectWithOutputHeader(c *C) {
+       key := "sample_data.csv"
+       content := "name,job\nabc,def\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select name from ossobject`
+       bo := true
+       selReq.OutputSerializationSelect.OutputHeader = &bo
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "name\nabc\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectCsvSuite) TestSelectCsvObjectRead(c *C) {
+       key := "sample_data.csv"
+       content := "name,job\nabc,def\n"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select name from ossobject`
+       bo := true
+       selReq.OutputSerializationSelect.OutputHeader = &bo
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       selReq.OutputSerializationSelect.EnablePayloadCrc = &bo
+
+       ret,err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+
+       // case 1: read length > data length
+       p := make([]byte, 512)
+       n, err := ret.Read(p[:20])
+       if err != nil && err != io.EOF {
+               c.Assert(err, IsNil)
+       }
+       c.Assert(string(p[:n]), Equals, "name\nabc\n")
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "")
+
+       // case 2: read length = data length
+       ret,err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       n, err = ret.Read(p[:9])
+       if err != nil && err != io.EOF {
+               c.Assert(err, IsNil)
+       }
+       c.Assert(string(p[:n]), Equals, "name\nabc\n")
+       ts, err = ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "")
+
+       // case 3: read length > one frame length and read length < two frame, (this data = 2 * frame length)
+       ret,err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       n, err = ret.Read(p[:7])
+       if err != nil && err != io.EOF {
+               c.Assert(err, IsNil)
+       }
+       c.Assert(string(p[:n]), Equals, "name\nab")
+       ts, err = ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "c\n")
+
+       // case 4: read length = a frame length (this data = 2 * frame length)
+       ret,err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       n, err = ret.Read(p[:5])
+       if err != nil && err != io.EOF {
+               c.Assert(err, IsNil)
+       }
+       c.Assert(string(p[:n]), Equals, "name\n")
+       ts, err = ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "abc\n")
+
+       // case 5: read length < a frame length (this data = 2 * frame length)
+       ret,err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       n, err = ret.Read(p[:3])
+       if err != nil && err != io.EOF {
+               c.Assert(err, IsNil)
+       }
+       c.Assert(string(p[:n]), Equals, "nam")
+       ts, err = ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, "e\nabc\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+// OssProgressListener is the progress listener
+type OssSelectProgressListener struct {
+}
+// ProgressChanged handles progress event
+func (listener *OssSelectProgressListener) ProgressChanged(event *ProgressEvent) {
+       switch event.EventType {
+       case TransferStartedEvent:
+               testLogger.Printf("Transfer Started.\n")
+       case TransferDataEvent:
+               testLogger.Printf("Transfer Data, This time consumedBytes: %d \n", event.ConsumedBytes)
+       case TransferCompletedEvent:
+               testLogger.Printf("Transfer Completed, This time consumedBytes: %d.\n", event.ConsumedBytes)
+       case TransferFailedEvent:
+               testLogger.Printf("Transfer Failed, This time consumedBytes: %d.\n", event.ConsumedBytes)
+       default:
+       }
+}
+
+func(s *OssSelectCsvSuite) TestSelectCsvObjectConcatProgress(c *C) {
+       key := "sample_data.csv"
+       localCsvFile := "../sample/sample_data.csv"
+       err := s.bucket.PutObjectFromFile(key, localCsvFile)
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression =  `select Year,StateAbbr, CityName, Short_Question_Text from ossobject where (data_value || data_value_unit) = '14.8%'`
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       ret,err := s.bucket.SelectObject(key, selReq, Progress(&OssSelectProgressListener{}))
+       c.Assert(err, IsNil)
+       defer ret.Close()
+       ts, err := ioutil.ReadAll(ret)
+       c.Assert(err, IsNil)
+
+       str, err := readCsvConcat(localCsvFile)
+       c.Assert(err, IsNil)
+       c.Assert(string(ts), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_json_object_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_json_object_test.go
new file mode 100644 (file)
index 0000000..e4af98c
--- /dev/null
@@ -0,0 +1,488 @@
+package oss
+
+import (
+       . "gopkg.in/check.v1"
+       "os"
+       "io/ioutil"
+       "strings"
+       "net/http"
+)
+
+type OssSelectJsonSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssSelectJsonSuite{})
+
+func (s *OssSelectJsonSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+       s.client.Config.LogLevel = Error // Debug
+       err = s.client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test select json started")
+}
+
+func(s *OssSelectJsonSuite) TearDownSuite(c *C){
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       err := s.client.DeleteBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test select json completed")
+}
+
+func (s *OssSelectJsonSuite) SetUpTest(c *C) {
+       testLogger.Println("test func", c.TestName(), "start")
+}
+
+func (s *OssSelectJsonSuite) TearDownTest(c *C) {
+       testLogger.Println("test func", c.TestName(), "succeed")
+}
+
+func (s *OssSelectJsonSuite) TestCreateSelectJsonObjectMeta(c *C){
+       key := "sample_json_lines.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+       jsonMeta := JsonMetaRequest{
+               InputSerialization: InputSerialization {
+                       JSON: JSON {
+                               JSONType:"LINES",
+                       },
+               },
+       }
+       res,err := s.bucket.CreateSelectJsonObjectMeta(key, jsonMeta)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(100))
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonDocument(c *C){
+       key := "sample_json.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json.json")
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression = "select * from ossobject.objects[*] where party = 'Democrat'"
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "DOCUMENT"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+
+       var responseHeader http.Header
+       body, err := s.bucket.SelectObject(key, selReq, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       defer body.Close()
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       p := make([]byte, 512)
+       n, err := body.Read(p)
+       c.Assert(err, IsNil)
+       c.Assert(n, Equals, 512)
+       p1 := make([]byte, 3)
+       _, err = body.Read(p1)
+       c.Assert(err, IsNil)
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       str,err := readJsonDocument("../sample/sample_json.json")
+       c.Assert(err, IsNil)
+       c.Assert(string(p) + string(p1) + string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonLines(c *C) {
+       key := "sample_json_lines.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression = "select * from ossobject where party = 'Democrat'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+
+       var responseHeader http.Header
+       body, err := s.bucket.SelectObject(key, selReq, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       defer body.Close()
+       
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       str,err := readJsonDocument("../sample/sample_json.json")
+       c.Assert(string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonLinesIntoFile(c *C) {
+       key := "sample_json_lines.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+       
+       jsonMeta := JsonMetaRequest{
+               InputSerialization: InputSerialization {
+                       JSON: JSON {
+                               JSONType:"LINES",
+                       },
+               },
+       }
+       res,err := s.bucket.CreateSelectJsonObjectMeta(key, jsonMeta)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(100))
+
+       selReq := SelectRequest{}
+       selReq.Expression = "select * from ossobject where party = 'Democrat'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+
+       var responseHeader http.Header
+       outfile := "sample_json_out.json"
+       err = s.bucket.SelectObjectIntoFile(key, outfile, selReq, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       _, err = os.Stat(outfile)
+       c.Assert(err,IsNil)
+       err = os.Remove(outfile)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonDocumentIntoFile(c *C) {
+       key := "sample_json_lines.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json.json")
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.Expression = "select * from ossobject.objects[*] where party = 'Democrat'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "DOCUMENT"
+
+       var responseHeader http.Header
+       outfile := "sample_json_out.json"
+       err = s.bucket.SelectObjectIntoFile(key, outfile, selReq, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       _, err = os.Stat(outfile)
+       c.Assert(err,IsNil)
+       err = os.Remove(outfile)
+       c.Assert(err, IsNil)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonLinesLike(c *C) {
+       key := "sample_json_lines.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+       selReq := SelectRequest{}
+       selReq.Expression = "select person.firstname, person.lastname from ossobject where person.birthday like '1959%'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+
+       jsonMeta := JsonMetaRequest{
+               InputSerialization: InputSerialization {
+                       JSON: JSON {
+                               JSONType:"LINES",
+                       },
+               },
+       }
+       res,err := s.bucket.CreateSelectJsonObjectMeta(key, jsonMeta)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(100))
+
+       var responseHeader http.Header
+       body, err := s.bucket.SelectObject(key, selReq, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       defer body.Close()
+       
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       str,err := readJsonLinesLike("../sample/sample_json.json")
+       c.Assert(string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonLinesRange(c *C) {
+       key := "sample_json_lines.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+       jsonMeta := JsonMetaRequest{
+               InputSerialization: InputSerialization {
+                       JSON: JSON {
+                               JSONType:"LINES",
+                       },
+               },
+       }
+       res,err := s.bucket.CreateSelectJsonObjectMeta(key, jsonMeta)
+       c.Assert(err, IsNil)
+       c.Assert(res.RowsCount, Equals, int64(100))
+
+       selReq := SelectRequest{}
+       selReq.Expression = "select person.firstname as aaa as firstname, person.lastname, extra from ossobject'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+       selReq.InputSerializationSelect.JsonBodyInput.Range = "0-1"
+       
+       var responseHeader http.Header
+       body, err := s.bucket.SelectObject(key, selReq, GetResponseHeader(&responseHeader))
+       c.Assert(err, IsNil)
+       defer body.Close()
+       
+       requestId := GetRequestId(responseHeader)
+       c.Assert(len(requestId) > 0, Equals, true)
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       str,err := readJsonLinesRange("../sample/sample_json.json", 0, 2)
+       c.Assert(string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonDocumentIntAggregation(c *C) {
+       key := "sample_json.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json.json")
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.Expression = `
+       select 
+               avg(cast(person.cspanid as int)), max(cast(person.cspanid as int)), 
+               min(cast(person.cspanid as int)) 
+       from 
+               ossobject.objects[*] 
+       where 
+               person.cspanid = 1011723
+       `
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "Document"
+       
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       c.Assert(string(rets), Equals, "{\"_1\":1011723,\"_2\":1011723,\"_3\":1011723},")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonDocumentFloatAggregation(c *C) {
+       key := "sample_json.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json.json")
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.Expression = `
+       select 
+               avg(cast(person.cspanid as double)), max(cast(person.cspanid as double)), 
+               min(cast(person.cspanid as double)) 
+       from 
+               ossobject.objects[*]
+       `
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "Document"
+       
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       testLogger.Println(string(rets))
+       // avg, max, min, err := readJsonFloatAggregation("../sample/sample_json.json")
+       // fmt.Println(string(rets), "\n", avg, max, min)
+       // retsArr := strings.Split(string(rets), ":")
+       // s1 := strconv.FormatFloat(avg, 'f', 6, 64) + ","
+       // s1 += strconv.FormatFloat(max, 'f', 6, 64) + ","
+       // s1 += strconv.FormatFloat(min, 'f', 6, 64) + ","
+       // retS := ""
+       // l := len(retsArr[1])
+       // vv, err := strconv.ParseFloat(retsArr[1][:l-35], 64)
+       // c.Assert(err, IsNil)
+       // retS += strconv.FormatFloat(vv, 'f', 6, 64) + ","
+       // l = len(retsArr[2])
+       // vv, err = strconv.ParseFloat(retsArr[2][:l-6], 64)
+       // c.Assert(err, IsNil)
+       // retS += strconv.FormatFloat(vv, 'f', 6, 64) + ","
+       // l = len(retsArr[3])
+       // vv, err = strconv.ParseFloat(retsArr[3][:l-2], 64)
+       // c.Assert(err, IsNil)
+       // retS += strconv.FormatFloat(vv, 'f', 6, 64) + ","
+       // c.Assert(retS, Equals, s1)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonDocumentConcat(c *C) {
+       key := "sample_json.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json.json")
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.Expression = `
+       select 
+               person 
+       from 
+               ossobject.objects[*] 
+       where 
+               (person.firstname || person.lastname) = 'JohnKennedy'
+       `
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "Document"
+       
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       str, err := readJsonDocumentConcat("../sample/sample_json.json")
+       c.Assert(err,IsNil)
+       c.Assert(string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonComplicateConcat(c *C) {
+       key := "sample_json.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.Expression = `
+       select 
+               person.firstname, person.lastname, congress_numbers 
+       from
+               ossobject 
+       where
+               startdate > '2017-01-01' and 
+               senator_rank = 'junior' or 
+               state = 'CA' and 
+               party = 'Republican'
+       `
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+       
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       str, err := readJsonComplicateConcat("../sample/sample_json.json")
+       c.Assert(err,IsNil)
+       c.Assert(string(rets), Equals, str)
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonLineInvalidSql(c *C) {
+       key := "sample_json.json"
+       err := s.bucket.PutObjectFromFile(key, "../sample/sample_json_lines.json")
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+       
+       selReq.Expression = `select * from ossobject where avg(cast(person.birthday as int)) > 2016`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression = ``
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression = `select person.lastname || person.firstname from ossobject`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression = `select * from ossobject group by person.firstname`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression = `select * from ossobject order by _1`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       selReq.Expression = `select * from ossobject oss join s3object s3 on oss.CityName = s3.CityName`
+       _, err = s.bucket.SelectObject(key, selReq)
+       c.Assert(err, NotNil)
+
+       err = s.bucket.PutObjectFromFile(key, "../sample/sample_json.json")
+       c.Assert(err, IsNil)
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "DOCUMENT"
+       selReq.Expression = `select _1 from ossobject.objects[*]`
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
+
+func (s *OssSelectJsonSuite) TestSelectJsonParseNumAsString(c *C) {
+       key := "sample_json.json"
+       content := "{\"a\":123456789.123456789}"
+       err := s.bucket.PutObject(key, strings.NewReader(content))
+       c.Assert(err, IsNil)
+
+       selReq := SelectRequest{}
+       selReq.Expression = `select a from ossobject where cast(a as decimal) = 123456789.1234567890`
+       bo := true
+       selReq.InputSerializationSelect.JsonBodyInput.ParseJSONNumberAsString = &bo
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "DOCUMENT"
+       
+       body, err := s.bucket.SelectObject(key, selReq)
+       c.Assert(err, IsNil)
+       defer body.Close()
+
+       rets, err := ioutil.ReadAll(body)
+       c.Assert(err,IsNil)
+       c.Assert(string(rets), Equals, "{\"a\":123456789.123456789}\n")
+
+       err = s.bucket.DeleteObject(key)
+       c.Assert(err, IsNil)
+}
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object.go
new file mode 100644 (file)
index 0000000..2e0da46
--- /dev/null
@@ -0,0 +1,197 @@
+package oss
+
+import (
+       "bytes"
+       "encoding/xml"
+       "hash/crc32"
+       "io"
+       "io/ioutil"
+       "net/http"
+       "os"
+       "strings"
+)
+
+// CreateSelectCsvObjectMeta is Creating csv object meta
+//
+// key                 the object key.
+// csvMeta                     the csv file meta
+// options             the options for create csv Meta  of the object.
+//
+// MetaEndFrameCSV     the csv file meta info
+// error               it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) CreateSelectCsvObjectMeta(key string, csvMeta CsvMetaRequest, options ...Option) (MetaEndFrameCSV, error) {
+       var endFrame MetaEndFrameCSV
+       params := map[string]interface{}{}
+       params["x-oss-process"] = "csv/meta"
+
+       csvMeta.encodeBase64()
+       bs, err := xml.Marshal(csvMeta)
+       if err != nil {
+               return endFrame, err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       resp, err := bucket.DoPostSelectObject(key, params, buffer, options...)
+       if err != nil {
+               return endFrame, err
+       }
+       defer resp.Body.Close()
+
+       _, err = ioutil.ReadAll(resp)
+
+       return resp.Frame.MetaEndFrameCSV, err
+}
+
+// CreateSelectJsonObjectMeta is Creating json object meta
+//
+// key                         the object key.
+// csvMeta                             the json file meta
+// options                     the options for create json Meta  of the object.
+//
+// MetaEndFrameJSON    the json file meta info
+// error                       it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) CreateSelectJsonObjectMeta(key string, jsonMeta JsonMetaRequest, options ...Option) (MetaEndFrameJSON, error) {
+       var endFrame MetaEndFrameJSON
+       params := map[string]interface{}{}
+       params["x-oss-process"] = "json/meta"
+
+       bs, err := xml.Marshal(jsonMeta)
+       if err != nil {
+               return endFrame, err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+
+       resp, err := bucket.DoPostSelectObject(key, params, buffer, options...)
+       if err != nil {
+               return endFrame, err
+       }
+       defer resp.Body.Close()
+
+       _, err = ioutil.ReadAll(resp)
+
+       return resp.Frame.MetaEndFrameJSON, err
+}
+
+// SelectObject is the select object api, approve csv and json file.
+//
+// key                 the object key.
+// selectReq           the request data for select object
+// options             the options for select file of the object.
+//
+// o.ReadCloser        reader instance for reading data from response. It must be called close() after the usage and only valid when error is nil.
+// error               it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) SelectObject(key string, selectReq SelectRequest, options ...Option) (io.ReadCloser, error) {
+       params := map[string]interface{}{}
+       if selectReq.InputSerializationSelect.JsonBodyInput.JsonIsEmpty() {
+               params["x-oss-process"] = "csv/select" // default select csv file
+       } else {
+               params["x-oss-process"] = "json/select"
+       }
+       selectReq.encodeBase64()
+       bs, err := xml.Marshal(selectReq)
+       if err != nil {
+               return nil, err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+       resp, err := bucket.DoPostSelectObject(key, params, buffer, options...)
+       if err != nil {
+               return nil, err
+       }
+       if selectReq.OutputSerializationSelect.EnablePayloadCrc != nil && *selectReq.OutputSerializationSelect.EnablePayloadCrc == true {
+               resp.Frame.EnablePayloadCrc = true
+       }
+       resp.Frame.OutputRawData = strings.ToUpper(resp.Headers.Get("x-oss-select-output-raw")) == "TRUE"
+
+       return resp, err
+}
+
+// DoPostSelectObject is the SelectObject/CreateMeta api, approve csv and json file.
+//
+// key                         the object key.
+// params                              the resource of oss approve csv/meta, json/meta, csv/select, json/select.
+// buf                                 the request data trans to buffer.
+// options                     the options for select file of the object.
+//
+// SelectObjectResponse        the response of select object.
+// error                       it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) DoPostSelectObject(key string, params map[string]interface{}, buf *bytes.Buffer, options ...Option) (*SelectObjectResponse, error) {
+       resp, err := bucket.do("POST", key, params, options, buf, nil)
+       if err != nil {
+               return nil, err
+       }
+
+       result := &SelectObjectResponse{
+               Body:       resp.Body,
+               StatusCode: resp.StatusCode,
+               Frame:      SelectObjectResult{},
+       }
+       result.Headers = resp.Headers
+       // result.Frame = SelectObjectResult{}
+       result.ReadTimeOut = bucket.GetConfig().Timeout
+
+       // Progress
+       listener := GetProgressListener(options)
+
+       // CRC32
+       crcCalc := crc32.NewIEEE()
+       result.WriterForCheckCrc32 = crcCalc
+       result.Body = TeeReader(resp.Body, nil, 0, listener, nil)
+
+       err = CheckRespCode(resp.StatusCode, []int{http.StatusPartialContent, http.StatusOK})
+
+       return result, err
+}
+
+// SelectObjectIntoFile is the selectObject to file api
+//
+// key         the object key.
+// fileName            saving file's name to localstation.
+// selectReq           the request data for select object
+// options             the options for select file of the object.
+//
+// error       it's nil if no error, otherwise it's an error object.
+//
+func (bucket Bucket) SelectObjectIntoFile(key, fileName string, selectReq SelectRequest, options ...Option) error {
+       tempFilePath := fileName + TempFileSuffix
+
+       params := map[string]interface{}{}
+       if selectReq.InputSerializationSelect.JsonBodyInput.JsonIsEmpty() {
+               params["x-oss-process"] = "csv/select" // default select csv file
+       } else {
+               params["x-oss-process"] = "json/select"
+       }
+       selectReq.encodeBase64()
+       bs, err := xml.Marshal(selectReq)
+       if err != nil {
+               return err
+       }
+       buffer := new(bytes.Buffer)
+       buffer.Write(bs)
+       resp, err := bucket.DoPostSelectObject(key, params, buffer, options...)
+       if err != nil {
+               return err
+       }
+       defer resp.Close()
+
+       // If the local file does not exist, create a new one. If it exists, overwrite it.
+       fd, err := os.OpenFile(tempFilePath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, FilePermMode)
+       if err != nil {
+               return err
+       }
+
+       // Copy the data to the local file path.
+       _, err = io.Copy(fd, resp)
+       fd.Close()
+       if err != nil {
+               return err
+       }
+
+       return os.Rename(tempFilePath, fileName)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object_read_file_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object_read_file_test.go
new file mode 100644 (file)
index 0000000..7629087
--- /dev/null
@@ -0,0 +1,542 @@
+package oss
+
+import (
+       "bufio"
+       "io"
+       "os"
+       "strings"
+       "strconv"
+       "regexp"
+       "encoding/json"
+       "encoding/csv"
+)
+
+func handleError(err error) error {
+       if err == nil {
+               return nil
+       }
+       return err
+}
+
+func readCsvLine(fileName string) (int, error) {
+       file, err := os.Open(fileName)
+       if err != nil {
+               return 0,err
+       }
+       defer file.Close()
+       rd := csv.NewReader(file)
+       rc, err := rd.ReadAll()
+       return len(rc), err
+}
+func readCsvIsEmpty(fileName string) (string, error) {
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "",err
+       }
+       defer file.Close()
+       var out string
+       var i, index int
+       var indexYear, indexStateAbbr, indexCityName, indexPopulationCount int
+
+       rd := bufio.NewReader(file)
+       for {
+               line, err := rd.ReadString('\n') // read a line
+               if io.EOF == err {
+                       break
+               }
+               if err != nil {
+                       return "",err
+               }
+
+               sptLint := strings.Split(line, ",")
+               if i == 0 {
+                       i = 1
+                       for _, val := range sptLint {
+                               switch val {
+                               case "Year":
+                                       indexYear = index
+                               case "StateAbbr":
+                                       indexStateAbbr = index
+                               case "CityName":
+                                       indexCityName = index
+                               case "PopulationCount":
+                                       indexPopulationCount = index
+                               }
+                               index++
+                       }
+               } else {
+                       if sptLint[indexCityName] != "" {
+                               outLine := sptLint[indexYear] + "," + sptLint[indexStateAbbr] + "," + sptLint[indexCityName] + "," + sptLint[indexPopulationCount] + "\n"
+                               out += outLine
+                       }
+               }
+       }
+
+       return out, nil
+}
+
+func readCsvLike(fileName string) (string, error) {
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "",err
+       }
+       defer file.Close()
+       var out string
+       var i, index int
+       var indexYear,indexStateAbbr,indexCityName,indexPopulationCount,indexMeasure int
+
+       rd := bufio.NewReader(file)
+       for {
+               line, err := rd.ReadString('\n') // read a line
+               if io.EOF == err {
+                       break
+               }
+               if err != nil {
+                       return "",err
+               }
+
+               //utf8Lint := ConvertToString(line,"gbk", "utf-8")
+               sptLint := strings.Split(line[:(len(line)-1)], ",")
+               if i == 0 {
+                       i = 1
+                       for _, val := range sptLint {
+                               switch val {
+                               case "Year":indexYear = index
+                               case "StateAbbr":indexStateAbbr = index
+                               case "CityName":indexCityName = index
+                               case "Short_Question_Text":indexPopulationCount = index
+                               case "Measure":indexMeasure = index
+                               }
+                               index++
+                       }
+               } else {
+                       if sptLint[indexMeasure] != "" {
+                               reg := regexp.MustCompile("^.*blood pressure.*Years$")
+                               res := reg.FindAllString(sptLint[indexMeasure], -1)
+                               if len(res) > 0 {
+                                       outLine := sptLint[indexYear] + "," +sptLint[indexStateAbbr] + "," +sptLint[indexCityName] + "," + sptLint[indexPopulationCount] + "\n"
+                                       out += outLine
+                               }
+                       }
+               }
+       }
+
+       return out, nil
+}
+
+func readCsvRange(fileName string, l int, r int) (string, error) {
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "", err
+       }
+       defer file.Close()
+       var out string
+       var i, index int
+       var indexYear,indexStateAbbr,indexCityName,indexPopulationCount int
+
+       rd := bufio.NewReader(file)
+       for j := 0; j < r + 1; j++ {
+               if j < l {
+                       continue
+               }
+               line, err := rd.ReadString('\n') // read a line
+               if io.EOF == err {
+                       break
+               }
+               if err != nil {
+                       return "", err
+               }
+
+               sptLint := strings.Split(line[:(len(line)-1)], ",")
+               if i == 0 {
+                       i = 1
+                       for _, val := range sptLint {
+                               switch val {
+                               case "Year":indexYear = index
+                               case "StateAbbr":indexStateAbbr = index
+                               case "CityName":indexCityName = index
+                               case "Short_Question_Text":indexPopulationCount = index
+                               }
+                               index++
+                       }
+               } else {
+                       outLine := sptLint[indexYear] + "," +sptLint[indexStateAbbr] + "," +sptLint[indexCityName] + "," + sptLint[indexPopulationCount] + "\n"
+                       out += outLine
+               }
+       }
+
+       return out, nil
+}
+
+func readCsvFloatAgg(fileName string) (avg, max, sum float64,  er error) {
+       file, err := os.Open(fileName)
+       if err != nil {
+               er = err
+               return
+       }
+       defer file.Close()
+       var i, index int
+       var indexDataValue int
+
+       rd := csv.NewReader(file)
+
+       for {
+               rc, err := rd.Read()
+               if io.EOF == err {
+                       break
+               }
+               if err != nil {
+                       er = err
+                       return
+               }
+               if i == 0 {
+                       i=1
+                       for index = 0; index < len(rc); index++ {
+                               if rc[index] == "Data_Value" {
+                                       indexDataValue = index
+                               }
+                       }
+               } else {
+                       if rc[indexDataValue] != "" {
+                               s1, err := strconv.ParseFloat(rc[indexDataValue], 64)
+                               if err != nil {
+                                       er = err
+                                       return
+                               }
+                               sum +=s1
+                               if s1 > max {
+                                       max = s1
+                               }
+                               i++
+                       }
+               }
+       }
+       avg = sum / float64(i-1)
+       return 
+}
+func readCsvConcat(fileName string) (string, error) {
+       var out string
+       file, err := os.Open(fileName)
+       if err != nil {
+               return out, err
+       }
+       defer file.Close()
+       var i int
+       var indexDataValue int
+       var indexYear,indexStateAbbr,indexCityName,indexShortQuestionText, indexDataValueUnit int
+       
+       rd := csv.NewReader(file)
+
+       for {
+               rc, err := rd.Read()
+               if io.EOF == err {
+                       break
+               }
+               if err != nil {
+                       return out, err
+               }
+               if i == 0 {
+                       for j, v := range rc {
+                               switch v {
+                                       case "Year":indexYear = j
+                                       case "StateAbbr":indexStateAbbr = j
+                                       case "CityName":indexCityName = j
+                                       case "Short_Question_Text":indexShortQuestionText = j
+                                       case "Data_Value_Unit":indexDataValueUnit = j
+                                       case "Data_Value":indexDataValue = j
+                               }
+                       }
+               } else {
+                       i++
+                       if rc[indexDataValue] != "" || rc[indexDataValueUnit] != "" {
+                               reg := regexp.MustCompile("^14.8.*$")
+                               reD := reg.FindAllString(rc[indexDataValue], -1)
+                               reDU := reg.FindAllString(rc[indexDataValueUnit], -1)
+                               if len(reD) > 0 || len(reDU) > 0 {
+                                       outLine := rc[indexYear] + "," +rc[indexStateAbbr] + "," +rc[indexCityName] + "," + rc[indexShortQuestionText] + "\n"
+                                       out += outLine
+                               }
+                       }
+               }
+               i++
+       }
+       return out, nil
+}
+func readCsvComplicateCondition(fileName string)(string, error) {
+       var out string
+       file, err := os.Open(fileName)
+       if err != nil {
+               return out, err
+       }
+       defer file.Close()
+       var i int
+       var indexDataValue, indexCategory, indexHighConfidenceLimit, indexMeasure int
+       var indexYear,indexStateAbbr,indexCityName,indexShortQuestionText, indexDataValueUnit int
+       
+       rd := csv.NewReader(file)
+
+       for {
+               rc, err := rd.Read()
+               if io.EOF == err {
+                       break
+               }
+               if err != nil {
+                       return out, err
+               }
+               if i == 0 {
+                       for j, v := range rc {
+                               switch v {
+                                       case "Year":indexYear = j
+                                       case "StateAbbr":indexStateAbbr = j
+                                       case "CityName":indexCityName = j
+                                       case "Short_Question_Text":indexShortQuestionText = j
+                                       case "Data_Value_Unit":indexDataValueUnit = j
+                                       case "Data_Value":indexDataValue = j
+                                       case "Measure":indexMeasure = j
+                                       case "Category":indexCategory = j
+                                       case "High_Confidence_Limit":indexHighConfidenceLimit = j
+                               }
+                       }
+               } else {
+                       reg := regexp.MustCompile("^.*18 Years$")
+                       reM := reg.FindAllString(rc[indexMeasure], -1)
+                       var dataV, limitV float64
+                       if rc[indexDataValue] != "" {
+                               dataV, err = strconv.ParseFloat(rc[indexDataValue], 64)
+                               if err != nil {
+                                       return out, err
+                               }
+                       }
+                       if rc[indexHighConfidenceLimit] != "" {
+                               limitV, err = strconv.ParseFloat(rc[indexHighConfidenceLimit], 64)
+                               if err != nil {
+                                       return out, err
+                               }
+                       }
+                       if dataV > 14.8 && rc[indexDataValueUnit] == "%" || len(reM) > 0  && 
+                               rc[indexCategory] == "Unhealthy Behaviors" || limitV > 70.0 {
+                                       outLine := rc[indexYear] + "," +rc[indexStateAbbr] + "," +rc[indexCityName] + "," + rc[indexShortQuestionText] + "," + rc[indexDataValue] + "," + rc[indexDataValueUnit] + "," + rc[indexCategory] + "," + rc[indexHighConfidenceLimit] + "\n"
+                                       out += outLine
+                       }
+               }
+               i++
+       }
+       return out, nil
+}
+
+
+type Extra struct {
+       Address string `json:"address"`
+       ContactForm string `json:"contact_form"`
+       Fax string `json:"fax,omitempty"`
+       How string `json:"how,omitempty"`
+       Office string `json:"office"`
+       RssUrl string `json:"rss_url,omitempty"`
+}
+
+type Person struct {
+       Bioguideid string `json:"bioguideid"`
+       Birthday string `json:"birthday"`
+       Cspanid int `json:"cspanid"`
+       Firstname string `json:"firstname"`
+       Gender string `json:"gender"`
+       GenderLabel string `json:"gender_label"`
+       Lastname string `json:"lastname"`
+       Link string `json:"link"`
+       Middlename string `json:"middlename"`
+       Name string `json:"name"`
+       Namemod string `json:"namemod"`
+       Nickname string `json:"nickname"`
+       Osid string `json:"osid"`
+       Pvsid *string `json:"pvsid"`
+       Sortname string `json:"sortname"`
+       Twitterid *string `json:"twitterid"`
+       Youtubeid *string `json:"youtubeid"`
+}
+
+type JsonLineSt struct {
+       Caucus *string `json:"caucus"`
+       CongressNumbers []int `json:"congress_numbers"`
+       Current  bool `json:"current"`
+       Description string `json:"description"`
+       District *string `json:"district"`
+       Enddate string `json:"enddate"`
+       Extra Extra `json:"extra"`
+       LeadershipTitle *string `json:"leadership_title"`
+       Party string `json:"party"`
+       Person Person `json:"person"`
+       Phone string `json:"phone"`
+       RoleType string `json:"role_type"`
+       RoleTypeLabel string `json:"role_type_label"`
+       SenatorClass string `json:"senator_class"`
+       SenatorClassLabel string `json:"senator_class_label"`
+       SenatorRank string `json:"senator_rank"`
+       SenatorRankLabel string `json:"senator_rank_label"`
+       Startdate string `json:"startdate"`
+       State string `json:"state"`
+       Title string `json:"title"`
+       TitleLong string `json:"title_long"`
+       Website string `json:"website"`
+}
+type Metast struct {
+       limit int 
+       Offset int
+       TotalCount int
+}
+
+type JsonSt struct {
+       Meta Metast
+       Objects []JsonLineSt `json:"objects"`
+}
+
+func readJsonDocument(fileName string) (string, error){
+       var out string
+       var data JsonSt
+    file, err := os.Open(fileName)
+    if err != nil {
+           return "",err
+    }
+    decoder := json.NewDecoder(file)
+    err = decoder.Decode(&data)
+    for _, v := range data.Objects {
+           if v.Party == "Democrat"{
+                  lint, err := json.Marshal(v)
+                  if err != nil {
+                          return "",err
+                  }
+                  lints := strings.Replace(string(lint), "\\u0026", "&", -1)
+                  out += lints + ","
+           }
+    }
+    return out, err
+}
+func readJsonLinesLike(fileName string) (string, error){
+       var out string
+       var data JsonSt
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "",err
+       }
+       decoder := json.NewDecoder(file)
+       err = decoder.Decode(&data)
+       reg := regexp.MustCompile("^1959.*")
+       for _, v := range data.Objects {
+               reB := reg.FindAllString(v.Person.Birthday, -1)
+               if len(reB) > 0 {
+                       lints := "{\"firstname\":\"" + v.Person.Firstname + "\",\"lastname\":\"" + v.Person.Lastname + "\"}"
+                       out += lints + ","
+               }
+       }
+
+       return out, err
+}
+
+func readJsonLinesRange(fileName string, l, r int) (string, error){
+       var out string
+       var data JsonSt
+       var i int
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "",err
+       }
+       decoder := json.NewDecoder(file)
+       err = decoder.Decode(&data)
+       for _, v := range data.Objects {
+               if i < l {
+                       continue
+               }
+               if i >= r {
+                       break
+               }
+               extrb, err := json.Marshal(v.Extra)
+               if err != nil {
+                       return "",err
+               }
+               extr := strings.Replace(string(extrb), "\\u0026", "&", -1)
+               
+               lints := "{\"firstname\":\"" + v.Person.Firstname + "\",\"lastname\":\"" + v.Person.Lastname +
+                       "\",\"extra\":" + extr + "}"
+               out += lints + ","
+               i++
+       }
+
+       return out, err
+}
+
+func readJsonFloatAggregation(fileName string) (float64, float64, float64, error){
+       var avg, max, min, sum float64
+       var data JsonSt
+       var i int
+       file, err := os.Open(fileName)
+       if err != nil {
+               return  avg, max, min, err
+       }
+       decoder := json.NewDecoder(file)
+       err = decoder.Decode(&data)
+       for _, v := range data.Objects {
+               if i == 0 {
+                       min = float64(v.Person.Cspanid)
+               }
+               if max < float64(v.Person.Cspanid) {
+                       max = float64(v.Person.Cspanid)
+               }
+               if min > float64(v.Person.Cspanid) {
+                       min = float64(v.Person.Cspanid)
+               }
+               sum += float64(v.Person.Cspanid)
+               i++
+       }
+       avg = sum / float64(i)
+       return avg, max, min, err
+}
+
+func readJsonDocumentConcat(fileName string) (string, error){
+       var out string
+       var data JsonSt
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "",err
+       }
+       decoder := json.NewDecoder(file)
+       err = decoder.Decode(&data)
+
+       for _, v := range data.Objects {
+               if v.Person.Firstname + v.Person.Lastname == "JohnKennedy" {
+                       extrb, err := json.Marshal(v.Person)
+                       if err != nil {
+                               return "",err
+                       }
+                       extr := "{\"person\":" + strings.Replace(string(extrb), "\\u0026", "&", -1) + "}"
+                       out += extr + ","
+               }
+       }
+
+       return out, err
+}
+
+func readJsonComplicateConcat(fileName string) (string, error){
+       var out string
+       var data JsonSt
+       file, err := os.Open(fileName)
+       if err != nil {
+               return "",err
+       }
+       decoder := json.NewDecoder(file)
+       err = decoder.Decode(&data)
+
+       for _, v := range data.Objects {
+               if v.Startdate > "2017-01-01" && v.SenatorRank == "junior" || 
+                       v.State == "CA" && v.Party == "Repulican" {
+                       cn := "["
+                       for _,vv := range v.CongressNumbers {
+                               cn += strconv.Itoa(vv) + ","
+                       }
+                       cn = cn[:len(cn)-1] + "]"
+                       lints := "{\"firstname\":\"" + v.Person.Firstname + "\",\"lastname\":\"" + v.Person.Lastname + "\",\"congress_numbers\":" + cn + "}"
+                       out += lints + ","
+               }
+       }
+
+       return out, err
+}
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object_type.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/select_object_type.go
new file mode 100644 (file)
index 0000000..8b75782
--- /dev/null
@@ -0,0 +1,364 @@
+package oss
+
+import (
+       "bytes"
+       "encoding/binary"
+       "fmt"
+       "hash"
+       "hash/crc32"
+       "io"
+       "net/http"
+       "time"
+)
+
+// The adapter class for Select object's response.
+// The response consists of frames. Each frame has the following format:
+
+// Type  |   Payload Length |  Header Checksum | Payload | Payload Checksum
+
+// |<4-->|  <--4 bytes------><---4 bytes-------><-n/a-----><--4 bytes--------->
+// And we have three kind of frames.
+// Data Frame:
+// Type:8388609
+// Payload:   Offset    |    Data
+//            <-8 bytes>
+
+// Continuous Frame
+// Type:8388612
+// Payload: Offset  (8-bytes)
+
+// End Frame
+// Type:8388613
+// Payload: Offset | total scanned bytes | http status code | error message
+//     <-- 8bytes--><-----8 bytes--------><---4 bytes-------><---variabe--->
+
+// SelectObjectResponse defines HTTP response from OSS SelectObject
+type SelectObjectResponse struct {
+       StatusCode          int
+       Headers             http.Header
+       Body                io.ReadCloser
+       Frame               SelectObjectResult
+       ReadTimeOut         uint
+       ClientCRC32         uint32
+       ServerCRC32         uint32
+       WriterForCheckCrc32 hash.Hash32
+       Finish              bool
+}
+
+func (sr *SelectObjectResponse) Read(p []byte) (n int, err error) {
+       n, err = sr.readFrames(p)
+       return
+}
+
+// Close http reponse body
+func (sr *SelectObjectResponse) Close() error {
+       return sr.Body.Close()
+}
+
+// PostSelectResult is the request of SelectObject
+type PostSelectResult struct {
+       Response *SelectObjectResponse
+}
+
+// readFrames is read Frame
+func (sr *SelectObjectResponse) readFrames(p []byte) (int, error) {
+       var nn int
+       var err error
+       var checkValid bool
+       if sr.Frame.OutputRawData == true {
+               nn, err = sr.Body.Read(p)
+               return nn, err
+       }
+
+       if sr.Finish {
+               return 0, io.EOF
+       }
+
+       for {
+               // if this Frame is Readed, then not reading Header
+               if sr.Frame.OpenLine != true {
+                       err = sr.analysisHeader()
+                       if err != nil {
+                               return nn, err
+                       }
+               }
+
+               if sr.Frame.FrameType == DataFrameType {
+                       n, err := sr.analysisData(p[nn:])
+                       if err != nil {
+                               return nn, err
+                       }
+                       nn += n
+
+                       // if this Frame is readed all data, then empty the Frame to read it with next frame
+                       if sr.Frame.ConsumedBytesLength == sr.Frame.PayloadLength-8 {
+                               checkValid, err = sr.checkPayloadSum()
+                               if err != nil || !checkValid {
+                                       return nn, fmt.Errorf("%s", err.Error())
+                               }
+                               sr.emptyFrame()
+                       }
+
+                       if nn == len(p) {
+                               return nn, nil
+                       }
+               } else if sr.Frame.FrameType == ContinuousFrameType {
+                       checkValid, err = sr.checkPayloadSum()
+                       if err != nil || !checkValid {
+                               return nn, fmt.Errorf("%s", err.Error())
+                       }
+               } else if sr.Frame.FrameType == EndFrameType {
+                       err = sr.analysisEndFrame()
+                       if err != nil {
+                               return nn, err
+                       }
+                       checkValid, err = sr.checkPayloadSum()
+                       if checkValid {
+                               sr.Finish = true
+                       }
+                       return nn, err
+               } else if sr.Frame.FrameType == MetaEndFrameCSVType {
+                       err = sr.analysisMetaEndFrameCSV()
+                       if err != nil {
+                               return nn, err
+                       }
+                       checkValid, err = sr.checkPayloadSum()
+                       if checkValid {
+                               sr.Finish = true
+                       }
+                       return nn, err
+               } else if sr.Frame.FrameType == MetaEndFrameJSONType {
+                       err = sr.analysisMetaEndFrameJSON()
+                       if err != nil {
+                               return nn, err
+                       }
+                       checkValid, err = sr.checkPayloadSum()
+                       if checkValid {
+                               sr.Finish = true
+                       }
+                       return nn, err
+               }
+       }
+       return nn, nil
+}
+
+type chanReadIO struct {
+       readLen int
+       err     error
+}
+
+func (sr *SelectObjectResponse) readLen(p []byte, timeOut time.Duration) (int, error) {
+       r := sr.Body
+       ch := make(chan chanReadIO, 1)
+       defer close(ch)
+       go func(p []byte) {
+               var needReadLength int
+               readChan := chanReadIO{}
+               needReadLength = len(p)
+               for {
+                       n, err := r.Read(p[readChan.readLen:needReadLength])
+                       readChan.readLen += n
+                       if err != nil {
+                               readChan.err = err
+                               ch <- readChan
+                               return
+                       }
+
+                       if readChan.readLen == needReadLength {
+                               break
+                       }
+               }
+               ch <- readChan
+       }(p)
+
+       select {
+       case <-time.After(time.Second * timeOut):
+               return 0, fmt.Errorf("requestId: %s, readLen timeout, timeout is %d(second),need read:%d", sr.Headers.Get(HTTPHeaderOssRequestID), timeOut, len(p))
+       case result := <-ch:
+               return result.readLen, result.err
+       }
+}
+
+// analysisHeader is reading selectObject response body's header
+func (sr *SelectObjectResponse) analysisHeader() error {
+       headFrameByte := make([]byte, 20)
+       _, err := sr.readLen(headFrameByte, time.Duration(sr.ReadTimeOut))
+       if err != nil {
+               return fmt.Errorf("requestId: %s, Read response frame header failure,err:%s", sr.Headers.Get(HTTPHeaderOssRequestID), err.Error())
+       }
+
+       frameTypeByte := headFrameByte[0:4]
+       sr.Frame.Version = frameTypeByte[0]
+       frameTypeByte[0] = 0
+       bytesToInt(frameTypeByte, &sr.Frame.FrameType)
+
+       if sr.Frame.FrameType != DataFrameType && sr.Frame.FrameType != ContinuousFrameType &&
+               sr.Frame.FrameType != EndFrameType && sr.Frame.FrameType != MetaEndFrameCSVType && sr.Frame.FrameType != MetaEndFrameJSONType {
+               return fmt.Errorf("requestId: %s, Unexpected frame type: %d", sr.Headers.Get(HTTPHeaderOssRequestID), sr.Frame.FrameType)
+       }
+
+       payloadLengthByte := headFrameByte[4:8]
+       bytesToInt(payloadLengthByte, &sr.Frame.PayloadLength)
+       headCheckSumByte := headFrameByte[8:12]
+       bytesToInt(headCheckSumByte, &sr.Frame.HeaderCheckSum)
+       byteOffset := headFrameByte[12:20]
+       bytesToInt(byteOffset, &sr.Frame.Offset)
+       sr.Frame.OpenLine = true
+
+       err = sr.writerCheckCrc32(byteOffset)
+       return err
+}
+
+// analysisData is reading the DataFrameType data of selectObject response body
+func (sr *SelectObjectResponse) analysisData(p []byte) (int, error) {
+       var needReadLength int32
+       lenP := int32(len(p))
+       restByteLength := sr.Frame.PayloadLength - 8 - sr.Frame.ConsumedBytesLength
+       if lenP <= restByteLength {
+               needReadLength = lenP
+       } else {
+               needReadLength = restByteLength
+       }
+       n, err := sr.readLen(p[:needReadLength], time.Duration(sr.ReadTimeOut))
+       if err != nil {
+               return n, fmt.Errorf("read frame data error,%s", err.Error())
+       }
+       sr.Frame.ConsumedBytesLength += int32(n)
+       err = sr.writerCheckCrc32(p[:n])
+       return n, err
+}
+
+// analysisEndFrame is reading the EndFrameType data of selectObject response body
+func (sr *SelectObjectResponse) analysisEndFrame() error {
+       var eF EndFrame
+       payLoadBytes := make([]byte, sr.Frame.PayloadLength-8)
+       _, err := sr.readLen(payLoadBytes, time.Duration(sr.ReadTimeOut))
+       if err != nil {
+               return fmt.Errorf("read end frame error:%s", err.Error())
+       }
+       bytesToInt(payLoadBytes[0:8], &eF.TotalScanned)
+       bytesToInt(payLoadBytes[8:12], &eF.HTTPStatusCode)
+       errMsgLength := sr.Frame.PayloadLength - 20
+       eF.ErrorMsg = string(payLoadBytes[12 : errMsgLength+12])
+       sr.Frame.EndFrame.TotalScanned = eF.TotalScanned
+       sr.Frame.EndFrame.HTTPStatusCode = eF.HTTPStatusCode
+       sr.Frame.EndFrame.ErrorMsg = eF.ErrorMsg
+       err = sr.writerCheckCrc32(payLoadBytes)
+       return err
+}
+
+// analysisMetaEndFrameCSV is reading the MetaEndFrameCSVType data of selectObject response body
+func (sr *SelectObjectResponse) analysisMetaEndFrameCSV() error {
+       var mCF MetaEndFrameCSV
+       payLoadBytes := make([]byte, sr.Frame.PayloadLength-8)
+       _, err := sr.readLen(payLoadBytes, time.Duration(sr.ReadTimeOut))
+       if err != nil {
+               return fmt.Errorf("read meta end csv frame error:%s", err.Error())
+       }
+
+       bytesToInt(payLoadBytes[0:8], &mCF.TotalScanned)
+       bytesToInt(payLoadBytes[8:12], &mCF.Status)
+       bytesToInt(payLoadBytes[12:16], &mCF.SplitsCount)
+       bytesToInt(payLoadBytes[16:24], &mCF.RowsCount)
+       bytesToInt(payLoadBytes[24:28], &mCF.ColumnsCount)
+       errMsgLength := sr.Frame.PayloadLength - 36
+       mCF.ErrorMsg = string(payLoadBytes[28 : errMsgLength+28])
+       sr.Frame.MetaEndFrameCSV.ErrorMsg = mCF.ErrorMsg
+       sr.Frame.MetaEndFrameCSV.TotalScanned = mCF.TotalScanned
+       sr.Frame.MetaEndFrameCSV.Status = mCF.Status
+       sr.Frame.MetaEndFrameCSV.SplitsCount = mCF.SplitsCount
+       sr.Frame.MetaEndFrameCSV.RowsCount = mCF.RowsCount
+       sr.Frame.MetaEndFrameCSV.ColumnsCount = mCF.ColumnsCount
+       err = sr.writerCheckCrc32(payLoadBytes)
+       return err
+}
+
+// analysisMetaEndFrameJSON is reading the MetaEndFrameJSONType data of selectObject response body
+func (sr *SelectObjectResponse) analysisMetaEndFrameJSON() error {
+       var mJF MetaEndFrameJSON
+       payLoadBytes := make([]byte, sr.Frame.PayloadLength-8)
+       _, err := sr.readLen(payLoadBytes, time.Duration(sr.ReadTimeOut))
+       if err != nil {
+               return fmt.Errorf("read meta end json frame error:%s", err.Error())
+       }
+
+       bytesToInt(payLoadBytes[0:8], &mJF.TotalScanned)
+       bytesToInt(payLoadBytes[8:12], &mJF.Status)
+       bytesToInt(payLoadBytes[12:16], &mJF.SplitsCount)
+       bytesToInt(payLoadBytes[16:24], &mJF.RowsCount)
+       errMsgLength := sr.Frame.PayloadLength - 32
+       mJF.ErrorMsg = string(payLoadBytes[24 : errMsgLength+24])
+       sr.Frame.MetaEndFrameJSON.ErrorMsg = mJF.ErrorMsg
+       sr.Frame.MetaEndFrameJSON.TotalScanned = mJF.TotalScanned
+       sr.Frame.MetaEndFrameJSON.Status = mJF.Status
+       sr.Frame.MetaEndFrameJSON.SplitsCount = mJF.SplitsCount
+       sr.Frame.MetaEndFrameJSON.RowsCount = mJF.RowsCount
+
+       err = sr.writerCheckCrc32(payLoadBytes)
+       return err
+}
+
+func (sr *SelectObjectResponse) checkPayloadSum() (bool, error) {
+       payLoadChecksumByte := make([]byte, 4)
+       n, err := sr.readLen(payLoadChecksumByte, time.Duration(sr.ReadTimeOut))
+       if n == 4 {
+               bytesToInt(payLoadChecksumByte, &sr.Frame.PayloadChecksum)
+               sr.ServerCRC32 = sr.Frame.PayloadChecksum
+               sr.ClientCRC32 = sr.WriterForCheckCrc32.Sum32()
+               if sr.Frame.EnablePayloadCrc == true && sr.ServerCRC32 != 0 && sr.ServerCRC32 != sr.ClientCRC32 {
+                       return false, fmt.Errorf("RequestId: %s, Unexpected frame type: %d, client %d but server %d",
+                               sr.Headers.Get(HTTPHeaderOssRequestID), sr.Frame.FrameType, sr.ClientCRC32, sr.ServerCRC32)
+               }
+               return true, err
+       }
+       return false, fmt.Errorf("RequestId:%s, read checksum error:%s", sr.Headers.Get(HTTPHeaderOssRequestID), err.Error())
+}
+
+func (sr *SelectObjectResponse) writerCheckCrc32(p []byte) (err error) {
+       err = nil
+       if sr.Frame.EnablePayloadCrc == true {
+               _, err = sr.WriterForCheckCrc32.Write(p)
+       }
+       return err
+}
+
+// emptyFrame is emptying SelectObjectResponse Frame information
+func (sr *SelectObjectResponse) emptyFrame() {
+       crcCalc := crc32.NewIEEE()
+       sr.WriterForCheckCrc32 = crcCalc
+       sr.Finish = false
+
+       sr.Frame.ConsumedBytesLength = 0
+       sr.Frame.OpenLine = false
+       sr.Frame.Version = byte(0)
+       sr.Frame.FrameType = 0
+       sr.Frame.PayloadLength = 0
+       sr.Frame.HeaderCheckSum = 0
+       sr.Frame.Offset = 0
+       sr.Frame.Data = ""
+
+       sr.Frame.EndFrame.TotalScanned = 0
+       sr.Frame.EndFrame.HTTPStatusCode = 0
+       sr.Frame.EndFrame.ErrorMsg = ""
+
+       sr.Frame.MetaEndFrameCSV.TotalScanned = 0
+       sr.Frame.MetaEndFrameCSV.Status = 0
+       sr.Frame.MetaEndFrameCSV.SplitsCount = 0
+       sr.Frame.MetaEndFrameCSV.RowsCount = 0
+       sr.Frame.MetaEndFrameCSV.ColumnsCount = 0
+       sr.Frame.MetaEndFrameCSV.ErrorMsg = ""
+
+       sr.Frame.MetaEndFrameJSON.TotalScanned = 0
+       sr.Frame.MetaEndFrameJSON.Status = 0
+       sr.Frame.MetaEndFrameJSON.SplitsCount = 0
+       sr.Frame.MetaEndFrameJSON.RowsCount = 0
+       sr.Frame.MetaEndFrameJSON.ErrorMsg = ""
+
+       sr.Frame.PayloadChecksum = 0
+}
+
+// bytesToInt byte's array trans to int
+func bytesToInt(b []byte, ret interface{}) {
+       binBuf := bytes.NewBuffer(b)
+       binary.Read(binBuf, binary.BigEndian, ret)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/transport_1_6.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/transport_1_6.go
new file mode 100644 (file)
index 0000000..795ca8b
--- /dev/null
@@ -0,0 +1,34 @@
+// +build !go1.7
+
+package oss
+
+import (
+       "net"
+       "net/http"
+       "time"
+)
+
+func newTransport(conn *Conn, config *Config) *http.Transport {
+       httpTimeOut := conn.config.HTTPTimeout
+       httpMaxConns := conn.config.HTTPMaxConns
+       // New Transport
+       transport := &http.Transport{
+               Dial: func(netw, addr string) (net.Conn, error) {
+                       d := net.Dialer{
+                               Timeout:   httpTimeOut.ConnectTimeout,
+                               KeepAlive: 30 * time.Second,
+                       }
+                       if config.LocalAddr != nil {
+                               d.LocalAddr = config.LocalAddr
+                       }
+                       conn, err := d.Dial(netw, addr)
+                       if err != nil {
+                               return nil, err
+                       }
+                       return newTimeoutConn(conn, httpTimeOut.ReadWriteTimeout, httpTimeOut.LongTimeout), nil
+               },
+               MaxIdleConnsPerHost:   httpMaxConns.MaxIdleConnsPerHost,
+               ResponseHeaderTimeout: httpTimeOut.HeaderTimeout,
+       }
+       return transport
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/transport_1_7.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/transport_1_7.go
new file mode 100644 (file)
index 0000000..757543b
--- /dev/null
@@ -0,0 +1,36 @@
+// +build go1.7
+
+package oss
+
+import (
+       "net"
+       "net/http"
+       "time"
+)
+
+func newTransport(conn *Conn, config *Config) *http.Transport {
+       httpTimeOut := conn.config.HTTPTimeout
+       httpMaxConns := conn.config.HTTPMaxConns
+       // New Transport
+       transport := &http.Transport{
+               Dial: func(netw, addr string) (net.Conn, error) {
+                       d := net.Dialer{
+                               Timeout:   httpTimeOut.ConnectTimeout,
+                               KeepAlive: 30 * time.Second,
+                       }
+                       if config.LocalAddr != nil {
+                               d.LocalAddr = config.LocalAddr
+                       }
+                       conn, err := d.Dial(netw, addr)
+                       if err != nil {
+                               return nil, err
+                       }
+                       return newTimeoutConn(conn, httpTimeOut.ReadWriteTimeout, httpTimeOut.LongTimeout), nil
+               },
+               MaxIdleConns:          httpMaxConns.MaxIdleConns,
+               MaxIdleConnsPerHost:   httpMaxConns.MaxIdleConnsPerHost,
+               IdleConnTimeout:       httpTimeOut.IdleConnTimeout,
+               ResponseHeaderTimeout: httpTimeOut.HeaderTimeout,
+       }
+       return transport
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/type.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/type.go
new file mode 100644 (file)
index 0000000..718991e
--- /dev/null
@@ -0,0 +1,1247 @@
+package oss
+
+import (
+       "encoding/base64"
+       "encoding/xml"
+       "fmt"
+       "net/url"
+       "time"
+)
+
+// ListBucketsResult defines the result object from ListBuckets request
+type ListBucketsResult struct {
+       XMLName     xml.Name           `xml:"ListAllMyBucketsResult"`
+       Prefix      string             `xml:"Prefix"`         // The prefix in this query
+       Marker      string             `xml:"Marker"`         // The marker filter
+       MaxKeys     int                `xml:"MaxKeys"`        // The max entry count to return. This information is returned when IsTruncated is true.
+       IsTruncated bool               `xml:"IsTruncated"`    // Flag true means there's remaining buckets to return.
+       NextMarker  string             `xml:"NextMarker"`     // The marker filter for the next list call
+       Owner       Owner              `xml:"Owner"`          // The owner information
+       Buckets     []BucketProperties `xml:"Buckets>Bucket"` // The bucket list
+}
+
+// BucketProperties defines bucket properties
+type BucketProperties struct {
+       XMLName      xml.Name  `xml:"Bucket"`
+       Name         string    `xml:"Name"`         // Bucket name
+       Location     string    `xml:"Location"`     // Bucket datacenter
+       CreationDate time.Time `xml:"CreationDate"` // Bucket create time
+       StorageClass string    `xml:"StorageClass"` // Bucket storage class
+}
+
+// GetBucketACLResult defines GetBucketACL request's result
+type GetBucketACLResult struct {
+       XMLName xml.Name `xml:"AccessControlPolicy"`
+       ACL     string   `xml:"AccessControlList>Grant"` // Bucket ACL
+       Owner   Owner    `xml:"Owner"`                   // Bucket owner
+}
+
+// LifecycleConfiguration is the Bucket Lifecycle configuration
+type LifecycleConfiguration struct {
+       XMLName xml.Name        `xml:"LifecycleConfiguration"`
+       Rules   []LifecycleRule `xml:"Rule"`
+}
+
+// LifecycleRule defines Lifecycle rules
+type LifecycleRule struct {
+       XMLName              xml.Name                       `xml:"Rule"`
+       ID                   string                         `xml:"ID,omitempty"`                   // The rule ID
+       Prefix               string                         `xml:"Prefix"`                         // The object key prefix
+       Status               string                         `xml:"Status"`                         // The rule status (enabled or not)
+       Tags                 []Tag                          `xml:"Tag,omitempty"`                  // the tags property
+       Expiration           *LifecycleExpiration           `xml:"Expiration,omitempty"`           // The expiration property
+       Transitions          []LifecycleTransition          `xml:"Transition,omitempty"`           // The transition property
+       AbortMultipartUpload *LifecycleAbortMultipartUpload `xml:"AbortMultipartUpload,omitempty"` // The AbortMultipartUpload property
+       NonVersionExpiration *LifecycleVersionExpiration    `xml:"NoncurrentVersionExpiration,omitempty"`
+       // Deprecated: Use NonVersionTransitions instead.
+       NonVersionTransition  *LifecycleVersionTransition  `xml:"-"` // NonVersionTransition is not suggested to use
+       NonVersionTransitions []LifecycleVersionTransition `xml:"NoncurrentVersionTransition,omitempty"`
+}
+
+// LifecycleExpiration defines the rule's expiration property
+type LifecycleExpiration struct {
+       XMLName                   xml.Name `xml:"Expiration"`
+       Days                      int      `xml:"Days,omitempty"`                      // Relative expiration time: The expiration time in days after the last modified time
+       Date                      string   `xml:"Date,omitempty"`                      // Absolute expiration time: The expiration time in date, not recommended
+       CreatedBeforeDate         string   `xml:"CreatedBeforeDate,omitempty"`         // objects created before the date will be expired
+       ExpiredObjectDeleteMarker *bool    `xml:"ExpiredObjectDeleteMarker,omitempty"` // Specifies whether the expired delete tag is automatically deleted
+}
+
+// LifecycleTransition defines the rule's transition propery
+type LifecycleTransition struct {
+       XMLName           xml.Name         `xml:"Transition"`
+       Days              int              `xml:"Days,omitempty"`              // Relative transition time: The transition time in days after the last modified time
+       CreatedBeforeDate string           `xml:"CreatedBeforeDate,omitempty"` // objects created before the date will be expired
+       StorageClass      StorageClassType `xml:"StorageClass,omitempty"`      // Specifies the target storage type
+}
+
+// LifecycleAbortMultipartUpload defines the rule's abort multipart upload propery
+type LifecycleAbortMultipartUpload struct {
+       XMLName           xml.Name `xml:"AbortMultipartUpload"`
+       Days              int      `xml:"Days,omitempty"`              // Relative expiration time: The expiration time in days after the last modified time
+       CreatedBeforeDate string   `xml:"CreatedBeforeDate,omitempty"` // objects created before the date will be expired
+}
+
+// LifecycleVersionExpiration defines the rule's NoncurrentVersionExpiration propery
+type LifecycleVersionExpiration struct {
+       XMLName        xml.Name `xml:"NoncurrentVersionExpiration"`
+       NoncurrentDays int      `xml:"NoncurrentDays,omitempty"` // How many days after the Object becomes a non-current version
+}
+
+// LifecycleVersionTransition defines the rule's NoncurrentVersionTransition propery
+type LifecycleVersionTransition struct {
+       XMLName        xml.Name         `xml:"NoncurrentVersionTransition"`
+       NoncurrentDays int              `xml:"NoncurrentDays,omitempty"` // How many days after the Object becomes a non-current version
+       StorageClass   StorageClassType `xml:"StorageClass,omitempty"`
+}
+
+const iso8601DateFormat = "2006-01-02T15:04:05.000Z"
+
+// BuildLifecycleRuleByDays builds a lifecycle rule objects will expiration in days after the last modified time
+func BuildLifecycleRuleByDays(id, prefix string, status bool, days int) LifecycleRule {
+       var statusStr = "Enabled"
+       if !status {
+               statusStr = "Disabled"
+       }
+       return LifecycleRule{ID: id, Prefix: prefix, Status: statusStr,
+               Expiration: &LifecycleExpiration{Days: days}}
+}
+
+// BuildLifecycleRuleByDate builds a lifecycle rule objects will expiration in specified date
+func BuildLifecycleRuleByDate(id, prefix string, status bool, year, month, day int) LifecycleRule {
+       var statusStr = "Enabled"
+       if !status {
+               statusStr = "Disabled"
+       }
+       date := time.Date(year, time.Month(month), day, 0, 0, 0, 0, time.UTC).Format(iso8601DateFormat)
+       return LifecycleRule{ID: id, Prefix: prefix, Status: statusStr,
+               Expiration: &LifecycleExpiration{Date: date}}
+}
+
+// ValidateLifecycleRule Determine if a lifecycle rule is valid, if it is invalid, it will return an error.
+func verifyLifecycleRules(rules []LifecycleRule) error {
+       if len(rules) == 0 {
+               return fmt.Errorf("invalid rules, the length of rules is zero")
+       }
+       for k, rule := range rules {
+               if rule.Status != "Enabled" && rule.Status != "Disabled" {
+                       return fmt.Errorf("invalid rule, the value of status must be Enabled or Disabled")
+               }
+
+               abortMPU := rule.AbortMultipartUpload
+               if abortMPU != nil {
+                       if (abortMPU.Days != 0 && abortMPU.CreatedBeforeDate != "") || (abortMPU.Days == 0 && abortMPU.CreatedBeforeDate == "") {
+                               return fmt.Errorf("invalid abort multipart upload lifecycle, must be set one of CreatedBeforeDate and Days")
+                       }
+               }
+
+               transitions := rule.Transitions
+               if len(transitions) > 0 {
+                       for _, transition := range transitions {
+                               if (transition.Days != 0 && transition.CreatedBeforeDate != "") || (transition.Days == 0 && transition.CreatedBeforeDate == "") {
+                                       return fmt.Errorf("invalid transition lifecycle, must be set one of CreatedBeforeDate and Days")
+                               }
+                       }
+               }
+
+               // NonVersionTransition is not suggested to use
+               // to keep compatible
+               if rule.NonVersionTransition != nil && len(rule.NonVersionTransitions) > 0 {
+                       return fmt.Errorf("NonVersionTransition and NonVersionTransitions cannot both have values")
+               } else if rule.NonVersionTransition != nil {
+                       rules[k].NonVersionTransitions = append(rules[k].NonVersionTransitions, *rule.NonVersionTransition)
+               }
+       }
+
+       return nil
+}
+
+// GetBucketLifecycleResult defines GetBucketLifecycle's result object
+type GetBucketLifecycleResult LifecycleConfiguration
+
+// RefererXML defines Referer configuration
+type RefererXML struct {
+       XMLName           xml.Name `xml:"RefererConfiguration"`
+       AllowEmptyReferer bool     `xml:"AllowEmptyReferer"`   // Allow empty referrer
+       RefererList       []string `xml:"RefererList>Referer"` // Referer whitelist
+}
+
+// GetBucketRefererResult defines result object for GetBucketReferer request
+type GetBucketRefererResult RefererXML
+
+// LoggingXML defines logging configuration
+type LoggingXML struct {
+       XMLName        xml.Name       `xml:"BucketLoggingStatus"`
+       LoggingEnabled LoggingEnabled `xml:"LoggingEnabled"` // The logging configuration information
+}
+
+type loggingXMLEmpty struct {
+       XMLName xml.Name `xml:"BucketLoggingStatus"`
+}
+
+// LoggingEnabled defines the logging configuration information
+type LoggingEnabled struct {
+       XMLName      xml.Name `xml:"LoggingEnabled"`
+       TargetBucket string   `xml:"TargetBucket"` // The bucket name for storing the log files
+       TargetPrefix string   `xml:"TargetPrefix"` // The log file prefix
+}
+
+// GetBucketLoggingResult defines the result from GetBucketLogging request
+type GetBucketLoggingResult LoggingXML
+
+// WebsiteXML defines Website configuration
+type WebsiteXML struct {
+       XMLName       xml.Name      `xml:"WebsiteConfiguration"`
+       IndexDocument IndexDocument `xml:"IndexDocument,omitempty"`            // The index page
+       ErrorDocument ErrorDocument `xml:"ErrorDocument,omitempty"`            // The error page
+       RoutingRules  []RoutingRule `xml:"RoutingRules>RoutingRule,omitempty"` // The routing Rule list
+}
+
+// IndexDocument defines the index page info
+type IndexDocument struct {
+       XMLName xml.Name `xml:"IndexDocument"`
+       Suffix  string   `xml:"Suffix"` // The file name for the index page
+}
+
+// ErrorDocument defines the 404 error page info
+type ErrorDocument struct {
+       XMLName xml.Name `xml:"ErrorDocument"`
+       Key     string   `xml:"Key"` // 404 error file name
+}
+
+// RoutingRule defines the routing rules
+type RoutingRule struct {
+       XMLName    xml.Name  `xml:"RoutingRule"`
+       RuleNumber int       `xml:"RuleNumber,omitempty"` // The routing number
+       Condition  Condition `xml:"Condition,omitempty"`  // The routing condition
+       Redirect   Redirect  `xml:"Redirect,omitempty"`   // The routing redirect
+
+}
+
+// Condition defines codition in the RoutingRule
+type Condition struct {
+       XMLName                     xml.Name        `xml:"Condition"`
+       KeyPrefixEquals             string          `xml:"KeyPrefixEquals,omitempty"`             // Matching objcet prefix
+       HTTPErrorCodeReturnedEquals int             `xml:"HttpErrorCodeReturnedEquals,omitempty"` // The rule is for Accessing to the specified object
+       IncludeHeader               []IncludeHeader `xml:"IncludeHeader"`                         // The rule is for request which include header
+}
+
+// IncludeHeader defines includeHeader in the RoutingRule's Condition
+type IncludeHeader struct {
+       XMLName xml.Name `xml:"IncludeHeader"`
+       Key     string   `xml:"Key,omitempty"`    // The Include header key
+       Equals  string   `xml:"Equals,omitempty"` // The Include header value
+}
+
+// Redirect defines redirect in the RoutingRule
+type Redirect struct {
+       XMLName               xml.Name      `xml:"Redirect"`
+       RedirectType          string        `xml:"RedirectType,omitempty"`         // The redirect type, it have Mirror,External,Internal,AliCDN
+       PassQueryString       *bool         `xml:"PassQueryString"`                // Whether to send the specified request's parameters, true or false
+       MirrorURL             string        `xml:"MirrorURL,omitempty"`            // Mirror of the website address back to the source.
+       MirrorPassQueryString *bool         `xml:"MirrorPassQueryString"`          // To Mirror of the website Whether to send the specified request's parameters, true or false
+       MirrorFollowRedirect  *bool         `xml:"MirrorFollowRedirect"`           // Redirect the location, if the mirror return 3XX
+       MirrorCheckMd5        *bool         `xml:"MirrorCheckMd5"`                 // Check the mirror is MD5.
+       MirrorHeaders         MirrorHeaders `xml:"MirrorHeaders,omitempty"`        // Mirror headers
+       Protocol              string        `xml:"Protocol,omitempty"`             // The redirect Protocol
+       HostName              string        `xml:"HostName,omitempty"`             // The redirect HostName
+       ReplaceKeyPrefixWith  string        `xml:"ReplaceKeyPrefixWith,omitempty"` // object name'Prefix replace the value
+       HttpRedirectCode      int           `xml:"HttpRedirectCode,omitempty"`     // THe redirect http code
+       ReplaceKeyWith        string        `xml:"ReplaceKeyWith,omitempty"`       // object name replace the value
+}
+
+// MirrorHeaders defines MirrorHeaders in the Redirect
+type MirrorHeaders struct {
+       XMLName xml.Name          `xml:"MirrorHeaders"`
+       PassAll *bool             `xml:"PassAll"` // Penetrating all of headers to source website.
+       Pass    []string          `xml:"Pass"`    // Penetrating some of headers to source website.
+       Remove  []string          `xml:"Remove"`  // Prohibit passthrough some of headers to source website
+       Set     []MirrorHeaderSet `xml:"Set"`     // Setting some of headers send to source website
+}
+
+// MirrorHeaderSet defines Set for Redirect's MirrorHeaders
+type MirrorHeaderSet struct {
+       XMLName xml.Name `xml:"Set"`
+       Key     string   `xml:"Key,omitempty"`   // The mirror header key
+       Value   string   `xml:"Value,omitempty"` // The mirror header value
+}
+
+// GetBucketWebsiteResult defines the result from GetBucketWebsite request.
+type GetBucketWebsiteResult WebsiteXML
+
+// CORSXML defines CORS configuration
+type CORSXML struct {
+       XMLName   xml.Name   `xml:"CORSConfiguration"`
+       CORSRules []CORSRule `xml:"CORSRule"` // CORS rules
+}
+
+// CORSRule defines CORS rules
+type CORSRule struct {
+       XMLName       xml.Name `xml:"CORSRule"`
+       AllowedOrigin []string `xml:"AllowedOrigin"` // Allowed origins. By default it's wildcard '*'
+       AllowedMethod []string `xml:"AllowedMethod"` // Allowed methods
+       AllowedHeader []string `xml:"AllowedHeader"` // Allowed headers
+       ExposeHeader  []string `xml:"ExposeHeader"`  // Allowed response headers
+       MaxAgeSeconds int      `xml:"MaxAgeSeconds"` // Max cache ages in seconds
+}
+
+// GetBucketCORSResult defines the result from GetBucketCORS request.
+type GetBucketCORSResult CORSXML
+
+// GetBucketInfoResult defines the result from GetBucketInfo request.
+type GetBucketInfoResult struct {
+       XMLName    xml.Name   `xml:"BucketInfo"`
+       BucketInfo BucketInfo `xml:"Bucket"`
+}
+
+// BucketInfo defines Bucket information
+type BucketInfo struct {
+       XMLName          xml.Name  `xml:"Bucket"`
+       Name             string    `xml:"Name"`                     // Bucket name
+       Location         string    `xml:"Location"`                 // Bucket datacenter
+       CreationDate     time.Time `xml:"CreationDate"`             // Bucket creation time
+       ExtranetEndpoint string    `xml:"ExtranetEndpoint"`         // Bucket external endpoint
+       IntranetEndpoint string    `xml:"IntranetEndpoint"`         // Bucket internal endpoint
+       ACL              string    `xml:"AccessControlList>Grant"`  // Bucket ACL
+       RedundancyType   string    `xml:"DataRedundancyType"`       // Bucket DataRedundancyType
+       Owner            Owner     `xml:"Owner"`                    // Bucket owner
+       StorageClass     string    `xml:"StorageClass"`             // Bucket storage class
+       SseRule          SSERule   `xml:"ServerSideEncryptionRule"` // Bucket ServerSideEncryptionRule
+       Versioning       string    `xml:"Versioning"`               // Bucket Versioning
+}
+
+type SSERule struct {
+       XMLName           xml.Name `xml:"ServerSideEncryptionRule"`    // Bucket ServerSideEncryptionRule
+       KMSMasterKeyID    string   `xml:"KMSMasterKeyID,omitempty"`    // Bucket KMSMasterKeyID
+       SSEAlgorithm      string   `xml:"SSEAlgorithm,omitempty"`      // Bucket SSEAlgorithm
+       KMSDataEncryption string   `xml:"KMSDataEncryption,omitempty"` //Bucket KMSDataEncryption
+}
+
+// ListObjectsResult defines the result from ListObjects request
+type ListObjectsResult struct {
+       XMLName        xml.Name           `xml:"ListBucketResult"`
+       Prefix         string             `xml:"Prefix"`                // The object prefix
+       Marker         string             `xml:"Marker"`                // The marker filter.
+       MaxKeys        int                `xml:"MaxKeys"`               // Max keys to return
+       Delimiter      string             `xml:"Delimiter"`             // The delimiter for grouping objects' name
+       IsTruncated    bool               `xml:"IsTruncated"`           // Flag indicates if all results are returned (when it's false)
+       NextMarker     string             `xml:"NextMarker"`            // The start point of the next query
+       Objects        []ObjectProperties `xml:"Contents"`              // Object list
+       CommonPrefixes []string           `xml:"CommonPrefixes>Prefix"` // You can think of commonprefixes as "folders" whose names end with the delimiter
+}
+
+// ObjectProperties defines Objecct properties
+type ObjectProperties struct {
+       XMLName      xml.Name  `xml:"Contents"`
+       Key          string    `xml:"Key"`          // Object key
+       Type         string    `xml:"Type"`         // Object type
+       Size         int64     `xml:"Size"`         // Object size
+       ETag         string    `xml:"ETag"`         // Object ETag
+       Owner        Owner     `xml:"Owner"`        // Object owner information
+       LastModified time.Time `xml:"LastModified"` // Object last modified time
+       StorageClass string    `xml:"StorageClass"` // Object storage class (Standard, IA, Archive)
+}
+
+// ListObjectsResultV2 defines the result from ListObjectsV2 request
+type ListObjectsResultV2 struct {
+       XMLName               xml.Name           `xml:"ListBucketResult"`
+       Prefix                string             `xml:"Prefix"`                // The object prefix
+       StartAfter            string             `xml:"StartAfter"`            // the input StartAfter
+       ContinuationToken     string             `xml:"ContinuationToken"`     // the input ContinuationToken
+       MaxKeys               int                `xml:"MaxKeys"`               // Max keys to return
+       Delimiter             string             `xml:"Delimiter"`             // The delimiter for grouping objects' name
+       IsTruncated           bool               `xml:"IsTruncated"`           // Flag indicates if all results are returned (when it's false)
+       NextContinuationToken string             `xml:"NextContinuationToken"` // The start point of the next NextContinuationToken
+       Objects               []ObjectProperties `xml:"Contents"`              // Object list
+       CommonPrefixes        []string           `xml:"CommonPrefixes>Prefix"` // You can think of commonprefixes as "folders" whose names end with the delimiter
+}
+
+// ListObjectVersionsResult defines the result from ListObjectVersions request
+type ListObjectVersionsResult struct {
+       XMLName             xml.Name                       `xml:"ListVersionsResult"`
+       Name                string                         `xml:"Name"`                  // The Bucket Name
+       Owner               Owner                          `xml:"Owner"`                 // The owner of bucket
+       Prefix              string                         `xml:"Prefix"`                // The object prefix
+       KeyMarker           string                         `xml:"KeyMarker"`             // The start marker filter.
+       VersionIdMarker     string                         `xml:"VersionIdMarker"`       // The start VersionIdMarker filter.
+       MaxKeys             int                            `xml:"MaxKeys"`               // Max keys to return
+       Delimiter           string                         `xml:"Delimiter"`             // The delimiter for grouping objects' name
+       IsTruncated         bool                           `xml:"IsTruncated"`           // Flag indicates if all results are returned (when it's false)
+       NextKeyMarker       string                         `xml:"NextKeyMarker"`         // The start point of the next query
+       NextVersionIdMarker string                         `xml:"NextVersionIdMarker"`   // The start point of the next query
+       CommonPrefixes      []string                       `xml:"CommonPrefixes>Prefix"` // You can think of commonprefixes as "folders" whose names end with the delimiter
+       ObjectDeleteMarkers []ObjectDeleteMarkerProperties `xml:"DeleteMarker"`          // DeleteMarker list
+       ObjectVersions      []ObjectVersionProperties      `xml:"Version"`               // version list
+}
+
+type ObjectDeleteMarkerProperties struct {
+       XMLName      xml.Name  `xml:"DeleteMarker"`
+       Key          string    `xml:"Key"`          // The Object Key
+       VersionId    string    `xml:"VersionId"`    // The Object VersionId
+       IsLatest     bool      `xml:"IsLatest"`     // is current version or not
+       LastModified time.Time `xml:"LastModified"` // Object last modified time
+       Owner        Owner     `xml:"Owner"`        // bucket owner element
+}
+
+type ObjectVersionProperties struct {
+       XMLName      xml.Name  `xml:"Version"`
+       Key          string    `xml:"Key"`          // The Object Key
+       VersionId    string    `xml:"VersionId"`    // The Object VersionId
+       IsLatest     bool      `xml:"IsLatest"`     // is latest version or not
+       LastModified time.Time `xml:"LastModified"` // Object last modified time
+       Type         string    `xml:"Type"`         // Object type
+       Size         int64     `xml:"Size"`         // Object size
+       ETag         string    `xml:"ETag"`         // Object ETag
+       StorageClass string    `xml:"StorageClass"` // Object storage class (Standard, IA, Archive)
+       Owner        Owner     `xml:"Owner"`        // bucket owner element
+}
+
+// Owner defines Bucket/Object's owner
+type Owner struct {
+       XMLName     xml.Name `xml:"Owner"`
+       ID          string   `xml:"ID"`          // Owner ID
+       DisplayName string   `xml:"DisplayName"` // Owner's display name
+}
+
+// CopyObjectResult defines result object of CopyObject
+type CopyObjectResult struct {
+       XMLName      xml.Name  `xml:"CopyObjectResult"`
+       LastModified time.Time `xml:"LastModified"` // New object's last modified time.
+       ETag         string    `xml:"ETag"`         // New object's ETag
+}
+
+// GetObjectACLResult defines result of GetObjectACL request
+type GetObjectACLResult GetBucketACLResult
+
+type deleteXML struct {
+       XMLName xml.Name       `xml:"Delete"`
+       Objects []DeleteObject `xml:"Object"` // Objects to delete
+       Quiet   bool           `xml:"Quiet"`  // Flag of quiet mode.
+}
+
+// DeleteObject defines the struct for deleting object
+type DeleteObject struct {
+       XMLName   xml.Name `xml:"Object"`
+       Key       string   `xml:"Key"`                 // Object name
+       VersionId string   `xml:"VersionId,omitempty"` // Object VersionId
+}
+
+// DeleteObjectsResult defines result of DeleteObjects request
+type DeleteObjectsResult struct {
+       XMLName        xml.Name
+       DeletedObjects []string // Deleted object key list
+}
+
+// DeleteObjectsResult_inner defines result of DeleteObjects request
+type DeleteObjectVersionsResult struct {
+       XMLName              xml.Name         `xml:"DeleteResult"`
+       DeletedObjectsDetail []DeletedKeyInfo `xml:"Deleted"` // Deleted object detail info
+}
+
+// DeleteKeyInfo defines object delete info
+type DeletedKeyInfo struct {
+       XMLName               xml.Name `xml:"Deleted"`
+       Key                   string   `xml:"Key"`                   // Object key
+       VersionId             string   `xml:"VersionId"`             // VersionId
+       DeleteMarker          bool     `xml:"DeleteMarker"`          // Object DeleteMarker
+       DeleteMarkerVersionId string   `xml:"DeleteMarkerVersionId"` // Object DeleteMarkerVersionId
+}
+
+// InitiateMultipartUploadResult defines result of InitiateMultipartUpload request
+type InitiateMultipartUploadResult struct {
+       XMLName  xml.Name `xml:"InitiateMultipartUploadResult"`
+       Bucket   string   `xml:"Bucket"`   // Bucket name
+       Key      string   `xml:"Key"`      // Object name to upload
+       UploadID string   `xml:"UploadId"` // Generated UploadId
+}
+
+// UploadPart defines the upload/copy part
+type UploadPart struct {
+       XMLName    xml.Name `xml:"Part"`
+       PartNumber int      `xml:"PartNumber"` // Part number
+       ETag       string   `xml:"ETag"`       // ETag value of the part's data
+}
+
+type UploadParts []UploadPart
+
+func (slice UploadParts) Len() int {
+       return len(slice)
+}
+
+func (slice UploadParts) Less(i, j int) bool {
+       return slice[i].PartNumber < slice[j].PartNumber
+}
+
+func (slice UploadParts) Swap(i, j int) {
+       slice[i], slice[j] = slice[j], slice[i]
+}
+
+// UploadPartCopyResult defines result object of multipart copy request.
+type UploadPartCopyResult struct {
+       XMLName      xml.Name  `xml:"CopyPartResult"`
+       LastModified time.Time `xml:"LastModified"` // Last modified time
+       ETag         string    `xml:"ETag"`         // ETag
+}
+
+type completeMultipartUploadXML struct {
+       XMLName xml.Name     `xml:"CompleteMultipartUpload"`
+       Part    []UploadPart `xml:"Part"`
+}
+
+// CompleteMultipartUploadResult defines result object of CompleteMultipartUploadRequest
+type CompleteMultipartUploadResult struct {
+       XMLName  xml.Name `xml:"CompleteMultipartUploadResult"`
+       Location string   `xml:"Location"` // Object URL
+       Bucket   string   `xml:"Bucket"`   // Bucket name
+       ETag     string   `xml:"ETag"`     // Object ETag
+       Key      string   `xml:"Key"`      // Object name
+}
+
+// ListUploadedPartsResult defines result object of ListUploadedParts
+type ListUploadedPartsResult struct {
+       XMLName              xml.Name       `xml:"ListPartsResult"`
+       Bucket               string         `xml:"Bucket"`               // Bucket name
+       Key                  string         `xml:"Key"`                  // Object name
+       UploadID             string         `xml:"UploadId"`             // Upload ID
+       NextPartNumberMarker string         `xml:"NextPartNumberMarker"` // Next part number
+       MaxParts             int            `xml:"MaxParts"`             // Max parts count
+       IsTruncated          bool           `xml:"IsTruncated"`          // Flag indicates all entries returned.false: all entries returned.
+       UploadedParts        []UploadedPart `xml:"Part"`                 // Uploaded parts
+}
+
+// UploadedPart defines uploaded part
+type UploadedPart struct {
+       XMLName      xml.Name  `xml:"Part"`
+       PartNumber   int       `xml:"PartNumber"`   // Part number
+       LastModified time.Time `xml:"LastModified"` // Last modified time
+       ETag         string    `xml:"ETag"`         // ETag cache
+       Size         int       `xml:"Size"`         // Part size
+}
+
+// ListMultipartUploadResult defines result object of ListMultipartUpload
+type ListMultipartUploadResult struct {
+       XMLName            xml.Name            `xml:"ListMultipartUploadsResult"`
+       Bucket             string              `xml:"Bucket"`                // Bucket name
+       Delimiter          string              `xml:"Delimiter"`             // Delimiter for grouping object.
+       Prefix             string              `xml:"Prefix"`                // Object prefix
+       KeyMarker          string              `xml:"KeyMarker"`             // Object key marker
+       UploadIDMarker     string              `xml:"UploadIdMarker"`        // UploadId marker
+       NextKeyMarker      string              `xml:"NextKeyMarker"`         // Next key marker, if not all entries returned.
+       NextUploadIDMarker string              `xml:"NextUploadIdMarker"`    // Next uploadId marker, if not all entries returned.
+       MaxUploads         int                 `xml:"MaxUploads"`            // Max uploads to return
+       IsTruncated        bool                `xml:"IsTruncated"`           // Flag indicates all entries are returned.
+       Uploads            []UncompletedUpload `xml:"Upload"`                // Ongoing uploads (not completed, not aborted)
+       CommonPrefixes     []string            `xml:"CommonPrefixes>Prefix"` // Common prefixes list.
+}
+
+// UncompletedUpload structure wraps an uncompleted upload task
+type UncompletedUpload struct {
+       XMLName   xml.Name  `xml:"Upload"`
+       Key       string    `xml:"Key"`       // Object name
+       UploadID  string    `xml:"UploadId"`  // The UploadId
+       Initiated time.Time `xml:"Initiated"` // Initialization time in the format such as 2012-02-23T04:18:23.000Z
+}
+
+// ProcessObjectResult defines result object of ProcessObject
+type ProcessObjectResult struct {
+       Bucket   string `json:"bucket"`
+       FileSize int    `json:"fileSize"`
+       Object   string `json:"object"`
+       Status   string `json:"status"`
+}
+
+// decodeDeleteObjectsResult decodes deleting objects result in URL encoding
+func decodeDeleteObjectsResult(result *DeleteObjectVersionsResult) error {
+       var err error
+       for i := 0; i < len(result.DeletedObjectsDetail); i++ {
+               result.DeletedObjectsDetail[i].Key, err = url.QueryUnescape(result.DeletedObjectsDetail[i].Key)
+               if err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// decodeListObjectsResult decodes list objects result in URL encoding
+func decodeListObjectsResult(result *ListObjectsResult) error {
+       var err error
+       result.Prefix, err = url.QueryUnescape(result.Prefix)
+       if err != nil {
+               return err
+       }
+       result.Marker, err = url.QueryUnescape(result.Marker)
+       if err != nil {
+               return err
+       }
+       result.Delimiter, err = url.QueryUnescape(result.Delimiter)
+       if err != nil {
+               return err
+       }
+       result.NextMarker, err = url.QueryUnescape(result.NextMarker)
+       if err != nil {
+               return err
+       }
+       for i := 0; i < len(result.Objects); i++ {
+               result.Objects[i].Key, err = url.QueryUnescape(result.Objects[i].Key)
+               if err != nil {
+                       return err
+               }
+       }
+       for i := 0; i < len(result.CommonPrefixes); i++ {
+               result.CommonPrefixes[i], err = url.QueryUnescape(result.CommonPrefixes[i])
+               if err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// decodeListObjectsResult decodes list objects result in URL encoding
+func decodeListObjectsResultV2(result *ListObjectsResultV2) error {
+       var err error
+       result.Prefix, err = url.QueryUnescape(result.Prefix)
+       if err != nil {
+               return err
+       }
+       result.StartAfter, err = url.QueryUnescape(result.StartAfter)
+       if err != nil {
+               return err
+       }
+       result.Delimiter, err = url.QueryUnescape(result.Delimiter)
+       if err != nil {
+               return err
+       }
+       result.NextContinuationToken, err = url.QueryUnescape(result.NextContinuationToken)
+       if err != nil {
+               return err
+       }
+       for i := 0; i < len(result.Objects); i++ {
+               result.Objects[i].Key, err = url.QueryUnescape(result.Objects[i].Key)
+               if err != nil {
+                       return err
+               }
+       }
+       for i := 0; i < len(result.CommonPrefixes); i++ {
+               result.CommonPrefixes[i], err = url.QueryUnescape(result.CommonPrefixes[i])
+               if err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// decodeListObjectVersionsResult decodes list version objects result in URL encoding
+func decodeListObjectVersionsResult(result *ListObjectVersionsResult) error {
+       var err error
+
+       // decode:Delimiter
+       result.Delimiter, err = url.QueryUnescape(result.Delimiter)
+       if err != nil {
+               return err
+       }
+
+       // decode Prefix
+       result.Prefix, err = url.QueryUnescape(result.Prefix)
+       if err != nil {
+               return err
+       }
+
+       // decode KeyMarker
+       result.KeyMarker, err = url.QueryUnescape(result.KeyMarker)
+       if err != nil {
+               return err
+       }
+
+       // decode VersionIdMarker
+       result.VersionIdMarker, err = url.QueryUnescape(result.VersionIdMarker)
+       if err != nil {
+               return err
+       }
+
+       // decode NextKeyMarker
+       result.NextKeyMarker, err = url.QueryUnescape(result.NextKeyMarker)
+       if err != nil {
+               return err
+       }
+
+       // decode NextVersionIdMarker
+       result.NextVersionIdMarker, err = url.QueryUnescape(result.NextVersionIdMarker)
+       if err != nil {
+               return err
+       }
+
+       // decode CommonPrefixes
+       for i := 0; i < len(result.CommonPrefixes); i++ {
+               result.CommonPrefixes[i], err = url.QueryUnescape(result.CommonPrefixes[i])
+               if err != nil {
+                       return err
+               }
+       }
+
+       // decode deleteMarker
+       for i := 0; i < len(result.ObjectDeleteMarkers); i++ {
+               result.ObjectDeleteMarkers[i].Key, err = url.QueryUnescape(result.ObjectDeleteMarkers[i].Key)
+               if err != nil {
+                       return err
+               }
+       }
+
+       // decode ObjectVersions
+       for i := 0; i < len(result.ObjectVersions); i++ {
+               result.ObjectVersions[i].Key, err = url.QueryUnescape(result.ObjectVersions[i].Key)
+               if err != nil {
+                       return err
+               }
+       }
+
+       return nil
+}
+
+// decodeListUploadedPartsResult decodes
+func decodeListUploadedPartsResult(result *ListUploadedPartsResult) error {
+       var err error
+       result.Key, err = url.QueryUnescape(result.Key)
+       if err != nil {
+               return err
+       }
+       return nil
+}
+
+// decodeListMultipartUploadResult decodes list multipart upload result in URL encoding
+func decodeListMultipartUploadResult(result *ListMultipartUploadResult) error {
+       var err error
+       result.Prefix, err = url.QueryUnescape(result.Prefix)
+       if err != nil {
+               return err
+       }
+       result.Delimiter, err = url.QueryUnescape(result.Delimiter)
+       if err != nil {
+               return err
+       }
+       result.KeyMarker, err = url.QueryUnescape(result.KeyMarker)
+       if err != nil {
+               return err
+       }
+       result.NextKeyMarker, err = url.QueryUnescape(result.NextKeyMarker)
+       if err != nil {
+               return err
+       }
+       for i := 0; i < len(result.Uploads); i++ {
+               result.Uploads[i].Key, err = url.QueryUnescape(result.Uploads[i].Key)
+               if err != nil {
+                       return err
+               }
+       }
+       for i := 0; i < len(result.CommonPrefixes); i++ {
+               result.CommonPrefixes[i], err = url.QueryUnescape(result.CommonPrefixes[i])
+               if err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// createBucketConfiguration defines the configuration for creating a bucket.
+type createBucketConfiguration struct {
+       XMLName            xml.Name           `xml:"CreateBucketConfiguration"`
+       StorageClass       StorageClassType   `xml:"StorageClass,omitempty"`
+       DataRedundancyType DataRedundancyType `xml:"DataRedundancyType,omitempty"`
+}
+
+// LiveChannelConfiguration defines the configuration for live-channel
+type LiveChannelConfiguration struct {
+       XMLName     xml.Name          `xml:"LiveChannelConfiguration"`
+       Description string            `xml:"Description,omitempty"` //Description of live-channel, up to 128 bytes
+       Status      string            `xml:"Status,omitempty"`      //\bSpecify the status of livechannel
+       Target      LiveChannelTarget `xml:"Target"`                //target configuration of live-channel
+       // use point instead of struct to avoid omit empty snapshot
+       Snapshot *LiveChannelSnapshot `xml:"Snapshot,omitempty"` //snapshot configuration of live-channel
+}
+
+// LiveChannelTarget target configuration of live-channel
+type LiveChannelTarget struct {
+       XMLName      xml.Name `xml:"Target"`
+       Type         string   `xml:"Type"`                   //the type of object, only supports HLS
+       FragDuration int      `xml:"FragDuration,omitempty"` //the length of each ts object (in seconds), in the range [1,100]
+       FragCount    int      `xml:"FragCount,omitempty"`    //the number of ts objects in the m3u8 object, in the range of [1,100]
+       PlaylistName string   `xml:"PlaylistName,omitempty"` //the name of m3u8 object, which must end with ".m3u8" and the length range is [6,128]
+}
+
+// LiveChannelSnapshot snapshot configuration of live-channel
+type LiveChannelSnapshot struct {
+       XMLName     xml.Name `xml:"Snapshot"`
+       RoleName    string   `xml:"RoleName,omitempty"`    //The role of snapshot operations, it sholud has write permission of DestBucket and the permission to send messages to the NotifyTopic.
+       DestBucket  string   `xml:"DestBucket,omitempty"`  //Bucket the snapshots will be written to. should be the same owner as the source bucket.
+       NotifyTopic string   `xml:"NotifyTopic,omitempty"` //Topics of MNS for notifying users of high frequency screenshot operation results
+       Interval    int      `xml:"Interval,omitempty"`    //interval of snapshots, threre is no snapshot if no I-frame during the interval time
+}
+
+// CreateLiveChannelResult the result of crete live-channel
+type CreateLiveChannelResult struct {
+       XMLName     xml.Name `xml:"CreateLiveChannelResult"`
+       PublishUrls []string `xml:"PublishUrls>Url"` //push urls list
+       PlayUrls    []string `xml:"PlayUrls>Url"`    //play urls list
+}
+
+// LiveChannelStat the result of get live-channel state
+type LiveChannelStat struct {
+       XMLName       xml.Name         `xml:"LiveChannelStat"`
+       Status        string           `xml:"Status"`        //Current push status of live-channel: Disabled,Live,Idle
+       ConnectedTime time.Time        `xml:"ConnectedTime"` //The time when the client starts pushing, format: ISO8601
+       RemoteAddr    string           `xml:"RemoteAddr"`    //The ip address of the client
+       Video         LiveChannelVideo `xml:"Video"`         //Video stream information
+       Audio         LiveChannelAudio `xml:"Audio"`         //Audio stream information
+}
+
+// LiveChannelVideo video stream information
+type LiveChannelVideo struct {
+       XMLName   xml.Name `xml:"Video"`
+       Width     int      `xml:"Width"`     //Width (unit: pixels)
+       Height    int      `xml:"Height"`    //Height (unit: pixels)
+       FrameRate int      `xml:"FrameRate"` //FramRate
+       Bandwidth int      `xml:"Bandwidth"` //Bandwidth (unit: B/s)
+}
+
+// LiveChannelAudio audio stream information
+type LiveChannelAudio struct {
+       XMLName    xml.Name `xml:"Audio"`
+       SampleRate int      `xml:"SampleRate"` //SampleRate
+       Bandwidth  int      `xml:"Bandwidth"`  //Bandwidth (unit: B/s)
+       Codec      string   `xml:"Codec"`      //Encoding forma
+}
+
+// LiveChannelHistory the result of GetLiveChannelHistory, at most return up to lastest 10 push records
+type LiveChannelHistory struct {
+       XMLName xml.Name     `xml:"LiveChannelHistory"`
+       Record  []LiveRecord `xml:"LiveRecord"` //push records list
+}
+
+// LiveRecord push recode
+type LiveRecord struct {
+       XMLName    xml.Name  `xml:"LiveRecord"`
+       StartTime  time.Time `xml:"StartTime"`  //StartTime, format: ISO8601
+       EndTime    time.Time `xml:"EndTime"`    //EndTime, format: ISO8601
+       RemoteAddr string    `xml:"RemoteAddr"` //The ip address of remote client
+}
+
+// ListLiveChannelResult the result of ListLiveChannel
+type ListLiveChannelResult struct {
+       XMLName     xml.Name          `xml:"ListLiveChannelResult"`
+       Prefix      string            `xml:"Prefix"`      //Filter by the name start with the value of "Prefix"
+       Marker      string            `xml:"Marker"`      //cursor from which starting list
+       MaxKeys     int               `xml:"MaxKeys"`     //The maximum count returned. the default value is 100. it cannot be greater than 1000.
+       IsTruncated bool              `xml:"IsTruncated"` //Indicates whether all results have been returned, "true" indicates partial results returned while "false" indicates all results have been returned
+       NextMarker  string            `xml:"NextMarker"`  //NextMarker indicate the Marker value of the next request
+       LiveChannel []LiveChannelInfo `xml:"LiveChannel"` //The infomation of live-channel
+}
+
+// LiveChannelInfo the infomation of live-channel
+type LiveChannelInfo struct {
+       XMLName      xml.Name  `xml:"LiveChannel"`
+       Name         string    `xml:"Name"`            //The name of live-channel
+       Description  string    `xml:"Description"`     //Description of live-channel
+       Status       string    `xml:"Status"`          //Status: disabled or enabled
+       LastModified time.Time `xml:"LastModified"`    //Last modification time, format: ISO8601
+       PublishUrls  []string  `xml:"PublishUrls>Url"` //push urls list
+       PlayUrls     []string  `xml:"PlayUrls>Url"`    //play urls list
+}
+
+// Tag a tag for the object
+type Tag struct {
+       XMLName xml.Name `xml:"Tag"`
+       Key     string   `xml:"Key"`
+       Value   string   `xml:"Value"`
+}
+
+// Tagging tagset for the object
+type Tagging struct {
+       XMLName xml.Name `xml:"Tagging"`
+       Tags    []Tag    `xml:"TagSet>Tag,omitempty"`
+}
+
+// for GetObjectTagging return value
+type GetObjectTaggingResult Tagging
+
+// VersioningConfig for the bucket
+type VersioningConfig struct {
+       XMLName xml.Name `xml:"VersioningConfiguration"`
+       Status  string   `xml:"Status"`
+}
+
+type GetBucketVersioningResult VersioningConfig
+
+// Server Encryption rule for the bucket
+type ServerEncryptionRule struct {
+       XMLName    xml.Name       `xml:"ServerSideEncryptionRule"`
+       SSEDefault SSEDefaultRule `xml:"ApplyServerSideEncryptionByDefault"`
+}
+
+// Server Encryption deafult rule for the bucket
+type SSEDefaultRule struct {
+       XMLName           xml.Name `xml:"ApplyServerSideEncryptionByDefault"`
+       SSEAlgorithm      string   `xml:"SSEAlgorithm,omitempty"`
+       KMSMasterKeyID    string   `xml:"KMSMasterKeyID,omitempty"`
+       KMSDataEncryption string   `xml:"KMSDataEncryption,,omitempty"`
+}
+
+type GetBucketEncryptionResult ServerEncryptionRule
+type GetBucketTaggingResult Tagging
+
+type BucketStat struct {
+       XMLName              xml.Name `xml:"BucketStat"`
+       Storage              int64    `xml:"Storage"`
+       ObjectCount          int64    `xml:"ObjectCount"`
+       MultipartUploadCount int64    `xml:"MultipartUploadCount"`
+}
+type GetBucketStatResult BucketStat
+
+// RequestPaymentConfiguration define the request payment configuration
+type RequestPaymentConfiguration struct {
+       XMLName xml.Name `xml:"RequestPaymentConfiguration"`
+       Payer   string   `xml:"Payer,omitempty"`
+}
+
+// BucketQoSConfiguration define QoS configuration
+type BucketQoSConfiguration struct {
+       XMLName                   xml.Name `xml:"QoSConfiguration"`
+       TotalUploadBandwidth      *int     `xml:"TotalUploadBandwidth"`      // Total upload bandwidth
+       IntranetUploadBandwidth   *int     `xml:"IntranetUploadBandwidth"`   // Intranet upload bandwidth
+       ExtranetUploadBandwidth   *int     `xml:"ExtranetUploadBandwidth"`   // Extranet upload bandwidth
+       TotalDownloadBandwidth    *int     `xml:"TotalDownloadBandwidth"`    // Total download bandwidth
+       IntranetDownloadBandwidth *int     `xml:"IntranetDownloadBandwidth"` // Intranet download bandwidth
+       ExtranetDownloadBandwidth *int     `xml:"ExtranetDownloadBandwidth"` // Extranet download bandwidth
+       TotalQPS                  *int     `xml:"TotalQps"`                  // Total Qps
+       IntranetQPS               *int     `xml:"IntranetQps"`               // Intranet Qps
+       ExtranetQPS               *int     `xml:"ExtranetQps"`               // Extranet Qps
+}
+
+// UserQoSConfiguration define QoS and Range configuration
+type UserQoSConfiguration struct {
+       XMLName xml.Name `xml:"QoSConfiguration"`
+       Region  string   `xml:"Region,omitempty"` // Effective area of Qos configuration
+       BucketQoSConfiguration
+}
+
+//////////////////////////////////////////////////////////////
+/////////////////// Select OBject ////////////////////////////
+//////////////////////////////////////////////////////////////
+
+type CsvMetaRequest struct {
+       XMLName            xml.Name           `xml:"CsvMetaRequest"`
+       InputSerialization InputSerialization `xml:"InputSerialization"`
+       OverwriteIfExists  *bool              `xml:"OverwriteIfExists,omitempty"`
+}
+
+// encodeBase64 encode base64 of the CreateSelectObjectMeta api request params
+func (meta *CsvMetaRequest) encodeBase64() {
+       meta.InputSerialization.CSV.RecordDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(meta.InputSerialization.CSV.RecordDelimiter))
+       meta.InputSerialization.CSV.FieldDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(meta.InputSerialization.CSV.FieldDelimiter))
+       meta.InputSerialization.CSV.QuoteCharacter =
+               base64.StdEncoding.EncodeToString([]byte(meta.InputSerialization.CSV.QuoteCharacter))
+}
+
+type JsonMetaRequest struct {
+       XMLName            xml.Name           `xml:"JsonMetaRequest"`
+       InputSerialization InputSerialization `xml:"InputSerialization"`
+       OverwriteIfExists  *bool              `xml:"OverwriteIfExists,omitempty"`
+}
+
+type InputSerialization struct {
+       XMLName         xml.Name `xml:"InputSerialization"`
+       CSV             CSV      `xml:CSV,omitempty`
+       JSON            JSON     `xml:JSON,omitempty`
+       CompressionType string   `xml:"CompressionType,omitempty"`
+}
+type CSV struct {
+       XMLName         xml.Name `xml:"CSV"`
+       RecordDelimiter string   `xml:"RecordDelimiter,omitempty"`
+       FieldDelimiter  string   `xml:"FieldDelimiter,omitempty"`
+       QuoteCharacter  string   `xml:"QuoteCharacter,omitempty"`
+}
+
+type JSON struct {
+       XMLName  xml.Name `xml:"JSON"`
+       JSONType string   `xml:"Type,omitempty"`
+}
+
+// SelectRequest is for the SelectObject request params of json file
+type SelectRequest struct {
+       XMLName                   xml.Name                  `xml:"SelectRequest"`
+       Expression                string                    `xml:"Expression"`
+       InputSerializationSelect  InputSerializationSelect  `xml:"InputSerialization"`
+       OutputSerializationSelect OutputSerializationSelect `xml:"OutputSerialization"`
+       SelectOptions             SelectOptions             `xml:"Options,omitempty"`
+}
+type InputSerializationSelect struct {
+       XMLName         xml.Name        `xml:"InputSerialization"`
+       CsvBodyInput    CSVSelectInput  `xml:CSV,omitempty`
+       JsonBodyInput   JSONSelectInput `xml:JSON,omitempty`
+       CompressionType string          `xml:"CompressionType,omitempty"`
+}
+type CSVSelectInput struct {
+       XMLName          xml.Name `xml:"CSV"`
+       FileHeaderInfo   string   `xml:"FileHeaderInfo,omitempty"`
+       RecordDelimiter  string   `xml:"RecordDelimiter,omitempty"`
+       FieldDelimiter   string   `xml:"FieldDelimiter,omitempty"`
+       QuoteCharacter   string   `xml:"QuoteCharacter,omitempty"`
+       CommentCharacter string   `xml:"CommentCharacter,omitempty"`
+       Range            string   `xml:"Range,omitempty"`
+       SplitRange       string
+}
+type JSONSelectInput struct {
+       XMLName                 xml.Name `xml:"JSON"`
+       JSONType                string   `xml:"Type,omitempty"`
+       Range                   string   `xml:"Range,omitempty"`
+       ParseJSONNumberAsString *bool    `xml:"ParseJsonNumberAsString"`
+       SplitRange              string
+}
+
+func (jsonInput *JSONSelectInput) JsonIsEmpty() bool {
+       if jsonInput.JSONType != "" {
+               return false
+       }
+       return true
+}
+
+type OutputSerializationSelect struct {
+       XMLName          xml.Name         `xml:"OutputSerialization"`
+       CsvBodyOutput    CSVSelectOutput  `xml:CSV,omitempty`
+       JsonBodyOutput   JSONSelectOutput `xml:JSON,omitempty`
+       OutputRawData    *bool            `xml:"OutputRawData,omitempty"`
+       KeepAllColumns   *bool            `xml:"KeepAllColumns,omitempty"`
+       EnablePayloadCrc *bool            `xml:"EnablePayloadCrc,omitempty"`
+       OutputHeader     *bool            `xml:"OutputHeader,omitempty"`
+}
+type CSVSelectOutput struct {
+       XMLName         xml.Name `xml:"CSV"`
+       RecordDelimiter string   `xml:"RecordDelimiter,omitempty"`
+       FieldDelimiter  string   `xml:"FieldDelimiter,omitempty"`
+}
+type JSONSelectOutput struct {
+       XMLName         xml.Name `xml:"JSON"`
+       RecordDelimiter string   `xml:"RecordDelimiter,omitempty"`
+}
+
+func (selectReq *SelectRequest) encodeBase64() {
+       if selectReq.InputSerializationSelect.JsonBodyInput.JsonIsEmpty() {
+               selectReq.csvEncodeBase64()
+       } else {
+               selectReq.jsonEncodeBase64()
+       }
+}
+
+// csvEncodeBase64 encode base64 of the SelectObject api request params
+func (selectReq *SelectRequest) csvEncodeBase64() {
+       selectReq.Expression = base64.StdEncoding.EncodeToString([]byte(selectReq.Expression))
+       selectReq.InputSerializationSelect.CsvBodyInput.RecordDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.InputSerializationSelect.CsvBodyInput.RecordDelimiter))
+       selectReq.InputSerializationSelect.CsvBodyInput.FieldDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.InputSerializationSelect.CsvBodyInput.FieldDelimiter))
+       selectReq.InputSerializationSelect.CsvBodyInput.QuoteCharacter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.InputSerializationSelect.CsvBodyInput.QuoteCharacter))
+       selectReq.InputSerializationSelect.CsvBodyInput.CommentCharacter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.InputSerializationSelect.CsvBodyInput.CommentCharacter))
+       selectReq.OutputSerializationSelect.CsvBodyOutput.FieldDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.OutputSerializationSelect.CsvBodyOutput.FieldDelimiter))
+       selectReq.OutputSerializationSelect.CsvBodyOutput.RecordDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.OutputSerializationSelect.CsvBodyOutput.RecordDelimiter))
+
+       // handle Range
+       if selectReq.InputSerializationSelect.CsvBodyInput.Range != "" {
+               selectReq.InputSerializationSelect.CsvBodyInput.Range = "line-range=" + selectReq.InputSerializationSelect.CsvBodyInput.Range
+       }
+
+       if selectReq.InputSerializationSelect.CsvBodyInput.SplitRange != "" {
+               selectReq.InputSerializationSelect.CsvBodyInput.Range = "split-range=" + selectReq.InputSerializationSelect.CsvBodyInput.SplitRange
+       }
+}
+
+// jsonEncodeBase64 encode base64 of the SelectObject api request params
+func (selectReq *SelectRequest) jsonEncodeBase64() {
+       selectReq.Expression = base64.StdEncoding.EncodeToString([]byte(selectReq.Expression))
+       selectReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter =
+               base64.StdEncoding.EncodeToString([]byte(selectReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter))
+
+       // handle Range
+       if selectReq.InputSerializationSelect.JsonBodyInput.Range != "" {
+               selectReq.InputSerializationSelect.JsonBodyInput.Range = "line-range=" + selectReq.InputSerializationSelect.JsonBodyInput.Range
+       }
+
+       if selectReq.InputSerializationSelect.JsonBodyInput.SplitRange != "" {
+               selectReq.InputSerializationSelect.JsonBodyInput.Range = "split-range=" + selectReq.InputSerializationSelect.JsonBodyInput.SplitRange
+       }
+}
+
+// CsvOptions is a element in the SelectObject api request's params
+type SelectOptions struct {
+       XMLName                  xml.Name `xml:"Options"`
+       SkipPartialDataRecord    *bool    `xml:"SkipPartialDataRecord,omitempty"`
+       MaxSkippedRecordsAllowed string   `xml:"MaxSkippedRecordsAllowed,omitempty"`
+}
+
+// SelectObjectResult is the SelectObject api's return
+type SelectObjectResult struct {
+       Version          byte
+       FrameType        int32
+       PayloadLength    int32
+       HeaderCheckSum   uint32
+       Offset           uint64
+       Data             string           // DataFrame
+       EndFrame         EndFrame         // EndFrame
+       MetaEndFrameCSV  MetaEndFrameCSV  // MetaEndFrameCSV
+       MetaEndFrameJSON MetaEndFrameJSON // MetaEndFrameJSON
+       PayloadChecksum  uint32
+       ReadFlagInfo
+}
+
+// ReadFlagInfo if reading the frame data, recode the reading status
+type ReadFlagInfo struct {
+       OpenLine            bool
+       ConsumedBytesLength int32
+       EnablePayloadCrc    bool
+       OutputRawData       bool
+}
+
+// EndFrame is EndFrameType of SelectObject api
+type EndFrame struct {
+       TotalScanned   int64
+       HTTPStatusCode int32
+       ErrorMsg       string
+}
+
+// MetaEndFrameCSV is MetaEndFrameCSVType of CreateSelectObjectMeta
+type MetaEndFrameCSV struct {
+       TotalScanned int64
+       Status       int32
+       SplitsCount  int32
+       RowsCount    int64
+       ColumnsCount int32
+       ErrorMsg     string
+}
+
+// MetaEndFrameJSON is MetaEndFrameJSON of CreateSelectObjectMeta
+type MetaEndFrameJSON struct {
+       TotalScanned int64
+       Status       int32
+       SplitsCount  int32
+       RowsCount    int64
+       ErrorMsg     string
+}
+
+// InventoryConfiguration is Inventory config
+type InventoryConfiguration struct {
+       XMLName                xml.Name             `xml:"InventoryConfiguration"`
+       Id                     string               `xml:"Id,omitempty"`
+       IsEnabled              *bool                `xml:"IsEnabled,omitempty"`
+       Prefix                 string               `xml:"Filter>Prefix,omitempty"`
+       OSSBucketDestination   OSSBucketDestination `xml:"Destination>OSSBucketDestination,omitempty"`
+       Frequency              string               `xml:"Schedule>Frequency,omitempty"`
+       IncludedObjectVersions string               `xml:"IncludedObjectVersions,omitempty"`
+       OptionalFields         OptionalFields       `xml:OptionalFields,omitempty`
+}
+
+type OptionalFields struct {
+       XMLName xml.Name `xml:"OptionalFields,omitempty`
+       Field   []string `xml:"Field,omitempty`
+}
+
+type OSSBucketDestination struct {
+       XMLName    xml.Name       `xml:"OSSBucketDestination"`
+       Format     string         `xml:"Format,omitempty"`
+       AccountId  string         `xml:"AccountId,omitempty"`
+       RoleArn    string         `xml:"RoleArn,omitempty"`
+       Bucket     string         `xml:"Bucket,omitempty"`
+       Prefix     string         `xml:"Prefix,omitempty"`
+       Encryption *InvEncryption `xml:"Encryption,omitempty"`
+}
+
+type InvEncryption struct {
+       XMLName xml.Name   `xml:"Encryption"`
+       SseOss  *InvSseOss `xml:"SSE-OSS"`
+       SseKms  *InvSseKms `xml:"SSE-KMS"`
+}
+
+type InvSseOss struct {
+       XMLName xml.Name `xml:"SSE-OSS"`
+}
+
+type InvSseKms struct {
+       XMLName xml.Name `xml:"SSE-KMS"`
+       KmsId   string   `xml:"KeyId,omitempty"`
+}
+
+type ListInventoryConfigurationsResult struct {
+       XMLName                xml.Name                 `xml:"ListInventoryConfigurationsResult"`
+       InventoryConfiguration []InventoryConfiguration `xml:"InventoryConfiguration,omitempty`
+       IsTruncated            *bool                    `xml:"IsTruncated,omitempty"`
+       NextContinuationToken  string                   `xml:"NextContinuationToken,omitempty"`
+}
+
+// RestoreConfiguration for RestoreObject
+type RestoreConfiguration struct {
+       XMLName xml.Name `xml:"RestoreRequest"`
+       Days    int32    `xml:"Days,omitempty"`
+       Tier    string   `xml:"JobParameters>Tier,omitempty"`
+}
+
+// AsyncFetchTaskConfiguration for SetBucketAsyncFetchTask
+type AsyncFetchTaskConfiguration struct {
+       XMLName       xml.Name `xml:"AsyncFetchTaskConfiguration"`
+       Url           string   `xml:"Url,omitempty"`
+       Object        string   `xml:"Object,omitempty"`
+       Host          string   `xml:"Host,omitempty"`
+       ContentMD5    string   `xml:"ContentMD5,omitempty"`
+       Callback      string   `xml:"Callback,omitempty"`
+       StorageClass  string   `xml:"StorageClass,omitempty"`
+       IgnoreSameKey bool     `xml:"IgnoreSameKey"`
+}
+
+// AsyncFetchTaskResult for SetBucketAsyncFetchTask result
+type AsyncFetchTaskResult struct {
+       XMLName xml.Name `xml:"AsyncFetchTaskResult"`
+       TaskId  string   `xml:"TaskId,omitempty"`
+}
+
+// AsynFetchTaskInfo for GetBucketAsyncFetchTask result
+type AsynFetchTaskInfo struct {
+       XMLName  xml.Name      `xml:"AsyncFetchTaskInfo"`
+       TaskId   string        `xml:"TaskId,omitempty"`
+       State    string        `xml:"State,omitempty"`
+       ErrorMsg string        `xml:"ErrorMsg,omitempty"`
+       TaskInfo AsyncTaskInfo `xml:"TaskInfo,omitempty"`
+}
+
+// AsyncTaskInfo for async task information
+type AsyncTaskInfo struct {
+       XMLName       xml.Name `xml:"TaskInfo"`
+       Url           string   `xml:"Url,omitempty"`
+       Object        string   `xml:"Object,omitempty"`
+       Host          string   `xml:"Host,omitempty"`
+       ContentMD5    string   `xml:"ContentMD5,omitempty"`
+       Callback      string   `xml:"Callback,omitempty"`
+       StorageClass  string   `xml:"StorageClass,omitempty"`
+       IgnoreSameKey bool     `xml:"IgnoreSameKey"`
+}
+
+// InitiateWormConfiguration define InitiateBucketWorm configuration
+type InitiateWormConfiguration struct {
+       XMLName               xml.Name `xml:"InitiateWormConfiguration"`
+       RetentionPeriodInDays int      `xml:"RetentionPeriodInDays"` // specify retention days
+}
+
+// ExtendWormConfiguration define ExtendWormConfiguration configuration
+type ExtendWormConfiguration struct {
+       XMLName               xml.Name `xml:"ExtendWormConfiguration"`
+       RetentionPeriodInDays int      `xml:"RetentionPeriodInDays"` // specify retention days
+}
+
+// WormConfiguration define WormConfiguration
+type WormConfiguration struct {
+       XMLName               xml.Name `xml:"WormConfiguration"`
+       WormId                string   `xml:"WormId,omitempty"`
+       State                 string   `xml:"State,omitempty"`
+       RetentionPeriodInDays int      `xml:"RetentionPeriodInDays"` // specify retention days
+       CreationDate          string   `xml:"CreationDate,omitempty"`
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/type_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/type_test.go
new file mode 100644 (file)
index 0000000..caeaa05
--- /dev/null
@@ -0,0 +1,391 @@
+package oss
+
+import (
+       "net/url"
+       "sort"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssTypeSuite struct{}
+
+var _ = Suite(&OssTypeSuite{})
+
+var (
+       goStr     = "go go + go <> go"
+       chnStr    = "试问闲情几许"
+       goURLStr  = url.QueryEscape(goStr)
+       chnURLStr = url.QueryEscape(chnStr)
+)
+
+func (s *OssTypeSuite) TestDecodeDeleteObjectsResult(c *C) {
+       var res DeleteObjectVersionsResult
+       err := decodeDeleteObjectsResult(&res)
+       c.Assert(err, IsNil)
+
+       res.DeletedObjectsDetail = []DeletedKeyInfo{DeletedKeyInfo{Key: ""}}
+       err = decodeDeleteObjectsResult(&res)
+       c.Assert(err, IsNil)
+       c.Assert(res.DeletedObjectsDetail[0].Key, Equals, "")
+
+       res.DeletedObjectsDetail = []DeletedKeyInfo{DeletedKeyInfo{Key: goURLStr}, DeletedKeyInfo{Key: chnURLStr}}
+       err = decodeDeleteObjectsResult(&res)
+       c.Assert(err, IsNil)
+       c.Assert(res.DeletedObjectsDetail[0].Key, Equals, goStr)
+       c.Assert(res.DeletedObjectsDetail[1].Key, Equals, chnStr)
+}
+
+func (s *OssTypeSuite) TestDecodeListObjectsResult(c *C) {
+       var res ListObjectsResult
+       err := decodeListObjectsResult(&res)
+       c.Assert(err, IsNil)
+
+       res = ListObjectsResult{}
+       err = decodeListObjectsResult(&res)
+       c.Assert(err, IsNil)
+
+       res = ListObjectsResult{Prefix: goURLStr, Marker: goURLStr,
+               Delimiter: goURLStr, NextMarker: goURLStr,
+               Objects:        []ObjectProperties{{Key: chnURLStr}},
+               CommonPrefixes: []string{chnURLStr}}
+
+       err = decodeListObjectsResult(&res)
+       c.Assert(err, IsNil)
+
+       c.Assert(res.Prefix, Equals, goStr)
+       c.Assert(res.Marker, Equals, goStr)
+       c.Assert(res.Delimiter, Equals, goStr)
+       c.Assert(res.NextMarker, Equals, goStr)
+       c.Assert(res.Objects[0].Key, Equals, chnStr)
+       c.Assert(res.CommonPrefixes[0], Equals, chnStr)
+}
+
+func (s *OssTypeSuite) TestDecodeListMultipartUploadResult(c *C) {
+       res := ListMultipartUploadResult{}
+       err := decodeListMultipartUploadResult(&res)
+       c.Assert(err, IsNil)
+
+       res = ListMultipartUploadResult{Prefix: goURLStr, KeyMarker: goURLStr,
+               Delimiter: goURLStr, NextKeyMarker: goURLStr,
+               Uploads: []UncompletedUpload{{Key: chnURLStr}}}
+
+       err = decodeListMultipartUploadResult(&res)
+       c.Assert(err, IsNil)
+
+       c.Assert(res.Prefix, Equals, goStr)
+       c.Assert(res.KeyMarker, Equals, goStr)
+       c.Assert(res.Delimiter, Equals, goStr)
+       c.Assert(res.NextKeyMarker, Equals, goStr)
+       c.Assert(res.Uploads[0].Key, Equals, chnStr)
+}
+
+func (s *OssTypeSuite) TestSortUploadPart(c *C) {
+       parts := []UploadPart{}
+
+       sort.Sort(UploadParts(parts))
+       c.Assert(len(parts), Equals, 0)
+
+       parts = []UploadPart{
+               {PartNumber: 5, ETag: "E5"},
+               {PartNumber: 1, ETag: "E1"},
+               {PartNumber: 4, ETag: "E4"},
+               {PartNumber: 2, ETag: "E2"},
+               {PartNumber: 3, ETag: "E3"},
+       }
+
+       sort.Sort(UploadParts(parts))
+
+       c.Assert(parts[0].PartNumber, Equals, 1)
+       c.Assert(parts[0].ETag, Equals, "E1")
+       c.Assert(parts[1].PartNumber, Equals, 2)
+       c.Assert(parts[1].ETag, Equals, "E2")
+       c.Assert(parts[2].PartNumber, Equals, 3)
+       c.Assert(parts[2].ETag, Equals, "E3")
+       c.Assert(parts[3].PartNumber, Equals, 4)
+       c.Assert(parts[3].ETag, Equals, "E4")
+       c.Assert(parts[4].PartNumber, Equals, 5)
+       c.Assert(parts[4].ETag, Equals, "E5")
+}
+
+func (s *OssTypeSuite) TestValidateLifecleRules(c *C) {
+       expiration := LifecycleExpiration{
+               Days:              30,
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule := LifecycleRule{
+               ID:         "ruleID",
+               Prefix:     "prefix",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+       rules := []LifecycleRule{rule}
+       err := verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       expiration = LifecycleExpiration{
+               Date:              "2015-11-11T00:00:00.000Z",
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule = LifecycleRule{
+               ID:         "ruleID",
+               Prefix:     "prefix",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       expiration = LifecycleExpiration{
+               Days:              0,
+               CreatedBeforeDate: "",
+               Date:              "",
+       }
+       rule = LifecycleRule{
+               ID:         "ruleID",
+               Prefix:     "prefix",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       abortMPU := LifecycleAbortMultipartUpload{
+               Days:              30,
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, NotNil)
+
+       abortMPU = LifecycleAbortMultipartUpload{
+               Days:              0,
+               CreatedBeforeDate: "",
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, NotNil)
+
+       transition := LifecycleTransition{
+               Days:              30,
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+               StorageClass:      StorageIA,
+       }
+       rule = LifecycleRule{
+               ID:          "ruleID",
+               Prefix:      "prefix",
+               Status:      "Enabled",
+               Transitions: []LifecycleTransition{transition},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, NotNil)
+
+       transition = LifecycleTransition{
+               Days:              0,
+               CreatedBeforeDate: "",
+               StorageClass:      StorageIA,
+       }
+       rule = LifecycleRule{
+               ID:          "ruleID",
+               Prefix:      "prefix",
+               Status:      "Enabled",
+               Transitions: []LifecycleTransition{transition},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, NotNil)
+
+       transition = LifecycleTransition{
+               Days:         30,
+               StorageClass: StorageStandard,
+       }
+       rule = LifecycleRule{
+               ID:          "ruleID",
+               Prefix:      "prefix",
+               Status:      "Enabled",
+               Transitions: []LifecycleTransition{transition},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       transition = LifecycleTransition{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+               StorageClass:      StorageStandard,
+       }
+       rule = LifecycleRule{
+               ID:          "ruleID",
+               Prefix:      "prefix",
+               Status:      "Enabled",
+               Transitions: []LifecycleTransition{transition},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       transition1 := LifecycleTransition{
+               Days:         30,
+               StorageClass: StorageIA,
+       }
+       transition2 := LifecycleTransition{
+               Days:         60,
+               StorageClass: StorageArchive,
+       }
+       transition3 := LifecycleTransition{
+               Days:         100,
+               StorageClass: StorageArchive,
+       }
+       rule = LifecycleRule{
+               ID:          "ruleID",
+               Prefix:      "prefix",
+               Status:      "Enabled",
+               Transitions: []LifecycleTransition{transition1, transition2, transition3},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       rule = LifecycleRule{
+               ID:     "ruleID",
+               Prefix: "prefix",
+               Status: "Enabled",
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       rules = []LifecycleRule{}
+       err1 := verifyLifecycleRules(rules)
+       c.Assert(err1, NotNil)
+
+       expiration = LifecycleExpiration{
+               Days: 30,
+       }
+       rule = LifecycleRule{
+               ID:         "ruleID",
+               Prefix:     "prefix",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       expiration = LifecycleExpiration{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule = LifecycleRule{
+               ID:         "ruleID",
+               Prefix:     "prefix",
+               Status:     "Enabled",
+               Expiration: &expiration,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       abortMPU = LifecycleAbortMultipartUpload{
+               Days: 30,
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       abortMPU = LifecycleAbortMultipartUpload{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       expiration = LifecycleExpiration{
+               Days: 30,
+       }
+       abortMPU = LifecycleAbortMultipartUpload{
+               Days: 30,
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               Expiration:           &expiration,
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       expiration = LifecycleExpiration{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       abortMPU = LifecycleAbortMultipartUpload{
+               Days: 30,
+       }
+       transition = LifecycleTransition{
+               Days:         30,
+               StorageClass: StorageIA,
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               Expiration:           &expiration,
+               AbortMultipartUpload: &abortMPU,
+               Transitions:          []LifecycleTransition{transition},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+
+       expiration = LifecycleExpiration{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       abortMPU = LifecycleAbortMultipartUpload{
+               Days: 30,
+       }
+       transition1 = LifecycleTransition{
+               Days:         30,
+               StorageClass: StorageIA,
+       }
+       transition2 = LifecycleTransition{
+               Days:         60,
+               StorageClass: StorageArchive,
+       }
+       rule = LifecycleRule{
+               ID:                   "ruleID",
+               Prefix:               "prefix",
+               Status:               "Enabled",
+               Expiration:           &expiration,
+               AbortMultipartUpload: &abortMPU,
+               Transitions:          []LifecycleTransition{transition1, transition2},
+       }
+       rules = []LifecycleRule{rule}
+       err = verifyLifecycleRules(rules)
+       c.Assert(err, IsNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/upload.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/upload.go
new file mode 100644 (file)
index 0000000..8b3ea09
--- /dev/null
@@ -0,0 +1,552 @@
+package oss
+
+import (
+       "crypto/md5"
+       "encoding/base64"
+       "encoding/hex"
+       "encoding/json"
+       "errors"
+       "fmt"
+       "io/ioutil"
+       "net/http"
+       "os"
+       "path/filepath"
+       "time"
+)
+
+// UploadFile is multipart file upload.
+//
+// objectKey    the object name.
+// filePath    the local file path to upload.
+// partSize    the part size in byte.
+// options    the options for uploading object.
+//
+// error    it's nil if the operation succeeds, otherwise it's an error object.
+//
+func (bucket Bucket) UploadFile(objectKey, filePath string, partSize int64, options ...Option) error {
+       if partSize < MinPartSize || partSize > MaxPartSize {
+               return errors.New("oss: part size invalid range (100KB, 5GB]")
+       }
+
+       cpConf := getCpConfig(options)
+       routines := getRoutines(options)
+
+       if cpConf != nil && cpConf.IsEnable {
+               cpFilePath := getUploadCpFilePath(cpConf, filePath, bucket.BucketName, objectKey)
+               if cpFilePath != "" {
+                       return bucket.uploadFileWithCp(objectKey, filePath, partSize, options, cpFilePath, routines)
+               }
+       }
+
+       return bucket.uploadFile(objectKey, filePath, partSize, options, routines)
+}
+
+func getUploadCpFilePath(cpConf *cpConfig, srcFile, destBucket, destObject string) string {
+       if cpConf.FilePath == "" && cpConf.DirPath != "" {
+               dest := fmt.Sprintf("oss://%v/%v", destBucket, destObject)
+               absPath, _ := filepath.Abs(srcFile)
+               cpFileName := getCpFileName(absPath, dest, "")
+               cpConf.FilePath = cpConf.DirPath + string(os.PathSeparator) + cpFileName
+       }
+       return cpConf.FilePath
+}
+
+// ----- concurrent upload without checkpoint  -----
+
+// getCpConfig gets checkpoint configuration
+func getCpConfig(options []Option) *cpConfig {
+       cpcOpt, err := FindOption(options, checkpointConfig, nil)
+       if err != nil || cpcOpt == nil {
+               return nil
+       }
+
+       return cpcOpt.(*cpConfig)
+}
+
+// getCpFileName return the name of the checkpoint file
+func getCpFileName(src, dest, versionId string) string {
+       md5Ctx := md5.New()
+       md5Ctx.Write([]byte(src))
+       srcCheckSum := hex.EncodeToString(md5Ctx.Sum(nil))
+
+       md5Ctx.Reset()
+       md5Ctx.Write([]byte(dest))
+       destCheckSum := hex.EncodeToString(md5Ctx.Sum(nil))
+
+       if versionId == "" {
+               return fmt.Sprintf("%v-%v.cp", srcCheckSum, destCheckSum)
+       }
+
+       md5Ctx.Reset()
+       md5Ctx.Write([]byte(versionId))
+       versionCheckSum := hex.EncodeToString(md5Ctx.Sum(nil))
+       return fmt.Sprintf("%v-%v-%v.cp", srcCheckSum, destCheckSum, versionCheckSum)
+}
+
+// getRoutines gets the routine count. by default it's 1.
+func getRoutines(options []Option) int {
+       rtnOpt, err := FindOption(options, routineNum, nil)
+       if err != nil || rtnOpt == nil {
+               return 1
+       }
+
+       rs := rtnOpt.(int)
+       if rs < 1 {
+               rs = 1
+       } else if rs > 100 {
+               rs = 100
+       }
+
+       return rs
+}
+
+// getPayer return the payer of the request
+func getPayer(options []Option) string {
+       payerOpt, err := FindOption(options, HTTPHeaderOssRequester, nil)
+       if err != nil || payerOpt == nil {
+               return ""
+       }
+       return payerOpt.(string)
+}
+
+// GetProgressListener gets the progress callback
+func GetProgressListener(options []Option) ProgressListener {
+       isSet, listener, _ := IsOptionSet(options, progressListener)
+       if !isSet {
+               return nil
+       }
+       return listener.(ProgressListener)
+}
+
+// uploadPartHook is for testing usage
+type uploadPartHook func(id int, chunk FileChunk) error
+
+var uploadPartHooker uploadPartHook = defaultUploadPart
+
+func defaultUploadPart(id int, chunk FileChunk) error {
+       return nil
+}
+
+// workerArg defines worker argument structure
+type workerArg struct {
+       bucket   *Bucket
+       filePath string
+       imur     InitiateMultipartUploadResult
+       options  []Option
+       hook     uploadPartHook
+}
+
+// worker is the worker coroutine function
+type defaultUploadProgressListener struct {
+}
+
+// ProgressChanged no-ops
+func (listener *defaultUploadProgressListener) ProgressChanged(event *ProgressEvent) {
+}
+
+func worker(id int, arg workerArg, jobs <-chan FileChunk, results chan<- UploadPart, failed chan<- error, die <-chan bool) {
+       for chunk := range jobs {
+               if err := arg.hook(id, chunk); err != nil {
+                       failed <- err
+                       break
+               }
+               var respHeader http.Header
+               p := Progress(&defaultUploadProgressListener{})
+               opts := make([]Option, len(arg.options)+2)
+               opts = append(opts, arg.options...)
+
+               // use defaultUploadProgressListener
+               opts = append(opts, p, GetResponseHeader(&respHeader))
+
+               startT := time.Now().UnixNano() / 1000 / 1000 / 1000
+               part, err := arg.bucket.UploadPartFromFile(arg.imur, arg.filePath, chunk.Offset, chunk.Size, chunk.Number, opts...)
+               endT := time.Now().UnixNano() / 1000 / 1000 / 1000
+               if err != nil {
+                       arg.bucket.Client.Config.WriteLog(Debug, "upload part error,cost:%d second,part number:%d,request id:%s,error:%s\n", endT-startT, chunk.Number, GetRequestId(respHeader), err.Error())
+                       failed <- err
+                       break
+               }
+               select {
+               case <-die:
+                       return
+               default:
+               }
+               results <- part
+       }
+}
+
+// scheduler function
+func scheduler(jobs chan FileChunk, chunks []FileChunk) {
+       for _, chunk := range chunks {
+               jobs <- chunk
+       }
+       close(jobs)
+}
+
+func getTotalBytes(chunks []FileChunk) int64 {
+       var tb int64
+       for _, chunk := range chunks {
+               tb += chunk.Size
+       }
+       return tb
+}
+
+// uploadFile is a concurrent upload, without checkpoint
+func (bucket Bucket) uploadFile(objectKey, filePath string, partSize int64, options []Option, routines int) error {
+       listener := GetProgressListener(options)
+
+       chunks, err := SplitFileByPartSize(filePath, partSize)
+       if err != nil {
+               return err
+       }
+
+       partOptions := ChoiceTransferPartOption(options)
+       completeOptions := ChoiceCompletePartOption(options)
+       abortOptions := ChoiceAbortPartOption(options)
+
+       // Initialize the multipart upload
+       imur, err := bucket.InitiateMultipartUpload(objectKey, options...)
+       if err != nil {
+               return err
+       }
+
+       jobs := make(chan FileChunk, len(chunks))
+       results := make(chan UploadPart, len(chunks))
+       failed := make(chan error)
+       die := make(chan bool)
+
+       var completedBytes int64
+       totalBytes := getTotalBytes(chunks)
+       event := newProgressEvent(TransferStartedEvent, 0, totalBytes, 0)
+       publishProgress(listener, event)
+
+       // Start the worker coroutine
+       arg := workerArg{&bucket, filePath, imur, partOptions, uploadPartHooker}
+       for w := 1; w <= routines; w++ {
+               go worker(w, arg, jobs, results, failed, die)
+       }
+
+       // Schedule the jobs
+       go scheduler(jobs, chunks)
+
+       // Waiting for the upload finished
+       completed := 0
+       parts := make([]UploadPart, len(chunks))
+       for completed < len(chunks) {
+               select {
+               case part := <-results:
+                       completed++
+                       parts[part.PartNumber-1] = part
+                       completedBytes += chunks[part.PartNumber-1].Size
+
+                       // why RwBytes in ProgressEvent is 0 ?
+                       // because read or write event has been notified in teeReader.Read()
+                       event = newProgressEvent(TransferDataEvent, completedBytes, totalBytes, chunks[part.PartNumber-1].Size)
+                       publishProgress(listener, event)
+               case err := <-failed:
+                       close(die)
+                       event = newProgressEvent(TransferFailedEvent, completedBytes, totalBytes, 0)
+                       publishProgress(listener, event)
+                       bucket.AbortMultipartUpload(imur, abortOptions...)
+                       return err
+               }
+
+               if completed >= len(chunks) {
+                       break
+               }
+       }
+
+       event = newProgressEvent(TransferStartedEvent, completedBytes, totalBytes, 0)
+       publishProgress(listener, event)
+
+       // Complete the multpart upload
+       _, err = bucket.CompleteMultipartUpload(imur, parts, completeOptions...)
+       if err != nil {
+               bucket.AbortMultipartUpload(imur, abortOptions...)
+               return err
+       }
+       return nil
+}
+
+// ----- concurrent upload with checkpoint  -----
+const uploadCpMagic = "FE8BB4EA-B593-4FAC-AD7A-2459A36E2E62"
+
+type uploadCheckpoint struct {
+       Magic     string   // Magic
+       MD5       string   // Checkpoint file content's MD5
+       FilePath  string   // Local file path
+       FileStat  cpStat   // File state
+       ObjectKey string   // Key
+       UploadID  string   // Upload ID
+       Parts     []cpPart // All parts of the local file
+}
+
+type cpStat struct {
+       Size         int64     // File size
+       LastModified time.Time // File's last modified time
+       MD5          string    // Local file's MD5
+}
+
+type cpPart struct {
+       Chunk       FileChunk  // File chunk
+       Part        UploadPart // Uploaded part
+       IsCompleted bool       // Upload complete flag
+}
+
+// isValid checks if the uploaded data is valid---it's valid when the file is not updated and the checkpoint data is valid.
+func (cp uploadCheckpoint) isValid(filePath string) (bool, error) {
+       // Compare the CP's magic number and MD5.
+       cpb := cp
+       cpb.MD5 = ""
+       js, _ := json.Marshal(cpb)
+       sum := md5.Sum(js)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+
+       if cp.Magic != uploadCpMagic || b64 != cp.MD5 {
+               return false, nil
+       }
+
+       // Make sure if the local file is updated.
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return false, err
+       }
+       defer fd.Close()
+
+       st, err := fd.Stat()
+       if err != nil {
+               return false, err
+       }
+
+       md, err := calcFileMD5(filePath)
+       if err != nil {
+               return false, err
+       }
+
+       // Compare the file size, file's last modified time and file's MD5
+       if cp.FileStat.Size != st.Size() ||
+               !cp.FileStat.LastModified.Equal(st.ModTime()) ||
+               cp.FileStat.MD5 != md {
+               return false, nil
+       }
+
+       return true, nil
+}
+
+// load loads from the file
+func (cp *uploadCheckpoint) load(filePath string) error {
+       contents, err := ioutil.ReadFile(filePath)
+       if err != nil {
+               return err
+       }
+
+       err = json.Unmarshal(contents, cp)
+       return err
+}
+
+// dump dumps to the local file
+func (cp *uploadCheckpoint) dump(filePath string) error {
+       bcp := *cp
+
+       // Calculate MD5
+       bcp.MD5 = ""
+       js, err := json.Marshal(bcp)
+       if err != nil {
+               return err
+       }
+       sum := md5.Sum(js)
+       b64 := base64.StdEncoding.EncodeToString(sum[:])
+       bcp.MD5 = b64
+
+       // Serialization
+       js, err = json.Marshal(bcp)
+       if err != nil {
+               return err
+       }
+
+       // Dump
+       return ioutil.WriteFile(filePath, js, FilePermMode)
+}
+
+// updatePart updates the part status
+func (cp *uploadCheckpoint) updatePart(part UploadPart) {
+       cp.Parts[part.PartNumber-1].Part = part
+       cp.Parts[part.PartNumber-1].IsCompleted = true
+}
+
+// todoParts returns unfinished parts
+func (cp *uploadCheckpoint) todoParts() []FileChunk {
+       fcs := []FileChunk{}
+       for _, part := range cp.Parts {
+               if !part.IsCompleted {
+                       fcs = append(fcs, part.Chunk)
+               }
+       }
+       return fcs
+}
+
+// allParts returns all parts
+func (cp *uploadCheckpoint) allParts() []UploadPart {
+       ps := []UploadPart{}
+       for _, part := range cp.Parts {
+               ps = append(ps, part.Part)
+       }
+       return ps
+}
+
+// getCompletedBytes returns completed bytes count
+func (cp *uploadCheckpoint) getCompletedBytes() int64 {
+       var completedBytes int64
+       for _, part := range cp.Parts {
+               if part.IsCompleted {
+                       completedBytes += part.Chunk.Size
+               }
+       }
+       return completedBytes
+}
+
+// calcFileMD5 calculates the MD5 for the specified local file
+func calcFileMD5(filePath string) (string, error) {
+       return "", nil
+}
+
+// prepare initializes the multipart upload
+func prepare(cp *uploadCheckpoint, objectKey, filePath string, partSize int64, bucket *Bucket, options []Option) error {
+       // CP
+       cp.Magic = uploadCpMagic
+       cp.FilePath = filePath
+       cp.ObjectKey = objectKey
+
+       // Local file
+       fd, err := os.Open(filePath)
+       if err != nil {
+               return err
+       }
+       defer fd.Close()
+
+       st, err := fd.Stat()
+       if err != nil {
+               return err
+       }
+       cp.FileStat.Size = st.Size()
+       cp.FileStat.LastModified = st.ModTime()
+       md, err := calcFileMD5(filePath)
+       if err != nil {
+               return err
+       }
+       cp.FileStat.MD5 = md
+
+       // Chunks
+       parts, err := SplitFileByPartSize(filePath, partSize)
+       if err != nil {
+               return err
+       }
+
+       cp.Parts = make([]cpPart, len(parts))
+       for i, part := range parts {
+               cp.Parts[i].Chunk = part
+               cp.Parts[i].IsCompleted = false
+       }
+
+       // Init load
+       imur, err := bucket.InitiateMultipartUpload(objectKey, options...)
+       if err != nil {
+               return err
+       }
+       cp.UploadID = imur.UploadID
+
+       return nil
+}
+
+// complete completes the multipart upload and deletes the local CP files
+func complete(cp *uploadCheckpoint, bucket *Bucket, parts []UploadPart, cpFilePath string, options []Option) error {
+       imur := InitiateMultipartUploadResult{Bucket: bucket.BucketName,
+               Key: cp.ObjectKey, UploadID: cp.UploadID}
+       _, err := bucket.CompleteMultipartUpload(imur, parts, options...)
+       if err != nil {
+               return err
+       }
+       os.Remove(cpFilePath)
+       return err
+}
+
+// uploadFileWithCp handles concurrent upload with checkpoint
+func (bucket Bucket) uploadFileWithCp(objectKey, filePath string, partSize int64, options []Option, cpFilePath string, routines int) error {
+       listener := GetProgressListener(options)
+
+       partOptions := ChoiceTransferPartOption(options)
+       completeOptions := ChoiceCompletePartOption(options)
+
+       // Load CP data
+       ucp := uploadCheckpoint{}
+       err := ucp.load(cpFilePath)
+       if err != nil {
+               os.Remove(cpFilePath)
+       }
+
+       // Load error or the CP data is invalid.
+       valid, err := ucp.isValid(filePath)
+       if err != nil || !valid {
+               if err = prepare(&ucp, objectKey, filePath, partSize, &bucket, options); err != nil {
+                       return err
+               }
+               os.Remove(cpFilePath)
+       }
+
+       chunks := ucp.todoParts()
+       imur := InitiateMultipartUploadResult{
+               Bucket:   bucket.BucketName,
+               Key:      objectKey,
+               UploadID: ucp.UploadID}
+
+       jobs := make(chan FileChunk, len(chunks))
+       results := make(chan UploadPart, len(chunks))
+       failed := make(chan error)
+       die := make(chan bool)
+
+       completedBytes := ucp.getCompletedBytes()
+
+       // why RwBytes in ProgressEvent is 0 ?
+       // because read or write event has been notified in teeReader.Read()
+       event := newProgressEvent(TransferStartedEvent, completedBytes, ucp.FileStat.Size, 0)
+       publishProgress(listener, event)
+
+       // Start the workers
+       arg := workerArg{&bucket, filePath, imur, partOptions, uploadPartHooker}
+       for w := 1; w <= routines; w++ {
+               go worker(w, arg, jobs, results, failed, die)
+       }
+
+       // Schedule jobs
+       go scheduler(jobs, chunks)
+
+       // Waiting for the job finished
+       completed := 0
+       for completed < len(chunks) {
+               select {
+               case part := <-results:
+                       completed++
+                       ucp.updatePart(part)
+                       ucp.dump(cpFilePath)
+                       completedBytes += ucp.Parts[part.PartNumber-1].Chunk.Size
+                       event = newProgressEvent(TransferDataEvent, completedBytes, ucp.FileStat.Size, ucp.Parts[part.PartNumber-1].Chunk.Size)
+                       publishProgress(listener, event)
+               case err := <-failed:
+                       close(die)
+                       event = newProgressEvent(TransferFailedEvent, completedBytes, ucp.FileStat.Size, 0)
+                       publishProgress(listener, event)
+                       return err
+               }
+
+               if completed >= len(chunks) {
+                       break
+               }
+       }
+
+       event = newProgressEvent(TransferCompletedEvent, completedBytes, ucp.FileStat.Size, 0)
+       publishProgress(listener, event)
+
+       // Complete the multipart upload
+       err = complete(&ucp, &bucket, ucp.allParts(), cpFilePath, completeOptions)
+       return err
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/upload_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/upload_test.go
new file mode 100644 (file)
index 0000000..7368949
--- /dev/null
@@ -0,0 +1,741 @@
+package oss
+
+import (
+       "fmt"
+       "io"
+       "net/http"
+       "os"
+       "time"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssUploadSuite struct {
+       client *Client
+       bucket *Bucket
+}
+
+var _ = Suite(&OssUploadSuite{})
+
+// SetUpSuite runs once when the suite starts running
+func (s *OssUploadSuite) SetUpSuite(c *C) {
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+       s.client = client
+
+       s.client.CreateBucket(bucketName)
+
+       bucket, err := s.client.Bucket(bucketName)
+       c.Assert(err, IsNil)
+       s.bucket = bucket
+
+       testLogger.Println("test upload started")
+}
+
+// TearDownSuite runs before each test or benchmark starts running
+func (s *OssUploadSuite) TearDownSuite(c *C) {
+       // Delete part
+       keyMarker := KeyMarker("")
+       uploadIDMarker := UploadIDMarker("")
+       for {
+               lmur, err := s.bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               c.Assert(err, IsNil)
+               for _, upload := range lmur.Uploads {
+                       var imur = InitiateMultipartUploadResult{Bucket: s.bucket.BucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = s.bucket.AbortMultipartUpload(imur)
+                       c.Assert(err, IsNil)
+               }
+               keyMarker = KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := Marker("")
+       for {
+               lor, err := s.bucket.ListObjects(marker)
+               c.Assert(err, IsNil)
+               for _, object := range lor.Objects {
+                       err = s.bucket.DeleteObject(object.Key)
+                       c.Assert(err, IsNil)
+               }
+               marker = Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err := s.client.DeleteBucket(s.bucket.BucketName)
+       c.Assert(err, IsNil)
+
+       testLogger.Println("test upload completed")
+}
+
+// SetUpTest runs after each test or benchmark runs
+func (s *OssUploadSuite) SetUpTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TearDownTest runs once after all tests or benchmarks have finished running
+func (s *OssUploadSuite) TearDownTest(c *C) {
+       err := removeTempFiles("../oss", ".jpg")
+       c.Assert(err, IsNil)
+}
+
+// TestUploadRoutineWithoutRecovery tests multiroutineed upload without checkpoint
+func (s *OssUploadSuite) TestUploadRoutineWithoutRecovery(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       // Routines is not specified, by default single routine
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024)
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Specify routine count as 1
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(1))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Specify routine count as 3, which is smaller than parts count 5
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Specify routine count as 5, which is same as the part count 5
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(5))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Specify routine count as 10, which is bigger than the part count 5.
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(10))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Invalid routine count, it will use 1 automatically.
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(0))
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Invalid routine count, it will use 1 automatically
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(-1))
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Option
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), Meta("myprop", "mypropval"))
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// ErrorHooker is a UploadPart hook---it will fail the 5th part's upload.
+func ErrorHooker(id int, chunk FileChunk) error {
+       if chunk.Number == 5 {
+               time.Sleep(time.Second)
+               return fmt.Errorf("ErrorHooker")
+       }
+       return nil
+}
+
+// TestUploadRoutineWithoutRecoveryNegative is multiroutineed upload without checkpoint
+func (s *OssUploadSuite) TestUploadRoutineWithoutRecoveryNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       uploadPartHooker = ErrorHooker
+       // Worker routine error
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(2))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       uploadPartHooker = defaultUploadPart
+
+       // Local file does not exist
+       err = s.bucket.UploadFile(objectName, "NotExist", 100*1024, Routines(2))
+       c.Assert(err, NotNil)
+
+       // The part size is invalid
+       err = s.bucket.UploadFile(objectName, fileName, 1024, Routines(2))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.UploadFile(objectName, fileName, 1024*1024*1024*100, Routines(2))
+       c.Assert(err, NotNil)
+}
+
+// TestUploadRoutineWithRecovery is multi-routine upload with resumable recovery
+func (s *OssUploadSuite) TestUploadRoutineWithRecovery(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       newFile := "upload-new-file-2.jpg"
+
+       // Use default routines and default CP file path (fileName+.cp)
+       // First upload for 4 parts
+       uploadPartHooker = ErrorHooker
+       err := s.bucket.UploadFile(objectName, fileName, 100*1024, Checkpoint(true, fileName+".cp"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       uploadPartHooker = defaultUploadPart
+
+       // Check CP
+       ucp := uploadCheckpoint{}
+       err = ucp.load(fileName + ".cp")
+       c.Assert(err, IsNil)
+       c.Assert(ucp.Magic, Equals, uploadCpMagic)
+       c.Assert(len(ucp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
+       c.Assert(ucp.FilePath, Equals, fileName)
+       c.Assert(ucp.FileStat.Size, Equals, int64(482048))
+       c.Assert(len(ucp.FileStat.LastModified.String()) > 0, Equals, true)
+       c.Assert(ucp.FileStat.MD5, Equals, "")
+       c.Assert(ucp.ObjectKey, Equals, objectName)
+       c.Assert(len(ucp.UploadID), Equals, len("3F79722737D1469980DACEDCA325BB52"))
+       c.Assert(len(ucp.Parts), Equals, 5)
+       c.Assert(len(ucp.todoParts()), Equals, 1)
+       c.Assert(len(ucp.allParts()), Equals, 5)
+
+       // Second upload, finish the remaining part
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Checkpoint(true, fileName+".cp"))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = ucp.load(fileName + ".cp")
+       c.Assert(err, NotNil)
+
+       // Resumable upload with empty checkpoint path
+       uploadPartHooker = ErrorHooker
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), CheckpointDir(true, ""))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       uploadPartHooker = defaultUploadPart
+       ucp = uploadCheckpoint{}
+       err = ucp.load(fileName + ".cp")
+       c.Assert(err, NotNil)
+
+       // Resumable upload with checkpoint dir
+       uploadPartHooker = ErrorHooker
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), CheckpointDir(true, "./"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       uploadPartHooker = defaultUploadPart
+
+       // Check CP
+       ucp = uploadCheckpoint{}
+       cpConf := cpConfig{IsEnable: true, DirPath: "./"}
+       cpFilePath := getUploadCpFilePath(&cpConf, fileName, s.bucket.BucketName, objectName)
+       err = ucp.load(cpFilePath)
+       c.Assert(err, IsNil)
+       c.Assert(ucp.Magic, Equals, uploadCpMagic)
+       c.Assert(len(ucp.MD5), Equals, len("LC34jZU5xK4hlxi3Qn3XGQ=="))
+       c.Assert(ucp.FilePath, Equals, fileName)
+       c.Assert(ucp.FileStat.Size, Equals, int64(482048))
+       c.Assert(len(ucp.FileStat.LastModified.String()) > 0, Equals, true)
+       c.Assert(ucp.FileStat.MD5, Equals, "")
+       c.Assert(ucp.ObjectKey, Equals, objectName)
+       c.Assert(len(ucp.UploadID), Equals, len("3F79722737D1469980DACEDCA325BB52"))
+       c.Assert(len(ucp.Parts), Equals, 5)
+       c.Assert(len(ucp.todoParts()), Equals, 1)
+       c.Assert(len(ucp.allParts()), Equals, 5)
+
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), CheckpointDir(true, "./"))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       err = ucp.load(cpFilePath)
+       c.Assert(err, NotNil)
+
+       // Upload all 5 parts without error
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), Checkpoint(true, objectName+".cp"))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Upload all 5 parts with 10 routines without error
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(10), Checkpoint(true, objectName+".cp"))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+
+       // Option
+       err = s.bucket.UploadFile(objectName, fileName, 100*1024, Routines(3), Checkpoint(true, objectName+".cp"), Meta("myprop", "mypropval"))
+
+       meta, err := s.bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+       c.Assert(meta.Get("X-Oss-Meta-Myprop"), Equals, "mypropval")
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err = compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestUploadRoutineWithRecoveryNegative is multiroutineed upload without checkpoint
+func (s *OssUploadSuite) TestUploadRoutineWithRecoveryNegative(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       // The local file does not exist
+       err := s.bucket.UploadFile(objectName, "NotExist", 100*1024, Checkpoint(true, "NotExist.cp"))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.UploadFile(objectName, "NotExist", 100*1024, Routines(2), Checkpoint(true, "NotExist.cp"))
+       c.Assert(err, NotNil)
+
+       // Specified part size is invalid
+       err = s.bucket.UploadFile(objectName, fileName, 1024, Checkpoint(true, fileName+".cp"))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.UploadFile(objectName, fileName, 1024, Routines(2), Checkpoint(true, fileName+".cp"))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.UploadFile(objectName, fileName, 1024*1024*1024*100, Checkpoint(true, fileName+".cp"))
+       c.Assert(err, NotNil)
+
+       err = s.bucket.UploadFile(objectName, fileName, 1024*1024*1024*100, Routines(2), Checkpoint(true, fileName+".cp"))
+       c.Assert(err, NotNil)
+}
+
+// TestUploadLocalFileChange tests the file is updated while being uploaded
+func (s *OssUploadSuite) TestUploadLocalFileChange(c *C) {
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       localFile := RandStr(8) + ".jpg"
+       newFile := RandStr(8) + ".jpg"
+
+       os.Remove(localFile)
+       err := copyFile(fileName, localFile)
+       c.Assert(err, IsNil)
+
+       // First upload for 4 parts
+       uploadPartHooker = ErrorHooker
+       err = s.bucket.UploadFile(objectName, localFile, 100*1024, Checkpoint(true, localFile+".cp"))
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       uploadPartHooker = defaultUploadPart
+
+       os.Remove(localFile)
+       err = copyFile(fileName, localFile)
+       c.Assert(err, IsNil)
+
+       // Updating the file. The second upload will re-upload all 5 parts.
+       err = s.bucket.UploadFile(objectName, localFile, 100*1024, Checkpoint(true, localFile+".cp"))
+       c.Assert(err, IsNil)
+
+       os.Remove(newFile)
+       err = s.bucket.GetObjectToFile(objectName, newFile)
+       c.Assert(err, IsNil)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       err = s.bucket.DeleteObject(objectName)
+       c.Assert(err, IsNil)
+}
+
+// TestUploadPartArchiveObject
+func (s *OssUploadSuite) TestUploadPartArchiveObject(c *C) {
+       // create archive bucket
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName, StorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+       objectName := objectNamePrefix + RandStr(8)
+
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       // Updating the file,archive object
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, ObjectStorageClass(StorageArchive))
+       c.Assert(err, IsNil)
+
+       // Updating the file,archive object,checkpoint
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, ObjectStorageClass(StorageArchive), Checkpoint(true, fileName+".cp"))
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+func copyFile(src, dst string) error {
+       srcFile, err := os.Open(src)
+       if err != nil {
+               return err
+       }
+       defer srcFile.Close()
+
+       dstFile, err := os.Create(dst)
+       if err != nil {
+               return err
+       }
+       defer dstFile.Close()
+
+       _, err = io.Copy(dstFile, srcFile)
+       return err
+}
+
+func (s *OssUploadSuite) TestVersioningUploadRoutineWithRecovery(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+
+       bucket, err := client.Bucket(bucketName)
+
+       // put bucket version:enabled
+       var versioningConfig VersioningConfig
+       versioningConfig.Status = string(VersionEnabled)
+       err = client.SetBucketVersioning(bucketName, versioningConfig)
+       c.Assert(err, IsNil)
+
+       // begin test
+       objectName := objectNamePrefix + RandStr(8)
+       fileName := "test-file-" + RandStr(8)
+       fileData := RandStr(500 * 1024)
+       CreateFile(fileName, fileData, c)
+       newFile := "test-file-" + RandStr(8)
+
+       // Use default routines and default CP file path (fileName+.cp)Header
+       // First upload for 4 parts
+       var respHeader http.Header
+       uploadPartHooker = ErrorHooker
+       options := []Option{Checkpoint(true, fileName+".cp"), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(objectName, fileName, 100*1024, options...)
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "ErrorHooker")
+       c.Assert(GetVersionId(respHeader), Equals, "")
+
+       uploadPartHooker = defaultUploadPart
+
+       // Second upload, finish the remaining part
+       options = []Option{Checkpoint(true, fileName+".cp"), GetResponseHeader(&respHeader)}
+       err = bucket.UploadFile(objectName, fileName, 100*1024, options...)
+       c.Assert(err, IsNil)
+       versionIdUp := GetVersionId(respHeader)
+       c.Assert(len(versionIdUp) > 0, Equals, true)
+
+       os.Remove(newFile)
+       var respHeaderDown http.Header
+       err = bucket.GetObjectToFile(objectName, newFile, GetResponseHeader(&respHeaderDown))
+       versionIdDown := GetVersionId(respHeaderDown)
+       c.Assert(err, IsNil)
+       c.Assert(versionIdUp, Equals, versionIdDown)
+
+       eq, err := compareFiles(fileName, newFile)
+       c.Assert(err, IsNil)
+       c.Assert(eq, Equals, true)
+
+       os.Remove(fileName)
+       os.Remove(newFile)
+       bucket.DeleteObject(objectName)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestUploadFileChoiceOptions
+func (s *OssUploadSuite) TestUploadFileChoiceOptions(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       // UploadFile with properties
+       options := []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               ServerSideEncryption("AES256"),
+               ObjectStorageClass(StorageArchive),
+       }
+
+       // Updating the file
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, options...)
+       c.Assert(err, IsNil)
+
+       // GetMetaDetail
+       headerResp, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       c.Assert(headerResp.Get("X-Oss-Server-Side-Encryption"), Equals, "AES256")
+       aclResult, err := bucket.GetObjectACL(objectName)
+       c.Assert(aclResult.ACL, Equals, "public-read")
+       c.Assert(err, IsNil)
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestUploadFileWithCpChoiceOptions
+func (s *OssUploadSuite) TestUploadFileWithCpChoiceOptions(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       // UploadFile with properties
+       options := []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               ServerSideEncryption("AES256"),
+               ObjectStorageClass(StorageArchive),
+               Checkpoint(true, fileName+".cp"), // with checkpoint
+       }
+
+       // Updating the file
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, options...)
+       c.Assert(err, IsNil)
+
+       // GetMetaDetail
+       headerResp, err := bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       c.Assert(headerResp.Get("X-Oss-Server-Side-Encryption"), Equals, "AES256")
+       c.Assert(headerResp.Get("X-Oss-Storage-Class"), Equals, "Archive")
+
+       aclResult, err := bucket.GetObjectACL(objectName)
+       c.Assert(aclResult.ACL, Equals, "public-read")
+       c.Assert(err, IsNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestUploadFileWithForbidOverWrite
+func (s *OssUploadSuite) TestUploadFileWithForbidOverWrite(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       // UploadFile with properties
+       options := []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               ServerSideEncryption("AES256"),
+               ObjectStorageClass(StorageArchive),
+               ForbidOverWrite(true),
+               Checkpoint(true, fileName+".cp"),
+       }
+
+       // Updating the file
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, options...)
+       c.Assert(err, IsNil)
+
+       // Updating the file with ForbidOverWrite(true)
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, options...)
+       c.Assert(err, NotNil)
+
+       // without Checkpoint
+       options = []Option{
+               ObjectACL(ACLPublicRead),
+               RequestPayer(Requester),
+               TrafficLimitHeader(1024 * 1024 * 8),
+               ServerSideEncryption("AES256"),
+               ObjectStorageClass(StorageArchive),
+               ForbidOverWrite(true),
+       }
+
+       // Updating the file with ForbidOverWrite(true)
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, options...)
+       c.Assert(err, NotNil)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
+
+// TestUploadFileWithSequential
+func (s *OssUploadSuite) TestUploadFileWithSequential(c *C) {
+       // create a bucket with default proprety
+       client, err := New(endpoint, accessID, accessKey)
+       c.Assert(err, IsNil)
+
+       bucketName := bucketNamePrefix + RandLowStr(6)
+       err = client.CreateBucket(bucketName)
+       c.Assert(err, IsNil)
+       bucket, err := client.Bucket(bucketName)
+
+       fileName := "../sample/BingWallpaper-2015-11-07.jpg"
+       fileInfo, err := os.Stat(fileName)
+       c.Assert(err, IsNil)
+
+       objectName := objectNamePrefix + RandStr(8)
+
+       var respHeader http.Header
+
+       // UploadFile with properties
+       options := []Option{
+               Sequential(),
+               GetResponseHeader(&respHeader),
+               Checkpoint(true, fileName+".cp"),
+       }
+
+       // Updating the file
+       err = bucket.UploadFile(objectName, fileName, fileInfo.Size()/2, options...)
+       c.Assert(err, IsNil)
+
+       respHeader, err = bucket.GetObjectDetailedMeta(objectName)
+       c.Assert(err, IsNil)
+
+       strMD5 := respHeader.Get("Content-MD5")
+       c.Assert(len(strMD5) > 0, Equals, true)
+
+       ForceDeleteBucket(client, bucketName, c)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/utils.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/utils.go
new file mode 100644 (file)
index 0000000..3dff335
--- /dev/null
@@ -0,0 +1,512 @@
+package oss
+
+import (
+       "bytes"
+       "errors"
+       "fmt"
+       "hash/crc32"
+       "hash/crc64"
+       "io"
+       "net/http"
+       "os"
+       "os/exec"
+       "runtime"
+       "strconv"
+       "strings"
+       "time"
+)
+
+var sys_name string
+var sys_release string
+var sys_machine string
+
+func init() {
+       sys_name = runtime.GOOS
+       sys_release = "-"
+       sys_machine = runtime.GOARCH
+
+       if out, err := exec.Command("uname", "-s").CombinedOutput(); err == nil {
+               sys_name = string(bytes.TrimSpace(out))
+       }
+       if out, err := exec.Command("uname", "-r").CombinedOutput(); err == nil {
+               sys_release = string(bytes.TrimSpace(out))
+       }
+       if out, err := exec.Command("uname", "-m").CombinedOutput(); err == nil {
+               sys_machine = string(bytes.TrimSpace(out))
+       }
+}
+
+// userAgent gets user agent
+// It has the SDK version information, OS information and GO version
+func userAgent() string {
+       sys := getSysInfo()
+       return fmt.Sprintf("aliyun-sdk-go/%s (%s/%s/%s;%s)", Version, sys.name,
+               sys.release, sys.machine, runtime.Version())
+}
+
+type sysInfo struct {
+       name    string // OS name such as windows/Linux
+       release string // OS version 2.6.32-220.23.2.ali1089.el5.x86_64 etc
+       machine string // CPU type amd64/x86_64
+}
+
+// getSysInfo gets system info
+// gets the OS information and CPU type
+func getSysInfo() sysInfo {
+       return sysInfo{name: sys_name, release: sys_release, machine: sys_machine}
+}
+
+// GetRangeConfig gets the download range from the options.
+func GetRangeConfig(options []Option) (*UnpackedRange, error) {
+       rangeOpt, err := FindOption(options, HTTPHeaderRange, nil)
+       if err != nil || rangeOpt == nil {
+               return nil, err
+       }
+       return ParseRange(rangeOpt.(string))
+}
+
+// UnpackedRange
+type UnpackedRange struct {
+       HasStart bool  // Flag indicates if the start point is specified
+       HasEnd   bool  // Flag indicates if the end point is specified
+       Start    int64 // Start point
+       End      int64 // End point
+}
+
+// InvalidRangeError returns invalid range error
+func InvalidRangeError(r string) error {
+       return fmt.Errorf("InvalidRange %s", r)
+}
+
+func GetRangeString(unpackRange UnpackedRange) string {
+       var strRange string
+       if unpackRange.HasStart && unpackRange.HasEnd {
+               strRange = fmt.Sprintf("%d-%d", unpackRange.Start, unpackRange.End)
+       } else if unpackRange.HasStart {
+               strRange = fmt.Sprintf("%d-", unpackRange.Start)
+       } else if unpackRange.HasEnd {
+               strRange = fmt.Sprintf("-%d", unpackRange.End)
+       }
+       return strRange
+}
+
+// ParseRange parse various styles of range such as bytes=M-N
+func ParseRange(normalizedRange string) (*UnpackedRange, error) {
+       var err error
+       hasStart := false
+       hasEnd := false
+       var start int64
+       var end int64
+
+       // Bytes==M-N or ranges=M-N
+       nrSlice := strings.Split(normalizedRange, "=")
+       if len(nrSlice) != 2 || nrSlice[0] != "bytes" {
+               return nil, InvalidRangeError(normalizedRange)
+       }
+
+       // Bytes=M-N,X-Y
+       rSlice := strings.Split(nrSlice[1], ",")
+       rStr := rSlice[0]
+
+       if strings.HasSuffix(rStr, "-") { // M-
+               startStr := rStr[:len(rStr)-1]
+               start, err = strconv.ParseInt(startStr, 10, 64)
+               if err != nil {
+                       return nil, InvalidRangeError(normalizedRange)
+               }
+               hasStart = true
+       } else if strings.HasPrefix(rStr, "-") { // -N
+               len := rStr[1:]
+               end, err = strconv.ParseInt(len, 10, 64)
+               if err != nil {
+                       return nil, InvalidRangeError(normalizedRange)
+               }
+               if end == 0 { // -0
+                       return nil, InvalidRangeError(normalizedRange)
+               }
+               hasEnd = true
+       } else { // M-N
+               valSlice := strings.Split(rStr, "-")
+               if len(valSlice) != 2 {
+                       return nil, InvalidRangeError(normalizedRange)
+               }
+               start, err = strconv.ParseInt(valSlice[0], 10, 64)
+               if err != nil {
+                       return nil, InvalidRangeError(normalizedRange)
+               }
+               hasStart = true
+               end, err = strconv.ParseInt(valSlice[1], 10, 64)
+               if err != nil {
+                       return nil, InvalidRangeError(normalizedRange)
+               }
+               hasEnd = true
+       }
+
+       return &UnpackedRange{hasStart, hasEnd, start, end}, nil
+}
+
+// AdjustRange returns adjusted range, adjust the range according to the length of the file
+func AdjustRange(ur *UnpackedRange, size int64) (start, end int64) {
+       if ur == nil {
+               return 0, size
+       }
+
+       if ur.HasStart && ur.HasEnd {
+               start = ur.Start
+               end = ur.End + 1
+               if ur.Start < 0 || ur.Start >= size || ur.End > size || ur.Start > ur.End {
+                       start = 0
+                       end = size
+               }
+       } else if ur.HasStart {
+               start = ur.Start
+               end = size
+               if ur.Start < 0 || ur.Start >= size {
+                       start = 0
+               }
+       } else if ur.HasEnd {
+               start = size - ur.End
+               end = size
+               if ur.End < 0 || ur.End > size {
+                       start = 0
+                       end = size
+               }
+       }
+       return
+}
+
+// GetNowSec returns Unix time, the number of seconds elapsed since January 1, 1970 UTC.
+// gets the current time in Unix time, in seconds.
+func GetNowSec() int64 {
+       return time.Now().Unix()
+}
+
+// GetNowNanoSec returns t as a Unix time, the number of nanoseconds elapsed
+// since January 1, 1970 UTC. The result is undefined if the Unix time
+// in nanoseconds cannot be represented by an int64. Note that this
+// means the result of calling UnixNano on the zero Time is undefined.
+// gets the current time in Unix time, in nanoseconds.
+func GetNowNanoSec() int64 {
+       return time.Now().UnixNano()
+}
+
+// GetNowGMT gets the current time in GMT format.
+func GetNowGMT() string {
+       return time.Now().UTC().Format(http.TimeFormat)
+}
+
+// FileChunk is the file chunk definition
+type FileChunk struct {
+       Number int   // Chunk number
+       Offset int64 // Chunk offset
+       Size   int64 // Chunk size.
+}
+
+// SplitFileByPartNum splits big file into parts by the num of parts.
+// Split the file with specified parts count, returns the split result when error is nil.
+func SplitFileByPartNum(fileName string, chunkNum int) ([]FileChunk, error) {
+       if chunkNum <= 0 || chunkNum > 10000 {
+               return nil, errors.New("chunkNum invalid")
+       }
+
+       file, err := os.Open(fileName)
+       if err != nil {
+               return nil, err
+       }
+       defer file.Close()
+
+       stat, err := file.Stat()
+       if err != nil {
+               return nil, err
+       }
+
+       if int64(chunkNum) > stat.Size() {
+               return nil, errors.New("oss: chunkNum invalid")
+       }
+
+       var chunks []FileChunk
+       var chunk = FileChunk{}
+       var chunkN = (int64)(chunkNum)
+       for i := int64(0); i < chunkN; i++ {
+               chunk.Number = int(i + 1)
+               chunk.Offset = i * (stat.Size() / chunkN)
+               if i == chunkN-1 {
+                       chunk.Size = stat.Size()/chunkN + stat.Size()%chunkN
+               } else {
+                       chunk.Size = stat.Size() / chunkN
+               }
+               chunks = append(chunks, chunk)
+       }
+
+       return chunks, nil
+}
+
+// SplitFileByPartSize splits big file into parts by the size of parts.
+// Splits the file by the part size. Returns the FileChunk when error is nil.
+func SplitFileByPartSize(fileName string, chunkSize int64) ([]FileChunk, error) {
+       if chunkSize <= 0 {
+               return nil, errors.New("chunkSize invalid")
+       }
+
+       file, err := os.Open(fileName)
+       if err != nil {
+               return nil, err
+       }
+       defer file.Close()
+
+       stat, err := file.Stat()
+       if err != nil {
+               return nil, err
+       }
+       var chunkN = stat.Size() / chunkSize
+       if chunkN >= 10000 {
+               return nil, errors.New("Too many parts, please increase part size")
+       }
+
+       var chunks []FileChunk
+       var chunk = FileChunk{}
+       for i := int64(0); i < chunkN; i++ {
+               chunk.Number = int(i + 1)
+               chunk.Offset = i * chunkSize
+               chunk.Size = chunkSize
+               chunks = append(chunks, chunk)
+       }
+
+       if stat.Size()%chunkSize > 0 {
+               chunk.Number = len(chunks) + 1
+               chunk.Offset = int64(len(chunks)) * chunkSize
+               chunk.Size = stat.Size() % chunkSize
+               chunks = append(chunks, chunk)
+       }
+
+       return chunks, nil
+}
+
+// GetPartEnd calculates the end position
+func GetPartEnd(begin int64, total int64, per int64) int64 {
+       if begin+per > total {
+               return total - 1
+       }
+       return begin + per - 1
+}
+
+// CrcTable returns the table constructed from the specified polynomial
+var CrcTable = func() *crc64.Table {
+       return crc64.MakeTable(crc64.ECMA)
+}
+
+// CrcTable returns the table constructed from the specified polynomial
+var crc32Table = func() *crc32.Table {
+       return crc32.MakeTable(crc32.IEEE)
+}
+
+// choiceTransferPartOption choices valid option supported by Uploadpart or DownloadPart
+func ChoiceTransferPartOption(options []Option) []Option {
+       var outOption []Option
+
+       listener, _ := FindOption(options, progressListener, nil)
+       if listener != nil {
+               outOption = append(outOption, Progress(listener.(ProgressListener)))
+       }
+
+       payer, _ := FindOption(options, HTTPHeaderOssRequester, nil)
+       if payer != nil {
+               outOption = append(outOption, RequestPayer(PayerType(payer.(string))))
+       }
+
+       versionId, _ := FindOption(options, "versionId", nil)
+       if versionId != nil {
+               outOption = append(outOption, VersionId(versionId.(string)))
+       }
+
+       trafficLimit, _ := FindOption(options, HTTPHeaderOssTrafficLimit, nil)
+       if trafficLimit != nil {
+               speed, _ := strconv.ParseInt(trafficLimit.(string), 10, 64)
+               outOption = append(outOption, TrafficLimitHeader(speed))
+       }
+
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               outOption = append(outOption, GetResponseHeader(respHeader.(*http.Header)))
+       }
+
+       return outOption
+}
+
+// ChoiceCompletePartOption choices valid option supported by CompleteMulitiPart
+func ChoiceCompletePartOption(options []Option) []Option {
+       var outOption []Option
+
+       listener, _ := FindOption(options, progressListener, nil)
+       if listener != nil {
+               outOption = append(outOption, Progress(listener.(ProgressListener)))
+       }
+
+       payer, _ := FindOption(options, HTTPHeaderOssRequester, nil)
+       if payer != nil {
+               outOption = append(outOption, RequestPayer(PayerType(payer.(string))))
+       }
+
+       acl, _ := FindOption(options, HTTPHeaderOssObjectACL, nil)
+       if acl != nil {
+               outOption = append(outOption, ObjectACL(ACLType(acl.(string))))
+       }
+
+       callback, _ := FindOption(options, HTTPHeaderOssCallback, nil)
+       if callback != nil {
+               outOption = append(outOption, Callback(callback.(string)))
+       }
+
+       callbackVar, _ := FindOption(options, HTTPHeaderOssCallbackVar, nil)
+       if callbackVar != nil {
+               outOption = append(outOption, CallbackVar(callbackVar.(string)))
+       }
+
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               outOption = append(outOption, GetResponseHeader(respHeader.(*http.Header)))
+       }
+
+       forbidOverWrite, _ := FindOption(options, HTTPHeaderOssForbidOverWrite, nil)
+       if forbidOverWrite != nil {
+               if forbidOverWrite.(string) == "true" {
+                       outOption = append(outOption, ForbidOverWrite(true))
+               } else {
+                       outOption = append(outOption, ForbidOverWrite(false))
+               }
+       }
+
+       return outOption
+}
+
+// ChoiceAbortPartOption choices valid option supported by AbortMultipartUpload
+func ChoiceAbortPartOption(options []Option) []Option {
+       var outOption []Option
+       payer, _ := FindOption(options, HTTPHeaderOssRequester, nil)
+       if payer != nil {
+               outOption = append(outOption, RequestPayer(PayerType(payer.(string))))
+       }
+
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               outOption = append(outOption, GetResponseHeader(respHeader.(*http.Header)))
+       }
+
+       return outOption
+}
+
+// ChoiceHeadObjectOption choices valid option supported by HeadObject
+func ChoiceHeadObjectOption(options []Option) []Option {
+       var outOption []Option
+
+       // not select HTTPHeaderRange to get whole object length
+       payer, _ := FindOption(options, HTTPHeaderOssRequester, nil)
+       if payer != nil {
+               outOption = append(outOption, RequestPayer(PayerType(payer.(string))))
+       }
+
+       versionId, _ := FindOption(options, "versionId", nil)
+       if versionId != nil {
+               outOption = append(outOption, VersionId(versionId.(string)))
+       }
+
+       respHeader, _ := FindOption(options, responseHeader, nil)
+       if respHeader != nil {
+               outOption = append(outOption, GetResponseHeader(respHeader.(*http.Header)))
+       }
+
+       return outOption
+}
+
+func CheckBucketName(bucketName string) error {
+       nameLen := len(bucketName)
+       if nameLen < 3 || nameLen > 63 {
+               return fmt.Errorf("bucket name %s len is between [3-63],now is %d", bucketName, nameLen)
+       }
+
+       for _, v := range bucketName {
+               if !(('a' <= v && v <= 'z') || ('0' <= v && v <= '9') || v == '-') {
+                       return fmt.Errorf("bucket name %s can only include lowercase letters, numbers, and -", bucketName)
+               }
+       }
+       if bucketName[0] == '-' || bucketName[nameLen-1] == '-' {
+               return fmt.Errorf("bucket name %s must start and end with a lowercase letter or number", bucketName)
+       }
+       return nil
+}
+
+func GetReaderLen(reader io.Reader) (int64, error) {
+       var contentLength int64
+       var err error
+       switch v := reader.(type) {
+       case *bytes.Buffer:
+               contentLength = int64(v.Len())
+       case *bytes.Reader:
+               contentLength = int64(v.Len())
+       case *strings.Reader:
+               contentLength = int64(v.Len())
+       case *os.File:
+               fInfo, fError := v.Stat()
+               if fError != nil {
+                       err = fmt.Errorf("can't get reader content length,%s", fError.Error())
+               } else {
+                       contentLength = fInfo.Size()
+               }
+       case *io.LimitedReader:
+               contentLength = int64(v.N)
+       case *LimitedReadCloser:
+               contentLength = int64(v.N)
+       default:
+               err = fmt.Errorf("can't get reader content length,unkown reader type")
+       }
+       return contentLength, err
+}
+
+func LimitReadCloser(r io.Reader, n int64) io.Reader {
+       var lc LimitedReadCloser
+       lc.R = r
+       lc.N = n
+       return &lc
+}
+
+// LimitedRC support Close()
+type LimitedReadCloser struct {
+       io.LimitedReader
+}
+
+func (lc *LimitedReadCloser) Close() error {
+       if closer, ok := lc.R.(io.ReadCloser); ok {
+               return closer.Close()
+       }
+       return nil
+}
+
+type DiscardReadCloser struct {
+       RC      io.ReadCloser
+       Discard int
+}
+
+func (drc *DiscardReadCloser) Read(b []byte) (int, error) {
+       n, err := drc.RC.Read(b)
+       if drc.Discard == 0 || n <= 0 {
+               return n, err
+       }
+
+       if n <= drc.Discard {
+               drc.Discard -= n
+               return 0, err
+       }
+
+       realLen := n - drc.Discard
+       copy(b[0:realLen], b[drc.Discard:n])
+       drc.Discard = 0
+       return realLen, err
+}
+
+func (drc *DiscardReadCloser) Close() error {
+       closer, ok := drc.RC.(io.ReadCloser)
+       if ok {
+               return closer.Close()
+       }
+       return nil
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/utils_test.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/oss/utils_test.go
new file mode 100644 (file)
index 0000000..dde929a
--- /dev/null
@@ -0,0 +1,259 @@
+package oss
+
+import (
+       "strings"
+
+       . "gopkg.in/check.v1"
+)
+
+type OssUtilsSuite struct{}
+
+var _ = Suite(&OssUtilsSuite{})
+
+func (s *OssUtilsSuite) TestUtilsTime(c *C) {
+       c.Assert(GetNowSec() > 1448597674, Equals, true)
+       c.Assert(GetNowNanoSec() > 1448597674000000000, Equals, true)
+       c.Assert(len(GetNowGMT()), Equals, len("Fri, 27 Nov 2015 04:14:34 GMT"))
+}
+
+func (s *OssUtilsSuite) TestUtilsSplitFile(c *C) {
+       localFile := "../sample/BingWallpaper-2015-11-07.jpg"
+
+       // Num
+       parts, err := SplitFileByPartNum(localFile, 4)
+       c.Assert(err, IsNil)
+       c.Assert(len(parts), Equals, 4)
+       testLogger.Println("parts 4:", parts)
+       for i, part := range parts {
+               c.Assert(part.Number, Equals, i+1)
+               c.Assert(part.Offset, Equals, int64(i*120512))
+               c.Assert(part.Size, Equals, int64(120512))
+       }
+
+       parts, err = SplitFileByPartNum(localFile, 5)
+       c.Assert(err, IsNil)
+       c.Assert(len(parts), Equals, 5)
+       testLogger.Println("parts 5:", parts)
+       for i, part := range parts {
+               c.Assert(part.Number, Equals, i+1)
+               c.Assert(part.Offset, Equals, int64(i*96409))
+       }
+
+       _, err = SplitFileByPartNum(localFile, 10001)
+       c.Assert(err, NotNil)
+
+       _, err = SplitFileByPartNum(localFile, 0)
+       c.Assert(err, NotNil)
+
+       _, err = SplitFileByPartNum(localFile, -1)
+       c.Assert(err, NotNil)
+
+       _, err = SplitFileByPartNum("notexist", 1024)
+       c.Assert(err, NotNil)
+
+       // Size
+       parts, err = SplitFileByPartSize(localFile, 120512)
+       c.Assert(err, IsNil)
+       c.Assert(len(parts), Equals, 4)
+       testLogger.Println("parts 4:", parts)
+       for i, part := range parts {
+               c.Assert(part.Number, Equals, i+1)
+               c.Assert(part.Offset, Equals, int64(i*120512))
+               c.Assert(part.Size, Equals, int64(120512))
+       }
+
+       parts, err = SplitFileByPartSize(localFile, 96409)
+       c.Assert(err, IsNil)
+       c.Assert(len(parts), Equals, 6)
+       testLogger.Println("parts 6:", parts)
+       for i, part := range parts {
+               c.Assert(part.Number, Equals, i+1)
+               c.Assert(part.Offset, Equals, int64(i*96409))
+       }
+
+       _, err = SplitFileByPartSize(localFile, 0)
+       c.Assert(err, NotNil)
+
+       _, err = SplitFileByPartSize(localFile, -1)
+       c.Assert(err, NotNil)
+
+       _, err = SplitFileByPartSize(localFile, 10)
+       c.Assert(err, NotNil)
+
+       _, err = SplitFileByPartSize("noexist", 120512)
+       c.Assert(err, NotNil)
+}
+
+func (s *OssUtilsSuite) TestUtilsFileExt(c *C) {
+       c.Assert(strings.Contains(TypeByExtension("test.txt"), "text/plain"), Equals, true)
+       c.Assert(TypeByExtension("test.jpg"), Equals, "image/jpeg")
+       c.Assert(TypeByExtension("test.pdf"), Equals, "application/pdf")
+       c.Assert(TypeByExtension("test"), Equals, "")
+       c.Assert(strings.Contains(TypeByExtension("/root/dir/test.txt"), "text/plain"), Equals, true)
+       c.Assert(strings.Contains(TypeByExtension("root/dir/test.txt"), "text/plain"), Equals, true)
+       c.Assert(strings.Contains(TypeByExtension("root\\dir\\test.txt"), "text/plain"), Equals, true)
+       c.Assert(strings.Contains(TypeByExtension("D:\\work\\dir\\test.txt"), "text/plain"), Equals, true)
+}
+
+func (s *OssUtilsSuite) TestGetPartEnd(c *C) {
+       end := GetPartEnd(3, 10, 3)
+       c.Assert(end, Equals, int64(5))
+
+       end = GetPartEnd(9, 10, 3)
+       c.Assert(end, Equals, int64(9))
+
+       end = GetPartEnd(7, 10, 3)
+       c.Assert(end, Equals, int64(9))
+}
+
+func (s *OssUtilsSuite) TestParseRange(c *C) {
+       // InvalidRange bytes==M-N
+       _, err := ParseRange("bytes==M-N")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes==M-N")
+
+       // InvalidRange ranges=M-N
+       _, err = ParseRange("ranges=M-N")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange ranges=M-N")
+
+       // InvalidRange ranges=M-N
+       _, err = ParseRange("bytes=M-N")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes=M-N")
+
+       // InvalidRange ranges=M-
+       _, err = ParseRange("bytes=M-")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes=M-")
+
+       // InvalidRange ranges=-N
+       _, err = ParseRange("bytes=-N")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes=-N")
+
+       // InvalidRange ranges=-0
+       _, err = ParseRange("bytes=-0")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes=-0")
+
+       // InvalidRange bytes=1-2-3
+       _, err = ParseRange("bytes=1-2-3")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes=1-2-3")
+
+       // InvalidRange bytes=1-N
+       _, err = ParseRange("bytes=1-N")
+       c.Assert(err, NotNil)
+       c.Assert(err.Error(), Equals, "InvalidRange bytes=1-N")
+
+       // Ranges=M-N
+       ur, err := ParseRange("bytes=1024-4096")
+       c.Assert(err, IsNil)
+       c.Assert(ur.Start, Equals, (int64)(1024))
+       c.Assert(ur.End, Equals, (int64)(4096))
+       c.Assert(ur.HasStart, Equals, true)
+       c.Assert(ur.HasEnd, Equals, true)
+
+       // Ranges=M-N,X-Y
+       ur, err = ParseRange("bytes=1024-4096,2048-4096")
+       c.Assert(err, IsNil)
+       c.Assert(ur.Start, Equals, (int64)(1024))
+       c.Assert(ur.End, Equals, (int64)(4096))
+       c.Assert(ur.HasStart, Equals, true)
+       c.Assert(ur.HasEnd, Equals, true)
+
+       // Ranges=M-
+       ur, err = ParseRange("bytes=1024-")
+       c.Assert(err, IsNil)
+       c.Assert(ur.Start, Equals, (int64)(1024))
+       c.Assert(ur.End, Equals, (int64)(0))
+       c.Assert(ur.HasStart, Equals, true)
+       c.Assert(ur.HasEnd, Equals, false)
+
+       // Ranges=-N
+       ur, err = ParseRange("bytes=-4096")
+       c.Assert(err, IsNil)
+       c.Assert(ur.Start, Equals, (int64)(0))
+       c.Assert(ur.End, Equals, (int64)(4096))
+       c.Assert(ur.HasStart, Equals, false)
+       c.Assert(ur.HasEnd, Equals, true)
+}
+
+func (s *OssUtilsSuite) TestAdjustRange(c *C) {
+       // Nil
+       start, end := AdjustRange(nil, 8192)
+       c.Assert(start, Equals, (int64)(0))
+       c.Assert(end, Equals, (int64)(8192))
+
+       // 1024-4096
+       ur := &UnpackedRange{true, true, 1024, 4095}
+       start, end = AdjustRange(ur, 8192)
+       c.Assert(start, Equals, (int64)(1024))
+       c.Assert(end, Equals, (int64)(4096))
+
+       // 1024-
+       ur = &UnpackedRange{true, false, 1024, 4096}
+       start, end = AdjustRange(ur, 8192)
+       c.Assert(start, Equals, (int64)(1024))
+       c.Assert(end, Equals, (int64)(8192))
+
+       // -4096
+       ur = &UnpackedRange{false, true, 1024, 4096}
+       start, end = AdjustRange(ur, 8192)
+       c.Assert(start, Equals, (int64)(4096))
+       c.Assert(end, Equals, (int64)(8192))
+
+       // Invalid range 4096-1024
+       ur = &UnpackedRange{true, true, 4096, 1024}
+       start, end = AdjustRange(ur, 8192)
+       c.Assert(start, Equals, (int64)(0))
+       c.Assert(end, Equals, (int64)(8192))
+
+       // Invalid range -1-
+       ur = &UnpackedRange{true, false, -1, 0}
+       start, end = AdjustRange(ur, 8192)
+       c.Assert(start, Equals, (int64)(0))
+       c.Assert(end, Equals, (int64)(8192))
+
+       // Invalid range -9999
+       ur = &UnpackedRange{false, true, 0, 9999}
+       start, end = AdjustRange(ur, 8192)
+       c.Assert(start, Equals, (int64)(0))
+       c.Assert(end, Equals, (int64)(8192))
+}
+
+func (s *OssUtilsSuite) TestUtilCheckBucketName(c *C) {
+       err := CheckBucketName("a")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("a11111111111111111111111111111nbbbbbbbbbbbbbbbbbbbbbbbbbbbqqqqqqqqqqqqqqqqqqqq")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("-abcd")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("abcd-")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("abcD")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("abc 1")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("abc&1")
+       c.Assert(err, NotNil)
+
+       err = CheckBucketName("abc-1")
+       c.Assert(err, IsNil)
+
+       err = CheckBucketName("1bc-1")
+       c.Assert(err, IsNil)
+
+       err = CheckBucketName("111-1")
+       c.Assert(err, IsNil)
+
+       err = CheckBucketName("abc123-def1")
+       c.Assert(err, IsNil)
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample.go
new file mode 100644 (file)
index 0000000..072fe85
--- /dev/null
@@ -0,0 +1,59 @@
+// main of samples
+
+package main
+
+import (
+       "flag"
+       "fmt"
+       "os"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/sample"
+)
+
+// sampleMap contains all samples
+var sampleMap = map[string]interface{}{
+       "CreateBucketSample":          sample.CreateBucketSample,
+       "NewBucketSample":             sample.NewBucketSample,
+       "ListBucketsSample":           sample.ListBucketsSample,
+       "BucketACLSample":             sample.BucketACLSample,
+       "BucketLifecycleSample":       sample.BucketLifecycleSample,
+       "BucketRefererSample":         sample.BucketRefererSample,
+       "BucketLoggingSample":         sample.BucketLoggingSample,
+       "BucketWebsiteSample":         sample.BucketWebsiteSample,
+       "BucketCORSSample":            sample.BucketCORSSample,
+       "BucketPolicySample":          sample.BucketPolicySample,
+       "BucketrRequestPaymentSample": sample.BucketrRequestPaymentSample,
+       "BucketQoSInfoSample":         sample.BucketQoSInfoSample,
+       "BucketInventorySample":       sample.BucketInventorySample,
+       "ObjectACLSample":             sample.ObjectACLSample,
+       "ObjectMetaSample":            sample.ObjectMetaSample,
+       "ListObjectsSample":           sample.ListObjectsSample,
+       "DeleteObjectSample":          sample.DeleteObjectSample,
+       "AppendObjectSample":          sample.AppendObjectSample,
+       "CopyObjectSample":            sample.CopyObjectSample,
+       "PutObjectSample":             sample.PutObjectSample,
+       "GetObjectSample":             sample.GetObjectSample,
+       "CnameSample":                 sample.CnameSample,
+       "SignURLSample":               sample.SignURLSample,
+       "ArchiveSample":               sample.ArchiveSample,
+       "ObjectTaggingSample":         sample.ObjectTaggingSample,
+       "BucketEncryptionSample":      sample.BucketEncryptionSample,
+       "SelectObjectSample":          sample.SelectObjectSample,
+}
+
+func main() {
+       var name string
+       flag.StringVar(&name, "name", "", "Waiting for a sample of execution")
+       flag.Parse()
+
+       if len(name) <= 0 {
+               fmt.Println("please enter your sample's name. like '-name CreateBucketSample'")
+               os.Exit(-1)
+       } else {
+               if sampleMap[name] == nil {
+                       fmt.Println("the " + name + "is not exist.")
+                       os.Exit(-1)
+               }
+               sampleMap[name].(func())()
+       }
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/BingWallpaper-2015-11-07.jpg b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/BingWallpaper-2015-11-07.jpg
new file mode 100644 (file)
index 0000000..90960f0
Binary files /dev/null and b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/BingWallpaper-2015-11-07.jpg differ
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/The Go Programming Language.html b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/The Go Programming Language.html
new file mode 100644 (file)
index 0000000..ee91f07
--- /dev/null
@@ -0,0 +1,3663 @@
+<!DOCTYPE html>
+<!-- saved from url=(0032)https://golang.org/pkg/net/http/ -->
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<meta name="theme-color" content="#375EAB">
+
+  <title>http - The Go Programming Language</title>
+
+<link type="text/css" rel="stylesheet" href="./http - The Go Programming Language_files/style.css">
+
+<link rel="search" type="application/opensearchdescription+xml" title="godoc" href="https://golang.org/opensearch.xml">
+
+<link rel="stylesheet" href="./http - The Go Programming Language_files/jquery.treeview.css">
+<script type="text/javascript" async="" src="./http - The Go Programming Language_files/ga.js"></script><script type="text/javascript">window.initFuncs = [];</script>
+<script type="text/javascript">
+var _gaq = _gaq || [];
+_gaq.push(["_setAccount", "UA-11222381-2"]);
+_gaq.push(["b._setAccount", "UA-49880327-6"]);
+window.trackPageview = function() {
+  _gaq.push(["_trackPageview", location.pathname+location.hash]);
+  _gaq.push(["b._trackPageview", location.pathname+location.hash]);
+};
+window.trackPageview();
+window.trackEvent = function(category, action, opt_label, opt_value, opt_noninteraction) {
+  _gaq.push(["_trackEvent", category, action, opt_label, opt_value, opt_noninteraction]);
+  _gaq.push(["b._trackEvent", category, action, opt_label, opt_value, opt_noninteraction]);
+};
+</script>
+</head>
+<body>
+
+<div id="lowframe" style="position: fixed; bottom: 0; left: 0; height: 0; width: 100%; border-top: thin solid grey; background-color: white; overflow: auto;">
+...
+</div><!-- #lowframe -->
+
+<div id="topbar" class="wide"><div class="container">
+<div class="top-heading" id="heading-wide"><a href="https://golang.org/">The Go Programming Language</a></div>
+<div class="top-heading" id="heading-narrow"><a href="https://golang.org/">Go</a></div>
+<a href="https://golang.org/pkg/net/http/#" id="menu-button"><span id="menu-button-arrow">▽</span></a>
+<form method="GET" action="https://golang.org/search">
+<div id="menu" style="min-width: 60px;">
+<a href="https://golang.org/doc/">Documents</a>
+<a href="https://golang.org/pkg/">Packages</a>
+<a href="https://golang.org/project/">The Project</a>
+<a href="https://golang.org/help/">Help</a>
+<a href="https://golang.org/blog/">Blog</a>
+
+<a id="playgroundButton" href="http://play.golang.org/" title="Show Go Playground" style="display: inline;">Play</a>
+
+<input type="text" id="search" name="q" class="inactive" value="Search" placeholder="Search">
+</div>
+</form>
+
+</div></div>
+
+
+<div id="playground" class="play">
+       <div class="input"><textarea class="code">package main
+
+import "fmt"
+
+func main() {
+       fmt.Println("Hello, 世界")
+}</textarea></div>
+       <div class="output"></div>
+       <div class="buttons">
+               <a class="run" title="Run this code [shift-enter]">Run</a>
+               <a class="fmt" title="Format this code">Format</a>
+               
+       </div>
+</div>
+
+
+<div id="page" class="wide" tabindex="-1" style="outline: 0px;">
+<div class="container">
+
+
+  <h1>Package http</h1>
+
+
+
+
+<div id="nav"></div>
+
+
+<!--
+       Copyright 2009 The Go Authors. All rights reserved.
+       Use of this source code is governed by a BSD-style
+       license that can be found in the LICENSE file.
+-->
+<!--
+       Note: Static (i.e., not template-generated) href and id
+       attributes start with "pkg-" to make it impossible for
+       them to conflict with generated attributes (some of which
+       correspond to Go identifiers).
+-->
+
+       <script type="text/javascript">
+       document.ANALYSIS_DATA = null;
+       document.CALLGRAPH = null;
+       </script>
+
+       
+               
+               <div id="short-nav">
+                       <dl>
+                       <dd><code>import "net/http"</code></dd>
+                       </dl>
+                       <dl>
+                       <dd><a href="https://golang.org/pkg/net/http/#pkg-overview" class="overviewLink">Overview</a></dd>
+                       <dd><a href="https://golang.org/pkg/net/http/#pkg-index" class="indexLink">Index</a></dd>
+                       
+                               <dd><a href="https://golang.org/pkg/net/http/#pkg-examples" class="examplesLink">Examples</a></dd>
+                       
+                       
+                               <dd><a href="https://golang.org/pkg/net/http/#pkg-subdirectories">Subdirectories</a></dd>
+                       
+                       </dl>
+               </div>
+               <!-- The package's Name is printed as title by the top-level template -->
+               <div id="pkg-overview" class="toggleVisible">
+                       <div class="collapsed">
+                               <h2 class="toggleButton" title="Click to show Overview section">Overview ▹</h2>
+                       </div>
+                       <div class="expanded">
+                               <h2 class="toggleButton" title="Click to hide Overview section">Overview ▾</h2>
+                               <p>
+Package http provides HTTP client and server implementations.
+</p>
+<p>
+Get, Head, Post, and PostForm make HTTP (or HTTPS) requests:
+</p>
+<pre>resp, err := http.Get("<a href="http://example.com/">http://example.com/</a>")
+...
+resp, err := http.Post("<a href="http://example.com/upload">http://example.com/upload</a>", "image/jpeg", &amp;buf)
+...
+resp, err := http.PostForm("<a href="http://example.com/form">http://example.com/form</a>",
+       url.Values{"key": {"Value"}, "id": {"123"}})
+</pre>
+<p>
+The client must close the response body when finished with it:
+</p>
+<pre>resp, err := http.Get("<a href="http://example.com/">http://example.com/</a>")
+if err != nil {
+       // handle error
+}
+defer resp.Body.Close()
+body, err := ioutil.ReadAll(resp.Body)
+// ...
+</pre>
+<p>
+For control over HTTP client headers, redirect policy, and other
+settings, create a Client:
+</p>
+<pre>client := &amp;http.Client{
+       CheckRedirect: redirectPolicyFunc,
+}
+
+resp, err := client.Get("<a href="http://example.com/">http://example.com</a>")
+// ...
+
+req, err := http.NewRequest("GET", "<a href="http://example.com/">http://example.com</a>", nil)
+// ...
+req.Header.Add("If-None-Match", `W/"wyzzy"`)
+resp, err := client.Do(req)
+// ...
+</pre>
+<p>
+For control over proxies, TLS configuration, keep-alives,
+compression, and other settings, create a Transport:
+</p>
+<pre>tr := &amp;http.Transport{
+       TLSClientConfig:    &amp;tls.Config{RootCAs: pool},
+       DisableCompression: true,
+}
+client := &amp;http.Client{Transport: tr}
+resp, err := client.Get("<a href="https://example.com/">https://example.com</a>")
+</pre>
+<p>
+Clients and Transports are safe for concurrent use by multiple
+goroutines and for efficiency should only be created once and re-used.
+</p>
+<p>
+ListenAndServe starts an HTTP server with a given address and handler.
+The handler is usually nil, which means to use DefaultServeMux.
+Handle and HandleFunc add handlers to DefaultServeMux:
+</p>
+<pre>http.Handle("/foo", fooHandler)
+
+http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) {
+       fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
+})
+
+log.Fatal(http.ListenAndServe(":8080", nil))
+</pre>
+<p>
+More control over the server's behavior is available by creating a
+custom Server:
+</p>
+<pre>s := &amp;http.Server{
+       Addr:           ":8080",
+       Handler:        myHandler,
+       ReadTimeout:    10 * time.Second,
+       WriteTimeout:   10 * time.Second,
+       MaxHeaderBytes: 1 &lt;&lt; 20,
+}
+log.Fatal(s.ListenAndServe())
+</pre>
+
+                       </div>
+               </div>
+               
+
+               <div id="pkg-index" class="toggleVisible">
+               <div class="collapsed">
+                       <h2 class="toggleButton" title="Click to show Index section">Index ▹</h2>
+               </div>
+               <div class="expanded">
+                       <h2 class="toggleButton" title="Click to hide Index section">Index ▾</h2>
+
+               <!-- Table of contents for API; must be named manual-nav to turn off auto nav. -->
+                       <div id="manual-nav">
+                       <dl>
+                       
+                               <dd><a href="https://golang.org/pkg/net/http/#pkg-constants">Constants</a></dd>
+                       
+                       
+                               <dd><a href="https://golang.org/pkg/net/http/#pkg-variables">Variables</a></dd>
+                       
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#CanonicalHeaderKey">func CanonicalHeaderKey(s string) string</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#DetectContentType">func DetectContentType(data []byte) string</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Error">func Error(w ResponseWriter, error string, code int)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Handle">func Handle(pattern string, handler Handler)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#HandleFunc">func HandleFunc(pattern string, handler func(ResponseWriter, *Request))</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ListenAndServe">func ListenAndServe(addr string, handler Handler) error</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ListenAndServeTLS">func ListenAndServeTLS(addr string, certFile string, keyFile string, handler Handler) error</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#MaxBytesReader">func MaxBytesReader(w ResponseWriter, r io.ReadCloser, n int64) io.ReadCloser</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#NotFound">func NotFound(w ResponseWriter, r *Request)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ParseHTTPVersion">func ParseHTTPVersion(vers string) (major, minor int, ok bool)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ParseTime">func ParseTime(text string) (t time.Time, err error)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ProxyFromEnvironment">func ProxyFromEnvironment(req *Request) (*url.URL, error)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ProxyURL">func ProxyURL(fixedURL *url.URL) func(*Request) (*url.URL, error)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Redirect">func Redirect(w ResponseWriter, r *Request, urlStr string, code int)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Serve">func Serve(l net.Listener, handler Handler) error</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ServeContent">func ServeContent(w ResponseWriter, req *Request, name string, modtime time.Time, content io.ReadSeeker)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ServeFile">func ServeFile(w ResponseWriter, r *Request, name string)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#SetCookie">func SetCookie(w ResponseWriter, cookie *Cookie)</a></dd>
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#StatusText">func StatusText(code int) string</a></dd>
+                       
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Client">type Client</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Client.Do">func (c *Client) Do(req *Request) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Client.Get">func (c *Client) Get(url string) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Client.Head">func (c *Client) Head(url string) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Client.Post">func (c *Client) Post(url string, bodyType string, body io.Reader) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Client.PostForm">func (c *Client) PostForm(url string, data url.Values) (resp *Response, err error)</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#CloseNotifier">type CloseNotifier</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ConnState">type ConnState</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ConnState.String">func (c ConnState) String() string</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Cookie">type Cookie</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Cookie.String">func (c *Cookie) String() string</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#CookieJar">type CookieJar</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Dir">type Dir</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Dir.Open">func (d Dir) Open(name string) (File, error)</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#File">type File</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#FileSystem">type FileSystem</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Flusher">type Flusher</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Handler">type Handler</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#FileServer">func FileServer(root FileSystem) Handler</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#NotFoundHandler">func NotFoundHandler() Handler</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#RedirectHandler">func RedirectHandler(url string, code int) Handler</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#StripPrefix">func StripPrefix(prefix string, h Handler) Handler</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#TimeoutHandler">func TimeoutHandler(h Handler, dt time.Duration, msg string) Handler</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#HandlerFunc">type HandlerFunc</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#HandlerFunc.ServeHTTP">func (f HandlerFunc) ServeHTTP(w ResponseWriter, r *Request)</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Header">type Header</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Header.Add">func (h Header) Add(key, value string)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Header.Del">func (h Header) Del(key string)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Header.Get">func (h Header) Get(key string) string</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Header.Set">func (h Header) Set(key, value string)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Header.Write">func (h Header) Write(w io.Writer) error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Header.WriteSubset">func (h Header) WriteSubset(w io.Writer, exclude map[string]bool) error</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Hijacker">type Hijacker</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ProtocolError">type ProtocolError</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ProtocolError.Error">func (err *ProtocolError) Error() string</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Request">type Request</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#NewRequest">func NewRequest(method, urlStr string, body io.Reader) (*Request, error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ReadRequest">func ReadRequest(b *bufio.Reader) (req *Request, err error)</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.AddCookie">func (r *Request) AddCookie(c *Cookie)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.BasicAuth">func (r *Request) BasicAuth() (username, password string, ok bool)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.Cookie">func (r *Request) Cookie(name string) (*Cookie, error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.Cookies">func (r *Request) Cookies() []*Cookie</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.FormFile">func (r *Request) FormFile(key string) (multipart.File, *multipart.FileHeader, error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.FormValue">func (r *Request) FormValue(key string) string</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.MultipartReader">func (r *Request) MultipartReader() (*multipart.Reader, error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.ParseForm">func (r *Request) ParseForm() error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.ParseMultipartForm">func (r *Request) ParseMultipartForm(maxMemory int64) error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.PostFormValue">func (r *Request) PostFormValue(key string) string</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.ProtoAtLeast">func (r *Request) ProtoAtLeast(major, minor int) bool</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.Referer">func (r *Request) Referer() string</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.SetBasicAuth">func (r *Request) SetBasicAuth(username, password string)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.UserAgent">func (r *Request) UserAgent() string</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.Write">func (r *Request) Write(w io.Writer) error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Request.WriteProxy">func (r *Request) WriteProxy(w io.Writer) error</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Response">type Response</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Get">func Get(url string) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Head">func Head(url string) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Post">func Post(url string, bodyType string, body io.Reader) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#PostForm">func PostForm(url string, data url.Values) (resp *Response, err error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ReadResponse">func ReadResponse(r *bufio.Reader, req *Request) (*Response, error)</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Response.Cookies">func (r *Response) Cookies() []*Cookie</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Response.Location">func (r *Response) Location() (*url.URL, error)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Response.ProtoAtLeast">func (r *Response) ProtoAtLeast(major, minor int) bool</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Response.Write">func (r *Response) Write(w io.Writer) error</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ResponseWriter">type ResponseWriter</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#RoundTripper">type RoundTripper</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#NewFileTransport">func NewFileTransport(fs FileSystem) RoundTripper</a></dd>
+                               
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#ServeMux">type ServeMux</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#NewServeMux">func NewServeMux() *ServeMux</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ServeMux.Handle">func (mux *ServeMux) Handle(pattern string, handler Handler)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ServeMux.HandleFunc">func (mux *ServeMux) HandleFunc(pattern string, handler func(ResponseWriter, *Request))</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ServeMux.Handler">func (mux *ServeMux) Handler(r *Request) (h Handler, pattern string)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#ServeMux.ServeHTTP">func (mux *ServeMux) ServeHTTP(w ResponseWriter, r *Request)</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Server">type Server</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Server.ListenAndServe">func (srv *Server) ListenAndServe() error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Server.ListenAndServeTLS">func (srv *Server) ListenAndServeTLS(certFile, keyFile string) error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Server.Serve">func (srv *Server) Serve(l net.Listener) error</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Server.SetKeepAlivesEnabled">func (srv *Server) SetKeepAlivesEnabled(v bool)</a></dd>
+                               
+                       
+                               
+                               <dd><a href="https://golang.org/pkg/net/http/#Transport">type Transport</a></dd>
+                               
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Transport.CancelRequest">func (t *Transport) CancelRequest(req *Request)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Transport.CloseIdleConnections">func (t *Transport) CloseIdleConnections()</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Transport.RegisterProtocol">func (t *Transport) RegisterProtocol(scheme string, rt RoundTripper)</a></dd>
+                               
+                                       
+                                       <dd>&nbsp; &nbsp; <a href="https://golang.org/pkg/net/http/#Transport.RoundTrip">func (t *Transport) RoundTrip(req *Request) (resp *Response, err error)</a></dd>
+                               
+                       
+                       
+                       </dl>
+                       </div><!-- #manual-nav -->
+
+               
+               <div id="pkg-examples">
+                       <h4>Examples</h4>
+                       <dl>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_FileServer">FileServer</a></dd>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_FileServer_stripPrefix">FileServer (StripPrefix)</a></dd>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_Get">Get</a></dd>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_Hijacker">Hijacker</a></dd>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_ResponseWriter_trailers">ResponseWriter (Trailers)</a></dd>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_ServeMux_Handle">ServeMux.Handle</a></dd>
+                       
+                       <dd><a class="exampleLink" href="https://golang.org/pkg/net/http/#example_StripPrefix">StripPrefix</a></dd>
+                       
+                       </dl>
+               </div>
+               
+
+               
+                       <h4>Package files</h4>
+                       <p>
+                       <span style="font-size:90%">
+                       
+                               <a href="https://golang.org/src/net/http/client.go">client.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/cookie.go">cookie.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/doc.go">doc.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/filetransport.go">filetransport.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/fs.go">fs.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/header.go">header.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/jar.go">jar.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/lex.go">lex.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/request.go">request.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/response.go">response.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/server.go">server.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/sniff.go">sniff.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/status.go">status.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/transfer.go">transfer.go</a>
+                       
+                               <a href="https://golang.org/src/net/http/transport.go">transport.go</a>
+                       
+                       </span>
+                       </p>
+               
+               </div><!-- .expanded -->
+               </div><!-- #pkg-index -->
+
+               <div id="pkg-callgraph" class="toggle" style="display: none">
+               <div class="collapsed">
+                       <h2 class="toggleButton" title="Click to show Internal Call Graph section">Internal call graph ▹</h2>
+               </div> <!-- .expanded -->
+               <div class="expanded">
+                       <h2 class="toggleButton" title="Click to hide Internal Call Graph section">Internal call graph ▾</h2>
+                       <p>
+                         In the call graph viewer below, each node
+                         is a function belonging to this package
+                         and its children are the functions it
+                         calls—perhaps dynamically.
+                       </p>
+                       <p>
+                         The root nodes are the entry points of the
+                         package: functions that may be called from
+                         outside the package.
+                         There may be non-exported or anonymous
+                         functions among them if they are called
+                         dynamically from another package.
+                       </p>
+                       <p>
+                         Click a node to visit that function's source code.
+                         From there you can visit its callers by
+                         clicking its declaring <code>func</code>
+                         token.
+                       </p>
+                       <p>
+                         Functions may be omitted if they were
+                         determined to be unreachable in the
+                         particular programs or tests that were
+                         analyzed.
+                       </p>
+                       <!-- Zero means show all package entry points. -->
+                       <ul style="margin-left: 0.5in" id="callgraph-0" class="treeview"></ul>
+               </div>
+               </div> <!-- #pkg-callgraph -->
+
+               
+                       <h2 id="pkg-constants">Constants</h2>
+                       
+                               <pre>const (
+        <span id="StatusContinue">StatusContinue</span>           = 100
+        <span id="StatusSwitchingProtocols">StatusSwitchingProtocols</span> = 101
+
+        <span id="StatusOK">StatusOK</span>                   = 200
+        <span id="StatusCreated">StatusCreated</span>              = 201
+        <span id="StatusAccepted">StatusAccepted</span>             = 202
+        <span id="StatusNonAuthoritativeInfo">StatusNonAuthoritativeInfo</span> = 203
+        <span id="StatusNoContent">StatusNoContent</span>            = 204
+        <span id="StatusResetContent">StatusResetContent</span>         = 205
+        <span id="StatusPartialContent">StatusPartialContent</span>       = 206
+
+        <span id="StatusMultipleChoices">StatusMultipleChoices</span>   = 300
+        <span id="StatusMovedPermanently">StatusMovedPermanently</span>  = 301
+        <span id="StatusFound">StatusFound</span>             = 302
+        <span id="StatusSeeOther">StatusSeeOther</span>          = 303
+        <span id="StatusNotModified">StatusNotModified</span>       = 304
+        <span id="StatusUseProxy">StatusUseProxy</span>          = 305
+        <span id="StatusTemporaryRedirect">StatusTemporaryRedirect</span> = 307
+
+        <span id="StatusBadRequest">StatusBadRequest</span>                   = 400
+        <span id="StatusUnauthorized">StatusUnauthorized</span>                 = 401
+        <span id="StatusPaymentRequired">StatusPaymentRequired</span>              = 402
+        <span id="StatusForbidden">StatusForbidden</span>                    = 403
+        <span id="StatusNotFound">StatusNotFound</span>                     = 404
+        <span id="StatusMethodNotAllowed">StatusMethodNotAllowed</span>             = 405
+        <span id="StatusNotAcceptable">StatusNotAcceptable</span>                = 406
+        <span id="StatusProxyAuthRequired">StatusProxyAuthRequired</span>            = 407
+        <span id="StatusRequestTimeout">StatusRequestTimeout</span>               = 408
+        <span id="StatusConflict">StatusConflict</span>                     = 409
+        <span id="StatusGone">StatusGone</span>                         = 410
+        <span id="StatusLengthRequired">StatusLengthRequired</span>               = 411
+        <span id="StatusPreconditionFailed">StatusPreconditionFailed</span>           = 412
+        <span id="StatusRequestEntityTooLarge">StatusRequestEntityTooLarge</span>        = 413
+        <span id="StatusRequestURITooLong">StatusRequestURITooLong</span>            = 414
+        <span id="StatusUnsupportedMediaType">StatusUnsupportedMediaType</span>         = 415
+        <span id="StatusRequestedRangeNotSatisfiable">StatusRequestedRangeNotSatisfiable</span> = 416
+        <span id="StatusExpectationFailed">StatusExpectationFailed</span>            = 417
+        <span id="StatusTeapot">StatusTeapot</span>                       = 418
+
+        <span id="StatusInternalServerError">StatusInternalServerError</span>     = 500
+        <span id="StatusNotImplemented">StatusNotImplemented</span>          = 501
+        <span id="StatusBadGateway">StatusBadGateway</span>              = 502
+        <span id="StatusServiceUnavailable">StatusServiceUnavailable</span>      = 503
+        <span id="StatusGatewayTimeout">StatusGatewayTimeout</span>          = 504
+        <span id="StatusHTTPVersionNotSupported">StatusHTTPVersionNotSupported</span> = 505
+)</pre>
+                               <p>
+HTTP status codes, defined in RFC 2616.
+</p>
+
+                       
+                               <pre>const <span id="DefaultMaxHeaderBytes">DefaultMaxHeaderBytes</span> = 1 &lt;&lt; 20 <span class="comment">// 1 MB</span>
+</pre>
+                               <p>
+DefaultMaxHeaderBytes is the maximum permitted size of the headers
+in an HTTP request.
+This can be overridden by setting Server.MaxHeaderBytes.
+</p>
+
+                       
+                               <pre>const <span id="DefaultMaxIdleConnsPerHost">DefaultMaxIdleConnsPerHost</span> = 2</pre>
+                               <p>
+DefaultMaxIdleConnsPerHost is the default value of Transport's
+MaxIdleConnsPerHost.
+</p>
+
+                       
+                               <pre>const <span id="TimeFormat">TimeFormat</span> = "Mon, 02 Jan 2006 15:04:05 GMT"</pre>
+                               <p>
+TimeFormat is the time format to use with
+time.Parse and time.Time.Format when parsing
+or generating times in HTTP headers.
+It is like time.RFC1123 but hard codes GMT as the time zone.
+</p>
+
+                       
+               
+               
+                       <h2 id="pkg-variables">Variables</h2>
+                       
+                               <pre>var (
+        <span id="ErrHeaderTooLong">ErrHeaderTooLong</span>        = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"header too long"}
+        <span id="ErrShortBody">ErrShortBody</span>            = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"entity body too short"}
+        <span id="ErrNotSupported">ErrNotSupported</span>         = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"feature not supported"}
+        <span id="ErrUnexpectedTrailer">ErrUnexpectedTrailer</span>    = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"trailer header without chunked transfer encoding"}
+        <span id="ErrMissingContentLength">ErrMissingContentLength</span> = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"missing ContentLength in HEAD response"}
+        <span id="ErrNotMultipart">ErrNotMultipart</span>         = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"request Content-Type isn't multipart/form-data"}
+        <span id="ErrMissingBoundary">ErrMissingBoundary</span>      = &amp;<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>{"no multipart boundary param in Content-Type"}
+)</pre>
+                               
+                       
+                               <pre>var (
+        <span id="ErrWriteAfterFlush">ErrWriteAfterFlush</span> = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("Conn.Write called after Flush")
+        <span id="ErrBodyNotAllowed">ErrBodyNotAllowed</span>  = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("http: request method or response status code does not allow body")
+        <span id="ErrHijacked">ErrHijacked</span>        = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("Conn has been hijacked")
+        <span id="ErrContentLength">ErrContentLength</span>   = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("Conn.Write wrote more than the declared Content-Length")
+)</pre>
+                               <p>
+Errors introduced by the HTTP server.
+</p>
+
+                       
+                               <pre>var <span id="DefaultClient">DefaultClient</span> = &amp;<a href="https://golang.org/pkg/net/http/#Client">Client</a>{}</pre>
+                               <p>
+DefaultClient is the default Client and is used by Get, Head, and Post.
+</p>
+
+                       
+                               <pre>var <span id="DefaultServeMux">DefaultServeMux</span> = <a href="https://golang.org/pkg/net/http/#NewServeMux">NewServeMux</a>()</pre>
+                               <p>
+DefaultServeMux is the default ServeMux used by Serve.
+</p>
+
+                       
+                               <pre>var <span id="ErrBodyReadAfterClose">ErrBodyReadAfterClose</span> = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("http: invalid Read on closed Body")</pre>
+                               <p>
+ErrBodyReadAfterClose is returned when reading a Request or Response
+Body after the body has been closed. This typically happens when the body is
+read after an HTTP Handler calls WriteHeader or Write on its
+ResponseWriter.
+</p>
+
+                       
+                               <pre>var <span id="ErrHandlerTimeout">ErrHandlerTimeout</span> = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("http: Handler timeout")</pre>
+                               <p>
+ErrHandlerTimeout is returned on ResponseWriter Write calls
+in handlers which have timed out.
+</p>
+
+                       
+                               <pre>var <span id="ErrLineTooLong">ErrLineTooLong</span> = <a href="https://golang.org/pkg/net/http/internal/">internal</a>.<a href="https://golang.org/pkg/net/http/internal/#ErrLineTooLong">ErrLineTooLong</a></pre>
+                               <p>
+ErrLineTooLong is returned when reading request or response bodies
+with malformed chunked encoding.
+</p>
+
+                       
+                               <pre>var <span id="ErrMissingFile">ErrMissingFile</span> = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("http: no such file")</pre>
+                               <p>
+ErrMissingFile is returned by FormFile when the provided file field name
+is either not present in the request or not a file field.
+</p>
+
+                       
+                               <pre>var <span id="ErrNoCookie">ErrNoCookie</span> = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("http: named cookie not present")</pre>
+                               <p>
+ErrNoCookie is returned by Request's Cookie method when a cookie is not found.
+</p>
+
+                       
+                               <pre>var <span id="ErrNoLocation">ErrNoLocation</span> = <a href="https://golang.org/pkg/errors/">errors</a>.<a href="https://golang.org/pkg/errors/#New">New</a>("http: no Location header in response")</pre>
+                               <p>
+ErrNoLocation is returned by Response's Location method
+when no Location header is present.
+</p>
+
+                       
+               
+               
+                       
+                       
+                       <h2 id="CanonicalHeaderKey">func <a href="https://golang.org/src/net/http/header.go?s=4562:4602#L163">CanonicalHeaderKey</a></h2>
+                       <pre>func CanonicalHeaderKey(s <a href="https://golang.org/pkg/builtin/#string">string</a>) <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                       <p>
+CanonicalHeaderKey returns the canonical format of the
+header key s.  The canonicalization converts the first
+letter and any letter following a hyphen to upper case;
+the rest are converted to lowercase.  For example, the
+canonical key for "accept-encoding" is "Accept-Encoding".
+If s contains a space or invalid header field bytes, it is
+returned without modifications.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="DetectContentType">func <a href="https://golang.org/src/net/http/sniff.go?s=648:690#L11">DetectContentType</a></h2>
+                       <pre>func DetectContentType(data []<a href="https://golang.org/pkg/builtin/#byte">byte</a>) <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                       <p>
+DetectContentType implements the algorithm described
+at <a href="http://mimesniff.spec.whatwg.org/">http://mimesniff.spec.whatwg.org/</a> to determine the
+Content-Type of the given data.  It considers at most the
+first 512 bytes of data.  DetectContentType always returns
+a valid MIME type: if it cannot determine a more specific one, it
+returns "application/octet-stream".
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="Error">func <a href="https://golang.org/src/net/http/server.go?s=41562:41614#L1419">Error</a></h2>
+                       <pre>func Error(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, error <a href="https://golang.org/pkg/builtin/#string">string</a>, code <a href="https://golang.org/pkg/builtin/#int">int</a>)</pre>
+                       <p>
+Error replies to the request with the specified error message and HTTP code.
+The error message should be plain text.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="Handle">func <a href="https://golang.org/src/net/http/server.go?s=51434:51478#L1740">Handle</a></h2>
+                       <pre>func Handle(pattern <a href="https://golang.org/pkg/builtin/#string">string</a>, handler <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>)</pre>
+                       <p>
+Handle registers the handler for the given pattern
+in the DefaultServeMux.
+The documentation for ServeMux explains how patterns are matched.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="HandleFunc">func <a href="https://golang.org/src/net/http/server.go?s=51688:51759#L1745">HandleFunc</a></h2>
+                       <pre>func HandleFunc(pattern <a href="https://golang.org/pkg/builtin/#string">string</a>, handler func(<a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, *<a href="https://golang.org/pkg/net/http/#Request">Request</a>))</pre>
+                       <p>
+HandleFunc registers the handler function for the given pattern
+in the DefaultServeMux.
+The documentation for ServeMux explains how patterns are matched.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ListenAndServe">func <a href="https://golang.org/src/net/http/server.go?s=58314:58369#L1955">ListenAndServe</a></h2>
+                       <pre>func ListenAndServe(addr <a href="https://golang.org/pkg/builtin/#string">string</a>, handler <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                       <p>
+ListenAndServe listens on the TCP network address addr
+and then calls Serve with handler to handle requests
+on incoming connections.  Handler is typically nil,
+in which case the DefaultServeMux is used.
+</p>
+<p>
+A trivial example server is:
+</p>
+<pre>package main
+
+import (
+       "io"
+       "net/http"
+       "log"
+)
+
+// hello world, the web server
+func HelloServer(w http.ResponseWriter, req *http.Request) {
+       io.WriteString(w, "hello, world!\n")
+}
+
+func main() {
+       http.HandleFunc("/hello", HelloServer)
+       err := http.ListenAndServe(":12345", nil)
+       if err != nil {
+               log.Fatal("ListenAndServe: ", err)
+       }
+}
+</pre>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ListenAndServeTLS">func <a href="https://golang.org/src/net/http/server.go?s=59426:59517#L1988">ListenAndServeTLS</a></h2>
+                       <pre>func ListenAndServeTLS(addr <a href="https://golang.org/pkg/builtin/#string">string</a>, certFile <a href="https://golang.org/pkg/builtin/#string">string</a>, keyFile <a href="https://golang.org/pkg/builtin/#string">string</a>, handler <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                       <p>
+ListenAndServeTLS acts identically to ListenAndServe, except that it
+expects HTTPS connections. Additionally, files containing a certificate and
+matching private key for the server must be provided. If the certificate
+is signed by a certificate authority, the certFile should be the concatenation
+of the server's certificate, any intermediates, and the CA's certificate.
+</p>
+<p>
+A trivial example server is:
+</p>
+<pre>import (
+       "log"
+       "net/http"
+)
+
+func handler(w http.ResponseWriter, req *http.Request) {
+       w.Header().Set("Content-Type", "text/plain")
+       w.Write([]byte("This is an example server.\n"))
+}
+
+func main() {
+       http.HandleFunc("/", handler)
+       log.Printf("About to listen on 10443. Go to <a href="https://127.0.0.1:10443/">https://127.0.0.1:10443/</a>")
+       err := http.ListenAndServeTLS(":10443", "cert.pem", "key.pem", nil)
+       if err != nil {
+               log.Fatal(err)
+       }
+}
+</pre>
+<p>
+One can use generate_cert.go in crypto/tls to generate cert.pem and key.pem.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="MaxBytesReader">func <a href="https://golang.org/src/net/http/request.go?s=22939:23016#L726">MaxBytesReader</a></h2>
+                       <pre>func MaxBytesReader(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, r <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#ReadCloser">ReadCloser</a>, n <a href="https://golang.org/pkg/builtin/#int64">int64</a>) <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#ReadCloser">ReadCloser</a></pre>
+                       <p>
+MaxBytesReader is similar to io.LimitReader but is intended for
+limiting the size of incoming request bodies. In contrast to
+io.LimitReader, MaxBytesReader's result is a ReadCloser, returns a
+non-EOF error for a Read beyond the limit, and closes the
+underlying reader when its Close method is called.
+</p>
+<p>
+MaxBytesReader prevents clients from accidentally or maliciously
+sending a large request and wasting server resources.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="NotFound">func <a href="https://golang.org/src/net/http/server.go?s=41848:41891#L1427">NotFound</a></h2>
+                       <pre>func NotFound(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>)</pre>
+                       <p>
+NotFound replies to the request with an HTTP 404 not found error.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ParseHTTPVersion">func <a href="https://golang.org/src/net/http/request.go?s=16539:16601#L498">ParseHTTPVersion</a></h2>
+                       <pre>func ParseHTTPVersion(vers <a href="https://golang.org/pkg/builtin/#string">string</a>) (major, minor <a href="https://golang.org/pkg/builtin/#int">int</a>, ok <a href="https://golang.org/pkg/builtin/#bool">bool</a>)</pre>
+                       <p>
+ParseHTTPVersion parses a HTTP version string.
+"HTTP/1.0" returns (1, 0, true).
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ParseTime">func <a href="https://golang.org/src/net/http/header.go?s=1908:1960#L69">ParseTime</a></h2>
+                       <pre>func ParseTime(text <a href="https://golang.org/pkg/builtin/#string">string</a>) (t <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Time">Time</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                       <p>
+ParseTime parses a time header (such as the Date: header),
+trying each of the three formats allowed by HTTP/1.1:
+TimeFormat, time.RFC850, and time.ANSIC.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ProxyFromEnvironment">func <a href="https://golang.org/src/net/http/transport.go?s=4805:4862#L126">ProxyFromEnvironment</a></h2>
+                       <pre>func ProxyFromEnvironment(req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (*<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                       <p>
+ProxyFromEnvironment returns the URL of the proxy to use for a
+given request, as indicated by the environment variables
+HTTP_PROXY, HTTPS_PROXY and NO_PROXY (or the lowercase versions
+thereof). HTTPS_PROXY takes precedence over HTTP_PROXY for https
+requests.
+</p>
+<p>
+The environment values may be either a complete URL or a
+"host[:port]", in which case the "http" scheme is assumed.
+An error is returned if the value is a different form.
+</p>
+<p>
+A nil URL and nil error are returned if no proxy is defined in the
+environment, or a proxy should not be used for the given request,
+as defined by NO_PROXY.
+</p>
+<p>
+As a special case, if req.URL.Host is "localhost" (with or without
+a port number), then a nil URL and nil error will be returned.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ProxyURL">func <a href="https://golang.org/src/net/http/transport.go?s=5664:5729#L157">ProxyURL</a></h2>
+                       <pre>func ProxyURL(fixedURL *<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>) func(*<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (*<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                       <p>
+ProxyURL returns a proxy function (for use in a Transport)
+that always returns the same URL.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="Redirect">func <a href="https://golang.org/src/net/http/server.go?s=42815:42883#L1454">Redirect</a></h2>
+                       <pre>func Redirect(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>, urlStr <a href="https://golang.org/pkg/builtin/#string">string</a>, code <a href="https://golang.org/pkg/builtin/#int">int</a>)</pre>
+                       <p>
+Redirect replies to the request with a redirect to url,
+which may be a path relative to the request path.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="Serve">func <a href="https://golang.org/src/net/http/server.go?s=52072:52121#L1753">Serve</a></h2>
+                       <pre>func Serve(l <a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Listener">Listener</a>, handler <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                       <p>
+Serve accepts incoming HTTP connections on the listener l,
+creating a new service goroutine for each.  The service goroutines
+read requests and then call handler to reply to them.
+Handler is typically nil, in which case the DefaultServeMux is used.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ServeContent">func <a href="https://golang.org/src/net/http/fs.go?s=3535:3639#L107">ServeContent</a></h2>
+                       <pre>func ServeContent(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>, name <a href="https://golang.org/pkg/builtin/#string">string</a>, modtime <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Time">Time</a>, content <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#ReadSeeker">ReadSeeker</a>)</pre>
+                       <p>
+ServeContent replies to the request using the content in the
+provided ReadSeeker.  The main benefit of ServeContent over io.Copy
+is that it handles Range requests properly, sets the MIME type, and
+handles If-Modified-Since requests.
+</p>
+<p>
+If the response's Content-Type header is not set, ServeContent
+first tries to deduce the type from name's file extension and,
+if that fails, falls back to reading the first block of the content
+and passing it to DetectContentType.
+The name is otherwise unused; in particular it can be empty and is
+never sent in the response.
+</p>
+<p>
+If modtime is not the zero time or Unix epoch, ServeContent
+includes it in a Last-Modified header in the response.  If the
+request includes an If-Modified-Since header, ServeContent uses
+modtime to decide whether the content needs to be sent at all.
+</p>
+<p>
+The content's Seek method must work: ServeContent uses
+a seek to the end of the content to determine its size.
+</p>
+<p>
+If the caller has set w's ETag header, ServeContent uses it to
+handle requests using If-Range and If-None-Match.
+</p>
+<p>
+Note that *os.File implements the io.ReadSeeker interface.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="ServeFile">func <a href="https://golang.org/src/net/http/fs.go?s=13941:13998#L443">ServeFile</a></h2>
+                       <pre>func ServeFile(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>, name <a href="https://golang.org/pkg/builtin/#string">string</a>)</pre>
+                       <p>
+ServeFile replies to the request with the contents of the named
+file or directory.
+</p>
+<p>
+As a special case, ServeFile redirects any request where r.URL.Path
+ends in "/index.html" to the same path, without the final
+"index.html". To avoid such redirects either modify the path or
+use ServeContent.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="SetCookie">func <a href="https://golang.org/src/net/http/cookie.go?s=3059:3107#L120">SetCookie</a></h2>
+                       <pre>func SetCookie(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, cookie *<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a>)</pre>
+                       <p>
+SetCookie adds a Set-Cookie header to the provided ResponseWriter's headers.
+The provided cookie must have a valid Name. Invalid cookies may be
+silently dropped.
+</p>
+
+                       
+                       
+
+               
+                       
+                       
+                       <h2 id="StatusText">func <a href="https://golang.org/src/net/http/status.go?s=4602:4634#L108">StatusText</a></h2>
+                       <pre>func StatusText(code <a href="https://golang.org/pkg/builtin/#int">int</a>) <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                       <p>
+StatusText returns a text for the HTTP status code. It returns the empty
+string if the code is unknown.
+</p>
+
+                       
+                       
+
+               
+               
+                       
+                       
+                       <h2 id="Client">type <a href="https://golang.org/src/net/http/client.go?s=897:2420#L26">Client</a></h2>
+                       <pre>type Client struct {
+        <span class="comment">// Transport specifies the mechanism by which individual</span>
+        <span class="comment">// HTTP requests are made.</span>
+        <span class="comment">// If nil, DefaultTransport is used.</span>
+        Transport <a href="https://golang.org/pkg/net/http/#RoundTripper">RoundTripper</a>
+
+        <span class="comment">// CheckRedirect specifies the policy for handling redirects.</span>
+        <span class="comment">// If CheckRedirect is not nil, the client calls it before</span>
+        <span class="comment">// following an HTTP redirect. The arguments req and via are</span>
+        <span class="comment">// the upcoming request and the requests made already, oldest</span>
+        <span class="comment">// first. If CheckRedirect returns an error, the Client's Get</span>
+        <span class="comment">// method returns both the previous Response and</span>
+        <span class="comment">// CheckRedirect's error (wrapped in a url.Error) instead of</span>
+        <span class="comment">// issuing the Request req.</span>
+        <span class="comment">//</span>
+        <span class="comment">// If CheckRedirect is nil, the Client uses its default policy,</span>
+        <span class="comment">// which is to stop after 10 consecutive requests.</span>
+        CheckRedirect func(req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>, via []*<a href="https://golang.org/pkg/net/http/#Request">Request</a>) <a href="https://golang.org/pkg/builtin/#error">error</a>
+
+        <span class="comment">// Jar specifies the cookie jar.</span>
+        <span class="comment">// If Jar is nil, cookies are not sent in requests and ignored</span>
+        <span class="comment">// in responses.</span>
+        Jar <a href="https://golang.org/pkg/net/http/#CookieJar">CookieJar</a>
+
+        <span class="comment">// Timeout specifies a time limit for requests made by this</span>
+        <span class="comment">// Client. The timeout includes connection time, any</span>
+        <span class="comment">// redirects, and reading the response body. The timer remains</span>
+        <span class="comment">// running after Get, Head, Post, or Do return and will</span>
+        <span class="comment">// interrupt reading of the Response.Body.</span>
+        <span class="comment">//</span>
+        <span class="comment">// A Timeout of zero means no timeout.</span>
+        <span class="comment">//</span>
+        <span class="comment">// The Client's Transport must support the CancelRequest</span>
+        <span class="comment">// method or Client will return errors when attempting to make</span>
+        <span class="comment">// a request with Get, Head, Post, or Do. Client's default</span>
+        <span class="comment">// Transport (DefaultTransport) supports CancelRequest.</span>
+        Timeout <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Duration">Duration</a>
+}</pre>
+                       <p>
+A Client is an HTTP client. Its zero value (DefaultClient) is a
+usable client that uses DefaultTransport.
+</p>
+<p>
+The Client's Transport typically has internal state (cached TCP
+connections), so Clients should be reused instead of created as
+needed. Clients are safe for concurrent use by multiple goroutines.
+</p>
+<p>
+A Client is higher-level than a RoundTripper (such as Transport)
+and additionally handles HTTP details such as cookies and
+redirects.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="Client.Do">func (*Client) <a href="https://golang.org/src/net/http/client.go?s=6009:6070#L163">Do</a></h3>
+                               <pre>func (c *<a href="https://golang.org/pkg/net/http/#Client">Client</a>) Do(req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Do sends an HTTP request and returns an HTTP response, following
+policy (e.g. redirects, cookies, auth) as configured on the client.
+</p>
+<p>
+An error is returned if caused by client policy (such as
+CheckRedirect), or if there was an HTTP protocol error.
+A non-2xx response doesn't cause an error.
+</p>
+<p>
+When err is nil, resp always contains a non-nil resp.Body.
+</p>
+<p>
+Callers should close resp.Body when done reading from it. If
+resp.Body is not closed, the Client's underlying RoundTripper
+(typically Transport) may not be able to re-use a persistent TCP
+connection to the server for a subsequent "keep-alive" request.
+</p>
+<p>
+The request Body, if non-nil, will be closed by the underlying
+Transport, even on errors.
+</p>
+<p>
+Generally Get, Post, or PostForm will be used instead of Do.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Client.Get">func (*Client) <a href="https://golang.org/src/net/http/client.go?s=9928:9988#L291">Get</a></h3>
+                               <pre>func (c *<a href="https://golang.org/pkg/net/http/#Client">Client</a>) Get(url <a href="https://golang.org/pkg/builtin/#string">string</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Get issues a GET to the specified URL. If the response is one of the
+following redirect codes, Get follows the redirect after calling the
+Client's CheckRedirect function:
+</p>
+<pre>301 (Moved Permanently)
+302 (Found)
+303 (See Other)
+307 (Temporary Redirect)
+</pre>
+<p>
+An error is returned if the Client's CheckRedirect function fails
+or if there was an HTTP protocol error. A non-2xx response doesn't
+cause an error.
+</p>
+<p>
+When err is nil, resp always contains a non-nil resp.Body.
+Caller should close resp.Body when done reading from it.
+</p>
+<p>
+To make a request with custom headers, use NewRequest and Client.Do.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Client.Head">func (*Client) <a href="https://golang.org/src/net/http/client.go?s=16276:16337#L512">Head</a></h3>
+                               <pre>func (c *<a href="https://golang.org/pkg/net/http/#Client">Client</a>) Head(url <a href="https://golang.org/pkg/builtin/#string">string</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Head issues a HEAD to the specified URL.  If the response is one of the
+following redirect codes, Head follows the redirect after calling the
+Client's CheckRedirect function:
+</p>
+<pre>301 (Moved Permanently)
+302 (Found)
+303 (See Other)
+307 (Temporary Redirect)
+</pre>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Client.Post">func (*Client) <a href="https://golang.org/src/net/http/client.go?s=14197:14291#L455">Post</a></h3>
+                               <pre>func (c *<a href="https://golang.org/pkg/net/http/#Client">Client</a>) Post(url <a href="https://golang.org/pkg/builtin/#string">string</a>, bodyType <a href="https://golang.org/pkg/builtin/#string">string</a>, body <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Reader">Reader</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Post issues a POST to the specified URL.
+</p>
+<p>
+Caller should close resp.Body when done reading from it.
+</p>
+<p>
+If the provided body is an io.Closer, it is closed after the
+request.
+</p>
+<p>
+To set custom headers, use NewRequest and Client.Do.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Client.PostForm">func (*Client) <a href="https://golang.org/src/net/http/client.go?s=15401:15483#L486">PostForm</a></h3>
+                               <pre>func (c *<a href="https://golang.org/pkg/net/http/#Client">Client</a>) PostForm(url <a href="https://golang.org/pkg/builtin/#string">string</a>, data <a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#Values">Values</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+PostForm issues a POST to the specified URL,
+with data's keys and values URL-encoded as the request body.
+</p>
+<p>
+The Content-Type header is set to application/x-www-form-urlencoded.
+To set other headers, use NewRequest and DefaultClient.Do.
+</p>
+<p>
+When err is nil, resp always contains a non-nil resp.Body.
+Caller should close resp.Body when done reading from it.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="CloseNotifier">type <a href="https://golang.org/src/net/http/server.go?s=3931:4099#L106">CloseNotifier</a></h2>
+                       <pre>type CloseNotifier interface {
+        <span class="comment">// CloseNotify returns a channel that receives a single value</span>
+        <span class="comment">// when the client connection has gone away.</span>
+        CloseNotify() &lt;-chan <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+}</pre>
+                       <p>
+The CloseNotifier interface is implemented by ResponseWriters which
+allow detecting when the underlying connection has gone away.
+</p>
+<p>
+This mechanism can be used to cancel long operations on the server
+if the client has disconnected before the response is ready.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="ConnState">type <a href="https://golang.org/src/net/http/server.go?s=53915:53933#L1793">ConnState</a></h2>
+                       <pre>type ConnState <a href="https://golang.org/pkg/builtin/#int">int</a></pre>
+                       <p>
+A ConnState represents the state of a client connection to a server.
+It's used by the optional Server.ConnState hook.
+</p>
+
+
+                       
+                               <pre>const (
+        <span class="comment">// StateNew represents a new connection that is expected to</span>
+        <span class="comment">// send a request immediately. Connections begin at this</span>
+        <span class="comment">// state and then transition to either StateActive or</span>
+        <span class="comment">// StateClosed.</span>
+        <span id="StateNew">StateNew</span> <a href="https://golang.org/pkg/net/http/#ConnState">ConnState</a> = <a href="https://golang.org/pkg/builtin/#iota">iota</a>
+
+        <span class="comment">// StateActive represents a connection that has read 1 or more</span>
+        <span class="comment">// bytes of a request. The Server.ConnState hook for</span>
+        <span class="comment">// StateActive fires before the request has entered a handler</span>
+        <span class="comment">// and doesn't fire again until the request has been</span>
+        <span class="comment">// handled. After the request is handled, the state</span>
+        <span class="comment">// transitions to StateClosed, StateHijacked, or StateIdle.</span>
+        <span id="StateActive">StateActive</span>
+
+        <span class="comment">// StateIdle represents a connection that has finished</span>
+        <span class="comment">// handling a request and is in the keep-alive state, waiting</span>
+        <span class="comment">// for a new request. Connections transition from StateIdle</span>
+        <span class="comment">// to either StateActive or StateClosed.</span>
+        <span id="StateIdle">StateIdle</span>
+
+        <span class="comment">// StateHijacked represents a hijacked connection.</span>
+        <span class="comment">// This is a terminal state. It does not transition to StateClosed.</span>
+        <span id="StateHijacked">StateHijacked</span>
+
+        <span class="comment">// StateClosed represents a closed connection.</span>
+        <span class="comment">// This is a terminal state. Hijacked connections do not</span>
+        <span class="comment">// transition to StateClosed.</span>
+        <span id="StateClosed">StateClosed</span>
+)</pre>
+                               
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="ConnState.String">func (ConnState) <a href="https://golang.org/src/net/http/server.go?s=55217:55251#L1834">String</a></h3>
+                               <pre>func (c <a href="https://golang.org/pkg/net/http/#ConnState">ConnState</a>) String() <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Cookie">type <a href="https://golang.org/src/net/http/cookie.go?s=439:952#L11">Cookie</a></h2>
+                       <pre>type Cookie struct {
+        Name  <a href="https://golang.org/pkg/builtin/#string">string</a>
+        Value <a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        Path       <a href="https://golang.org/pkg/builtin/#string">string</a>    <span class="comment">// optional</span>
+        Domain     <a href="https://golang.org/pkg/builtin/#string">string</a>    <span class="comment">// optional</span>
+        Expires    <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Time">Time</a> <span class="comment">// optional</span>
+        RawExpires <a href="https://golang.org/pkg/builtin/#string">string</a>    <span class="comment">// for reading cookies only</span>
+
+        <span class="comment">// MaxAge=0 means no 'Max-Age' attribute specified.</span>
+        <span class="comment">// MaxAge&lt;0 means delete cookie now, equivalently 'Max-Age: 0'</span>
+        <span class="comment">// MaxAge&gt;0 means Max-Age attribute present and given in seconds</span>
+        MaxAge   <a href="https://golang.org/pkg/builtin/#int">int</a>
+        Secure   <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+        HttpOnly <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+        Raw      <a href="https://golang.org/pkg/builtin/#string">string</a>
+        Unparsed []<a href="https://golang.org/pkg/builtin/#string">string</a> <span class="comment">// Raw text of unparsed attribute-value pairs</span>
+}</pre>
+                       <p>
+A Cookie represents an HTTP cookie as sent in the Set-Cookie header of an
+HTTP response or the Cookie header of an HTTP request.
+</p>
+<p>
+See <a href="http://tools.ietf.org/html/rfc6265">http://tools.ietf.org/html/rfc6265</a> for details.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="Cookie.String">func (*Cookie) <a href="https://golang.org/src/net/http/cookie.go?s=3428:3460#L130">String</a></h3>
+                               <pre>func (c *<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a>) String() <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               <p>
+String returns the serialization of the cookie for use in a Cookie
+header (if only Name and Value are set) or a Set-Cookie response
+header (if other fields are set).
+If c is nil or c.Name is invalid, the empty string is returned.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="CookieJar">type <a href="https://golang.org/src/net/http/jar.go?s=433:899#L7">CookieJar</a></h2>
+                       <pre>type CookieJar interface {
+        <span class="comment">// SetCookies handles the receipt of the cookies in a reply for the</span>
+        <span class="comment">// given URL.  It may or may not choose to save the cookies, depending</span>
+        <span class="comment">// on the jar's policy and implementation.</span>
+        SetCookies(u *<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>, cookies []*<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a>)
+
+        <span class="comment">// Cookies returns the cookies to send in a request for the given URL.</span>
+        <span class="comment">// It is up to the implementation to honor the standard cookie use</span>
+        <span class="comment">// restrictions such as in RFC 6265.</span>
+        Cookies(u *<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>) []*<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a>
+}</pre>
+                       <p>
+A CookieJar manages storage and use of cookies in HTTP requests.
+</p>
+<p>
+Implementations of CookieJar must be safe for concurrent use by multiple
+goroutines.
+</p>
+<p>
+The net/http/cookiejar package provides a CookieJar implementation.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="Dir">type <a href="https://golang.org/src/net/http/fs.go?s=719:734#L23">Dir</a></h2>
+                       <pre>type Dir <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                       <p>
+A Dir implements FileSystem using the native file system restricted to a
+specific directory tree.
+</p>
+<p>
+While the FileSystem.Open method takes '/'-separated paths, a Dir's string
+value is a filename on the native file system, not a URL, so it is separated
+by filepath.Separator, which isn't necessarily '/'.
+</p>
+<p>
+An empty Dir is treated as ".".
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="Dir.Open">func (Dir) <a href="https://golang.org/src/net/http/fs.go?s=736:780#L25">Open</a></h3>
+                               <pre>func (d <a href="https://golang.org/pkg/net/http/#Dir">Dir</a>) Open(name <a href="https://golang.org/pkg/builtin/#string">string</a>) (<a href="https://golang.org/pkg/net/http/#File">File</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="File">type <a href="https://golang.org/src/net/http/fs.go?s=1591:1755#L52">File</a></h2>
+                       <pre>type File interface {
+        <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Closer">Closer</a>
+        <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Reader">Reader</a>
+        Readdir(count <a href="https://golang.org/pkg/builtin/#int">int</a>) ([]<a href="https://golang.org/pkg/os/">os</a>.<a href="https://golang.org/pkg/os/#FileInfo">FileInfo</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+        Seek(offset <a href="https://golang.org/pkg/builtin/#int64">int64</a>, whence <a href="https://golang.org/pkg/builtin/#int">int</a>) (<a href="https://golang.org/pkg/builtin/#int64">int64</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+        Stat() (<a href="https://golang.org/pkg/os/">os</a>.<a href="https://golang.org/pkg/os/#FileInfo">FileInfo</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+}</pre>
+                       <p>
+A File is returned by a FileSystem's Open method and can be
+served by the FileServer implementation.
+</p>
+<p>
+The methods should behave the same as those on an *os.File.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="FileSystem">type <a href="https://golang.org/src/net/http/fs.go?s=1354:1416#L44">FileSystem</a></h2>
+                       <pre>type FileSystem interface {
+        Open(name <a href="https://golang.org/pkg/builtin/#string">string</a>) (<a href="https://golang.org/pkg/net/http/#File">File</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+}</pre>
+                       <p>
+A FileSystem implements access to a collection of named files.
+The elements in a file path are separated by slash ('/', U+002F)
+characters, regardless of host operating system convention.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="Flusher">type <a href="https://golang.org/src/net/http/server.go?s=2921:3005#L79">Flusher</a></h2>
+                       <pre>type Flusher interface {
+        <span class="comment">// Flush sends any buffered data to the client.</span>
+        Flush()
+}</pre>
+                       <p>
+The Flusher interface is implemented by ResponseWriters that allow
+an HTTP handler to flush buffered data to the client.
+</p>
+<p>
+Note that even for ResponseWriters that support Flush,
+if the client is connected through an HTTP proxy,
+the buffered data may not reach the client until the response
+completes.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="Handler">type <a href="https://golang.org/src/net/http/server.go?s=1361:1424#L42">Handler</a></h2>
+                       <pre>type Handler interface {
+        ServeHTTP(<a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, *<a href="https://golang.org/pkg/net/http/#Request">Request</a>)
+}</pre>
+                       <p>
+Objects implementing the Handler interface can be
+registered to serve a particular path or subtree
+in the HTTP server.
+</p>
+<p>
+ServeHTTP should write reply headers and data to the ResponseWriter
+and then return.  Returning signals that the request is finished
+and that the HTTP server can move on to the next request on
+the connection.
+</p>
+<p>
+If ServeHTTP panics, the server (the caller of ServeHTTP) assumes
+that the effect of the panic was isolated to the active request.
+It recovers the panic, logs a stack trace to the server error log,
+and hangs up the connection.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+                               
+                               <h3 id="FileServer">func <a href="https://golang.org/src/net/http/fs.go?s=14534:14574#L463">FileServer</a></h3>
+                               <pre>func FileServer(root <a href="https://golang.org/pkg/net/http/#FileSystem">FileSystem</a>) <a href="https://golang.org/pkg/net/http/#Handler">Handler</a></pre>
+                               <p>
+FileServer returns a handler that serves HTTP requests
+with the contents of the file system rooted at root.
+</p>
+<p>
+To use the operating system's file system implementation,
+use http.Dir:
+</p>
+<pre>http.Handle("/", http.FileServer(http.Dir("/tmp")))
+</pre>
+<p>
+As a special case, the returned file server redirects any request
+ending in "/index.html" to the same path, without the final
+"index.html".
+</p>
+
+                               <div id="example_FileServer" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example</span></p>
+               
+               
+               
+                       <div class="play">
+                               <div class="input"><textarea class="code">package main
+
+import (
+       "log"
+       "net/http"
+)
+
+func main() {
+       // Simple static webserver:
+       log.Fatal(http.ListenAndServe(":8080", http.FileServer(http.Dir("/usr/share/doc"))))
+}
+</textarea></div>
+                               <div class="output"><pre></pre></div>
+                               <div class="buttons">
+                                       <a class="run" title="Run this code [shift-enter]">Run</a>
+                                       <a class="fmt" title="Format this code">Format</a>
+                                       
+                               </div>
+                       </div>
+               
+       </div>
+</div>
+<div id="example_FileServer_stripPrefix" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example (StripPrefix)</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example (StripPrefix)</span></p>
+               
+               
+               
+                       <div class="play">
+                               <div class="input"><textarea class="code">package main
+
+import (
+       "net/http"
+)
+
+func main() {
+       // To serve a directory on disk (/tmp) under an alternate URL
+       // path (/tmpfiles/), use StripPrefix to modify the request
+       // URL's path before the FileServer sees it:
+       http.Handle("/tmpfiles/", http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))
+}
+</textarea></div>
+                               <div class="output"><pre></pre></div>
+                               <div class="buttons">
+                                       <a class="run" title="Run this code [shift-enter]">Run</a>
+                                       <a class="fmt" title="Format this code">Format</a>
+                                       
+                               </div>
+                       </div>
+               
+       </div>
+</div>
+
+                               
+                       
+                               
+                               <h3 id="NotFoundHandler">func <a href="https://golang.org/src/net/http/server.go?s=42065:42095#L1431">NotFoundHandler</a></h3>
+                               <pre>func NotFoundHandler() <a href="https://golang.org/pkg/net/http/#Handler">Handler</a></pre>
+                               <p>
+NotFoundHandler returns a simple request handler
+that replies to each request with a “404 page not found” reply.
+</p>
+
+                               
+                               
+                       
+                               
+                               <h3 id="RedirectHandler">func <a href="https://golang.org/src/net/http/server.go?s=45249:45299#L1538">RedirectHandler</a></h3>
+                               <pre>func RedirectHandler(url <a href="https://golang.org/pkg/builtin/#string">string</a>, code <a href="https://golang.org/pkg/builtin/#int">int</a>) <a href="https://golang.org/pkg/net/http/#Handler">Handler</a></pre>
+                               <p>
+RedirectHandler returns a request handler that redirects
+each request it receives to the given url using the given
+status code.
+</p>
+
+                               
+                               
+                       
+                               
+                               <h3 id="StripPrefix">func <a href="https://golang.org/src/net/http/server.go?s=42404:42454#L1438">StripPrefix</a></h3>
+                               <pre>func StripPrefix(prefix <a href="https://golang.org/pkg/builtin/#string">string</a>, h <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>) <a href="https://golang.org/pkg/net/http/#Handler">Handler</a></pre>
+                               <p>
+StripPrefix returns a handler that serves HTTP requests
+by removing the given prefix from the request URL's Path
+and invoking the handler h. StripPrefix handles a
+request for a path that doesn't begin with prefix by
+replying with an HTTP 404 not found error.
+</p>
+
+                               <div id="example_StripPrefix" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example</span></p>
+               
+               
+               
+                       <div class="play">
+                               <div class="input"><textarea class="code">package main
+
+import (
+       "net/http"
+)
+
+func main() {
+       // To serve a directory on disk (/tmp) under an alternate URL
+       // path (/tmpfiles/), use StripPrefix to modify the request
+       // URL's path before the FileServer sees it:
+       http.Handle("/tmpfiles/", http.StripPrefix("/tmpfiles/", http.FileServer(http.Dir("/tmp"))))
+}
+</textarea></div>
+                               <div class="output"><pre></pre></div>
+                               <div class="buttons">
+                                       <a class="run" title="Run this code [shift-enter]">Run</a>
+                                       <a class="fmt" title="Format this code">Format</a>
+                                       
+                               </div>
+                       </div>
+               
+       </div>
+</div>
+
+                               
+                       
+                               
+                               <h3 id="TimeoutHandler">func <a href="https://golang.org/src/net/http/server.go?s=61275:61343#L2039">TimeoutHandler</a></h3>
+                               <pre>func TimeoutHandler(h <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>, dt <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Duration">Duration</a>, msg <a href="https://golang.org/pkg/builtin/#string">string</a>) <a href="https://golang.org/pkg/net/http/#Handler">Handler</a></pre>
+                               <p>
+TimeoutHandler returns a Handler that runs h with the given time limit.
+</p>
+<p>
+The new Handler calls h.ServeHTTP to handle each request, but if a
+call runs for longer than its time limit, the handler responds with
+a 503 Service Unavailable error and the given message in its body.
+(If msg is empty, a suitable default message will be sent.)
+After such a timeout, writes by h to its ResponseWriter will return
+ErrHandlerTimeout.
+</p>
+
+                               
+                               
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="HandlerFunc">type <a href="https://golang.org/src/net/http/server.go?s=41267:41314#L1408">HandlerFunc</a></h2>
+                       <pre>type HandlerFunc func(<a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, *<a href="https://golang.org/pkg/net/http/#Request">Request</a>)</pre>
+                       <p>
+The HandlerFunc type is an adapter to allow the use of
+ordinary functions as HTTP handlers.  If f is a function
+with the appropriate signature, HandlerFunc(f) is a
+Handler object that calls f.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="HandlerFunc.ServeHTTP">func (HandlerFunc) <a href="https://golang.org/src/net/http/server.go?s=41344:41404#L1411">ServeHTTP</a></h3>
+                               <pre>func (f <a href="https://golang.org/pkg/net/http/#HandlerFunc">HandlerFunc</a>) ServeHTTP(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>)</pre>
+                               <p>
+ServeHTTP calls f(w, r).
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Header">type <a href="https://golang.org/src/net/http/header.go?s=350:381#L9">Header</a></h2>
+                       <pre>type Header map[<a href="https://golang.org/pkg/builtin/#string">string</a>][]<a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                       <p>
+A Header represents the key-value pairs in an HTTP header.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="Header.Add">func (Header) <a href="https://golang.org/src/net/http/header.go?s=488:526#L13">Add</a></h3>
+                               <pre>func (h <a href="https://golang.org/pkg/net/http/#Header">Header</a>) Add(key, value <a href="https://golang.org/pkg/builtin/#string">string</a>)</pre>
+                               <p>
+Add adds the key, value pair to the header.
+It appends to any existing values associated with key.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Header.Del">func (Header) <a href="https://golang.org/src/net/http/header.go?s=1321:1352#L41">Del</a></h3>
+                               <pre>func (h <a href="https://golang.org/pkg/net/http/#Header">Header</a>) Del(key <a href="https://golang.org/pkg/builtin/#string">string</a>)</pre>
+                               <p>
+Del deletes the values associated with key.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Header.Get">func (Header) <a href="https://golang.org/src/net/http/header.go?s=1015:1053#L28">Get</a></h3>
+                               <pre>func (h <a href="https://golang.org/pkg/net/http/#Header">Header</a>) Get(key <a href="https://golang.org/pkg/builtin/#string">string</a>) <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               <p>
+Get gets the first value associated with the given key.
+If there are no values associated with the key, Get returns "".
+To access multiple values of a key, access the map directly
+with CanonicalHeaderKey.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Header.Set">func (Header) <a href="https://golang.org/src/net/http/header.go?s=713:751#L20">Set</a></h3>
+                               <pre>func (h <a href="https://golang.org/pkg/net/http/#Header">Header</a>) Set(key, value <a href="https://golang.org/pkg/builtin/#string">string</a>)</pre>
+                               <p>
+Set sets the header entries associated with key to
+the single element value.  It replaces any existing
+values associated with key.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Header.Write">func (Header) <a href="https://golang.org/src/net/http/header.go?s=1433:1473#L46">Write</a></h3>
+                               <pre>func (h <a href="https://golang.org/pkg/net/http/#Header">Header</a>) Write(w <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Writer">Writer</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+Write writes a header in wire format.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Header.WriteSubset">func (Header) <a href="https://golang.org/src/net/http/header.go?s=3676:3747#L135">WriteSubset</a></h3>
+                               <pre>func (h <a href="https://golang.org/pkg/net/http/#Header">Header</a>) WriteSubset(w <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Writer">Writer</a>, exclude map[<a href="https://golang.org/pkg/builtin/#string">string</a>]<a href="https://golang.org/pkg/builtin/#bool">bool</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+WriteSubset writes a header in wire format.
+If exclude is not nil, keys where exclude[key] == true are not written.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Hijacker">type <a href="https://golang.org/src/net/http/server.go?s=3126:3656#L86">Hijacker</a></h2>
+                       <pre>type Hijacker interface {
+        <span class="comment">// Hijack lets the caller take over the connection.</span>
+        <span class="comment">// After a call to Hijack(), the HTTP server library</span>
+        <span class="comment">// will not do anything else with the connection.</span>
+        <span class="comment">//</span>
+        <span class="comment">// It becomes the caller's responsibility to manage</span>
+        <span class="comment">// and close the connection.</span>
+        <span class="comment">//</span>
+        <span class="comment">// The returned net.Conn may have read or write deadlines</span>
+        <span class="comment">// already set, depending on the configuration of the</span>
+        <span class="comment">// Server. It is the caller's responsibility to set</span>
+        <span class="comment">// or clear those deadlines as needed.</span>
+        Hijack() (<a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Conn">Conn</a>, *<a href="https://golang.org/pkg/bufio/">bufio</a>.<a href="https://golang.org/pkg/bufio/#ReadWriter">ReadWriter</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+}</pre>
+                       <p>
+The Hijacker interface is implemented by ResponseWriters that allow
+an HTTP handler to take over the connection.
+</p>
+
+
+                       
+
+                       
+
+                       <div id="example_Hijacker" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example</span></p>
+               
+               
+               
+                       <div class="play">
+                               <div class="input"><textarea class="code">package main
+
+import (
+       "fmt"
+       "log"
+       "net/http"
+)
+
+func main() {
+       http.HandleFunc("/hijack", func(w http.ResponseWriter, r *http.Request) {
+               hj, ok := w.(http.Hijacker)
+               if !ok {
+                       http.Error(w, "webserver doesn't support hijacking", http.StatusInternalServerError)
+                       return
+               }
+               conn, bufrw, err := hj.Hijack()
+               if err != nil {
+                       http.Error(w, err.Error(), http.StatusInternalServerError)
+                       return
+               }
+               // Don't forget to close the connection:
+               defer conn.Close()
+               bufrw.WriteString("Now we're speaking raw TCP. Say hi: ")
+               bufrw.Flush()
+               s, err := bufrw.ReadString('\n')
+               if err != nil {
+                       log.Printf("error reading string: %v", err)
+                       return
+               }
+               fmt.Fprintf(bufrw, "You said: %q\nBye.\n", s)
+               bufrw.Flush()
+       })
+}
+</textarea></div>
+                               <div class="output"><pre></pre></div>
+                               <div class="buttons">
+                                       <a class="run" title="Run this code [shift-enter]">Run</a>
+                                       <a class="fmt" title="Format this code">Format</a>
+                                       
+                               </div>
+                       </div>
+               
+       </div>
+</div>
+
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="ProtocolError">type <a href="https://golang.org/src/net/http/request.go?s=668:717#L26">ProtocolError</a></h2>
+                       <pre>type ProtocolError struct {
+        ErrorString <a href="https://golang.org/pkg/builtin/#string">string</a>
+}</pre>
+                       <p>
+HTTP request parsing errors.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="ProtocolError.Error">func (*ProtocolError) <a href="https://golang.org/src/net/http/request.go?s=719:759#L30">Error</a></h3>
+                               <pre>func (err *<a href="https://golang.org/pkg/net/http/#ProtocolError">ProtocolError</a>) Error() <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Request">type <a href="https://golang.org/src/net/http/request.go?s=2057:8270#L64">Request</a></h2>
+                       <pre>type Request struct {
+        <span class="comment">// Method specifies the HTTP method (GET, POST, PUT, etc.).</span>
+        <span class="comment">// For client requests an empty string means GET.</span>
+        Method <a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        <span class="comment">// URL specifies either the URI being requested (for server</span>
+        <span class="comment">// requests) or the URL to access (for client requests).</span>
+        <span class="comment">//</span>
+        <span class="comment">// For server requests the URL is parsed from the URI</span>
+        <span class="comment">// supplied on the Request-Line as stored in RequestURI.  For</span>
+        <span class="comment">// most requests, fields other than Path and RawQuery will be</span>
+        <span class="comment">// empty. (See RFC 2616, Section 5.1.2)</span>
+        <span class="comment">//</span>
+        <span class="comment">// For client requests, the URL's Host specifies the server to</span>
+        <span class="comment">// connect to, while the Request's Host field optionally</span>
+        <span class="comment">// specifies the Host header value to send in the HTTP</span>
+        <span class="comment">// request.</span>
+        URL *<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>
+
+        <span class="comment">// The protocol version for incoming requests.</span>
+        <span class="comment">// Client requests always use HTTP/1.1.</span>
+        Proto      <a href="https://golang.org/pkg/builtin/#string">string</a> <span class="comment">// "HTTP/1.0"</span>
+        ProtoMajor <a href="https://golang.org/pkg/builtin/#int">int</a>    <span class="comment">// 1</span>
+        ProtoMinor <a href="https://golang.org/pkg/builtin/#int">int</a>    <span class="comment">// 0</span>
+
+        <span class="comment">// A header maps request lines to their values.</span>
+        <span class="comment">// If the header says</span>
+        <span class="comment">//</span>
+        <span class="comment">//       accept-encoding: gzip, deflate</span>
+        <span class="comment">//       Accept-Language: en-us</span>
+        <span class="comment">//       Connection: keep-alive</span>
+        <span class="comment">//</span>
+        <span class="comment">// then</span>
+        <span class="comment">//</span>
+        <span class="comment">//       Header = map[string][]string{</span>
+        <span class="comment">//               "Accept-Encoding": {"gzip, deflate"},</span>
+        <span class="comment">//               "Accept-Language": {"en-us"},</span>
+        <span class="comment">//               "Connection": {"keep-alive"},</span>
+        <span class="comment">//       }</span>
+        <span class="comment">//</span>
+        <span class="comment">// HTTP defines that header names are case-insensitive.</span>
+        <span class="comment">// The request parser implements this by canonicalizing the</span>
+        <span class="comment">// name, making the first character and any characters</span>
+        <span class="comment">// following a hyphen uppercase and the rest lowercase.</span>
+        <span class="comment">//</span>
+        <span class="comment">// For client requests certain headers are automatically</span>
+        <span class="comment">// added and may override values in Header.</span>
+        <span class="comment">//</span>
+        <span class="comment">// See the documentation for the Request.Write method.</span>
+        Header <a href="https://golang.org/pkg/net/http/#Header">Header</a>
+
+        <span class="comment">// Body is the request's body.</span>
+        <span class="comment">//</span>
+        <span class="comment">// For client requests a nil body means the request has no</span>
+        <span class="comment">// body, such as a GET request. The HTTP Client's Transport</span>
+        <span class="comment">// is responsible for calling the Close method.</span>
+        <span class="comment">//</span>
+        <span class="comment">// For server requests the Request Body is always non-nil</span>
+        <span class="comment">// but will return EOF immediately when no body is present.</span>
+        <span class="comment">// The Server will close the request body. The ServeHTTP</span>
+        <span class="comment">// Handler does not need to.</span>
+        Body <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#ReadCloser">ReadCloser</a>
+
+        <span class="comment">// ContentLength records the length of the associated content.</span>
+        <span class="comment">// The value -1 indicates that the length is unknown.</span>
+        <span class="comment">// Values &gt;= 0 indicate that the given number of bytes may</span>
+        <span class="comment">// be read from Body.</span>
+        <span class="comment">// For client requests, a value of 0 means unknown if Body is not nil.</span>
+        ContentLength <a href="https://golang.org/pkg/builtin/#int64">int64</a>
+
+        <span class="comment">// TransferEncoding lists the transfer encodings from outermost to</span>
+        <span class="comment">// innermost. An empty list denotes the "identity" encoding.</span>
+        <span class="comment">// TransferEncoding can usually be ignored; chunked encoding is</span>
+        <span class="comment">// automatically added and removed as necessary when sending and</span>
+        <span class="comment">// receiving requests.</span>
+        TransferEncoding []<a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        <span class="comment">// Close indicates whether to close the connection after</span>
+        <span class="comment">// replying to this request (for servers) or after sending</span>
+        <span class="comment">// the request (for clients).</span>
+        Close <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+
+        <span class="comment">// For server requests Host specifies the host on which the</span>
+        <span class="comment">// URL is sought. Per RFC 2616, this is either the value of</span>
+        <span class="comment">// the "Host" header or the host name given in the URL itself.</span>
+        <span class="comment">// It may be of the form "host:port".</span>
+        <span class="comment">//</span>
+        <span class="comment">// For client requests Host optionally overrides the Host</span>
+        <span class="comment">// header to send. If empty, the Request.Write method uses</span>
+        <span class="comment">// the value of URL.Host.</span>
+        Host <a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        <span class="comment">// Form contains the parsed form data, including both the URL</span>
+        <span class="comment">// field's query parameters and the POST or PUT form data.</span>
+        <span class="comment">// This field is only available after ParseForm is called.</span>
+        <span class="comment">// The HTTP client ignores Form and uses Body instead.</span>
+        Form <a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#Values">Values</a>
+
+        <span class="comment">// PostForm contains the parsed form data from POST, PATCH,</span>
+        <span class="comment">// or PUT body parameters.</span>
+        <span class="comment">//</span>
+        <span class="comment">// This field is only available after ParseForm is called.</span>
+        <span class="comment">// The HTTP client ignores PostForm and uses Body instead.</span>
+        PostForm <a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#Values">Values</a>
+
+        <span class="comment">// MultipartForm is the parsed multipart form, including file uploads.</span>
+        <span class="comment">// This field is only available after ParseMultipartForm is called.</span>
+        <span class="comment">// The HTTP client ignores MultipartForm and uses Body instead.</span>
+        MultipartForm *<a href="https://golang.org/pkg/mime/multipart/">multipart</a>.<a href="https://golang.org/pkg/mime/multipart/#Form">Form</a>
+
+        <span class="comment">// Trailer specifies additional headers that are sent after the request</span>
+        <span class="comment">// body.</span>
+        <span class="comment">//</span>
+        <span class="comment">// For server requests the Trailer map initially contains only the</span>
+        <span class="comment">// trailer keys, with nil values. (The client declares which trailers it</span>
+        <span class="comment">// will later send.)  While the handler is reading from Body, it must</span>
+        <span class="comment">// not reference Trailer. After reading from Body returns EOF, Trailer</span>
+        <span class="comment">// can be read again and will contain non-nil values, if they were sent</span>
+        <span class="comment">// by the client.</span>
+        <span class="comment">//</span>
+        <span class="comment">// For client requests Trailer must be initialized to a map containing</span>
+        <span class="comment">// the trailer keys to later send. The values may be nil or their final</span>
+        <span class="comment">// values. The ContentLength must be 0 or -1, to send a chunked request.</span>
+        <span class="comment">// After the HTTP request is sent the map values can be updated while</span>
+        <span class="comment">// the request body is read. Once the body returns EOF, the caller must</span>
+        <span class="comment">// not mutate Trailer.</span>
+        <span class="comment">//</span>
+        <span class="comment">// Few HTTP clients, servers, or proxies support HTTP trailers.</span>
+        Trailer <a href="https://golang.org/pkg/net/http/#Header">Header</a>
+
+        <span class="comment">// RemoteAddr allows HTTP servers and other software to record</span>
+        <span class="comment">// the network address that sent the request, usually for</span>
+        <span class="comment">// logging. This field is not filled in by ReadRequest and</span>
+        <span class="comment">// has no defined format. The HTTP server in this package</span>
+        <span class="comment">// sets RemoteAddr to an "IP:port" address before invoking a</span>
+        <span class="comment">// handler.</span>
+        <span class="comment">// This field is ignored by the HTTP client.</span>
+        RemoteAddr <a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        <span class="comment">// RequestURI is the unmodified Request-URI of the</span>
+        <span class="comment">// Request-Line (RFC 2616, Section 5.1) as sent by the client</span>
+        <span class="comment">// to a server. Usually the URL field should be used instead.</span>
+        <span class="comment">// It is an error to set this field in an HTTP client request.</span>
+        RequestURI <a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        <span class="comment">// TLS allows HTTP servers and other software to record</span>
+        <span class="comment">// information about the TLS connection on which the request</span>
+        <span class="comment">// was received. This field is not filled in by ReadRequest.</span>
+        <span class="comment">// The HTTP server in this package sets the field for</span>
+        <span class="comment">// TLS-enabled connections before invoking a handler;</span>
+        <span class="comment">// otherwise it leaves the field nil.</span>
+        <span class="comment">// This field is ignored by the HTTP client.</span>
+        TLS *<a href="https://golang.org/pkg/crypto/tls/">tls</a>.<a href="https://golang.org/pkg/crypto/tls/#ConnectionState">ConnectionState</a>
+
+        <span class="comment">// Cancel is an optional channel whose closure indicates that the client</span>
+        <span class="comment">// request should be regarded as canceled. Not all implementations of</span>
+        <span class="comment">// RoundTripper may support Cancel.</span>
+        <span class="comment">//</span>
+        <span class="comment">// For server requests, this field is not applicable.</span>
+        Cancel &lt;-chan struct{}
+}</pre>
+                       <p>
+A Request represents an HTTP request received by a server
+or to be sent by a client.
+</p>
+<p>
+The field semantics differ slightly between client and server
+usage. In addition to the notes on the fields below, see the
+documentation for Request.Write and RoundTripper.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+                               
+                               <h3 id="NewRequest">func <a href="https://golang.org/src/net/http/request.go?s=17718:17790#L536">NewRequest</a></h3>
+                               <pre>func NewRequest(method, urlStr <a href="https://golang.org/pkg/builtin/#string">string</a>, body <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Reader">Reader</a>) (*<a href="https://golang.org/pkg/net/http/#Request">Request</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+NewRequest returns a new Request given a method, URL, and optional body.
+</p>
+<p>
+If the provided body is also an io.Closer, the returned
+Request.Body is set to body and will be closed by the Client
+methods Do, Post, and PostForm, and Transport.RoundTrip.
+</p>
+<p>
+NewRequest returns a Request suitable for use with Client.Do or
+Transport.RoundTrip.
+To create a request for use with testing a Server Handler use either
+ReadRequest or manually update the Request fields. See the Request
+type's documentation for the difference between inbound and outbound
+request fields.
+</p>
+
+                               
+                               
+                       
+                               
+                               <h3 id="ReadRequest">func <a href="https://golang.org/src/net/http/request.go?s=20301:20360#L636">ReadRequest</a></h3>
+                               <pre>func ReadRequest(b *<a href="https://golang.org/pkg/bufio/">bufio</a>.<a href="https://golang.org/pkg/bufio/#Reader">Reader</a>) (req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+ReadRequest reads and parses an incoming request from b.
+</p>
+
+                               
+                               
+                       
+
+                       
+                               
+                               <h3 id="Request.AddCookie">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=9423:9461#L259">AddCookie</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) AddCookie(c *<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a>)</pre>
+                               <p>
+AddCookie adds a cookie to the request.  Per RFC 6265 section 5.4,
+AddCookie does not attach more than one Cookie header field.  That
+means all cookies, if any, are written into the same line,
+separated by semicolon.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.BasicAuth">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=18567:18633#L572">BasicAuth</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) BasicAuth() (username, password <a href="https://golang.org/pkg/builtin/#string">string</a>, ok <a href="https://golang.org/pkg/builtin/#bool">bool</a>)</pre>
+                               <p>
+BasicAuth returns the username and password provided in the request's
+Authorization header, if the request uses HTTP Basic Authentication.
+See RFC 2617, Section 2.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.Cookie">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=9041:9095#L248">Cookie</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) Cookie(name <a href="https://golang.org/pkg/builtin/#string">string</a>) (*<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Cookie returns the named cookie provided in the request or
+ErrNoCookie if not found.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.Cookies">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=8727:8764#L239">Cookies</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) Cookies() []*<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a></pre>
+                               <p>
+Cookies parses and returns the HTTP cookies sent with the request.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.FormFile">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=29076:29161#L960">FormFile</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) FormFile(key <a href="https://golang.org/pkg/builtin/#string">string</a>) (<a href="https://golang.org/pkg/mime/multipart/">multipart</a>.<a href="https://golang.org/pkg/mime/multipart/#File">File</a>, *<a href="https://golang.org/pkg/mime/multipart/">multipart</a>.<a href="https://golang.org/pkg/mime/multipart/#FileHeader">FileHeader</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+FormFile returns the first file for the provided form key.
+FormFile calls ParseMultipartForm and ParseForm if necessary.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.FormValue">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=28248:28294#L933">FormValue</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) FormValue(key <a href="https://golang.org/pkg/builtin/#string">string</a>) <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               <p>
+FormValue returns the first value for the named component of the query.
+POST and PUT body parameters take precedence over URL query string values.
+FormValue calls ParseMultipartForm and ParseForm if necessary and ignores
+any errors returned by these functions.
+If key is not present, FormValue returns the empty string.
+To access multiple values of the same key, call ParseForm and
+then inspect Request.Form directly.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.MultipartReader">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=10760:10822#L292">MultipartReader</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) MultipartReader() (*<a href="https://golang.org/pkg/mime/multipart/">multipart</a>.<a href="https://golang.org/pkg/mime/multipart/#Reader">Reader</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+MultipartReader returns a MIME multipart reader if this is a
+multipart/form-data POST request, else returns nil and an error.
+Use this function instead of ParseMultipartForm to
+process the request body as a stream.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.ParseForm">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=26212:26247#L854">ParseForm</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) ParseForm() <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+ParseForm parses the raw query from the URL and updates r.Form.
+</p>
+<p>
+For POST or PUT requests, it also parses the request body as a form and
+put the results into both r.PostForm and r.Form.
+POST and PUT body parameters take precedence over URL query string values
+in r.Form.
+</p>
+<p>
+If the request Body's size has not already been limited by MaxBytesReader,
+the size is capped at 10MB.
+</p>
+<p>
+ParseMultipartForm calls ParseForm automatically.
+It is idempotent.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.ParseMultipartForm">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=27267:27326#L895">ParseMultipartForm</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) ParseMultipartForm(maxMemory <a href="https://golang.org/pkg/builtin/#int64">int64</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+ParseMultipartForm parses a request body as multipart/form-data.
+The whole request body is parsed and up to a total of maxMemory bytes of
+its file parts are stored in memory, with the remainder stored on
+disk in temporary files.
+ParseMultipartForm calls ParseForm if necessary.
+After one call to ParseMultipartForm, subsequent calls have no effect.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.PostFormValue">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=28755:28805#L948">PostFormValue</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) PostFormValue(key <a href="https://golang.org/pkg/builtin/#string">string</a>) <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               <p>
+PostFormValue returns the first value for the named component of the POST
+or PUT request body. URL query parameters are ignored.
+PostFormValue calls ParseMultipartForm and ParseForm if necessary and ignores
+any errors returned by these functions.
+If key is not present, PostFormValue returns the empty string.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.ProtoAtLeast">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=8370:8423#L228">ProtoAtLeast</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) ProtoAtLeast(major, minor <a href="https://golang.org/pkg/builtin/#int">int</a>) <a href="https://golang.org/pkg/builtin/#bool">bool</a></pre>
+                               <p>
+ProtoAtLeast reports whether the HTTP protocol used
+in the request is at least major.minor.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.Referer">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=10131:10165#L276">Referer</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) Referer() <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               <p>
+Referer returns the referring URL, if sent in the request.
+</p>
+<p>
+Referer is misspelled as in the request itself, a mistake from the
+earliest days of HTTP.  This value can also be fetched from the
+Header map as Header["Referer"]; the benefit of making it available
+as a method is that the compiler can diagnose programs that use the
+alternate (correct English) spelling req.Referrer() but cannot
+diagnose programs that use Header["Referrer"].
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.SetBasicAuth">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=19455:19512#L604">SetBasicAuth</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) SetBasicAuth(username, password <a href="https://golang.org/pkg/builtin/#string">string</a>)</pre>
+                               <p>
+SetBasicAuth sets the request's Authorization header to use HTTP
+Basic Authentication with the provided username and password.
+</p>
+<p>
+With HTTP Basic Authentication the provided username and password
+are not encrypted.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.UserAgent">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=8580:8616#L234">UserAgent</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) UserAgent() <a href="https://golang.org/pkg/builtin/#string">string</a></pre>
+                               <p>
+UserAgent returns the client's User-Agent, if sent in the request.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.Write">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=12411:12453#L346">Write</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) Write(w <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Writer">Writer</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+Write writes an HTTP/1.1 request, which is the header and body, in wire format.
+This method consults the following fields of the request:
+</p>
+<pre>Host
+URL
+Method (defaults to "GET")
+Header
+ContentLength
+TransferEncoding
+Body
+</pre>
+<p>
+If Body is present, Content-Length is &lt;= 0 and TransferEncoding
+hasn't been set to "identity", Write adds "Transfer-Encoding:
+chunked" to the header. Body is closed after it is sent.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Request.WriteProxy">func (*Request) <a href="https://golang.org/src/net/http/request.go?s=12846:12893#L356">WriteProxy</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) WriteProxy(w <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Writer">Writer</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+WriteProxy is like Write but writes the request in the form
+expected by an HTTP proxy.  In particular, WriteProxy writes the
+initial Request-URI line of the request with an absolute URI, per
+section 5.1.2 of RFC 2616, including the scheme and host.
+In either case, WriteProxy also writes a Host header, using
+either r.Host or r.URL.Host.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Response">type <a href="https://golang.org/src/net/http/response.go?s=512:2849#L19">Response</a></h2>
+                       <pre>type Response struct {
+        Status     <a href="https://golang.org/pkg/builtin/#string">string</a> <span class="comment">// e.g. "200 OK"</span>
+        StatusCode <a href="https://golang.org/pkg/builtin/#int">int</a>    <span class="comment">// e.g. 200</span>
+        Proto      <a href="https://golang.org/pkg/builtin/#string">string</a> <span class="comment">// e.g. "HTTP/1.0"</span>
+        ProtoMajor <a href="https://golang.org/pkg/builtin/#int">int</a>    <span class="comment">// e.g. 1</span>
+        ProtoMinor <a href="https://golang.org/pkg/builtin/#int">int</a>    <span class="comment">// e.g. 0</span>
+
+        <span class="comment">// Header maps header keys to values.  If the response had multiple</span>
+        <span class="comment">// headers with the same key, they may be concatenated, with comma</span>
+        <span class="comment">// delimiters.  (Section 4.2 of RFC 2616 requires that multiple headers</span>
+        <span class="comment">// be semantically equivalent to a comma-delimited sequence.) Values</span>
+        <span class="comment">// duplicated by other fields in this struct (e.g., ContentLength) are</span>
+        <span class="comment">// omitted from Header.</span>
+        <span class="comment">//</span>
+        <span class="comment">// Keys in the map are canonicalized (see CanonicalHeaderKey).</span>
+        Header <a href="https://golang.org/pkg/net/http/#Header">Header</a>
+
+        <span class="comment">// Body represents the response body.</span>
+        <span class="comment">//</span>
+        <span class="comment">// The http Client and Transport guarantee that Body is always</span>
+        <span class="comment">// non-nil, even on responses without a body or responses with</span>
+        <span class="comment">// a zero-length body. It is the caller's responsibility to</span>
+        <span class="comment">// close Body. The default HTTP client's Transport does not</span>
+        <span class="comment">// attempt to reuse HTTP/1.0 or HTTP/1.1 TCP connections</span>
+        <span class="comment">// ("keep-alive") unless the Body is read to completion and is</span>
+        <span class="comment">// closed.</span>
+        <span class="comment">//</span>
+        <span class="comment">// The Body is automatically dechunked if the server replied</span>
+        <span class="comment">// with a "chunked" Transfer-Encoding.</span>
+        Body <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#ReadCloser">ReadCloser</a>
+
+        <span class="comment">// ContentLength records the length of the associated content.  The</span>
+        <span class="comment">// value -1 indicates that the length is unknown.  Unless Request.Method</span>
+        <span class="comment">// is "HEAD", values &gt;= 0 indicate that the given number of bytes may</span>
+        <span class="comment">// be read from Body.</span>
+        ContentLength <a href="https://golang.org/pkg/builtin/#int64">int64</a>
+
+        <span class="comment">// Contains transfer encodings from outer-most to inner-most. Value is</span>
+        <span class="comment">// nil, means that "identity" encoding is used.</span>
+        TransferEncoding []<a href="https://golang.org/pkg/builtin/#string">string</a>
+
+        <span class="comment">// Close records whether the header directed that the connection be</span>
+        <span class="comment">// closed after reading Body.  The value is advice for clients: neither</span>
+        <span class="comment">// ReadResponse nor Response.Write ever closes a connection.</span>
+        Close <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+
+        <span class="comment">// Trailer maps trailer keys to values, in the same</span>
+        <span class="comment">// format as the header.</span>
+        Trailer <a href="https://golang.org/pkg/net/http/#Header">Header</a>
+
+        <span class="comment">// The Request that was sent to obtain this Response.</span>
+        <span class="comment">// Request's Body is nil (having already been consumed).</span>
+        <span class="comment">// This is only populated for Client requests.</span>
+        Request *<a href="https://golang.org/pkg/net/http/#Request">Request</a>
+
+        <span class="comment">// TLS contains information about the TLS connection on which the</span>
+        <span class="comment">// response was received. It is nil for unencrypted responses.</span>
+        <span class="comment">// The pointer is shared between responses and should not be</span>
+        <span class="comment">// modified.</span>
+        TLS *<a href="https://golang.org/pkg/crypto/tls/">tls</a>.<a href="https://golang.org/pkg/crypto/tls/#ConnectionState">ConnectionState</a>
+}</pre>
+                       <p>
+Response represents the response from an HTTP request.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+                               
+                               <h3 id="Get">func <a href="https://golang.org/src/net/http/client.go?s=9198:9246#L270">Get</a></h3>
+                               <pre>func Get(url <a href="https://golang.org/pkg/builtin/#string">string</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Get issues a GET to the specified URL. If the response is one of
+the following redirect codes, Get follows the redirect, up to a
+maximum of 10 redirects:
+</p>
+<pre>301 (Moved Permanently)
+302 (Found)
+303 (See Other)
+307 (Temporary Redirect)
+</pre>
+<p>
+An error is returned if there were too many redirects or if there
+was an HTTP protocol error. A non-2xx response doesn't cause an
+error.
+</p>
+<p>
+When err is nil, resp always contains a non-nil resp.Body.
+Caller should close resp.Body when done reading from it.
+</p>
+<p>
+Get is a wrapper around DefaultClient.Get.
+</p>
+<p>
+To make a request with custom headers, use NewRequest and
+DefaultClient.Do.
+</p>
+
+                               <div id="example_Get" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example</span></p>
+               
+               
+               
+                       <div class="play">
+                               <div class="input"><textarea class="code">package main
+
+import (
+       "fmt"
+       "io/ioutil"
+       "log"
+       "net/http"
+)
+
+func main() {
+       res, err := http.Get("http://www.google.com/robots.txt")
+       if err != nil {
+               log.Fatal(err)
+       }
+       robots, err := ioutil.ReadAll(res.Body)
+       res.Body.Close()
+       if err != nil {
+               log.Fatal(err)
+       }
+       fmt.Printf("%s", robots)
+}
+</textarea></div>
+                               <div class="output"><pre></pre></div>
+                               <div class="buttons">
+                                       <a class="run" title="Run this code [shift-enter]">Run</a>
+                                       <a class="fmt" title="Format this code">Format</a>
+                                       
+                               </div>
+                       </div>
+               
+       </div>
+</div>
+
+                               
+                       
+                               
+                               <h3 id="Head">func <a href="https://golang.org/src/net/http/client.go?s=15901:15950#L500">Head</a></h3>
+                               <pre>func Head(url <a href="https://golang.org/pkg/builtin/#string">string</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Head issues a HEAD to the specified URL.  If the response is one of
+the following redirect codes, Head follows the redirect, up to a
+maximum of 10 redirects:
+</p>
+<pre>301 (Moved Permanently)
+302 (Found)
+303 (See Other)
+307 (Temporary Redirect)
+</pre>
+<p>
+Head is a wrapper around DefaultClient.Head
+</p>
+
+                               
+                               
+                       
+                               
+                               <h3 id="Post">func <a href="https://golang.org/src/net/http/client.go?s=13816:13898#L443">Post</a></h3>
+                               <pre>func Post(url <a href="https://golang.org/pkg/builtin/#string">string</a>, bodyType <a href="https://golang.org/pkg/builtin/#string">string</a>, body <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Reader">Reader</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Post issues a POST to the specified URL.
+</p>
+<p>
+Caller should close resp.Body when done reading from it.
+</p>
+<p>
+If the provided body is an io.Closer, it is closed after the
+request.
+</p>
+<p>
+Post is a wrapper around DefaultClient.Post.
+</p>
+<p>
+To set custom headers, use NewRequest and DefaultClient.Do.
+</p>
+
+                               
+                               
+                       
+                               
+                               <h3 id="PostForm">func <a href="https://golang.org/src/net/http/client.go?s=14909:14979#L474">PostForm</a></h3>
+                               <pre>func PostForm(url <a href="https://golang.org/pkg/builtin/#string">string</a>, data <a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#Values">Values</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+PostForm issues a POST to the specified URL, with data's keys and
+values URL-encoded as the request body.
+</p>
+<p>
+The Content-Type header is set to application/x-www-form-urlencoded.
+To set other headers, use NewRequest and DefaultClient.Do.
+</p>
+<p>
+When err is nil, resp always contains a non-nil resp.Body.
+Caller should close resp.Body when done reading from it.
+</p>
+<p>
+PostForm is a wrapper around DefaultClient.PostForm.
+</p>
+
+                               
+                               
+                       
+                               
+                               <h3 id="ReadResponse">func <a href="https://golang.org/src/net/http/response.go?s=3992:4059#L111">ReadResponse</a></h3>
+                               <pre>func ReadResponse(r *<a href="https://golang.org/pkg/bufio/">bufio</a>.<a href="https://golang.org/pkg/bufio/#Reader">Reader</a>, req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (*<a href="https://golang.org/pkg/net/http/#Response">Response</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+ReadResponse reads and returns an HTTP response from r.
+The req parameter optionally specifies the Request that corresponds
+to this Response. If nil, a GET request is assumed.
+Clients must call resp.Body.Close when finished reading resp.Body.
+After that call, clients can inspect resp.Trailer to find key/value
+pairs included in the response trailer.
+</p>
+
+                               
+                               
+                       
+
+                       
+                               
+                               <h3 id="Response.Cookies">func (*Response) <a href="https://golang.org/src/net/http/response.go?s=2924:2962#L82">Cookies</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Response">Response</a>) Cookies() []*<a href="https://golang.org/pkg/net/http/#Cookie">Cookie</a></pre>
+                               <p>
+Cookies parses and returns the cookies set in the Set-Cookie headers.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Response.Location">func (*Response) <a href="https://golang.org/src/net/http/response.go?s=3387:3434#L94">Location</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Response">Response</a>) Location() (*<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+Location returns the URL of the response's "Location" header,
+if present.  Relative redirects are resolved relative to
+the Response's Request.  ErrNoLocation is returned if no
+Location header is present.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Response.ProtoAtLeast">func (*Response) <a href="https://golang.org/src/net/http/response.go?s=5570:5624#L179">ProtoAtLeast</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Response">Response</a>) ProtoAtLeast(major, minor <a href="https://golang.org/pkg/builtin/#int">int</a>) <a href="https://golang.org/pkg/builtin/#bool">bool</a></pre>
+                               <p>
+ProtoAtLeast reports whether the HTTP protocol used
+in the response is at least major.minor.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Response.Write">func (*Response) <a href="https://golang.org/src/net/http/response.go?s=6162:6205#L200">Write</a></h3>
+                               <pre>func (r *<a href="https://golang.org/pkg/net/http/#Response">Response</a>) Write(w <a href="https://golang.org/pkg/io/">io</a>.<a href="https://golang.org/pkg/io/#Writer">Writer</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+Write writes r to w in the HTTP/1.n server response format,
+including the status line, headers, body, and optional trailer.
+</p>
+<p>
+This method consults the following fields of the response r:
+</p>
+<pre>StatusCode
+ProtoMajor
+ProtoMinor
+Request.Method
+TransferEncoding
+Trailer
+Body
+ContentLength
+Header, values for non-canonical keys will have unpredictable behavior
+</pre>
+<p>
+The Response Body is closed after it is sent.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="ResponseWriter">type <a href="https://golang.org/src/net/http/server.go?s=1517:2599#L48">ResponseWriter</a></h2>
+                       <pre>type ResponseWriter interface {
+        <span class="comment">// Header returns the header map that will be sent by</span>
+        <span class="comment">// WriteHeader. Changing the header after a call to</span>
+        <span class="comment">// WriteHeader (or Write) has no effect unless the modified</span>
+        <span class="comment">// headers were declared as trailers by setting the</span>
+        <span class="comment">// "Trailer" header before the call to WriteHeader (see example).</span>
+        <span class="comment">// To suppress implicit response headers, set their value to nil.</span>
+        Header() <a href="https://golang.org/pkg/net/http/#Header">Header</a>
+
+        <span class="comment">// Write writes the data to the connection as part of an HTTP reply.</span>
+        <span class="comment">// If WriteHeader has not yet been called, Write calls WriteHeader(http.StatusOK)</span>
+        <span class="comment">// before writing the data.  If the Header does not contain a</span>
+        <span class="comment">// Content-Type line, Write adds a Content-Type set to the result of passing</span>
+        <span class="comment">// the initial 512 bytes of written data to DetectContentType.</span>
+        Write([]<a href="https://golang.org/pkg/builtin/#byte">byte</a>) (<a href="https://golang.org/pkg/builtin/#int">int</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+
+        <span class="comment">// WriteHeader sends an HTTP response header with status code.</span>
+        <span class="comment">// If WriteHeader is not called explicitly, the first call to Write</span>
+        <span class="comment">// will trigger an implicit WriteHeader(http.StatusOK).</span>
+        <span class="comment">// Thus explicit calls to WriteHeader are mainly used to</span>
+        <span class="comment">// send error codes.</span>
+        WriteHeader(<a href="https://golang.org/pkg/builtin/#int">int</a>)
+}</pre>
+                       <p>
+A ResponseWriter interface is used by an HTTP handler to
+construct an HTTP response.
+</p>
+
+
+                       
+
+                       
+
+                       <div id="example_ResponseWriter_trailers" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example (Trailers)</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example (Trailers)</span></p>
+               <p>HTTP Trailers are a set of key/value pairs like headers that come
+after the HTTP response, instead of before.
+</p>
+               
+               
+                       <div class="play">
+                               <div class="input"><textarea class="code">package main
+
+import (
+       "io"
+       "net/http"
+)
+
+func main() {
+       mux := http.NewServeMux()
+       mux.HandleFunc("/sendstrailers", func(w http.ResponseWriter, req *http.Request) {
+               // Before any call to WriteHeader or Write, declare
+               // the trailers you will set during the HTTP
+               // response. These three headers are actually sent in
+               // the trailer.
+               w.Header().Set("Trailer", "AtEnd1, AtEnd2")
+               w.Header().Add("Trailer", "AtEnd3")
+
+               w.Header().Set("Content-Type", "text/plain; charset=utf-8") // normal header
+               w.WriteHeader(http.StatusOK)
+
+               w.Header().Set("AtEnd1", "value 1")
+               io.WriteString(w, "This HTTP response has both headers before this text and trailers at the end.\n")
+               w.Header().Set("AtEnd2", "value 2")
+               w.Header().Set("AtEnd3", "value 3") // These will appear as trailers.
+       })
+}
+</textarea></div>
+                               <div class="output"><pre></pre></div>
+                               <div class="buttons">
+                                       <a class="run" title="Run this code [shift-enter]">Run</a>
+                                       <a class="fmt" title="Format this code">Format</a>
+                                       
+                               </div>
+                       </div>
+               
+       </div>
+</div>
+
+                       
+                       
+
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="RoundTripper">type <a href="https://golang.org/src/net/http/client.go?s=2750:3517#L73">RoundTripper</a></h2>
+                       <pre>type RoundTripper interface {
+        <span class="comment">// RoundTrip executes a single HTTP transaction, returning</span>
+        <span class="comment">// the Response for the request req.  RoundTrip should not</span>
+        <span class="comment">// attempt to interpret the response.  In particular,</span>
+        <span class="comment">// RoundTrip must return err == nil if it obtained a response,</span>
+        <span class="comment">// regardless of the response's HTTP status code.  A non-nil</span>
+        <span class="comment">// err should be reserved for failure to obtain a response.</span>
+        <span class="comment">// Similarly, RoundTrip should not attempt to handle</span>
+        <span class="comment">// higher-level protocol details such as redirects,</span>
+        <span class="comment">// authentication, or cookies.</span>
+        <span class="comment">//</span>
+        <span class="comment">// RoundTrip should not modify the request, except for</span>
+        <span class="comment">// consuming and closing the Body, including on errors. The</span>
+        <span class="comment">// request's URL and Header fields are guaranteed to be</span>
+        <span class="comment">// initialized.</span>
+        RoundTrip(*<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (*<a href="https://golang.org/pkg/net/http/#Response">Response</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+}</pre>
+                       <p>
+RoundTripper is an interface representing the ability to execute a
+single HTTP transaction, obtaining the Response for a given Request.
+</p>
+<p>
+A RoundTripper must be safe for concurrent use by multiple
+goroutines.
+</p>
+
+
+                       
+
+                       
+                               <pre>var <span id="DefaultTransport">DefaultTransport</span> <a href="https://golang.org/pkg/net/http/#RoundTripper">RoundTripper</a> = &amp;<a href="https://golang.org/pkg/net/http/#Transport">Transport</a>{
+        <a href="https://golang.org/pkg/net/http/#Proxy">Proxy</a>: <a href="https://golang.org/pkg/net/http/#ProxyFromEnvironment">ProxyFromEnvironment</a>,
+        <a href="https://golang.org/pkg/net/http/#Dial">Dial</a>: (&amp;<a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Dialer">Dialer</a>{
+                <a href="https://golang.org/pkg/net/http/#Timeout">Timeout</a>:   30 * <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Second">Second</a>,
+                <a href="https://golang.org/pkg/net/http/#KeepAlive">KeepAlive</a>: 30 * <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Second">Second</a>,
+        }).<a href="https://golang.org/pkg/net/http/#Dial">Dial</a>,
+        <a href="https://golang.org/pkg/net/http/#TLSHandshakeTimeout">TLSHandshakeTimeout</a>: 10 * <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Second">Second</a>,
+}</pre>
+                               <p>
+DefaultTransport is the default implementation of Transport and is
+used by DefaultClient. It establishes network connections as needed
+and caches them for reuse by subsequent calls. It uses HTTP proxies
+as directed by the $HTTP_PROXY and $NO_PROXY (or $http_proxy and
+$no_proxy) environment variables.
+</p>
+
+                       
+
+                       
+                       
+                       
+
+                       
+                               
+                               <h3 id="NewFileTransport">func <a href="https://golang.org/src/net/http/filetransport.go?s=827:876#L20">NewFileTransport</a></h3>
+                               <pre>func NewFileTransport(fs <a href="https://golang.org/pkg/net/http/#FileSystem">FileSystem</a>) <a href="https://golang.org/pkg/net/http/#RoundTripper">RoundTripper</a></pre>
+                               <p>
+NewFileTransport returns a new RoundTripper, serving the provided
+FileSystem. The returned RoundTripper ignores the URL host in its
+incoming requests, as well as most other properties of the
+request.
+</p>
+<p>
+The typical use case for NewFileTransport is to register the "file"
+protocol with a Transport, as in:
+</p>
+<pre>t := &amp;http.Transport{}
+t.RegisterProtocol("file", http.NewFileTransport(http.Dir("/")))
+c := &amp;http.Client{Transport: t}
+res, err := c.Get("file:///etc/passwd")
+...
+</pre>
+
+                               
+                               
+                       
+
+                       
+               
+                       
+                       
+                       <h2 id="ServeMux">type <a href="https://golang.org/src/net/http/server.go?s=46684:46809#L1569">ServeMux</a></h2>
+                       <pre>type ServeMux struct {
+        <span class="comment">// contains filtered or unexported fields</span>
+}</pre>
+                       <p>
+ServeMux is an HTTP request multiplexer.
+It matches the URL of each incoming request against a list of registered
+patterns and calls the handler for the pattern that
+most closely matches the URL.
+</p>
+<p>
+Patterns name fixed, rooted paths, like "/favicon.ico",
+or rooted subtrees, like "/images/" (note the trailing slash).
+Longer patterns take precedence over shorter ones, so that
+if there are handlers registered for both "/images/"
+and "/images/thumbnails/", the latter handler will be
+called for paths beginning "/images/thumbnails/" and the
+former will receive requests for any other paths in the
+"/images/" subtree.
+</p>
+<p>
+Note that since a pattern ending in a slash names a rooted subtree,
+the pattern "/" matches all paths not matched by other registered
+patterns, not just the URL with Path == "/".
+</p>
+<p>
+Patterns may optionally begin with a host name, restricting matches to
+URLs on that host only.  Host-specific patterns take precedence over
+general patterns, so that a handler might register for the two patterns
+"/codesearch" and "codesearch.google.com/" without also taking over
+requests for "<a href="http://www.google.com/">http://www.google.com/</a>".
+</p>
+<p>
+ServeMux also takes care of sanitizing the URL request path,
+redirecting any request containing . or .. elements to an
+equivalent .- and ..-free URL.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+                               
+                               <h3 id="NewServeMux">func <a href="https://golang.org/src/net/http/server.go?s=46940:46968#L1582">NewServeMux</a></h3>
+                               <pre>func NewServeMux() *<a href="https://golang.org/pkg/net/http/#ServeMux">ServeMux</a></pre>
+                               <p>
+NewServeMux allocates and returns a new ServeMux.
+</p>
+
+                               
+                               
+                       
+
+                       
+                               
+                               <h3 id="ServeMux.Handle">func (*ServeMux) <a href="https://golang.org/src/net/http/server.go?s=49985:50045#L1694">Handle</a></h3>
+                               <pre>func (mux *<a href="https://golang.org/pkg/net/http/#ServeMux">ServeMux</a>) Handle(pattern <a href="https://golang.org/pkg/builtin/#string">string</a>, handler <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>)</pre>
+                               <p>
+Handle registers the handler for the given pattern.
+If a handler already exists for pattern, Handle panics.
+</p>
+
+                               
+                               <div id="example_ServeMux_Handle" class="toggle">
+       <div class="collapsed">
+               <p class="exampleHeading toggleButton">▹ <span class="text">Example</span></p>
+       </div>
+       <div class="expanded">
+               <p class="exampleHeading toggleButton">▾ <span class="text">Example</span></p>
+               
+               
+               
+                       <p>Code:</p>
+                       <pre class="code">    mux := http.NewServeMux()
+    mux.Handle("/api/", apiHandler{})
+    mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
+            <span class="comment">// The "/" pattern matches everything, so we need to check</span>
+            <span class="comment">// that we're at the root here.</span>
+            if req.URL.Path != "/" {
+                    http.NotFound(w, req)
+                    return
+            }
+            fmt.Fprintf(w, "Welcome to the home page!")
+    })
+</pre>
+                       
+               
+       </div>
+</div>
+
+                               
+                       
+                               
+                               <h3 id="ServeMux.HandleFunc">func (*ServeMux) <a href="https://golang.org/src/net/http/server.go?s=51148:51235#L1733">HandleFunc</a></h3>
+                               <pre>func (mux *<a href="https://golang.org/pkg/net/http/#ServeMux">ServeMux</a>) HandleFunc(pattern <a href="https://golang.org/pkg/builtin/#string">string</a>, handler func(<a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, *<a href="https://golang.org/pkg/net/http/#Request">Request</a>))</pre>
+                               <p>
+HandleFunc registers the handler function for the given pattern.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="ServeMux.Handler">func (*ServeMux) <a href="https://golang.org/src/net/http/server.go?s=48689:48757#L1646">Handler</a></h3>
+                               <pre>func (mux *<a href="https://golang.org/pkg/net/http/#ServeMux">ServeMux</a>) Handler(r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (h <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>, pattern <a href="https://golang.org/pkg/builtin/#string">string</a>)</pre>
+                               <p>
+Handler returns the handler to use for the given request,
+consulting r.Method, r.Host, and r.URL.Path. It always returns
+a non-nil handler. If the path is not in its canonical form, the
+handler will be an internally-generated handler that redirects
+to the canonical path.
+</p>
+<p>
+Handler also returns the registered pattern that matches the
+request or, in the case of internally-generated redirects,
+the pattern that will match after following the redirect.
+</p>
+<p>
+If there is no registered handler that applies to the request,
+Handler returns a “page not found” handler and an empty pattern.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="ServeMux.ServeHTTP">func (*ServeMux) <a href="https://golang.org/src/net/http/server.go?s=49617:49677#L1680">ServeHTTP</a></h3>
+                               <pre>func (mux *<a href="https://golang.org/pkg/net/http/#ServeMux">ServeMux</a>) ServeHTTP(w <a href="https://golang.org/pkg/net/http/#ResponseWriter">ResponseWriter</a>, r *<a href="https://golang.org/pkg/net/http/#Request">Request</a>)</pre>
+                               <p>
+ServeHTTP dispatches the request to the handler whose
+pattern most closely matches the request URL.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Server">type <a href="https://golang.org/src/net/http/server.go?s=52296:53789#L1760">Server</a></h2>
+                       <pre>type Server struct {
+        Addr           <a href="https://golang.org/pkg/builtin/#string">string</a>        <span class="comment">// TCP address to listen on, ":http" if empty</span>
+        Handler        <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>       <span class="comment">// handler to invoke, http.DefaultServeMux if nil</span>
+        ReadTimeout    <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Duration">Duration</a> <span class="comment">// maximum duration before timing out read of the request</span>
+        WriteTimeout   <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Duration">Duration</a> <span class="comment">// maximum duration before timing out write of the response</span>
+        MaxHeaderBytes <a href="https://golang.org/pkg/builtin/#int">int</a>           <span class="comment">// maximum size of request headers, DefaultMaxHeaderBytes if 0</span>
+        TLSConfig      *<a href="https://golang.org/pkg/crypto/tls/">tls</a>.<a href="https://golang.org/pkg/crypto/tls/#Config">Config</a>   <span class="comment">// optional TLS config, used by ListenAndServeTLS</span>
+
+        <span class="comment">// TLSNextProto optionally specifies a function to take over</span>
+        <span class="comment">// ownership of the provided TLS connection when an NPN</span>
+        <span class="comment">// protocol upgrade has occurred.  The map key is the protocol</span>
+        <span class="comment">// name negotiated. The Handler argument should be used to</span>
+        <span class="comment">// handle HTTP requests and will initialize the Request's TLS</span>
+        <span class="comment">// and RemoteAddr if not already set.  The connection is</span>
+        <span class="comment">// automatically closed when the function returns.</span>
+        TLSNextProto map[<a href="https://golang.org/pkg/builtin/#string">string</a>]func(*<a href="https://golang.org/pkg/net/http/#Server">Server</a>, *<a href="https://golang.org/pkg/crypto/tls/">tls</a>.<a href="https://golang.org/pkg/crypto/tls/#Conn">Conn</a>, <a href="https://golang.org/pkg/net/http/#Handler">Handler</a>)
+
+        <span class="comment">// ConnState specifies an optional callback function that is</span>
+        <span class="comment">// called when a client connection changes state. See the</span>
+        <span class="comment">// ConnState type and associated constants for details.</span>
+        ConnState func(<a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Conn">Conn</a>, <a href="https://golang.org/pkg/net/http/#ConnState">ConnState</a>)
+
+        <span class="comment">// ErrorLog specifies an optional logger for errors accepting</span>
+        <span class="comment">// connections and unexpected behavior from handlers.</span>
+        <span class="comment">// If nil, logging goes to os.Stderr via the log package's</span>
+        <span class="comment">// standard logger.</span>
+        ErrorLog *<a href="https://golang.org/pkg/log/">log</a>.<a href="https://golang.org/pkg/log/#Logger">Logger</a>
+        <span class="comment">// contains filtered or unexported fields</span>
+}</pre>
+                       <p>
+A Server defines parameters for running an HTTP server.
+The zero value for Server is a valid configuration.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="Server.ListenAndServe">func (*Server) <a href="https://golang.org/src/net/http/server.go?s=55886:55927#L1858">ListenAndServe</a></h3>
+                               <pre>func (srv *<a href="https://golang.org/pkg/net/http/#Server">Server</a>) ListenAndServe() <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+ListenAndServe listens on the TCP network address srv.Addr and then
+calls Serve to handle requests on incoming connections.  If
+srv.Addr is blank, ":http" is used.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Server.ListenAndServeTLS">func (*Server) <a href="https://golang.org/src/net/http/server.go?s=60146:60214#L2003">ListenAndServeTLS</a></h3>
+                               <pre>func (srv *<a href="https://golang.org/pkg/net/http/#Server">Server</a>) ListenAndServeTLS(certFile, keyFile <a href="https://golang.org/pkg/builtin/#string">string</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+ListenAndServeTLS listens on the TCP network address srv.Addr and
+then calls Serve to handle requests on incoming TLS connections.
+</p>
+<p>
+Filenames containing a certificate and matching private key for the
+server must be provided if the Server's TLSConfig.Certificates is
+not populated. If the certificate is signed by a certificate
+authority, the certFile should be the concatenation of the server's
+certificate, any intermediates, and the CA's certificate.
+</p>
+<p>
+If srv.Addr is blank, ":https" is used.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Server.Serve">func (*Server) <a href="https://golang.org/src/net/http/server.go?s=56308:56354#L1873">Serve</a></h3>
+                               <pre>func (srv *<a href="https://golang.org/pkg/net/http/#Server">Server</a>) Serve(l <a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Listener">Listener</a>) <a href="https://golang.org/pkg/builtin/#error">error</a></pre>
+                               <p>
+Serve accepts incoming connections on the Listener l, creating a
+new service goroutine for each.  The service goroutines read requests and
+then call srv.Handler to reply to them.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Server.SetKeepAlivesEnabled">func (*Server) <a href="https://golang.org/src/net/http/server.go?s=57329:57376#L1912">SetKeepAlivesEnabled</a></h3>
+                               <pre>func (srv *<a href="https://golang.org/pkg/net/http/#Server">Server</a>) SetKeepAlivesEnabled(v <a href="https://golang.org/pkg/builtin/#bool">bool</a>)</pre>
+                               <p>
+SetKeepAlivesEnabled controls whether HTTP keep-alives are enabled.
+By default, keep-alives are always enabled. Only very
+resource-constrained environments or servers in the process of
+shutting down should disable them.
+</p>
+
+                               
+                               
+                               
+                       
+               
+                       
+                       
+                       <h2 id="Transport">type <a href="https://golang.org/src/net/http/transport.go?s=1324:4038#L39">Transport</a></h2>
+                       <pre>type Transport struct {
+
+        <span class="comment">// Proxy specifies a function to return a proxy for a given</span>
+        <span class="comment">// Request. If the function returns a non-nil error, the</span>
+        <span class="comment">// request is aborted with the provided error.</span>
+        <span class="comment">// If Proxy is nil or returns a nil *URL, no proxy is used.</span>
+        Proxy func(*<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (*<a href="https://golang.org/pkg/net/url/">url</a>.<a href="https://golang.org/pkg/net/url/#URL">URL</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+
+        <span class="comment">// Dial specifies the dial function for creating unencrypted</span>
+        <span class="comment">// TCP connections.</span>
+        <span class="comment">// If Dial is nil, net.Dial is used.</span>
+        Dial func(network, addr <a href="https://golang.org/pkg/builtin/#string">string</a>) (<a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Conn">Conn</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+
+        <span class="comment">// DialTLS specifies an optional dial function for creating</span>
+        <span class="comment">// TLS connections for non-proxied HTTPS requests.</span>
+        <span class="comment">//</span>
+        <span class="comment">// If DialTLS is nil, Dial and TLSClientConfig are used.</span>
+        <span class="comment">//</span>
+        <span class="comment">// If DialTLS is set, the Dial hook is not used for HTTPS</span>
+        <span class="comment">// requests and the TLSClientConfig and TLSHandshakeTimeout</span>
+        <span class="comment">// are ignored. The returned net.Conn is assumed to already be</span>
+        <span class="comment">// past the TLS handshake.</span>
+        DialTLS func(network, addr <a href="https://golang.org/pkg/builtin/#string">string</a>) (<a href="https://golang.org/pkg/net/">net</a>.<a href="https://golang.org/pkg/net/#Conn">Conn</a>, <a href="https://golang.org/pkg/builtin/#error">error</a>)
+
+        <span class="comment">// TLSClientConfig specifies the TLS configuration to use with</span>
+        <span class="comment">// tls.Client. If nil, the default configuration is used.</span>
+        TLSClientConfig *<a href="https://golang.org/pkg/crypto/tls/">tls</a>.<a href="https://golang.org/pkg/crypto/tls/#Config">Config</a>
+
+        <span class="comment">// TLSHandshakeTimeout specifies the maximum amount of time waiting to</span>
+        <span class="comment">// wait for a TLS handshake. Zero means no timeout.</span>
+        TLSHandshakeTimeout <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Duration">Duration</a>
+
+        <span class="comment">// DisableKeepAlives, if true, prevents re-use of TCP connections</span>
+        <span class="comment">// between different HTTP requests.</span>
+        DisableKeepAlives <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+
+        <span class="comment">// DisableCompression, if true, prevents the Transport from</span>
+        <span class="comment">// requesting compression with an "Accept-Encoding: gzip"</span>
+        <span class="comment">// request header when the Request contains no existing</span>
+        <span class="comment">// Accept-Encoding value. If the Transport requests gzip on</span>
+        <span class="comment">// its own and gets a gzipped response, it's transparently</span>
+        <span class="comment">// decoded in the Response.Body. However, if the user</span>
+        <span class="comment">// explicitly requested gzip it is not automatically</span>
+        <span class="comment">// uncompressed.</span>
+        DisableCompression <a href="https://golang.org/pkg/builtin/#bool">bool</a>
+
+        <span class="comment">// MaxIdleConnsPerHost, if non-zero, controls the maximum idle</span>
+        <span class="comment">// (keep-alive) to keep per-host.  If zero,</span>
+        <span class="comment">// DefaultMaxIdleConnsPerHost is used.</span>
+        MaxIdleConnsPerHost <a href="https://golang.org/pkg/builtin/#int">int</a>
+
+        <span class="comment">// ResponseHeaderTimeout, if non-zero, specifies the amount of</span>
+        <span class="comment">// time to wait for a server's response headers after fully</span>
+        <span class="comment">// writing the request (including its body, if any). This</span>
+        <span class="comment">// time does not include the time to read the response body.</span>
+        ResponseHeaderTimeout <a href="https://golang.org/pkg/time/">time</a>.<a href="https://golang.org/pkg/time/#Duration">Duration</a>
+        <span class="comment">// contains filtered or unexported fields</span>
+}</pre>
+                       <p>
+Transport is an implementation of RoundTripper that supports HTTP,
+HTTPS, and HTTP proxies (for either HTTP or HTTPS with CONNECT).
+Transport can also cache connections for future re-use.
+</p>
+
+
+                       
+
+                       
+
+                       
+                       
+                       
+
+                       
+
+                       
+                               
+                               <h3 id="Transport.CancelRequest">func (*Transport) <a href="https://golang.org/src/net/http/transport.go?s=8881:8928#L269">CancelRequest</a></h3>
+                               <pre>func (t *<a href="https://golang.org/pkg/net/http/#Transport">Transport</a>) CancelRequest(req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>)</pre>
+                               <p>
+CancelRequest cancels an in-flight request by closing its connection.
+CancelRequest should only be called after RoundTrip has returned.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Transport.CloseIdleConnections">func (*Transport) <a href="https://golang.org/src/net/http/transport.go?s=8498:8540#L253">CloseIdleConnections</a></h3>
+                               <pre>func (t *<a href="https://golang.org/pkg/net/http/#Transport">Transport</a>) CloseIdleConnections()</pre>
+                               <p>
+CloseIdleConnections closes any connections which were previously
+connected from previous requests but are now sitting idle in
+a "keep-alive" state. It does not interrupt any connections currently
+in use.
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Transport.RegisterProtocol">func (*Transport) <a href="https://golang.org/src/net/http/transport.go?s=7866:7934#L234">RegisterProtocol</a></h3>
+                               <pre>func (t *<a href="https://golang.org/pkg/net/http/#Transport">Transport</a>) RegisterProtocol(scheme <a href="https://golang.org/pkg/builtin/#string">string</a>, rt <a href="https://golang.org/pkg/net/http/#RoundTripper">RoundTripper</a>)</pre>
+                               <p>
+RegisterProtocol registers a new protocol with scheme.
+The Transport will pass requests using the given scheme to rt.
+It is rt's responsibility to simulate HTTP request semantics.
+</p>
+<p>
+RegisterProtocol can be used by other packages to provide
+implementations of protocol schemes like "ftp" or "file".
+</p>
+
+                               
+                               
+                               
+                       
+                               
+                               <h3 id="Transport.RoundTrip">func (*Transport) <a href="https://golang.org/src/net/http/transport.go?s=6344:6415#L181">RoundTrip</a></h3>
+                               <pre>func (t *<a href="https://golang.org/pkg/net/http/#Transport">Transport</a>) RoundTrip(req *<a href="https://golang.org/pkg/net/http/#Request">Request</a>) (resp *<a href="https://golang.org/pkg/net/http/#Response">Response</a>, err <a href="https://golang.org/pkg/builtin/#error">error</a>)</pre>
+                               <p>
+RoundTrip implements the RoundTripper interface.
+</p>
+<p>
+For higher-level HTTP client support (such as handling of cookies
+and redirects), see Get, Post, and the Client type.
+</p>
+
+                               
+                               
+                               
+                       
+               
+       
+
+       
+
+
+
+
+
+       
+       
+               <h2 id="pkg-subdirectories">Subdirectories</h2>
+       
+       
+
+
+       <div class="pkg-dir">
+               <table>
+                       <tbody><tr>
+                               <th class="pkg-name">Name</th>
+                               <th class="pkg-synopsis">Synopsis</th>
+                       </tr>
+
+                       
+                       <tr>
+                               <td colspan="2"><a href="https://golang.org/pkg/net/">..</a></td>
+                       </tr>
+                       
+
+                       
+                               
+                                       <tr>
+                                               <td class="pkg-name" style="padding-left: 0px;">
+                                                       <a href="https://golang.org/pkg/net/http/cgi/">cgi</a>
+                                               </td>
+                                               <td class="pkg-synopsis">
+                                                       Package cgi implements CGI (Common Gateway Interface) as specified in RFC 3875.
+                                               </td>
+                                       </tr>
+                               
+                       
+                               
+                                       <tr>
+                                               <td class="pkg-name" style="padding-left: 0px;">
+                                                       <a href="https://golang.org/pkg/net/http/cookiejar/">cookiejar</a>
+                                               </td>
+                                               <td class="pkg-synopsis">
+                                                       Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
+                                               </td>
+                                       </tr>
+                               
+                       
+                               
+                                       <tr>
+                                               <td class="pkg-name" style="padding-left: 0px;">
+                                                       <a href="https://golang.org/pkg/net/http/fcgi/">fcgi</a>
+                                               </td>
+                                               <td class="pkg-synopsis">
+                                                       Package fcgi implements the FastCGI protocol.
+                                               </td>
+                                       </tr>
+                               
+                       
+                               
+                                       <tr>
+                                               <td class="pkg-name" style="padding-left: 0px;">
+                                                       <a href="https://golang.org/pkg/net/http/httptest/">httptest</a>
+                                               </td>
+                                               <td class="pkg-synopsis">
+                                                       Package httptest provides utilities for HTTP testing.
+                                               </td>
+                                       </tr>
+                               
+                       
+                               
+                                       <tr>
+                                               <td class="pkg-name" style="padding-left: 0px;">
+                                                       <a href="https://golang.org/pkg/net/http/httputil/">httputil</a>
+                                               </td>
+                                               <td class="pkg-synopsis">
+                                                       Package httputil provides HTTP utility functions, complementing the more common ones in the net/http package.
+                                               </td>
+                                       </tr>
+                               
+                       
+                               
+                                       <tr>
+                                               <td class="pkg-name" style="padding-left: 0px;">
+                                                       <a href="https://golang.org/pkg/net/http/pprof/">pprof</a>
+                                               </td>
+                                               <td class="pkg-synopsis">
+                                                       Package pprof serves via its HTTP server runtime profiling data in the format expected by the pprof visualization tool.
+                                               </td>
+                                       </tr>
+                               
+                       
+               </tbody></table>
+       </div>
+
+
+       
+
+
+
+<div id="footer">
+Build version go1.5.1.<br>
+Except as <a href="https://developers.google.com/site-policies#restrictions">noted</a>,
+the content of this page is licensed under the
+Creative Commons Attribution 3.0 License,
+and code is licensed under a <a href="https://golang.org/LICENSE">BSD license</a>.<br>
+<a href="https://golang.org/doc/tos.html">Terms of Service</a> | 
+<a href="http://www.google.com/intl/en/policies/privacy/">Privacy Policy</a>
+</div>
+
+</div><!-- .container -->
+</div><!-- #page -->
+
+<!-- TODO(adonovan): load these from <head> using "defer" attribute? -->
+<script type="text/javascript" src="./http - The Go Programming Language_files/jquery.min.js"></script>
+<script type="text/javascript" src="./http - The Go Programming Language_files/jquery.treeview.js"></script>
+<script type="text/javascript" src="./http - The Go Programming Language_files/jquery.treeview.edit.js"></script>
+
+
+<script type="text/javascript" src="./http - The Go Programming Language_files/playground.js"></script>
+
+<script type="text/javascript" src="./http - The Go Programming Language_files/godocs.js"></script>
+
+<script type="text/javascript">
+(function() {
+  var ga = document.createElement("script"); ga.type = "text/javascript"; ga.async = true;
+  ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";
+  var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ga, s);
+})();
+</script>
+
+
+
+</body></html>
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/append_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/append_object.go
new file mode 100644 (file)
index 0000000..42212f4
--- /dev/null
@@ -0,0 +1,164 @@
+// Package sample examples
+package sample
+
+import (
+       "bytes"
+       "fmt"
+       "io/ioutil"
+       "os"
+       "strconv"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// AppendObjectSample shows the append file's usage
+func AppendObjectSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.DeleteObject(objectKey)
+
+       var str = "弃我去者,昨日之日不可留。 乱我心者,今日之日多烦忧!"
+       var nextPos int64
+
+       // Case 1: Append a string to the object
+       // The first append position is 0 and the return value is for the next append's position.
+       nextPos, err = bucket.AppendObject(objectKey, strings.NewReader(str), nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Second append
+       nextPos, err = bucket.AppendObject(objectKey, strings.NewReader(str), nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Download
+       body, err := bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println(objectKey, ":", string(data))
+
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Append byte array to the object
+       nextPos = 0
+       // The first append position is 0, and the return value is for the next append's position.
+       nextPos, err = bucket.AppendObject(objectKey, bytes.NewReader([]byte(str)), nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Second append
+       nextPos, err = bucket.AppendObject(objectKey, bytes.NewReader([]byte(str)), nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Download
+       body, err = bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       data, err = ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println(objectKey, ":", string(data))
+
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 3: Append a local file to the object
+       fd, err := os.Open(localFile)
+       if err != nil {
+               HandleError(err)
+       }
+       defer fd.Close()
+
+       nextPos = 0
+       nextPos, err = bucket.AppendObject(objectKey, fd, nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 4: Get the next append position by GetObjectDetailedMeta
+       props, err := bucket.GetObjectDetailedMeta(objectKey)
+       nextPos, err = strconv.ParseInt(props.Get(oss.HTTPHeaderOssNextAppendPosition), 10, 64)
+       if err != nil {
+               HandleError(err)
+       }
+
+       nextPos, err = bucket.AppendObject(objectKey, strings.NewReader(str), nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 5: Specify the object properties for the first append, including the "x-oss-meta"'s custom metadata.
+       options := []oss.Option{
+               oss.Expires(futureDate),
+               oss.ObjectACL(oss.ACLPublicRead),
+               oss.Meta("myprop", "mypropval")}
+       nextPos = 0
+       fd.Seek(0, os.SEEK_SET)
+       nextPos, err = bucket.AppendObject(objectKey, strings.NewReader(str), nextPos, options...)
+       if err != nil {
+               HandleError(err)
+       }
+       // Second append
+       fd.Seek(0, os.SEEK_SET)
+       nextPos, err = bucket.AppendObject(objectKey, strings.NewReader(str), nextPos)
+       if err != nil {
+               HandleError(err)
+       }
+
+       props, err = bucket.GetObjectDetailedMeta(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("myprop:", props.Get("x-oss-meta-myprop"))
+
+       goar, err := bucket.GetObjectACL(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Object ACL:", goar.ACL)
+
+       // Case 6: Set the storage classes.OSS provides three storage classes: Standard, Infrequent Access, and Archive.
+       // Upload a strings, and you can append some strings in the behind of object. but the object is 'Archive' storange class.
+       // An object created with the AppendObject operation is an appendable object. set the object storange-class to 'Archive'.
+       nextPos, err = bucket.AppendObject(appendObjectKey, strings.NewReader("昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,"), nextPos, oss.ObjectStorageClass("Archive"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete the object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("AppendObjectSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/archive.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/archive.go
new file mode 100644 (file)
index 0000000..1002ef5
--- /dev/null
@@ -0,0 +1,74 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+       "time"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// ArchiveSample archives sample
+func ArchiveSample() {
+       // Create archive bucket
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = client.CreateBucket(bucketName, oss.StorageClass(oss.StorageArchive))
+       if err != nil {
+               HandleError(err)
+       }
+
+       archiveBucket, err := client.Bucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Put archive object
+       var val = "花间一壶酒,独酌无相亲。 举杯邀明月,对影成三人。"
+       err = archiveBucket.PutObject(objectKey, strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Check whether the object is archive class
+       meta, err := archiveBucket.GetObjectDetailedMeta(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       if meta.Get("X-Oss-Storage-Class") == string(oss.StorageArchive) {
+               // Restore object
+               err = archiveBucket.RestoreObject(objectKey)
+               if err != nil {
+                       HandleError(err)
+               }
+
+               // Wait for restore completed
+               meta, err = archiveBucket.GetObjectDetailedMeta(objectKey)
+               for meta.Get("X-Oss-Restore") == "ongoing-request=\"true\"" {
+                       fmt.Println("x-oss-restore:" + meta.Get("X-Oss-Restore"))
+                       time.Sleep(1000 * time.Second)
+                       meta, err = archiveBucket.GetObjectDetailedMeta(objectKey)
+               }
+       }
+
+       // Get restored object
+       err = archiveBucket.GetObjectToFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Restore repeatedly
+       err = archiveBucket.RestoreObject(objectKey)
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("ArchiveSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_acl.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_acl.go
new file mode 100644 (file)
index 0000000..92c78c7
--- /dev/null
@@ -0,0 +1,43 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketACLSample shows how to get and set the bucket ACL
+func BucketACLSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create a bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Set bucket ACL. The valid ACLs are ACLPrivate、ACLPublicRead、ACLPublicReadWrite
+       err = client.SetBucketACL(bucketName, oss.ACLPublicRead)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get bucket ACL
+       gbar, err := client.GetBucketACL(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket ACL:", gbar.ACL)
+
+       // Delete the bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketACLSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_cors.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_cors.go
new file mode 100644 (file)
index 0000000..7af95e6
--- /dev/null
@@ -0,0 +1,71 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketCORSSample shows how to get or set the bucket CORS.
+func BucketCORSSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       rule1 := oss.CORSRule{
+               AllowedOrigin: []string{"*"},
+               AllowedMethod: []string{"PUT", "GET", "POST"},
+               AllowedHeader: []string{},
+               ExposeHeader:  []string{},
+               MaxAgeSeconds: 100,
+       }
+
+       rule2 := oss.CORSRule{
+               AllowedOrigin: []string{"http://www.a.com", "http://www.b.com"},
+               AllowedMethod: []string{"GET"},
+               AllowedHeader: []string{"Authorization"},
+               ExposeHeader:  []string{"x-oss-test", "x-oss-test1"},
+               MaxAgeSeconds: 100,
+       }
+
+       // Case 1: Set the bucket CORS rules
+       err = client.SetBucketCORS(bucketName, []oss.CORSRule{rule1})
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Set the bucket CORS rules. if CORS rules exist, they will be overwritten.
+       err = client.SetBucketCORS(bucketName, []oss.CORSRule{rule1, rule2})
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get the bucket's CORS
+       gbl, err := client.GetBucketCORS(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket CORS:", gbl.CORSRules)
+
+       // Delete bucket's CORS
+       err = client.DeleteBucketCORS(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketCORSSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_encryption.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_encryption.go
new file mode 100644 (file)
index 0000000..38c0ec9
--- /dev/null
@@ -0,0 +1,51 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketEncryptionSample shows how to get and set the bucket encryption Algorithm
+func BucketEncryptionSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create a bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // SetBucketEncryption:AES256 ,"123"
+       encryptionRule := oss.ServerEncryptionRule{}
+       encryptionRule.SSEDefault.SSEAlgorithm = string(oss.AESAlgorithm)
+       err = client.SetBucketEncryption(bucketName, encryptionRule)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get bucket encryption
+       encryptionResult, err := client.GetBucketEncryption(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket Encryption:", encryptionResult)
+
+       // Delete the bucket
+       err = client.DeleteBucketEncryption(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete the object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketEncryptionSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_inventory.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_inventory.go
new file mode 100644 (file)
index 0000000..1621855
--- /dev/null
@@ -0,0 +1,102 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketInventorySample shows how to set, get, list and delete the bucket inventory configuration
+func BucketInventorySample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // the inventory configuration,not use any encryption
+       bl := true
+       invConfig := oss.InventoryConfiguration{
+               Id:        "report1",
+               IsEnabled: &bl,
+               Prefix:    "filterPrefix/",
+               OSSBucketDestination: oss.OSSBucketDestination{
+                       Format:    "CSV",
+                       AccountId: accountID,
+                       RoleArn:   stsARN,
+                       Bucket:    "acs:oss:::" + bucketName,
+                       Prefix:    "prefix1",
+               },
+               Frequency:              "Daily",
+               IncludedObjectVersions: "All",
+               OptionalFields: oss.OptionalFields{
+                       Field: []string{
+                               "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                       },
+               },
+       }
+
+       // case 1: Set inventory
+       err = client.SetBucketInventory(bucketName, invConfig)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // case 2: Get Bucket inventory
+       ret, err := client.GetBucketInventory(bucketName, invConfig.Id)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket inventory:", ret)
+
+       // case 3: List Bucket inventory
+       invConfig2 := oss.InventoryConfiguration{
+               Id:        "report2",
+               IsEnabled: &bl,
+               Prefix:    "filterPrefix/",
+               OSSBucketDestination: oss.OSSBucketDestination{
+                       Format:    "CSV",
+                       AccountId: accountID,
+                       RoleArn:   stsARN,
+                       Bucket:    "acs:oss:::" + bucketName,
+                       Prefix:    "prefix1",
+               },
+               Frequency:              "Daily",
+               IncludedObjectVersions: "All",
+               OptionalFields: oss.OptionalFields{
+                       Field: []string{
+                               "Size", "LastModifiedDate", "ETag", "StorageClass", "IsMultipartUploaded", "EncryptionStatus",
+                       },
+               },
+       }
+       err = client.SetBucketInventory(bucketName, invConfig2)
+       if err != nil {
+               HandleError(err)
+       }
+       NextContinuationToken := ""
+       listInvConf, err := client.ListBucketInventory(bucketName, NextContinuationToken)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket inventory list:", listInvConf)
+
+       // case 4: Delete Bucket inventory
+       err = client.DeleteBucketInventory(bucketName, invConfig.Id)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketInventorySample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_lifecycle.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_lifecycle.go
new file mode 100644 (file)
index 0000000..29e83ca
--- /dev/null
@@ -0,0 +1,121 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketLifecycleSample shows how to set, get and delete bucket's lifecycle.
+func BucketLifecycleSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Set the lifecycle. The rule ID is rule1 and the applied objects' prefix is one and the last modified Date is before 2015/11/11
+       expriation := oss.LifecycleExpiration{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       rule1 := oss.LifecycleRule{
+               ID:         "rule1",
+               Prefix:     "one",
+               Status:     "Enabled",
+               Expiration: &expriation,
+       }
+       var rules = []oss.LifecycleRule{rule1}
+       err = client.SetBucketLifecycle(bucketName, rules)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Get the bucket's lifecycle
+       lc, err := client.GetBucketLifecycle(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Printf("Bucket Lifecycle:%v, %v\n", lc.Rules, *lc.Rules[0].Expiration)
+
+       // Case 3: Set the lifecycle, The rule ID is rule2 and the applied objects' prefix is two. The object start with the prefix will be transited to IA storage Type 3 days latter, and to archive storage type 30 days latter
+       transitionIA := oss.LifecycleTransition{
+               Days:         3,
+               StorageClass: oss.StorageIA,
+       }
+       transitionArch := oss.LifecycleTransition{
+               Days:         30,
+               StorageClass: oss.StorageArchive,
+       }
+       rule2 := oss.LifecycleRule{
+               ID:          "rule2",
+               Prefix:      "two",
+               Status:      "Enabled",
+               Transitions: []oss.LifecycleTransition{transitionIA, transitionArch},
+       }
+       rules = []oss.LifecycleRule{rule2}
+       err = client.SetBucketLifecycle(bucketName, rules)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 4: Set the lifecycle, The rule ID is rule3 and the applied objects' prefix is three. The object start with the prefix will be transited to IA storage Type 3 days latter, and to archive storage type 30 days latter, the uncompleted multipart upload will be abort 3 days latter.
+       abortMPU := oss.LifecycleAbortMultipartUpload{
+               Days: 3,
+       }
+       rule3 := oss.LifecycleRule{
+               ID:                   "rule3",
+               Prefix:               "three",
+               Status:               "Enabled",
+               AbortMultipartUpload: &abortMPU,
+       }
+       rules = append(lc.Rules, rule3)
+       err = client.SetBucketLifecycle(bucketName, rules)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 5: Set the lifecycle. The rule ID is rule4 and the applied objects' has the tagging which prefix is four and the last modified Date is before 2015/11/11
+       expriation = oss.LifecycleExpiration{
+               CreatedBeforeDate: "2015-11-11T00:00:00.000Z",
+       }
+       tag1 := oss.Tag{
+               Key:   "key1",
+               Value: "value1",
+       }
+       tag2 := oss.Tag{
+               Key:   "key2",
+               Value: "value2",
+       }
+       rule4 := oss.LifecycleRule{
+               ID:         "rule4",
+               Prefix:     "four",
+               Status:     "Enabled",
+               Tags:       []oss.Tag{tag1, tag2},
+               Expiration: &expriation,
+       }
+       rules = []oss.LifecycleRule{rule4}
+       err = client.SetBucketLifecycle(bucketName, rules)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 6: Delete bucket's Lifecycle
+       err = client.DeleteBucketLifecycle(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketLifecycleSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_logging.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_logging.go
new file mode 100644 (file)
index 0000000..3a7ad1b
--- /dev/null
@@ -0,0 +1,90 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketLoggingSample shows how to set, get and delete the bucket logging configuration
+func BucketLoggingSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       // Create target bucket to store the logging files.
+       var targetBucketName = "target-bucket"
+       err = client.CreateBucket(targetBucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Set the logging for the object prefixed with "prefix-1" and save their access logs to the target bucket
+       err = client.SetBucketLogging(bucketName, targetBucketName, "prefix-1", true)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Set the logging for the object prefixed with "prefix-2" and save their logs to the same bucket
+       // Note: the rule will overwrite other rules if they have same bucket and prefix
+       err = client.SetBucketLogging(bucketName, bucketName, "prefix-2", true)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete the bucket's logging configuration
+       err = client.DeleteBucketLogging(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 3: Set the logging without enabling it
+       err = client.SetBucketLogging(bucketName, targetBucketName, "prefix-3", false)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get the bucket's logging configuration
+       gbl, err := client.GetBucketLogging(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket Logging:", gbl.LoggingEnabled)
+
+       err = client.SetBucketLogging(bucketName, bucketName, "prefix2", true)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get the bucket's logging configuration
+       gbl, err = client.GetBucketLogging(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket Logging:", gbl.LoggingEnabled)
+
+       // Delete the bucket's logging configuration
+       err = client.DeleteBucketLogging(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       err = client.DeleteBucket(targetBucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketLoggingSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_policy.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_policy.go
new file mode 100644 (file)
index 0000000..54349bb
--- /dev/null
@@ -0,0 +1,67 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketPolicySample shows how to set, get and delete the bucket policy configuration
+func BucketPolicySample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // the policy string
+       var policyInfo string
+       policyInfo = `
+       {
+               "Version":"1",
+               "Statement":[
+                       {
+                               "Action":[
+                                       "oss:GetObject",
+                                       "oss:PutObject"
+                               ],
+                               "Effect":"Deny",
+                               "Principal":"[123456790]",
+                               "Resource":["acs:oss:*:1234567890:*/*"]
+                       }
+               ]
+       }`
+
+       // Set policy
+       err = client.SetBucketPolicy(bucketName, policyInfo)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get Bucket policy
+       ret, err := client.GetBucketPolicy(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket policy:", ret)
+
+       // Delete Bucket policy
+       err = client.DeleteBucketPolicy(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketPolicySample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_qosInfo.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_qosInfo.go
new file mode 100644 (file)
index 0000000..16a6df2
--- /dev/null
@@ -0,0 +1,65 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketQoSInfoSample shows how to set, get and delete the bucket QoS configuration
+func BucketQoSInfoSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       // Initial QoS Configuration
+       five := 5
+       four := 4
+       totalQps := 200
+       qosConf := oss.BucketQoSConfiguration{
+               TotalUploadBandwidth:      &five,
+               IntranetUploadBandwidth:   &four,
+               ExtranetUploadBandwidth:   &four,
+               TotalDownloadBandwidth:    &four,
+               IntranetDownloadBandwidth: &four,
+               ExtranetDownloadBandwidth: &four,
+               TotalQPS:                  &totalQps,
+               IntranetQPS:               &totalQps,
+               ExtranetQPS:               &totalQps,
+       }
+
+       // Set Qos Info
+       err = client.SetBucketQoSInfo(bucketName, qosConf)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get Qos Info
+       ret, err := client.GetBucketQosInfo(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Printf("Bucket QoSInfo\n  TotalUploadBandwidth: %d\n  IntranetUploadBandwidth: %d\n  ExtranetUploadBandwidth: %d\n",
+               *ret.TotalUploadBandwidth, *ret.IntranetUploadBandwidth, *ret.ExtranetUploadBandwidth)
+
+       // Delete QosInfo
+       err = client.DeleteBucketQosInfo(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketPolicySample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_referer.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_referer.go
new file mode 100644 (file)
index 0000000..7d1e4db
--- /dev/null
@@ -0,0 +1,57 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketRefererSample shows how to set, get and delete the bucket referer.
+func BucketRefererSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       var referers = []string{
+               "http://www.aliyun.com",
+               "http://www.???.aliyuncs.com",
+               "http://www.*.com",
+       }
+
+       // Case 1: Set referers. The referers are with wildcards ? and * which could represent one and zero to multiple characters
+       err = client.SetBucketReferer(bucketName, referers, false)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Clear referers
+       referers = []string{}
+       err = client.SetBucketReferer(bucketName, referers, true)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get bucket referer configuration
+       gbr, err := client.GetBucketReferer(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket Referers:", gbr.RefererList,
+               "AllowEmptyReferer:", gbr.AllowEmptyReferer)
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketRefererSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_requestpayment.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_requestpayment.go
new file mode 100644 (file)
index 0000000..c7e045f
--- /dev/null
@@ -0,0 +1,117 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+       "io/ioutil"
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketrRequestPaymentSample shows how to set, get the bucket request payment.
+func BucketrRequestPaymentSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       reqPayConf := oss.RequestPaymentConfiguration{
+               Payer: string(oss.Requester),
+       }
+
+       // Case 1: Set bucket request payment.
+       err = client.SetBucketRequestPayment(bucketName, reqPayConf)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get bucket request payment configuration
+       ret, err := client.GetBucketRequestPayment(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket request payer:", ret.Payer)
+
+       if credentialUID == "" {
+               fmt.Println("Please enter a credential User ID, if you want to test credential user.")
+               clearData(client, bucketName)
+               return
+       }
+       // Credential other User
+       policyInfo := `
+       {
+               "Version":"1",
+               "Statement":[
+                       {
+                               "Action":[
+                                       "oss:*"
+                               ],
+                               "Effect":"Allow",
+                               "Principal":["` + credentialUID + `"],
+                               "Resource":["acs:oss:*:*:` + bucketName + `", "acs:oss:*:*:` + bucketName + `/*"]
+                       }
+               ]
+       }`
+
+       err = client.SetBucketPolicy(bucketName, policyInfo)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // New a Credential client
+       creClient, err := oss.New(endpoint, credentialAccessID, credentialAccessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get credential bucket
+       creBucket, err := creClient.Bucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Put object by credential User
+       key := "testCredentialObject"
+       objectValue := "this is a test string."
+       // Put object
+       err = creBucket.PutObject(key, strings.NewReader(objectValue), oss.RequestPayer(oss.Requester))
+       if err != nil {
+               HandleError(err)
+       }
+       // Get object
+       body, err := creBucket.GetObject(key, oss.RequestPayer(oss.Requester))
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println(string(data))
+       
+       // Delete object
+       err = creBucket.DeleteObject(key, oss.RequestPayer(oss.Requester))
+       if err != nil {
+               HandleError(err)
+       }
+
+       clearData(client, bucketName)
+}
+
+func clearData(client *oss.Client, bucketName string) {
+       // Delete bucket
+       err := client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketrRequestPaymentSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_website.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/bucket_website.go
new file mode 100644 (file)
index 0000000..e58801e
--- /dev/null
@@ -0,0 +1,104 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// BucketWebsiteSample shows how to set, get and delete the bucket website.
+func BucketWebsiteSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create the bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //Define bucket website indexWebsite or errorWebsite
+       var indexWebsite = "myindex.html"
+       var errorWebsite = "myerror.html"
+
+       // Set bucket website indexWebsite or errorWebsite
+       err = client.SetBucketWebsite(bucketName, indexWebsite, errorWebsite)
+       if err != nil {
+               HandleError(err)
+       }
+
+       bEnable := true
+       bDisable := false
+
+       // Define one website detail
+       ruleOk := oss.RoutingRule{
+               RuleNumber: 1,
+               Condition: oss.Condition{
+                       KeyPrefixEquals:             "abc",
+                       HTTPErrorCodeReturnedEquals: 404,
+                       IncludeHeader: []oss.IncludeHeader{
+                               oss.IncludeHeader{
+                                       Key:    "host",
+                                       Equals: "test.oss-cn-beijing-internal.aliyuncs.com",
+                               },
+                       },
+               },
+               Redirect: oss.Redirect{
+                       RedirectType:          "Mirror",
+                       PassQueryString:       &bDisable,
+                       MirrorURL:             "http://www.test.com/",
+                       MirrorPassQueryString: &bEnable,
+                       MirrorFollowRedirect:  &bEnable,
+                       MirrorCheckMd5:        &bDisable,
+                       MirrorHeaders: oss.MirrorHeaders{
+                               PassAll: &bEnable,
+                               Pass:    []string{"key1", "key2"},
+                               Remove:  []string{"remove1", "remove2"},
+                               Set: []oss.MirrorHeaderSet{
+                                       oss.MirrorHeaderSet{
+                                               Key:   "setKey1",
+                                               Value: "setValue1",
+                                       },
+                               },
+                       },
+               },
+       }
+       wxmlDetail := oss.WebsiteXML{}
+       wxmlDetail.RoutingRules = append(wxmlDetail.RoutingRules, ruleOk)
+
+       // Get website
+       res, err := client.GetBucketWebsite(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Website IndexDocument:", res.IndexDocument.Suffix)
+
+       // Set bucket website detail
+       err = client.SetBucketWebsiteDetail(bucketName, wxmlDetail)
+       if err != nil {
+               HandleError(err)
+       }
+       // Get website Detail
+       res, err = client.GetBucketWebsite(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Website Redirect type:", res.RoutingRules[0].Redirect.RedirectType)
+
+       // Delete Website
+       err = client.DeleteBucketWebsite(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("BucketWebsiteSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/cname_sample.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/cname_sample.go
new file mode 100644 (file)
index 0000000..5e0b503
--- /dev/null
@@ -0,0 +1,95 @@
+package sample
+
+import (
+       "fmt"
+       "io/ioutil"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// CnameSample shows the cname usage
+func CnameSample() {
+       // New client
+       client, err := oss.New(endpoint4Cname, accessID, accessKey, oss.UseCname(true))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create bucket
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Set bucket ACL
+       err = client.SetBucketACL(bucketName, oss.ACLPrivate)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Look up bucket ACL
+       gbar, err := client.GetBucketACL(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Bucket ACL:", gbar.ACL)
+
+       // List buckets, the list operation could not be done by cname's endpoint
+       _, err = client.ListBuckets()
+       if err == nil {
+               HandleError(err)
+       }
+
+       bucket, err := client.Bucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       objectValue := "长忆观潮, 满郭人争江上望。来疑沧海尽成空, 万面鼓声中。弄潮儿向涛头立, 手把红旗旗不湿。别来几向梦中看, 梦觉尚心寒。"
+
+       // Put object
+       err = bucket.PutObject(objectKey, strings.NewReader(objectValue))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get object
+       body, err := bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println(objectKey, ":", string(data))
+
+       // Put object from file
+       err = bucket.PutObjectFromFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get object to file
+       err = bucket.GetObjectToFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // List objects
+       lor, err := bucket.ListObjects()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("objects:", lor.Objects)
+
+       // Delete object
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("CnameSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/comm.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/comm.go
new file mode 100644 (file)
index 0000000..91ba23c
--- /dev/null
@@ -0,0 +1,181 @@
+package sample
+
+import (
+       "fmt"
+       "os"
+       "strings"
+       "time"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+var (
+       pastDate   = time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
+       futureDate = time.Date(2049, time.January, 10, 23, 0, 0, 0, time.UTC)
+)
+
+// HandleError is the error handling method in the sample code
+func HandleError(err error) {
+       fmt.Println("occurred error:", err)
+       os.Exit(-1)
+}
+
+// GetTestBucket creates the test bucket
+func GetTestBucket(bucketName string) (*oss.Bucket, error) {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               return nil, err
+       }
+
+       // Create bucket
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               return nil, err
+       }
+
+       // Get bucket
+       bucket, err := client.Bucket(bucketName)
+       if err != nil {
+               return nil, err
+       }
+
+       return bucket, nil
+}
+
+// DeleteTestBucketAndLiveChannel 删除sample的channelname和bucket,该函数为了简化sample,让sample代码更明了
+func DeleteTestBucketAndLiveChannel(bucketName string) error {
+       // New Client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               return err
+       }
+
+       // Get Bucket
+       bucket, err := client.Bucket(bucketName)
+       if err != nil {
+               return err
+       }
+
+       marker := ""
+       for {
+               result, err := bucket.ListLiveChannel(oss.Marker(marker))
+               if err != nil {
+                       HandleError(err)
+               }
+
+               for _, channel := range result.LiveChannel {
+                       err := bucket.DeleteLiveChannel(channel.Name)
+                       if err != nil {
+                               HandleError(err)
+                       }
+               }
+
+               if result.IsTruncated {
+                       marker = result.NextMarker
+               } else {
+                       break
+               }
+       }
+
+       // Delete Bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+// DeleteTestBucketAndObject deletes the test bucket and its objects
+func DeleteTestBucketAndObject(bucketName string) error {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               return err
+       }
+
+       // Get bucket
+       bucket, err := client.Bucket(bucketName)
+       if err != nil {
+               return err
+       }
+
+       // Delete part
+       keyMarker := oss.KeyMarker("")
+       uploadIDMarker := oss.UploadIDMarker("")
+       for {
+               lmur, err := bucket.ListMultipartUploads(keyMarker, uploadIDMarker)
+               if err != nil {
+                       return err
+               }
+               for _, upload := range lmur.Uploads {
+                       var imur = oss.InitiateMultipartUploadResult{Bucket: bucket.BucketName,
+                               Key: upload.Key, UploadID: upload.UploadID}
+                       err = bucket.AbortMultipartUpload(imur)
+                       if err != nil {
+                               return err
+                       }
+               }
+               keyMarker = oss.KeyMarker(lmur.NextKeyMarker)
+               uploadIDMarker = oss.UploadIDMarker(lmur.NextUploadIDMarker)
+               if !lmur.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete objects
+       marker := oss.Marker("")
+       for {
+               lor, err := bucket.ListObjects(marker)
+               if err != nil {
+                       return err
+               }
+               for _, object := range lor.Objects {
+                       err = bucket.DeleteObject(object.Key)
+                       if err != nil {
+                               return err
+                       }
+               }
+               marker = oss.Marker(lor.NextMarker)
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               return err
+       }
+
+       return nil
+}
+
+// Object defines pair of key and value
+type Object struct {
+       Key   string
+       Value string
+}
+
+// CreateObjects creates some objects
+func CreateObjects(bucket *oss.Bucket, objects []Object) error {
+       for _, object := range objects {
+               err := bucket.PutObject(object.Key, strings.NewReader(object.Value))
+               if err != nil {
+                       return err
+               }
+       }
+       return nil
+}
+
+// DeleteObjects deletes some objects.
+func DeleteObjects(bucket *oss.Bucket, objects []Object) error {
+       for _, object := range objects {
+               err := bucket.DeleteObject(object.Key)
+               if err != nil {
+                       return err
+               }
+       }
+       return nil
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/config.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/config.go
new file mode 100644 (file)
index 0000000..2e146e1
--- /dev/null
@@ -0,0 +1,36 @@
+package sample
+
+import "os"
+
+var (
+       // Sample code's env configuration. You need to specify them with the actual configuration if you want to run sample code
+       endpoint   = os.Getenv("OSS_TEST_ENDPOINT")
+       accessID   = os.Getenv("OSS_TEST_ACCESS_KEY_ID")
+       accessKey  = os.Getenv("OSS_TEST_ACCESS_KEY_SECRET")
+       bucketName = os.Getenv("OSS_TEST_BUCKET")
+       kmsID      = os.Getenv("OSS_TEST_KMS_ID")
+       accountID  = os.Getenv("OSS_TEST_ACCOUNT_ID")
+       stsARN     = os.Getenv("OSS_TEST_STS_ARN")
+
+       // Credential
+       credentialAccessID  = os.Getenv("OSS_CREDENTIAL_KEY_ID")
+       credentialAccessKey = os.Getenv("OSS_CREDENTIAL_KEY_SECRET")
+       credentialUID       = os.Getenv("OSS_CREDENTIAL_UID")
+
+       // The cname endpoint
+       endpoint4Cname = os.Getenv("OSS_TEST_CNAME_ENDPOINT")
+)
+
+const (
+
+       // The object name in the sample code
+       objectKey       string = "my-object"
+       appendObjectKey string = "my-object-append"
+
+       // The local files to run sample code.
+       localFile          string = "sample/BingWallpaper-2015-11-07.jpg"
+       localCsvFile       string = "sample/sample_data.csv"
+       localJSONFile      string = "sample/sample_json.json"
+       localJSONLinesFile string = "sample/sample_json_lines.json"
+       htmlLocalFile      string = "sample/The Go Programming Language.html"
+)
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/copy_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/copy_object.go
new file mode 100644 (file)
index 0000000..c25dcd5
--- /dev/null
@@ -0,0 +1,138 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// CopyObjectSample shows the copy files usage
+func CopyObjectSample() {
+       // Create a bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create an object
+       err = bucket.PutObjectFromFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Copy an existing object
+       var descObjectKey = "descobject"
+       _, err = bucket.CopyObject(objectKey, descObjectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Copy an existing object to another existing object
+       _, err = bucket.CopyObject(objectKey, descObjectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.DeleteObject(descObjectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 3: Copy file with constraints. When the constraints are met, the copy executes. otherwise the copy does not execute.
+       // constraints are not met, copy does not execute
+       _, err = bucket.CopyObject(objectKey, descObjectKey, oss.CopySourceIfModifiedSince(futureDate))
+       if err == nil {
+               HandleError(err)
+       }
+       fmt.Println("CopyObjectError:", err)
+       // Constraints are met, the copy executes
+       _, err = bucket.CopyObject(objectKey, descObjectKey, oss.CopySourceIfUnmodifiedSince(futureDate))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 4: Specify the properties when copying. The MetadataDirective needs to be MetaReplace
+       options := []oss.Option{
+               oss.Expires(futureDate),
+               oss.Meta("myprop", "mypropval"),
+               oss.MetadataDirective(oss.MetaReplace)}
+       _, err = bucket.CopyObject(objectKey, descObjectKey, options...)
+       if err != nil {
+               HandleError(err)
+       }
+
+       meta, err := bucket.GetObjectDetailedMeta(descObjectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("meta:", meta)
+
+       // Case 5: When the source file is the same as the target file, the copy could be used to update metadata
+       options = []oss.Option{
+               oss.Expires(futureDate),
+               oss.Meta("myprop", "mypropval"),
+               oss.MetadataDirective(oss.MetaReplace)}
+
+       _, err = bucket.CopyObject(objectKey, objectKey, options...)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("meta:", meta)
+
+       // Case 6: Big file's multipart copy. It supports concurrent copy with resumable upload
+       // copy file with multipart. The part size is 100K. By default one routine is used without resumable upload
+       err = bucket.CopyFile(bucketName, objectKey, descObjectKey, 100*1024)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Part size is 100K and three coroutines for the concurrent copy
+       err = bucket.CopyFile(bucketName, objectKey, descObjectKey, 100*1024, oss.Routines(3))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Part size is 100K and three coroutines for the concurrent copy with resumable upload
+       err = bucket.CopyFile(bucketName, objectKey, descObjectKey, 100*1024, oss.Routines(3), oss.Checkpoint(true, ""))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Specify the checkpoint file path. If the checkpoint file path is not specified, the current folder is used.
+       err = bucket.CopyFile(bucketName, objectKey, descObjectKey, 100*1024, oss.Checkpoint(true, localFile+".cp"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 7: Set the storage classes.OSS provides three storage classes: Standard, Infrequent Access, and Archive.
+       // Copy a object in the same bucket, and set object's storage-class to Archive.
+       _, err = bucket.CopyObject(objectKey, objectKey+"DestArchive", oss.ObjectStorageClass("Archive"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 8: Copy object with tagging, the value of tagging directive is REPLACE
+       tag1 := oss.Tag{
+               Key:   "key1",
+               Value: "value1",
+       }
+       tag2 := oss.Tag{
+               Key:   "key2",
+               Value: "value2",
+       }
+       tagging := oss.Tagging{
+               Tags: []oss.Tag{tag1, tag2},
+       }
+       _, err = bucket.CopyObject(objectKey, objectKey+"WithTagging", oss.SetTagging(tagging), oss.TaggingDirective(oss.TaggingReplace))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("CopyObjectSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/create_bucket.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/create_bucket.go
new file mode 100644 (file)
index 0000000..976e5c5
--- /dev/null
@@ -0,0 +1,50 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// CreateBucketSample shows how to create bucket
+func CreateBucketSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       DeleteTestBucketAndObject(bucketName)
+
+       // Case 1: Create a bucket with default parameters
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Create the bucket with ACL
+       err = client.CreateBucket(bucketName, oss.ACL(oss.ACLPublicRead))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 3: Repeat the same bucket. OSS will not return error, but just no op. The ACL is not updated.
+       err = client.CreateBucket(bucketName, oss.ACL(oss.ACLPublicReadWrite))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("CreateBucketSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/delete_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/delete_object.go
new file mode 100644 (file)
index 0000000..d4d898e
--- /dev/null
@@ -0,0 +1,108 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// DeleteObjectSample shows how to delete single file or multiple files
+func DeleteObjectSample() {
+       // Create a bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       var val = "抽刀断水水更流,举杯销愁愁更愁。 人生在世不称意,明朝散发弄扁舟。"
+
+       // Case 1: Delete an object
+       err = bucket.PutObject(objectKey, strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Delete multiple Objects
+       err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       delRes, err := bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"})
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Del Res:", delRes)
+
+       lsRes, err := bucket.ListObjects()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Objects:", getObjectsFormResponse(lsRes))
+
+       // Case 3: Delete multiple objects and it will return deleted objects in detail mode which is by default.
+       err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       delRes, err = bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"},
+               oss.DeleteObjectsQuiet(false))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Detail Del Res:", delRes)
+
+       lsRes, err = bucket.ListObjects()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Objects:", getObjectsFormResponse(lsRes))
+
+       // Case 4: Delete multiple objects and returns undeleted objects in quiet mode
+       err = bucket.PutObject(objectKey+"1", strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.PutObject(objectKey+"2", strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       delRes, err = bucket.DeleteObjects([]string{objectKey + "1", objectKey + "2"}, oss.DeleteObjectsQuiet(true))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Sample Del Res:", delRes)
+
+       lsRes, err = bucket.ListObjects()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Objects:", getObjectsFormResponse(lsRes))
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("DeleteObjectSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/get_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/get_object.go
new file mode 100644 (file)
index 0000000..019e86b
--- /dev/null
@@ -0,0 +1,156 @@
+package sample
+
+import (
+       "bytes"
+       "fmt"
+       "io"
+       "io/ioutil"
+       "os"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// GetObjectSample shows the streaming download, range download and resumable download.
+func GetObjectSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Upload the object
+       err = bucket.PutObjectFromFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Download the object into ReadCloser(). The body needs to be closed
+       body, err := bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       data, err := ioutil.ReadAll(body)
+       body.Close()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("size of data is: ", len(data))
+
+       // Case 2: Download in the range of object.
+       body, err = bucket.GetObject(objectKey, oss.Range(15, 19))
+       if err != nil {
+               HandleError(err)
+       }
+       data, err = ioutil.ReadAll(body)
+       body.Close()
+       fmt.Println("the range of data is: ", string(data))
+
+       // Case 3: Download the object to byte array. This is for small object.
+       buf := new(bytes.Buffer)
+       body, err = bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       io.Copy(buf, body)
+       body.Close()
+
+       // Case 4: Download the object to local file. The file handle needs to be specified
+       fd, err := os.OpenFile("mynewfile-1.jpg", os.O_WRONLY|os.O_CREATE, 0660)
+       if err != nil {
+               HandleError(err)
+       }
+       defer fd.Close()
+
+       body, err = bucket.GetObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       io.Copy(fd, body)
+       body.Close()
+
+       // Case 5: Download the object to local file with file name specified
+       err = bucket.GetObjectToFile(objectKey, "mynewfile-2.jpg")
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 6: Get the object with contraints. When contraints are met, download the file. Otherwise return precondition error
+       // last modified time constraint is met, download the file
+       body, err = bucket.GetObject(objectKey, oss.IfModifiedSince(pastDate))
+       if err != nil {
+               HandleError(err)
+       }
+       body.Close()
+
+       // Last modified time contraint is not met, do not download the file
+       _, err = bucket.GetObject(objectKey, oss.IfUnmodifiedSince(pastDate))
+       if err == nil {
+               HandleError(fmt.Errorf("This result is not the expected result"))
+       }
+       // body.Close()
+
+       meta, err := bucket.GetObjectDetailedMeta(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       etag := meta.Get(oss.HTTPHeaderEtag)
+       // Check the content, etag contraint is met, download the file
+       body, err = bucket.GetObject(objectKey, oss.IfMatch(etag))
+       if err != nil {
+               HandleError(err)
+       }
+       body.Close()
+
+       // Check the content, etag contraint is not met, do not download the file
+       _, err = bucket.GetObject(objectKey, oss.IfNoneMatch(etag))
+       if err == nil {
+               HandleError(fmt.Errorf("This result is not the expected result"))
+       }
+       // body.Close()
+
+       // Case 7: Big file's multipart download, concurrent and resumable download is supported.
+       // multipart download with part size 100KB. By default single coroutine is used and no checkpoint
+       err = bucket.DownloadFile(objectKey, "mynewfile-3.jpg", 100*1024)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Part size is 100K and 3 coroutines are used
+       err = bucket.DownloadFile(objectKey, "mynewfile-3.jpg", 100*1024, oss.Routines(3))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Part size is 100K and 3 coroutines with checkpoint
+       err = bucket.DownloadFile(objectKey, "mynewfile-3.jpg", 100*1024, oss.Routines(3), oss.Checkpoint(true, ""))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Specify the checkpoint file path to record which parts have been downloaded.
+       // This file path can be specified by the 2nd parameter of Checkpoint, it will be the download directory if the file path is empty.
+       err = bucket.DownloadFile(objectKey, "mynewfile-3.jpg", 100*1024, oss.Checkpoint(true, "mynewfile.cp"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 8: Use GZIP encoding for downloading the file, GetObject/GetObjectToFile are the same.
+       err = bucket.PutObjectFromFile(objectKey, htmlLocalFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.GetObjectToFile(objectKey, "myhtml.gzip", oss.AcceptEncoding("gzip"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete the object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("GetObjectSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/list_buckets.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/list_buckets.go
new file mode 100644 (file)
index 0000000..2d50826
--- /dev/null
@@ -0,0 +1,129 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// ListBucketsSample shows the list bucket, including default and specified parameters.
+func ListBucketsSample() {
+       var myBuckets = []string{
+               "my-bucket-1",
+               "my-bucket-11",
+               "my-bucket-2",
+               "my-bucket-21",
+               "my-bucket-22",
+               "my-bucket-3",
+               "my-bucket-31",
+               "my-bucket-32"}
+
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Remove other bucket
+       lbr, err := client.ListBuckets()
+       if err != nil {
+               HandleError(err)
+       }
+
+       for _, bucket := range lbr.Buckets {
+               err = client.DeleteBucket(bucket.Name)
+               if err != nil {
+                       //HandleError(err)
+               }
+       }
+
+       // Create bucket
+       for _, bucketName := range myBuckets {
+               err = client.CreateBucket(bucketName)
+               if err != nil {
+                       HandleError(err)
+               }
+       }
+
+       // Case 1: Use default parameter
+       lbr, err = client.ListBuckets()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my buckets:", lbr.Buckets)
+
+       // Case 2: Specify the max keys : 3
+       lbr, err = client.ListBuckets(oss.MaxKeys(3))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my buckets max num:", lbr.Buckets)
+
+       // Case 3: Specify the prefix of buckets.
+       lbr, err = client.ListBuckets(oss.Prefix("my-bucket-2"))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my buckets prefix :", lbr.Buckets)
+
+       // Case 4: Specify the marker to return from a certain one
+       lbr, err = client.ListBuckets(oss.Marker("my-bucket-22"))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my buckets marker :", lbr.Buckets)
+
+       // Case 5: Specify max key and list all buckets with paging, return 3 items each time.
+       marker := oss.Marker("")
+       for {
+               lbr, err = client.ListBuckets(oss.MaxKeys(3), marker)
+               if err != nil {
+                       HandleError(err)
+               }
+               marker = oss.Marker(lbr.NextMarker)
+               fmt.Println("my buckets page :", lbr.Buckets)
+               if !lbr.IsTruncated {
+                       break
+               }
+       }
+
+       // Case 6: List bucket with marker and max key; return 3 items each time.
+       marker = oss.Marker("my-bucket-22")
+       for {
+               lbr, err = client.ListBuckets(oss.MaxKeys(3), marker)
+               if err != nil {
+                       HandleError(err)
+               }
+               marker = oss.Marker(lbr.NextMarker)
+               fmt.Println("my buckets marker&page :", lbr.Buckets)
+               if !lbr.IsTruncated {
+                       break
+               }
+       }
+
+       // Case 7: List bucket with prefix and max key, return 3 items each time.
+       pre := oss.Prefix("my-bucket-2")
+       marker = oss.Marker("")
+       for {
+               lbr, err = client.ListBuckets(oss.MaxKeys(3), pre, marker)
+               if err != nil {
+                       HandleError(err)
+               }
+               pre = oss.Prefix(lbr.Prefix)
+               marker = oss.Marker(lbr.NextMarker)
+               fmt.Println("my buckets prefix&page :", lbr.Buckets)
+               if !lbr.IsTruncated {
+                       break
+               }
+       }
+
+       // Delete bucket
+       for _, bucketName := range myBuckets {
+               err = client.DeleteBucket(bucketName)
+               if err != nil {
+                       HandleError(err)
+               }
+       }
+
+       fmt.Println("ListsBucketSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/list_objects.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/list_objects.go
new file mode 100644 (file)
index 0000000..d0b0836
--- /dev/null
@@ -0,0 +1,148 @@
+package sample
+
+import (
+       "fmt"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// ListObjectsSample shows the file list, including default and specified parameters.
+func ListObjectsSample() {
+       var myObjects = []Object{
+               {"my-object-1", ""},
+               {"my-object-11", ""},
+               {"my-object-2", ""},
+               {"my-object-21", ""},
+               {"my-object-22", ""},
+               {"my-object-3", ""},
+               {"my-object-31", ""},
+               {"my-object-32", ""}}
+
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create objects
+       err = CreateObjects(bucket, myObjects)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Use default parameters
+       lor, err := bucket.ListObjects()
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my objects:", getObjectsFormResponse(lor))
+
+       // Case 2: Specify max keys
+       lor, err = bucket.ListObjects(oss.MaxKeys(3))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my objects max num:", getObjectsFormResponse(lor))
+
+       // Case 3: Specify prefix of objects
+       lor, err = bucket.ListObjects(oss.Prefix("my-object-2"))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my objects prefix :", getObjectsFormResponse(lor))
+
+       // Case 4: Specify the marker
+       lor, err = bucket.ListObjects(oss.Marker("my-object-22"))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my objects marker :", getObjectsFormResponse(lor))
+
+       // Case 5: List object with paging. each page has 3 objects
+       marker := oss.Marker("")
+       for {
+               lor, err = bucket.ListObjects(oss.MaxKeys(3), marker)
+               if err != nil {
+                       HandleError(err)
+               }
+               marker = oss.Marker(lor.NextMarker)
+               fmt.Println("my objects page :", getObjectsFormResponse(lor))
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Case 6: List object with paging , marker and max keys; return 3 items each time.
+       marker = oss.Marker("my-object-22")
+       for {
+               lor, err = bucket.ListObjects(oss.MaxKeys(3), marker)
+               if err != nil {
+                       HandleError(err)
+               }
+               marker = oss.Marker(lor.NextMarker)
+               fmt.Println("my objects marker&page :", getObjectsFormResponse(lor))
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       // Case 7: List object with paging , with prefix and max keys; return 2 items each time.
+       pre := oss.Prefix("my-object-2")
+       marker = oss.Marker("")
+       for {
+               lor, err = bucket.ListObjects(oss.MaxKeys(2), marker, pre)
+               if err != nil {
+                       HandleError(err)
+               }
+               pre = oss.Prefix(lor.Prefix)
+               marker = oss.Marker(lor.NextMarker)
+               fmt.Println("my objects prefix&page :", getObjectsFormResponse(lor))
+               if !lor.IsTruncated {
+                       break
+               }
+       }
+
+       err = DeleteObjects(bucket, myObjects)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 8: Combine the prefix and delimiter for grouping. ListObjectsResponse.Objects is the objects returned.
+       // ListObjectsResponse.CommonPrefixes is the common prefixes returned.
+       myObjects = []Object{
+               {"fun/test.txt", ""},
+               {"fun/test.jpg", ""},
+               {"fun/movie/001.avi", ""},
+               {"fun/movie/007.avi", ""},
+               {"fun/music/001.mp3", ""},
+               {"fun/music/001.mp3", ""}}
+
+       // Create object
+       err = CreateObjects(bucket, myObjects)
+       if err != nil {
+               HandleError(err)
+       }
+
+       lor, err = bucket.ListObjects(oss.Prefix("fun/"), oss.Delimiter("/"))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("my objects prefix :", getObjectsFormResponse(lor),
+               "common prefixes:", lor.CommonPrefixes)
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("ListObjectsSample completed")
+}
+
+func getObjectsFormResponse(lor oss.ListObjectsResult) string {
+       var output string
+       for _, object := range lor.Objects {
+               output += object.Key + "  "
+       }
+       return output
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/livechannel.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/livechannel.go
new file mode 100644 (file)
index 0000000..d258be3
--- /dev/null
@@ -0,0 +1,445 @@
+package sample
+
+import (
+       "fmt"
+       "io/ioutil"
+       "time"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// CreateLiveChannelSample Samples for create a live-channel
+func CreateLiveChannelSample() {
+       channelName := "create-livechannel"
+       //create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1 - Create live-channel with Completely configure
+       config := oss.LiveChannelConfiguration{
+               Description: "sample-for-livechannel", //description information, up to 128 bytes
+               Status:      "enabled",                //enabled or disabled
+               Target: oss.LiveChannelTarget{
+                       Type:         "HLS",                          //the type of object, only supports HLS, required
+                       FragDuration: 10,                             //the length of each ts object (in seconds), in the range [1,100], default: 5
+                       FragCount:    4,                              //the number of ts objects in the m3u8 object, in the range of [1,100], default: 3
+                       PlaylistName: "test-get-channel-status.m3u8", //the name of m3u8 object, which must end with ".m3u8" and the length range is [6,128],default: playlist.m3u8
+               },
+       }
+
+       result, err := bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       playURL := result.PlayUrls[0]
+       publishURL := result.PublishUrls[0]
+       fmt.Printf("create livechannel:%s  with config respones: playURL:%s, publishURL: %s\n", channelName, playURL, publishURL)
+
+       // Case 2 - Create live-channel only specified type of target which is required
+       simpleCfg := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS",
+               },
+       }
+       result, err = bucket.CreateLiveChannel(channelName, simpleCfg)
+       if err != nil {
+               HandleError(err)
+       }
+       playURL = result.PlayUrls[0]
+       publishURL = result.PublishUrls[0]
+       fmt.Printf("create livechannel:%s  with  simple config respones: playURL:%s, publishURL: %s\n", channelName, playURL, publishURL)
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("PutObjectSample completed")
+}
+
+// PutLiveChannelStatusSample Set the status of the live-channel sample: enabled/disabled
+func PutLiveChannelStatusSample() {
+       channelName := "put-livechannel-status"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS", //the type of object, only supports HLS, required
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1 - Set the status of live-channel to disabled
+       err = bucket.PutLiveChannelStatus(channelName, "disabled")
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2 - Set the status of live-channel to enabled
+       err = bucket.PutLiveChannelStatus(channelName, "enabled")
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("PutLiveChannelStatusSample completed")
+}
+
+// PostVodPlayListSample Sample for generate playlist
+func PostVodPlayListSample() {
+       channelName := "post-vod-playlist"
+       playlistName := "playlist.m3u8"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type:         "HLS", //the type of object, only supports HLS, required
+                       PlaylistName: "playlist.m3u8",
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //This stage you can push live stream, and after that you could generator playlist
+
+       endTime := time.Now().Add(-1 * time.Minute)
+       startTime := endTime.Add(-60 * time.Minute)
+       err = bucket.PostVodPlaylist(channelName, playlistName, startTime, endTime)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("PostVodPlayListSampleSample completed")
+}
+
+// GetVodPlayListSample Sample for generate playlist and return the content of the playlist
+func GetVodPlayListSample() {
+       channelName := "get-vod-playlist"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type:         "HLS", //the type of object, only supports HLS, required
+                       PlaylistName: "playlist.m3u8",
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //This stage you can push live stream, and after that you could generator playlist
+
+       endTime := time.Now().Add(-1 * time.Minute)
+       startTime := endTime.Add(-60 * time.Minute)
+       body, err := bucket.GetVodPlaylist(channelName, startTime, endTime)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Printf("content of playlist is:%v\n", string(data))
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("PostVodPlayListSampleSample completed")
+}
+
+// GetLiveChannelStatSample Sample for get the state of live-channel
+func GetLiveChannelStatSample() {
+       channelName := "get-livechannel-stat"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS", //the type of object, only supports HLS, required
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       stat, err := bucket.GetLiveChannelStat(channelName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       status := stat.Status
+       connectedTime := stat.ConnectedTime
+       remoteAddr := stat.RemoteAddr
+
+       audioBW := stat.Audio.Bandwidth
+       audioCodec := stat.Audio.Codec
+       audioSampleRate := stat.Audio.SampleRate
+
+       videoBW := stat.Video.Bandwidth
+       videoFrameRate := stat.Video.FrameRate
+       videoHeight := stat.Video.Height
+       videoWidth := stat.Video.Width
+
+       fmt.Printf("get channel stat:(%v, %v,%v, %v), audio(%v, %v, %v), video(%v, %v, %v, %v)\n", channelName, status, connectedTime, remoteAddr, audioBW, audioCodec, audioSampleRate, videoBW, videoFrameRate, videoHeight, videoWidth)
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("GetLiveChannelStatSample completed")
+}
+
+// GetLiveChannelInfoSample Sample for get the configuration infomation of live-channel
+func GetLiveChannelInfoSample() {
+       channelName := "get-livechannel-info"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS", //the type of object, only supports HLS, required
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       info, err := bucket.GetLiveChannelInfo(channelName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       desc := info.Description
+       status := info.Status
+       fragCount := info.Target.FragCount
+       fragDuation := info.Target.FragDuration
+       playlistName := info.Target.PlaylistName
+       targetType := info.Target.Type
+
+       fmt.Printf("get channel stat:(%v,%v, %v), target(%v, %v, %v, %v)\n", channelName, desc, status, fragCount, fragDuation, playlistName, targetType)
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("GetLiveChannelInfoSample completed")
+}
+
+// GetLiveChannelHistorySample  Sample for get push records of live-channel
+func GetLiveChannelHistorySample() {
+       channelName := "get-livechannel-info"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS", //the type of object, only supports HLS, required
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //at most return up to lastest 10 push records
+       history, err := bucket.GetLiveChannelHistory(channelName)
+       for _, record := range history.Record {
+               remoteAddr := record.RemoteAddr
+               startTime := record.StartTime
+               endTime := record.EndTime
+               fmt.Printf("get channel:%s history:(%v, %v, %v)\n", channelName, remoteAddr, startTime, endTime)
+       }
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("GetLiveChannelHistorySample completed")
+}
+
+// ListLiveChannelSample Samples for list live-channels with specified bucket name
+func ListLiveChannelSample() {
+       channelName := "list-livechannel"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS", //the type of object, only supports HLS, required
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: list all the live-channels
+       marker := ""
+       for {
+               // Set the marker value, the first time is "", the value of NextMarker that returned should as the marker in the next time
+               // At most return up to lastest 100 live-channels if "max-keys" is not specified
+               result, err := bucket.ListLiveChannel(oss.Marker(marker))
+               if err != nil {
+                       HandleError(err)
+               }
+
+               for _, channel := range result.LiveChannel {
+                       fmt.Printf("list livechannel: (%v, %v, %v, %v, %v, %v)\n", channel.Name, channel.Status, channel.Description, channel.LastModified, channel.PlayUrls[0], channel.PublishUrls[0])
+               }
+
+               if result.IsTruncated {
+                       marker = result.NextMarker
+               } else {
+                       break
+               }
+       }
+
+       // Case 2: Use the parameter "max-keys" to specify the maximum number of records returned, the value of max-keys cannot exceed 1000
+       // if "max-keys" the default value is 100
+       result, err := bucket.ListLiveChannel(oss.MaxKeys(10))
+       if err != nil {
+               HandleError(err)
+       }
+       for _, channel := range result.LiveChannel {
+               fmt.Printf("list livechannel: (%v, %v, %v, %v, %v, %v)\n", channel.Name, channel.Status, channel.Description, channel.LastModified, channel.PlayUrls[0], channel.PublishUrls[0])
+       }
+
+       // Case 3: Only list the live-channels with the value of parameter "prefix" as prefix
+       // max-keys, prefix, maker parameters can be combined
+       result, err = bucket.ListLiveChannel(oss.MaxKeys(10), oss.Prefix("list-"))
+       if err != nil {
+               HandleError(err)
+       }
+       for _, channel := range result.LiveChannel {
+               fmt.Printf("list livechannel: (%v, %v, %v, %v, %v, %v)\n", channel.Name, channel.Status, channel.Description, channel.LastModified, channel.PlayUrls[0], channel.PublishUrls[0])
+       }
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("ListLiveChannelSample completed")
+}
+
+// DeleteLiveChannelSample Sample for delete live-channel
+func DeleteLiveChannelSample() {
+       channelName := "delete-livechannel"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type: "HLS", //the type of object, only supports HLS, required
+               },
+       }
+
+       _, err = bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.DeleteLiveChannel(channelName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("DeleteLiveChannelSample completed")
+}
+
+// SignRtmpURLSample Sample for generate a RTMP push-stream signature URL for the trusted user to push the RTMP stream to the live channel.
+func SignRtmpURLSample() {
+       channelName := "sign-rtmp-url"
+       playlistName := "playlist.m3u8"
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       config := oss.LiveChannelConfiguration{
+               Target: oss.LiveChannelTarget{
+                       Type:         "HLS", //the type of object, only supports HLS, required
+                       PlaylistName: "playlist.m3u8",
+               },
+       }
+
+       result, err := bucket.CreateLiveChannel(channelName, config)
+       if err != nil {
+               HandleError(err)
+       }
+
+       playURL := result.PlayUrls[0]
+       publishURL := result.PublishUrls[0]
+       fmt.Printf("livechannel:%s, playURL:%s, publishURL: %s\n", channelName, playURL, publishURL)
+
+       signedRtmpURL, err := bucket.SignRtmpURL(channelName, playlistName, 3600)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Printf("livechannel:%s, sinedRtmpURL: %s\n", channelName, signedRtmpURL)
+
+       err = DeleteTestBucketAndLiveChannel(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("SignRtmpURLSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/new_bucket.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/new_bucket.go
new file mode 100644 (file)
index 0000000..2a375c1
--- /dev/null
@@ -0,0 +1,50 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// NewBucketSample shows how to initialize client and bucket
+func NewBucketSample() {
+       // New client
+       client, err := oss.New(endpoint, accessID, accessKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create bucket
+       err = client.CreateBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // New bucket
+       bucket, err := client.Bucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Put object, uploads an object
+       var objectName = "myobject"
+       err = bucket.PutObject(objectName, strings.NewReader("MyObjectValue"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete object, deletes an object
+       err = bucket.DeleteObject(objectName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete bucket
+       err = client.DeleteBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("NewBucketSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_acl.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_acl.go
new file mode 100755 (executable)
index 0000000..167de79
--- /dev/null
@@ -0,0 +1,44 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// ObjectACLSample shows how to set and get object ACL
+func ObjectACLSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create object
+       err = bucket.PutObject(objectKey, strings.NewReader("YoursObjectValue"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Set bucket ACL, valid ACLs are ACLPrivate、ACLPublicRead、ACLPublicReadWrite
+       err = bucket.SetObjectACL(objectKey, oss.ACLPrivate)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get object ACL, returns one of the three values: private、public-read、public-read-write
+       goar, err := bucket.GetObjectACL(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Object ACL:", goar.ACL)
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("ObjectACLSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_meta.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_meta.go
new file mode 100755 (executable)
index 0000000..6150d6b
--- /dev/null
@@ -0,0 +1,73 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// ObjectMetaSample shows how to get and set the object metadata
+func ObjectMetaSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete object
+       err = bucket.PutObject(objectKey, strings.NewReader("YoursObjectValue"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 0: Set bucket meta. one or more properties could be set
+       // Note: Meta is case insensitive
+       options := []oss.Option{
+               oss.Expires(futureDate),
+               oss.Meta("myprop", "mypropval")}
+       err = bucket.SetObjectMeta(objectKey, options...)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Get the object metadata. Only return basic meta information includes ETag, size and last modified.
+       props, err := bucket.GetObjectMeta(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Object Meta:", props)
+
+       // Case 2: Get all the detailed object meta including custom meta
+       props, err = bucket.GetObjectDetailedMeta(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Expires:", props.Get("Expires"))
+
+       // Case 3: Get the object's all metadata with contraints. When constraints are met, return the metadata.
+       props, err = bucket.GetObjectDetailedMeta(objectKey, oss.IfUnmodifiedSince(futureDate))
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("MyProp:", props.Get("X-Oss-Meta-Myprop"))
+
+       _, err = bucket.GetObjectDetailedMeta(objectKey, oss.IfModifiedSince(futureDate))
+       if err == nil {
+               HandleError(err)
+       }
+
+       goar, err := bucket.GetObjectACL(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Object ACL:", goar.ACL)
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("ObjectMetaSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_tagging.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/object_tagging.go
new file mode 100644 (file)
index 0000000..67271e9
--- /dev/null
@@ -0,0 +1,75 @@
+package sample
+
+import (
+       "fmt"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// ObjectTaggingSample shows how to set and get object Tagging
+func ObjectTaggingSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create object
+       err = bucket.PutObject(objectKey, strings.NewReader("ObjectTaggingSample"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 1: Set Tagging of object
+       tag1 := oss.Tag{
+               Key:   "key1",
+               Value: "value1",
+       }
+       tag2 := oss.Tag{
+               Key:   "key2",
+               Value: "value2",
+       }
+       tagging := oss.Tagging{
+               Tags: []oss.Tag{tag1, tag2},
+       }
+       err = bucket.PutObjectTagging(objectKey, tagging)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Get Tagging of object
+       taggingResult, err := bucket.GetObjectTagging(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Printf("Object Tagging: %v\n", taggingResult)
+
+       tag3 := oss.Tag{
+               Key:   "key3",
+               Value: "value3",
+       }
+
+       // Case 3: Put object with tagging
+       tagging = oss.Tagging{
+               Tags: []oss.Tag{tag1, tag2, tag3},
+       }
+       err = bucket.PutObject(objectKey, strings.NewReader("ObjectTaggingSample"), oss.SetTagging(tagging))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 4: Delete Tagging of object
+       err = bucket.DeleteObjectTagging(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("ObjectACLSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/put_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/put_object.go
new file mode 100755 (executable)
index 0000000..667eb2d
--- /dev/null
@@ -0,0 +1,145 @@
+package sample
+
+import (
+       "bytes"
+       "encoding/base64"
+       "encoding/json"
+       "fmt"
+       "os"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// PutObjectSample illustrates two methods for uploading a file: simple upload and multipart upload.
+func PutObjectSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       var val = "花间一壶酒,独酌无相亲。 举杯邀明月,对影成三人。"
+
+       // Case 1: Upload an object from a string
+       err = bucket.PutObject(objectKey, strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 2: Upload an object whose value is a byte[]
+       err = bucket.PutObject(objectKey, bytes.NewReader([]byte(val)))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 3: Upload the local file with file handle, user should open the file at first.
+       fd, err := os.Open(localFile)
+       if err != nil {
+               HandleError(err)
+       }
+       defer fd.Close()
+
+       err = bucket.PutObject(objectKey, fd)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 4: Upload an object with local file name, user need not open the file.
+       err = bucket.PutObjectFromFile(objectKey, localFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 5: Upload an object with specified properties, PutObject/PutObjectFromFile/UploadFile also support this feature.
+       options := []oss.Option{
+               oss.Expires(futureDate),
+               oss.ObjectACL(oss.ACLPublicRead),
+               oss.Meta("myprop", "mypropval"),
+       }
+       err = bucket.PutObject(objectKey, strings.NewReader(val), options...)
+       if err != nil {
+               HandleError(err)
+       }
+
+       props, err := bucket.GetObjectDetailedMeta(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("Object Meta:", props)
+
+       // Case 6: Upload an object with sever side encrpytion kms and kms id specified
+       err = bucket.PutObject(objectKey, strings.NewReader(val), oss.ServerSideEncryption("KMS"), oss.ServerSideEncryptionKeyID(kmsID))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 7: Upload an object with callback
+       callbackMap := map[string]string{}
+       callbackMap["callbackUrl"] = "http://oss-demo.aliyuncs.com:23450"
+       callbackMap["callbackHost"] = "oss-cn-hangzhou.aliyuncs.com"
+       callbackMap["callbackBody"] = "filename=${object}&size=${size}&mimeType=${mimeType}"
+       callbackMap["callbackBodyType"] = "application/x-www-form-urlencoded"
+
+       callbackBuffer := bytes.NewBuffer([]byte{})
+       callbackEncoder := json.NewEncoder(callbackBuffer)
+       //do not encode '&' to "\u0026"
+       callbackEncoder.SetEscapeHTML(false)
+       err = callbackEncoder.Encode(callbackMap)
+       if err != nil {
+               HandleError(err)
+       }
+
+       callbackVal := base64.StdEncoding.EncodeToString(callbackBuffer.Bytes())
+       err = bucket.PutObject(objectKey, strings.NewReader(val), oss.Callback(callbackVal))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 8: Big file's multipart upload. It supports concurrent upload with resumable upload.
+       // multipart upload with 100K as part size. By default 1 coroutine is used and no checkpoint is used.
+       err = bucket.UploadFile(objectKey, localFile, 100*1024)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Part size is 100K and 3 coroutines are used
+       err = bucket.UploadFile(objectKey, localFile, 100*1024, oss.Routines(3))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Part size is 100K and 3 coroutines with checkpoint
+       err = bucket.UploadFile(objectKey, localFile, 100*1024, oss.Routines(3), oss.Checkpoint(true, ""))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Specify the local file path for checkpoint files.
+       // the 2nd parameter of Checkpoint can specify the file path, when the file path is empty, it will upload the directory.
+       err = bucket.UploadFile(objectKey, localFile, 100*1024, oss.Checkpoint(true, localFile+".cp"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Case 9: Set the storage classes.OSS provides three storage classes: Standard, Infrequent Access, and Archive.
+       // Supported APIs: PutObject, CopyObject, UploadFile, AppendObject...
+       err = bucket.PutObject(objectKey, strings.NewReader(val), oss.ObjectStorageClass("IA"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Upload a local file, and set the object's storage-class to 'Archive'.
+       err = bucket.UploadFile(objectKey, localFile, 100*1024, oss.ObjectStorageClass("Archive"))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("PutObjectSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_data.csv b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_data.csv
new file mode 100644 (file)
index 0000000..0c3f3a9
--- /dev/null
@@ -0,0 +1,304 @@
+Year,StateAbbr,StateDesc,CityName,GeographicLevel,DataSource,Category,UniqueID,Measure,Data_Value_Unit,DataValueTypeID,Data_Value_Type,Data_Value,Low_Confidence_Limit,High_Confidence_Limit,Data_Value_Footnote_Symbol,Data_Value_Footnote,PopulationCount,GeoLocation,CategoryID,MeasureId,CityFIPS,TractFIPS,Short_Question_Text
+2015,US,United States,,US,BRFSS,Prevention,59,Current lack of health insurance among adults aged 18–64 Years,%,AgeAdjPrv,Age-adjusted prevalence,15.4,15.1,15.7,,,308745538,,PREVENT,ACCESS2,,,Health Insurance
+2015,US,United States,,US,BRFSS,Prevention,59,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,14.8,14.5,15.0,,,308745538,,PREVENT,ACCESS2,,,Health Insurance
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Arthritis among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,22.5,22.3,22.7,,,308745538,,HLTHOUT,ARTHRITIS,,,Arthritis
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,24.7,24.5,24.9,,,308745538,,HLTHOUT,ARTHRITIS,,,Arthritis
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Binge drinking among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,17.2,16.9,17.4,,,308745538,,UNHBEH,BINGE,,,Binge Drinking
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,16.3,16.1,16.5,,,308745538,,UNHBEH,BINGE,,,Binge Drinking
+2015,US,United States,,US,BRFSS,Health Outcomes,59,High blood pressure among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,29.4,29.2,29.7,,,308745538,,HLTHOUT,BPHIGH,,,High Blood Pressure
+2015,US,United States,,US,BRFSS,Health Outcomes,59,High blood pressure among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.9,31.6,32.2,,,308745538,,HLTHOUT,BPHIGH,,,High Blood Pressure
+2015,US,United States,,US,BRFSS,Prevention,59,Taking medicine for high blood pressure control among adults aged >=18 Years with high blood pressure,%,AgeAdjPrv,Age-adjusted prevalence,57.7,57.1,58.4,,,308745538,,PREVENT,BPMED,,,Taking BP Medication
+2015,US,United States,,US,BRFSS,Prevention,59,Taking medicine for high blood pressure control among adults aged >=18 Years with high blood pressure,%,CrdPrv,Crude prevalence,77.2,76.8,77.7,,,308745538,,PREVENT,BPMED,,,Taking BP Medication
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Cancer (excluding skin cancer) among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,6.0,5.9,6.1,,,308745538,,HLTHOUT,CANCER,,,Cancer (except skin)
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Cancer (excluding skin cancer) among adults aged >=18 Years,%,CrdPrv,Crude prevalence,6.6,6.5,6.8,,,308745538,,HLTHOUT,CANCER,,,Cancer (except skin)
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Current asthma among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,8.7,8.6,8.9,,,308745538,,HLTHOUT,CASTHMA,,,Current Asthma
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Current asthma among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.8,8.6,9.0,,,308745538,,HLTHOUT,CASTHMA,,,Current Asthma
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Coronary heart disease among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,5.6,5.5,5.8,,,308745538,,HLTHOUT,CHD,,,Coronary Heart Disease
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Coronary heart disease among adults aged >=18 Years,%,CrdPrv,Crude prevalence,6.3,6.2,6.5,,,308745538,,HLTHOUT,CHD,,,Coronary Heart Disease
+2015,US,United States,,US,BRFSS,Prevention,59,Visits to doctor for routine checkup within the past Year among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,68.6,68.3,68.9,,,308745538,,PREVENT,CHECKUP,,,Annual Checkup
+2015,US,United States,,US,BRFSS,Prevention,59,Visits to doctor for routine checkup within the past Year among adults aged >=18 Years,%,CrdPrv,Crude prevalence,70.0,69.7,70.3,,,308745538,,PREVENT,CHECKUP,,,Annual Checkup
+2015,US,United States,,US,BRFSS,Prevention,59,Cholesterol screening among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,75.2,74.9,75.5,,,308745538,,PREVENT,CHOLSCREEN,,,Cholesterol Screening
+2015,US,United States,,US,BRFSS,Prevention,59,Cholesterol screening among adults aged >=18 Years,%,CrdPrv,Crude prevalence,77.0,76.7,77.3,,,308745538,,PREVENT,CHOLSCREEN,,,Cholesterol Screening
+2014,US,United States,,US,BRFSS,Prevention,59,"Fecal occult blood test, sigmoidoscopy, or colonoscopy among adults aged 50–75 Years",%,AgeAdjPrv,Age-adjusted prevalence,64.0,63.5,64.5,,,308745538,,PREVENT,COLON_SCREEN,,,Colorectal Cancer Screening
+2014,US,United States,,US,BRFSS,Prevention,59,"Fecal occult blood test, sigmoidoscopy, or colonoscopy among adults aged 50–75 Years",%,CrdPrv,Crude prevalence,63.7,63.3,64.1,,,308745538,,PREVENT,COLON_SCREEN,,,Colorectal Cancer Screening
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Chronic obstructive pulmonary disease among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,5.7,5.6,5.9,,,308745538,,HLTHOUT,COPD,,,COPD
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Chronic obstructive pulmonary disease among adults aged >=18 Years,%,CrdPrv,Crude prevalence,6.3,6.2,6.4,,,308745538,,HLTHOUT,COPD,,,COPD
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Physical health not good for >=14 days among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,11.5,11.3,11.7,,,308745538,,HLTHOUT,PHLTH,,,Physical Health
+2014,US,United States,,US,BRFSS,Prevention,59,"Older adult men aged >=65 Years who are up to date on a core set of clinical preventive services: Flu shot past Year, PPV shot ever, Colorectal cancer screening",%,AgeAdjPrv,Age-adjusted prevalence,32.9,32.1,33.6,,,308745538,,PREVENT,COREM,,,Core preventive services for older men
+2014,US,United States,,US,BRFSS,Prevention,59,"Older adult men aged >=65 Years who are up to date on a core set of clinical preventive services: Flu shot past Year, PPV shot ever, Colorectal cancer screening",%,CrdPrv,Crude prevalence,32.3,31.5,33.0,,,308745538,,PREVENT,COREM,,,Core preventive services for older men
+2014,US,United States,,US,BRFSS,Prevention,59,"Older adult women aged >=65 Years who are up to date on a core set of clinical preventive services: Flu shot past Year, PPV shot ever, Colorectal cancer screening, and Mammogram past 2 Years",%,AgeAdjPrv,Age-adjusted prevalence,30.7,30.2,31.4,,,308745538,,PREVENT,COREW,,,Core preventive services for older women
+2014,US,United States,,US,BRFSS,Prevention,59,"Older adult women aged >=65 Years who are up to date on a core set of clinical preventive services: Flu shot past Year, PPV shot ever, Colorectal cancer screening, and Mammogram past 2 Years",%,CrdPrv,Crude prevalence,30.7,30.1,31.3,,,308745538,,PREVENT,COREW,,,Core preventive services for older women
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Current smoking among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,17.1,16.8,17.3,,,308745538,,UNHBEH,CSMOKING,,,Current Smoking
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Current smoking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,16.8,16.6,17.0,,,308745538,,UNHBEH,CSMOKING,,,Current Smoking
+2014,US,United States,,US,BRFSS,Prevention,59,Visits to dentist or dental clinic among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,64.1,63.8,64.4,,,308745538,,PREVENT,DENTAL,,,Dental Visit
+2014,US,United States,,US,BRFSS,Prevention,59,Visits to dentist or dental clinic among adults aged >=18 Years,%,CrdPrv,Crude prevalence,64.4,64.1,64.7,,,308745538,,PREVENT,DENTAL,,,Dental Visit
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Diagnosed diabetes among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,9.3,9.2,9.5,,,308745538,,HLTHOUT,DIABETES,,,Diabetes
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Diagnosed diabetes among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.4,10.3,10.6,,,308745538,,HLTHOUT,DIABETES,,,Diabetes
+2015,US,United States,,US,BRFSS,Health Outcomes,59,High cholesterol among adults aged >=18 Years who have been screened in the past 5 Years,%,AgeAdjPrv,Age-adjusted prevalence,31.1,30.8,31.4,,,308745538,,HLTHOUT,HIGHCHOL,,,High Cholesterol
+2015,US,United States,,US,BRFSS,Health Outcomes,59,High cholesterol among adults aged >=18 Years who have been screened in the past 5 Years,%,CrdPrv,Crude prevalence,37.1,36.8,37.4,,,308745538,,HLTHOUT,HIGHCHOL,,,High Cholesterol
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Chronic kidney disease among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,2.5,2.4,2.6,,,308745538,,HLTHOUT,KIDNEY,,,Chronic Kidney Disease
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Chronic kidney disease among adults aged >=18 Years,%,CrdPrv,Crude prevalence,2.7,2.6,2.8,,,308745538,,HLTHOUT,KIDNEY,,,Chronic Kidney Disease
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,No leisure-time physical activity among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,25.5,25.2,25.8,,,308745538,,UNHBEH,LPA,,,Physical Inactivity
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,No leisure-time physical activity among adults aged >=18 Years,%,CrdPrv,Crude prevalence,25.9,25.6,26.1,,,308745538,,UNHBEH,LPA,,,Physical Inactivity
+2014,US,United States,,US,BRFSS,Prevention,59,Mammography use among women aged 50–74 Years,%,AgeAdjPrv,Age-adjusted prevalence,75.5,75.1,75.9,,,308745538,,PREVENT,MAMMOUSE,,,Mammography
+2014,US,United States,,US,BRFSS,Prevention,59,Mammography use among women aged 50–74 Years,%,CrdPrv,Crude prevalence,75.8,75.4,76.2,,,308745538,,PREVENT,MAMMOUSE,,,Mammography
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Mental health not good for >=14 days among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,11.6,11.4,11.8,,,308745538,,HLTHOUT,MHLTH,,,Mental Health
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Mental health not good for >=14 days among adults aged >=18 Years,%,CrdPrv,Crude prevalence,11.4,11.3,11.6,,,308745538,,HLTHOUT,MHLTH,,,Mental Health
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Obesity among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,28.7,28.4,29.0,,,308745538,,UNHBEH,OBESITY,,,Obesity
+2015,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Obesity among adults aged >=18 Years,%,CrdPrv,Crude prevalence,28.8,28.6,29.1,,,308745538,,UNHBEH,OBESITY,,,Obesity
+2014,US,United States,,US,BRFSS,Prevention,59,Papanicolaou smear use among adult women aged 21–65 Years,%,AgeAdjPrv,Age-adjusted prevalence,81.1,80.6,81.6,,,308745538,,PREVENT,PAPTEST,,,Pap Smear Test
+2014,US,United States,,US,BRFSS,Prevention,59,Papanicolaou smear use among adult women aged 21–65 Years,%,CrdPrv,Crude prevalence,81.8,81.3,82.2,,,308745538,,PREVENT,PAPTEST,,,Pap Smear Test
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Physical health not good for >=14 days among adults aged >=18 Years,%,CrdPrv,Crude prevalence,12.0,11.8,12.2,,,308745538,,HLTHOUT,PHLTH,,,Physical Health
+2014,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Sleeping less than 7 hours among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,35.1,34.8,35.5,,,308745538,,UNHBEH,SLEEP,,,Sleep < 7 hours
+2014,US,United States,,US,BRFSS,Unhealthy Behaviors,59,Sleeping less than 7 hours among adults aged >=18 Years,%,CrdPrv,Crude prevalence,34.8,34.5,35.1,,,308745538,,UNHBEH,SLEEP,,,Sleep < 7 hours
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Stroke among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,2.8,2.7,2.8,,,308745538,,HLTHOUT,STROKE,,,Stroke
+2015,US,United States,,US,BRFSS,Health Outcomes,59,Stroke among adults aged >=18 Years,%,CrdPrv,Crude prevalence,3.0,3.0,3.1,,,308745538,,HLTHOUT,STROKE,,,Stroke
+2014,US,United States,,US,BRFSS,Health Outcomes,59,All teeth lost among adults aged >=65 Years,%,AgeAdjPrv,Age-adjusted prevalence,15.4,15.0,15.8,,,308745538,,HLTHOUT,TEETHLOST,,,Teeth Loss
+2014,US,United States,,US,BRFSS,Health Outcomes,59,All teeth lost among adults aged >=65 Years,%,CrdPrv,Crude prevalence,14.9,14.6,15.3,,,308745538,,HLTHOUT,TEETHLOST,,,Teeth Loss
+2015,AL,Alabama,Birmingham,City,BRFSS,Prevention,0107000,Current lack of health insurance among adults aged 18–64 Years,%,AgeAdjPrv,Age-adjusted prevalence,19.8,19.5,20.2,,,212237,"(33.5275663773, -86.7988174678)",PREVENT,ACCESS2,0107000,,Health Insurance
+2015,AL,Alabama,Birmingham,City,BRFSS,Prevention,0107000,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,19.6,19.2,20.0,,,212237,"(33.5275663773, -86.7988174678)",PREVENT,ACCESS2,0107000,,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073000100,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,23.9,21.2,27.2,,,3042,"(33.5794328326, -86.7228323926)",PREVENT,ACCESS2,0107000,01073000100,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073000300,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,28.8,25.4,32.4,,,2735,"(33.5428208686, -86.752433978)",PREVENT,ACCESS2,0107000,01073000300,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073000400,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.1,22.6,29.9,,,3338,"(33.5632449633, -86.7640474064)",PREVENT,ACCESS2,0107000,01073000400,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073000500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,28.1,24.6,32.0,,,2864,"(33.5442404594, -86.7749130719)",PREVENT,ACCESS2,0107000,01073000500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073000700,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,31.8,27.0,36.7,,,2577,"(33.5525406139, -86.8016893706)",PREVENT,ACCESS2,0107000,01073000700,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073000800,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,22.4,19.1,26.1,,,3859,"(33.549697789, -86.8330944744)",PREVENT,ACCESS2,0107000,01073000800,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073001100,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,16.8,13.7,20.5,,,5354,"(33.5429143325, -86.8756782852)",PREVENT,ACCESS2,0107000,01073001100,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073001200,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,24.6,22.2,27.2,,,2876,"(33.5278767706, -86.8604161686)",PREVENT,ACCESS2,0107000,01073001200,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073001400,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,22.0,18.4,25.7,,,2181,"(33.5261497258, -86.835146606)",PREVENT,ACCESS2,0107000,01073001400,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073001500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.3,23.1,29.4,,,3189,"(33.5298727342, -86.8197191685)",PREVENT,ACCESS2,0107000,01073001500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073001600,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.8,22.9,30.8,,,3390,"(33.5372993423, -86.8036590482)",PREVENT,ACCESS2,0107000,01073001600,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073001902,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.9,24.1,29.8,,,1894,"(33.5532050997, -86.7429801603)",PREVENT,ACCESS2,0107000,01073001902,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002000,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,24.4,20.8,28.2,,,3885,"(33.5541574106, -86.7167229915)",PREVENT,ACCESS2,0107000,01073002000,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002100,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.5,18.1,25.0,,,3186,"(33.5650015942, -86.7101024766)",PREVENT,ACCESS2,0107000,01073002100,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002200,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.7,18.7,25.0,,,2630,"(33.5521301205, -86.7276759508)",PREVENT,ACCESS2,0107000,01073002200,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002303,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,27.0,23.7,30.7,,,2936,"(33.5383153207, -86.7270445428)",PREVENT,ACCESS2,0107000,01073002303,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002305,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,9.9,8.2,12.1,,,2952,"(33.5333415976, -86.7479566084)",PREVENT,ACCESS2,0107000,01073002305,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002306,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,9.5,8.1,11.2,,,3257,"(33.5213873564, -86.7490031289)",PREVENT,ACCESS2,0107000,01073002306,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002400,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,25.1,22.4,27.8,,,3629,"(33.5260748309, -86.7830315488)",PREVENT,ACCESS2,0107000,01073002400,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002700,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,20.7,16.8,24.9,,,3992,"(33.5176008419, -86.8106887452)",PREVENT,ACCESS2,0107000,01073002700,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073002900,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,25.7,21.5,29.9,,,2064,"(33.5132498864, -86.83004749)",PREVENT,ACCESS2,0107000,01073002900,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003001,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,18.4,15.3,22.4,,,3779,"(33.5125158094, -86.8577164946)",PREVENT,ACCESS2,0107000,01073003001,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003002,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.3,21.7,31.3,,,2203,"(33.512258109, -86.8441439907)",PREVENT,ACCESS2,0107000,01073003002,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003100,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,23.2,20.2,26.7,,,3637,"(33.5059655756, -86.8745506086)",PREVENT,ACCESS2,0107000,01073003100,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003200,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,28.7,25.0,32.8,,,931,"(33.5094018502, -86.8859081961)",PREVENT,ACCESS2,0107000,01073003200,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003300,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,22.2,19.1,25.7,,,947,"(33.5171261108, -86.8913819749)",PREVENT,ACCESS2,0107000,01073003300,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003400,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.8,23.0,30.9,,,2477,"(33.5052229234, -86.9014844656)",PREVENT,ACCESS2,0107000,01073003400,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,22.3,19.1,25.7,,,2780,"(33.5065714011, -86.9195910063)",PREVENT,ACCESS2,0107000,01073003500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003600,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,17.0,14.5,19.6,,,4683,"(33.48476397, -86.8981392947)",PREVENT,ACCESS2,0107000,01073003600,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003700,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.6,19.2,23.9,,,5063,"(33.4969018589, -86.8907729426)",PREVENT,ACCESS2,0107000,01073003700,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003802,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,19.0,16.7,21.6,,,5409,"(33.4785707794, -86.890000907)",PREVENT,ACCESS2,0107000,01073003802,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003803,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,20.9,17.7,24.2,,,4199,"(33.485945214, -86.869692186)",PREVENT,ACCESS2,0107000,01073003803,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073003900,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,29.9,26.9,33.0,,,1783,"(33.4989959327, -86.8647600038)",PREVENT,ACCESS2,0107000,01073003900,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004000,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,25.8,21.4,30.3,,,3772,"(33.4953246015, -86.8516232073)",PREVENT,ACCESS2,0107000,01073004000,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004200,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,23.4,20.8,26.1,,,2341,"(33.5007439361, -86.8270720379)",PREVENT,ACCESS2,0107000,01073004200,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,22.7,19.3,27.4,,,5003,"(33.5041857556, -86.8033798346)",PREVENT,ACCESS2,0107000,01073004500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004701,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,10.6,8.6,13.4,,,3480,"(33.5075242148, -86.7836675838)",PREVENT,ACCESS2,0107000,01073004701,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004702,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,7.1,6.1,8.7,,,2944,"(33.5119902661, -86.7694550989)",PREVENT,ACCESS2,0107000,01073004702,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004800,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,8.7,7.3,10.3,,,1861,"(33.4989064008, -86.78269914)",PREVENT,ACCESS2,0107000,01073004800,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004901,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,11.0,9.1,13.2,,,1167,"(33.4971595645, -86.7917440668)",PREVENT,ACCESS2,0107000,01073004901,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073004902,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,15.2,12.5,18.5,,,3146,"(33.4935824043, -86.8009294603)",PREVENT,ACCESS2,0107000,01073004902,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005000,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,17.9,15.4,20.7,,,3482,"(33.4866689795, -86.8173262831)",PREVENT,ACCESS2,0107000,01073005000,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005101,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,30.5,26.5,34.4,,,1507,"(33.4945909008, -86.834763936)",PREVENT,ACCESS2,0107000,01073005101,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005103,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,17.5,14.4,20.7,,,2587,"(33.485714885, -86.8327817467)",PREVENT,ACCESS2,0107000,01073005103,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005104,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,24.9,21.3,28.9,,,2881,"(33.4749941816, -86.8335421747)",PREVENT,ACCESS2,0107000,01073005104,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005200,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,20.2,16.4,24.2,,,3740,"(33.4806708775, -86.8508671514)",PREVENT,ACCESS2,0107000,01073005200,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005302,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,12.8,10.9,15.1,,,3463,"(33.5766456449, -86.6965590316)",PREVENT,ACCESS2,0107000,01073005302,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,26.5,22.9,30.7,,,1824,"(33.5670293898, -86.8005567213)",PREVENT,ACCESS2,0107000,01073005500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005600,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,12.3,10.0,15.0,,,4367,"(33.5200981234, -86.7272063198)",PREVENT,ACCESS2,0107000,01073005600,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005701,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,18.9,15.7,22.3,,,2372,"(33.4629543329, -86.8898406628)",PREVENT,ACCESS2,0107000,01073005701,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005702,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,19.8,16.4,23.3,,,3413,"(33.4698691385, -86.874290602)",PREVENT,ACCESS2,0107000,01073005702,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005800,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,19.3,16.4,22.3,,,4216,"(33.479062325, -86.8128063089)",PREVENT,ACCESS2,0107000,01073005800,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005903,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,15.9,13.9,18.0,,,4933,"(33.597162309, -86.6766736351)",PREVENT,ACCESS2,0107000,01073005903,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005905,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.4,18.2,24.7,,,5039,"(33.603988456, -86.7008123418)",PREVENT,ACCESS2,0107000,01073005905,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005907,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,12.5,10.3,14.9,,,1975,"(33.6142861501, -86.6691996417)",PREVENT,ACCESS2,0107000,01073005907,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005908,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,20.9,18.1,23.7,,,1621,"(33.6182924432, -86.6801483084)",PREVENT,ACCESS2,0107000,01073005908,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005909,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,14.4,11.8,17.5,,,2524,"(33.611811773, -86.7214221514)",PREVENT,ACCESS2,0107000,01073005909,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073005910,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,14.7,12.6,17.1,,,4612,"(33.6299017499, -86.7194311229)",PREVENT,ACCESS2,0107000,01073005910,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.8,18.2,25.9,,,114,"(33.4363786806, -86.9128923072)",PREVENT,ACCESS2,0107000,01073010500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010701,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,18.5,14.4,23.6,,,74,"(33.473886155, -86.8146487762)",PREVENT,ACCESS2,0107000,01073010701,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010706,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,13.5,11.0,16.3,,,1528,"(33.4443709442, -86.8405352645)",PREVENT,ACCESS2,0107000,01073010706,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010801,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,5.2,4.4,6.3,,,168,"(33.514097853, -86.7466971362)",PREVENT,ACCESS2,0107000,01073010801,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010802,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,5.0,3.9,6.5,,,172,"(33.4885493477, -86.780843024)",PREVENT,ACCESS2,0107000,01073010802,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010803,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,11.3,9.0,14.0,,,514,"(33.5229093892, -86.7102618642)",PREVENT,ACCESS2,0107000,01073010803,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073010805,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,7.3,5.5,9.9,,,86,"(33.4952792472, -86.6987184974)",PREVENT,ACCESS2,0107000,01073010805,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011104,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,13.6,11.4,16.1,,,1688,"(33.6159436433, -86.6557892507)",PREVENT,ACCESS2,0107000,01073011104,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011107,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,42,"(33.5804845249, -86.6301110961)",PREVENT,ACCESS2,0107000,01073011107,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011108,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,9,"(33.6050742596, -86.6316729386)",PREVENT,ACCESS2,0107000,01073011108,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011207,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,17.7,15.1,20.6,,,815,"(33.6718848706, -86.6772510465)",PREVENT,ACCESS2,0107000,01073011207,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011209,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,20.2,17.2,24.2,,,1062,"(33.6557189992, -86.7050698349)",PREVENT,ACCESS2,0107000,01073011209,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011210,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.5,17.0,26.7,,,1385,"(33.6641893755, -86.6956170686)",PREVENT,ACCESS2,0107000,01073011210,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011803,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,18.1,15.4,21.3,,,928,"(33.6252575173, -86.6998610409)",PREVENT,ACCESS2,0107000,01073011803,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011804,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,18.3,15.2,21.9,,,1157,"(33.6474916175, -86.7042974424)",PREVENT,ACCESS2,0107000,01073011804,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011901,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,6,"(33.6355414646, -86.736946691)",PREVENT,ACCESS2,0107000,01073011901,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073011904,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,14.4,12.1,16.8,,,1915,"(33.593140185, -86.7357930541)",PREVENT,ACCESS2,0107000,01073011904,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012001,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,14.5,12.5,16.7,,,304,"(33.5919486112, -86.864384068)",PREVENT,ACCESS2,0107000,01073012001,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012002,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,44,"(33.5859234197, -86.8357007188)",PREVENT,ACCESS2,0107000,01073012002,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012200,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,23,"(33.5967441904, -87.0879396857)",PREVENT,ACCESS2,0107000,01073012200,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012302,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,12.7,10.6,15.2,,,144,"(33.5542816352, -87.0544691416)",PREVENT,ACCESS2,0107000,01073012302,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012305,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,12.5,10.2,15.1,,,403,"(33.4695358064, -86.96831739)",PREVENT,ACCESS2,0107000,01073012305,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012401,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,11.4,8.9,14.2,,,1066,"(33.5571951048, -86.8777935049)",PREVENT,ACCESS2,0107000,01073012401,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012402,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,16.7,14.6,19.0,,,418,"(33.549984172, -86.8994543327)",PREVENT,ACCESS2,0107000,01073012402,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012500,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.0,17.6,24.4,,,410,"(33.529160486, -86.9346476445)",PREVENT,ACCESS2,0107000,01073012500,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012602,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,17.5,15.7,19.6,,,371,"(33.570164674, -86.666430582)",PREVENT,ACCESS2,0107000,01073012602,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012701,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,44,"(33.5484078071, -86.6323773455)",PREVENT,ACCESS2,0107000,01073012701,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012703,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,11.3,8.6,14.9,,,498,"(33.4681180943, -86.6671888213)",PREVENT,ACCESS2,0107000,01073012703,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012704,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,8.9,6.8,11.5,,,113,"(33.5034195908, -86.6180983403)",PREVENT,ACCESS2,0107000,01073012704,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012803,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,8.6,6.7,11.2,,,1261,"(33.4439425865, -86.7212936938)",PREVENT,ACCESS2,0107000,01073012803,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073012910,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,9,"(33.4345805042, -86.7263292059)",PREVENT,ACCESS2,0107000,01073012910,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073013002,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.3,17.1,25.6,,,1514,"(33.46604181, -86.8567287797)",PREVENT,ACCESS2,0107000,01073013002,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073013100,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,21.8,18.8,24.9,,,4424,"(33.44880214, -86.8878401579)",PREVENT,ACCESS2,0107000,01073013100,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073013300,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,23.5,19.5,27.5,,,1782,"(33.4396443569, -86.9248768665)",PREVENT,ACCESS2,0107000,01073013300,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073013901,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,18.0,14.8,21.7,,,952,"(33.4729384906, -86.9547337648)",PREVENT,ACCESS2,0107000,01073013901,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073014302,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,10.0,8.3,12.1,,,2778,"(33.4244658829, -86.8841474217)",PREVENT,ACCESS2,0107000,01073014302,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01073014413,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,7.6,5.9,9.8,,,397,"(33.4226593117, -86.8508620751)",PREVENT,ACCESS2,0107000,01073014413,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01117030213,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,9.3,7.7,11.4,,,644,"(33.4395975193, -86.6735959359)",PREVENT,ACCESS2,0107000,01117030213,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01117030217,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,16,"(33.4556995763, -86.6520208639)",PREVENT,ACCESS2,0107000,01117030217,Health Insurance
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Prevention,0107000-01117030303,Current lack of health insurance among adults aged 18–64 Years,%,CrdPrv,Crude prevalence,9.9,8.1,12.0,,,968,"(33.4258661239, -86.713819356)",PREVENT,ACCESS2,0107000,01117030303,Health Insurance
+2015,AL,Alabama,Birmingham,City,BRFSS,Health Outcomes,0107000,Arthritis among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,31.0,30.8,31.1,,,212237,"(33.5275663773, -86.7988174678)",HLTHOUT,ARTHRITIS,0107000,,Arthritis
+2015,AL,Alabama,Birmingham,City,BRFSS,Health Outcomes,0107000,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,30.9,30.8,31.1,,,212237,"(33.5275663773, -86.7988174678)",HLTHOUT,ARTHRITIS,0107000,,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073000100,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.5,31.5,33.6,,,3042,"(33.5794328326, -86.7228323926)",HLTHOUT,ARTHRITIS,0107000,01073000100,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073000300,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.3,30.0,32.4,,,2735,"(33.5428208686, -86.752433978)",HLTHOUT,ARTHRITIS,0107000,01073000300,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073000400,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,34.6,33.2,35.9,,,3338,"(33.5632449633, -86.7640474064)",HLTHOUT,ARTHRITIS,0107000,01073000400,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073000500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,37.8,36.3,39.2,,,2864,"(33.5442404594, -86.7749130719)",HLTHOUT,ARTHRITIS,0107000,01073000500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073000700,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,38.5,37.1,39.9,,,2577,"(33.5525406139, -86.8016893706)",HLTHOUT,ARTHRITIS,0107000,01073000700,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073000800,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,38.0,36.5,39.3,,,3859,"(33.549697789, -86.8330944744)",HLTHOUT,ARTHRITIS,0107000,01073000800,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073001100,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,34.0,32.4,35.5,,,5354,"(33.5429143325, -86.8756782852)",HLTHOUT,ARTHRITIS,0107000,01073001100,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073001200,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.5,35.4,37.6,,,2876,"(33.5278767706, -86.8604161686)",HLTHOUT,ARTHRITIS,0107000,01073001200,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073001400,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,37.1,35.6,38.6,,,2181,"(33.5261497258, -86.835146606)",HLTHOUT,ARTHRITIS,0107000,01073001400,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073001500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,35.2,34.0,36.4,,,3189,"(33.5298727342, -86.8197191685)",HLTHOUT,ARTHRITIS,0107000,01073001500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073001600,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,39.9,38.4,41.3,,,3390,"(33.5372993423, -86.8036590482)",HLTHOUT,ARTHRITIS,0107000,01073001600,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073001902,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,35.1,34.0,36.1,,,1894,"(33.5532050997, -86.7429801603)",HLTHOUT,ARTHRITIS,0107000,01073001902,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002000,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.3,34.9,37.7,,,3885,"(33.5541574106, -86.7167229915)",HLTHOUT,ARTHRITIS,0107000,01073002000,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002100,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,33.1,31.8,34.3,,,3186,"(33.5650015942, -86.7101024766)",HLTHOUT,ARTHRITIS,0107000,01073002100,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002200,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.4,31.2,33.6,,,2630,"(33.5521301205, -86.7276759508)",HLTHOUT,ARTHRITIS,0107000,01073002200,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002303,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,33.4,32.2,34.6,,,2936,"(33.5383153207, -86.7270445428)",HLTHOUT,ARTHRITIS,0107000,01073002303,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002305,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,22.3,21.3,23.3,,,2952,"(33.5333415976, -86.7479566084)",HLTHOUT,ARTHRITIS,0107000,01073002305,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002306,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,26.9,25.9,27.9,,,3257,"(33.5213873564, -86.7490031289)",HLTHOUT,ARTHRITIS,0107000,01073002306,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002400,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.0,30.0,31.9,,,3629,"(33.5260748309, -86.7830315488)",HLTHOUT,ARTHRITIS,0107000,01073002400,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002700,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,27.2,25.9,28.5,,,3992,"(33.5176008419, -86.8106887452)",HLTHOUT,ARTHRITIS,0107000,01073002700,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073002900,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,38.7,37.0,40.3,,,2064,"(33.5132498864, -86.83004749)",HLTHOUT,ARTHRITIS,0107000,01073002900,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003001,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,24.3,23.6,25.0,,,3779,"(33.5125158094, -86.8577164946)",HLTHOUT,ARTHRITIS,0107000,01073003001,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003002,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,40.9,39.1,42.7,,,2203,"(33.512258109, -86.8441439907)",HLTHOUT,ARTHRITIS,0107000,01073003002,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003100,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,34.1,32.7,35.4,,,3637,"(33.5059655756, -86.8745506086)",HLTHOUT,ARTHRITIS,0107000,01073003100,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003200,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,39.0,37.6,40.3,,,931,"(33.5094018502, -86.8859081961)",HLTHOUT,ARTHRITIS,0107000,01073003200,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003300,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,38.6,37.3,39.9,,,947,"(33.5171261108, -86.8913819749)",HLTHOUT,ARTHRITIS,0107000,01073003300,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003400,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.3,34.9,37.7,,,2477,"(33.5052229234, -86.9014844656)",HLTHOUT,ARTHRITIS,0107000,01073003400,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.8,31.5,34.0,,,2780,"(33.5065714011, -86.9195910063)",HLTHOUT,ARTHRITIS,0107000,01073003500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003600,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,33.4,32.1,34.7,,,4683,"(33.48476397, -86.8981392947)",HLTHOUT,ARTHRITIS,0107000,01073003600,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003700,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.2,30.1,32.1,,,5063,"(33.4969018589, -86.8907729426)",HLTHOUT,ARTHRITIS,0107000,01073003700,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003802,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.1,31.0,33.2,,,5409,"(33.4785707794, -86.890000907)",HLTHOUT,ARTHRITIS,0107000,01073003802,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003803,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.0,34.5,37.3,,,4199,"(33.485945214, -86.869692186)",HLTHOUT,ARTHRITIS,0107000,01073003803,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073003900,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.9,31.8,33.9,,,1783,"(33.4989959327, -86.8647600038)",HLTHOUT,ARTHRITIS,0107000,01073003900,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004000,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,37.8,36.4,39.3,,,3772,"(33.4953246015, -86.8516232073)",HLTHOUT,ARTHRITIS,0107000,01073004000,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004200,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.6,35.5,37.7,,,2341,"(33.5007439361, -86.8270720379)",HLTHOUT,ARTHRITIS,0107000,01073004200,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,15.1,14.4,15.8,,,5003,"(33.5041857556, -86.8033798346)",HLTHOUT,ARTHRITIS,0107000,01073004500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004701,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,23.7,22.5,24.9,,,3480,"(33.5075242148, -86.7836675838)",HLTHOUT,ARTHRITIS,0107000,01073004701,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004702,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,27.0,25.9,28.1,,,2944,"(33.5119902661, -86.7694550989)",HLTHOUT,ARTHRITIS,0107000,01073004702,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004800,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,30.1,29.0,31.2,,,1861,"(33.4989064008, -86.78269914)",HLTHOUT,ARTHRITIS,0107000,01073004800,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004901,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,22.1,21.2,23.0,,,1167,"(33.4971595645, -86.7917440668)",HLTHOUT,ARTHRITIS,0107000,01073004901,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073004902,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,18.4,17.5,19.4,,,3146,"(33.4935824043, -86.8009294603)",HLTHOUT,ARTHRITIS,0107000,01073004902,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005000,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,19.6,18.7,20.4,,,3482,"(33.4866689795, -86.8173262831)",HLTHOUT,ARTHRITIS,0107000,01073005000,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005101,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.6,35.3,37.8,,,1507,"(33.4945909008, -86.834763936)",HLTHOUT,ARTHRITIS,0107000,01073005101,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005103,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,40.1,38.6,41.7,,,2587,"(33.485714885, -86.8327817467)",HLTHOUT,ARTHRITIS,0107000,01073005103,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005104,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,18.9,18.0,19.8,,,2881,"(33.4749941816, -86.8335421747)",HLTHOUT,ARTHRITIS,0107000,01073005104,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005200,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,37.9,36.1,39.7,,,3740,"(33.4806708775, -86.8508671514)",HLTHOUT,ARTHRITIS,0107000,01073005200,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005302,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,33.2,31.8,34.5,,,3463,"(33.5766456449, -86.6965590316)",HLTHOUT,ARTHRITIS,0107000,01073005302,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,36.7,35.4,37.9,,,1824,"(33.5670293898, -86.8005567213)",HLTHOUT,ARTHRITIS,0107000,01073005500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005600,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.8,30.3,33.2,,,4367,"(33.5200981234, -86.7272063198)",HLTHOUT,ARTHRITIS,0107000,01073005600,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005701,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,35.8,34.1,37.3,,,2372,"(33.4629543329, -86.8898406628)",HLTHOUT,ARTHRITIS,0107000,01073005701,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005702,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,37.8,36.0,39.3,,,3413,"(33.4698691385, -86.874290602)",HLTHOUT,ARTHRITIS,0107000,01073005702,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005800,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,18.4,17.7,19.1,,,4216,"(33.479062325, -86.8128063089)",HLTHOUT,ARTHRITIS,0107000,01073005800,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005903,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.2,31.1,33.3,,,4933,"(33.597162309, -86.6766736351)",HLTHOUT,ARTHRITIS,0107000,01073005903,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005905,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,34.2,32.9,35.4,,,5039,"(33.603988456, -86.7008123418)",HLTHOUT,ARTHRITIS,0107000,01073005905,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005907,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,30.1,28.9,31.3,,,1975,"(33.6142861501, -86.6691996417)",HLTHOUT,ARTHRITIS,0107000,01073005907,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005908,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.5,31.5,33.5,,,1621,"(33.6182924432, -86.6801483084)",HLTHOUT,ARTHRITIS,0107000,01073005908,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005909,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,28.0,26.5,29.4,,,2524,"(33.611811773, -86.7214221514)",HLTHOUT,ARTHRITIS,0107000,01073005909,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073005910,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,28.0,26.8,29.1,,,4612,"(33.6299017499, -86.7194311229)",HLTHOUT,ARTHRITIS,0107000,01073005910,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,41.3,39.4,43.1,,,114,"(33.4363786806, -86.9128923072)",HLTHOUT,ARTHRITIS,0107000,01073010500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010701,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,15.1,14.0,16.3,,,74,"(33.473886155, -86.8146487762)",HLTHOUT,ARTHRITIS,0107000,01073010701,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010706,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,15.3,14.6,16.0,,,1528,"(33.4443709442, -86.8405352645)",HLTHOUT,ARTHRITIS,0107000,01073010706,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010801,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,24.9,23.9,26.2,,,168,"(33.514097853, -86.7466971362)",HLTHOUT,ARTHRITIS,0107000,01073010801,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010802,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,33.2,31.7,35.0,,,172,"(33.4885493477, -86.780843024)",HLTHOUT,ARTHRITIS,0107000,01073010802,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010803,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,23.8,22.6,25.0,,,514,"(33.5229093892, -86.7102618642)",HLTHOUT,ARTHRITIS,0107000,01073010803,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073010805,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,32.0,30.1,34.0,,,86,"(33.4952792472, -86.6987184974)",HLTHOUT,ARTHRITIS,0107000,01073010805,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011104,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,29.8,28.5,31.1,,,1688,"(33.6159436433, -86.6557892507)",HLTHOUT,ARTHRITIS,0107000,01073011104,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011107,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,42,"(33.5804845249, -86.6301110961)",HLTHOUT,ARTHRITIS,0107000,01073011107,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011108,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,9,"(33.6050742596, -86.6316729386)",HLTHOUT,ARTHRITIS,0107000,01073011108,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011207,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,25.3,24.3,26.2,,,815,"(33.6718848706, -86.6772510465)",HLTHOUT,ARTHRITIS,0107000,01073011207,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011209,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,27.2,26.1,28.3,,,1062,"(33.6557189992, -86.7050698349)",HLTHOUT,ARTHRITIS,0107000,01073011209,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011210,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,23.8,22.3,25.3,,,1385,"(33.6641893755, -86.6956170686)",HLTHOUT,ARTHRITIS,0107000,01073011210,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011803,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,28.2,27.0,29.4,,,928,"(33.6252575173, -86.6998610409)",HLTHOUT,ARTHRITIS,0107000,01073011803,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011804,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,25.8,24.6,27.0,,,1157,"(33.6474916175, -86.7042974424)",HLTHOUT,ARTHRITIS,0107000,01073011804,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011901,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,6,"(33.6355414646, -86.736946691)",HLTHOUT,ARTHRITIS,0107000,01073011901,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073011904,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,34.8,33.3,36.3,,,1915,"(33.593140185, -86.7357930541)",HLTHOUT,ARTHRITIS,0107000,01073011904,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012001,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,44.8,42.9,46.6,,,304,"(33.5919486112, -86.864384068)",HLTHOUT,ARTHRITIS,0107000,01073012001,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012002,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,44,"(33.5859234197, -86.8357007188)",HLTHOUT,ARTHRITIS,0107000,01073012002,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012200,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,23,"(33.5967441904, -87.0879396857)",HLTHOUT,ARTHRITIS,0107000,01073012200,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012302,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,26.3,25.2,27.5,,,144,"(33.5542816352, -87.0544691416)",HLTHOUT,ARTHRITIS,0107000,01073012302,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012305,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,30.5,28.6,32.2,,,403,"(33.4695358064, -86.96831739)",HLTHOUT,ARTHRITIS,0107000,01073012305,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012401,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,27.4,25.6,29.4,,,1066,"(33.5571951048, -86.8777935049)",HLTHOUT,ARTHRITIS,0107000,01073012401,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012402,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.9,30.8,33.0,,,418,"(33.549984172, -86.8994543327)",HLTHOUT,ARTHRITIS,0107000,01073012402,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012500,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,37.9,36.5,39.4,,,410,"(33.529160486, -86.9346476445)",HLTHOUT,ARTHRITIS,0107000,01073012500,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012602,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,35.4,34.5,36.3,,,371,"(33.570164674, -86.666430582)",HLTHOUT,ARTHRITIS,0107000,01073012602,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012701,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,44,"(33.5484078071, -86.6323773455)",HLTHOUT,ARTHRITIS,0107000,01073012701,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012703,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,14.8,13.8,15.9,,,498,"(33.4681180943, -86.6671888213)",HLTHOUT,ARTHRITIS,0107000,01073012703,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012704,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,27.0,25.2,29.0,,,113,"(33.5034195908, -86.6180983403)",HLTHOUT,ARTHRITIS,0107000,01073012704,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012803,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,11.9,11.1,12.7,,,1261,"(33.4439425865, -86.7212936938)",HLTHOUT,ARTHRITIS,0107000,01073012803,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073012910,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,9,"(33.4345805042, -86.7263292059)",HLTHOUT,ARTHRITIS,0107000,01073012910,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073013002,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,41.0,39.1,42.9,,,1514,"(33.46604181, -86.8567287797)",HLTHOUT,ARTHRITIS,0107000,01073013002,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073013100,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,38.7,37.5,39.9,,,4424,"(33.44880214, -86.8878401579)",HLTHOUT,ARTHRITIS,0107000,01073013100,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073013300,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,39.2,37.6,40.7,,,1782,"(33.4396443569, -86.9248768665)",HLTHOUT,ARTHRITIS,0107000,01073013300,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073013901,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,35.0,33.4,36.6,,,952,"(33.4729384906, -86.9547337648)",HLTHOUT,ARTHRITIS,0107000,01073013901,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073014302,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,19.0,18.1,19.8,,,2778,"(33.4244658829, -86.8841474217)",HLTHOUT,ARTHRITIS,0107000,01073014302,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01073014413,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,17.7,16.9,18.6,,,397,"(33.4226593117, -86.8508620751)",HLTHOUT,ARTHRITIS,0107000,01073014413,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01117030213,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,20.3,19.1,21.5,,,644,"(33.4395975193, -86.6735959359)",HLTHOUT,ARTHRITIS,0107000,01117030213,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01117030217,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,,,,*,Estimates suppressed for population less than 50,16,"(33.4556995763, -86.6520208639)",HLTHOUT,ARTHRITIS,0107000,01117030217,Arthritis
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Health Outcomes,0107000-01117030303,Arthritis among adults aged >=18 Years,%,CrdPrv,Crude prevalence,12.8,12.1,13.6,,,968,"(33.4258661239, -86.713819356)",HLTHOUT,ARTHRITIS,0107000,01117030303,Arthritis
+2015,AL,Alabama,Birmingham,City,BRFSS,Unhealthy Behaviors,0107000,Binge drinking among adults aged >=18 Years,%,AgeAdjPrv,Age-adjusted prevalence,11.2,11.1,11.3,,,212237,"(33.5275663773, -86.7988174678)",UNHBEH,BINGE,0107000,,Binge Drinking
+2015,AL,Alabama,Birmingham,City,BRFSS,Unhealthy Behaviors,0107000,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,11.3,11.3,11.4,,,212237,"(33.5275663773, -86.7988174678)",UNHBEH,BINGE,0107000,,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073000100,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.1,9.7,10.5,,,3042,"(33.5794328326, -86.7228323926)",UNHBEH,BINGE,0107000,01073000100,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073000300,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.8,10.3,11.2,,,2735,"(33.5428208686, -86.752433978)",UNHBEH,BINGE,0107000,01073000300,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073000400,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.5,9.0,10.0,,,3338,"(33.5632449633, -86.7640474064)",UNHBEH,BINGE,0107000,01073000400,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073000500,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.6,8.1,9.0,,,2864,"(33.5442404594, -86.7749130719)",UNHBEH,BINGE,0107000,01073000500,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073000700,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,7.4,6.9,7.9,,,2577,"(33.5525406139, -86.8016893706)",UNHBEH,BINGE,0107000,01073000700,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073000800,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.9,8.5,9.3,,,3859,"(33.549697789, -86.8330944744)",UNHBEH,BINGE,0107000,01073000800,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073001100,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.6,9.2,10.1,,,5354,"(33.5429143325, -86.8756782852)",UNHBEH,BINGE,0107000,01073001100,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073001200,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.4,9.1,9.7,,,2876,"(33.5278767706, -86.8604161686)",UNHBEH,BINGE,0107000,01073001200,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073001400,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.9,8.5,9.3,,,2181,"(33.5261497258, -86.835146606)",UNHBEH,BINGE,0107000,01073001400,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073001500,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.4,9.1,9.8,,,3189,"(33.5298727342, -86.8197191685)",UNHBEH,BINGE,0107000,01073001500,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073001600,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.2,7.7,8.6,,,3390,"(33.5372993423, -86.8036590482)",UNHBEH,BINGE,0107000,01073001600,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073001902,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.3,8.9,9.8,,,1894,"(33.5532050997, -86.7429801603)",UNHBEH,BINGE,0107000,01073001902,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002000,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.1,8.7,9.6,,,3885,"(33.5541574106, -86.7167229915)",UNHBEH,BINGE,0107000,01073002000,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002100,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.0,9.6,10.6,,,3186,"(33.5650015942, -86.7101024766)",UNHBEH,BINGE,0107000,01073002100,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002200,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.1,9.7,10.6,,,2630,"(33.5521301205, -86.7276759508)",UNHBEH,BINGE,0107000,01073002200,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002303,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.9,8.5,9.4,,,2936,"(33.5383153207, -86.7270445428)",UNHBEH,BINGE,0107000,01073002303,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002305,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,16.3,15.8,16.7,,,2952,"(33.5333415976, -86.7479566084)",UNHBEH,BINGE,0107000,01073002305,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002306,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,15.6,15.2,16.1,,,3257,"(33.5213873564, -86.7490031289)",UNHBEH,BINGE,0107000,01073002306,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002400,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,11.1,10.8,11.5,,,3629,"(33.5260748309, -86.7830315488)",UNHBEH,BINGE,0107000,01073002400,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002700,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,13.6,13.0,14.2,,,3992,"(33.5176008419, -86.8106887452)",UNHBEH,BINGE,0107000,01073002700,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002900,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.3,7.8,8.8,,,2064,"(33.5132498864, -86.83004749)",UNHBEH,BINGE,0107000,01073002900,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003001,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,14.3,13.3,15.3,,,3779,"(33.5125158094, -86.8577164946)",UNHBEH,BINGE,0107000,01073003001,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003002,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,7.4,7.0,7.8,,,2203,"(33.512258109, -86.8441439907)",UNHBEH,BINGE,0107000,01073003002,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003100,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.5,9.1,10.0,,,3637,"(33.5059655756, -86.8745506086)",UNHBEH,BINGE,0107000,01073003100,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003200,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,7.6,7.3,8.0,,,931,"(33.5094018502, -86.8859081961)",UNHBEH,BINGE,0107000,01073003200,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003300,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.4,8.0,8.9,,,947,"(33.5171261108, -86.8913819749)",UNHBEH,BINGE,0107000,01073003300,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073002305,Obesity among adults aged >=18 Years,%,CrdPrv,Crude prevalence,31.7,30.4,33.0,,,2952,"(33.5333415976, -86.7479566084)",UNHBEH,OBESITY,0107000,01073002305,Obesity
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003400,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.8,8.3,9.3,,,2477,"(33.5052229234, -86.9014844656)",UNHBEH,BINGE,0107000,01073003400,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003500,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.0,9.5,10.5,,,2780,"(33.5065714011, -86.9195910063)",UNHBEH,BINGE,0107000,01073003500,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003600,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.9,9.4,10.3,,,4683,"(33.48476397, -86.8981392947)",UNHBEH,BINGE,0107000,01073003600,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003700,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.3,9.9,10.7,,,5063,"(33.4969018589, -86.8907729426)",UNHBEH,BINGE,0107000,01073003700,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003802,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,10.3,9.9,10.7,,,5409,"(33.4785707794, -86.890000907)",UNHBEH,BINGE,0107000,01073003802,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003803,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.2,8.7,9.7,,,4199,"(33.485945214, -86.869692186)",UNHBEH,BINGE,0107000,01073003803,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073003900,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.5,9.1,9.8,,,1783,"(33.4989959327, -86.8647600038)",UNHBEH,BINGE,0107000,01073003900,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004000,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,8.5,8.0,9.0,,,3772,"(33.4953246015, -86.8516232073)",UNHBEH,BINGE,0107000,01073004000,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004200,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,9.1,8.8,9.4,,,2341,"(33.5007439361, -86.8270720379)",UNHBEH,BINGE,0107000,01073004200,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004500,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,13.8,12.9,14.8,,,5003,"(33.5041857556, -86.8033798346)",UNHBEH,BINGE,0107000,01073004500,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004701,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,16.4,15.7,17.2,,,3480,"(33.5075242148, -86.7836675838)",UNHBEH,BINGE,0107000,01073004701,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004702,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,15.3,14.9,15.7,,,2944,"(33.5119902661, -86.7694550989)",UNHBEH,BINGE,0107000,01073004702,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004800,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,14.1,13.7,14.5,,,1861,"(33.4989064008, -86.78269914)",UNHBEH,BINGE,0107000,01073004800,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004901,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,17.0,16.4,17.7,,,1167,"(33.4971595645, -86.7917440668)",UNHBEH,BINGE,0107000,01073004901,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073004902,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,16.3,15.6,17.1,,,3146,"(33.4935824043, -86.8009294603)",UNHBEH,BINGE,0107000,01073004902,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073005000,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,16.1,15.6,16.7,,,3482,"(33.4866689795, -86.8173262831)",UNHBEH,BINGE,0107000,01073005000,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073005101,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,7.9,7.5,8.3,,,1507,"(33.4945909008, -86.834763936)",UNHBEH,BINGE,0107000,01073005101,Binge Drinking
+2015,AL,Alabama,Birmingham,Census Tract,BRFSS,Unhealthy Behaviors,0107000-01073005103,Binge drinking among adults aged >=18 Years,%,CrdPrv,Crude prevalence,7.7,7.4,8.0,,,2587,"(33.485714885, -86.8327817467)",UNHBEH,BINGE,0107000,01073005103,Binge Drinking
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_json.json b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_json.json
new file mode 100644 (file)
index 0000000..0a1eab9
--- /dev/null
@@ -0,0 +1,5154 @@
+{
+    "meta": {
+        "limit": 100,
+        "offset": 0,
+        "total_count": 100
+    },
+    "objects": [
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Wisconsin",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "709 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.baldwin.senate.gov/feedback",
+                "fax": "202-225-6942",
+                "office": "709 Hart Senate Office Building",
+                "rss_url": "http://www.baldwin.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "B001230",
+                "birthday": "1962-02-11",
+                "cspanid": 57884,
+                "firstname": "Tammy",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Baldwin",
+                "link": "https://www.govtrack.us/congress/members/tammy_baldwin/400013",
+                "middlename": "",
+                "name": "Sen. Tammy Baldwin [D-WI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00004367",
+                "pvsid": "3470",
+                "sortname": "Baldwin, Tammy (Sen.) [D-WI]",
+                "twitterid": "SenatorBaldwin",
+                "youtubeid": "witammybaldwin"
+            },
+            "phone": "202-224-5653",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "WI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.baldwin.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Ohio",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "713 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.brown.senate.gov/contact/",
+                "fax": "202-228-6321",
+                "office": "713 Hart Senate Office Building",
+                "rss_url": "http://www.brown.senate.gov/rss/feeds/?type=all&amp;"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "B000944",
+                "birthday": "1952-11-09",
+                "cspanid": 5051,
+                "firstname": "Sherrod",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Brown",
+                "link": "https://www.govtrack.us/congress/members/sherrod_brown/400050",
+                "middlename": "",
+                "name": "Sen. Sherrod Brown [D-OH]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00003535",
+                "pvsid": "27018",
+                "sortname": "Brown, Sherrod (Sen.) [D-OH]",
+                "twitterid": "SenSherrodBrown",
+                "youtubeid": "SherrodBrownOhio"
+            },
+            "phone": "202-224-2315",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "OH",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.brown.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Maryland",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "509 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.cardin.senate.gov/contact/",
+                "fax": "202-224-1651",
+                "office": "509 Hart Senate Office Building",
+                "rss_url": "http://www.cardin.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "C000141",
+                "birthday": "1943-10-05",
+                "cspanid": 4004,
+                "firstname": "Benjamin",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Cardin",
+                "link": "https://www.govtrack.us/congress/members/benjamin_cardin/400064",
+                "middlename": "L.",
+                "name": "Sen. Benjamin Cardin [D-MD]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00001955",
+                "pvsid": "26888",
+                "sortname": "Cardin, Benjamin (Sen.) [D-MD]",
+                "twitterid": "SenatorCardin",
+                "youtubeid": "senatorcardin"
+            },
+            "phone": "202-224-4524",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MD",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cardin.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Arizona",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "413 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.flake.senate.gov/public/index.cfm/contact-jeff",
+                "fax": "202-226-4386",
+                "office": "413 Russell Senate Office Building",
+                "rss_url": "http://www.flake.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "F000444",
+                "birthday": "1962-12-31",
+                "cspanid": 87582,
+                "firstname": "Jeff",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Flake",
+                "link": "https://www.govtrack.us/congress/members/jeff_flake/400134",
+                "middlename": "",
+                "name": "Sen. Jeff Flake [R-AZ]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009573",
+                "pvsid": "28128",
+                "sortname": "Flake, Jeff (Sen.) [R-AZ]",
+                "twitterid": "JeffFlake",
+                "youtubeid": "flakeoffice"
+            },
+            "phone": "202-224-4521",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "AZ",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.flake.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for New Jersey",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "528 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.menendez.senate.gov/contact",
+                "fax": "202-228-2197",
+                "office": "528 Hart Senate Office Building",
+                "rss_url": "http://www.menendez.senate.gov/rss/feeds/index.cfm?type=news"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M000639",
+                "birthday": "1954-01-01",
+                "cspanid": 29608,
+                "firstname": "Robert",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Menéndez",
+                "link": "https://www.govtrack.us/congress/members/robert_menendez/400272",
+                "middlename": "",
+                "name": "Sen. Robert “Bob” Menéndez [D-NJ]",
+                "namemod": "",
+                "nickname": "Bob",
+                "osid": "N00000699",
+                "pvsid": "26961",
+                "sortname": "Menéndez, Robert “Bob” (Sen.) [D-NJ]",
+                "twitterid": "SenatorMenendez",
+                "youtubeid": "SenatorMenendezNJ"
+            },
+            "phone": "202-224-4744",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "NJ",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.menendez.senate.gov"
+        },
+        {
+            "caucus": "Democrat",
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Vermont",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "332 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.sanders.senate.gov/contact/",
+                "fax": "202-228-0776",
+                "office": "332 Dirksen Senate Office Building",
+                "rss_url": "http://www.sanders.senate.gov/rss/"
+            },
+            "leadership_title": null,
+            "party": "Independent",
+            "person": {
+                "bioguideid": "S000033",
+                "birthday": "1941-09-08",
+                "cspanid": 994,
+                "firstname": "Bernard",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Sanders",
+                "link": "https://www.govtrack.us/congress/members/bernard_sanders/400357",
+                "middlename": "",
+                "name": "Sen. Bernard “Bernie” Sanders [I-VT]",
+                "namemod": "",
+                "nickname": "Bernie",
+                "osid": "N00000528",
+                "pvsid": "27110",
+                "sortname": "Sanders, Bernard “Bernie” (Sen.) [I-VT]",
+                "twitterid": "SenSanders",
+                "youtubeid": "senatorsanders"
+            },
+            "phone": "202-224-5141",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "VT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.sanders.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Washington",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "511 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.cantwell.senate.gov/public/index.cfm/email-maria",
+                "fax": "202-228-0514",
+                "office": "511 Hart Senate Office Building",
+                "rss_url": "http://www.cantwell.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "C000127",
+                "birthday": "1958-10-13",
+                "cspanid": 26137,
+                "firstname": "Maria",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Cantwell",
+                "link": "https://www.govtrack.us/congress/members/maria_cantwell/300018",
+                "middlename": "",
+                "name": "Sen. Maria Cantwell [D-WA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00007836",
+                "pvsid": "27122",
+                "sortname": "Cantwell, Maria (Sen.) [D-WA]",
+                "twitterid": "SenatorCantwell",
+                "youtubeid": "SenatorCantwell"
+            },
+            "phone": "202-224-3441",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "WA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cantwell.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Delaware",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "513 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.carper.senate.gov/public/index.cfm/email-senator-carper",
+                "fax": "202-228-2190",
+                "office": "513 Hart Senate Office Building",
+                "rss_url": "http://www.carper.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "C000174",
+                "birthday": "1947-01-23",
+                "cspanid": 663,
+                "firstname": "Thomas",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Carper",
+                "link": "https://www.govtrack.us/congress/members/thomas_carper/300019",
+                "middlename": "Richard",
+                "name": "Sen. Thomas Carper [D-DE]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00012508",
+                "pvsid": "22421",
+                "sortname": "Carper, Thomas (Sen.) [D-DE]",
+                "twitterid": "SenatorCarper",
+                "youtubeid": "senatorcarper"
+            },
+            "phone": "202-224-2441",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "DE",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.carper.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for California",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "331 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.feinstein.senate.gov/public/index.cfm/e-mail-me",
+                "fax": "202-228-3954",
+                "office": "331 Hart Senate Office Building",
+                "rss_url": "http://www.feinstein.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "F000062",
+                "birthday": "1933-06-22",
+                "cspanid": 13061,
+                "firstname": "Dianne",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Feinstein",
+                "link": "https://www.govtrack.us/congress/members/dianne_feinstein/300043",
+                "middlename": "",
+                "name": "Sen. Dianne Feinstein [D-CA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00007364",
+                "pvsid": "53273",
+                "sortname": "Feinstein, Dianne (Sen.) [D-CA]",
+                "twitterid": "SenFeinstein",
+                "youtubeid": "SenatorFeinstein"
+            },
+            "phone": "202-224-3841",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "CA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.feinstein.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Utah",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "104 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.hatch.senate.gov/public/index.cfm/contact?p=Email-Orrin",
+                "fax": "202-224-6331",
+                "office": "104 Hart Senate Office Building",
+                "rss_url": "http://www.hatch.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "H000338",
+                "birthday": "1934-03-22",
+                "cspanid": 189,
+                "firstname": "Orrin",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Hatch",
+                "link": "https://www.govtrack.us/congress/members/orrin_hatch/300052",
+                "middlename": "G.",
+                "name": "Sen. Orrin Hatch [R-UT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009869",
+                "pvsid": "53352",
+                "sortname": "Hatch, Orrin (Sen.) [R-UT]",
+                "twitterid": "SenOrrinHatch",
+                "youtubeid": "SenatorOrrinHatch"
+            },
+            "phone": "202-224-5251",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "UT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.hatch.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Florida",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "716 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.billnelson.senate.gov/contact-bill",
+                "fax": "202-228-2183",
+                "office": "716 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "N000032",
+                "birthday": "1942-09-29",
+                "cspanid": 1931,
+                "firstname": "Bill",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Nelson",
+                "link": "https://www.govtrack.us/congress/members/bill_nelson/300078",
+                "middlename": "",
+                "name": "Sen. Bill Nelson [D-FL]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009926",
+                "pvsid": "1606",
+                "sortname": "Nelson, Bill (Sen.) [D-FL]",
+                "twitterid": "SenBillNelson",
+                "youtubeid": "senbillnelson"
+            },
+            "phone": "202-224-5274",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "FL",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.billnelson.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Michigan",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "731 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.stabenow.senate.gov/contact",
+                "fax": "202-228-0325",
+                "office": "731 Hart Senate Office Building",
+                "rss_url": "http://stabenow.senate.gov/rss/?p=news"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "S000770",
+                "birthday": "1950-04-29",
+                "cspanid": 45451,
+                "firstname": "Debbie",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Stabenow",
+                "link": "https://www.govtrack.us/congress/members/debbie_stabenow/300093",
+                "middlename": "Ann",
+                "name": "Sen. Debbie Stabenow [D-MI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00004118",
+                "pvsid": "515",
+                "sortname": "Stabenow, Debbie (Sen.) [D-MI]",
+                "twitterid": "SenStabenow",
+                "youtubeid": "senatorstabenow"
+            },
+            "phone": "202-224-4822",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.stabenow.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Connecticut",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "136 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.murphy.senate.gov/contact",
+                "fax": "202-225-5933",
+                "office": "136 Hart Senate Office Building",
+                "rss_url": "http://www.theday.com/article/20121216/nws12/312169935/1069/rss"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M001169",
+                "birthday": "1973-08-03",
+                "cspanid": 1021270,
+                "firstname": "Christopher",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Murphy",
+                "link": "https://www.govtrack.us/congress/members/christopher_murphy/412194",
+                "middlename": "S.",
+                "name": "Sen. Christopher Murphy [D-CT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027566",
+                "pvsid": "17189",
+                "sortname": "Murphy, Christopher (Sen.) [D-CT]",
+                "twitterid": "senmurphyoffice",
+                "youtubeid": "senchrismurphy"
+            },
+            "phone": "202-224-4041",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "CT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.murphy.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Hawaii",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "730 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.hirono.senate.gov/contact",
+                "fax": "202-225-4987",
+                "office": "730 Hart Senate Office Building",
+                "rss_url": "http://www.hirono.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "H001042",
+                "birthday": "1947-11-03",
+                "cspanid": 91216,
+                "firstname": "Mazie",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Hirono",
+                "link": "https://www.govtrack.us/congress/members/mazie_hirono/412200",
+                "middlename": "K.",
+                "name": "Sen. Mazie Hirono [D-HI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00028139",
+                "pvsid": "1677",
+                "sortname": "Hirono, Mazie (Sen.) [D-HI]",
+                "twitterid": "MazieHirono",
+                "youtubeid": "CongresswomanHirono"
+            },
+            "phone": "202-224-6361",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "HI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.hirono.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Indiana",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "720 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.donnelly.senate.gov/contact/email-joe",
+                "fax": "202-225-6798",
+                "office": "720 Hart Senate Office Building",
+                "rss_url": "http://www.donnelly.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "D000607",
+                "birthday": "1955-09-28",
+                "cspanid": 1012000,
+                "firstname": "Joe",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Donnelly",
+                "link": "https://www.govtrack.us/congress/members/joe_donnelly/412205",
+                "middlename": "",
+                "name": "Sen. Joe Donnelly [D-IN]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00026586",
+                "pvsid": "34212",
+                "sortname": "Donnelly, Joe (Sen.) [D-IN]",
+                "twitterid": "SenDonnelly",
+                "youtubeid": "sendonnelly"
+            },
+            "phone": "202-224-4814",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "IN",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.donnelly.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Nevada",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "324 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.heller.senate.gov/public/index.cfm/contact-form",
+                "fax": "202-228-6753",
+                "office": "324 Hart Senate Office Building",
+                "rss_url": "http://www.heller.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "H001041",
+                "birthday": "1960-05-10",
+                "cspanid": 1012368,
+                "firstname": "Dean",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Heller",
+                "link": "https://www.govtrack.us/congress/members/dean_heller/412218",
+                "middlename": "",
+                "name": "Sen. Dean Heller [R-NV]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027522",
+                "pvsid": "2291",
+                "sortname": "Heller, Dean (Sen.) [R-NV]",
+                "twitterid": "SenDeanHeller",
+                "youtubeid": "SenDeanHeller"
+            },
+            "phone": "202-224-6244",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "NV",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.heller.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for New York",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "478 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.gillibrand.senate.gov/contact/email-me",
+                "fax": "202-228-0282",
+                "office": "478 Russell Senate Office Building",
+                "rss_url": "http://www.gillibrand.senate.gov/rss/"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "G000555",
+                "birthday": "1966-12-09",
+                "cspanid": 1022862,
+                "firstname": "Kirsten",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Gillibrand",
+                "link": "https://www.govtrack.us/congress/members/kirsten_gillibrand/412223",
+                "middlename": "E.",
+                "name": "Sen. Kirsten Gillibrand [D-NY]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027658",
+                "pvsid": "65147",
+                "sortname": "Gillibrand, Kirsten (Sen.) [D-NY]",
+                "twitterid": "SenGillibrand",
+                "youtubeid": "KirstenEGillibrand"
+            },
+            "phone": "202-224-4451",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "NY",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.gillibrand.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Minnesota",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "302 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.klobuchar.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-2186",
+                "office": "302 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "K000367",
+                "birthday": "1960-05-25",
+                "cspanid": 83701,
+                "firstname": "Amy",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Klobuchar",
+                "link": "https://www.govtrack.us/congress/members/amy_klobuchar/412242",
+                "middlename": "Jean",
+                "name": "Sen. Amy Klobuchar [D-MN]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027500",
+                "pvsid": "65092",
+                "sortname": "Klobuchar, Amy (Sen.) [D-MN]",
+                "twitterid": "SenAmyKlobuchar",
+                "youtubeid": "senatorklobuchar"
+            },
+            "phone": "202-224-3244",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MN",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.klobuchar.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Missouri",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "503 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.mccaskill.senate.gov/contact",
+                "fax": "202-228-6326",
+                "office": "503 Hart Senate Office Building",
+                "rss_url": "http://mccaskill.senate.gov/rss/?p=news"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M001170",
+                "birthday": "1953-07-24",
+                "cspanid": 44501,
+                "firstname": "Claire",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "McCaskill",
+                "link": "https://www.govtrack.us/congress/members/claire_mccaskill/412243",
+                "middlename": "",
+                "name": "Sen. Claire McCaskill [D-MO]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027694",
+                "pvsid": "2109",
+                "sortname": "McCaskill, Claire (Sen.) [D-MO]",
+                "twitterid": "McCaskillOffice",
+                "youtubeid": "SenatorMcCaskill"
+            },
+            "phone": "202-224-6154",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MO",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.mccaskill.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Montana",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "311 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.tester.senate.gov/?p=email_senator",
+                "fax": "202-224-8594",
+                "office": "311 Hart Senate Office Building",
+                "rss_url": "http://www.tester.senate.gov/rss/?p=hot_topic"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "T000464",
+                "birthday": "1956-08-21",
+                "cspanid": 1020176,
+                "firstname": "Jon",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Tester",
+                "link": "https://www.govtrack.us/congress/members/jon_tester/412244",
+                "middlename": "",
+                "name": "Sen. Jon Tester [D-MT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027605",
+                "pvsid": "20928",
+                "sortname": "Tester, Jon (Sen.) [D-MT]",
+                "twitterid": "SenatorTester",
+                "youtubeid": "senatorjontester"
+            },
+            "phone": "202-224-2644",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.tester.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Pennsylvania",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "393 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.casey.senate.gov/contact/",
+                "fax": "202-228-0604",
+                "office": "393 Russell Senate Office Building",
+                "rss_url": "http://www.casey.senate.gov/rss/feeds/?all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "C001070",
+                "birthday": "1960-04-13",
+                "cspanid": 47036,
+                "firstname": "Robert",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Casey",
+                "link": "https://www.govtrack.us/congress/members/robert_casey/412246",
+                "middlename": "P.",
+                "name": "Sen. Robert “Bob” Casey [D-PA]",
+                "namemod": "Jr.",
+                "nickname": "Bob",
+                "osid": "N00027503",
+                "pvsid": "2541",
+                "sortname": "Casey, Robert “Bob” (Sen.) [D-PA]",
+                "twitterid": "SenBobCasey",
+                "youtubeid": "SenatorBobCasey"
+            },
+            "phone": "202-224-6324",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "PA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.casey.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Rhode Island",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "530 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.whitehouse.senate.gov/contact/email-sheldon",
+                "fax": "202-228-6362",
+                "office": "530 Hart Senate Office Building",
+                "rss_url": "http://www.whitehouse.senate.gov/rss/feeds/?type=all&amp;cachebuster=1"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "W000802",
+                "birthday": "1955-10-20",
+                "cspanid": 92235,
+                "firstname": "Sheldon",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Whitehouse",
+                "link": "https://www.govtrack.us/congress/members/sheldon_whitehouse/412247",
+                "middlename": "",
+                "name": "Sen. Sheldon Whitehouse [D-RI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027533",
+                "pvsid": "2572",
+                "sortname": "Whitehouse, Sheldon (Sen.) [D-RI]",
+                "twitterid": "SenWhitehouse",
+                "youtubeid": "SenatorWhitehouse"
+            },
+            "phone": "202-224-2921",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "RI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.whitehouse.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Tennessee",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "425 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.corker.senate.gov/public/index.cfm/emailme",
+                "fax": "202-228-0566",
+                "office": "425 Dirksen Senate Office Building",
+                "rss_url": "http://www.corker.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001071",
+                "birthday": "1952-08-24",
+                "cspanid": 1021114,
+                "firstname": "Bob",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Corker",
+                "link": "https://www.govtrack.us/congress/members/bob_corker/412248",
+                "middlename": "",
+                "name": "Sen. Bob Corker [R-TN]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027441",
+                "pvsid": "65905",
+                "sortname": "Corker, Bob (Sen.) [R-TN]",
+                "twitterid": "SenBobCorker",
+                "youtubeid": "senatorcorker"
+            },
+            "phone": "202-224-3344",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "TN",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.corker.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Wyoming",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "307 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.barrasso.senate.gov/public/index.cfm/contact-form",
+                "fax": "202-224-1724",
+                "office": "307 Dirksen Senate Office Building",
+                "rss_url": "http://www.barrasso.senate.gov/public/index.cfm?FuseAction=Rss.Feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "B001261",
+                "birthday": "1952-07-21",
+                "cspanid": 1024777,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Barrasso",
+                "link": "https://www.govtrack.us/congress/members/john_barrasso/412251",
+                "middlename": "A.",
+                "name": "Sen. John Barrasso [R-WY]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00006236",
+                "pvsid": "52662",
+                "sortname": "Barrasso, John (Sen.) [R-WY]",
+                "twitterid": "SenJohnBarrasso",
+                "youtubeid": "barrassowyo"
+            },
+            "phone": "202-224-6441",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "WY",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.barrasso.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for New Mexico",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "303 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.heinrich.senate.gov/contact",
+                "fax": "202-225-4975",
+                "office": "303 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "H001046",
+                "birthday": "1971-10-17",
+                "cspanid": 1030686,
+                "firstname": "Martin",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Heinrich",
+                "link": "https://www.govtrack.us/congress/members/martin_heinrich/412281",
+                "middlename": "",
+                "name": "Sen. Martin Heinrich [D-NM]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00029835",
+                "pvsid": "74517",
+                "sortname": "Heinrich, Martin (Sen.) [D-NM]",
+                "twitterid": "MartinHeinrich",
+                "youtubeid": "SenMartinHeinrich"
+            },
+            "phone": "202-224-5521",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "NM",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.heinrich.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for West Virginia",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "306 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.manchin.senate.gov/public/index.cfm/contact-form",
+                "fax": "202-228-0002",
+                "office": "306 Hart Senate Office Building",
+                "rss_url": "http://www.manchin.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M001183",
+                "birthday": "1947-08-24",
+                "cspanid": 62864,
+                "firstname": "Joe",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Manchin",
+                "link": "https://www.govtrack.us/congress/members/joe_manchin/412391",
+                "middlename": "",
+                "name": "Sen. Joe Manchin [D-WV]",
+                "namemod": "III",
+                "nickname": "",
+                "osid": "N00032838",
+                "pvsid": "7547",
+                "sortname": "Manchin, Joe (Sen.) [D-WV]",
+                "twitterid": "Sen_JoeManchin",
+                "youtubeid": "SenatorJoeManchin"
+            },
+            "phone": "202-224-3954",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "WV",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.manchin.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Massachusetts",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "317 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.warren.senate.gov/?p=email_senator",
+                "fax": "202-228-2072",
+                "office": "317 Hart Senate Office Building",
+                "rss_url": "http://www.warren.senate.gov/rss/?p=hot_topic"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "W000817",
+                "birthday": "1949-06-22",
+                "cspanid": 1023023,
+                "firstname": "Elizabeth",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Warren",
+                "link": "https://www.govtrack.us/congress/members/elizabeth_warren/412542",
+                "middlename": "",
+                "name": "Sen. Elizabeth Warren [D-MA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033492",
+                "pvsid": "141272",
+                "sortname": "Warren, Elizabeth (Sen.) [D-MA]",
+                "twitterid": "SenWarren",
+                "youtubeid": "senelizabethwarren"
+            },
+            "phone": "202-224-4543",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.warren.senate.gov"
+        },
+        {
+            "caucus": "Democrat",
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Maine",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "133 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.king.senate.gov/contact",
+                "fax": "202-224-1946",
+                "office": "133 Hart Senate Office Building",
+                "rss_url": "http://www.king.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Independent",
+            "person": {
+                "bioguideid": "K000383",
+                "birthday": "1944-03-31",
+                "cspanid": 37413,
+                "firstname": "Angus",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "King",
+                "link": "https://www.govtrack.us/congress/members/angus_king/412545",
+                "middlename": "",
+                "name": "Sen. Angus King [I-ME]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00034580",
+                "pvsid": "22381",
+                "sortname": "King, Angus (Sen.) [I-ME]",
+                "twitterid": "SenAngusKing",
+                "youtubeid": "SenatorAngusKing"
+            },
+            "phone": "202-224-5344",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "ME",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.king.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for North Dakota",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "516 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.heitkamp.senate.gov/public/index.cfm/contact",
+                "fax": "202-224-7776",
+                "office": "516 Hart Senate Office Building",
+                "rss_url": "http://www.heitkamp.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "H001069",
+                "birthday": "1955-10-30",
+                "cspanid": 95414,
+                "firstname": "Heidi",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Heitkamp",
+                "link": "https://www.govtrack.us/congress/members/heidi_heitkamp/412554",
+                "middlename": "",
+                "name": "Sen. Heidi Heitkamp [D-ND]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033782",
+                "pvsid": "41716",
+                "sortname": "Heitkamp, Heidi (Sen.) [D-ND]",
+                "twitterid": "SenatorHeitkamp",
+                "youtubeid": "senatorheidiheitkamp"
+            },
+            "phone": "202-224-2043",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "ND",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.heitkamp.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Nebraska",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "454 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.fischer.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-1325",
+                "office": "454 Russell Senate Office Building",
+                "rss_url": "http://www.fischer.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "F000463",
+                "birthday": "1951-03-01",
+                "cspanid": 1034067,
+                "firstname": "Deb",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Fischer",
+                "link": "https://www.govtrack.us/congress/members/deb_fischer/412556",
+                "middlename": "",
+                "name": "Sen. Deb Fischer [R-NE]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033443",
+                "pvsid": "41963",
+                "sortname": "Fischer, Deb (Sen.) [R-NE]",
+                "twitterid": "SenatorFischer",
+                "youtubeid": "senatordebfischer"
+            },
+            "phone": "202-224-6551",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "NE",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.fischer.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Texas",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "404 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.cruz.senate.gov/?p=form&id=16",
+                "fax": "202-228-3398",
+                "office": "404 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001098",
+                "birthday": "1970-12-22",
+                "cspanid": 1019953,
+                "firstname": "Ted",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Cruz",
+                "link": "https://www.govtrack.us/congress/members/ted_cruz/412573",
+                "middlename": "",
+                "name": "Sen. Ted Cruz [R-TX]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033085",
+                "pvsid": "135705",
+                "sortname": "Cruz, Ted (Sen.) [R-TX]",
+                "twitterid": "SenTedCruz",
+                "youtubeid": "sentedcruz"
+            },
+            "phone": "202-224-5922",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "TX",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cruz.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Virginia",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "231 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.kaine.senate.gov/contact",
+                "fax": "202-228-6363",
+                "office": "231 Russell Senate Office Building",
+                "rss_url": "http://www.kaine.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "K000384",
+                "birthday": "1958-02-26",
+                "cspanid": 49219,
+                "firstname": "Timothy",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Kaine",
+                "link": "https://www.govtrack.us/congress/members/timothy_kaine/412582",
+                "middlename": "",
+                "name": "Sen. Timothy Kaine [D-VA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033177",
+                "pvsid": "50772",
+                "sortname": "Kaine, Timothy (Sen.) [D-VA]",
+                "twitterid": null,
+                "youtubeid": "SenatorTimKaine"
+            },
+            "phone": "202-224-4024",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2013-01-03",
+            "state": "VA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.kaine.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                113,
+                114,
+                115
+            ],
+            "current": true,
+            "description": "Senior Senator for Mississippi",
+            "district": null,
+            "enddate": "2019-01-03",
+            "extra": {
+                "address": "555 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.wicker.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-0378",
+                "office": "555 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "W000437",
+                "birthday": "1951-07-05",
+                "cspanid": 18203,
+                "firstname": "Roger",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Wicker",
+                "link": "https://www.govtrack.us/congress/members/roger_wicker/400432",
+                "middlename": "F.",
+                "name": "Sen. Roger Wicker [R-MS]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00003280",
+                "pvsid": "21926",
+                "sortname": "Wicker, Roger (Sen.) [R-MS]",
+                "twitterid": "SenatorWicker",
+                "youtubeid": "SenatorWicker"
+            },
+            "phone": "202-224-6253",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class1",
+            "senator_class_label": "Class 1",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2013-01-03",
+            "state": "MS",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.wicker.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Tennessee",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "455 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.alexander.senate.gov/public/index.cfm?p=Email",
+                "fax": "202-228-3398",
+                "office": "455 Dirksen Senate Office Building",
+                "rss_url": "http://www.alexander.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "A000360",
+                "birthday": "1940-07-03",
+                "cspanid": 5,
+                "firstname": "Lamar",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Alexander",
+                "link": "https://www.govtrack.us/congress/members/lamar_alexander/300002",
+                "middlename": "",
+                "name": "Sen. Lamar Alexander [R-TN]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009888",
+                "pvsid": "15691",
+                "sortname": "Alexander, Lamar (Sen.) [R-TN]",
+                "twitterid": "SenAlexander",
+                "youtubeid": "lamaralexander"
+            },
+            "phone": "202-224-4944",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "TN",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.alexander.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Maine",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "413 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.collins.senate.gov/contact",
+                "fax": "202-224-2693",
+                "office": "413 Dirksen Senate Office Building",
+                "rss_url": "http://www.collins.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001035",
+                "birthday": "1952-12-07",
+                "cspanid": 45738,
+                "firstname": "Susan",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Collins",
+                "link": "https://www.govtrack.us/congress/members/susan_collins/300025",
+                "middlename": "M.",
+                "name": "Sen. Susan Collins [R-ME]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00000491",
+                "pvsid": "379",
+                "sortname": "Collins, Susan (Sen.) [R-ME]",
+                "twitterid": "SenatorCollins",
+                "youtubeid": "SenatorSusanCollins"
+            },
+            "phone": "202-224-2523",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "ME",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.collins.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Texas",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "517 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.cornyn.senate.gov/contact",
+                "fax": "202-228-2856",
+                "office": "517 Hart Senate Office Building",
+                "rss_url": "http://www.cornyn.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": "Majority Whip",
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001056",
+                "birthday": "1952-02-02",
+                "cspanid": 93131,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Cornyn",
+                "link": "https://www.govtrack.us/congress/members/john_cornyn/300027",
+                "middlename": "",
+                "name": "Sen. John Cornyn [R-TX]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00024852",
+                "pvsid": "15375",
+                "sortname": "Cornyn, John (Sen.) [R-TX]",
+                "twitterid": "JohnCornyn",
+                "youtubeid": "senjohncornyn"
+            },
+            "phone": "202-224-2934",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "TX",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cornyn.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Illinois",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "711 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.durbin.senate.gov/contact/",
+                "fax": "202-228-0400",
+                "office": "711 Hart Senate Office Building",
+                "rss_url": "http://durbin.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": "Minority Whip",
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "D000563",
+                "birthday": "1944-11-21",
+                "cspanid": 6741,
+                "firstname": "Richard",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Durbin",
+                "link": "https://www.govtrack.us/congress/members/richard_durbin/300038",
+                "middlename": "J.",
+                "name": "Sen. Richard Durbin [D-IL]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00004981",
+                "pvsid": "26847",
+                "sortname": "Durbin, Richard (Sen.) [D-IL]",
+                "twitterid": "SenatorDurbin",
+                "youtubeid": "SenatorDurbin"
+            },
+            "phone": "202-224-2152",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "IL",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.durbin.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Wyoming",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "379A Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.enzi.senate.gov/public/index.cfm/contact?p=e-mail-senator-enzi",
+                "fax": "202-228-0359",
+                "office": "379a Russell Senate Office Building",
+                "rss_url": "http://www.enzi.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "E000285",
+                "birthday": "1944-02-01",
+                "cspanid": 45824,
+                "firstname": "Michael",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Enzi",
+                "link": "https://www.govtrack.us/congress/members/michael_enzi/300041",
+                "middlename": "B.",
+                "name": "Sen. Michael Enzi [R-WY]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00006249",
+                "pvsid": "558",
+                "sortname": "Enzi, Michael (Sen.) [R-WY]",
+                "twitterid": "SenatorEnzi",
+                "youtubeid": "senatorenzi"
+            },
+            "phone": "202-224-3424",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "WY",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.enzi.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for South Carolina",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "290 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.lgraham.senate.gov/public/index.cfm/e-mail-senator-graham",
+                "fax": "202-224-3808",
+                "office": "290 Russell Senate Office Building",
+                "rss_url": "http://www.lgraham.senate.gov/public/index.cfm?FuseAction=Rss.Feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "G000359",
+                "birthday": "1955-07-09",
+                "cspanid": 36782,
+                "firstname": "Lindsey",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Graham",
+                "link": "https://www.govtrack.us/congress/members/lindsey_graham/300047",
+                "middlename": "O.",
+                "name": "Sen. Lindsey Graham [R-SC]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009975",
+                "pvsid": "21992",
+                "sortname": "Graham, Lindsey (Sen.) [R-SC]",
+                "twitterid": "GrahamBlog",
+                "youtubeid": "USSenLindseyGraham"
+            },
+            "phone": "202-224-5972",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "SC",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.lgraham.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Oklahoma",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "205 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.inhofe.senate.gov/contact",
+                "fax": "202-228-0380",
+                "office": "205 Russell Senate Office Building",
+                "rss_url": "http://www.inhofe.senate.gov/rss/feeds/?type=all&amp;cachebuster=eea6c4d7%2d939c%2d5c1e%2db6c7aa3b8b291208"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "I000024",
+                "birthday": "1934-11-17",
+                "cspanid": 5619,
+                "firstname": "James",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Inhofe",
+                "link": "https://www.govtrack.us/congress/members/james_inhofe/300055",
+                "middlename": "M.",
+                "name": "Sen. James “Jim” Inhofe [R-OK]",
+                "namemod": "",
+                "nickname": "Jim",
+                "osid": "N00005582",
+                "pvsid": "27027",
+                "sortname": "Inhofe, James “Jim” (Sen.) [R-OK]",
+                "twitterid": "InhofePress",
+                "youtubeid": "jiminhofepressoffice"
+            },
+            "phone": "202-224-4721",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "OK",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.inhofe.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Kentucky",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "317 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.mcconnell.senate.gov/public/index.cfm?p=contact",
+                "fax": "202-224-2499",
+                "office": "317 Russell Senate Office Building",
+                "rss_url": "http://www.mcconnell.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": "Majority Leader",
+            "party": "Republican",
+            "person": {
+                "bioguideid": "M000355",
+                "birthday": "1942-02-20",
+                "cspanid": 2351,
+                "firstname": "Mitch",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "McConnell",
+                "link": "https://www.govtrack.us/congress/members/mitch_mcconnell/300072",
+                "middlename": "",
+                "name": "Sen. Mitch McConnell [R-KY]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00003389",
+                "pvsid": "53298",
+                "sortname": "McConnell, Mitch (Sen.) [R-KY]",
+                "twitterid": "McConnellPress",
+                "youtubeid": null
+            },
+            "phone": "202-224-2541",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "KY",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.mcconnell.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Rhode Island",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "728 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.reed.senate.gov/contact/",
+                "fax": "202-224-4680",
+                "office": "728 Hart Senate Office Building",
+                "rss_url": "https://www.reed.senate.gov//rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "R000122",
+                "birthday": "1949-11-12",
+                "cspanid": 24239,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Reed",
+                "link": "https://www.govtrack.us/congress/members/john_reed/300081",
+                "middlename": "F.",
+                "name": "Sen. John “Jack” Reed [D-RI]",
+                "namemod": "",
+                "nickname": "Jack",
+                "osid": "N00000362",
+                "pvsid": "27060",
+                "sortname": "Reed, John “Jack” (Sen.) [D-RI]",
+                "twitterid": "SenJackReed",
+                "youtubeid": "SenatorReed"
+            },
+            "phone": "202-224-4642",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "RI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.reed.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Kansas",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "109 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.roberts.senate.gov/public/?p=EmailPat",
+                "fax": "202-224-3514",
+                "office": "109 Hart Senate Office Building",
+                "rss_url": "http://www.roberts.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "R000307",
+                "birthday": "1936-04-20",
+                "cspanid": 16354,
+                "firstname": "Pat",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Roberts",
+                "link": "https://www.govtrack.us/congress/members/pat_roberts/300083",
+                "middlename": "",
+                "name": "Sen. Pat Roberts [R-KS]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00005285",
+                "pvsid": "26866",
+                "sortname": "Roberts, Pat (Sen.) [R-KS]",
+                "twitterid": "SenPatRoberts",
+                "youtubeid": "SenPatRoberts"
+            },
+            "phone": "202-224-4774",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "KS",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.roberts.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for West Virginia",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "172 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.capito.senate.gov/contact/contact-shelley",
+                "fax": "202-225-7856",
+                "office": "172 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001047",
+                "birthday": "1953-11-26",
+                "cspanid": 83737,
+                "firstname": "Shelley",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Capito",
+                "link": "https://www.govtrack.us/congress/members/shelley_capito/400061",
+                "middlename": "Moore",
+                "name": "Sen. Shelley Capito [R-WV]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009771",
+                "pvsid": "11701",
+                "sortname": "Capito, Shelley (Sen.) [R-WV]",
+                "twitterid": "SenCapito",
+                "youtubeid": null
+            },
+            "phone": "202-224-6472",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "WV",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.capito.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Massachusetts",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "255 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.markey.senate.gov/contact",
+                "office": "255 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M000133",
+                "birthday": "1946-07-11",
+                "cspanid": 260,
+                "firstname": "Edward",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Markey",
+                "link": "https://www.govtrack.us/congress/members/edward_markey/400253",
+                "middlename": "J.",
+                "name": "Sen. Edward “Ed” Markey [D-MA]",
+                "namemod": "",
+                "nickname": "Ed",
+                "osid": "N00000270",
+                "pvsid": "26900",
+                "sortname": "Markey, Edward “Ed” (Sen.) [D-MA]",
+                "twitterid": "SenMarkey",
+                "youtubeid": "RepMarkey"
+            },
+            "phone": "202-224-2742",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "MA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.markey.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for New Mexico",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "531 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.tomudall.senate.gov/?p=contact",
+                "fax": "202-228-3261",
+                "office": "531 Hart Senate Office Building",
+                "rss_url": "http://tomudall.senate.gov/rss/?p=blog"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "U000039",
+                "birthday": "1948-05-18",
+                "cspanid": 10075,
+                "firstname": "Tom",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Udall",
+                "link": "https://www.govtrack.us/congress/members/tom_udall/400413",
+                "middlename": "S.",
+                "name": "Sen. Tom Udall [D-NM]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00006561",
+                "pvsid": "22658",
+                "sortname": "Udall, Tom (Sen.) [D-NM]",
+                "twitterid": "SenatorTomUdall",
+                "youtubeid": "senatortomudall"
+            },
+            "phone": "202-224-6621",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "NM",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.tomudall.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Louisiana",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "520 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.cassidy.senate.gov/contact",
+                "fax": "202-225-7313",
+                "office": "520 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001075",
+                "birthday": "1957-09-28",
+                "cspanid": 1030546,
+                "firstname": "Bill",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Cassidy",
+                "link": "https://www.govtrack.us/congress/members/bill_cassidy/412269",
+                "middlename": "",
+                "name": "Sen. Bill Cassidy [R-LA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00030245",
+                "pvsid": "69494",
+                "sortname": "Cassidy, Bill (Sen.) [R-LA]",
+                "twitterid": null,
+                "youtubeid": "SenatorBillCassidy"
+            },
+            "phone": "202-224-5824",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "LA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cassidy.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Michigan",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "724 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.peters.senate.gov/contact/email-gary",
+                "fax": "202-226-2356",
+                "office": "724 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "P000595",
+                "birthday": "1958-12-01",
+                "cspanid": 50199,
+                "firstname": "Gary",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Peters",
+                "link": "https://www.govtrack.us/congress/members/gary_peters/412305",
+                "middlename": "C.",
+                "name": "Sen. Gary Peters [D-MI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00029277",
+                "pvsid": "8749",
+                "sortname": "Peters, Gary (Sen.) [D-MI]",
+                "twitterid": "SenGaryPeters",
+                "youtubeid": "RepGaryPeters"
+            },
+            "phone": "202-224-6221",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "MI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.peters.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for Virginia",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "703 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.warner.senate.gov/public/index.cfm?p=Contact",
+                "fax": "202-224-6295",
+                "office": "703 Hart Senate Office Building",
+                "rss_url": "http://www.warner.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "W000805",
+                "birthday": "1954-12-15",
+                "cspanid": 7630,
+                "firstname": "Mark",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Warner",
+                "link": "https://www.govtrack.us/congress/members/mark_warner/412321",
+                "middlename": "",
+                "name": "Sen. Mark Warner [D-VA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00002097",
+                "pvsid": "535",
+                "sortname": "Warner, Mark (Sen.) [D-VA]",
+                "twitterid": "MarkWarner",
+                "youtubeid": "SenatorMarkWarner"
+            },
+            "phone": "202-224-2023",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "VA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.warner.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Idaho",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "483 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.risch.senate.gov/public/index.cfm?p=Email",
+                "fax": "202-224-2573",
+                "office": "483 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "R000584",
+                "birthday": "1943-05-03",
+                "cspanid": 1020034,
+                "firstname": "James",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Risch",
+                "link": "https://www.govtrack.us/congress/members/james_risch/412322",
+                "middlename": "",
+                "name": "Sen. James Risch [R-ID]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00029441",
+                "pvsid": "2919",
+                "sortname": "Risch, James (Sen.) [R-ID]",
+                "twitterid": "SenatorRisch",
+                "youtubeid": "SenatorJamesRisch"
+            },
+            "phone": "202-224-2752",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "ID",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.risch.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Senior Senator for New Hampshire",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "506 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.shaheen.senate.gov/contact/contact-jeanne",
+                "fax": "202-228-3194",
+                "office": "506 Hart Senate Office Building",
+                "rss_url": "http://www.shaheen.senate.gov/rss/"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "S001181",
+                "birthday": "1947-01-28",
+                "cspanid": 22850,
+                "firstname": "Jeanne",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Shaheen",
+                "link": "https://www.govtrack.us/congress/members/jeanne_shaheen/412323",
+                "middlename": "",
+                "name": "Sen. Jeanne Shaheen [D-NH]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00024790",
+                "pvsid": "1663",
+                "sortname": "Shaheen, Jeanne (Sen.) [D-NH]",
+                "twitterid": "SenatorShaheen",
+                "youtubeid": "senatorshaheen"
+            },
+            "phone": "202-224-2841",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2015-01-06",
+            "state": "NH",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.shaheen.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Oregon",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "313 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.merkley.senate.gov/contact/",
+                "fax": "202-228-3997",
+                "office": "313 Hart Senate Office Building",
+                "rss_url": "http://www.merkley.senate.gov/rss/"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M001176",
+                "birthday": "1956-10-24",
+                "cspanid": 1029842,
+                "firstname": "Jeff",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Merkley",
+                "link": "https://www.govtrack.us/congress/members/jeff_merkley/412325",
+                "middlename": "",
+                "name": "Sen. Jeff Merkley [D-OR]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00029303",
+                "pvsid": "23644",
+                "sortname": "Merkley, Jeff (Sen.) [D-OR]",
+                "twitterid": "SenJeffMerkley",
+                "youtubeid": "SenatorJeffMerkley"
+            },
+            "phone": "202-224-3753",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "OR",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.merkley.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Delaware",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "127A Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.coons.senate.gov/contact",
+                "fax": "202-228-3075",
+                "office": "127a Russell Senate Office Building",
+                "rss_url": "http://www.coons.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "C001088",
+                "birthday": "1963-09-09",
+                "cspanid": 9269028,
+                "firstname": "Chris",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Coons",
+                "link": "https://www.govtrack.us/congress/members/chris_coons/412390",
+                "middlename": "Andrew",
+                "name": "Sen. Chris Coons [D-DE]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00031820",
+                "pvsid": "122834",
+                "sortname": "Coons, Chris (Sen.) [D-DE]",
+                "twitterid": "ChrisCoons",
+                "youtubeid": "senatorchriscoons"
+            },
+            "phone": "202-224-5042",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "DE",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.coons.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Colorado",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "354 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.gardner.senate.gov/contact-cory/email-cory",
+                "fax": "202-225-5870",
+                "office": "354 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "G000562",
+                "birthday": "1974-08-22",
+                "cspanid": 623308,
+                "firstname": "Cory",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Gardner",
+                "link": "https://www.govtrack.us/congress/members/cory_gardner/412406",
+                "middlename": "",
+                "name": "Sen. Cory Gardner [R-CO]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00030780",
+                "pvsid": "30004",
+                "sortname": "Gardner, Cory (Sen.) [R-CO]",
+                "twitterid": "SenCoryGardner",
+                "youtubeid": null
+            },
+            "phone": "202-224-5941",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "CO",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.gardner.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Arkansas",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "124 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.cotton.senate.gov/?p=contact",
+                "office": "124 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C001095",
+                "birthday": "1977-05-13",
+                "cspanid": 63928,
+                "firstname": "Tom",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Cotton",
+                "link": "https://www.govtrack.us/congress/members/tom_cotton/412508",
+                "middlename": "",
+                "name": "Sen. Tom Cotton [R-AR]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033363",
+                "pvsid": "135651",
+                "sortname": "Cotton, Tom (Sen.) [R-AR]",
+                "twitterid": "SenTomCotton",
+                "youtubeid": "RepTomCotton"
+            },
+            "phone": "202-224-2353",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "AR",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cotton.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Montana",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "320 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.daines.senate.gov/connect/email-steve",
+                "fax": "202-228-1236",
+                "office": "320 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "D000618",
+                "birthday": "1962-08-20",
+                "cspanid": 1034037,
+                "firstname": "Steve",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Daines",
+                "link": "https://www.govtrack.us/congress/members/steve_daines/412549",
+                "middlename": "",
+                "name": "Sen. Steve Daines [R-MT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00033054",
+                "pvsid": "135720",
+                "sortname": "Daines, Steve (Sen.) [R-MT]",
+                "twitterid": "SteveDaines",
+                "youtubeid": "SteveDainesMT"
+            },
+            "phone": "202-224-2651",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "MT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.daines.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for New Jersey",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "359 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.booker.senate.gov/?p=contact",
+                "fax": "202-224-8378",
+                "office": "359 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "B001288",
+                "birthday": "1969-04-27",
+                "cspanid": 84679,
+                "firstname": "Cory",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Booker",
+                "link": "https://www.govtrack.us/congress/members/cory_booker/412598",
+                "middlename": "Anthony",
+                "name": "Sen. Cory Booker [D-NJ]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035267",
+                "pvsid": "76151",
+                "sortname": "Booker, Cory (Sen.) [D-NJ]",
+                "twitterid": "SenBooker",
+                "youtubeid": "SenCoryBooker"
+            },
+            "phone": "202-224-3224",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "NJ",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.booker.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Alaska",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "702 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.sullivan.senate.gov/contact/email",
+                "office": "702 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "S001198",
+                "birthday": "1964-11-13",
+                "cspanid": 1023262,
+                "firstname": "Dan",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Sullivan",
+                "link": "https://www.govtrack.us/congress/members/dan_sullivan/412665",
+                "middlename": "",
+                "name": "Sen. Dan Sullivan [R-AK]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035774",
+                "pvsid": "114964",
+                "sortname": "Sullivan, Dan (Sen.) [R-AK]",
+                "twitterid": "SenDanSullivan",
+                "youtubeid": null
+            },
+            "phone": "202-224-3004",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "AK",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.sullivan.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Georgia",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "455 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.perdue.senate.gov/connect/email",
+                "office": "455 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "P000612",
+                "birthday": "1949-12-10",
+                "cspanid": 75920,
+                "firstname": "David",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Perdue",
+                "link": "https://www.govtrack.us/congress/members/david_perdue/412666",
+                "middlename": "",
+                "name": "Sen. David Perdue [R-GA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035516",
+                "pvsid": "151330",
+                "sortname": "Perdue, David (Sen.) [R-GA]",
+                "twitterid": "sendavidperdue",
+                "youtubeid": null
+            },
+            "phone": "202-224-3521",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "GA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.perdue.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Iowa",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "111 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.ernst.senate.gov/public/index.cfm/contact",
+                "office": "111 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "E000295",
+                "birthday": "1970-07-01",
+                "cspanid": 75342,
+                "firstname": "Joni",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Ernst",
+                "link": "https://www.govtrack.us/congress/members/joni_ernst/412667",
+                "middlename": "",
+                "name": "Sen. Joni Ernst [R-IA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035483",
+                "pvsid": "128583",
+                "sortname": "Ernst, Joni (Sen.) [R-IA]",
+                "twitterid": "SenJoniErnst",
+                "youtubeid": null
+            },
+            "phone": "202-224-3254",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "IA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.ernst.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for North Carolina",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "185 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.tillis.senate.gov/public/index.cfm/email-me",
+                "office": "185 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "T000476",
+                "birthday": "1960-08-30",
+                "cspanid": 77055,
+                "firstname": "Thom",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Tillis",
+                "link": "https://www.govtrack.us/congress/members/thom_tillis/412668",
+                "middlename": "",
+                "name": "Sen. Thom Tillis [R-NC]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035492",
+                "pvsid": "57717",
+                "sortname": "Tillis, Thom (Sen.) [R-NC]",
+                "twitterid": "senthomtillis",
+                "youtubeid": null
+            },
+            "phone": "202-224-6342",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "NC",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.tillis.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for South Dakota",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "502 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.rounds.senate.gov/contact/email-mike",
+                "office": "502 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "R000605",
+                "birthday": "1954-10-24",
+                "cspanid": 78317,
+                "firstname": "Mike",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Rounds",
+                "link": "https://www.govtrack.us/congress/members/mike_rounds/412669",
+                "middlename": "",
+                "name": "Sen. Mike Rounds [R-SD]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035187",
+                "pvsid": "7455",
+                "sortname": "Rounds, Mike (Sen.) [R-SD]",
+                "twitterid": "SenatorRounds",
+                "youtubeid": null
+            },
+            "phone": "202-224-5842",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "SD",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.rounds.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                114,
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Nebraska",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "136 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.sasse.senate.gov/public/index.cfm/email-ben",
+                "office": "136 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "S001197",
+                "birthday": "1972-02-22",
+                "cspanid": 77429,
+                "firstname": "Benjamin",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Sasse",
+                "link": "https://www.govtrack.us/congress/members/benjamin_sasse/412671",
+                "middlename": "Eric",
+                "name": "Sen. Benjamin Sasse [R-NE]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00035544",
+                "pvsid": "150182",
+                "sortname": "Sasse, Benjamin (Sen.) [R-NE]",
+                "twitterid": "SenSasse",
+                "youtubeid": null
+            },
+            "phone": "202-224-4224",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2015-01-06",
+            "state": "NE",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.sasse.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Idaho",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "239 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.crapo.senate.gov/contact",
+                "fax": "202-228-1375",
+                "office": "239 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "C000880",
+                "birthday": "1951-05-20",
+                "cspanid": 26440,
+                "firstname": "Michael",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Crapo",
+                "link": "https://www.govtrack.us/congress/members/michael_crapo/300030",
+                "middlename": "D.",
+                "name": "Sen. Michael Crapo [R-ID]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00006267",
+                "pvsid": "26830",
+                "sortname": "Crapo, Michael (Sen.) [R-ID]",
+                "twitterid": "MikeCrapo",
+                "youtubeid": "senatorcrapo"
+            },
+            "phone": "202-224-6142",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "ID",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.crapo.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Iowa",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "135 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.grassley.senate.gov/contact",
+                "fax": "202-224-6020",
+                "office": "135 Hart Senate Office Building",
+                "rss_url": "http://grassley.senate.gov/customcf/rss_feed.cfm"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "G000386",
+                "birthday": "1933-09-17",
+                "cspanid": 1167,
+                "firstname": "Charles",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Grassley",
+                "link": "https://www.govtrack.us/congress/members/charles_grassley/300048",
+                "middlename": "E.",
+                "name": "Sen. Charles “Chuck” Grassley [R-IA]",
+                "namemod": "",
+                "nickname": "Chuck",
+                "osid": "N00001758",
+                "pvsid": "53293",
+                "sortname": "Grassley, Charles “Chuck” (Sen.) [R-IA]",
+                "twitterid": "ChuckGrassley",
+                "youtubeid": "senchuckgrassley"
+            },
+            "phone": "202-224-3744",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "IA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.grassley.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Vermont",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "437 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.leahy.senate.gov/contact/",
+                "fax": "202-224-3479",
+                "office": "437 Russell Senate Office Building",
+                "rss_url": "http://www.leahy.senate.gov/rss/feeds/press/"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "L000174",
+                "birthday": "1940-03-31",
+                "cspanid": 1552,
+                "firstname": "Patrick",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Leahy",
+                "link": "https://www.govtrack.us/congress/members/patrick_leahy/300065",
+                "middlename": "J.",
+                "name": "Sen. Patrick Leahy [D-VT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009918",
+                "pvsid": "53353",
+                "sortname": "Leahy, Patrick (Sen.) [D-VT]",
+                "twitterid": "SenatorLeahy",
+                "youtubeid": "SenatorPatrickLeahy"
+            },
+            "phone": "202-224-4242",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "VT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.leahy.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Alaska",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "522 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.murkowski.senate.gov/public/index.cfm/contact",
+                "fax": "202-224-5301",
+                "office": "522 Hart Senate Office Building",
+                "rss_url": "http://www.murkowski.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "M001153",
+                "birthday": "1957-05-22",
+                "cspanid": 1004138,
+                "firstname": "Lisa",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Murkowski",
+                "link": "https://www.govtrack.us/congress/members/lisa_murkowski/300075",
+                "middlename": "A.",
+                "name": "Sen. Lisa Murkowski [R-AK]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00026050",
+                "pvsid": "15841",
+                "sortname": "Murkowski, Lisa (Sen.) [R-AK]",
+                "twitterid": "LisaMurkowski",
+                "youtubeid": "senatormurkowski"
+            },
+            "phone": "202-224-6665",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "AK",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.murkowski.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Washington",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "154 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.murray.senate.gov/public/index.cfm/contactme",
+                "fax": "202-224-0238",
+                "office": "154 Russell Senate Office Building",
+                "rss_url": "http://www.murray.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "M001111",
+                "birthday": "1950-10-11",
+                "cspanid": 25277,
+                "firstname": "Patty",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Murray",
+                "link": "https://www.govtrack.us/congress/members/patty_murray/300076",
+                "middlename": "",
+                "name": "Sen. Patty Murray [D-WA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00007876",
+                "pvsid": "53358",
+                "sortname": "Murray, Patty (Sen.) [D-WA]",
+                "twitterid": "PattyMurray",
+                "youtubeid": "SenatorPattyMurray"
+            },
+            "phone": "202-224-2621",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "WA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.murray.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for New York",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "322 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.schumer.senate.gov/contact/email-chuck",
+                "fax": "202-228-3027",
+                "office": "322 Hart Senate Office Building"
+            },
+            "leadership_title": "Minority Leader",
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "S000148",
+                "birthday": "1950-11-23",
+                "cspanid": 5929,
+                "firstname": "Charles",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Schumer",
+                "link": "https://www.govtrack.us/congress/members/charles_schumer/300087",
+                "middlename": "E.",
+                "name": "Sen. Charles “Chuck” Schumer [D-NY]",
+                "namemod": "",
+                "nickname": "Chuck",
+                "osid": "N00001093",
+                "pvsid": "26976",
+                "sortname": "Schumer, Charles “Chuck” (Sen.) [D-NY]",
+                "twitterid": "SenSchumer",
+                "youtubeid": "SenatorSchumer"
+            },
+            "phone": "202-224-6542",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "NY",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.schumer.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Alabama",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "304 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.shelby.senate.gov/public/index.cfm/emailsenatorshelby",
+                "fax": "202-224-3416",
+                "office": "304 Russell Senate Office Building",
+                "rss_url": "http://www.shelby.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "S000320",
+                "birthday": "1934-05-06",
+                "cspanid": 1859,
+                "firstname": "Richard",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Shelby",
+                "link": "https://www.govtrack.us/congress/members/richard_shelby/300089",
+                "middlename": "C.",
+                "name": "Sen. Richard Shelby [R-AL]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00009920",
+                "pvsid": "53266",
+                "sortname": "Shelby, Richard (Sen.) [R-AL]",
+                "twitterid": "SenShelby",
+                "youtubeid": "SenatorRichardShelby"
+            },
+            "phone": "202-224-5744",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "AL",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.shelby.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Oregon",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "221 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.wyden.senate.gov/contact/",
+                "fax": "202-228-2717",
+                "office": "221 Dirksen Senate Office Building",
+                "rss_url": "http://www.wyden.senate.gov/rss/feeds/?type=all&amp;"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "W000779",
+                "birthday": "1949-05-03",
+                "cspanid": 1962,
+                "firstname": "Ron",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Wyden",
+                "link": "https://www.govtrack.us/congress/members/ron_wyden/300100",
+                "middlename": "",
+                "name": "Sen. Ron Wyden [D-OR]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00007724",
+                "pvsid": "27036",
+                "sortname": "Wyden, Ron (Sen.) [D-OR]",
+                "twitterid": "RonWyden",
+                "youtubeid": "senronwyden"
+            },
+            "phone": "202-224-5244",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "OR",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.wyden.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Missouri",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "260 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.blunt.senate.gov/public/index.cfm/contact-roy",
+                "fax": "202-224-8149",
+                "office": "260 Russell Senate Office Building",
+                "rss_url": "http://www.blunt.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "B000575",
+                "birthday": "1950-01-10",
+                "cspanid": 45465,
+                "firstname": "Roy",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Blunt",
+                "link": "https://www.govtrack.us/congress/members/roy_blunt/400034",
+                "middlename": "",
+                "name": "Sen. Roy Blunt [R-MO]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00005195",
+                "pvsid": "418",
+                "sortname": "Blunt, Roy (Sen.) [R-MO]",
+                "twitterid": "RoyBlunt",
+                "youtubeid": "SenatorBlunt"
+            },
+            "phone": "202-224-5721",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "MO",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.blunt.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Arkansas",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "141 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.boozman.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-1371",
+                "office": "141 Hart Senate Office Building",
+                "rss_url": "http://www.boozman.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "B001236",
+                "birthday": "1950-12-10",
+                "cspanid": 92069,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Boozman",
+                "link": "https://www.govtrack.us/congress/members/john_boozman/400040",
+                "middlename": "",
+                "name": "Sen. John Boozman [R-AR]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00013873",
+                "pvsid": "27958",
+                "sortname": "Boozman, John (Sen.) [R-AR]",
+                "twitterid": "JohnBoozman",
+                "youtubeid": "BoozmanPressOffice"
+            },
+            "phone": "202-224-4843",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "AR",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.boozman.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for North Carolina",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "217 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.burr.senate.gov/contact/email",
+                "fax": "202-228-2981",
+                "office": "217 Russell Senate Office Building",
+                "rss_url": "http://www.burr.senate.gov/public/index.cfm?fuseaction=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "B001135",
+                "birthday": "1955-11-30",
+                "cspanid": 31054,
+                "firstname": "Richard",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Burr",
+                "link": "https://www.govtrack.us/congress/members/richard_burr/400054",
+                "middlename": "M.",
+                "name": "Sen. Richard Burr [R-NC]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00002221",
+                "pvsid": "21787",
+                "sortname": "Burr, Richard (Sen.) [R-NC]",
+                "twitterid": "SenatorBurr",
+                "youtubeid": "SenatorRichardBurr"
+            },
+            "phone": "202-224-3154",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "NC",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.burr.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Georgia",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "131 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.isakson.senate.gov/public/index.cfm/email-me",
+                "fax": "202-228-0724",
+                "office": "131 Russell Senate Office Building",
+                "rss_url": "http://www.isakson.senate.gov/public/?a=RSS.Feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "I000055",
+                "birthday": "1944-12-28",
+                "cspanid": 59135,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Isakson",
+                "link": "https://www.govtrack.us/congress/members/john_isakson/400194",
+                "middlename": "H.",
+                "name": "Sen. John “Johnny” Isakson [R-GA]",
+                "namemod": "",
+                "nickname": "Johnny",
+                "osid": "N00002593",
+                "pvsid": "1721",
+                "sortname": "Isakson, John “Johnny” (Sen.) [R-GA]",
+                "twitterid": "SenatorIsakson",
+                "youtubeid": "SenatorIsakson"
+            },
+            "phone": "202-224-3643",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "GA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.isakson.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Kansas",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "521 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.moran.senate.gov/public/index.cfm/e-mail-jerry",
+                "fax": "202-228-6966",
+                "office": "521 Dirksen Senate Office Building",
+                "rss_url": "http://www.moran.senate.gov/public/index.cfm/rss/feed/"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "M000934",
+                "birthday": "1954-05-29",
+                "cspanid": 45469,
+                "firstname": "Jerry",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Moran",
+                "link": "https://www.govtrack.us/congress/members/jerry_moran/400284",
+                "middlename": "",
+                "name": "Sen. Jerry Moran [R-KS]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00005282",
+                "pvsid": "542",
+                "sortname": "Moran, Jerry (Sen.) [R-KS]",
+                "twitterid": "JerryMoran",
+                "youtubeid": "senatorjerrymoran"
+            },
+            "phone": "202-224-6521",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "KS",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.moran.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Ohio",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "448 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.portman.senate.gov/public/index.cfm/contact?p=contact-form",
+                "office": "448 Russell Senate Office Building",
+                "rss_url": "http://www.portman.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "P000449",
+                "birthday": "1955-12-19",
+                "cspanid": 31819,
+                "firstname": "Robert",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Portman",
+                "link": "https://www.govtrack.us/congress/members/robert_portman/400325",
+                "middlename": "J.",
+                "name": "Sen. Robert “Rob” Portman [R-OH]",
+                "namemod": "",
+                "nickname": "Rob",
+                "osid": "N00003682",
+                "pvsid": "27008",
+                "sortname": "Portman, Robert “Rob” (Sen.) [R-OH]",
+                "twitterid": "SenRobPortman",
+                "youtubeid": "SenRobPortman"
+            },
+            "phone": "202-224-3353",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "OH",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.portman.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Pennsylvania",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "248 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.toomey.senate.gov/?p=contact",
+                "fax": "202-228-0284",
+                "office": "248 Russell Senate Office Building",
+                "rss_url": "http://toomey.senate.gov/rss/?p=hot_topic"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "T000461",
+                "birthday": "1961-11-17",
+                "cspanid": 7958,
+                "firstname": "Patrick",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Toomey",
+                "link": "https://www.govtrack.us/congress/members/patrick_toomey/400408",
+                "middlename": "J.",
+                "name": "Sen. Patrick “Pat” Toomey [R-PA]",
+                "namemod": "",
+                "nickname": "Pat",
+                "osid": "N00001489",
+                "pvsid": "24096",
+                "sortname": "Toomey, Patrick “Pat” (Sen.) [R-PA]",
+                "twitterid": "SenToomey",
+                "youtubeid": "sentoomey"
+            },
+            "phone": "202-224-4254",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "PA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.toomey.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Maryland",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "110 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.vanhollen.senate.gov/contact/email",
+                "fax": "202-225-0375",
+                "office": "110 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "V000128",
+                "birthday": "1959-01-10",
+                "cspanid": 20756,
+                "firstname": "Chris",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Van Hollen",
+                "link": "https://www.govtrack.us/congress/members/chris_van_hollen/400415",
+                "middlename": "",
+                "name": "Sen. Chris Van Hollen [D-MD]",
+                "namemod": "Jr.",
+                "nickname": "",
+                "osid": "N00013820",
+                "pvsid": "6098",
+                "sortname": "Van Hollen, Chris (Sen.) [D-MD]",
+                "twitterid": "ChrisVanHollen",
+                "youtubeid": "RepChrisVanHollen"
+            },
+            "phone": "202-224-4654",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "MD",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.vanhollen.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for South Dakota",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "511 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.thune.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-5429",
+                "office": "511 Dirksen Senate Office Building",
+                "rss_url": "http://www.thune.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "T000250",
+                "birthday": "1961-01-07",
+                "cspanid": 45552,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Thune",
+                "link": "https://www.govtrack.us/congress/members/john_thune/400546",
+                "middlename": "",
+                "name": "Sen. John Thune [R-SD]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00004572",
+                "pvsid": "398",
+                "sortname": "Thune, John (Sen.) [R-SD]",
+                "twitterid": "SenJohnThune",
+                "youtubeid": "johnthune"
+            },
+            "phone": "202-224-2321",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "SD",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.thune.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Colorado",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "261 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.bennet.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-5097",
+                "office": "261 Russell Senate Office Building",
+                "rss_url": "http://www.bennet.senate.gov/rss/feeds/?type=news"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "B001267",
+                "birthday": "1964-11-28",
+                "cspanid": 1031622,
+                "firstname": "Michael",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Bennet",
+                "link": "https://www.govtrack.us/congress/members/michael_bennet/412330",
+                "middlename": "F.",
+                "name": "Sen. Michael Bennet [D-CO]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00030608",
+                "pvsid": "110942",
+                "sortname": "Bennet, Michael (Sen.) [D-CO]",
+                "twitterid": "SenBennetCo",
+                "youtubeid": "SenatorBennet"
+            },
+            "phone": "202-224-5852",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "CO",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.bennet.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Indiana",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "400 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.young.senate.gov/contact",
+                "fax": "202-226-6866",
+                "office": "400 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "Y000064",
+                "birthday": "1972-08-24",
+                "cspanid": 1033743,
+                "firstname": "Todd",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Young",
+                "link": "https://www.govtrack.us/congress/members/todd_young/412428",
+                "middlename": "C.",
+                "name": "Sen. Todd Young [R-IN]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00030670",
+                "pvsid": "120345",
+                "sortname": "Young, Todd (Sen.) [R-IN]",
+                "twitterid": "SenToddYoung",
+                "youtubeid": "RepToddYoung"
+            },
+            "phone": "202-224-5623",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "IN",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.young.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Oklahoma",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "316 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.lankford.senate.gov/contact/email",
+                "office": "316 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "L000575",
+                "birthday": "1968-03-04",
+                "cspanid": 1033847,
+                "firstname": "James",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Lankford",
+                "link": "https://www.govtrack.us/congress/members/james_lankford/412464",
+                "middlename": "",
+                "name": "Sen. James Lankford [R-OK]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00031129",
+                "pvsid": "124938",
+                "sortname": "Lankford, James (Sen.) [R-OK]",
+                "twitterid": "SenatorLankford",
+                "youtubeid": "SenatorLankford"
+            },
+            "phone": "202-224-5754",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "OK",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.lankford.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for South Carolina",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "717 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.scott.senate.gov/contact/email-me",
+                "fax": "202-225-3407",
+                "office": "717 Hart Senate Office Building",
+                "rss_url": "http://www.scott.senate.gov/rss.xml"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "S001184",
+                "birthday": "1965-09-19",
+                "cspanid": 623506,
+                "firstname": "Tim",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Scott",
+                "link": "https://www.govtrack.us/congress/members/tim_scott/412471",
+                "middlename": "",
+                "name": "Sen. Tim Scott [R-SC]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00031782",
+                "pvsid": "11940",
+                "sortname": "Scott, Tim (Sen.) [R-SC]",
+                "twitterid": "SenatorTimScott",
+                "youtubeid": "SenatorTimScott"
+            },
+            "phone": "202-224-6121",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "SC",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.scott.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Connecticut",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "706 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.blumenthal.senate.gov/contact/",
+                "fax": "202-224-9673",
+                "office": "706 Hart Senate Office Building",
+                "rss_url": "http://www.blumenthal.senate.gov/rss/feeds/?type=all"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "B001277",
+                "birthday": "1946-02-13",
+                "cspanid": 21799,
+                "firstname": "Richard",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Blumenthal",
+                "link": "https://www.govtrack.us/congress/members/richard_blumenthal/412490",
+                "middlename": "",
+                "name": "Sen. Richard Blumenthal [D-CT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00031685",
+                "pvsid": "1568",
+                "sortname": "Blumenthal, Richard (Sen.) [D-CT]",
+                "twitterid": "SenBlumenthal",
+                "youtubeid": "SenatorBlumenthal"
+            },
+            "phone": "202-224-2823",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "CT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.blumenthal.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Florida",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "284 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.rubio.senate.gov/public/index.cfm/contact",
+                "fax": "202-228-0285",
+                "office": "284 Russell Senate Office Building",
+                "rss_url": "http://www.rubio.senate.gov/public/?a=rss.feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "R000595",
+                "birthday": "1971-05-28",
+                "cspanid": 87599,
+                "firstname": "Marco",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Rubio",
+                "link": "https://www.govtrack.us/congress/members/marco_rubio/412491",
+                "middlename": "",
+                "name": "Sen. Marco Rubio [R-FL]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00030612",
+                "pvsid": "1601",
+                "sortname": "Rubio, Marco (Sen.) [R-FL]",
+                "twitterid": "SenRubioPress",
+                "youtubeid": "SenatorMarcoRubio"
+            },
+            "phone": "202-224-3041",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "FL",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.rubio.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Kentucky",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "167 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.paul.senate.gov/connect/email-rand",
+                "fax": "202-228-1373",
+                "office": "167 Russell Senate Office Building",
+                "rss_url": "http://paul.senate.gov/rss/?p=news"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "P000603",
+                "birthday": "1963-01-07",
+                "cspanid": 9265241,
+                "firstname": "Rand",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Paul",
+                "link": "https://www.govtrack.us/congress/members/rand_paul/412492",
+                "middlename": "",
+                "name": "Sen. Rand Paul [R-KY]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00030836",
+                "pvsid": "117285",
+                "sortname": "Paul, Rand (Sen.) [R-KY]",
+                "twitterid": "RandPaul",
+                "youtubeid": "SenatorRandPaul"
+            },
+            "phone": "202-224-4343",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "KY",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.paul.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for North Dakota",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "338 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "http://www.hoeven.senate.gov/public/index.cfm/email-the-senator",
+                "fax": "202-224-7999",
+                "office": "338 Russell Senate Office Building",
+                "rss_url": "http://www.hoeven.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "H001061",
+                "birthday": "1957-03-13",
+                "cspanid": 85233,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Hoeven",
+                "link": "https://www.govtrack.us/congress/members/john_hoeven/412494",
+                "middlename": "",
+                "name": "Sen. John Hoeven [R-ND]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00031688",
+                "pvsid": "41788",
+                "sortname": "Hoeven, John (Sen.) [R-ND]",
+                "twitterid": "SenJohnHoeven",
+                "youtubeid": "senatorjohnhoevennd"
+            },
+            "phone": "202-224-2551",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "ND",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.hoeven.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Utah",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "361A Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.lee.senate.gov/public/index.cfm/contact",
+                "office": "361a Russell Senate Office Building",
+                "rss_url": "http://www.lee.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "L000577",
+                "birthday": "1971-06-04",
+                "cspanid": 9267977,
+                "firstname": "Mike",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Lee",
+                "link": "https://www.govtrack.us/congress/members/mike_lee/412495",
+                "middlename": "",
+                "name": "Sen. Mike Lee [R-UT]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00031696",
+                "pvsid": "66395",
+                "sortname": "Lee, Mike (Sen.) [R-UT]",
+                "twitterid": "SenMikeLee",
+                "youtubeid": "senatormikelee"
+            },
+            "phone": "202-224-5444",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "UT",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.lee.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Wisconsin",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "328 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.ronjohnson.senate.gov/public/index.cfm/email-the-senator",
+                "fax": "920-230-7262",
+                "office": "328 Hart Senate Office Building",
+                "rss_url": "http://www.ronjohnson.senate.gov/public/index.cfm/rss/feed"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "J000293",
+                "birthday": "1955-04-08",
+                "cspanid": 62835,
+                "firstname": "Ron",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Johnson",
+                "link": "https://www.govtrack.us/congress/members/ron_johnson/412496",
+                "middlename": "",
+                "name": "Sen. Ron Johnson [R-WI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00032546",
+                "pvsid": "126217",
+                "sortname": "Johnson, Ron (Sen.) [R-WI]",
+                "twitterid": "SenRonJohnson",
+                "youtubeid": "SenatorRonJohnson"
+            },
+            "phone": "202-224-5323",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "WI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.ronjohnson.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Senior Senator for Hawaii",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "722 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.schatz.senate.gov/contact",
+                "fax": "202-228-1153",
+                "office": "722 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "S001194",
+                "birthday": "1972-10-20",
+                "cspanid": 87784,
+                "firstname": "Brian",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Schatz",
+                "link": "https://www.govtrack.us/congress/members/brian_schatz/412507",
+                "middlename": "Emanuel",
+                "name": "Sen. Brian Schatz [D-HI]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00028138",
+                "pvsid": "17852",
+                "sortname": "Schatz, Brian (Sen.) [D-HI]",
+                "twitterid": "SenBrianSchatz",
+                "youtubeid": "senbrianschatz"
+            },
+            "phone": "202-224-3934",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "senior",
+            "senator_rank_label": "Senior",
+            "startdate": "2017-01-03",
+            "state": "HI",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.schatz.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Illinois",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "524 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.duckworth.senate.gov/content/contact-senator",
+                "office": "524 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "D000622",
+                "birthday": "1968-03-12",
+                "cspanid": 94484,
+                "firstname": "Tammy",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Duckworth",
+                "link": "https://www.govtrack.us/congress/members/tammy_duckworth/412533",
+                "middlename": "",
+                "name": "Sen. Tammy Duckworth [D-IL]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00027860",
+                "pvsid": "57442",
+                "sortname": "Duckworth, Tammy (Sen.) [D-IL]",
+                "twitterid": "SenDuckworth",
+                "youtubeid": "repduckworth"
+            },
+            "phone": "202-224-2854",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "IL",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.duckworth.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for California",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "112 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.harris.senate.gov/contact",
+                "office": "112 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "H001075",
+                "birthday": "1964-10-20",
+                "cspanid": 1018696,
+                "firstname": "Kamala",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Harris",
+                "link": "https://www.govtrack.us/congress/members/kamala_harris/412678",
+                "middlename": "",
+                "name": "Sen. Kamala Harris [D-CA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00036915",
+                "pvsid": "120012",
+                "sortname": "Harris, Kamala (Sen.) [D-CA]",
+                "twitterid": "SenKamalaHarris",
+                "youtubeid": null
+            },
+            "phone": "202-224-3553",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "CA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.harris.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Louisiana",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "383 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.kennedy.senate.gov/public/email-me",
+                "office": "383 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "K000393",
+                "birthday": "1951-11-21",
+                "cspanid": 1011723,
+                "firstname": "John",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Kennedy",
+                "link": "https://www.govtrack.us/congress/members/john_kennedy/412679",
+                "middlename": "Neely",
+                "name": "Sen. John Kennedy [R-LA]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00026823",
+                "pvsid": "35496",
+                "sortname": "Kennedy, John (Sen.) [R-LA]",
+                "twitterid": "SenJohnKennedy",
+                "youtubeid": null
+            },
+            "phone": "202-224-4623",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "LA",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.kennedy.senate.gov/public"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for New Hampshire",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "330 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.hassan.senate.gov/content/contact-senator",
+                "office": "330 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "H001076",
+                "birthday": "1958-02-27",
+                "cspanid": 67481,
+                "firstname": "Margaret",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Hassan",
+                "link": "https://www.govtrack.us/congress/members/margaret_hassan/412680",
+                "middlename": "Wood",
+                "name": "Sen. Margaret “Maggie” Hassan [D-NH]",
+                "namemod": "",
+                "nickname": "Maggie",
+                "osid": "N00038397",
+                "pvsid": "42552",
+                "sortname": "Hassan, Margaret “Maggie” (Sen.) [D-NH]",
+                "twitterid": "Senatorhassan",
+                "youtubeid": null
+            },
+            "phone": "202-224-3324",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "NH",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.hassan.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116,
+                117
+            ],
+            "current": true,
+            "description": "Junior Senator for Nevada",
+            "district": null,
+            "enddate": "2023-01-03",
+            "extra": {
+                "address": "204 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.cortezmasto.senate.gov/contact",
+                "office": "204 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "C001113",
+                "birthday": "1964-03-29",
+                "cspanid": 105698,
+                "firstname": "Catherine",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Cortez Masto",
+                "link": "https://www.govtrack.us/congress/members/catherine_cortez_masto/412681",
+                "middlename": "",
+                "name": "Sen. Catherine Cortez Masto [D-NV]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00037161",
+                "pvsid": "69579",
+                "sortname": "Cortez Masto, Catherine (Sen.) [D-NV]",
+                "twitterid": "sencortezmasto",
+                "youtubeid": null
+            },
+            "phone": "202-224-3542",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2017-01-03",
+            "state": "NV",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.cortezmasto.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Alabama",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "326 Russell Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.jones.senate.gov/content/contact-senator",
+                "office": "326 Russell Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "J000300",
+                "birthday": "1954-05-04",
+                "cspanid": 1024592,
+                "firstname": "Doug",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Jones",
+                "link": "https://www.govtrack.us/congress/members/doug_jones/412741",
+                "middlename": "",
+                "name": "Sen. Doug Jones [D-AL]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00024817",
+                "pvsid": "176464",
+                "sortname": "Jones, Doug (Sen.) [D-AL]",
+                "twitterid": "sendougjones",
+                "youtubeid": null
+            },
+            "phone": "202-224-4124",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2018-01-03",
+            "state": "AL",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.jones.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115
+            ],
+            "current": true,
+            "description": "Junior Senator for Mississippi",
+            "district": null,
+            "enddate": "2018-11-27",
+            "extra": {
+                "address": "G12 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.hydesmith.senate.gov/content/contact-senator",
+                "end-type": "special-election",
+                "how": "appointment",
+                "office": "G12 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "H001079",
+                "birthday": "1959-05-10",
+                "cspanid": null,
+                "firstname": "Cindy",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Hyde-Smith",
+                "link": "https://www.govtrack.us/congress/members/cindy_hyde_smith/412743",
+                "middlename": "",
+                "name": "Sen. Cindy Hyde-Smith [R-MS]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00043298",
+                "pvsid": null,
+                "sortname": "Hyde-Smith, Cindy (Sen.) [R-MS]",
+                "twitterid": "SenHydeSmith",
+                "youtubeid": null
+            },
+            "phone": "202-224-5054",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2018-04-09",
+            "state": "MS",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.hydesmith.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Arizona",
+            "district": null,
+            "enddate": "2020-11-03",
+            "extra": {
+                "address": "G12 Dirksen Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.kyl.senate.gov/content/contact-senator-kyl",
+                "end-type": "special-election",
+                "fax": "202-228-2862",
+                "how": "appointment",
+                "office": "G12 Dirksen Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Republican",
+            "person": {
+                "bioguideid": "K000352",
+                "birthday": "1942-04-25",
+                "cspanid": null,
+                "firstname": "Jon",
+                "gender": "male",
+                "gender_label": "Male",
+                "lastname": "Kyl",
+                "link": "https://www.govtrack.us/congress/members/jon_kyl/300062",
+                "middlename": "",
+                "name": "Sen. Jon Kyl [R-AZ]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00006406",
+                "pvsid": "26721",
+                "sortname": "Kyl, Jon (Sen.) [R-AZ]",
+                "twitterid": null,
+                "youtubeid": null
+            },
+            "phone": "202-224-2235",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class3",
+            "senator_class_label": "Class 3",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2018-09-05",
+            "state": "AZ",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.kyl.senate.gov"
+        },
+        {
+            "caucus": null,
+            "congress_numbers": [
+                115,
+                116
+            ],
+            "current": true,
+            "description": "Junior Senator for Minnesota",
+            "district": null,
+            "enddate": "2021-01-03",
+            "extra": {
+                "address": "309 Hart Senate Office Building Washington DC 20510",
+                "contact_form": "https://www.smith.senate.gov/content/contact-senator",
+                "office": "309 Hart Senate Office Building"
+            },
+            "leadership_title": null,
+            "party": "Democrat",
+            "person": {
+                "bioguideid": "S001203",
+                "birthday": "1958-03-04",
+                "cspanid": 111313,
+                "firstname": "Tina",
+                "gender": "female",
+                "gender_label": "Female",
+                "lastname": "Smith",
+                "link": "https://www.govtrack.us/congress/members/tina_smith/412742",
+                "middlename": "Flint",
+                "name": "Sen. Tina Smith [D-MN]",
+                "namemod": "",
+                "nickname": "",
+                "osid": "N00042353",
+                "pvsid": "152968",
+                "sortname": "Smith, Tina (Sen.) [D-MN]",
+                "twitterid": "SenTinaSmith",
+                "youtubeid": null
+            },
+            "phone": "202-224-5641",
+            "role_type": "senator",
+            "role_type_label": "Senator",
+            "senator_class": "class2",
+            "senator_class_label": "Class 2",
+            "senator_rank": "junior",
+            "senator_rank_label": "Junior",
+            "startdate": "2018-11-07",
+            "state": "MN",
+            "title": "Sen.",
+            "title_long": "Senator",
+            "website": "https://www.smith.senate.gov"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_json_lines.json b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sample_json_lines.json
new file mode 100644 (file)
index 0000000..1cecaee
--- /dev/null
@@ -0,0 +1,5145 @@
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Wisconsin",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "709 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.baldwin.senate.gov/feedback",
+        "fax": "202-225-6942",
+        "office": "709 Hart Senate Office Building",
+        "rss_url": "http://www.baldwin.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "B001230",
+        "birthday": "1962-02-11",
+        "cspanid": 57884,
+        "firstname": "Tammy",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Baldwin",
+        "link": "https://www.govtrack.us/congress/members/tammy_baldwin/400013",
+        "middlename": "",
+        "name": "Sen. Tammy Baldwin [D-WI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00004367",
+        "pvsid": "3470",
+        "sortname": "Baldwin, Tammy (Sen.) [D-WI]",
+        "twitterid": "SenatorBaldwin",
+        "youtubeid": "witammybaldwin"
+    },
+    "phone": "202-224-5653",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "WI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.baldwin.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Ohio",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "713 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.brown.senate.gov/contact/",
+        "fax": "202-228-6321",
+        "office": "713 Hart Senate Office Building",
+        "rss_url": "http://www.brown.senate.gov/rss/feeds/?type=all&amp;"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "B000944",
+        "birthday": "1952-11-09",
+        "cspanid": 5051,
+        "firstname": "Sherrod",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Brown",
+        "link": "https://www.govtrack.us/congress/members/sherrod_brown/400050",
+        "middlename": "",
+        "name": "Sen. Sherrod Brown [D-OH]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00003535",
+        "pvsid": "27018",
+        "sortname": "Brown, Sherrod (Sen.) [D-OH]",
+        "twitterid": "SenSherrodBrown",
+        "youtubeid": "SherrodBrownOhio"
+    },
+    "phone": "202-224-2315",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "OH",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.brown.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Maryland",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "509 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.cardin.senate.gov/contact/",
+        "fax": "202-224-1651",
+        "office": "509 Hart Senate Office Building",
+        "rss_url": "http://www.cardin.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "C000141",
+        "birthday": "1943-10-05",
+        "cspanid": 4004,
+        "firstname": "Benjamin",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Cardin",
+        "link": "https://www.govtrack.us/congress/members/benjamin_cardin/400064",
+        "middlename": "L.",
+        "name": "Sen. Benjamin Cardin [D-MD]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00001955",
+        "pvsid": "26888",
+        "sortname": "Cardin, Benjamin (Sen.) [D-MD]",
+        "twitterid": "SenatorCardin",
+        "youtubeid": "senatorcardin"
+    },
+    "phone": "202-224-4524",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MD",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cardin.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Arizona",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "413 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.flake.senate.gov/public/index.cfm/contact-jeff",
+        "fax": "202-226-4386",
+        "office": "413 Russell Senate Office Building",
+        "rss_url": "http://www.flake.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "F000444",
+        "birthday": "1962-12-31",
+        "cspanid": 87582,
+        "firstname": "Jeff",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Flake",
+        "link": "https://www.govtrack.us/congress/members/jeff_flake/400134",
+        "middlename": "",
+        "name": "Sen. Jeff Flake [R-AZ]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009573",
+        "pvsid": "28128",
+        "sortname": "Flake, Jeff (Sen.) [R-AZ]",
+        "twitterid": "JeffFlake",
+        "youtubeid": "flakeoffice"
+    },
+    "phone": "202-224-4521",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "AZ",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.flake.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for New Jersey",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "528 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.menendez.senate.gov/contact",
+        "fax": "202-228-2197",
+        "office": "528 Hart Senate Office Building",
+        "rss_url": "http://www.menendez.senate.gov/rss/feeds/index.cfm?type=news"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M000639",
+        "birthday": "1954-01-01",
+        "cspanid": 29608,
+        "firstname": "Robert",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Menéndez",
+        "link": "https://www.govtrack.us/congress/members/robert_menendez/400272",
+        "middlename": "",
+        "name": "Sen. Robert “Bob” Menéndez [D-NJ]",
+        "namemod": "",
+        "nickname": "Bob",
+        "osid": "N00000699",
+        "pvsid": "26961",
+        "sortname": "Menéndez, Robert “Bob” (Sen.) [D-NJ]",
+        "twitterid": "SenatorMenendez",
+        "youtubeid": "SenatorMenendezNJ"
+    },
+    "phone": "202-224-4744",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "NJ",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.menendez.senate.gov"
+},
+{
+    "caucus": "Democrat",
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Vermont",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "332 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.sanders.senate.gov/contact/",
+        "fax": "202-228-0776",
+        "office": "332 Dirksen Senate Office Building",
+        "rss_url": "http://www.sanders.senate.gov/rss/"
+    },
+    "leadership_title": null,
+    "party": "Independent",
+    "person": {
+        "bioguideid": "S000033",
+        "birthday": "1941-09-08",
+        "cspanid": 994,
+        "firstname": "Bernard",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Sanders",
+        "link": "https://www.govtrack.us/congress/members/bernard_sanders/400357",
+        "middlename": "",
+        "name": "Sen. Bernard “Bernie” Sanders [I-VT]",
+        "namemod": "",
+        "nickname": "Bernie",
+        "osid": "N00000528",
+        "pvsid": "27110",
+        "sortname": "Sanders, Bernard “Bernie” (Sen.) [I-VT]",
+        "twitterid": "SenSanders",
+        "youtubeid": "senatorsanders"
+    },
+    "phone": "202-224-5141",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "VT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.sanders.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Washington",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "511 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.cantwell.senate.gov/public/index.cfm/email-maria",
+        "fax": "202-228-0514",
+        "office": "511 Hart Senate Office Building",
+        "rss_url": "http://www.cantwell.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "C000127",
+        "birthday": "1958-10-13",
+        "cspanid": 26137,
+        "firstname": "Maria",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Cantwell",
+        "link": "https://www.govtrack.us/congress/members/maria_cantwell/300018",
+        "middlename": "",
+        "name": "Sen. Maria Cantwell [D-WA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00007836",
+        "pvsid": "27122",
+        "sortname": "Cantwell, Maria (Sen.) [D-WA]",
+        "twitterid": "SenatorCantwell",
+        "youtubeid": "SenatorCantwell"
+    },
+    "phone": "202-224-3441",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "WA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cantwell.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Delaware",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "513 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.carper.senate.gov/public/index.cfm/email-senator-carper",
+        "fax": "202-228-2190",
+        "office": "513 Hart Senate Office Building",
+        "rss_url": "http://www.carper.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "C000174",
+        "birthday": "1947-01-23",
+        "cspanid": 663,
+        "firstname": "Thomas",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Carper",
+        "link": "https://www.govtrack.us/congress/members/thomas_carper/300019",
+        "middlename": "Richard",
+        "name": "Sen. Thomas Carper [D-DE]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00012508",
+        "pvsid": "22421",
+        "sortname": "Carper, Thomas (Sen.) [D-DE]",
+        "twitterid": "SenatorCarper",
+        "youtubeid": "senatorcarper"
+    },
+    "phone": "202-224-2441",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "DE",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.carper.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for California",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "331 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.feinstein.senate.gov/public/index.cfm/e-mail-me",
+        "fax": "202-228-3954",
+        "office": "331 Hart Senate Office Building",
+        "rss_url": "http://www.feinstein.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "F000062",
+        "birthday": "1933-06-22",
+        "cspanid": 13061,
+        "firstname": "Dianne",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Feinstein",
+        "link": "https://www.govtrack.us/congress/members/dianne_feinstein/300043",
+        "middlename": "",
+        "name": "Sen. Dianne Feinstein [D-CA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00007364",
+        "pvsid": "53273",
+        "sortname": "Feinstein, Dianne (Sen.) [D-CA]",
+        "twitterid": "SenFeinstein",
+        "youtubeid": "SenatorFeinstein"
+    },
+    "phone": "202-224-3841",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "CA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.feinstein.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Utah",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "104 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.hatch.senate.gov/public/index.cfm/contact?p=Email-Orrin",
+        "fax": "202-224-6331",
+        "office": "104 Hart Senate Office Building",
+        "rss_url": "http://www.hatch.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "H000338",
+        "birthday": "1934-03-22",
+        "cspanid": 189,
+        "firstname": "Orrin",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Hatch",
+        "link": "https://www.govtrack.us/congress/members/orrin_hatch/300052",
+        "middlename": "G.",
+        "name": "Sen. Orrin Hatch [R-UT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009869",
+        "pvsid": "53352",
+        "sortname": "Hatch, Orrin (Sen.) [R-UT]",
+        "twitterid": "SenOrrinHatch",
+        "youtubeid": "SenatorOrrinHatch"
+    },
+    "phone": "202-224-5251",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "UT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.hatch.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Florida",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "716 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.billnelson.senate.gov/contact-bill",
+        "fax": "202-228-2183",
+        "office": "716 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "N000032",
+        "birthday": "1942-09-29",
+        "cspanid": 1931,
+        "firstname": "Bill",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Nelson",
+        "link": "https://www.govtrack.us/congress/members/bill_nelson/300078",
+        "middlename": "",
+        "name": "Sen. Bill Nelson [D-FL]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009926",
+        "pvsid": "1606",
+        "sortname": "Nelson, Bill (Sen.) [D-FL]",
+        "twitterid": "SenBillNelson",
+        "youtubeid": "senbillnelson"
+    },
+    "phone": "202-224-5274",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "FL",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.billnelson.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Michigan",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "731 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.stabenow.senate.gov/contact",
+        "fax": "202-228-0325",
+        "office": "731 Hart Senate Office Building",
+        "rss_url": "http://stabenow.senate.gov/rss/?p=news"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "S000770",
+        "birthday": "1950-04-29",
+        "cspanid": 45451,
+        "firstname": "Debbie",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Stabenow",
+        "link": "https://www.govtrack.us/congress/members/debbie_stabenow/300093",
+        "middlename": "Ann",
+        "name": "Sen. Debbie Stabenow [D-MI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00004118",
+        "pvsid": "515",
+        "sortname": "Stabenow, Debbie (Sen.) [D-MI]",
+        "twitterid": "SenStabenow",
+        "youtubeid": "senatorstabenow"
+    },
+    "phone": "202-224-4822",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.stabenow.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Connecticut",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "136 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.murphy.senate.gov/contact",
+        "fax": "202-225-5933",
+        "office": "136 Hart Senate Office Building",
+        "rss_url": "http://www.theday.com/article/20121216/nws12/312169935/1069/rss"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M001169",
+        "birthday": "1973-08-03",
+        "cspanid": 1021270,
+        "firstname": "Christopher",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Murphy",
+        "link": "https://www.govtrack.us/congress/members/christopher_murphy/412194",
+        "middlename": "S.",
+        "name": "Sen. Christopher Murphy [D-CT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027566",
+        "pvsid": "17189",
+        "sortname": "Murphy, Christopher (Sen.) [D-CT]",
+        "twitterid": "senmurphyoffice",
+        "youtubeid": "senchrismurphy"
+    },
+    "phone": "202-224-4041",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "CT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.murphy.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Hawaii",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "730 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.hirono.senate.gov/contact",
+        "fax": "202-225-4987",
+        "office": "730 Hart Senate Office Building",
+        "rss_url": "http://www.hirono.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "H001042",
+        "birthday": "1947-11-03",
+        "cspanid": 91216,
+        "firstname": "Mazie",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Hirono",
+        "link": "https://www.govtrack.us/congress/members/mazie_hirono/412200",
+        "middlename": "K.",
+        "name": "Sen. Mazie Hirono [D-HI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00028139",
+        "pvsid": "1677",
+        "sortname": "Hirono, Mazie (Sen.) [D-HI]",
+        "twitterid": "MazieHirono",
+        "youtubeid": "CongresswomanHirono"
+    },
+    "phone": "202-224-6361",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "HI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.hirono.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Indiana",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "720 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.donnelly.senate.gov/contact/email-joe",
+        "fax": "202-225-6798",
+        "office": "720 Hart Senate Office Building",
+        "rss_url": "http://www.donnelly.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "D000607",
+        "birthday": "1955-09-28",
+        "cspanid": 1012000,
+        "firstname": "Joe",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Donnelly",
+        "link": "https://www.govtrack.us/congress/members/joe_donnelly/412205",
+        "middlename": "",
+        "name": "Sen. Joe Donnelly [D-IN]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00026586",
+        "pvsid": "34212",
+        "sortname": "Donnelly, Joe (Sen.) [D-IN]",
+        "twitterid": "SenDonnelly",
+        "youtubeid": "sendonnelly"
+    },
+    "phone": "202-224-4814",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "IN",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.donnelly.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Nevada",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "324 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.heller.senate.gov/public/index.cfm/contact-form",
+        "fax": "202-228-6753",
+        "office": "324 Hart Senate Office Building",
+        "rss_url": "http://www.heller.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "H001041",
+        "birthday": "1960-05-10",
+        "cspanid": 1012368,
+        "firstname": "Dean",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Heller",
+        "link": "https://www.govtrack.us/congress/members/dean_heller/412218",
+        "middlename": "",
+        "name": "Sen. Dean Heller [R-NV]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027522",
+        "pvsid": "2291",
+        "sortname": "Heller, Dean (Sen.) [R-NV]",
+        "twitterid": "SenDeanHeller",
+        "youtubeid": "SenDeanHeller"
+    },
+    "phone": "202-224-6244",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "NV",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.heller.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for New York",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "478 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.gillibrand.senate.gov/contact/email-me",
+        "fax": "202-228-0282",
+        "office": "478 Russell Senate Office Building",
+        "rss_url": "http://www.gillibrand.senate.gov/rss/"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "G000555",
+        "birthday": "1966-12-09",
+        "cspanid": 1022862,
+        "firstname": "Kirsten",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Gillibrand",
+        "link": "https://www.govtrack.us/congress/members/kirsten_gillibrand/412223",
+        "middlename": "E.",
+        "name": "Sen. Kirsten Gillibrand [D-NY]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027658",
+        "pvsid": "65147",
+        "sortname": "Gillibrand, Kirsten (Sen.) [D-NY]",
+        "twitterid": "SenGillibrand",
+        "youtubeid": "KirstenEGillibrand"
+    },
+    "phone": "202-224-4451",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "NY",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.gillibrand.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Minnesota",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "302 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.klobuchar.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-2186",
+        "office": "302 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "K000367",
+        "birthday": "1960-05-25",
+        "cspanid": 83701,
+        "firstname": "Amy",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Klobuchar",
+        "link": "https://www.govtrack.us/congress/members/amy_klobuchar/412242",
+        "middlename": "Jean",
+        "name": "Sen. Amy Klobuchar [D-MN]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027500",
+        "pvsid": "65092",
+        "sortname": "Klobuchar, Amy (Sen.) [D-MN]",
+        "twitterid": "SenAmyKlobuchar",
+        "youtubeid": "senatorklobuchar"
+    },
+    "phone": "202-224-3244",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MN",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.klobuchar.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Missouri",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "503 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.mccaskill.senate.gov/contact",
+        "fax": "202-228-6326",
+        "office": "503 Hart Senate Office Building",
+        "rss_url": "http://mccaskill.senate.gov/rss/?p=news"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M001170",
+        "birthday": "1953-07-24",
+        "cspanid": 44501,
+        "firstname": "Claire",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "McCaskill",
+        "link": "https://www.govtrack.us/congress/members/claire_mccaskill/412243",
+        "middlename": "",
+        "name": "Sen. Claire McCaskill [D-MO]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027694",
+        "pvsid": "2109",
+        "sortname": "McCaskill, Claire (Sen.) [D-MO]",
+        "twitterid": "McCaskillOffice",
+        "youtubeid": "SenatorMcCaskill"
+    },
+    "phone": "202-224-6154",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MO",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.mccaskill.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Montana",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "311 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.tester.senate.gov/?p=email_senator",
+        "fax": "202-224-8594",
+        "office": "311 Hart Senate Office Building",
+        "rss_url": "http://www.tester.senate.gov/rss/?p=hot_topic"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "T000464",
+        "birthday": "1956-08-21",
+        "cspanid": 1020176,
+        "firstname": "Jon",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Tester",
+        "link": "https://www.govtrack.us/congress/members/jon_tester/412244",
+        "middlename": "",
+        "name": "Sen. Jon Tester [D-MT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027605",
+        "pvsid": "20928",
+        "sortname": "Tester, Jon (Sen.) [D-MT]",
+        "twitterid": "SenatorTester",
+        "youtubeid": "senatorjontester"
+    },
+    "phone": "202-224-2644",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.tester.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Pennsylvania",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "393 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.casey.senate.gov/contact/",
+        "fax": "202-228-0604",
+        "office": "393 Russell Senate Office Building",
+        "rss_url": "http://www.casey.senate.gov/rss/feeds/?all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "C001070",
+        "birthday": "1960-04-13",
+        "cspanid": 47036,
+        "firstname": "Robert",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Casey",
+        "link": "https://www.govtrack.us/congress/members/robert_casey/412246",
+        "middlename": "P.",
+        "name": "Sen. Robert “Bob” Casey [D-PA]",
+        "namemod": "Jr.",
+        "nickname": "Bob",
+        "osid": "N00027503",
+        "pvsid": "2541",
+        "sortname": "Casey, Robert “Bob” (Sen.) [D-PA]",
+        "twitterid": "SenBobCasey",
+        "youtubeid": "SenatorBobCasey"
+    },
+    "phone": "202-224-6324",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "PA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.casey.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Rhode Island",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "530 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.whitehouse.senate.gov/contact/email-sheldon",
+        "fax": "202-228-6362",
+        "office": "530 Hart Senate Office Building",
+        "rss_url": "http://www.whitehouse.senate.gov/rss/feeds/?type=all&amp;cachebuster=1"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "W000802",
+        "birthday": "1955-10-20",
+        "cspanid": 92235,
+        "firstname": "Sheldon",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Whitehouse",
+        "link": "https://www.govtrack.us/congress/members/sheldon_whitehouse/412247",
+        "middlename": "",
+        "name": "Sen. Sheldon Whitehouse [D-RI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027533",
+        "pvsid": "2572",
+        "sortname": "Whitehouse, Sheldon (Sen.) [D-RI]",
+        "twitterid": "SenWhitehouse",
+        "youtubeid": "SenatorWhitehouse"
+    },
+    "phone": "202-224-2921",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "RI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.whitehouse.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Tennessee",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "425 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.corker.senate.gov/public/index.cfm/emailme",
+        "fax": "202-228-0566",
+        "office": "425 Dirksen Senate Office Building",
+        "rss_url": "http://www.corker.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001071",
+        "birthday": "1952-08-24",
+        "cspanid": 1021114,
+        "firstname": "Bob",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Corker",
+        "link": "https://www.govtrack.us/congress/members/bob_corker/412248",
+        "middlename": "",
+        "name": "Sen. Bob Corker [R-TN]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027441",
+        "pvsid": "65905",
+        "sortname": "Corker, Bob (Sen.) [R-TN]",
+        "twitterid": "SenBobCorker",
+        "youtubeid": "senatorcorker"
+    },
+    "phone": "202-224-3344",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "TN",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.corker.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Wyoming",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "307 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.barrasso.senate.gov/public/index.cfm/contact-form",
+        "fax": "202-224-1724",
+        "office": "307 Dirksen Senate Office Building",
+        "rss_url": "http://www.barrasso.senate.gov/public/index.cfm?FuseAction=Rss.Feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "B001261",
+        "birthday": "1952-07-21",
+        "cspanid": 1024777,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Barrasso",
+        "link": "https://www.govtrack.us/congress/members/john_barrasso/412251",
+        "middlename": "A.",
+        "name": "Sen. John Barrasso [R-WY]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00006236",
+        "pvsid": "52662",
+        "sortname": "Barrasso, John (Sen.) [R-WY]",
+        "twitterid": "SenJohnBarrasso",
+        "youtubeid": "barrassowyo"
+    },
+    "phone": "202-224-6441",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "WY",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.barrasso.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for New Mexico",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "303 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.heinrich.senate.gov/contact",
+        "fax": "202-225-4975",
+        "office": "303 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "H001046",
+        "birthday": "1971-10-17",
+        "cspanid": 1030686,
+        "firstname": "Martin",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Heinrich",
+        "link": "https://www.govtrack.us/congress/members/martin_heinrich/412281",
+        "middlename": "",
+        "name": "Sen. Martin Heinrich [D-NM]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00029835",
+        "pvsid": "74517",
+        "sortname": "Heinrich, Martin (Sen.) [D-NM]",
+        "twitterid": "MartinHeinrich",
+        "youtubeid": "SenMartinHeinrich"
+    },
+    "phone": "202-224-5521",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "NM",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.heinrich.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for West Virginia",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "306 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.manchin.senate.gov/public/index.cfm/contact-form",
+        "fax": "202-228-0002",
+        "office": "306 Hart Senate Office Building",
+        "rss_url": "http://www.manchin.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M001183",
+        "birthday": "1947-08-24",
+        "cspanid": 62864,
+        "firstname": "Joe",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Manchin",
+        "link": "https://www.govtrack.us/congress/members/joe_manchin/412391",
+        "middlename": "",
+        "name": "Sen. Joe Manchin [D-WV]",
+        "namemod": "III",
+        "nickname": "",
+        "osid": "N00032838",
+        "pvsid": "7547",
+        "sortname": "Manchin, Joe (Sen.) [D-WV]",
+        "twitterid": "Sen_JoeManchin",
+        "youtubeid": "SenatorJoeManchin"
+    },
+    "phone": "202-224-3954",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "WV",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.manchin.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Massachusetts",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "317 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.warren.senate.gov/?p=email_senator",
+        "fax": "202-228-2072",
+        "office": "317 Hart Senate Office Building",
+        "rss_url": "http://www.warren.senate.gov/rss/?p=hot_topic"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "W000817",
+        "birthday": "1949-06-22",
+        "cspanid": 1023023,
+        "firstname": "Elizabeth",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Warren",
+        "link": "https://www.govtrack.us/congress/members/elizabeth_warren/412542",
+        "middlename": "",
+        "name": "Sen. Elizabeth Warren [D-MA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033492",
+        "pvsid": "141272",
+        "sortname": "Warren, Elizabeth (Sen.) [D-MA]",
+        "twitterid": "SenWarren",
+        "youtubeid": "senelizabethwarren"
+    },
+    "phone": "202-224-4543",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.warren.senate.gov"
+},
+{
+    "caucus": "Democrat",
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Maine",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "133 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.king.senate.gov/contact",
+        "fax": "202-224-1946",
+        "office": "133 Hart Senate Office Building",
+        "rss_url": "http://www.king.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Independent",
+    "person": {
+        "bioguideid": "K000383",
+        "birthday": "1944-03-31",
+        "cspanid": 37413,
+        "firstname": "Angus",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "King",
+        "link": "https://www.govtrack.us/congress/members/angus_king/412545",
+        "middlename": "",
+        "name": "Sen. Angus King [I-ME]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00034580",
+        "pvsid": "22381",
+        "sortname": "King, Angus (Sen.) [I-ME]",
+        "twitterid": "SenAngusKing",
+        "youtubeid": "SenatorAngusKing"
+    },
+    "phone": "202-224-5344",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "ME",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.king.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for North Dakota",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "516 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.heitkamp.senate.gov/public/index.cfm/contact",
+        "fax": "202-224-7776",
+        "office": "516 Hart Senate Office Building",
+        "rss_url": "http://www.heitkamp.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "H001069",
+        "birthday": "1955-10-30",
+        "cspanid": 95414,
+        "firstname": "Heidi",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Heitkamp",
+        "link": "https://www.govtrack.us/congress/members/heidi_heitkamp/412554",
+        "middlename": "",
+        "name": "Sen. Heidi Heitkamp [D-ND]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033782",
+        "pvsid": "41716",
+        "sortname": "Heitkamp, Heidi (Sen.) [D-ND]",
+        "twitterid": "SenatorHeitkamp",
+        "youtubeid": "senatorheidiheitkamp"
+    },
+    "phone": "202-224-2043",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "ND",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.heitkamp.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Nebraska",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "454 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.fischer.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-1325",
+        "office": "454 Russell Senate Office Building",
+        "rss_url": "http://www.fischer.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "F000463",
+        "birthday": "1951-03-01",
+        "cspanid": 1034067,
+        "firstname": "Deb",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Fischer",
+        "link": "https://www.govtrack.us/congress/members/deb_fischer/412556",
+        "middlename": "",
+        "name": "Sen. Deb Fischer [R-NE]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033443",
+        "pvsid": "41963",
+        "sortname": "Fischer, Deb (Sen.) [R-NE]",
+        "twitterid": "SenatorFischer",
+        "youtubeid": "senatordebfischer"
+    },
+    "phone": "202-224-6551",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "NE",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.fischer.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Texas",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "404 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.cruz.senate.gov/?p=form&id=16",
+        "fax": "202-228-3398",
+        "office": "404 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001098",
+        "birthday": "1970-12-22",
+        "cspanid": 1019953,
+        "firstname": "Ted",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Cruz",
+        "link": "https://www.govtrack.us/congress/members/ted_cruz/412573",
+        "middlename": "",
+        "name": "Sen. Ted Cruz [R-TX]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033085",
+        "pvsid": "135705",
+        "sortname": "Cruz, Ted (Sen.) [R-TX]",
+        "twitterid": "SenTedCruz",
+        "youtubeid": "sentedcruz"
+    },
+    "phone": "202-224-5922",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "TX",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cruz.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Virginia",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "231 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.kaine.senate.gov/contact",
+        "fax": "202-228-6363",
+        "office": "231 Russell Senate Office Building",
+        "rss_url": "http://www.kaine.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "K000384",
+        "birthday": "1958-02-26",
+        "cspanid": 49219,
+        "firstname": "Timothy",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Kaine",
+        "link": "https://www.govtrack.us/congress/members/timothy_kaine/412582",
+        "middlename": "",
+        "name": "Sen. Timothy Kaine [D-VA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033177",
+        "pvsid": "50772",
+        "sortname": "Kaine, Timothy (Sen.) [D-VA]",
+        "twitterid": null,
+        "youtubeid": "SenatorTimKaine"
+    },
+    "phone": "202-224-4024",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2013-01-03",
+    "state": "VA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.kaine.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        113,
+        114,
+        115
+    ],
+    "current": true,
+    "description": "Senior Senator for Mississippi",
+    "district": null,
+    "enddate": "2019-01-03",
+    "extra": {
+        "address": "555 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.wicker.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-0378",
+        "office": "555 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "W000437",
+        "birthday": "1951-07-05",
+        "cspanid": 18203,
+        "firstname": "Roger",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Wicker",
+        "link": "https://www.govtrack.us/congress/members/roger_wicker/400432",
+        "middlename": "F.",
+        "name": "Sen. Roger Wicker [R-MS]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00003280",
+        "pvsid": "21926",
+        "sortname": "Wicker, Roger (Sen.) [R-MS]",
+        "twitterid": "SenatorWicker",
+        "youtubeid": "SenatorWicker"
+    },
+    "phone": "202-224-6253",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class1",
+    "senator_class_label": "Class 1",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2013-01-03",
+    "state": "MS",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.wicker.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Tennessee",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "455 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.alexander.senate.gov/public/index.cfm?p=Email",
+        "fax": "202-228-3398",
+        "office": "455 Dirksen Senate Office Building",
+        "rss_url": "http://www.alexander.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "A000360",
+        "birthday": "1940-07-03",
+        "cspanid": 5,
+        "firstname": "Lamar",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Alexander",
+        "link": "https://www.govtrack.us/congress/members/lamar_alexander/300002",
+        "middlename": "",
+        "name": "Sen. Lamar Alexander [R-TN]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009888",
+        "pvsid": "15691",
+        "sortname": "Alexander, Lamar (Sen.) [R-TN]",
+        "twitterid": "SenAlexander",
+        "youtubeid": "lamaralexander"
+    },
+    "phone": "202-224-4944",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "TN",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.alexander.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Maine",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "413 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.collins.senate.gov/contact",
+        "fax": "202-224-2693",
+        "office": "413 Dirksen Senate Office Building",
+        "rss_url": "http://www.collins.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001035",
+        "birthday": "1952-12-07",
+        "cspanid": 45738,
+        "firstname": "Susan",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Collins",
+        "link": "https://www.govtrack.us/congress/members/susan_collins/300025",
+        "middlename": "M.",
+        "name": "Sen. Susan Collins [R-ME]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00000491",
+        "pvsid": "379",
+        "sortname": "Collins, Susan (Sen.) [R-ME]",
+        "twitterid": "SenatorCollins",
+        "youtubeid": "SenatorSusanCollins"
+    },
+    "phone": "202-224-2523",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "ME",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.collins.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Texas",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "517 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.cornyn.senate.gov/contact",
+        "fax": "202-228-2856",
+        "office": "517 Hart Senate Office Building",
+        "rss_url": "http://www.cornyn.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": "Majority Whip",
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001056",
+        "birthday": "1952-02-02",
+        "cspanid": 93131,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Cornyn",
+        "link": "https://www.govtrack.us/congress/members/john_cornyn/300027",
+        "middlename": "",
+        "name": "Sen. John Cornyn [R-TX]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00024852",
+        "pvsid": "15375",
+        "sortname": "Cornyn, John (Sen.) [R-TX]",
+        "twitterid": "JohnCornyn",
+        "youtubeid": "senjohncornyn"
+    },
+    "phone": "202-224-2934",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "TX",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cornyn.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Illinois",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "711 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.durbin.senate.gov/contact/",
+        "fax": "202-228-0400",
+        "office": "711 Hart Senate Office Building",
+        "rss_url": "http://durbin.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": "Minority Whip",
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "D000563",
+        "birthday": "1944-11-21",
+        "cspanid": 6741,
+        "firstname": "Richard",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Durbin",
+        "link": "https://www.govtrack.us/congress/members/richard_durbin/300038",
+        "middlename": "J.",
+        "name": "Sen. Richard Durbin [D-IL]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00004981",
+        "pvsid": "26847",
+        "sortname": "Durbin, Richard (Sen.) [D-IL]",
+        "twitterid": "SenatorDurbin",
+        "youtubeid": "SenatorDurbin"
+    },
+    "phone": "202-224-2152",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "IL",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.durbin.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Wyoming",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "379A Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.enzi.senate.gov/public/index.cfm/contact?p=e-mail-senator-enzi",
+        "fax": "202-228-0359",
+        "office": "379a Russell Senate Office Building",
+        "rss_url": "http://www.enzi.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "E000285",
+        "birthday": "1944-02-01",
+        "cspanid": 45824,
+        "firstname": "Michael",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Enzi",
+        "link": "https://www.govtrack.us/congress/members/michael_enzi/300041",
+        "middlename": "B.",
+        "name": "Sen. Michael Enzi [R-WY]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00006249",
+        "pvsid": "558",
+        "sortname": "Enzi, Michael (Sen.) [R-WY]",
+        "twitterid": "SenatorEnzi",
+        "youtubeid": "senatorenzi"
+    },
+    "phone": "202-224-3424",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "WY",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.enzi.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for South Carolina",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "290 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.lgraham.senate.gov/public/index.cfm/e-mail-senator-graham",
+        "fax": "202-224-3808",
+        "office": "290 Russell Senate Office Building",
+        "rss_url": "http://www.lgraham.senate.gov/public/index.cfm?FuseAction=Rss.Feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "G000359",
+        "birthday": "1955-07-09",
+        "cspanid": 36782,
+        "firstname": "Lindsey",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Graham",
+        "link": "https://www.govtrack.us/congress/members/lindsey_graham/300047",
+        "middlename": "O.",
+        "name": "Sen. Lindsey Graham [R-SC]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009975",
+        "pvsid": "21992",
+        "sortname": "Graham, Lindsey (Sen.) [R-SC]",
+        "twitterid": "GrahamBlog",
+        "youtubeid": "USSenLindseyGraham"
+    },
+    "phone": "202-224-5972",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "SC",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.lgraham.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Oklahoma",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "205 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.inhofe.senate.gov/contact",
+        "fax": "202-228-0380",
+        "office": "205 Russell Senate Office Building",
+        "rss_url": "http://www.inhofe.senate.gov/rss/feeds/?type=all&amp;cachebuster=eea6c4d7%2d939c%2d5c1e%2db6c7aa3b8b291208"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "I000024",
+        "birthday": "1934-11-17",
+        "cspanid": 5619,
+        "firstname": "James",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Inhofe",
+        "link": "https://www.govtrack.us/congress/members/james_inhofe/300055",
+        "middlename": "M.",
+        "name": "Sen. James “Jim” Inhofe [R-OK]",
+        "namemod": "",
+        "nickname": "Jim",
+        "osid": "N00005582",
+        "pvsid": "27027",
+        "sortname": "Inhofe, James “Jim” (Sen.) [R-OK]",
+        "twitterid": "InhofePress",
+        "youtubeid": "jiminhofepressoffice"
+    },
+    "phone": "202-224-4721",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "OK",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.inhofe.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Kentucky",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "317 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.mcconnell.senate.gov/public/index.cfm?p=contact",
+        "fax": "202-224-2499",
+        "office": "317 Russell Senate Office Building",
+        "rss_url": "http://www.mcconnell.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": "Majority Leader",
+    "party": "Republican",
+    "person": {
+        "bioguideid": "M000355",
+        "birthday": "1942-02-20",
+        "cspanid": 2351,
+        "firstname": "Mitch",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "McConnell",
+        "link": "https://www.govtrack.us/congress/members/mitch_mcconnell/300072",
+        "middlename": "",
+        "name": "Sen. Mitch McConnell [R-KY]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00003389",
+        "pvsid": "53298",
+        "sortname": "McConnell, Mitch (Sen.) [R-KY]",
+        "twitterid": "McConnellPress",
+        "youtubeid": null
+    },
+    "phone": "202-224-2541",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "KY",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.mcconnell.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Rhode Island",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "728 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.reed.senate.gov/contact/",
+        "fax": "202-224-4680",
+        "office": "728 Hart Senate Office Building",
+        "rss_url": "https://www.reed.senate.gov//rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "R000122",
+        "birthday": "1949-11-12",
+        "cspanid": 24239,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Reed",
+        "link": "https://www.govtrack.us/congress/members/john_reed/300081",
+        "middlename": "F.",
+        "name": "Sen. John “Jack” Reed [D-RI]",
+        "namemod": "",
+        "nickname": "Jack",
+        "osid": "N00000362",
+        "pvsid": "27060",
+        "sortname": "Reed, John “Jack” (Sen.) [D-RI]",
+        "twitterid": "SenJackReed",
+        "youtubeid": "SenatorReed"
+    },
+    "phone": "202-224-4642",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "RI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.reed.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Kansas",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "109 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.roberts.senate.gov/public/?p=EmailPat",
+        "fax": "202-224-3514",
+        "office": "109 Hart Senate Office Building",
+        "rss_url": "http://www.roberts.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "R000307",
+        "birthday": "1936-04-20",
+        "cspanid": 16354,
+        "firstname": "Pat",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Roberts",
+        "link": "https://www.govtrack.us/congress/members/pat_roberts/300083",
+        "middlename": "",
+        "name": "Sen. Pat Roberts [R-KS]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00005285",
+        "pvsid": "26866",
+        "sortname": "Roberts, Pat (Sen.) [R-KS]",
+        "twitterid": "SenPatRoberts",
+        "youtubeid": "SenPatRoberts"
+    },
+    "phone": "202-224-4774",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "KS",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.roberts.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for West Virginia",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "172 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.capito.senate.gov/contact/contact-shelley",
+        "fax": "202-225-7856",
+        "office": "172 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001047",
+        "birthday": "1953-11-26",
+        "cspanid": 83737,
+        "firstname": "Shelley",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Capito",
+        "link": "https://www.govtrack.us/congress/members/shelley_capito/400061",
+        "middlename": "Moore",
+        "name": "Sen. Shelley Capito [R-WV]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009771",
+        "pvsid": "11701",
+        "sortname": "Capito, Shelley (Sen.) [R-WV]",
+        "twitterid": "SenCapito",
+        "youtubeid": null
+    },
+    "phone": "202-224-6472",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "WV",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.capito.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Massachusetts",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "255 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.markey.senate.gov/contact",
+        "office": "255 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M000133",
+        "birthday": "1946-07-11",
+        "cspanid": 260,
+        "firstname": "Edward",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Markey",
+        "link": "https://www.govtrack.us/congress/members/edward_markey/400253",
+        "middlename": "J.",
+        "name": "Sen. Edward “Ed” Markey [D-MA]",
+        "namemod": "",
+        "nickname": "Ed",
+        "osid": "N00000270",
+        "pvsid": "26900",
+        "sortname": "Markey, Edward “Ed” (Sen.) [D-MA]",
+        "twitterid": "SenMarkey",
+        "youtubeid": "RepMarkey"
+    },
+    "phone": "202-224-2742",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "MA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.markey.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for New Mexico",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "531 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.tomudall.senate.gov/?p=contact",
+        "fax": "202-228-3261",
+        "office": "531 Hart Senate Office Building",
+        "rss_url": "http://tomudall.senate.gov/rss/?p=blog"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "U000039",
+        "birthday": "1948-05-18",
+        "cspanid": 10075,
+        "firstname": "Tom",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Udall",
+        "link": "https://www.govtrack.us/congress/members/tom_udall/400413",
+        "middlename": "S.",
+        "name": "Sen. Tom Udall [D-NM]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00006561",
+        "pvsid": "22658",
+        "sortname": "Udall, Tom (Sen.) [D-NM]",
+        "twitterid": "SenatorTomUdall",
+        "youtubeid": "senatortomudall"
+    },
+    "phone": "202-224-6621",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "NM",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.tomudall.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Louisiana",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "520 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.cassidy.senate.gov/contact",
+        "fax": "202-225-7313",
+        "office": "520 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001075",
+        "birthday": "1957-09-28",
+        "cspanid": 1030546,
+        "firstname": "Bill",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Cassidy",
+        "link": "https://www.govtrack.us/congress/members/bill_cassidy/412269",
+        "middlename": "",
+        "name": "Sen. Bill Cassidy [R-LA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00030245",
+        "pvsid": "69494",
+        "sortname": "Cassidy, Bill (Sen.) [R-LA]",
+        "twitterid": null,
+        "youtubeid": "SenatorBillCassidy"
+    },
+    "phone": "202-224-5824",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "LA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cassidy.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Michigan",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "724 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.peters.senate.gov/contact/email-gary",
+        "fax": "202-226-2356",
+        "office": "724 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "P000595",
+        "birthday": "1958-12-01",
+        "cspanid": 50199,
+        "firstname": "Gary",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Peters",
+        "link": "https://www.govtrack.us/congress/members/gary_peters/412305",
+        "middlename": "C.",
+        "name": "Sen. Gary Peters [D-MI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00029277",
+        "pvsid": "8749",
+        "sortname": "Peters, Gary (Sen.) [D-MI]",
+        "twitterid": "SenGaryPeters",
+        "youtubeid": "RepGaryPeters"
+    },
+    "phone": "202-224-6221",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "MI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.peters.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for Virginia",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "703 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.warner.senate.gov/public/index.cfm?p=Contact",
+        "fax": "202-224-6295",
+        "office": "703 Hart Senate Office Building",
+        "rss_url": "http://www.warner.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "W000805",
+        "birthday": "1954-12-15",
+        "cspanid": 7630,
+        "firstname": "Mark",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Warner",
+        "link": "https://www.govtrack.us/congress/members/mark_warner/412321",
+        "middlename": "",
+        "name": "Sen. Mark Warner [D-VA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00002097",
+        "pvsid": "535",
+        "sortname": "Warner, Mark (Sen.) [D-VA]",
+        "twitterid": "MarkWarner",
+        "youtubeid": "SenatorMarkWarner"
+    },
+    "phone": "202-224-2023",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "VA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.warner.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Idaho",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "483 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.risch.senate.gov/public/index.cfm?p=Email",
+        "fax": "202-224-2573",
+        "office": "483 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "R000584",
+        "birthday": "1943-05-03",
+        "cspanid": 1020034,
+        "firstname": "James",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Risch",
+        "link": "https://www.govtrack.us/congress/members/james_risch/412322",
+        "middlename": "",
+        "name": "Sen. James Risch [R-ID]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00029441",
+        "pvsid": "2919",
+        "sortname": "Risch, James (Sen.) [R-ID]",
+        "twitterid": "SenatorRisch",
+        "youtubeid": "SenatorJamesRisch"
+    },
+    "phone": "202-224-2752",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "ID",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.risch.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Senior Senator for New Hampshire",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "506 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.shaheen.senate.gov/contact/contact-jeanne",
+        "fax": "202-228-3194",
+        "office": "506 Hart Senate Office Building",
+        "rss_url": "http://www.shaheen.senate.gov/rss/"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "S001181",
+        "birthday": "1947-01-28",
+        "cspanid": 22850,
+        "firstname": "Jeanne",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Shaheen",
+        "link": "https://www.govtrack.us/congress/members/jeanne_shaheen/412323",
+        "middlename": "",
+        "name": "Sen. Jeanne Shaheen [D-NH]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00024790",
+        "pvsid": "1663",
+        "sortname": "Shaheen, Jeanne (Sen.) [D-NH]",
+        "twitterid": "SenatorShaheen",
+        "youtubeid": "senatorshaheen"
+    },
+    "phone": "202-224-2841",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2015-01-06",
+    "state": "NH",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.shaheen.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Oregon",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "313 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.merkley.senate.gov/contact/",
+        "fax": "202-228-3997",
+        "office": "313 Hart Senate Office Building",
+        "rss_url": "http://www.merkley.senate.gov/rss/"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M001176",
+        "birthday": "1956-10-24",
+        "cspanid": 1029842,
+        "firstname": "Jeff",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Merkley",
+        "link": "https://www.govtrack.us/congress/members/jeff_merkley/412325",
+        "middlename": "",
+        "name": "Sen. Jeff Merkley [D-OR]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00029303",
+        "pvsid": "23644",
+        "sortname": "Merkley, Jeff (Sen.) [D-OR]",
+        "twitterid": "SenJeffMerkley",
+        "youtubeid": "SenatorJeffMerkley"
+    },
+    "phone": "202-224-3753",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "OR",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.merkley.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Delaware",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "127A Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.coons.senate.gov/contact",
+        "fax": "202-228-3075",
+        "office": "127a Russell Senate Office Building",
+        "rss_url": "http://www.coons.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "C001088",
+        "birthday": "1963-09-09",
+        "cspanid": 9269028,
+        "firstname": "Chris",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Coons",
+        "link": "https://www.govtrack.us/congress/members/chris_coons/412390",
+        "middlename": "Andrew",
+        "name": "Sen. Chris Coons [D-DE]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00031820",
+        "pvsid": "122834",
+        "sortname": "Coons, Chris (Sen.) [D-DE]",
+        "twitterid": "ChrisCoons",
+        "youtubeid": "senatorchriscoons"
+    },
+    "phone": "202-224-5042",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "DE",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.coons.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Colorado",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "354 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.gardner.senate.gov/contact-cory/email-cory",
+        "fax": "202-225-5870",
+        "office": "354 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "G000562",
+        "birthday": "1974-08-22",
+        "cspanid": 623308,
+        "firstname": "Cory",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Gardner",
+        "link": "https://www.govtrack.us/congress/members/cory_gardner/412406",
+        "middlename": "",
+        "name": "Sen. Cory Gardner [R-CO]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00030780",
+        "pvsid": "30004",
+        "sortname": "Gardner, Cory (Sen.) [R-CO]",
+        "twitterid": "SenCoryGardner",
+        "youtubeid": null
+    },
+    "phone": "202-224-5941",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "CO",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.gardner.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Arkansas",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "124 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.cotton.senate.gov/?p=contact",
+        "office": "124 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C001095",
+        "birthday": "1977-05-13",
+        "cspanid": 63928,
+        "firstname": "Tom",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Cotton",
+        "link": "https://www.govtrack.us/congress/members/tom_cotton/412508",
+        "middlename": "",
+        "name": "Sen. Tom Cotton [R-AR]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033363",
+        "pvsid": "135651",
+        "sortname": "Cotton, Tom (Sen.) [R-AR]",
+        "twitterid": "SenTomCotton",
+        "youtubeid": "RepTomCotton"
+    },
+    "phone": "202-224-2353",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "AR",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cotton.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Montana",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "320 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.daines.senate.gov/connect/email-steve",
+        "fax": "202-228-1236",
+        "office": "320 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "D000618",
+        "birthday": "1962-08-20",
+        "cspanid": 1034037,
+        "firstname": "Steve",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Daines",
+        "link": "https://www.govtrack.us/congress/members/steve_daines/412549",
+        "middlename": "",
+        "name": "Sen. Steve Daines [R-MT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00033054",
+        "pvsid": "135720",
+        "sortname": "Daines, Steve (Sen.) [R-MT]",
+        "twitterid": "SteveDaines",
+        "youtubeid": "SteveDainesMT"
+    },
+    "phone": "202-224-2651",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "MT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.daines.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for New Jersey",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "359 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.booker.senate.gov/?p=contact",
+        "fax": "202-224-8378",
+        "office": "359 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "B001288",
+        "birthday": "1969-04-27",
+        "cspanid": 84679,
+        "firstname": "Cory",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Booker",
+        "link": "https://www.govtrack.us/congress/members/cory_booker/412598",
+        "middlename": "Anthony",
+        "name": "Sen. Cory Booker [D-NJ]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035267",
+        "pvsid": "76151",
+        "sortname": "Booker, Cory (Sen.) [D-NJ]",
+        "twitterid": "SenBooker",
+        "youtubeid": "SenCoryBooker"
+    },
+    "phone": "202-224-3224",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "NJ",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.booker.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Alaska",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "702 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.sullivan.senate.gov/contact/email",
+        "office": "702 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "S001198",
+        "birthday": "1964-11-13",
+        "cspanid": 1023262,
+        "firstname": "Dan",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Sullivan",
+        "link": "https://www.govtrack.us/congress/members/dan_sullivan/412665",
+        "middlename": "",
+        "name": "Sen. Dan Sullivan [R-AK]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035774",
+        "pvsid": "114964",
+        "sortname": "Sullivan, Dan (Sen.) [R-AK]",
+        "twitterid": "SenDanSullivan",
+        "youtubeid": null
+    },
+    "phone": "202-224-3004",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "AK",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.sullivan.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Georgia",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "455 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.perdue.senate.gov/connect/email",
+        "office": "455 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "P000612",
+        "birthday": "1949-12-10",
+        "cspanid": 75920,
+        "firstname": "David",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Perdue",
+        "link": "https://www.govtrack.us/congress/members/david_perdue/412666",
+        "middlename": "",
+        "name": "Sen. David Perdue [R-GA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035516",
+        "pvsid": "151330",
+        "sortname": "Perdue, David (Sen.) [R-GA]",
+        "twitterid": "sendavidperdue",
+        "youtubeid": null
+    },
+    "phone": "202-224-3521",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "GA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.perdue.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Iowa",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "111 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.ernst.senate.gov/public/index.cfm/contact",
+        "office": "111 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "E000295",
+        "birthday": "1970-07-01",
+        "cspanid": 75342,
+        "firstname": "Joni",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Ernst",
+        "link": "https://www.govtrack.us/congress/members/joni_ernst/412667",
+        "middlename": "",
+        "name": "Sen. Joni Ernst [R-IA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035483",
+        "pvsid": "128583",
+        "sortname": "Ernst, Joni (Sen.) [R-IA]",
+        "twitterid": "SenJoniErnst",
+        "youtubeid": null
+    },
+    "phone": "202-224-3254",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "IA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.ernst.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for North Carolina",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "185 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.tillis.senate.gov/public/index.cfm/email-me",
+        "office": "185 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "T000476",
+        "birthday": "1960-08-30",
+        "cspanid": 77055,
+        "firstname": "Thom",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Tillis",
+        "link": "https://www.govtrack.us/congress/members/thom_tillis/412668",
+        "middlename": "",
+        "name": "Sen. Thom Tillis [R-NC]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035492",
+        "pvsid": "57717",
+        "sortname": "Tillis, Thom (Sen.) [R-NC]",
+        "twitterid": "senthomtillis",
+        "youtubeid": null
+    },
+    "phone": "202-224-6342",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "NC",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.tillis.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for South Dakota",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "502 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.rounds.senate.gov/contact/email-mike",
+        "office": "502 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "R000605",
+        "birthday": "1954-10-24",
+        "cspanid": 78317,
+        "firstname": "Mike",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Rounds",
+        "link": "https://www.govtrack.us/congress/members/mike_rounds/412669",
+        "middlename": "",
+        "name": "Sen. Mike Rounds [R-SD]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035187",
+        "pvsid": "7455",
+        "sortname": "Rounds, Mike (Sen.) [R-SD]",
+        "twitterid": "SenatorRounds",
+        "youtubeid": null
+    },
+    "phone": "202-224-5842",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "SD",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.rounds.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        114,
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Nebraska",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "136 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.sasse.senate.gov/public/index.cfm/email-ben",
+        "office": "136 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "S001197",
+        "birthday": "1972-02-22",
+        "cspanid": 77429,
+        "firstname": "Benjamin",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Sasse",
+        "link": "https://www.govtrack.us/congress/members/benjamin_sasse/412671",
+        "middlename": "Eric",
+        "name": "Sen. Benjamin Sasse [R-NE]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00035544",
+        "pvsid": "150182",
+        "sortname": "Sasse, Benjamin (Sen.) [R-NE]",
+        "twitterid": "SenSasse",
+        "youtubeid": null
+    },
+    "phone": "202-224-4224",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2015-01-06",
+    "state": "NE",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.sasse.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Idaho",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "239 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.crapo.senate.gov/contact",
+        "fax": "202-228-1375",
+        "office": "239 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "C000880",
+        "birthday": "1951-05-20",
+        "cspanid": 26440,
+        "firstname": "Michael",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Crapo",
+        "link": "https://www.govtrack.us/congress/members/michael_crapo/300030",
+        "middlename": "D.",
+        "name": "Sen. Michael Crapo [R-ID]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00006267",
+        "pvsid": "26830",
+        "sortname": "Crapo, Michael (Sen.) [R-ID]",
+        "twitterid": "MikeCrapo",
+        "youtubeid": "senatorcrapo"
+    },
+    "phone": "202-224-6142",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "ID",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.crapo.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Iowa",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "135 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.grassley.senate.gov/contact",
+        "fax": "202-224-6020",
+        "office": "135 Hart Senate Office Building",
+        "rss_url": "http://grassley.senate.gov/customcf/rss_feed.cfm"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "G000386",
+        "birthday": "1933-09-17",
+        "cspanid": 1167,
+        "firstname": "Charles",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Grassley",
+        "link": "https://www.govtrack.us/congress/members/charles_grassley/300048",
+        "middlename": "E.",
+        "name": "Sen. Charles “Chuck” Grassley [R-IA]",
+        "namemod": "",
+        "nickname": "Chuck",
+        "osid": "N00001758",
+        "pvsid": "53293",
+        "sortname": "Grassley, Charles “Chuck” (Sen.) [R-IA]",
+        "twitterid": "ChuckGrassley",
+        "youtubeid": "senchuckgrassley"
+    },
+    "phone": "202-224-3744",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "IA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.grassley.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Vermont",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "437 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.leahy.senate.gov/contact/",
+        "fax": "202-224-3479",
+        "office": "437 Russell Senate Office Building",
+        "rss_url": "http://www.leahy.senate.gov/rss/feeds/press/"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "L000174",
+        "birthday": "1940-03-31",
+        "cspanid": 1552,
+        "firstname": "Patrick",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Leahy",
+        "link": "https://www.govtrack.us/congress/members/patrick_leahy/300065",
+        "middlename": "J.",
+        "name": "Sen. Patrick Leahy [D-VT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009918",
+        "pvsid": "53353",
+        "sortname": "Leahy, Patrick (Sen.) [D-VT]",
+        "twitterid": "SenatorLeahy",
+        "youtubeid": "SenatorPatrickLeahy"
+    },
+    "phone": "202-224-4242",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "VT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.leahy.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Alaska",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "522 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.murkowski.senate.gov/public/index.cfm/contact",
+        "fax": "202-224-5301",
+        "office": "522 Hart Senate Office Building",
+        "rss_url": "http://www.murkowski.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "M001153",
+        "birthday": "1957-05-22",
+        "cspanid": 1004138,
+        "firstname": "Lisa",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Murkowski",
+        "link": "https://www.govtrack.us/congress/members/lisa_murkowski/300075",
+        "middlename": "A.",
+        "name": "Sen. Lisa Murkowski [R-AK]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00026050",
+        "pvsid": "15841",
+        "sortname": "Murkowski, Lisa (Sen.) [R-AK]",
+        "twitterid": "LisaMurkowski",
+        "youtubeid": "senatormurkowski"
+    },
+    "phone": "202-224-6665",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "AK",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.murkowski.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Washington",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "154 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.murray.senate.gov/public/index.cfm/contactme",
+        "fax": "202-224-0238",
+        "office": "154 Russell Senate Office Building",
+        "rss_url": "http://www.murray.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "M001111",
+        "birthday": "1950-10-11",
+        "cspanid": 25277,
+        "firstname": "Patty",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Murray",
+        "link": "https://www.govtrack.us/congress/members/patty_murray/300076",
+        "middlename": "",
+        "name": "Sen. Patty Murray [D-WA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00007876",
+        "pvsid": "53358",
+        "sortname": "Murray, Patty (Sen.) [D-WA]",
+        "twitterid": "PattyMurray",
+        "youtubeid": "SenatorPattyMurray"
+    },
+    "phone": "202-224-2621",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "WA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.murray.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for New York",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "322 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.schumer.senate.gov/contact/email-chuck",
+        "fax": "202-228-3027",
+        "office": "322 Hart Senate Office Building"
+    },
+    "leadership_title": "Minority Leader",
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "S000148",
+        "birthday": "1950-11-23",
+        "cspanid": 5929,
+        "firstname": "Charles",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Schumer",
+        "link": "https://www.govtrack.us/congress/members/charles_schumer/300087",
+        "middlename": "E.",
+        "name": "Sen. Charles “Chuck” Schumer [D-NY]",
+        "namemod": "",
+        "nickname": "Chuck",
+        "osid": "N00001093",
+        "pvsid": "26976",
+        "sortname": "Schumer, Charles “Chuck” (Sen.) [D-NY]",
+        "twitterid": "SenSchumer",
+        "youtubeid": "SenatorSchumer"
+    },
+    "phone": "202-224-6542",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "NY",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.schumer.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Alabama",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "304 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.shelby.senate.gov/public/index.cfm/emailsenatorshelby",
+        "fax": "202-224-3416",
+        "office": "304 Russell Senate Office Building",
+        "rss_url": "http://www.shelby.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "S000320",
+        "birthday": "1934-05-06",
+        "cspanid": 1859,
+        "firstname": "Richard",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Shelby",
+        "link": "https://www.govtrack.us/congress/members/richard_shelby/300089",
+        "middlename": "C.",
+        "name": "Sen. Richard Shelby [R-AL]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00009920",
+        "pvsid": "53266",
+        "sortname": "Shelby, Richard (Sen.) [R-AL]",
+        "twitterid": "SenShelby",
+        "youtubeid": "SenatorRichardShelby"
+    },
+    "phone": "202-224-5744",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "AL",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.shelby.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Oregon",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "221 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.wyden.senate.gov/contact/",
+        "fax": "202-228-2717",
+        "office": "221 Dirksen Senate Office Building",
+        "rss_url": "http://www.wyden.senate.gov/rss/feeds/?type=all&amp;"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "W000779",
+        "birthday": "1949-05-03",
+        "cspanid": 1962,
+        "firstname": "Ron",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Wyden",
+        "link": "https://www.govtrack.us/congress/members/ron_wyden/300100",
+        "middlename": "",
+        "name": "Sen. Ron Wyden [D-OR]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00007724",
+        "pvsid": "27036",
+        "sortname": "Wyden, Ron (Sen.) [D-OR]",
+        "twitterid": "RonWyden",
+        "youtubeid": "senronwyden"
+    },
+    "phone": "202-224-5244",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "OR",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.wyden.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Missouri",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "260 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.blunt.senate.gov/public/index.cfm/contact-roy",
+        "fax": "202-224-8149",
+        "office": "260 Russell Senate Office Building",
+        "rss_url": "http://www.blunt.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "B000575",
+        "birthday": "1950-01-10",
+        "cspanid": 45465,
+        "firstname": "Roy",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Blunt",
+        "link": "https://www.govtrack.us/congress/members/roy_blunt/400034",
+        "middlename": "",
+        "name": "Sen. Roy Blunt [R-MO]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00005195",
+        "pvsid": "418",
+        "sortname": "Blunt, Roy (Sen.) [R-MO]",
+        "twitterid": "RoyBlunt",
+        "youtubeid": "SenatorBlunt"
+    },
+    "phone": "202-224-5721",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "MO",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.blunt.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Arkansas",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "141 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.boozman.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-1371",
+        "office": "141 Hart Senate Office Building",
+        "rss_url": "http://www.boozman.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "B001236",
+        "birthday": "1950-12-10",
+        "cspanid": 92069,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Boozman",
+        "link": "https://www.govtrack.us/congress/members/john_boozman/400040",
+        "middlename": "",
+        "name": "Sen. John Boozman [R-AR]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00013873",
+        "pvsid": "27958",
+        "sortname": "Boozman, John (Sen.) [R-AR]",
+        "twitterid": "JohnBoozman",
+        "youtubeid": "BoozmanPressOffice"
+    },
+    "phone": "202-224-4843",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "AR",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.boozman.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for North Carolina",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "217 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.burr.senate.gov/contact/email",
+        "fax": "202-228-2981",
+        "office": "217 Russell Senate Office Building",
+        "rss_url": "http://www.burr.senate.gov/public/index.cfm?fuseaction=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "B001135",
+        "birthday": "1955-11-30",
+        "cspanid": 31054,
+        "firstname": "Richard",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Burr",
+        "link": "https://www.govtrack.us/congress/members/richard_burr/400054",
+        "middlename": "M.",
+        "name": "Sen. Richard Burr [R-NC]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00002221",
+        "pvsid": "21787",
+        "sortname": "Burr, Richard (Sen.) [R-NC]",
+        "twitterid": "SenatorBurr",
+        "youtubeid": "SenatorRichardBurr"
+    },
+    "phone": "202-224-3154",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "NC",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.burr.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Georgia",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "131 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.isakson.senate.gov/public/index.cfm/email-me",
+        "fax": "202-228-0724",
+        "office": "131 Russell Senate Office Building",
+        "rss_url": "http://www.isakson.senate.gov/public/?a=RSS.Feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "I000055",
+        "birthday": "1944-12-28",
+        "cspanid": 59135,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Isakson",
+        "link": "https://www.govtrack.us/congress/members/john_isakson/400194",
+        "middlename": "H.",
+        "name": "Sen. John “Johnny” Isakson [R-GA]",
+        "namemod": "",
+        "nickname": "Johnny",
+        "osid": "N00002593",
+        "pvsid": "1721",
+        "sortname": "Isakson, John “Johnny” (Sen.) [R-GA]",
+        "twitterid": "SenatorIsakson",
+        "youtubeid": "SenatorIsakson"
+    },
+    "phone": "202-224-3643",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "GA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.isakson.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Kansas",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "521 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.moran.senate.gov/public/index.cfm/e-mail-jerry",
+        "fax": "202-228-6966",
+        "office": "521 Dirksen Senate Office Building",
+        "rss_url": "http://www.moran.senate.gov/public/index.cfm/rss/feed/"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "M000934",
+        "birthday": "1954-05-29",
+        "cspanid": 45469,
+        "firstname": "Jerry",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Moran",
+        "link": "https://www.govtrack.us/congress/members/jerry_moran/400284",
+        "middlename": "",
+        "name": "Sen. Jerry Moran [R-KS]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00005282",
+        "pvsid": "542",
+        "sortname": "Moran, Jerry (Sen.) [R-KS]",
+        "twitterid": "JerryMoran",
+        "youtubeid": "senatorjerrymoran"
+    },
+    "phone": "202-224-6521",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "KS",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.moran.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Ohio",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "448 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.portman.senate.gov/public/index.cfm/contact?p=contact-form",
+        "office": "448 Russell Senate Office Building",
+        "rss_url": "http://www.portman.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "P000449",
+        "birthday": "1955-12-19",
+        "cspanid": 31819,
+        "firstname": "Robert",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Portman",
+        "link": "https://www.govtrack.us/congress/members/robert_portman/400325",
+        "middlename": "J.",
+        "name": "Sen. Robert “Rob” Portman [R-OH]",
+        "namemod": "",
+        "nickname": "Rob",
+        "osid": "N00003682",
+        "pvsid": "27008",
+        "sortname": "Portman, Robert “Rob” (Sen.) [R-OH]",
+        "twitterid": "SenRobPortman",
+        "youtubeid": "SenRobPortman"
+    },
+    "phone": "202-224-3353",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "OH",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.portman.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Pennsylvania",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "248 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.toomey.senate.gov/?p=contact",
+        "fax": "202-228-0284",
+        "office": "248 Russell Senate Office Building",
+        "rss_url": "http://toomey.senate.gov/rss/?p=hot_topic"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "T000461",
+        "birthday": "1961-11-17",
+        "cspanid": 7958,
+        "firstname": "Patrick",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Toomey",
+        "link": "https://www.govtrack.us/congress/members/patrick_toomey/400408",
+        "middlename": "J.",
+        "name": "Sen. Patrick “Pat” Toomey [R-PA]",
+        "namemod": "",
+        "nickname": "Pat",
+        "osid": "N00001489",
+        "pvsid": "24096",
+        "sortname": "Toomey, Patrick “Pat” (Sen.) [R-PA]",
+        "twitterid": "SenToomey",
+        "youtubeid": "sentoomey"
+    },
+    "phone": "202-224-4254",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "PA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.toomey.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Maryland",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "110 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.vanhollen.senate.gov/contact/email",
+        "fax": "202-225-0375",
+        "office": "110 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "V000128",
+        "birthday": "1959-01-10",
+        "cspanid": 20756,
+        "firstname": "Chris",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Van Hollen",
+        "link": "https://www.govtrack.us/congress/members/chris_van_hollen/400415",
+        "middlename": "",
+        "name": "Sen. Chris Van Hollen [D-MD]",
+        "namemod": "Jr.",
+        "nickname": "",
+        "osid": "N00013820",
+        "pvsid": "6098",
+        "sortname": "Van Hollen, Chris (Sen.) [D-MD]",
+        "twitterid": "ChrisVanHollen",
+        "youtubeid": "RepChrisVanHollen"
+    },
+    "phone": "202-224-4654",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "MD",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.vanhollen.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for South Dakota",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "511 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.thune.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-5429",
+        "office": "511 Dirksen Senate Office Building",
+        "rss_url": "http://www.thune.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "T000250",
+        "birthday": "1961-01-07",
+        "cspanid": 45552,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Thune",
+        "link": "https://www.govtrack.us/congress/members/john_thune/400546",
+        "middlename": "",
+        "name": "Sen. John Thune [R-SD]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00004572",
+        "pvsid": "398",
+        "sortname": "Thune, John (Sen.) [R-SD]",
+        "twitterid": "SenJohnThune",
+        "youtubeid": "johnthune"
+    },
+    "phone": "202-224-2321",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "SD",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.thune.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Colorado",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "261 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.bennet.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-5097",
+        "office": "261 Russell Senate Office Building",
+        "rss_url": "http://www.bennet.senate.gov/rss/feeds/?type=news"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "B001267",
+        "birthday": "1964-11-28",
+        "cspanid": 1031622,
+        "firstname": "Michael",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Bennet",
+        "link": "https://www.govtrack.us/congress/members/michael_bennet/412330",
+        "middlename": "F.",
+        "name": "Sen. Michael Bennet [D-CO]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00030608",
+        "pvsid": "110942",
+        "sortname": "Bennet, Michael (Sen.) [D-CO]",
+        "twitterid": "SenBennetCo",
+        "youtubeid": "SenatorBennet"
+    },
+    "phone": "202-224-5852",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "CO",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.bennet.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Indiana",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "400 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.young.senate.gov/contact",
+        "fax": "202-226-6866",
+        "office": "400 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "Y000064",
+        "birthday": "1972-08-24",
+        "cspanid": 1033743,
+        "firstname": "Todd",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Young",
+        "link": "https://www.govtrack.us/congress/members/todd_young/412428",
+        "middlename": "C.",
+        "name": "Sen. Todd Young [R-IN]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00030670",
+        "pvsid": "120345",
+        "sortname": "Young, Todd (Sen.) [R-IN]",
+        "twitterid": "SenToddYoung",
+        "youtubeid": "RepToddYoung"
+    },
+    "phone": "202-224-5623",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "IN",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.young.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Oklahoma",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "316 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.lankford.senate.gov/contact/email",
+        "office": "316 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "L000575",
+        "birthday": "1968-03-04",
+        "cspanid": 1033847,
+        "firstname": "James",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Lankford",
+        "link": "https://www.govtrack.us/congress/members/james_lankford/412464",
+        "middlename": "",
+        "name": "Sen. James Lankford [R-OK]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00031129",
+        "pvsid": "124938",
+        "sortname": "Lankford, James (Sen.) [R-OK]",
+        "twitterid": "SenatorLankford",
+        "youtubeid": "SenatorLankford"
+    },
+    "phone": "202-224-5754",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "OK",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.lankford.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for South Carolina",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "717 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.scott.senate.gov/contact/email-me",
+        "fax": "202-225-3407",
+        "office": "717 Hart Senate Office Building",
+        "rss_url": "http://www.scott.senate.gov/rss.xml"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "S001184",
+        "birthday": "1965-09-19",
+        "cspanid": 623506,
+        "firstname": "Tim",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Scott",
+        "link": "https://www.govtrack.us/congress/members/tim_scott/412471",
+        "middlename": "",
+        "name": "Sen. Tim Scott [R-SC]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00031782",
+        "pvsid": "11940",
+        "sortname": "Scott, Tim (Sen.) [R-SC]",
+        "twitterid": "SenatorTimScott",
+        "youtubeid": "SenatorTimScott"
+    },
+    "phone": "202-224-6121",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "SC",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.scott.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Connecticut",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "706 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.blumenthal.senate.gov/contact/",
+        "fax": "202-224-9673",
+        "office": "706 Hart Senate Office Building",
+        "rss_url": "http://www.blumenthal.senate.gov/rss/feeds/?type=all"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "B001277",
+        "birthday": "1946-02-13",
+        "cspanid": 21799,
+        "firstname": "Richard",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Blumenthal",
+        "link": "https://www.govtrack.us/congress/members/richard_blumenthal/412490",
+        "middlename": "",
+        "name": "Sen. Richard Blumenthal [D-CT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00031685",
+        "pvsid": "1568",
+        "sortname": "Blumenthal, Richard (Sen.) [D-CT]",
+        "twitterid": "SenBlumenthal",
+        "youtubeid": "SenatorBlumenthal"
+    },
+    "phone": "202-224-2823",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "CT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.blumenthal.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Florida",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "284 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.rubio.senate.gov/public/index.cfm/contact",
+        "fax": "202-228-0285",
+        "office": "284 Russell Senate Office Building",
+        "rss_url": "http://www.rubio.senate.gov/public/?a=rss.feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "R000595",
+        "birthday": "1971-05-28",
+        "cspanid": 87599,
+        "firstname": "Marco",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Rubio",
+        "link": "https://www.govtrack.us/congress/members/marco_rubio/412491",
+        "middlename": "",
+        "name": "Sen. Marco Rubio [R-FL]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00030612",
+        "pvsid": "1601",
+        "sortname": "Rubio, Marco (Sen.) [R-FL]",
+        "twitterid": "SenRubioPress",
+        "youtubeid": "SenatorMarcoRubio"
+    },
+    "phone": "202-224-3041",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "FL",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.rubio.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Kentucky",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "167 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.paul.senate.gov/connect/email-rand",
+        "fax": "202-228-1373",
+        "office": "167 Russell Senate Office Building",
+        "rss_url": "http://paul.senate.gov/rss/?p=news"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "P000603",
+        "birthday": "1963-01-07",
+        "cspanid": 9265241,
+        "firstname": "Rand",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Paul",
+        "link": "https://www.govtrack.us/congress/members/rand_paul/412492",
+        "middlename": "",
+        "name": "Sen. Rand Paul [R-KY]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00030836",
+        "pvsid": "117285",
+        "sortname": "Paul, Rand (Sen.) [R-KY]",
+        "twitterid": "RandPaul",
+        "youtubeid": "SenatorRandPaul"
+    },
+    "phone": "202-224-4343",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "KY",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.paul.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for North Dakota",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "338 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "http://www.hoeven.senate.gov/public/index.cfm/email-the-senator",
+        "fax": "202-224-7999",
+        "office": "338 Russell Senate Office Building",
+        "rss_url": "http://www.hoeven.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "H001061",
+        "birthday": "1957-03-13",
+        "cspanid": 85233,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Hoeven",
+        "link": "https://www.govtrack.us/congress/members/john_hoeven/412494",
+        "middlename": "",
+        "name": "Sen. John Hoeven [R-ND]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00031688",
+        "pvsid": "41788",
+        "sortname": "Hoeven, John (Sen.) [R-ND]",
+        "twitterid": "SenJohnHoeven",
+        "youtubeid": "senatorjohnhoevennd"
+    },
+    "phone": "202-224-2551",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "ND",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.hoeven.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Utah",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "361A Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.lee.senate.gov/public/index.cfm/contact",
+        "office": "361a Russell Senate Office Building",
+        "rss_url": "http://www.lee.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "L000577",
+        "birthday": "1971-06-04",
+        "cspanid": 9267977,
+        "firstname": "Mike",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Lee",
+        "link": "https://www.govtrack.us/congress/members/mike_lee/412495",
+        "middlename": "",
+        "name": "Sen. Mike Lee [R-UT]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00031696",
+        "pvsid": "66395",
+        "sortname": "Lee, Mike (Sen.) [R-UT]",
+        "twitterid": "SenMikeLee",
+        "youtubeid": "senatormikelee"
+    },
+    "phone": "202-224-5444",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "UT",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.lee.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Wisconsin",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "328 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.ronjohnson.senate.gov/public/index.cfm/email-the-senator",
+        "fax": "920-230-7262",
+        "office": "328 Hart Senate Office Building",
+        "rss_url": "http://www.ronjohnson.senate.gov/public/index.cfm/rss/feed"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "J000293",
+        "birthday": "1955-04-08",
+        "cspanid": 62835,
+        "firstname": "Ron",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Johnson",
+        "link": "https://www.govtrack.us/congress/members/ron_johnson/412496",
+        "middlename": "",
+        "name": "Sen. Ron Johnson [R-WI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00032546",
+        "pvsid": "126217",
+        "sortname": "Johnson, Ron (Sen.) [R-WI]",
+        "twitterid": "SenRonJohnson",
+        "youtubeid": "SenatorRonJohnson"
+    },
+    "phone": "202-224-5323",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "WI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.ronjohnson.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Senior Senator for Hawaii",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "722 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.schatz.senate.gov/contact",
+        "fax": "202-228-1153",
+        "office": "722 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "S001194",
+        "birthday": "1972-10-20",
+        "cspanid": 87784,
+        "firstname": "Brian",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Schatz",
+        "link": "https://www.govtrack.us/congress/members/brian_schatz/412507",
+        "middlename": "Emanuel",
+        "name": "Sen. Brian Schatz [D-HI]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00028138",
+        "pvsid": "17852",
+        "sortname": "Schatz, Brian (Sen.) [D-HI]",
+        "twitterid": "SenBrianSchatz",
+        "youtubeid": "senbrianschatz"
+    },
+    "phone": "202-224-3934",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "senior",
+    "senator_rank_label": "Senior",
+    "startdate": "2017-01-03",
+    "state": "HI",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.schatz.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Illinois",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "524 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.duckworth.senate.gov/content/contact-senator",
+        "office": "524 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "D000622",
+        "birthday": "1968-03-12",
+        "cspanid": 94484,
+        "firstname": "Tammy",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Duckworth",
+        "link": "https://www.govtrack.us/congress/members/tammy_duckworth/412533",
+        "middlename": "",
+        "name": "Sen. Tammy Duckworth [D-IL]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00027860",
+        "pvsid": "57442",
+        "sortname": "Duckworth, Tammy (Sen.) [D-IL]",
+        "twitterid": "SenDuckworth",
+        "youtubeid": "repduckworth"
+    },
+    "phone": "202-224-2854",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "IL",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.duckworth.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for California",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "112 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.harris.senate.gov/contact",
+        "office": "112 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "H001075",
+        "birthday": "1964-10-20",
+        "cspanid": 1018696,
+        "firstname": "Kamala",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Harris",
+        "link": "https://www.govtrack.us/congress/members/kamala_harris/412678",
+        "middlename": "",
+        "name": "Sen. Kamala Harris [D-CA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00036915",
+        "pvsid": "120012",
+        "sortname": "Harris, Kamala (Sen.) [D-CA]",
+        "twitterid": "SenKamalaHarris",
+        "youtubeid": null
+    },
+    "phone": "202-224-3553",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "CA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.harris.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Louisiana",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "383 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.kennedy.senate.gov/public/email-me",
+        "office": "383 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "K000393",
+        "birthday": "1951-11-21",
+        "cspanid": 1011723,
+        "firstname": "John",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Kennedy",
+        "link": "https://www.govtrack.us/congress/members/john_kennedy/412679",
+        "middlename": "Neely",
+        "name": "Sen. John Kennedy [R-LA]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00026823",
+        "pvsid": "35496",
+        "sortname": "Kennedy, John (Sen.) [R-LA]",
+        "twitterid": "SenJohnKennedy",
+        "youtubeid": null
+    },
+    "phone": "202-224-4623",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "LA",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.kennedy.senate.gov/public"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for New Hampshire",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "330 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.hassan.senate.gov/content/contact-senator",
+        "office": "330 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "H001076",
+        "birthday": "1958-02-27",
+        "cspanid": 67481,
+        "firstname": "Margaret",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Hassan",
+        "link": "https://www.govtrack.us/congress/members/margaret_hassan/412680",
+        "middlename": "Wood",
+        "name": "Sen. Margaret “Maggie” Hassan [D-NH]",
+        "namemod": "",
+        "nickname": "Maggie",
+        "osid": "N00038397",
+        "pvsid": "42552",
+        "sortname": "Hassan, Margaret “Maggie” (Sen.) [D-NH]",
+        "twitterid": "Senatorhassan",
+        "youtubeid": null
+    },
+    "phone": "202-224-3324",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "NH",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.hassan.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116,
+        117
+    ],
+    "current": true,
+    "description": "Junior Senator for Nevada",
+    "district": null,
+    "enddate": "2023-01-03",
+    "extra": {
+        "address": "204 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.cortezmasto.senate.gov/contact",
+        "office": "204 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "C001113",
+        "birthday": "1964-03-29",
+        "cspanid": 105698,
+        "firstname": "Catherine",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Cortez Masto",
+        "link": "https://www.govtrack.us/congress/members/catherine_cortez_masto/412681",
+        "middlename": "",
+        "name": "Sen. Catherine Cortez Masto [D-NV]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00037161",
+        "pvsid": "69579",
+        "sortname": "Cortez Masto, Catherine (Sen.) [D-NV]",
+        "twitterid": "sencortezmasto",
+        "youtubeid": null
+    },
+    "phone": "202-224-3542",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2017-01-03",
+    "state": "NV",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.cortezmasto.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Alabama",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "326 Russell Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.jones.senate.gov/content/contact-senator",
+        "office": "326 Russell Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "J000300",
+        "birthday": "1954-05-04",
+        "cspanid": 1024592,
+        "firstname": "Doug",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Jones",
+        "link": "https://www.govtrack.us/congress/members/doug_jones/412741",
+        "middlename": "",
+        "name": "Sen. Doug Jones [D-AL]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00024817",
+        "pvsid": "176464",
+        "sortname": "Jones, Doug (Sen.) [D-AL]",
+        "twitterid": "sendougjones",
+        "youtubeid": null
+    },
+    "phone": "202-224-4124",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2018-01-03",
+    "state": "AL",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.jones.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115
+    ],
+    "current": true,
+    "description": "Junior Senator for Mississippi",
+    "district": null,
+    "enddate": "2018-11-27",
+    "extra": {
+        "address": "G12 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.hydesmith.senate.gov/content/contact-senator",
+        "end-type": "special-election",
+        "how": "appointment",
+        "office": "G12 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "H001079",
+        "birthday": "1959-05-10",
+        "cspanid": null,
+        "firstname": "Cindy",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Hyde-Smith",
+        "link": "https://www.govtrack.us/congress/members/cindy_hyde_smith/412743",
+        "middlename": "",
+        "name": "Sen. Cindy Hyde-Smith [R-MS]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00043298",
+        "pvsid": null,
+        "sortname": "Hyde-Smith, Cindy (Sen.) [R-MS]",
+        "twitterid": "SenHydeSmith",
+        "youtubeid": null
+    },
+    "phone": "202-224-5054",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2018-04-09",
+    "state": "MS",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.hydesmith.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Arizona",
+    "district": null,
+    "enddate": "2020-11-03",
+    "extra": {
+        "address": "G12 Dirksen Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.kyl.senate.gov/content/contact-senator-kyl",
+        "end-type": "special-election",
+        "fax": "202-228-2862",
+        "how": "appointment",
+        "office": "G12 Dirksen Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Republican",
+    "person": {
+        "bioguideid": "K000352",
+        "birthday": "1942-04-25",
+        "cspanid": null,
+        "firstname": "Jon",
+        "gender": "male",
+        "gender_label": "Male",
+        "lastname": "Kyl",
+        "link": "https://www.govtrack.us/congress/members/jon_kyl/300062",
+        "middlename": "",
+        "name": "Sen. Jon Kyl [R-AZ]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00006406",
+        "pvsid": "26721",
+        "sortname": "Kyl, Jon (Sen.) [R-AZ]",
+        "twitterid": null,
+        "youtubeid": null
+    },
+    "phone": "202-224-2235",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class3",
+    "senator_class_label": "Class 3",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2018-09-05",
+    "state": "AZ",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.kyl.senate.gov"
+},
+{
+    "caucus": null,
+    "congress_numbers": [
+        115,
+        116
+    ],
+    "current": true,
+    "description": "Junior Senator for Minnesota",
+    "district": null,
+    "enddate": "2021-01-03",
+    "extra": {
+        "address": "309 Hart Senate Office Building Washington DC 20510",
+        "contact_form": "https://www.smith.senate.gov/content/contact-senator",
+        "office": "309 Hart Senate Office Building"
+    },
+    "leadership_title": null,
+    "party": "Democrat",
+    "person": {
+        "bioguideid": "S001203",
+        "birthday": "1958-03-04",
+        "cspanid": 111313,
+        "firstname": "Tina",
+        "gender": "female",
+        "gender_label": "Female",
+        "lastname": "Smith",
+        "link": "https://www.govtrack.us/congress/members/tina_smith/412742",
+        "middlename": "Flint",
+        "name": "Sen. Tina Smith [D-MN]",
+        "namemod": "",
+        "nickname": "",
+        "osid": "N00042353",
+        "pvsid": "152968",
+        "sortname": "Smith, Tina (Sen.) [D-MN]",
+        "twitterid": "SenTinaSmith",
+        "youtubeid": null
+    },
+    "phone": "202-224-5641",
+    "role_type": "senator",
+    "role_type_label": "Senator",
+    "senator_class": "class2",
+    "senator_class_label": "Class 2",
+    "senator_rank": "junior",
+    "senator_rank_label": "Junior",
+    "startdate": "2018-11-07",
+    "state": "MN",
+    "title": "Sen.",
+    "title_long": "Senator",
+    "website": "https://www.smith.senate.gov"
+}
\ No newline at end of file
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/select_object.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/select_object.go
new file mode 100644 (file)
index 0000000..7b1c126
--- /dev/null
@@ -0,0 +1,203 @@
+package sample
+
+import (
+       "fmt"
+       "io/ioutil"
+       
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// SelectObjectSample shows how to get data from csv/json object by sql
+func SelectObjectSample() {
+       // Create a bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //
+       // Create a Csv object
+       //
+       err = bucket.PutObjectFromFile(objectKey, localCsvFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create Csv Meta
+       csvMeta := oss.CsvMetaRequest{}
+       ret, err := bucket.CreateSelectCsvObjectMeta(objectKey, csvMeta)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("csv file meta:", ret)
+
+       // case 1: Isn't NULL
+       selReq := oss.SelectRequest{}
+       selReq.Expression = "select Year, StateAbbr, CityName, PopulationCount from ossobject where CityName != ''"
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+
+       body, err := bucket.SelectObject(objectKey, selReq)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       databyte, err := ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("some data in SelectCSVObject result:", string(databyte[:9]))
+
+       // case 2: Like
+       selReq = oss.SelectRequest{}
+       selReq.Expression =  "select Year, StateAbbr, CityName, Short_Question_Text from ossobject where Measure like '%blood pressure%Years'"
+       selReq.InputSerializationSelect.CsvBodyInput.FileHeaderInfo = "Use"
+       body, err = bucket.SelectObject(objectKey, selReq)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       databyte, err = ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("some data in SelectCSVObject result:", string(databyte[:9]))
+
+       // delete object
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //
+       // Create a LINES json object
+       //
+       err = bucket.PutObjectFromFile(objectKey, localJSONLinesFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Create LINES JSON Meta
+       jsonMeta := oss.JsonMetaRequest{
+               InputSerialization: oss.InputSerialization {
+                       JSON: oss.JSON {
+                               JSONType:"LINES",
+                       },
+               },
+       }
+       restSt, err := bucket.CreateSelectJsonObjectMeta(objectKey, jsonMeta)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("csv json meta:", restSt)
+
+       // case 1: sql where A=B
+       selReq = oss.SelectRequest{}
+       selReq.Expression = "select * from ossobject where party = 'Democrat'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+
+       body, err = bucket.SelectObject(objectKey, selReq)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       databyte, err = ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("some data in SelectJsonObject result:", string(databyte[:9]))
+
+       // case 2: LIKE
+       selReq = oss.SelectRequest{}
+       selReq.Expression = "select person.firstname, person.lastname from ossobject where person.birthday like '1959%'"
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "LINES"
+
+       body, err = bucket.SelectObject(objectKey, selReq)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       databyte, err = ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("some data in SelectJsonObject result:", string(databyte[:9]))
+
+       // delete object
+       err = bucket.DeleteObject(objectKey)
+       if err != nil {
+               HandleError(err)
+       }
+
+       //
+       // Create a Document json object
+       //
+       err = bucket.PutObjectFromFile(objectKey, localJSONFile)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // case 1: int avg, max, min 
+       selReq = oss.SelectRequest{}
+       selReq.Expression = `
+       select 
+               avg(cast(person.cspanid as int)), max(cast(person.cspanid as int)), 
+               min(cast(person.cspanid as int)) 
+       from 
+               ossobject.objects[*] 
+       where 
+               person.cspanid = 1011723
+       `
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "Document"
+       
+       body, err = bucket.SelectObject(objectKey, selReq)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       databyte, err = ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("data:", string(databyte))
+
+       // case 2: Concat
+       selReq = oss.SelectRequest{}
+       selReq.Expression = `
+       select 
+               person 
+       from 
+               ossobject.objects[*] 
+       where 
+               (person.firstname || person.lastname) = 'JohnKennedy'
+       `
+       selReq.OutputSerializationSelect.JsonBodyOutput.RecordDelimiter = ","
+       selReq.InputSerializationSelect.JsonBodyInput.JSONType = "Document"
+       
+       body, err = bucket.SelectObject(objectKey, selReq)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       databyte, err = ioutil.ReadAll(body)
+       if err != nil {
+               HandleError(err)
+       }
+       fmt.Println("some data in SelectJsonObject result:", string(databyte[:9]))
+       
+       // Delete the object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("SelectObjectSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sign_url.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/sign_url.go
new file mode 100755 (executable)
index 0000000..8a73f4f
--- /dev/null
@@ -0,0 +1,80 @@
+package sample
+
+import (
+       "fmt"
+       "io/ioutil"
+       "os"
+       "strings"
+
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+)
+
+// SignURLSample signs URL sample
+func SignURLSample() {
+       // Create bucket
+       bucket, err := GetTestBucket(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Put object
+       signedURL, err := bucket.SignURL(objectKey, oss.HTTPPut, 60)
+       if err != nil {
+               HandleError(err)
+       }
+
+       var val = "花间一壶酒,独酌无相亲。 举杯邀明月,对影成三人。"
+       err = bucket.PutObjectWithURL(signedURL, strings.NewReader(val))
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Put object with option
+       options := []oss.Option{
+               oss.Meta("myprop", "mypropval"),
+               oss.ContentType("image/tiff"),
+       }
+
+       signedURL, err = bucket.SignURL(objectKey, oss.HTTPPut, 60, options...)
+       if err != nil {
+               HandleError(err)
+       }
+
+       err = bucket.PutObjectFromFileWithURL(signedURL, localFile, options...)
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Get object
+       signedURL, err = bucket.SignURL(objectKey, oss.HTTPGet, 60)
+       if err != nil {
+               HandleError(err)
+       }
+
+       body, err := bucket.GetObjectWithURL(signedURL)
+       if err != nil {
+               HandleError(err)
+       }
+       defer body.Close()
+
+       // Read content
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       fmt.Println("data:", string(data))
+
+       err = bucket.GetObjectToFileWithURL(signedURL, "mynewfile-1.jpg")
+       if err != nil {
+               HandleError(err)
+       }
+
+       // Delete the object and bucket
+       err = DeleteTestBucketAndObject(bucketName)
+       if err != nil {
+               HandleError(err)
+       }
+
+       fmt.Println("SignURLSample completed")
+}
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-cpp-rsa.jpg b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-cpp-rsa.jpg
new file mode 100644 (file)
index 0000000..e498969
Binary files /dev/null and b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-cpp-rsa.jpg differ
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-python-rsa.jpg b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-python-rsa.jpg
new file mode 100644 (file)
index 0000000..cfe6464
Binary files /dev/null and b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-crypto-python-rsa.jpg differ
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-src.jpg b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-src.jpg
new file mode 100644 (file)
index 0000000..ffd46a2
Binary files /dev/null and b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample/test-client-encryption-src.jpg differ
diff --git a/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample_crypto/sample_crypto.go b/vendor/github.com/aliyun/aliyun-oss-go-sdk/sample_crypto/sample_crypto.go
new file mode 100644 (file)
index 0000000..11f19f5
--- /dev/null
@@ -0,0 +1,304 @@
+package main
+
+import (
+       "bytes"
+       "fmt"
+       "io/ioutil"
+       "os"
+
+       kms "github.com/aliyun/alibaba-cloud-sdk-go/services/kms"
+       "github.com/aliyun/aliyun-oss-go-sdk/oss"
+       "github.com/aliyun/aliyun-oss-go-sdk/oss/crypto"
+)
+
+func SampleRsaNormalObject() {
+       // create oss client
+       client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create a description of the master key. Once created, it cannot be modified. The master key description and the master key are one-to-one correspondence.
+       // If all objects use the same master key, the master key description can also be empty, but subsequent replacement of the master key is not supported.
+       // Because if the description is empty, it is impossible to determine which master key is used when decrypting object.
+       // It is strongly recommended that: configure the master key description(json string) for each master key, and the client should save the correspondence between them.
+       // The server does not save their correspondence
+
+       // Map converted by the master key description information (json string)
+       materialDesc := make(map[string]string)
+       materialDesc["desc"] = "<your master encrypt key material describe information>"
+
+       // Create a master key object based on the master key description
+       masterRsaCipher, err := osscrypto.CreateMasterRsa(materialDesc, "<your rsa public key>", "<your rsa private key>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create an interface for encryption based on the master key object, encrypt using aec ctr mode
+       contentProvider := osscrypto.CreateAesCtrCipher(masterRsaCipher)
+
+       // Get a storage space for client encryption, the bucket has to be created
+       // Client-side encrypted buckets have similar usages to ordinary buckets.
+       cryptoBucket, err := osscrypto.GetCryptoBucket(client, "<yourBucketName>", contentProvider)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // put object ,will be automatically encrypted
+       err = cryptoBucket.PutObject("<yourObjectName>", bytes.NewReader([]byte("yourObjectValueByteArrary")))
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // get object ,will be automatically decrypted
+       body, err := cryptoBucket.GetObject("<yourObjectName>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       fmt.Println("data:", string(data))
+}
+
+func SampleRsaMultiPartObject() {
+       // create oss client
+       client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create a description of the master key. Once created, it cannot be modified. The master key description and the master key are one-to-one correspondence.
+       // If all objects use the same master key, the master key description can also be empty, but subsequent replacement of the master key is not supported.
+       // Because if the description is empty, it is impossible to determine which master key is used when decrypting object.
+       // It is strongly recommended that: configure the master key description(json string) for each master key, and the client should save the correspondence between them.
+       // The server does not save their correspondence
+
+       // Map converted by the master key description information (json string)
+       materialDesc := make(map[string]string)
+       materialDesc["desc"] = "<your master encrypt key material describe information>"
+
+       // Create a master key object based on the master key description
+       masterRsaCipher, err := osscrypto.CreateMasterRsa(materialDesc, "<your rsa public key>", "<your rsa private key>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create an interface for encryption based on the master key object, encrypt using aec ctr mode
+       contentProvider := osscrypto.CreateAesCtrCipher(masterRsaCipher)
+
+       // Get a storage space for client encryption, the bucket has to be created
+       // Client-side encrypted buckets have similar usages to ordinary buckets.
+       cryptoBucket, err := osscrypto.GetCryptoBucket(client, "<yourBucketName>", contentProvider)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       fileName := "<yourLocalFilePath>"
+       fileInfo, err := os.Stat(fileName)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       fileSize := fileInfo.Size()
+
+       // Encryption context information
+       var cryptoContext osscrypto.PartCryptoContext
+       cryptoContext.DataSize = fileSize
+
+       // The expected number of parts, the actual number of parts is subject to subsequent calculations.
+       expectPartCount := int64(10)
+
+       //Currently aes ctr encryption block size requires 16 byte alignment
+       cryptoContext.PartSize = (fileSize / expectPartCount / 16) * 16
+
+       imur, err := cryptoBucket.InitiateMultipartUpload("<yourObjectName>", &cryptoContext)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       chunks, err := oss.SplitFileByPartSize(fileName, cryptoContext.PartSize)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       var partsUpload []oss.UploadPart
+       for _, chunk := range chunks {
+               part, err := cryptoBucket.UploadPartFromFile(imur, fileName, chunk.Offset, chunk.Size, (int)(chunk.Number), cryptoContext)
+               if err != nil {
+                       fmt.Println("Error:", err)
+                       os.Exit(-1)
+               }
+               partsUpload = append(partsUpload, part)
+       }
+
+       // Complete
+       _, err = cryptoBucket.CompleteMultipartUpload(imur, partsUpload)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+}
+
+// Query the master key according to the master key description information.
+// If you need to decrypt different master key encryption objects, you need to provide this interface.
+type MockRsaManager struct {
+}
+
+func (mg *MockRsaManager) GetMasterKey(matDesc map[string]string) ([]string, error) {
+       // to do
+       keyList := []string{"<yourRsaPublicKey>", "<yourRsaPrivatKey>"}
+       return keyList, nil
+}
+
+// Decrypt the object encrypted by different master keys
+func SampleMultipleMasterRsa() {
+       // create oss client
+       client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create a description of the master key. Once created, it cannot be modified. The master key description and the master key are one-to-one correspondence.
+       // If all objects use the same master key, the master key description can also be empty, but subsequent replacement of the master key is not supported.
+       // Because if the description is empty, it is impossible to determine which master key is used when decrypting object.
+       // It is strongly recommended that: configure the master key description(json string) for each master key, and the client should save the correspondence between them.
+       // The server does not save their correspondence
+
+       // Map converted by the master key description information (json string)
+       materialDesc := make(map[string]string)
+       materialDesc["desc"] = "<your master encrypt key material describe information>"
+
+       // Create a master key object based on the master key description
+       masterRsaCipher, err := osscrypto.CreateMasterRsa(materialDesc, "<your rsa public key>", "<your rsa private key>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create an interface for encryption based on the master key object, encrypt using aec ctr mode
+       contentProvider := osscrypto.CreateAesCtrCipher(masterRsaCipher)
+
+       // If you need to decrypt objects encrypted by different ma keys, you need to provide this interface.
+       var mockRsaManager MockRsaManager
+       var options []osscrypto.CryptoBucketOption
+       options = append(options, osscrypto.SetMasterCipherManager(&mockRsaManager))
+
+       // Get a storage space for client encryption, the bucket has to be created
+       // Client-side encrypted buckets have similar usages to ordinary buckets.
+       cryptoBucket, err := osscrypto.GetCryptoBucket(client, "<yourBucketName>", contentProvider, options...)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // put object ,will be automatically encrypted
+       err = cryptoBucket.PutObject("<yourObjectName>", bytes.NewReader([]byte("yourObjectValueByteArrary")))
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // get object ,will be automatically decrypted
+       body, err := cryptoBucket.GetObject("<otherObjectNameEncryptedWithOtherRsa>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       fmt.Println("data:", string(data))
+}
+
+func SampleKmsNormalObject() {
+       // create oss client
+       client, err := oss.New("<yourEndpoint>", "<yourAccessKeyId>", "<yourAccessKeySecret>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // create kms client
+       kmsClient, err := kms.NewClientWithAccessKey("<yourKmsRegion>", "<yourKmsAccessKeyId>", "<yourKmsAccessKeySecret>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create a description of the master key. Once created, it cannot be modified. The master key description and the master key are one-to-one correspondence.
+       // If all objects use the same master key, the master key description can also be empty, but subsequent replacement of the master key is not supported.
+       // Because if the description is empty, it is impossible to determine which master key is used when decrypting object.
+       // It is strongly recommended that: configure the master key description(json string) for each master key, and the client should save the correspondence between them.
+       // The server does not save their correspondence
+
+       // Map converted by the master key description information (json string)
+       materialDesc := make(map[string]string)
+       materialDesc["desc"] = "<your kms encrypt key material describe information>"
+
+       // Create a master key object based on the master key description
+       masterkmsCipher, err := osscrypto.CreateMasterAliKms(materialDesc, "<YourKmsId>", kmsClient)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // Create an interface for encryption based on the master key object, encrypt using aec ctr mode
+       contentProvider := osscrypto.CreateAesCtrCipher(masterkmsCipher)
+
+       // Get a storage space for client encryption, the bucket has to be created
+       // Client-side encrypted buckets have similar usages to ordinary buckets.
+       cryptoBucket, err := osscrypto.GetCryptoBucket(client, "<yourBucketName>", contentProvider)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // put object ,will be automatically encrypted
+       err = cryptoBucket.PutObject("<yourObjectName>", bytes.NewReader([]byte("yourObjectValueByteArrary")))
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+
+       // get object ,will be automatically decrypted
+       body, err := cryptoBucket.GetObject("<yourObjectName>")
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       defer body.Close()
+
+       data, err := ioutil.ReadAll(body)
+       if err != nil {
+               fmt.Println("Error:", err)
+               os.Exit(-1)
+       }
+       fmt.Println("data:", string(data))
+}
+
+func main() {
+       SampleRsaNormalObject()
+       SampleRsaMultiPartObject()
+       SampleMultipleMasterRsa()
+       SampleKmsNormalObject()
+}
index ce8e28c..aebcd1a 100644 (file)
@@ -12,7 +12,7 @@ import (
        "strconv"
        "strings"
 
-       "github.com/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519"
 )
 
 // NewPrivateKey returns a PrivateKey by parsing the string s.
index daf8e01..5f3d849 100644 (file)
@@ -8,7 +8,7 @@ import (
        "math/big"
        "strconv"
 
-       "github.com/vapor/crypto/ed25519"
+       "github.com/bytom/vapor/crypto/ed25519"
 )
 
 const format = "Private-key-format: v1.3\n"
diff --git a/vendor/golang.org/x/time/AUTHORS b/vendor/golang.org/x/time/AUTHORS
new file mode 100644 (file)
index 0000000..15167cd
--- /dev/null
@@ -0,0 +1,3 @@
+# This source code refers to The Go Authors for copyright purposes.
+# The master list of authors is in the main Go distribution,
+# visible at http://tip.golang.org/AUTHORS.
diff --git a/vendor/golang.org/x/time/CONTRIBUTING.md b/vendor/golang.org/x/time/CONTRIBUTING.md
new file mode 100644 (file)
index 0000000..d0485e8
--- /dev/null
@@ -0,0 +1,26 @@
+# Contributing to Go
+
+Go is an open source project.
+
+It is the work of hundreds of contributors. We appreciate your help!
+
+## Filing issues
+
+When [filing an issue](https://golang.org/issue/new), make sure to answer these five questions:
+
+1.  What version of Go are you using (`go version`)?
+2.  What operating system and processor architecture are you using?
+3.  What did you do?
+4.  What did you expect to see?
+5.  What did you see instead?
+
+General questions should go to the [golang-nuts mailing list](https://groups.google.com/group/golang-nuts) instead of the issue tracker.
+The gophers there will answer or ask you to file an issue if you've tripped over a bug.
+
+## Contributing code
+
+Please read the [Contribution Guidelines](https://golang.org/doc/contribute.html)
+before sending patches.
+
+Unless otherwise noted, the Go source files are distributed under
+the BSD-style license found in the LICENSE file.
diff --git a/vendor/golang.org/x/time/CONTRIBUTORS b/vendor/golang.org/x/time/CONTRIBUTORS
new file mode 100644 (file)
index 0000000..1c4577e
--- /dev/null
@@ -0,0 +1,3 @@
+# This source code was written by the Go contributors.
+# The master list of contributors is in the main Go distribution,
+# visible at http://tip.golang.org/CONTRIBUTORS.
diff --git a/vendor/golang.org/x/time/LICENSE b/vendor/golang.org/x/time/LICENSE
new file mode 100644 (file)
index 0000000..6a66aea
--- /dev/null
@@ -0,0 +1,27 @@
+Copyright (c) 2009 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+   * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+   * 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.
+   * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS 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
+OWNER 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.
diff --git a/vendor/golang.org/x/time/PATENTS b/vendor/golang.org/x/time/PATENTS
new file mode 100644 (file)
index 0000000..7330990
--- /dev/null
@@ -0,0 +1,22 @@
+Additional IP Rights Grant (Patents)
+
+"This implementation" means the copyrightable works distributed by
+Google as part of the Go project.
+
+Google hereby grants to You a perpetual, worldwide, non-exclusive,
+no-charge, royalty-free, irrevocable (except as stated in this section)
+patent license to make, have made, use, offer to sell, sell, import,
+transfer and otherwise run, modify and propagate the contents of this
+implementation of Go, where such license applies only to those patent
+claims, both currently owned or controlled by Google and acquired in
+the future, licensable by Google that are necessarily infringed by this
+implementation of Go.  This grant does not include claims that would be
+infringed only as a consequence of further modification of this
+implementation.  If you or your agent or exclusive licensee institute or
+order or agree to the institution of patent litigation against any
+entity (including a cross-claim or counterclaim in a lawsuit) alleging
+that this implementation of Go or any code incorporated within this
+implementation of Go constitutes direct or contributory patent
+infringement, or inducement of patent infringement, then any patent
+rights granted to you under this License for this implementation of Go
+shall terminate as of the date such litigation is filed.
diff --git a/vendor/golang.org/x/time/README.md b/vendor/golang.org/x/time/README.md
new file mode 100644 (file)
index 0000000..705a497
--- /dev/null
@@ -0,0 +1,19 @@
+# Go Time
+
+[![Go Reference](https://pkg.go.dev/badge/golang.org/x/time.svg)](https://pkg.go.dev/golang.org/x/time)
+
+This repository provides supplementary Go time packages.
+
+## Download/Install
+
+The easiest way to install is to run `go get -u golang.org/x/time`. You can
+also manually git clone the repository to `$GOPATH/src/golang.org/x/time`.
+
+## Report Issues / Send Patches
+
+This repository uses Gerrit for code changes. To learn how to submit changes to
+this repository, see https://golang.org/doc/contribute.html.
+
+The main issue tracker for the time repository is located at
+https://github.com/golang/go/issues. Prefix your issue with "x/time:" in the
+subject line, so it is easy to find.
diff --git a/vendor/golang.org/x/time/go.mod b/vendor/golang.org/x/time/go.mod
new file mode 100644 (file)
index 0000000..46ac917
--- /dev/null
@@ -0,0 +1 @@
+module golang.org/x/time
diff --git a/vendor/golang.org/x/time/rate/rate.go b/vendor/golang.org/x/time/rate/rate.go
new file mode 100644 (file)
index 0000000..a98fe77
--- /dev/null
@@ -0,0 +1,402 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package rate provides a rate limiter.
+package rate
+
+import (
+       "context"
+       "fmt"
+       "math"
+       "sync"
+       "time"
+)
+
+// Limit defines the maximum frequency of some events.
+// Limit is represented as number of events per second.
+// A zero Limit allows no events.
+type Limit float64
+
+// Inf is the infinite rate limit; it allows all events (even if burst is zero).
+const Inf = Limit(math.MaxFloat64)
+
+// Every converts a minimum time interval between events to a Limit.
+func Every(interval time.Duration) Limit {
+       if interval <= 0 {
+               return Inf
+       }
+       return 1 / Limit(interval.Seconds())
+}
+
+// A Limiter controls how frequently events are allowed to happen.
+// It implements a "token bucket" of size b, initially full and refilled
+// at rate r tokens per second.
+// Informally, in any large enough time interval, the Limiter limits the
+// rate to r tokens per second, with a maximum burst size of b events.
+// As a special case, if r == Inf (the infinite rate), b is ignored.
+// See https://en.wikipedia.org/wiki/Token_bucket for more about token buckets.
+//
+// The zero value is a valid Limiter, but it will reject all events.
+// Use NewLimiter to create non-zero Limiters.
+//
+// Limiter has three main methods, Allow, Reserve, and Wait.
+// Most callers should use Wait.
+//
+// Each of the three methods consumes a single token.
+// They differ in their behavior when no token is available.
+// If no token is available, Allow returns false.
+// If no token is available, Reserve returns a reservation for a future token
+// and the amount of time the caller must wait before using it.
+// If no token is available, Wait blocks until one can be obtained
+// or its associated context.Context is canceled.
+//
+// The methods AllowN, ReserveN, and WaitN consume n tokens.
+type Limiter struct {
+       mu     sync.Mutex
+       limit  Limit
+       burst  int
+       tokens float64
+       // last is the last time the limiter's tokens field was updated
+       last time.Time
+       // lastEvent is the latest time of a rate-limited event (past or future)
+       lastEvent time.Time
+}
+
+// Limit returns the maximum overall event rate.
+func (lim *Limiter) Limit() Limit {
+       lim.mu.Lock()
+       defer lim.mu.Unlock()
+       return lim.limit
+}
+
+// Burst returns the maximum burst size. Burst is the maximum number of tokens
+// that can be consumed in a single call to Allow, Reserve, or Wait, so higher
+// Burst values allow more events to happen at once.
+// A zero Burst allows no events, unless limit == Inf.
+func (lim *Limiter) Burst() int {
+       lim.mu.Lock()
+       defer lim.mu.Unlock()
+       return lim.burst
+}
+
+// NewLimiter returns a new Limiter that allows events up to rate r and permits
+// bursts of at most b tokens.
+func NewLimiter(r Limit, b int) *Limiter {
+       return &Limiter{
+               limit: r,
+               burst: b,
+       }
+}
+
+// Allow is shorthand for AllowN(time.Now(), 1).
+func (lim *Limiter) Allow() bool {
+       return lim.AllowN(time.Now(), 1)
+}
+
+// AllowN reports whether n events may happen at time now.
+// Use this method if you intend to drop / skip events that exceed the rate limit.
+// Otherwise use Reserve or Wait.
+func (lim *Limiter) AllowN(now time.Time, n int) bool {
+       return lim.reserveN(now, n, 0).ok
+}
+
+// A Reservation holds information about events that are permitted by a Limiter to happen after a delay.
+// A Reservation may be canceled, which may enable the Limiter to permit additional events.
+type Reservation struct {
+       ok        bool
+       lim       *Limiter
+       tokens    int
+       timeToAct time.Time
+       // This is the Limit at reservation time, it can change later.
+       limit Limit
+}
+
+// OK returns whether the limiter can provide the requested number of tokens
+// within the maximum wait time.  If OK is false, Delay returns InfDuration, and
+// Cancel does nothing.
+func (r *Reservation) OK() bool {
+       return r.ok
+}
+
+// Delay is shorthand for DelayFrom(time.Now()).
+func (r *Reservation) Delay() time.Duration {
+       return r.DelayFrom(time.Now())
+}
+
+// InfDuration is the duration returned by Delay when a Reservation is not OK.
+const InfDuration = time.Duration(1<<63 - 1)
+
+// DelayFrom returns the duration for which the reservation holder must wait
+// before taking the reserved action.  Zero duration means act immediately.
+// InfDuration means the limiter cannot grant the tokens requested in this
+// Reservation within the maximum wait time.
+func (r *Reservation) DelayFrom(now time.Time) time.Duration {
+       if !r.ok {
+               return InfDuration
+       }
+       delay := r.timeToAct.Sub(now)
+       if delay < 0 {
+               return 0
+       }
+       return delay
+}
+
+// Cancel is shorthand for CancelAt(time.Now()).
+func (r *Reservation) Cancel() {
+       r.CancelAt(time.Now())
+       return
+}
+
+// CancelAt indicates that the reservation holder will not perform the reserved action
+// and reverses the effects of this Reservation on the rate limit as much as possible,
+// considering that other reservations may have already been made.
+func (r *Reservation) CancelAt(now time.Time) {
+       if !r.ok {
+               return
+       }
+
+       r.lim.mu.Lock()
+       defer r.lim.mu.Unlock()
+
+       if r.lim.limit == Inf || r.tokens == 0 || r.timeToAct.Before(now) {
+               return
+       }
+
+       // calculate tokens to restore
+       // The duration between lim.lastEvent and r.timeToAct tells us how many tokens were reserved
+       // after r was obtained. These tokens should not be restored.
+       restoreTokens := float64(r.tokens) - r.limit.tokensFromDuration(r.lim.lastEvent.Sub(r.timeToAct))
+       if restoreTokens <= 0 {
+               return
+       }
+       // advance time to now
+       now, _, tokens := r.lim.advance(now)
+       // calculate new number of tokens
+       tokens += restoreTokens
+       if burst := float64(r.lim.burst); tokens > burst {
+               tokens = burst
+       }
+       // update state
+       r.lim.last = now
+       r.lim.tokens = tokens
+       if r.timeToAct == r.lim.lastEvent {
+               prevEvent := r.timeToAct.Add(r.limit.durationFromTokens(float64(-r.tokens)))
+               if !prevEvent.Before(now) {
+                       r.lim.lastEvent = prevEvent
+               }
+       }
+
+       return
+}
+
+// Reserve is shorthand for ReserveN(time.Now(), 1).
+func (lim *Limiter) Reserve() *Reservation {
+       return lim.ReserveN(time.Now(), 1)
+}
+
+// ReserveN returns a Reservation that indicates how long the caller must wait before n events happen.
+// The Limiter takes this Reservation into account when allowing future events.
+// The returned Reservation’s OK() method returns false if n exceeds the Limiter's burst size.
+// Usage example:
+//   r := lim.ReserveN(time.Now(), 1)
+//   if !r.OK() {
+//     // Not allowed to act! Did you remember to set lim.burst to be > 0 ?
+//     return
+//   }
+//   time.Sleep(r.Delay())
+//   Act()
+// Use this method if you wish to wait and slow down in accordance with the rate limit without dropping events.
+// If you need to respect a deadline or cancel the delay, use Wait instead.
+// To drop or skip events exceeding rate limit, use Allow instead.
+func (lim *Limiter) ReserveN(now time.Time, n int) *Reservation {
+       r := lim.reserveN(now, n, InfDuration)
+       return &r
+}
+
+// Wait is shorthand for WaitN(ctx, 1).
+func (lim *Limiter) Wait(ctx context.Context) (err error) {
+       return lim.WaitN(ctx, 1)
+}
+
+// WaitN blocks until lim permits n events to happen.
+// It returns an error if n exceeds the Limiter's burst size, the Context is
+// canceled, or the expected wait time exceeds the Context's Deadline.
+// The burst limit is ignored if the rate limit is Inf.
+func (lim *Limiter) WaitN(ctx context.Context, n int) (err error) {
+       lim.mu.Lock()
+       burst := lim.burst
+       limit := lim.limit
+       lim.mu.Unlock()
+
+       if n > burst && limit != Inf {
+               return fmt.Errorf("rate: Wait(n=%d) exceeds limiter's burst %d", n, burst)
+       }
+       // Check if ctx is already cancelled
+       select {
+       case <-ctx.Done():
+               return ctx.Err()
+       default:
+       }
+       // Determine wait limit
+       now := time.Now()
+       waitLimit := InfDuration
+       if deadline, ok := ctx.Deadline(); ok {
+               waitLimit = deadline.Sub(now)
+       }
+       // Reserve
+       r := lim.reserveN(now, n, waitLimit)
+       if !r.ok {
+               return fmt.Errorf("rate: Wait(n=%d) would exceed context deadline", n)
+       }
+       // Wait if necessary
+       delay := r.DelayFrom(now)
+       if delay == 0 {
+               return nil
+       }
+       t := time.NewTimer(delay)
+       defer t.Stop()
+       select {
+       case <-t.C:
+               // We can proceed.
+               return nil
+       case <-ctx.Done():
+               // Context was canceled before we could proceed.  Cancel the
+               // reservation, which may permit other events to proceed sooner.
+               r.Cancel()
+               return ctx.Err()
+       }
+}
+
+// SetLimit is shorthand for SetLimitAt(time.Now(), newLimit).
+func (lim *Limiter) SetLimit(newLimit Limit) {
+       lim.SetLimitAt(time.Now(), newLimit)
+}
+
+// SetLimitAt sets a new Limit for the limiter. The new Limit, and Burst, may be violated
+// or underutilized by those which reserved (using Reserve or Wait) but did not yet act
+// before SetLimitAt was called.
+func (lim *Limiter) SetLimitAt(now time.Time, newLimit Limit) {
+       lim.mu.Lock()
+       defer lim.mu.Unlock()
+
+       now, _, tokens := lim.advance(now)
+
+       lim.last = now
+       lim.tokens = tokens
+       lim.limit = newLimit
+}
+
+// SetBurst is shorthand for SetBurstAt(time.Now(), newBurst).
+func (lim *Limiter) SetBurst(newBurst int) {
+       lim.SetBurstAt(time.Now(), newBurst)
+}
+
+// SetBurstAt sets a new burst size for the limiter.
+func (lim *Limiter) SetBurstAt(now time.Time, newBurst int) {
+       lim.mu.Lock()
+       defer lim.mu.Unlock()
+
+       now, _, tokens := lim.advance(now)
+
+       lim.last = now
+       lim.tokens = tokens
+       lim.burst = newBurst
+}
+
+// reserveN is a helper method for AllowN, ReserveN, and WaitN.
+// maxFutureReserve specifies the maximum reservation wait duration allowed.
+// reserveN returns Reservation, not *Reservation, to avoid allocation in AllowN and WaitN.
+func (lim *Limiter) reserveN(now time.Time, n int, maxFutureReserve time.Duration) Reservation {
+       lim.mu.Lock()
+
+       if lim.limit == Inf {
+               lim.mu.Unlock()
+               return Reservation{
+                       ok:        true,
+                       lim:       lim,
+                       tokens:    n,
+                       timeToAct: now,
+               }
+       }
+
+       now, last, tokens := lim.advance(now)
+
+       // Calculate the remaining number of tokens resulting from the request.
+       tokens -= float64(n)
+
+       // Calculate the wait duration
+       var waitDuration time.Duration
+       if tokens < 0 {
+               waitDuration = lim.limit.durationFromTokens(-tokens)
+       }
+
+       // Decide result
+       ok := n <= lim.burst && waitDuration <= maxFutureReserve
+
+       // Prepare reservation
+       r := Reservation{
+               ok:    ok,
+               lim:   lim,
+               limit: lim.limit,
+       }
+       if ok {
+               r.tokens = n
+               r.timeToAct = now.Add(waitDuration)
+       }
+
+       // Update state
+       if ok {
+               lim.last = now
+               lim.tokens = tokens
+               lim.lastEvent = r.timeToAct
+       } else {
+               lim.last = last
+       }
+
+       lim.mu.Unlock()
+       return r
+}
+
+// advance calculates and returns an updated state for lim resulting from the passage of time.
+// lim is not changed.
+// advance requires that lim.mu is held.
+func (lim *Limiter) advance(now time.Time) (newNow time.Time, newLast time.Time, newTokens float64) {
+       last := lim.last
+       if now.Before(last) {
+               last = now
+       }
+
+       // Avoid making delta overflow below when last is very old.
+       maxElapsed := lim.limit.durationFromTokens(float64(lim.burst) - lim.tokens)
+       elapsed := now.Sub(last)
+       if elapsed > maxElapsed {
+               elapsed = maxElapsed
+       }
+
+       // Calculate the new number of tokens, due to time that passed.
+       delta := lim.limit.tokensFromDuration(elapsed)
+       tokens := lim.tokens + delta
+       if burst := float64(lim.burst); tokens > burst {
+               tokens = burst
+       }
+
+       return now, last, tokens
+}
+
+// durationFromTokens is a unit conversion function from the number of tokens to the duration
+// of time it takes to accumulate them at a rate of limit tokens per second.
+func (limit Limit) durationFromTokens(tokens float64) time.Duration {
+       seconds := tokens / float64(limit)
+       return time.Nanosecond * time.Duration(1e9*seconds)
+}
+
+// tokensFromDuration is a unit conversion function from a time duration to the number of tokens
+// which could be accumulated during that duration at a rate of limit tokens per second.
+func (limit Limit) tokensFromDuration(d time.Duration) float64 {
+       // Split the integer and fractional parts ourself to minimize rounding errors.
+       // See golang.org/issues/34861.
+       sec := float64(d/time.Second) * float64(limit)
+       nsec := float64(d%time.Second) * float64(limit)
+       return sec + nsec/1e9
+}
diff --git a/vendor/golang.org/x/time/rate/rate_test.go b/vendor/golang.org/x/time/rate/rate_test.go
new file mode 100644 (file)
index 0000000..b0ed34d
--- /dev/null
@@ -0,0 +1,477 @@
+// Copyright 2015 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// +build go1.7
+
+package rate
+
+import (
+       "context"
+       "math"
+       "runtime"
+       "sync"
+       "sync/atomic"
+       "testing"
+       "time"
+)
+
+func TestLimit(t *testing.T) {
+       if Limit(10) == Inf {
+               t.Errorf("Limit(10) == Inf should be false")
+       }
+}
+
+func closeEnough(a, b Limit) bool {
+       return (math.Abs(float64(a)/float64(b)) - 1.0) < 1e-9
+}
+
+func TestEvery(t *testing.T) {
+       cases := []struct {
+               interval time.Duration
+               lim      Limit
+       }{
+               {0, Inf},
+               {-1, Inf},
+               {1 * time.Nanosecond, Limit(1e9)},
+               {1 * time.Microsecond, Limit(1e6)},
+               {1 * time.Millisecond, Limit(1e3)},
+               {10 * time.Millisecond, Limit(100)},
+               {100 * time.Millisecond, Limit(10)},
+               {1 * time.Second, Limit(1)},
+               {2 * time.Second, Limit(0.5)},
+               {time.Duration(2.5 * float64(time.Second)), Limit(0.4)},
+               {4 * time.Second, Limit(0.25)},
+               {10 * time.Second, Limit(0.1)},
+               {time.Duration(math.MaxInt64), Limit(1e9 / float64(math.MaxInt64))},
+       }
+       for _, tc := range cases {
+               lim := Every(tc.interval)
+               if !closeEnough(lim, tc.lim) {
+                       t.Errorf("Every(%v) = %v want %v", tc.interval, lim, tc.lim)
+               }
+       }
+}
+
+const (
+       d = 100 * time.Millisecond
+)
+
+var (
+       t0 = time.Now()
+       t1 = t0.Add(time.Duration(1) * d)
+       t2 = t0.Add(time.Duration(2) * d)
+       t3 = t0.Add(time.Duration(3) * d)
+       t4 = t0.Add(time.Duration(4) * d)
+       t5 = t0.Add(time.Duration(5) * d)
+       t9 = t0.Add(time.Duration(9) * d)
+)
+
+type allow struct {
+       t  time.Time
+       n  int
+       ok bool
+}
+
+func run(t *testing.T, lim *Limiter, allows []allow) {
+       for i, allow := range allows {
+               ok := lim.AllowN(allow.t, allow.n)
+               if ok != allow.ok {
+                       t.Errorf("step %d: lim.AllowN(%v, %v) = %v want %v",
+                               i, allow.t, allow.n, ok, allow.ok)
+               }
+       }
+}
+
+func TestLimiterBurst1(t *testing.T) {
+       run(t, NewLimiter(10, 1), []allow{
+               {t0, 1, true},
+               {t0, 1, false},
+               {t0, 1, false},
+               {t1, 1, true},
+               {t1, 1, false},
+               {t1, 1, false},
+               {t2, 2, false}, // burst size is 1, so n=2 always fails
+               {t2, 1, true},
+               {t2, 1, false},
+       })
+}
+
+func TestLimiterBurst3(t *testing.T) {
+       run(t, NewLimiter(10, 3), []allow{
+               {t0, 2, true},
+               {t0, 2, false},
+               {t0, 1, true},
+               {t0, 1, false},
+               {t1, 4, false},
+               {t2, 1, true},
+               {t3, 1, true},
+               {t4, 1, true},
+               {t4, 1, true},
+               {t4, 1, false},
+               {t4, 1, false},
+               {t9, 3, true},
+               {t9, 0, true},
+       })
+}
+
+func TestLimiterJumpBackwards(t *testing.T) {
+       run(t, NewLimiter(10, 3), []allow{
+               {t1, 1, true}, // start at t1
+               {t0, 1, true}, // jump back to t0, two tokens remain
+               {t0, 1, true},
+               {t0, 1, false},
+               {t0, 1, false},
+               {t1, 1, true}, // got a token
+               {t1, 1, false},
+               {t1, 1, false},
+               {t2, 1, true}, // got another token
+               {t2, 1, false},
+               {t2, 1, false},
+       })
+}
+
+// Ensure that tokensFromDuration doesn't produce
+// rounding errors by truncating nanoseconds.
+// See golang.org/issues/34861.
+func TestLimiter_noTruncationErrors(t *testing.T) {
+       if !NewLimiter(0.7692307692307693, 1).Allow() {
+               t.Fatal("expected true")
+       }
+}
+
+func TestSimultaneousRequests(t *testing.T) {
+       const (
+               limit       = 1
+               burst       = 5
+               numRequests = 15
+       )
+       var (
+               wg    sync.WaitGroup
+               numOK = uint32(0)
+       )
+
+       // Very slow replenishing bucket.
+       lim := NewLimiter(limit, burst)
+
+       // Tries to take a token, atomically updates the counter and decreases the wait
+       // group counter.
+       f := func() {
+               defer wg.Done()
+               if ok := lim.Allow(); ok {
+                       atomic.AddUint32(&numOK, 1)
+               }
+       }
+
+       wg.Add(numRequests)
+       for i := 0; i < numRequests; i++ {
+               go f()
+       }
+       wg.Wait()
+       if numOK != burst {
+               t.Errorf("numOK = %d, want %d", numOK, burst)
+       }
+}
+
+func TestLongRunningQPS(t *testing.T) {
+       if testing.Short() {
+               t.Skip("skipping in short mode")
+       }
+       if runtime.GOOS == "openbsd" {
+               t.Skip("low resolution time.Sleep invalidates test (golang.org/issue/14183)")
+               return
+       }
+
+       // The test runs for a few seconds executing many requests and then checks
+       // that overall number of requests is reasonable.
+       const (
+               limit = 100
+               burst = 100
+       )
+       var numOK = int32(0)
+
+       lim := NewLimiter(limit, burst)
+
+       var wg sync.WaitGroup
+       f := func() {
+               if ok := lim.Allow(); ok {
+                       atomic.AddInt32(&numOK, 1)
+               }
+               wg.Done()
+       }
+
+       start := time.Now()
+       end := start.Add(5 * time.Second)
+       for time.Now().Before(end) {
+               wg.Add(1)
+               go f()
+
+               // This will still offer ~500 requests per second, but won't consume
+               // outrageous amount of CPU.
+               time.Sleep(2 * time.Millisecond)
+       }
+       wg.Wait()
+       elapsed := time.Since(start)
+       ideal := burst + (limit * float64(elapsed) / float64(time.Second))
+
+       // We should never get more requests than allowed.
+       if want := int32(ideal + 1); numOK > want {
+               t.Errorf("numOK = %d, want %d (ideal %f)", numOK, want, ideal)
+       }
+       // We should get very close to the number of requests allowed.
+       if want := int32(0.999 * ideal); numOK < want {
+               t.Errorf("numOK = %d, want %d (ideal %f)", numOK, want, ideal)
+       }
+}
+
+type request struct {
+       t   time.Time
+       n   int
+       act time.Time
+       ok  bool
+}
+
+// dFromDuration converts a duration to a multiple of the global constant d
+func dFromDuration(dur time.Duration) int {
+       // Adding a millisecond to be swallowed by the integer division
+       // because we don't care about small inaccuracies
+       return int((dur + time.Millisecond) / d)
+}
+
+// dSince returns multiples of d since t0
+func dSince(t time.Time) int {
+       return dFromDuration(t.Sub(t0))
+}
+
+func runReserve(t *testing.T, lim *Limiter, req request) *Reservation {
+       return runReserveMax(t, lim, req, InfDuration)
+}
+
+func runReserveMax(t *testing.T, lim *Limiter, req request, maxReserve time.Duration) *Reservation {
+       r := lim.reserveN(req.t, req.n, maxReserve)
+       if r.ok && (dSince(r.timeToAct) != dSince(req.act)) || r.ok != req.ok {
+               t.Errorf("lim.reserveN(t%d, %v, %v) = (t%d, %v) want (t%d, %v)",
+                       dSince(req.t), req.n, maxReserve, dSince(r.timeToAct), r.ok, dSince(req.act), req.ok)
+       }
+       return &r
+}
+
+func TestSimpleReserve(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       runReserve(t, lim, request{t0, 2, t2, true})
+       runReserve(t, lim, request{t3, 2, t4, true})
+}
+
+func TestMix(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 3, t1, false}) // should return false because n > Burst
+       runReserve(t, lim, request{t0, 2, t0, true})
+       run(t, lim, []allow{{t1, 2, false}}) // not enought tokens - don't allow
+       runReserve(t, lim, request{t1, 2, t2, true})
+       run(t, lim, []allow{{t1, 1, false}}) // negative tokens - don't allow
+       run(t, lim, []allow{{t3, 1, true}})
+}
+
+func TestCancelInvalid(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       r := runReserve(t, lim, request{t0, 3, t3, false})
+       r.CancelAt(t0)                               // should have no effect
+       runReserve(t, lim, request{t0, 2, t2, true}) // did not get extra tokens
+}
+
+func TestCancelLast(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       r := runReserve(t, lim, request{t0, 2, t2, true})
+       r.CancelAt(t1) // got 2 tokens back
+       runReserve(t, lim, request{t1, 2, t2, true})
+}
+
+func TestCancelTooLate(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       r := runReserve(t, lim, request{t0, 2, t2, true})
+       r.CancelAt(t3) // too late to cancel - should have no effect
+       runReserve(t, lim, request{t3, 2, t4, true})
+}
+
+func TestCancel0Tokens(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       r := runReserve(t, lim, request{t0, 1, t1, true})
+       runReserve(t, lim, request{t0, 1, t2, true})
+       r.CancelAt(t0) // got 0 tokens back
+       runReserve(t, lim, request{t0, 1, t3, true})
+}
+
+func TestCancel1Token(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       r := runReserve(t, lim, request{t0, 2, t2, true})
+       runReserve(t, lim, request{t0, 1, t3, true})
+       r.CancelAt(t2) // got 1 token back
+       runReserve(t, lim, request{t2, 2, t4, true})
+}
+
+func TestCancelMulti(t *testing.T) {
+       lim := NewLimiter(10, 4)
+
+       runReserve(t, lim, request{t0, 4, t0, true})
+       rA := runReserve(t, lim, request{t0, 3, t3, true})
+       runReserve(t, lim, request{t0, 1, t4, true})
+       rC := runReserve(t, lim, request{t0, 1, t5, true})
+       rC.CancelAt(t1) // get 1 token back
+       rA.CancelAt(t1) // get 2 tokens back, as if C was never reserved
+       runReserve(t, lim, request{t1, 3, t5, true})
+}
+
+func TestReserveJumpBack(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t1, 2, t1, true}) // start at t1
+       runReserve(t, lim, request{t0, 1, t1, true}) // should violate Limit,Burst
+       runReserve(t, lim, request{t2, 2, t3, true})
+}
+
+func TestReserveJumpBackCancel(t *testing.T) {
+       lim := NewLimiter(10, 2)
+
+       runReserve(t, lim, request{t1, 2, t1, true}) // start at t1
+       r := runReserve(t, lim, request{t1, 2, t3, true})
+       runReserve(t, lim, request{t1, 1, t4, true})
+       r.CancelAt(t0)                               // cancel at t0, get 1 token back
+       runReserve(t, lim, request{t1, 2, t4, true}) // should violate Limit,Burst
+}
+
+func TestReserveSetLimit(t *testing.T) {
+       lim := NewLimiter(5, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       runReserve(t, lim, request{t0, 2, t4, true})
+       lim.SetLimitAt(t2, 10)
+       runReserve(t, lim, request{t2, 1, t4, true}) // violates Limit and Burst
+}
+
+func TestReserveSetBurst(t *testing.T) {
+       lim := NewLimiter(5, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       runReserve(t, lim, request{t0, 2, t4, true})
+       lim.SetBurstAt(t3, 4)
+       runReserve(t, lim, request{t0, 4, t9, true}) // violates Limit and Burst
+}
+
+func TestReserveSetLimitCancel(t *testing.T) {
+       lim := NewLimiter(5, 2)
+
+       runReserve(t, lim, request{t0, 2, t0, true})
+       r := runReserve(t, lim, request{t0, 2, t4, true})
+       lim.SetLimitAt(t2, 10)
+       r.CancelAt(t2) // 2 tokens back
+       runReserve(t, lim, request{t2, 2, t3, true})
+}
+
+func TestReserveMax(t *testing.T) {
+       lim := NewLimiter(10, 2)
+       maxT := d
+
+       runReserveMax(t, lim, request{t0, 2, t0, true}, maxT)
+       runReserveMax(t, lim, request{t0, 1, t1, true}, maxT)  // reserve for close future
+       runReserveMax(t, lim, request{t0, 1, t2, false}, maxT) // time to act too far in the future
+}
+
+type wait struct {
+       name   string
+       ctx    context.Context
+       n      int
+       delay  int // in multiples of d
+       nilErr bool
+}
+
+func runWait(t *testing.T, lim *Limiter, w wait) {
+       start := time.Now()
+       err := lim.WaitN(w.ctx, w.n)
+       delay := time.Now().Sub(start)
+       if (w.nilErr && err != nil) || (!w.nilErr && err == nil) || w.delay != dFromDuration(delay) {
+               errString := "<nil>"
+               if !w.nilErr {
+                       errString = "<non-nil error>"
+               }
+               t.Errorf("lim.WaitN(%v, lim, %v) = %v with delay %v ; want %v with delay %v",
+                       w.name, w.n, err, delay, errString, d*time.Duration(w.delay))
+       }
+}
+
+func TestWaitSimple(t *testing.T) {
+       lim := NewLimiter(10, 3)
+
+       ctx, cancel := context.WithCancel(context.Background())
+       cancel()
+       runWait(t, lim, wait{"already-cancelled", ctx, 1, 0, false})
+
+       runWait(t, lim, wait{"exceed-burst-error", context.Background(), 4, 0, false})
+
+       runWait(t, lim, wait{"act-now", context.Background(), 2, 0, true})
+       runWait(t, lim, wait{"act-later", context.Background(), 3, 2, true})
+}
+
+func TestWaitCancel(t *testing.T) {
+       lim := NewLimiter(10, 3)
+
+       ctx, cancel := context.WithCancel(context.Background())
+       runWait(t, lim, wait{"act-now", ctx, 2, 0, true}) // after this lim.tokens = 1
+       go func() {
+               time.Sleep(d)
+               cancel()
+       }()
+       runWait(t, lim, wait{"will-cancel", ctx, 3, 1, false})
+       // should get 3 tokens back, and have lim.tokens = 2
+       t.Logf("tokens:%v last:%v lastEvent:%v", lim.tokens, lim.last, lim.lastEvent)
+       runWait(t, lim, wait{"act-now-after-cancel", context.Background(), 2, 0, true})
+}
+
+func TestWaitTimeout(t *testing.T) {
+       lim := NewLimiter(10, 3)
+
+       ctx, cancel := context.WithTimeout(context.Background(), d)
+       defer cancel()
+       runWait(t, lim, wait{"act-now", ctx, 2, 0, true})
+       runWait(t, lim, wait{"w-timeout-err", ctx, 3, 0, false})
+}
+
+func TestWaitInf(t *testing.T) {
+       lim := NewLimiter(Inf, 0)
+
+       runWait(t, lim, wait{"exceed-burst-no-error", context.Background(), 3, 0, true})
+}
+
+func BenchmarkAllowN(b *testing.B) {
+       lim := NewLimiter(Every(1*time.Second), 1)
+       now := time.Now()
+       b.ReportAllocs()
+       b.ResetTimer()
+       b.RunParallel(func(pb *testing.PB) {
+               for pb.Next() {
+                       lim.AllowN(now, 1)
+               }
+       })
+}
+
+func BenchmarkWaitNNoDelay(b *testing.B) {
+       lim := NewLimiter(Limit(b.N), b.N)
+       ctx := context.Background()
+       b.ReportAllocs()
+       b.ResetTimer()
+       for i := 0; i < b.N; i++ {
+               lim.WaitN(ctx, 1)
+       }
+}
index 000ffeb..2eb16a6 100644 (file)
@@ -47,7 +47,7 @@ const (
 
 var (
        // The full version string
-       Version = "1.0.3"
+       Version = "1.1.9"
        // GitCommit is set with --ldflags "-X main.gitCommit=$(git rev-parse HEAD)"
        GitCommit string
        Status    *UpdateStatus
index 50746ce..116be49 100644 (file)
@@ -5,15 +5,15 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // annotateTxs adds asset data to transactions
@@ -167,6 +167,8 @@ func (w *Wallet) BuildAnnotatedInput(tx *types.Tx, i uint32) *query.AnnotatedInp
                in.ControlProgram = orig.ControlProgram()
                in.Address = w.getAddressFromControlProgram(in.ControlProgram, true)
                in.SpentOutputID = e.MainchainOutputId
+               _, assetDefinition := w.getAliasDefinition(in.AssetID)
+               in.AssetDefinition = &assetDefinition
                arguments := orig.Arguments()
                for _, arg := range arguments {
                        in.WitnessArguments = append(in.WitnessArguments, arg)
index f107aec..d0055d4 100644 (file)
@@ -8,13 +8,13 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/sha3pool"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       chainjson "github.com/bytom/vapor/encoding/json"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 func parseGlobalTxIdx(globalTxIdx []byte) (*bc.Hash, uint64) {
index 851d352..9e1bc67 100644 (file)
@@ -17,7 +17,7 @@ import (
        "github.com/johngb/langreg"
        "golang.org/x/crypto/pbkdf2"
 
-       "github.com/vapor/wallet/mnemonic/wordlists"
+       "github.com/bytom/vapor/wallet/mnemonic/wordlists"
 )
 
 var (
index a2aae5a..5458efc 100644 (file)
@@ -7,13 +7,13 @@ import (
        "sync/atomic"
        "time"
 
-       "github.com/vapor/account"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
index c4ec390..32a0063 100644 (file)
@@ -9,18 +9,18 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/account"
-       acc "github.com/vapor/account"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // MockBlock mock a block
index 90b6050..3c45be6 100644 (file)
@@ -1,10 +1,10 @@
 package wallet
 
 import (
-       acc "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/protocol/bc"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/protocol/bc"
 )
 
 // WalletStore interface contains wallet storage functions.
index aabf8d2..878a4ea 100644 (file)
@@ -6,15 +6,15 @@ import (
        "sort"
        "time"
 
-       "github.com/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc"
 
        log "github.com/sirupsen/logrus"
 
-       acc "github.com/vapor/account"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc/types"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
index 5904845..823b74c 100644 (file)
@@ -5,18 +5,18 @@ import (
        "os"
        "testing"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestWalletUnconfirmedTxs(t *testing.T) {
index bc60f56..0c9971a 100644 (file)
@@ -3,12 +3,12 @@ package wallet
 import (
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/consensus"
-       "github.com/vapor/consensus/segwit"
-       "github.com/vapor/crypto/sha3pool"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/consensus/segwit"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 // GetAccountUtxos return all account unspent outputs
@@ -112,9 +112,6 @@ func (w *Wallet) filterAccountUtxo(utxos []*account.UTXO) []*account.UTXO {
        result := make([]*account.UTXO, 0, len(utxos))
        for s := range outsByScript {
                if !segwit.IsP2WScript([]byte(s)) {
-                       for _, utxo := range outsByScript[s] {
-                               result = append(result, utxo)
-                       }
                        continue
                }
 
@@ -209,13 +206,9 @@ func txInToUtxos(tx *types.Tx, statusFail bool) []*account.UTXO {
 }
 
 func txOutToUtxos(tx *types.Tx, statusFail bool, blockHeight uint64) []*account.UTXO {
-       validHeight := uint64(0)
-       if tx.Inputs[0].InputType() == types.CoinbaseInputType {
-               validHeight = blockHeight + consensus.ActiveNetParams.CoinbasePendingBlockNumber
-       }
-
        utxos := []*account.UTXO{}
        for i, out := range tx.Outputs {
+               validHeight := uint64(0)
                entryOutput, err := tx.Entry(*tx.ResultIds[i])
                if err != nil {
                        log.WithFields(log.Fields{"module": logModule, "err": err}).Error("txOutToUtxos fail on get entryOutput")
@@ -228,6 +221,11 @@ func txOutToUtxos(tx *types.Tx, statusFail bool, blockHeight uint64) []*account.
                        if (statusFail && *out.AssetAmount().AssetId != *consensus.BTMAssetID) || out.AssetAmount().Amount == uint64(0) {
                                continue
                        }
+
+                       if tx.Inputs[0].InputType() == types.CoinbaseInputType {
+                               validHeight = blockHeight + consensus.ActiveNetParams.CoinbasePendingBlockNumber
+                       }
+
                        utxo = &account.UTXO{
                                OutputID:       *tx.OutputID(i),
                                AssetID:        *out.AssetAmount().AssetId,
index 9588a04..dadd834 100644 (file)
@@ -8,12 +8,12 @@ import (
        "sort"
        "testing"
 
-       "github.com/vapor/account"
-       "github.com/vapor/consensus"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
-       "github.com/vapor/testutil"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/consensus"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/testutil"
 )
 
 func TestGetAccountUtxos(t *testing.T) {
index 0a955d2..e22c44e 100644 (file)
@@ -5,14 +5,14 @@ import (
 
        log "github.com/sirupsen/logrus"
 
-       "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/pseudohsm"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/pseudohsm"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 const (
@@ -80,16 +80,22 @@ func NewWallet(store WalletStore, account *account.Manager, asset *asset.Registr
                return nil, err
        }
 
+       return w, nil
+}
+
+// Run go to run some wallet recorvery and clean tx thread
+func (w *Wallet) Run() error {
        var err error
        w.TxMsgSub, err = w.EventDispatcher.Subscribe(protocol.TxMsgEvent{})
        if err != nil {
-               return nil, err
+               return err
        }
 
        go w.walletUpdater()
        go w.delUnconfirmedTx()
        go w.MemPoolTxQueryLoop()
-       return w, nil
+
+       return nil
 }
 
 // MemPoolTxQueryLoop constantly pass a transaction accepted by mempool to the wallet.
@@ -307,6 +313,22 @@ func (w *Wallet) DeleteAccount(accountID string) (err error) {
        return nil
 }
 
+// Rollback wallet to target height
+func (w *Wallet) Rollback(targetHeight uint64) error {
+       for w.Status.WorkHeight > targetHeight {
+               block, err := w.Chain.GetBlockByHash(&w.Status.WorkHash)
+               if err != nil {
+                       return err
+               }
+
+               if err = w.DetachBlock(block); err != nil {
+                       return err
+               }
+       }
+
+       return nil
+}
+
 func (w *Wallet) UpdateAccountAlias(accountID string, newAlias string) (err error) {
        w.rw.Lock()
        defer w.rw.Unlock()
index 49ad693..dfa451d 100644 (file)
@@ -12,23 +12,23 @@ import (
        "testing"
        "time"
 
-       "github.com/vapor/account"
-       acc "github.com/vapor/account"
-       "github.com/vapor/asset"
-       "github.com/vapor/blockchain/query"
-       "github.com/vapor/blockchain/signers"
-       "github.com/vapor/blockchain/txbuilder"
-       "github.com/vapor/common"
-       "github.com/vapor/config"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       "github.com/vapor/crypto/sha3pool"
-       dbm "github.com/vapor/database/leveldb"
-       "github.com/vapor/errors"
-       "github.com/vapor/event"
-       "github.com/vapor/protocol"
-       "github.com/vapor/protocol/bc"
-       "github.com/vapor/protocol/bc/types"
+       "github.com/bytom/vapor/account"
+       acc "github.com/bytom/vapor/account"
+       "github.com/bytom/vapor/asset"
+       "github.com/bytom/vapor/blockchain/query"
+       "github.com/bytom/vapor/blockchain/signers"
+       "github.com/bytom/vapor/blockchain/txbuilder"
+       "github.com/bytom/vapor/common"
+       "github.com/bytom/vapor/config"
+       "github.com/bytom/vapor/consensus"
+       "github.com/bytom/vapor/crypto/ed25519/chainkd"
+       "github.com/bytom/vapor/crypto/sha3pool"
+       dbm "github.com/bytom/vapor/database/leveldb"
+       "github.com/bytom/vapor/errors"
+       "github.com/bytom/vapor/event"
+       "github.com/bytom/vapor/protocol"
+       "github.com/bytom/vapor/protocol/bc"
+       "github.com/bytom/vapor/protocol/bc/types"
 )
 
 func TestEncodeDecodeGlobalTxIndex(t *testing.T) {